"use strict";
(function(root, module) {
    if (typeof define === 'function' && define.amd) {
        define(['exports'], function(exports)  {
            module(root, exports);
        });
    } else if (typeof exports === 'object' && exports !== null && typeof exports.nodeName !== 'string') {
        module(global, exports);
    } else {
        module(root, root);
    }
}(typeof self !== 'undefined' ? self : this, function($rt_globals, $rt_exports) {
    var $rt_seed = 2463534242;
    function $rt_nextId() {
        var x = $rt_seed;
        x ^= x << 13;
        x ^= x >>> 17;
        x ^= x << 5;
        $rt_seed = x;
        return x;
    }
    function $rt_compare(a, b) {
        return a > b ? 1 : a < b ?  -1 : a === b ? 0 : 1;
    }
    function $rt_isInstance(obj, cls) {
        return obj instanceof $rt_objcls() && !!obj.constructor.$meta && $rt_isAssignable(obj.constructor, cls);
    }
    function $rt_isAssignable(from, to) {
        if (from === to) {
            return true;
        }
        if (to.$meta.item !== null) {
            return from.$meta.item !== null && $rt_isAssignable(from.$meta.item, to.$meta.item);
        }
        var supertypes = from.$meta.supertypes;
        for (var i = 0;i < supertypes.length;i = i + 1 | 0) {
            if ($rt_isAssignable(supertypes[i], to)) {
                return true;
            }
        }
        return false;
    }
    function $rt_castToInterface(obj, cls) {
        if (obj !== null && !$rt_isInstance(obj, cls)) {
            $rt_throwCCE();
        }
        return obj;
    }
    function $rt_castToClass(obj, cls) {
        if (obj !== null && !(obj instanceof cls)) {
            $rt_throwCCE();
        }
        return obj;
    }
    $rt_globals.Array.prototype.fill = $rt_globals.Array.prototype.fill || function(value, start, end) {
        var len = this.length;
        if (!len) return this;
        start = start | 0;
        var i = start < 0 ? $rt_globals.Math.max(len + start, 0) : $rt_globals.Math.min(start, len);
        end = end === $rt_globals.undefined ? len : end | 0;
        end = end < 0 ? $rt_globals.Math.max(len + end, 0) : $rt_globals.Math.min(end, len);
        for (;i < end;i++) {
            this[i] = value;
        }
        return this;
    };
    function $rt_createArray(cls, sz) {
        var data = new $rt_globals.Array(sz);
        data.fill(null);
        return new $rt_array(cls, data);
    }
    function $rt_createArrayFromData(cls, init) {
        return $rt_wrapArray(cls, init);
    }
    function $rt_wrapArray(cls, data) {
        return new $rt_array(cls, data);
    }
    function $rt_createUnfilledArray(cls, sz) {
        return new $rt_array(cls, new $rt_globals.Array(sz));
    }
    function $rt_createNumericArray(cls, nativeArray) {
        return new $rt_array(cls, nativeArray);
    }
    var $rt_createLongArray;
    var $rt_createLongArrayFromData;
    if (typeof $rt_globals.BigInt64Array !== 'function') {
        $rt_createLongArray = function(sz) {
            var data = new $rt_globals.Array(sz);
            var arr = new $rt_array($rt_longcls(), data);
            data.fill(Long_ZERO);
            return arr;
        };
        $rt_createLongArrayFromData = function(init) {
            return new $rt_array($rt_longcls(), init);
        };
    } else {
        $rt_createLongArray = function(sz) {
            return $rt_createNumericArray($rt_longcls(), new $rt_globals.BigInt64Array(sz));
        };
        $rt_createLongArrayFromData = function(data) {
            var buffer = new $rt_globals.BigInt64Array(data.length);
            buffer.set(data);
            return $rt_createNumericArray($rt_longcls(), buffer);
        };
    }
    function $rt_createCharArray(sz) {
        return $rt_createNumericArray($rt_charcls(), new $rt_globals.Uint16Array(sz));
    }
    function $rt_createCharArrayFromData(data) {
        var buffer = new $rt_globals.Uint16Array(data.length);
        buffer.set(data);
        return $rt_createNumericArray($rt_charcls(), buffer);
    }
    function $rt_createByteArray(sz) {
        return $rt_createNumericArray($rt_bytecls(), new $rt_globals.Int8Array(sz));
    }
    function $rt_createByteArrayFromData(data) {
        var buffer = new $rt_globals.Int8Array(data.length);
        buffer.set(data);
        return $rt_createNumericArray($rt_bytecls(), buffer);
    }
    function $rt_createShortArray(sz) {
        return $rt_createNumericArray($rt_shortcls(), new $rt_globals.Int16Array(sz));
    }
    function $rt_createShortArrayFromData(data) {
        var buffer = new $rt_globals.Int16Array(data.length);
        buffer.set(data);
        return $rt_createNumericArray($rt_shortcls(), buffer);
    }
    function $rt_createIntArray(sz) {
        return $rt_createNumericArray($rt_intcls(), new $rt_globals.Int32Array(sz));
    }
    function $rt_createIntArrayFromData(data) {
        var buffer = new $rt_globals.Int32Array(data.length);
        buffer.set(data);
        return $rt_createNumericArray($rt_intcls(), buffer);
    }
    function $rt_createBooleanArray(sz) {
        return $rt_createNumericArray($rt_booleancls(), new $rt_globals.Int8Array(sz));
    }
    function $rt_createBooleanArrayFromData(data) {
        var buffer = new $rt_globals.Int8Array(data.length);
        buffer.set(data);
        return $rt_createNumericArray($rt_booleancls(), buffer);
    }
    function $rt_createFloatArray(sz) {
        return $rt_createNumericArray($rt_floatcls(), new $rt_globals.Float32Array(sz));
    }
    function $rt_createFloatArrayFromData(data) {
        var buffer = new $rt_globals.Float32Array(data.length);
        buffer.set(data);
        return $rt_createNumericArray($rt_floatcls(), buffer);
    }
    function $rt_createDoubleArray(sz) {
        return $rt_createNumericArray($rt_doublecls(), new $rt_globals.Float64Array(sz));
    }
    function $rt_createDoubleArrayFromData(data) {
        var buffer = new $rt_globals.Float64Array(data.length);
        buffer.set(data);
        return $rt_createNumericArray($rt_doublecls(), buffer);
    }
    function $rt_arraycls(cls) {
        var result = cls.$array;
        if (result === null) {
            var arraycls = {  };
            var name = "[" + cls.$meta.binaryName;
            arraycls.$meta = { item : cls, supertypes : [$rt_objcls()], primitive : false, superclass : $rt_objcls(), name : name, binaryName : name, enum : false, simpleName : null, declaringClass : null, enclosingClass : null };
            arraycls.classObject = null;
            arraycls.$array = null;
            result = arraycls;
            cls.$array = arraycls;
        }
        return result;
    }
    function $rt_createcls() {
        return { $array : null, classObject : null, $meta : { supertypes : [], superclass : null } };
    }
    function $rt_createPrimitiveCls(name, binaryName) {
        var cls = $rt_createcls();
        cls.$meta.primitive = true;
        cls.$meta.name = name;
        cls.$meta.binaryName = binaryName;
        cls.$meta.enum = false;
        cls.$meta.item = null;
        cls.$meta.simpleName = null;
        cls.$meta.declaringClass = null;
        cls.$meta.enclosingClass = null;
        return cls;
    }
    var $rt_booleanclsCache = null;
    function $rt_booleancls() {
        if ($rt_booleanclsCache === null) {
            $rt_booleanclsCache = $rt_createPrimitiveCls("boolean", "Z");
        }
        return $rt_booleanclsCache;
    }
    var $rt_charclsCache = null;
    function $rt_charcls() {
        if ($rt_charclsCache === null) {
            $rt_charclsCache = $rt_createPrimitiveCls("char", "C");
        }
        return $rt_charclsCache;
    }
    var $rt_byteclsCache = null;
    function $rt_bytecls() {
        if ($rt_byteclsCache === null) {
            $rt_byteclsCache = $rt_createPrimitiveCls("byte", "B");
        }
        return $rt_byteclsCache;
    }
    var $rt_shortclsCache = null;
    function $rt_shortcls() {
        if ($rt_shortclsCache === null) {
            $rt_shortclsCache = $rt_createPrimitiveCls("short", "S");
        }
        return $rt_shortclsCache;
    }
    var $rt_intclsCache = null;
    function $rt_intcls() {
        if ($rt_intclsCache === null) {
            $rt_intclsCache = $rt_createPrimitiveCls("int", "I");
        }
        return $rt_intclsCache;
    }
    var $rt_longclsCache = null;
    function $rt_longcls() {
        if ($rt_longclsCache === null) {
            $rt_longclsCache = $rt_createPrimitiveCls("long", "J");
        }
        return $rt_longclsCache;
    }
    var $rt_floatclsCache = null;
    function $rt_floatcls() {
        if ($rt_floatclsCache === null) {
            $rt_floatclsCache = $rt_createPrimitiveCls("float", "F");
        }
        return $rt_floatclsCache;
    }
    var $rt_doubleclsCache = null;
    function $rt_doublecls() {
        if ($rt_doubleclsCache === null) {
            $rt_doubleclsCache = $rt_createPrimitiveCls("double", "D");
        }
        return $rt_doubleclsCache;
    }
    var $rt_voidclsCache = null;
    function $rt_voidcls() {
        if ($rt_voidclsCache === null) {
            $rt_voidclsCache = $rt_createPrimitiveCls("void", "V");
        }
        return $rt_voidclsCache;
    }
    function $rt_throw(ex) {
        throw $rt_exception(ex);
    }
    var $rt_javaExceptionProp = $rt_globals.Symbol("javaException");
    function $rt_exception(ex) {
        var err = ex.$jsException;
        if (!err) {
            var javaCause = $rt_throwableCause(ex);
            var jsCause = javaCause !== null ? javaCause.$jsException : $rt_globals.undefined;
            var cause = typeof jsCause === "object" ? { cause : jsCause } : $rt_globals.undefined;
            err = new JavaError("Java exception thrown", cause);
            if (typeof $rt_globals.Error.captureStackTrace === "function") {
                $rt_globals.Error.captureStackTrace(err);
            }
            err[$rt_javaExceptionProp] = ex;
            ex.$jsException = err;
            $rt_fillStack(err, ex);
        }
        return err;
    }
    function $rt_fillStack(err, ex) {
        if (typeof $rt_decodeStack === "function" && err.stack) {
            var stack = $rt_decodeStack(err.stack);
            var javaStack = $rt_createArray($rt_stecls(), stack.length);
            var elem;
            var noStack = false;
            for (var i = 0;i < stack.length;++i) {
                var element = stack[i];
                elem = $rt_createStackElement($rt_str(element.className), $rt_str(element.methodName), $rt_str(element.fileName), element.lineNumber);
                if (elem == null) {
                    noStack = true;
                    break;
                }
                javaStack.data[i] = elem;
            }
            if (!noStack) {
                $rt_setStack(ex, javaStack);
            }
        }
    }
    function $rt_createMultiArray(cls, dimensions) {
        var first = 0;
        for (var i = dimensions.length - 1;i >= 0;i = i - 1 | 0) {
            if (dimensions[i] === 0) {
                first = i;
                break;
            }
        }
        if (first > 0) {
            for (i = 0;i < first;i = i + 1 | 0) {
                cls = $rt_arraycls(cls);
            }
            if (first === dimensions.length - 1) {
                return $rt_createArray(cls, dimensions[first]);
            }
        }
        var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, first));
        var firstDim = dimensions[first] | 0;
        for (i = 0;i < arrays.length;i = i + 1 | 0) {
            arrays[i] = $rt_createArray(cls, firstDim);
        }
        return $rt_createMultiArrayImpl(cls, arrays, dimensions, first);
    }
    function $rt_createByteMultiArray(dimensions) {
        var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, 0));
        if (arrays.length === 0) {
            return $rt_createMultiArray($rt_bytecls(), dimensions);
        }
        var firstDim = dimensions[0] | 0;
        for (var i = 0;i < arrays.length;i = i + 1 | 0) {
            arrays[i] = $rt_createByteArray(firstDim);
        }
        return $rt_createMultiArrayImpl($rt_bytecls(), arrays, dimensions);
    }
    function $rt_createCharMultiArray(dimensions) {
        var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, 0));
        if (arrays.length === 0) {
            return $rt_createMultiArray($rt_charcls(), dimensions);
        }
        var firstDim = dimensions[0] | 0;
        for (var i = 0;i < arrays.length;i = i + 1 | 0) {
            arrays[i] = $rt_createCharArray(firstDim);
        }
        return $rt_createMultiArrayImpl($rt_charcls(), arrays, dimensions, 0);
    }
    function $rt_createBooleanMultiArray(dimensions) {
        var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, 0));
        if (arrays.length === 0) {
            return $rt_createMultiArray($rt_booleancls(), dimensions);
        }
        var firstDim = dimensions[0] | 0;
        for (var i = 0;i < arrays.length;i = i + 1 | 0) {
            arrays[i] = $rt_createBooleanArray(firstDim);
        }
        return $rt_createMultiArrayImpl($rt_booleancls(), arrays, dimensions, 0);
    }
    function $rt_createShortMultiArray(dimensions) {
        var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, 0));
        if (arrays.length === 0) {
            return $rt_createMultiArray($rt_shortcls(), dimensions);
        }
        var firstDim = dimensions[0] | 0;
        for (var i = 0;i < arrays.length;i = i + 1 | 0) {
            arrays[i] = $rt_createShortArray(firstDim);
        }
        return $rt_createMultiArrayImpl($rt_shortcls(), arrays, dimensions, 0);
    }
    function $rt_createIntMultiArray(dimensions) {
        var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, 0));
        if (arrays.length === 0) {
            return $rt_createMultiArray($rt_intcls(), dimensions);
        }
        var firstDim = dimensions[0] | 0;
        for (var i = 0;i < arrays.length;i = i + 1 | 0) {
            arrays[i] = $rt_createIntArray(firstDim);
        }
        return $rt_createMultiArrayImpl($rt_intcls(), arrays, dimensions, 0);
    }
    function $rt_createLongMultiArray(dimensions) {
        var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, 0));
        if (arrays.length === 0) {
            return $rt_createMultiArray($rt_longcls(), dimensions);
        }
        var firstDim = dimensions[0] | 0;
        for (var i = 0;i < arrays.length;i = i + 1 | 0) {
            arrays[i] = $rt_createLongArray(firstDim);
        }
        return $rt_createMultiArrayImpl($rt_longcls(), arrays, dimensions, 0);
    }
    function $rt_createFloatMultiArray(dimensions) {
        var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, 0));
        if (arrays.length === 0) {
            return $rt_createMultiArray($rt_floatcls(), dimensions);
        }
        var firstDim = dimensions[0] | 0;
        for (var i = 0;i < arrays.length;i = i + 1 | 0) {
            arrays[i] = $rt_createFloatArray(firstDim);
        }
        return $rt_createMultiArrayImpl($rt_floatcls(), arrays, dimensions, 0);
    }
    function $rt_createDoubleMultiArray(dimensions) {
        var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, 0));
        if (arrays.length === 0) {
            return $rt_createMultiArray($rt_doublecls(), dimensions);
        }
        var firstDim = dimensions[0] | 0;
        for (var i = 0;i < arrays.length;i = i + 1 | 0) {
            arrays[i] = $rt_createDoubleArray(firstDim);
        }
        return $rt_createMultiArrayImpl($rt_doublecls(), arrays, dimensions, 0);
    }
    function $rt_primitiveArrayCount(dimensions, start) {
        var val = dimensions[start + 1] | 0;
        for (var i = start + 2;i < dimensions.length;i = i + 1 | 0) {
            val = val * (dimensions[i] | 0) | 0;
            if (val === 0) {
                break;
            }
        }
        return val;
    }
    function $rt_createMultiArrayImpl(cls, arrays, dimensions, start) {
        var limit = arrays.length;
        for (var i = start + 1 | 0;i < dimensions.length;i = i + 1 | 0) {
            cls = $rt_arraycls(cls);
            var dim = dimensions[i];
            var index = 0;
            var packedIndex = 0;
            while (index < limit) {
                var arr = $rt_createUnfilledArray(cls, dim);
                for (var j = 0;j < dim;j = j + 1 | 0) {
                    arr.data[j] = arrays[index];
                    index = index + 1 | 0;
                }
                arrays[packedIndex] = arr;
                packedIndex = packedIndex + 1 | 0;
            }
            limit = packedIndex;
        }
        return arrays[0];
    }
    function $rt_assertNotNaN(value) {
        if (typeof value === 'number' && $rt_globals.isNaN(value)) {
            throw "NaN";
        }
        return value;
    }
    function $rt_createOutputFunction(printFunction) {
        var buffer = "";
        var utf8Buffer = 0;
        var utf8Remaining = 0;
        function putCodePoint(ch) {
            if (ch === 0xA) {
                printFunction(buffer);
                buffer = "";
            } else if (ch < 0x10000) {
                buffer += $rt_globals.String.fromCharCode(ch);
            } else {
                ch = ch - 0x10000 | 0;
                var hi = (ch >> 10) + 0xD800;
                var lo = (ch & 0x3FF) + 0xDC00;
                buffer += $rt_globals.String.fromCharCode(hi, lo);
            }
        }
        return function(ch) {
            if ((ch & 0x80) === 0) {
                putCodePoint(ch);
            } else if ((ch & 0xC0) === 0x80) {
                if (utf8Buffer > 0) {
                    utf8Remaining <<= 6;
                    utf8Remaining |= ch & 0x3F;
                    if ( --utf8Buffer === 0) {
                        putCodePoint(utf8Remaining);
                    }
                }
            } else if ((ch & 0xE0) === 0xC0) {
                utf8Remaining = ch & 0x1F;
                utf8Buffer = 1;
            } else if ((ch & 0xF0) === 0xE0) {
                utf8Remaining = ch & 0x0F;
                utf8Buffer = 2;
            } else if ((ch & 0xF8) === 0xF0) {
                utf8Remaining = ch & 0x07;
                utf8Buffer = 3;
            }
        };
    }
    var $rt_putStdout = typeof $rt_putStdoutCustom === "function" ? $rt_putStdoutCustom : typeof $rt_globals.console === "object" ? $rt_createOutputFunction(function(msg) {
        $rt_globals.console.info(msg);
    }) : function() {
    };
    var $rt_putStderr = typeof $rt_putStderrCustom === "function" ? $rt_putStderrCustom : typeof $rt_globals.console === "object" ? $rt_createOutputFunction(function(msg) {
        $rt_globals.console.error(msg);
    }) : function() {
    };
    var $rt_packageData = null;
    function $rt_packages(data) {
        var i = 0;
        var packages = new $rt_globals.Array(data.length);
        for (var j = 0;j < data.length;++j) {
            var prefixIndex = data[i++];
            var prefix = prefixIndex >= 0 ? packages[prefixIndex] : "";
            packages[j] = prefix + data[i++] + ".";
        }
        $rt_packageData = packages;
    }
    function $rt_metadata(data) {
        var packages = $rt_packageData;
        var i = 0;
        while (i < data.length) {
            var cls = data[i++];
            cls.$meta = {  };
            var m = cls.$meta;
            var className = data[i++];
            m.name = className !== 0 ? className : null;
            if (m.name !== null) {
                var packageIndex = data[i++];
                if (packageIndex >= 0) {
                    m.name = packages[packageIndex] + m.name;
                }
            }
            m.binaryName = "L" + m.name + ";";
            var superclass = data[i++];
            m.superclass = superclass !== 0 ? superclass : null;
            m.supertypes = data[i++];
            if (m.superclass) {
                m.supertypes.push(m.superclass);
                cls.prototype = $rt_globals.Object.create(m.superclass.prototype);
            } else {
                cls.prototype = {  };
            }
            var flags = data[i++];
            m.enum = (flags & 8) !== 0;
            m.flags = flags;
            m.primitive = false;
            m.item = null;
            cls.prototype.constructor = cls;
            cls.classObject = null;
            m.accessLevel = data[i++];
            var innerClassInfo = data[i++];
            if (innerClassInfo === 0) {
                m.simpleName = null;
                m.declaringClass = null;
                m.enclosingClass = null;
            } else {
                var enclosingClass = innerClassInfo[0];
                m.enclosingClass = enclosingClass !== 0 ? enclosingClass : null;
                var declaringClass = innerClassInfo[1];
                m.declaringClass = declaringClass !== 0 ? declaringClass : null;
                var simpleName = innerClassInfo[2];
                m.simpleName = simpleName !== 0 ? simpleName : null;
            }
            var clinit = data[i++];
            cls.$clinit = clinit !== 0 ? clinit : function() {
            };
            var virtualMethods = data[i++];
            if (virtualMethods !== 0) {
                for (var j = 0;j < virtualMethods.length;j += 2) {
                    var name = virtualMethods[j];
                    var func = virtualMethods[j + 1];
                    if (typeof name === 'string') {
                        name = [name];
                    }
                    for (var k = 0;k < name.length;++k) {
                        cls.prototype[name[k]] = func;
                    }
                }
            }
            cls.$array = null;
        }
    }
    function $rt_wrapFunction0(f) {
        return function() {
            return f(this);
        };
    }
    function $rt_wrapFunction1(f) {
        return function(p1) {
            return f(this, p1);
        };
    }
    function $rt_wrapFunction2(f) {
        return function(p1, p2) {
            return f(this, p1, p2);
        };
    }
    function $rt_wrapFunction3(f) {
        return function(p1, p2, p3) {
            return f(this, p1, p2, p3, p3);
        };
    }
    function $rt_wrapFunction4(f) {
        return function(p1, p2, p3, p4) {
            return f(this, p1, p2, p3, p4);
        };
    }
    function $rt_threadStarter(f) {
        return function() {
            var args = $rt_globals.Array.prototype.slice.apply(arguments);
            $rt_startThread(function() {
                f.apply(this, args);
            });
        };
    }
    function $rt_mainStarter(f) {
        return function(args, callback) {
            if (!args) {
                args = [];
            }
            var javaArgs = $rt_createArray($rt_objcls(), args.length);
            for (var i = 0;i < args.length;++i) {
                javaArgs.data[i] = $rt_str(args[i]);
            }
            $rt_startThread(function() {
                f.call(null, javaArgs);
            }, callback);
        };
    }
    var $rt_stringPool_instance;
    function $rt_stringPool(strings) {
        $rt_stringPool_instance = new $rt_globals.Array(strings.length);
        for (var i = 0;i < strings.length;++i) {
            $rt_stringPool_instance[i] = $rt_intern($rt_str(strings[i]));
        }
    }
    function $rt_s(index) {
        return $rt_stringPool_instance[index];
    }
    function $rt_eraseClinit(target) {
        return target.$clinit = function() {
        };
    }
    var $rt_numberConversionBuffer = new $rt_globals.ArrayBuffer(16);
    var $rt_numberConversionView = new $rt_globals.DataView($rt_numberConversionBuffer);
    var $rt_numberConversionFloatArray = new $rt_globals.Float32Array($rt_numberConversionBuffer);
    var $rt_numberConversionDoubleArray = new $rt_globals.Float64Array($rt_numberConversionBuffer);
    var $rt_numberConversionIntArray = new $rt_globals.Int32Array($rt_numberConversionBuffer);
    var $rt_doubleToRawLongBits;
    var $rt_longBitsToDouble;
    if (typeof $rt_globals.BigInt !== 'function') {
        $rt_doubleToRawLongBits = function(n) {
            $rt_numberConversionView.setFloat64(0, n, true);
            return new Long($rt_numberConversionView.getInt32(0, true), $rt_numberConversionView.getInt32(4, true));
        };
        $rt_longBitsToDouble = function(n) {
            $rt_numberConversionView.setInt32(0, n.lo, true);
            $rt_numberConversionView.setInt32(4, n.hi, true);
            return $rt_numberConversionView.getFloat64(0, true);
        };
    } else if (typeof $rt_globals.BigInt64Array !== 'function') {
        $rt_doubleToRawLongBits = function(n) {
            $rt_numberConversionView.setFloat64(0, n, true);
            var lo = $rt_numberConversionView.getInt32(0, true);
            var hi = $rt_numberConversionView.getInt32(4, true);
            return $rt_globals.BigInt.asIntN(64, $rt_globals.BigInt.asUintN(32, $rt_globals.BigInt(lo)) | $rt_globals.BigInt(hi) << $rt_globals.BigInt(32));
        };
        $rt_longBitsToDouble = function(n) {
            $rt_numberConversionView.setFloat64(0, n, true);
            var lo = $rt_numberConversionView.getInt32(0, true);
            var hi = $rt_numberConversionView.getInt32(4, true);
            return $rt_globals.BigInt.asIntN(64, $rt_globals.BigInt.asUintN(32, $rt_globals.BigInt(lo)) | $rt_globals.BigInt(hi) << $rt_globals.BigInt(32));
        };
    } else {
        var $rt_numberConversionLongArray = new $rt_globals.BigInt64Array($rt_numberConversionBuffer);
        $rt_doubleToRawLongBits = function(n) {
            $rt_numberConversionDoubleArray[0] = n;
            return $rt_numberConversionLongArray[0];
        };
        $rt_longBitsToDouble = function(n) {
            $rt_numberConversionLongArray[0] = n;
            return $rt_numberConversionDoubleArray[0];
        };
    }
    function $rt_floatToRawIntBits(n) {
        $rt_numberConversionFloatArray[0] = n;
        return $rt_numberConversionIntArray[0];
    }
    function $rt_intBitsToFloat(n) {
        $rt_numberConversionIntArray[0] = n;
        return $rt_numberConversionFloatArray[0];
    }
    function $rt_equalDoubles(a, b) {
        if (a !== a) {
            return b !== b;
        }
        $rt_numberConversionDoubleArray[0] = a;
        $rt_numberConversionDoubleArray[1] = b;
        return $rt_numberConversionIntArray[0] === $rt_numberConversionIntArray[2] && $rt_numberConversionIntArray[1] === $rt_numberConversionIntArray[3];
    }
    var JavaError;
    if (typeof $rt_globals.Reflect === 'object') {
        var defaultMessage = $rt_globals.Symbol("defaultMessage");
        JavaError = function JavaError(message, cause) {
            var self = $rt_globals.Reflect.construct($rt_globals.Error, [$rt_globals.undefined, cause], JavaError);
            $rt_globals.Object.setPrototypeOf(self, JavaError.prototype);
            self[defaultMessage] = message;
            return self;
        };
        JavaError.prototype = $rt_globals.Object.create($rt_globals.Error.prototype, { constructor : { configurable : true, writable : true, value : JavaError }, message : { get : function() {
            try {
                var javaException = this[$rt_javaExceptionProp];
                if (typeof javaException === 'object') {
                    var javaMessage = $rt_throwableMessage(javaException);
                    if (typeof javaMessage === "object") {
                        return javaMessage !== null ? javaMessage.toString() : null;
                    }
                }
                return this[defaultMessage];
            } catch (e){
                return "Exception occurred trying to extract Java exception message: " + e;
            }
        } } });
    } else {
        JavaError = $rt_globals.Error;
    }
    function $rt_javaException(e) {
        return e instanceof $rt_globals.Error && typeof e[$rt_javaExceptionProp] === 'object' ? e[$rt_javaExceptionProp] : null;
    }
    function $rt_jsException(e) {
        return typeof e.$jsException === 'object' ? e.$jsException : null;
    }
    function $rt_wrapException(err) {
        var ex = err[$rt_javaExceptionProp];
        if (!ex) {
            ex = $rt_createException($rt_str("(JavaScript) " + err.toString()));
            err[$rt_javaExceptionProp] = ex;
            ex.$jsException = err;
            $rt_fillStack(err, ex);
        }
        return ex;
    }
    function $dbg_class(obj) {
        var cls = obj.constructor;
        var arrayDegree = 0;
        while (cls.$meta && cls.$meta.item) {
            ++arrayDegree;
            cls = cls.$meta.item;
        }
        var clsName = "";
        if (cls === $rt_booleancls()) {
            clsName = "boolean";
        } else if (cls === $rt_bytecls()) {
            clsName = "byte";
        } else if (cls === $rt_shortcls()) {
            clsName = "short";
        } else if (cls === $rt_charcls()) {
            clsName = "char";
        } else if (cls === $rt_intcls()) {
            clsName = "int";
        } else if (cls === $rt_longcls()) {
            clsName = "long";
        } else if (cls === $rt_floatcls()) {
            clsName = "float";
        } else if (cls === $rt_doublecls()) {
            clsName = "double";
        } else {
            clsName = cls.$meta ? cls.$meta.name || "a/" + cls.name : "@" + cls.name;
        }
        while (arrayDegree-- > 0) {
            clsName += "[]";
        }
        return clsName;
    }
    function Long(lo, hi) {
        this.lo = lo | 0;
        this.hi = hi | 0;
    }
    Long.prototype.__teavm_class__ = function() {
        return "long";
    };
    function Long_isPositive(a) {
        return (a.hi & 0x80000000) === 0;
    }
    function Long_isNegative(a) {
        return (a.hi & 0x80000000) !== 0;
    }
    var Long_MAX_NORMAL = 1 << 18;
    var Long_ZERO;
    var Long_create;
    var Long_fromInt;
    var Long_fromNumber;
    var Long_toNumber;
    var Long_hi;
    var Long_lo;
    if (typeof $rt_globals.BigInt !== "function") {
        Long.prototype.toString = function() {
            var result = [];
            var n = this;
            var positive = Long_isPositive(n);
            if (!positive) {
                n = Long_neg(n);
            }
            var radix = new Long(10, 0);
            do  {
                var divRem = Long_divRem(n, radix);
                result.push($rt_globals.String.fromCharCode(48 + divRem[1].lo));
                n = divRem[0];
            }while (n.lo !== 0 || n.hi !== 0);
            result = (result.reverse()).join('');
            return positive ? result : "-" + result;
        };
        Long.prototype.valueOf = function() {
            return Long_toNumber(this);
        };
        Long_ZERO = new Long(0, 0);
        Long_fromInt = function(val) {
            return new Long(val,  -(val < 0) | 0);
        };
        Long_fromNumber = function(val) {
            if (val >= 0) {
                return new Long(val | 0, val / 0x100000000 | 0);
            } else {
                return Long_neg(new Long( -val | 0,  -val / 0x100000000 | 0));
            }
        };
        Long_create = function(lo, hi) {
            return new Long(lo, hi);
        };
        Long_toNumber = function(val) {
            return 0x100000000 * val.hi + (val.lo >>> 0);
        };
        Long_hi = function(val) {
            return val.hi;
        };
        Long_lo = function(val) {
            return val.lo;
        };
    } else {
        Long_ZERO = $rt_globals.BigInt(0);
        Long_create = function(lo, hi) {
            return $rt_globals.BigInt.asIntN(64, $rt_globals.BigInt.asUintN(64, $rt_globals.BigInt(lo)) | $rt_globals.BigInt.asUintN(64, $rt_globals.BigInt(hi) << $rt_globals.BigInt(32)));
        };
        Long_fromInt = function(val) {
            return $rt_globals.BigInt.asIntN(64, $rt_globals.BigInt(val | 0));
        };
        Long_fromNumber = function(val) {
            return $rt_globals.BigInt.asIntN(64, $rt_globals.BigInt(val >= 0 ? $rt_globals.Math.floor(val) : $rt_globals.Math.ceil(val)));
        };
        Long_toNumber = function(val) {
            return $rt_globals.Number(val);
        };
        Long_hi = function(val) {
            return $rt_globals.Number($rt_globals.BigInt.asIntN(64, val >> $rt_globals.BigInt(32))) | 0;
        };
        Long_lo = function(val) {
            return $rt_globals.Number($rt_globals.BigInt.asIntN(32, val)) | 0;
        };
    }
    var $rt_imul = $rt_globals.Math.imul || function(a, b) {
        var ah = a >>> 16 & 0xFFFF;
        var al = a & 0xFFFF;
        var bh = b >>> 16 & 0xFFFF;
        var bl = b & 0xFFFF;
        return al * bl + (ah * bl + al * bh << 16 >>> 0) | 0;
    };
    var $rt_udiv = function(a, b) {
        return (a >>> 0) / (b >>> 0) >>> 0;
    };
    var $rt_umod = function(a, b) {
        return (a >>> 0) % (b >>> 0) >>> 0;
    };
    var $rt_ucmp = function(a, b) {
        a >>>= 0;
        b >>>= 0;
        return a < b ?  -1 : a > b ? 1 : 0;
    };
    function $rt_checkBounds(index, array) {
        if (index < 0 || index >= array.length) {
            $rt_throwAIOOBE();
        }
        return index;
    }
    function $rt_checkUpperBound(index, array) {
        if (index >= array.length) {
            $rt_throwAIOOBE();
        }
        return index;
    }
    function $rt_checkLowerBound(index) {
        if (index < 0) {
            $rt_throwAIOOBE();
        }
        return index;
    }
    function $rt_classWithoutFields(superclass) {
        if (superclass === 0) {
            return function() {
            };
        }
        if (superclass === void 0) {
            superclass = $rt_objcls();
        }
        return function() {
            superclass.call(this);
        };
    }
    function $rt_setCloneMethod(target, f) {
        target.$clone = f;
    }
    function $rt_cls(cls) {
        return jl_Class_getClass(cls);
    }
    function $rt_str(str) {
        if (str === null) {
            return null;
        }
        var characters = $rt_createCharArray(str.length);
        var charsBuffer = characters.data;
        for (var i = 0; i < str.length; i = (i + 1) | 0) {
            charsBuffer[i] = str.charCodeAt(i) & 0xFFFF;
        }
        return jl_String__init_(characters);
    }
    function $rt_ustr(str) {
        if (str === null) {
            return null;
        }
        var data = str.$characters.data;
        var result = "";
        for (var i = 0; i < data.length; i = (i + 1) | 0) {
            result += String.fromCharCode(data[i]);
        }
        return result;
    }
    function $rt_objcls() { return jl_Object; }
    function $rt_stecls() {
        return jl_StackTraceElement;
    }
    function $rt_throwableMessage(t) {
        return jl_Throwable_getMessage(t);
    }
    function $rt_throwableCause(t) {
        return jl_Throwable_getCause(t);
    }
    function $rt_nullCheck(val) {
        if (val === null) {
            $rt_throw(jl_NullPointerException__init_());
        }
        return val;
    }
    function $rt_intern(str) {
        return str;
    }
    function $rt_getThread() {
        return jl_Thread_currentThread();
    }
    function $rt_setThread(t) {
        return jl_Thread_setCurrentThread(t);
    }
    function $rt_createException(message) {
        return jl_RuntimeException__init_(message);
    }
    function $rt_createStackElement(className, methodName, fileName, lineNumber) {
        return null;
    }
    function $rt_setStack(e, stack) {
    }
    function $rt_throwAIOOBE() {
        $rt_throw(jl_ArrayIndexOutOfBoundsException__init_());
    }
    function $rt_throwCCE() {
        $rt_throw(jl_ClassCastException__init_());
    }
    var $java = Object.create(null);
    function jl_Object() {
        this.$monitor = null;
        this.$id$ = 0;
    }
    function jl_Object__init_() {
        var var_0 = new jl_Object();
        jl_Object__init_0(var_0);
        return var_0;
    }
    function jl_Object_monitorEnterSync($o) {
        var var$2, var$3;
        if ($o.$monitor === null)
            jl_Object_createMonitor($o);
        var$2 = $o.$monitor;
        var$3 = var$2.$owner;
        if (var$3 === null)
            var$2.$owner = jl_Thread_currentThread();
        else if (var$3 !== jl_Thread_currentThread()) {
            var$2 = new jl_IllegalStateException;
            jl_Throwable__init_(var$2, $rt_s(0));
            $rt_throw(var$2);
        }
        $o = $o.$monitor;
        $o.$count = $o.$count + 1 | 0;
    }
    function jl_Object_monitorExitSync($o) {
        var var$2, var$3;
        if (!jl_Object_isEmptyMonitor($o) && $o.$monitor.$owner === jl_Thread_currentThread()) {
            var$2 = $o.$monitor;
            var$3 = var$2.$count - 1 | 0;
            var$2.$count = var$3;
            if (!var$3)
                var$2.$owner = null;
            jl_Object_isEmptyMonitor($o);
            return;
        }
        $o = new jl_IllegalMonitorStateException;
        jl_Throwable__init_0($o);
        $rt_throw($o);
    }
    function jl_Object_monitorEnter($o) {
        var var$2;
        if ($o.$monitor === null)
            jl_Object_createMonitor($o);
        var$2 = $o.$monitor;
        if (var$2.$owner === null)
            var$2.$owner = jl_Thread_currentThread();
        if ($o.$monitor.$owner !== jl_Thread_currentThread())
            jl_Object_monitorEnterWait$_asyncCall_$($o, 1);
        else {
            $o = $o.$monitor;
            $o.$count = $o.$count + 1 | 0;
        }
    }
    function jl_Object_createMonitor($o) {
        $o.$monitor = jl_Object$Monitor__init_();
    }
    function jl_Object_monitorEnterWait($o, $count, $callback) {
        var $thread_0, $monitor, var$6;
        $thread_0 = jl_Thread_currentThread();
        $monitor = $o.$monitor;
        if ($monitor === null) {
            jl_Object_createMonitor($o);
            jl_Thread_setCurrentThread($thread_0);
            $o = $o.$monitor;
            $o.$count = $o.$count + $count | 0;
            otpp_AsyncCallbackWrapper_complete($callback, null);
            return;
        }
        if ($monitor.$owner === null) {
            $monitor.$owner = $thread_0;
            jl_Thread_setCurrentThread($thread_0);
            $o = $o.$monitor;
            $o.$count = $o.$count + $count | 0;
            otpp_AsyncCallbackWrapper_complete($callback, null);
            return;
        }
        if ($monitor.$enteringThreads === null)
            $monitor.$enteringThreads = otp_Platform_createQueueJs$js_body$_30();
        $monitor = $monitor.$enteringThreads;
        var$6 = new jl_Object$monitorEnterWait$lambda$_6_0;
        var$6.$_0 = $thread_0;
        var$6.$_1 = $o;
        var$6.$_2 = $count;
        var$6.$_3 = $callback;
        $callback = var$6;
        $monitor.push($callback);
    }
    function jl_Object_monitorExit($o) {
        var var$2, var$3;
        if (!jl_Object_isEmptyMonitor($o) && $o.$monitor.$owner === jl_Thread_currentThread()) {
            var$2 = $o.$monitor;
            var$3 = var$2.$count - 1 | 0;
            var$2.$count = var$3;
            if (var$3 <= 0) {
                var$2.$owner = null;
                var$2 = var$2.$enteringThreads;
                if (var$2 !== null && !otp_PlatformQueue_isEmpty$static(var$2)) {
                    var$2 = new jl_Object$monitorExit$lambda$_8_0;
                    var$2.$_00 = $o;
                    otp_Platform_postpone(var$2);
                } else
                    jl_Object_isEmptyMonitor($o);
            }
            return;
        }
        $o = new jl_IllegalMonitorStateException;
        jl_Throwable__init_0($o);
        $rt_throw($o);
    }
    function jl_Object_isEmptyMonitor($this) {
        var $monitor, var$2;
        $monitor = $this.$monitor;
        if ($monitor === null)
            return 1;
        a: {
            if ($monitor.$owner === null) {
                var$2 = $monitor.$enteringThreads;
                if (!(var$2 !== null && !otp_PlatformQueue_isEmpty$static(var$2))) {
                    $monitor = $monitor.$notifyListeners;
                    if ($monitor === null)
                        break a;
                    if (otp_PlatformQueue_isEmpty$static($monitor))
                        break a;
                }
            }
            return 0;
        }
        $this.$monitor = null;
        return 1;
    }
    function jl_Object__init_0($this) {}
    function jl_Object_getClass($this) {
        return jl_Class_getClass($this.constructor);
    }
    function jl_Object_hashCode($this) {
        return jl_Object_identity($this);
    }
    function jl_Object_equals($this, $other) {
        return $this !== $other ? 0 : 1;
    }
    function jl_Object_toString($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = jl_Class_getName(jl_Object_getClass($this));
            var$2 = jl_Integer_toHexString(jl_Object_identity($this));
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            jl_AbstractStringBuilder_append(var$1, 64);
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function jl_Object_identity($this) {
        var $platformThis, var$2;
        $platformThis = $this;
        if (!$platformThis.$id$) {
            var$2 = $rt_nextId();
            $platformThis.$id$ = var$2;
        }
        return $this.$id$;
    }
    function jl_Object_clone($this) {
        var $result, var$2, var$3;
        if (!$rt_isInstance($this, jl_Cloneable) && $this.constructor.$meta.item === null) {
            $result = new jl_CloneNotSupportedException;
            jl_Throwable__init_0($result);
            $rt_throw($result);
        }
        $result = otp_Platform_clone($this);
        var$2 = $result;
        var$3 = $rt_nextId();
        var$2.$id$ = var$3;
        return $result;
    }
    function jl_Object_monitorEnterWait$_asyncCall_$(var$1, var$2) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                jl_Object_monitorEnterWait(var$1, var$2, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    var nleit_MainClass = $rt_classWithoutFields();
    function nleit_MainClass__init_() {
        var var_0 = new nleit_MainClass();
        nleit_MainClass__init_0(var_0);
        return var_0;
    }
    function nleit_MainClass__init_0($this) {}
    function nleit_MainClass_main($args) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$args = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            jl_Integer__clinit_();
            otcic_StdoutOutputStream__clinit_();
            otcic_StderrOutputStream__clinit_();
            jl_Character__clinit_();
            ju_GregorianCalendar__clinit_();
            otcit_DateTimeZoneProvider__clinit_();
            ju_Comparator$NaturalOrder__clinit_();
            jl_Long__clinit_();
            jl_Float__clinit_();
            jl_AbstractStringBuilder$Constants__clinit_();
            otcit_FloatAnalyzer__clinit_();
            jl_Double__clinit_();
            otcit_DoubleAnalyzer__clinit_();
            nms_BlockSand__clinit_();
            nms_BlockBed__clinit_();
            nms_BlockRedstoneTorch__clinit_();
            nms_BlockRedstoneRepeater__clinit_();
            jnc_CoderResult__clinit_();
            ju_Hashtable__clinit_();
            nlei_PlatformAssets__clinit_();
            jl_Boolean__clinit_();
            cjj_Inflate__clinit_();
            cjj_InfBlocks__clinit_();
            cjj_InfCodes__clinit_();
            cjj_CRC32__clinit_();
            cjj_InfTree__clinit_();
            jur_AbstractSet__clinit_();
            jt_DecimalFormat__clinit_();
            ju_Collections__clinit_();
            nms_GLAllocation__clinit_();
            nms_ItemArmor__clinit_();
            nms_NextTickListEntry__clinit_();
            otcit_CachedDateTimeZone__clinit_();
            nle_LocalStorageManager__clinit_();
            nmc_Minecraft__clinit_();
            cch_IntObjectHashMap__clinit_();
            cch_HashContainers__clinit_();
            nle_Display__clinit_();
            nleit_DebugConsoleWindow__clinit_();
            nlei_OpenGLObjects$FramebufferGL__clinit_();
            nleit_WebGLBackBuffer__clinit_();
            nlei_PlatformInput__clinit_();
            nleit_EarlyLoadScreen__clinit_();
            nleo_GLSLHeader__clinit_();
            nleo_DrawUtils__clinit_();
            nle_Base64__clinit_();
            nle_BaseNCodec__clinit_();
            nlei_OpenGLObjects$TextureGL__clinit_();
            nlei_OpenGLObjects$RenderbufferGL__clinit_();
            nlei_OpenGLObjects$BufferGL__clinit_();
            nlei_OpenGLObjects$ShaderGL__clinit_();
            nlei_OpenGLObjects$VertexArrayGL__clinit_();
            nlei_OpenGLObjects$ProgramGL__clinit_();
            nlei_OpenGLObjects$UniformGL__clinit_();
            npem_AudioUtils__clinit_();
            nms_AxisAlignedBB__clinit_();
            nms_Vec3D__clinit_();
            nms_World__clinit_();
            nleo_VertexFormat__clinit_();
            nms_Entity__clinit_();
            nms_ModelBed__clinit_();
            nms_RenderEngine__clinit_();
            nms_FontRenderer__clinit_();
            nms_GuiIngame__clinit_();
            nms_GuiMainMenu__clinit_();
            nms_MathHelper__clinit_();
            nms_GuiContainer__clinit_();
            otci_Base64Impl__clinit_();
            nms_EntitySheep__clinit_();
            nms_EntityMinecart__clinit_();
            nleo_StreamBuffer__clinit_();
            npevv_Vec3D_112__clinit_();
            otcit_FloatSynthesizer__clinit_();
            jl_Byte__clinit_();
            jl_Short__clinit_();
            nms_XErrr__clinit_();
            cjj_Page__clinit_();
            cjj_Buffer__clinit_();
            cjj_Mapping0__clinit_();
            cjj_Floor1__clinit_();
            cjj_Residue0__clinit_();
            nleit_BooleanResult__clinit_();
            nlei_PlatformApplication$FileChooserCallbackImpl__clinit_();
            ju_TreeSet__clinit_();
            nms_SpawnerAnimals__clinit_();
            cjj_Lookup__clinit_();
            cjj_Drft__clinit_();
            cch_ObjectIntHashMap__clinit_();
            nms_NoiseGenerator2__clinit_();
            nms_WorldGenBigTree__clinit_();
            $ptr = 1;
        case 1:
            nleit_ClientMain__main();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($args, $ptr);
    }
    var jlr_AnnotatedElement = $rt_classWithoutFields(0);
    var jlr_Type = $rt_classWithoutFields(0);
    function jl_Class() {
        var a = this; jl_Object.call(a);
        a.$name = null;
        a.$simpleName = null;
        a.$platformClass = null;
    }
    function jl_Class_getClass($cls) {
        var $result, var$3;
        if ($cls === null)
            return null;
        $result = $cls.classObject;
        if ($result === null) {
            $result = new jl_Class;
            $result.$platformClass = $cls;
            var$3 = $result;
            $cls.classObject = var$3;
        }
        return $result;
    }
    function jl_Class_toString($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = (!($this.$platformClass.$meta.flags & 2) ? 0 : 1) ? $rt_s(1) : !jl_Class_isPrimitive($this) ? $rt_s(2) : $rt_s(3);
            var$2 = jl_Class_getName($this);
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function jl_Class_isAssignableFrom($this, $obj) {
        return otp_Platform_isAssignable($obj.$platformClass, $this.$platformClass);
    }
    function jl_Class_getName($this) {
        if ($this.$name === null)
            $this.$name = otp_Platform_getName($this.$platformClass);
        return $this.$name;
    }
    function jl_Class_getSimpleName($this) {
        var $simpleName, $lastDollar, $lastDot, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$lastDot = $thread.pop();$lastDollar = $thread.pop();$simpleName = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $simpleName = $this.$simpleName;
            if ($simpleName === null) {
                if (jl_Class_isArray($this)) {
                    $simpleName = jl_Class_getComponentType($this);
                    $ptr = 1;
                    continue main;
                }
                $simpleName = $this.$platformClass.$meta.enclosingClass;
                if (($simpleName === null ? null : jl_Class_getClass($simpleName)) !== null) {
                    $simpleName = $rt_str($this.$platformClass.$meta.simpleName);
                    if ($simpleName === null)
                        $simpleName = $rt_s(3);
                } else {
                    $simpleName = otp_Platform_getName($this.$platformClass);
                    $lastDollar = jl_String_lastIndexOf($simpleName, 36);
                    if ($lastDollar == (-1)) {
                        $lastDot = jl_String_lastIndexOf($simpleName, 46);
                        if ($lastDot != (-1))
                            $simpleName = jl_String_substring($simpleName, $lastDot + 1 | 0);
                    } else {
                        $simpleName = jl_String_substring($simpleName, $lastDollar + 1 | 0);
                        if (jl_String_charAt($simpleName, 0) >= 48 && jl_String_charAt($simpleName, 0) <= 57)
                            $simpleName = $rt_s(3);
                    }
                }
                $this.$simpleName = $simpleName;
            }
            return $simpleName;
        case 1:
            $tmp = jl_Class_getSimpleName($simpleName);
            if ($rt_suspending()) {
                break main;
            }
            $simpleName = $tmp;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$4, $simpleName);
            if ($rt_suspending()) {
                break main;
            }
            $simpleName = $tmp;
            var$5 = $rt_s(4);
            $ptr = 3;
        case 3:
            jl_StringBuilder_append($simpleName, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $simpleName = $tmp;
            $this.$simpleName = $simpleName;
            return $simpleName;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $simpleName, $lastDollar, $lastDot, var$4, var$5, $ptr);
    }
    function jl_Class_isPrimitive($this) {
        return $this.$platformClass.$meta.primitive ? 1 : 0;
    }
    function jl_Class_isArray($this) {
        return otp_Platform_getArrayItem($this.$platformClass) === null ? 0 : 1;
    }
    function jl_Class_getComponentType($this) {
        return jl_Class_getClass(otp_Platform_getArrayItem($this.$platformClass));
    }
    function jl_Class_getSuperclass($this) {
        return jl_Class_getClass($this.$platformClass.$meta.superclass);
    }
    function jl_Class_getClassLoader($this) {
        jl_ClassLoader_$callClinit();
        return jl_ClassLoader_systemClassLoader;
    }
    function jl_Class_newInstance($this) {
        var $instance, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$instance = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $instance = $this.$platformClass;
            if (!otp_Platform_newInstancePrepared) {
                otp_Platform_prepareNewInstance();
                otp_Platform_newInstancePrepared = 1;
            }
            $ptr = 1;
        case 1:
            $tmp = otp_Platform_newInstanceImpl($instance);
            if ($rt_suspending()) {
                break main;
            }
            $instance = $tmp;
            if ($instance !== null)
                return $instance;
            $instance = new jl_InstantiationException;
            jl_Throwable__init_0($instance);
            $rt_throw($instance);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $instance, $ptr);
    }
    function jl_Class_getResourceAsStream($this, $name) {
        var $cls, $index, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$index = $thread.pop();$cls = $thread.pop();$name = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (jl_String_startsWith($name, $rt_s(5)))
                return jl_ClassLoader_getResourceAsStream(jl_Class_getClassLoader($this), jl_String_substring($name, 1));
            $cls = $this;
            while (jl_Class_isArray($cls)) {
                $cls = jl_Class_getComponentType($cls);
            }
            $cls = jl_Class_getName($cls);
            $index = jl_String_lastIndexOf($cls, 46);
            if ($index < 0)
                return jl_ClassLoader_getResourceAsStream(jl_Class_getClassLoader($this), $name);
            $cls = jl_String_replace(jl_String_substring0($cls, 0, $index + 1 | 0), 46, 47);
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$4, $cls);
            if ($rt_suspending()) {
                break main;
            }
            $cls = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append($cls, $name);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $name = $tmp;
            return jl_ClassLoader_getResourceAsStream(jl_Class_getClassLoader($this), $name);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $name, $cls, $index, var$4, $ptr);
    }
    var otji_JS = $rt_classWithoutFields();
    function otji_JS__init_() {
        var var_0 = new otji_JS();
        otji_JS__init_0(var_0);
        return var_0;
    }
    function otji_JS__init_0($this) {}
    function otji_JS_wrap($array) {
        var var$2, $result, $i, var$5;
        if ($array === null)
            return null;
        $array = $array.data;
        var$2 = $array.length;
        $result = new $rt_globals.Array(var$2);
        $i = 0;
        while ($i < var$2) {
            var$5 = $array[$i];
            $i;
            $result[$i] = var$5;
            $i = $i + 1 | 0;
        }
        return $result;
    }
    function otji_JS_function(var$1, var$2) {
        var name = 'jso$functor$' + var$2;
        if (!var$1[name]) {
            var fn = function() {
                return var$1[var$2].apply(var$1, arguments);
            };
            var$1[name] = function() {
                return fn;
            };
        }
        return var$1[name]();
    }
    function otji_JS_functionAsObject(var$1, var$2) {
        if (typeof var$1 !== "function") return var$1;
        var result = {};
        result[var$2] = var$1;
        return result;
    }
    var otp_Platform = $rt_classWithoutFields();
    var otp_Platform_newInstancePrepared = 0;
    function otp_Platform__init_() {
        var var_0 = new otp_Platform();
        otp_Platform__init_0(var_0);
        return var_0;
    }
    function otp_Platform__init_0($this) {}
    function otp_Platform_clone(var$1) {
        var copy = new var$1.constructor();
        for (var field in var$1) {
            if (!var$1.hasOwnProperty(field)) {
                continue;
            }
            copy[field] = var$1[field];
        }
        return copy;
    }
    function otp_Platform_isAssignable($from, $to) {
        var $supertypes, $i;
        if ($from === $to)
            return 1;
        $supertypes = $from.$meta.supertypes;
        $i = 0;
        while ($i < $supertypes.length) {
            if (otp_Platform_isAssignable($supertypes[$i], $to))
                return 1;
            $i = $i + 1 | 0;
        }
        return 0;
    }
    function otp_Platform_prepareNewInstance() {
        var c = '$$constructor$$';
        jl_String[c] = jl_String__init_0;
        jl_Object[c] = jl_Object__init_0;
        jl_NoClassDefFoundError[c] = jl_NoClassDefFoundError__init_;
        jl_NoSuchFieldError[c] = jl_NoSuchFieldError__init_;
        jl_NoSuchMethodError[c] = jl_NoSuchMethodError__init_;
        jl_RuntimeException[c] = jl_RuntimeException__init_0;
        jl_ClassCastException[c] = jl_ClassCastException__init_0;
        jl_StringBuilder[c] = jl_StringBuilder__init_;
        jl_IncompatibleClassChangeError[c] = jl_IncompatibleClassChangeError__init_;
        jl_Exception[c] = jl_Exception__init_;
        nleit_MainClass[c] = nleit_MainClass__init_0;
        otji_JS[c] = otji_JS__init_0;
        otp_Platform[c] = otp_Platform__init_0;
        jl_Throwable[c] = jl_Throwable__init_0;
        jl_LinkageError[c] = jl_LinkageError__init_;
        jl_Error[c] = jl_Error__init_;
        jl_AbstractStringBuilder[c] = jl_AbstractStringBuilder__init_;
        jl_String$_clinit_$lambda$_93_0[c] = jl_String$_clinit_$lambda$_93_0__init_;
        jl_System[c] = jl_System__init_;
        jl_IndexOutOfBoundsException[c] = jl_IndexOutOfBoundsException__init_;
        jl_NullPointerException[c] = jl_NullPointerException__init_0;
        jl_ArrayStoreException[c] = jl_ArrayStoreException__init_;
        otci_IntegerUtil[c] = otci_IntegerUtil__init_;
        nleit_ClientMain[c] = nleit_ClientMain__init_;
        nleit_TeaVMClientConfigAdapter[c] = nleit_TeaVMClientConfigAdapter__init_;
        nleit_ClientMain$2[c] = nleit_ClientMain$2__init_;
        nleit_ClientMain$1[c] = nleit_ClientMain$1__init_;
        nmc_Minecraft[c] = nmc_Minecraft__init_;
        jlr_Array[c] = jlr_Array__init_;
        nlei_PlatformRuntime[c] = nlei_PlatformRuntime__init_;
        oall_LogManager[c] = oall_LogManager__init_;
        nle_LocalStorageManager[c] = nle_LocalStorageManager__init_;
        nms_NBTTagCompound[c] = nms_NBTTagCompound__init_;
        nle_EagRuntime[c] = nle_EagRuntime__init_;
        jt_SimpleDateFormat[c] = jt_SimpleDateFormat__init_;
        ju_Date[c] = ju_Date__init_;
        nms_ModelBiped[c] = nms_ModelBiped__init_;
        nms_SoundManager[c] = nms_SoundManager__init_;
        nms_XBlah[c] = nms_XBlah__init_;
        nms_TextureWaterFX[c] = nms_TextureWaterFX__init_;
        nms_TextureLavaFX[c] = nms_TextureLavaFX__init_;
        ju_HashMap[c] = ju_HashMap__init_;
        nms_NBTTagEnd[c] = nms_NBTTagEnd__init_;
        ji_IOException[c] = ji_IOException__init_;
        otji_JSWrapper$_clinit_$lambda$_30_0[c] = otji_JSWrapper$_clinit_$lambda$_30_0__init_;
        otji_JSWrapper$_clinit_$lambda$_30_1[c] = otji_JSWrapper$_clinit_$lambda$_30_1__init_;
        nle_EagRuntime$debugPrintStackTraceToSTDERR0$lambda$_25_0[c] = nle_EagRuntime$debugPrintStackTraceToSTDERR0$lambda$_25_0__init_;
        ju_LinkedList[c] = ju_LinkedList__init_;
        ju_HashSet[c] = ju_HashSet__init_;
        nlei_PlatformRuntime$2[c] = nlei_PlatformRuntime$2__init_;
        nlei_PlatformRuntime$1[c] = nlei_PlatformRuntime$1__init_;
        nleo_EaglercraftGPU[c] = nleo_EaglercraftGPU__init_;
        nleo_GlStateManager[c] = nleo_GlStateManager__init_;
        nleo_RealOpenGLEnums[c] = nleo_RealOpenGLEnums__init_;
        nleo_SoftGLVertexState[c] = nleo_SoftGLVertexState__init_;
        nms_MouseFilter[c] = nms_MouseFilter__init_;
        ju_Random[c] = ju_Random__init_;
        nms_Gui[c] = nms_Gui__init_;
        nle_Random[c] = nle_Random__init_;
        nms_SoundManager$_init_$lambda$_0_0[c] = nms_SoundManager$_init_$lambda$_0_0__init_;
        olo_Display[c] = olo_Display__init_;
        nle_Display[c] = nle_Display__init_;
        otcic_StdoutOutputStream[c] = otcic_StdoutOutputStream__init_;
        otcic_StderrOutputStream[c] = otcic_StderrOutputStream__init_;
        nleit_TeaVMClientConfigAdapterHooks[c] = nleit_TeaVMClientConfigAdapterHooks__init_;
        nlei_PlatformApplication[c] = nlei_PlatformApplication__init_;
        nms_NBTTagByte[c] = nms_NBTTagByte__init_;
        nms_NBTTagShort[c] = nms_NBTTagShort__init_;
        nms_NBTTagInt[c] = nms_NBTTagInt__init_;
        nms_NBTTagLong[c] = nms_NBTTagLong__init_;
        nms_NBTTagFloat[c] = nms_NBTTagFloat__init_;
        nms_NBTTagDouble[c] = nms_NBTTagDouble__init_;
        nms_NBTTagByteArray[c] = nms_NBTTagByteArray__init_;
        nms_NBTTagString[c] = nms_NBTTagString__init_;
        nms_NBTTagList[c] = nms_NBTTagList__init_;
        ju_Objects[c] = ju_Objects__init_;
        nleit_DebugConsoleWindow[c] = nleit_DebugConsoleWindow__init_;
        nleit_TeaVMBlobURLManager[c] = nleit_TeaVMBlobURLManager__init_;
        ju_ArrayList[c] = ju_ArrayList__init_;
        nleit_TeaVMUtils[c] = nleit_TeaVMUtils__init_;
        jl_Math[c] = jl_Math__init_;
        nleit_TeaVMFetchJS[c] = nleit_TeaVMFetchJS__init_;
        nleit_TeaVMDataURLManager[c] = nleit_TeaVMDataURLManager__init_;
        nlei_PlatformOpenGL[c] = nlei_PlatformOpenGL__init_;
        ju_Collections[c] = ju_Collections__init_;
        nleit_WebGLBackBuffer[c] = nleit_WebGLBackBuffer__init_;
        nlei_PlatformInput[c] = nlei_PlatformInput__init_;
        nleit_EarlyLoadScreen[c] = nleit_EarlyLoadScreen__init_;
        nlei_PlatformAssets[c] = nlei_PlatformAssets__init_;
        nle_EaglercraftVersion[c] = nle_EaglercraftVersion__init_;
        nleit_EPKDownloadHelper[c] = nleit_EPKDownloadHelper__init_;
        nle_Filesystem[c] = nle_Filesystem__init_;
        nlei_PlatformAudio[c] = nlei_PlatformAudio__init_;
        jl_Thread[c] = jl_Thread__init_;
        jl_InterruptedException[c] = jl_InterruptedException__init_;
        nleit_LegacyKeycodeTranslator[c] = nleit_LegacyKeycodeTranslator__init_;
        nlei_PlatformInput$1[c] = nlei_PlatformInput$1__init_;
        nlei_PlatformInput$2[c] = nlei_PlatformInput$2__init_;
        nlei_PlatformInput$3[c] = nlei_PlatformInput$3__init_;
        nlei_PlatformInput$4[c] = nlei_PlatformInput$4__init_;
        nlei_PlatformInput$5[c] = nlei_PlatformInput$5__init_;
        nlei_PlatformInput$6[c] = nlei_PlatformInput$6__init_;
        nlei_PlatformInput$7[c] = nlei_PlatformInput$7__init_;
        nlei_PlatformInput$8[c] = nlei_PlatformInput$8__init_;
        nlei_PlatformInput$9[c] = nlei_PlatformInput$9__init_;
        nlei_PlatformInput$10[c] = nlei_PlatformInput$10__init_;
        nlei_PlatformInput$11[c] = nlei_PlatformInput$11__init_;
        nlei_PlatformInput$12[c] = nlei_PlatformInput$12__init_;
        nlei_PlatformInput$13[c] = nlei_PlatformInput$13__init_;
        nlei_PlatformInput$14[c] = nlei_PlatformInput$14__init_;
        nlei_PlatformInput$initHooks$lambda$_3_1[c] = nlei_PlatformInput$initHooks$lambda$_3_1__init_;
        nlei_PlatformInput$initHooks$lambda$_3_2[c] = nlei_PlatformInput$initHooks$lambda$_3_2__init_;
        cch_IntObjectHashMap[c] = cch_IntObjectHashMap__init_;
        nleo_GLSLHeader[c] = nleo_GLSLHeader__init_;
        jl_IllegalStateException[c] = jl_IllegalStateException__init_;
        nleo_DrawUtils[c] = nleo_DrawUtils__init_;
        nleo_InstancedFontRenderer[c] = nleo_InstancedFontRenderer__init_;
        jt_DateFormatSymbols[c] = jt_DateFormatSymbols__init_;
        nms_GLAllocation[c] = nms_GLAllocation__init_;
        nms_RenderBlocks[c] = nms_RenderBlocks__init_;
        jnci_UTF8Charset[c] = jnci_UTF8Charset__init_;
        jl_IllegalMonitorStateException[c] = jl_IllegalMonitorStateException__init_;
        otj_JSExceptions[c] = otj_JSExceptions__init_;
        nleib_EaglerArrayBufferAllocator[c] = nleib_EaglerArrayBufferAllocator__init_;
        ju_Collections$1[c] = ju_Collections$1__init_;
        ju_Collections$2[c] = ju_Collections$2__init_;
        ju_Collections$3[c] = ju_Collections$3__init_;
        ju_Collections$4[c] = ju_Collections$4__init_;
        ju_Collections$5[c] = ju_Collections$5__init_;
        ju_Collections$_clinit_$lambda$_59_0[c] = ju_Collections$_clinit_$lambda$_59_0__init_;
        ju_Comparator$NaturalOrder[c] = ju_Comparator$NaturalOrder__init_;
        jl_UnsupportedOperationException[c] = jl_UnsupportedOperationException__init_;
        nle_Base64[c] = nle_Base64__init_;
        nle_EagUtils[c] = nle_EagUtils__init_;
        ju_Arrays[c] = ju_Arrays__init_;
        jnc_StandardCharsets[c] = jnc_StandardCharsets__init_;
        nleit_EPKLoader[c] = nleit_EPKLoader__init_;
        cjj_CRC32[c] = cjj_CRC32__init_;
        nleo_SoftGLVertexArray[c] = nleo_SoftGLVertexArray__init_;
        nlei_PlatformFilesystem[c] = nlei_PlatformFilesystem__init_;
        ju_TreeMap[c] = ju_TreeMap__init_;
        nlei_PlatformInput$16[c] = nlei_PlatformInput$16__init_;
        jl_DefaultUncaughtExceptionHandler[c] = jl_DefaultUncaughtExceptionHandler__init_;
        nlei_PlatformRuntime$6[c] = nlei_PlatformRuntime$6__init_;
        nleo_VSHInputLayoutParser[c] = nleo_VSHInputLayoutParser__init_;
        nlev_Matrix4f[c] = nlev_Matrix4f__init_;
        nlev_Vector4f[c] = nlev_Vector4f__init_;
        otjb_Performance[c] = otjb_Performance__init_;
        nms_BlockCloth[c] = nms_BlockCloth__init_;
        nms_TileEntitySign[c] = nms_TileEntitySign__init_;
        jl_Object$Monitor[c] = jl_Object$Monitor__init_0;
        jl_IllegalArgumentException[c] = jl_IllegalArgumentException__init_;
        nleit_TeaVMRuntimeDeobfuscator[c] = nleit_TeaVMRuntimeDeobfuscator__init_;
        jnci_AsciiCharset[c] = jnci_AsciiCharset__init_;
        jnci_Iso8859Charset[c] = jnci_Iso8859Charset__init_;
        npem_AudioUtils[c] = npem_AudioUtils__init_;
        ju_ArrayDeque[c] = ju_ArrayDeque__init_;
        jur_Pattern[c] = jur_Pattern__init_;
        jl_NumberFormatException[c] = jl_NumberFormatException__init_;
        otciu_CLDRHelper[c] = otciu_CLDRHelper__init_;
        otpp_ResourceAccessor[c] = otpp_ResourceAccessor__init_;
        nms_Material[c] = nms_Material__init_;
        nms_TileEntity[c] = nms_TileEntity__init_;
        nms_StatList[c] = nms_StatList__init_;
        jl_CloneNotSupportedException[c] = jl_CloneNotSupportedException__init_;
        nlec_MD5Digest[c] = nlec_MD5Digest__init_;
        cjj_Inflater[c] = cjj_Inflater__init_;
        nleit_IndexedDBFilesystem$AsyncHandlers[c] = nleit_IndexedDBFilesystem$AsyncHandlers__init_;
        nleiv_EaglerFileSystemException[c] = nleiv_EaglerFileSystemException__init_;
        ju_GregorianCalendar[c] = ju_GregorianCalendar__init_;
        nms_MaterialTransparent[c] = nms_MaterialTransparent__init_;
        nms_MaterialLiquid[c] = nms_MaterialLiquid__init_;
        nms_MaterialLogic[c] = nms_MaterialLogic__init_;
        nms_CraftingManager[c] = nms_CraftingManager__init_;
        nms_FurnaceRecipes[c] = nms_FurnaceRecipes__init_;
        otjc_JSObjects[c] = otjc_JSObjects__init_;
        nleit_Base64VarIntArray[c] = nleit_Base64VarIntArray__init_;
        jnc_Charset$Charsets[c] = jnc_Charset$Charsets__init_;
        cjj_ZStream[c] = cjj_ZStream__init_;
        cch_HashContainers[c] = cch_HashContainers__init_;
        juca_AtomicInteger[c] = juca_AtomicInteger__init_;
        nms_StatCollector[c] = nms_StatCollector__init_;
        nms_StringTranslate[c] = nms_StringTranslate__init_;
        cjj_GZIPException[c] = cjj_GZIPException__init_;
        jt_DecimalFormat[c] = jt_DecimalFormat__init_;
        jur_AheadFSet[c] = jur_AheadFSet__init_;
        jur_FinalSet[c] = jur_FinalSet__init_;
        jur_NonCapJointSet[c] = jur_NonCapJointSet__init_;
        jur_JointSet[c] = jur_JointSet__init_;
        cjj_Adler32[c] = cjj_Adler32__init_;
        jt_DecimalFormatSymbols[c] = jt_DecimalFormatSymbols__init_;
        nms_RecipesTools[c] = nms_RecipesTools__init_;
        nms_RecipesWeapons[c] = nms_RecipesWeapons__init_;
        nms_RecipesIngots[c] = nms_RecipesIngots__init_;
        nms_RecipesFood[c] = nms_RecipesFood__init_;
        nms_RecipesCrafting[c] = nms_RecipesCrafting__init_;
        nms_RecipesArmor[c] = nms_RecipesArmor__init_;
        nms_RecipesDyes[c] = nms_RecipesDyes__init_;
        jur_CharClass[c] = jur_CharClass__init_;
        jur_AbstractCharClass$PredefinedCharacterClasses[c] = jur_AbstractCharClass$PredefinedCharacterClasses__init_;
        jur_FSet$PossessiveFSet[c] = jur_FSet$PossessiveFSet__init_;
        ju_BitSet[c] = ju_BitSet__init_;
        jur_SOLSet[c] = jur_SOLSet__init_;
        jur_PreviousMatch[c] = jur_PreviousMatch__init_;
        jur_EOISet[c] = jur_EOISet__init_;
        jur_DotAllSet[c] = jur_DotAllSet__init_;
        jl_StringBuffer[c] = jl_StringBuffer__init_;
        otciu_UnicodeHelper[c] = otciu_UnicodeHelper__init_;
        otcit_DateTimeZoneProvider[c] = otcit_DateTimeZoneProvider__init_;
        ju_PriorityQueue[c] = ju_PriorityQueue__init_;
        otcit_DateTimeZoneProvider$1[c] = otcit_DateTimeZoneProvider$1__init_;
        otcit_DateTimeZoneProvider$detectTimezone$lambda$_4_0[c] = otcit_DateTimeZoneProvider$detectTimezone$lambda$_4_0__init_;
        ju_Properties[c] = ju_Properties__init_;
        jur_AbstractLineTerminator$1[c] = jur_AbstractLineTerminator$1__init_;
        jur_AbstractLineTerminator$2[c] = jur_AbstractLineTerminator$2__init_;
        otci_Base46[c] = otci_Base46__init_;
        ju_Hashtable[c] = ju_Hashtable__init_;
        jl_NegativeArraySizeException[c] = jl_NegativeArraySizeException__init_;
        otcic_CurrencyHelper[c] = otcic_CurrencyHelper__init_;
        jur_AbstractCharClass$LazySpace[c] = jur_AbstractCharClass$LazySpace__init_;
        jur_AbstractCharClass$LazyDigit[c] = jur_AbstractCharClass$LazyDigit__init_;
        jur_AbstractCharClass$LazyLower[c] = jur_AbstractCharClass$LazyLower__init_;
        jur_AbstractCharClass$LazyUpper[c] = jur_AbstractCharClass$LazyUpper__init_;
        jur_AbstractCharClass$LazyASCII[c] = jur_AbstractCharClass$LazyASCII__init_;
        jur_AbstractCharClass$LazyAlpha[c] = jur_AbstractCharClass$LazyAlpha__init_;
        jur_AbstractCharClass$LazyAlnum[c] = jur_AbstractCharClass$LazyAlnum__init_;
        jur_AbstractCharClass$LazyPunct[c] = jur_AbstractCharClass$LazyPunct__init_;
        jur_AbstractCharClass$LazyGraph[c] = jur_AbstractCharClass$LazyGraph__init_;
        jur_AbstractCharClass$LazyPrint[c] = jur_AbstractCharClass$LazyPrint__init_;
        jur_AbstractCharClass$LazyBlank[c] = jur_AbstractCharClass$LazyBlank__init_;
        jur_AbstractCharClass$LazyCntrl[c] = jur_AbstractCharClass$LazyCntrl__init_;
        jur_AbstractCharClass$LazyXDigit[c] = jur_AbstractCharClass$LazyXDigit__init_;
        jur_AbstractCharClass$LazyJavaLowerCase[c] = jur_AbstractCharClass$LazyJavaLowerCase__init_;
        jur_AbstractCharClass$LazyJavaUpperCase[c] = jur_AbstractCharClass$LazyJavaUpperCase__init_;
        jur_AbstractCharClass$LazyJavaWhitespace[c] = jur_AbstractCharClass$LazyJavaWhitespace__init_;
        jur_AbstractCharClass$LazyJavaMirrored[c] = jur_AbstractCharClass$LazyJavaMirrored__init_;
        jur_AbstractCharClass$LazyJavaDefined[c] = jur_AbstractCharClass$LazyJavaDefined__init_;
        jur_AbstractCharClass$LazyJavaDigit[c] = jur_AbstractCharClass$LazyJavaDigit__init_;
        jur_AbstractCharClass$LazyJavaIdentifierIgnorable[c] = jur_AbstractCharClass$LazyJavaIdentifierIgnorable__init_;
        jur_AbstractCharClass$LazyJavaISOControl[c] = jur_AbstractCharClass$LazyJavaISOControl__init_;
        jur_AbstractCharClass$LazyJavaJavaIdentifierPart[c] = jur_AbstractCharClass$LazyJavaJavaIdentifierPart__init_;
        jur_AbstractCharClass$LazyJavaJavaIdentifierStart[c] = jur_AbstractCharClass$LazyJavaJavaIdentifierStart__init_;
        jur_AbstractCharClass$LazyJavaLetter[c] = jur_AbstractCharClass$LazyJavaLetter__init_;
        jur_AbstractCharClass$LazyJavaLetterOrDigit[c] = jur_AbstractCharClass$LazyJavaLetterOrDigit__init_;
        jur_AbstractCharClass$LazyJavaSpaceChar[c] = jur_AbstractCharClass$LazyJavaSpaceChar__init_;
        jur_AbstractCharClass$LazyJavaTitleCase[c] = jur_AbstractCharClass$LazyJavaTitleCase__init_;
        jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart[c] = jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart__init_;
        jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart[c] = jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart__init_;
        jur_AbstractCharClass$LazyWord[c] = jur_AbstractCharClass$LazyWord__init_;
        jur_AbstractCharClass$LazyNonWord[c] = jur_AbstractCharClass$LazyNonWord__init_;
        jur_AbstractCharClass$LazyNonSpace[c] = jur_AbstractCharClass$LazyNonSpace__init_;
        jur_AbstractCharClass$LazyNonDigit[c] = jur_AbstractCharClass$LazyNonDigit__init_;
        jur_AbstractCharClass$LazySpecialsBlock[c] = jur_AbstractCharClass$LazySpecialsBlock__init_;
        ju_Hashtable$1[c] = ju_Hashtable$1__init_;
        ju_Hashtable$2[c] = ju_Hashtable$2__init_;
        otcit_DateTimeZoneBuilder[c] = otcit_DateTimeZoneBuilder__init_;
        otcit_DateTimeZoneBuilder$RuleSet[c] = otcit_DateTimeZoneBuilder$RuleSet__init_;
        jl_AssertionError[c] = jl_AssertionError__init_;
        jl_StringIndexOutOfBoundsException[c] = jl_StringIndexOutOfBoundsException__init_;
        nms_GuiScreen[c] = nms_GuiScreen__init_;
        nms_GuiConflictWarning[c] = nms_GuiConflictWarning__init_;
        ji_EOFException[c] = ji_EOFException__init_;
        jt_DecimalFormatParser[c] = jt_DecimalFormatParser__init_;
        ju_NoSuchElementException[c] = ju_NoSuchElementException__init_;
        jnc_CharacterCodingException[c] = jnc_CharacterCodingException__init_;
        ju_Formatter[c] = ju_Formatter__init_;
        nms_MinecraftError[c] = nms_MinecraftError__init_;
        olo_GL11[c] = olo_GL11__init_;
        nms_GameSettings[c] = nms_GameSettings__init_;
        oli_Keyboard[c] = oli_Keyboard__init_;
        nle_Keyboard[c] = nle_Keyboard__init_;
        nle_KeyboardConstants[c] = nle_KeyboardConstants__init_;
        oacl_StringUtils[c] = oacl_StringUtils__init_;
        olug_GLU[c] = olug_GLU__init_;
        oacl_ArrayUtils[c] = oacl_ArrayUtils__init_;
        cch_BitUtil[c] = cch_BitUtil__init_;
        nms_AchievementMap[c] = nms_AchievementMap__init_;
        nms_AchievementList[c] = nms_AchievementList__init_;
        nlev_Vector3f[c] = nlev_Vector3f__init_;
        ju_IllegalFormatException[c] = ju_IllegalFormatException__init_;
        nms_MouseHelper[c] = nms_MouseHelper__init_;
        nms_TexturePortalFX[c] = nms_TexturePortalFX__init_;
        nleb_TextureNewCompassFX[c] = nleb_TextureNewCompassFX__init_;
        nleb_TextureNewClockFX[c] = nleb_TextureNewClockFX__init_;
        nms_TexureWaterFlowFX[c] = nms_TexureWaterFlowFX__init_;
        nms_TextureLavaFlowFX[c] = nms_TextureLavaFlowFX__init_;
        nms_GuiMainMenu[c] = nms_GuiMainMenu__init_;
        nms_GuiChat[c] = nms_GuiChat__init_;
        nms_GuiSleepMP[c] = nms_GuiSleepMP__init_;
        nms_GuiGameOver[c] = nms_GuiGameOver__init_;
        nle_BaseNCodec$Context[c] = nle_BaseNCodec$Context__init_;
        jl_ArrayIndexOutOfBoundsException[c] = jl_ArrayIndexOutOfBoundsException__init_0;
        jt_DecimalFormat$MinusField[c] = jt_DecimalFormat$MinusField__init_;
        ju_ConcurrentModificationException[c] = ju_ConcurrentModificationException__init_;
        jl_ArithmeticException[c] = jl_ArithmeticException__init_;
        nleo_WorldVertexBufferUploader[c] = nleo_WorldVertexBufferUploader__init_;
        oli_Mouse[c] = oli_Mouse__init_;
        nle_Mouse[c] = nle_Mouse__init_;
        nms_RenderManager[c] = nms_RenderManager__init_;
        nms_TexturePackDefault[c] = nms_TexturePackDefault__init_;
        nms_RenderList[c] = nms_RenderList__init_;
        nlep_EaglerProfile[c] = nlep_EaglerProfile__init_;
        ol_LWJGLException[c] = ol_LWJGLException__init_;
        nms_MathHelper[c] = nms_MathHelper__init_;
        nms_GuiUnused[c] = nms_GuiUnused__init_;
        cch_BitMixer[c] = cch_BitMixer__init_;
        jl_OutOfMemoryError[c] = jl_OutOfMemoryError__init_;
        jl_VirtualMachineError[c] = jl_VirtualMachineError__init_;
        cjj_InfTree[c] = cjj_InfTree__init_;
        nleo_DisplayList[c] = nleo_DisplayList__init_;
        nms_RenderItem[c] = nms_RenderItem__init_;
        nms_NetHandler[c] = nms_NetHandler__init_;
        ji_UTFDataFormatException[c] = ji_UTFDataFormatException__init_;
        nlei_PlatformInput$15[c] = nlei_PlatformInput$15__init_;
        nleo_StreamBuffer$StreamBufferInstance[c] = nleo_StreamBuffer$StreamBufferInstance__init_;
        nms_RenderSpider[c] = nms_RenderSpider__init_;
        nms_ModelPig[c] = nms_ModelPig__init_;
        nms_ModelSheep2[c] = nms_ModelSheep2__init_;
        nms_ModelSheep1[c] = nms_ModelSheep1__init_;
        nms_ModelCow[c] = nms_ModelCow__init_;
        nms_ModelWolf[c] = nms_ModelWolf__init_;
        nms_ModelChicken[c] = nms_ModelChicken__init_;
        nms_RenderCreeper[c] = nms_RenderCreeper__init_;
        nms_ModelSkeleton[c] = nms_ModelSkeleton__init_;
        nms_ModelZombie[c] = nms_ModelZombie__init_;
        nms_RenderPlayer[c] = nms_RenderPlayer__init_;
        nms_RenderGhast[c] = nms_RenderGhast__init_;
        nms_ModelSquid[c] = nms_ModelSquid__init_;
        nms_RenderEntity[c] = nms_RenderEntity__init_;
        nms_RenderPainting[c] = nms_RenderPainting__init_;
        nms_RenderArrow[c] = nms_RenderArrow__init_;
        nms_RenderFireball[c] = nms_RenderFireball__init_;
        nms_RenderTNTPrimed[c] = nms_RenderTNTPrimed__init_;
        nms_RenderFallingSand[c] = nms_RenderFallingSand__init_;
        nms_RenderMinecart[c] = nms_RenderMinecart__init_;
        nms_RenderBoat[c] = nms_RenderBoat__init_;
        nms_RenderFish[c] = nms_RenderFish__init_;
        nle_EaglerOutputStream[c] = nle_EaglerOutputStream__init_;
        nms_FontAllowedCharacters[c] = nms_FontAllowedCharacters__init_;
        nms_ModelSpider[c] = nms_ModelSpider__init_;
        nms_ModelCreeper[c] = nms_ModelCreeper__init_;
        nms_ModelGhast[c] = nms_ModelGhast__init_;
        nms_ModelMinecart[c] = nms_ModelMinecart__init_;
        nms_ModelBoat[c] = nms_ModelBoat__init_;
        nleo_StreamBuffer$PoolInstance[c] = nleo_StreamBuffer$PoolInstance__init_;
        ji_UnsupportedEncodingException[c] = ji_UnsupportedEncodingException__init_;
        nms_GuiIngameMenu[c] = nms_GuiIngameMenu__init_;
        nms_Frustrum[c] = nms_Frustrum__init_;
        jt_DecimalFormat$PerMillField[c] = jt_DecimalFormat$PerMillField__init_;
        jt_DecimalFormat$CurrencyField[c] = jt_DecimalFormat$CurrencyField__init_;
        jt_DecimalFormat$PercentField[c] = jt_DecimalFormat$PercentField__init_;
        nms_RenderHelper[c] = nms_RenderHelper__init_;
        ju_LinkedList$Entry[c] = ju_LinkedList$Entry__init_;
        nms_ClippingHelperImplementation[c] = nms_ClippingHelperImplementation__init_;
        nms_ClippingHelper[c] = nms_ClippingHelper__init_;
        ju_FormatterClosedException[c] = ju_FormatterClosedException__init_;
        otcic_Console[c] = otcic_Console__init_;
        nms_WorldProvider[c] = nms_WorldProvider__init_;
        ji_ByteArrayOutputStream[c] = ji_ByteArrayOutputStream__init_;
        otcit_FloatSynthesizer[c] = otcit_FloatSynthesizer__init_;
        nms_DataWatcher[c] = nms_DataWatcher__init_;
        jl_SystemClassLoader[c] = jl_SystemClassLoader__init_;
        otcit_FloatAnalyzer[c] = otcit_FloatAnalyzer__init_;
        nms_ChunkCoordinates[c] = nms_ChunkCoordinates__init_;
        nms_XErrr[c] = nms_XErrr__init_;
        cjj_GZIPHeader[c] = cjj_GZIPHeader__init_;
        nms_TileEntityRenderer[c] = nms_TileEntityRenderer__init_;
        nms_MovementInput[c] = nms_MovementInput__init_;
        jn_BufferUnderflowException[c] = jn_BufferUnderflowException__init_;
        jn_ReadOnlyBufferException[c] = jn_ReadOnlyBufferException__init_;
        nms_Packet19[c] = nms_Packet19__init_;
        nms_ModelBed[c] = nms_ModelBed__init_;
        nleo_TextureFormatHelper[c] = nleo_TextureFormatHelper__init_;
        jl_AbstractStringBuilder$Constants[c] = jl_AbstractStringBuilder$Constants__init_;
        otcit_FloatAnalyzer$Result[c] = otcit_FloatAnalyzer$Result__init_;
        nms_TileEntitySignRenderer[c] = nms_TileEntitySignRenderer__init_;
        nms_TileEntityMobSpawner[c] = nms_TileEntityMobSpawner__init_;
        nms_TileEntityMobSpawnerRenderer[c] = nms_TileEntityMobSpawnerRenderer__init_;
        otcit_DoubleAnalyzer$Result[c] = otcit_DoubleAnalyzer$Result__init_;
        nms_Packet0KeepAlive[c] = nms_Packet0KeepAlive__init_;
        nms_Packet1Login[c] = nms_Packet1Login__init_;
        nms_Packet2Handshake[c] = nms_Packet2Handshake__init_;
        nms_Packet3Chat[c] = nms_Packet3Chat__init_;
        nms_Packet4UpdateTime[c] = nms_Packet4UpdateTime__init_;
        nms_Packet5PlayerInventory[c] = nms_Packet5PlayerInventory__init_;
        nms_Packet6SpawnPosition[c] = nms_Packet6SpawnPosition__init_;
        nms_Packet7[c] = nms_Packet7__init_;
        nms_Packet8[c] = nms_Packet8__init_;
        nms_Packet9[c] = nms_Packet9__init_;
        nms_Packet10Flying[c] = nms_Packet10Flying__init_;
        nms_Packet11PlayerPosition[c] = nms_Packet11PlayerPosition__init_;
        nms_Packet12PlayerLook[c] = nms_Packet12PlayerLook__init_;
        nms_Packet13PlayerLookMove[c] = nms_Packet13PlayerLookMove__init_;
        nms_Packet14BlockDig[c] = nms_Packet14BlockDig__init_;
        nms_Packet15Place[c] = nms_Packet15Place__init_;
        nms_Packet16BlockItemSwitch[c] = nms_Packet16BlockItemSwitch__init_;
        nms_Packet17Sleep[c] = nms_Packet17Sleep__init_;
        nms_Packet18ArmAnimation[c] = nms_Packet18ArmAnimation__init_;
        nms_Packet20NamedEntitySpawn[c] = nms_Packet20NamedEntitySpawn__init_;
        nms_Packet21PickupSpawn[c] = nms_Packet21PickupSpawn__init_;
        nms_Packet22Collect[c] = nms_Packet22Collect__init_;
        nms_Packet23VehicleSpawn[c] = nms_Packet23VehicleSpawn__init_;
        nms_Packet24MobSpawn[c] = nms_Packet24MobSpawn__init_;
        nms_Packet25[c] = nms_Packet25__init_;
        nms_Packet27[c] = nms_Packet27__init_;
        nms_Packet28[c] = nms_Packet28__init_;
        nms_Packet29DestroyEntity[c] = nms_Packet29DestroyEntity__init_;
        nms_Packet30Entity[c] = nms_Packet30Entity__init_;
        nms_Packet31RelEntityMove[c] = nms_Packet31RelEntityMove__init_;
        nms_Packet32EntityLook[c] = nms_Packet32EntityLook__init_;
        nms_Packet33RelEntityMoveLook[c] = nms_Packet33RelEntityMoveLook__init_;
        nms_Packet34EntityTeleport[c] = nms_Packet34EntityTeleport__init_;
        nms_Packet38[c] = nms_Packet38__init_;
        nms_Packet39[c] = nms_Packet39__init_;
        nms_Packet40[c] = nms_Packet40__init_;
        nms_Packet50PreChunk[c] = nms_Packet50PreChunk__init_;
        nms_Packet51MapChunk[c] = nms_Packet51MapChunk__init_;
        nms_Packet52MultiBlockChange[c] = nms_Packet52MultiBlockChange__init_;
        nms_Packet53BlockChange[c] = nms_Packet53BlockChange__init_;
        nms_Packet54[c] = nms_Packet54__init_;
        nms_Packet60[c] = nms_Packet60__init_;
        nms_Packet70[c] = nms_Packet70__init_;
        nms_Packet100[c] = nms_Packet100__init_;
        nms_Packet101[c] = nms_Packet101__init_;
        nms_Packet102[c] = nms_Packet102__init_;
        nms_Packet103[c] = nms_Packet103__init_;
        nms_Packet104[c] = nms_Packet104__init_;
        nms_Packet105[c] = nms_Packet105__init_;
        nms_Packet106[c] = nms_Packet106__init_;
        nms_Packet130[c] = nms_Packet130__init_;
        nms_Packet255KickDisconnect[c] = nms_Packet255KickDisconnect__init_;
        nms_SignModel[c] = nms_SignModel__init_;
        nms_WorldChunkManager[c] = nms_WorldChunkManager__init_;
        otci_Base64Impl[c] = otci_Base64Impl__init_;
        nlem_FontMappingHelper[c] = nlem_FontMappingHelper__init_;
        nms_ColorizerGrass[c] = nms_ColorizerGrass__init_;
        nms_ColorizerFoliage[c] = nms_ColorizerFoliage__init_;
        otcit_DoubleAnalyzer[c] = otcit_DoubleAnalyzer__init_;
        nms_TileEntityFurnace[c] = nms_TileEntityFurnace__init_;
        nms_TileEntityChest[c] = nms_TileEntityChest__init_;
        nms_TileEntityDispenser[c] = nms_TileEntityDispenser__init_;
        nms_TileEntityNote[c] = nms_TileEntityNote__init_;
        nleit_JOrbisAudioBufferDecoder[c] = nleit_JOrbisAudioBufferDecoder__init_;
        cjj_Info[c] = cjj_Info__init_;
        cjj_SyncState[c] = cjj_SyncState__init_;
        cjj_StreamState[c] = cjj_StreamState__init_;
        cjj_Page[c] = cjj_Page__init_;
        cjj_DspState[c] = cjj_DspState__init_;
        nleit_PCMToWAVLoader[c] = nleit_PCMToWAVLoader__init_;
        cjj_Comment[c] = cjj_Comment__init_;
        cjj_Packet[c] = cjj_Packet__init_;
        cjj_Buffer[c] = cjj_Buffer__init_;
        cjj_PsyInfo[c] = cjj_PsyInfo__init_;
        cjj_StaticCodeBook[c] = cjj_StaticCodeBook__init_;
        jnc_BufferUnderflowException[c] = jnc_BufferUnderflowException__init_;
        jnc_BufferOverflowException[c] = jnc_BufferOverflowException__init_;
        cjj_InfoMode[c] = cjj_InfoMode__init_;
        nlei_PlatformNetworking[c] = nlei_PlatformNetworking__init_;
        nlei_PlatformApplication$FileChooserCallbackImpl[c] = nlei_PlatformApplication$FileChooserCallbackImpl__init_;
        cjj_Mapping0[c] = cjj_Mapping0__init_;
        cjj_Time0[c] = cjj_Time0__init_;
        cjj_Floor0[c] = cjj_Floor0__init_;
        cjj_Floor1[c] = cjj_Floor1__init_;
        cjj_Residue0[c] = cjj_Residue0__init_;
        cjj_Residue1[c] = cjj_Residue1__init_;
        cjj_Residue2[c] = cjj_Residue2__init_;
        cjj_Mdct[c] = cjj_Mdct__init_;
        jn_BufferOverflowException[c] = jn_BufferOverflowException__init_;
        cjj_CodeBook[c] = cjj_CodeBook__init_;
        cjj_Util[c] = cjj_Util__init_;
        nms_PacketCounter[c] = nms_PacketCounter__init_;
        nms_Empty1[c] = nms_Empty1__init_;
        nms_EnumOptionsMappingHelper[c] = nms_EnumOptionsMappingHelper__init_;
        ju_TreeSet[c] = ju_TreeSet__init_;
        nms_WorldProviderHell[c] = nms_WorldProviderHell__init_;
        nms_InventoryCraftResult[c] = nms_InventoryCraftResult__init_;
        nms_MobSpawnerBase[c] = nms_MobSpawnerBase__init_;
        cjj_Lpc[c] = cjj_Lpc__init_;
        jl_InstantiationException[c] = jl_InstantiationException__init_;
        cjj_Lsp[c] = cjj_Lsp__init_;
        nms_SpawnerAnimals[c] = nms_SpawnerAnimals__init_;
        jl_ReflectiveOperationException[c] = jl_ReflectiveOperationException__init_;
        cjj_Lookup[c] = cjj_Lookup__init_;
        nms_SpawnerAnimals$_clinit_$lambda$_6_0[c] = nms_SpawnerAnimals$_clinit_$lambda$_6_0__init_;
        nms_SpawnerAnimals$_clinit_$lambda$_6_1[c] = nms_SpawnerAnimals$_clinit_$lambda$_6_1__init_;
        nms_SpawnerAnimals$_clinit_$lambda$_6_2[c] = nms_SpawnerAnimals$_clinit_$lambda$_6_2__init_;
        nms_Path[c] = nms_Path__init_;
        nms_MCHashTable[c] = nms_MCHashTable__init_;
        cjj_Drft[c] = cjj_Drft__init_;
        nms_MobSpawnerRainforest[c] = nms_MobSpawnerRainforest__init_;
        nms_MobSpawnerSwamp[c] = nms_MobSpawnerSwamp__init_;
        nms_MobSpawnerForest[c] = nms_MobSpawnerForest__init_;
        nms_MobSpawnerDesert[c] = nms_MobSpawnerDesert__init_;
        nms_MobSpawnerTaiga[c] = nms_MobSpawnerTaiga__init_;
        nms_MobSpawnerHell[c] = nms_MobSpawnerHell__init_;
        nms_MobSpawnerBase$_init_$lambda$_0_0[c] = nms_MobSpawnerBase$_init_$lambda$_0_0__init_;
        nms_MobSpawnerBase$_init_$lambda$_0_1[c] = nms_MobSpawnerBase$_init_$lambda$_0_1__init_;
        nms_MobSpawnerBase$_init_$lambda$_0_2[c] = nms_MobSpawnerBase$_init_$lambda$_0_2__init_;
        nms_MobSpawnerBase$_init_$lambda$_0_3[c] = nms_MobSpawnerBase$_init_$lambda$_0_3__init_;
        nms_MobSpawnerBase$_init_$lambda$_0_4[c] = nms_MobSpawnerBase$_init_$lambda$_0_4__init_;
        nms_MobSpawnerBase$_init_$lambda$_0_5[c] = nms_MobSpawnerBase$_init_$lambda$_0_5__init_;
        nms_MobSpawnerBase$_init_$lambda$_0_6[c] = nms_MobSpawnerBase$_init_$lambda$_0_6__init_;
        nms_MobSpawnerBase$_init_$lambda$_0_7[c] = nms_MobSpawnerBase$_init_$lambda$_0_7__init_;
        nms_MobSpawnerBase$_init_$lambda$_0_8[c] = nms_MobSpawnerBase$_init_$lambda$_0_8__init_;
        nms_MobSpawnerBase$_init_$lambda$_0_9[c] = nms_MobSpawnerBase$_init_$lambda$_0_9__init_;
        nms_MobSpawnerForest$_init_$lambda$_0_0[c] = nms_MobSpawnerForest$_init_$lambda$_0_0__init_;
        nms_MobSpawnerForest$_init_$lambda$_0_1[c] = nms_MobSpawnerForest$_init_$lambda$_0_1__init_;
        nms_MobSpawnerForest$_init_$lambda$_0_2[c] = nms_MobSpawnerForest$_init_$lambda$_0_2__init_;
        nms_MobSpawnerForest$_init_$lambda$_0_3[c] = nms_MobSpawnerForest$_init_$lambda$_0_3__init_;
        nms_MobSpawnerForest$_init_$lambda$_0_4[c] = nms_MobSpawnerForest$_init_$lambda$_0_4__init_;
        nms_MobSpawnerTaiga$_init_$lambda$_0_0[c] = nms_MobSpawnerTaiga$_init_$lambda$_0_0__init_;
        nms_MobSpawnerTaiga$_init_$lambda$_0_1[c] = nms_MobSpawnerTaiga$_init_$lambda$_0_1__init_;
        nms_MobSpawnerTaiga$_init_$lambda$_0_2[c] = nms_MobSpawnerTaiga$_init_$lambda$_0_2__init_;
        nms_MobSpawnerTaiga$_init_$lambda$_0_3[c] = nms_MobSpawnerTaiga$_init_$lambda$_0_3__init_;
        nms_MobSpawnerTaiga$_init_$lambda$_0_4[c] = nms_MobSpawnerTaiga$_init_$lambda$_0_4__init_;
        nms_MobSpawnerHell$_init_$lambda$_0_0[c] = nms_MobSpawnerHell$_init_$lambda$_0_0__init_;
        nms_MobSpawnerHell$_init_$lambda$_0_1[c] = nms_MobSpawnerHell$_init_$lambda$_0_1__init_;
        juz_Inflater[c] = juz_Inflater__init_;
        juz_DataFormatException[c] = juz_DataFormatException__init_;
        nms_EntityList[c] = nms_EntityList__init_;
        nms_MapGenCaves[c] = nms_MapGenCaves__init_;
        nms_MapGenBase[c] = nms_MapGenBase__init_;
        nms_MapGenCavesHell[c] = nms_MapGenCavesHell__init_;
        nms_NoiseGenerator2[c] = nms_NoiseGenerator2__init_;
        cch_ObjectIntHashMap[c] = cch_ObjectIntHashMap__init_;
        nms_EntityList$_clinit_$lambda$_7_0[c] = nms_EntityList$_clinit_$lambda$_7_0__init_;
        nms_EntityList$_clinit_$lambda$_7_1[c] = nms_EntityList$_clinit_$lambda$_7_1__init_;
        nms_EntityList$_clinit_$lambda$_7_2[c] = nms_EntityList$_clinit_$lambda$_7_2__init_;
        nms_EntityList$_clinit_$lambda$_7_3[c] = nms_EntityList$_clinit_$lambda$_7_3__init_;
        nms_EntityList$_clinit_$lambda$_7_4[c] = nms_EntityList$_clinit_$lambda$_7_4__init_;
        nms_EntityList$_clinit_$lambda$_7_5[c] = nms_EntityList$_clinit_$lambda$_7_5__init_;
        nms_EntityList$_clinit_$lambda$_7_6[c] = nms_EntityList$_clinit_$lambda$_7_6__init_;
        nms_EntityList$_clinit_$lambda$_7_7[c] = nms_EntityList$_clinit_$lambda$_7_7__init_;
        nms_EntityList$_clinit_$lambda$_7_8[c] = nms_EntityList$_clinit_$lambda$_7_8__init_;
        nms_EntityList$_clinit_$lambda$_7_9[c] = nms_EntityList$_clinit_$lambda$_7_9__init_;
        nms_EntityList$_clinit_$lambda$_7_10[c] = nms_EntityList$_clinit_$lambda$_7_10__init_;
        nms_EntityList$_clinit_$lambda$_7_11[c] = nms_EntityList$_clinit_$lambda$_7_11__init_;
        nms_EntityList$_clinit_$lambda$_7_12[c] = nms_EntityList$_clinit_$lambda$_7_12__init_;
        nms_EntityList$_clinit_$lambda$_7_13[c] = nms_EntityList$_clinit_$lambda$_7_13__init_;
        nms_EntityList$_clinit_$lambda$_7_14[c] = nms_EntityList$_clinit_$lambda$_7_14__init_;
        nms_EntityList$_clinit_$lambda$_7_15[c] = nms_EntityList$_clinit_$lambda$_7_15__init_;
        nms_EntityList$_clinit_$lambda$_7_16[c] = nms_EntityList$_clinit_$lambda$_7_16__init_;
        nms_EntityList$_clinit_$lambda$_7_17[c] = nms_EntityList$_clinit_$lambda$_7_17__init_;
        nms_EntityList$_clinit_$lambda$_7_18[c] = nms_EntityList$_clinit_$lambda$_7_18__init_;
        nms_EntityList$_clinit_$lambda$_7_19[c] = nms_EntityList$_clinit_$lambda$_7_19__init_;
        nms_EntityList$_clinit_$lambda$_7_20[c] = nms_EntityList$_clinit_$lambda$_7_20__init_;
        nms_EntityList$_clinit_$lambda$_7_21[c] = nms_EntityList$_clinit_$lambda$_7_21__init_;
        nms_EntityList$_clinit_$lambda$_7_22[c] = nms_EntityList$_clinit_$lambda$_7_22__init_;
        nms_NoiseGeneratorPerlin[c] = nms_NoiseGeneratorPerlin__init_;
        nms_Teleporter[c] = nms_Teleporter__init_;
        nms_WorldGenTrees[c] = nms_WorldGenTrees__init_;
        nms_WorldGenBigTree[c] = nms_WorldGenBigTree__init_;
        nms_SaveHandlerMP[c] = nms_SaveHandlerMP__init_;
        otci_RandomUtils[c] = otci_RandomUtils__init_;
        jl_StrictMath[c] = jl_StrictMath__init_;
        nms_WorldGenDungeons[c] = nms_WorldGenDungeons__init_;
        nms_WorldGenReed[c] = nms_WorldGenReed__init_;
        nms_WorldGenPumpkin[c] = nms_WorldGenPumpkin__init_;
        nms_WorldGenCactus[c] = nms_WorldGenCactus__init_;
        nms_WorldGenFire[c] = nms_WorldGenFire__init_;
        nms_WorldGenLightStone1[c] = nms_WorldGenLightStone1__init_;
        nms_WorldGenLightStone2[c] = nms_WorldGenLightStone2__init_;
        nleiv_VFSIterator2$BreakLoop[c] = nleiv_VFSIterator2$BreakLoop__init_;
        nms_WorldGenForest[c] = nms_WorldGenForest__init_;
        nms_WorldGenTaiga2[c] = nms_WorldGenTaiga2__init_;
        nms_WorldGenTaiga1[c] = nms_WorldGenTaiga1__init_;
    }
    function otp_Platform_newInstanceImpl(var$1) {
        if ($rt_resuming()) {
            var $r = $rt_nativeThread().pop();
            var$1.$$constructor$$($r);
            if ($rt_suspending()) {
                return $rt_nativeThread().push($r);
            }
            return $r;
        }
        if (!var$1.hasOwnProperty('$$constructor$$')) {
            return null;
        }
        var $r = new var$1();
        var$1.$$constructor$$($r);
        if ($rt_suspending()) {
            return $rt_nativeThread().push($r);
        }
        return $r;
    }
    function otp_Platform_getEnumConstants(var$1) {
        var c = '$$enumConstants$$';
        oall_Level[c] = oall_Level_values;
        nleit_EnumES6ShimStatus[c] = nleit_EnumES6ShimStatus_values;
        nlei_EnumPlatformAgent[c] = nlei_EnumPlatformAgent_values;
        nlei_EnumPlatformOS[c] = nlei_EnumPlatformOS_values;
        nlei_EnumPlatformANGLE[c] = nlei_EnumPlatformANGLE_values;
        nleit_EnumES6Shims[c] = nleit_EnumES6Shims_values;
        nms_EnumOS[c] = nms_EnumOS_values;
        nms_EnumMobType[c] = nms_EnumMobType_values;
        nms_EnumToolMaterial[c] = nms_EnumToolMaterial_values;
        nle_BaseNCodec$CodecPolicy[c] = nle_BaseNCodec$CodecPolicy_values;
        jm_RoundingMode[c] = jm_RoundingMode_values;
        nlei_EnumPlatformType[c] = nlei_EnumPlatformType_values;
        nms_EnumOptions[c] = nms_EnumOptions_values;
        nms_EnumMovingObjectType[c] = nms_EnumMovingObjectType_values;
        nleo_GlStateManager$TexGen[c] = nleo_GlStateManager$TexGen_values;
        nlei_EnumEaglerConnectionState[c] = nlei_EnumEaglerConnectionState_values;
        nms_EnumArt[c] = nms_EnumArt_values;
        nms_EnumStatus[c] = nms_EnumStatus_values;
        nlep_EaglerProfile$EnumSkinType[c] = nlep_EaglerProfile$EnumSkinType_values;
        nms_EnumCreatureType[c] = nms_EnumCreatureType_values;
        nms_EnumSkyBlock[c] = nms_EnumSkyBlock_values;
        otp_Platform_getEnumConstants = function(cls) {
            if (!cls.hasOwnProperty(c)) {
                return null;
            }
            if (typeof cls[c] === "function") {
                cls[c] = cls[c]();
            }
            return cls[c];
        };
        return otp_Platform_getEnumConstants(var$1);
    }
    function otp_Platform_launchThread($runnable) {
        $runnable.$run();
    }
    function otp_Platform_postpone($runnable) {
        otp_Platform_schedule($runnable, 0);
    }
    function otp_Platform_schedule(var$1, var$2) {
        return setTimeout(function() {
            otp_Platform_launchThread(var$1);
        }, var$2);
    }
    function otp_Platform_getArrayItem($cls) {
        return $cls.$meta.item;
    }
    function otp_Platform_getName($cls) {
        return $rt_str($cls.$meta.name);
    }
    function otp_Platform_createQueueJs$js_body$_30() {
        return [];
    }
    function jl_Throwable() {
        var a = this; jl_Object.call(a);
        a.$message = null;
        a.$cause = null;
        a.$suppressionEnabled = 0;
        a.$writableStackTrace = 0;
        a.$suppressed = null;
        a.$stackTrace = null;
    }
    function jl_Throwable__init_1() {
        var var_0 = new jl_Throwable();
        jl_Throwable__init_0(var_0);
        return var_0;
    }
    function jl_Throwable__init_2(var_0) {
        var var_1 = new jl_Throwable();
        jl_Throwable__init_(var_1, var_0);
        return var_1;
    }
    function jl_Throwable__init_3(var_0, var_1) {
        var var_2 = new jl_Throwable();
        jl_Throwable__init_4(var_2, var_0, var_1);
        return var_2;
    }
    function jl_Throwable__init_5(var_0) {
        var var_1 = new jl_Throwable();
        jl_Throwable__init_6(var_1, var_0);
        return var_1;
    }
    function jl_Throwable__init_0($this) {
        $this.$suppressionEnabled = 1;
        $this.$writableStackTrace = 1;
    }
    function jl_Throwable__init_($this, $message) {
        $this.$suppressionEnabled = 1;
        $this.$writableStackTrace = 1;
        $this.$message = $message;
    }
    function jl_Throwable__init_4($this, $message, $cause) {
        $this.$suppressionEnabled = 1;
        $this.$writableStackTrace = 1;
        $this.$message = $message;
        $this.$cause = $cause;
    }
    function jl_Throwable__init_6($this, $cause) {
        $this.$suppressionEnabled = 1;
        $this.$writableStackTrace = 1;
        $this.$cause = $cause;
    }
    function jl_Throwable_fillInStackTrace($this) {
        return $this;
    }
    function jl_Throwable_getMessage($this) {
        return $this.$message;
    }
    function jl_Throwable_getLocalizedMessage($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $this.$getMessage();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function jl_Throwable_getCause($this) {
        var var$1;
        var$1 = $this.$cause;
        if (var$1 === $this)
            var$1 = null;
        return var$1;
    }
    function jl_Throwable_toString($this) {
        var $message, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$message = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $this.$getMessage();
            if ($rt_suspending()) {
                break main;
            }
            $message = $tmp;
            var$2 = jl_Class_getName(jl_Object_getClass($this));
            if ($message !== null) {
                var$3 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$3);
                var$4 = $rt_s(6);
                $ptr = 2;
                continue main;
            }
            var$3 = $rt_s(3);
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            $ptr = 5;
            continue main;
        case 2:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 3;
        case 3:
            jl_StringBuilder_append(var$4, $message);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append(var$4, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 6;
        case 6:
            jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $message, var$2, var$3, var$4, $ptr);
    }
    function jl_Throwable_printStackTrace($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = jl_System_err();
            $ptr = 1;
        case 1:
            jl_Throwable_printStackTrace0($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function jl_Throwable_printStackTrace0($this, $stream) {
        var var$2, $message, $element, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$element = $thread.pop();$message = $thread.pop();var$2 = $thread.pop();$stream = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = jl_Class_getName(jl_Object_getClass($this));
            $ptr = 1;
        case 1:
            ji_PrintStream_print($stream, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = $this.$getMessage();
            if ($rt_suspending()) {
                break main;
            }
            $message = $tmp;
            if ($message === null) {
                $ptr = 3;
                continue main;
            }
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            $element = $rt_s(6);
            $ptr = 4;
            continue main;
        case 3:
            ji_PrintStream_println($stream);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$stackTrace;
            if (var$5 !== null) {
                var$5 = var$5.data;
                var$6 = var$5.length;
                var$7 = 0;
                if (var$7 < var$6) {
                    $element = var$5[var$7];
                    var$2 = $rt_s(7);
                    $ptr = 10;
                    continue main;
                }
            }
            var$2 = $this.$cause;
            if (var$2 !== null && var$2 !== $this) {
                var$2 = $rt_s(8);
                $ptr = 8;
                continue main;
            }
            return;
        case 4:
            $tmp = jl_StringBuilder_append(var$2, $element);
            if ($rt_suspending()) {
                break main;
            }
            $element = $tmp;
            $ptr = 5;
        case 5:
            jl_StringBuilder_append($element, $message);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 7;
        case 7:
            ji_PrintStream_print($stream, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
            continue main;
        case 8:
            ji_PrintStream_print($stream, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$cause;
            $ptr = 9;
        case 9:
            jl_Throwable_printStackTrace0(var$2, $stream);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 10:
            ji_PrintStream_print($stream, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $stream.$sb;
            $ptr = 11;
        case 11:
            $tmp = jl_StringBuilder_append(var$2, $element);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            jl_AbstractStringBuilder_append(var$2, 10);
            $ptr = 12;
        case 12:
            ji_PrintStream_printSB($stream);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = var$7 + 1 | 0;
            if (var$7 < var$6) {
                $element = var$5[var$7];
                var$2 = $rt_s(7);
                $ptr = 10;
                continue main;
            }
            var$2 = $this.$cause;
            if (var$2 !== null && var$2 !== $this) {
                var$2 = $rt_s(8);
                $ptr = 8;
                continue main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stream, var$2, $message, $element, var$5, var$6, var$7, $ptr);
    }
    function jl_Throwable_getStackTrace($this) {
        var var$1;
        var$1 = $this.$stackTrace;
        return var$1 !== null ? var$1.$clone() : $rt_createArray(jl_StackTraceElement, 0);
    }
    function jl_Throwable_addSuppressed($this, $exception) {
        var var$2, var$3;
        if (!$this.$suppressionEnabled)
            return;
        var$2 = $this.$suppressed;
        var$2 = ju_Arrays_copyOf(var$2, var$2.data.length + 1 | 0);
        var$3 = var$2.data;
        $this.$suppressed = var$2;
        var$3[var$3.length - 1 | 0] = $exception;
    }
    var jl_Exception = $rt_classWithoutFields(jl_Throwable);
    function jl_Exception__init_0() {
        var var_0 = new jl_Exception();
        jl_Exception__init_(var_0);
        return var_0;
    }
    function jl_Exception__init_($this) {
        jl_Throwable__init_0($this);
    }
    var jl_RuntimeException = $rt_classWithoutFields(jl_Exception);
    function jl_RuntimeException__init_1() {
        var var_0 = new jl_RuntimeException();
        jl_RuntimeException__init_0(var_0);
        return var_0;
    }
    function jl_RuntimeException__init_2(var_0, var_1) {
        var var_2 = new jl_RuntimeException();
        jl_RuntimeException__init_3(var_2, var_0, var_1);
        return var_2;
    }
    function jl_RuntimeException__init_(var_0) {
        var var_1 = new jl_RuntimeException();
        jl_RuntimeException__init_4(var_1, var_0);
        return var_1;
    }
    function jl_RuntimeException__init_0($this) {
        jl_Throwable__init_0($this);
    }
    function jl_RuntimeException__init_3($this, $message, $cause) {
        jl_Throwable__init_4($this, $message, $cause);
    }
    function jl_RuntimeException__init_4($this, $message) {
        jl_Throwable__init_($this, $message);
    }
    var jl_ClassCastException = $rt_classWithoutFields(jl_RuntimeException);
    function jl_ClassCastException__init_() {
        var var_0 = new jl_ClassCastException();
        jl_ClassCastException__init_0(var_0);
        return var_0;
    }
    function jl_ClassCastException__init_0($this) {
        jl_Throwable__init_0($this);
    }
    var ji_Serializable = $rt_classWithoutFields(0);
    var jl_Comparable = $rt_classWithoutFields(0);
    var jl_CharSequence = $rt_classWithoutFields(0);
    function jl_String() {
        var a = this; jl_Object.call(a);
        a.$characters = null;
        a.$hashCode = 0;
    }
    var jl_String_EMPTY_CHARS = null;
    var jl_String_EMPTY = null;
    var jl_String_CASE_INSENSITIVE_ORDER = null;
    function jl_String_$callClinit() {
        jl_String_$callClinit = $rt_eraseClinit(jl_String);
        jl_String__clinit_();
    }
    function jl_String__init_1() {
        var var_0 = new jl_String();
        jl_String__init_0(var_0);
        return var_0;
    }
    function jl_String__init_(var_0) {
        var var_1 = new jl_String();
        jl_String__init_2(var_1, var_0);
        return var_1;
    }
    function jl_String__init_3(var_0, var_1, var_2) {
        var var_3 = new jl_String();
        jl_String__init_4(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function jl_String__init_5(var_0, var_1) {
        var var_2 = new jl_String();
        jl_String__init_6(var_2, var_0, var_1);
        return var_2;
    }
    function jl_String__init_7(var_0, var_1, var_2) {
        var var_3 = new jl_String();
        jl_String__init_8(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function jl_String__init_0($this) {
        jl_String_$callClinit();
        $this.$characters = jl_String_EMPTY_CHARS;
    }
    function jl_String__init_2($this, $characters) {
        jl_String_$callClinit();
        jl_String__init_4($this, $characters, 0, $characters.data.length);
    }
    function jl_String__init_4($this, $value, $offset, $count) {
        var var$4;
        jl_String_$callClinit();
        var$4 = $rt_createCharArray($count);
        $this.$characters = var$4;
        jl_System_fastArraycopy($value, $offset, var$4, 0, $count);
    }
    function jl_String__init_6($this, $bytes, $charset) {
        var var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$charset = $thread.pop();$bytes = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            jl_String_$callClinit();
            var$3 = jn_ByteBuffer_wrap($bytes, 0, $bytes.data.length);
            $ptr = 1;
        case 1:
            $tmp = jnc_Charset_decode($charset, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $charset = $tmp;
            if (!$charset.$position && $charset.$limit == $charset.$capacity) {
                $this.$characters = $charset.$array;
                return;
            }
            $bytes = $rt_createCharArray(jn_Buffer_remaining($charset));
            var$4 = $bytes.data;
            $this.$characters = $bytes;
            var$5 = 0;
            var$6 = var$4.length;
            $ptr = 2;
        case 2:
            jn_CharBuffer_get($charset, $bytes, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $bytes, $charset, var$3, var$4, var$5, var$6, $ptr);
    }
    function jl_String__init_8($this, $codePoints, $offset, $count) {
        var $charCount, $i, var$6, var$7, $codePoint, var$9;
        jl_String_$callClinit();
        $this.$characters = $rt_createCharArray($count * 2 | 0);
        $charCount = 0;
        $i = 0;
        while ($i < $count) {
            var$6 = $codePoints.data;
            var$7 = $offset + 1 | 0;
            $codePoint = var$6[$offset];
            if ($codePoint < 65536) {
                var$6 = $this.$characters.data;
                var$9 = $charCount + 1 | 0;
                var$6[$charCount] = $codePoint & 65535;
            } else {
                var$6 = $this.$characters.data;
                $offset = $charCount + 1 | 0;
                var$6[$charCount] = jl_Character_highSurrogate($codePoint);
                var$6 = $this.$characters.data;
                var$9 = $offset + 1 | 0;
                var$6[$offset] = jl_Character_lowSurrogate($codePoint);
            }
            $i = $i + 1 | 0;
            $offset = var$7;
            $charCount = var$9;
        }
        $codePoints = $this.$characters;
        if ($charCount < $codePoints.data.length)
            $this.$characters = ju_Arrays_copyOf0($codePoints, $charCount);
    }
    function jl_String_charAt($this, $index) {
        var var$2, var$3;
        if ($index >= 0) {
            var$2 = $this.$characters.data;
            if ($index < var$2.length)
                return var$2[$index];
        }
        var$3 = new jl_StringIndexOutOfBoundsException;
        jl_Throwable__init_0(var$3);
        $rt_throw(var$3);
    }
    function jl_String_length($this) {
        return $this.$characters.data.length;
    }
    function jl_String_isEmpty($this) {
        return $this.$characters.data.length ? 0 : 1;
    }
    function jl_String_compareTo($this, $anotherString) {
        var $l, $i, $a;
        if ($this === $anotherString)
            return 0;
        $l = jl_Math_min(jl_String_length($this), jl_String_length($anotherString));
        $i = 0;
        while (true) {
            if ($i >= $l)
                return jl_String_length($this) - jl_String_length($anotherString) | 0;
            $a = jl_String_charAt($this, $i) - jl_String_charAt($anotherString, $i) | 0;
            if ($a)
                break;
            $i = $i + 1 | 0;
        }
        return $a;
    }
    function jl_String_startsWith0($this, $prefix, $toffset) {
        var $i, var$4, var$5;
        if (($toffset + jl_String_length($prefix) | 0) > jl_String_length($this))
            return 0;
        $i = 0;
        while ($i < jl_String_length($prefix)) {
            var$4 = jl_String_charAt($prefix, $i);
            var$5 = $toffset + 1 | 0;
            if (var$4 != jl_String_charAt($this, $toffset))
                return 0;
            $i = $i + 1 | 0;
            $toffset = var$5;
        }
        return 1;
    }
    function jl_String_startsWith($this, $prefix) {
        if ($this === $prefix)
            return 1;
        return jl_String_startsWith0($this, $prefix, 0);
    }
    function jl_String_endsWith($this, $suffix) {
        var $j, $i, var$4, var$5;
        if ($this === $suffix)
            return 1;
        if (jl_String_length($suffix) > jl_String_length($this))
            return 0;
        $j = 0;
        $i = jl_String_length($this) - jl_String_length($suffix) | 0;
        while ($i < jl_String_length($this)) {
            var$4 = jl_String_charAt($this, $i);
            var$5 = $j + 1 | 0;
            if (var$4 != jl_String_charAt($suffix, $j))
                return 0;
            $i = $i + 1 | 0;
            $j = var$5;
        }
        return 1;
    }
    function jl_String_indexOf($this, $ch, $fromIndex) {
        var $i, $bmpChar, var$5, $hi, $lo;
        $i = jl_Math_max(0, $fromIndex);
        if ($ch < 65536) {
            $bmpChar = $ch & 65535;
            while (true) {
                var$5 = $this.$characters.data;
                if ($i >= var$5.length)
                    return (-1);
                if (var$5[$i] == $bmpChar)
                    break;
                $i = $i + 1 | 0;
            }
            return $i;
        }
        $hi = jl_Character_highSurrogate($ch);
        $lo = jl_Character_lowSurrogate($ch);
        while (true) {
            var$5 = $this.$characters.data;
            if ($i >= (var$5.length - 1 | 0))
                return (-1);
            if (var$5[$i] == $hi && var$5[$i + 1 | 0] == $lo)
                break;
            $i = $i + 1 | 0;
        }
        return $i;
    }
    function jl_String_indexOf0($this, $ch) {
        return jl_String_indexOf($this, $ch, 0);
    }
    function jl_String_lastIndexOf0($this, $ch, $fromIndex) {
        var $i, $bmpChar, $hi, $lo, var$7;
        $i = jl_Math_min($fromIndex, jl_String_length($this) - 1 | 0);
        if ($ch < 65536) {
            $bmpChar = $ch & 65535;
            while (true) {
                if ($i < 0)
                    return (-1);
                if ($this.$characters.data[$i] == $bmpChar)
                    break;
                $i = $i + (-1) | 0;
            }
            return $i;
        }
        $hi = jl_Character_highSurrogate($ch);
        $lo = jl_Character_lowSurrogate($ch);
        while (true) {
            if ($i < 1)
                return (-1);
            var$7 = $this.$characters.data;
            if (var$7[$i] == $lo) {
                $ch = $i - 1 | 0;
                if (var$7[$ch] == $hi)
                    break;
            }
            $i = $i + (-1) | 0;
        }
        return $ch;
    }
    function jl_String_lastIndexOf($this, $ch) {
        return jl_String_lastIndexOf0($this, $ch, jl_String_length($this) - 1 | 0);
    }
    function jl_String_indexOf1($this, $str, $fromIndex) {
        var $i, $toIndex, $j;
        $i = jl_Math_max(0, $fromIndex);
        $toIndex = jl_String_length($this) - jl_String_length($str) | 0;
        a: while (true) {
            if ($i > $toIndex)
                return (-1);
            $j = 0;
            while (true) {
                if ($j >= jl_String_length($str))
                    break a;
                if (jl_String_charAt($this, $i + $j | 0) != jl_String_charAt($str, $j))
                    break;
                $j = $j + 1 | 0;
            }
            $i = $i + 1 | 0;
        }
        return $i;
    }
    function jl_String_indexOf2($this, $str) {
        return jl_String_indexOf1($this, $str, 0);
    }
    function jl_String_lastIndexOf1($this, $str, $fromIndex) {
        var $i, $j;
        $i = jl_Math_min($fromIndex, jl_String_length($this) - jl_String_length($str) | 0);
        a: while (true) {
            if ($i < 0)
                return (-1);
            $j = 0;
            while (true) {
                if ($j >= jl_String_length($str))
                    break a;
                if (jl_String_charAt($this, $i + $j | 0) != jl_String_charAt($str, $j))
                    break;
                $j = $j + 1 | 0;
            }
            $i = $i + (-1) | 0;
        }
        return $i;
    }
    function jl_String_lastIndexOf2($this, $str) {
        return jl_String_lastIndexOf1($this, $str, jl_String_length($this));
    }
    function jl_String_substring0($this, $beginIndex, $endIndex) {
        var var$3, var$4;
        var$3 = $rt_compare($beginIndex, $endIndex);
        if (var$3 > 0) {
            var$4 = new jl_IndexOutOfBoundsException;
            jl_Throwable__init_0(var$4);
            $rt_throw(var$4);
        }
        if (!var$3) {
            jl_String_$callClinit();
            return jl_String_EMPTY;
        }
        if (!$beginIndex && $endIndex == jl_String_length($this))
            return $this;
        return jl_String__init_3($this.$characters, $beginIndex, $endIndex - $beginIndex | 0);
    }
    function jl_String_substring($this, $beginIndex) {
        return jl_String_substring0($this, $beginIndex, jl_String_length($this));
    }
    function jl_String_replace($this, $oldChar, $newChar) {
        var $buffer, var$4, $i, var$6;
        if ($oldChar == $newChar)
            return $this;
        $buffer = $rt_createCharArray(jl_String_length($this));
        var$4 = $buffer.data;
        $i = 0;
        while ($i < jl_String_length($this)) {
            var$4[$i] = jl_String_charAt($this, $i) != $oldChar ? jl_String_charAt($this, $i) : $newChar;
            $i = $i + 1 | 0;
        }
        var$6 = jl_String__init_1();
        var$6.$characters = $buffer;
        return var$6;
    }
    function jl_String_contains($this, $s) {
        var $sz, $i, $j;
        $sz = jl_String_length($this) - jl_String_length($s) | 0;
        $i = 0;
        while ($i <= $sz) {
            $j = 0;
            while (true) {
                if ($j >= jl_String_length($s))
                    return 1;
                if (jl_String_charAt($this, $i + $j | 0) != jl_String_charAt($s, $j))
                    break;
                $j = $j + 1 | 0;
            }
            $i = $i + 1 | 0;
        }
        return 0;
    }
    function jl_String_replace0($this, $target, $replacement) {
        var $sb, $sz, $i, $j, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$j = $thread.pop();$i = $thread.pop();$sz = $thread.pop();$sb = $thread.pop();$replacement = $thread.pop();$target = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $sb = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($sb);
            $sz = jl_String_length($this) - jl_String_length($target) | 0;
            $i = 0;
            a: while (true) {
                if ($i > $sz) {
                    $target = jl_String_substring($this, $i);
                    $ptr = 1;
                    continue main;
                }
                $j = 0;
                while (true) {
                    if ($j >= jl_String_length($target))
                        break a;
                    if (jl_String_charAt($this, $i + $j | 0) != jl_String_charAt($target, $j))
                        break;
                    $j = $j + 1 | 0;
                }
                jl_AbstractStringBuilder_append($sb, jl_String_charAt($this, $i));
                $i = $i + 1 | 0;
            }
            $ptr = 3;
            continue main;
        case 1:
            jl_StringBuilder_append($sb, $target);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            $target = $tmp;
            return $target;
        case 3:
            jl_StringBuilder_append($sb, $replacement);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + (jl_String_length($target) - 1 | 0) | 0;
            a: while (true) {
                $i = $i + 1 | 0;
                if ($i > $sz) {
                    $target = jl_String_substring($this, $i);
                    $ptr = 1;
                    continue main;
                }
                $j = 0;
                while (true) {
                    if ($j >= jl_String_length($target))
                        break a;
                    if (jl_String_charAt($this, $i + $j | 0) != jl_String_charAt($target, $j))
                        break;
                    $j = $j + 1 | 0;
                }
                jl_AbstractStringBuilder_append($sb, jl_String_charAt($this, $i));
            }
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $target, $replacement, $sb, $sz, $i, $j, $ptr);
    }
    function jl_String_trim($this) {
        var $lower, $upper;
        $lower = 0;
        $upper = jl_String_length($this) - 1 | 0;
        a: {
            while ($lower <= $upper) {
                if (jl_String_charAt($this, $lower) > 32)
                    break a;
                $lower = $lower + 1 | 0;
            }
        }
        while ($lower <= $upper && jl_String_charAt($this, $upper) <= 32) {
            $upper = $upper + (-1) | 0;
        }
        return jl_String_substring0($this, $lower, $upper + 1 | 0);
    }
    function jl_String_toString($this) {
        return $this;
    }
    function jl_String_toCharArray($this) {
        var var$1, $array, var$3, $i, var$5;
        var$1 = $this.$characters.data;
        $array = $rt_createCharArray(var$1.length);
        var$3 = $array.data;
        $i = 0;
        var$5 = var$3.length;
        while ($i < var$5) {
            var$3[$i] = var$1[$i];
            $i = $i + 1 | 0;
        }
        return $array;
    }
    function jl_String_valueOf($obj) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            jl_String_$callClinit();
            if ($obj === null)
                return $rt_s(9);
            $ptr = 1;
        case 1:
            $tmp = $obj.$toString();
            if ($rt_suspending()) {
                break main;
            }
            $obj = $tmp;
            return $obj;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, $ptr);
    }
    function jl_String_valueOf0($c) {
        var var$2, var$3;
        jl_String_$callClinit();
        var$2 = new jl_String;
        var$3 = $rt_createCharArray(1);
        var$3.data[0] = $c;
        jl_String__init_2(var$2, var$3);
        return var$2;
    }
    function jl_String_valueOf1($i) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$i = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            jl_String_$callClinit();
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            jl_AbstractStringBuilder_append0(var$2, $i);
            $ptr = 1;
        case 1:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($i, var$2, $ptr);
    }
    function jl_String_equals($this, $other) {
        var $str, $i;
        if ($this === $other)
            return 1;
        if (!($other instanceof jl_String))
            return 0;
        $str = $other;
        if (jl_String_length($str) != jl_String_length($this))
            return 0;
        $i = 0;
        while ($i < jl_String_length($str)) {
            if (jl_String_charAt($this, $i) != jl_String_charAt($str, $i))
                return 0;
            $i = $i + 1 | 0;
        }
        return 1;
    }
    function jl_String_equalsIgnoreCase($this, $other) {
        var $i;
        if ($this === $other)
            return 1;
        if ($other === null)
            return 0;
        if (jl_String_length($this) != jl_String_length($other))
            return 0;
        $i = 0;
        while ($i < jl_String_length($this)) {
            if (jl_Character_toLowerCase(jl_String_charAt($this, $i)) != jl_Character_toLowerCase(jl_String_charAt($other, $i)))
                return 0;
            $i = $i + 1 | 0;
        }
        return 1;
    }
    function jl_String_getBytes($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            jnci_UTF8Charset_$callClinit();
            var$1 = jnci_UTF8Charset_INSTANCE;
            $ptr = 1;
        case 1:
            $tmp = jl_String_getBytes0($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function jl_String_getBytes0($this, $charset) {
        var $buffer, $result, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$result = $thread.pop();$buffer = $thread.pop();$charset = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $buffer = jn_CharBuffer_wrap($this.$characters);
            $ptr = 1;
        case 1:
            $tmp = jnc_Charset_encode($charset, $buffer);
            if ($rt_suspending()) {
                break main;
            }
            $buffer = $tmp;
            if (!$buffer.$position && $buffer.$limit == $buffer.$capacity)
                return $buffer.$array0;
            $result = $rt_createByteArray(jn_Buffer_remaining($buffer));
            var$4 = $result.data;
            var$5 = 0;
            var$6 = var$4.length;
            $ptr = 2;
        case 2:
            jn_ByteBuffer_get($buffer, $result, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return $result;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $charset, $buffer, $result, var$4, var$5, var$6, $ptr);
    }
    function jl_String_hashCode($this) {
        var var$1, var$2, var$3, $c;
        a: {
            if (!$this.$hashCode) {
                var$1 = $this.$characters.data;
                var$2 = var$1.length;
                var$3 = 0;
                while (true) {
                    if (var$3 >= var$2)
                        break a;
                    $c = var$1[var$3];
                    $this.$hashCode = (31 * $this.$hashCode | 0) + $c | 0;
                    var$3 = var$3 + 1 | 0;
                }
            }
        }
        return $this.$hashCode;
    }
    function jl_String_toLowerCase($this) {
        var $hasCharsToTransform, $hasSurrogates, var$3, var$4, var$5, $c, var$7, var$8, var$9;
        if (jl_String_isEmpty($this))
            return $this;
        $hasCharsToTransform = 0;
        $hasSurrogates = 0;
        var$3 = $this.$characters.data;
        var$4 = var$3.length;
        var$5 = 0;
        a: {
            while (var$5 < var$4) {
                $c = var$3[var$5];
                if (jl_Character_toLowerCase($c) != $c) {
                    $hasCharsToTransform = 1;
                    break a;
                }
                if (jl_Character_isSurrogate($c))
                    $hasSurrogates = 1;
                var$5 = var$5 + 1 | 0;
            }
        }
        if (!$hasCharsToTransform)
            return $this;
        if (!$hasSurrogates) {
            var$3 = $rt_createCharArray($this.$characters.data.length);
            var$7 = var$3.data;
            $hasCharsToTransform = 0;
            while (true) {
                var$8 = $this.$characters.data;
                if ($hasCharsToTransform >= var$8.length)
                    break;
                var$7[$hasCharsToTransform] = jl_Character_toLowerCase(var$8[$hasCharsToTransform]);
                $hasCharsToTransform = $hasCharsToTransform + 1 | 0;
            }
            var$9 = jl_String__init_(var$3);
        } else {
            var$3 = $rt_createIntArray($this.$characters.data.length);
            var$7 = var$3.data;
            $hasCharsToTransform = 0;
            var$5 = 0;
            while (true) {
                var$8 = $this.$characters.data;
                var$4 = var$8.length;
                if (var$5 >= var$4)
                    break;
                b: {
                    if (var$5 != (var$4 - 1 | 0) && jl_Character_isHighSurrogate(var$8[var$5])) {
                        var$8 = $this.$characters.data;
                        var$4 = var$5 + 1 | 0;
                        if (jl_Character_isLowSurrogate(var$8[var$4])) {
                            $hasSurrogates = $hasCharsToTransform + 1 | 0;
                            var$8 = $this.$characters.data;
                            var$7[$hasCharsToTransform] = jl_Character_toLowerCase0(jl_Character_toCodePoint(var$8[var$5], var$8[var$4]));
                            var$5 = var$4;
                            break b;
                        }
                    }
                    $hasSurrogates = $hasCharsToTransform + 1 | 0;
                    var$7[$hasCharsToTransform] = jl_Character_toLowerCase($this.$characters.data[var$5]);
                }
                var$5 = var$5 + 1 | 0;
                $hasCharsToTransform = $hasSurrogates;
            }
            var$9 = jl_String__init_7(var$3, 0, $hasCharsToTransform);
        }
        return var$9;
    }
    function jl_String_toUpperCase($this) {
        var $hasCharsToTransform, $hasSurrogates, var$3, var$4, var$5, $c, var$7, var$8, var$9;
        if (jl_String_isEmpty($this))
            return $this;
        $hasCharsToTransform = 0;
        $hasSurrogates = 0;
        var$3 = $this.$characters.data;
        var$4 = var$3.length;
        var$5 = 0;
        a: {
            while (var$5 < var$4) {
                $c = var$3[var$5];
                if (jl_Character_toUpperCase($c) != $c) {
                    $hasCharsToTransform = 1;
                    break a;
                }
                if (jl_Character_isSurrogate($c))
                    $hasSurrogates = 1;
                var$5 = var$5 + 1 | 0;
            }
        }
        if (!$hasCharsToTransform)
            return $this;
        if (!$hasSurrogates) {
            var$3 = $rt_createCharArray($this.$characters.data.length);
            var$7 = var$3.data;
            $hasCharsToTransform = 0;
            while (true) {
                var$8 = $this.$characters.data;
                if ($hasCharsToTransform >= var$8.length)
                    break;
                var$7[$hasCharsToTransform] = jl_Character_toUpperCase(var$8[$hasCharsToTransform]);
                $hasCharsToTransform = $hasCharsToTransform + 1 | 0;
            }
            var$9 = jl_String__init_(var$3);
        } else {
            var$3 = $rt_createIntArray($this.$characters.data.length);
            var$7 = var$3.data;
            $hasCharsToTransform = 0;
            var$5 = 0;
            while (true) {
                var$8 = $this.$characters.data;
                var$4 = var$8.length;
                if (var$5 >= var$4)
                    break;
                b: {
                    if (var$5 != (var$4 - 1 | 0) && jl_Character_isHighSurrogate(var$8[var$5])) {
                        var$8 = $this.$characters.data;
                        var$4 = var$5 + 1 | 0;
                        if (jl_Character_isLowSurrogate(var$8[var$4])) {
                            $hasSurrogates = $hasCharsToTransform + 1 | 0;
                            var$8 = $this.$characters.data;
                            var$7[$hasCharsToTransform] = jl_Character_toUpperCase0(jl_Character_toCodePoint(var$8[var$5], var$8[var$4]));
                            var$5 = var$4;
                            break b;
                        }
                    }
                    $hasSurrogates = $hasCharsToTransform + 1 | 0;
                    var$7[$hasCharsToTransform] = jl_Character_toUpperCase($this.$characters.data[var$5]);
                }
                var$5 = var$5 + 1 | 0;
                $hasCharsToTransform = $hasSurrogates;
            }
            var$9 = jl_String__init_7(var$3, 0, $hasCharsToTransform);
        }
        return var$9;
    }
    function jl_String_split($this, $regex) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$regex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = jur_Pattern_compile($regex);
            if ($rt_suspending()) {
                break main;
            }
            $regex = $tmp;
            $ptr = 2;
        case 2:
            $tmp = jur_Pattern_split($regex, $this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $regex, var$2, $ptr);
    }
    function jl_String_replaceAll($this, $regex, $replacement) {
        var var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$replacement = $thread.pop();$regex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = jur_Pattern_compile($regex);
            if ($rt_suspending()) {
                break main;
            }
            $regex = $tmp;
            $regex = jur_Pattern_matcher($regex, $this);
            var$3 = new jl_StringBuffer;
            jl_AbstractStringBuilder__init_(var$3);
            $regex.$leftBound = 0;
            var$4 = jl_String_length($regex.$string);
            $regex.$rightBound = var$4;
            jur_MatchResultImpl_reset($regex.$matchResult, $regex.$string, $regex.$leftBound, var$4);
            $regex.$appendPos = 0;
            $regex.$replacement = null;
            $regex.$matchResult.$previousMatch = (-1);
            $ptr = 2;
        case 2:
            $tmp = jur_Matcher_find($regex);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4) {
                $ptr = 4;
                continue main;
            }
            $replacement = $regex.$string;
            jl_AbstractStringBuilder_append1(var$3, jl_String_substring0($replacement, $regex.$appendPos, jl_String_length($replacement)));
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $regex = $tmp;
            return $regex;
        case 4:
            $tmp = jur_Matcher_processReplacement($regex, $replacement);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $regex.$processedRepl = var$5;
            var$5 = $regex.$string;
            var$4 = $regex.$appendPos;
            $ptr = 5;
        case 5:
            $tmp = jur_Matcher_start($regex);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_AbstractStringBuilder_append1(var$3, jl_String_substring0(var$5, var$4, var$6));
            jl_AbstractStringBuilder_append2(var$3, $regex.$processedRepl);
            $ptr = 6;
        case 6:
            $tmp = jur_Matcher_end($regex);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $regex.$appendPos = var$4;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $regex, $replacement, var$3, var$4, var$5, var$6, $ptr);
    }
    function jl_String_format($l, $format, $args) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$args = $thread.pop();$format = $thread.pop();$l = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            jl_String_$callClinit();
            var$4 = ju_Formatter__init_0($l);
            $ptr = 1;
        case 1:
            $tmp = ju_Formatter_format(var$4, $format, $args);
            if ($rt_suspending()) {
                break main;
            }
            $l = $tmp;
            $ptr = 2;
        case 2:
            $tmp = ju_Formatter_toString($l);
            if ($rt_suspending()) {
                break main;
            }
            $l = $tmp;
            return $l;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($l, $format, $args, var$4, $ptr);
    }
    function jl_String_join($delimiter, $elements) {
        var $iter, $sb, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$sb = $thread.pop();$iter = $thread.pop();$elements = $thread.pop();$delimiter = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            jl_String_$callClinit();
            $ptr = 1;
        case 1:
            $tmp = $elements.$iterator();
            if ($rt_suspending()) {
                break main;
            }
            $iter = $tmp;
            if (!$iter.$hasNext())
                return $rt_s(3);
            $sb = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($sb);
            $ptr = 2;
        case 2:
            $tmp = $iter.$next();
            if ($rt_suspending()) {
                break main;
            }
            $elements = $tmp;
            jl_AbstractStringBuilder_append1($sb, $elements);
            if (!$iter.$hasNext()) {
                $ptr = 3;
                continue main;
            }
            jl_AbstractStringBuilder_append1($sb, $delimiter);
            $ptr = 4;
            continue main;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            $delimiter = $tmp;
            return $delimiter;
        case 4:
            $tmp = $iter.$next();
            if ($rt_suspending()) {
                break main;
            }
            $elements = $tmp;
            jl_AbstractStringBuilder_append1($sb, $elements);
            if (!$iter.$hasNext()) {
                $ptr = 3;
                continue main;
            }
            jl_AbstractStringBuilder_append1($sb, $delimiter);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($delimiter, $elements, $iter, $sb, $ptr);
    }
    function jl_String_compareTo0($this, var$1) {
        return jl_String_compareTo($this, var$1);
    }
    function jl_String__clinit_() {
        jl_String_EMPTY_CHARS = $rt_createCharArray(0);
        jl_String_EMPTY = jl_String__init_1();
        jl_String_CASE_INSENSITIVE_ORDER = new jl_String$_clinit_$lambda$_93_0;
    }
    var jl_Error = $rt_classWithoutFields(jl_Throwable);
    function jl_Error__init_0() {
        var var_0 = new jl_Error();
        jl_Error__init_(var_0);
        return var_0;
    }
    function jl_Error__init_($this) {
        jl_Throwable__init_0($this);
    }
    var jl_LinkageError = $rt_classWithoutFields(jl_Error);
    function jl_LinkageError__init_0() {
        var var_0 = new jl_LinkageError();
        jl_LinkageError__init_(var_0);
        return var_0;
    }
    function jl_LinkageError__init_($this) {
        jl_Throwable__init_0($this);
    }
    var jl_NoClassDefFoundError = $rt_classWithoutFields(jl_LinkageError);
    function jl_NoClassDefFoundError__init_0() {
        var var_0 = new jl_NoClassDefFoundError();
        jl_NoClassDefFoundError__init_(var_0);
        return var_0;
    }
    function jl_NoClassDefFoundError__init_($this) {
        jl_Throwable__init_0($this);
    }
    var jl_Number = $rt_classWithoutFields();
    function jl_Integer() {
        jl_Number.call(this);
        this.$value = 0;
    }
    var jl_Integer_TYPE = null;
    var jl_Integer_integerCache = null;
    function jl_Integer__init_(var_0) {
        var var_1 = new jl_Integer();
        jl_Integer__init_0(var_1, var_0);
        return var_1;
    }
    function jl_Integer__init_0($this, $value) {
        $this.$value = $value;
    }
    function jl_Integer_toHexString($i) {
        return otci_IntegerUtil_toUnsignedLogRadixString($i, 4);
    }
    function jl_Integer_toString($i) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$i = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = jl_AbstractStringBuilder_append3(jl_AbstractStringBuilder__init_0(20), $i, 10);
            $ptr = 1;
        case 1:
            $tmp = var$2.$toString();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($i, var$2, $ptr);
    }
    function jl_Integer_parseInt($s, $radix) {
        var var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$radix = $thread.pop();$s = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($s === null) {
                $s = new jl_NumberFormatException;
                jl_Throwable__init_($s, $rt_s(10));
                $rt_throw($s);
            }
            var$3 = jl_String_length($s);
            if (0 == var$3) {
                $s = new jl_NumberFormatException;
                jl_Throwable__init_($s, $rt_s(11));
                $rt_throw($s);
            }
            if ($radix >= 2 && $radix <= 36) {
                a: {
                    var$4 = 0;
                    switch (jl_String_charAt($s, 0)) {
                        case 43:
                            break;
                        case 45:
                            var$4 = 1;
                            var$5 = 1;
                            break a;
                        default:
                            var$5 = 0;
                            break a;
                    }
                    var$5 = 1;
                }
                var$6 = 0;
                if (var$5 == var$3) {
                    $s = new jl_NumberFormatException;
                    jl_Throwable__init_0($s);
                    $rt_throw($s);
                }
                b: {
                    c: {
                        while (var$5 < var$3) {
                            var$7 = var$5 + 1 | 0;
                            var$5 = jl_Character_getNumericValue(jl_String_charAt($s, var$5));
                            if (var$5 < 0) {
                                var$8 = new jl_NumberFormatException;
                                var$9 = jl_String_substring0($s, 0, var$3);
                                $s = new jl_StringBuilder;
                                jl_AbstractStringBuilder__init_($s);
                                var$10 = $rt_s(12);
                                $ptr = 3;
                                continue main;
                            }
                            if (var$5 >= $radix) {
                                var$8 = new jl_NumberFormatException;
                                var$11 = jl_String_substring0($s, 0, var$3);
                                $s = new jl_StringBuilder;
                                jl_AbstractStringBuilder__init_($s);
                                var$10 = $rt_s(13);
                                $ptr = 6;
                                continue main;
                            }
                            var$6 = $rt_imul($radix, var$6) + var$5 | 0;
                            if (var$6 < 0) {
                                if (var$7 != var$3)
                                    break b;
                                if (var$6 != (-2147483648))
                                    break b;
                                if (!var$4)
                                    break b;
                                var$6 = (-2147483648);
                                break c;
                            }
                            var$5 = var$7;
                        }
                        if (var$4)
                            var$6 =  -var$6 | 0;
                    }
                    return var$6;
                }
                var$8 = new jl_NumberFormatException;
                var$9 = jl_String_substring0($s, 0, var$3);
                $s = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($s);
                var$10 = $rt_s(14);
                $ptr = 10;
                continue main;
            }
            $s = new jl_NumberFormatException;
            var$8 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$8);
            var$10 = $rt_s(15);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$8, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            jl_AbstractStringBuilder_append0(var$10, $radix);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_($s, var$8);
            $rt_throw($s);
        case 3:
            $tmp = jl_StringBuilder_append($s, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$10, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString($s);
            if ($rt_suspending()) {
                break main;
            }
            $s = $tmp;
            jl_Throwable__init_(var$8, $s);
            $rt_throw(var$8);
        case 6:
            $tmp = jl_StringBuilder_append($s, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            jl_AbstractStringBuilder_append0(var$10, $radix);
            var$9 = $rt_s(6);
            $ptr = 7;
        case 7:
            $tmp = jl_StringBuilder_append(var$10, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 8;
        case 8:
            jl_StringBuilder_append(var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            $tmp = jl_AbstractStringBuilder_toString($s);
            if ($rt_suspending()) {
                break main;
            }
            $s = $tmp;
            jl_Throwable__init_(var$8, $s);
            $rt_throw(var$8);
        case 10:
            $tmp = jl_StringBuilder_append($s, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 11;
        case 11:
            jl_StringBuilder_append(var$10, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            $tmp = jl_AbstractStringBuilder_toString($s);
            if ($rt_suspending()) {
                break main;
            }
            $s = $tmp;
            jl_Throwable__init_(var$8, $s);
            $rt_throw(var$8);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($s, $radix, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    function jl_Integer_parseInt0($s) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$s = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 10;
            $ptr = 1;
        case 1:
            $tmp = jl_Integer_parseInt($s, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($s, var$2, $ptr);
    }
    function jl_Integer_valueOf($i) {
        var var$2, var$3;
        if ($i >= (-128) && $i <= 127) {
            a: {
                if (jl_Integer_integerCache === null) {
                    jl_Integer_integerCache = $rt_createArray(jl_Integer, 256);
                    var$2 = 0;
                    while (true) {
                        var$3 = jl_Integer_integerCache.data;
                        if (var$2 >= var$3.length)
                            break a;
                        var$3[var$2] = jl_Integer__init_(var$2 - 128 | 0);
                        var$2 = var$2 + 1 | 0;
                    }
                }
            }
            return jl_Integer_integerCache.data[$i + 128 | 0];
        }
        return jl_Integer__init_($i);
    }
    function jl_Integer_intValue($this) {
        return $this.$value;
    }
    function jl_Integer_toString0($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$value;
            $ptr = 1;
        case 1:
            $tmp = jl_Integer_toString(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function jl_Integer_hashCode($this) {
        return $this.$value;
    }
    function jl_Integer_equals($this, $other) {
        if ($this === $other)
            return 1;
        return $other instanceof jl_Integer && $other.$value == $this.$value ? 1 : 0;
    }
    function jl_Integer_numberOfLeadingZeros($i) {
        var $n, var$3;
        if (!$i)
            return 32;
        $n = 0;
        var$3 = $i >>> 16 | 0;
        if (var$3)
            $n = 16;
        else
            var$3 = $i;
        $i = var$3 >>> 8 | 0;
        if (!$i)
            $i = var$3;
        else
            $n = $n | 8;
        var$3 = $i >>> 4 | 0;
        if (!var$3)
            var$3 = $i;
        else
            $n = $n | 4;
        $i = var$3 >>> 2 | 0;
        if (!$i)
            $i = var$3;
        else
            $n = $n | 2;
        if ($i >>> 1 | 0)
            $n = $n | 1;
        return (32 - $n | 0) - 1 | 0;
    }
    function jl_Integer_numberOfTrailingZeros($i) {
        var $n, var$3;
        if (!$i)
            return 32;
        $n = 0;
        var$3 = $i << 16;
        if (var$3)
            $n = 16;
        else
            var$3 = $i;
        $i = var$3 << 8;
        if (!$i)
            $i = var$3;
        else
            $n = $n | 8;
        var$3 = $i << 4;
        if (!var$3)
            var$3 = $i;
        else
            $n = $n | 4;
        $i = var$3 << 2;
        if (!$i)
            $i = var$3;
        else
            $n = $n | 2;
        if ($i << 1)
            $n = $n | 1;
        return (32 - $n | 0) - 1 | 0;
    }
    function jl_Integer_bitCount($i) {
        $i = (($i & (-1431655766)) >>> 1 | 0) + ($i & 1431655765) | 0;
        $i = (($i & (-858993460)) >>> 2 | 0) + ($i & 858993459) | 0;
        $i = (($i & 1886417008) >>> 4 | 0) + ($i & 117901063) | 0;
        $i = (($i & 251662080) >>> 8 | 0) + ($i & 983055) | 0;
        return (($i & 2031616) >>> 16 | 0) + ($i & 31) | 0;
    }
    function jl_Integer_compareTo($this, var$1) {
        var$1 = var$1;
        return $rt_compare($this.$value, var$1.$value);
    }
    function jl_Integer__clinit_() {
        jl_Integer_TYPE = $rt_cls($rt_intcls());
    }
    function jl_AbstractStringBuilder() {
        var a = this; jl_Object.call(a);
        a.$buffer = null;
        a.$length0 = 0;
    }
    function jl_AbstractStringBuilder__init_1() {
        var var_0 = new jl_AbstractStringBuilder();
        jl_AbstractStringBuilder__init_(var_0);
        return var_0;
    }
    function jl_AbstractStringBuilder__init_0(var_0) {
        var var_1 = new jl_AbstractStringBuilder();
        jl_AbstractStringBuilder__init_2(var_1, var_0);
        return var_1;
    }
    function jl_AbstractStringBuilder__init_($this) {
        jl_AbstractStringBuilder__init_2($this, 16);
    }
    function jl_AbstractStringBuilder__init_2($this, $capacity) {
        $this.$buffer = $rt_createCharArray($capacity);
    }
    function jl_AbstractStringBuilder_append2($this, $string) {
        return $this.$insert($this.$length0, $string);
    }
    function jl_AbstractStringBuilder_insert($this, $index, $string) {
        var $i, var$4, var$5;
        if ($index >= 0 && $index <= $this.$length0) {
            if ($string === null)
                $string = $rt_s(9);
            else if (jl_String_isEmpty($string))
                return $this;
            $this.$ensureCapacity($this.$length0 + jl_String_length($string) | 0);
            $i = $this.$length0 - 1 | 0;
            while ($i >= $index) {
                $this.$buffer.data[$i + jl_String_length($string) | 0] = $this.$buffer.data[$i];
                $i = $i + (-1) | 0;
            }
            $this.$length0 = $this.$length0 + jl_String_length($string) | 0;
            $i = 0;
            while ($i < jl_String_length($string)) {
                var$4 = $this.$buffer.data;
                var$5 = $index + 1 | 0;
                var$4[$index] = jl_String_charAt($string, $i);
                $i = $i + 1 | 0;
                $index = var$5;
            }
            return $this;
        }
        $string = new jl_StringIndexOutOfBoundsException;
        jl_Throwable__init_0($string);
        $rt_throw($string);
    }
    function jl_AbstractStringBuilder_append0($this, $value) {
        return jl_AbstractStringBuilder_append3($this, $value, 10);
    }
    function jl_AbstractStringBuilder_append3($this, $value, $radix) {
        return jl_AbstractStringBuilder_insert0($this, $this.$length0, $value, $radix);
    }
    function jl_AbstractStringBuilder_insert0($this, $target, $value, $radix) {
        var $positive, var$5, var$6, $pos, $sz, $posLimit, var$10;
        $positive = 1;
        if ($value < 0) {
            $positive = 0;
            $value =  -$value | 0;
        }
        a: {
            if ($rt_ucmp($value, $radix) < 0) {
                if ($positive)
                    jl_AbstractStringBuilder_insertSpace($this, $target, $target + 1 | 0);
                else {
                    jl_AbstractStringBuilder_insertSpace($this, $target, $target + 2 | 0);
                    var$5 = $this.$buffer.data;
                    var$6 = $target + 1 | 0;
                    var$5[$target] = 45;
                    $target = var$6;
                }
                $this.$buffer.data[$target] = jl_Character_forDigit($value, $radix);
            } else {
                $pos = 1;
                $sz = 1;
                $posLimit = $rt_udiv((-1), $radix);
                b: {
                    while (true) {
                        var$10 = $rt_imul($pos, $radix);
                        if ($rt_ucmp(var$10, $value) > 0) {
                            var$10 = $pos;
                            break b;
                        }
                        $sz = $sz + 1 | 0;
                        if ($rt_ucmp(var$10, $posLimit) > 0)
                            break;
                        $pos = var$10;
                    }
                }
                if (!$positive)
                    $sz = $sz + 1 | 0;
                jl_AbstractStringBuilder_insertSpace($this, $target, $target + $sz | 0);
                if ($positive)
                    $positive = $target;
                else {
                    var$5 = $this.$buffer.data;
                    $positive = $target + 1 | 0;
                    var$5[$target] = 45;
                }
                while (true) {
                    if (!var$10)
                        break a;
                    var$5 = $this.$buffer.data;
                    $target = $positive + 1 | 0;
                    var$5[$positive] = jl_Character_forDigit($rt_udiv($value, var$10), $radix);
                    $value = $rt_umod($value, var$10);
                    var$10 = $rt_udiv(var$10, $radix);
                    $positive = $target;
                }
            }
        }
        return $this;
    }
    function jl_AbstractStringBuilder_insert1($this, $target, $value) {
        var $mantissa, var$4, $number, $exp, $negative, $intPart, $sz, $digits, $zeros, $leadingZeros, $leadingZero, $pos, $intDigit, $i;
        $mantissa = $rt_compare($value, 0.0);
        if (!$mantissa) {
            if (1.0 / $value === Infinity) {
                jl_AbstractStringBuilder_insertSpace($this, $target, $target + 3 | 0);
                var$4 = $this.$buffer.data;
                $mantissa = $target + 1 | 0;
                var$4[$target] = 48;
                $target = $mantissa + 1 | 0;
                var$4[$mantissa] = 46;
                var$4[$target] = 48;
                return $this;
            }
            jl_AbstractStringBuilder_insertSpace($this, $target, $target + 4 | 0);
            var$4 = $this.$buffer.data;
            $mantissa = $target + 1 | 0;
            var$4[$target] = 45;
            $target = $mantissa + 1 | 0;
            var$4[$mantissa] = 48;
            $mantissa = $target + 1 | 0;
            var$4[$target] = 46;
            var$4[$mantissa] = 48;
            return $this;
        }
        if ($rt_globals.isNaN($value) ? 1 : 0) {
            jl_AbstractStringBuilder_insertSpace($this, $target, $target + 3 | 0);
            var$4 = $this.$buffer.data;
            $mantissa = $target + 1 | 0;
            var$4[$target] = 78;
            $target = $mantissa + 1 | 0;
            var$4[$mantissa] = 97;
            var$4[$target] = 78;
            return $this;
        }
        if (!$rt_globals.isFinite($value) ? 1 : 0) {
            if ($mantissa > 0) {
                jl_AbstractStringBuilder_insertSpace($this, $target, $target + 8 | 0);
                $mantissa = $target;
            } else {
                jl_AbstractStringBuilder_insertSpace($this, $target, $target + 9 | 0);
                var$4 = $this.$buffer.data;
                $mantissa = $target + 1 | 0;
                var$4[$target] = 45;
            }
            var$4 = $this.$buffer.data;
            $target = $mantissa + 1 | 0;
            var$4[$mantissa] = 73;
            $mantissa = $target + 1 | 0;
            var$4[$target] = 110;
            $target = $mantissa + 1 | 0;
            var$4[$mantissa] = 102;
            $mantissa = $target + 1 | 0;
            var$4[$target] = 105;
            $target = $mantissa + 1 | 0;
            var$4[$mantissa] = 110;
            $mantissa = $target + 1 | 0;
            var$4[$target] = 105;
            $target = $mantissa + 1 | 0;
            var$4[$mantissa] = 116;
            var$4[$target] = 121;
            return $this;
        }
        $number = jl_AbstractStringBuilder$Constants_floatAnalysisResult;
        otcit_FloatAnalyzer_analyze($value, $number);
        $mantissa = $number.$mantissa;
        $exp = $number.$exponent;
        $negative = $number.$sign;
        $intPart = 1;
        $sz = 1;
        if ($negative)
            $sz = 2;
        $digits = 9;
        $zeros = jl_AbstractStringBuilder_trailingDecimalZeros($mantissa);
        if ($zeros > 0)
            $digits = $digits - $zeros | 0;
        $leadingZeros = 0;
        $leadingZero = 0;
        if ($exp < 7 && $exp >= (-3)) {
            if ($exp >= 0) {
                $intPart = $exp + 1 | 0;
                $digits = jl_Math_max($digits, $intPart + 1 | 0);
                $exp = 0;
            } else {
                $intPart = 0;
                $leadingZeros = ( -$exp | 0) - 1 | 0;
                $leadingZero = 1;
                $sz = $sz + 1 | 0;
                $exp = 0;
            }
        }
        if ($exp) {
            $sz = $sz + 2 | 0;
            if (!($exp > (-10) && $exp < 10))
                $sz = $sz + 1 | 0;
            if ($exp < 0)
                $sz = $sz + 1 | 0;
        }
        if ($exp && $digits == $intPart)
            $digits = $digits + 1 | 0;
        jl_AbstractStringBuilder_insertSpace($this, $target, $target + ($sz + ($digits + $leadingZeros | 0) | 0) | 0);
        if (!$negative)
            $negative = $target;
        else {
            var$4 = $this.$buffer.data;
            $negative = $target + 1 | 0;
            var$4[$target] = 45;
        }
        $pos = 100000000;
        if ($leadingZero) {
            var$4 = $this.$buffer.data;
            $target = $negative + 1 | 0;
            var$4[$negative] = 48;
            $negative = $target + 1 | 0;
            var$4[$target] = 46;
            while (true) {
                $target = $leadingZeros + (-1) | 0;
                if ($leadingZeros <= 0)
                    break;
                $intDigit = $negative + 1 | 0;
                var$4[$negative] = 48;
                $leadingZeros = $target;
                $negative = $intDigit;
            }
        }
        $i = 0;
        while ($i < $digits) {
            if ($pos <= 0)
                $intDigit = 0;
            else {
                $intDigit = $mantissa / $pos | 0;
                $mantissa = $mantissa % $pos | 0;
            }
            var$4 = $this.$buffer.data;
            $target = $negative + 1 | 0;
            var$4[$negative] = (48 + $intDigit | 0) & 65535;
            $intPart = $intPart + (-1) | 0;
            if ($intPart)
                $negative = $target;
            else {
                $negative = $target + 1 | 0;
                var$4[$target] = 46;
            }
            $pos = $pos / 10 | 0;
            $i = $i + 1 | 0;
        }
        if ($exp) {
            var$4 = $this.$buffer.data;
            $target = $negative + 1 | 0;
            var$4[$negative] = 69;
            if ($exp >= 0)
                $mantissa = $target;
            else {
                $exp =  -$exp | 0;
                $mantissa = $target + 1 | 0;
                var$4[$target] = 45;
            }
            if ($exp < 10)
                $intDigit = $mantissa;
            else {
                $intDigit = $mantissa + 1 | 0;
                var$4[$mantissa] = (48 + ($exp / 10 | 0) | 0) & 65535;
            }
            var$4[$intDigit] = (48 + ($exp % 10 | 0) | 0) & 65535;
        }
        return $this;
    }
    function jl_AbstractStringBuilder_insert2($this, $target, $value) {
        var $intDigit, var$4, $number, $mantissa, $exp, $negative, $intPart, $sz, $digits, $zeros, $leadingZeros, $leadingZero, $pos, $i;
        $intDigit = $rt_compare($value, 0.0);
        if (!$intDigit) {
            if (1.0 / $value === Infinity) {
                jl_AbstractStringBuilder_insertSpace($this, $target, $target + 3 | 0);
                var$4 = $this.$buffer.data;
                $intDigit = $target + 1 | 0;
                var$4[$target] = 48;
                $target = $intDigit + 1 | 0;
                var$4[$intDigit] = 46;
                var$4[$target] = 48;
                return $this;
            }
            jl_AbstractStringBuilder_insertSpace($this, $target, $target + 4 | 0);
            var$4 = $this.$buffer.data;
            $intDigit = $target + 1 | 0;
            var$4[$target] = 45;
            $target = $intDigit + 1 | 0;
            var$4[$intDigit] = 48;
            $intDigit = $target + 1 | 0;
            var$4[$target] = 46;
            var$4[$intDigit] = 48;
            return $this;
        }
        if ($rt_globals.isNaN($value) ? 1 : 0) {
            jl_AbstractStringBuilder_insertSpace($this, $target, $target + 3 | 0);
            var$4 = $this.$buffer.data;
            $intDigit = $target + 1 | 0;
            var$4[$target] = 78;
            $target = $intDigit + 1 | 0;
            var$4[$intDigit] = 97;
            var$4[$target] = 78;
            return $this;
        }
        if (!$rt_globals.isFinite($value) ? 1 : 0) {
            if ($intDigit > 0) {
                jl_AbstractStringBuilder_insertSpace($this, $target, $target + 8 | 0);
                $intDigit = $target;
            } else {
                jl_AbstractStringBuilder_insertSpace($this, $target, $target + 9 | 0);
                var$4 = $this.$buffer.data;
                $intDigit = $target + 1 | 0;
                var$4[$target] = 45;
            }
            var$4 = $this.$buffer.data;
            $target = $intDigit + 1 | 0;
            var$4[$intDigit] = 73;
            $intDigit = $target + 1 | 0;
            var$4[$target] = 110;
            $target = $intDigit + 1 | 0;
            var$4[$intDigit] = 102;
            $intDigit = $target + 1 | 0;
            var$4[$target] = 105;
            $target = $intDigit + 1 | 0;
            var$4[$intDigit] = 110;
            $intDigit = $target + 1 | 0;
            var$4[$target] = 105;
            $target = $intDigit + 1 | 0;
            var$4[$intDigit] = 116;
            var$4[$target] = 121;
            return $this;
        }
        $number = jl_AbstractStringBuilder$Constants_doubleAnalysisResult;
        otcit_DoubleAnalyzer_analyze($value, $number);
        $mantissa = $number.$mantissa0;
        $exp = $number.$exponent0;
        $negative = $number.$sign0;
        $intPart = 1;
        $sz = 1;
        if ($negative)
            $sz = 2;
        $digits = 18;
        $zeros = jl_AbstractStringBuilder_trailingDecimalZeros0($mantissa);
        if ($zeros > 0)
            $digits = $digits - $zeros | 0;
        $leadingZeros = 0;
        $leadingZero = 0;
        if ($exp < 7 && $exp >= (-3)) {
            if ($exp >= 0) {
                $intPart = $exp + 1 | 0;
                $digits = jl_Math_max($digits, $intPart + 1 | 0);
                $exp = 0;
            } else {
                $intPart = 0;
                $leadingZeros = ( -$exp | 0) - 1 | 0;
                $leadingZero = 1;
                $sz = $sz + 1 | 0;
                $exp = 0;
            }
        }
        if ($exp) {
            $sz = $sz + 2 | 0;
            if (!($exp > (-10) && $exp < 10))
                $sz = $sz + 1 | 0;
            if (!($exp > (-100) && $exp < 100))
                $sz = $sz + 1 | 0;
            if ($exp < 0)
                $sz = $sz + 1 | 0;
        }
        if ($exp && $digits == $intPart)
            $digits = $digits + 1 | 0;
        jl_AbstractStringBuilder_insertSpace($this, $target, $target + ($sz + ($digits + $leadingZeros | 0) | 0) | 0);
        if (!$negative)
            $sz = $target;
        else {
            var$4 = $this.$buffer.data;
            $sz = $target + 1 | 0;
            var$4[$target] = 45;
        }
        $pos = Long_create(1569325056, 23283064);
        if ($leadingZero) {
            var$4 = $this.$buffer.data;
            $target = $sz + 1 | 0;
            var$4[$sz] = 48;
            $sz = $target + 1 | 0;
            var$4[$target] = 46;
            while (true) {
                $target = $leadingZeros + (-1) | 0;
                if ($leadingZeros <= 0)
                    break;
                $intDigit = $sz + 1 | 0;
                var$4[$sz] = 48;
                $leadingZeros = $target;
                $sz = $intDigit;
            }
        }
        $i = 0;
        while ($i < $digits) {
            if (Long_le($pos, Long_ZERO))
                $intDigit = 0;
            else {
                $intDigit = Long_lo(Long_div($mantissa, $pos));
                $mantissa = Long_rem($mantissa, $pos);
            }
            var$4 = $this.$buffer.data;
            $target = $sz + 1 | 0;
            var$4[$sz] = (48 + $intDigit | 0) & 65535;
            $intPart = $intPart + (-1) | 0;
            if ($intPart)
                $sz = $target;
            else {
                $sz = $target + 1 | 0;
                var$4[$target] = 46;
            }
            $pos = Long_div($pos, Long_fromInt(10));
            $i = $i + 1 | 0;
        }
        if ($exp) {
            var$4 = $this.$buffer.data;
            $negative = $sz + 1 | 0;
            var$4[$sz] = 69;
            if ($exp >= 0)
                $intDigit = $negative;
            else {
                $exp =  -$exp | 0;
                $intDigit = $negative + 1 | 0;
                var$4[$negative] = 45;
            }
            if ($exp >= 100) {
                $target = $intDigit + 1 | 0;
                var$4[$intDigit] = (48 + ($exp / 100 | 0) | 0) & 65535;
                $exp = $exp % 100 | 0;
                $negative = $target + 1 | 0;
                var$4[$target] = (48 + ($exp / 10 | 0) | 0) & 65535;
            } else if ($exp < 10)
                $negative = $intDigit;
            else {
                $negative = $intDigit + 1 | 0;
                var$4[$intDigit] = (48 + ($exp / 10 | 0) | 0) & 65535;
            }
            var$4[$negative] = (48 + ($exp % 10 | 0) | 0) & 65535;
        }
        return $this;
    }
    function jl_AbstractStringBuilder_trailingDecimalZeros($n) {
        var $result, $zeros, var$4;
        if (!($n % 1000000000 | 0))
            return 9;
        $result = 0;
        $zeros = 1;
        if (!($n % 100000000 | 0)) {
            $result = 8;
            $zeros = 100000000;
        }
        var$4 = $zeros * 10000 | 0;
        if ($n % var$4 | 0)
            var$4 = $zeros;
        else
            $result = $result | 4;
        $zeros = var$4 * 100 | 0;
        if ($n % $zeros | 0)
            $zeros = var$4;
        else
            $result = $result | 2;
        if (!($n % ($zeros * 10 | 0) | 0))
            $result = $result | 1;
        return $result;
    }
    function jl_AbstractStringBuilder_trailingDecimalZeros0($n) {
        var $zeros, $result, $bit, var$5, $i;
        $zeros = Long_fromInt(1);
        $result = 0;
        $bit = 16;
        var$5 = jl_AbstractStringBuilder$Constants_longLogPowersOfTen.data;
        $i = var$5.length - 1 | 0;
        while ($i >= 0) {
            if (Long_eq(Long_rem($n, Long_mul($zeros, var$5[$i])), Long_ZERO)) {
                $result = $result | $bit;
                $zeros = Long_mul($zeros, var$5[$i]);
            }
            $bit = $bit >>> 1 | 0;
            $i = $i + (-1) | 0;
        }
        return $result;
    }
    function jl_AbstractStringBuilder_append($this, $c) {
        return $this.$insert1($this.$length0, $c);
    }
    function jl_AbstractStringBuilder_insert3($this, $index, $c) {
        jl_AbstractStringBuilder_insertSpace($this, $index, $index + 1 | 0);
        $this.$buffer.data[$index] = $c;
        return $this;
    }
    function jl_AbstractStringBuilder_ensureCapacity($this, $capacity) {
        var var$2, $newLength;
        var$2 = $this.$buffer.data.length;
        if (var$2 >= $capacity)
            return;
        $newLength = var$2 >= 1073741823 ? 2147483647 : jl_Math_max($capacity, jl_Math_max(var$2 * 2 | 0, 5));
        $this.$buffer = ju_Arrays_copyOf0($this.$buffer, $newLength);
    }
    function jl_AbstractStringBuilder_toString($this) {
        return jl_String__init_3($this.$buffer, 0, $this.$length0);
    }
    function jl_AbstractStringBuilder_charAt($this, $index) {
        var var$2;
        if ($index >= 0 && $index < $this.$length0)
            return $this.$buffer.data[$index];
        var$2 = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0(var$2);
        $rt_throw(var$2);
    }
    function jl_AbstractStringBuilder_append4($this, $s, $start, $end) {
        return $this.$insert2($this.$length0, $s, $start, $end);
    }
    function jl_AbstractStringBuilder_insert4($this, $index, $s, $i, $end) {
        var var$5, var$6;
        if ($i <= $end && $end <= $s.$length() && $i >= 0) {
            jl_AbstractStringBuilder_insertSpace($this, $index, ($index + $end | 0) - $i | 0);
            while ($i < $end) {
                var$5 = $this.$buffer.data;
                var$6 = $index + 1 | 0;
                var$5[$index] = $s.$charAt($i);
                $i = $i + 1 | 0;
                $index = var$6;
            }
            return $this;
        }
        $s = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0($s);
        $rt_throw($s);
    }
    function jl_AbstractStringBuilder_append1($this, $s) {
        return $this.$append5($s, 0, $s.$length());
    }
    function jl_AbstractStringBuilder_append5($this, $chars, $offset, $len) {
        return $this.$insert3($this.$length0, $chars, $offset, $len);
    }
    function jl_AbstractStringBuilder_insert5($this, $index, $chars, $offset, $len) {
        var var$5, var$6, var$7, var$8;
        jl_AbstractStringBuilder_insertSpace($this, $index, $index + $len | 0);
        var$5 = $len + $offset | 0;
        while ($offset < var$5) {
            var$6 = $chars.data;
            var$7 = $this.$buffer.data;
            $len = $index + 1 | 0;
            var$8 = $offset + 1 | 0;
            var$7[$index] = var$6[$offset];
            $index = $len;
            $offset = var$8;
        }
        return $this;
    }
    function jl_AbstractStringBuilder_append6($this, $chars) {
        return $this.$append6($chars, 0, $chars.data.length);
    }
    function jl_AbstractStringBuilder_insertSpace($this, $start, $end) {
        var var$3, $sz, $i, var$6;
        var$3 = $this.$length0;
        $sz = var$3 - $start | 0;
        $this.$ensureCapacity((var$3 + $end | 0) - $start | 0);
        $i = $sz - 1 | 0;
        while ($i >= 0) {
            var$6 = $this.$buffer.data;
            var$6[$end + $i | 0] = var$6[$start + $i | 0];
            $i = $i + (-1) | 0;
        }
        $this.$length0 = $this.$length0 + ($end - $start | 0) | 0;
    }
    var jl_Appendable = $rt_classWithoutFields(0);
    var jl_StringBuilder = $rt_classWithoutFields(jl_AbstractStringBuilder);
    function jl_StringBuilder__init_0() {
        var var_0 = new jl_StringBuilder();
        jl_StringBuilder__init_(var_0);
        return var_0;
    }
    function jl_StringBuilder__init_1(var_0) {
        var var_1 = new jl_StringBuilder();
        jl_StringBuilder__init_2(var_1, var_0);
        return var_1;
    }
    function jl_StringBuilder__init_($this) {
        jl_AbstractStringBuilder__init_($this);
    }
    function jl_StringBuilder__init_2($this, $value) {
        var var$2, var$3;
        $this.$buffer = $rt_createCharArray(jl_String_length($value));
        var$2 = 0;
        while (true) {
            var$3 = $this.$buffer.data;
            if (var$2 >= var$3.length)
                break;
            var$3[var$2] = jl_String_charAt($value, var$2);
            var$2 = var$2 + 1 | 0;
        }
        $this.$length0 = jl_String_length($value);
    }
    function jl_StringBuilder_append($this, $obj) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$obj = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$length0;
            if ($obj === null) {
                jl_AbstractStringBuilder_insert($this, var$2, $rt_s(9));
                return $this;
            }
            $ptr = 1;
        case 1:
            $tmp = $obj.$toString();
            if ($rt_suspending()) {
                break main;
            }
            $obj = $tmp;
            jl_AbstractStringBuilder_insert($this, var$2, $obj);
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $obj, var$2, $ptr);
    }
    function jl_StringBuilder_append0($this, $string) {
        jl_AbstractStringBuilder_append2($this, $string);
        return $this;
    }
    function jl_StringBuilder_append1($this, $value) {
        jl_AbstractStringBuilder_append0($this, $value);
        return $this;
    }
    function jl_StringBuilder_append2($this, $value) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9;
        var$2 = $this.$length0;
        var$3 = 1;
        if (Long_lt($value, Long_ZERO)) {
            var$3 = 0;
            $value = Long_neg($value);
        }
        a: {
            if (jl_Long_compareUnsigned($value, Long_fromInt(10)) < 0) {
                if (var$3)
                    jl_AbstractStringBuilder_insertSpace($this, var$2, var$2 + 1 | 0);
                else {
                    jl_AbstractStringBuilder_insertSpace($this, var$2, var$2 + 2 | 0);
                    var$4 = $this.$buffer.data;
                    var$5 = var$2 + 1 | 0;
                    var$4[var$2] = 45;
                    var$2 = var$5;
                }
                $this.$buffer.data[var$2] = jl_Character_forDigit(Long_lo($value), 10);
            } else {
                var$6 = 1;
                var$7 = Long_fromInt(1);
                var$8 = jl_Long_divideUnsigned(Long_fromInt(-1), Long_fromInt(10));
                b: {
                    while (true) {
                        var$9 = Long_mul(var$7, Long_fromInt(10));
                        if (jl_Long_compareUnsigned(var$9, $value) > 0) {
                            var$9 = var$7;
                            break b;
                        }
                        var$6 = var$6 + 1 | 0;
                        if (jl_Long_compareUnsigned(var$9, var$8) > 0)
                            break;
                        var$7 = var$9;
                    }
                }
                if (!var$3)
                    var$6 = var$6 + 1 | 0;
                jl_AbstractStringBuilder_insertSpace($this, var$2, var$2 + var$6 | 0);
                if (var$3)
                    var$5 = var$2;
                else {
                    var$4 = $this.$buffer.data;
                    var$5 = var$2 + 1 | 0;
                    var$4[var$2] = 45;
                }
                while (true) {
                    if (Long_eq(var$9, Long_ZERO))
                        break a;
                    var$4 = $this.$buffer.data;
                    var$2 = var$5 + 1 | 0;
                    var$4[var$5] = jl_Character_forDigit(Long_lo((jl_Long_divideUnsigned($value, var$9))), 10);
                    $value = jl_Long_remainderUnsigned($value, var$9);
                    var$9 = jl_Long_divideUnsigned(var$9, Long_fromInt(10));
                    var$5 = var$2;
                }
            }
        }
        return $this;
    }
    function jl_StringBuilder_append3($this, $value) {
        jl_AbstractStringBuilder_insert1($this, $this.$length0, $value);
        return $this;
    }
    function jl_StringBuilder_append4($this, $value) {
        jl_AbstractStringBuilder_insert2($this, $this.$length0, $value);
        return $this;
    }
    function jl_StringBuilder_append5($this, $c) {
        jl_AbstractStringBuilder_append($this, $c);
        return $this;
    }
    function jl_StringBuilder_append6($this, $b) {
        jl_AbstractStringBuilder_insert($this, $this.$length0, !$b ? $rt_s(16) : $rt_s(17));
        return $this;
    }
    function jl_StringBuilder_delete($this, $start, $end) {
        var var$3, var$4, var$5, var$6, var$7, var$8;
        if ($start >= 0) {
            var$3 = $rt_compare($start, $end);
            if (var$3 <= 0) {
                var$4 = $this.$length0;
                if ($start <= var$4) {
                    if (var$3) {
                        if ($end > var$4)
                            $end = var$4;
                        var$5 = var$4 - $end | 0;
                        $this.$length0 = var$4 - ($end - $start | 0) | 0;
                        var$4 = 0;
                        while (var$4 < var$5) {
                            var$6 = $this.$buffer.data;
                            var$3 = $start + 1 | 0;
                            var$7 = $end + 1 | 0;
                            var$6[$start] = var$6[$end];
                            var$4 = var$4 + 1 | 0;
                            $start = var$3;
                            $end = var$7;
                        }
                    }
                    return $this;
                }
            }
        }
        var$8 = new jl_StringIndexOutOfBoundsException;
        jl_Throwable__init_0(var$8);
        $rt_throw(var$8);
    }
    function jl_StringBuilder_deleteCharAt($this, $index) {
        var var$2, var$3, var$4, var$5;
        if ($index >= 0) {
            var$2 = $this.$length0;
            if ($index < var$2) {
                var$2 = var$2 - 1 | 0;
                $this.$length0 = var$2;
                while ($index < var$2) {
                    var$3 = $this.$buffer.data;
                    var$4 = $index + 1 | 0;
                    var$3[$index] = var$3[var$4];
                    $index = var$4;
                }
                return $this;
            }
        }
        var$5 = new jl_StringIndexOutOfBoundsException;
        jl_Throwable__init_0(var$5);
        $rt_throw(var$5);
    }
    function jl_StringBuilder_subSequence($this, var$1, var$2) {
        var var$3;
        if (var$1 <= var$2 && var$1 >= 0 && var$2 <= $this.$length0)
            return jl_String__init_3($this.$buffer, var$1, var$2 - var$1 | 0);
        var$3 = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0(var$3);
        $rt_throw(var$3);
    }
    function jl_StringBuilder_insert($this, var$1, var$2, var$3, var$4) {
        jl_AbstractStringBuilder_insert5($this, var$1, var$2, var$3, var$4);
        return $this;
    }
    function jl_StringBuilder_append7($this, var$1, var$2, var$3) {
        jl_AbstractStringBuilder_append5($this, var$1, var$2, var$3);
        return $this;
    }
    function jl_StringBuilder_insert0($this, var$1, var$2, var$3, var$4) {
        jl_AbstractStringBuilder_insert4($this, var$1, var$2, var$3, var$4);
        return $this;
    }
    function jl_StringBuilder_append8($this, var$1, var$2, var$3) {
        jl_AbstractStringBuilder_append4($this, var$1, var$2, var$3);
        return $this;
    }
    function jl_StringBuilder_charAt($this, var$1) {
        return jl_AbstractStringBuilder_charAt($this, var$1);
    }
    function jl_StringBuilder_length($this) {
        return $this.$length0;
    }
    function jl_StringBuilder_toString($this) {
        return jl_AbstractStringBuilder_toString($this);
    }
    function jl_StringBuilder_ensureCapacity($this, var$1) {
        jl_AbstractStringBuilder_ensureCapacity($this, var$1);
    }
    function jl_StringBuilder_insert1($this, var$1, var$2) {
        jl_AbstractStringBuilder_insert3($this, var$1, var$2);
        return $this;
    }
    function jl_StringBuilder_insert2($this, var$1, var$2) {
        jl_AbstractStringBuilder_insert($this, var$1, var$2);
        return $this;
    }
    var jl_IncompatibleClassChangeError = $rt_classWithoutFields(jl_LinkageError);
    function jl_IncompatibleClassChangeError__init_0() {
        var var_0 = new jl_IncompatibleClassChangeError();
        jl_IncompatibleClassChangeError__init_(var_0);
        return var_0;
    }
    function jl_IncompatibleClassChangeError__init_($this) {
        jl_Throwable__init_0($this);
    }
    var jl_NoSuchFieldError = $rt_classWithoutFields(jl_IncompatibleClassChangeError);
    function jl_NoSuchFieldError__init_0() {
        var var_0 = new jl_NoSuchFieldError();
        jl_NoSuchFieldError__init_(var_0);
        return var_0;
    }
    function jl_NoSuchFieldError__init_1(var_0) {
        var var_1 = new jl_NoSuchFieldError();
        jl_NoSuchFieldError__init_2(var_1, var_0);
        return var_1;
    }
    function jl_NoSuchFieldError__init_($this) {
        jl_Throwable__init_0($this);
    }
    function jl_NoSuchFieldError__init_2($this, $message) {
        jl_Throwable__init_($this, $message);
    }
    var jl_NoSuchMethodError = $rt_classWithoutFields(jl_IncompatibleClassChangeError);
    function jl_NoSuchMethodError__init_0() {
        var var_0 = new jl_NoSuchMethodError();
        jl_NoSuchMethodError__init_(var_0);
        return var_0;
    }
    function jl_NoSuchMethodError__init_1(var_0) {
        var var_1 = new jl_NoSuchMethodError();
        jl_NoSuchMethodError__init_2(var_1, var_0);
        return var_1;
    }
    function jl_NoSuchMethodError__init_($this) {
        jl_Throwable__init_0($this);
    }
    function jl_NoSuchMethodError__init_2($this, $message) {
        jl_Throwable__init_($this, $message);
    }
    var jl_System = $rt_classWithoutFields();
    var jl_System_outCache = null;
    var jl_System_errCache = null;
    function jl_System__init_0() {
        var var_0 = new jl_System();
        jl_System__init_(var_0);
        return var_0;
    }
    function jl_System__init_($this) {}
    function jl_System_out() {
        if (jl_System_outCache === null)
            jl_System_outCache = ji_PrintStream__init_(otcic_StdoutOutputStream_INSTANCE, 0);
        return jl_System_outCache;
    }
    function jl_System_err() {
        if (jl_System_errCache === null)
            jl_System_errCache = ji_PrintStream__init_(otcic_StderrOutputStream_INSTANCE, 0);
        return jl_System_errCache;
    }
    function jl_System_arraycopy($src, $srcPos, $dest, $destPos, $length) {
        var $srcType, $targetType, $srcArray, $i, var$10, var$11, var$12, $elem, var$14;
        if ($src !== null && $dest !== null) {
            if ($srcPos >= 0 && $destPos >= 0 && $length >= 0 && ($srcPos + $length | 0) <= jlr_Array_getLength($src) && ($destPos + $length | 0) <= jlr_Array_getLength($dest)) {
                a: {
                    b: {
                        if ($src !== $dest) {
                            $srcType = jl_Class_getComponentType(jl_Object_getClass($src));
                            $targetType = jl_Class_getComponentType(jl_Object_getClass($dest));
                            if ($srcType !== null && $targetType !== null) {
                                if ($srcType === $targetType)
                                    break b;
                                if (!jl_Class_isPrimitive($srcType) && !jl_Class_isPrimitive($targetType)) {
                                    $srcArray = $src;
                                    $i = 0;
                                    var$10 = $srcPos;
                                    while ($i < $length) {
                                        var$11 = $srcArray.data;
                                        var$12 = var$10 + 1 | 0;
                                        $elem = var$11[var$10];
                                        var$14 = $targetType.$platformClass;
                                        if (!($elem !== null && !(typeof $elem.constructor.$meta === 'undefined' ? 1 : 0) && otp_Platform_isAssignable($elem.constructor, var$14) ? 1 : 0)) {
                                            jl_System_doArrayCopy($src, $srcPos, $dest, $destPos, $i);
                                            $src = new jl_ArrayStoreException;
                                            jl_Throwable__init_0($src);
                                            $rt_throw($src);
                                        }
                                        $i = $i + 1 | 0;
                                        var$10 = var$12;
                                    }
                                    jl_System_doArrayCopy($src, $srcPos, $dest, $destPos, $length);
                                    return;
                                }
                                if (!jl_Class_isPrimitive($srcType))
                                    break a;
                                if (jl_Class_isPrimitive($targetType))
                                    break b;
                                else
                                    break a;
                            }
                            $src = new jl_ArrayStoreException;
                            jl_Throwable__init_0($src);
                            $rt_throw($src);
                        }
                    }
                    jl_System_doArrayCopy($src, $srcPos, $dest, $destPos, $length);
                    return;
                }
                $src = new jl_ArrayStoreException;
                jl_Throwable__init_0($src);
                $rt_throw($src);
            }
            $src = new jl_IndexOutOfBoundsException;
            jl_Throwable__init_0($src);
            $rt_throw($src);
        }
        $dest = new jl_NullPointerException;
        jl_Throwable__init_($dest, $rt_s(18));
        $rt_throw($dest);
    }
    function jl_System_fastArraycopy($src, $srcPos, $dest, $destPos, $length) {
        if ($srcPos >= 0 && $destPos >= 0 && $length >= 0 && ($srcPos + $length | 0) <= jlr_Array_getLength($src) && ($destPos + $length | 0) <= jlr_Array_getLength($dest)) {
            jl_System_doArrayCopy($src, $srcPos, $dest, $destPos, $length);
            return;
        }
        $src = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0($src);
        $rt_throw($src);
    }
    function jl_System_doArrayCopy(var$1, var$2, var$3, var$4, var$5) {
        if (var$5 === 0) {
            return; 
        } else if (typeof var$1.data.buffer !== 'undefined') {
            var$3.data.set(var$1.data.subarray(var$2, var$2 + var$5), var$4);
        } else if (var$1 !== var$3 || var$4 < var$2) {
            for (var i = 0; i < var$5; i = (i + 1) | 0) {
                var$3.data[var$4++] = var$1.data[var$2++];
            }
        } else {
            var$2 = (var$2 + var$5) | 0;
            var$4 = (var$4 + var$5) | 0;
            for (var i = 0; i < var$5; i = (i + 1) | 0) {
                var$3.data[--var$4] = var$1.data[--var$2];
            }
        }
    }
    function jl_System_currentTimeMillis() {
        return Long_fromNumber(new Date().getTime());
    }
    function jl_System_nanoTime() {
        return Long_fromNumber($rt_globals.performance.now() * 1000000.0);
    }
    var otci_IntegerUtil = $rt_classWithoutFields();
    function otci_IntegerUtil__init_0() {
        var var_0 = new otci_IntegerUtil();
        otci_IntegerUtil__init_(var_0);
        return var_0;
    }
    function otci_IntegerUtil__init_($this) {}
    function otci_IntegerUtil_toUnsignedLogRadixString($value, $radixLog2) {
        var $radix, $mask, $sz, $chars, var$7, $pos, $target, $target_0;
        if (!$value)
            return $rt_s(19);
        $radix = 1 << $radixLog2;
        $mask = $radix - 1 | 0;
        $sz = (((32 - jl_Integer_numberOfLeadingZeros($value) | 0) + $radixLog2 | 0) - 1 | 0) / $radixLog2 | 0;
        $chars = $rt_createCharArray($sz);
        var$7 = $chars.data;
        $pos = $rt_imul($sz - 1 | 0, $radixLog2);
        $target = 0;
        while ($pos >= 0) {
            $target_0 = $target + 1 | 0;
            var$7[$target] = jl_Character_forDigit(($value >>> $pos | 0) & $mask, $radix);
            $pos = $pos - $radixLog2 | 0;
            $target = $target_0;
        }
        return jl_String__init_($chars);
    }
    function otci_IntegerUtil_toUnsignedLogRadixString0($value, $radixLog2) {
        var $pos, $radix, $mask, var$6, var$7, $sz, $chars, var$10, $target, $target_0;
        $pos = Long_compare($value, Long_ZERO);
        if (!$pos)
            return $rt_s(19);
        $radix = 1 << $radixLog2;
        $mask = $radix - 1 | 0;
        if (!$pos)
            $pos = 64;
        else {
            $pos = 0;
            var$6 = Long_shru($value, 32);
            if (Long_ne(var$6, Long_ZERO))
                $pos = 32;
            else
                var$6 = $value;
            var$7 = Long_shru(var$6, 16);
            if (Long_eq(var$7, Long_ZERO))
                var$7 = var$6;
            else
                $pos = $pos | 16;
            var$6 = Long_shru(var$7, 8);
            if (Long_eq(var$6, Long_ZERO))
                var$6 = var$7;
            else
                $pos = $pos | 8;
            var$7 = Long_shru(var$6, 4);
            if (Long_eq(var$7, Long_ZERO))
                var$7 = var$6;
            else
                $pos = $pos | 4;
            var$6 = Long_shru(var$7, 2);
            if (Long_eq(var$6, Long_ZERO))
                var$6 = var$7;
            else
                $pos = $pos | 2;
            if (Long_ne(Long_shru(var$6, 1), Long_ZERO))
                $pos = $pos | 1;
            $pos = (64 - $pos | 0) - 1 | 0;
        }
        $sz = (((64 - $pos | 0) + $radixLog2 | 0) - 1 | 0) / $radixLog2 | 0;
        $chars = $rt_createCharArray($sz);
        var$10 = $chars.data;
        $pos = $rt_imul($sz - 1 | 0, $radixLog2);
        $target = 0;
        while ($pos >= 0) {
            $target_0 = $target + 1 | 0;
            var$10[$target] = jl_Character_forDigit(Long_lo(Long_shru($value, $pos)) & $mask, $radix);
            $pos = $pos - $radixLog2 | 0;
            $target = $target_0;
        }
        return jl_String__init_($chars);
    }
    var nleit_ClientMain = $rt_classWithoutFields();
    var nleit_ClientMain_systemOut = null;
    var nleit_ClientMain_systemErr = null;
    var nleit_ClientMain_windowErrorHandler = null;
    var nleit_ClientMain_configRootElementId = null;
    var nleit_ClientMain_configRootElement = null;
    var nleit_ClientMain_configEPKFiles = null;
    var nleit_ClientMain_configLocalesFolder = null;
    var nleit_ClientMain_crashOnUncaughtExceptions = 0;
    var nleit_ClientMain_isCrashed = 0;
    var nleit_ClientMain_webGLCrashStringCache = null;
    var nleit_ClientMain_shimsCrashStringCache = null;
    var nleit_ClientMain_integratedServerCrashPanel = null;
    var nleit_ClientMain_integratedServerCrashPanelShowing = 0;
    function nleit_ClientMain_$callClinit() {
        nleit_ClientMain_$callClinit = $rt_eraseClinit(nleit_ClientMain);
        nleit_ClientMain__clinit_();
    }
    function nleit_ClientMain__init_0() {
        var var_0 = new nleit_ClientMain();
        nleit_ClientMain__init_(var_0);
        return var_0;
    }
    function nleit_ClientMain__init_($this) {
        nleit_ClientMain_$callClinit();
    }
    function nleit_ClientMain_crashImageWrapper() {
        nleit_ClientMain_$callClinit();
        return jl_String_substring($rt_s(20), 0);
    }
    function nleit_ClientMain__main() {
        var $t, $ex, $opts, $i, $epkSingleURL, var$6, $epkURLs, $len, $etr, $url, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$url = $thread.pop();$etr = $thread.pop();$len = $thread.pop();$epkURLs = $thread.pop();var$6 = $thread.pop();$epkSingleURL = $thread.pop();$i = $thread.pop();$opts = $thread.pop();$ex = $thread.pop();$t = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_ClientMain_$callClinit();
            if (nleit_ClientMain_getRunningFlag$js_body$_2() ? 1 : 0) {
                $t = nleit_ClientMain_systemErr;
                $ex = $rt_s(21);
                $ptr = 2;
                continue main;
            }
            try {
                $ex = nleit_ClientMain_systemOut;
                $t = $rt_s(22);
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 1:
            try {
                ji_PrintStream_println0($ex, $t);
                if ($rt_suspending()) {
                    break main;
                }
                $opts = nleit_ClientMain_getEaglerXOpts$js_body$_4();
                if ($opts === null) {
                    $t = nleit_ClientMain_systemErr;
                    $ex = $rt_s(24);
                    $ptr = 5;
                    continue main;
                }
                try {
                    nleit_ClientMain_crashOnUncaughtExceptions = (typeof $opts.crashOnUncaughtExceptions === "boolean" ? $opts.crashOnUncaughtExceptions : !!0) ? 1 : 0;
                    $i = (typeof $opts.deobfStackTraces === "boolean" ? $opts.deobfStackTraces : !!1) ? 1 : 0;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $t = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ex = nleit_ClientMain_systemErr;
                $opts = $rt_s(25);
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 2:
            ji_PrintStream_println0($t, $ex);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            ji_PrintStream_println0($ex, $opts);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw($t);
        case 4:
            try {
                try {
                    nlei_PlatformRuntime_$callClinit();
                    if ($rt_suspending()) {
                        break main;
                    }
                    nlei_PlatformRuntime_isDeobfStackTraces = $i;
                    $t = $rt_str(typeof $opts.container === "string" ? $opts.container : null);
                    nleit_ClientMain_configRootElementId = $t;
                    if ($t === null)
                        $rt_throw(oj_JSONException__init_($rt_s(26)));
                    $ex = $rt_globals.window.document;
                    $t = nleit_ClientMain_configRootElementId;
                    nleit_ClientMain_configRootElement = $ex.getElementById($rt_ustr($t));
                    while (true) {
                        $t = nleit_ClientMain_configRootElement.querySelector("._eaglercraftX_wrapper_element");
                        if ($t === null)
                            break;
                        otjdx_Node_delete$static($t);
                    }
                    a: {
                        $epkSingleURL = $rt_str(typeof $opts.assetsURI === "string" ? $opts.assetsURI : null);
                        if ($epkSingleURL !== null) {
                            var$6 = $rt_createArray(nleit_ClientMain$EPKFileEntry, 1);
                            var$6.data[0] = nleit_ClientMain$EPKFileEntry__init_($epkSingleURL, $rt_s(3));
                            nleit_ClientMain_configEPKFiles = var$6;
                        } else {
                            $epkURLs = typeof $opts.assetsURI === "object" ? $opts.assetsURI : null;
                            $len = $epkURLs.length;
                            if (!$len)
                                $rt_throw(oj_JSONException__init_($rt_s(27)));
                            nleit_ClientMain_configEPKFiles = $rt_createArray(nleit_ClientMain$EPKFileEntry, $len);
                            $i = 0;
                            while (true) {
                                if ($i >= $len)
                                    break a;
                                $etr = otji_JSWrapper_maybeUnwrap($epkURLs[$i]);
                                $url = $rt_str(typeof $etr.url === "string" ? $etr.url : null);
                                if ($url === null)
                                    break;
                                nleit_ClientMain_configEPKFiles.data[$i] = nleit_ClientMain$EPKFileEntry__init_($url, $rt_str(typeof $etr.path === "string" ? $etr.path : ""));
                                $i = $i + 1 | 0;
                            }
                            $rt_throw(oj_JSONException__init_($rt_s(28)));
                        }
                    }
                    $ex = $rt_str(typeof $opts.localesURI === "string" ? $opts.localesURI : "lang");
                    nleit_ClientMain_configLocalesFolder = $ex;
                    if (jl_String_endsWith($ex, $rt_s(5))) {
                        $t = nleit_ClientMain_configLocalesFolder;
                        nleit_ClientMain_configLocalesFolder = jl_String_substring0($t, 0, jl_String_length($t) - 1 | 0);
                    }
                    $ptr = 16;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $t = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ex = nleit_ClientMain_systemErr;
                $opts = $rt_s(25);
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 5:
            try {
                ji_PrintStream_println0($t, $ex);
                if ($rt_suspending()) {
                    break main;
                }
                $t = nleit_ClientMain_systemErr;
                $ex = $rt_s(29);
                $ptr = 6;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 6:
            b: {
                try {
                    ji_PrintStream_println0($t, $ex);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $rt_globals.alert("ERROR: game cannot start, the \"window.eaglercraftXOpts\" variable is undefined");
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $t = $$je;
                    break b;

                }
                $t = nleit_ClientMain_systemErr;
                $ex = $rt_s(23);
                $ptr = 14;
                continue main;
            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 7:
            try {
                ji_PrintStream_println0($ex, $opts);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 8;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 8:
            try {
                nle_EagRuntime_debugPrintStackTraceToSTDERR($t);
                if ($rt_suspending()) {
                    break main;
                }
                $ex = nleit_ClientMain_systemErr;
                $opts = $rt_s(29);
                $ptr = 9;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 9:
            try {
                ji_PrintStream_println0($ex, $opts);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 10;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 10:
            try {
                $tmp = jl_Throwable_toString($t);
                if ($rt_suspending()) {
                    break main;
                }
                $t = $tmp;
                $ex = jl_StringBuilder__init_0();
                $opts = $rt_s(30);
                $ptr = 11;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 11:
            try {
                $tmp = jl_StringBuilder_append($ex, $opts);
                if ($rt_suspending()) {
                    break main;
                }
                $opts = $tmp;
                $ptr = 12;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 12:
            try {
                jl_StringBuilder_append($opts, $t);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 13;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 13:
            b: {
                try {
                    $tmp = jl_StringBuilder_toString($ex);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $t = $tmp;
                    $rt_globals.alert($rt_ustr($t));
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $t = $$je;

                }
                $ex = nleit_ClientMain_systemErr;
                $opts = $rt_s(23);
                $ptr = 3;
                continue main;
            }
            $t = nleit_ClientMain_systemErr;
            $ex = $rt_s(23);
            $ptr = 15;
            continue main;
        case 14:
            ji_PrintStream_println0($t, $ex);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 15:
            ji_PrintStream_println0($t, $ex);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 16:
            try {
                try {
                    nleit_TeaVMClientConfigAdapter_$callClinit();
                    if ($rt_suspending()) {
                        break main;
                    }
                    $t = nleit_TeaVMClientConfigAdapter_instance;
                    $ptr = 17;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $t = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ex = nleit_ClientMain_systemErr;
                $opts = $rt_s(25);
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 17:
            try {
                try {
                    nleit_TeaVMClientConfigAdapter_loadNative($t, $opts);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $t = nleit_ClientMain_systemOut;
                    $ex = $rt_s(31);
                    $ptr = 18;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $t = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ex = nleit_ClientMain_systemErr;
                $opts = $rt_s(25);
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 18:
            try {
                c: {
                    try {
                        ji_PrintStream_println0($t, $ex);
                        if ($rt_suspending()) {
                            break main;
                        }
                        break c;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            $t = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    $ex = nleit_ClientMain_systemErr;
                    $opts = $rt_s(25);
                    $ptr = 7;
                    continue main;
                }
                if (!nleit_ClientMain_crashOnUncaughtExceptions) {
                    $t = nleit_ClientMain_systemOut;
                    $ex = $rt_s(32);
                    $ptr = 19;
                    continue main;
                }
                $t = nleit_ClientMain_systemOut;
                $ex = $rt_s(33);
                $ptr = 20;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 19:
            try {
                ji_PrintStream_println0($t, $ex);
                if ($rt_suspending()) {
                    break main;
                }
                $t = nleit_ClientMain$2__init_0();
                oall_LogManager_$callClinit();
                oall_LogManager_logRedirector = $t;
                c: {
                    try {
                        $ptr = 21;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nlei_PlatformIncompatibleException) {
                            $ex = $$je;
                            break c;
                        } else if ($$je instanceof jl_Throwable) {
                            $t = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    $ex = nleit_ClientMain_systemErr;
                    $opts = $rt_s(34);
                    $ptr = 27;
                    continue main;
                }
                $t = nleit_ClientMain_systemErr;
                $opts = $rt_s(35);
                $ptr = 22;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 20:
            try {
                ji_PrintStream_println0($t, $ex);
                if ($rt_suspending()) {
                    break main;
                }
                nleit_ClientMain_windowErrorHandler = nleit_ClientMain_setWindowErrorHandler$js_body$_5($rt_globals.window, otji_JS_function(nleit_ClientMain$1__init_0(), "call"));
                $t = nleit_ClientMain_systemOut;
                $ex = $rt_s(32);
                $ptr = 19;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 21:
            try {
                c: {
                    d: {
                        try {
                            nle_EagRuntime_create();
                            if ($rt_suspending()) {
                                break main;
                            }
                            break c;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof nlei_PlatformIncompatibleException) {
                                $ex = $$je;
                                break d;
                            } else if ($$je instanceof jl_Throwable) {
                                $t = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        $ex = nleit_ClientMain_systemErr;
                        $opts = $rt_s(34);
                        $ptr = 27;
                        continue main;
                    }
                    $t = nleit_ClientMain_systemErr;
                    $opts = $rt_s(35);
                    $ptr = 22;
                    continue main;
                }
                $t = nleit_ClientMain_systemOut;
                $ex = $rt_s(36);
                $ptr = 33;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 22:
            try {
                ji_PrintStream_println0($t, $opts);
                if ($rt_suspending()) {
                    break main;
                }
                $t = nleit_ClientMain_systemErr;
                $ptr = 23;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 23:
            try {
                $tmp = jl_Throwable_getMessage($ex);
                if ($rt_suspending()) {
                    break main;
                }
                $opts = $tmp;
                $epkURLs = jl_StringBuilder__init_0();
                $etr = $rt_s(37);
                $ptr = 24;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 24:
            try {
                $tmp = jl_StringBuilder_append($epkURLs, $etr);
                if ($rt_suspending()) {
                    break main;
                }
                $etr = $tmp;
                $ptr = 25;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 25:
            try {
                jl_StringBuilder_append($etr, $opts);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 26;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 26:
            try {
                $tmp = jl_StringBuilder_toString($epkURLs);
                if ($rt_suspending()) {
                    break main;
                }
                $opts = $tmp;
                $ptr = 31;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 27:
            try {
                ji_PrintStream_println0($ex, $opts);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 28;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 28:
            try {
                nle_EagRuntime_debugPrintStackTraceToSTDERR($t);
                if ($rt_suspending()) {
                    break main;
                }
                $ex = $rt_s(38);
                $ptr = 29;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 29:
            try {
                nleit_ClientMain_showCrashScreen($ex, $t);
                if ($rt_suspending()) {
                    break main;
                }
                $t = nleit_ClientMain_systemErr;
                $ex = $rt_s(29);
                $ptr = 30;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 30:
            b: {
                try {
                    ji_PrintStream_println0($t, $ex);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $t = $$je;

                }
                $ex = nleit_ClientMain_systemErr;
                $opts = $rt_s(23);
                $ptr = 3;
                continue main;
            }
            $t = nleit_ClientMain_systemErr;
            $ex = $rt_s(23);
            $ptr = 32;
            continue main;
        case 31:
            b: {
                try {
                    ji_PrintStream_println0($t, $opts);
                    if ($rt_suspending()) {
                        break main;
                    }
                    try {
                        $ptr = 35;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                        } else {
                            throw $$e;
                        }
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $t = $$je;
                    break b;

                }
                $t = nleit_ClientMain_systemErr;
                $ex = $rt_s(23);
                $ptr = 42;
                continue main;
            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 32:
            ji_PrintStream_println0($t, $ex);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 33:
            try {
                ji_PrintStream_println0($t, $ex);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 34;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 34:
            try {
                nle_LocalStorageManager_loadStorage();
                if ($rt_suspending()) {
                    break main;
                }
                try {
                    $t = new nmc_Minecraft;
                    $ptr = 37;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $t = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ex = nleit_ClientMain_systemErr;
                $opts = $rt_s(39);
                $ptr = 39;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 35:
            b: {
                try {
                    $tmp = jl_Throwable_getMessage($ex);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $t = $tmp;
                    $ptr = 36;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else{
                        $t = $$je;
                        break b;
                    }
                }
                $t = nleit_ClientMain_systemErr;
                $ex = $rt_s(23);
                $ptr = 42;
                continue main;
            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 36:
            b: {
                try {
                    c: {
                        try {
                            nleit_ClientMain_showIncompatibleScreen($t);
                            if ($rt_suspending()) {
                                break main;
                            }
                            break c;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                            } else {
                                throw $$e;
                            }
                        }
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $t = $$je;
                    break b;

                }
                $t = nleit_ClientMain_systemErr;
                $ex = $rt_s(23);
                $ptr = 42;
                continue main;
            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 37:
            try {
                try {
                    nmc_Minecraft__init_($t);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $ptr = 38;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $t = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ex = nleit_ClientMain_systemErr;
                $opts = $rt_s(39);
                $ptr = 39;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 38:
            b: {
                c: {
                    try {
                        nmc_Minecraft_run($t);
                        if ($rt_suspending()) {
                            break main;
                        }
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            $t = $$je;
                            break c;
                        } else{
                            $t = $$je;
                            break b;
                        }
                    }
                    $t = nleit_ClientMain_systemErr;
                    $ex = $rt_s(23);
                    $ptr = 43;
                    continue main;
                }
                try {
                    $ex = nleit_ClientMain_systemErr;
                    $opts = $rt_s(39);
                    $ptr = 39;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $t = $$je;

                }
            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 39:
            try {
                ji_PrintStream_println0($ex, $opts);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 40;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 40:
            try {
                nle_EagRuntime_debugPrintStackTraceToSTDERR($t);
                if ($rt_suspending()) {
                    break main;
                }
                $ex = $rt_s(40);
                $ptr = 41;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $t = $$je;

            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 41:
            b: {
                try {
                    nleit_ClientMain_showCrashScreen($ex, $t);
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $t = $$je;
                    break b;

                }
                $t = nleit_ClientMain_systemErr;
                $ex = $rt_s(23);
                $ptr = 43;
                continue main;
            }
            $ex = nleit_ClientMain_systemErr;
            $opts = $rt_s(23);
            $ptr = 3;
            continue main;
        case 42:
            ji_PrintStream_println0($t, $ex);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 43:
            ji_PrintStream_println0($t, $ex);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($t, $ex, $opts, $i, $epkSingleURL, var$6, $epkURLs, $len, $etr, $url, $ptr);
    }
    function nleit_ClientMain_showCrashScreen($message, $t) {
        var var$3, var$4, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$t = $thread.pop();$message = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_ClientMain_$callClinit();
            try {
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 1:
            try {
                $tmp = nle_EagRuntime_getStackTrace($t);
                if ($rt_suspending()) {
                    break main;
                }
                $t = $tmp;
                var$3 = jl_StringBuilder__init_0();
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 2:
            try {
                $tmp = jl_StringBuilder_append(var$3, $message);
                if ($rt_suspending()) {
                    break main;
                }
                $message = $tmp;
                var$4 = $rt_s(41);
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 3:
            try {
                $tmp = jl_StringBuilder_append($message, var$4);
                if ($rt_suspending()) {
                    break main;
                }
                $message = $tmp;
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 4:
            try {
                jl_StringBuilder_append($message, $t);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 5;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 5:
            try {
                $tmp = jl_StringBuilder_toString(var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $message = $tmp;
                $ptr = 6;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 6:
            a: {
                try {
                    nleit_ClientMain_showCrashScreen0($message);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($message, $t, var$3, var$4, $ptr);
    }
    function nleit_ClientMain_showCrashScreen0($t) {
        var $strBeforeBuilder, $strBefore, $doc, $el, $str, $strAfter, $strFinal, $additionalInfo, $tt, $builderFinal, $img, $div, $s, $i, var$16, $str2, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$str2 = $thread.pop();var$16 = $thread.pop();$i = $thread.pop();$s = $thread.pop();$div = $thread.pop();$img = $thread.pop();$builderFinal = $thread.pop();$tt = $thread.pop();$additionalInfo = $thread.pop();$strFinal = $thread.pop();$strAfter = $thread.pop();$str = $thread.pop();$el = $thread.pop();$doc = $thread.pop();$strBefore = $thread.pop();$strBeforeBuilder = $thread.pop();$t = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_ClientMain_$callClinit();
            $strBeforeBuilder = jl_StringBuilder__init_0();
            jl_StringBuilder_append0($strBeforeBuilder, $rt_s(42));
            jl_StringBuilder_append0($strBeforeBuilder, $t);
            jl_StringBuilder_append5(jl_StringBuilder_append5($strBeforeBuilder, 10), 10);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_toString($strBeforeBuilder);
            if ($rt_suspending()) {
                break main;
            }
            $strBefore = $tmp;
            $doc = $rt_globals.window.document;
            $ptr = 2;
        case 2:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $el = nlei_PlatformRuntime_parent;
            if ($el === null) {
                if (nleit_ClientMain_configRootElement === null) {
                    $strBeforeBuilder = nleit_ClientMain_configRootElementId;
                    nleit_ClientMain_configRootElement = $doc.getElementById($rt_ustr($strBeforeBuilder));
                }
                $el = nleit_ClientMain_configRootElement;
            }
            $str = jl_StringBuilder__init_0();
            jl_StringBuilder_append0(jl_StringBuilder_append0(jl_StringBuilder_append0($str, $rt_s(43)), $rt_s(44)), $rt_s(45));
            jl_StringBuilder_append0($str, $rt_s(46));
            jl_StringBuilder_append0($str, $rt_s(47));
            jl_StringBuilder_append5($str, 10);
            $ptr = 3;
        case 3:
            $tmp = nleit_ClientMain_addWebGLToCrash();
            if ($rt_suspending()) {
                break main;
            }
            $strBeforeBuilder = $tmp;
            jl_StringBuilder_append0($str, $strBeforeBuilder);
            jl_StringBuilder_append5($str, 10);
            $ptr = 4;
        case 4:
            $tmp = nleit_ClientMain_addShimsToCrash();
            if ($rt_suspending()) {
                break main;
            }
            $strBeforeBuilder = $tmp;
            jl_StringBuilder_append0($str, $strBeforeBuilder);
            jl_StringBuilder_append5($str, 10);
            jl_StringBuilder_append0($str, $rt_s(48));
            $ptr = 5;
        case 5:
            nleit_TeaVMClientConfigAdapter_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $strBeforeBuilder = nleit_TeaVMClientConfigAdapter_instance;
            $ptr = 6;
        case 6:
            $tmp = jl_Object_toString($strBeforeBuilder);
            if ($rt_suspending()) {
                break main;
            }
            $strBeforeBuilder = $tmp;
            jl_StringBuilder_append5(jl_StringBuilder_append0($str, $strBeforeBuilder), 10);
            jl_StringBuilder_append5($str, 10);
            jl_StringBuilder_append0($str, $rt_s(49));
            $strAfter = new jt_SimpleDateFormat;
            $strBeforeBuilder = $rt_s(50);
            $ptr = 7;
        case 7:
            jt_SimpleDateFormat__init_0($strAfter, $strBeforeBuilder);
            if ($rt_suspending()) {
                break main;
            }
            $strBeforeBuilder = ju_Date__init_0();
            $ptr = 8;
        case 8:
            $tmp = jt_DateFormat_format($strAfter, $strBeforeBuilder);
            if ($rt_suspending()) {
                break main;
            }
            $strBeforeBuilder = $tmp;
            jl_StringBuilder_append5(jl_StringBuilder_append0($str, $strBeforeBuilder), 10);
            jl_StringBuilder_append5($str, 10);
            nleit_ClientMain_addDebugNav($str, $rt_s(51));
            nleit_ClientMain_addDebugNav($str, $rt_s(52));
            nleit_ClientMain_addDebugNav($str, $rt_s(53));
            nleit_ClientMain_addDebugNav($str, $rt_s(54));
            nleit_ClientMain_addDebugNav($str, $rt_s(55));
            nleit_ClientMain_addDebugNav($str, $rt_s(56));
            nleit_ClientMain_addDebugNav($str, $rt_s(57));
            nleit_ClientMain_addDebugNavPlugins($str);
            jl_StringBuilder_append5($str, 10);
            nleit_ClientMain_addDebug($str, $rt_s(58));
            nleit_ClientMain_addDebug($str, $rt_s(59));
            nleit_ClientMain_addDebug($str, $rt_s(60));
            jl_StringBuilder_append5($str, 10);
            $strBeforeBuilder = jl_StringBuilder_append0($str, $rt_s(61));
            $strAfter = $el === null ? $rt_s(62) : jl_Integer_valueOf($el.clientWidth);
            $ptr = 9;
        case 9:
            $tmp = jl_StringBuilder_append($strBeforeBuilder, $strAfter);
            if ($rt_suspending()) {
                break main;
            }
            $strBeforeBuilder = $tmp;
            jl_StringBuilder_append5($strBeforeBuilder, 10);
            $strAfter = jl_StringBuilder_append0($str, $rt_s(63));
            $strBeforeBuilder = $el === null ? $rt_s(62) : jl_Integer_valueOf($el.clientHeight);
            $ptr = 10;
        case 10:
            $tmp = jl_StringBuilder_append($strAfter, $strBeforeBuilder);
            if ($rt_suspending()) {
                break main;
            }
            $strBeforeBuilder = $tmp;
            jl_StringBuilder_append5($strBeforeBuilder, 10);
            nleit_ClientMain_addDebug($str, $rt_s(64));
            nleit_ClientMain_addDebug($str, $rt_s(65));
            nleit_ClientMain_addDebug($str, $rt_s(66));
            nleit_ClientMain_addDebug($str, $rt_s(67));
            nleit_ClientMain_addDebug($str, $rt_s(68));
            nleit_ClientMain_addDebugScreen($str, $rt_s(69));
            nleit_ClientMain_addDebugScreen($str, $rt_s(70));
            nleit_ClientMain_addDebugScreen($str, $rt_s(71));
            nleit_ClientMain_addDebugScreen($str, $rt_s(72));
            jl_StringBuilder_append5($str, 10);
            nleit_ClientMain_addDebug($str, $rt_s(73));
            jl_StringBuilder_append5($str, 10);
            nleit_ClientMain_addDebugLocation($str, $rt_s(74));
            jl_StringBuilder_append5($str, 10);
            $ptr = 11;
        case 11:
            $tmp = jl_StringBuilder_toString($str);
            if ($rt_suspending()) {
                break main;
            }
            $strAfter = $tmp;
            $strBeforeBuilder = jl_StringBuilder__init_0();
            $ptr = 12;
        case 12:
            $tmp = jl_StringBuilder_append($strBeforeBuilder, $strBefore);
            if ($rt_suspending()) {
                break main;
            }
            $str = $tmp;
            $ptr = 13;
        case 13:
            jl_StringBuilder_append($str, $strAfter);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            $tmp = jl_StringBuilder_toString($strBeforeBuilder);
            if ($rt_suspending()) {
                break main;
            }
            $strFinal = $tmp;
            $additionalInfo = ju_LinkedList__init_0();
            try {
                $strBeforeBuilder = nleit_TeaVMClientConfigAdapter_instance;
                $ptr = 15;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $tt = $$je;
                } else {
                    throw $$e;
                }
            }
            $strBeforeBuilder = nleit_ClientMain_systemErr;
            $str = $rt_s(75);
            $ptr = 16;
            continue main;
        case 15:
            try {
                $tmp = nleit_TeaVMClientConfigAdapter_getHooks($strBeforeBuilder);
                if ($rt_suspending()) {
                    break main;
                }
                $strBeforeBuilder = $tmp;
                ju_Objects_requireNonNull($additionalInfo);
                $str = nleit_ClientMain$showCrashScreen$lambda$_9_0__init_($additionalInfo);
                $ptr = 18;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $tt = $$je;
                } else {
                    throw $$e;
                }
            }
            $strBeforeBuilder = nleit_ClientMain_systemErr;
            $str = $rt_s(75);
            $ptr = 16;
        case 16:
            ji_PrintStream_println0($strBeforeBuilder, $str);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            nle_EagRuntime_debugPrintStackTraceToSTDERR($tt);
            if ($rt_suspending()) {
                break main;
            }
            if (nleit_ClientMain_isCrashed) {
                $strBeforeBuilder = nleit_ClientMain_systemErr;
                $ptr = 19;
                continue main;
            }
            nleit_ClientMain_isCrashed = 1;
            if (ju_LinkedList_size($additionalInfo) > 0) {
                try {
                    $str = $strFinal;
                    $builderFinal = jl_StringBuilder__init_0();
                    jl_StringBuilder_append0($builderFinal, $strBefore);
                    jl_StringBuilder_append0($builderFinal, $rt_s(76));
                    $ptr = 22;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $tt = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $t = nleit_ClientMain_systemErr;
                $strBeforeBuilder = $rt_s(77);
                $ptr = 27;
                continue main;
            }
            if ($el === null) {
                $rt_globals.alert("Root element not found, crash report was printed to console");
                $t = nleit_ClientMain_systemErr;
                $ptr = 31;
                continue main;
            }
            $img = $doc.createElement("img");
            $div = $doc.createElement("div");
            $img.setAttribute("style", "z-index:100;position:absolute;top:10px;left:calc(50% - 151px);");
            $strBeforeBuilder = nleit_ClientMain_crashImageWrapper();
            $img.setAttribute("src", $rt_ustr($strBeforeBuilder));
            $div.setAttribute("style", "z-index:100;position:absolute;top:135px;left:10%;right:10%;bottom:50px;background-color:white;border:1px solid #cccccc;overflow-x:hidden;overflow-y:scroll;overflow-wrap:break-word;white-space:pre-wrap;font: 14px monospace;padding:10px;");
            $div.classList.add("_eaglercraftX_crash_element");
            $el.appendChild($img);
            $el.appendChild($div);
            $t = $doc.createTextNode($rt_ustr($strFinal));
            $div.appendChild($t);
            $ptr = 30;
            continue main;
        case 18:
            a: {
                try {
                    nleit_TeaVMClientConfigAdapterHooks_callCrashReportHook($strBeforeBuilder, $strFinal, $str);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $tt = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $strBeforeBuilder = nleit_ClientMain_systemErr;
                $str = $rt_s(75);
                $ptr = 16;
                continue main;
            }
            if (nleit_ClientMain_isCrashed) {
                $strBeforeBuilder = nleit_ClientMain_systemErr;
                $ptr = 19;
                continue main;
            }
            nleit_ClientMain_isCrashed = 1;
            if (ju_LinkedList_size($additionalInfo) > 0) {
                try {
                    $str = $strFinal;
                    $builderFinal = jl_StringBuilder__init_0();
                    jl_StringBuilder_append0($builderFinal, $strBefore);
                    jl_StringBuilder_append0($builderFinal, $rt_s(76));
                    $ptr = 22;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $tt = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $t = nleit_ClientMain_systemErr;
                $strBeforeBuilder = $rt_s(77);
                $ptr = 27;
                continue main;
            }
            if ($el === null) {
                $rt_globals.alert("Root element not found, crash report was printed to console");
                $t = nleit_ClientMain_systemErr;
                $ptr = 31;
                continue main;
            }
            $img = $doc.createElement("img");
            $div = $doc.createElement("div");
            $img.setAttribute("style", "z-index:100;position:absolute;top:10px;left:calc(50% - 151px);");
            $strBeforeBuilder = nleit_ClientMain_crashImageWrapper();
            $img.setAttribute("src", $rt_ustr($strBeforeBuilder));
            $div.setAttribute("style", "z-index:100;position:absolute;top:135px;left:10%;right:10%;bottom:50px;background-color:white;border:1px solid #cccccc;overflow-x:hidden;overflow-y:scroll;overflow-wrap:break-word;white-space:pre-wrap;font: 14px monospace;padding:10px;");
            $div.classList.add("_eaglercraftX_crash_element");
            $el.appendChild($img);
            $el.appendChild($div);
            $t = $doc.createTextNode($rt_ustr($strFinal));
            $div.appendChild($t);
            $ptr = 30;
            continue main;
        case 19:
            ji_PrintStream_println($strBeforeBuilder);
            if ($rt_suspending()) {
                break main;
            }
            $strBeforeBuilder = nleit_ClientMain_systemErr;
            $strBefore = $rt_s(78);
            $ptr = 20;
        case 20:
            ji_PrintStream_println0($strBeforeBuilder, $strBefore);
            if ($rt_suspending()) {
                break main;
            }
            $strBeforeBuilder = $rt_s(79);
            $ptr = 21;
        case 21:
            $tmp = jl_String_split($t, $strBeforeBuilder);
            if ($rt_suspending()) {
                break main;
            }
            $s = $tmp;
            $i = 0;
            var$16 = $s.data;
            if ($i >= var$16.length) {
                if (ju_LinkedList_size($additionalInfo) <= 0)
                    return;
                $ptr = 29;
                continue main;
            }
            $t = nleit_ClientMain_systemErr;
            $strBeforeBuilder = var$16[$i];
            $strBefore = jl_StringBuilder__init_0();
            $el = $rt_s(80);
            $ptr = 23;
            continue main;
        case 22:
            try {
                $tmp = ju_AbstractSequentialList_iterator($additionalInfo);
                if ($rt_suspending()) {
                    break main;
                }
                $t = $tmp;
                $str = $strFinal;
                if (ju_LinkedList$SequentialListIterator_hasNext($t)) {
                    $str = $strFinal;
                    $ptr = 33;
                    continue main;
                }
                $str = $strFinal;
                jl_StringBuilder_append0($builderFinal, $strAfter);
                $ptr = 32;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $tt = $$je;
                } else {
                    throw $$e;
                }
            }
            $t = nleit_ClientMain_systemErr;
            $strBeforeBuilder = $rt_s(77);
            $ptr = 27;
            continue main;
        case 23:
            $tmp = jl_StringBuilder_append($strBefore, $el);
            if ($rt_suspending()) {
                break main;
            }
            $el = $tmp;
            $ptr = 24;
        case 24:
            jl_StringBuilder_append($el, $strBeforeBuilder);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 25;
        case 25:
            $tmp = jl_StringBuilder_toString($strBefore);
            if ($rt_suspending()) {
                break main;
            }
            $strBeforeBuilder = $tmp;
            $ptr = 26;
        case 26:
            ji_PrintStream_println0($t, $strBeforeBuilder);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            var$16 = $s.data;
            if ($i >= var$16.length) {
                if (ju_LinkedList_size($additionalInfo) <= 0)
                    return;
                $ptr = 29;
                continue main;
            }
            $t = nleit_ClientMain_systemErr;
            $strBeforeBuilder = var$16[$i];
            $strBefore = jl_StringBuilder__init_0();
            $el = $rt_s(80);
            $ptr = 23;
            continue main;
        case 27:
            ji_PrintStream_println0($t, $strBeforeBuilder);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 28;
        case 28:
            nle_EagRuntime_debugPrintStackTraceToSTDERR($tt);
            if ($rt_suspending()) {
                break main;
            }
            $strFinal = $str;
            if ($el === null) {
                $rt_globals.alert("Root element not found, crash report was printed to console");
                $t = nleit_ClientMain_systemErr;
                $ptr = 31;
                continue main;
            }
            $img = $doc.createElement("img");
            $div = $doc.createElement("div");
            $img.setAttribute("style", "z-index:100;position:absolute;top:10px;left:calc(50% - 151px);");
            $strBeforeBuilder = nleit_ClientMain_crashImageWrapper();
            $img.setAttribute("src", $rt_ustr($strBeforeBuilder));
            $div.setAttribute("style", "z-index:100;position:absolute;top:135px;left:10%;right:10%;bottom:50px;background-color:white;border:1px solid #cccccc;overflow-x:hidden;overflow-y:scroll;overflow-wrap:break-word;white-space:pre-wrap;font: 14px monospace;padding:10px;");
            $div.classList.add("_eaglercraftX_crash_element");
            $el.appendChild($img);
            $el.appendChild($div);
            $t = $doc.createTextNode($rt_ustr($strFinal));
            $div.appendChild($t);
            $ptr = 30;
            continue main;
        case 29:
            $tmp = ju_AbstractSequentialList_iterator($additionalInfo);
            if ($rt_suspending()) {
                break main;
            }
            $t = $tmp;
            if (!ju_LinkedList$SequentialListIterator_hasNext($t))
                return;
            $ptr = 34;
            continue main;
        case 30:
            nlei_PlatformRuntime_removeEventHandlers();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 31:
            ji_PrintStream_println0($t, $strFinal);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 32:
            a: {
                try {
                    $tmp = jl_StringBuilder_toString($builderFinal);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $strFinal = $tmp;
                    $str = $strFinal;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $tt = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $t = nleit_ClientMain_systemErr;
                $strBeforeBuilder = $rt_s(77);
                $ptr = 27;
                continue main;
            }
            if ($el === null) {
                $rt_globals.alert("Root element not found, crash report was printed to console");
                $t = nleit_ClientMain_systemErr;
                $ptr = 31;
                continue main;
            }
            $img = $doc.createElement("img");
            $div = $doc.createElement("div");
            $img.setAttribute("style", "z-index:100;position:absolute;top:10px;left:calc(50% - 151px);");
            $strBeforeBuilder = nleit_ClientMain_crashImageWrapper();
            $img.setAttribute("src", $rt_ustr($strBeforeBuilder));
            $div.setAttribute("style", "z-index:100;position:absolute;top:135px;left:10%;right:10%;bottom:50px;background-color:white;border:1px solid #cccccc;overflow-x:hidden;overflow-y:scroll;overflow-wrap:break-word;white-space:pre-wrap;font: 14px monospace;padding:10px;");
            $div.classList.add("_eaglercraftX_crash_element");
            $el.appendChild($img);
            $el.appendChild($div);
            $t = $doc.createTextNode($rt_ustr($strFinal));
            $div.appendChild($t);
            $ptr = 30;
            continue main;
        case 33:
            try {
                $tmp = ju_LinkedList$SequentialListIterator_next($t);
                if ($rt_suspending()) {
                    break main;
                }
                $strBeforeBuilder = $tmp;
                $str2 = $strBeforeBuilder;
                jl_StringBuilder_append0($builderFinal, $rt_s(81));
                jl_StringBuilder_append5(jl_StringBuilder_append0($builderFinal, $str2), 10);
                jl_StringBuilder_append0($builderFinal, $rt_s(82));
                $str = $strFinal;
                if (ju_LinkedList$SequentialListIterator_hasNext($t)) {
                    $str = $strFinal;
                    continue main;
                }
                $str = $strFinal;
                jl_StringBuilder_append0($builderFinal, $strAfter);
                $ptr = 32;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $tt = $$je;
                } else {
                    throw $$e;
                }
            }
            $t = nleit_ClientMain_systemErr;
            $strBeforeBuilder = $rt_s(77);
            $ptr = 27;
            continue main;
        case 34:
            $tmp = ju_LinkedList$SequentialListIterator_next($t);
            if ($rt_suspending()) {
                break main;
            }
            $strBeforeBuilder = $tmp;
            $str2 = $strBeforeBuilder;
            if ($str2 !== null) {
                $strBeforeBuilder = nleit_ClientMain_systemErr;
                $ptr = 35;
                continue main;
            }
            if (!ju_LinkedList$SequentialListIterator_hasNext($t))
                return;
            continue main;
        case 35:
            ji_PrintStream_println($strBeforeBuilder);
            if ($rt_suspending()) {
                break main;
            }
            $strBeforeBuilder = nleit_ClientMain_systemErr;
            $strBefore = $rt_s(83);
            $ptr = 36;
        case 36:
            ji_PrintStream_println0($strBeforeBuilder, $strBefore);
            if ($rt_suspending()) {
                break main;
            }
            $strBeforeBuilder = $rt_s(79);
            $ptr = 37;
        case 37:
            $tmp = jl_String_split($str2, $strBeforeBuilder);
            if ($rt_suspending()) {
                break main;
            }
            $s = $tmp;
            $i = 0;
            var$16 = $s.data;
            if ($i >= var$16.length) {
                $strBeforeBuilder = nleit_ClientMain_systemErr;
                $strBefore = $rt_s(84);
                $ptr = 38;
                continue main;
            }
            $strBeforeBuilder = nleit_ClientMain_systemErr;
            $strBefore = var$16[$i];
            $el = jl_StringBuilder__init_0();
            $str = $rt_s(80);
            $ptr = 39;
            continue main;
        case 38:
            ji_PrintStream_println0($strBeforeBuilder, $strBefore);
            if ($rt_suspending()) {
                break main;
            }
            if (!ju_LinkedList$SequentialListIterator_hasNext($t))
                return;
            $ptr = 34;
            continue main;
        case 39:
            $tmp = jl_StringBuilder_append($el, $str);
            if ($rt_suspending()) {
                break main;
            }
            $str = $tmp;
            $ptr = 40;
        case 40:
            jl_StringBuilder_append($str, $strBefore);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 41;
        case 41:
            $tmp = jl_StringBuilder_toString($el);
            if ($rt_suspending()) {
                break main;
            }
            $strBefore = $tmp;
            $ptr = 42;
        case 42:
            ji_PrintStream_println0($strBeforeBuilder, $strBefore);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            var$16 = $s.data;
            if ($i >= var$16.length) {
                $strBeforeBuilder = nleit_ClientMain_systemErr;
                $strBefore = $rt_s(84);
                $ptr = 38;
                continue main;
            }
            $strBeforeBuilder = nleit_ClientMain_systemErr;
            $strBefore = var$16[$i];
            $el = jl_StringBuilder__init_0();
            $str = $rt_s(80);
            $ptr = 39;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($t, $strBeforeBuilder, $strBefore, $doc, $el, $str, $strAfter, $strFinal, $additionalInfo, $tt, $builderFinal, $img, $div, $s, $i, var$16, $str2, $ptr);
    }
    function nleit_ClientMain_addWebGLToCrash() {
        var $ret, $tt, $ctx, $experimental, var$5, $id, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$id = $thread.pop();var$5 = $thread.pop();$experimental = $thread.pop();$ctx = $thread.pop();$tt = $thread.pop();$ret = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_ClientMain_$callClinit();
            $ret = nleit_ClientMain_webGLCrashStringCache;
            if ($ret !== null)
                return $ret;
            try {
                $ret = jl_StringBuilder__init_0();
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $tt = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 2;
            continue main;
        case 1:
            try {
                nlei_PlatformRuntime_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                $ctx = nlei_PlatformRuntime_webgl;
                $experimental = nlei_PlatformRuntime_webglExperimental;
                if ($ctx === null) {
                    $experimental = 0;
                    var$5 = $rt_globals.window.document.createElement("canvas");
                    $ctx = 64;
                    var$5.width = $ctx;
                    $ctx = 64;
                    var$5.height = $ctx;
                    $ctx = var$5.getContext("webgl2");
                    if ($ctx === null) {
                        $ctx = var$5.getContext("webgl");
                        if ($ctx === null) {
                            $experimental = 1;
                            $ctx = var$5.getContext("experimental-webgl");
                        }
                    }
                }
                if ($ctx === null) {
                    jl_StringBuilder_append0($ret, $rt_s(85));
                    $ptr = 6;
                    continue main;
                }
                if (nlei_PlatformRuntime_webgl !== null)
                    jl_StringBuilder_append5(jl_StringBuilder_append0(jl_StringBuilder_append0($ret, $rt_s(86)), $rt_str($ctx.getParameter(7938))), 10);
                if ($ctx.getExtension("WEBGL_debug_renderer_info") !== null) {
                    jl_StringBuilder_append5(jl_StringBuilder_append0(jl_StringBuilder_append0($ret, $rt_s(87)), $rt_str($ctx.getParameter(37446))), 10);
                    jl_StringBuilder_append5(jl_StringBuilder_append0(jl_StringBuilder_append0($ret, $rt_s(88)), $rt_str($ctx.getParameter(37445))), 10);
                } else {
                    jl_StringBuilder_append5(jl_StringBuilder_append0(jl_StringBuilder_append0(jl_StringBuilder_append0($ret, $rt_s(87)), $rt_str($ctx.getParameter(7937))), $rt_s(89)), 10);
                    jl_StringBuilder_append5(jl_StringBuilder_append0(jl_StringBuilder_append0(jl_StringBuilder_append0($ret, $rt_s(88)), $rt_str($ctx.getParameter(7936))), $rt_s(89)), 10);
                }
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $tt = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 2;
        case 2:
            $tmp = jl_Throwable_toString($tt);
            if ($rt_suspending()) {
                break main;
            }
            $ret = $tmp;
            $ctx = jl_StringBuilder__init_0();
            $tt = $rt_s(90);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append($ctx, $tt);
            if ($rt_suspending()) {
                break main;
            }
            $tt = $tmp;
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append($tt, $ret);
            if ($rt_suspending()) {
                break main;
            }
            $ret = $tmp;
            jl_StringBuilder_append5($ret, 10);
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_toString($ctx);
            if ($rt_suspending()) {
                break main;
            }
            $ret = $tmp;
            nleit_ClientMain_webGLCrashStringCache = $ret;
            return $ret;
        case 6:
            a: {
                try {
                    $tmp = jl_StringBuilder_toString($ret);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $ret = $tmp;
                    nleit_ClientMain_webGLCrashStringCache = $ret;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $tt = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $ret;
            }
            $ptr = 2;
            continue main;
        case 7:
            try {
                $tmp = nlei_PlatformOpenGL_checkOpenGLESVersion();
                if ($rt_suspending()) {
                    break main;
                }
                $id = $tmp;
                if ($id > 0) {
                    jl_StringBuilder_append5(jl_StringBuilder_append1(jl_StringBuilder_append0(jl_StringBuilder_append5($ret, 10), $rt_s(91)), $id), 10);
                    jl_StringBuilder_append5(jl_StringBuilder_append6(jl_StringBuilder_append0($ret, $rt_s(92)), $experimental), 10);
                    if ($id == 200) {
                        $tt = jl_StringBuilder_append0($ret, $rt_s(93));
                        $id = $ctx.getExtension("ANGLE_instanced_arrays") === null ? 0 : 1;
                        jl_StringBuilder_append5(jl_StringBuilder_append6($tt, $id), 10);
                        $tt = jl_StringBuilder_append0($ret, $rt_s(94));
                        $id = $ctx.getExtension("EXT_color_buffer_half_float") === null ? 0 : 1;
                        jl_StringBuilder_append5(jl_StringBuilder_append6($tt, $id), 10);
                        $tt = jl_StringBuilder_append0($ret, $rt_s(95));
                        $id = $ctx.getExtension("EXT_shader_texture_lod") === null ? 0 : 1;
                        jl_StringBuilder_append5(jl_StringBuilder_append6($tt, $id), 10);
                        $tt = jl_StringBuilder_append0($ret, $rt_s(96));
                        $id = $ctx.getExtension("OES_fbo_render_mipmap") === null ? 0 : 1;
                        jl_StringBuilder_append5(jl_StringBuilder_append6($tt, $id), 10);
                        $tt = jl_StringBuilder_append0($ret, $rt_s(97));
                        $id = $ctx.getExtension("OES_texture_float") === null ? 0 : 1;
                        jl_StringBuilder_append5(jl_StringBuilder_append6($tt, $id), 10);
                        $tt = jl_StringBuilder_append0($ret, $rt_s(98));
                        $id = $ctx.getExtension("OES_texture_half_float") === null ? 0 : 1;
                        jl_StringBuilder_append5(jl_StringBuilder_append6($tt, $id), 10);
                        jl_StringBuilder_append5(jl_StringBuilder_append6(jl_StringBuilder_append0($ret, $rt_s(99)), $ctx.getExtension("OES_texture_half_float_linear") === null ? 0 : 1), 10);
                    } else if ($id >= 300) {
                        $tt = jl_StringBuilder_append0($ret, $rt_s(100));
                        $id = $ctx.getExtension("EXT_color_buffer_float") === null ? 0 : 1;
                        jl_StringBuilder_append5(jl_StringBuilder_append6($tt, $id), 10);
                        $tt = jl_StringBuilder_append0($ret, $rt_s(94));
                        $id = $ctx.getExtension("EXT_color_buffer_half_float") === null ? 0 : 1;
                        jl_StringBuilder_append5(jl_StringBuilder_append6($tt, $id), 10);
                        jl_StringBuilder_append5(jl_StringBuilder_append6(jl_StringBuilder_append0($ret, $rt_s(101)), $ctx.getExtension("OES_texture_float_linear") === null ? 0 : 1), 10);
                    }
                    jl_StringBuilder_append5(jl_StringBuilder_append6(jl_StringBuilder_append0($ret, $rt_s(102)), $ctx.getExtension("EXT_texture_filter_anisotropic") === null ? 0 : 1), 10);
                } else {
                    $tt = jl_StringBuilder_append0($ret, $rt_s(93));
                    $id = $ctx.getExtension("ANGLE_instanced_arrays") === null ? 0 : 1;
                    jl_StringBuilder_append5(jl_StringBuilder_append6($tt, $id), 10);
                    $tt = jl_StringBuilder_append0($ret, $rt_s(100));
                    $id = $ctx.getExtension("EXT_color_buffer_float") === null ? 0 : 1;
                    jl_StringBuilder_append5(jl_StringBuilder_append6($tt, $id), 10);
                    $tt = jl_StringBuilder_append0($ret, $rt_s(94));
                    $id = $ctx.getExtension("EXT_color_buffer_half_float") === null ? 0 : 1;
                    jl_StringBuilder_append5(jl_StringBuilder_append6($tt, $id), 10);
                    $tt = jl_StringBuilder_append0($ret, $rt_s(95));
                    $id = $ctx.getExtension("EXT_shader_texture_lod") === null ? 0 : 1;
                    jl_StringBuilder_append5(jl_StringBuilder_append6($tt, $id), 10);
                    $tt = jl_StringBuilder_append0($ret, $rt_s(96));
                    $id = $ctx.getExtension("OES_fbo_render_mipmap") === null ? 0 : 1;
                    jl_StringBuilder_append5(jl_StringBuilder_append6($tt, $id), 10);
                    $tt = jl_StringBuilder_append0($ret, $rt_s(97));
                    $id = $ctx.getExtension("OES_texture_float") === null ? 0 : 1;
                    jl_StringBuilder_append5(jl_StringBuilder_append6($tt, $id), 10);
                    $tt = jl_StringBuilder_append0($ret, $rt_s(101));
                    $id = $ctx.getExtension("OES_texture_float_linear") === null ? 0 : 1;
                    jl_StringBuilder_append5(jl_StringBuilder_append6($tt, $id), 10);
                    $tt = jl_StringBuilder_append0($ret, $rt_s(98));
                    $id = $ctx.getExtension("OES_texture_half_float") === null ? 0 : 1;
                    jl_StringBuilder_append5(jl_StringBuilder_append6($tt, $id), 10);
                    $tt = jl_StringBuilder_append0($ret, $rt_s(99));
                    $id = $ctx.getExtension("OES_texture_half_float_linear") === null ? 0 : 1;
                    jl_StringBuilder_append5(jl_StringBuilder_append6($tt, $id), 10);
                    jl_StringBuilder_append5(jl_StringBuilder_append6(jl_StringBuilder_append0($ret, $rt_s(102)), $ctx.getExtension("EXT_texture_filter_anisotropic") === null ? 0 : 1), 10);
                }
                $ptr = 6;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $tt = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ret, $tt, $ctx, $experimental, var$5, $id, $ptr);
    }
    function nleit_ClientMain_addShimsToCrash() {
        var $ret, $tt, $status, $shims, $shim, $b, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$b = $thread.pop();$shim = $thread.pop();$shims = $thread.pop();$status = $thread.pop();$tt = $thread.pop();$ret = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_ClientMain_$callClinit();
            $ret = nleit_ClientMain_shimsCrashStringCache;
            if ($ret !== null)
                return $ret;
            try {
                $ret = jl_StringBuilder__init_0();
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $tt = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 6;
            continue main;
        case 1:
            try {
                $tmp = nleit_ES6ShimStatus_getRuntimeStatus();
                if ($rt_suspending()) {
                    break main;
                }
                $status = $tmp;
                $shims = jl_StringBuilder_append0($ret, $rt_s(103));
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $tt = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 6;
            continue main;
        case 2:
            try {
                $tmp = nleit_ES6ShimStatus_getStatus($status);
                if ($rt_suspending()) {
                    break main;
                }
                $shim = $tmp;
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $tt = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 6;
            continue main;
        case 3:
            try {
                $tmp = jl_StringBuilder_append($shims, $shim);
                if ($rt_suspending()) {
                    break main;
                }
                $shims = $tmp;
                jl_StringBuilder_append5($shims, 10);
                jl_StringBuilder_append0($ret, $rt_s(104));
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $tt = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 6;
            continue main;
        case 4:
            try {
                $tmp = nleit_ES6ShimStatus_getShims($status);
                if ($rt_suspending()) {
                    break main;
                }
                $shims = $tmp;
                $b = 0;
                $ptr = 5;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $tt = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 6;
            continue main;
        case 5:
            try {
                $tmp = ju_GenericEnumSet_iterator($shims);
                if ($rt_suspending()) {
                    break main;
                }
                $status = $tmp;
                if (ju_GenericEnumSet$1_hasNext($status)) {
                    $ptr = 11;
                    continue main;
                }
                jl_StringBuilder_append0($ret, $rt_s(105));
                $ptr = 10;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $tt = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 6;
        case 6:
            $tmp = jl_Throwable_toString($tt);
            if ($rt_suspending()) {
                break main;
            }
            $ret = $tmp;
            $status = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($status);
            $shims = $rt_s(106);
            $ptr = 7;
        case 7:
            $tmp = jl_StringBuilder_append($status, $shims);
            if ($rt_suspending()) {
                break main;
            }
            $shims = $tmp;
            $ptr = 8;
        case 8:
            $tmp = jl_StringBuilder_append($shims, $ret);
            if ($rt_suspending()) {
                break main;
            }
            $ret = $tmp;
            jl_AbstractStringBuilder_append($ret, 10);
            $ptr = 9;
        case 9:
            $tmp = jl_AbstractStringBuilder_toString($status);
            if ($rt_suspending()) {
                break main;
            }
            $ret = $tmp;
            nleit_ClientMain_shimsCrashStringCache = $ret;
            return $ret;
        case 10:
            a: {
                try {
                    $tmp = jl_StringBuilder_toString($ret);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $ret = $tmp;
                    nleit_ClientMain_shimsCrashStringCache = $ret;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $tt = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $ret;
            }
            $ptr = 6;
            continue main;
        case 11:
            try {
                $tmp = ju_GenericEnumSet$1_next($status);
                if ($rt_suspending()) {
                    break main;
                }
                $shims = $tmp;
                $shim = $shims;
                if ($b)
                    jl_StringBuilder_append0($ret, $rt_s(107));
                $ptr = 12;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $tt = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 6;
            continue main;
        case 12:
            try {
                jl_StringBuilder_append($ret, $shim);
                if ($rt_suspending()) {
                    break main;
                }
                $b = 1;
                if (ju_GenericEnumSet$1_hasNext($status)) {
                    $ptr = 11;
                    continue main;
                }
                jl_StringBuilder_append0($ret, $rt_s(105));
                $ptr = 10;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $tt = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ret, $tt, $status, $shims, $shim, $b, $ptr);
    }
    function nleit_ClientMain_showIncompatibleScreen($t) {
        var $doc, $el, $webGLRenderer, $s, $div, $r, $img, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$img = $thread.pop();$r = $thread.pop();$div = $thread.pop();$s = $thread.pop();$webGLRenderer = $thread.pop();$el = $thread.pop();$doc = $thread.pop();$t = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_ClientMain_$callClinit();
            if (nleit_ClientMain_isCrashed)
                return;
            nleit_ClientMain_isCrashed = 1;
            $doc = $rt_globals.window.document;
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $el = nlei_PlatformRuntime_parent;
            if ($el === null) {
                if (nleit_ClientMain_configRootElement === null) {
                    $el = nleit_ClientMain_configRootElementId;
                    nleit_ClientMain_configRootElement = $doc.getElementById($rt_ustr($el));
                }
                $el = nleit_ClientMain_configRootElement;
            }
            if ($el === null) {
                $el = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($el);
                $webGLRenderer = $rt_s(108);
                $ptr = 2;
                continue main;
            }
            $s = $rt_str($el.getAttribute("style"));
            $webGLRenderer = $rt_s(109);
            if ($s === null)
                $s = $rt_s(3);
            $div = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($div);
            $ptr = 9;
            continue main;
        case 2:
            $tmp = jl_StringBuilder_append($el, $webGLRenderer);
            if ($rt_suspending()) {
                break main;
            }
            $webGLRenderer = $tmp;
            $ptr = 3;
        case 3:
            jl_StringBuilder_append($webGLRenderer, $t);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString($el);
            if ($rt_suspending()) {
                break main;
            }
            $el = $tmp;
            $rt_globals.alert($rt_ustr($el));
            $el = jl_System_err();
            $webGLRenderer = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($webGLRenderer);
            $s = $rt_s(108);
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append($webGLRenderer, $s);
            if ($rt_suspending()) {
                break main;
            }
            $s = $tmp;
            $ptr = 6;
        case 6:
            jl_StringBuilder_append($s, $t);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString($webGLRenderer);
            if ($rt_suspending()) {
                break main;
            }
            $t = $tmp;
            $ptr = 8;
        case 8:
            ji_PrintStream_println0($el, $t);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 9:
            $tmp = jl_StringBuilder_append($div, $s);
            if ($rt_suspending()) {
                break main;
            }
            $s = $tmp;
            $r = $rt_s(110);
            $ptr = 10;
        case 10:
            jl_StringBuilder_append($s, $r);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            $tmp = jl_AbstractStringBuilder_toString($div);
            if ($rt_suspending()) {
                break main;
            }
            $s = $tmp;
            $el.setAttribute($rt_ustr($webGLRenderer), $rt_ustr($s));
            $img = $doc.createElement("img");
            $div = $doc.createElement("div");
            $img.setAttribute("style", "z-index:100;position:absolute;top:10px;left:calc(50% - 151px);");
            $s = nleit_ClientMain_crashImageWrapper();
            $img.setAttribute("src", $rt_ustr($s));
            $div.setAttribute("style", "z-index:100;position:absolute;top:135px;left:10%;right:10%;bottom:50px;background-color:white;border:1px solid #cccccc;overflow-x:hidden;overflow-y:scroll;font:18px sans-serif;padding:40px;");
            $div.classList.add("_eaglercraftX_incompatible_element");
            $el.appendChild($img);
            $el.appendChild($div);
            $webGLRenderer = new jt_SimpleDateFormat;
            $el = $rt_s(50);
            $ptr = 12;
        case 12:
            jt_SimpleDateFormat__init_0($webGLRenderer, $el);
            if ($rt_suspending()) {
                break main;
            }
            $el = ju_Date__init_0();
            $ptr = 13;
        case 13:
            $tmp = jt_DateFormat_format($webGLRenderer, $el);
            if ($rt_suspending()) {
                break main;
            }
            $el = $tmp;
            $webGLRenderer = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($webGLRenderer);
            $s = $rt_s(111);
            $ptr = 14;
        case 14:
            $tmp = jl_StringBuilder_append($webGLRenderer, $s);
            if ($rt_suspending()) {
                break main;
            }
            $s = $tmp;
            $ptr = 15;
        case 15:
            $tmp = jl_StringBuilder_append($s, $el);
            if ($rt_suspending()) {
                break main;
            }
            $el = $tmp;
            $s = $rt_s(112);
            $ptr = 16;
        case 16:
            jl_StringBuilder_append($el, $s);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            $tmp = jl_AbstractStringBuilder_toString($webGLRenderer);
            if ($rt_suspending()) {
                break main;
            }
            $el = $tmp;
            $el = $rt_ustr($el);
            $div.innerHTML = $el;
            $el = $div.querySelector("#_eaglercraftX_crashReason");
            $t = $doc.createTextNode($rt_ustr($t));
            $el.appendChild($t);
            $el = $div.querySelector("#_eaglercraftX_crashUserAgent");
            $t = $rt_str(nleit_ClientMain_getStringNav$js_body$_17("userAgent"));
            $t = $doc.createTextNode($rt_ustr($t));
            $el.appendChild($t);
            $ptr = 18;
        case 18:
            nlei_PlatformRuntime_removeEventHandlers();
            if ($rt_suspending()) {
                break main;
            }
            $webGLRenderer = $rt_s(113);
            a: {
                try {
                    $el = $webGLRenderer;
                    $s = $rt_globals.window.document.createElement("canvas");
                    $t = 64;
                    $s.width = $t;
                    $t = 64;
                    $s.height = $t;
                    $r = $s.getContext("webgl");
                    if ($r === null)
                        $r = $webGLRenderer;
                    else {
                        $el = $webGLRenderer;
                        if ($r.getExtension("WEBGL_debug_renderer_info") !== null) {
                            $el = $webGLRenderer;
                            $r = $rt_str($r.getParameter(37446));
                        } else {
                            $el = $webGLRenderer;
                            $r = $rt_str($r.getParameter(7937));
                            if ($r !== null) {
                                $el = $webGLRenderer;
                                $t = jl_StringBuilder__init_0();
                                $ptr = 19;
                                continue main;
                            }
                        }
                        $el = $webGLRenderer;
                        if ($r === null)
                            $r = $webGLRenderer;
                        else {
                            $el = $r;
                            $el = $webGLRenderer;
                        }
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                $r = $el;
            }
            $t = $div.querySelector("#_eaglercraftX_crashWebGL");
            $el = $doc.createTextNode($rt_ustr($r));
            $t.appendChild($el);
            return;
        case 19:
            try {
                $tmp = jl_StringBuilder_append($t, $r);
                if ($rt_suspending()) {
                    break main;
                }
                $s = $tmp;
                $r = $rt_s(89);
                $ptr = 20;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            $r = $el;
            $t = $div.querySelector("#_eaglercraftX_crashWebGL");
            $el = $doc.createTextNode($rt_ustr($r));
            $t.appendChild($el);
            return;
        case 20:
            try {
                jl_StringBuilder_append($s, $r);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 21;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            $r = $el;
            $t = $div.querySelector("#_eaglercraftX_crashWebGL");
            $el = $doc.createTextNode($rt_ustr($r));
            $t.appendChild($el);
            return;
        case 21:
            a: {
                try {
                    $tmp = jl_StringBuilder_toString($t);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $r = $tmp;
                    $el = $webGLRenderer;
                    $el = $webGLRenderer;
                    if ($r === null)
                        $r = $webGLRenderer;
                    else {
                        $el = $r;
                        $el = $webGLRenderer;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                $r = $el;
            }
            $t = $div.querySelector("#_eaglercraftX_crashWebGL");
            $el = $doc.createTextNode($rt_ustr($r));
            $t.appendChild($el);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($t, $doc, $el, $webGLRenderer, $s, $div, $r, $img, $ptr);
    }
    function nleit_ClientMain_addDebug($str, $var) {
        nleit_ClientMain_$callClinit();
        jl_AbstractStringBuilder_append2($str, $rt_s(114));
        jl_AbstractStringBuilder_append2($str, $var);
        jl_AbstractStringBuilder_append2($str, $rt_s(115));
        jl_AbstractStringBuilder_append2($str, $rt_str(nleit_ClientMain_getString$js_body$_16($rt_ustr($var))));
        jl_AbstractStringBuilder_append($str, 10);
    }
    function nleit_ClientMain_addDebugNav($str, $var) {
        nleit_ClientMain_$callClinit();
        jl_AbstractStringBuilder_append2($str, $rt_s(116));
        jl_AbstractStringBuilder_append2($str, $var);
        jl_AbstractStringBuilder_append2($str, $rt_s(115));
        jl_AbstractStringBuilder_append2($str, $rt_str(nleit_ClientMain_getStringNav$js_body$_17($rt_ustr($var))));
        jl_AbstractStringBuilder_append($str, 10);
    }
    function nleit_ClientMain_addDebugNavPlugins($str) {
        nleit_ClientMain_$callClinit();
        jl_AbstractStringBuilder_append2($str, $rt_s(117));
        jl_AbstractStringBuilder_append2($str, $rt_str(nleit_ClientMain_getStringNavPlugins$js_body$_20()));
        jl_AbstractStringBuilder_append($str, 10);
    }
    function nleit_ClientMain_addDebugScreen($str, $var) {
        nleit_ClientMain_$callClinit();
        jl_AbstractStringBuilder_append2($str, $rt_s(118));
        jl_AbstractStringBuilder_append2($str, $var);
        jl_AbstractStringBuilder_append2($str, $rt_s(115));
        jl_AbstractStringBuilder_append2($str, $rt_str(nleit_ClientMain_getStringScreen$js_body$_18($rt_ustr($var))));
        jl_AbstractStringBuilder_append($str, 10);
    }
    function nleit_ClientMain_addDebugLocation($str, $var) {
        nleit_ClientMain_$callClinit();
        jl_AbstractStringBuilder_append2($str, $rt_s(119));
        jl_AbstractStringBuilder_append2($str, $var);
        jl_AbstractStringBuilder_append2($str, $rt_s(115));
        jl_AbstractStringBuilder_append2($str, $rt_str(nleit_ClientMain_getStringLocation$js_body$_19($rt_ustr($var))));
        jl_AbstractStringBuilder_append($str, 10);
    }
    function nleit_ClientMain__clinit_() {
        nleit_ClientMain_systemOut = jl_System_out();
        nleit_ClientMain_systemErr = jl_System_err();
        nleit_ClientMain_windowErrorHandler = null;
        nleit_ClientMain_configRootElementId = null;
        nleit_ClientMain_configRootElement = null;
        nleit_ClientMain_configEPKFiles = null;
        nleit_ClientMain_configLocalesFolder = null;
        nleit_ClientMain_crashOnUncaughtExceptions = 0;
        nleit_ClientMain_isCrashed = 0;
        nleit_ClientMain_webGLCrashStringCache = null;
        nleit_ClientMain_shimsCrashStringCache = null;
        nleit_ClientMain_integratedServerCrashPanel = null;
        nleit_ClientMain_integratedServerCrashPanelShowing = 0;
    }
    function nleit_ClientMain_getRunningFlag$js_body$_2() {
        if (typeof $rt_globals.__isEaglerX188Running === "string" && $rt_globals.__isEaglerX188Running === "yes") return true;
        $rt_globals.__isEaglerX188Running = "yes";
        return false;
    }
    function nleit_ClientMain_getEaglerXOpts$js_body$_4() {
        if (typeof $rt_globals.eaglercraftXOpts === "undefined") {
            return null;
        } else if (typeof $rt_globals.eaglercraftXOpts === "string") {
            return $rt_globals.JSON.parse($rt_globals.eaglercraftXOpts);
        } else {
            return $rt_globals.eaglercraftXOpts;
        }
    }
    function nleit_ClientMain_setWindowErrorHandler$js_body$_5(var$1, var$2) {
        var evtHandler = function(e) {
            var$2(typeof e.message === "string" ? e.message : null, typeof e.filename === "string" ? e.filename : null, typeof e.lineno === "number" ? e.lineno : 0, typeof e.colno === "number" ? e.colno : 0, typeof e.error === "undefined" ? null : e.error);
        };
        var$1.addEventListener("error", evtHandler);
        return evtHandler;
    }
    function nleit_ClientMain_getString$js_body$_16(var$1) {
        try {
            return "" + $rt_globals.window[var$1];
        } catch (e){
            return "<error>";
        }
    }
    function nleit_ClientMain_getStringNav$js_body$_17(var$1) {
        try {
            return "" + $rt_globals.window.navigator[var$1];
        } catch (e){
            return "<error>";
        }
    }
    function nleit_ClientMain_getStringScreen$js_body$_18(var$1) {
        try {
            return "" + $rt_globals.window.screen[var$1];
        } catch (e){
            return "<error>";
        }
    }
    function nleit_ClientMain_getStringLocation$js_body$_19(var$1) {
        try {
            return "" + $rt_globals.window.location[var$1];
        } catch (e){
            return "<error>";
        }
    }
    function nleit_ClientMain_getStringNavPlugins$js_body$_20() {
        try {
            var retObj = new $rt_globals.Array();
            if (typeof $rt_globals.navigator.plugins === "object") {
                var len = $rt_globals.navigator.plugins.length;
                if (len > 0) {
                    for (var idx = 0;idx < len;++idx) {
                        var thePlugin = $rt_globals.navigator.plugins[idx];
                        retObj.push({ name : thePlugin.name, filename : thePlugin.filename, desc : thePlugin.description });
                    }
                }
            }
            return $rt_globals.JSON.stringify(retObj);
        } catch (e){
            return "<error>";
        }
    }
    var ju_Comparator = $rt_classWithoutFields(0);
    var jl_String$_clinit_$lambda$_93_0 = $rt_classWithoutFields();
    function jl_String$_clinit_$lambda$_93_0__init_0() {
        var var_0 = new jl_String$_clinit_$lambda$_93_0();
        jl_String$_clinit_$lambda$_93_0__init_(var_0);
        return var_0;
    }
    function jl_String$_clinit_$lambda$_93_0__init_(var$0) {}
    var jl_IndexOutOfBoundsException = $rt_classWithoutFields(jl_RuntimeException);
    function jl_IndexOutOfBoundsException__init_0() {
        var var_0 = new jl_IndexOutOfBoundsException();
        jl_IndexOutOfBoundsException__init_(var_0);
        return var_0;
    }
    function jl_IndexOutOfBoundsException__init_($this) {
        jl_Throwable__init_0($this);
    }
    var jlr_Array = $rt_classWithoutFields();
    function jlr_Array__init_0() {
        var var_0 = new jlr_Array();
        jlr_Array__init_(var_0);
        return var_0;
    }
    function jlr_Array__init_($this) {}
    function jlr_Array_getLength(var$1) {
        if (var$1 === null || var$1.constructor.$meta.item === undefined) {
            $rt_throw(jl_IllegalArgumentException__init_0());
        }
        return var$1.data.length;
    }
    function jlr_Array_newInstance($componentType, $length) {
        if ($componentType === null) {
            $componentType = new jl_NullPointerException;
            jl_Throwable__init_0($componentType);
            $rt_throw($componentType);
        }
        if ($componentType === $rt_cls($rt_voidcls())) {
            $componentType = new jl_IllegalArgumentException;
            jl_Throwable__init_0($componentType);
            $rt_throw($componentType);
        }
        if ($length >= 0)
            return jlr_Array_newInstanceImpl($componentType.$platformClass, $length);
        $componentType = new jl_NegativeArraySizeException;
        jl_Throwable__init_0($componentType);
        $rt_throw($componentType);
    }
    function jlr_Array_newInstanceImpl(var$1, var$2) {
        if (var$1.$meta.primitive) {
            if (var$1 == $rt_bytecls()) {
                return $rt_createByteArray(var$2);
            }
            if (var$1 == $rt_shortcls()) {
                return $rt_createShortArray(var$2);
            }
            if (var$1 == $rt_charcls()) {
                return $rt_createCharArray(var$2);
            }
            if (var$1 == $rt_intcls()) {
                return $rt_createIntArray(var$2);
            }
            if (var$1 == $rt_longcls()) {
                return $rt_createLongArray(var$2);
            }
            if (var$1 == $rt_floatcls()) {
                return $rt_createFloatArray(var$2);
            }
            if (var$1 == $rt_doublecls()) {
                return $rt_createDoubleArray(var$2);
            }
            if (var$1 == $rt_booleancls()) {
                return $rt_createBooleanArray(var$2);
            }
        } else {
            return $rt_createArray(var$1, var$2)
        }
    }
    var jl_NullPointerException = $rt_classWithoutFields(jl_RuntimeException);
    function jl_NullPointerException__init_() {
        var var_0 = new jl_NullPointerException();
        jl_NullPointerException__init_0(var_0);
        return var_0;
    }
    function jl_NullPointerException__init_0($this) {
        jl_Throwable__init_0($this);
    }
    var jl_ArrayStoreException = $rt_classWithoutFields(jl_RuntimeException);
    function jl_ArrayStoreException__init_0() {
        var var_0 = new jl_ArrayStoreException();
        jl_ArrayStoreException__init_(var_0);
        return var_0;
    }
    function jl_ArrayStoreException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function jl_Character() {
        jl_Object.call(this);
        this.$value0 = 0;
    }
    var jl_Character_TYPE = null;
    var jl_Character_digitMapping = null;
    var jl_Character_upperCaseMapping = null;
    var jl_Character_lowerCaseMapping = null;
    var jl_Character_classMapping = null;
    var jl_Character_characterCache = null;
    var jl_Character_$$metadata$$0 = null;
    var jl_Character_$$metadata$$1 = null;
    var jl_Character_$$metadata$$3 = null;
    var jl_Character_$$metadata$$4 = null;
    function jl_Character__init_(var_0) {
        var var_1 = new jl_Character();
        jl_Character__init_0(var_1, var_0);
        return var_1;
    }
    function jl_Character__init_0($this, $value) {
        $this.$value0 = $value;
    }
    function jl_Character_valueOf($value) {
        var var$2, $result;
        var$2 = jl_Character_characterCache.data;
        if ($value >= var$2.length)
            return jl_Character__init_($value);
        $result = var$2[$value];
        if ($result === null) {
            $result = jl_Character__init_($value);
            jl_Character_characterCache.data[$value] = $result;
        }
        return $result;
    }
    function jl_Character_toString($this) {
        return jl_Character_toString0($this.$value0);
    }
    function jl_Character_equals($this, $other) {
        if ($this === $other)
            return 1;
        return $other instanceof jl_Character && $other.$value0 == $this.$value0 ? 1 : 0;
    }
    function jl_Character_hashCode($this) {
        return $this.$value0;
    }
    function jl_Character_toString0($c) {
        var var$2, var$3;
        var$2 = new jl_String;
        var$3 = $rt_createCharArray(1);
        var$3.data[0] = $c;
        jl_String__init_2(var$2, var$3);
        return var$2;
    }
    function jl_Character_isSupplementaryCodePoint($codePoint) {
        return $codePoint >= 65536 && $codePoint <= 1114111 ? 1 : 0;
    }
    function jl_Character_isHighSurrogate($ch) {
        return ($ch & 64512) != 55296 ? 0 : 1;
    }
    function jl_Character_isLowSurrogate($ch) {
        return ($ch & 64512) != 56320 ? 0 : 1;
    }
    function jl_Character_isSurrogate($ch) {
        return !jl_Character_isHighSurrogate($ch) && !jl_Character_isLowSurrogate($ch) ? 0 : 1;
    }
    function jl_Character_isSurrogatePair($high, $low) {
        return jl_Character_isHighSurrogate($high) && jl_Character_isLowSurrogate($low) ? 1 : 0;
    }
    function jl_Character_toCodePoint($high, $low) {
        return (($high & 1023) << 10 | $low & 1023) + 65536 | 0;
    }
    function jl_Character_highSurrogate($codePoint) {
        return (55296 | ($codePoint - 65536 | 0) >> 10 & 1023) & 65535;
    }
    function jl_Character_lowSurrogate($codePoint) {
        return (56320 | $codePoint & 1023) & 65535;
    }
    function jl_Character_toLowerCase($ch) {
        return jl_Character_toLowerCase0($ch) & 65535;
    }
    function jl_Character_toLowerCase0($ch) {
        if (jl_Character_lowerCaseMapping === null) {
            if (jl_Character_$$metadata$$0 === null)
                jl_Character_$$metadata$$0 = jl_Character_acquireLowerCaseMapping$$create();
            jl_Character_lowerCaseMapping = otciu_UnicodeHelper_createCharMapping(otciu_UnicodeHelper_decodeCaseMapping((jl_Character_$$metadata$$0.value !== null ? $rt_str(jl_Character_$$metadata$$0.value) : null)));
        }
        return jl_Character_mapChar(jl_Character_lowerCaseMapping, $ch);
    }
    function jl_Character_toUpperCase($ch) {
        return jl_Character_toUpperCase0($ch) & 65535;
    }
    function jl_Character_toUpperCase0($codePoint) {
        if (jl_Character_upperCaseMapping === null) {
            if (jl_Character_$$metadata$$1 === null)
                jl_Character_$$metadata$$1 = jl_Character_acquireUpperCaseMapping$$create();
            jl_Character_upperCaseMapping = otciu_UnicodeHelper_createCharMapping(otciu_UnicodeHelper_decodeCaseMapping((jl_Character_$$metadata$$1.value !== null ? $rt_str(jl_Character_$$metadata$$1.value) : null)));
        }
        return jl_Character_mapChar(jl_Character_upperCaseMapping, $codePoint);
    }
    function jl_Character_mapChar($table, $codePoint) {
        var $binSearchTable, var$4, var$5, var$6, $index, var$8;
        $binSearchTable = $table.$fastTable.data;
        if ($codePoint < $binSearchTable.length)
            return $codePoint + $binSearchTable[$codePoint] | 0;
        $binSearchTable = $table.$binarySearchTable.data;
        var$4 = 0;
        var$5 = $binSearchTable.length;
        var$6 = (var$5 / 2 | 0) - 1 | 0;
        a: {
            while (true) {
                $index = (var$4 + var$6 | 0) / 2 | 0;
                var$8 = $rt_compare($binSearchTable[$index * 2 | 0], $codePoint);
                if (!var$8)
                    break;
                if (var$8 <= 0) {
                    var$4 = $index + 1 | 0;
                    if (var$4 > var$6)
                        break a;
                } else {
                    $index = $index - 1 | 0;
                    if ($index < var$4)
                        break a;
                    var$6 = $index;
                }
            }
        }
        if ($index >= 0) {
            $index = $index * 2 | 0;
            if ($index < var$5)
                return $codePoint + $binSearchTable[$index + 1 | 0] | 0;
        }
        return 0;
    }
    function jl_Character_digit($ch, $radix) {
        if ($radix >= 2 && $radix <= 36) {
            $ch = jl_Character_getNumericValue($ch);
            if ($ch >= $radix)
                $ch = (-1);
        } else
            $ch = (-1);
        return $ch;
    }
    function jl_Character_getNumericValue($codePoint) {
        var var$2, var$3, var$4, var$5, $digitMapping, $u, $idx, $val, var$10, $l;
        if (jl_Character_digitMapping === null) {
            if (jl_Character_$$metadata$$3 === null)
                jl_Character_$$metadata$$3 = jl_Character_obtainDigitMapping$$create();
            var$2 = (jl_Character_$$metadata$$3.value !== null ? $rt_str(jl_Character_$$metadata$$3.value) : null);
            var$3 = otci_CharFlow__init_(jl_String_toCharArray(var$2));
            var$4 = otci_Base46_decodeUnsigned(var$3);
            var$5 = $rt_createIntArray(var$4 * 2 | 0);
            $digitMapping = var$5.data;
            $u = 0;
            $idx = 0;
            $val = 0;
            var$10 = 0;
            while (var$10 < var$4) {
                $idx = $idx + otci_Base46_decode(var$3) | 0;
                $val = $val + otci_Base46_decode(var$3) | 0;
                $l = $u + 1 | 0;
                $digitMapping[$u] = $idx;
                $u = $l + 1 | 0;
                $digitMapping[$l] = $val;
                var$10 = var$10 + 1 | 0;
            }
            jl_Character_digitMapping = var$5;
        }
        $digitMapping = jl_Character_digitMapping.data;
        $l = 0;
        $u = ($digitMapping.length / 2 | 0) - 1 | 0;
        while ($u >= $l) {
            $idx = ($l + $u | 0) / 2 | 0;
            var$4 = $idx * 2 | 0;
            $val = $rt_compare($codePoint, $digitMapping[var$4]);
            if ($val > 0)
                $l = $idx + 1 | 0;
            else {
                if ($val >= 0)
                    return $digitMapping[var$4 + 1 | 0];
                $u = $idx - 1 | 0;
            }
        }
        return (-1);
    }
    function jl_Character_forDigit($digit, $radix) {
        if ($radix >= 2 && $radix <= 36 && $digit >= 0 && $digit < $radix)
            return $digit < 10 ? (48 + $digit | 0) & 65535 : ((97 + $digit | 0) - 10 | 0) & 65535;
        return 0;
    }
    function jl_Character_toChars($codePoint) {
        var var$2;
        if ($codePoint < 65536) {
            var$2 = $rt_createCharArray(1);
            var$2.data[0] = $codePoint & 65535;
            return var$2;
        }
        return $rt_createCharArrayFromData([jl_Character_highSurrogate($codePoint), jl_Character_lowSurrogate($codePoint)]);
    }
    function jl_Character_getType($codePoint) {
        var $u, $range, $classes, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $l, $i;
        $u = $codePoint > 0 && $codePoint <= 65535 ? 1 : 0;
        if ($u && jl_Character_isSurrogate($codePoint & 65535))
            return 19;
        if (jl_Character_classMapping === null) {
            if (jl_Character_$$metadata$$4 === null)
                jl_Character_$$metadata$$4 = jl_Character_obtainClasses$$create();
            $range = (jl_Character_$$metadata$$4.value !== null ? $rt_str(jl_Character_$$metadata$$4.value) : null);
            $classes = $rt_createArray(otciu_UnicodeHelper$Range, 16384);
            var$5 = $classes.data;
            var$6 = $rt_createByteArray(16384);
            var$7 = var$6.data;
            var$8 = 0;
            var$9 = 0;
            var$10 = 0;
            var$11 = 0;
            while (var$11 < jl_String_length($range)) {
                var$12 = otciu_UnicodeHelper_decodeByte(jl_String_charAt($range, var$11));
                if (var$12 == 64) {
                    var$11 = var$11 + 1 | 0;
                    var$12 = otciu_UnicodeHelper_decodeByte(jl_String_charAt($range, var$11));
                    var$13 = 0;
                    $u = 1;
                    $l = 0;
                    while ($l < 3) {
                        var$11 = var$11 + 1 | 0;
                        var$13 = var$13 | $rt_imul($u, otciu_UnicodeHelper_decodeByte(jl_String_charAt($range, var$11)));
                        $u = $u * 64 | 0;
                        $l = $l + 1 | 0;
                    }
                } else if (var$12 < 32)
                    var$13 = 1;
                else {
                    var$12 = (var$12 - 32 | 0) << 24 >> 24;
                    var$11 = var$11 + 1 | 0;
                    var$13 = otciu_UnicodeHelper_decodeByte(jl_String_charAt($range, var$11));
                }
                if (!var$12 && var$13 >= 128) {
                    if (var$8 > 0) {
                        $u = var$9 + 1 | 0;
                        var$5[var$9] = otciu_UnicodeHelper$Range__init_(var$10, var$10 + var$8 | 0, ju_Arrays_copyOf1(var$6, var$8));
                        var$9 = $u;
                    }
                    var$10 = var$10 + (var$8 + var$13 | 0) | 0;
                    var$8 = 0;
                } else {
                    $u = var$8 + var$13 | 0;
                    if ($u < var$7.length)
                        $l = var$9;
                    else {
                        $l = var$9 + 1 | 0;
                        var$5[var$9] = otciu_UnicodeHelper$Range__init_(var$10, var$10 + var$8 | 0, ju_Arrays_copyOf1(var$6, var$8));
                        var$10 = var$10 + $u | 0;
                        var$8 = 0;
                    }
                    while (true) {
                        $u = var$13 + (-1) | 0;
                        if (var$13 <= 0)
                            break;
                        $i = var$8 + 1 | 0;
                        var$7[var$8] = var$12;
                        var$8 = $i;
                        var$13 = $u;
                    }
                    var$9 = $l;
                }
                var$11 = var$11 + 1 | 0;
            }
            jl_Character_classMapping = ju_Arrays_copyOf($classes, var$9);
        }
        $classes = jl_Character_classMapping.data;
        $l = 0;
        $u = $classes.length - 1 | 0;
        while ($l <= $u) {
            $i = ($l + $u | 0) / 2 | 0;
            $range = $classes[$i];
            if ($codePoint >= $range.$end0)
                $l = $i + 1 | 0;
            else {
                $u = $range.$start0;
                if ($codePoint >= $u)
                    return $range.$data.data[$codePoint - $u | 0];
                $u = $i - 1 | 0;
            }
        }
        return 0;
    }
    function jl_Character_isLetterOrDigit($codePoint) {
        a: {
            switch (jl_Character_getType($codePoint)) {
                case 1:
                case 2:
                case 3:
                case 4:
                case 5:
                case 9:
                    break;
                case 6:
                case 7:
                case 8:
                    break a;
                default:
                    break a;
            }
            return 1;
        }
        return 0;
    }
    function jl_Character_isIdentifierIgnorable($codePoint) {
        a: {
            if (!($codePoint >= 0 && $codePoint <= 8) && !($codePoint >= 14 && $codePoint <= 27)) {
                if ($codePoint < 127)
                    break a;
                if ($codePoint > 159)
                    break a;
            }
            return 1;
        }
        return jl_Character_getType($codePoint) != 16 ? 0 : 1;
    }
    function jl_Character_isSpaceChar($codePoint) {
        switch (jl_Character_getType($codePoint)) {
            case 12:
            case 13:
            case 14:
                break;
            default:
                return 0;
        }
        return 1;
    }
    function jl_Character_isWhitespace($codePoint) {
        switch ($codePoint) {
            case 9:
            case 10:
            case 11:
            case 12:
            case 13:
            case 28:
            case 29:
            case 30:
            case 31:
                break;
            case 160:
            case 8199:
            case 8239:
                return 0;
            default:
                return jl_Character_isSpaceChar($codePoint);
        }
        return 1;
    }
    function jl_Character_compareTo($this, var$1) {
        var$1 = var$1;
        return $this.$value0 - var$1.$value0 | 0;
    }
    function jl_Character__clinit_() {
        jl_Character_TYPE = $rt_cls($rt_charcls());
        jl_Character_characterCache = $rt_createArray(jl_Character, 128);
    }
    function jl_Character_acquireLowerCaseMapping$$create() {
        return {"value" : ">W  H#F#U 4%F#O #F#/ d%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #a1# #%# #%# #%# %%# #%# #%# #%# #%# #%# #%# #%# %%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #<+#%# #%# #%# \'.3#%# #%# #{1#%# #w1%%# %J\'#k1#o1#%# #w1#!3# #23#*3#%# \'23#:3# #>3#%# #%# #%# #N3#%# #N3# %%# #N3#%# #J3%%# #%# #R3#%# \'%# /)#%# #)#%# #)#%# #%# #%# #%# #%# #%# #%# #%# #%# %%# #%# #%# #%# #%# #%# #%# #%# #%# %)#%# #%# #8)#L%#%# #%# #%# #"
        + "%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #a+# #%# #%# #%# #%# #%# #%# #%# #%# #%# /B45#%# #,/#645# %%# #P1#!\'#*\'#%# #%# #%# #%# #%# <-%# #%# \'%# 1&++ %_## #Z#)k%%g%% #F#W hA# 1%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# +]%# %%# #?#%# %a+\'N\'AF#b &#%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# 3%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #^#%# #%# #%# #%# #%# #%# #%# %%# #%# #%# #%# #%# #%# #%# #%"
        + "# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# %*%r iB#oq-&# _?gejg#A1 o$#mo%&# {-%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# 3,4/# #%# #%# #%"
        + "# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# 3C1 1C1 1C1 1C1 1C1 3C/ 1C1 QC1 1C1 1C1 1C%8\'%G# 7i\')G# 7C%D)\' 7C%u)%?# 7X+%P+%G# L-q*/# \'Pw/#8m/# -6## |bA G%# kC.#U !r*%&# &#%# #,05#qX\'#H.5# %%# #%# #%# #e25#D05#q25#m25# #%# %%# 1865%%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# "
        + "#%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# 1%# #%# )%# (a=%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# G%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# y%%# #%# #%# #%# #%# #%# #%# \'%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #%# 5%# #%# #4Fd#%# #%# #%# #%# #%# )%# #<{p# %%# #%# \'%# #%# #%# #%# #%# #%# #%# #%# #%# #%# #P}p#}}p#m}p#D}p#P}p# #@yp#D{p#Lyp#Br#%# #%# #%# #%"
        + "# #%# #%# #%# #%# #,%#L}p#LJd#%# #%# -%# +%# #%# Y%# ,T5F#U TUg#r {%g#r >\'c#p Lnk%F# *J#F#b o@5F#b Jo=N#f "};
    }
    function jl_Character_acquireUpperCaseMapping$$create() {
        return {"value" : "<Y  ,%H#U :#>b# vH#O #H#/:+# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #,5# #\'# #\'# #\'# %\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# %\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# %\'# #\'# #\'#(;#N1# %\'# #\'# %\'# \'\'# +\'# %6)# \'\'#*/# \'_+# %\'# #\'# #\'# %\'# )\'# %\'# \'\'# #\'# %\'# \'\'# #J%# +\'#+# #\'#+# #\'#+# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'#L\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# %\'#+# #\'# \'\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'#"
        + " #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# \'\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# 1\'# %665% #\'# )\'# #\'# #\'# #\'# #\'#o25#c25#k25#03#}1# #y1% #m1# #q1#{}p# \'y1#k}p# #$3# #:{p#N}p# #,3#43#N}p#*05#B}p# %43# #B05#<3# %@3# /F.5# %P3# #J}p#P3# \'B{p#P3#$\'#L3%,\'# +T3# 5Jyp#>yp# Z\'_\'# x\'# #\'# \'\'\' #_+\' !#a##]#\' #H#CD##H#3m%#i%% #e%#P%# \'(%#D%#C# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'#i\'#P\'#=#(+# #4)# %\'# %\'# .#H#bP\'A #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# 3\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# "
        + "#\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# %\'# #\'# #\'# #\'# #\'# #\'# #\'#`# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'% &#,%n mB#ko%x %ko%\' RAC1 >$#yu+#uu+#Pu+#Hu+%Lu+#0u+#io+#>@d1 (+2Fd# \'oX\'# AJJd# N%\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #"
        + "\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# +X%# +\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'#A1 1A1 1A1 1A1 1A1 3A# #A# #A# #A% /A1 16\'%g\')B)%V+%s)%N+)A1 1A1 1A1 1A% #E# 5<m-# )E# 9A% =A% \'=# ;E# R/8## ddA )\'# @E0#U Nr,%&# #\'# \'D45#845# #\'# #\'# #\'# -"
        + "\'# %\'# 5\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# 1\'# #\'# )\'- /qq-&# i]=\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# G\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# y%\'# #\'# #\'# #\'# #\'# #\'# #\'# \'\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'#"
        + " #\'# #\'# #\'# #\'# 5\'# #\'# %\'# #\'# #\'# #\'# #\'# )\'# )\'# #\'#*%# %\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# 7\'# #\'# #\'# #\'# #\'# #\'# #\'# #\'# )\'# #\'- #\'% )\'# #\'S )\'# cEDr# Yiejg# e*5H#U eUi#r {%i#r <\'e#<% Vlm%:# RH#H#b o@5H#b No=P#f "};
    }
    function jl_Character_obtainDigitMapping$$create() {
        return {"value" : "&C*% %%%%%%%%%%%%%%%%%%A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=,#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%_H#T#%%%%%%%%%%%%%%%%%%s+G%%%%%%%%%%%%%%%%%%_1G%%%%%%%%%%%%%%%%%%{CG%%%%%%%%%%%%%%%%%%2+G%%%%%%%%%%%%%%%%%%2+G%%%%%%%%%%%%%%%%%%2+G%%%%%%%%%%%%%%%%%%2+G%%%%%%%%%%%%%%%%%%2+G%%%%%%%%%%%%%%%%%%2+G%%%%%%%%%%%%%%%%%%2+G%%%%%%%%%%%%%%%%%%2+G%%%%%%%%%%%%%%%%%%2+G%%%%%%%%%%%%%%%%%%6)G%%%%%%%%%%%%%%%%%%2+G%%%%%%%%%%%%%%%%%%*\'G%%%%%%%%%%%%%%%%%%.9G%%%%%%%%%%%%%%%%%%*\'G%%%%%%%%%%%%%%%%%%!i#G"
        + "%%%%%%%%%%%%%%%%%%c#G%%%%%%%%%%%%%%%%%%*;G%%%%%%%%%%%%%%%%%%Z+G%%%%%%%%%%%%%%%%%%:/G%%%%%%%%%%%%%%%%%%=G%%%%%%%%%%%%%%%%%%{/G%%%%%%%%%%%%%%%%%%k\'G%%%%%%%%%%%%%%%%%%s+G%%%%%%%%%%%%%%%%%%=G%%%%%%%%%%%%%%%%%%R@dG%%%%%%%%%%%%%%%%%%R[G%%%%%%%%%%%%%%%%%%c#G%%%%%%%%%%%%%%%%%%_1G%%%%%%%%%%%%%%%%%%!#G%%%%%%%%%%%%%%%%%%k\'G%%%%%%%%%%%%%%%%%%cCG%%%%%%%%%%%%%%%%%%o*IG%%%%%%%%%%%%%%%%%%A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=,#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%c:#T#%%%%%%%%%%%%%%%%%%w&%G%%%%%"
        + "%%%%%%%%%%%%%BhG%%%%%%%%%%%%%%%%%%Z+G%%%%%%%%%%%%%%%%%%_%G%%%%%%%%%%%%%%%%%%>-G%%%%%%%%%%%%%%%%%%.9G%%%%%%%%%%%%%%%%%%w=G%%%%%%%%%%%%%%%%%%2+G%%%%%%%%%%%%%%%%%%>AG%%%%%%%%%%%%%%%%%%N)G%%%%%%%%%%%%%%%%%%N)G%%%%%%%%%%%%%%%%%%FEG%%%%%%%%%%%%%%%%%%N)G%%%%%%%%%%%%%%%%%%!dG%%%%%%%%%%%%%%%%%%g5G%%%%%%%%%%%%%%%%%%*\'G%%%%%%%%%%%%%%%%%%FEG%%%%%%%%%%%%%%%%%%*0EG%%%%%%%%%%%%%%%%%%k\'G%%%%%%%%%%%%%%%%%%s+G%%%%%%%%%%%%%%%%%%28UG%%%%%%%%%%%%%%%%%%%G%%%%%%%%%%%%%%%%%%%G%%%%%%%%%%%%%%%%%%%G%%%%%%%%%%%%%%%%%%%G%%%%%%%%%%%%%%%"
        + "%%%!8%G%%%%%%%%%%%%%%%%%%FEG%%%%%%%%%%%%%%%%%%sKG%%%%%%%%%%%%%%%%%%>&#G%%%%%%%%%%%%%%%%%%wN)G%%%%%%%%%%%%%%%%%%"};
    }
    function jl_Character_obtainClasses$$create() {
        return {"value" : "PA-Y$;Y$679:95Y#J+Y#Z$Y#B;697<8<C;6:7:PB-9[%=9<=&>:1=<=:L#<#Y#<,&?L$9B8:B(C9:C)!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!C#!#!#!#!#!#!#!#!C#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#B##!#!C$B##!#B##B$C#B%#B##B$C$B##B##!#!#B##!C#!#B##B$#!#B#C#&!C$F%!$#!$#!$#!#!#!#!#!#!#!#!C#!#!#!#!#!#!#!#!#!C#!$#!#B$#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!C(B##B#C#!#B%#!#!#!#!Cg&C<E3]%E-]/E&](%<%]2b\'Q! !#!#%<!#A#%C$9!A%]#!9B$ ! B##B2 B*CD!C#B$C$!#!#!#!#!#!#!#!#!#!#!#!C&!#:!#B#C#BTCQ!#!#!#!#"
        + "!#!#!#!#!#!#!#!#!#!#!#!#!#=G&H#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#B##!#!#!#!#!#!C#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!# BGA#%Y\'CJ95A#^#; GN5\'9G#9G#9\'A)F<A%F%Y#A,Q\'Z$Y#;Y#^#G,91Y$FA%F+G6J+Y%F#\'b&D! 9&G(1=G\'E#G#=G%F#J+F$^#&Y/ 1&\'F?G<A#b&:! G,&A/J+FBG*E#=Y$%A#\'[#F7G%%G*%G$%G&A#Y0 F:G$A#9 F,A&F9<F\' Q#A\'G)FJ%G91GA)FW\')\'&I$G)I%\'I#&G(F+G#Y#J+9%F0\'I# F)A#F#A#F7 F( &A$F%A#\'&I$G%A#I#A#I#\'&A))A%F# F$G#A#J+F#[#L\'=;&9\'A#G#) F\'A%F#A#F7 F( F# F#"
        + " F#A#\' I$G#A%G#A#G$A$\'A(F% &A(J+G#F$\'9A+G#) F* F$ F7 F( F# F&A#\'&I$G& G#) I#\'A#&A0F#G#A#J+9;A(&G\' \'I# F)A#F#A#F7 F( F# F&A#\'&)\')G%A#I#A#I#\'A(G#)A%F# F$G#A#J+=&L\'A+\'& F\'A$F$ F%A$F# & F#A$F#A$F$A$F-A%I#\'I#A$I$ I$\'A#&A\')A/J+L$^\';=A&\'I$\'F) F$ F8 F1A#\'&G$I% G$ G%A(G# F$A#&A#F#G#A#J+A(9L(=&\'I#9F) F$ F8 F+ F&A#\'&)\'I& \'I# I#G#A(I#A\'F# F#G#A#J+ F#)A-G#I#F* F$ FJG#&I$G% I$ I$\'&=A%F$)L(F$G#A#J+L*=F\' \'I# F3A$F9 F* &A#F(A$\'A%I$G$ \' I)A\'J+A#I#9A-FQ\'F#G(A%;F\'%G)9J+Y#AFF# & F& F9 & F+\'F#G*&A#F& % G( J+A#F%AA&^$Y0=9^$G#^\'J+"
        + "L+=\'=\'=\'6767I#F) FEA%G/)G&9G#F&G, GE ^)\'^\' ^#Y&^%Y#AFFLI#G%)G\')G#I#G#&J+Y\'F\'I#G#F%G$&I$F#I(F$G%F.\'I#G#I\'\'&)J+I$\'^#BG !A&!A#CL9%C$b&*&  F%A#F( & F%A#FJ F%A#FB F%A#F( & F%A#F0 FZ F%A#FeA#G$Y*L5A$F1^+A\'b!7! A#C\'A#5b&M* =9F2-F;67A$FmY$K$F)A(F3G$)A*F4G#)Y#A*F3G#A-F. F$ G#A-FUG#)G(I)\'I#G,Y$%Y$;&\'A#J+A\'L+A\'Y\'5Y%G$1\'J+A\'FD%FVA(F&G#FC\'&A&FhA+F@ G$I%G#I$A%I#\'I\'G$A%=A$Y#J+F?A#F&A,FMA%F;A\'J+,A$^CF8G#I#\'A#Y#FV)\')G( \')\'I#G)I\'G+A#\'J+A\'J+A\'Y(%Y\'A#G/(G1ARG%)FP\')G&)\'I&\'I#F)A$J+Y(^+G*^*Y# G#)F?)G%I#G#)G$F#J+FM\')G#I$\')G$I#A)Y%"
        + "FEI)G)I#G#A$Y&J+A$F$J+F?E\'Y#C*A(BLA#B$Y)A)G$9G.)G(F%\'F\'\'F#)G#&A&CMEaC.%CCEFGb!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!C*!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!C*B)C\'A#B\'A#C)B)C)B)C\'A#B\'A#C) ! ! ! !C)B)C/A#C)D)C)D)C)D)C& C#B%$<#]$C$ C#B%$]$C%A#C#B% ]$C)B&]$A#C$ C#B%$]# M,Q&U\'Y#>?6_#?6>Y)./Q&-Y*>?Y%X#Y$:67Y,:98Y+-Q& Q+,%A#L\'Z$67%L+Z$67 E.A$[BA0G."
        + "H%\'H$G-A0^#!^%!^##B$C#B$#=!^#:B&^\'!=!=!=B%=#B%#F%#^#C#B#Z&!C%=:^##=L1KD!#K%,^#A%Z&^&Z#^%:^#:^#:^(:^@Z#^#:=:^@b:-% ^)6767^5Z#^(67b=2! :^?Z:^IZ\'^gA:^,A6L^^pL7b=X# :^*:^WZ)b=P! :b=Y$ 67676767676767L?^MZ&67Z@6767676767Z1b= % b:$# 6767676767676767676767Za6767ZA67b:#% ^QZ6^#Z\'^HA#^A b=J! BQCQ!#B$C#!#!#!#B%#!C#!C\'E#B$#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!C#^\'!#!#G$!#A&Y%,Y#CG #A&#A#FYA(%9A/\'F8A*F( F( F( F( F( F( F( F( GAY#>?>?Y$>?9>?Y*5Y#59>?Y#>?67676767Y"
        + "&%Y+U#Y%596Y.^#Y$676767675AC^; b=:! A-b=7$ A;^1-Y$=%&+6767676767^#6767676756W#=K*G%I#5E&^#K$%&9^# b&7! A#G#]#E#&5b&;! 9E$&A&FL b&?!  ^#L%^+FA^EA,=F1^@ L+^?L)=L0^AL+^HL0b= & &b `G!&^b&b   %b `(!F7%b&X2 A$^XA*FIE\'Y#b&-% %Y$F1J+F#A5!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#&\'H$9G+9%!#!#!#!#!#!#!#!#!#!#!#!#!#!#E#G#FhK+G#Y\'A)]8E*]#!#!#!#!#!#!#!C$!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#%C)!#!#B##!#!#!#!#%]#!#!#&!#!C$!#!#!#!#!#!#!#!#!#!#B&#B&#!#!#!#!#!#!#!#B%#!#A&!# # #!#!#A9E$!#&E##F(\'F$"
        + "\'F%\'F8I#G#)^%\'A$L\'^#;=A\'FUY%A)I#FSI1G#A)Y#J+A\'G3F\'Y$&9F#\'J+F=G)Y#F8G,I#A,9F>A$G$)FP\'I#G%I#G#I$Y. %J+A%Y#F&\'%F*J+F& FJG\'I#G#I#G#A*F$\'F)\')A#J+A#Y%F1%F\'^$&)\')FS\'&G$F#G#F&G#&\'&A9F#%Y#F,)G#I#Y#&E#)\'A+F\'A#F\'A#F\'A*F( F( CL<E%C*%]#A%b#1! FDI#\'I#\'I#9)\'A#J+A\'&b CO#&A-F8A%FRA%4b `. T#b `! T#b `0 43b `D!3b&O& A#b&K! AGC(A-C&A&&\'F+:F. F& & F# F# b&M! ]2A1b&L& 76^1FbA#FWA(=AAF-;^$G1Y(679A\'G19U#X#6767676767676767Y#67Y%X$Y$ Y%5676767Y$:5Z$ 9;Y#A%F& b&(# A#1 Y$;Y$679:95Y#J+Y#Z$Y#B;697<8<C;6:7:67967Y#F+%FNE#F@A$F\'A#F\'A#F\'A#F"
        + "$A$[#:<=[# =Z%^#A+Q$^#A#F- F; F4 F# F0A#F/ACb&]! A&Y$A%LNA$^*KVL%^2L#^$ ^.A$=AP^N\'b ## F>A$FRA0\'L<A%FAL%A*F5+F)+A&FGG&A&F? 9FEA%F)9K&AKBICIFpA#J+A\'BEA%CEA%FIA)FUA,9B, B0 B( B# C, C0 C( C#Aeb&X% A*F7A+F)A9E\' EK E*AgF\'A#& FM F#A$&A#F8 9L)F8^#L(F@A)L*AQF4 F#A&L&F7L\'A$9F;A&9AbFYA%L#F#L1A#LO&G$ G#A&G%F% F$ F>A#G$A%\'L*A(Y*A(F>L#9F>L$AAF)=F=G#A%L&Y(A*FWA$Y(F7A#L)F4A&L)F3A(Y%A-L(b 1! FkAXBTA.CTA(L\'FEG%A)J+b G% L@ FK G#5A#F#AmG$F>L+&A)F7G,L%Y&A7F3G%Y%AGF6L(A5F8A*)\')FVG0Y(A%L5J+\'F#G#&A*G$)FNI$G%I#G#Y#1Y%\'A+1A#F:A(J+A"
        + "\'G$FEG&)G) J+Y%&I#&A)FD\'Y#&A*G#)FQI$G*I#F%Y%G%9)\'J+&9&Y$ L5A,F3 F:I$G$I#\')G#Y\'\'F#\'A`F( & F% F0 F+9A\'FP\'I$G)A&J+A\'G#I# F)A#F#A#F7 F( F# F& G#&I#\'I%A#I#A#I$A#&A\')A&F&I#A#G(A$G&b ,# FVI$G)I#G$)\'F%Y&J+Y# 9\'F$A?FQI$G\')\'I%G#)G#F#9&A)J+b G# FPI$G%A#I%G#)G#Y8F%G#ACFQI$G)I#\')G#Y$&A,J+A\'Y.A4FL\')\'I#G\')\'&9A\'J+AWF<A#G$I#G%)G&A%J+L#Y$=F(b Z# FMI$G*)G#9b E! BACAJ+L*A-F)A#&A#F) F# F9I\' I#A#G#)\'&)&)\'Y$A*J+AhF)A#FHI$G%A#G#I%\'&9&)A<&G+FIG\')&G%Y)\'A)&G\'I#G$FOG.)G#Y$&Y&A.FkA(Y+b W$ F* FF)G( G\')\'&Y&A+J+L4A$Y#F?A#G7 )G()G#)G#AkF( "
        + "F# FGG\'A$\' G# G(&\'A)J+A\'F\' F# FAI& G# I#\')\'&A(J+b W% F4G#I#Y#A(G#&)F. FCI#G&A$I#\')\'Y.J+b 7! &A0L6^)[%^2A.9b&;/ b G! b+P!  Y&A,b&%$ b -J b&B! Y#A.b&Q1 Q1\'F\'G0b K` b&(* b Z\'#b&Z) A(F@ J+A%Y#Fq J+A\'F?A#G&9A+FQG(Y&^%E%9=A+J+ L( F6A&F4b Q+ BACAL8Y%b F! FmA%\'&IXA(G%E.AbE#9%\'A,I#A/&b W@!&A)b&74 AK&A(&b H,#E% E( E# b&D% A0&A>F$A#&A/F%A)b&-\' b %E b&L! A&F.A$F*A(F+A#=G#9Q%b =*!GOA#G8A*b=U! A^b=W$ A+^HA#^^I#G$^$I\'Q)G)^#G(^?G%^_A6^dG$=b [! L5A-L5A-b=8! A*L:b (# B;C;B;C( C3B;C;! B#A#!A#B#A#B% B)C% # C( C,B;C;B# B%A#B) B"
        + "( C;B# B% B& !A$B( C;B;C;B;C;B;C;B;C;B;C;B;C=A#B::C::C\'B::C::C\'B::C::C\'B::C::C\'B::C::C\'!#A#JSb= ) GX^%GS^)\'^/\'^#Y&A0G& G0b 12 C+&C5A\'C\'b 6$ G( G2A#G( G# G&A&E`AB\'b Q! FNA$G(E(A#J+A%&=b  & F?\'A2FMG%J+A&;b 1( F<%G%J+b G, F( F% F# F0 b&&$ A#L*G(AJBCCCG(%A%J+A%Y#b 2- L]=L$;L%AnLN=L0b #$ F% F< F# &A#& F+ F% & &A\'&A%& & & F$ F# &A#& & & & & F# &A#F% F( F% F% & F+ F2A&F$ F& F2AUZ#b /% ^MA%b=E! A-^0A#^0 ^0 ^FA+L.b=B# AY^>A.^MA%^*A(^#A/^\'b ;# b=]$ ]&b=9, A%^2A$^.A$b=X! A%b=@! A\'^-A%=A0^-A%^YA)^+A\'^IA)^?A#^#Apb=5& A-"
        + "^/A#^.A$^*A(^O ^(A)^/A%^*A(^*A(b=4#  ^XAFJ+b \'1 &b   %b   %b ?<#&AA&b Y !&A\'&b =$ &A#&b  ;!&A/&b PU!&A0&b M* &b CG b&?) b C8 &b *.!&A&&b ?!!&b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b 2R!1A?b1A! b  # b\'Q$ b   %b   %b   %b 1Y$3b   %b   %b   %b ^a$3A#3b   %b   %b   %b ^a$3"};
    }
    var otj_JSObject = $rt_classWithoutFields(0);
    var nleito_JSEaglercraftXOptsRoot = $rt_classWithoutFields();
    var nlei_PlatformRuntime = $rt_classWithoutFields();
    var nlei_PlatformRuntime_logger = null;
    var nlei_PlatformRuntime_win = null;
    var nlei_PlatformRuntime_doc = null;
    var nlei_PlatformRuntime_root = null;
    var nlei_PlatformRuntime_parent = null;
    var nlei_PlatformRuntime_canvas = null;
    var nlei_PlatformRuntime_webgl = null;
    var nlei_PlatformRuntime_webglExperimental = 0;
    var nlei_PlatformRuntime_windowMessagePostOrigin = null;
    var nlei_PlatformRuntime_windowMessageListener = null;
    var nlei_PlatformRuntime_mainFramebuffer = null;
    var nlei_PlatformRuntime_useDelayOnSwap = 0;
    var nlei_PlatformRuntime_immediateContinueSupport = 0;
    var nlei_PlatformRuntime_immediateContinueChannel = null;
    var nlei_PlatformRuntime_currentMsgChannelContinueHack = null;
    var nlei_PlatformRuntime_currentLegacyContinueHack = null;
    var nlei_PlatformRuntime_immediateContLock = null;
    var nlei_PlatformRuntime_hasFetchSupport = 0;
    var nlei_PlatformRuntime_hasDataURLSupport = 0;
    var nlei_PlatformRuntime_useVisualViewport = 0;
    var nlei_PlatformRuntime_isDeobfStackTraces = 0;
    var nlei_PlatformRuntime_steadyTimeFunc = null;
    var nlei_PlatformRuntime_emptyJSString = null;
    var nlei_PlatformRuntime_currentThreadName = null;
    var nlei_PlatformRuntime_$clinitCalled = false;
    function nlei_PlatformRuntime_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nlei_PlatformRuntime_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nlei_PlatformRuntime_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformRuntime_$callClinit = $rt_eraseClinit(nlei_PlatformRuntime);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nlei_PlatformRuntime__init_0() {
        var var_0 = new nlei_PlatformRuntime();
        nlei_PlatformRuntime__init_(var_0);
        return var_0;
    }
    function nlei_PlatformRuntime__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nlei_PlatformRuntime_create() {
        var $teavmCfg, $shimStatus, $nl, $style, $originalW, $stat, $finalLoadScreen, $isEmbeddedInBody, $experimental, $originalH, var$11, $viewportTag, $cont, $htmlDecl, $endiannessTestBytes, $bodyTag, $oldTokenArray, $oldTokens, $sw, $tokens, $r, $iw, $ih, $sh, $t, $str, $glesVer, $webgl_, $exts, $i, $l, var$32, var$33, var$34, var$35, $resourcePackFilesystem, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$resourcePackFilesystem = $thread.pop();var$35 = $thread.pop();var$34 = $thread.pop();var$33 = $thread.pop();var$32 = $thread.pop();$l = $thread.pop();$i = $thread.pop();$exts = $thread.pop();$webgl_ = $thread.pop();$glesVer = $thread.pop();$str = $thread.pop();$t = $thread.pop();$sh = $thread.pop();$ih = $thread.pop();$iw = $thread.pop();$r = $thread.pop();$tokens = $thread.pop();$sw = $thread.pop();$oldTokens = $thread.pop();$oldTokenArray = $thread.pop();$bodyTag = $thread.pop();$endiannessTestBytes
            = $thread.pop();$htmlDecl = $thread.pop();$cont = $thread.pop();$viewportTag = $thread.pop();var$11 = $thread.pop();$originalH = $thread.pop();$experimental = $thread.pop();$isEmbeddedInBody = $thread.pop();$finalLoadScreen = $thread.pop();$stat = $thread.pop();$originalW = $thread.pop();$style = $thread.pop();$nl = $thread.pop();$shimStatus = $thread.pop();$teavmCfg = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $teavmCfg = $rt_globals.window;
            nlei_PlatformRuntime_win = $teavmCfg;
            nlei_PlatformRuntime_doc = $teavmCfg.document;
            nleit_DebugConsoleWindow_initialize(nlei_PlatformRuntime_win);
            $teavmCfg = $rt_ustr(null);
            $ptr = 2;
        case 2:
            $rt_globals.window.minecraftServer = $teavmCfg;
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = nleit_ES6ShimStatus_getRuntimeStatus();
            if ($rt_suspending()) {
                break main;
            }
            $shimStatus = $tmp;
            if ($shimStatus === null) {
                $ptr = 4;
                continue main;
            }
            $ptr = 6;
            continue main;
        case 4:
            nleit_TeaVMBlobURLManager_initialize();
            if ($rt_suspending()) {
                break main;
            }
            $nl = nlei_PlatformRuntime_logger;
            $teavmCfg = $rt_s(120);
            $ptr = 5;
        case 5:
            oall_Logger_info($nl, $teavmCfg);
            if ($rt_suspending()) {
                break main;
            }
            $teavmCfg = nlei_PlatformRuntime_doc;
            nleit_ClientMain_$callClinit();
            $nl = nleit_ClientMain_configRootElementId;
            $teavmCfg = $teavmCfg.getElementById($rt_ustr($nl));
            nlei_PlatformRuntime_root = $teavmCfg;
            if ($teavmCfg === null) {
                $teavmCfg = new nlei_RuntimeInitializationFailureException;
                $nl = nleit_ClientMain_configRootElementId;
                $style = jl_StringBuilder__init_0();
                $originalW = $rt_s(121);
                $ptr = 7;
                continue main;
            }
            $teavmCfg.classList.add("_eaglercraftX_root_element");
            while (true) {
                $style = nlei_PlatformRuntime_root.lastChild;
                if ($style === null)
                    break;
                if (!(!!$style ? 1 : 0))
                    break;
                nlei_PlatformRuntime_root.removeChild($style);
            }
            $style = nlei_PlatformRuntime_root.style;
            $style.setProperty("overflow", "hidden");
            $ptr = 19;
            continue main;
        case 6:
            $tmp = nleit_ES6ShimStatus_getStatus($shimStatus);
            if ($rt_suspending()) {
                break main;
            }
            $stat = $tmp;
            nlei_PlatformRuntime$8_$callClinit();
            switch (nlei_PlatformRuntime$8_$SwitchMap$net$lax1dude$eaglercraft$internal$teavm$EnumES6ShimStatus.data[jl_Enum_ordinal($stat)]) {
                case 1:
                case 2:
                    $teavmCfg = nlei_PlatformRuntime_logger;
                    $nl = $rt_s(122);
                    $finalLoadScreen = $rt_createArray(jl_Object, 1);
                    $finalLoadScreen.data[0] = $stat.$statusDesc;
                    $ptr = 11;
                    continue main;
                case 3:
                    $teavmCfg = nlei_PlatformRuntime_logger;
                    $nl = $rt_s(122);
                    $finalLoadScreen = $rt_createArray(jl_Object, 1);
                    $finalLoadScreen.data[0] = $stat.$statusDesc;
                    $ptr = 12;
                    continue main;
                case 4:
                case 5:
                    $teavmCfg = nlei_PlatformRuntime_logger;
                    $nl = $rt_s(122);
                    $finalLoadScreen = $rt_createArray(jl_Object, 1);
                    $finalLoadScreen.data[0] = $stat.$statusDesc;
                    $ptr = 15;
                    continue main;
                case 6:
                    $teavmCfg = nlei_PlatformRuntime_logger;
                    $nl = $rt_s(122);
                    $finalLoadScreen = $rt_createArray(jl_Object, 1);
                    $finalLoadScreen.data[0] = $stat.$statusDesc;
                    $ptr = 16;
                    continue main;
                default:
            }
            $ptr = 4;
            continue main;
        case 7:
            $tmp = jl_StringBuilder_append($style, $originalW);
            if ($rt_suspending()) {
                break main;
            }
            $originalW = $tmp;
            $ptr = 8;
        case 8:
            $tmp = jl_StringBuilder_append($originalW, $nl);
            if ($rt_suspending()) {
                break main;
            }
            $nl = $tmp;
            $originalW = $rt_s(123);
            $ptr = 9;
        case 9:
            jl_StringBuilder_append($nl, $originalW);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            $tmp = jl_StringBuilder_toString($style);
            if ($rt_suspending()) {
                break main;
            }
            $nl = $tmp;
            nlei_RuntimeInitializationFailureException__init_($teavmCfg, $nl);
            $rt_throw($teavmCfg);
        case 11:
            oall_Logger_error($teavmCfg, $nl, $finalLoadScreen);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
            continue main;
        case 12:
            oall_Logger_error($teavmCfg, $nl, $finalLoadScreen);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            $tmp = nleit_ES6ShimStatus_getShims($shimStatus);
            if ($rt_suspending()) {
                break main;
            }
            $teavmCfg = $tmp;
            $ptr = 14;
        case 14:
            nlei_PlatformRuntime_dumpShims($teavmCfg);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
            continue main;
        case 15:
            oall_Logger_info0($teavmCfg, $nl, $finalLoadScreen);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
            continue main;
        case 16:
            oall_Logger_info0($teavmCfg, $nl, $finalLoadScreen);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            $tmp = nleit_ES6ShimStatus_getShims($shimStatus);
            if ($rt_suspending()) {
                break main;
            }
            $teavmCfg = $tmp;
            $ptr = 18;
        case 18:
            nlei_PlatformRuntime_dumpShims($teavmCfg);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
            continue main;
        case 19:
            $tmp = nlei_PlatformRuntime_getClientConfigAdapter();
            if ($rt_suspending()) {
                break main;
            }
            $teavmCfg = $tmp;
            $isEmbeddedInBody = jl_String_equalsIgnoreCase($rt_str(nlei_PlatformRuntime_root.tagName), $rt_s(124));
            $ptr = 20;
        case 20:
            $tmp = nleit_TeaVMClientConfigAdapter_isAutoFixLegacyStyleAttrTeaVM($teavmCfg);
            if ($rt_suspending()) {
                break main;
            }
            $experimental = $tmp;
            if ($experimental && $isEmbeddedInBody) {
                $originalW = $rt_str($style.getPropertyValue("width"));
                $originalH = $rt_str($style.getPropertyValue("height"));
                $nl = $rt_s(125);
                $ptr = 23;
                continue main;
            }
            $ptr = 21;
        case 21:
            $tmp = nleit_TeaVMClientConfigAdapter_isUseDelayOnSwapTeaVM($teavmCfg);
            if ($rt_suspending()) {
                break main;
            }
            $experimental = $tmp;
            nlei_PlatformRuntime_useDelayOnSwap = $experimental;
            $nl = nlei_PlatformRuntime_doc.createElement("div");
            nlei_PlatformRuntime_parent = $nl;
            $nl.classList.add("_eaglercraftX_wrapper_element");
            $originalW = nlei_PlatformRuntime_parent.style;
            $originalW.setProperty("position", "relative");
            $originalW.setProperty("width", "100%");
            $originalW.setProperty("height", "100%");
            $originalW.setProperty("overflow", "hidden");
            $nl = nlei_PlatformRuntime_root;
            $style = nlei_PlatformRuntime_parent;
            $nl.appendChild($style);
            nleit_ClientMain_configRootElement = nlei_PlatformRuntime_parent;
            try {
                var$11 = Long_fromInt(10);
                $ptr = 22;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_InterruptedException) {
                } else {
                    throw $$e;
                }
            }
            nlei_PlatformRuntime_useVisualViewport = 0;
            $ptr = 25;
            continue main;
        case 22:
            a: {
                try {
                    jl_Thread_sleep(var$11);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_InterruptedException) {
                    } else {
                        throw $$e;
                    }
                }
            }
            nlei_PlatformRuntime_useVisualViewport = 0;
            $ptr = 25;
            continue main;
        case 23:
            $tmp = jl_String_equals($nl, $originalW);
            if ($rt_suspending()) {
                break main;
            }
            $experimental = $tmp;
            if ($experimental) {
                $nl = $rt_s(126);
                $ptr = 24;
                continue main;
            }
            $viewportTag = nlei_PlatformRuntime_doc.querySelector("meta[name=viewport]");
            if ($viewportTag !== null) {
                $cont = $rt_str($viewportTag.getAttribute("content"));
                if ($cont !== null) {
                    $nl = $rt_s(127);
                    $ptr = 29;
                    continue main;
                }
            }
            $ptr = 21;
            continue main;
        case 24:
            $tmp = jl_String_equals($nl, $originalH);
            if ($rt_suspending()) {
                break main;
            }
            $experimental = $tmp;
            if ($experimental) {
                $nl = nlei_PlatformRuntime_logger;
                $originalW = $rt_s(128);
                $ptr = 26;
                continue main;
            }
            $viewportTag = nlei_PlatformRuntime_doc.querySelector("meta[name=viewport]");
            if ($viewportTag !== null) {
                $cont = $rt_str($viewportTag.getAttribute("content"));
                if ($cont !== null) {
                    $nl = $rt_s(127);
                    $ptr = 29;
                    continue main;
                }
            }
            $ptr = 21;
            continue main;
        case 25:
            $tmp = nleit_TeaVMClientConfigAdapter_isUseVisualViewportTeaVM($teavmCfg);
            if ($rt_suspending()) {
                break main;
            }
            $experimental = $tmp;
            if ($experimental) {
                $ptr = 28;
                continue main;
            }
            $isEmbeddedInBody = 4;
            $ptr = 27;
            continue main;
        case 26:
            oall_Logger_info($nl, $originalW);
            if ($rt_suspending()) {
                break main;
            }
            $nl = nlei_PlatformRuntime_doc.getElementsByTagName("html");
            if ($nl.length <= 0) {
                $nl = nlei_PlatformRuntime_logger;
                $originalW = $rt_s(129);
                $ptr = 30;
                continue main;
            }
            $htmlDecl = (otji_JSWrapper_maybeUnwrap($nl[0])).style;
            $htmlDecl.setProperty("width", "100%");
            $htmlDecl.setProperty("height", "100%");
            $htmlDecl.setProperty("background-color", "black");
            $style.setProperty("width", "100%");
            $style.setProperty("height", "100%");
            $style.setProperty("background-color", "black");
            $viewportTag = nlei_PlatformRuntime_doc.querySelector("meta[name=viewport]");
            if ($viewportTag !== null) {
                $cont = $rt_str($viewportTag.getAttribute("content"));
                if ($cont !== null) {
                    $nl = $rt_s(127);
                    $ptr = 29;
                    continue main;
                }
            }
            $ptr = 21;
            continue main;
        case 27:
            $tmp = nlei_PlatformRuntime_allocateByteBuffer($isEmbeddedInBody);
            if ($rt_suspending()) {
                break main;
            }
            $endiannessTestBytes = $tmp;
            try {
                $nl = nleib_EaglerArrayByteBuffer_asIntBuffer($endiannessTestBytes);
                $isEmbeddedInBody = 110531616;
                $ptr = 31;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $teavmCfg = $$je;

            }
            $ptr = 36;
            continue main;
        case 28:
            $tmp = typeof $rt_globals.visualViewport !== "undefined";
            if ($rt_suspending()) {
                break main;
            }
            $nl = $tmp;
            if ($nl ? 1 : 0) {
                if ($isEmbeddedInBody)
                    nlei_PlatformRuntime_useVisualViewport = 1;
                else {
                    $bodyTag = nlei_PlatformRuntime_doc.body;
                    if (jl_Math_abs($bodyTag.clientWidth - nlei_PlatformRuntime_parent.clientWidth | 0) <= 10 && jl_Math_abs($bodyTag.clientHeight - nlei_PlatformRuntime_parent.clientHeight | 0) <= 10)
                        nlei_PlatformRuntime_useVisualViewport = 1;
                }
            }
            if (!nlei_PlatformRuntime_useVisualViewport) {
                $isEmbeddedInBody = 4;
                $ptr = 27;
                continue main;
            }
            $nl = nlei_PlatformRuntime_logger;
            $style = $rt_s(130);
            $ptr = 38;
            continue main;
        case 29:
            $tmp = jl_String_split($cont, $nl);
            if ($rt_suspending()) {
                break main;
            }
            $oldTokenArray = $tmp;
            $finalLoadScreen = $oldTokenArray.data;
            $oldTokens = ju_HashSet__init_0();
            $experimental = $finalLoadScreen.length;
            $sw = 0;
            if ($sw >= $experimental) {
                $tokens = ju_HashSet__init_0();
                $ptr = 39;
                continue main;
            }
            $nl = jl_String_trim($finalLoadScreen[$sw]);
            $ptr = 40;
            continue main;
        case 30:
            oall_Logger_warn($nl, $originalW);
            if ($rt_suspending()) {
                break main;
            }
            $style.setProperty("width", "100%");
            $style.setProperty("height", "100%");
            $style.setProperty("background-color", "black");
            $viewportTag = nlei_PlatformRuntime_doc.querySelector("meta[name=viewport]");
            if ($viewportTag !== null) {
                $cont = $rt_str($viewportTag.getAttribute("content"));
                if ($cont !== null) {
                    $nl = $rt_s(127);
                    $ptr = 29;
                    continue main;
                }
            }
            $ptr = 21;
            continue main;
        case 31:
            try {
                nleib_EaglerArrayIntBuffer_put($nl, $isEmbeddedInBody);
                if ($rt_suspending()) {
                    break main;
                }
                $isEmbeddedInBody = 0;
                $ptr = 32;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $teavmCfg = $$je;

            }
            $ptr = 36;
            continue main;
        case 32:
            try {
                $tmp = nleib_EaglerArrayByteBuffer_get($endiannessTestBytes, $isEmbeddedInBody);
                if ($rt_suspending()) {
                    break main;
                }
                $isEmbeddedInBody = $tmp;
                $isEmbeddedInBody = $isEmbeddedInBody & 255;
                $experimental = 1;
                $ptr = 33;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $teavmCfg = $$je;

            }
            $ptr = 36;
            continue main;
        case 33:
            try {
                $tmp = nleib_EaglerArrayByteBuffer_get($endiannessTestBytes, $experimental);
                if ($rt_suspending()) {
                    break main;
                }
                $experimental = $tmp;
                $isEmbeddedInBody = $isEmbeddedInBody | ($experimental & 255) << 8;
                $experimental = 2;
                $ptr = 34;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $teavmCfg = $$je;

            }
            $ptr = 36;
            continue main;
        case 34:
            try {
                $tmp = nleib_EaglerArrayByteBuffer_get($endiannessTestBytes, $experimental);
                if ($rt_suspending()) {
                    break main;
                }
                $experimental = $tmp;
                $isEmbeddedInBody = $isEmbeddedInBody | ($experimental & 255) << 16;
                $experimental = 3;
                $ptr = 35;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $teavmCfg = $$je;

            }
            $ptr = 36;
            continue main;
        case 35:
            try {
                $tmp = nleib_EaglerArrayByteBuffer_get($endiannessTestBytes, $experimental);
                if ($rt_suspending()) {
                    break main;
                }
                $experimental = $tmp;
                if (($isEmbeddedInBody | ($experimental & 255) << 24) != 110531616)
                    $rt_throw(nlei_PlatformIncompatibleException__init_($rt_s(131)));
                $nl = nlei_PlatformRuntime_logger;
                $style = $rt_s(132);
                $ptr = 37;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $teavmCfg = $$je;

            }
            $ptr = 36;
        case 36:
            nlei_PlatformRuntime_freeByteBuffer($endiannessTestBytes);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw($teavmCfg);
        case 37:
            a: {
                try {
                    oall_Logger_info($nl, $style);
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $teavmCfg = $$je;
                    break a;

                }
                $ptr = 41;
                continue main;
            }
            $ptr = 36;
            continue main;
        case 38:
            oall_Logger_info($nl, $style);
            if ($rt_suspending()) {
                break main;
            }
            $isEmbeddedInBody = 4;
            $ptr = 27;
            continue main;
        case 39:
            $tmp = ju_HashSet_iterator($oldTokens);
            if ($rt_suspending()) {
                break main;
            }
            $nl = $tmp;
            if ($nl.$hasNext()) {
                $ptr = 47;
                continue main;
            }
            $nl = $rt_s(133);
            $ptr = 42;
            continue main;
        case 40:
            ju_HashSet_add($oldTokens, $nl);
            if ($rt_suspending()) {
                break main;
            }
            $sw = $sw + 1 | 0;
            if ($sw >= $experimental) {
                $tokens = ju_HashSet__init_0();
                $ptr = 39;
                continue main;
            }
            $nl = jl_String_trim($finalLoadScreen[$sw]);
            continue main;
        case 41:
            nlei_PlatformRuntime_freeByteBuffer($endiannessTestBytes);
            if ($rt_suspending()) {
                break main;
            }
            $r = nlei_PlatformInput_getDevicePixelRatio$js_body$_29(nlei_PlatformRuntime_win);
            if ($r < 0.01)
                $r = 1.0;
            $iw = nlei_PlatformRuntime_parent.clientWidth;
            $ih = nlei_PlatformRuntime_parent.clientHeight;
            $sw = $r * $iw | 0;
            $sh = $r * $ih | 0;
            $nl = nlei_PlatformRuntime_doc.createElement("canvas");
            nlei_PlatformRuntime_canvas = $nl;
            $originalW = $nl.style;
            nlei_PlatformRuntime_canvas.classList.add("_eaglercraftX_canvas_element");
            $originalW.setProperty("width", "100%");
            $originalW.setProperty("height", "100%");
            $originalW.setProperty("z-index", "1");
            $originalW.setProperty("image-rendering", "pixelated");
            $originalW.setProperty("touch-action", "pan-x pan-y");
            $originalW.setProperty("-webkit-touch-callout", "none");
            $originalW.setProperty("-webkit-tap-highlight-color", "rgba(255, 255, 255, 0)");
            $nl = nlei_PlatformRuntime_canvas;
            $style = $sw;
            $nl.width = $style;
            $nl = nlei_PlatformRuntime_canvas;
            $style = $sh;
            $nl.height = $style;
            $nl = nlei_PlatformRuntime_parent;
            $style = nlei_PlatformRuntime_canvas;
            $nl.appendChild($style);
            b: {
                try {
                    $nl = nlei_PlatformRuntime_win;
                    $originalW = nlei_PlatformRuntime$1__init_0();
                    nlei_PlatformRuntime_windowMessageListener = $originalW;
                    $nl.addEventListener("message", otji_JS_function($originalW, "handleEvent"));
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $t = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $rt_throw(nlei_RuntimeInitializationFailureException__init_0($rt_s(134), $t));
            }
            $ptr = 50;
            continue main;
        case 42:
            ju_HashSet_add($tokens, $nl);
            if ($rt_suspending()) {
                break main;
            }
            $nl = $rt_s(135);
            $ptr = 43;
        case 43:
            ju_HashSet_add($tokens, $nl);
            if ($rt_suspending()) {
                break main;
            }
            $nl = $rt_s(136);
            $ptr = 44;
        case 44:
            ju_HashSet_add($tokens, $nl);
            if ($rt_suspending()) {
                break main;
            }
            $nl = $rt_s(137);
            $ptr = 45;
        case 45:
            ju_HashSet_add($tokens, $nl);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 46;
        case 46:
            $tmp = ju_AbstractSet_equals($tokens, $oldTokens);
            if ($rt_suspending()) {
                break main;
            }
            $experimental = $tmp;
            if ($experimental) {
                $ptr = 21;
                continue main;
            }
            $nl = nlei_PlatformRuntime_logger;
            $style = $rt_s(138);
            $ptr = 48;
            continue main;
        case 47:
            $tmp = $nl.$next();
            if ($rt_suspending()) {
                break main;
            }
            $style = $tmp;
            $str = $style;
            if (!jl_String_startsWith($str, $rt_s(139)) && !jl_String_startsWith($str, $rt_s(140)) && !jl_String_startsWith($str, $rt_s(141)) && !jl_String_startsWith($str, $rt_s(142))) {
                $ptr = 52;
                continue main;
            }
            if ($nl.$hasNext()) {
                continue main;
            }
            $nl = $rt_s(133);
            $ptr = 42;
            continue main;
        case 48:
            oall_Logger_info($nl, $style);
            if ($rt_suspending()) {
                break main;
            }
            $nl = $rt_s(143);
            $style = $rt_s(107);
            $ptr = 49;
        case 49:
            $tmp = jl_String_join($style, $tokens);
            if ($rt_suspending()) {
                break main;
            }
            $style = $tmp;
            $viewportTag.setAttribute($rt_ustr($nl), $rt_ustr($style));
            $ptr = 21;
            continue main;
        case 50:
            nlei_PlatformRuntime_checkImmediateContinueSupport();
            if ($rt_suspending()) {
                break main;
            }
            try {
                $style = nlei_PlatformRuntime_win;
                $originalW = nlei_PlatformRuntime_parent;
                $nl = nlei_PlatformRuntime_canvas;
                $ptr = 51;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $t = $$je;
                } else {
                    throw $$e;
                }
            }
            $rt_throw(nlei_RuntimeInitializationFailureException__init_0($rt_s(144), $t));
        case 51:
            a: {
                try {
                    nlei_PlatformInput_initHooks($style, $originalW, $nl);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $t = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $rt_throw(nlei_RuntimeInitializationFailureException__init_0($rt_s(144), $t));
            }
            $ptr = 53;
            continue main;
        case 52:
            ju_HashSet_add($tokens, $str);
            if ($rt_suspending()) {
                break main;
            }
            if ($nl.$hasNext()) {
                $ptr = 47;
                continue main;
            }
            $nl = $rt_s(133);
            $ptr = 42;
            continue main;
        case 53:
            $tmp = nleit_TeaVMClientConfigAdapter_isUseXHRFetchTeaVM($teavmCfg);
            if ($rt_suspending()) {
                break main;
            }
            $isEmbeddedInBody = $tmp;
            if ($isEmbeddedInBody) {
                nlei_PlatformRuntime_hasFetchSupport = 0;
                $nl = nlei_PlatformRuntime_logger;
                $style = $rt_s(145);
                $ptr = 54;
                continue main;
            }
            $isEmbeddedInBody = typeof $rt_globals.fetch === "function" ? 1 : 0;
            nlei_PlatformRuntime_hasFetchSupport = $isEmbeddedInBody;
            if ($isEmbeddedInBody) {
                $isEmbeddedInBody = nlei_PlatformRuntime_hasFetchSupport;
                $ptr = 55;
                continue main;
            }
            $nl = nlei_PlatformRuntime_logger;
            $style = $rt_s(146);
            $ptr = 56;
            continue main;
        case 54:
            oall_Logger_info($nl, $style);
            if ($rt_suspending()) {
                break main;
            }
            $isEmbeddedInBody = nlei_PlatformRuntime_hasFetchSupport;
            $ptr = 55;
        case 55:
            $tmp = nleit_TeaVMDataURLManager_checkDataURLSupport($isEmbeddedInBody);
            if ($rt_suspending()) {
                break main;
            }
            $isEmbeddedInBody = $tmp;
            nlei_PlatformRuntime_hasDataURLSupport = $isEmbeddedInBody;
            if ($isEmbeddedInBody) {
                $nl = nlei_PlatformRuntime_logger;
                $style = $rt_s(147);
                $ptr = 57;
                continue main;
            }
            $nl = nlei_PlatformRuntime_logger;
            $style = $rt_s(148);
            $ptr = 59;
            continue main;
        case 56:
            oall_Logger_error0($nl, $style);
            if ($rt_suspending()) {
                break main;
            }
            $isEmbeddedInBody = nlei_PlatformRuntime_hasFetchSupport;
            $ptr = 55;
            continue main;
        case 57:
            oall_Logger_info($nl, $style);
            if ($rt_suspending()) {
                break main;
            }
            $nl = nlei_PlatformRuntime_canvas;
            $originalW = nlei_PlatformRuntime$2__init_0();
            $nl.addEventListener("webglcontextcreationerror", otji_JS_function($originalW, "handleEvent"));
            $experimental = 0;
            $ptr = 58;
        case 58:
            $tmp = nleit_TeaVMClientConfigAdapter_isForceWebGL2TeaVM($teavmCfg);
            if ($rt_suspending()) {
                break main;
            }
            $isEmbeddedInBody = $tmp;
            if (!$isEmbeddedInBody) {
                $ptr = 60;
                continue main;
            }
            $nl = nlei_PlatformRuntime_logger;
            $style = $rt_s(149);
            $ptr = 61;
            continue main;
        case 59:
            oall_Logger_error0($nl, $style);
            if ($rt_suspending()) {
                break main;
            }
            $nl = nlei_PlatformRuntime_logger;
            $style = $rt_s(147);
            $ptr = 57;
            continue main;
        case 60:
            $tmp = nleit_TeaVMClientConfigAdapter_isForceWebGL1TeaVM($teavmCfg);
            if ($rt_suspending()) {
                break main;
            }
            $isEmbeddedInBody = $tmp;
            if (!$isEmbeddedInBody) {
                $glesVer = 300;
                $nl = nlei_PlatformRuntime_canvas;
                $style = $rt_s(150);
                $ptr = 63;
                continue main;
            }
            $glesVer = 200;
            $nl = nlei_PlatformRuntime_logger;
            $style = $rt_s(151);
            $ptr = 64;
            continue main;
        case 61:
            oall_Logger_info($nl, $style);
            if ($rt_suspending()) {
                break main;
            }
            $glesVer = 300;
            $nl = nlei_PlatformRuntime_canvas;
            $style = $rt_s(150);
            $ptr = 62;
        case 62:
            $tmp = nlei_PlatformRuntime_youEagler$js_body$_5();
            if ($rt_suspending()) {
                break main;
            }
            $originalW = $tmp;
            $webgl_ = $nl.getContext($rt_ustr($style), $originalW);
            if ($webgl_ === null)
                $rt_throw(nlei_PlatformIncompatibleException__init_($rt_s(152)));
            nlei_PlatformRuntime_webgl = $webgl_;
            nlei_PlatformRuntime_webglExperimental = $experimental;
            $ptr = 68;
            continue main;
        case 63:
            $tmp = nlei_PlatformRuntime_youEagler$js_body$_5();
            if ($rt_suspending()) {
                break main;
            }
            $originalW = $tmp;
            $webgl_ = $nl.getContext($rt_ustr($style), $originalW);
            if ($webgl_ === null) {
                $glesVer = 200;
                $nl = nlei_PlatformRuntime_canvas;
                $style = $rt_s(153);
                $ptr = 66;
                continue main;
            }
            nlei_PlatformRuntime_webgl = $webgl_;
            nlei_PlatformRuntime_webglExperimental = $experimental;
            $ptr = 68;
            continue main;
        case 64:
            oall_Logger_info($nl, $style);
            if ($rt_suspending()) {
                break main;
            }
            $nl = nlei_PlatformRuntime_canvas;
            $style = $rt_s(153);
            $ptr = 65;
        case 65:
            $tmp = nlei_PlatformRuntime_youEagler$js_body$_5();
            if ($rt_suspending()) {
                break main;
            }
            $originalW = $tmp;
            $webgl_ = $nl.getContext($rt_ustr($style), $originalW);
            if ($webgl_ === null) {
                $ptr = 67;
                continue main;
            }
            nlei_PlatformRuntime_webgl = $webgl_;
            nlei_PlatformRuntime_webglExperimental = $experimental;
            $ptr = 68;
            continue main;
        case 66:
            $tmp = nlei_PlatformRuntime_youEagler$js_body$_5();
            if ($rt_suspending()) {
                break main;
            }
            $originalW = $tmp;
            $webgl_ = $nl.getContext($rt_ustr($style), $originalW);
            if ($webgl_ === null) {
                $ptr = 74;
                continue main;
            }
            nlei_PlatformRuntime_webgl = $webgl_;
            nlei_PlatformRuntime_webglExperimental = $experimental;
            $ptr = 68;
            continue main;
        case 67:
            $tmp = nleit_TeaVMClientConfigAdapter_isAllowExperimentalWebGL1TeaVM($teavmCfg);
            if ($rt_suspending()) {
                break main;
            }
            $isEmbeddedInBody = $tmp;
            if (!$isEmbeddedInBody)
                $rt_throw(nlei_PlatformIncompatibleException__init_($rt_s(154)));
            $experimental = 1;
            $nl = nlei_PlatformRuntime_canvas;
            $style = $rt_s(155);
            $ptr = 75;
            continue main;
        case 68:
            nlei_PlatformOpenGL_setCurrentContext($glesVer, $webgl_);
            if ($rt_suspending()) {
                break main;
            }
            $nl = nlei_PlatformRuntime_logger;
            $style = $rt_s(156);
            $finalLoadScreen = $rt_createArray(jl_Object, 1);
            $oldTokenArray = $finalLoadScreen.data;
            $isEmbeddedInBody = 0;
            $experimental = 7938;
            $ptr = 69;
        case 69:
            $tmp = nlei_PlatformOpenGL__wglGetString($experimental);
            if ($rt_suspending()) {
                break main;
            }
            $originalW = $tmp;
            $oldTokenArray[$isEmbeddedInBody] = $originalW;
            $ptr = 70;
        case 70:
            oall_Logger_info0($nl, $style, $finalLoadScreen);
            if ($rt_suspending()) {
                break main;
            }
            $nl = nlei_PlatformRuntime_logger;
            $style = $rt_s(157);
            $finalLoadScreen = $rt_createArray(jl_Object, 1);
            $oldTokenArray = $finalLoadScreen.data;
            $isEmbeddedInBody = 0;
            $experimental = 7937;
            $ptr = 71;
        case 71:
            $tmp = nlei_PlatformOpenGL__wglGetString($experimental);
            if ($rt_suspending()) {
                break main;
            }
            $originalW = $tmp;
            $oldTokenArray[$isEmbeddedInBody] = $originalW;
            $ptr = 72;
        case 72:
            oall_Logger_info0($nl, $style, $finalLoadScreen);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 73;
        case 73:
            $tmp = nlei_PlatformOpenGL_dumpActiveExtensions();
            if ($rt_suspending()) {
                break main;
            }
            $exts = $tmp;
            if (!ju_AbstractCollection_isEmpty($exts)) {
                $ptr = 76;
                continue main;
            }
            $nl = nlei_PlatformRuntime_logger;
            $style = $rt_s(158);
            $ptr = 78;
            continue main;
        case 74:
            $tmp = nleit_TeaVMClientConfigAdapter_isAllowExperimentalWebGL1TeaVM($teavmCfg);
            if ($rt_suspending()) {
                break main;
            }
            $isEmbeddedInBody = $tmp;
            if (!$isEmbeddedInBody)
                $rt_throw(nlei_PlatformIncompatibleException__init_($rt_s(154)));
            $experimental = 1;
            $nl = nlei_PlatformRuntime_canvas;
            $style = $rt_s(155);
            $ptr = 79;
            continue main;
        case 75:
            $tmp = nlei_PlatformRuntime_youEagler$js_body$_5();
            if ($rt_suspending()) {
                break main;
            }
            $originalW = $tmp;
            $webgl_ = $nl.getContext($rt_ustr($style), $originalW);
            if ($webgl_ === null)
                $rt_throw(nlei_PlatformIncompatibleException__init_($rt_s(154)));
            $nl = nlei_PlatformRuntime_win;
            $ptr = 80;
            continue main;
        case 76:
            ju_Collections_sort($exts);
            if ($rt_suspending()) {
                break main;
            }
            $nl = nlei_PlatformRuntime_logger;
            $style = $rt_s(159);
            $ptr = 77;
        case 77:
            oall_Logger_info($nl, $style);
            if ($rt_suspending()) {
                break main;
            }
            $i = 0;
            $l = ju_ArrayList_size($exts);
            if ($i >= $l) {
                $originalW = nlei_PlatformRuntime_webgl.createFramebuffer();
                nlei_PlatformRuntime_mainFramebuffer = $originalW;
                $nl = nlei_PlatformRuntime_webgl;
                $style = nlei_OpenGLObjects$FramebufferGL__init_($originalW);
                $ptr = 81;
                continue main;
            }
            $nl = nlei_PlatformRuntime_logger;
            $style = $rt_s(160);
            $finalLoadScreen = $rt_createArray(jl_Object, 1);
            $finalLoadScreen.data[0] = ju_ArrayList_get($exts, $i);
            $ptr = 85;
            continue main;
        case 78:
            oall_Logger_info($nl, $style);
            if ($rt_suspending()) {
                break main;
            }
            $originalW = nlei_PlatformRuntime_webgl.createFramebuffer();
            nlei_PlatformRuntime_mainFramebuffer = $originalW;
            $nl = nlei_PlatformRuntime_webgl;
            $style = nlei_OpenGLObjects$FramebufferGL__init_($originalW);
            $ptr = 81;
            continue main;
        case 79:
            $tmp = nlei_PlatformRuntime_youEagler$js_body$_5();
            if ($rt_suspending()) {
                break main;
            }
            $originalW = $tmp;
            $webgl_ = $nl.getContext($rt_ustr($style), $originalW);
            if ($webgl_ === null)
                $rt_throw(nlei_PlatformIncompatibleException__init_($rt_s(154)));
            $nl = nlei_PlatformRuntime_win;
            $ptr = 84;
            continue main;
        case 80:
            $nl.alert("WARNING: Detected \"experimental\" WebGL 1.0 support, certain graphics API features may be missing, and therefore EaglercraftX may malfunction and crash!");
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformRuntime_webgl = $webgl_;
            nlei_PlatformRuntime_webglExperimental = $experimental;
            $ptr = 68;
            continue main;
        case 81:
            nleit_WebGLBackBuffer_initBackBuffer($nl, $originalW, $style, $sw, $sh);
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformInput_initWindowSize($sw, $sh, $r);
            $ptr = 82;
        case 82:
            $tmp = nlei_PlatformOpenGL_checkVAOCapable();
            if ($rt_suspending()) {
                break main;
            }
            $isEmbeddedInBody = $tmp;
            $ptr = 83;
        case 83:
            nleit_EarlyLoadScreen_paintScreen($glesVer, $isEmbeddedInBody);
            if ($rt_suspending()) {
                break main;
            }
            $nl = nlei_PlatformAssets_assets;
            if (!($nl !== null && ju_HashMap_isEmpty($nl)))
                nlei_PlatformAssets_assets = ju_HashMap__init_0();
            $finalLoadScreen = nleit_ClientMain_configEPKFiles;
            $ptr = 86;
            continue main;
        case 84:
            $nl.alert("WARNING: Detected \"experimental\" WebGL 1.0 support, certain graphics API features may be missing, and therefore EaglercraftX may malfunction and crash!");
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformRuntime_webgl = $webgl_;
            nlei_PlatformRuntime_webglExperimental = $experimental;
            $ptr = 68;
            continue main;
        case 85:
            oall_Logger_info0($nl, $style, $finalLoadScreen);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            if ($i >= $l) {
                $originalW = nlei_PlatformRuntime_webgl.createFramebuffer();
                nlei_PlatformRuntime_mainFramebuffer = $originalW;
                $nl = nlei_PlatformRuntime_webgl;
                $style = nlei_OpenGLObjects$FramebufferGL__init_($originalW);
                $ptr = 81;
                continue main;
            }
            $nl = nlei_PlatformRuntime_logger;
            $style = $rt_s(160);
            $finalLoadScreen = $rt_createArray(jl_Object, 1);
            $finalLoadScreen.data[0] = ju_ArrayList_get($exts, $i);
            continue main;
        case 86:
            $tmp = nleit_TeaVMClientConfigAdapter_isEnableEPKVersionCheckTeaVM($teavmCfg);
            if ($rt_suspending()) {
                break main;
            }
            $isEmbeddedInBody = $tmp;
            if ($isEmbeddedInBody) {
                $ptr = 87;
                continue main;
            }
            $teavmCfg = null;
            $nl = nlei_PlatformAssets_assets;
            $ptr = 88;
            continue main;
        case 87:
            nle_EaglercraftVersion_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $teavmCfg = nle_EaglercraftVersion_EPKVersionIdentifier;
            $nl = nlei_PlatformAssets_assets;
            $ptr = 88;
        case 88:
            nleit_EPKDownloadHelper_downloadEPKFilesOfVersion($finalLoadScreen, $teavmCfg, $nl);
            if ($rt_suspending()) {
                break main;
            }
            $teavmCfg = nlei_PlatformRuntime_logger;
            $nl = $rt_s(161);
            $finalLoadScreen = $rt_createArray(jl_Object, 1);
            $finalLoadScreen.data[0] = jl_Integer_valueOf(ju_HashMap_size(nlei_PlatformAssets_assets));
            $ptr = 89;
        case 89:
            oall_Logger_info0($teavmCfg, $nl, $finalLoadScreen);
            if ($rt_suspending()) {
                break main;
            }
            $teavmCfg = $rt_s(162);
            $ptr = 90;
        case 90:
            $tmp = nlei_PlatformAssets_getResourceBytes($teavmCfg);
            if ($rt_suspending()) {
                break main;
            }
            $finalLoadScreen = $tmp;
            if ($finalLoadScreen !== null) {
                $ptr = 94;
                continue main;
            }
            var$32 = 1.0;
            var$33 = 0.0;
            var$34 = 1.0;
            var$35 = 1.0;
            $ptr = 91;
        case 91:
            nlei_PlatformOpenGL__wglClearColor(var$32, var$33, var$34, var$35);
            if ($rt_suspending()) {
                break main;
            }
            $isEmbeddedInBody = 16384;
            $ptr = 92;
        case 92:
            nlei_PlatformOpenGL__wglClear($isEmbeddedInBody);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 93;
        case 93:
            nlei_PlatformInput_update();
            if ($rt_suspending()) {
                break main;
            }
            $teavmCfg = nlei_PlatformRuntime_logger;
            $nl = $rt_s(163);
            $ptr = 97;
            continue main;
        case 94:
            nleit_EarlyLoadScreen_loadFinal($finalLoadScreen);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 95;
        case 95:
            $tmp = nlei_PlatformOpenGL_checkVAOCapable();
            if ($rt_suspending()) {
                break main;
            }
            $isEmbeddedInBody = $tmp;
            $experimental = 0;
            $ptr = 96;
        case 96:
            nleit_EarlyLoadScreen_paintFinal($isEmbeddedInBody, $experimental);
            if ($rt_suspending()) {
                break main;
            }
            $teavmCfg = nlei_PlatformRuntime_logger;
            $nl = $rt_s(163);
            $ptr = 97;
        case 97:
            oall_Logger_info($teavmCfg, $nl);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 98;
        case 98:
            $tmp = nlei_PlatformRuntime_getClientConfigAdapter();
            if ($rt_suspending()) {
                break main;
            }
            $teavmCfg = $tmp;
            $ptr = 99;
        case 99:
            $tmp = nleit_TeaVMClientConfigAdapter_getWorldsDB($teavmCfg);
            if ($rt_suspending()) {
                break main;
            }
            $teavmCfg = $tmp;
            $ptr = 100;
        case 100:
            $tmp = nle_Filesystem_getHandleFor($teavmCfg);
            if ($rt_suspending()) {
                break main;
            }
            $resourcePackFilesystem = $tmp;
            nleiv_VFile2_setPrimaryFilesystem($resourcePackFilesystem);
            $teavmCfg = nlei_PlatformRuntime_logger;
            $nl = $rt_s(164);
            $ptr = 101;
        case 101:
            oall_Logger_info($teavmCfg, $nl);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 102;
        case 102:
            nlei_PlatformInput_pressAnyKeyScreen();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 103;
        case 103:
            nlei_PlatformAudio_initialize();
            if ($rt_suspending()) {
                break main;
            }
            if ($finalLoadScreen !== null) {
                $ptr = 107;
                continue main;
            }
            var$32 = 1.0;
            var$33 = 0.0;
            var$34 = 1.0;
            var$35 = 1.0;
            $ptr = 104;
        case 104:
            nlei_PlatformOpenGL__wglClearColor(var$32, var$33, var$34, var$35);
            if ($rt_suspending()) {
                break main;
            }
            $isEmbeddedInBody = 16384;
            $ptr = 105;
        case 105:
            nlei_PlatformOpenGL__wglClear($isEmbeddedInBody);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 106;
        case 106:
            nlei_PlatformInput_update();
            if ($rt_suspending()) {
                break main;
            }
            $teavmCfg = nlei_PlatformRuntime_logger;
            $nl = $rt_s(165);
            $ptr = 109;
            continue main;
        case 107:
            $tmp = nlei_PlatformOpenGL_checkVAOCapable();
            if ($rt_suspending()) {
                break main;
            }
            $isEmbeddedInBody = $tmp;
            $experimental = 0;
            $ptr = 108;
        case 108:
            nleit_EarlyLoadScreen_paintFinal($isEmbeddedInBody, $experimental);
            if ($rt_suspending()) {
                break main;
            }
            $teavmCfg = nlei_PlatformRuntime_logger;
            $nl = $rt_s(165);
            $ptr = 109;
        case 109:
            oall_Logger_info($teavmCfg, $nl);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($teavmCfg, $shimStatus, $nl, $style, $originalW, $stat, $finalLoadScreen, $isEmbeddedInBody, $experimental, $originalH, var$11, $viewportTag, $cont, $htmlDecl, $endiannessTestBytes, $bodyTag, $oldTokenArray, $oldTokens, $sw, $tokens, $r, $iw, $ih, $sh, $t, $str, $glesVer, $webgl_, $exts, $i, $l, var$32, var$33, var$34, var$35, $resourcePackFilesystem, $ptr);
    }
    function nlei_PlatformRuntime_dumpShims($shims) {
        var $descriptions, var$3, $shim, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$shim = $thread.pop();var$3 = $thread.pop();$descriptions = $thread.pop();$shims = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (ju_AbstractCollection_isEmpty($shims))
                return;
            $descriptions = ju_ArrayList__init_0();
            $ptr = 2;
        case 2:
            $tmp = ju_GenericEnumSet_iterator($shims);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (ju_GenericEnumSet$1_hasNext(var$3)) {
                $ptr = 5;
                continue main;
            }
            var$3 = nlei_PlatformRuntime_logger;
            $shim = $rt_s(166);
            var$5 = $rt_createArray(jl_Object, 2);
            var$6 = var$5.data;
            var$6[0] = jl_Integer_valueOf(ju_GenericEnumSet_size($shims));
            var$7 = 1;
            $shims = $rt_s(107);
            $ptr = 3;
        case 3:
            $tmp = jl_String_join($shims, $descriptions);
            if ($rt_suspending()) {
                break main;
            }
            $shims = $tmp;
            var$6[var$7] = $shims;
            $ptr = 4;
        case 4:
            oall_Logger_info0(var$3, $shim, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            $tmp = ju_GenericEnumSet$1_next(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $shim = $tmp;
            $shim = $shim.$shimDesc;
            $ptr = 6;
        case 6:
            ju_ArrayList_add($descriptions, $shim);
            if ($rt_suspending()) {
                break main;
            }
            if (ju_GenericEnumSet$1_hasNext(var$3)) {
                $ptr = 5;
                continue main;
            }
            var$3 = nlei_PlatformRuntime_logger;
            $shim = $rt_s(166);
            var$5 = $rt_createArray(jl_Object, 2);
            var$6 = var$5.data;
            var$6[0] = jl_Integer_valueOf(ju_GenericEnumSet_size($shims));
            var$7 = 1;
            $shims = $rt_s(107);
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($shims, $descriptions, var$3, $shim, var$5, var$6, var$7, $ptr);
    }
    function nlei_PlatformRuntime_allocateByteBuffer($length) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$length = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayBufferAllocator_$callClinit();
            return !$length ? nleib_EaglerArrayBufferAllocator_ZERO_LENGTH_BYTE_BUFFER : nleib_EaglerArrayByteBuffer__init_(new $rt_globals.Int8Array($length));
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($length, $ptr);
    }
    function nlei_PlatformRuntime_allocateIntBuffer($length) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$length = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayBufferAllocator_$callClinit();
            return !$length ? nleib_EaglerArrayBufferAllocator_ZERO_LENGTH_INT_BUFFER : nleib_EaglerArrayIntBuffer__init_(new $rt_globals.Int32Array($length));
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($length, $ptr);
    }
    function nlei_PlatformRuntime_allocateFloatBuffer($length) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$length = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayBufferAllocator_$callClinit();
            return !$length ? nleib_EaglerArrayBufferAllocator_ZERO_LENGTH_FLOAT_BUFFER : nleib_EaglerArrayFloatBuffer__init_(new $rt_globals.Float32Array($length));
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($length, $ptr);
    }
    function nlei_PlatformRuntime_castPrimitiveByteArray($array) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$array = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nleib_EaglerArrayBufferAllocator_wrapByteBufferTeaVM($array.data);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($array, $ptr);
    }
    function nlei_PlatformRuntime_castNativeByteBuffer($buffer) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$buffer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nleib_EaglerArrayBufferAllocator_getDataView8Unsigned($buffer);
            if ($rt_suspending()) {
                break main;
            }
            $buffer = $tmp;
            return nleit_TeaVMUtils_wrapUnsignedByteArray($buffer);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($buffer, $ptr);
    }
    function nlei_PlatformRuntime_freeByteBuffer($byteBuffer) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$byteBuffer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($byteBuffer, $ptr);
    }
    function nlei_PlatformRuntime_downloadRemoteURIXHR(var$1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_downloadRemoteURIXHR$_asyncCall_$(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return otji_JSWrapper_unwrap(var$1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nlei_PlatformRuntime_downloadRemoteURIXHR0($assetPackageURI, $cb) {
        var $isDat, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$isDat = $thread.pop();$cb = $thread.pop();$assetPackageURI = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_isDataURL($assetPackageURI);
            if ($rt_suspending()) {
                break main;
            }
            $isDat = $tmp;
            if ($isDat && !nlei_PlatformRuntime_hasDataURLSupport) {
                $ptr = 3;
                continue main;
            }
            if (!$isDat) {
                ju_Objects_requireNonNull($cb);
                var$4 = new nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_0;
                var$4.$_01 = $cb;
            } else {
                var$4 = new nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_1;
                var$4.$_02 = $cb;
                var$4.$_10 = $assetPackageURI;
            }
            nleit_TeaVMFetchJS_doXHRDownload$js_body$_3($rt_ustr($assetPackageURI), otji_JS_function(var$4, "onFetch"));
            return;
        case 3:
            $tmp = nleit_TeaVMDataURLManager_decodeDataURLFallback($assetPackageURI);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            otpp_AsyncCallbackWrapper_complete($cb, otji_JSWrapper_wrap(var$5.data.buffer));
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($assetPackageURI, $cb, $isDat, var$4, var$5, $ptr);
    }
    function nlei_PlatformRuntime_downloadRemoteURIFetch(var$1, var$2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_downloadRemoteURIFetch$_asyncCall_$(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return otji_JSWrapper_unwrap(var$1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nlei_PlatformRuntime_downloadRemoteURIFetch0($assetPackageURI, $useCache, $cb) {
        var $isDat, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$isDat = $thread.pop();$cb = $thread.pop();$useCache = $thread.pop();$assetPackageURI = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_isDataURL($assetPackageURI);
            if ($rt_suspending()) {
                break main;
            }
            $isDat = $tmp;
            if ($isDat && !nlei_PlatformRuntime_hasDataURLSupport) {
                $ptr = 3;
                continue main;
            }
            var$5 = !$useCache ? $rt_s(167) : $rt_s(168);
            if (!$isDat) {
                ju_Objects_requireNonNull($cb);
                var$6 = new nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_0;
                var$6.$_03 = $cb;
            } else {
                var$6 = new nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_1;
                var$6.$_04 = $cb;
                var$6.$_11 = $assetPackageURI;
            }
            nleit_TeaVMFetchJS_doFetchDownload$js_body$_2($rt_ustr($assetPackageURI), $rt_ustr(var$5), otji_JS_function(var$6, "onFetch"));
            return;
        case 3:
            $tmp = nleit_TeaVMDataURLManager_decodeDataURLFallback($assetPackageURI);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            otpp_AsyncCallbackWrapper_complete($cb, otji_JSWrapper_wrap(var$7.data.buffer));
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($assetPackageURI, $useCache, $cb, $isDat, var$5, var$6, var$7, $ptr);
    }
    function nlei_PlatformRuntime_isDataURL($url) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$url = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return jl_String_length($url) > 5 && jl_String_equalsIgnoreCase(jl_String_substring0($url, 0, 5), $rt_s(169)) ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($url, $ptr);
    }
    function nlei_PlatformRuntime_swapDelayTeaVM() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nlei_PlatformRuntime_useDelayOnSwap && nlei_PlatformRuntime_immediateContinueSupport) {
                $ptr = 3;
                continue main;
            }
            var$1 = 0;
            $ptr = 2;
        case 2:
            nlei_PlatformRuntime_sleep(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nlei_PlatformRuntime_immediateContinueTeaVM0();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nlei_PlatformRuntime_immediateContinueTeaVM0() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformRuntime_immediateContinueTeaVM0$_asyncCall_$();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nlei_PlatformRuntime_immediateContinueTeaVM00($cb) {
        var var$2, var$3, var$4, $token, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$token = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$cb = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nlei_PlatformRuntime_immediateContLock;
            $ptr = 2;
        case 2:
            jl_Object_monitorEnter(var$2);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                b: {
                    try {
                        if (nlei_PlatformRuntime_immediateContinueChannel !== null)
                            break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        $cb = $$je;
                        break a;

                    }
                    c: {
                        try {
                            if (nlei_PlatformRuntime_currentLegacyContinueHack === null)
                                break c;
                            otpp_AsyncCallbackWrapper_error($cb, jl_IllegalStateException__init_0($rt_s(170)));
                            jl_Object_monitorExit(var$2);
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            $cb = $$je;
                            break a;

                        }
                        return;
                    }
                    try {
                        var$3 = nle_EaglercraftUUID_randomUUID();
                        $ptr = 3;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        $cb = $$je;
                        break a;

                    }
                }
                d: {
                    try {
                        if (nlei_PlatformRuntime_currentMsgChannelContinueHack === null)
                            break d;
                        otpp_AsyncCallbackWrapper_error($cb, jl_IllegalStateException__init_0($rt_s(170)));
                        jl_Object_monitorExit(var$2);
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        $cb = $$je;
                        break a;

                    }
                    return;
                }
                try {
                    nlei_PlatformRuntime_currentMsgChannelContinueHack = nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_0__init_($cb);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $cb = $$je;
                    break a;

                }
                e: {
                    try {
                        try {
                            var$4 = nlei_PlatformRuntime_immediateContinueChannel.port2;
                            var$3 = nlei_PlatformRuntime_emptyJSString;
                            var$4.postMessage(var$3);
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                break e;
                            } else {
                                throw $$e;
                            }
                        }
                        jl_Object_monitorExit(var$2);
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        $cb = $$je;
                        break a;

                    }
                    return;
                }
                try {
                    nlei_PlatformRuntime_currentMsgChannelContinueHack = null;
                    var$3 = nlei_PlatformRuntime_logger;
                    var$4 = $rt_s(171);
                    $ptr = 5;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $cb = $$je;

                }
            }
            jl_Object_monitorExit(var$2);
            $rt_throw($cb);
        case 3:
            a: {
                try {
                    $tmp = nle_EaglercraftUUID_toString(var$3);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$3 = $tmp;
                    $token = $rt_ustr(var$3);
                    nlei_PlatformRuntime_currentLegacyContinueHack = nlei_PlatformRuntime$5__init_($token, $cb);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $cb = $$je;
                    break a;

                }
                b: {
                    try {
                        try {
                            var$3 = nlei_PlatformRuntime_win;
                            var$4 = nlei_PlatformRuntime_windowMessagePostOrigin;
                            var$3.postMessage($token, $rt_ustr(var$4));
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                break b;
                            } else {
                                throw $$e;
                            }
                        }
                        jl_Object_monitorExit(var$2);
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        $cb = $$je;
                        break a;

                    }
                    return;
                }
                try {
                    nlei_PlatformRuntime_currentLegacyContinueHack = null;
                    var$3 = nlei_PlatformRuntime_logger;
                    var$4 = $rt_s(171);
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $cb = $$je;

                }
            }
            jl_Object_monitorExit(var$2);
            $rt_throw($cb);
        case 4:
            a: {
                try {
                    oall_Logger_error0(var$3, var$4);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $rt_globals.setTimeout(otji_JS_function(nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_2__init_($cb), "onTimer"), 0);
                    jl_Object_monitorExit(var$2);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $cb = $$je;
                    break a;

                }
                return;
            }
            jl_Object_monitorExit(var$2);
            $rt_throw($cb);
        case 5:
            a: {
                try {
                    oall_Logger_error0(var$3, var$4);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $rt_globals.setTimeout(otji_JS_function(nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_1__init_($cb), "onTimer"), 0);
                    jl_Object_monitorExit(var$2);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $cb = $$je;
                    break a;

                }
                return;
            }
            jl_Object_monitorExit(var$2);
            $rt_throw($cb);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($cb, var$2, var$3, var$4, $token, $ptr);
    }
    function nlei_PlatformRuntime_checkImmediateContinueSupport() {
        var var$1, $stat, var$3, var$4, var$5, var$6, var$7, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$stat = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformRuntime_immediateContinueSupport = 0;
            var$1 = nlei_PlatformRuntime_win;
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_getOriginForPost$js_body$_54(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nlei_PlatformRuntime_windowMessagePostOrigin = $rt_str(var$1);
            a: {
                try {
                    if (!(typeof $rt_globals.MessageChannel !== "undefined" ? 1 : 0)) {
                        $stat = 0;
                        break a;
                    }
                    var$1 = new $rt_globals.MessageChannel();
                    nlei_PlatformRuntime_immediateContinueChannel = var$1;
                    var$3 = var$1.port1;
                    var$4 = nlei_PlatformRuntime$6__init_0();
                    var$3.addEventListener("message", otji_JS_function(var$4, "handleEvent"));
                    nlei_PlatformRuntime_immediateContinueChannel.port1.start();
                    nlei_PlatformRuntime_immediateContinueChannel.port2.start();
                    var$5 = $rt_createBooleanArray(1);
                    var$6 = var$5.data;
                    var$6[0] = 0;
                    nlei_PlatformRuntime_currentMsgChannelContinueHack = nlei_PlatformRuntime$checkImmediateContinueSupport0$lambda$_51_0__init_(var$5);
                    var$4 = nlei_PlatformRuntime_immediateContinueChannel.port2;
                    var$1 = nlei_PlatformRuntime_emptyJSString;
                    var$4.postMessage(var$1);
                    if (!var$6[0]) {
                        var$7 = 10;
                        $ptr = 4;
                        continue main;
                    }
                    nlei_PlatformRuntime_currentMsgChannelContinueHack = null;
                    var$1 = nlei_PlatformRuntime_immediateContinueChannel;
                    if (var$1 === null) {
                        nlei_PlatformRuntime_immediateContinueChannel = null;
                        $stat = 1;
                        break a;
                    }
                    $ptr = 5;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                nlei_PlatformRuntime_currentMsgChannelContinueHack = null;
                var$1 = nlei_PlatformRuntime_immediateContinueChannel;
                if (var$1 !== null) {
                    $ptr = 3;
                    continue main;
                }
                nlei_PlatformRuntime_immediateContinueChannel = null;
                $stat = 3;
            }
            if (!$stat) {
                nlei_PlatformRuntime_immediateContinueSupport = 1;
                return;
            }
            if ($stat == 1) {
                var$1 = nlei_PlatformRuntime_logger;
                var$4 = $rt_s(172);
                $ptr = 6;
                continue main;
            }
            if ($stat == 2) {
                var$1 = nlei_PlatformRuntime_logger;
                var$4 = $rt_s(173);
                $ptr = 8;
                continue main;
            }
            if ($stat != 3) {
                var$1 = nlei_PlatformRuntime_logger;
                var$4 = $rt_s(174);
                $ptr = 9;
                continue main;
            }
            var$1 = nlei_PlatformRuntime_logger;
            var$4 = $rt_s(175);
            $ptr = 11;
            continue main;
        case 3:
            nlei_PlatformRuntime_safeShutdownChannel(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformRuntime_immediateContinueChannel = null;
            if (!3) {
                nlei_PlatformRuntime_immediateContinueSupport = 1;
                return;
            }
            if (3 == 1) {
                var$1 = nlei_PlatformRuntime_logger;
                var$4 = $rt_s(172);
                $ptr = 6;
                continue main;
            }
            if (3 == 2) {
                var$1 = nlei_PlatformRuntime_logger;
                var$4 = $rt_s(173);
                $ptr = 8;
                continue main;
            }
            if (3 != 3) {
                var$1 = nlei_PlatformRuntime_logger;
                var$4 = $rt_s(174);
                $ptr = 9;
                continue main;
            }
            var$1 = nlei_PlatformRuntime_logger;
            var$4 = $rt_s(175);
            $ptr = 11;
            continue main;
        case 4:
            a: {
                try {
                    nlei_PlatformRuntime_sleep(var$7);
                    if ($rt_suspending()) {
                        break main;
                    }
                    nlei_PlatformRuntime_currentMsgChannelContinueHack = null;
                    if (var$6[0]) {
                        $stat = 0;
                        break a;
                    }
                    var$1 = nlei_PlatformRuntime_immediateContinueChannel;
                    if (var$1 === null) {
                        nlei_PlatformRuntime_immediateContinueChannel = null;
                        $stat = 2;
                        break a;
                    }
                    $ptr = 7;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                nlei_PlatformRuntime_currentMsgChannelContinueHack = null;
                var$1 = nlei_PlatformRuntime_immediateContinueChannel;
                if (var$1 !== null) {
                    $ptr = 3;
                    continue main;
                }
                nlei_PlatformRuntime_immediateContinueChannel = null;
                $stat = 3;
            }
            if (!$stat) {
                nlei_PlatformRuntime_immediateContinueSupport = 1;
                return;
            }
            if ($stat == 1) {
                var$1 = nlei_PlatformRuntime_logger;
                var$4 = $rt_s(172);
                $ptr = 6;
                continue main;
            }
            if ($stat == 2) {
                var$1 = nlei_PlatformRuntime_logger;
                var$4 = $rt_s(173);
                $ptr = 8;
                continue main;
            }
            if ($stat != 3) {
                var$1 = nlei_PlatformRuntime_logger;
                var$4 = $rt_s(174);
                $ptr = 9;
                continue main;
            }
            var$1 = nlei_PlatformRuntime_logger;
            var$4 = $rt_s(175);
            $ptr = 11;
            continue main;
        case 5:
            a: {
                try {
                    nlei_PlatformRuntime_safeShutdownChannel(var$1);
                    if ($rt_suspending()) {
                        break main;
                    }
                    nlei_PlatformRuntime_immediateContinueChannel = null;
                    $stat = 1;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                nlei_PlatformRuntime_currentMsgChannelContinueHack = null;
                var$1 = nlei_PlatformRuntime_immediateContinueChannel;
                if (var$1 !== null) {
                    $ptr = 3;
                    continue main;
                }
                nlei_PlatformRuntime_immediateContinueChannel = null;
                $stat = 3;
            }
            if (!$stat) {
                nlei_PlatformRuntime_immediateContinueSupport = 1;
                return;
            }
            if ($stat == 1) {
                var$1 = nlei_PlatformRuntime_logger;
                var$4 = $rt_s(172);
                $ptr = 6;
                continue main;
            }
            if ($stat == 2) {
                var$1 = nlei_PlatformRuntime_logger;
                var$4 = $rt_s(173);
                $ptr = 8;
                continue main;
            }
            if ($stat != 3) {
                var$1 = nlei_PlatformRuntime_logger;
                var$4 = $rt_s(174);
                $ptr = 9;
                continue main;
            }
            var$1 = nlei_PlatformRuntime_logger;
            var$4 = $rt_s(175);
            $ptr = 11;
            continue main;
        case 6:
            oall_Logger_error0(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nlei_PlatformRuntime_logger;
            var$4 = $rt_s(174);
            $ptr = 9;
            continue main;
        case 7:
            a: {
                try {
                    nlei_PlatformRuntime_safeShutdownChannel(var$1);
                    if ($rt_suspending()) {
                        break main;
                    }
                    nlei_PlatformRuntime_immediateContinueChannel = null;
                    $stat = 2;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                nlei_PlatformRuntime_currentMsgChannelContinueHack = null;
                var$1 = nlei_PlatformRuntime_immediateContinueChannel;
                if (var$1 !== null) {
                    $ptr = 3;
                    continue main;
                }
                nlei_PlatformRuntime_immediateContinueChannel = null;
                $stat = 3;
            }
            if (!$stat) {
                nlei_PlatformRuntime_immediateContinueSupport = 1;
                return;
            }
            if ($stat == 1) {
                var$1 = nlei_PlatformRuntime_logger;
                var$4 = $rt_s(172);
                $ptr = 6;
                continue main;
            }
            if ($stat == 2) {
                var$1 = nlei_PlatformRuntime_logger;
                var$4 = $rt_s(173);
                $ptr = 8;
                continue main;
            }
            if ($stat != 3) {
                var$1 = nlei_PlatformRuntime_logger;
                var$4 = $rt_s(174);
                $ptr = 9;
                continue main;
            }
            var$1 = nlei_PlatformRuntime_logger;
            var$4 = $rt_s(175);
            $ptr = 11;
            continue main;
        case 8:
            oall_Logger_error0(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nlei_PlatformRuntime_logger;
            var$4 = $rt_s(174);
            $ptr = 9;
        case 9:
            oall_Logger_info(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            $tmp = nlei_PlatformRuntime_checkLegacyImmediateContinueSupport0();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (!var$7) {
                nlei_PlatformRuntime_immediateContinueSupport = 1;
                return;
            }
            if (var$7 == 1) {
                var$1 = nlei_PlatformRuntime_logger;
                var$4 = $rt_s(176);
                $ptr = 14;
                continue main;
            }
            var$1 = nlei_PlatformRuntime_logger;
            var$4 = $rt_s(177);
            var$5 = $rt_createArray(jl_Object, 1);
            var$5.data[0] = nlei_PlatformRuntime_windowMessagePostOrigin;
            $ptr = 12;
            continue main;
        case 11:
            oall_Logger_error0(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nlei_PlatformRuntime_logger;
            var$4 = $rt_s(174);
            $ptr = 9;
            continue main;
        case 12:
            oall_Logger_warn0(var$1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformRuntime_windowMessagePostOrigin = $rt_s(178);
            $ptr = 13;
        case 13:
            $tmp = nlei_PlatformRuntime_checkLegacyImmediateContinueSupport0();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (!var$7)
                nlei_PlatformRuntime_immediateContinueSupport = 1;
            else {
                if (var$7 == 1) {
                    var$1 = nlei_PlatformRuntime_logger;
                    var$4 = $rt_s(176);
                    $ptr = 15;
                    continue main;
                }
                if (var$7 == 2) {
                    var$1 = nlei_PlatformRuntime_logger;
                    var$4 = $rt_s(179);
                    $ptr = 16;
                    continue main;
                }
                if (var$7 == 3) {
                    var$1 = nlei_PlatformRuntime_logger;
                    var$4 = $rt_s(180);
                    $ptr = 17;
                    continue main;
                }
            }
            return;
        case 14:
            oall_Logger_error0(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 15:
            oall_Logger_error0(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 16:
            oall_Logger_error0(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 17:
            oall_Logger_error0(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $stat, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nlei_PlatformRuntime_safeShutdownChannel($chan) {
        var $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$chan = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            a: {
                try {
                    $chan.port1.close();
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            b: {
                try {
                    $chan.port2.close();
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($chan, $ptr);
    }
    function nlei_PlatformRuntime_checkLegacyImmediateContinueSupport0() {
        var $token, $checkMe, var$3, var$4, var$5, var$6, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$checkMe = $thread.pop();$token = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            try {
                $token = nle_EaglercraftUUID_randomUUID();
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            nlei_PlatformRuntime_currentLegacyContinueHack = null;
            return 3;
        case 2:
            a: {
                b: {
                    try {
                        $tmp = nle_EaglercraftUUID_toString($token);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $token = $tmp;
                        $token = $rt_ustr($token);
                        $checkMe = $rt_createBooleanArray(1);
                        var$3 = $checkMe.data;
                        var$3[0] = 0;
                        nlei_PlatformRuntime_currentLegacyContinueHack = nlei_PlatformRuntime$7__init_($token, $checkMe);
                        var$4 = nlei_PlatformRuntime_win;
                        var$5 = nlei_PlatformRuntime_windowMessagePostOrigin;
                        var$4.postMessage($token, $rt_ustr(var$5));
                        if (!var$3[0])
                            break b;
                        nlei_PlatformRuntime_currentLegacyContinueHack = null;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                    return 1;
                }
                try {
                    var$6 = 10;
                    $ptr = 3;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            nlei_PlatformRuntime_currentLegacyContinueHack = null;
            return 3;
        case 3:
            a: {
                b: {
                    try {
                        nlei_PlatformRuntime_sleep(var$6);
                        if ($rt_suspending()) {
                            break main;
                        }
                        nlei_PlatformRuntime_currentLegacyContinueHack = null;
                        if (!var$3[0])
                            break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                    return 0;
                }
                try {
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return 2;
            }
            nlei_PlatformRuntime_currentLegacyContinueHack = null;
            return 3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($token, $checkMe, var$3, var$4, var$5, var$6, $ptr);
    }
    function nlei_PlatformRuntime_removeEventHandlers() {
        var var$1, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            a: {
                try {
                    nlei_PlatformRuntime_immediateContinueSupport = 0;
                    var$1 = nlei_PlatformRuntime_windowMessageListener;
                    if (var$1 !== null) {
                        nlei_PlatformRuntime_win.removeEventListener("message", otji_JS_function(var$1, "handleEvent"));
                        nlei_PlatformRuntime_windowMessageListener = null;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            try {
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 2:
            a: {
                try {
                    nlei_PlatformInput_removeEventHandlers();
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nlei_PlatformRuntime_getClientConfigAdapter() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nleit_TeaVMClientConfigAdapter_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nleit_TeaVMClientConfigAdapter_instance;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nlei_PlatformRuntime_steadyTimeMillisTeaVM() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nlei_PlatformRuntime_steadyTimeFunc;
            $ptr = 2;
        case 2:
            $tmp = var$1();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nlei_PlatformRuntime_steadyTimeMillis() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nlei_PlatformRuntime_steadyTimeFunc;
            $ptr = 2;
        case 2:
            $tmp = var$1();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return Long_fromNumber(var$1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nlei_PlatformRuntime_sleep(var$1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformRuntime_sleep$_asyncCall_$(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nlei_PlatformRuntime_sleep0($millis, $callback) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$callback = $thread.pop();$millis = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = new nlei_PlatformRuntime$DumbSleepHandler;
            var$3.$callback = $callback;
            otp_Platform_schedule(var$3, $millis);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($millis, $callback, var$3, $ptr);
    }
    function nlei_PlatformRuntime__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(181);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nlei_PlatformRuntime_logger = var$1;
            nlei_PlatformRuntime_win = null;
            nlei_PlatformRuntime_doc = null;
            nlei_PlatformRuntime_root = null;
            nlei_PlatformRuntime_parent = null;
            nlei_PlatformRuntime_canvas = null;
            nlei_PlatformRuntime_webgl = null;
            nlei_PlatformRuntime_webglExperimental = 0;
            nlei_PlatformRuntime_windowMessagePostOrigin = null;
            nlei_PlatformRuntime_windowMessageListener = null;
            nlei_PlatformRuntime_mainFramebuffer = null;
            nlei_PlatformRuntime_useDelayOnSwap = 0;
            nlei_PlatformRuntime_immediateContinueSupport = 0;
            nlei_PlatformRuntime_immediateContinueChannel = null;
            nlei_PlatformRuntime_currentMsgChannelContinueHack = null;
            nlei_PlatformRuntime_currentLegacyContinueHack = null;
            nlei_PlatformRuntime_immediateContLock = new jl_Object;
            nlei_PlatformRuntime_hasFetchSupport = 0;
            nlei_PlatformRuntime_hasDataURLSupport = 0;
            nlei_PlatformRuntime_useVisualViewport = 0;
            nlei_PlatformRuntime_isDeobfStackTraces = 1;
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_getSteadyTimeFunc$js_body$_1();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nlei_PlatformRuntime_steadyTimeFunc = var$1;
            nlei_PlatformRuntime_emptyJSString = "";
            nlei_PlatformRuntime_currentThreadName = $rt_s(182);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nlei_PlatformRuntime_downloadRemoteURIXHR$_asyncCall_$(var$1) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nlei_PlatformRuntime_downloadRemoteURIXHR0(var$1, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nlei_PlatformRuntime_downloadRemoteURIFetch$_asyncCall_$(var$1, var$2) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nlei_PlatformRuntime_downloadRemoteURIFetch0(var$1, var$2, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nlei_PlatformRuntime_immediateContinueTeaVM0$_asyncCall_$() {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nlei_PlatformRuntime_immediateContinueTeaVM00(callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nlei_PlatformRuntime_sleep$_asyncCall_$(var$1) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nlei_PlatformRuntime_sleep0(var$1, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nlei_PlatformRuntime_getSteadyTimeFunc$js_body$_1() {
        return typeof $rt_globals.performance !== "undefined" && typeof $rt_globals.performance.now === "function" ? $rt_globals.performance.now.bind($rt_globals.performance) : function(epochStart) {
            return function() {
                return $rt_globals.Date.now() - epochStart;
            };
        }($rt_globals.Date.now());
    }
    function nlei_PlatformRuntime_youEagler$js_body$_5() {
        return { antialias : false, depth : false, powerPreference : "high-performance", desynchronized : true, preserveDrawingBuffer : false, premultipliedAlpha : false, alpha : false };
    }
    function nlei_PlatformRuntime_getOriginForPost$js_body$_54(var$1) {
        if (typeof $rt_globals.location.origin === "string" && $rt_globals.location.origin.length > 0) {
            var orig = $rt_globals.location.origin;
            if (orig.indexOf("file:") === 0) orig = "null";
            return orig;
        } else return "*";
    }
    var otjde_EventTarget = $rt_classWithoutFields(0);
    var otjde_FocusEventTarget = $rt_classWithoutFields(0);
    var otjde_MouseEventTarget = $rt_classWithoutFields(0);
    var otjde_KeyboardEventTarget = $rt_classWithoutFields(0);
    var otjde_LoadEventTarget = $rt_classWithoutFields(0);
    var otjde_GamepadEventTarget = $rt_classWithoutFields(0);
    var otjb_WindowEventTarget = $rt_classWithoutFields(0);
    var otjb_StorageProvider = $rt_classWithoutFields(0);
    var otjc_JSArrayReader = $rt_classWithoutFields(0);
    var otjb_Window = $rt_classWithoutFields();
    function otjb_Window_prompt($message) {
        return $rt_str($rt_globals.prompt($rt_ustr($message), ""));
    }
    function otjb_Window_get$exported$0(var$0, var$1) {
        return otji_JSWrapper_javaToJs(var$0.$get2(var$1));
    }
    function otjb_Window_addEventListener$exported$1(var$0, var$1, var$2) {
        var$0.$addEventListener($rt_str(var$1), otji_JS_functionAsObject(var$2, "handleEvent"));
    }
    function otjb_Window_removeEventListener$exported$2(var$0, var$1, var$2) {
        var$0.$removeEventListener($rt_str(var$1), otji_JS_functionAsObject(var$2, "handleEvent"));
    }
    function otjb_Window_removeEventListener$exported$3(var$0, var$1, var$2, var$3) {
        var$0.$removeEventListener0($rt_str(var$1), otji_JS_functionAsObject(var$2, "handleEvent"), var$3 ? 1 : 0);
    }
    function otjb_Window_dispatchEvent$exported$4(var$0, var$1) {
        return !!var$0.$dispatchEvent(var$1);
    }
    function otjb_Window_getLength$exported$5(var$0) {
        return var$0.$getLength0();
    }
    function otjb_Window_addEventListener$exported$6(var$0, var$1, var$2, var$3) {
        var$0.$addEventListener0($rt_str(var$1), otji_JS_functionAsObject(var$2, "handleEvent"), var$3 ? 1 : 0);
    }
    var oj_JSONException = $rt_classWithoutFields(jl_RuntimeException);
    function oj_JSONException__init_(var_0) {
        var var_1 = new oj_JSONException();
        oj_JSONException__init_0(var_1, var_0);
        return var_1;
    }
    function oj_JSONException__init_0($this, $message) {
        jl_Throwable__init_($this, $message);
    }
    var otjdx_Node = $rt_classWithoutFields(0);
    function otjdx_Node_delete$static($this) {
        if ($this.parentNode !== null)
            $this.parentNode.removeChild($this);
    }
    function nleit_ClientMain$EPKFileEntry() {
        var a = this; jl_Object.call(a);
        a.$url = null;
        a.$path = null;
    }
    function nleit_ClientMain$EPKFileEntry__init_(var_0, var_1) {
        var var_2 = new nleit_ClientMain$EPKFileEntry();
        nleit_ClientMain$EPKFileEntry__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function nleit_ClientMain$EPKFileEntry__init_0($this, $url, $path) {
        $this.$url = $url;
        $this.$path = $path;
    }
    var nlei_IClientConfigAdapter = $rt_classWithoutFields(0);
    function nleit_TeaVMClientConfigAdapter() {
        var a = this; jl_Object.call(a);
        a.$defaultLocale = null;
        a.$serverToJoin = null;
        a.$worldsDB = null;
        a.$resourcePacksDB = null;
        a.$checkGLErrors = 0;
        a.$demoMode = 0;
        a.$localStorageNamespace = null;
        a.$hooks = null;
        a.$fixDebugConsoleUnloadListener = 0;
        a.$autoFixLegacyStyleAttr = 0;
        a.$forceWebGL1 = 0;
        a.$forceWebGL2 = 0;
        a.$allowExperimentalWebGL1 = 0;
        a.$useWebGLExt = 0;
        a.$useDelayOnSwap = 0;
        a.$useJOrbisAudioDecoder = 0;
        a.$useXHRFetch = 0;
        a.$useVisualViewport = 0;
        a.$deobfStackTraces = 0;
        a.$disableBlobURLs = 0;
        a.$eaglerNoDelay = 0;
        a.$ramdiskMode = 0;
        a.$singleThreadMode = 0;
        a.$enableEPKVersionCheck = 0;
    }
    var nleit_TeaVMClientConfigAdapter_instance = null;
    var nleit_TeaVMClientConfigAdapter_$clinitCalled = false;
    function nleit_TeaVMClientConfigAdapter_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nleit_TeaVMClientConfigAdapter_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_TeaVMClientConfigAdapter_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nleit_TeaVMClientConfigAdapter__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nleit_TeaVMClientConfigAdapter_$callClinit = $rt_eraseClinit(nleit_TeaVMClientConfigAdapter);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nleit_TeaVMClientConfigAdapter__init_0() {
        var var_0 = new nleit_TeaVMClientConfigAdapter();
        nleit_TeaVMClientConfigAdapter__init_(var_0);
        return var_0;
    }
    function nleit_TeaVMClientConfigAdapter__init_($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_TeaVMClientConfigAdapter_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$defaultLocale = $rt_s(183);
            $this.$serverToJoin = null;
            $this.$worldsDB = $rt_s(184);
            $this.$resourcePacksDB = $rt_s(185);
            $this.$checkGLErrors = 0;
            $this.$demoMode = 0;
            $this.$localStorageNamespace = $rt_s(186);
            var$1 = new nleit_TeaVMClientConfigAdapterHooks;
            $ptr = 2;
        case 2:
            nleit_TeaVMClientConfigAdapterHooks__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$hooks = var$1;
            $this.$fixDebugConsoleUnloadListener = 0;
            $this.$autoFixLegacyStyleAttr = 0;
            $this.$forceWebGL1 = 0;
            $this.$forceWebGL2 = 0;
            $this.$allowExperimentalWebGL1 = 1;
            $this.$useWebGLExt = 1;
            $this.$useDelayOnSwap = 0;
            $this.$useJOrbisAudioDecoder = 0;
            $this.$useXHRFetch = 0;
            $this.$useVisualViewport = 1;
            $this.$deobfStackTraces = 1;
            $this.$disableBlobURLs = 0;
            $this.$eaglerNoDelay = 0;
            $this.$ramdiskMode = 0;
            $this.$singleThreadMode = 0;
            $this.$enableEPKVersionCheck = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nleit_TeaVMClientConfigAdapter_loadNative($this, $eaglercraftXOpts) {
        var $hooksObj, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$hooksObj = $thread.pop();$eaglercraftXOpts = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$defaultLocale = $rt_str(typeof $eaglercraftXOpts.lang === "string" ? $eaglercraftXOpts.lang : "en_US");
            $this.$serverToJoin = $rt_str(typeof $eaglercraftXOpts.joinServer === "string" ? $eaglercraftXOpts.joinServer : $rt_ustr(null));
            $this.$worldsDB = $rt_str(typeof $eaglercraftXOpts.worldsDB === "string" ? $eaglercraftXOpts.worldsDB : "worlds");
            $this.$resourcePacksDB = $rt_str(typeof $eaglercraftXOpts.resourcePacksDB === "string" ? $eaglercraftXOpts.resourcePacksDB : "resourcePacks");
            $this.$checkGLErrors = (typeof $eaglercraftXOpts.checkGLErrors === "boolean" ? $eaglercraftXOpts.checkGLErrors : !!0) ? 1 : 0;
            $this.$demoMode = (typeof $eaglercraftXOpts.demoMode === "boolean" ? $eaglercraftXOpts.demoMode : !!0) ? 1 : 0;
            $this.$localStorageNamespace = $rt_str(typeof $eaglercraftXOpts.localStorageNamespace === "string" ? $eaglercraftXOpts.localStorageNamespace : "_eaglercraft_b1.4");
            $this.$fixDebugConsoleUnloadListener = (typeof $eaglercraftXOpts.fixDebugConsoleUnloadListener === "boolean" ? $eaglercraftXOpts.fixDebugConsoleUnloadListener : !!0) ? 1 : 0;
            $this.$autoFixLegacyStyleAttr = (typeof $eaglercraftXOpts.autoFixLegacyStyleAttr === "boolean" ? $eaglercraftXOpts.autoFixLegacyStyleAttr : !!1) ? 1 : 0;
            $this.$forceWebGL1 = (typeof $eaglercraftXOpts.forceWebGL1 === "boolean" ? $eaglercraftXOpts.forceWebGL1 : !!0) ? 1 : 0;
            $this.$forceWebGL2 = (typeof $eaglercraftXOpts.forceWebGL2 === "boolean" ? $eaglercraftXOpts.forceWebGL2 : !!0) ? 1 : 0;
            $this.$allowExperimentalWebGL1 = (typeof $eaglercraftXOpts.allowExperimentalWebGL1 === "boolean" ? $eaglercraftXOpts.allowExperimentalWebGL1 : !!1) ? 1 : 0;
            $this.$useWebGLExt = (typeof $eaglercraftXOpts.useWebGLExt === "boolean" ? $eaglercraftXOpts.useWebGLExt : !!1) ? 1 : 0;
            $this.$useDelayOnSwap = (typeof $eaglercraftXOpts.useDelayOnSwap === "boolean" ? $eaglercraftXOpts.useDelayOnSwap : !!0) ? 1 : 0;
            $this.$useJOrbisAudioDecoder = (typeof $eaglercraftXOpts.useJOrbisAudioDecoder === "boolean" ? $eaglercraftXOpts.useJOrbisAudioDecoder : !!0) ? 1 : 0;
            $this.$useXHRFetch = (typeof $eaglercraftXOpts.useXHRFetch === "boolean" ? $eaglercraftXOpts.useXHRFetch : !!0) ? 1 : 0;
            $this.$useVisualViewport = (typeof $eaglercraftXOpts.useVisualViewport === "boolean" ? $eaglercraftXOpts.useVisualViewport : !!1) ? 1 : 0;
            $this.$deobfStackTraces = (typeof $eaglercraftXOpts.deobfStackTraces === "boolean" ? $eaglercraftXOpts.deobfStackTraces : !!1) ? 1 : 0;
            $this.$disableBlobURLs = (typeof $eaglercraftXOpts.disableBlobURLs === "boolean" ? $eaglercraftXOpts.disableBlobURLs : !!0) ? 1 : 0;
            $this.$eaglerNoDelay = (typeof $eaglercraftXOpts.eaglerNoDelay === "boolean" ? $eaglercraftXOpts.eaglerNoDelay : !!0) ? 1 : 0;
            $this.$ramdiskMode = (typeof $eaglercraftXOpts.ramdiskMode === "boolean" ? $eaglercraftXOpts.ramdiskMode : !!0) ? 1 : 0;
            $this.$singleThreadMode = (typeof $eaglercraftXOpts.singleThreadMode === "boolean" ? $eaglercraftXOpts.singleThreadMode : !!0) ? 1 : 0;
            $this.$enableEPKVersionCheck = (typeof $eaglercraftXOpts.enableEPKVersionCheck === "boolean" ? $eaglercraftXOpts.enableEPKVersionCheck : !!1) ? 1 : 0;
            $hooksObj = typeof $eaglercraftXOpts.hooks === "object" ? $eaglercraftXOpts.hooks : null;
            if ($hooksObj !== null) {
                $eaglercraftXOpts = $this.$hooks;
                $eaglercraftXOpts.$saveHook = otji_JS_functionAsObject(typeof $hooksObj.localStorageSaved === "function" ? $hooksObj.localStorageSaved : null, "call");
                $eaglercraftXOpts.$loadHook = otji_JS_functionAsObject(typeof $hooksObj.localStorageLoaded === "function" ? $hooksObj.localStorageLoaded : null, "call");
                $eaglercraftXOpts.$crashHook = otji_JS_functionAsObject(typeof $hooksObj.crashReportShow === "function" ? $hooksObj.crashReportShow : null, "call");
                $eaglercraftXOpts.$screenChangedHook = otji_JS_functionAsObject(typeof $hooksObj.screenChanged === "function" ? $hooksObj.screenChanged : null, "call");
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $eaglercraftXOpts, $hooksObj, $ptr);
    }
    function nleit_TeaVMClientConfigAdapter_getWorldsDB($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$worldsDB;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_TeaVMClientConfigAdapter_isAutoFixLegacyStyleAttrTeaVM($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$autoFixLegacyStyleAttr;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_TeaVMClientConfigAdapter_isForceWebGL1TeaVM($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$forceWebGL1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_TeaVMClientConfigAdapter_isForceWebGL2TeaVM($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$forceWebGL2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_TeaVMClientConfigAdapter_isAllowExperimentalWebGL1TeaVM($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$allowExperimentalWebGL1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_TeaVMClientConfigAdapter_isUseWebGLExtTeaVM($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$useWebGLExt;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_TeaVMClientConfigAdapter_isUseDelayOnSwapTeaVM($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$useDelayOnSwap;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_TeaVMClientConfigAdapter_isUseXHRFetchTeaVM($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$useXHRFetch;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_TeaVMClientConfigAdapter_isUseVisualViewportTeaVM($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$useVisualViewport;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_TeaVMClientConfigAdapter_isEnableEPKVersionCheckTeaVM($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$enableEPKVersionCheck;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_TeaVMClientConfigAdapter_getHooks($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$hooks;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_TeaVMClientConfigAdapter__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nleit_TeaVMClientConfigAdapter;
            $ptr = 1;
        case 1:
            nleit_TeaVMClientConfigAdapter__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nleit_TeaVMClientConfigAdapter_instance = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    var oall_ILogRedirector = $rt_classWithoutFields(0);
    var nleit_ClientMain$2 = $rt_classWithoutFields();
    function nleit_ClientMain$2__init_0() {
        var var_0 = new nleit_ClientMain$2();
        nleit_ClientMain$2__init_(var_0);
        return var_0;
    }
    function nleit_ClientMain$2__init_($this) {}
    function nleit_ClientMain$2_log($this, $txt, $err) {
        var var$3, var$4, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$err = $thread.pop();$txt = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformApplication_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleit_DebugConsoleWindow_logger === null) {
                var$3 = nleit_DebugConsoleWindow_messageBuffer;
                $ptr = 4;
                continue main;
            }
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$3, $txt);
            if ($rt_suspending()) {
                break main;
            }
            $txt = $tmp;
            jl_AbstractStringBuilder_append($txt, 10);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $txt = $tmp;
            var$3 = !$err ? $rt_s(187) : $rt_s(188);
            var$4 = nleit_DebugConsoleWindow_logger;
            if (var$4 !== null) {
                $err = nleit_DebugConsoleWindow_isScrollToEnd$js_body$_11(var$4, nleit_DebugConsoleWindow_loggerDoc) ? 1 : 0;
                var$4 = nleit_DebugConsoleWindow_loggerDoc.createElement("span");
                $txt = $rt_ustr($txt);
                var$4.innerText = $txt;
                var$4.style.setProperty("color", $rt_ustr(var$3));
                nleit_DebugConsoleWindow_loggerMessageContainer.appendChild(var$4);
                $txt = nleit_DebugConsoleWindow_loggerMessageContainer.children;
                while ($txt.length > 2048) {
                    otjdx_Node_delete$static(otji_JSWrapper_maybeUnwrap($txt[0]));
                }
                if ($err)
                    nleit_DebugConsoleWindow_scrollToEnd0$js_body$_12(nleit_DebugConsoleWindow_logger, nleit_DebugConsoleWindow_loggerDoc);
            }
            return;
        case 4:
            jl_Object_monitorEnter(var$3);
            if ($rt_suspending()) {
                break main;
            }
            try {
                var$4 = nleit_DebugConsoleWindow$LogMessage__init_($err, $txt);
                $ptr = 5;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $txt = $$je;

            }
            jl_Object_monitorExit(var$3);
            $rt_throw($txt);
        case 5:
            a: {
                try {
                    ju_AbstractList_add(var$3, var$4);
                    if ($rt_suspending()) {
                        break main;
                    }
                    while (ju_LinkedList_size(nleit_DebugConsoleWindow_messageBuffer) > 256) {
                        ju_AbstractSequentialList_remove(nleit_DebugConsoleWindow_messageBuffer, 0);
                    }
                    jl_Object_monitorExit(var$3);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $txt = $$je;
                    break a;

                }
                return;
            }
            jl_Object_monitorExit(var$3);
            $rt_throw($txt);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $txt, $err, var$3, var$4, $ptr);
    }
    var oall_LogManager = $rt_classWithoutFields();
    var oall_LogManager_loggerInstances = null;
    var oall_LogManager_logLock = null;
    var oall_LogManager_logLevel = null;
    var oall_LogManager_logRedirector = null;
    function oall_LogManager_$callClinit() {
        oall_LogManager_$callClinit = $rt_eraseClinit(oall_LogManager);
        oall_LogManager__clinit_();
    }
    function oall_LogManager__init_0() {
        var var_0 = new oall_LogManager();
        oall_LogManager__init_(var_0);
        return var_0;
    }
    function oall_LogManager__init_($this) {
        oall_LogManager_$callClinit();
    }
    function oall_LogManager_getLogger($name) {
        var var$2, $ret, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$ret = $thread.pop();var$2 = $thread.pop();$name = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            oall_LogManager_$callClinit();
            var$2 = oall_LogManager_loggerInstances;
            $ptr = 1;
        case 1:
            jl_Object_monitorEnter(var$2);
            if ($rt_suspending()) {
                break main;
            }
            try {
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $name = $$je;

            }
            jl_Object_monitorExit(var$2);
            $rt_throw($name);
        case 2:
            a: {
                b: {
                    try {
                        $tmp = ju_HashMap_get(var$2, $name);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $ret = $tmp;
                        $ret = $ret;
                        if ($ret === null)
                            break b;
                        jl_Object_monitorExit(var$2);
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        $name = $$je;
                        break a;

                    }
                    return $ret;
                }
                try {
                    $ret = new oall_Logger;
                    $ptr = 3;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $name = $$je;

                }
            }
            jl_Object_monitorExit(var$2);
            $rt_throw($name);
        case 3:
            a: {
                try {
                    oall_Logger__init_($ret, $name);
                    if ($rt_suspending()) {
                        break main;
                    }
                    jl_Object_monitorExit(var$2);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $name = $$je;
                    break a;

                }
                return $ret;
            }
            jl_Object_monitorExit(var$2);
            $rt_throw($name);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($name, var$2, $ret, $ptr);
    }
    function oall_LogManager__clinit_() {
        oall_LogManager_loggerInstances = ju_HashMap__init_0();
        oall_LogManager_logLock = new jl_Object;
        oall_Level_$callClinit();
        oall_LogManager_logLevel = oall_Level_DEBUG;
        oall_LogManager_logRedirector = null;
    }
    var nleit_ClientMain$WindowErrorHandler = $rt_classWithoutFields(0);
    var nleit_ClientMain$1 = $rt_classWithoutFields();
    function nleit_ClientMain$1__init_0() {
        var var_0 = new nleit_ClientMain$1();
        nleit_ClientMain$1__init_(var_0);
        return var_0;
    }
    function nleit_ClientMain$1__init_($this) {}
    function nleit_ClientMain$1_call($this, $message, $file, $line, $col, $error) {
        var $str, $stack, var$8, var$9, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$stack = $thread.pop();$str = $thread.pop();$error = $thread.pop();$col = $thread.pop();$line = $thread.pop();$file = $thread.pop();$message = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_ClientMain_$callClinit();
            if (nleit_ClientMain_windowErrorHandler === null)
                return;
            if ($error === $rt_globals.undefined ? 1 : 0)
                $error = null;
            if ($error === null) {
                $message = nleit_ClientMain_systemErr;
                $file = $rt_s(189);
                $ptr = 1;
                continue main;
            }
            $str = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($str);
            jl_AbstractStringBuilder_append2($str, $rt_s(190));
            jl_AbstractStringBuilder_append2($str, $rt_s(191));
            jl_AbstractStringBuilder_append2($str, $rt_s(192));
            if ($file === null)
                $file = $rt_s(193);
            $stack = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($stack);
            $ptr = 2;
            continue main;
        case 1:
            ji_PrintStream_println0($message, $file);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            $tmp = jl_StringBuilder_append($stack, $file);
            if ($rt_suspending()) {
                break main;
            }
            $file = $tmp;
            jl_AbstractStringBuilder_append($file, 58);
            jl_AbstractStringBuilder_append0($file, $line);
            jl_AbstractStringBuilder_append($file, 58);
            jl_AbstractStringBuilder_append0($file, $col);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString($stack);
            if ($rt_suspending()) {
                break main;
            }
            $file = $tmp;
            jl_AbstractStringBuilder_append2($str, $file);
            jl_AbstractStringBuilder_append($str, 10);
            jl_AbstractStringBuilder_append2($str, $rt_s(194));
            jl_AbstractStringBuilder_append2($str, $rt_str($error.name));
            jl_AbstractStringBuilder_append($str, 10);
            jl_AbstractStringBuilder_append2($str, $rt_s(195));
            jl_AbstractStringBuilder_append2($str, $rt_str($error.message) === null ? $rt_s(9) : $rt_str($error.message));
            jl_AbstractStringBuilder_append($str, 10);
            if ($message !== null && !($rt_str($error.message) !== null && jl_String_endsWith($message, $rt_str($error.message)))) {
                jl_AbstractStringBuilder_append2($str, $rt_s(195));
                jl_AbstractStringBuilder_append2($str, $message);
                jl_AbstractStringBuilder_append($str, 10);
            }
            jl_AbstractStringBuilder_append2($str, $rt_s(82));
            $stack = $rt_str($error.stack || null);
            $ptr = 4;
        case 4:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformRuntime_isDeobfStackTraces) {
                var$8 = $rt_createArray(jl_CharSequence, 1);
                var$9 = var$8.data;
                var$9[0] = $stack;
                $line = jlr_Array_getLength(var$8) ? 0 : 1;
                a: {
                    if ($line)
                        $line = 1;
                    else {
                        $line = var$9.length;
                        $col = 0;
                        while ($col < $line) {
                            $message = var$9[$col];
                            if (($message !== null && jl_String_length($message) ? 0 : 1) ? 0 : 1) {
                                $line = 0;
                                break a;
                            }
                            $col = $col + 1 | 0;
                        }
                        $line = 1;
                    }
                }
                if (!$line) {
                    $ptr = 7;
                    continue main;
                }
            }
            if ($stack === null)
                $stack = $rt_s(196);
            jl_AbstractStringBuilder_append2($str, $stack);
            jl_AbstractStringBuilder_append($str, 10);
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString($str);
            if ($rt_suspending()) {
                break main;
            }
            $message = $tmp;
            $ptr = 6;
        case 6:
            nleit_ClientMain_showCrashScreen0($message);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            nleit_TeaVMRuntimeDeobfuscator_initialize();
            if ($rt_suspending()) {
                break main;
            }
            if (nleit_TeaVMRuntimeDeobfuscator_isInitialized)
                try {
                    $ptr = 8;
                    continue main;
                    $message = nleit_TeaVMRuntimeDeobfuscator_logger;
                    $file = $rt_s(197);
                    $ptr = 12;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            if ($stack === null)
                $stack = $rt_s(196);
            jl_AbstractStringBuilder_append2($str, $stack);
            jl_AbstractStringBuilder_append($str, 10);
            $ptr = 5;
            continue main;
        case 8:
            try {
                nle_EagUtils_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                $message = nle_EagUtils_splitPattern;
                $ptr = 9;
                continue main;
                $message = nleit_TeaVMRuntimeDeobfuscator_logger;
                $file = $rt_s(197);
                $ptr = 12;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            if ($stack === null)
                $stack = $rt_s(196);
            jl_AbstractStringBuilder_append2($str, $stack);
            jl_AbstractStringBuilder_append($str, 10);
            $ptr = 5;
            continue main;
        case 9:
            try {
                $tmp = jur_Pattern_split($message, $stack);
                if ($rt_suspending()) {
                    break main;
                }
                var$9 = $tmp;
                $message = ju_Arrays_asList(var$9);
                $ptr = 10;
                continue main;
                $message = nleit_TeaVMRuntimeDeobfuscator_logger;
                $file = $rt_s(197);
                $ptr = 12;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            if ($stack === null)
                $stack = $rt_s(196);
            jl_AbstractStringBuilder_append2($str, $stack);
            jl_AbstractStringBuilder_append($str, 10);
            $ptr = 5;
            continue main;
        case 10:
            try {
                nleit_TeaVMRuntimeDeobfuscator_deobfExceptionStack($message);
                if ($rt_suspending()) {
                    break main;
                }
                $file = $rt_s(198);
                $ptr = 11;
                continue main;
                $message = nleit_TeaVMRuntimeDeobfuscator_logger;
                $file = $rt_s(197);
                $ptr = 12;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            if ($stack === null)
                $stack = $rt_s(196);
            jl_AbstractStringBuilder_append2($str, $stack);
            jl_AbstractStringBuilder_append($str, 10);
            $ptr = 5;
            continue main;
        case 11:
            b: {
                try {
                    $tmp = jl_String_join($file, $message);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $message = $tmp;
                    $stack = $message;
                    break b;
                    $message = nleit_TeaVMRuntimeDeobfuscator_logger;
                    $file = $rt_s(197);
                    $ptr = 12;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            if ($stack === null)
                $stack = $rt_s(196);
            jl_AbstractStringBuilder_append2($str, $stack);
            jl_AbstractStringBuilder_append($str, 10);
            $ptr = 5;
            continue main;
        case 12:
            b: {
                try {
                    oall_Logger_error0($message, $file);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            if ($stack === null)
                $stack = $rt_s(196);
            jl_AbstractStringBuilder_append2($str, $stack);
            jl_AbstractStringBuilder_append($str, 10);
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $message, $file, $line, $col, $error, $str, $stack, var$8, var$9, $ptr);
    }
    function nleit_ClientMain$1_call$exported$0(var$0, var$1, var$2, var$3, var$4, var$5) {
        var var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_str(var$1);
            var$2 = $rt_str(var$2);
            var$6 = var$3;
            var$7 = var$4;
            $ptr = 1;
        case 1:
            nleit_ClientMain$1_call(var$0, var$1, var$2, var$6, var$7, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    var nle_LocalStorageManager = $rt_classWithoutFields();
    var nle_LocalStorageManager_gameSettingsStorage = null;
    var nle_LocalStorageManager_profileSettingsStorage = null;
    function nle_LocalStorageManager__init_0() {
        var var_0 = new nle_LocalStorageManager();
        nle_LocalStorageManager__init_(var_0);
        return var_0;
    }
    function nle_LocalStorageManager__init_($this) {}
    function nle_LocalStorageManager_loadStorage() {
        var $t, $g, $p, var$4, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$p = $thread.pop();$g = $thread.pop();$t = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $t = $rt_s(199);
            $ptr = 1;
        case 1:
            $tmp = nle_EagRuntime_getStorage($t);
            if ($rt_suspending()) {
                break main;
            }
            $g = $tmp;
            $t = $rt_s(200);
            $ptr = 2;
        case 2:
            $tmp = nle_EagRuntime_getStorage($t);
            if ($rt_suspending()) {
                break main;
            }
            $p = $tmp;
            if ($g !== null)
                try {
                    $t = ji_DataInputStream__init_(ji_ByteArrayInputStream__init_($g));
                    $ptr = 3;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                    } else {
                        throw $$e;
                    }
                }
            if ($p !== null)
                try {
                    var$4 = ji_DataInputStream__init_(ji_ByteArrayInputStream__init_($p));
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                    } else {
                        throw $$e;
                    }
                }
            if (nle_LocalStorageManager_gameSettingsStorage === null)
                nle_LocalStorageManager_gameSettingsStorage = nms_NBTTagCompound__init_0();
            if (nle_LocalStorageManager_profileSettingsStorage === null)
                nle_LocalStorageManager_profileSettingsStorage = nms_NBTTagCompound__init_0();
            return;
        case 3:
            a: {
                try {
                    $tmp = nms_NBTBase_readTag($t);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $t = $tmp;
                    if ($t !== null && $t instanceof nms_NBTTagCompound)
                        nle_LocalStorageManager_gameSettingsStorage = $t;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                    } else {
                        throw $$e;
                    }
                }
            }
            if ($p !== null)
                try {
                    var$4 = ji_DataInputStream__init_(ji_ByteArrayInputStream__init_($p));
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                    } else {
                        throw $$e;
                    }
                }
            if (nle_LocalStorageManager_gameSettingsStorage === null)
                nle_LocalStorageManager_gameSettingsStorage = nms_NBTTagCompound__init_0();
            if (nle_LocalStorageManager_profileSettingsStorage === null)
                nle_LocalStorageManager_profileSettingsStorage = nms_NBTTagCompound__init_0();
            return;
        case 4:
            a: {
                try {
                    $tmp = nms_NBTBase_readTag(var$4);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $t = $tmp;
                    if ($t !== null && $t instanceof nms_NBTTagCompound)
                        nle_LocalStorageManager_profileSettingsStorage = $t;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                    } else {
                        throw $$e;
                    }
                }
            }
            if (nle_LocalStorageManager_gameSettingsStorage === null)
                nle_LocalStorageManager_gameSettingsStorage = nms_NBTTagCompound__init_0();
            if (nle_LocalStorageManager_profileSettingsStorage === null)
                nle_LocalStorageManager_profileSettingsStorage = nms_NBTTagCompound__init_0();
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($t, $g, $p, var$4, $ptr);
    }
    function nle_LocalStorageManager__clinit_() {
        nle_LocalStorageManager_gameSettingsStorage = null;
        nle_LocalStorageManager_profileSettingsStorage = null;
    }
    function otji_JSWrapper() {
        jl_Object.call(this);
        this.$js = null;
    }
    var otji_JSWrapper_hashCodes = null;
    var otji_JSWrapper_wrappers = null;
    var otji_JSWrapper_stringWrappers = null;
    var otji_JSWrapper_numberWrappers = null;
    var otji_JSWrapper_undefinedWrapper = null;
    var otji_JSWrapper_stringFinalizationRegistry = null;
    var otji_JSWrapper_numberFinalizationRegistry = null;
    function otji_JSWrapper_$callClinit() {
        otji_JSWrapper_$callClinit = $rt_eraseClinit(otji_JSWrapper);
        otji_JSWrapper__clinit_();
    }
    function otji_JSWrapper__init_(var_0) {
        var var_1 = new otji_JSWrapper();
        otji_JSWrapper__init_0(var_1, var_0);
        return var_1;
    }
    function otji_JSWrapper__init_0($this, $js) {
        otji_JSWrapper_$callClinit();
        $this.$js = $js;
    }
    function otji_JSWrapper_wrap($o) {
        var $jsNumber, $type, $isObject, $existingRef, $existing, $wrapper, $wrapperAsJs;
        otji_JSWrapper_$callClinit();
        if ($o === null)
            return null;
        $jsNumber = $o;
        $type = $rt_str(typeof $jsNumber);
        $isObject = !jl_String_equals($type, $rt_s(201)) && !jl_String_equals($type, $rt_s(202)) ? 0 : 1;
        if ($isObject && $o[$rt_jso_marker] === true)
            return $o;
        $o = otji_JSWrapper_wrappers;
        if ($o !== null) {
            if ($isObject) {
                $existingRef = $o.get($jsNumber);
                $existing = (typeof $existingRef === 'undefined' ? 1 : 0) ? void 0 : $existingRef.deref();
                if (!(typeof $existing === 'undefined' ? 1 : 0))
                    return $existing;
                $wrapper = otji_JSWrapper__init_($jsNumber);
                otji_JSWrapper_wrappers.set($jsNumber, new $rt_globals.WeakRef($wrapper));
                return $wrapper;
            }
            if (jl_String_equals($type, $rt_s(203))) {
                $existingRef = otji_JSWrapper_stringWrappers.get($jsNumber);
                $existing = (typeof $existingRef === 'undefined' ? 1 : 0) ? void 0 : $existingRef.deref();
                if (!(typeof $existing === 'undefined' ? 1 : 0))
                    return $existing;
                $wrapper = otji_JSWrapper__init_($jsNumber);
                $wrapperAsJs = $wrapper;
                otji_JSWrapper_stringWrappers.set($jsNumber, new $rt_globals.WeakRef($wrapperAsJs));
                otji_JSWrapper_register$js_body$_4(otji_JSWrapper_stringFinalizationRegistry, $wrapperAsJs, $jsNumber);
                return $wrapper;
            }
            if (jl_String_equals($type, $rt_s(204))) {
                $existingRef = otji_JSWrapper_numberWrappers.get($jsNumber);
                $existing = (typeof $existingRef === 'undefined' ? 1 : 0) ? void 0 : $existingRef.deref();
                if (!(typeof $existing === 'undefined' ? 1 : 0))
                    return $existing;
                $wrapper = otji_JSWrapper__init_($jsNumber);
                $wrapperAsJs = $wrapper;
                otji_JSWrapper_numberWrappers.set($jsNumber, new $rt_globals.WeakRef($wrapperAsJs));
                otji_JSWrapper_register$js_body$_4(otji_JSWrapper_numberFinalizationRegistry, $wrapperAsJs, $jsNumber);
                return $wrapper;
            }
            if (jl_String_equals($type, $rt_s(62))) {
                $existingRef = otji_JSWrapper_undefinedWrapper;
                $existing = $existingRef === null ? void 0 : $existingRef.deref();
                if (!(typeof $existing === 'undefined' ? 1 : 0))
                    return $existing;
                $wrapper = otji_JSWrapper__init_($jsNumber);
                otji_JSWrapper_undefinedWrapper = new $rt_globals.WeakRef($wrapper);
                return $wrapper;
            }
        }
        return otji_JSWrapper__init_($jsNumber);
    }
    function otji_JSWrapper_unwrap($o) {
        otji_JSWrapper_$callClinit();
        if ($o === null)
            return null;
        return $o[$rt_jso_marker] === true ? $o : $o.$js;
    }
    function otji_JSWrapper_maybeUnwrap($o) {
        otji_JSWrapper_$callClinit();
        if ($o === null)
            return null;
        return !($o instanceof $rt_objcls()) ? $o : otji_JSWrapper_unwrap($o);
    }
    function otji_JSWrapper_javaToJs($o) {
        otji_JSWrapper_$callClinit();
        if ($o === null)
            return null;
        return $o instanceof $rt_objcls() && $o instanceof otji_JSWrapper ? otji_JSWrapper_unwrap($o) : $o;
    }
    function otji_JSWrapper_jsToJava($o) {
        otji_JSWrapper_$callClinit();
        if ($o === null)
            return null;
        return $o instanceof $rt_objcls() ? $o : otji_JSWrapper_wrap($o);
    }
    function otji_JSWrapper__clinit_() {
        otji_JSWrapper_hashCodes = new $rt_globals.WeakMap();
        otji_JSWrapper_wrappers = !(typeof $rt_globals.WeakRef !== 'undefined' ? 1 : 0) ? null : new $rt_globals.WeakMap();
        otji_JSWrapper_stringWrappers = !(typeof $rt_globals.WeakRef !== 'undefined' ? 1 : 0) ? null : new $rt_globals.Map();
        otji_JSWrapper_numberWrappers = !(typeof $rt_globals.WeakRef !== 'undefined' ? 1 : 0) ? null : new $rt_globals.Map();
        otji_JSWrapper_stringFinalizationRegistry = otji_JSWrapper_stringWrappers === null ? null : new $rt_globals.FinalizationRegistry(otji_JS_function(new otji_JSWrapper$_clinit_$lambda$_30_0, "accept"));
        otji_JSWrapper_numberFinalizationRegistry = otji_JSWrapper_numberWrappers === null ? null : new $rt_globals.FinalizationRegistry(otji_JS_function(new otji_JSWrapper$_clinit_$lambda$_30_1, "accept"));
    }
    function otji_JSWrapper_register$js_body$_4(var$1, var$2, var$3) {
        return var$1.register(var$2, var$3);
    }
    var nleito_JSEaglercraftXOptsAssetsURI = $rt_classWithoutFields();
    var nle_EagRuntime = $rt_classWithoutFields();
    var nle_EagRuntime_logger = null;
    var nle_EagRuntime_exceptionLogger = null;
    var nle_EagRuntime_ssl = 0;
    var nle_EagRuntime_offlineDownloadURL = 0;
    var nle_EagRuntime_userAgent = null;
    var nle_EagRuntime_userAgentString = null;
    var nle_EagRuntime_operatingSystem = null;
    var nle_EagRuntime_angleBackend = null;
    var nle_EagRuntime_$clinitCalled = false;
    function nle_EagRuntime_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nle_EagRuntime_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nle_EagRuntime_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nle_EagRuntime__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nle_EagRuntime_$callClinit = $rt_eraseClinit(nle_EagRuntime);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nle_EagRuntime__init_0() {
        var var_0 = new nle_EagRuntime();
        nle_EagRuntime__init_(var_0);
        return var_0;
    }
    function nle_EagRuntime__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nle_EagRuntime_create() {
        var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nle_EagRuntime_logger;
            var$2 = $rt_s(205);
            var$3 = $rt_createArray(jl_Object, 1);
            var$3.data[0] = $rt_s(206);
            $ptr = 2;
        case 2:
            oall_Logger_info0(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nlei_PlatformRuntime_create();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = $rt_globals.location.protocol && $rt_globals.location.protocol.toLowerCase() === "https:";
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nle_EagRuntime_ssl = var$1 ? 1 : 0;
            $ptr = 5;
        case 5:
            $tmp = $rt_globals.location.protocol && $rt_globals.location.protocol.toLowerCase() === "file:";
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nle_EagRuntime_offlineDownloadURL = var$1 ? 1 : 0;
            $ptr = 6;
        case 6:
            $tmp = $rt_globals.navigator.userAgent || null;
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$1 = $rt_str(var$1);
            nlei_EnumPlatformAgent_$callClinit();
            var$1 = jl_String_toLowerCase(var$1);
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$4 = 32;
            jl_AbstractStringBuilder_append(var$2, var$4);
            $ptr = 7;
        case 7:
            jl_StringBuilder_append(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            nle_EagRuntime_userAgent = jl_String_contains(var$2, $rt_s(207)) ? nlei_EnumPlatformAgent_EDGE : jl_String_contains(var$2, $rt_s(208)) ? nlei_EnumPlatformAgent_OPERA : jl_String_contains(var$2, $rt_s(209)) ? nlei_EnumPlatformAgent_CHROME : jl_String_contains(var$2, $rt_s(210)) ? nlei_EnumPlatformAgent_FIREFOX : jl_String_contains(var$2, $rt_s(211)) ? nlei_EnumPlatformAgent_SAFARI : !jl_String_contains(var$2, $rt_s(212)) && !jl_String_contains(var$2, $rt_s(213)) ? (jl_String_contains(var$2, $rt_s(214))
            ? nlei_EnumPlatformAgent_WEBKIT : jl_String_contains(var$2, $rt_s(215)) ? nlei_EnumPlatformAgent_GECKO : !jl_String_contains(var$2, $rt_s(216)) ? nlei_EnumPlatformAgent_UNKNOWN : nlei_EnumPlatformAgent_DESKTOP) : nlei_EnumPlatformAgent_IE;
            $ptr = 9;
        case 9:
            $tmp = $rt_globals.navigator.userAgent || null;
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nle_EagRuntime_userAgentString = $rt_str(var$1);
            $ptr = 10;
        case 10:
            $tmp = $rt_globals.navigator.userAgent || null;
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$1 = $rt_str(var$1);
            nlei_EnumPlatformOS_$callClinit();
            var$1 = jl_String_toLowerCase(var$1);
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            jl_AbstractStringBuilder_append(var$2, var$4);
            $ptr = 11;
        case 11:
            jl_StringBuilder_append(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            nle_EagRuntime_operatingSystem = jl_String_contains(var$2, $rt_s(217)) ? nlei_EnumPlatformOS_CHROMEBOOK_LINUX : jl_String_contains(var$2, $rt_s(218)) ? nlei_EnumPlatformOS_LINUX : !jl_String_contains(var$2, $rt_s(219)) && !jl_String_contains(var$2, $rt_s(220)) && !jl_String_contains(var$2, $rt_s(221)) ? (!jl_String_contains(var$2, $rt_s(222)) && !jl_String_contains(var$2, $rt_s(223)) ? nlei_EnumPlatformOS_OTHER : nlei_EnumPlatformOS_MACOS) : nlei_EnumPlatformOS_WINDOWS;
            var$4 = 7937;
            $ptr = 13;
        case 13:
            $tmp = nlei_PlatformOpenGL__wglGetString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1 === null)
                var$1 = $rt_s(9);
            nlei_EnumPlatformANGLE_$callClinit();
            var$2 = jl_String_toLowerCase(var$1);
            nle_EagRuntime_angleBackend = !jl_String_contains(var$2, $rt_s(224)) && !jl_String_contains(var$2, $rt_s(225)) ? (jl_String_contains(var$2, $rt_s(226)) ? nlei_EnumPlatformANGLE_OPENGLES : jl_String_contains(var$2, $rt_s(227)) ? nlei_EnumPlatformANGLE_OPENGL : jl_String_contains(var$2, $rt_s(228)) ? nlei_EnumPlatformANGLE_METAL : !jl_String_contains(var$2, $rt_s(229)) ? nlei_EnumPlatformANGLE_DEFAULT : nlei_EnumPlatformANGLE_VULKAN) : nlei_EnumPlatformANGLE_D3D11;
            $ptr = 14;
        case 14:
            nleo_EaglercraftGPU_warmUpCache();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 1;
            var$5 = 1;
            $ptr = 15;
        case 15:
            nleit_EarlyLoadScreen_paintFinal(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nleit_EarlyLoadScreen_vbo;
            if (var$1 !== null) {
                $ptr = 16;
                continue main;
            }
            var$1 = nleit_EarlyLoadScreen_program;
            if (var$1 !== null) {
                $ptr = 17;
                continue main;
            }
            var$1 = nleit_EarlyLoadScreen_pressDeleteTexture;
            if (var$1 !== null) {
                $ptr = 18;
                continue main;
            }
            var$1 = nleit_EarlyLoadScreen_pressDeleteProgram;
            if (var$1 !== null) {
                $ptr = 19;
                continue main;
            }
            var$1 = nleit_EarlyLoadScreen_finalTexture;
            if (var$1 === null)
                return;
            $ptr = 20;
            continue main;
        case 16:
            nlei_PlatformOpenGL__wglDeleteBuffers(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nleit_EarlyLoadScreen_vbo = null;
            var$1 = nleit_EarlyLoadScreen_program;
            if (var$1 !== null) {
                $ptr = 17;
                continue main;
            }
            var$1 = nleit_EarlyLoadScreen_pressDeleteTexture;
            if (var$1 !== null) {
                $ptr = 18;
                continue main;
            }
            var$1 = nleit_EarlyLoadScreen_pressDeleteProgram;
            if (var$1 !== null) {
                $ptr = 19;
                continue main;
            }
            var$1 = nleit_EarlyLoadScreen_finalTexture;
            if (var$1 === null)
                return;
            $ptr = 20;
            continue main;
        case 17:
            nlei_PlatformOpenGL__wglDeleteProgram(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nleit_EarlyLoadScreen_program = null;
            var$1 = nleit_EarlyLoadScreen_pressDeleteTexture;
            if (var$1 !== null) {
                $ptr = 18;
                continue main;
            }
            var$1 = nleit_EarlyLoadScreen_pressDeleteProgram;
            if (var$1 !== null) {
                $ptr = 19;
                continue main;
            }
            var$1 = nleit_EarlyLoadScreen_finalTexture;
            if (var$1 === null)
                return;
            $ptr = 20;
            continue main;
        case 18:
            nlei_PlatformOpenGL__wglDeleteTextures(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nleit_EarlyLoadScreen_pressDeleteTexture = null;
            var$1 = nleit_EarlyLoadScreen_pressDeleteProgram;
            if (var$1 !== null) {
                $ptr = 19;
                continue main;
            }
            var$1 = nleit_EarlyLoadScreen_finalTexture;
            if (var$1 === null)
                return;
            $ptr = 20;
            continue main;
        case 19:
            nlei_PlatformOpenGL__wglDeleteProgram(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nleit_EarlyLoadScreen_pressDeleteProgram = null;
            var$1 = nleit_EarlyLoadScreen_finalTexture;
            if (var$1 === null)
                return;
            $ptr = 20;
        case 20:
            nlei_PlatformOpenGL__wglDeleteTextures(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nleit_EarlyLoadScreen_finalTexture = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nle_EagRuntime_getPlatformType() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_EnumPlatformType_$callClinit();
            return nlei_EnumPlatformType_JAVASCRIPT;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nle_EagRuntime_allocateByteBuffer($length) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$length = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_allocateByteBuffer($length);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($length, var$2, $ptr);
    }
    function nle_EagRuntime_allocateIntBuffer($length) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$length = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_allocateIntBuffer($length);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($length, var$2, $ptr);
    }
    function nle_EagRuntime_allocateFloatBuffer($length) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$length = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_allocateFloatBuffer($length);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($length, var$2, $ptr);
    }
    function nle_EagRuntime_freeByteBuffer($floatBuffer) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$floatBuffer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($floatBuffer, $ptr);
    }
    function nle_EagRuntime_freeIntBuffer($intBuffer) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$intBuffer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($intBuffer, $ptr);
    }
    function nle_EagRuntime_freeFloatBuffer($byteBuffer) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$byteBuffer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($byteBuffer, $ptr);
    }
    function nle_EagRuntime_getRequiredResourceBytes($path) {
        var $ret, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$ret = $thread.pop();$path = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformAssets_getResourceBytes($path);
            if ($rt_suspending()) {
                break main;
            }
            $ret = $tmp;
            if ($ret !== null)
                return $ret;
            var$3 = new jl_RuntimeException;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            var$5 = $rt_s(230);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$5, $path);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $path = $tmp;
            jl_Throwable__init_(var$3, $path);
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($path, $ret, var$3, var$4, var$5, $ptr);
    }
    function nle_EagRuntime_getRequiredResourceStream($path) {
        var $ret, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$ret = $thread.pop();$path = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformAssets_getResourceBytes($path);
            if ($rt_suspending()) {
                break main;
            }
            $ret = $tmp;
            if ($ret !== null)
                return nle_EaglerInputStream__init_($ret);
            var$3 = new jl_RuntimeException;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            var$5 = $rt_s(230);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$5, $path);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $path = $tmp;
            jl_Throwable__init_(var$3, $path);
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($path, $ret, var$3, var$4, var$5, $ptr);
    }
    function nle_EagRuntime_getRequiredResourceString($path) {
        var $ret, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$ret = $thread.pop();$path = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformAssets_getResourceBytes($path);
            if ($rt_suspending()) {
                break main;
            }
            $ret = $tmp;
            if ($ret !== null) {
                var$3 = new jl_String;
                jnc_StandardCharsets_$callClinit();
                $path = jnc_StandardCharsets_UTF_8;
                $ptr = 3;
                continue main;
            }
            var$3 = new jl_RuntimeException;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            var$5 = $rt_s(230);
            $ptr = 4;
            continue main;
        case 3:
            jl_String__init_6(var$3, $ret, $path);
            if ($rt_suspending()) {
                break main;
            }
            return var$3;
        case 4:
            $tmp = jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 5;
        case 5:
            jl_StringBuilder_append(var$5, $path);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $path = $tmp;
            jl_Throwable__init_(var$3, $path);
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($path, $ret, var$3, var$4, var$5, $ptr);
    }
    function nle_EagRuntime_getResourceLines($path) {
        var $bytes, $ret, $rd, var$5, var$6, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$rd = $thread.pop();$ret = $thread.pop();$bytes = $thread.pop();$path = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformAssets_getResourceBytes($path);
            if ($rt_suspending()) {
                break main;
            }
            $bytes = $tmp;
            if ($bytes === null)
                return null;
            $ret = ju_ArrayList__init_0();
            try {
                $rd = new ji_BufferedReader;
                $path = new ji_InputStreamReader;
                var$5 = nle_EaglerInputStream__init_($bytes);
                jnc_StandardCharsets_$callClinit();
                var$6 = jnc_StandardCharsets_UTF_8;
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            return null;
        case 3:
            try {
                ji_InputStreamReader__init_($path, var$5, var$6);
                if ($rt_suspending()) {
                    break main;
                }
                ji_BufferedReader__init_($rd, $path);
                try {
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $path = $$je;
                    } else {
                        throw $$e;
                    }
                }
                try {
                    $ptr = 7;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$5 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                jl_Throwable_addSuppressed($path, var$5);
                $rt_throw($path);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            return null;
        case 4:
            try {
                a: {
                    b: {
                        try {
                            $tmp = ji_BufferedReader_readLine($rd);
                            if ($rt_suspending()) {
                                break main;
                            }
                            $path = $tmp;
                            if ($path !== null)
                                break b;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                $path = $$je;
                                break a;
                            } else {
                                throw $$e;
                            }
                        }
                        $ptr = 5;
                        continue main;
                    }
                    try {
                        $ptr = 6;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            $path = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                }
                try {
                    $ptr = 7;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$5 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                jl_Throwable_addSuppressed($path, var$5);
                $rt_throw($path);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            return null;
        case 5:
            c: {
                try {
                    ji_BufferedReader_close($rd);
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        break c;
                    } else {
                        throw $$e;
                    }
                }
                return $ret;
            }
            return null;
        case 6:
            try {
                try {
                    ju_ArrayList_add($ret, $path);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $path = $$je;
                    } else {
                        throw $$e;
                    }
                }
                try {
                    $ptr = 7;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$5 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                jl_Throwable_addSuppressed($path, var$5);
                $rt_throw($path);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            return null;
        case 7:
            try {
                a: {
                    try {
                        ji_BufferedReader_close($rd);
                        if ($rt_suspending()) {
                            break main;
                        }
                        break a;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$5 = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    jl_Throwable_addSuppressed($path, var$5);
                }
                $rt_throw($path);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            return null;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($path, $bytes, $ret, $rd, var$5, var$6, $ptr);
    }
    function nle_EagRuntime_debugPrintStackTraceToSTDERR($t) {
        var $c, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$c = $thread.pop();$t = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $c = $rt_s(3);
            $ptr = 2;
        case 2:
            nle_EagRuntime_debugPrintStackTraceToSTDERR0($c, $t);
            if ($rt_suspending()) {
                break main;
            }
            $c = jl_Throwable_getCause($t);
            if ($c === null)
                return;
            $t = $rt_s(8);
            $ptr = 3;
        case 3:
            nle_EagRuntime_debugPrintStackTraceToSTDERR0($t, $c);
            if ($rt_suspending()) {
                break main;
            }
            $c = jl_Throwable_getCause($c);
            if ($c === null)
                return;
            $t = $rt_s(8);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($t, $c, $ptr);
    }
    function nle_EagRuntime_debugPrintStackTraceToSTDERR0($pfx, $t) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$t = $thread.pop();$pfx = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = jl_System_err();
            $ptr = 2;
        case 2:
            $tmp = jl_Throwable_toString($t);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$5, $pfx);
            if ($rt_suspending()) {
                break main;
            }
            $pfx = $tmp;
            $ptr = 4;
        case 4:
            jl_StringBuilder_append($pfx, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$5);
            if ($rt_suspending()) {
                break main;
            }
            $pfx = $tmp;
            $ptr = 6;
        case 6:
            ji_PrintStream_println0(var$3, $pfx);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $pfx = $rt_jsException($t);
            if ($pfx !== null && (!!$pfx ? 1 : 0)) {
                $ptr = 8;
                continue main;
            }
            if (0)
                return;
            $pfx = new nle_EagRuntime$debugPrintStackTraceToSTDERR0$lambda$_25_0;
            $ptr = 9;
            continue main;
        case 8:
            $rt_globals.console.error($pfx);
            if ($rt_suspending()) {
                break main;
            }
            if (1)
                return;
            $pfx = new nle_EagRuntime$debugPrintStackTraceToSTDERR0$lambda$_25_0;
            $ptr = 9;
        case 9:
            nle_EagRuntime_getStackTrace0($t, $pfx);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($pfx, $t, var$3, var$4, var$5, $ptr);
    }
    function nle_EagRuntime_getStackTrace0($t, $ret) {
        var var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$ret = $thread.pop();$t = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($t === null)
                return;
            $ptr = 2;
        case 2:
            a: {
                b: {
                    c: {
                        nlei_PlatformRuntime_$callClinit();
                        if ($rt_suspending()) {
                            break main;
                        }
                        var$3 = $rt_jsException($t);
                        if (var$3 !== null && (!!var$3 ? 1 : 0))
                            try {
                                var$4 = $rt_str(var$3.stack || null);
                                if (var$4 !== null)
                                    break b;
                                break c;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof jl_Throwable) {
                                    var$3 = $$je;
                                    break a;
                                } else {
                                    throw $$e;
                                }
                            }
                    }
                    var$5 = (jl_Throwable_getStackTrace($t)).data;
                    var$6 = var$5.length;
                    if (var$6 <= 0) {
                        $t = $rt_s(231);
                        $ptr = 3;
                        continue main;
                    }
                    var$7 = 0;
                    if (var$7 >= var$6)
                        return;
                    $t = var$5[var$7];
                    $ptr = 11;
                    continue main;
                }
                try {
                    var$3 = $rt_s(79);
                    $ptr = 10;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$3 = $$je;
                    } else {
                        throw $$e;
                    }
                }
            }
            $ptr = 4;
            continue main;
        case 3:
            $ret.$accept($t);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            $tmp = jl_Throwable_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            var$8 = $rt_s(232);
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append(var$4, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 6;
        case 6:
            $tmp = jl_StringBuilder_append(var$8, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$8 = $rt_s(233);
            $ptr = 7;
        case 7:
            jl_StringBuilder_append(var$3, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 9;
        case 9:
            $ret.$accept(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = (jl_Throwable_getStackTrace($t)).data;
            var$6 = var$5.length;
            if (var$6 <= 0) {
                $t = $rt_s(231);
                $ptr = 3;
                continue main;
            }
            var$7 = 0;
            if (var$7 >= var$6)
                return;
            $t = var$5[var$7];
            $ptr = 11;
            continue main;
        case 10:
            a: {
                b: {
                    c: {
                        d: {
                            try {
                                $tmp = jl_String_split(var$4, var$3);
                                if ($rt_suspending()) {
                                    break main;
                                }
                                var$5 = $tmp;
                                var$9 = var$5.data;
                                var$6 = var$9.length;
                                if (var$6 > 0)
                                    break d;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof jl_Throwable) {
                                    var$3 = $$je;
                                    break a;
                                } else {
                                    throw $$e;
                                }
                            }
                            var$5 = (jl_Throwable_getStackTrace($t)).data;
                            var$6 = var$5.length;
                            if (var$6 <= 0) {
                                $t = $rt_s(231);
                                $ptr = 3;
                                continue main;
                            }
                            var$7 = 0;
                            if (var$7 >= var$6)
                                break c;
                            $t = var$5[var$7];
                            $ptr = 11;
                            continue main;
                        }
                        e: {
                            try {
                                if (!nlei_PlatformRuntime_isDeobfStackTraces)
                                    break e;
                                $ptr = 13;
                                continue main;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof jl_Throwable) {
                                    var$3 = $$je;
                                    break a;
                                } else {
                                    throw $$e;
                                }
                            }
                        }
                        try {
                            var$10 = 0;
                            if (var$10 < var$6)
                                break b;
                            break c;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                var$3 = $$je;
                                break a;
                            } else {
                                throw $$e;
                            }
                        }
                    }
                    return;
                }
                f: {
                    try {
                        var$3 = jl_String_trim(var$9[var$10]);
                        if (!jl_String_startsWith(var$3, $rt_s(234)))
                            break f;
                        var$3 = jl_String_trim(jl_String_substring(var$3, 3));
                        break f;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$3 = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                }
                try {
                    $ptr = 15;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$3 = $$je;
                    } else {
                        throw $$e;
                    }
                }
            }
            $ptr = 4;
            continue main;
        case 11:
            $tmp = jl_StackTraceElement_toString($t);
            if ($rt_suspending()) {
                break main;
            }
            $t = $tmp;
            $ptr = 12;
        case 12:
            $ret.$accept($t);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = var$7 + 1 | 0;
            if (var$7 >= var$6)
                return;
            $t = var$5[var$7];
            $ptr = 11;
            continue main;
        case 13:
            try {
                nleit_TeaVMRuntimeDeobfuscator_initialize();
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = ju_Arrays_asList(var$5);
                $ptr = 14;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    var$3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 4;
            continue main;
        case 14:
            a: {
                try {
                    nleit_TeaVMRuntimeDeobfuscator_deobfExceptionStack(var$3);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$10 = 0;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$3 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                b: {
                    try {
                        if (var$10 < var$6)
                            break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$3 = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                    return;
                }
                c: {
                    try {
                        var$3 = jl_String_trim(var$9[var$10]);
                        if (!jl_String_startsWith(var$3, $rt_s(234)))
                            break c;
                        var$3 = jl_String_trim(jl_String_substring(var$3, 3));
                        break c;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$3 = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                }
                try {
                    $ptr = 15;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$3 = $$je;
                    } else {
                        throw $$e;
                    }
                }
            }
            $ptr = 4;
            continue main;
        case 15:
            a: {
                try {
                    $ret.$accept(var$3);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$10 = var$10 + 1 | 0;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$3 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                b: {
                    try {
                        if (var$10 < var$6)
                            break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$3 = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                    return;
                }
                c: {
                    try {
                        var$3 = jl_String_trim(var$9[var$10]);
                        if (!jl_String_startsWith(var$3, $rt_s(234)))
                            break c;
                        var$3 = jl_String_trim(jl_String_substring(var$3, 3));
                        break c;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$3 = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                }
                try {
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$3 = $$je;
                    } else {
                        throw $$e;
                    }
                }
            }
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($t, $ret, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nle_EagRuntime_getStackTrace($t) {
        var $sb, $c, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$c = $thread.pop();$sb = $thread.pop();$t = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($t === null)
                return $rt_s(235);
            $sb = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($sb);
            $ptr = 2;
        case 2:
            nle_EagRuntime_getStackTrace00($t, $sb);
            if ($rt_suspending()) {
                break main;
            }
            $c = jl_Throwable_getCause($t);
            if ($c === null) {
                $ptr = 3;
                continue main;
            }
            jl_AbstractStringBuilder_append2($sb, $rt_s(236));
            $ptr = 4;
            continue main;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            $t = $tmp;
            return $t;
        case 4:
            nle_EagRuntime_getStackTrace00($c, $sb);
            if ($rt_suspending()) {
                break main;
            }
            $c = jl_Throwable_getCause($c);
            if ($c === null) {
                $ptr = 3;
                continue main;
            }
            jl_AbstractStringBuilder_append2($sb, $rt_s(236));
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($t, $sb, $c, $ptr);
    }
    function nle_EagRuntime_getStackTrace00($t, $sb) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$sb = $thread.pop();$t = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = jl_Throwable_toString($t);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_AbstractStringBuilder_append2($sb, var$3);
            var$3 = new nle_EagRuntime$getStackTrace0$lambda$_29_0;
            var$3.$_05 = $sb;
            $ptr = 3;
        case 3:
            nle_EagRuntime_getStackTrace0($t, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($t, $sb, var$3, $ptr);
    }
    function nle_EagRuntime_maxMemory() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return Long_fromInt(1073741824);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nle_EagRuntime_totalMemory() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return Long_fromInt(1073741824);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nle_EagRuntime_freeMemory() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return Long_fromInt(1073741824);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nle_EagRuntime_requireSSL() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nle_EagRuntime_ssl;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nle_EagRuntime_setStorage($name, $data) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$data = $thread.pop();$name = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformApplication_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 1;
            $ptr = 3;
        case 3:
            nlei_PlatformApplication_setLocalStorage($name, $data, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($name, $data, var$3, $ptr);
    }
    function nle_EagRuntime_getStorage($data) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$data = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformApplication_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 1;
            $ptr = 3;
        case 3:
            $tmp = nlei_PlatformApplication_getLocalStorage($data, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($data, var$2, var$3, $ptr);
    }
    function nle_EagRuntime_getConfiguration() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_getClientConfigAdapter();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nle_EagRuntime__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(237);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nle_EagRuntime_logger = var$1;
            var$1 = $rt_s(238);
            $ptr = 2;
        case 2:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nle_EagRuntime_exceptionLogger = var$1;
            nle_EagRuntime_ssl = 0;
            nle_EagRuntime_offlineDownloadURL = 0;
            nle_EagRuntime_userAgent = null;
            nle_EagRuntime_userAgentString = null;
            nle_EagRuntime_operatingSystem = null;
            nle_EagRuntime_angleBackend = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    var nlei_PlatformIncompatibleException = $rt_classWithoutFields(jl_RuntimeException);
    function nlei_PlatformIncompatibleException__init_(var_0) {
        var var_1 = new nlei_PlatformIncompatibleException();
        nlei_PlatformIncompatibleException__init_0(var_1, var_0);
        return var_1;
    }
    function nlei_PlatformIncompatibleException__init_0($this, $s) {
        jl_Throwable__init_($this, $s);
    }
    function nmc_Minecraft() {
        var a = this; jl_Object.call(a);
        a.$playerController = null;
        a.$fullscreen = 0;
        a.$displayWidth = 0;
        a.$displayHeight = 0;
        a.$dpi = 0.0;
        a.$timer = null;
        a.$theWorld = null;
        a.$renderGlobal = null;
        a.$thePlayer = null;
        a.$renderViewEntity = null;
        a.$effectRenderer = null;
        a.$session = null;
        a.$hideQuitButton = 0;
        a.$isWorldLoaded = 0;
        a.$renderEngine = null;
        a.$fontRenderer = null;
        a.$currentScreen = null;
        a.$loadingScreen = null;
        a.$entityRenderer = null;
        a.$ticksRan = 0;
        a.$leftClickCounter = 0;
        a.$field_25002_t = null;
        a.$ingameGUI = null;
        a.$field_6307_v = 0;
        a.$field_9242_w = null;
        a.$objectMouseOver = null;
        a.$gameSettings = null;
        a.$sndManager = null;
        a.$mouseHelper = null;
        a.$texturePackList = null;
        a.$mcDataDir = null;
        a.$saveLoader = null;
        a.$field_25001_G = null;
        a.$serverName = null;
        a.$textureWaterFX = null;
        a.$textureLavaFX = null;
        a.$running = 0;
        a.$debug = null;
        a.$isTakingScreenshot = 0;
        a.$prevFrameTime = Long_ZERO;
        a.$inGameHasFocus = 0;
        a.$field_6302_aa = 0;
        a.$isRaining = 0;
        a.$systemTime = Long_ZERO;
        a.$field_6300_ab = 0;
        a.$isShuttingDown = 0;
        a.$scaledResolution = null;
    }
    var nmc_Minecraft_theMinecraft = null;
    var nmc_Minecraft_frameTimes = null;
    var nmc_Minecraft_tickTimes = null;
    var nmc_Minecraft_numRecordedFrameTimes = 0;
    var nmc_Minecraft_minecraftDir = null;
    function nmc_Minecraft__init_0() {
        var var_0 = new nmc_Minecraft();
        nmc_Minecraft__init_(var_0);
        return var_0;
    }
    function nmc_Minecraft_getMinecraft() {
        return nmc_Minecraft_theMinecraft;
    }
    function nmc_Minecraft__init_($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$fullscreen = 0;
            var$1 = new nms_Timer;
            var$1.$timerSpeed = 1.0;
            var$1.$elapsedPartialTicks = 0.0;
            var$1.$timeSyncAdjustment = 1.0;
            var$1.$ticksPerSecond = 20.0;
            var$1.$lastSyncSysClock = jl_System_currentTimeMillis();
            var$1.$lastSyncHRClock = Long_div(jl_System_nanoTime(), Long_fromInt(1000000));
            $this.$timer = var$1;
            $this.$session = null;
            $this.$hideQuitButton = 1;
            $this.$isWorldLoaded = 0;
            $this.$currentScreen = null;
            $this.$loadingScreen = nms_LoadingScreenRenderer__init_($this);
            var$1 = new nms_EntityRenderer;
            var$1.$farPlaneDistance = 0.0;
            var$1.$field_1385_k = null;
            var$1.$mouseFilterXAxis = new nms_MouseFilter;
            var$1.$mouseFilterYAxis = new nms_MouseFilter;
            var$1.$field_22233_n = new nms_MouseFilter;
            var$1.$field_22232_o = new nms_MouseFilter;
            var$1.$field_22231_p = new nms_MouseFilter;
            var$1.$field_22229_q = new nms_MouseFilter;
            var$1.$field_22228_r = 4.0;
            var$1.$field_22227_s = 4.0;
            var$1.$field_22226_t = 0.0;
            var$1.$field_22225_u = 0.0;
            var$1.$field_22224_v = 0.0;
            var$1.$field_22223_w = 0.0;
            var$1.$field_22222_x = 0.0;
            var$1.$field_22221_y = 0.0;
            var$1.$field_22220_z = 0.0;
            var$1.$field_22230_A = 0.0;
            var$1.$cameraZoom = 1.0;
            var$1.$cameraYaw = 0.0;
            var$1.$cameraPitch = 0.0;
            var$1.$prevFrameTime0 = jl_System_currentTimeMillis();
            var$1.$random = new ju_Random;
            var$1.$field_1394_b = 0;
            var$1.$field_1393_c = 0;
            var$2 = 16;
            $ptr = 1;
        case 1:
            $tmp = nms_GLAllocation_createDirectFloatBuffer(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1.$field_1392_d = var$3;
            var$1.$mc = $this;
            var$1.$itemRenderer = nms_ItemRenderer__init_($this);
            $this.$entityRenderer = var$1;
            $this.$ticksRan = 0;
            $this.$leftClickCounter = 0;
            var$1 = new nms_GuiAchievement;
            nms_Gui__init_(var$1);
            var$1.$field_25082_a = $this;
            $this.$field_25002_t = var$1;
            $this.$field_6307_v = 0;
            $this.$field_9242_w = nms_ModelBiped__init_0(0.0);
            $this.$objectMouseOver = null;
            $this.$sndManager = nms_SoundManager__init_0();
            $this.$field_25001_G = nms_XBlah__init_0();
            var$1 = new nms_TextureWaterFX;
            $ptr = 2;
        case 2:
            nms_TextureWaterFX__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$textureWaterFX = var$1;
            var$1 = new nms_TextureLavaFX;
            $ptr = 3;
        case 3:
            nms_TextureLavaFX__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$textureLavaFX = var$1;
            $this.$running = 1;
            $this.$debug = $rt_s(3);
            $this.$isTakingScreenshot = 0;
            $this.$prevFrameTime = Long_fromInt(-1);
            $this.$inGameHasFocus = 0;
            $this.$field_6302_aa = 0;
            $this.$isRaining = 0;
            $this.$systemTime = jl_System_currentTimeMillis();
            $this.$field_6300_ab = 0;
            $this.$isShuttingDown = 0;
            $this.$scaledResolution = null;
            $this.$displayWidth = nlei_PlatformInput_windowWidth;
            $this.$displayHeight = nlei_PlatformInput_windowHeight;
            $this.$fullscreen = 0;
            nmc_Minecraft_theMinecraft = $this;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nmc_Minecraft_updateDisplay($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (nlei_PlatformInput_vsyncSupport) {
                $ptr = 2;
                continue main;
            }
            var$1 = 0;
            $ptr = 1;
        case 1:
            nlei_PlatformInput_update0(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nlei_PlatformInput_windowWidth;
            if (var$1 == nlei_PlatformInput_lastWasResizedWindowWidth && nlei_PlatformInput_windowHeight == nlei_PlatformInput_lastWasResizedWindowHeight && nlei_PlatformInput_windowDPI === nlei_PlatformInput_lastWasResizedWindowDPI)
                var$1 = 0;
            else {
                nlei_PlatformInput_lastWasResizedWindowWidth = var$1;
                nlei_PlatformInput_lastWasResizedWindowHeight = nlei_PlatformInput_windowHeight;
                nlei_PlatformInput_lastWasResizedWindowDPI = nlei_PlatformInput_windowDPI;
                var$1 = 1;
            }
            if (!var$1) {
                $ptr = 3;
                continue main;
            }
            var$1 = $this.$displayWidth;
            var$2 = $this.$displayHeight;
            var$3 = $this.$dpi;
            $this.$displayWidth = nlei_PlatformInput_windowWidth;
            $this.$displayHeight = nlei_PlatformInput_windowHeight;
            if ((-1.0) === (-1.0)) {
                $ptr = 4;
                continue main;
            }
            $this.$dpi = (-1.0);
            var$4 = $this.$displayWidth;
            if (var$4 == var$1 && $this.$displayHeight == var$2 && (-1.0) === var$3)
                return;
            if (var$4 <= 0)
                $this.$displayWidth = 1;
            if ($this.$displayHeight <= 0)
                $this.$displayHeight = 1;
            var$1 = $this.$displayWidth;
            var$2 = $this.$displayHeight;
            $this.$displayWidth = jl_Math_max(1, var$1);
            var$1 = jl_Math_max(1, var$2);
            $this.$displayHeight = var$1;
            var$5 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, var$1);
            $this.$scaledResolution = var$5;
            var$6 = $this.$currentScreen;
            if (var$6 === null) {
                $this.$loadingScreen = nms_LoadingScreenRenderer__init_($this);
                $ptr = 5;
                continue main;
            }
            var$2 = var$5.$scaledWidth;
            var$1 = var$5.$scaledHeight;
            $ptr = 6;
            continue main;
        case 2:
            $tmp = nle_EagRuntime_getPlatformType();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            nlei_EnumPlatformType_$callClinit();
            if (var$6 === nlei_EnumPlatformType_WASM_GC)
                nlei_PlatformInput_vsync = 1;
            else
                nlei_PlatformInput_vsync = $this.$gameSettings.$limitFramerate;
            var$1 = 0;
            $ptr = 1;
            continue main;
        case 3:
            a: {
                $tmp = nle_Display_getDPI();
                if ($rt_suspending()) {
                    break main;
                }
                var$7 = $tmp;
                var$7 = jl_Math_max0(var$7, 1.0);
                if (var$7 !== $this.$dpi) {
                    var$1 = $this.$displayWidth;
                    var$2 = $this.$displayHeight;
                    var$3 = $this.$dpi;
                    $this.$displayWidth = nlei_PlatformInput_windowWidth;
                    $this.$displayHeight = nlei_PlatformInput_windowHeight;
                    if (var$7 === (-1.0)) {
                        $ptr = 4;
                        continue main;
                    }
                    $this.$dpi = var$7;
                    var$4 = $this.$displayWidth;
                    if (var$4 != var$1)
                        break a;
                    if ($this.$displayHeight != var$2)
                        break a;
                    if (var$7 !== var$3)
                        break a;
                }
                return;
            }
            if (var$4 <= 0)
                $this.$displayWidth = 1;
            if ($this.$displayHeight <= 0)
                $this.$displayHeight = 1;
            var$1 = $this.$displayWidth;
            var$2 = $this.$displayHeight;
            $this.$displayWidth = jl_Math_max(1, var$1);
            var$1 = jl_Math_max(1, var$2);
            $this.$displayHeight = var$1;
            var$5 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, var$1);
            $this.$scaledResolution = var$5;
            var$6 = $this.$currentScreen;
            if (var$6 === null) {
                $this.$loadingScreen = nms_LoadingScreenRenderer__init_($this);
                $ptr = 5;
                continue main;
            }
            var$2 = var$5.$scaledWidth;
            var$1 = var$5.$scaledHeight;
            $ptr = 6;
            continue main;
        case 4:
            $tmp = nle_Display_getDPI();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$7 = jl_Math_max0(var$7, 1.0);
            $this.$dpi = var$7;
            var$4 = $this.$displayWidth;
            if (var$4 == var$1 && $this.$displayHeight == var$2 && var$7 === var$3)
                return;
            if (var$4 <= 0)
                $this.$displayWidth = 1;
            if ($this.$displayHeight <= 0)
                $this.$displayHeight = 1;
            var$1 = $this.$displayWidth;
            var$2 = $this.$displayHeight;
            $this.$displayWidth = jl_Math_max(1, var$1);
            var$1 = jl_Math_max(1, var$2);
            $this.$displayHeight = var$1;
            var$5 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, var$1);
            $this.$scaledResolution = var$5;
            var$6 = $this.$currentScreen;
            if (var$6 === null) {
                $this.$loadingScreen = nms_LoadingScreenRenderer__init_($this);
                $ptr = 5;
                continue main;
            }
            var$2 = var$5.$scaledWidth;
            var$1 = var$5.$scaledHeight;
            $ptr = 6;
            continue main;
        case 5:
            $tmp = nle_EagRuntime_getConfiguration();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            var$8 = var$5.$hooks;
            var$5 = $this.$currentScreen;
            var$5 = var$5 === null ? null : jl_Class_getName(jl_Object_getClass(var$5));
            var$6 = $this.$scaledResolution;
            var$4 = var$6.$scaledWidth;
            var$2 = var$6.$scaledHeight;
            var$1 = $this.$displayWidth;
            var$9 = $this.$displayHeight;
            var$10 = var$6.$scaleFactor;
            if (var$8.$screenChangedHook === null)
                return;
            var$6 = $rt_s(239);
            var$11 = new nleit_TeaVMClientConfigAdapterHooks$callScreenChangedHook$lambda$_3_0;
            var$11.$_06 = var$8;
            var$11.$_12 = var$5;
            var$11.$_20 = var$4;
            var$11.$_30 = var$2;
            var$11.$_4 = var$1;
            var$11.$_5 = var$9;
            var$11.$_6 = var$10;
            $ptr = 7;
            continue main;
        case 6:
            nms_GuiScreen_setWorldAndResolution(var$6, $this, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$loadingScreen = nms_LoadingScreenRenderer__init_($this);
            $ptr = 5;
            continue main;
        case 7:
            nleit_TeaVMClientConfigAdapterHooks_callHookSafe(var$6, var$11);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    function nmc_Minecraft_startGame($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                try {
                    olo_Display_create();
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ol_LWJGLException) {
                    } else {
                        throw $$e;
                    }
                }
            }
            $ptr = 1;
        case 1:
            nms_RenderManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_RenderManager_instance.$itemRenderer0 = nms_ItemRenderer__init_($this);
            if (nmc_Minecraft_minecraftDir === null) {
                var$1 = new nleiv_VFile2;
                var$2 = $rt_createArray(jl_Object, 1);
                var$2.data[0] = $rt_s(240);
                $ptr = 6;
                continue main;
            }
            var$3 = nmc_Minecraft_minecraftDir;
            $this.$mcDataDir = var$3;
            var$4 = new nleb_EaglercraftSaveManager;
            var$4.$directory = $rt_s(241);
            $this.$saveLoader = var$4;
            var$4 = new nms_GameSettings;
            $ptr = 2;
        case 2:
            nms_GameSettings__init_0(var$4, $this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$gameSettings = var$4;
            $this.$scaledResolution = nms_ScaledResolution__init_(var$4, $this.$displayWidth, $this.$displayHeight);
            var$4 = new nms_TexturePackList;
            var$1 = $this.$mcDataDir;
            var$4.$availableTexturePacks = ju_ArrayList__init_0();
            var$3 = new nms_TexturePackDefault;
            $ptr = 3;
        case 3:
            nms_TexturePackDefault__init_(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4.$defaultTexturePack = var$3;
            var$4.$field_6538_d = ju_HashMap__init_0();
            var$4.$mc0 = $this;
            var$3 = new nleiv_VFile2;
            var$2 = $rt_createArrayFromData(jl_Object, [var$1, $rt_s(242)]);
            $ptr = 4;
        case 4:
            nleiv_VFile2__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$4.$texturePackDir = var$3;
            $ptr = 5;
        case 5:
            $tmp = nleiv_VFile2_exists(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            var$4.$currentTexturePack = $this.$gameSettings.$skin;
            $ptr = 7;
            continue main;
        case 6:
            nleiv_VFile2__init_(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            nmc_Minecraft_minecraftDir = var$1;
            var$3 = nmc_Minecraft_minecraftDir;
            $this.$mcDataDir = var$3;
            var$4 = new nleb_EaglercraftSaveManager;
            var$4.$directory = $rt_s(241);
            $this.$saveLoader = var$4;
            var$4 = new nms_GameSettings;
            $ptr = 2;
            continue main;
        case 7:
            nms_TexturePackList_updateAvaliableTexturePacks(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$texturePackList = var$4;
            var$1 = new nms_RenderEngine;
            var$3 = $this.$gameSettings;
            var$1.$textureMap = ju_HashMap__init_0();
            var$1.$textureNameToImageMap = ju_HashMap__init_0();
            var$5 = 1;
            $ptr = 8;
        case 8:
            $tmp = nms_GLAllocation_createDirectIntBuffer(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$1.$singleIntBuffer = var$6;
            var$5 = 1048576;
            $ptr = 9;
        case 9:
            $tmp = nms_GLAllocation_createDirectByteBuffer(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$1.$imageData = var$6;
            var$1.$textureList = ju_ArrayList__init_0();
            var$1.$urlToImageDataMap = ju_HashMap__init_0();
            var$1.$clampTexture = 0;
            var$1.$blurTexture = 0;
            var$1.$texturePackList0 = var$4;
            var$1.$options = var$3;
            $this.$renderEngine = var$1;
            var$4 = new nms_FontRenderer;
            var$3 = $this.$gameSettings;
            var$6 = $rt_s(243);
            $ptr = 10;
        case 10:
            nms_FontRenderer__init_(var$4, var$3, var$6, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$fontRenderer = var$4;
            $ptr = 11;
        case 11:
            nmc_Minecraft_loadScreen($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$mouseHelper = new nms_MouseHelper;
            var$4 = $rt_s(244);
            $ptr = 12;
        case 12:
            nmc_Minecraft_checkGLError($this, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 3553;
            $ptr = 13;
        case 13:
            olo_GL11_glEnable(var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 0.0;
            if (var$7 !== nleo_GlStateManager_clearDepth) {
                $ptr = 19;
                continue main;
            }
            var$5 = 2929;
            $ptr = 15;
        case 15:
            olo_GL11_glEnable(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 515;
            $ptr = 16;
        case 16:
            olo_GL11_glDepthFunc(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 3008;
            $ptr = 17;
        case 17:
            olo_GL11_glEnable(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 516;
            var$7 = 0.10000000149011612;
            $ptr = 18;
        case 18:
            olo_GL11_glAlphaFunc(var$5, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 1029;
            if (nleo_GlStateManager_stateCullFace != var$5) {
                $ptr = 33;
                continue main;
            }
            var$5 = 5889;
            $ptr = 20;
            continue main;
        case 19:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.clearDepth(var$7);
            nleo_GlStateManager_clearDepth = var$7;
            var$5 = 2929;
            $ptr = 15;
            continue main;
        case 20:
            olo_GL11_glMatrixMode(var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 21;
        case 21:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 5888;
            $ptr = 22;
        case 22:
            olo_GL11_glMatrixMode(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $rt_s(245);
            $ptr = 23;
        case 23:
            nmc_Minecraft_checkGLError($this, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$sndManager.$options0 = $this.$gameSettings;
            nms_RenderEngine_registerTextureFX($this.$renderEngine, $this.$textureLavaFX);
            nms_RenderEngine_registerTextureFX($this.$renderEngine, $this.$textureWaterFX);
            var$4 = $this.$renderEngine;
            var$1 = new nms_TexturePortalFX;
            $ptr = 24;
        case 24:
            nms_TexturePortalFX__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nms_RenderEngine_registerTextureFX(var$4, var$1);
            var$4 = $this.$renderEngine;
            var$1 = new nleb_TextureNewCompassFX;
            $ptr = 25;
        case 25:
            nleb_TextureNewCompassFX__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nms_RenderEngine_registerTextureFX(var$4, var$1);
            var$4 = $this.$renderEngine;
            var$1 = new nleb_TextureNewClockFX;
            $ptr = 26;
        case 26:
            nleb_TextureNewClockFX__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nms_RenderEngine_registerTextureFX(var$4, var$1);
            var$4 = $this.$renderEngine;
            var$1 = new nms_TexureWaterFlowFX;
            $ptr = 27;
        case 27:
            nms_TexureWaterFlowFX__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nms_RenderEngine_registerTextureFX(var$4, var$1);
            var$4 = $this.$renderEngine;
            var$1 = new nms_TextureLavaFlowFX;
            $ptr = 28;
        case 28:
            nms_TextureLavaFlowFX__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nms_RenderEngine_registerTextureFX(var$4, var$1);
            var$4 = $this.$renderEngine;
            var$1 = new nms_TextureFlamesFX;
            var$5 = 0;
            $ptr = 29;
        case 29:
            nms_TextureFlamesFX__init_(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            nms_RenderEngine_registerTextureFX(var$4, var$1);
            var$4 = $this.$renderEngine;
            var$1 = new nms_TextureFlamesFX;
            var$5 = 1;
            $ptr = 30;
        case 30:
            nms_TextureFlamesFX__init_(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            nms_RenderEngine_registerTextureFX(var$4, var$1);
            var$4 = new nms_RenderGlobal;
            var$1 = $this.$renderEngine;
            $ptr = 31;
        case 31:
            nms_RenderGlobal__init_(var$4, $this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$renderGlobal = var$4;
            var$5 = 0;
            var$8 = 0;
            var$9 = $this.$displayWidth;
            var$10 = $this.$displayHeight;
            $ptr = 32;
        case 32:
            nleo_GlStateManager_viewport(var$5, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = new nms_EffectRenderer;
            var$1 = $this.$theWorld;
            var$3 = $this.$renderEngine;
            var$4.$fxLayers = $rt_createArray(ju_List, 4);
            var$4.$rand = new ju_Random;
            if (var$1 !== null)
                var$4.$worldObj = var$1;
            var$4.$renderer = var$3;
            var$5 = 0;
            while (var$5 < 4) {
                var$4.$fxLayers.data[var$5] = ju_ArrayList__init_0();
                var$5 = var$5 + 1 | 0;
            }
            $this.$effectRenderer = var$4;
            var$4 = $rt_s(246);
            $ptr = 34;
            continue main;
        case 33:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.cullFace(var$5);
            nleo_GlStateManager_stateCullFace = var$5;
            var$5 = 5889;
            $ptr = 20;
            continue main;
        case 34:
            nmc_Minecraft_checkGLError($this, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 35;
        case 35:
            nlep_EaglerProfile_loadFromStorage();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = new nms_Session;
            var$1 = nlep_EaglerProfile_username;
            var$3 = $rt_s(247);
            $ptr = 36;
        case 36:
            nms_Session__init_(var$4, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$session = var$4;
            var$4 = new nms_GuiIngame;
            nms_Gui__init_(var$4);
            var$4.$chatMessageList = ju_ArrayList__init_0();
            var$4.$rand0 = new ju_Random;
            var$4.$field_933_a = null;
            var$4.$updateCounter = 0;
            var$4.$recordPlaying = $rt_s(3);
            var$4.$recordPlayingUpFor = 0;
            var$4.$field_22065_l = 0;
            var$4.$prevVignetteBrightness = 1.0;
            var$4.$mc1 = $this;
            $this.$ingameGUI = var$4;
            var$4 = $this.$serverName;
            if (var$4 === null) {
                var$4 = new nle_GuiScreenEditProfile;
                var$1 = new nms_GuiMainMenu;
                $ptr = 37;
                continue main;
            }
            var$1 = new nle_GuiScreenEditProfile;
            var$3 = new nms_GuiConnecting;
            $ptr = 40;
            continue main;
        case 37:
            nms_GuiMainMenu__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 38;
        case 38:
            nle_GuiScreenEditProfile__init_(var$4, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 39;
        case 39:
            nmc_Minecraft_displayGuiScreen($this, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 40:
            nms_GuiConnecting__init_(var$3, $this, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 41;
        case 41:
            nle_GuiScreenEditProfile__init_(var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 42;
        case 42:
            nmc_Minecraft_displayGuiScreen($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nmc_Minecraft_loadScreen($this) {
        var var$1, $var1, $var12, $var13, $var3, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $var4, var$15, $var2, var$17, var$18, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();$var2 = $thread.pop();var$15 = $thread.pop();$var4 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var3 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var1 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformInput_update();
            if ($rt_suspending()) {
                break main;
            }
            $this.$displayWidth = nlei_PlatformInput_windowWidth;
            $this.$displayHeight = nlei_PlatformInput_windowHeight;
            $ptr = 2;
        case 2:
            $tmp = nle_Display_getDPI();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $this.$dpi = var$1;
            $var1 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth / 2 | 0, $this.$displayHeight / 2 | 0);
            $this.$scaledResolution = $var1;
            $var12 = $var1.$scaledWidth;
            $var13 = $var1.$scaledHeight;
            $var3 = 16640;
            $ptr = 3;
        case 3:
            olo_GL11_glClear($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 5889;
            $ptr = 4;
        case 4:
            olo_GL11_glMatrixMode($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 0.0;
            var$7 = $var12;
            var$8 = $var13;
            var$9 = 0.0;
            var$10 = 1000.0;
            var$11 = 3000.0;
            $ptr = 6;
        case 6:
            olo_GL11_glOrtho(var$6, var$7, var$8, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 5888;
            $ptr = 7;
        case 7:
            olo_GL11_glMatrixMode($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            var$12 = 0.0;
            var$1 = 0.0;
            var$13 = (-2000.0);
            $ptr = 9;
        case 9:
            olo_GL11_glTranslatef(var$12, var$1, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 0;
            $var4 = 0;
            $var13 = $this.$displayWidth;
            $var12 = $this.$displayHeight;
            $ptr = 10;
        case 10:
            nleo_GlStateManager_viewport($var3, $var4, $var13, $var12);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 0.0;
            var$12 = 0.0;
            var$13 = 0.0;
            var$15 = 0.0;
            $ptr = 11;
        case 11:
            olo_GL11_glClearColor(var$1, var$12, var$13, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_Tessellator_instance;
            $var3 = 2896;
            $ptr = 13;
        case 13:
            olo_GL11_glDisable($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 3553;
            $ptr = 14;
        case 14:
            olo_GL11_glEnable($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 2912;
            $ptr = 15;
        case 15:
            olo_GL11_glDisable($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 3553;
            $var1 = $this.$renderEngine;
            var$17 = $rt_s(248);
            $ptr = 16;
        case 16:
            $tmp = nms_RenderEngine_getTexture($var1, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $ptr = 17;
        case 17:
            olo_GL11_glBindTexture($var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 18;
        case 18:
            nms_Tessellator_startDrawingQuads($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 16777215;
            $ptr = 19;
        case 19:
            nms_Tessellator_setColorOpaque_I($var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 0.0;
            var$7 = $this.$displayHeight;
            var$9 = 0.0;
            var$10 = 0.0;
            var$11 = 0.0;
            $ptr = 20;
        case 20:
            nms_Tessellator_addVertexWithUV($var2, var$6, var$7, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $this.$displayWidth;
            var$10 = $this.$displayHeight;
            var$11 = 0.0;
            var$6 = 0.0;
            var$7 = 0.0;
            $ptr = 21;
        case 21:
            nms_Tessellator_addVertexWithUV($var2, var$9, var$10, var$11, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $this.$displayWidth;
            var$10 = 0.0;
            var$11 = 0.0;
            var$6 = 0.0;
            var$7 = 0.0;
            $ptr = 22;
        case 22:
            nms_Tessellator_addVertexWithUV($var2, var$9, var$10, var$11, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 0.0;
            var$10 = 0.0;
            var$11 = 0.0;
            var$6 = 0.0;
            var$7 = 0.0;
            $ptr = 23;
        case 23:
            nms_Tessellator_addVertexWithUV($var2, var$9, var$10, var$11, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 24;
        case 24:
            nms_Tessellator_draw($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 256;
            $var4 = 256;
            var$1 = 1.0;
            var$12 = 1.0;
            var$13 = 1.0;
            var$15 = 1.0;
            $ptr = 25;
        case 25:
            nleo_GlStateManager_color(var$1, var$12, var$13, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = 16777215;
            $ptr = 26;
        case 26:
            nms_Tessellator_setColorOpaque_I($var2, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = (($this.$displayWidth / 2 | 0) - $var3 | 0) / 2 | 0;
            $var12 = (($this.$displayHeight / 2 | 0) - $var4 | 0) / 2 | 0;
            $var2 = nms_Tessellator_instance;
            $ptr = 27;
        case 27:
            nms_Tessellator_startDrawingQuads($var2);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $var13;
            var$10 = $var12 + $var4 | 0;
            var$7 = 0.0;
            var$11 = 0.0;
            var$6 = 1.0;
            $ptr = 28;
        case 28:
            nms_Tessellator_addVertexWithUV($var2, var$9, var$10, var$7, var$11, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $var13 + $var3 | 0;
            var$8 = 0.0;
            $ptr = 29;
        case 29:
            nms_Tessellator_addVertexWithUV($var2, var$7, var$10, var$8, var$6, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $var12;
            var$8 = 0.0;
            $ptr = 30;
        case 30:
            nms_Tessellator_addVertexWithUV($var2, var$7, var$10, var$8, var$6, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 0.0;
            $ptr = 31;
        case 31:
            nms_Tessellator_addVertexWithUV($var2, var$9, var$10, var$6, var$11, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 32;
        case 32:
            nms_Tessellator_draw($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 2896;
            $ptr = 33;
        case 33:
            olo_GL11_glDisable($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 2912;
            $ptr = 34;
        case 34:
            olo_GL11_glDisable($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 3008;
            $ptr = 35;
        case 35:
            olo_GL11_glEnable($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 516;
            var$1 = 0.10000000149011612;
            $ptr = 36;
        case 36:
            olo_GL11_glAlphaFunc($var3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 37;
        case 37:
            nmc_Minecraft_updateDisplay($this);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = Long_fromInt(100);
            $ptr = 38;
        case 38:
            nle_EagUtils_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 100;
            if (Long_ne(Long_fromInt(100), var$18)) {
                $var2 = new jl_IllegalArgumentException;
                jl_Throwable__init_0($var2);
                $rt_throw($var2);
            }
            $ptr = 39;
        case 39:
            nlei_PlatformRuntime_sleep($var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $var1, $var12, $var13, $var3, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $var4, var$15, $var2, var$17, var$18, $ptr);
    }
    function nmc_Minecraft_displayGuiScreen($this, $var1) {
        var $var2, $var3, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $this.$currentScreen;
            if ($var2 instanceof nms_GuiUnused)
                return;
            if ($var2 !== null) {
                $ptr = 1;
                continue main;
            }
            if ($var1 === null && $this.$theWorld === null) {
                $var1 = new nms_GuiMainMenu;
                $ptr = 2;
                continue main;
            }
            if ($var1 === null && $this.$thePlayer.$health <= 0) {
                $var1 = new nms_GuiGameOver;
                nms_GuiScreen__init_($var1);
            }
            $this.$currentScreen = $var1;
            if ($var1 === null) {
                $ptr = 3;
                continue main;
            }
            if (!$this.$inGameHasFocus) {
                $var2 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
                $var3 = $var2.$scaledWidth;
                $var4 = $var2.$scaledHeight;
                $ptr = 4;
                continue main;
            }
            $var2 = $this.$thePlayer;
            if ($var2 !== null)
                nms_EntityPlayerSP_resetPlayerKeyState($var2);
            $this.$inGameHasFocus = 0;
            $var4 = 0;
            $ptr = 5;
            continue main;
        case 1:
            $var2.$onGuiClosed();
            if ($rt_suspending()) {
                break main;
            }
            if ($var1 === null && $this.$theWorld === null) {
                $var1 = new nms_GuiMainMenu;
                $ptr = 2;
                continue main;
            }
            if ($var1 === null && $this.$thePlayer.$health <= 0) {
                $var1 = new nms_GuiGameOver;
                nms_GuiScreen__init_($var1);
            }
            $this.$currentScreen = $var1;
            if ($var1 === null) {
                $ptr = 3;
                continue main;
            }
            if (!$this.$inGameHasFocus) {
                $var2 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
                $var3 = $var2.$scaledWidth;
                $var4 = $var2.$scaledHeight;
                $ptr = 4;
                continue main;
            }
            $var2 = $this.$thePlayer;
            if ($var2 !== null)
                nms_EntityPlayerSP_resetPlayerKeyState($var2);
            $this.$inGameHasFocus = 0;
            $var4 = 0;
            $ptr = 5;
            continue main;
        case 2:
            nms_GuiMainMenu__init_($var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$currentScreen = $var1;
            if ($var1 === null) {
                $ptr = 3;
                continue main;
            }
            if (!$this.$inGameHasFocus) {
                $var2 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
                $var3 = $var2.$scaledWidth;
                $var4 = $var2.$scaledHeight;
                $ptr = 4;
                continue main;
            }
            $var2 = $this.$thePlayer;
            if ($var2 !== null)
                nms_EntityPlayerSP_resetPlayerKeyState($var2);
            $this.$inGameHasFocus = 0;
            $var4 = 0;
            $ptr = 5;
            continue main;
        case 3:
            nmc_Minecraft_setIngameFocus($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nms_GuiScreen_setWorldAndResolution($var1, $this, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_6307_v = 0;
            return;
        case 5:
            nlei_PlatformInput_mouseSetGrabbed($var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
            $var3 = $var2.$scaledWidth;
            $var4 = $var2.$scaledHeight;
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nmc_Minecraft_checkGLError($this, $var1) {
        var var$2, $var3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nlei_PlatformOpenGL_ctx.getError();
            if (!var$2)
                return;
            a: {
                switch (var$2) {
                    case -100:
                        break;
                    case 1280:
                        $var3 = $rt_s(249);
                        break a;
                    case 1281:
                        $var3 = $rt_s(250);
                        break a;
                    case 1282:
                        $var3 = $rt_s(251);
                        break a;
                    case 1285:
                        $var3 = $rt_s(252);
                        break a;
                    case 1286:
                        $var3 = $rt_s(253);
                        break a;
                    default:
                        $var3 = $rt_s(254);
                        break a;
                }
                $var3 = $rt_s(255);
            }
            var$4 = jl_System_out();
            var$5 = $rt_s(256);
            $ptr = 3;
        case 3:
            ji_PrintStream_println0(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = jl_System_out();
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            var$6 = $rt_s(257);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append(var$4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 5;
        case 5:
            jl_StringBuilder_append(var$6, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $ptr = 7;
        case 7:
            ji_PrintStream_println0(var$5, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = jl_System_out();
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            jl_AbstractStringBuilder_append0(var$5, var$2);
            var$4 = $rt_s(6);
            $ptr = 8;
        case 8:
            $tmp = jl_StringBuilder_append(var$5, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 9;
        case 9:
            jl_StringBuilder_append(var$4, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            $tmp = jl_AbstractStringBuilder_toString(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 11;
        case 11:
            ji_PrintStream_println0($var1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var3, var$4, var$5, var$6, $ptr);
    }
    function nmc_Minecraft_shutdownMinecraftApplet($this) {
        var var$1, var$2, var$3, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = jl_System_out();
            var$2 = $rt_s(258);
            $ptr = 1;
        case 1:
            ji_PrintStream_println0(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isShuttingDown = 1;
            var$1 = null;
            $ptr = 2;
        case 2:
            nmc_Minecraft_changeWorld1($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            try {
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                } else {
                    throw $$e;
                }
            }
            $ptr = 4;
            continue main;
        case 3:
            a: {
                try {
                    nms_GLAllocation_deleteTexturesAndDisplayLists();
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                    } else {
                        throw $$e;
                    }
                }
            }
            $ptr = 4;
        case 4:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nlei_PlatformRuntime_logger;
            var$2 = $rt_s(259);
            oall_Level_$callClinit();
            var$3 = oall_Level_FATAL;
            $ptr = 6;
        case 6:
            oall_Logger_log(var$1, var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nmc_Minecraft_run($this) {
        var $var15, $var1, $var3, $var17, $var4, $var19, $var6, $var20, var$9, var$10, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var20 = $thread.pop();$var6 = $thread.pop();$var19 = $thread.pop();$var4 = $thread.pop();$var17 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$var15 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$running = 1;
            try {
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var15 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 2;
            continue main;
        case 1:
            a: {
                try {
                    nmc_Minecraft_startGame($this);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var15 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 2;
                continue main;
            }
            b: {
                c: {
                    d: {
                        try {
                            $var1 = jl_System_currentTimeMillis();
                            $var3 = 0;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof nms_MinecraftError) {
                                break d;
                            } else if ($$je instanceof jl_Throwable) {
                                $var17 = $$je;
                                break c;
                            } else{
                                $var17 = $$je;
                                break b;
                            }
                        }
                        e: {
                            try {
                                if ($this.$running)
                                    break e;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof nms_MinecraftError) {
                                    break d;
                                } else if ($$je instanceof jl_Throwable) {
                                    $var17 = $$je;
                                    break c;
                                } else{
                                    $var17 = $$je;
                                    break b;
                                }
                            }
                            $ptr = 6;
                            continue main;
                        }
                        f: {
                            try {
                                nms_AxisAlignedBB_clearBoundingBoxPool();
                                nms_Vec3D_initialize();
                                if (!nle_Display_isCloseRequested())
                                    break f;
                                nmc_Minecraft_shutdown($this);
                                break f;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof nms_MinecraftError) {
                                    break d;
                                } else if ($$je instanceof jl_Throwable) {
                                    $var17 = $$je;
                                    break c;
                                } else{
                                    $var17 = $$je;
                                    break b;
                                }
                            }
                        }
                        g: {
                            try {
                                h: {
                                    try {
                                        i: {
                                            try {
                                                if (!$this.$isWorldLoaded)
                                                    break i;
                                                if ($this.$theWorld === null)
                                                    break i;
                                                else
                                                    break h;
                                            } catch ($$e) {
                                                $$je = $rt_wrapException($$e);
                                                if ($$je instanceof nms_MinecraftError) {
                                                    break d;
                                                } else {
                                                    throw $$e;
                                                }
                                            }
                                        }
                                        try {
                                            nms_Timer_updateTimer($this.$timer);
                                            break g;
                                        } catch ($$e) {
                                            $$je = $rt_wrapException($$e);
                                            if ($$je instanceof nms_MinecraftError) {
                                                break d;
                                            } else {
                                                throw $$e;
                                            }
                                        }
                                    } catch ($$e) {
                                        $$je = $rt_wrapException($$e);
                                        if ($$je instanceof jl_Throwable) {
                                            $var17 = $$je;
                                            break c;
                                        } else {
                                            throw $$e;
                                        }
                                    }
                                }
                                try {
                                    $var17 = $this.$timer;
                                    $var4 = $var17.$renderPartialTicks;
                                    nms_Timer_updateTimer($var17);
                                    $this.$timer.$renderPartialTicks = $var4;
                                    break g;
                                } catch ($$e) {
                                    $$je = $rt_wrapException($$e);
                                    if ($$je instanceof nms_MinecraftError) {
                                        break d;
                                    } else if ($$je instanceof jl_Throwable) {
                                        $var17 = $$je;
                                        break c;
                                    } else {
                                        throw $$e;
                                    }
                                }
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                $var17 = $$je;
                                break b;

                            }
                        }
                        try {
                            $var19 = jl_System_nanoTime();
                            $var6 = 0;
                            if ($var6 < $this.$timer.$elapsedTicks) {
                                $this.$ticksRan = $this.$ticksRan + 1 | 0;
                                try {
                                    $ptr = 10;
                                    continue main;
                                } catch ($$e) {
                                    $$je = $rt_wrapException($$e);
                                    if ($$je instanceof nms_MinecraftException) {
                                    } else {
                                        throw $$e;
                                    }
                                }
                                $this.$theWorld = null;
                                $var17 = null;
                                $ptr = 12;
                                continue main;
                            }
                            $var20 = Long_sub(jl_System_nanoTime(), $var19);
                            $var17 = $rt_s(260);
                            $ptr = 7;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof nms_MinecraftError) {
                            } else if ($$je instanceof jl_Throwable) {
                                $var17 = $$je;
                                break c;
                            } else{
                                $var17 = $$je;
                                break b;
                            }
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 2:
            jl_Throwable_printStackTrace($var15);
            if ($rt_suspending()) {
                break main;
            }
            $var17 = new jl_RuntimeException;
            jl_Throwable__init_4($var17, $rt_s(261), $var15);
            $rt_throw($var17);
        case 3:
            nmc_Minecraft_shutdownMinecraftApplet($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            try {
                jl_Throwable_printStackTrace($var17);
                if ($rt_suspending()) {
                    break main;
                }
                $rt_throw(jl_RuntimeException__init_2($rt_s(262), $var17));
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $var17 = $$je;

            }
            $ptr = 5;
        case 5:
            nmc_Minecraft_shutdownMinecraftApplet($this);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw($var17);
        case 6:
            nmc_Minecraft_shutdownMinecraftApplet($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            a: {
                j: {
                    try {
                        nmc_Minecraft_checkGLError($this, $var17);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $var17 = $this.$sndManager;
                        $var15 = $this.$thePlayer;
                        $var4 = $this.$timer.$renderPartialTicks;
                        $ptr = 8;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 8:
            a: {
                j: {
                    try {
                        nms_SoundManager_func_338_a($var17, $var15, $var4);
                        if ($rt_suspending()) {
                            break main;
                        }
                        var$9 = 3553;
                        $ptr = 9;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 9:
            a: {
                j: {
                    try {
                        olo_GL11_glEnable(var$9);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $var17 = $this.$theWorld;
                        if ($var17 !== null && !$var17.$multiplayerWorld) {
                            $ptr = 11;
                            continue main;
                        }
                        $var17 = $this.$theWorld;
                        if ($var17 !== null && $var17.$multiplayerWorld) {
                            $ptr = 15;
                            continue main;
                        }
                        if ($this.$gameSettings.$limitFramerate) {
                            $var19 = Long_fromInt(5);
                            $ptr = 14;
                            continue main;
                        }
                        if (!nle_Keyboard_isKeyDown(65)) {
                            $ptr = 16;
                            continue main;
                        }
                        if ($this.$field_6307_v) {
                            if ($this.$gameSettings.$showDebugInfo) {
                                $ptr = 17;
                                continue main;
                            }
                            $this.$prevFrameTime = jl_System_nanoTime();
                            $var17 = $this.$field_25002_t;
                            $ptr = 19;
                            continue main;
                        }
                        $var17 = $this.$playerController;
                        if ($var17 !== null)
                            $var17.$setPartialTime($this.$timer.$renderPartialTicks);
                        $var17 = $this.$entityRenderer;
                        $var4 = $this.$timer.$renderPartialTicks;
                        $ptr = 18;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 10:
            a: {
                j: {
                    try {
                        c: {
                            try {
                                nmc_Minecraft_runTick($this);
                                if ($rt_suspending()) {
                                    break main;
                                }
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof nms_MinecraftException) {
                                    break c;
                                } else {
                                    throw $$e;
                                }
                            }
                            $var6 = $var6 + 1 | 0;
                            if ($var6 >= $this.$timer.$elapsedTicks) {
                                $var20 = Long_sub(jl_System_nanoTime(), $var19);
                                $var17 = $rt_s(260);
                                $ptr = 7;
                                continue main;
                            }
                            $this.$ticksRan = $this.$ticksRan + 1 | 0;
                            try {
                                continue main;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof nms_MinecraftException) {
                                } else {
                                    throw $$e;
                                }
                            }
                        }
                        $this.$theWorld = null;
                        $var17 = null;
                        $ptr = 12;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 11:
            a: {
                j: {
                    try {
                        nms_World_updateLighting($var17);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $var17 = $this.$theWorld;
                        if ($var17 !== null && $var17.$multiplayerWorld) {
                            $ptr = 15;
                            continue main;
                        }
                        if ($this.$gameSettings.$limitFramerate) {
                            $var19 = Long_fromInt(5);
                            $ptr = 14;
                            continue main;
                        }
                        if (!nle_Keyboard_isKeyDown(65)) {
                            $ptr = 16;
                            continue main;
                        }
                        if ($this.$field_6307_v) {
                            if ($this.$gameSettings.$showDebugInfo) {
                                $ptr = 17;
                                continue main;
                            }
                            $this.$prevFrameTime = jl_System_nanoTime();
                            $var17 = $this.$field_25002_t;
                            $ptr = 19;
                            continue main;
                        }
                        $var17 = $this.$playerController;
                        if ($var17 !== null)
                            $var17.$setPartialTime($this.$timer.$renderPartialTicks);
                        $var17 = $this.$entityRenderer;
                        $var4 = $this.$timer.$renderPartialTicks;
                        $ptr = 18;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 12:
            a: {
                j: {
                    try {
                        nmc_Minecraft_changeWorld1($this, $var17);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $var17 = nms_GuiConflictWarning__init_0();
                        $ptr = 13;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 13:
            a: {
                j: {
                    try {
                        nmc_Minecraft_displayGuiScreen($this, $var17);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $var6 = $var6 + 1 | 0;
                        if ($var6 < $this.$timer.$elapsedTicks) {
                            $this.$ticksRan = $this.$ticksRan + 1 | 0;
                            try {
                                $ptr = 10;
                                continue main;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof nms_MinecraftException) {
                                } else {
                                    throw $$e;
                                }
                            }
                            $this.$theWorld = null;
                            $var17 = null;
                            $ptr = 12;
                            continue main;
                        }
                        $var20 = Long_sub(jl_System_nanoTime(), $var19);
                        $var17 = $rt_s(260);
                        $ptr = 7;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 14:
            a: {
                j: {
                    try {
                        jl_Thread_sleep($var19);
                        if ($rt_suspending()) {
                            break main;
                        }
                        if (!nle_Keyboard_isKeyDown(65)) {
                            $ptr = 16;
                            continue main;
                        }
                        if ($this.$field_6307_v) {
                            if ($this.$gameSettings.$showDebugInfo) {
                                $ptr = 17;
                                continue main;
                            }
                            $this.$prevFrameTime = jl_System_nanoTime();
                            $var17 = $this.$field_25002_t;
                            $ptr = 19;
                            continue main;
                        }
                        $var17 = $this.$playerController;
                        if ($var17 !== null)
                            $var17.$setPartialTime($this.$timer.$renderPartialTicks);
                        $var17 = $this.$entityRenderer;
                        $var4 = $this.$timer.$renderPartialTicks;
                        $ptr = 18;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 15:
            a: {
                j: {
                    try {
                        nms_World_updateLighting($var17);
                        if ($rt_suspending()) {
                            break main;
                        }
                        if ($this.$gameSettings.$limitFramerate) {
                            $var19 = Long_fromInt(5);
                            $ptr = 14;
                            continue main;
                        }
                        if (!nle_Keyboard_isKeyDown(65)) {
                            $ptr = 16;
                            continue main;
                        }
                        if ($this.$field_6307_v) {
                            if ($this.$gameSettings.$showDebugInfo) {
                                $ptr = 17;
                                continue main;
                            }
                            $this.$prevFrameTime = jl_System_nanoTime();
                            $var17 = $this.$field_25002_t;
                            $ptr = 19;
                            continue main;
                        }
                        $var17 = $this.$playerController;
                        if ($var17 !== null)
                            $var17.$setPartialTime($this.$timer.$renderPartialTicks);
                        $var17 = $this.$entityRenderer;
                        $var4 = $this.$timer.$renderPartialTicks;
                        $ptr = 18;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 16:
            a: {
                j: {
                    try {
                        nmc_Minecraft_updateDisplay($this);
                        if ($rt_suspending()) {
                            break main;
                        }
                        if ($this.$field_6307_v) {
                            if ($this.$gameSettings.$showDebugInfo) {
                                $ptr = 17;
                                continue main;
                            }
                            $this.$prevFrameTime = jl_System_nanoTime();
                            $var17 = $this.$field_25002_t;
                            $ptr = 19;
                            continue main;
                        }
                        $var17 = $this.$playerController;
                        if ($var17 !== null)
                            $var17.$setPartialTime($this.$timer.$renderPartialTicks);
                        $var17 = $this.$entityRenderer;
                        $var4 = $this.$timer.$renderPartialTicks;
                        $ptr = 18;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 17:
            a: {
                j: {
                    try {
                        nmc_Minecraft_displayDebugInfo($this, $var20);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $var17 = $this.$field_25002_t;
                        $ptr = 19;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 18:
            a: {
                j: {
                    try {
                        nms_EntityRenderer_updateCameraAndRender($var17, $var4);
                        if ($rt_suspending()) {
                            break main;
                        }
                        if ($this.$gameSettings.$showDebugInfo) {
                            $ptr = 17;
                            continue main;
                        }
                        $this.$prevFrameTime = jl_System_nanoTime();
                        $var17 = $this.$field_25002_t;
                        $ptr = 19;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 19:
            a: {
                j: {
                    try {
                        nms_GuiAchievement_func_25080_a($var17);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $ptr = 20;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 20:
            a: {
                j: {
                    try {
                        jl_Thread_yield();
                        if ($rt_suspending()) {
                            break main;
                        }
                        if (nle_Keyboard_isKeyDown(65)) {
                            $ptr = 22;
                            continue main;
                        }
                        nmc_Minecraft_screenshotListener($this);
                        $var17 = $rt_s(263);
                        $ptr = 21;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 21:
            a: {
                j: {
                    b: {
                        try {
                            c: {
                                nmc_Minecraft_checkGLError($this, $var17);
                                if ($rt_suspending()) {
                                    break main;
                                }
                                $var3 = $var3 + 1 | 0;
                                if (!nmc_Minecraft_isMultiplayerWorld($this)) {
                                    $var17 = $this.$currentScreen;
                                    if ($var17 !== null && $var17.$doesGuiPauseGame()) {
                                        var$9 = 1;
                                        break c;
                                    }
                                }
                                var$9 = 0;
                            }
                            $this.$isWorldLoaded = var$9;
                            $var20 = jl_System_currentTimeMillis();
                            $var19 = Long_add($var1, Long_fromInt(1000));
                            if (Long_ge($var20, $var19)) {
                                $ptr = 23;
                                continue main;
                            }
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof nms_MinecraftError) {
                                break b;
                            } else if ($$je instanceof jl_Throwable) {
                                $var17 = $$je;
                                break j;
                            } else{
                                $var17 = $$je;
                                break a;
                            }
                        }
                        g: {
                            try {
                                if ($this.$running)
                                    break g;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof nms_MinecraftError) {
                                    break b;
                                } else if ($$je instanceof jl_Throwable) {
                                    $var17 = $$je;
                                    break j;
                                } else{
                                    $var17 = $$je;
                                    break a;
                                }
                            }
                            $ptr = 6;
                            continue main;
                        }
                        h: {
                            try {
                                nms_AxisAlignedBB_clearBoundingBoxPool();
                                nms_Vec3D_initialize();
                                if (!nle_Display_isCloseRequested())
                                    break h;
                                nmc_Minecraft_shutdown($this);
                                break h;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof nms_MinecraftError) {
                                    break b;
                                } else if ($$je instanceof jl_Throwable) {
                                    $var17 = $$je;
                                    break j;
                                } else{
                                    $var17 = $$je;
                                    break a;
                                }
                            }
                        }
                        i: {
                            try {
                                k: {
                                    try {
                                        l: {
                                            try {
                                                if (!$this.$isWorldLoaded)
                                                    break l;
                                                if ($this.$theWorld === null)
                                                    break l;
                                                else
                                                    break k;
                                            } catch ($$e) {
                                                $$je = $rt_wrapException($$e);
                                                if ($$je instanceof nms_MinecraftError) {
                                                    break b;
                                                } else {
                                                    throw $$e;
                                                }
                                            }
                                        }
                                        try {
                                            nms_Timer_updateTimer($this.$timer);
                                            break i;
                                        } catch ($$e) {
                                            $$je = $rt_wrapException($$e);
                                            if ($$je instanceof nms_MinecraftError) {
                                                break b;
                                            } else {
                                                throw $$e;
                                            }
                                        }
                                    } catch ($$e) {
                                        $$je = $rt_wrapException($$e);
                                        if ($$je instanceof jl_Throwable) {
                                            $var17 = $$je;
                                            break j;
                                        } else {
                                            throw $$e;
                                        }
                                    }
                                }
                                try {
                                    $var17 = $this.$timer;
                                    $var4 = $var17.$renderPartialTicks;
                                    nms_Timer_updateTimer($var17);
                                    $this.$timer.$renderPartialTicks = $var4;
                                    break i;
                                } catch ($$e) {
                                    $$je = $rt_wrapException($$e);
                                    if ($$je instanceof nms_MinecraftError) {
                                        break b;
                                    } else if ($$je instanceof jl_Throwable) {
                                        $var17 = $$je;
                                        break j;
                                    } else {
                                        throw $$e;
                                    }
                                }
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                $var17 = $$je;
                                break a;

                            }
                        }
                        try {
                            $var19 = jl_System_nanoTime();
                            $var6 = 0;
                            if ($var6 < $this.$timer.$elapsedTicks) {
                                $this.$ticksRan = $this.$ticksRan + 1 | 0;
                                try {
                                    $ptr = 10;
                                    continue main;
                                } catch ($$e) {
                                    $$je = $rt_wrapException($$e);
                                    if ($$je instanceof nms_MinecraftException) {
                                    } else {
                                        throw $$e;
                                    }
                                }
                                $this.$theWorld = null;
                                $var17 = null;
                                $ptr = 12;
                                continue main;
                            }
                            $var20 = Long_sub(jl_System_nanoTime(), $var19);
                            $var17 = $rt_s(260);
                            $ptr = 7;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof nms_MinecraftError) {
                            } else if ($$je instanceof jl_Throwable) {
                                $var17 = $$je;
                                break j;
                            } else{
                                $var17 = $$je;
                                break a;
                            }
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 22:
            a: {
                j: {
                    try {
                        nmc_Minecraft_updateDisplay($this);
                        if ($rt_suspending()) {
                            break main;
                        }
                        nmc_Minecraft_screenshotListener($this);
                        $var17 = $rt_s(263);
                        $ptr = 21;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 23:
            a: {
                j: {
                    try {
                        nms_WorldRenderer_$callClinit();
                        if ($rt_suspending()) {
                            break main;
                        }
                        var$9 = nms_WorldRenderer_chunksUpdated;
                        $var17 = jl_StringBuilder__init_0();
                        $var15 = jl_StringBuilder_append1($var17, $var3);
                        var$10 = $rt_s(264);
                        $ptr = 24;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 24:
            a: {
                j: {
                    try {
                        $tmp = jl_StringBuilder_append($var15, var$10);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $var15 = $tmp;
                        $var15 = jl_StringBuilder_append1($var15, var$9);
                        var$10 = $rt_s(265);
                        $ptr = 25;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 25:
            a: {
                j: {
                    try {
                        jl_StringBuilder_append($var15, var$10);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $ptr = 26;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nms_MinecraftError) {
                        } else if ($$je instanceof jl_Throwable) {
                            $var17 = $$je;
                            break j;
                        } else{
                            $var17 = $$je;
                            break a;
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        case 26:
            a: {
                j: {
                    b: {
                        try {
                            $tmp = jl_StringBuilder_toString($var17);
                            if ($rt_suspending()) {
                                break main;
                            }
                            $var17 = $tmp;
                            $this.$debug = $var17;
                            nms_WorldRenderer_chunksUpdated = 0;
                            $var3 = 0;
                            $var1 = $var19;
                            $var20 = jl_System_currentTimeMillis();
                            $var19 = Long_add($var1, Long_fromInt(1000));
                            if (Long_ge($var20, $var19)) {
                                $ptr = 23;
                                continue main;
                            }
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof nms_MinecraftError) {
                                break b;
                            } else if ($$je instanceof jl_Throwable) {
                                $var17 = $$je;
                                break j;
                            } else{
                                $var17 = $$je;
                                break a;
                            }
                        }
                        d: {
                            try {
                                if ($this.$running)
                                    break d;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof nms_MinecraftError) {
                                    break b;
                                } else if ($$je instanceof jl_Throwable) {
                                    $var17 = $$je;
                                    break j;
                                } else{
                                    $var17 = $$je;
                                    break a;
                                }
                            }
                            $ptr = 6;
                            continue main;
                        }
                        e: {
                            try {
                                nms_AxisAlignedBB_clearBoundingBoxPool();
                                nms_Vec3D_initialize();
                                if (!nle_Display_isCloseRequested())
                                    break e;
                                nmc_Minecraft_shutdown($this);
                                break e;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof nms_MinecraftError) {
                                    break b;
                                } else if ($$je instanceof jl_Throwable) {
                                    $var17 = $$je;
                                    break j;
                                } else{
                                    $var17 = $$je;
                                    break a;
                                }
                            }
                        }
                        f: {
                            try {
                                g: {
                                    try {
                                        h: {
                                            try {
                                                if (!$this.$isWorldLoaded)
                                                    break h;
                                                if ($this.$theWorld === null)
                                                    break h;
                                                else
                                                    break g;
                                            } catch ($$e) {
                                                $$je = $rt_wrapException($$e);
                                                if ($$je instanceof nms_MinecraftError) {
                                                    break b;
                                                } else {
                                                    throw $$e;
                                                }
                                            }
                                        }
                                        try {
                                            nms_Timer_updateTimer($this.$timer);
                                            break f;
                                        } catch ($$e) {
                                            $$je = $rt_wrapException($$e);
                                            if ($$je instanceof nms_MinecraftError) {
                                                break b;
                                            } else {
                                                throw $$e;
                                            }
                                        }
                                    } catch ($$e) {
                                        $$je = $rt_wrapException($$e);
                                        if ($$je instanceof jl_Throwable) {
                                            $var17 = $$je;
                                            break j;
                                        } else {
                                            throw $$e;
                                        }
                                    }
                                }
                                try {
                                    $var17 = $this.$timer;
                                    $var4 = $var17.$renderPartialTicks;
                                    nms_Timer_updateTimer($var17);
                                    $this.$timer.$renderPartialTicks = $var4;
                                    break f;
                                } catch ($$e) {
                                    $$je = $rt_wrapException($$e);
                                    if ($$je instanceof nms_MinecraftError) {
                                        break b;
                                    } else if ($$je instanceof jl_Throwable) {
                                        $var17 = $$je;
                                        break j;
                                    } else {
                                        throw $$e;
                                    }
                                }
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                $var17 = $$je;
                                break a;

                            }
                        }
                        try {
                            $var19 = jl_System_nanoTime();
                            $var6 = 0;
                            if ($var6 < $this.$timer.$elapsedTicks) {
                                $this.$ticksRan = $this.$ticksRan + 1 | 0;
                                try {
                                    $ptr = 10;
                                    continue main;
                                } catch ($$e) {
                                    $$je = $rt_wrapException($$e);
                                    if ($$je instanceof nms_MinecraftException) {
                                    } else {
                                        throw $$e;
                                    }
                                }
                                $this.$theWorld = null;
                                $var17 = null;
                                $ptr = 12;
                                continue main;
                            }
                            $var20 = Long_sub(jl_System_nanoTime(), $var19);
                            $var17 = $rt_s(260);
                            $ptr = 7;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof nms_MinecraftError) {
                            } else if ($$je instanceof jl_Throwable) {
                                $var17 = $$je;
                                break j;
                            } else{
                                $var17 = $$je;
                                break a;
                            }
                        }
                    }
                    $ptr = 3;
                    continue main;
                }
                try {
                    $this.$theWorld = null;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var17 = $$je;

                }
            }
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var15, $var1, $var3, $var17, $var4, $var19, $var6, $var20, var$9, var$10, $ptr);
    }
    function nmc_Minecraft_screenshotListener($this) {
        if (!nlei_PlatformInput_keyboardIsKeyDown(60))
            $this.$isTakingScreenshot = 0;
        else if (!$this.$isTakingScreenshot)
            $this.$isTakingScreenshot = 1;
    }
    function nmc_Minecraft_displayDebugInfo($this, $var1) {
        var $var3, $var5, var$4, $var8, var$6, $var12, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $var7, $var11, $var9, $var13, $var14, $var16, $var18, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var9 = $thread.pop();$var11 = $thread.pop();$var7 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var12 = $thread.pop();var$6 = $thread.pop();$var8 = $thread.pop();var$4 = $thread.pop();$var5 = $thread.pop();$var3
            = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = Long_fromInt(16666666);
            if (Long_eq($this.$prevFrameTime, Long_fromInt(-1)))
                $this.$prevFrameTime = jl_System_nanoTime();
            $var5 = jl_System_nanoTime();
            var$4 = nmc_Minecraft_tickTimes.data;
            $var8 = nmc_Minecraft_numRecordedFrameTimes;
            var$6 = nmc_Minecraft_frameTimes.data;
            $var12 = $var8 & (var$6.length - 1 | 0);
            var$4[$var12] = $var1;
            nmc_Minecraft_numRecordedFrameTimes = $var8 + 1 | 0;
            var$6[$var12] = Long_sub($var5, $this.$prevFrameTime);
            $this.$prevFrameTime = $var5;
            $var8 = 256;
            $ptr = 1;
        case 1:
            olo_GL11_glClear($var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 5889;
            $ptr = 2;
        case 2:
            olo_GL11_glMatrixMode($var8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = $this.$displayWidth;
            var$10 = $this.$displayHeight;
            var$11 = 0.0;
            var$12 = 1000.0;
            var$13 = 3000.0;
            $ptr = 4;
        case 4:
            olo_GL11_glOrtho(var$8, var$9, var$10, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 5888;
            $ptr = 5;
        case 5:
            olo_GL11_glMatrixMode($var8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$16 = (-2000.0);
            $ptr = 7;
        case 7:
            olo_GL11_glTranslatef(var$14, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 1.0;
            $ptr = 8;
        case 8:
            nleo_EaglercraftGPU_glLineWidth(var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 3553;
            $ptr = 9;
        case 9:
            olo_GL11_glDisable($var8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var7 = nms_Tessellator_instance;
            $var8 = 7;
            $ptr = 11;
        case 11:
            nms_Tessellator_startDrawing($var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 83;
            $var12 = 536870912;
            $ptr = 12;
        case 12:
            nms_Tessellator_setColorOpaque_I($var7, $var12);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = 0.0;
            var$13 = $this.$displayHeight - $var8 | 0;
            var$11 = 0.0;
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertex($var7, var$12, var$13, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 0.0;
            var$12 = $this.$displayHeight;
            var$13 = 0.0;
            $ptr = 14;
        case 14:
            nms_Tessellator_addVertex($var7, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = nmc_Minecraft_frameTimes.data.length;
            var$12 = $this.$displayHeight;
            var$13 = 0.0;
            $ptr = 15;
        case 15:
            nms_Tessellator_addVertex($var7, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = nmc_Minecraft_frameTimes.data.length;
            var$12 = $this.$displayHeight - $var8 | 0;
            var$13 = 0.0;
            $ptr = 16;
        case 16:
            nms_Tessellator_addVertex($var7, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = 538968064;
            $ptr = 17;
        case 17:
            nms_Tessellator_setColorOpaque_I($var7, $var12);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 0.0;
            $var12 = $this.$displayHeight;
            $var11 = 166;
            var$12 = $var12 - $var11 | 0;
            var$13 = 0.0;
            $ptr = 18;
        case 18:
            nms_Tessellator_addVertex($var7, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 0.0;
            var$12 = $this.$displayHeight - $var8 | 0;
            var$13 = 0.0;
            $ptr = 19;
        case 19:
            nms_Tessellator_addVertex($var7, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = nmc_Minecraft_frameTimes.data.length;
            var$12 = $this.$displayHeight - $var8 | 0;
            var$13 = 0.0;
            $ptr = 20;
        case 20:
            nms_Tessellator_addVertex($var7, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = nmc_Minecraft_frameTimes.data.length;
            var$12 = $this.$displayHeight - $var11 | 0;
            var$13 = 0.0;
            $ptr = 21;
        case 21:
            nms_Tessellator_addVertex($var7, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 22;
        case 22:
            nms_Tessellator_draw($var7);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = Long_ZERO;
            $var11 = 0;
            while (true) {
                var$6 = nmc_Minecraft_frameTimes.data;
                $var8 = var$6.length;
                if ($var11 >= $var8)
                    break;
                $var9 = Long_add($var9, var$6[$var11]);
                $var11 = $var11 + 1 | 0;
            }
            $var8 = Long_lo(Long_div(Long_div($var9, Long_fromInt(200000)), Long_fromInt($var8)));
            $var12 = 7;
            $ptr = 23;
        case 23:
            nms_Tessellator_startDrawing($var7, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = 541065216;
            $ptr = 24;
        case 24:
            nms_Tessellator_setColorOpaque_I($var7, $var12);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 0.0;
            var$12 = $this.$displayHeight - $var8 | 0;
            var$13 = 0.0;
            $ptr = 25;
        case 25:
            nms_Tessellator_addVertex($var7, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 0.0;
            var$12 = $this.$displayHeight;
            var$13 = 0.0;
            $ptr = 26;
        case 26:
            nms_Tessellator_addVertex($var7, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = nmc_Minecraft_frameTimes.data.length;
            var$12 = $this.$displayHeight;
            var$13 = 0.0;
            $ptr = 27;
        case 27:
            nms_Tessellator_addVertex($var7, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = nmc_Minecraft_frameTimes.data.length;
            var$12 = $this.$displayHeight - $var8 | 0;
            var$13 = 0.0;
            $ptr = 28;
        case 28:
            nms_Tessellator_addVertex($var7, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 29;
        case 29:
            nms_Tessellator_draw($var7);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 1;
            $ptr = 30;
        case 30:
            nms_Tessellator_startDrawing($var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = 0;
            var$6 = nmc_Minecraft_frameTimes.data;
            $var8 = var$6.length;
            if ($var12 >= $var8) {
                $ptr = 31;
                continue main;
            }
            $var13 = ((($var12 - nmc_Minecraft_numRecordedFrameTimes | 0) & ($var8 - 1 | 0)) * 255 | 0) / $var8 | 0;
            $var14 = $rt_imul($var13, $var13) / 255 | 0;
            $var8 = $rt_imul($var14, $var14) / 255 | 0;
            if (Long_le(var$6[$var12], $var3)) {
                $var11 = (-16777216) + ($var8 * 256 | 0) | 0;
                $ptr = 33;
                continue main;
            }
            $var11 = (-16777216) + ($var8 * 65536 | 0) | 0;
            $ptr = 34;
            continue main;
        case 31:
            nms_Tessellator_draw($var7);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 3553;
            $ptr = 32;
        case 32:
            olo_GL11_glEnable($var8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 33:
            nms_Tessellator_setColorOpaque_I($var7, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = Long_div(nmc_Minecraft_frameTimes.data[$var12], Long_fromInt(200000));
            $var18 = Long_div(nmc_Minecraft_tickTimes.data[$var12], Long_fromInt(200000));
            var$13 = $var12 + 0.5;
            var$11 = Long_toNumber(Long_sub(Long_fromInt($this.$displayHeight), $var16)) + 0.5;
            var$12 = 0.0;
            $ptr = 35;
            continue main;
        case 34:
            nms_Tessellator_setColorOpaque_I($var7, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = Long_div(nmc_Minecraft_frameTimes.data[$var12], Long_fromInt(200000));
            $var18 = Long_div(nmc_Minecraft_tickTimes.data[$var12], Long_fromInt(200000));
            var$13 = $var12 + 0.5;
            var$11 = Long_toNumber(Long_sub(Long_fromInt($this.$displayHeight), $var16)) + 0.5;
            var$12 = 0.0;
            $ptr = 35;
        case 35:
            nms_Tessellator_addVertex($var7, var$13, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $this.$displayHeight + 0.5;
            var$12 = 0.0;
            $ptr = 36;
        case 36:
            nms_Tessellator_addVertex($var7, var$13, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = (((-16777216) + ($var8 * 65536 | 0) | 0) + ($var8 * 256 | 0) | 0) + $var8 | 0;
            $ptr = 37;
        case 37:
            nms_Tessellator_setColorOpaque_I($var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = Long_toNumber(Long_sub(Long_fromInt($this.$displayHeight), $var16)) + 0.5;
            var$12 = 0.0;
            $ptr = 38;
        case 38:
            nms_Tessellator_addVertex($var7, var$13, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = Long_toNumber(Long_sub(Long_fromInt($this.$displayHeight), Long_sub($var16, $var18))) + 0.5;
            var$12 = 0.0;
            $ptr = 39;
        case 39:
            nms_Tessellator_addVertex($var7, var$13, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $var12 + 1 | 0;
            var$6 = nmc_Minecraft_frameTimes.data;
            $var8 = var$6.length;
            if ($var12 >= $var8) {
                $ptr = 31;
                continue main;
            }
            $var13 = ((($var12 - nmc_Minecraft_numRecordedFrameTimes | 0) & ($var8 - 1 | 0)) * 255 | 0) / $var8 | 0;
            $var14 = $rt_imul($var13, $var13) / 255 | 0;
            $var8 = $rt_imul($var14, $var14) / 255 | 0;
            if (Long_le(var$6[$var12], $var3)) {
                $var11 = (-16777216) + ($var8 * 256 | 0) | 0;
                $ptr = 33;
                continue main;
            }
            $var11 = (-16777216) + ($var8 * 65536 | 0) | 0;
            $ptr = 34;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, var$4, $var8, var$6, $var12, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $var7, $var11, $var9, $var13, $var14, $var16, $var18, $ptr);
    }
    function nmc_Minecraft_shutdown($this) {
        $this.$running = 0;
    }
    function nmc_Minecraft_setIngameFocus($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (nle_Display_isActive() && !$this.$inGameHasFocus) {
                $this.$inGameHasFocus = 1;
                var$1 = $this.$mouseHelper;
                var$2 = 1;
                $ptr = 1;
                continue main;
            }
            return;
        case 1:
            nlei_PlatformInput_mouseSetGrabbed(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$deltaX = 0;
            var$1.$deltaY = 0;
            var$1 = null;
            $ptr = 2;
        case 2:
            nmc_Minecraft_displayGuiScreen($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_6302_aa = $this.$ticksRan + 10000 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nmc_Minecraft_displayInGameMenu($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$currentScreen !== null)
                return;
            var$1 = nms_GuiIngameMenu__init_0();
            $ptr = 1;
        case 1:
            nmc_Minecraft_displayGuiScreen($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nmc_Minecraft_func_6254_a($this, $var1, $var2) {
        var var$3, var$4, var$5, $var3, $var4, $var5, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$playerController;
            if (!var$3.$field_1064_b && !(!$var1 && $this.$leftClickCounter > 0)) {
                if ($var2) {
                    var$4 = $this.$objectMouseOver;
                    if (var$4 !== null) {
                        var$5 = var$4.$typeOfHit;
                        nms_EnumMovingObjectType_$callClinit();
                        if (var$5 === nms_EnumMovingObjectType_TILE && !$var1) {
                            $var3 = var$4.$blockX;
                            $var4 = var$4.$blockY;
                            $var5 = var$4.$blockZ;
                            $var1 = var$4.$sideHit;
                            $ptr = 1;
                            continue main;
                        }
                    }
                }
                var$3.$func_6468_a();
            }
            return;
        case 1:
            var$3.$sendBlockRemoving($var3, $var4, $var5, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$effectRenderer;
            $var2 = $this.$objectMouseOver.$sideHit;
            var$9 = var$3.$worldObj;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId(var$9, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!$var1)
                return;
            $ptr = 3;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_Block_blocksList.data[$var1];
            var$10 = $var3;
            var$11 = ju_Random_nextDouble(var$3.$rand);
            var$12 = var$4.$maxX;
            var$13 = var$4.$minX;
            var$14 = var$10 + var$11 * (var$12 - var$13 - 0.20000000298023224) + 0.10000000149011612 + var$13;
            var$12 = $var4;
            var$11 = ju_Random_nextDouble(var$3.$rand);
            var$13 = var$4.$maxY;
            var$15 = var$4.$minY;
            var$11 = var$12 + var$11 * (var$13 - var$15 - 0.20000000298023224) + 0.10000000149011612 + var$15;
            var$13 = $var5;
            var$15 = ju_Random_nextDouble(var$3.$rand);
            var$16 = var$4.$maxZ;
            var$17 = var$4.$minZ;
            var$15 = var$13 + var$15 * (var$16 - var$17 - 0.20000000298023224) + 0.10000000149011612 + var$17;
            if (!$var2)
                var$11 = var$12 + var$4.$minY - 0.10000000149011612;
            if ($var2 == 1)
                var$11 = var$12 + var$4.$maxY + 0.10000000149011612;
            if ($var2 == 2)
                var$15 = var$13 + var$17 - 0.10000000149011612;
            if ($var2 == 3)
                var$15 = var$13 + var$16 + 0.10000000149011612;
            if ($var2 == 4)
                var$14 = var$10 + var$4.$minX - 0.10000000149011612;
            if ($var2 == 5)
                var$14 = var$10 + var$4.$maxX + 0.10000000149011612;
            var$9 = new nms_EntityDiggingFX;
            var$5 = var$3.$worldObj;
            var$12 = 0.0;
            var$13 = 0.0;
            var$18 = 0.0;
            $ptr = 4;
        case 4:
            nms_EntityDiggingFX__init_(var$9, var$5, var$14, var$11, var$15, var$12, var$13, var$18, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = nms_EntityDiggingFX_func_4041_a(var$9, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            var$9.$motionX = var$9.$motionX * 0.20000000298023224;
            var$9.$motionY = (var$9.$motionY - 0.10000000149011612) * 0.20000000298023224 + 0.10000000149011612;
            var$9.$motionZ = var$9.$motionZ * 0.20000000298023224;
            nms_Entity_setSize(var$9, 0.12000000476837158, 0.12000000476837158);
            var$9.$particleScale = var$9.$particleScale * 0.6000000238418579;
            nms_EffectRenderer_addEffect(var$3, var$9);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, $var3, $var4, $var5, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, $ptr);
    }
    function nmc_Minecraft_clickMouse($this, $var1) {
        var $var10, $var2, $var8, var$5, $var3, $var4, $var5, $var6, $var7, var$11, $var9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();var$11 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();var$5 = $thread.pop();$var8 = $thread.pop();$var2 = $thread.pop();$var10 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!(!$var1 && $this.$leftClickCounter > 0)) {
                if (!$var1) {
                    $var10 = $this.$thePlayer;
                    $ptr = 1;
                    continue main;
                }
                a: {
                    $var2 = 1;
                    $var8 = $this.$objectMouseOver;
                    if ($var8 !== null) {
                        var$5 = $var8.$typeOfHit;
                        nms_EnumMovingObjectType_$callClinit();
                        if (var$5 !== nms_EnumMovingObjectType_ENTITY) {
                            if (var$5 !== nms_EnumMovingObjectType_TILE)
                                break a;
                            $var3 = $var8.$blockX;
                            $var4 = $var8.$blockY;
                            $var5 = $var8.$blockZ;
                            $var6 = $var8.$sideHit;
                            $ptr = 2;
                            continue main;
                        }
                        if (!$var1) {
                            $var10 = $this.$playerController;
                            var$5 = $this.$thePlayer;
                            $var8 = $var8.$entityHit;
                            $ptr = 4;
                            continue main;
                        }
                        if ($var1 == 1) {
                            $var10 = $this.$playerController;
                            var$5 = $this.$thePlayer;
                            $var8 = $this.$objectMouseOver.$entityHit;
                            $ptr = 6;
                            continue main;
                        }
                    } else if (!$var1 && !($this.$playerController instanceof nms_PlayerControllerTest))
                        $this.$leftClickCounter = 10;
                }
                if ($var2 && $var1 == 1) {
                    $var10 = nms_InventoryPlayer_getCurrentItem($this.$thePlayer.$inventory);
                    if ($var10 !== null) {
                        var$5 = $this.$playerController;
                        $var8 = $this.$thePlayer;
                        $var7 = $this.$theWorld;
                        $ptr = 9;
                        continue main;
                    }
                }
            }
            return;
        case 1:
            $var10.$swingItem();
            if ($rt_suspending()) {
                break main;
            }
            b: {
                $var2 = 1;
                $var8 = $this.$objectMouseOver;
                if ($var8 !== null) {
                    var$5 = $var8.$typeOfHit;
                    nms_EnumMovingObjectType_$callClinit();
                    if (var$5 !== nms_EnumMovingObjectType_ENTITY) {
                        if (var$5 !== nms_EnumMovingObjectType_TILE)
                            break b;
                        $var3 = $var8.$blockX;
                        $var4 = $var8.$blockY;
                        $var5 = $var8.$blockZ;
                        $var6 = $var8.$sideHit;
                        $ptr = 2;
                        continue main;
                    }
                    if (!$var1) {
                        $var10 = $this.$playerController;
                        var$5 = $this.$thePlayer;
                        $var8 = $var8.$entityHit;
                        $ptr = 4;
                        continue main;
                    }
                    if ($var1 == 1) {
                        $var10 = $this.$playerController;
                        var$5 = $this.$thePlayer;
                        $var8 = $this.$objectMouseOver.$entityHit;
                        $ptr = 6;
                        continue main;
                    }
                } else if (!$var1 && !($this.$playerController instanceof nms_PlayerControllerTest))
                    $this.$leftClickCounter = 10;
            }
            if ($var2 && $var1 == 1) {
                $var10 = nms_InventoryPlayer_getCurrentItem($this.$thePlayer.$inventory);
                if ($var10 !== null) {
                    var$5 = $this.$playerController;
                    $var8 = $this.$thePlayer;
                    $var7 = $this.$theWorld;
                    $ptr = 9;
                    continue main;
                }
            }
            return;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$11 = nms_Block_blocksList.data;
            $var10 = $this.$theWorld;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId($var10, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $var7 = var$11[$var9];
            if (!$var1) {
                $var10 = $this.$theWorld;
                $var6 = $this.$objectMouseOver.$sideHit;
                $ptr = 5;
                continue main;
            }
            $var8 = nms_InventoryPlayer_getCurrentItem($this.$thePlayer.$inventory);
            $var9 = $var8 === null ? 0 : $var8.$stackSize;
            $var7 = $this.$playerController;
            $var10 = $this.$thePlayer;
            var$5 = $this.$theWorld;
            $ptr = 8;
            continue main;
        case 4:
            $var10.$func_6472_b(var$5, $var8);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1 == 1) {
                $var10 = $this.$playerController;
                var$5 = $this.$thePlayer;
                $var8 = $this.$objectMouseOver.$entityHit;
                $ptr = 6;
                continue main;
            }
            if ($var2 && $var1 == 1) {
                $var10 = nms_InventoryPlayer_getCurrentItem($this.$thePlayer.$inventory);
                if ($var10 !== null) {
                    var$5 = $this.$playerController;
                    $var8 = $this.$thePlayer;
                    $var7 = $this.$theWorld;
                    $ptr = 9;
                    continue main;
                }
            }
            return;
        case 5:
            nms_World_onBlockHit($var10, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            if ($var7 === nms_Block_bedrock && $this.$thePlayer.$field_9371_f < 100) {
                if ($var2 && $var1 == 1) {
                    $var10 = nms_InventoryPlayer_getCurrentItem($this.$thePlayer.$inventory);
                    if ($var10 !== null) {
                        var$5 = $this.$playerController;
                        $var8 = $this.$thePlayer;
                        $var7 = $this.$theWorld;
                        $ptr = 9;
                        continue main;
                    }
                }
                return;
            }
            $var10 = $this.$playerController;
            $var6 = $this.$objectMouseOver.$sideHit;
            $ptr = 7;
            continue main;
        case 6:
            $var10.$func_6475_a(var$5, $var8);
            if ($rt_suspending()) {
                break main;
            }
            if ($var2 && $var1 == 1) {
                $var10 = nms_InventoryPlayer_getCurrentItem($this.$thePlayer.$inventory);
                if ($var10 !== null) {
                    var$5 = $this.$playerController;
                    $var8 = $this.$thePlayer;
                    $var7 = $this.$theWorld;
                    $ptr = 9;
                    continue main;
                }
            }
            return;
        case 7:
            $var10.$clickBlock($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            if ($var2 && $var1 == 1) {
                $var10 = nms_InventoryPlayer_getCurrentItem($this.$thePlayer.$inventory);
                if ($var10 !== null) {
                    var$5 = $this.$playerController;
                    $var8 = $this.$thePlayer;
                    $var7 = $this.$theWorld;
                    $ptr = 9;
                    continue main;
                }
            }
            return;
        case 8:
            $tmp = $var7.$sendPlaceBlock($var10, var$5, $var8, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6) {
                $var2 = 0;
                $var10 = $this.$thePlayer;
                $ptr = 10;
                continue main;
            }
            if ($var8 === null)
                return;
            $var6 = $var8.$stackSize;
            if (!$var6) {
                $var10 = $this.$thePlayer.$inventory;
                $var10.$mainInventory.data[$var10.$currentItem] = null;
            } else if ($var6 != $var9)
                $this.$entityRenderer.$itemRenderer.$equippedProgress = 0.0;
            if ($var2 && $var1 == 1) {
                $var10 = nms_InventoryPlayer_getCurrentItem($this.$thePlayer.$inventory);
                if ($var10 !== null) {
                    var$5 = $this.$playerController;
                    $var8 = $this.$thePlayer;
                    $var7 = $this.$theWorld;
                    $ptr = 9;
                    continue main;
                }
            }
            return;
        case 9:
            $tmp = var$5.$sendUseItem($var8, $var7, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1)
                $this.$entityRenderer.$itemRenderer.$equippedProgress = 0.0;
            return;
        case 10:
            $var10.$swingItem();
            if ($rt_suspending()) {
                break main;
            }
            if ($var8 === null)
                return;
            $var6 = $var8.$stackSize;
            if (!$var6) {
                $var10 = $this.$thePlayer.$inventory;
                $var10.$mainInventory.data[$var10.$currentItem] = null;
            } else if ($var6 != $var9)
                $this.$entityRenderer.$itemRenderer.$equippedProgress = 0.0;
            if ($var2 && $var1 == 1) {
                $var10 = nms_InventoryPlayer_getCurrentItem($this.$thePlayer.$inventory);
                if ($var10 !== null) {
                    var$5 = $this.$playerController;
                    $var8 = $this.$thePlayer;
                    $var7 = $this.$theWorld;
                    $ptr = 9;
                    continue main;
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var10, $var2, $var8, var$5, $var3, $var4, $var5, $var6, $var7, var$11, $var9, $ptr);
    }
    function nmc_Minecraft_clickMiddleMouseButton($this) {
        var var$1, var$2, $var1, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var1 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$objectMouseOver;
            if (var$1 === null)
                return;
            var$2 = $this.$theWorld;
            $var1 = var$1.$blockX;
            var$4 = var$1.$blockY;
            var$5 = var$1.$blockZ;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId(var$2, $var1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var1 == nms_Block_grass.$blockID)
                $var1 = nms_Block_dirt.$blockID;
            if ($var1 == nms_Block_stairDouble.$blockID)
                $var1 = nms_Block_stairSingle.$blockID;
            if ($var1 == nms_Block_bedrock.$blockID)
                $var1 = nms_Block_stone.$blockID;
            var$1 = $this.$thePlayer.$inventory;
            $var1 = nms_InventoryPlayer_getInventorySlotContainItem(var$1, $var1);
            if ($var1 >= 0 && $var1 < 9)
                var$1.$currentItem = $var1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $var1, var$4, var$5, $ptr);
    }
    function nmc_Minecraft_runTick($this) {
        var $var1, var$2, $var3, $var2, $var6, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var6 = $thread.pop();$var2 = $thread.pop();$var3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_GuiIngame_updateTick($this.$ingameGUI);
            $var1 = $this.$entityRenderer;
            var$2 = 1.0;
            $ptr = 1;
        case 1:
            nms_EntityRenderer_getMouseOver($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$thePlayer !== null) {
                $var1 = nms_World_getIChunkProvider($this.$theWorld);
                if ($var1 instanceof nms_ChunkProviderLoadOrGenerate)
                    nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver($var1, nms_MathHelper_floor_float($this.$thePlayer.$posX | 0) >> 4, nms_MathHelper_floor_float($this.$thePlayer.$posZ | 0) >> 4);
            }
            if (!$this.$isWorldLoaded && $this.$theWorld !== null) {
                $var1 = $this.$playerController;
                $ptr = 5;
                continue main;
            }
            $var3 = 3553;
            $var2 = $this.$renderEngine;
            $var1 = $rt_s(266);
            $ptr = 2;
        case 2:
            $tmp = nms_RenderEngine_getTexture($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 3;
        case 3:
            olo_GL11_glBindTexture($var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$isWorldLoaded) {
                $var1 = $this.$renderEngine;
                $ptr = 4;
                continue main;
            }
            a: {
                b: {
                    $var1 = $this.$currentScreen;
                    if ($var1 === null) {
                        $var2 = $this.$thePlayer;
                        if ($var2 !== null)
                            break b;
                    }
                    if ($var1 === null)
                        break a;
                    if (!($var1 instanceof nms_GuiSleepMP))
                        break a;
                    if (nms_EntityPlayer_isPlayerSleeping($this.$thePlayer))
                        break a;
                    $var1 = null;
                    $ptr = 8;
                    continue main;
                }
                if ($var2.$health <= 0) {
                    $var1 = null;
                    $ptr = 6;
                    continue main;
                }
                if (nms_EntityPlayer_isPlayerSleeping($var2)) {
                    $var1 = $this.$theWorld;
                    if ($var1 !== null && $var1.$multiplayerWorld) {
                        $var1 = new nms_GuiSleepMP;
                        $ptr = 10;
                        continue main;
                    }
                }
            }
            $var1 = $this.$currentScreen;
            if ($var1 !== null)
                $this.$field_6302_aa = $this.$ticksRan + 10000 | 0;
            if ($var1 !== null) {
                $ptr = 7;
                continue main;
            }
            $var1 = $this.$currentScreen;
            if ($var1 !== null && !$var1.$field_948_f) {
                c: {
                    $var1 = $this.$theWorld;
                    if ($var1 !== null) {
                        $var2 = $this.$thePlayer;
                        if ($var2 !== null) {
                            $var3 = $this.$field_6300_ab + 1 | 0;
                            $this.$field_6300_ab = $var3;
                            if ($var3 == 30) {
                                $this.$field_6300_ab = 0;
                                $ptr = 13;
                                continue main;
                            }
                        }
                        $var1 = $this.$theWorld;
                        $var1.$difficultySetting = $this.$gameSettings.$difficulty;
                        if ($var1.$multiplayerWorld)
                            $var1.$difficultySetting = 3;
                        if (!$this.$isWorldLoaded) {
                            $var1 = $this.$entityRenderer;
                            $ptr = 14;
                            continue main;
                        }
                        if (!$this.$isWorldLoaded)
                            nms_RenderGlobal_updateClouds($this.$renderGlobal);
                        if (!$this.$isWorldLoaded) {
                            $var1 = $this.$theWorld;
                            $ptr = 21;
                            continue main;
                        }
                        if ($this.$isWorldLoaded && !nmc_Minecraft_isMultiplayerWorld($this)) {
                            if (!$this.$isWorldLoaded) {
                                $var1 = $this.$theWorld;
                                if ($var1 !== null) {
                                    $var3 = nms_MathHelper_floor_double($this.$thePlayer.$posX);
                                    $var6 = nms_MathHelper_floor_double($this.$thePlayer.$posY);
                                    $var4 = nms_MathHelper_floor_double($this.$thePlayer.$posZ);
                                    $ptr = 28;
                                    continue main;
                                }
                            }
                            if ($this.$isWorldLoaded)
                                break c;
                            else {
                                $var1 = $this.$effectRenderer;
                                $ptr = 27;
                                continue main;
                            }
                        }
                        nms_World_setAllowedMobSpawns($this.$theWorld, $this.$gameSettings.$difficulty <= 0 ? 0 : 1, 1);
                        $var1 = $this.$theWorld;
                        $ptr = 26;
                        continue main;
                    }
                }
                $this.$systemTime = jl_System_currentTimeMillis();
                return;
            }
            while (true) {
                if (!nle_Mouse_next()) {
                    $var3 = $this.$leftClickCounter;
                    if ($var3 > 0)
                        $this.$leftClickCounter = $var3 - 1 | 0;
                    while (true) {
                        if (!nle_Keyboard_next()) {
                            if ($this.$currentScreen === null) {
                                if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                    $var3 = 0;
                                    $ptr = 20;
                                    continue main;
                                }
                                if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                    $var3 = 1;
                                    $ptr = 23;
                                    continue main;
                                }
                            }
                            $var3 = 0;
                            $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                            $ptr = 17;
                            continue main;
                        }
                        nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                        if (!nle_Keyboard_getEventKeyState())
                            continue;
                        if (nle_Keyboard_getEventKey() == 87)
                            continue;
                        $var1 = $this.$currentScreen;
                        if ($var1 !== null) {
                            $ptr = 16;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == 1) {
                            $ptr = 19;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61))
                            break;
                        if (nle_Keyboard_getEventKey() == 59) {
                            $var1 = $this.$gameSettings;
                            $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 61) {
                            $var1 = $this.$gameSettings;
                            $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 63) {
                            $var1 = $this.$gameSettings;
                            $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 66) {
                            $var1 = $this.$gameSettings;
                            $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                            $var1 = new nms_GuiInventory;
                            $var2 = $this.$thePlayer;
                            $ptr = 30;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                            $var1 = $this.$thePlayer;
                            $ptr = 32;
                            continue main;
                        }
                        if (nmc_Minecraft_isMultiplayerWorld($this) && nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindChat.$keyCode) {
                            $var1 = new nms_GuiChat;
                            $ptr = 33;
                            continue main;
                        }
                        $var6 = 0;
                        while ($var6 < 9) {
                            if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                                $this.$thePlayer.$inventory.$currentItem = $var6;
                            $var6 = $var6 + 1 | 0;
                        }
                        $var3 = nle_Keyboard_getEventKey();
                        $var1 = $this.$gameSettings;
                        if ($var3 != $var1.$keyBindToggleFog.$keyCode)
                            continue;
                        else {
                            nms_EnumOptions_$callClinit();
                            $var2 = nms_EnumOptions_RENDER_DISTANCE;
                            $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                            $ptr = 29;
                            continue main;
                        }
                    }
                    $ptr = 25;
                    continue main;
                }
                if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $this.$systemTime), Long_fromInt(200)))
                    continue;
                $var3 = nle_Mouse_getEventDWheel();
                if ($var3) {
                    nms_InventoryPlayer_changeCurrentItem($this.$thePlayer.$inventory, $var3);
                    $var1 = $this.$gameSettings;
                    if ($var1.$field_22275_C) {
                        if ($var3 > 0)
                            $var3 = 1;
                        if ($var3 < 0)
                            $var3 = (-1);
                        $var1.$field_22272_F = $var1.$field_22272_F + $var3 * 0.25;
                    }
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    $ptr = 12;
                    continue main;
                }
                if (!$this.$inGameHasFocus && nle_Mouse_getEventButtonState()) {
                    $ptr = 15;
                    continue main;
                }
                if (!nle_Mouse_getEventButton() && nle_Mouse_getEventButtonState()) {
                    $var3 = 0;
                    $ptr = 18;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 1 && nle_Mouse_getEventButtonState()) {
                    $var3 = 1;
                    $ptr = 22;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 2 && nle_Mouse_getEventButtonState())
                    break;
            }
            $ptr = 24;
            continue main;
        case 4:
            nms_RenderEngine_updateTerrainTextures($var1);
            if ($rt_suspending()) {
                break main;
            }
            d: {
                a: {
                    $var1 = $this.$currentScreen;
                    if ($var1 === null) {
                        $var2 = $this.$thePlayer;
                        if ($var2 !== null)
                            break a;
                    }
                    if ($var1 === null)
                        break d;
                    if (!($var1 instanceof nms_GuiSleepMP))
                        break d;
                    if (nms_EntityPlayer_isPlayerSleeping($this.$thePlayer))
                        break d;
                    $var1 = null;
                    $ptr = 8;
                    continue main;
                }
                if ($var2.$health <= 0) {
                    $var1 = null;
                    $ptr = 6;
                    continue main;
                }
                if (nms_EntityPlayer_isPlayerSleeping($var2)) {
                    $var1 = $this.$theWorld;
                    if ($var1 !== null && $var1.$multiplayerWorld) {
                        $var1 = new nms_GuiSleepMP;
                        $ptr = 10;
                        continue main;
                    }
                }
            }
            $var1 = $this.$currentScreen;
            if ($var1 !== null)
                $this.$field_6302_aa = $this.$ticksRan + 10000 | 0;
            if ($var1 !== null) {
                $ptr = 7;
                continue main;
            }
            $var1 = $this.$currentScreen;
            if ($var1 !== null && !$var1.$field_948_f) {
                e: {
                    $var1 = $this.$theWorld;
                    if ($var1 !== null) {
                        $var2 = $this.$thePlayer;
                        if ($var2 !== null) {
                            $var3 = $this.$field_6300_ab + 1 | 0;
                            $this.$field_6300_ab = $var3;
                            if ($var3 == 30) {
                                $this.$field_6300_ab = 0;
                                $ptr = 13;
                                continue main;
                            }
                        }
                        $var1 = $this.$theWorld;
                        $var1.$difficultySetting = $this.$gameSettings.$difficulty;
                        if ($var1.$multiplayerWorld)
                            $var1.$difficultySetting = 3;
                        if (!$this.$isWorldLoaded) {
                            $var1 = $this.$entityRenderer;
                            $ptr = 14;
                            continue main;
                        }
                        if (!$this.$isWorldLoaded)
                            nms_RenderGlobal_updateClouds($this.$renderGlobal);
                        if (!$this.$isWorldLoaded) {
                            $var1 = $this.$theWorld;
                            $ptr = 21;
                            continue main;
                        }
                        if ($this.$isWorldLoaded && !nmc_Minecraft_isMultiplayerWorld($this)) {
                            if (!$this.$isWorldLoaded) {
                                $var1 = $this.$theWorld;
                                if ($var1 !== null) {
                                    $var3 = nms_MathHelper_floor_double($this.$thePlayer.$posX);
                                    $var6 = nms_MathHelper_floor_double($this.$thePlayer.$posY);
                                    $var4 = nms_MathHelper_floor_double($this.$thePlayer.$posZ);
                                    $ptr = 28;
                                    continue main;
                                }
                            }
                            if ($this.$isWorldLoaded)
                                break e;
                            else {
                                $var1 = $this.$effectRenderer;
                                $ptr = 27;
                                continue main;
                            }
                        }
                        nms_World_setAllowedMobSpawns($this.$theWorld, $this.$gameSettings.$difficulty <= 0 ? 0 : 1, 1);
                        $var1 = $this.$theWorld;
                        $ptr = 26;
                        continue main;
                    }
                }
                $this.$systemTime = jl_System_currentTimeMillis();
                return;
            }
            while (true) {
                if (!nle_Mouse_next()) {
                    $var3 = $this.$leftClickCounter;
                    if ($var3 > 0)
                        $this.$leftClickCounter = $var3 - 1 | 0;
                    while (true) {
                        if (!nle_Keyboard_next()) {
                            if ($this.$currentScreen === null) {
                                if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                    $var3 = 0;
                                    $ptr = 20;
                                    continue main;
                                }
                                if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                    $var3 = 1;
                                    $ptr = 23;
                                    continue main;
                                }
                            }
                            $var3 = 0;
                            $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                            $ptr = 17;
                            continue main;
                        }
                        nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                        if (!nle_Keyboard_getEventKeyState())
                            continue;
                        if (nle_Keyboard_getEventKey() == 87)
                            continue;
                        $var1 = $this.$currentScreen;
                        if ($var1 !== null) {
                            $ptr = 16;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == 1) {
                            $ptr = 19;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61))
                            break;
                        if (nle_Keyboard_getEventKey() == 59) {
                            $var1 = $this.$gameSettings;
                            $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 61) {
                            $var1 = $this.$gameSettings;
                            $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 63) {
                            $var1 = $this.$gameSettings;
                            $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 66) {
                            $var1 = $this.$gameSettings;
                            $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                            $var1 = new nms_GuiInventory;
                            $var2 = $this.$thePlayer;
                            $ptr = 30;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                            $var1 = $this.$thePlayer;
                            $ptr = 32;
                            continue main;
                        }
                        if (nmc_Minecraft_isMultiplayerWorld($this) && nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindChat.$keyCode) {
                            $var1 = new nms_GuiChat;
                            $ptr = 33;
                            continue main;
                        }
                        $var6 = 0;
                        while ($var6 < 9) {
                            if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                                $this.$thePlayer.$inventory.$currentItem = $var6;
                            $var6 = $var6 + 1 | 0;
                        }
                        $var3 = nle_Keyboard_getEventKey();
                        $var1 = $this.$gameSettings;
                        if ($var3 != $var1.$keyBindToggleFog.$keyCode)
                            continue;
                        else {
                            nms_EnumOptions_$callClinit();
                            $var2 = nms_EnumOptions_RENDER_DISTANCE;
                            $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                            $ptr = 29;
                            continue main;
                        }
                    }
                    $ptr = 25;
                    continue main;
                }
                if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $this.$systemTime), Long_fromInt(200)))
                    continue;
                $var3 = nle_Mouse_getEventDWheel();
                if ($var3) {
                    nms_InventoryPlayer_changeCurrentItem($this.$thePlayer.$inventory, $var3);
                    $var1 = $this.$gameSettings;
                    if ($var1.$field_22275_C) {
                        if ($var3 > 0)
                            $var3 = 1;
                        if ($var3 < 0)
                            $var3 = (-1);
                        $var1.$field_22272_F = $var1.$field_22272_F + $var3 * 0.25;
                    }
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    $ptr = 12;
                    continue main;
                }
                if (!$this.$inGameHasFocus && nle_Mouse_getEventButtonState()) {
                    $ptr = 15;
                    continue main;
                }
                if (!nle_Mouse_getEventButton() && nle_Mouse_getEventButtonState()) {
                    $var3 = 0;
                    $ptr = 18;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 1 && nle_Mouse_getEventButtonState()) {
                    $var3 = 1;
                    $ptr = 22;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 2 && nle_Mouse_getEventButtonState())
                    break;
            }
            $ptr = 24;
            continue main;
        case 5:
            $var1.$updateController();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 3553;
            $var2 = $this.$renderEngine;
            $var1 = $rt_s(266);
            $ptr = 2;
            continue main;
        case 6:
            nmc_Minecraft_displayGuiScreen($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$currentScreen;
            if ($var1 !== null)
                $this.$field_6302_aa = $this.$ticksRan + 10000 | 0;
            if ($var1 !== null) {
                $ptr = 7;
                continue main;
            }
            $var1 = $this.$currentScreen;
            if ($var1 !== null && !$var1.$field_948_f) {
                f: {
                    $var1 = $this.$theWorld;
                    if ($var1 !== null) {
                        $var2 = $this.$thePlayer;
                        if ($var2 !== null) {
                            $var3 = $this.$field_6300_ab + 1 | 0;
                            $this.$field_6300_ab = $var3;
                            if ($var3 == 30) {
                                $this.$field_6300_ab = 0;
                                $ptr = 13;
                                continue main;
                            }
                        }
                        $var1 = $this.$theWorld;
                        $var1.$difficultySetting = $this.$gameSettings.$difficulty;
                        if ($var1.$multiplayerWorld)
                            $var1.$difficultySetting = 3;
                        if (!$this.$isWorldLoaded) {
                            $var1 = $this.$entityRenderer;
                            $ptr = 14;
                            continue main;
                        }
                        if (!$this.$isWorldLoaded)
                            nms_RenderGlobal_updateClouds($this.$renderGlobal);
                        if (!$this.$isWorldLoaded) {
                            $var1 = $this.$theWorld;
                            $ptr = 21;
                            continue main;
                        }
                        if ($this.$isWorldLoaded && !nmc_Minecraft_isMultiplayerWorld($this)) {
                            if (!$this.$isWorldLoaded) {
                                $var1 = $this.$theWorld;
                                if ($var1 !== null) {
                                    $var3 = nms_MathHelper_floor_double($this.$thePlayer.$posX);
                                    $var6 = nms_MathHelper_floor_double($this.$thePlayer.$posY);
                                    $var4 = nms_MathHelper_floor_double($this.$thePlayer.$posZ);
                                    $ptr = 28;
                                    continue main;
                                }
                            }
                            if ($this.$isWorldLoaded)
                                break f;
                            else {
                                $var1 = $this.$effectRenderer;
                                $ptr = 27;
                                continue main;
                            }
                        }
                        nms_World_setAllowedMobSpawns($this.$theWorld, $this.$gameSettings.$difficulty <= 0 ? 0 : 1, 1);
                        $var1 = $this.$theWorld;
                        $ptr = 26;
                        continue main;
                    }
                }
                $this.$systemTime = jl_System_currentTimeMillis();
                return;
            }
            while (true) {
                if (!nle_Mouse_next()) {
                    $var3 = $this.$leftClickCounter;
                    if ($var3 > 0)
                        $this.$leftClickCounter = $var3 - 1 | 0;
                    while (true) {
                        if (!nle_Keyboard_next()) {
                            if ($this.$currentScreen === null) {
                                if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                    $var3 = 0;
                                    $ptr = 20;
                                    continue main;
                                }
                                if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                    $var3 = 1;
                                    $ptr = 23;
                                    continue main;
                                }
                            }
                            $var3 = 0;
                            $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                            $ptr = 17;
                            continue main;
                        }
                        nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                        if (!nle_Keyboard_getEventKeyState())
                            continue;
                        if (nle_Keyboard_getEventKey() == 87)
                            continue;
                        $var1 = $this.$currentScreen;
                        if ($var1 !== null) {
                            $ptr = 16;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == 1) {
                            $ptr = 19;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61))
                            break;
                        if (nle_Keyboard_getEventKey() == 59) {
                            $var1 = $this.$gameSettings;
                            $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 61) {
                            $var1 = $this.$gameSettings;
                            $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 63) {
                            $var1 = $this.$gameSettings;
                            $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 66) {
                            $var1 = $this.$gameSettings;
                            $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                            $var1 = new nms_GuiInventory;
                            $var2 = $this.$thePlayer;
                            $ptr = 30;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                            $var1 = $this.$thePlayer;
                            $ptr = 32;
                            continue main;
                        }
                        if (nmc_Minecraft_isMultiplayerWorld($this) && nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindChat.$keyCode) {
                            $var1 = new nms_GuiChat;
                            $ptr = 33;
                            continue main;
                        }
                        $var6 = 0;
                        while ($var6 < 9) {
                            if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                                $this.$thePlayer.$inventory.$currentItem = $var6;
                            $var6 = $var6 + 1 | 0;
                        }
                        $var3 = nle_Keyboard_getEventKey();
                        $var1 = $this.$gameSettings;
                        if ($var3 != $var1.$keyBindToggleFog.$keyCode)
                            continue;
                        else {
                            nms_EnumOptions_$callClinit();
                            $var2 = nms_EnumOptions_RENDER_DISTANCE;
                            $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                            $ptr = 29;
                            continue main;
                        }
                    }
                    $ptr = 25;
                    continue main;
                }
                if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $this.$systemTime), Long_fromInt(200)))
                    continue;
                $var3 = nle_Mouse_getEventDWheel();
                if ($var3) {
                    nms_InventoryPlayer_changeCurrentItem($this.$thePlayer.$inventory, $var3);
                    $var1 = $this.$gameSettings;
                    if ($var1.$field_22275_C) {
                        if ($var3 > 0)
                            $var3 = 1;
                        if ($var3 < 0)
                            $var3 = (-1);
                        $var1.$field_22272_F = $var1.$field_22272_F + $var3 * 0.25;
                    }
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    $ptr = 12;
                    continue main;
                }
                if (!$this.$inGameHasFocus && nle_Mouse_getEventButtonState()) {
                    $ptr = 15;
                    continue main;
                }
                if (!nle_Mouse_getEventButton() && nle_Mouse_getEventButtonState()) {
                    $var3 = 0;
                    $ptr = 18;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 1 && nle_Mouse_getEventButtonState()) {
                    $var3 = 1;
                    $ptr = 22;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 2 && nle_Mouse_getEventButtonState())
                    break;
            }
            $ptr = 24;
            continue main;
        case 7:
            nms_GuiScreen_handleInput($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$currentScreen;
            if ($var1 !== null) {
                nms_XGuiUmmm_func_25088_a($var1.$field_25091_h);
                $var1 = $this.$currentScreen;
                $ptr = 9;
                continue main;
            }
            $var1 = $this.$currentScreen;
            if ($var1 !== null && !$var1.$field_948_f) {
                g: {
                    $var1 = $this.$theWorld;
                    if ($var1 !== null) {
                        $var2 = $this.$thePlayer;
                        if ($var2 !== null) {
                            $var3 = $this.$field_6300_ab + 1 | 0;
                            $this.$field_6300_ab = $var3;
                            if ($var3 == 30) {
                                $this.$field_6300_ab = 0;
                                $ptr = 13;
                                continue main;
                            }
                        }
                        $var1 = $this.$theWorld;
                        $var1.$difficultySetting = $this.$gameSettings.$difficulty;
                        if ($var1.$multiplayerWorld)
                            $var1.$difficultySetting = 3;
                        if (!$this.$isWorldLoaded) {
                            $var1 = $this.$entityRenderer;
                            $ptr = 14;
                            continue main;
                        }
                        if (!$this.$isWorldLoaded)
                            nms_RenderGlobal_updateClouds($this.$renderGlobal);
                        if (!$this.$isWorldLoaded) {
                            $var1 = $this.$theWorld;
                            $ptr = 21;
                            continue main;
                        }
                        if ($this.$isWorldLoaded && !nmc_Minecraft_isMultiplayerWorld($this)) {
                            if (!$this.$isWorldLoaded) {
                                $var1 = $this.$theWorld;
                                if ($var1 !== null) {
                                    $var3 = nms_MathHelper_floor_double($this.$thePlayer.$posX);
                                    $var6 = nms_MathHelper_floor_double($this.$thePlayer.$posY);
                                    $var4 = nms_MathHelper_floor_double($this.$thePlayer.$posZ);
                                    $ptr = 28;
                                    continue main;
                                }
                            }
                            if ($this.$isWorldLoaded)
                                break g;
                            else {
                                $var1 = $this.$effectRenderer;
                                $ptr = 27;
                                continue main;
                            }
                        }
                        nms_World_setAllowedMobSpawns($this.$theWorld, $this.$gameSettings.$difficulty <= 0 ? 0 : 1, 1);
                        $var1 = $this.$theWorld;
                        $ptr = 26;
                        continue main;
                    }
                }
                $this.$systemTime = jl_System_currentTimeMillis();
                return;
            }
            while (true) {
                if (!nle_Mouse_next()) {
                    $var3 = $this.$leftClickCounter;
                    if ($var3 > 0)
                        $this.$leftClickCounter = $var3 - 1 | 0;
                    while (true) {
                        if (!nle_Keyboard_next()) {
                            if ($this.$currentScreen === null) {
                                if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                    $var3 = 0;
                                    $ptr = 20;
                                    continue main;
                                }
                                if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                    $var3 = 1;
                                    $ptr = 23;
                                    continue main;
                                }
                            }
                            $var3 = 0;
                            $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                            $ptr = 17;
                            continue main;
                        }
                        nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                        if (!nle_Keyboard_getEventKeyState())
                            continue;
                        if (nle_Keyboard_getEventKey() == 87)
                            continue;
                        $var1 = $this.$currentScreen;
                        if ($var1 !== null) {
                            $ptr = 16;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == 1) {
                            $ptr = 19;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61))
                            break;
                        if (nle_Keyboard_getEventKey() == 59) {
                            $var1 = $this.$gameSettings;
                            $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 61) {
                            $var1 = $this.$gameSettings;
                            $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 63) {
                            $var1 = $this.$gameSettings;
                            $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 66) {
                            $var1 = $this.$gameSettings;
                            $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                            $var1 = new nms_GuiInventory;
                            $var2 = $this.$thePlayer;
                            $ptr = 30;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                            $var1 = $this.$thePlayer;
                            $ptr = 32;
                            continue main;
                        }
                        if (nmc_Minecraft_isMultiplayerWorld($this) && nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindChat.$keyCode) {
                            $var1 = new nms_GuiChat;
                            $ptr = 33;
                            continue main;
                        }
                        $var6 = 0;
                        while ($var6 < 9) {
                            if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                                $this.$thePlayer.$inventory.$currentItem = $var6;
                            $var6 = $var6 + 1 | 0;
                        }
                        $var3 = nle_Keyboard_getEventKey();
                        $var1 = $this.$gameSettings;
                        if ($var3 != $var1.$keyBindToggleFog.$keyCode)
                            continue;
                        else {
                            nms_EnumOptions_$callClinit();
                            $var2 = nms_EnumOptions_RENDER_DISTANCE;
                            $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                            $ptr = 29;
                            continue main;
                        }
                    }
                    $ptr = 25;
                    continue main;
                }
                if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $this.$systemTime), Long_fromInt(200)))
                    continue;
                $var3 = nle_Mouse_getEventDWheel();
                if ($var3) {
                    nms_InventoryPlayer_changeCurrentItem($this.$thePlayer.$inventory, $var3);
                    $var1 = $this.$gameSettings;
                    if ($var1.$field_22275_C) {
                        if ($var3 > 0)
                            $var3 = 1;
                        if ($var3 < 0)
                            $var3 = (-1);
                        $var1.$field_22272_F = $var1.$field_22272_F + $var3 * 0.25;
                    }
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    $ptr = 12;
                    continue main;
                }
                if (!$this.$inGameHasFocus && nle_Mouse_getEventButtonState()) {
                    $ptr = 15;
                    continue main;
                }
                if (!nle_Mouse_getEventButton() && nle_Mouse_getEventButtonState()) {
                    $var3 = 0;
                    $ptr = 18;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 1 && nle_Mouse_getEventButtonState()) {
                    $var3 = 1;
                    $ptr = 22;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 2 && nle_Mouse_getEventButtonState())
                    break;
            }
            $ptr = 24;
            continue main;
        case 8:
            nmc_Minecraft_displayGuiScreen($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$currentScreen;
            if ($var1 !== null)
                $this.$field_6302_aa = $this.$ticksRan + 10000 | 0;
            if ($var1 !== null) {
                $ptr = 7;
                continue main;
            }
            $var1 = $this.$currentScreen;
            if ($var1 !== null && !$var1.$field_948_f) {
                f: {
                    $var1 = $this.$theWorld;
                    if ($var1 !== null) {
                        $var2 = $this.$thePlayer;
                        if ($var2 !== null) {
                            $var3 = $this.$field_6300_ab + 1 | 0;
                            $this.$field_6300_ab = $var3;
                            if ($var3 == 30) {
                                $this.$field_6300_ab = 0;
                                $ptr = 13;
                                continue main;
                            }
                        }
                        $var1 = $this.$theWorld;
                        $var1.$difficultySetting = $this.$gameSettings.$difficulty;
                        if ($var1.$multiplayerWorld)
                            $var1.$difficultySetting = 3;
                        if (!$this.$isWorldLoaded) {
                            $var1 = $this.$entityRenderer;
                            $ptr = 14;
                            continue main;
                        }
                        if (!$this.$isWorldLoaded)
                            nms_RenderGlobal_updateClouds($this.$renderGlobal);
                        if (!$this.$isWorldLoaded) {
                            $var1 = $this.$theWorld;
                            $ptr = 21;
                            continue main;
                        }
                        if ($this.$isWorldLoaded && !nmc_Minecraft_isMultiplayerWorld($this)) {
                            if (!$this.$isWorldLoaded) {
                                $var1 = $this.$theWorld;
                                if ($var1 !== null) {
                                    $var3 = nms_MathHelper_floor_double($this.$thePlayer.$posX);
                                    $var6 = nms_MathHelper_floor_double($this.$thePlayer.$posY);
                                    $var4 = nms_MathHelper_floor_double($this.$thePlayer.$posZ);
                                    $ptr = 28;
                                    continue main;
                                }
                            }
                            if ($this.$isWorldLoaded)
                                break f;
                            else {
                                $var1 = $this.$effectRenderer;
                                $ptr = 27;
                                continue main;
                            }
                        }
                        nms_World_setAllowedMobSpawns($this.$theWorld, $this.$gameSettings.$difficulty <= 0 ? 0 : 1, 1);
                        $var1 = $this.$theWorld;
                        $ptr = 26;
                        continue main;
                    }
                }
                $this.$systemTime = jl_System_currentTimeMillis();
                return;
            }
            while (true) {
                if (!nle_Mouse_next()) {
                    $var3 = $this.$leftClickCounter;
                    if ($var3 > 0)
                        $this.$leftClickCounter = $var3 - 1 | 0;
                    while (true) {
                        if (!nle_Keyboard_next()) {
                            if ($this.$currentScreen === null) {
                                if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                    $var3 = 0;
                                    $ptr = 20;
                                    continue main;
                                }
                                if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                    $var3 = 1;
                                    $ptr = 23;
                                    continue main;
                                }
                            }
                            $var3 = 0;
                            $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                            $ptr = 17;
                            continue main;
                        }
                        nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                        if (!nle_Keyboard_getEventKeyState())
                            continue;
                        if (nle_Keyboard_getEventKey() == 87)
                            continue;
                        $var1 = $this.$currentScreen;
                        if ($var1 !== null) {
                            $ptr = 16;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == 1) {
                            $ptr = 19;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61))
                            break;
                        if (nle_Keyboard_getEventKey() == 59) {
                            $var1 = $this.$gameSettings;
                            $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 61) {
                            $var1 = $this.$gameSettings;
                            $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 63) {
                            $var1 = $this.$gameSettings;
                            $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 66) {
                            $var1 = $this.$gameSettings;
                            $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                            $var1 = new nms_GuiInventory;
                            $var2 = $this.$thePlayer;
                            $ptr = 30;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                            $var1 = $this.$thePlayer;
                            $ptr = 32;
                            continue main;
                        }
                        if (nmc_Minecraft_isMultiplayerWorld($this) && nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindChat.$keyCode) {
                            $var1 = new nms_GuiChat;
                            $ptr = 33;
                            continue main;
                        }
                        $var6 = 0;
                        while ($var6 < 9) {
                            if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                                $this.$thePlayer.$inventory.$currentItem = $var6;
                            $var6 = $var6 + 1 | 0;
                        }
                        $var3 = nle_Keyboard_getEventKey();
                        $var1 = $this.$gameSettings;
                        if ($var3 != $var1.$keyBindToggleFog.$keyCode)
                            continue;
                        else {
                            nms_EnumOptions_$callClinit();
                            $var2 = nms_EnumOptions_RENDER_DISTANCE;
                            $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                            $ptr = 29;
                            continue main;
                        }
                    }
                    $ptr = 25;
                    continue main;
                }
                if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $this.$systemTime), Long_fromInt(200)))
                    continue;
                $var3 = nle_Mouse_getEventDWheel();
                if ($var3) {
                    nms_InventoryPlayer_changeCurrentItem($this.$thePlayer.$inventory, $var3);
                    $var1 = $this.$gameSettings;
                    if ($var1.$field_22275_C) {
                        if ($var3 > 0)
                            $var3 = 1;
                        if ($var3 < 0)
                            $var3 = (-1);
                        $var1.$field_22272_F = $var1.$field_22272_F + $var3 * 0.25;
                    }
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    $ptr = 12;
                    continue main;
                }
                if (!$this.$inGameHasFocus && nle_Mouse_getEventButtonState()) {
                    $ptr = 15;
                    continue main;
                }
                if (!nle_Mouse_getEventButton() && nle_Mouse_getEventButtonState()) {
                    $var3 = 0;
                    $ptr = 18;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 1 && nle_Mouse_getEventButtonState()) {
                    $var3 = 1;
                    $ptr = 22;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 2 && nle_Mouse_getEventButtonState())
                    break;
            }
            $ptr = 24;
            continue main;
        case 9:
            $var1.$updateScreen();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$currentScreen;
            if ($var1 !== null && !$var1.$field_948_f) {
                h: {
                    $var1 = $this.$theWorld;
                    if ($var1 !== null) {
                        $var2 = $this.$thePlayer;
                        if ($var2 !== null) {
                            $var3 = $this.$field_6300_ab + 1 | 0;
                            $this.$field_6300_ab = $var3;
                            if ($var3 == 30) {
                                $this.$field_6300_ab = 0;
                                $ptr = 13;
                                continue main;
                            }
                        }
                        $var1 = $this.$theWorld;
                        $var1.$difficultySetting = $this.$gameSettings.$difficulty;
                        if ($var1.$multiplayerWorld)
                            $var1.$difficultySetting = 3;
                        if (!$this.$isWorldLoaded) {
                            $var1 = $this.$entityRenderer;
                            $ptr = 14;
                            continue main;
                        }
                        if (!$this.$isWorldLoaded)
                            nms_RenderGlobal_updateClouds($this.$renderGlobal);
                        if (!$this.$isWorldLoaded) {
                            $var1 = $this.$theWorld;
                            $ptr = 21;
                            continue main;
                        }
                        if ($this.$isWorldLoaded && !nmc_Minecraft_isMultiplayerWorld($this)) {
                            if (!$this.$isWorldLoaded) {
                                $var1 = $this.$theWorld;
                                if ($var1 !== null) {
                                    $var3 = nms_MathHelper_floor_double($this.$thePlayer.$posX);
                                    $var6 = nms_MathHelper_floor_double($this.$thePlayer.$posY);
                                    $var4 = nms_MathHelper_floor_double($this.$thePlayer.$posZ);
                                    $ptr = 28;
                                    continue main;
                                }
                            }
                            if ($this.$isWorldLoaded)
                                break h;
                            else {
                                $var1 = $this.$effectRenderer;
                                $ptr = 27;
                                continue main;
                            }
                        }
                        nms_World_setAllowedMobSpawns($this.$theWorld, $this.$gameSettings.$difficulty <= 0 ? 0 : 1, 1);
                        $var1 = $this.$theWorld;
                        $ptr = 26;
                        continue main;
                    }
                }
                $this.$systemTime = jl_System_currentTimeMillis();
                return;
            }
            while (true) {
                if (!nle_Mouse_next()) {
                    $var3 = $this.$leftClickCounter;
                    if ($var3 > 0)
                        $this.$leftClickCounter = $var3 - 1 | 0;
                    while (true) {
                        if (!nle_Keyboard_next()) {
                            if ($this.$currentScreen === null) {
                                if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                    $var3 = 0;
                                    $ptr = 20;
                                    continue main;
                                }
                                if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                    $var3 = 1;
                                    $ptr = 23;
                                    continue main;
                                }
                            }
                            $var3 = 0;
                            $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                            $ptr = 17;
                            continue main;
                        }
                        nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                        if (!nle_Keyboard_getEventKeyState())
                            continue;
                        if (nle_Keyboard_getEventKey() == 87)
                            continue;
                        $var1 = $this.$currentScreen;
                        if ($var1 !== null) {
                            $ptr = 16;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == 1) {
                            $ptr = 19;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61))
                            break;
                        if (nle_Keyboard_getEventKey() == 59) {
                            $var1 = $this.$gameSettings;
                            $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 61) {
                            $var1 = $this.$gameSettings;
                            $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 63) {
                            $var1 = $this.$gameSettings;
                            $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 66) {
                            $var1 = $this.$gameSettings;
                            $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                            $var1 = new nms_GuiInventory;
                            $var2 = $this.$thePlayer;
                            $ptr = 30;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                            $var1 = $this.$thePlayer;
                            $ptr = 32;
                            continue main;
                        }
                        if (nmc_Minecraft_isMultiplayerWorld($this) && nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindChat.$keyCode) {
                            $var1 = new nms_GuiChat;
                            $ptr = 33;
                            continue main;
                        }
                        $var6 = 0;
                        while ($var6 < 9) {
                            if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                                $this.$thePlayer.$inventory.$currentItem = $var6;
                            $var6 = $var6 + 1 | 0;
                        }
                        $var3 = nle_Keyboard_getEventKey();
                        $var1 = $this.$gameSettings;
                        if ($var3 != $var1.$keyBindToggleFog.$keyCode)
                            continue;
                        else {
                            nms_EnumOptions_$callClinit();
                            $var2 = nms_EnumOptions_RENDER_DISTANCE;
                            $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                            $ptr = 29;
                            continue main;
                        }
                    }
                    $ptr = 25;
                    continue main;
                }
                if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $this.$systemTime), Long_fromInt(200)))
                    continue;
                $var3 = nle_Mouse_getEventDWheel();
                if ($var3) {
                    nms_InventoryPlayer_changeCurrentItem($this.$thePlayer.$inventory, $var3);
                    $var1 = $this.$gameSettings;
                    if ($var1.$field_22275_C) {
                        if ($var3 > 0)
                            $var3 = 1;
                        if ($var3 < 0)
                            $var3 = (-1);
                        $var1.$field_22272_F = $var1.$field_22272_F + $var3 * 0.25;
                    }
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    $ptr = 12;
                    continue main;
                }
                if (!$this.$inGameHasFocus && nle_Mouse_getEventButtonState()) {
                    $ptr = 15;
                    continue main;
                }
                if (!nle_Mouse_getEventButton() && nle_Mouse_getEventButtonState()) {
                    $var3 = 0;
                    $ptr = 18;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 1 && nle_Mouse_getEventButtonState()) {
                    $var3 = 1;
                    $ptr = 22;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 2 && nle_Mouse_getEventButtonState())
                    break;
            }
            $ptr = 24;
            continue main;
        case 10:
            nms_GuiSleepMP__init_($var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nmc_Minecraft_displayGuiScreen($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$currentScreen;
            if ($var1 !== null)
                $this.$field_6302_aa = $this.$ticksRan + 10000 | 0;
            if ($var1 !== null) {
                $ptr = 7;
                continue main;
            }
            $var1 = $this.$currentScreen;
            if ($var1 !== null && !$var1.$field_948_f) {
                f: {
                    $var1 = $this.$theWorld;
                    if ($var1 !== null) {
                        $var2 = $this.$thePlayer;
                        if ($var2 !== null) {
                            $var3 = $this.$field_6300_ab + 1 | 0;
                            $this.$field_6300_ab = $var3;
                            if ($var3 == 30) {
                                $this.$field_6300_ab = 0;
                                $ptr = 13;
                                continue main;
                            }
                        }
                        $var1 = $this.$theWorld;
                        $var1.$difficultySetting = $this.$gameSettings.$difficulty;
                        if ($var1.$multiplayerWorld)
                            $var1.$difficultySetting = 3;
                        if (!$this.$isWorldLoaded) {
                            $var1 = $this.$entityRenderer;
                            $ptr = 14;
                            continue main;
                        }
                        if (!$this.$isWorldLoaded)
                            nms_RenderGlobal_updateClouds($this.$renderGlobal);
                        if (!$this.$isWorldLoaded) {
                            $var1 = $this.$theWorld;
                            $ptr = 21;
                            continue main;
                        }
                        if ($this.$isWorldLoaded && !nmc_Minecraft_isMultiplayerWorld($this)) {
                            if (!$this.$isWorldLoaded) {
                                $var1 = $this.$theWorld;
                                if ($var1 !== null) {
                                    $var3 = nms_MathHelper_floor_double($this.$thePlayer.$posX);
                                    $var6 = nms_MathHelper_floor_double($this.$thePlayer.$posY);
                                    $var4 = nms_MathHelper_floor_double($this.$thePlayer.$posZ);
                                    $ptr = 28;
                                    continue main;
                                }
                            }
                            if ($this.$isWorldLoaded)
                                break f;
                            else {
                                $var1 = $this.$effectRenderer;
                                $ptr = 27;
                                continue main;
                            }
                        }
                        nms_World_setAllowedMobSpawns($this.$theWorld, $this.$gameSettings.$difficulty <= 0 ? 0 : 1, 1);
                        $var1 = $this.$theWorld;
                        $ptr = 26;
                        continue main;
                    }
                }
                $this.$systemTime = jl_System_currentTimeMillis();
                return;
            }
            while (true) {
                if (!nle_Mouse_next()) {
                    $var3 = $this.$leftClickCounter;
                    if ($var3 > 0)
                        $this.$leftClickCounter = $var3 - 1 | 0;
                    while (true) {
                        if (!nle_Keyboard_next()) {
                            if ($this.$currentScreen === null) {
                                if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                    $var3 = 0;
                                    $ptr = 20;
                                    continue main;
                                }
                                if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                    $var3 = 1;
                                    $ptr = 23;
                                    continue main;
                                }
                            }
                            $var3 = 0;
                            $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                            $ptr = 17;
                            continue main;
                        }
                        nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                        if (!nle_Keyboard_getEventKeyState())
                            continue;
                        if (nle_Keyboard_getEventKey() == 87)
                            continue;
                        $var1 = $this.$currentScreen;
                        if ($var1 !== null) {
                            $ptr = 16;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == 1) {
                            $ptr = 19;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61))
                            break;
                        if (nle_Keyboard_getEventKey() == 59) {
                            $var1 = $this.$gameSettings;
                            $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 61) {
                            $var1 = $this.$gameSettings;
                            $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 63) {
                            $var1 = $this.$gameSettings;
                            $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == 66) {
                            $var1 = $this.$gameSettings;
                            $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                        }
                        if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                            $var1 = new nms_GuiInventory;
                            $var2 = $this.$thePlayer;
                            $ptr = 30;
                            continue main;
                        }
                        if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                            $var1 = $this.$thePlayer;
                            $ptr = 32;
                            continue main;
                        }
                        if (nmc_Minecraft_isMultiplayerWorld($this) && nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindChat.$keyCode) {
                            $var1 = new nms_GuiChat;
                            $ptr = 33;
                            continue main;
                        }
                        $var6 = 0;
                        while ($var6 < 9) {
                            if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                                $this.$thePlayer.$inventory.$currentItem = $var6;
                            $var6 = $var6 + 1 | 0;
                        }
                        $var3 = nle_Keyboard_getEventKey();
                        $var1 = $this.$gameSettings;
                        if ($var3 != $var1.$keyBindToggleFog.$keyCode)
                            continue;
                        else {
                            nms_EnumOptions_$callClinit();
                            $var2 = nms_EnumOptions_RENDER_DISTANCE;
                            $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                            $ptr = 29;
                            continue main;
                        }
                    }
                    $ptr = 25;
                    continue main;
                }
                if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $this.$systemTime), Long_fromInt(200)))
                    continue;
                $var3 = nle_Mouse_getEventDWheel();
                if ($var3) {
                    nms_InventoryPlayer_changeCurrentItem($this.$thePlayer.$inventory, $var3);
                    $var1 = $this.$gameSettings;
                    if ($var1.$field_22275_C) {
                        if ($var3 > 0)
                            $var3 = 1;
                        if ($var3 < 0)
                            $var3 = (-1);
                        $var1.$field_22272_F = $var1.$field_22272_F + $var3 * 0.25;
                    }
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    $ptr = 12;
                    continue main;
                }
                if (!$this.$inGameHasFocus && nle_Mouse_getEventButtonState()) {
                    $ptr = 15;
                    continue main;
                }
                if (!nle_Mouse_getEventButton() && nle_Mouse_getEventButtonState()) {
                    $var3 = 0;
                    $ptr = 18;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 1 && nle_Mouse_getEventButtonState()) {
                    $var3 = 1;
                    $ptr = 22;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 2 && nle_Mouse_getEventButtonState())
                    break;
            }
            $ptr = 24;
            continue main;
        case 12:
            $var1.$handleMouseInput();
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                while (true) {
                    if (!nle_Mouse_next()) {
                        $var3 = $this.$leftClickCounter;
                        if ($var3 > 0)
                            $this.$leftClickCounter = $var3 - 1 | 0;
                        while (true) {
                            if (!nle_Keyboard_next()) {
                                if ($this.$currentScreen === null) {
                                    if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                        $var3 = 0;
                                        $ptr = 20;
                                        continue main;
                                    }
                                    if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                        $var3 = 1;
                                        $ptr = 23;
                                        continue main;
                                    }
                                }
                                $var3 = 0;
                                $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                                $ptr = 17;
                                continue main;
                            }
                            nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                            if (!nle_Keyboard_getEventKeyState())
                                continue;
                            if (nle_Keyboard_getEventKey() == 87)
                                continue;
                            $var1 = $this.$currentScreen;
                            if ($var1 !== null) {
                                $ptr = 16;
                                continue main;
                            }
                            if (nle_Keyboard_getEventKey() == 1) {
                                $ptr = 19;
                                continue main;
                            }
                            if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61))
                                break;
                            if (nle_Keyboard_getEventKey() == 59) {
                                $var1 = $this.$gameSettings;
                                $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == 61) {
                                $var1 = $this.$gameSettings;
                                $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == 63) {
                                $var1 = $this.$gameSettings;
                                $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == 66) {
                                $var1 = $this.$gameSettings;
                                $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                                $var1 = new nms_GuiInventory;
                                $var2 = $this.$thePlayer;
                                $ptr = 30;
                                continue main;
                            }
                            if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                                $var1 = $this.$thePlayer;
                                $ptr = 32;
                                continue main;
                            }
                            if (nmc_Minecraft_isMultiplayerWorld($this) && nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindChat.$keyCode) {
                                $var1 = new nms_GuiChat;
                                $ptr = 33;
                                continue main;
                            }
                            $var6 = 0;
                            while ($var6 < 9) {
                                if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                                    $this.$thePlayer.$inventory.$currentItem = $var6;
                                $var6 = $var6 + 1 | 0;
                            }
                            $var3 = nle_Keyboard_getEventKey();
                            $var1 = $this.$gameSettings;
                            if ($var3 != $var1.$keyBindToggleFog.$keyCode)
                                continue;
                            else {
                                nms_EnumOptions_$callClinit();
                                $var2 = nms_EnumOptions_RENDER_DISTANCE;
                                $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                                $ptr = 29;
                                continue main;
                            }
                        }
                        $ptr = 25;
                        continue main;
                    }
                    if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $this.$systemTime), Long_fromInt(200)))
                        continue;
                    else
                        break;
                }
                $var3 = nle_Mouse_getEventDWheel();
                if ($var3) {
                    nms_InventoryPlayer_changeCurrentItem($this.$thePlayer.$inventory, $var3);
                    $var1 = $this.$gameSettings;
                    if ($var1.$field_22275_C) {
                        if ($var3 > 0)
                            $var3 = 1;
                        if ($var3 < 0)
                            $var3 = (-1);
                        $var1.$field_22272_F = $var1.$field_22272_F + $var3 * 0.25;
                    }
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    continue main;
                }
                if (!$this.$inGameHasFocus && nle_Mouse_getEventButtonState()) {
                    $ptr = 15;
                    continue main;
                }
                if (!nle_Mouse_getEventButton() && nle_Mouse_getEventButtonState()) {
                    $var3 = 0;
                    $ptr = 18;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 1 && nle_Mouse_getEventButtonState()) {
                    $var3 = 1;
                    $ptr = 22;
                    continue main;
                }
                if (nle_Mouse_getEventButton() != 2)
                    continue;
                if (!nle_Mouse_getEventButtonState())
                    continue;
                else
                    break;
            }
            $ptr = 24;
            continue main;
        case 13:
            nms_World_joinEntityInSurroundings($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$theWorld;
            $var1.$difficultySetting = $this.$gameSettings.$difficulty;
            if ($var1.$multiplayerWorld)
                $var1.$difficultySetting = 3;
            if (!$this.$isWorldLoaded) {
                $var1 = $this.$entityRenderer;
                $ptr = 14;
                continue main;
            }
            if (!$this.$isWorldLoaded)
                nms_RenderGlobal_updateClouds($this.$renderGlobal);
            if (!$this.$isWorldLoaded) {
                $var1 = $this.$theWorld;
                $ptr = 21;
                continue main;
            }
            if ($this.$isWorldLoaded && !nmc_Minecraft_isMultiplayerWorld($this)) {
                if (!$this.$isWorldLoaded) {
                    $var1 = $this.$theWorld;
                    if ($var1 !== null) {
                        $var3 = nms_MathHelper_floor_double($this.$thePlayer.$posX);
                        $var6 = nms_MathHelper_floor_double($this.$thePlayer.$posY);
                        $var4 = nms_MathHelper_floor_double($this.$thePlayer.$posZ);
                        $ptr = 28;
                        continue main;
                    }
                }
                if ($this.$isWorldLoaded) {
                    $this.$systemTime = jl_System_currentTimeMillis();
                    return;
                }
                $var1 = $this.$effectRenderer;
                $ptr = 27;
                continue main;
            }
            nms_World_setAllowedMobSpawns($this.$theWorld, $this.$gameSettings.$difficulty <= 0 ? 0 : 1, 1);
            $var1 = $this.$theWorld;
            $ptr = 26;
            continue main;
        case 14:
            nms_EntityRenderer_updateRenderer($var1);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$isWorldLoaded)
                nms_RenderGlobal_updateClouds($this.$renderGlobal);
            if (!$this.$isWorldLoaded) {
                $var1 = $this.$theWorld;
                $ptr = 21;
                continue main;
            }
            if ($this.$isWorldLoaded && !nmc_Minecraft_isMultiplayerWorld($this)) {
                if (!$this.$isWorldLoaded) {
                    $var1 = $this.$theWorld;
                    if ($var1 !== null) {
                        $var3 = nms_MathHelper_floor_double($this.$thePlayer.$posX);
                        $var6 = nms_MathHelper_floor_double($this.$thePlayer.$posY);
                        $var4 = nms_MathHelper_floor_double($this.$thePlayer.$posZ);
                        $ptr = 28;
                        continue main;
                    }
                }
                if ($this.$isWorldLoaded) {
                    $this.$systemTime = jl_System_currentTimeMillis();
                    return;
                }
                $var1 = $this.$effectRenderer;
                $ptr = 27;
                continue main;
            }
            nms_World_setAllowedMobSpawns($this.$theWorld, $this.$gameSettings.$difficulty <= 0 ? 0 : 1, 1);
            $var1 = $this.$theWorld;
            $ptr = 26;
            continue main;
        case 15:
            nmc_Minecraft_setIngameFocus($this);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                while (true) {
                    if (!nle_Mouse_next()) {
                        $var3 = $this.$leftClickCounter;
                        if ($var3 > 0)
                            $this.$leftClickCounter = $var3 - 1 | 0;
                        while (true) {
                            if (!nle_Keyboard_next()) {
                                if ($this.$currentScreen === null) {
                                    if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                        $var3 = 0;
                                        $ptr = 20;
                                        continue main;
                                    }
                                    if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                        $var3 = 1;
                                        $ptr = 23;
                                        continue main;
                                    }
                                }
                                $var3 = 0;
                                $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                                $ptr = 17;
                                continue main;
                            }
                            nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                            if (!nle_Keyboard_getEventKeyState())
                                continue;
                            if (nle_Keyboard_getEventKey() == 87)
                                continue;
                            $var1 = $this.$currentScreen;
                            if ($var1 !== null) {
                                $ptr = 16;
                                continue main;
                            }
                            if (nle_Keyboard_getEventKey() == 1) {
                                $ptr = 19;
                                continue main;
                            }
                            if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61))
                                break;
                            if (nle_Keyboard_getEventKey() == 59) {
                                $var1 = $this.$gameSettings;
                                $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == 61) {
                                $var1 = $this.$gameSettings;
                                $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == 63) {
                                $var1 = $this.$gameSettings;
                                $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == 66) {
                                $var1 = $this.$gameSettings;
                                $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                                $var1 = new nms_GuiInventory;
                                $var2 = $this.$thePlayer;
                                $ptr = 30;
                                continue main;
                            }
                            if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                                $var1 = $this.$thePlayer;
                                $ptr = 32;
                                continue main;
                            }
                            if (nmc_Minecraft_isMultiplayerWorld($this) && nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindChat.$keyCode) {
                                $var1 = new nms_GuiChat;
                                $ptr = 33;
                                continue main;
                            }
                            $var6 = 0;
                            while ($var6 < 9) {
                                if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                                    $this.$thePlayer.$inventory.$currentItem = $var6;
                                $var6 = $var6 + 1 | 0;
                            }
                            $var3 = nle_Keyboard_getEventKey();
                            $var1 = $this.$gameSettings;
                            if ($var3 != $var1.$keyBindToggleFog.$keyCode)
                                continue;
                            else {
                                nms_EnumOptions_$callClinit();
                                $var2 = nms_EnumOptions_RENDER_DISTANCE;
                                $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                                $ptr = 29;
                                continue main;
                            }
                        }
                        $ptr = 25;
                        continue main;
                    }
                    if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $this.$systemTime), Long_fromInt(200)))
                        continue;
                    else
                        break;
                }
                $var3 = nle_Mouse_getEventDWheel();
                if ($var3) {
                    nms_InventoryPlayer_changeCurrentItem($this.$thePlayer.$inventory, $var3);
                    $var1 = $this.$gameSettings;
                    if ($var1.$field_22275_C) {
                        if ($var3 > 0)
                            $var3 = 1;
                        if ($var3 < 0)
                            $var3 = (-1);
                        $var1.$field_22272_F = $var1.$field_22272_F + $var3 * 0.25;
                    }
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    $ptr = 12;
                    continue main;
                }
                if (!$this.$inGameHasFocus && nle_Mouse_getEventButtonState()) {
                    continue main;
                }
                if (!nle_Mouse_getEventButton() && nle_Mouse_getEventButtonState()) {
                    $var3 = 0;
                    $ptr = 18;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 1 && nle_Mouse_getEventButtonState()) {
                    $var3 = 1;
                    $ptr = 22;
                    continue main;
                }
                if (nle_Mouse_getEventButton() != 2)
                    continue;
                if (!nle_Mouse_getEventButtonState())
                    continue;
                else
                    break;
            }
            $ptr = 24;
            continue main;
        case 16:
            nms_GuiScreen_handleKeyboardInput($var1);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var6 = 0;
                while ($var6 < 9) {
                    if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                        $this.$thePlayer.$inventory.$currentItem = $var6;
                    $var6 = $var6 + 1 | 0;
                }
                $var3 = nle_Keyboard_getEventKey();
                $var1 = $this.$gameSettings;
                if ($var3 == $var1.$keyBindToggleFog.$keyCode) {
                    nms_EnumOptions_$callClinit();
                    $var2 = nms_EnumOptions_RENDER_DISTANCE;
                    $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                    $ptr = 29;
                    continue main;
                }
                while (true) {
                    if (!nle_Keyboard_next()) {
                        if ($this.$currentScreen === null) {
                            if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                $var3 = 0;
                                $ptr = 20;
                                continue main;
                            }
                            if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                $var3 = 1;
                                $ptr = 23;
                                continue main;
                            }
                        }
                        $var3 = 0;
                        $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                        $ptr = 17;
                        continue main;
                    }
                    nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                    if (!nle_Keyboard_getEventKeyState())
                        continue;
                    if (nle_Keyboard_getEventKey() != 87)
                        break;
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    continue main;
                }
                if (nle_Keyboard_getEventKey() == 1) {
                    $ptr = 19;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61))
                    break;
                if (nle_Keyboard_getEventKey() == 59) {
                    $var1 = $this.$gameSettings;
                    $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 61) {
                    $var1 = $this.$gameSettings;
                    $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 63) {
                    $var1 = $this.$gameSettings;
                    $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 66) {
                    $var1 = $this.$gameSettings;
                    $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                    $var1 = new nms_GuiInventory;
                    $var2 = $this.$thePlayer;
                    $ptr = 30;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                    $var1 = $this.$thePlayer;
                    $ptr = 32;
                    continue main;
                }
                if (!nmc_Minecraft_isMultiplayerWorld($this))
                    continue;
                if (nle_Keyboard_getEventKey() != $this.$gameSettings.$keyBindChat.$keyCode)
                    continue;
                else {
                    $var1 = new nms_GuiChat;
                    $ptr = 33;
                    continue main;
                }
            }
            $ptr = 25;
            continue main;
        case 17:
            nmc_Minecraft_func_6254_a($this, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            b: {
                $var1 = $this.$theWorld;
                if ($var1 !== null) {
                    $var2 = $this.$thePlayer;
                    if ($var2 !== null) {
                        $var3 = $this.$field_6300_ab + 1 | 0;
                        $this.$field_6300_ab = $var3;
                        if ($var3 == 30) {
                            $this.$field_6300_ab = 0;
                            $ptr = 13;
                            continue main;
                        }
                    }
                    $var1 = $this.$theWorld;
                    $var1.$difficultySetting = $this.$gameSettings.$difficulty;
                    if ($var1.$multiplayerWorld)
                        $var1.$difficultySetting = 3;
                    if (!$this.$isWorldLoaded) {
                        $var1 = $this.$entityRenderer;
                        $ptr = 14;
                        continue main;
                    }
                    if (!$this.$isWorldLoaded)
                        nms_RenderGlobal_updateClouds($this.$renderGlobal);
                    if (!$this.$isWorldLoaded) {
                        $var1 = $this.$theWorld;
                        $ptr = 21;
                        continue main;
                    }
                    if ($this.$isWorldLoaded && !nmc_Minecraft_isMultiplayerWorld($this)) {
                        if (!$this.$isWorldLoaded) {
                            $var1 = $this.$theWorld;
                            if ($var1 !== null) {
                                $var3 = nms_MathHelper_floor_double($this.$thePlayer.$posX);
                                $var6 = nms_MathHelper_floor_double($this.$thePlayer.$posY);
                                $var4 = nms_MathHelper_floor_double($this.$thePlayer.$posZ);
                                $ptr = 28;
                                continue main;
                            }
                        }
                        if ($this.$isWorldLoaded)
                            break b;
                        else {
                            $var1 = $this.$effectRenderer;
                            $ptr = 27;
                            continue main;
                        }
                    }
                    nms_World_setAllowedMobSpawns($this.$theWorld, $this.$gameSettings.$difficulty <= 0 ? 0 : 1, 1);
                    $var1 = $this.$theWorld;
                    $ptr = 26;
                    continue main;
                }
            }
            $this.$systemTime = jl_System_currentTimeMillis();
            return;
        case 18:
            nmc_Minecraft_clickMouse($this, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_6302_aa = $this.$ticksRan;
            while (true) {
                if (nle_Mouse_getEventButton() == 1 && nle_Mouse_getEventButtonState()) {
                    $var3 = 1;
                    $ptr = 22;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 2 && nle_Mouse_getEventButtonState()) {
                    $ptr = 24;
                    continue main;
                }
                while (true) {
                    if (!nle_Mouse_next()) {
                        $var3 = $this.$leftClickCounter;
                        if ($var3 > 0)
                            $this.$leftClickCounter = $var3 - 1 | 0;
                        while (true) {
                            if (!nle_Keyboard_next()) {
                                if ($this.$currentScreen === null) {
                                    if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                        $var3 = 0;
                                        $ptr = 20;
                                        continue main;
                                    }
                                    if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                        $var3 = 1;
                                        $ptr = 23;
                                        continue main;
                                    }
                                }
                                $var3 = 0;
                                $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                                $ptr = 17;
                                continue main;
                            }
                            nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                            if (!nle_Keyboard_getEventKeyState())
                                continue;
                            if (nle_Keyboard_getEventKey() == 87)
                                continue;
                            $var1 = $this.$currentScreen;
                            if ($var1 !== null) {
                                $ptr = 16;
                                continue main;
                            }
                            if (nle_Keyboard_getEventKey() == 1) {
                                $ptr = 19;
                                continue main;
                            }
                            if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61))
                                break;
                            if (nle_Keyboard_getEventKey() == 59) {
                                $var1 = $this.$gameSettings;
                                $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == 61) {
                                $var1 = $this.$gameSettings;
                                $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == 63) {
                                $var1 = $this.$gameSettings;
                                $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == 66) {
                                $var1 = $this.$gameSettings;
                                $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                                $var1 = new nms_GuiInventory;
                                $var2 = $this.$thePlayer;
                                $ptr = 30;
                                continue main;
                            }
                            if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                                $var1 = $this.$thePlayer;
                                $ptr = 32;
                                continue main;
                            }
                            if (nmc_Minecraft_isMultiplayerWorld($this) && nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindChat.$keyCode) {
                                $var1 = new nms_GuiChat;
                                $ptr = 33;
                                continue main;
                            }
                            $var6 = 0;
                            while ($var6 < 9) {
                                if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                                    $this.$thePlayer.$inventory.$currentItem = $var6;
                                $var6 = $var6 + 1 | 0;
                            }
                            $var3 = nle_Keyboard_getEventKey();
                            $var1 = $this.$gameSettings;
                            if ($var3 != $var1.$keyBindToggleFog.$keyCode)
                                continue;
                            else {
                                nms_EnumOptions_$callClinit();
                                $var2 = nms_EnumOptions_RENDER_DISTANCE;
                                $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                                $ptr = 29;
                                continue main;
                            }
                        }
                        $ptr = 25;
                        continue main;
                    }
                    if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $this.$systemTime), Long_fromInt(200)))
                        continue;
                    else
                        break;
                }
                $var3 = nle_Mouse_getEventDWheel();
                if ($var3) {
                    nms_InventoryPlayer_changeCurrentItem($this.$thePlayer.$inventory, $var3);
                    $var1 = $this.$gameSettings;
                    if ($var1.$field_22275_C) {
                        if ($var3 > 0)
                            $var3 = 1;
                        if ($var3 < 0)
                            $var3 = (-1);
                        $var1.$field_22272_F = $var1.$field_22272_F + $var3 * 0.25;
                    }
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    $ptr = 12;
                    continue main;
                }
                if (!$this.$inGameHasFocus && nle_Mouse_getEventButtonState())
                    break;
                if (nle_Mouse_getEventButton())
                    continue;
                if (!nle_Mouse_getEventButtonState())
                    continue;
                else {
                    $var3 = 0;
                    continue main;
                }
            }
            $ptr = 15;
            continue main;
        case 19:
            nmc_Minecraft_displayInGameMenu($this);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61)) {
                    $ptr = 25;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() == 59) {
                    $var1 = $this.$gameSettings;
                    $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 61) {
                    $var1 = $this.$gameSettings;
                    $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 63) {
                    $var1 = $this.$gameSettings;
                    $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 66) {
                    $var1 = $this.$gameSettings;
                    $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                    $var1 = new nms_GuiInventory;
                    $var2 = $this.$thePlayer;
                    $ptr = 30;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                    $var1 = $this.$thePlayer;
                    $ptr = 32;
                    continue main;
                }
                if (nmc_Minecraft_isMultiplayerWorld($this) && nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindChat.$keyCode) {
                    $var1 = new nms_GuiChat;
                    $ptr = 33;
                    continue main;
                }
                $var6 = 0;
                while ($var6 < 9) {
                    if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                        $this.$thePlayer.$inventory.$currentItem = $var6;
                    $var6 = $var6 + 1 | 0;
                }
                $var3 = nle_Keyboard_getEventKey();
                $var1 = $this.$gameSettings;
                if ($var3 == $var1.$keyBindToggleFog.$keyCode) {
                    nms_EnumOptions_$callClinit();
                    $var2 = nms_EnumOptions_RENDER_DISTANCE;
                    $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                    $ptr = 29;
                    continue main;
                }
                while (true) {
                    if (!nle_Keyboard_next()) {
                        if ($this.$currentScreen === null) {
                            if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                $var3 = 0;
                                $ptr = 20;
                                continue main;
                            }
                            if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                $var3 = 1;
                                $ptr = 23;
                                continue main;
                            }
                        }
                        $var3 = 0;
                        $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                        $ptr = 17;
                        continue main;
                    }
                    nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                    if (!nle_Keyboard_getEventKeyState())
                        continue;
                    if (nle_Keyboard_getEventKey() != 87)
                        break;
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    $ptr = 16;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() != 1)
                    continue;
                else
                    break;
            }
            continue main;
        case 20:
            nmc_Minecraft_clickMouse($this, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_6302_aa = $this.$ticksRan;
            if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                $var3 = 1;
                $ptr = 23;
                continue main;
            }
            $var3 = 0;
            $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
            $ptr = 17;
            continue main;
        case 21:
            nms_World_func_633_c($var1);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$isWorldLoaded && !nmc_Minecraft_isMultiplayerWorld($this)) {
                if (!$this.$isWorldLoaded) {
                    $var1 = $this.$theWorld;
                    if ($var1 !== null) {
                        $var3 = nms_MathHelper_floor_double($this.$thePlayer.$posX);
                        $var6 = nms_MathHelper_floor_double($this.$thePlayer.$posY);
                        $var4 = nms_MathHelper_floor_double($this.$thePlayer.$posZ);
                        $ptr = 28;
                        continue main;
                    }
                }
                if ($this.$isWorldLoaded) {
                    $this.$systemTime = jl_System_currentTimeMillis();
                    return;
                }
                $var1 = $this.$effectRenderer;
                $ptr = 27;
                continue main;
            }
            nms_World_setAllowedMobSpawns($this.$theWorld, $this.$gameSettings.$difficulty <= 0 ? 0 : 1, 1);
            $var1 = $this.$theWorld;
            $ptr = 26;
            continue main;
        case 22:
            nmc_Minecraft_clickMouse($this, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_6302_aa = $this.$ticksRan;
            while (true) {
                if (nle_Mouse_getEventButton() == 2 && nle_Mouse_getEventButtonState()) {
                    $ptr = 24;
                    continue main;
                }
                while (true) {
                    if (!nle_Mouse_next()) {
                        $var3 = $this.$leftClickCounter;
                        if ($var3 > 0)
                            $this.$leftClickCounter = $var3 - 1 | 0;
                        while (true) {
                            if (!nle_Keyboard_next()) {
                                if ($this.$currentScreen === null) {
                                    if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                        $var3 = 0;
                                        $ptr = 20;
                                        continue main;
                                    }
                                    if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                        $var3 = 1;
                                        $ptr = 23;
                                        continue main;
                                    }
                                }
                                $var3 = 0;
                                $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                                $ptr = 17;
                                continue main;
                            }
                            nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                            if (!nle_Keyboard_getEventKeyState())
                                continue;
                            if (nle_Keyboard_getEventKey() == 87)
                                continue;
                            $var1 = $this.$currentScreen;
                            if ($var1 !== null) {
                                $ptr = 16;
                                continue main;
                            }
                            if (nle_Keyboard_getEventKey() == 1) {
                                $ptr = 19;
                                continue main;
                            }
                            if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61))
                                break;
                            if (nle_Keyboard_getEventKey() == 59) {
                                $var1 = $this.$gameSettings;
                                $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == 61) {
                                $var1 = $this.$gameSettings;
                                $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == 63) {
                                $var1 = $this.$gameSettings;
                                $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == 66) {
                                $var1 = $this.$gameSettings;
                                $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                                $var1 = new nms_GuiInventory;
                                $var2 = $this.$thePlayer;
                                $ptr = 30;
                                continue main;
                            }
                            if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                                $var1 = $this.$thePlayer;
                                $ptr = 32;
                                continue main;
                            }
                            if (nmc_Minecraft_isMultiplayerWorld($this) && nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindChat.$keyCode) {
                                $var1 = new nms_GuiChat;
                                $ptr = 33;
                                continue main;
                            }
                            $var6 = 0;
                            while ($var6 < 9) {
                                if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                                    $this.$thePlayer.$inventory.$currentItem = $var6;
                                $var6 = $var6 + 1 | 0;
                            }
                            $var3 = nle_Keyboard_getEventKey();
                            $var1 = $this.$gameSettings;
                            if ($var3 != $var1.$keyBindToggleFog.$keyCode)
                                continue;
                            else {
                                nms_EnumOptions_$callClinit();
                                $var2 = nms_EnumOptions_RENDER_DISTANCE;
                                $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                                $ptr = 29;
                                continue main;
                            }
                        }
                        $ptr = 25;
                        continue main;
                    }
                    if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $this.$systemTime), Long_fromInt(200)))
                        continue;
                    else
                        break;
                }
                $var3 = nle_Mouse_getEventDWheel();
                if ($var3) {
                    nms_InventoryPlayer_changeCurrentItem($this.$thePlayer.$inventory, $var3);
                    $var1 = $this.$gameSettings;
                    if ($var1.$field_22275_C) {
                        if ($var3 > 0)
                            $var3 = 1;
                        if ($var3 < 0)
                            $var3 = (-1);
                        $var1.$field_22272_F = $var1.$field_22272_F + $var3 * 0.25;
                    }
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    $ptr = 12;
                    continue main;
                }
                if (!$this.$inGameHasFocus && nle_Mouse_getEventButtonState())
                    break;
                if (!nle_Mouse_getEventButton() && nle_Mouse_getEventButtonState()) {
                    $var3 = 0;
                    $ptr = 18;
                    continue main;
                }
                if (nle_Mouse_getEventButton() != 1)
                    continue;
                if (!nle_Mouse_getEventButtonState())
                    continue;
                else {
                    $var3 = 1;
                    continue main;
                }
            }
            $ptr = 15;
            continue main;
        case 23:
            nmc_Minecraft_clickMouse($this, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_6302_aa = $this.$ticksRan;
            $var3 = 0;
            $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
            $ptr = 17;
            continue main;
        case 24:
            nmc_Minecraft_clickMiddleMouseButton($this);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                while (true) {
                    if (!nle_Mouse_next()) {
                        $var3 = $this.$leftClickCounter;
                        if ($var3 > 0)
                            $this.$leftClickCounter = $var3 - 1 | 0;
                        while (true) {
                            if (!nle_Keyboard_next()) {
                                if ($this.$currentScreen === null) {
                                    if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                        $var3 = 0;
                                        $ptr = 20;
                                        continue main;
                                    }
                                    if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                        $var3 = 1;
                                        $ptr = 23;
                                        continue main;
                                    }
                                }
                                $var3 = 0;
                                $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                                $ptr = 17;
                                continue main;
                            }
                            nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                            if (!nle_Keyboard_getEventKeyState())
                                continue;
                            if (nle_Keyboard_getEventKey() == 87)
                                continue;
                            $var1 = $this.$currentScreen;
                            if ($var1 !== null) {
                                $ptr = 16;
                                continue main;
                            }
                            if (nle_Keyboard_getEventKey() == 1) {
                                $ptr = 19;
                                continue main;
                            }
                            if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61))
                                break;
                            if (nle_Keyboard_getEventKey() == 59) {
                                $var1 = $this.$gameSettings;
                                $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == 61) {
                                $var1 = $this.$gameSettings;
                                $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == 63) {
                                $var1 = $this.$gameSettings;
                                $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == 66) {
                                $var1 = $this.$gameSettings;
                                $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                            }
                            if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                                $var1 = new nms_GuiInventory;
                                $var2 = $this.$thePlayer;
                                $ptr = 30;
                                continue main;
                            }
                            if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                                $var1 = $this.$thePlayer;
                                $ptr = 32;
                                continue main;
                            }
                            if (nmc_Minecraft_isMultiplayerWorld($this) && nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindChat.$keyCode) {
                                $var1 = new nms_GuiChat;
                                $ptr = 33;
                                continue main;
                            }
                            $var6 = 0;
                            while ($var6 < 9) {
                                if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                                    $this.$thePlayer.$inventory.$currentItem = $var6;
                                $var6 = $var6 + 1 | 0;
                            }
                            $var3 = nle_Keyboard_getEventKey();
                            $var1 = $this.$gameSettings;
                            if ($var3 != $var1.$keyBindToggleFog.$keyCode)
                                continue;
                            else {
                                nms_EnumOptions_$callClinit();
                                $var2 = nms_EnumOptions_RENDER_DISTANCE;
                                $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                                $ptr = 29;
                                continue main;
                            }
                        }
                        $ptr = 25;
                        continue main;
                    }
                    if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $this.$systemTime), Long_fromInt(200)))
                        continue;
                    else
                        break;
                }
                $var3 = nle_Mouse_getEventDWheel();
                if ($var3) {
                    nms_InventoryPlayer_changeCurrentItem($this.$thePlayer.$inventory, $var3);
                    $var1 = $this.$gameSettings;
                    if ($var1.$field_22275_C) {
                        if ($var3 > 0)
                            $var3 = 1;
                        if ($var3 < 0)
                            $var3 = (-1);
                        $var1.$field_22272_F = $var1.$field_22272_F + $var3 * 0.25;
                    }
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    $ptr = 12;
                    continue main;
                }
                if (!$this.$inGameHasFocus && nle_Mouse_getEventButtonState()) {
                    $ptr = 15;
                    continue main;
                }
                if (!nle_Mouse_getEventButton() && nle_Mouse_getEventButtonState()) {
                    $var3 = 0;
                    $ptr = 18;
                    continue main;
                }
                if (nle_Mouse_getEventButton() == 1 && nle_Mouse_getEventButtonState()) {
                    $var3 = 1;
                    $ptr = 22;
                    continue main;
                }
                if (nle_Mouse_getEventButton() != 2)
                    continue;
                if (!nle_Mouse_getEventButtonState())
                    continue;
                else
                    break;
            }
            continue main;
        case 25:
            nmc_Minecraft_forceReload($this);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                if (nle_Keyboard_getEventKey() == 59) {
                    $var1 = $this.$gameSettings;
                    $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 61) {
                    $var1 = $this.$gameSettings;
                    $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 63) {
                    $var1 = $this.$gameSettings;
                    $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 66) {
                    $var1 = $this.$gameSettings;
                    $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                    $var1 = new nms_GuiInventory;
                    $var2 = $this.$thePlayer;
                    $ptr = 30;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                    $var1 = $this.$thePlayer;
                    $ptr = 32;
                    continue main;
                }
                if (nmc_Minecraft_isMultiplayerWorld($this) && nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindChat.$keyCode) {
                    $var1 = new nms_GuiChat;
                    $ptr = 33;
                    continue main;
                }
                $var6 = 0;
                while ($var6 < 9) {
                    if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                        $this.$thePlayer.$inventory.$currentItem = $var6;
                    $var6 = $var6 + 1 | 0;
                }
                $var3 = nle_Keyboard_getEventKey();
                $var1 = $this.$gameSettings;
                if ($var3 == $var1.$keyBindToggleFog.$keyCode) {
                    nms_EnumOptions_$callClinit();
                    $var2 = nms_EnumOptions_RENDER_DISTANCE;
                    $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                    $ptr = 29;
                    continue main;
                }
                while (true) {
                    if (!nle_Keyboard_next()) {
                        if ($this.$currentScreen === null) {
                            if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                $var3 = 0;
                                $ptr = 20;
                                continue main;
                            }
                            if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                $var3 = 1;
                                $ptr = 23;
                                continue main;
                            }
                        }
                        $var3 = 0;
                        $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                        $ptr = 17;
                        continue main;
                    }
                    nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                    if (!nle_Keyboard_getEventKeyState())
                        continue;
                    if (nle_Keyboard_getEventKey() != 87)
                        break;
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    $ptr = 16;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() == 1) {
                    $ptr = 19;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() != 31)
                    continue;
                if (!nle_Keyboard_isKeyDown(61))
                    continue;
                else
                    break;
            }
            continue main;
        case 26:
            $var1.$tick();
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$isWorldLoaded) {
                $var1 = $this.$theWorld;
                if ($var1 !== null) {
                    $var3 = nms_MathHelper_floor_double($this.$thePlayer.$posX);
                    $var6 = nms_MathHelper_floor_double($this.$thePlayer.$posY);
                    $var4 = nms_MathHelper_floor_double($this.$thePlayer.$posZ);
                    $ptr = 28;
                    continue main;
                }
            }
            if ($this.$isWorldLoaded) {
                $this.$systemTime = jl_System_currentTimeMillis();
                return;
            }
            $var1 = $this.$effectRenderer;
            $ptr = 27;
        case 27:
            nms_EffectRenderer_updateEffects($var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$systemTime = jl_System_currentTimeMillis();
            return;
        case 28:
            nms_World_randomDisplayUpdates($var1, $var3, $var6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$isWorldLoaded) {
                $this.$systemTime = jl_System_currentTimeMillis();
                return;
            }
            $var1 = $this.$effectRenderer;
            $ptr = 27;
            continue main;
        case 29:
            nms_GameSettings_setOptionValue($var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                if (!nle_Keyboard_next()) {
                    if ($this.$currentScreen === null) {
                        if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                            $var3 = 0;
                            $ptr = 20;
                            continue main;
                        }
                        if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                            $var3 = 1;
                            $ptr = 23;
                            continue main;
                        }
                    }
                    $var3 = 0;
                    $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                    $ptr = 17;
                    continue main;
                }
                nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                if (!nle_Keyboard_getEventKeyState())
                    continue;
                if (nle_Keyboard_getEventKey() == 87)
                    continue;
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    $ptr = 16;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() == 1) {
                    $ptr = 19;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61))
                    break;
                if (nle_Keyboard_getEventKey() == 59) {
                    $var1 = $this.$gameSettings;
                    $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 61) {
                    $var1 = $this.$gameSettings;
                    $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 63) {
                    $var1 = $this.$gameSettings;
                    $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 66) {
                    $var1 = $this.$gameSettings;
                    $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                    $var1 = new nms_GuiInventory;
                    $var2 = $this.$thePlayer;
                    $ptr = 30;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                    $var1 = $this.$thePlayer;
                    $ptr = 32;
                    continue main;
                }
                if (nmc_Minecraft_isMultiplayerWorld($this) && nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindChat.$keyCode) {
                    $var1 = new nms_GuiChat;
                    $ptr = 33;
                    continue main;
                }
                $var6 = 0;
                while ($var6 < 9) {
                    if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                        $this.$thePlayer.$inventory.$currentItem = $var6;
                    $var6 = $var6 + 1 | 0;
                }
                $var3 = nle_Keyboard_getEventKey();
                $var1 = $this.$gameSettings;
                if ($var3 != $var1.$keyBindToggleFog.$keyCode)
                    continue;
                else {
                    nms_EnumOptions_$callClinit();
                    $var2 = nms_EnumOptions_RENDER_DISTANCE;
                    $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                    continue main;
                }
            }
            $ptr = 25;
            continue main;
        case 30:
            nms_GuiInventory__init_($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 31;
        case 31:
            nmc_Minecraft_displayGuiScreen($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                    $var1 = $this.$thePlayer;
                    $ptr = 32;
                    continue main;
                }
                if (nmc_Minecraft_isMultiplayerWorld($this) && nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindChat.$keyCode) {
                    $var1 = new nms_GuiChat;
                    $ptr = 33;
                    continue main;
                }
                $var6 = 0;
                while ($var6 < 9) {
                    if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                        $this.$thePlayer.$inventory.$currentItem = $var6;
                    $var6 = $var6 + 1 | 0;
                }
                $var3 = nle_Keyboard_getEventKey();
                $var1 = $this.$gameSettings;
                if ($var3 == $var1.$keyBindToggleFog.$keyCode) {
                    nms_EnumOptions_$callClinit();
                    $var2 = nms_EnumOptions_RENDER_DISTANCE;
                    $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                    $ptr = 29;
                    continue main;
                }
                while (true) {
                    if (!nle_Keyboard_next()) {
                        if ($this.$currentScreen === null) {
                            if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                $var3 = 0;
                                $ptr = 20;
                                continue main;
                            }
                            if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                $var3 = 1;
                                $ptr = 23;
                                continue main;
                            }
                        }
                        $var3 = 0;
                        $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                        $ptr = 17;
                        continue main;
                    }
                    nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                    if (!nle_Keyboard_getEventKeyState())
                        continue;
                    if (nle_Keyboard_getEventKey() != 87)
                        break;
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    $ptr = 16;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() == 1) {
                    $ptr = 19;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61))
                    break;
                if (nle_Keyboard_getEventKey() == 59) {
                    $var1 = $this.$gameSettings;
                    $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 61) {
                    $var1 = $this.$gameSettings;
                    $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 63) {
                    $var1 = $this.$gameSettings;
                    $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 66) {
                    $var1 = $this.$gameSettings;
                    $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() != $this.$gameSettings.$keyBindInventory.$keyCode)
                    continue;
                else {
                    $var1 = new nms_GuiInventory;
                    $var2 = $this.$thePlayer;
                    $ptr = 30;
                    continue main;
                }
            }
            $ptr = 25;
            continue main;
        case 32:
            $var1.$dropCurrentItem();
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                if (nmc_Minecraft_isMultiplayerWorld($this) && nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindChat.$keyCode) {
                    $var1 = new nms_GuiChat;
                    $ptr = 33;
                    continue main;
                }
                $var6 = 0;
                while ($var6 < 9) {
                    if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                        $this.$thePlayer.$inventory.$currentItem = $var6;
                    $var6 = $var6 + 1 | 0;
                }
                $var3 = nle_Keyboard_getEventKey();
                $var1 = $this.$gameSettings;
                if ($var3 == $var1.$keyBindToggleFog.$keyCode) {
                    nms_EnumOptions_$callClinit();
                    $var2 = nms_EnumOptions_RENDER_DISTANCE;
                    $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                    $ptr = 29;
                    continue main;
                }
                while (true) {
                    if (!nle_Keyboard_next()) {
                        if ($this.$currentScreen === null) {
                            if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                $var3 = 0;
                                $ptr = 20;
                                continue main;
                            }
                            if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                $var3 = 1;
                                $ptr = 23;
                                continue main;
                            }
                        }
                        $var3 = 0;
                        $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                        $ptr = 17;
                        continue main;
                    }
                    nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                    if (!nle_Keyboard_getEventKeyState())
                        continue;
                    if (nle_Keyboard_getEventKey() != 87)
                        break;
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    $ptr = 16;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() == 1) {
                    $ptr = 19;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61))
                    break;
                if (nle_Keyboard_getEventKey() == 59) {
                    $var1 = $this.$gameSettings;
                    $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 61) {
                    $var1 = $this.$gameSettings;
                    $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 63) {
                    $var1 = $this.$gameSettings;
                    $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 66) {
                    $var1 = $this.$gameSettings;
                    $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                    $var1 = new nms_GuiInventory;
                    $var2 = $this.$thePlayer;
                    $ptr = 30;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() != $this.$gameSettings.$keyBindDrop.$keyCode)
                    continue;
                else {
                    $var1 = $this.$thePlayer;
                    continue main;
                }
            }
            $ptr = 25;
            continue main;
        case 33:
            nms_GuiChat__init_($var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 34;
        case 34:
            nmc_Minecraft_displayGuiScreen($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var6 = 0;
                while ($var6 < 9) {
                    if (nle_Keyboard_getEventKey() == (2 + $var6 | 0))
                        $this.$thePlayer.$inventory.$currentItem = $var6;
                    $var6 = $var6 + 1 | 0;
                }
                $var3 = nle_Keyboard_getEventKey();
                $var1 = $this.$gameSettings;
                if ($var3 == $var1.$keyBindToggleFog.$keyCode) {
                    nms_EnumOptions_$callClinit();
                    $var2 = nms_EnumOptions_RENDER_DISTANCE;
                    $var3 = !nle_Keyboard_isKeyDown(42) && !nle_Keyboard_isKeyDown(54) ? 1 : (-1);
                    $ptr = 29;
                    continue main;
                }
                while (true) {
                    if (!nle_Keyboard_next()) {
                        if ($this.$currentScreen === null) {
                            if (nle_Mouse_isButtonDown(0) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                $var3 = 0;
                                $ptr = 20;
                                continue main;
                            }
                            if (nle_Mouse_isButtonDown(1) && ($this.$ticksRan - $this.$field_6302_aa | 0) >= $this.$timer.$ticksPerSecond / 4.0 && $this.$inGameHasFocus) {
                                $var3 = 1;
                                $ptr = 23;
                                continue main;
                            }
                        }
                        $var3 = 0;
                        $var6 = $this.$currentScreen === null && nle_Mouse_isButtonDown(0) && $this.$inGameHasFocus ? 1 : 0;
                        $ptr = 17;
                        continue main;
                    }
                    nms_EntityPlayerSP_handleKeyPress($this.$thePlayer, nle_Keyboard_getEventKey(), nle_Keyboard_getEventKeyState());
                    if (!nle_Keyboard_getEventKeyState())
                        continue;
                    if (nle_Keyboard_getEventKey() != 87)
                        break;
                }
                $var1 = $this.$currentScreen;
                if ($var1 !== null) {
                    $ptr = 16;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() == 1) {
                    $ptr = 19;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() == 31 && nle_Keyboard_isKeyDown(61))
                    break;
                if (nle_Keyboard_getEventKey() == 59) {
                    $var1 = $this.$gameSettings;
                    $var1.$hideGUI = $var1.$hideGUI ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 61) {
                    $var1 = $this.$gameSettings;
                    $var1.$showDebugInfo = $var1.$showDebugInfo ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 63) {
                    $var1 = $this.$gameSettings;
                    $var1.$thirdPersonView = $var1.$thirdPersonView ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == 66) {
                    $var1 = $this.$gameSettings;
                    $var1.$smoothCamera = $var1.$smoothCamera ? 0 : 1;
                }
                if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindInventory.$keyCode) {
                    $var1 = new nms_GuiInventory;
                    $var2 = $this.$thePlayer;
                    $ptr = 30;
                    continue main;
                }
                if (nle_Keyboard_getEventKey() == $this.$gameSettings.$keyBindDrop.$keyCode) {
                    $var1 = $this.$thePlayer;
                    $ptr = 32;
                    continue main;
                }
                if (!nmc_Minecraft_isMultiplayerWorld($this))
                    continue;
                if (nle_Keyboard_getEventKey() != $this.$gameSettings.$keyBindChat.$keyCode)
                    continue;
                else {
                    $var1 = new nms_GuiChat;
                    $ptr = 33;
                    continue main;
                }
            }
            $ptr = 25;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var3, $var2, $var6, $var4, $ptr);
    }
    function nmc_Minecraft_forceReload($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = jl_System_out();
            var$2 = $rt_s(267);
            $ptr = 1;
        case 1:
            ji_PrintStream_println0(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_SoundManager__init_0();
            $this.$sndManager = var$1;
            var$1.$options0 = $this.$gameSettings;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nmc_Minecraft_isMultiplayerWorld($this) {
        var var$1;
        var$1 = $this.$theWorld;
        return var$1 !== null && var$1.$multiplayerWorld ? 1 : 0;
    }
    function nmc_Minecraft_startWorld($this, $var1, $var2, $var3) {
        var $var6, $var5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var6 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = null;
            $ptr = 1;
        case 1:
            nmc_Minecraft_changeWorld1($this, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $this.$saveLoader;
            $var5 = new nleb_EaglercraftSaveHandler;
            $var6 = $var6.$directory;
            var$6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$6);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$6, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            jl_AbstractStringBuilder_append($var6, 47);
            $ptr = 3;
        case 3:
            jl_StringBuilder_append($var6, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var5.$directory0 = $var1;
            $var6 = new nms_World;
            $var1 = null;
            $ptr = 5;
        case 5:
            nms_World__init_($var6, $var5, $var2, $var3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var6.$isNewWorld) {
                $var1 = $this.$field_25001_G;
                $ptr = 6;
                continue main;
            }
            $var1 = $this.$field_25001_G;
            $ptr = 10;
            continue main;
        case 6:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_StatList_field_25182_g;
            var$7 = 1;
            $ptr = 7;
        case 7:
            nms_XBlah_func_25100_a($var1, $var2, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$field_25001_G;
            $var1 = nms_StatList_field_25184_e;
            var$7 = 1;
            $ptr = 8;
        case 8:
            nms_XBlah_func_25100_a($var2, $var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $rt_s(268);
            $ptr = 9;
        case 9:
            nmc_Minecraft_changeWorld2($this, $var6, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 10:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_StatList_field_25183_f;
            var$7 = 1;
            $ptr = 11;
        case 11:
            nms_XBlah_func_25100_a($var1, $var2, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$field_25001_G;
            $var2 = nms_StatList_field_25184_e;
            var$7 = 1;
            $ptr = 12;
        case 12:
            nms_XBlah_func_25100_a($var1, $var2, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $rt_s(269);
            $ptr = 13;
        case 13:
            nmc_Minecraft_changeWorld2($this, $var6, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var6, $var5, var$6, var$7, $ptr);
    }
    function nmc_Minecraft_usePortal($this) {
        var var$1, var$2, $var1, $var3, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$thePlayer;
            if (var$1.$dimension != (-1))
                var$1.$dimension = (-1);
            else
                var$1.$dimension = 0;
            var$2 = $this.$theWorld;
            $ptr = 1;
        case 1:
            var$2.$setEntityDead(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$thePlayer;
            var$1.$isDead = 0;
            $var1 = var$1.$posX;
            $var3 = var$1.$posZ;
            if (var$1.$dimension != (-1)) {
                $var1 = $var1 * 8.0;
                $var3 = $var3 * 8.0;
                nms_Entity_setLocationAndAngles(var$1, $var1, var$1.$posY, $var3, var$1.$rotationYaw, var$1.$rotationPitch);
                var$1 = $this.$theWorld;
                var$2 = $this.$thePlayer;
                var$5 = 0;
                $ptr = 2;
                continue main;
            }
            $var1 = $var1 / 8.0;
            $var3 = $var3 / 8.0;
            nms_Entity_setLocationAndAngles(var$1, $var1, var$1.$posY, $var3, var$1.$rotationYaw, var$1.$rotationPitch);
            var$1 = $this.$theWorld;
            var$2 = $this.$thePlayer;
            var$5 = 0;
            $ptr = 5;
            continue main;
        case 2:
            nms_World_updateEntityWithOptionalForce(var$1, var$2, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = new nms_World;
            var$1 = $this.$theWorld;
            var$2 = nms_WorldProvider__init_0();
            $ptr = 3;
        case 3:
            nms_World__init_0(var$6, var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_s(270);
            var$2 = $this.$thePlayer;
            $ptr = 4;
        case 4:
            nmc_Minecraft_changeWorld($this, var$6, var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$thePlayer;
            var$1.$worldObj0 = $this.$theWorld;
            nms_Entity_setLocationAndAngles(var$1, $var1, var$1.$posY, $var3, var$1.$rotationYaw, var$1.$rotationPitch);
            var$1 = $this.$theWorld;
            var$2 = $this.$thePlayer;
            var$5 = 0;
            $ptr = 8;
            continue main;
        case 5:
            nms_World_updateEntityWithOptionalForce(var$1, var$2, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = new nms_World;
            var$2 = $this.$theWorld;
            var$6 = new nms_WorldProviderHell;
            nms_WorldProvider__init_(var$6);
            $ptr = 6;
        case 6:
            nms_World__init_0(var$1, var$2, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(271);
            var$6 = $this.$thePlayer;
            $ptr = 7;
        case 7:
            nmc_Minecraft_changeWorld($this, var$1, var$2, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$thePlayer;
            var$1.$worldObj0 = $this.$theWorld;
            nms_Entity_setLocationAndAngles(var$1, $var1, var$1.$posY, $var3, var$1.$rotationYaw, var$1.$rotationPitch);
            var$1 = $this.$theWorld;
            var$2 = $this.$thePlayer;
            var$5 = 0;
            $ptr = 8;
        case 8:
            nms_World_updateEntityWithOptionalForce(var$1, var$2, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Teleporter__init_0();
            var$2 = $this.$theWorld;
            var$6 = $this.$thePlayer;
            $ptr = 9;
        case 9:
            $tmp = nms_Teleporter_func_4106_b(var$1, var$2, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return;
            $ptr = 10;
        case 10:
            nms_Teleporter_func_4108_c(var$1, var$2, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_Teleporter_func_4106_b(var$1, var$2, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $var1, $var3, var$5, var$6, $ptr);
    }
    function nmc_Minecraft_changeWorld1($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(3);
            $ptr = 1;
        case 1:
            nmc_Minecraft_changeWorld2($this, $var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nmc_Minecraft_changeWorld2($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = null;
            $ptr = 1;
        case 1:
            nmc_Minecraft_changeWorld($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nmc_Minecraft_changeWorld($this, $var1, $var2, $var3) {
        var $var5, $var4, var$6, var$7, var$8, var$9, var$10, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$renderViewEntity = null;
            $var5 = $this.$loadingScreen;
            $ptr = 1;
        case 1:
            nms_LoadingScreenRenderer_printText($var5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$loadingScreen;
            $var4 = $rt_s(3);
            $ptr = 2;
        case 2:
            nms_LoadingScreenRenderer_displayLoadingString($var5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$sndManager;
            $var4 = null;
            var$6 = 0.0;
            var$7 = 0.0;
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.0;
            $ptr = 3;
        case 3:
            nms_SoundManager_playSound($var5, $var4, var$6, var$7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$theWorld;
            if ($var5 !== null) {
                $var4 = $this.$loadingScreen;
                $ptr = 4;
                continue main;
            }
            $this.$theWorld = $var1;
            if ($var1 === null) {
                $this.$thePlayer = null;
                $this.$systemTime = Long_ZERO;
                return;
            }
            $this.$playerController.$func_717_a($var1);
            if (nmc_Minecraft_isMultiplayerWorld($this)) {
                $var5 = $this.$thePlayer;
                if ($var5 !== null) {
                    $ptr = 5;
                    continue main;
                }
            } else if ($var3 === null)
                $this.$thePlayer = null;
            if (!$var1.$multiplayerWorld) {
                $ptr = 7;
                continue main;
            }
            if ($this.$thePlayer === null) {
                $var2 = $this.$playerController;
                $ptr = 8;
                continue main;
            }
            $this.$thePlayer.$movementInput = nms_MovementInputFromOptions__init_($this.$gameSettings);
            $var2 = $this.$renderGlobal;
            if ($var2 !== null) {
                $var5 = $var2.$worldObj1;
                if ($var5 !== null) {
                    $ptr = 12;
                    continue main;
                }
                $var2.$prevSortX = (-9999.0);
                $var2.$prevSortY = (-9999.0);
                $var2.$prevSortZ = (-9999.0);
                $ptr = 10;
                continue main;
            }
            $var2 = $this.$effectRenderer;
            if ($var2 !== null) {
                $var2.$worldObj = $var1;
                $var6 = 0;
                while ($var6 < 4) {
                    ju_ArrayList_clear($var2.$fxLayers.data[$var6]);
                    $var6 = $var6 + 1 | 0;
                }
            }
            $var4 = $var1.$chunkProvider;
            if ($var4 instanceof nms_ChunkProviderLoadOrGenerate)
                nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver($var4, nms_MathHelper_floor_float($this.$thePlayer.$posX | 0) >> 4, nms_MathHelper_floor_float($this.$thePlayer.$posZ | 0) >> 4);
            $var2 = $this.$thePlayer;
            $ptr = 13;
            continue main;
        case 4:
            nms_World_func_651_a($var5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$theWorld = $var1;
            if ($var1 === null) {
                $this.$thePlayer = null;
                $this.$systemTime = Long_ZERO;
                return;
            }
            $this.$playerController.$func_717_a($var1);
            if (nmc_Minecraft_isMultiplayerWorld($this)) {
                $var5 = $this.$thePlayer;
                if ($var5 !== null) {
                    $ptr = 5;
                    continue main;
                }
            } else if ($var3 === null)
                $this.$thePlayer = null;
            if (!$var1.$multiplayerWorld) {
                $ptr = 7;
                continue main;
            }
            if ($this.$thePlayer === null) {
                $var2 = $this.$playerController;
                $ptr = 8;
                continue main;
            }
            $this.$thePlayer.$movementInput = nms_MovementInputFromOptions__init_($this.$gameSettings);
            $var2 = $this.$renderGlobal;
            if ($var2 !== null) {
                $var5 = $var2.$worldObj1;
                if ($var5 !== null) {
                    $ptr = 12;
                    continue main;
                }
                $var2.$prevSortX = (-9999.0);
                $var2.$prevSortY = (-9999.0);
                $var2.$prevSortZ = (-9999.0);
                $ptr = 10;
                continue main;
            }
            $var2 = $this.$effectRenderer;
            if ($var2 !== null) {
                $var2.$worldObj = $var1;
                $var6 = 0;
                while ($var6 < 4) {
                    ju_ArrayList_clear($var2.$fxLayers.data[$var6]);
                    $var6 = $var6 + 1 | 0;
                }
            }
            $var4 = $var1.$chunkProvider;
            if ($var4 instanceof nms_ChunkProviderLoadOrGenerate)
                nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver($var4, nms_MathHelper_floor_float($this.$thePlayer.$posX | 0) >> 4, nms_MathHelper_floor_float($this.$thePlayer.$posZ | 0) >> 4);
            $var2 = $this.$thePlayer;
            $ptr = 13;
            continue main;
        case 5:
            nms_EntityPlayer_preparePlayerToSpawn($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$thePlayer;
            $ptr = 6;
        case 6:
            $var1.$entityJoinedWorld($var5);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var1.$multiplayerWorld) {
                $ptr = 7;
                continue main;
            }
            if ($this.$thePlayer === null) {
                $var2 = $this.$playerController;
                $ptr = 8;
                continue main;
            }
            $this.$thePlayer.$movementInput = nms_MovementInputFromOptions__init_($this.$gameSettings);
            $var2 = $this.$renderGlobal;
            if ($var2 !== null) {
                $var5 = $var2.$worldObj1;
                if ($var5 !== null) {
                    $ptr = 12;
                    continue main;
                }
                $var2.$prevSortX = (-9999.0);
                $var2.$prevSortY = (-9999.0);
                $var2.$prevSortZ = (-9999.0);
                $ptr = 10;
                continue main;
            }
            $var2 = $this.$effectRenderer;
            if ($var2 !== null) {
                $var2.$worldObj = $var1;
                $var6 = 0;
                while ($var6 < 4) {
                    ju_ArrayList_clear($var2.$fxLayers.data[$var6]);
                    $var6 = $var6 + 1 | 0;
                }
            }
            $var4 = $var1.$chunkProvider;
            if ($var4 instanceof nms_ChunkProviderLoadOrGenerate)
                nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver($var4, nms_MathHelper_floor_float($this.$thePlayer.$posX | 0) >> 4, nms_MathHelper_floor_float($this.$thePlayer.$posZ | 0) >> 4);
            $var2 = $this.$thePlayer;
            $ptr = 13;
            continue main;
        case 7:
            nmc_Minecraft_func_6255_d($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$thePlayer === null) {
                $var2 = $this.$playerController;
                $ptr = 8;
                continue main;
            }
            $this.$thePlayer.$movementInput = nms_MovementInputFromOptions__init_($this.$gameSettings);
            $var2 = $this.$renderGlobal;
            if ($var2 !== null) {
                $var5 = $var2.$worldObj1;
                if ($var5 !== null) {
                    $ptr = 12;
                    continue main;
                }
                $var2.$prevSortX = (-9999.0);
                $var2.$prevSortY = (-9999.0);
                $var2.$prevSortZ = (-9999.0);
                $ptr = 10;
                continue main;
            }
            $var2 = $this.$effectRenderer;
            if ($var2 !== null) {
                $var2.$worldObj = $var1;
                $var6 = 0;
                while ($var6 < 4) {
                    ju_ArrayList_clear($var2.$fxLayers.data[$var6]);
                    $var6 = $var6 + 1 | 0;
                }
            }
            $var4 = $var1.$chunkProvider;
            if ($var4 instanceof nms_ChunkProviderLoadOrGenerate)
                nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver($var4, nms_MathHelper_floor_float($this.$thePlayer.$posX | 0) >> 4, nms_MathHelper_floor_float($this.$thePlayer.$posZ | 0) >> 4);
            $var2 = $this.$thePlayer;
            $ptr = 13;
            continue main;
        case 8:
            $tmp = $var2.$createPlayer($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$thePlayer = $var2;
            $ptr = 9;
        case 9:
            nms_EntityPlayer_preparePlayerToSpawn($var2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$playerController.$flipPlayer($this.$thePlayer);
            $this.$thePlayer.$movementInput = nms_MovementInputFromOptions__init_($this.$gameSettings);
            $var2 = $this.$renderGlobal;
            if ($var2 !== null) {
                $var5 = $var2.$worldObj1;
                if ($var5 !== null) {
                    $ptr = 12;
                    continue main;
                }
                $var2.$prevSortX = (-9999.0);
                $var2.$prevSortY = (-9999.0);
                $var2.$prevSortZ = (-9999.0);
                $ptr = 10;
                continue main;
            }
            $var2 = $this.$effectRenderer;
            if ($var2 !== null) {
                $var2.$worldObj = $var1;
                $var6 = 0;
                while ($var6 < 4) {
                    ju_ArrayList_clear($var2.$fxLayers.data[$var6]);
                    $var6 = $var6 + 1 | 0;
                }
            }
            $var4 = $var1.$chunkProvider;
            if ($var4 instanceof nms_ChunkProviderLoadOrGenerate)
                nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver($var4, nms_MathHelper_floor_float($this.$thePlayer.$posX | 0) >> 4, nms_MathHelper_floor_float($this.$thePlayer.$posZ | 0) >> 4);
            $var2 = $this.$thePlayer;
            $ptr = 13;
            continue main;
        case 10:
            nms_RenderManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_RenderManager_instance.$worldObj2 = $var1;
            $var2.$worldObj1 = $var1;
            $var2.$field_1438_u = nms_RenderBlocks__init_0($var1);
            nms_World_addWorldAccess($var1, $var2);
            $ptr = 11;
        case 11:
            nms_RenderGlobal_loadRenderers($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$effectRenderer;
            if ($var2 !== null) {
                $var2.$worldObj = $var1;
                $var6 = 0;
                while ($var6 < 4) {
                    ju_ArrayList_clear($var2.$fxLayers.data[$var6]);
                    $var6 = $var6 + 1 | 0;
                }
            }
            $var4 = $var1.$chunkProvider;
            if ($var4 instanceof nms_ChunkProviderLoadOrGenerate)
                nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver($var4, nms_MathHelper_floor_float($this.$thePlayer.$posX | 0) >> 4, nms_MathHelper_floor_float($this.$thePlayer.$posZ | 0) >> 4);
            $var2 = $this.$thePlayer;
            $ptr = 13;
            continue main;
        case 12:
            nms_World_removeWorldAccess($var5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2.$prevSortX = (-9999.0);
            $var2.$prevSortY = (-9999.0);
            $var2.$prevSortZ = (-9999.0);
            $ptr = 10;
            continue main;
        case 13:
            nms_World_spawnPlayerWithLoadedChunks($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var1.$isNewWorld) {
                $this.$renderViewEntity = $this.$thePlayer;
                $this.$systemTime = Long_ZERO;
                return;
            }
            $var2 = $this.$loadingScreen;
            $ptr = 14;
        case 14:
            nms_World_func_651_a($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$renderViewEntity = $this.$thePlayer;
            $this.$systemTime = Long_ZERO;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var5, $var4, var$6, var$7, var$8, var$9, var$10, $var6, $ptr);
    }
    function nmc_Minecraft_func_6255_d($this, $var1) {
        var $var7, $var2, var$4, $var5, $var6, var$7, $var10, $var8, var$10, $var3, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var3 = $thread.pop();var$10 = $thread.pop();$var8 = $thread.pop();$var10 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();$var7 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var7 = $this.$loadingScreen;
            $ptr = 1;
        case 1:
            nms_LoadingScreenRenderer_printText($var7, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$loadingScreen;
            $var7 = $rt_s(272);
            $ptr = 2;
        case 2:
            nms_LoadingScreenRenderer_displayLoadingString($var1, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 128;
            var$4 = 289;
            $var1 = $this.$theWorld;
            $var5 = $var1.$chunkProvider;
            $var6 = nms_World_getSpawnPoint($var1);
            $var1 = $this.$thePlayer;
            if ($var1 !== null) {
                $var6.$x = $var1.$posX | 0;
                $var6.$z = $var1.$posZ | 0;
            }
            if ($var5 instanceof nms_ChunkProviderLoadOrGenerate)
                nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver($var5, $var6.$x >> 4, $var6.$z >> 4);
            var$7 = (-128);
            $var10 = var$7;
            while ($var10 <= $var2) {
                $var8 = var$7;
                if ($var8 <= $var2) {
                    $var1 = $this.$loadingScreen;
                    var$10 = 0 + 1 | 0;
                    $var3 = (0 * 100 | 0) / var$4 | 0;
                    $ptr = 4;
                    continue main;
                }
                $var10 = $var10 + 16 | 0;
            }
            $var1 = $this.$loadingScreen;
            $var7 = $rt_s(273);
            $ptr = 3;
        case 3:
            nms_LoadingScreenRenderer_displayLoadingString($var1, $var7);
            if ($rt_suspending()) {
                break main;
            }
            nms_World_func_656_j($this.$theWorld);
            return;
        case 4:
            nms_LoadingScreenRenderer_setLoadingProgress($var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$theWorld;
            var$12 = $var6.$x + $var10 | 0;
            $var3 = 64;
            var$13 = $var6.$z + $var8 | 0;
            $ptr = 5;
        case 5:
            nms_World_getBlockId($var1, var$12, $var3, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$theWorld;
            $ptr = 6;
        case 6:
            $tmp = nms_World_updateLighting($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3) {
                $var1 = $this.$theWorld;
                continue main;
            }
            $var8 = $var8 + 16 | 0;
            $var3 = var$10;
            while (true) {
                if ($var8 <= $var2) {
                    $var1 = $this.$loadingScreen;
                    var$10 = $var3 + 1 | 0;
                    $var3 = ($var3 * 100 | 0) / var$4 | 0;
                    $ptr = 4;
                    continue main;
                }
                $var10 = $var10 + 16 | 0;
                if ($var10 > $var2)
                    break;
                $var8 = var$7;
            }
            $var1 = $this.$loadingScreen;
            $var7 = $rt_s(273);
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var7, $var2, var$4, $var5, $var6, var$7, $var10, $var8, var$10, $var3, var$12, var$13, $ptr);
    }
    function nmc_Minecraft_func_6241_m($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$renderGlobal;
            var$2 = var$1.$renderersBeingRendered;
            var$3 = var$1.$renderersLoaded;
            var$4 = var$1.$renderersBeingClipped;
            var$5 = var$1.$renderersBeingOccluded;
            var$6 = var$1.$renderersSkippingRenderPass;
            var$1 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$1);
            var$7 = $rt_s(274);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append0(var$7, var$2);
            jl_AbstractStringBuilder_append(var$7, 47);
            jl_AbstractStringBuilder_append0(var$7, var$3);
            var$8 = $rt_s(275);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append0(var$7, var$4);
            var$8 = $rt_s(276);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append0(var$7, var$5);
            var$8 = $rt_s(277);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append0(var$7, var$6);
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nmc_Minecraft_func_6262_n($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$renderGlobal;
            var$2 = var$1.$field_1422_K;
            var$3 = var$1.$field_1423_J;
            var$4 = var$1.$field_1421_L;
            var$5 = (var$3 - var$4 | 0) - var$2 | 0;
            var$1 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$1);
            var$6 = $rt_s(278);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$1, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_AbstractStringBuilder_append0(var$6, var$2);
            jl_AbstractStringBuilder_append(var$6, 47);
            jl_AbstractStringBuilder_append0(var$6, var$3);
            var$7 = $rt_s(279);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_AbstractStringBuilder_append0(var$6, var$4);
            var$7 = $rt_s(280);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_AbstractStringBuilder_append0(var$6, var$5);
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nmc_Minecraft_func_21002_o($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$theWorld;
            $ptr = 1;
        case 1:
            $tmp = nms_World_func_21119_g(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nmc_Minecraft_func_6245_o($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$effectRenderer.$fxLayers.data;
            var$2 = (var$1[0].$size0 + var$1[1].$size0 | 0) + var$1[2].$size0 | 0;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            jl_AbstractStringBuilder_append0(var$3, var$2);
            $ptr = 1;
        case 1:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$4 = $this.$theWorld;
            $ptr = 2;
        case 2:
            $tmp = nms_World_func_687_d(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            var$6 = $rt_s(281);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append(var$6, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$6 = $rt_s(282);
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append(var$3, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 6;
        case 6:
            jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nmc_Minecraft_respawn($this, $var1) {
        var $var2, $var3, $var4, $var6, $var7, $var5, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var5 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$theWorld.$worldProvider.$canRespawnHere()) {
                $ptr = 1;
                continue main;
            }
            $var2 = null;
            $var3 = null;
            $var4 = 1;
            $var6 = $this.$thePlayer;
            if ($var6 !== null && !$var1) {
                $var2 = $var6.$playerSpawnCoordinate;
                if ($var2 !== null) {
                    $var6 = $this.$theWorld;
                    $var3 = $var6.$chunkProvider;
                    $var7 = ($var2.$x - 3 | 0) >> 4;
                    $var1 = ($var2.$z - 3 | 0) >> 4;
                    $ptr = 2;
                    continue main;
                }
            }
            if ($var3 === null) {
                $var3 = nms_World_getSpawnPoint($this.$theWorld);
                $var4 = 0;
            }
            $var5 = $this.$theWorld.$chunkProvider;
            if ($var5 instanceof nms_ChunkProviderLoadOrGenerate)
                nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver($var5, $var3.$x >> 4, $var3.$z >> 4);
            $var6 = $this.$theWorld;
            $ptr = 9;
            continue main;
        case 1:
            nmc_Minecraft_usePortal($this);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = null;
            $var3 = null;
            $var4 = 1;
            $var6 = $this.$thePlayer;
            if ($var6 !== null && !$var1) {
                $var2 = $var6.$playerSpawnCoordinate;
                if ($var2 !== null) {
                    $var6 = $this.$theWorld;
                    $var3 = $var6.$chunkProvider;
                    $var7 = ($var2.$x - 3 | 0) >> 4;
                    $var1 = ($var2.$z - 3 | 0) >> 4;
                    $ptr = 2;
                    continue main;
                }
            }
            if ($var3 === null) {
                $var3 = nms_World_getSpawnPoint($this.$theWorld);
                $var4 = 0;
            }
            $var5 = $this.$theWorld.$chunkProvider;
            if ($var5 instanceof nms_ChunkProviderLoadOrGenerate)
                nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver($var5, $var3.$x >> 4, $var3.$z >> 4);
            $var6 = $this.$theWorld;
            $ptr = 9;
            continue main;
        case 2:
            $var3.$func_538_d($var7, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = ($var2.$x + 3 | 0) >> 4;
            $var7 = ($var2.$z - 3 | 0) >> 4;
            $ptr = 3;
        case 3:
            $var3.$func_538_d($var1, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = ($var2.$x - 3 | 0) >> 4;
            $var7 = ($var2.$z + 3 | 0) >> 4;
            $ptr = 4;
        case 4:
            $var3.$func_538_d($var1, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = ($var2.$x + 3 | 0) >> 4;
            $var7 = ($var2.$z + 3 | 0) >> 4;
            $ptr = 5;
        case 5:
            $var3.$func_538_d($var1, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var2.$x;
            $var7 = $var2.$y;
            var$8 = $var2.$z;
            $ptr = 6;
        case 6:
            $tmp = nms_World_getBlockId($var6, $var1, $var7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $ptr = 7;
        case 7:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var1 == nms_Block_blockBed.$blockID) {
                $var7 = $var2.$x;
                var$8 = $var2.$y;
                var$9 = $var2.$z;
                $var1 = 0;
                $ptr = 8;
                continue main;
            }
            $var3 = null;
            if ($var3 === null) {
                $var6 = $this.$thePlayer;
                $var5 = $rt_s(283);
                $ptr = 12;
                continue main;
            }
            if ($var3 === null) {
                $var3 = nms_World_getSpawnPoint($this.$theWorld);
                $var4 = 0;
            }
            $var5 = $this.$theWorld.$chunkProvider;
            if ($var5 instanceof nms_ChunkProviderLoadOrGenerate)
                nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver($var5, $var3.$x >> 4, $var3.$z >> 4);
            $var6 = $this.$theWorld;
            $ptr = 9;
            continue main;
        case 8:
            $tmp = nms_BlockBed_getNearestEmptyChunkCoordinates($var6, $var7, var$8, var$9, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3 === null) {
                $var6 = $this.$thePlayer;
                $var5 = $rt_s(283);
                $ptr = 12;
                continue main;
            }
            if ($var3 === null) {
                $var3 = nms_World_getSpawnPoint($this.$theWorld);
                $var4 = 0;
            }
            $var5 = $this.$theWorld.$chunkProvider;
            if ($var5 instanceof nms_ChunkProviderLoadOrGenerate)
                nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver($var5, $var3.$x >> 4, $var3.$z >> 4);
            $var6 = $this.$theWorld;
            $ptr = 9;
        case 9:
            $var6.$setSpawnLocation();
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $this.$theWorld;
            $ptr = 10;
        case 10:
            nms_World_updateEntityList($var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 0;
            $var5 = $this.$thePlayer;
            if ($var5 !== null) {
                $var7 = $var5.$entityId;
                $var6 = $this.$theWorld;
                $ptr = 11;
                continue main;
            }
            $this.$renderViewEntity = null;
            $var6 = $this.$playerController;
            $var5 = $this.$theWorld;
            $ptr = 13;
            continue main;
        case 11:
            $var6.$setEntityDead($var5);
            if ($rt_suspending()) {
                break main;
            }
            $this.$renderViewEntity = null;
            $var6 = $this.$playerController;
            $var5 = $this.$theWorld;
            $ptr = 13;
            continue main;
        case 12:
            nms_EntityPlayerSP_addChatMessage($var6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            if ($var3 === null) {
                $var3 = nms_World_getSpawnPoint($this.$theWorld);
                $var4 = 0;
            }
            $var5 = $this.$theWorld.$chunkProvider;
            if ($var5 instanceof nms_ChunkProviderLoadOrGenerate)
                nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver($var5, $var3.$x >> 4, $var3.$z >> 4);
            $var6 = $this.$theWorld;
            $ptr = 9;
            continue main;
        case 13:
            $tmp = $var6.$createPlayer($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $this.$thePlayer = $var6;
            $this.$renderViewEntity = $var6;
            $ptr = 14;
        case 14:
            nms_EntityPlayer_preparePlayerToSpawn($var6);
            if ($rt_suspending()) {
                break main;
            }
            if ($var4) {
                nms_EntityPlayer_setPlayerSpawnCoordinate($this.$thePlayer, $var2);
                nms_Entity_setLocationAndAngles($this.$thePlayer, $var3.$x + 0.5, $var3.$y + 0.10000000149011612, $var3.$z + 0.5, 0.0, 0.0);
            }
            $this.$playerController.$flipPlayer($this.$thePlayer);
            $var6 = $this.$theWorld;
            $var2 = $this.$thePlayer;
            $ptr = 15;
        case 15:
            nms_World_spawnPlayerWithLoadedChunks($var6, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$thePlayer.$movementInput = nms_MovementInputFromOptions__init_($this.$gameSettings);
            $this.$thePlayer.$entityId = $var7;
            $var6 = $rt_s(284);
            $ptr = 16;
        case 16:
            nmc_Minecraft_func_6255_d($this, $var6);
            if ($rt_suspending()) {
                break main;
            }
            if (!($this.$currentScreen instanceof nms_GuiGameOver))
                return;
            $var6 = null;
            $ptr = 17;
        case 17:
            nmc_Minecraft_displayGuiScreen($this, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var6, $var7, $var5, var$8, var$9, $ptr);
    }
    function nmc_Minecraft_isFancyGraphicsEnabled() {
        var var$1;
        var$1 = nmc_Minecraft_theMinecraft;
        return var$1 !== null && var$1.$gameSettings.$fancyGraphics ? 1 : 0;
    }
    function nmc_Minecraft__clinit_() {
        nmc_Minecraft_frameTimes = $rt_createLongArray(512);
        nmc_Minecraft_tickTimes = $rt_createLongArray(512);
        nmc_Minecraft_numRecordedFrameTimes = 0;
        nmc_Minecraft_minecraftDir = null;
    }
    var jl_AutoCloseable = $rt_classWithoutFields(0);
    var ji_Closeable = $rt_classWithoutFields(0);
    var ji_Flushable = $rt_classWithoutFields(0);
    var ji_OutputStream = $rt_classWithoutFields();
    function ji_OutputStream_write($this, $b) {
        $this.$write($b, 0, $b.data.length);
    }
    function ji_OutputStream_close($this) {}
    function ji_OutputStream_flush($this) {}
    function ji_FilterOutputStream() {
        ji_OutputStream.call(this);
        this.$out0 = null;
    }
    function ji_FilterOutputStream__init_(var_0) {
        var var_1 = new ji_FilterOutputStream();
        ji_FilterOutputStream__init_0(var_1, var_0);
        return var_1;
    }
    function ji_FilterOutputStream__init_0($this, $out) {
        $this.$out0 = $out;
    }
    function ji_FilterOutputStream_close($this) {
        var $$je;
        a: {
            try {
                ji_OutputStream_flush($this.$out0);
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
        }
        $this.$out0.$close();
    }
    function ji_PrintStream() {
        var a = this; ji_FilterOutputStream.call(a);
        a.$autoFlush = 0;
        a.$errorState = 0;
        a.$sb = null;
        a.$buffer0 = null;
        a.$charset = null;
    }
    function ji_PrintStream__init_(var_0, var_1) {
        var var_2 = new ji_PrintStream();
        ji_PrintStream__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function ji_PrintStream__init_0($this, $out, $autoFlush) {
        ji_FilterOutputStream__init_0($this, $out);
        $out = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($out);
        $this.$sb = $out;
        $this.$buffer0 = $rt_createCharArray(32);
        $this.$autoFlush = $autoFlush;
        jnci_UTF8Charset_$callClinit();
        $this.$charset = jnci_UTF8Charset_INSTANCE;
    }
    function ji_PrintStream_write($this, $b, $off, $len) {
        var var$4, $$je;
        var$4 = $this.$out0;
        if (var$4 === null)
            $this.$errorState = 1;
        if (!($this.$errorState ? 0 : 1))
            return;
        a: {
            try {
                var$4.$write($b, $off, $len);
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $this.$errorState = 1;
        }
    }
    function ji_PrintStream_print0($this, $s, $begin, $end) {
        var $src, $destBytes, $dest, $encoder, var$8, $overflow, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$overflow = $thread.pop();var$8 = $thread.pop();$encoder = $thread.pop();$dest = $thread.pop();$destBytes = $thread.pop();$src = $thread.pop();$end = $thread.pop();$begin = $thread.pop();$s = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $end = $end - $begin | 0;
            $src = jn_CharBuffer_wrap0($s, $begin, $end);
            $destBytes = $rt_createByteArray(jl_Math_max(16, jl_Math_min($end, 1024)));
            $dest = jn_ByteBuffer_wrap0($destBytes);
            $encoder = jnci_UTF8Charset_newEncoder($this.$charset);
            jnc_CodingErrorAction_$callClinit();
            $encoder = jnc_CharsetEncoder_onUnmappableCharacter(jnc_CharsetEncoder_onMalformedInput($encoder, jnc_CodingErrorAction_REPLACE), jnc_CodingErrorAction_REPLACE);
            $begin = 1;
            $ptr = 1;
        case 1:
            $tmp = jnc_CharsetEncoder_encode($encoder, $src, $dest, $begin);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $overflow = jnc_CoderResult_isOverflow(var$8);
            ji_PrintStream_write($this, $destBytes, 0, $dest.$position);
            jn_ByteBuffer_clear($dest);
            if (!$overflow) {
                while (true) {
                    $overflow = jnc_CoderResult_isOverflow(jnc_CharsetEncoder_flush($encoder, $dest));
                    ji_PrintStream_write($this, $destBytes, 0, $dest.$position);
                    jn_ByteBuffer_clear($dest);
                    if (!$overflow)
                        break;
                }
                return;
            }
            $begin = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $s, $begin, $end, $src, $destBytes, $dest, $encoder, var$8, $overflow, $ptr);
    }
    function ji_PrintStream_print($this, $s) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$s = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            jl_AbstractStringBuilder_append2($this.$sb, $s);
            $ptr = 1;
        case 1:
            ji_PrintStream_printSB($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $s, $ptr);
    }
    function ji_PrintStream_println1($this, $i) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$i = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$sb;
            jl_AbstractStringBuilder_append0(var$2, $i);
            jl_AbstractStringBuilder_append(var$2, 10);
            $ptr = 1;
        case 1:
            ji_PrintStream_printSB($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $i, var$2, $ptr);
    }
    function ji_PrintStream_println0($this, $s) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$s = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$sb;
            jl_AbstractStringBuilder_append2(var$2, $s);
            jl_AbstractStringBuilder_append(var$2, 10);
            $ptr = 1;
        case 1:
            ji_PrintStream_printSB($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $s, var$2, $ptr);
    }
    function ji_PrintStream_println($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$buffer0;
            var$1.data[0] = 10;
            var$2 = 0;
            var$3 = 1;
            $ptr = 1;
        case 1:
            ji_PrintStream_print0($this, var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function ji_PrintStream_printSB($this) {
        var var$1, var$2, $buffer, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$buffer = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$sb;
            var$2 = var$1.$length0;
            $buffer = $this.$buffer0;
            if (var$2 > $buffer.data.length)
                $buffer = $rt_createCharArray(var$2);
            var$4 = 0;
            var$5 = 0;
            if (var$4 > var$2) {
                var$1 = new jl_IndexOutOfBoundsException;
                jl_Throwable__init_(var$1, $rt_s(285));
                $rt_throw(var$1);
            }
            while (var$4 < var$2) {
                var$6 = $buffer.data;
                var$7 = var$5 + 1 | 0;
                var$8 = var$1.$buffer.data;
                var$9 = var$4 + 1 | 0;
                var$6[var$5] = var$8[var$4];
                var$5 = var$7;
                var$4 = var$9;
            }
            var$5 = 0;
            $ptr = 1;
        case 1:
            ji_PrintStream_print0($this, $buffer, var$5, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$sb.$length0 = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $buffer, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    var ji_InputStream = $rt_classWithoutFields();
    function ji_InputStream_read($this, $b) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$b = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $b.data;
            var$3 = 0;
            var$4 = var$2.length;
            $ptr = 1;
        case 1:
            $tmp = $this.$read($b, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $b, var$2, var$3, var$4, $ptr);
    }
    function ji_InputStream_close($this) {}
    function ji_FilterInputStream() {
        ji_InputStream.call(this);
        this.$in = null;
    }
    function ji_FilterInputStream__init_(var_0) {
        var var_1 = new ji_FilterInputStream();
        ji_FilterInputStream__init_0(var_1, var_0);
        return var_1;
    }
    function ji_FilterInputStream__init_0($this, $in) {
        $this.$in = $in;
    }
    function ji_FilterInputStream_close($this) {
        $this.$in.$close();
    }
    function ji_FilterInputStream_read($this) {
        return $this.$in.$read0();
    }
    function ji_FilterInputStream_read0($this, $buffer) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$buffer = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $buffer.data;
            var$3 = 0;
            var$4 = var$2.length;
            $ptr = 1;
        case 1:
            $tmp = cjj_InflaterInputStream_read($this, $buffer, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $buffer, var$2, var$3, var$4, $ptr);
    }
    var ji_DataInput = $rt_classWithoutFields(0);
    function ji_DataInputStream() {
        ji_FilterInputStream.call(this);
        this.$buff = null;
    }
    function ji_DataInputStream__init_(var_0) {
        var var_1 = new ji_DataInputStream();
        ji_DataInputStream__init_0(var_1, var_0);
        return var_1;
    }
    function ji_DataInputStream__init_0($this, $in) {
        ji_FilterInputStream__init_0($this, $in);
        $this.$buff = $rt_createByteArray(8);
    }
    function ji_DataInputStream_readBoolean($this) {
        var $temp, var$2;
        $temp = $this.$in.$read0();
        if ($temp < 0) {
            var$2 = new ji_EOFException;
            jl_Throwable__init_0(var$2);
            $rt_throw(var$2);
        }
        return !$temp ? 0 : 1;
    }
    function ji_DataInputStream_readByte($this) {
        var $temp, var$2;
        $temp = $this.$in.$read0();
        if ($temp >= 0)
            return $temp << 24 >> 24;
        var$2 = new ji_EOFException;
        jl_Throwable__init_0(var$2);
        $rt_throw(var$2);
    }
    function ji_DataInputStream_readToBuff($this, $count) {
        var $offset, var$3, var$4, var$5, $bytesRead, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$bytesRead = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$offset = $thread.pop();$count = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $offset = 0;
            if ($offset >= $count)
                return $offset;
            var$3 = $this.$in;
            var$4 = $this.$buff;
            var$5 = $count - $offset | 0;
            $ptr = 1;
        case 1:
            $tmp = var$3.$read(var$4, $offset, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $bytesRead = $tmp;
            if ($bytesRead == (-1))
                return $bytesRead;
            $offset = $offset + $bytesRead | 0;
            if ($offset >= $count)
                return $offset;
            var$3 = $this.$in;
            var$4 = $this.$buff;
            var$5 = $count - $offset | 0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $count, $offset, var$3, var$4, var$5, $bytesRead, $ptr);
    }
    function ji_DataInputStream_readDouble($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readLong($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return $rt_longBitsToDouble(var$1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function ji_DataInputStream_readFloat($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return $rt_intBitsToFloat(var$1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function ji_DataInputStream_readFully($this, $buffer) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$buffer = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $buffer.data;
            var$3 = 0;
            var$4 = var$2.length;
            $ptr = 1;
        case 1:
            ji_DataInputStream_readFully0($this, $buffer, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $buffer, var$2, var$3, var$4, $ptr);
    }
    function ji_DataInputStream_readFully0($this, $buffer, $offset, $length) {
        var var$4, $result, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$result = $thread.pop();var$4 = $thread.pop();$length = $thread.pop();$offset = $thread.pop();$buffer = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($length < 0) {
                var$4 = new jl_IndexOutOfBoundsException;
                jl_Throwable__init_0(var$4);
                $rt_throw(var$4);
            }
            if (!$length)
                return;
            if ($this.$in === null) {
                var$4 = new jl_NullPointerException;
                jl_Throwable__init_0(var$4);
                $rt_throw(var$4);
            }
            if ($buffer === null) {
                var$4 = new jl_NullPointerException;
                jl_Throwable__init_0(var$4);
                $rt_throw(var$4);
            }
            if ($offset >= 0 && $offset <= ($buffer.data.length - $length | 0)) {
                if ($length <= 0)
                    return;
                var$4 = $this.$in;
                $ptr = 1;
                continue main;
            }
            var$4 = new jl_IndexOutOfBoundsException;
            jl_Throwable__init_0(var$4);
            $rt_throw(var$4);
        case 1:
            $tmp = var$4.$read($buffer, $offset, $length);
            if ($rt_suspending()) {
                break main;
            }
            $result = $tmp;
            if ($result < 0) {
                var$4 = new ji_EOFException;
                jl_Throwable__init_0(var$4);
                $rt_throw(var$4);
            }
            $offset = $offset + $result | 0;
            $length = $length - $result | 0;
            if ($length <= 0)
                return;
            var$4 = $this.$in;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $buffer, $offset, $length, var$4, $result, $ptr);
    }
    function ji_DataInputStream_readInt($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 4;
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readToBuff($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1 < 0) {
                var$2 = new ji_EOFException;
                jl_Throwable__init_0(var$2);
                $rt_throw(var$2);
            }
            var$3 = $this.$buff.data;
            return (var$3[0] & 255) << 24 | (var$3[1] & 255) << 16 | (var$3[2] & 255) << 8 | var$3[3] & 255;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function ji_DataInputStream_readLong($this) {
        var $i1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$i1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $i1 = 8;
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readToBuff($this, $i1);
            if ($rt_suspending()) {
                break main;
            }
            $i1 = $tmp;
            if ($i1 < 0) {
                var$2 = new ji_EOFException;
                jl_Throwable__init_0(var$2);
                $rt_throw(var$2);
            }
            var$3 = $this.$buff.data;
            return Long_or(Long_shl(Long_and(Long_fromInt((var$3[0] & 255) << 24 | (var$3[1] & 255) << 16 | (var$3[2] & 255) << 8 | var$3[3] & 255), Long_create(4294967295, 0)), 32), Long_and(Long_fromInt((var$3[4] & 255) << 24 | (var$3[5] & 255) << 16 | (var$3[6] & 255) << 8 | var$3[7] & 255), Long_create(4294967295, 0)));
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $i1, var$2, var$3, $ptr);
    }
    function ji_DataInputStream_readShort($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 2;
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readToBuff($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1 < 0) {
                var$2 = new ji_EOFException;
                jl_Throwable__init_0(var$2);
                $rt_throw(var$2);
            }
            var$3 = $this.$buff.data;
            return ((var$3[0] & 255) << 24 >> 16 | var$3[1] & 255) << 16 >> 16;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function ji_DataInputStream_readUTF($this) {
        var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 2;
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readToBuff($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1 < 0) {
                var$2 = new ji_EOFException;
                jl_Throwable__init_0(var$2);
                $rt_throw(var$2);
            }
            var$3 = $this.$buff.data;
            var$4 = ((var$3[0] & 255) << 8 | var$3[1] & 255) & 65535;
            var$3 = $rt_createByteArray(var$4);
            var$5 = $rt_createCharArray(var$4);
            var$1 = 0;
            $ptr = 2;
        case 2:
            ji_DataInputStream_readFully0($this, var$3, var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return ji_DataInputStream_convertUTF8WithBuf(var$3, var$5, 0, var$4);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function ji_DataInputStream_convertUTF8WithBuf($buf, $out, $offset, $utfSize) {
        var $count, $s, var$7, var$8, $b, $ch, $a, var$12, $b_0, $c;
        $count = 0;
        $s = 0;
        a: {
            while ($count < $utfSize) {
                var$7 = $buf.data;
                var$8 = $out.data;
                $b = $count + 1 | 0;
                $ch = var$7[$offset + $count | 0] & 65535;
                var$8[$s] = $ch;
                $a = var$8[$s];
                if ($ch < 128)
                    $s = $s + 1 | 0;
                else if (($a & 224) == 192) {
                    if ($b >= $utfSize) {
                        var$12 = new ji_UTFDataFormatException;
                        jl_Throwable__init_(var$12, $rt_s(286));
                        $rt_throw(var$12);
                    }
                    $ch = $b + 1 | 0;
                    $b = var$7[$offset + $b | 0];
                    if (($b & 192) != 128) {
                        var$12 = new ji_UTFDataFormatException;
                        jl_Throwable__init_(var$12, $rt_s(287));
                        $rt_throw(var$12);
                    }
                    $b_0 = $s + 1 | 0;
                    var$8[$s] = (($a & 31) << 6 | $b & 63) & 65535;
                    $s = $b_0;
                    $b = $ch;
                } else {
                    if (($a & 240) != 224) {
                        var$12 = new ji_UTFDataFormatException;
                        jl_Throwable__init_(var$12, $rt_s(287));
                        $rt_throw(var$12);
                    }
                    $count = $b + 1 | 0;
                    if ($count >= $utfSize) {
                        var$12 = new ji_UTFDataFormatException;
                        jl_Throwable__init_(var$12, $rt_s(287));
                        $rt_throw(var$12);
                    }
                    $b_0 = var$7[$offset + $b | 0];
                    $b = $count + 1 | 0;
                    $c = var$7[$offset + $count | 0];
                    if (($b_0 & 192) != 128)
                        break a;
                    if (($c & 192) != 128)
                        break a;
                    $count = $s + 1 | 0;
                    var$8[$s] = (($a & 15) << 12 | ($b_0 & 63) << 6 | $c & 63) & 65535;
                    $s = $count;
                }
                $count = $b;
            }
            return jl_String__init_3($out, 0, $s);
        }
        var$12 = new ji_UTFDataFormatException;
        jl_Throwable__init_(var$12, $rt_s(287));
        $rt_throw(var$12);
    }
    function ji_ByteArrayInputStream() {
        var a = this; ji_InputStream.call(a);
        a.$buf = null;
        a.$pos = 0;
        a.$mark = 0;
        a.$count0 = 0;
    }
    function ji_ByteArrayInputStream__init_(var_0) {
        var var_1 = new ji_ByteArrayInputStream();
        ji_ByteArrayInputStream__init_0(var_1, var_0);
        return var_1;
    }
    function ji_ByteArrayInputStream__init_0($this, $buf) {
        var var$2;
        var$2 = $buf.data.length;
        $this.$buf = $buf;
        $this.$pos = 0;
        $this.$mark = 0;
        $this.$count0 = 0 + var$2 | 0;
    }
    function ji_ByteArrayInputStream_read($this) {
        var var$1, var$2, var$3;
        var$1 = $this.$pos;
        if (var$1 >= $this.$count0)
            var$2 = (-1);
        else {
            var$3 = $this.$buf.data;
            $this.$pos = var$1 + 1 | 0;
            var$2 = var$3[var$1] & 255;
        }
        return var$2;
    }
    function ji_ByteArrayInputStream_read0($this, $b, $off, $len) {
        var $bytesToRead, $i, var$6, var$7, var$8;
        $bytesToRead = jl_Math_min($len, $this.$count0 - $this.$pos | 0);
        $i = 0;
        while ($i < $bytesToRead) {
            var$6 = $b.data;
            $len = $off + 1 | 0;
            var$7 = $this.$buf.data;
            var$8 = $this.$pos;
            $this.$pos = var$8 + 1 | 0;
            var$6[$off] = var$7[var$8];
            $i = $i + 1 | 0;
            $off = $len;
        }
        if ($bytesToRead <= 0)
            $bytesToRead = (-1);
        return $bytesToRead;
    }
    function ji_ByteArrayInputStream_close($this) {}
    function nms_NBTBase() {
        jl_Object.call(this);
        this.$key = null;
    }
    function nms_NBTBase__init_($this) {
        $this.$key = null;
    }
    function nms_NBTBase_getKey($this) {
        var var$1;
        var$1 = $this.$key;
        if (var$1 === null)
            var$1 = $rt_s(3);
        return var$1;
    }
    function nms_NBTBase_readTag($var0) {
        var $var1, $var2, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = ji_DataInputStream_readByte($var0);
            if (!$var1) {
                $var0 = new nms_NBTTagEnd;
                nms_NBTBase__init_($var0);
                return $var0;
            }
            $var2 = nms_NBTBase_createTagOfType($var1);
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readUTF($var0);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $var2.$key = var$4;
            $ptr = 2;
        case 2:
            $var2.$readTagContents($var0);
            if ($rt_suspending()) {
                break main;
            }
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $var2, var$4, $ptr);
    }
    function nms_NBTBase_writeTag($var0, $var1) {
        ji_DataOutputStream_writeByte($var1, $var0.$getType0());
        if ($var0.$getType0()) {
            ji_DataOutputStream_writeUTF($var1, nms_NBTBase_getKey($var0));
            $var0.$writeTagContents($var1);
        }
    }
    function nms_NBTBase_createTagOfType($var0) {
        var var$2;
        switch ($var0) {
            case 0:
                var$2 = new nms_NBTTagEnd;
                nms_NBTBase__init_(var$2);
                return var$2;
            case 1:
                var$2 = new nms_NBTTagByte;
                nms_NBTBase__init_(var$2);
                return var$2;
            case 2:
                var$2 = new nms_NBTTagShort;
                nms_NBTBase__init_(var$2);
                return var$2;
            case 3:
                var$2 = new nms_NBTTagInt;
                nms_NBTBase__init_(var$2);
                return var$2;
            case 4:
                var$2 = new nms_NBTTagLong;
                nms_NBTBase__init_(var$2);
                return var$2;
            case 5:
                var$2 = new nms_NBTTagFloat;
                nms_NBTBase__init_(var$2);
                return var$2;
            case 6:
                var$2 = new nms_NBTTagDouble;
                nms_NBTBase__init_(var$2);
                return var$2;
            case 7:
                var$2 = new nms_NBTTagByteArray;
                nms_NBTBase__init_(var$2);
                return var$2;
            case 8:
                var$2 = new nms_NBTTagString;
                nms_NBTBase__init_(var$2);
                return var$2;
            case 9:
                return nms_NBTTagList__init_0();
            case 10:
                return nms_NBTTagCompound__init_0();
            default:
        }
        return null;
    }
    var ji_IOException = $rt_classWithoutFields(jl_Exception);
    function ji_IOException__init_0() {
        var var_0 = new ji_IOException();
        ji_IOException__init_(var_0);
        return var_0;
    }
    function ji_IOException__init_1(var_0, var_1) {
        var var_2 = new ji_IOException();
        ji_IOException__init_2(var_2, var_0, var_1);
        return var_2;
    }
    function ji_IOException__init_3(var_0) {
        var var_1 = new ji_IOException();
        ji_IOException__init_4(var_1, var_0);
        return var_1;
    }
    function ji_IOException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function ji_IOException__init_2($this, $message, $cause) {
        jl_Throwable__init_4($this, $message, $cause);
    }
    function ji_IOException__init_4($this, $message) {
        jl_Throwable__init_($this, $message);
    }
    function nms_NBTTagCompound() {
        nms_NBTBase.call(this);
        this.$tagMap = null;
    }
    function nms_NBTTagCompound__init_0() {
        var var_0 = new nms_NBTTagCompound();
        nms_NBTTagCompound__init_(var_0);
        return var_0;
    }
    function nms_NBTTagCompound__init_($this) {
        nms_NBTBase__init_($this);
        $this.$tagMap = ju_HashMap__init_0();
    }
    function nms_NBTTagCompound_writeTagContents($this, $var1) {
        var $var2;
        $var2 = ju_HashMap$2_iterator(ju_HashMap_values($this.$tagMap));
        while (ju_HashMap$AbstractMapIterator_hasNext($var2)) {
            nms_NBTBase_writeTag(ju_HashMap$ValueIterator_next($var2), $var1);
        }
        ji_DataOutputStream_writeByte($var1, 0);
    }
    function nms_NBTTagCompound_readTagContents($this, $var1) {
        var $var2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            ju_HashMap_clear($this.$tagMap);
            $ptr = 1;
        case 1:
            $tmp = nms_NBTBase_readTag($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if (!$var2.$getType0())
                return;
            var$3 = $this.$tagMap;
            var$4 = nms_NBTBase_getKey($var2);
            $ptr = 2;
        case 2:
            ju_HashMap_putImpl(var$3, var$4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_NBTTagCompound_getType($this) {
        return 10;
    }
    function nms_NBTTagCompound_setTag($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$tagMap;
            $var2.$key = $var1;
            $ptr = 1;
        case 1:
            ju_HashMap_putImpl(var$3, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_NBTTagCompound_setByte($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$tagMap;
            var$4 = new nms_NBTTagByte;
            nms_NBTBase__init_(var$4);
            var$4.$byteValue = $var2;
            var$4.$key = $var1;
            $ptr = 1;
        case 1:
            ju_HashMap_putImpl(var$3, $var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_NBTTagCompound_setShort($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$tagMap;
            var$4 = new nms_NBTTagShort;
            nms_NBTBase__init_(var$4);
            var$4.$shortValue = $var2;
            var$4.$key = $var1;
            $ptr = 1;
        case 1:
            ju_HashMap_putImpl(var$3, $var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_NBTTagCompound_setInteger($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$tagMap;
            var$4 = new nms_NBTTagInt;
            nms_NBTBase__init_(var$4);
            var$4.$intValue = $var2;
            var$4.$key = $var1;
            $ptr = 1;
        case 1:
            ju_HashMap_putImpl(var$3, $var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_NBTTagCompound_setLong($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$tagMap;
            var$4 = new nms_NBTTagLong;
            nms_NBTBase__init_(var$4);
            var$4.$longValue = $var2;
            var$4.$key = $var1;
            $ptr = 1;
        case 1:
            ju_HashMap_putImpl(var$3, $var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_NBTTagCompound_setDouble($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$tagMap;
            var$4 = nms_NBTTagDouble__init_0($var2);
            var$4.$key = $var1;
            $ptr = 1;
        case 1:
            ju_HashMap_putImpl(var$3, $var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_NBTTagCompound_setString($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$tagMap;
            var$4 = new nms_NBTTagString;
            nms_NBTBase__init_(var$4);
            var$4.$stringValue = $var2;
            if ($var2 === null) {
                $var2 = new jl_IllegalArgumentException;
                jl_Throwable__init_($var2, $rt_s(288));
                $rt_throw($var2);
            }
            var$4.$key = $var1;
            $ptr = 1;
        case 1:
            ju_HashMap_putImpl(var$3, $var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_NBTTagCompound_setByteArray($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$tagMap;
            var$4 = new nms_NBTTagByteArray;
            nms_NBTBase__init_(var$4);
            var$4.$byteArray = $var2;
            var$4.$key = $var1;
            $ptr = 1;
        case 1:
            ju_HashMap_putImpl(var$3, $var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_NBTTagCompound_setCompoundTag($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$tagMap;
            $var2.$key = $var1;
            $ptr = 1;
        case 1:
            ju_HashMap_putImpl(var$3, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_NBTTagCompound_setBoolean($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = (!$var2 ? 0 : 1) << 24 >> 24;
            $ptr = 1;
        case 1:
            nms_NBTTagCompound_setByte($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_NBTTagCompound_hasKey($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$tagMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_containsKey(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_NBTTagCompound_getByte($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$tagMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_containsKey(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return 0;
            var$2 = $this.$tagMap;
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1.$byteValue;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_NBTTagCompound_getShort($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$tagMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_containsKey(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return 0;
            var$2 = $this.$tagMap;
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1.$shortValue;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_NBTTagCompound_getInteger($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$tagMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_containsKey(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return 0;
            var$2 = $this.$tagMap;
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1.$intValue;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_NBTTagCompound_getLong($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$tagMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_containsKey(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return Long_ZERO;
            var$2 = $this.$tagMap;
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1.$longValue;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_NBTTagCompound_getDouble($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$tagMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_containsKey(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return 0.0;
            var$2 = $this.$tagMap;
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1.$doubleValue;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_NBTTagCompound_getString($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$tagMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_containsKey(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return $rt_s(3);
            var$2 = $this.$tagMap;
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1.$stringValue;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_NBTTagCompound_getByteArray($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$tagMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_containsKey(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return $rt_createByteArray(0);
            var$2 = $this.$tagMap;
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1.$byteArray;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_NBTTagCompound_getCompoundTag($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$tagMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_containsKey(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return nms_NBTTagCompound__init_0();
            var$2 = $this.$tagMap;
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_NBTTagCompound_getTagList($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$tagMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_containsKey(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return nms_NBTTagList__init_0();
            var$2 = $this.$tagMap;
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_NBTTagCompound_getBoolean($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_NBTTagCompound_getByte($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return !var$2 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_NBTTagCompound_hasNoTags($this) {
        return ju_HashMap_isEmpty($this.$tagMap);
    }
    function nms_NBTTagCompound_toString($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$tagMap.$elementCount;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            jl_AbstractStringBuilder_append0(var$2, var$1);
            var$3 = $rt_s(289);
            $ptr = 1;
        case 1:
            jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    var nleo_RealOpenGLEnums = $rt_classWithoutFields();
    function nleo_RealOpenGLEnums__init_0() {
        var var_0 = new nleo_RealOpenGLEnums();
        nleo_RealOpenGLEnums__init_(var_0);
        return var_0;
    }
    function nleo_RealOpenGLEnums__init_($this) {}
    var nleo_GlStateManager = $rt_classWithoutFields(nleo_RealOpenGLEnums);
    var nleo_GlStateManager_logger = null;
    var nleo_GlStateManager_stateDepthTest = 0;
    var nleo_GlStateManager_stateDepthTestStash = 0;
    var nleo_GlStateManager_stateDepthFunc = 0;
    var nleo_GlStateManager_stateDepthMask = 0;
    var nleo_GlStateManager_stateCull = 0;
    var nleo_GlStateManager_stateCullStash = 0;
    var nleo_GlStateManager_stateCullFace = 0;
    var nleo_GlStateManager_statePolygonOffset = 0;
    var nleo_GlStateManager_statePolygonOffsetFactor = 0.0;
    var nleo_GlStateManager_statePolygonOffsetUnits = 0.0;
    var nleo_GlStateManager_stateColorR = 0.0;
    var nleo_GlStateManager_stateColorG = 0.0;
    var nleo_GlStateManager_stateColorB = 0.0;
    var nleo_GlStateManager_stateColorA = 0.0;
    var nleo_GlStateManager_stateColorSerial = 0;
    var nleo_GlStateManager_stateShaderBlendSrcColorR = 0.0;
    var nleo_GlStateManager_stateShaderBlendSrcColorG = 0.0;
    var nleo_GlStateManager_stateShaderBlendSrcColorB = 0.0;
    var nleo_GlStateManager_stateShaderBlendSrcColorA = 0.0;
    var nleo_GlStateManager_stateShaderBlendAddColorR = 0.0;
    var nleo_GlStateManager_stateShaderBlendAddColorG = 0.0;
    var nleo_GlStateManager_stateShaderBlendAddColorB = 0.0;
    var nleo_GlStateManager_stateShaderBlendAddColorA = 0.0;
    var nleo_GlStateManager_stateShaderBlendColorSerial = 0;
    var nleo_GlStateManager_stateEnableShaderBlendColor = 0;
    var nleo_GlStateManager_stateBlend = 0;
    var nleo_GlStateManager_stateBlendStash = 0;
    var nleo_GlStateManager_stateGlobalBlend = 0;
    var nleo_GlStateManager_stateBlendEquation = 0;
    var nleo_GlStateManager_stateBlendSRC = 0;
    var nleo_GlStateManager_stateBlendDST = 0;
    var nleo_GlStateManager_stateEnableOverlayFramebufferBlending = 0;
    var nleo_GlStateManager_stateAlphaTest = 0;
    var nleo_GlStateManager_stateAlphaTestRef = 0.0;
    var nleo_GlStateManager_stateMaterial = 0;
    var nleo_GlStateManager_stateLighting = 0;
    var nleo_GlStateManager_stateLightsStackPointer = 0;
    var nleo_GlStateManager_stateLightsEnabled = null;
    var nleo_GlStateManager_stateLightsStack = null;
    var nleo_GlStateManager_stateLightingSerial = null;
    var nleo_GlStateManager_stateLightingAmbientR = 0.0;
    var nleo_GlStateManager_stateLightingAmbientG = 0.0;
    var nleo_GlStateManager_stateLightingAmbientB = 0.0;
    var nleo_GlStateManager_stateLightingAmbientSerial = 0;
    var nleo_GlStateManager_stateNormalX = 0.0;
    var nleo_GlStateManager_stateNormalY = 0.0;
    var nleo_GlStateManager_stateNormalZ = 0.0;
    var nleo_GlStateManager_stateNormalSerial = 0;
    var nleo_GlStateManager_stateFog = 0;
    var nleo_GlStateManager_stateFogEXP = 0;
    var nleo_GlStateManager_stateFogDensity = 0.0;
    var nleo_GlStateManager_stateFogStart = 0.0;
    var nleo_GlStateManager_stateFogEnd = 0.0;
    var nleo_GlStateManager_stateFogColorR = 0.0;
    var nleo_GlStateManager_stateFogColorG = 0.0;
    var nleo_GlStateManager_stateFogColorB = 0.0;
    var nleo_GlStateManager_stateFogColorA = 0.0;
    var nleo_GlStateManager_stateFogSerial = 0;
    var nleo_GlStateManager_activeTexture = 0;
    var nleo_GlStateManager_stateTexture = null;
    var nleo_GlStateManager_boundTexture = null;
    var nleo_GlStateManager_stateAnisotropicFixW = 0.0;
    var nleo_GlStateManager_stateAnisotropicFixH = 0.0;
    var nleo_GlStateManager_stateAnisotropicFixSerial = 0;
    var nleo_GlStateManager_stateTexGen = 0;
    var nleo_GlStateManager_viewportX = 0;
    var nleo_GlStateManager_viewportY = 0;
    var nleo_GlStateManager_viewportW = 0;
    var nleo_GlStateManager_viewportH = 0;
    var nleo_GlStateManager_colorMaskBits = 0;
    var nleo_GlStateManager_clearColorR = 0.0;
    var nleo_GlStateManager_clearColorG = 0.0;
    var nleo_GlStateManager_clearColorB = 0.0;
    var nleo_GlStateManager_clearColorA = 0.0;
    var nleo_GlStateManager_clearDepth = 0.0;
    var nleo_GlStateManager_blendConstantR = 0.0;
    var nleo_GlStateManager_blendConstantG = 0.0;
    var nleo_GlStateManager_blendConstantB = 0.0;
    var nleo_GlStateManager_blendConstantA = 0.0;
    var nleo_GlStateManager_stateTexGenSerial = 0;
    var nleo_GlStateManager_stateMatrixMode = 0;
    var nleo_GlStateManager_modelMatrixStack = null;
    var nleo_GlStateManager_modelMatrixStackAccessSerial = null;
    var nleo_GlStateManager_modelMatrixAccessSerial = 0;
    var nleo_GlStateManager_modelMatrixStackPointer = 0;
    var nleo_GlStateManager_projectionMatrixStack = null;
    var nleo_GlStateManager_projectionMatrixStackAccessSerial = null;
    var nleo_GlStateManager_projectionMatrixAccessSerial = 0;
    var nleo_GlStateManager_projectionMatrixStackPointer = 0;
    var nleo_GlStateManager_textureCoordsX = null;
    var nleo_GlStateManager_textureCoordsY = null;
    var nleo_GlStateManager_textureCoordsAccessSerial = null;
    var nleo_GlStateManager_textureMatrixStack = null;
    var nleo_GlStateManager_textureMatrixStackAccessSerial = null;
    var nleo_GlStateManager_textureMatrixAccessSerial = null;
    var nleo_GlStateManager_textureMatrixStackPointer = null;
    var nleo_GlStateManager_stateUseExtensionPipeline = 0;
    var nleo_GlStateManager_tmpInvertedMatrix = null;
    var nleo_GlStateManager_paramVector4 = null;
    var nleo_GlStateManager_paramMatrix = null;
    var nleo_GlStateManager_unprojA = null;
    var nleo_GlStateManager_unprojB = null;
    var nleo_GlStateManager_unprojC = null;
    var nleo_GlStateManager_$clinitCalled = false;
    function nleo_GlStateManager_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nleo_GlStateManager_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleo_GlStateManager_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nleo_GlStateManager__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_$callClinit = $rt_eraseClinit(nleo_GlStateManager);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nleo_GlStateManager__init_0() {
        var var_0 = new nleo_GlStateManager();
        nleo_GlStateManager__init_(var_0);
        return var_0;
    }
    function nleo_GlStateManager__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleo_GlStateManager_populateStack($stack) {
        var $i, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$i = $thread.pop();$stack = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $i = 0;
            while (true) {
                var$3 = $stack.data;
                if ($i >= var$3.length)
                    break;
                var$4 = new nlev_Matrix4f;
                nlev_Matrix4f_setIdentity(var$4);
                var$3[$i] = var$4;
                $i = $i + 1 | 0;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($stack, $i, var$3, var$4, $ptr);
    }
    function nleo_GlStateManager_populateStack0($stack) {
        var $i, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$i = $thread.pop();$stack = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $i = 0;
            var$3 = $stack.data;
            if ($i >= var$3.length)
                return;
            var$3 = var$3[$i];
            $ptr = 2;
        case 2:
            nleo_GlStateManager_populateStack(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            var$3 = $stack.data;
            if ($i >= var$3.length)
                return;
            var$3 = var$3[$i];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($stack, $i, var$3, $ptr);
    }
    function nleo_GlStateManager_populateStack1($stack) {
        var $i, var$3, $j, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$j = $thread.pop();var$3 = $thread.pop();$i = $thread.pop();$stack = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $i = 0;
            while (true) {
                var$3 = $stack.data;
                if ($i >= var$3.length)
                    break;
                $j = 0;
                while ($j < var$3[$i].data.length) {
                    var$3[$i].data[$j] = nlev_Vector4f__init_0(0.0, (-1.0), 0.0, 0.0);
                    $j = $j + 1 | 0;
                }
                $i = $i + 1 | 0;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($stack, $i, var$3, $j, $ptr);
    }
    function nleo_GlStateManager_enableAlpha() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateAlphaTest = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nleo_GlStateManager_enableMCLight($light, $diffuse, $dirX, $dirY, $dirZ, $dirW) {
        var $dest, var$8, $len, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$len = $thread.pop();var$8 = $thread.pop();$dest = $thread.pop();$dirW = $thread.pop();$dirZ = $thread.pop();$dirY = $thread.pop();$dirX = $thread.pop();$diffuse = $thread.pop();$light = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($dirW !== 0.0) {
                $dest = new jl_IllegalArgumentException;
                jl_Throwable__init_($dest, $rt_s(290));
                $rt_throw($dest);
            }
            $dest = nleo_GlStateManager_paramVector4;
            $dest.$x0 = $dirX;
            $dest.$y0 = $dirY;
            $dest.$z0 = $dirZ;
            $dest.$w = 0.0;
            nlev_Matrix4f_transform(nleo_GlStateManager_modelMatrixStack.data[nleo_GlStateManager_modelMatrixStackPointer], $dest, $dest);
            $dest = nleo_GlStateManager_stateLightsStack.data[nleo_GlStateManager_stateLightsStackPointer].data[$light];
            var$8 = nleo_GlStateManager_paramVector4;
            $len = var$8.$x0;
            var$10 = $len * $len;
            $len = var$8.$y0;
            $len = var$10 + $len * $len;
            var$10 = var$8.$z0;
            $len = nms_MathHelper_sqrt_float($len + var$10 * var$10);
            var$8 = nleo_GlStateManager_paramVector4;
            $dest.$x0 = var$8.$x0 / $len;
            $dest.$y0 = var$8.$y0 / $len;
            $dest.$z0 = var$8.$z0 / $len;
            $dest.$w = $diffuse;
            var$11 = nleo_GlStateManager_stateLightsEnabled.data;
            var$12 = nleo_GlStateManager_stateLightsStackPointer;
            var$11[var$12].data[$light] = 1;
            var$11 = nleo_GlStateManager_stateLightingSerial.data;
            var$11[var$12] = var$11[var$12] + 1 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($light, $diffuse, $dirX, $dirY, $dirZ, $dirW, $dest, var$8, $len, var$10, var$11, var$12, $ptr);
    }
    function nleo_GlStateManager_enableMCLight0($light) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$light = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nleo_GlStateManager_stateLightsEnabled.data;
            var$3 = nleo_GlStateManager_stateLightsStackPointer;
            var$2[var$3].data[$light] = 1;
            var$2 = nleo_GlStateManager_stateLightingSerial.data;
            var$2[var$3] = var$2[var$3] + 1 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($light, var$2, var$3, $ptr);
    }
    function nleo_GlStateManager_disableMCLight($light) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$light = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nleo_GlStateManager_stateLightsEnabled.data;
            var$3 = nleo_GlStateManager_stateLightsStackPointer;
            var$2[var$3].data[$light] = 0;
            var$2 = nleo_GlStateManager_stateLightingSerial.data;
            var$2[var$3] = var$2[var$3] + 1 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($light, var$2, var$3, $ptr);
    }
    function nleo_GlStateManager_disableDepth() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_GlStateManager_stateDepthTest)
                return;
            var$1 = 2929;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglDisable(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateDepthTest = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nleo_GlStateManager_enableDepth() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleo_GlStateManager_stateDepthTest)
                return;
            var$1 = 2929;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglEnable(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateDepthTest = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nleo_GlStateManager_disableBlend() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleo_GlStateManager_stateBlend) {
                if (nleo_GlStateManager_stateGlobalBlend) {
                    var$1 = 3042;
                    $ptr = 2;
                    continue main;
                }
                nleo_GlStateManager_stateBlend = 0;
            }
            return;
        case 2:
            nlei_PlatformOpenGL__wglDisable(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateBlend = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nleo_GlStateManager_enableBlend() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_GlStateManager_stateBlend) {
                if (nleo_GlStateManager_stateGlobalBlend) {
                    var$1 = 3042;
                    $ptr = 2;
                    continue main;
                }
                nleo_GlStateManager_stateBlend = 1;
            }
            return;
        case 2:
            nlei_PlatformOpenGL__wglEnable(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateBlend = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nleo_GlStateManager_enableCull() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleo_GlStateManager_stateCull)
                return;
            var$1 = 2884;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglEnable(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateCull = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nleo_GlStateManager_disableCull() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_GlStateManager_stateCull)
                return;
            var$1 = 2884;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglDisable(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateCull = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nleo_GlStateManager_viewport($x, $y, $w, $h) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$h = $thread.pop();$w = $thread.pop();$y = $thread.pop();$x = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleo_GlStateManager_viewportX == $x && nleo_GlStateManager_viewportY == $y && nleo_GlStateManager_viewportW == $w && nleo_GlStateManager_viewportH == $h)
                return;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglViewport($x, $y, $w, $h);
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_viewportX = $x;
            nleo_GlStateManager_viewportY = $y;
            nleo_GlStateManager_viewportW = $w;
            nleo_GlStateManager_viewportH = $h;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($x, $y, $w, $h, $ptr);
    }
    function nleo_GlStateManager_pushMatrix() {
        var var$1, $push, var$3, $ptr_0, $t, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$t = $thread.pop();$ptr_0 = $thread.pop();var$3 = $thread.pop();$push = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            a: {
                switch (nleo_GlStateManager_stateMatrixMode) {
                    case 5888:
                        break;
                    case 5889:
                        var$1 = nleo_GlStateManager_projectionMatrixStackPointer;
                        $push = var$1 + 1 | 0;
                        var$3 = nleo_GlStateManager_projectionMatrixStack.data;
                        $ptr_0 = var$3.length;
                        if ($push < $ptr_0) {
                            nlev_Matrix4f_load(var$3[$push], var$3[var$1]);
                            var$3 = nleo_GlStateManager_projectionMatrixStackAccessSerial.data;
                            var$3[$push] = var$3[nleo_GlStateManager_projectionMatrixStackPointer];
                            nleo_GlStateManager_projectionMatrixStackPointer = $push;
                            break a;
                        }
                        $t = new jl_IndexOutOfBoundsException;
                        var$6 = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_(var$6);
                        var$7 = $rt_s(291);
                        $ptr = 6;
                        continue main;
                    case 5890:
                        var$3 = nleo_GlStateManager_textureMatrixStackPointer.data;
                        var$1 = nleo_GlStateManager_activeTexture;
                        $push = var$3[var$1] + 1 | 0;
                        var$8 = nleo_GlStateManager_textureMatrixStack.data;
                        $ptr_0 = var$8.length;
                        if ($push >= $ptr_0) {
                            $t = new jl_IndexOutOfBoundsException;
                            var$6 = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_(var$6);
                            var$7 = $rt_s(292);
                            $ptr = 10;
                            continue main;
                        }
                        $ptr_0 = var$3[var$1];
                        nlev_Matrix4f_load(var$8[var$1].data[$push], var$8[var$1].data[$ptr_0]);
                        var$3 = nleo_GlStateManager_textureMatrixStackAccessSerial.data;
                        var$1 = nleo_GlStateManager_activeTexture;
                        var$3[var$1].data[$push] = var$3[var$1].data[$ptr_0];
                        nleo_GlStateManager_textureMatrixStackPointer.data[var$1] = $push;
                        break a;
                    default:
                }
                $ptr_0 = nleo_GlStateManager_modelMatrixStackPointer;
                $push = $ptr_0 + 1 | 0;
                var$3 = nleo_GlStateManager_modelMatrixStack.data;
                var$1 = var$3.length;
                if ($push < var$1) {
                    nlev_Matrix4f_load(var$3[$push], var$3[$ptr_0]);
                    var$3 = nleo_GlStateManager_modelMatrixStackAccessSerial.data;
                    var$3[$push] = var$3[nleo_GlStateManager_modelMatrixStackPointer];
                    nleo_GlStateManager_modelMatrixStackPointer = $push;
                } else {
                    $t = new jl_IndexOutOfBoundsException;
                    var$6 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$6);
                    var$7 = $rt_s(293);
                    $ptr = 2;
                    continue main;
                }
            }
            return;
        case 2:
            $tmp = jl_StringBuilder_append(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append0(var$7, var$1);
            var$9 = $rt_s(294);
            $ptr = 3;
        case 3:
            jl_StringBuilder_append(var$7, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_($t, var$6);
            var$6 = nleo_GlStateManager_logger;
            $ptr = 5;
        case 5:
            oall_Logger_error1(var$6, $t);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            $tmp = jl_StringBuilder_append(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append0(var$7, $ptr_0);
            var$9 = $rt_s(294);
            $ptr = 7;
        case 7:
            jl_StringBuilder_append(var$7, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_($t, var$6);
            var$6 = nleo_GlStateManager_logger;
            $ptr = 9;
        case 9:
            oall_Logger_error1(var$6, $t);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 10:
            $tmp = jl_StringBuilder_append(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append0(var$7, var$1);
            var$9 = $rt_s(295);
            $ptr = 11;
        case 11:
            $tmp = jl_StringBuilder_append(var$7, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append0(var$7, $ptr_0);
            var$9 = $rt_s(294);
            $ptr = 12;
        case 12:
            jl_StringBuilder_append(var$7, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_($t, var$6);
            var$6 = nleo_GlStateManager_logger;
            $ptr = 14;
        case 14:
            oall_Logger_error1(var$6, $t);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $push, var$3, $ptr_0, $t, var$6, var$7, var$8, var$9, $ptr);
    }
    function nleo_GlStateManager_getMatrixIncr() {
        var $_j, $mat, var$3, $_j_0, $_i, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$_i = $thread.pop();$_j_0 = $thread.pop();var$3 = $thread.pop();$mat = $thread.pop();$_j = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            a: {
                switch (nleo_GlStateManager_stateMatrixMode) {
                    case 5888:
                        $_j = nleo_GlStateManager_modelMatrixStackPointer;
                        $mat = nleo_GlStateManager_modelMatrixStack.data[$_j];
                        var$3 = nleo_GlStateManager_modelMatrixStackAccessSerial.data;
                        $_j_0 = nleo_GlStateManager_modelMatrixAccessSerial + 1 | 0;
                        nleo_GlStateManager_modelMatrixAccessSerial = $_j_0;
                        var$3[$_j] = $_j_0;
                        break a;
                    case 5889:
                        $_j_0 = nleo_GlStateManager_projectionMatrixStackPointer;
                        $mat = nleo_GlStateManager_projectionMatrixStack.data[$_j_0];
                        var$3 = nleo_GlStateManager_projectionMatrixStackAccessSerial.data;
                        $_i = nleo_GlStateManager_projectionMatrixAccessSerial + 1 | 0;
                        nleo_GlStateManager_projectionMatrixAccessSerial = $_i;
                        var$3[$_j_0] = $_i;
                        break a;
                    case 5890:
                        $_i = nleo_GlStateManager_activeTexture;
                        $_j_0 = nleo_GlStateManager_textureMatrixStackPointer.data[$_i];
                        $mat = nleo_GlStateManager_textureMatrixStack.data[$_i].data[$_j_0];
                        var$6 = nleo_GlStateManager_textureMatrixStackAccessSerial.data[$_i].data;
                        var$3 = nleo_GlStateManager_textureCoordsAccessSerial.data;
                        $_j = var$3[$_i] + 1 | 0;
                        var$3[$_i] = $_j;
                        var$6[$_j_0] = $_j;
                        break a;
                    default:
                }
                $mat = new jl_IllegalStateException;
                jl_Throwable__init_0($mat);
                $rt_throw($mat);
            }
            return $mat;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($_j, $mat, var$3, $_j_0, $_i, var$6, $ptr);
    }
    function nleo_GlStateManager__glRotatef($mat, $angle, $x, $y, $z) {
        var $s, $c, $C, $xx, $xy, $xz, $yy, $yz, $zz, $rm00, $rm10, $rm01, $rm22, $rm02, $rm11, $rm12, $rm20, $rm21, $nm00, $nm01, $nm02, $nm03, $nm10, $nm11, $nm12, $nm13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$nm13 = $thread.pop();$nm12 = $thread.pop();$nm11 = $thread.pop();$nm10 = $thread.pop();$nm03 = $thread.pop();$nm02 = $thread.pop();$nm01 = $thread.pop();$nm00 = $thread.pop();$rm21 = $thread.pop();$rm20 = $thread.pop();$rm12 = $thread.pop();$rm11 = $thread.pop();$rm02 = $thread.pop();$rm22 = $thread.pop();$rm01 = $thread.pop();$rm10 = $thread.pop();$rm00 = $thread.pop();$zz = $thread.pop();$yz = $thread.pop();$yy = $thread.pop();$xz = $thread.pop();$xy = $thread.pop();$xx =
            $thread.pop();$C = $thread.pop();$c = $thread.pop();$s = $thread.pop();$z = $thread.pop();$y = $thread.pop();$x = $thread.pop();$angle = $thread.pop();$mat = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $s = nms_MathHelper_sin($angle);
            $c = nms_MathHelper_cos($angle);
            $C = 1.0 - $c;
            $xx = $x * $x;
            $xy = $x * $y;
            $xz = $x * $z;
            $yy = $y * $y;
            $yz = $y * $z;
            $zz = $z * $z;
            $rm00 = $xx * $C + $c;
            $rm10 = $xy * $C;
            $z = $z * $s;
            $rm01 = $rm10 + $z;
            $rm22 = $xz * $C;
            $angle = $y * $s;
            $rm02 = $rm22 - $angle;
            $rm10 = $rm10 - $z;
            $rm11 = $yy * $C + $c;
            $y = $yz * $C;
            $x = $x * $s;
            $rm12 = $y + $x;
            $rm20 = $rm22 + $angle;
            $rm21 = $y - $x;
            $rm22 = $zz * $C + $c;
            $angle = $mat.$m00;
            $x = $angle * $rm00;
            $y = $mat.$m10;
            $x = $x + $y * $rm01;
            $yz = $mat.$m20;
            $nm00 = $x + $yz * $rm02;
            $zz = $mat.$m01;
            $x = $zz * $rm00;
            $xx = $mat.$m11;
            $x = $x + $xx * $rm01;
            $c = $mat.$m21;
            $nm01 = $x + $c * $rm02;
            $C = $mat.$m02;
            $x = $C * $rm00;
            $xy = $mat.$m12;
            $x = $x + $xy * $rm01;
            $xz = $mat.$m22;
            $nm02 = $x + $xz * $rm02;
            $yy = $mat.$m03;
            $x = $yy * $rm00;
            $rm00 = $mat.$m13;
            $s = $x + $rm00 * $rm01;
            $x = $mat.$m23;
            $nm03 = $s + $x * $rm02;
            $nm10 = $angle * $rm10 + $y * $rm11 + $yz * $rm12;
            $nm11 = $zz * $rm10 + $xx * $rm11 + $c * $rm12;
            $nm12 = $C * $rm10 + $xy * $rm11 + $xz * $rm12;
            $nm13 = $yy * $rm10 + $rm00 * $rm11 + $x * $rm12;
            $mat.$m20 = $angle * $rm20 + $y * $rm21 + $yz * $rm22;
            $mat.$m21 = $zz * $rm20 + $xx * $rm21 + $c * $rm22;
            $mat.$m22 = $C * $rm20 + $xy * $rm21 + $xz * $rm22;
            $mat.$m23 = $yy * $rm20 + $rm00 * $rm21 + $x * $rm22;
            $mat.$m00 = $nm00;
            $mat.$m01 = $nm01;
            $mat.$m02 = $nm02;
            $mat.$m03 = $nm03;
            $mat.$m10 = $nm10;
            $mat.$m11 = $nm11;
            $mat.$m12 = $nm12;
            $mat.$m13 = $nm13;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($mat, $angle, $x, $y, $z, $s, $c, $C, $xx, $xy, $xz, $yy, $yz, $zz, $rm00, $rm10, $rm01, $rm22, $rm02, $rm11, $rm12, $rm20, $rm21, $nm00, $nm01, $nm02, $nm03, $nm10, $nm11, $nm12, $nm13, $ptr);
    }
    function nleo_GlStateManager_color($colorRed, $colorGreen, $colorBlue, $colorAlpha) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$colorAlpha = $thread.pop();$colorBlue = $thread.pop();$colorGreen = $thread.pop();$colorRed = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateColorR = $colorRed;
            nleo_GlStateManager_stateColorG = $colorGreen;
            nleo_GlStateManager_stateColorB = $colorBlue;
            nleo_GlStateManager_stateColorA = $colorAlpha;
            nleo_GlStateManager_stateColorSerial = nleo_GlStateManager_stateColorSerial + 1 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($colorRed, $colorGreen, $colorBlue, $colorAlpha, $ptr);
    }
    function nleo_GlStateManager_gluPerspective($fovy, $aspect, $zNear, $zFar) {
        var $matrix, var$6, $cotangent, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();$cotangent = $thread.pop();var$6 = $thread.pop();$matrix = $thread.pop();$zFar = $thread.pop();$zNear = $thread.pop();$aspect = $thread.pop();$fovy = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nleo_GlStateManager_getMatrixIncr();
            if ($rt_suspending()) {
                break main;
            }
            $matrix = $tmp;
            var$6 = $fovy * 0.01745329238474369 * 0.5;
            $cotangent = jl_Math_cos(var$6) / jl_Math_sin(var$6);
            var$8 = nleo_GlStateManager_paramMatrix;
            var$8.$m00 = $cotangent / $aspect;
            var$8.$m01 = 0.0;
            var$8.$m02 = 0.0;
            var$8.$m03 = 0.0;
            var$8.$m10 = 0.0;
            var$8.$m11 = $cotangent;
            var$8.$m12 = 0.0;
            var$8.$m13 = 0.0;
            var$8.$m20 = 0.0;
            var$8.$m21 = 0.0;
            $fovy = $zFar + $zNear;
            $aspect = $zFar - $zNear;
            var$8.$m22 = $fovy / $aspect;
            var$8.$m23 = (-1.0);
            var$8.$m30 = 0.0;
            var$8.$m31 = 0.0;
            var$8.$m32 = 2.0 * $zFar * $zNear / $aspect;
            var$8.$m33 = 0.0;
            nlev_Matrix4f_mul($matrix, var$8, $matrix);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($fovy, $aspect, $zNear, $zFar, $matrix, var$6, $cotangent, var$8, $ptr);
    }
    function nleo_GlStateManager__clinit_() {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(296);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleo_GlStateManager_logger = var$1;
            nleo_GlStateManager_stateDepthTest = 0;
            nleo_GlStateManager_stateDepthTestStash = 0;
            nleo_GlStateManager_stateDepthFunc = (-1);
            nleo_GlStateManager_stateDepthMask = 1;
            nleo_GlStateManager_stateCull = 0;
            nleo_GlStateManager_stateCullStash = 0;
            nleo_GlStateManager_stateCullFace = 1029;
            nleo_GlStateManager_statePolygonOffset = 0;
            nleo_GlStateManager_statePolygonOffsetFactor = 0.0;
            nleo_GlStateManager_statePolygonOffsetUnits = 0.0;
            nleo_GlStateManager_stateColorR = 1.0;
            nleo_GlStateManager_stateColorG = 1.0;
            nleo_GlStateManager_stateColorB = 1.0;
            nleo_GlStateManager_stateColorA = 1.0;
            nleo_GlStateManager_stateColorSerial = 0;
            nleo_GlStateManager_stateShaderBlendSrcColorR = 1.0;
            nleo_GlStateManager_stateShaderBlendSrcColorG = 1.0;
            nleo_GlStateManager_stateShaderBlendSrcColorB = 1.0;
            nleo_GlStateManager_stateShaderBlendSrcColorA = 1.0;
            nleo_GlStateManager_stateShaderBlendAddColorR = 0.0;
            nleo_GlStateManager_stateShaderBlendAddColorG = 0.0;
            nleo_GlStateManager_stateShaderBlendAddColorB = 0.0;
            nleo_GlStateManager_stateShaderBlendAddColorA = 0.0;
            nleo_GlStateManager_stateShaderBlendColorSerial = 0;
            nleo_GlStateManager_stateEnableShaderBlendColor = 0;
            nleo_GlStateManager_stateBlend = 0;
            nleo_GlStateManager_stateBlendStash = 0;
            nleo_GlStateManager_stateGlobalBlend = 1;
            nleo_GlStateManager_stateBlendEquation = (-1);
            nleo_GlStateManager_stateBlendSRC = (-1);
            nleo_GlStateManager_stateBlendDST = (-1);
            nleo_GlStateManager_stateEnableOverlayFramebufferBlending = 0;
            nleo_GlStateManager_stateAlphaTest = 0;
            nleo_GlStateManager_stateAlphaTestRef = 0.10000000149011612;
            nleo_GlStateManager_stateMaterial = 0;
            nleo_GlStateManager_stateLighting = 0;
            nleo_GlStateManager_stateLightsStackPointer = 0;
            nleo_GlStateManager_stateLightsEnabled = $rt_createBooleanMultiArray([8, 4]);
            nleo_GlStateManager_stateLightsStack = $rt_createMultiArray(nlev_Vector4f, [8, 4]);
            nleo_GlStateManager_stateLightingSerial = $rt_createIntArray(4);
            nleo_GlStateManager_stateLightingAmbientR = 0.0;
            nleo_GlStateManager_stateLightingAmbientG = 0.0;
            nleo_GlStateManager_stateLightingAmbientB = 0.0;
            nleo_GlStateManager_stateLightingAmbientSerial = 0;
            nleo_GlStateManager_stateNormalX = 0.0;
            nleo_GlStateManager_stateNormalY = 0.0;
            nleo_GlStateManager_stateNormalZ = (-1.0);
            nleo_GlStateManager_stateNormalSerial = 0;
            nleo_GlStateManager_stateFog = 0;
            nleo_GlStateManager_stateFogEXP = 0;
            nleo_GlStateManager_stateFogDensity = 1.0;
            nleo_GlStateManager_stateFogStart = 0.0;
            nleo_GlStateManager_stateFogEnd = 1.0;
            nleo_GlStateManager_stateFogColorR = 1.0;
            nleo_GlStateManager_stateFogColorG = 1.0;
            nleo_GlStateManager_stateFogColorB = 1.0;
            nleo_GlStateManager_stateFogColorA = 1.0;
            nleo_GlStateManager_stateFogSerial = 0;
            nleo_GlStateManager_activeTexture = 0;
            nleo_GlStateManager_stateTexture = $rt_createBooleanArray(16);
            nleo_GlStateManager_boundTexture = $rt_createIntArrayFromData([(-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1)]);
            nleo_GlStateManager_stateAnisotropicFixW = (-999.0);
            nleo_GlStateManager_stateAnisotropicFixH = (-999.0);
            nleo_GlStateManager_stateAnisotropicFixSerial = 0;
            nleo_GlStateManager_stateTexGen = 0;
            nleo_GlStateManager_viewportX = (-1);
            nleo_GlStateManager_viewportY = (-1);
            nleo_GlStateManager_viewportW = (-1);
            nleo_GlStateManager_viewportH = (-1);
            nleo_GlStateManager_colorMaskBits = 15;
            nleo_GlStateManager_clearColorR = (-999.0);
            nleo_GlStateManager_clearColorG = (-999.0);
            nleo_GlStateManager_clearColorB = (-999.0);
            nleo_GlStateManager_clearColorA = (-999.0);
            nleo_GlStateManager_clearDepth = (-999.0);
            nleo_GlStateManager_blendConstantR = (-999.0);
            nleo_GlStateManager_blendConstantG = (-999.0);
            nleo_GlStateManager_blendConstantB = (-999.0);
            nleo_GlStateManager_blendConstantA = (-999.0);
            nleo_GlStateManager_stateTexGenSerial = 0;
            nleo_GlStateManager_stateMatrixMode = 5888;
            nleo_GlStateManager_modelMatrixStack = $rt_createArray(nlev_Matrix4f, 48);
            nleo_GlStateManager_modelMatrixStackAccessSerial = $rt_createIntArray(48);
            nleo_GlStateManager_modelMatrixAccessSerial = 0;
            nleo_GlStateManager_modelMatrixStackPointer = 0;
            nleo_GlStateManager_projectionMatrixStack = $rt_createArray(nlev_Matrix4f, 8);
            nleo_GlStateManager_projectionMatrixStackAccessSerial = $rt_createIntArray(8);
            nleo_GlStateManager_projectionMatrixAccessSerial = 0;
            nleo_GlStateManager_projectionMatrixStackPointer = 0;
            nleo_GlStateManager_textureCoordsX = $rt_createFloatArray(8);
            nleo_GlStateManager_textureCoordsY = $rt_createFloatArray(8);
            nleo_GlStateManager_textureCoordsAccessSerial = $rt_createIntArray(8);
            nleo_GlStateManager_textureMatrixStack = $rt_createMultiArray(nlev_Matrix4f, [8, 8]);
            nleo_GlStateManager_textureMatrixStackAccessSerial = $rt_createIntMultiArray([8, 8]);
            nleo_GlStateManager_textureMatrixAccessSerial = $rt_createIntArray(8);
            nleo_GlStateManager_textureMatrixStackPointer = $rt_createIntArray(8);
            nleo_GlStateManager_stateUseExtensionPipeline = 0;
            var$1 = new nlev_Matrix4f;
            nlev_Matrix4f_setIdentity(var$1);
            nleo_GlStateManager_tmpInvertedMatrix = var$1;
            var$2 = nleo_GlStateManager_modelMatrixStack;
            $ptr = 2;
        case 2:
            nleo_GlStateManager_populateStack(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nleo_GlStateManager_projectionMatrixStack;
            $ptr = 3;
        case 3:
            nleo_GlStateManager_populateStack(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nleo_GlStateManager_textureMatrixStack;
            $ptr = 4;
        case 4:
            nleo_GlStateManager_populateStack0(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nleo_GlStateManager_stateLightsStack;
            $ptr = 5;
        case 5:
            nleo_GlStateManager_populateStack1(var$2);
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_paramVector4 = new nlev_Vector4f;
            var$1 = new nlev_Matrix4f;
            nlev_Matrix4f_setIdentity(var$1);
            nleo_GlStateManager_paramMatrix = var$1;
            var$1 = new nlev_Matrix4f;
            nlev_Matrix4f_setIdentity(var$1);
            nleo_GlStateManager_unprojA = var$1;
            var$1 = new nlev_Matrix4f;
            nlev_Matrix4f_setIdentity(var$1);
            nleo_GlStateManager_unprojB = var$1;
            nleo_GlStateManager_unprojC = new nlev_Vector4f;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    var nleo_EaglercraftGPU = $rt_classWithoutFields(nleo_GlStateManager);
    var nleo_EaglercraftGPU_arrayBufferRecycler = null;
    var nleo_EaglercraftGPU_elementArrayBufferRecycler = null;
    var nleo_EaglercraftGPU_VAORecycler = null;
    var nleo_EaglercraftGPU_mapTexturesGL = null;
    var nleo_EaglercraftGPU_mapQueriesGL = null;
    var nleo_EaglercraftGPU_mapDisplayListsGL = null;
    var nleo_EaglercraftGPU_logger = null;
    var nleo_EaglercraftGPU_emulatedVAOs = 0;
    var nleo_EaglercraftGPU_emulatedVAOState = null;
    var nleo_EaglercraftGPU_currentList = null;
    var nleo_EaglercraftGPU_displayListBuffer = null;
    var nleo_EaglercraftGPU_stringCache = null;
    var nleo_EaglercraftGPU_currentVertexArray = null;
    var nleo_EaglercraftGPU_currentArrayBuffer = null;
    var nleo_EaglercraftGPU_currentVAOArrayBuffer = null;
    var nleo_EaglercraftGPU_currentEmulatedVAOIndexBuffer = null;
    var nleo_EaglercraftGPU_currentUniformBuffer = null;
    var nleo_EaglercraftGPU_currentShaderProgram = null;
    var nleo_EaglercraftGPU_currentUniformBlockBindings = null;
    var nleo_EaglercraftGPU_currentUniformBlockBindingOffset = null;
    var nleo_EaglercraftGPU_currentUniformBlockBindingSize = null;
    var nleo_EaglercraftGPU_lastRecyclerFlush = Long_ZERO;
    var nleo_EaglercraftGPU_lastRender = null;
    var nleo_EaglercraftGPU_lastMode = 0;
    var nleo_EaglercraftGPU_lastCount = 0;
    var nleo_EaglercraftGPU_quad16EmulationBuffer = null;
    var nleo_EaglercraftGPU_quad16EmulationBufferSize = 0;
    var nleo_EaglercraftGPU_quad32EmulationBuffer = null;
    var nleo_EaglercraftGPU_quad32EmulationBufferSize = 0;
    var nleo_EaglercraftGPU_glesVers = 0;
    var nleo_EaglercraftGPU_hasFramebufferHDR16FSupport = 0;
    var nleo_EaglercraftGPU_hasFramebufferHDR32FSupport = 0;
    var nleo_EaglercraftGPU_hasLinearHDR16FSupport = 0;
    var nleo_EaglercraftGPU_hasLinearHDR32FSupport = 0;
    var nleo_EaglercraftGPU_fboRenderMipmapCapable = 0;
    var nleo_EaglercraftGPU_vertexArrayCapable = 0;
    var nleo_EaglercraftGPU_instancingCapable = 0;
    var nleo_EaglercraftGPU_texStorageCapable = 0;
    var nleo_EaglercraftGPU_textureLODCapable = 0;
    var nleo_EaglercraftGPU_shader5Capable = 0;
    var nleo_EaglercraftGPU_npotCapable = 0;
    var nleo_EaglercraftGPU_uniformBufferOffsetAlignment = 0;
    var nleo_EaglercraftGPU_$clinitCalled = false;
    function nleo_EaglercraftGPU_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nleo_EaglercraftGPU_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleo_EaglercraftGPU_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nleo_EaglercraftGPU_$callClinit = $rt_eraseClinit(nleo_EaglercraftGPU);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nleo_EaglercraftGPU__init_0() {
        var var_0 = new nleo_EaglercraftGPU();
        nleo_EaglercraftGPU__init_(var_0);
        return var_0;
    }
    function nleo_EaglercraftGPU__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleo_EaglercraftGPU_glTexParameteri($target, $param, $value) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$value = $thread.pop();$param = $thread.pop();$target = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglTexParameteri($target, $param, $value);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($target, $param, $value, $ptr);
    }
    function nleo_EaglercraftGPU_glNewList($target, $op) {
        var $dp, var$4, var$5, $c, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$c = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$dp = $thread.pop();$op = $thread.pop();$target = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleo_EaglercraftGPU_currentList !== null) {
                $dp = new jl_IllegalStateException;
                jl_Throwable__init_($dp, $rt_s(297));
                $rt_throw($dp);
            }
            if ($op != 4864) {
                $dp = new jl_UnsupportedOperationException;
                jl_Throwable__init_($dp, $rt_s(298));
                $rt_throw($dp);
            }
            $dp = nlei_GLObjectMap_get(nleo_EaglercraftGPU_mapDisplayListsGL, $target);
            nleo_EaglercraftGPU_currentList = $dp;
            if ($dp === null) {
                $dp = new jl_IllegalArgumentException;
                var$4 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$4);
                var$5 = $rt_s(299);
                $ptr = 2;
                continue main;
            }
            var$4 = $dp.$vertexArray;
            if (var$4 !== null && $dp.$attribs > 0) {
                $ptr = 4;
                continue main;
            }
            $dp.$attribs = (-1);
            $dp.$mode = (-1);
            $dp.$count1 = 0;
            return;
        case 2:
            $tmp = jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            jl_AbstractStringBuilder_append0(var$5, $target);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_Throwable__init_($dp, var$4);
            $rt_throw($dp);
        case 4:
            nleo_EaglercraftGPU_bindGLVertexArray(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $c = 0;
            if ($dp.$attribs & 1) {
                $c = 1;
                $ptr = 5;
                continue main;
            }
            if ($dp.$attribs & 2) {
                $c = $c + 1 | 0;
                $ptr = 6;
                continue main;
            }
            if ($dp.$attribs & 4) {
                $c = $c + 1 | 0;
                $ptr = 7;
                continue main;
            }
            if (!($dp.$attribs & 8)) {
                $dp.$attribs = (-1);
                $dp.$mode = (-1);
                $dp.$count1 = 0;
                return;
            }
            $target = $c + 1 | 0;
            $ptr = 8;
            continue main;
        case 5:
            nleo_EaglercraftGPU_disableVertexAttribArray($c);
            if ($rt_suspending()) {
                break main;
            }
            if ($dp.$attribs & 2) {
                $c = $c + 1 | 0;
                $ptr = 6;
                continue main;
            }
            if ($dp.$attribs & 4) {
                $c = $c + 1 | 0;
                $ptr = 7;
                continue main;
            }
            if (!($dp.$attribs & 8)) {
                $dp.$attribs = (-1);
                $dp.$mode = (-1);
                $dp.$count1 = 0;
                return;
            }
            $target = $c + 1 | 0;
            $ptr = 8;
            continue main;
        case 6:
            nleo_EaglercraftGPU_disableVertexAttribArray($c);
            if ($rt_suspending()) {
                break main;
            }
            if ($dp.$attribs & 4) {
                $c = $c + 1 | 0;
                $ptr = 7;
                continue main;
            }
            if (!($dp.$attribs & 8)) {
                $dp.$attribs = (-1);
                $dp.$mode = (-1);
                $dp.$count1 = 0;
                return;
            }
            $target = $c + 1 | 0;
            $ptr = 8;
            continue main;
        case 7:
            nleo_EaglercraftGPU_disableVertexAttribArray($c);
            if ($rt_suspending()) {
                break main;
            }
            if (!($dp.$attribs & 8)) {
                $dp.$attribs = (-1);
                $dp.$mode = (-1);
                $dp.$count1 = 0;
                return;
            }
            $target = $c + 1 | 0;
            $ptr = 8;
        case 8:
            nleo_EaglercraftGPU_disableVertexAttribArray($target);
            if ($rt_suspending()) {
                break main;
            }
            $dp.$attribs = (-1);
            $dp.$mode = (-1);
            $dp.$count1 = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($target, $op, $dp, var$4, var$5, $c, $ptr);
    }
    function nleo_EaglercraftGPU_glEndList() {
        var $dp, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$dp = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $dp = nleo_EaglercraftGPU_currentList;
            if ($dp === null) {
                $dp = new jl_IllegalStateException;
                jl_Throwable__init_($dp, $rt_s(300));
                $rt_throw($dp);
            }
            if ($dp.$attribs != (-1)) {
                if ($dp.$vertexArray === null) {
                    $ptr = 2;
                    continue main;
                }
                if ($dp.$vertexBuffer === null) {
                    $ptr = 9;
                    continue main;
                }
                var$2 = $dp.$vertexBuffer;
                $ptr = 4;
                continue main;
            }
            var$2 = $dp.$vertexArray;
            if (var$2 !== null) {
                $ptr = 3;
                continue main;
            }
            var$2 = $dp.$vertexBuffer;
            if (var$2 === null) {
                nleo_EaglercraftGPU_currentList = null;
                return;
            }
            $ptr = 10;
            continue main;
        case 2:
            $tmp = nleo_EaglercraftGPU_createGLVertexArray();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $dp.$vertexArray = var$2;
            $dp.$bindQuad16 = 0;
            $dp.$bindQuad32 = 0;
            if ($dp.$vertexBuffer === null) {
                $ptr = 9;
                continue main;
            }
            var$2 = $dp.$vertexBuffer;
            $ptr = 4;
            continue main;
        case 3:
            nleo_EaglercraftGPU_destroyGLVertexArray(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $dp.$vertexArray = null;
            var$2 = $dp.$vertexBuffer;
            if (var$2 === null) {
                nleo_EaglercraftGPU_currentList = null;
                return;
            }
            $ptr = 10;
            continue main;
        case 4:
            nleo_EaglercraftGPU_bindVAOGLArrayBufferNow(var$2);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayByteBuffer_flip(nleo_EaglercraftGPU_displayListBuffer);
            var$3 = 34962;
            var$2 = nleo_EaglercraftGPU_displayListBuffer;
            var$4 = 35044;
            $ptr = 5;
        case 5:
            nlei_PlatformOpenGL__wglBufferData(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayByteBuffer_clear(nleo_EaglercraftGPU_displayListBuffer);
            $ptr = 6;
        case 6:
            nleo_FixedFunctionPipeline_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $dp.$attribs;
            $ptr = 7;
        case 7:
            $tmp = nleo_FixedFunctionPipeline_getFragmentState();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$4 = var$3 | var$4;
            $ptr = 8;
        case 8:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_GlStateManager_stateUseExtensionPipeline) {
                $ptr = 11;
                continue main;
            }
            var$2 = nleo_FixedFunctionPipeline_extensionProvider;
            if (var$2 === null) {
                var$2 = new jl_IllegalStateException;
                jl_Throwable__init_(var$2, $rt_s(301));
                $rt_throw(var$2);
            }
            var$3 = var$2.$getCurrentExtensionStateBits(var$4);
            $ptr = 16;
            continue main;
        case 9:
            $tmp = nlei_PlatformOpenGL__wglGenBuffers();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $dp.$vertexBuffer = var$2;
            var$2 = $dp.$vertexBuffer;
            $ptr = 4;
            continue main;
        case 10:
            nleo_EaglercraftGPU_destroyGLArrayBuffer(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $dp.$vertexBuffer = null;
            nleo_EaglercraftGPU_currentList = null;
            return;
        case 11:
            $tmp = nleo_FixedFunctionPipeline_getPipelineInstanceCore(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$5 = $dp.$vertexArray;
            $ptr = 12;
        case 12:
            nleo_EaglercraftGPU_bindGLVertexArray(var$5);
            if ($rt_suspending()) {
                break main;
            }
            $dp = $dp.$vertexBuffer;
            $ptr = 13;
        case 13:
            nleo_EaglercraftGPU_bindVAOGLArrayBuffer($dp);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0;
            $ptr = 14;
        case 14:
            nleo_EaglercraftGPU_enableVertexAttribArray(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 0;
            var$7 = 3;
            var$8 = 5126;
            var$4 = 0;
            var$9 = var$2.$attribStride;
            var$3 = 0;
            $ptr = 15;
        case 15:
            nleo_EaglercraftGPU_vertexAttribPointer(var$6, var$7, var$8, var$4, var$9, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = var$2.$attribTextureIndex;
            if (var$4 != (-1)) {
                $ptr = 17;
                continue main;
            }
            var$4 = var$2.$attribColorIndex;
            if (var$4 != (-1)) {
                $ptr = 19;
                continue main;
            }
            var$4 = var$2.$attribNormalIndex;
            if (var$4 != (-1)) {
                $ptr = 21;
                continue main;
            }
            var$4 = var$2.$attribLightmapIndex;
            if (var$4 == (-1)) {
                nleo_EaglercraftGPU_currentList = null;
                return;
            }
            $ptr = 23;
            continue main;
        case 16:
            $tmp = nleo_FixedFunctionPipeline_getPipelineInstanceExt(var$4, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$5 = $dp.$vertexArray;
            $ptr = 12;
            continue main;
        case 17:
            nleo_EaglercraftGPU_enableVertexAttribArray(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = var$2.$attribTextureIndex;
            var$3 = 2;
            var$6 = 5126;
            var$7 = 0;
            var$8 = var$2.$attribStride;
            var$9 = var$2.$attribTextureOffset;
            $ptr = 18;
        case 18:
            nleo_EaglercraftGPU_vertexAttribPointer(var$4, var$3, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = var$2.$attribColorIndex;
            if (var$4 != (-1)) {
                $ptr = 19;
                continue main;
            }
            var$4 = var$2.$attribNormalIndex;
            if (var$4 != (-1)) {
                $ptr = 21;
                continue main;
            }
            var$4 = var$2.$attribLightmapIndex;
            if (var$4 == (-1)) {
                nleo_EaglercraftGPU_currentList = null;
                return;
            }
            $ptr = 23;
            continue main;
        case 19:
            nleo_EaglercraftGPU_enableVertexAttribArray(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = var$2.$attribColorIndex;
            var$3 = 4;
            var$6 = 5121;
            var$7 = 1;
            var$8 = var$2.$attribStride;
            var$9 = var$2.$attribColorOffset;
            $ptr = 20;
        case 20:
            nleo_EaglercraftGPU_vertexAttribPointer(var$4, var$3, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = var$2.$attribNormalIndex;
            if (var$4 != (-1)) {
                $ptr = 21;
                continue main;
            }
            var$4 = var$2.$attribLightmapIndex;
            if (var$4 == (-1)) {
                nleo_EaglercraftGPU_currentList = null;
                return;
            }
            $ptr = 23;
            continue main;
        case 21:
            nleo_EaglercraftGPU_enableVertexAttribArray(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = var$2.$attribNormalIndex;
            var$3 = 4;
            var$6 = 5120;
            var$7 = 1;
            var$8 = var$2.$attribStride;
            var$9 = var$2.$attribNormalOffset;
            $ptr = 22;
        case 22:
            nleo_EaglercraftGPU_vertexAttribPointer(var$4, var$3, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = var$2.$attribLightmapIndex;
            if (var$4 == (-1)) {
                nleo_EaglercraftGPU_currentList = null;
                return;
            }
            $ptr = 23;
        case 23:
            nleo_EaglercraftGPU_enableVertexAttribArray(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = var$2.$attribLightmapIndex;
            var$3 = 2;
            var$6 = 5123;
            var$7 = 0;
            var$8 = var$2.$attribStride;
            var$9 = var$2.$attribLightmapOffset;
            $ptr = 24;
        case 24:
            nleo_EaglercraftGPU_vertexAttribPointer(var$4, var$3, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            nleo_EaglercraftGPU_currentList = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($dp, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nleo_EaglercraftGPU_glCallList($displayList) {
        var $dp, $p, var$4, $cnt, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$cnt = $thread.pop();var$4 = $thread.pop();$p = $thread.pop();$dp = $thread.pop();$displayList = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $dp = nlei_GLObjectMap_get(nleo_EaglercraftGPU_mapDisplayListsGL, $displayList);
            if ($dp !== null) {
                $displayList = $dp.$attribs;
                if ($displayList == (-1))
                    return;
                $ptr = 4;
                continue main;
            }
            $dp = new jl_NullPointerException;
            $p = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($p);
            var$4 = $rt_s(302);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append($p, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_AbstractStringBuilder_append0(var$4, $displayList);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString($p);
            if ($rt_suspending()) {
                break main;
            }
            $p = $tmp;
            jl_Throwable__init_($dp, $p);
            $rt_throw($dp);
        case 4:
            nleo_FixedFunctionPipeline_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = nleo_FixedFunctionPipeline_getFragmentState();
            if ($rt_suspending()) {
                break main;
            }
            $cnt = $tmp;
            $displayList = $displayList | $cnt;
            $ptr = 6;
        case 6:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_GlStateManager_stateUseExtensionPipeline) {
                $ptr = 7;
                continue main;
            }
            $p = nleo_FixedFunctionPipeline_extensionProvider;
            if ($p === null) {
                $p = new jl_IllegalStateException;
                jl_Throwable__init_($p, $rt_s(301));
                $rt_throw($p);
            }
            $cnt = $p.$getCurrentExtensionStateBits($displayList);
            $ptr = 10;
            continue main;
        case 7:
            $tmp = nleo_FixedFunctionPipeline_getPipelineInstanceCore($displayList);
            if ($rt_suspending()) {
                break main;
            }
            $p = $tmp;
            $ptr = 8;
        case 8:
            $tmp = nleo_FixedFunctionPipeline_update($p);
            if ($rt_suspending()) {
                break main;
            }
            $p = $tmp;
            var$4 = $dp.$vertexArray;
            $ptr = 9;
        case 9:
            nleo_EaglercraftGPU_bindGLVertexArray(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $cnt = $dp.$mode;
            if ($cnt != 7) {
                $displayList = 0;
                var$6 = $dp.$count1;
                $dp = $p.$shaderProgram;
                $ptr = 11;
                continue main;
            }
            $cnt = $dp.$count1;
            if ($cnt <= 65535) {
                if ($dp.$bindQuad16) {
                    $displayList = 0;
                    $ptr = 13;
                    continue main;
                }
                $dp.$bindQuad16 = 1;
                $dp.$bindQuad32 = 0;
                $displayList = 1;
                $ptr = 14;
                continue main;
            }
            if ($dp.$bindQuad32) {
                $displayList = 0;
                $ptr = 15;
                continue main;
            }
            $dp.$bindQuad16 = 0;
            $dp.$bindQuad32 = 1;
            $displayList = 1;
            $ptr = 16;
            continue main;
        case 10:
            $tmp = nleo_FixedFunctionPipeline_getPipelineInstanceExt($displayList, $cnt);
            if ($rt_suspending()) {
                break main;
            }
            $p = $tmp;
            $ptr = 8;
            continue main;
        case 11:
            nleo_EaglercraftGPU_bindGLShaderProgram($dp);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nleo_EaglercraftGPU_drawArrays($cnt, $displayList, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 13:
            nleo_EaglercraftGPU_attachQuad16EmulationBuffer($cnt, $displayList);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 4;
            $displayList = $cnt + ($cnt >> 1) | 0;
            $cnt = 5123;
            var$7 = 0;
            $ptr = 17;
            continue main;
        case 14:
            nleo_EaglercraftGPU_attachQuad16EmulationBuffer($cnt, $displayList);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 4;
            $displayList = $cnt + ($cnt >> 1) | 0;
            $cnt = 5123;
            var$7 = 0;
            $ptr = 17;
            continue main;
        case 15:
            nleo_EaglercraftGPU_attachQuad32EmulationBuffer($cnt, $displayList);
            if ($rt_suspending()) {
                break main;
            }
            $displayList = 4;
            $cnt = $cnt + ($cnt >> 1) | 0;
            var$6 = 5125;
            var$7 = 0;
            $ptr = 18;
            continue main;
        case 16:
            nleo_EaglercraftGPU_attachQuad32EmulationBuffer($cnt, $displayList);
            if ($rt_suspending()) {
                break main;
            }
            $displayList = 4;
            $cnt = $cnt + ($cnt >> 1) | 0;
            var$6 = 5125;
            var$7 = 0;
            $ptr = 18;
            continue main;
        case 17:
            nleo_FixedFunctionPipeline_drawElements($p, var$6, $displayList, $cnt, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 18:
            nleo_FixedFunctionPipeline_drawElements($p, $displayList, $cnt, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($displayList, $dp, $p, var$4, $cnt, var$6, var$7, $ptr);
    }
    function nleo_EaglercraftGPU_flushDisplayList($displayList, $ignore) {
        var $dp, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$dp = $thread.pop();$ignore = $thread.pop();$displayList = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $dp = nlei_GLObjectMap_get(nleo_EaglercraftGPU_mapDisplayListsGL, $displayList);
            if ($dp !== null) {
                $dp.$attribs = (-1);
                var$4 = $dp.$vertexArray;
                if (var$4 !== null) {
                    $ptr = 2;
                    continue main;
                }
                var$4 = $dp.$vertexBuffer;
                if (var$4 === null)
                    return;
                $ptr = 5;
                continue main;
            }
            if ($ignore)
                return;
            $dp = new jl_NullPointerException;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            var$5 = $rt_s(303);
            $ptr = 3;
            continue main;
        case 2:
            nleo_EaglercraftGPU_destroyGLVertexArray(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $dp.$vertexArray = null;
            var$4 = $dp.$vertexBuffer;
            if (var$4 === null)
                return;
            $ptr = 5;
            continue main;
        case 3:
            $tmp = jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            jl_AbstractStringBuilder_append0(var$5, $displayList);
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_Throwable__init_($dp, var$4);
            $rt_throw($dp);
        case 5:
            nleo_EaglercraftGPU_destroyGLArrayBuffer(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $dp.$vertexBuffer = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($displayList, $ignore, $dp, var$4, var$5, $ptr);
    }
    function nleo_EaglercraftGPU_glNormal3f($x, $y, $z) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$z = $thread.pop();$y = $thread.pop();$x = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateNormalX = $x;
            nleo_GlStateManager_stateNormalY = $y;
            nleo_GlStateManager_stateNormalZ = $z;
            nleo_GlStateManager_stateNormalSerial = nleo_GlStateManager_stateNormalSerial + 1 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($x, $y, $z, $ptr);
    }
    function nleo_EaglercraftGPU_glGetString($param) {
        var $str, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$str = $thread.pop();$param = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            a: {
                $str = nleo_EaglercraftGPU_stringCache;
                if (!$param)
                    $str = !$str.$hasEmptyKey ? null : $str.$values0.data[$str.$mask + 1 | 0];
                else {
                    var$3 = $str.$keys;
                    var$4 = $str.$mask;
                    var$5 = cch_IntObjectHashMap_hashKey($str, $param) & var$4;
                    while (true) {
                        var$6 = var$3.data[var$5];
                        if (!var$6)
                            break;
                        if ($param == var$6) {
                            $str = $str.$values0.data[var$5];
                            break a;
                        }
                        var$5 = (var$5 + 1 | 0) & var$4;
                    }
                    $str = null;
                }
            }
            if ($str !== null) {
                if (!jl_String_length($str))
                    $str = null;
                return $str;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformOpenGL__wglGetString($param);
            if ($rt_suspending()) {
                break main;
            }
            $str = $tmp;
            if ($str === null)
                $str = $rt_s(3);
            var$7 = nleo_EaglercraftGPU_stringCache;
            if (!cch_IntObjectHashMap_$assertionsDisabled && var$7.$assigned >= (var$7.$mask + 1 | 0)) {
                $str = new jl_AssertionError;
                jl_Throwable__init_0($str);
                $rt_throw($str);
            }
            b: {
                var$4 = var$7.$mask;
                if (!$param) {
                    var$7.$hasEmptyKey = 1;
                    var$7.$values0.data[var$4 + 1 | 0] = $str;
                } else {
                    var$3 = var$7.$keys;
                    var$6 = cch_IntObjectHashMap_hashKey(var$7, $param) & var$4;
                    while (true) {
                        var$8 = var$3.data;
                        var$5 = var$8[var$6];
                        if (!var$5) {
                            var$4 = $rt_compare(var$7.$assigned, var$7.$resizeAt);
                            if (!var$4) {
                                if (!cch_IntObjectHashMap_$assertionsDisabled && !(!var$4 && !var$7.$keys.data[var$6] && $param)) {
                                    $str = new jl_AssertionError;
                                    jl_Throwable__init_0($str);
                                    $rt_throw($str);
                                }
                                var$9 = var$7.$keys;
                                var$10 = var$7.$values0;
                                var$4 = var$7.$mask + 1 | 0;
                                var$5 = cch_IntObjectHashMap_size(var$7);
                                var$11 = var$7.$loadFactor;
                                $ptr = 3;
                                continue main;
                            }
                            var$8[var$6] = $param;
                            var$7.$values0.data[var$6] = $str;
                            var$7.$assigned = var$7.$assigned + 1 | 0;
                            break b;
                        }
                        if ($param == var$5)
                            break;
                        var$6 = (var$6 + 1 | 0) & var$4;
                    }
                    var$7.$values0.data[var$6] = $str;
                }
            }
            if (!jl_String_length($str))
                $str = null;
            return $str;
        case 3:
            $tmp = cch_HashContainers_nextBufferSize(var$4, var$5, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 4;
        case 4:
            cch_IntObjectHashMap_allocateBuffers(var$7, var$4);
            if ($rt_suspending()) {
                break main;
            }
            if (!cch_IntObjectHashMap_$assertionsDisabled) {
                var$8 = var$9.data;
                if (var$7.$keys.data.length <= var$8.length) {
                    $str = new jl_AssertionError;
                    jl_Throwable__init_0($str);
                    $rt_throw($str);
                }
            }
            var$3 = var$9.data;
            var$8 = var$10.data;
            var$3[var$6] = $param;
            var$8[var$6] = $str;
            cch_IntObjectHashMap_rehash(var$7, var$9, var$10);
            var$7.$assigned = var$7.$assigned + 1 | 0;
            if (!jl_String_length($str))
                $str = null;
            return $str;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($param, $str, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    function nleo_EaglercraftGPU_glTexImage2D($target, $level, $internalFormat, $w, $h, $unused, $format, $type, $pixels) {
        var $tv, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();$tv = $thread.pop();$pixels = $thread.pop();$type = $thread.pop();$format = $thread.pop();$unused = $thread.pop();$h = $thread.pop();$w = $thread.pop();$internalFormat = $thread.pop();$level = $thread.pop();$target = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($target == 3553) {
                $tv = nleo_GlStateManager_boundTexture.data[nleo_GlStateManager_activeTexture];
                var$11 = nlei_GLObjectMap_get(nleo_EaglercraftGPU_mapTexturesGL, $tv);
                if (var$11 !== null) {
                    var$11.$width = $w;
                    var$11.$height = $h;
                }
            }
            if (nleo_EaglercraftGPU_glesVers >= 300) {
                $ptr = 3;
                continue main;
            }
            a: {
                switch ($internalFormat) {
                    case 32849:
                        break;
                    case 32856:
                        $tv = 6408;
                        break a;
                    case 33321:
                        $tv = 6409;
                        break a;
                    default:
                        $pixels = new jl_UnsupportedOperationException;
                        jl_Throwable__init_0($pixels);
                        $rt_throw($pixels);
                }
                $tv = 6407;
            }
            $ptr = 4;
            continue main;
        case 3:
            nlei_PlatformOpenGL__wglTexImage2D($target, $level, $internalFormat, $w, $h, $unused, $format, $type, $pixels);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nlei_PlatformOpenGL__wglTexImage2D($target, $level, $tv, $w, $h, $unused, $tv, $type, $pixels);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($target, $level, $internalFormat, $w, $h, $unused, $format, $type, $pixels, $tv, var$11, $ptr);
    }
    function nleo_EaglercraftGPU_glTexSubImage2D($target, $level, $x, $y, $w, $h, $format, $type, $pixels) {
        var var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();$pixels = $thread.pop();$type = $thread.pop();$format = $thread.pop();$h = $thread.pop();$w = $thread.pop();$y = $thread.pop();$x = $thread.pop();$level = $thread.pop();$target = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$10 = nlei_PlatformOpenGL_ctx;
            if ($pixels === null) {
                $pixels = null;
                var$10.texSubImage2D($target, $level, $x, $y, $w, $h, $format, $type, $pixels);
                return;
            }
            $ptr = 3;
        case 3:
            $tmp = nleib_EaglerArrayBufferAllocator_getDataView8Unsigned($pixels);
            if ($rt_suspending()) {
                break main;
            }
            $pixels = $tmp;
            var$10.texSubImage2D($target, $level, $x, $y, $w, $h, $format, $type, $pixels);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($target, $level, $x, $y, $w, $h, $format, $type, $pixels, var$10, $ptr);
    }
    function nleo_EaglercraftGPU_glLineWidth($f) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$f = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.lineWidth($f);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($f, $ptr);
    }
    function nleo_EaglercraftGPU_destroyGLArrayBuffer($buffer) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$buffer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglDeleteBuffers($buffer);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($buffer, $ptr);
    }
    function nleo_EaglercraftGPU_createGLVertexArray() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleo_EaglercraftGPU_emulatedVAOs)
                return nleo_SoftGLVertexArray__init_0();
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformOpenGL__wglGenVertexArrays();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nleo_EaglercraftGPU_destroyGLVertexArray($buffer) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$buffer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleo_EaglercraftGPU_emulatedVAOs)
                return;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglDeleteVertexArrays($buffer);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($buffer, $ptr);
    }
    function nleo_EaglercraftGPU_enableVertexAttribArray($index) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$index = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_EaglercraftGPU_emulatedVAOs) {
                $ptr = 2;
                continue main;
            }
            var$2 = nleo_EaglercraftGPU_currentVertexArray;
            if (var$2 !== null) {
                nleo_SoftGLVertexArray_enableAttrib(var$2, $index, 1);
                return;
            }
            var$2 = nleo_EaglercraftGPU_logger;
            var$3 = $rt_s(304);
            $ptr = 3;
            continue main;
        case 2:
            nlei_PlatformOpenGL__wglEnableVertexAttribArray($index);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            oall_Logger_warn(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($index, var$2, var$3, $ptr);
    }
    function nleo_EaglercraftGPU_disableVertexAttribArray($index) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$index = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_EaglercraftGPU_emulatedVAOs) {
                $ptr = 2;
                continue main;
            }
            var$2 = nleo_EaglercraftGPU_currentVertexArray;
            if (var$2 !== null) {
                nleo_SoftGLVertexArray_enableAttrib(var$2, $index, 0);
                return;
            }
            var$2 = nleo_EaglercraftGPU_logger;
            var$3 = $rt_s(305);
            $ptr = 3;
            continue main;
        case 2:
            nlei_PlatformOpenGL__wglDisableVertexAttribArray($index);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            oall_Logger_warn(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($index, var$2, var$3, $ptr);
    }
    function nleo_EaglercraftGPU_vertexAttribPointer($index, $size, $format, $normalized, $stride, $offset) {
        var var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$offset = $thread.pop();$stride = $thread.pop();$normalized = $thread.pop();$format = $thread.pop();$size = $thread.pop();$index = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_EaglercraftGPU_emulatedVAOs) {
                $ptr = 2;
                continue main;
            }
            var$7 = nleo_EaglercraftGPU_currentVertexArray;
            if (var$7 === null) {
                var$8 = nleo_EaglercraftGPU_logger;
                var$7 = $rt_s(306);
                $ptr = 3;
                continue main;
            }
            var$8 = nleo_EaglercraftGPU_currentVAOArrayBuffer;
            if (var$8 !== null) {
                var$7 = var$7;
                var$9 = var$7.$attribs0;
                var$10 = var$9.data.length;
                if ($index >= var$10) {
                    var$11 = var$10 << 1;
                    while (var$11 <= $index) {
                        var$11 = var$11 << 1;
                    }
                    var$12 = $rt_createArray(nleo_SoftGLVertexArray$Attrib, var$11);
                    jl_System_fastArraycopy(var$9, 0, var$12, 0, var$10);
                    var$7.$attribs0 = var$12;
                }
                var$9 = var$7.$attribs0;
                var$7 = new nleo_SoftGLVertexArray$Attrib;
                var$7.$buffer1 = var$8;
                var$7.$size1 = $size;
                var$7.$format1 = $format;
                var$7.$normalized = $normalized;
                var$7.$stride = $stride;
                var$7.$offset = $offset;
                var$7.$checkVal = ($size - 1 | 0) & 3 | (!$normalized ? 0 : 4) | $format << 4;
                $size = (((((31 + var$8.$hash | 0) * 31 | 0) + $size | 0) * 31 | 0) + $format | 0) * 31 | 0;
                $format = !$normalized ? 0 : 1;
                var$9 = var$9.data;
                var$7.$hash0 = (((($size + $format | 0) * 31 | 0) + $stride | 0) * 31 | 0) + $offset | 0;
                var$9[$index] = var$7;
                return;
            }
            var$8 = nleo_EaglercraftGPU_logger;
            var$7 = $rt_s(307);
            $ptr = 4;
            continue main;
        case 2:
            nlei_PlatformOpenGL__wglVertexAttribPointer($index, $size, $format, $normalized, $stride, $offset);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            oall_Logger_warn(var$8, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            oall_Logger_warn(var$8, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($index, $size, $format, $normalized, $stride, $offset, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function nleo_EaglercraftGPU_vertexAttribDivisor($index, $divisor) {
        var var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$divisor = $thread.pop();$index = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_EaglercraftGPU_emulatedVAOs) {
                $ptr = 2;
                continue main;
            }
            var$3 = nleo_EaglercraftGPU_currentVertexArray;
            if (var$3 !== null) {
                var$3 = var$3;
                var$4 = var$3.$attribDivisors;
                if (var$4 !== null) {
                    var$5 = var$4.data.length;
                    if ($index >= var$5) {
                        var$6 = var$5 << 1;
                        while (var$6 <= $index) {
                            var$6 = var$6 << 1;
                        }
                        var$7 = $rt_createIntArray(var$6);
                        jl_System_fastArraycopy(var$4, 0, var$7, 0, var$5);
                        var$3.$attribDivisors = var$7;
                    }
                } else if ($divisor) {
                    var$6 = 8;
                    while (var$6 <= $index) {
                        var$6 = var$6 << 1;
                    }
                    var$3.$attribDivisors = $rt_createIntArray(var$6);
                }
                var$4 = var$3.$attribDivisors;
                if (var$4 !== null) {
                    var$4.data[$index] = $divisor;
                    if ($divisor)
                        var$3.$hasAttribDivisorMask = var$3.$hasAttribDivisorMask | 1 << $index;
                    else
                        var$3.$hasAttribDivisorMask = var$3.$hasAttribDivisorMask & (1 << $index ^ (-1));
                }
                return;
            }
            var$3 = nleo_EaglercraftGPU_logger;
            var$8 = $rt_s(306);
            $ptr = 3;
            continue main;
        case 2:
            nlei_PlatformOpenGL__wglVertexAttribDivisor($index, $divisor);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            oall_Logger_warn(var$3, var$8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($index, $divisor, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nleo_EaglercraftGPU_drawArrays($mode, $first, $count) {
        var var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$count = $thread.pop();$first = $thread.pop();$mode = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_EaglercraftGPU_emulatedVAOs) {
                $ptr = 2;
                continue main;
            }
            var$4 = nleo_EaglercraftGPU_currentVertexArray;
            if (var$4 === null) {
                var$4 = nleo_EaglercraftGPU_logger;
                var$5 = $rt_s(308);
                $ptr = 4;
                continue main;
            }
            var$4 = var$4;
            var$5 = nleo_EaglercraftGPU_emulatedVAOState;
            var$6 = 0;
            $ptr = 3;
            continue main;
        case 2:
            nlei_PlatformOpenGL__wglDrawArrays($mode, $first, $count);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nleo_SoftGLVertexArray_transitionToState(var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
            continue main;
        case 4:
            oall_Logger_warn(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($mode, $first, $count, var$4, var$5, var$6, $ptr);
    }
    function nleo_EaglercraftGPU_drawElements($mode, $count, $type, $offset) {
        var var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$offset = $thread.pop();$type = $thread.pop();$count = $thread.pop();$mode = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_EaglercraftGPU_emulatedVAOs) {
                $ptr = 2;
                continue main;
            }
            var$5 = nleo_EaglercraftGPU_currentVertexArray;
            if (var$5 === null) {
                var$5 = nleo_EaglercraftGPU_logger;
                var$6 = $rt_s(308);
                $ptr = 4;
                continue main;
            }
            var$5 = var$5;
            var$6 = nleo_EaglercraftGPU_emulatedVAOState;
            var$7 = 1;
            $ptr = 3;
            continue main;
        case 2:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.drawElements($mode, $count, $type, $offset);
            return;
        case 3:
            nleo_SoftGLVertexArray_transitionToState(var$5, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
            continue main;
        case 4:
            oall_Logger_warn(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($mode, $count, $type, $offset, var$5, var$6, var$7, $ptr);
    }
    function nleo_EaglercraftGPU_bindGLVertexArray($buffer) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$buffer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleo_EaglercraftGPU_emulatedVAOs)
                nleo_EaglercraftGPU_currentVertexArray = $buffer;
            else if (nleo_EaglercraftGPU_currentVertexArray !== $buffer) {
                $ptr = 2;
                continue main;
            }
            return;
        case 2:
            nlei_PlatformOpenGL__wglBindVertexArray($buffer);
            if ($rt_suspending()) {
                break main;
            }
            nleo_EaglercraftGPU_currentVertexArray = $buffer;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($buffer, $ptr);
    }
    function nleo_EaglercraftGPU_bindVAOGLArrayBuffer($buffer) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$buffer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleo_EaglercraftGPU_emulatedVAOs)
                nleo_EaglercraftGPU_currentVAOArrayBuffer = $buffer;
            else if (nleo_EaglercraftGPU_currentArrayBuffer !== $buffer) {
                var$2 = 34962;
                $ptr = 2;
                continue main;
            }
            return;
        case 2:
            nlei_PlatformOpenGL__wglBindBuffer(var$2, $buffer);
            if ($rt_suspending()) {
                break main;
            }
            nleo_EaglercraftGPU_currentArrayBuffer = $buffer;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($buffer, var$2, $ptr);
    }
    function nleo_EaglercraftGPU_bindVAOGLArrayBufferNow($buffer) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$buffer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleo_EaglercraftGPU_emulatedVAOs)
                nleo_EaglercraftGPU_currentVAOArrayBuffer = $buffer;
            if (nleo_EaglercraftGPU_currentArrayBuffer === $buffer)
                return;
            var$2 = 34962;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglBindBuffer(var$2, $buffer);
            if ($rt_suspending()) {
                break main;
            }
            nleo_EaglercraftGPU_currentArrayBuffer = $buffer;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($buffer, var$2, $ptr);
    }
    function nleo_EaglercraftGPU_bindVAOGLElementArrayBuffer($buffer) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$buffer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_EaglercraftGPU_emulatedVAOs) {
                var$2 = 34963;
                $ptr = 2;
                continue main;
            }
            var$3 = nleo_EaglercraftGPU_currentVertexArray;
            if (var$3 !== null) {
                var$3.$indexBuffer = $buffer;
                return;
            }
            $buffer = nleo_EaglercraftGPU_logger;
            var$3 = $rt_s(309);
            $ptr = 3;
            continue main;
        case 2:
            nlei_PlatformOpenGL__wglBindBuffer(var$2, $buffer);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            oall_Logger_warn($buffer, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($buffer, var$2, var$3, $ptr);
    }
    function nleo_EaglercraftGPU_bindVAOGLElementArrayBufferNow($buffer) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$buffer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_EaglercraftGPU_emulatedVAOs) {
                var$2 = 34963;
                $ptr = 2;
                continue main;
            }
            var$3 = nleo_EaglercraftGPU_currentVertexArray;
            if (var$3 === null) {
                $buffer = nleo_EaglercraftGPU_logger;
                var$3 = $rt_s(309);
                $ptr = 3;
                continue main;
            }
            var$3.$indexBuffer = $buffer;
            if (nleo_EaglercraftGPU_currentEmulatedVAOIndexBuffer === $buffer)
                return;
            var$2 = 34963;
            $ptr = 4;
            continue main;
        case 2:
            nlei_PlatformOpenGL__wglBindBuffer(var$2, $buffer);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            oall_Logger_warn($buffer, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nlei_PlatformOpenGL__wglBindBuffer(var$2, $buffer);
            if ($rt_suspending()) {
                break main;
            }
            nleo_EaglercraftGPU_currentEmulatedVAOIndexBuffer = $buffer;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($buffer, var$2, var$3, $ptr);
    }
    function nleo_EaglercraftGPU_bindGLArrayBuffer($buffer) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$buffer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleo_EaglercraftGPU_currentArrayBuffer === $buffer)
                return;
            var$2 = 34962;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglBindBuffer(var$2, $buffer);
            if ($rt_suspending()) {
                break main;
            }
            nleo_EaglercraftGPU_currentArrayBuffer = $buffer;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($buffer, var$2, $ptr);
    }
    function nleo_EaglercraftGPU_bindGLShaderProgram($prog) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$prog = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleo_EaglercraftGPU_currentShaderProgram === $prog)
                return;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglUseProgram($prog);
            if ($rt_suspending()) {
                break main;
            }
            nleo_EaglercraftGPU_currentShaderProgram = $prog;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($prog, $ptr);
    }
    function nleo_EaglercraftGPU_clearCurrentBinding($mask) {
        var var$2, $j, $i, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$i = $thread.pop();$j = $thread.pop();var$2 = $thread.pop();$mask = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($mask & 1) {
                $ptr = 2;
                continue main;
            }
            if ($mask & 2) {
                $ptr = 3;
                continue main;
            }
            if (!($mask & 4)) {
                if ($mask & 8)
                    nleo_EaglercraftGPU_currentVertexArray = null;
                if ($mask & 16) {
                    var$2 = null;
                    nleo_EaglercraftGPU_currentVAOArrayBuffer = var$2;
                    nleo_EaglercraftGPU_currentArrayBuffer = var$2;
                }
                if ($mask & 32)
                    nleo_EaglercraftGPU_currentShaderProgram = null;
                return;
            }
            $j = 0;
            $ptr = 4;
            continue main;
        case 2:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $i = nleo_GlStateManager_boundTexture;
            $j = 0;
            while (true) {
                var$5 = $i.data;
                if ($j >= var$5.length)
                    break;
                var$5[$j] = (-1);
                $j = $j + 1 | 0;
            }
            if ($mask & 2) {
                $ptr = 3;
                continue main;
            }
            if (!($mask & 4)) {
                if ($mask & 8)
                    nleo_EaglercraftGPU_currentVertexArray = null;
                if ($mask & 16) {
                    var$2 = null;
                    nleo_EaglercraftGPU_currentVAOArrayBuffer = var$2;
                    nleo_EaglercraftGPU_currentArrayBuffer = var$2;
                }
                if ($mask & 32)
                    nleo_EaglercraftGPU_currentShaderProgram = null;
                return;
            }
            $j = 0;
            $ptr = 4;
            continue main;
        case 3:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_boundTexture.data[0] = (-1);
            if (!($mask & 4)) {
                if ($mask & 8)
                    nleo_EaglercraftGPU_currentVertexArray = null;
                if ($mask & 16) {
                    var$2 = null;
                    nleo_EaglercraftGPU_currentVAOArrayBuffer = var$2;
                    nleo_EaglercraftGPU_currentArrayBuffer = var$2;
                }
                if ($mask & 32)
                    nleo_EaglercraftGPU_currentShaderProgram = null;
                return;
            }
            $j = 0;
            $ptr = 4;
        case 4:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_activeTexture = $j;
            $j = 33984;
            $ptr = 5;
        case 5:
            nlei_PlatformOpenGL__wglActiveTexture($j);
            if ($rt_suspending()) {
                break main;
            }
            if ($mask & 8)
                nleo_EaglercraftGPU_currentVertexArray = null;
            if ($mask & 16) {
                var$2 = null;
                nleo_EaglercraftGPU_currentVAOArrayBuffer = var$2;
                nleo_EaglercraftGPU_currentArrayBuffer = var$2;
            }
            if ($mask & 32)
                nleo_EaglercraftGPU_currentShaderProgram = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($mask, var$2, $j, $i, var$5, $ptr);
    }
    function nleo_EaglercraftGPU_attachQuad16EmulationBuffer($vertexCount, $bind) {
        var $buf, $newSize, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$newSize = $thread.pop();$buf = $thread.pop();$bind = $thread.pop();$vertexCount = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $buf = nleo_EaglercraftGPU_quad16EmulationBuffer;
            if ($buf === null) {
                $ptr = 2;
                continue main;
            }
            if (nleo_EaglercraftGPU_quad16EmulationBufferSize >= $vertexCount) {
                if (!$bind)
                    return;
                $ptr = 3;
                continue main;
            }
            $newSize = ($vertexCount & (-4096)) + 8192 | 0;
            nleo_EaglercraftGPU_quad16EmulationBufferSize = $newSize;
            if ($newSize > 65535)
                $newSize = 65535;
            $ptr = 6;
            continue main;
        case 2:
            $tmp = nlei_PlatformOpenGL__wglGenBuffers();
            if ($rt_suspending()) {
                break main;
            }
            $buf = $tmp;
            nleo_EaglercraftGPU_quad16EmulationBuffer = $buf;
            $newSize = ($vertexCount & (-4096)) + 8192 | 0;
            nleo_EaglercraftGPU_quad16EmulationBufferSize = $newSize;
            if ($newSize > 65535)
                $newSize = 65535;
            $ptr = 4;
            continue main;
        case 3:
            nleo_EaglercraftGPU_bindVAOGLElementArrayBuffer($buf);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nleo_EaglercraftGPU_bindVAOGLElementArrayBufferNow($buf);
            if ($rt_suspending()) {
                break main;
            }
            $vertexCount = $newSize >> 2;
            $ptr = 5;
        case 5:
            nleo_EaglercraftGPU_resizeQuad16EmulationBuffer($vertexCount);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nleo_EaglercraftGPU_bindVAOGLElementArrayBufferNow($buf);
            if ($rt_suspending()) {
                break main;
            }
            $vertexCount = $newSize >> 2;
            $ptr = 7;
        case 7:
            nleo_EaglercraftGPU_resizeQuad16EmulationBuffer($vertexCount);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($vertexCount, $bind, $buf, $newSize, $ptr);
    }
    function nleo_EaglercraftGPU_attachQuad32EmulationBuffer($vertexCount, $bind) {
        var $buf, $newSize, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$newSize = $thread.pop();$buf = $thread.pop();$bind = $thread.pop();$vertexCount = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $buf = nleo_EaglercraftGPU_quad32EmulationBuffer;
            if ($buf === null) {
                $ptr = 2;
                continue main;
            }
            if (nleo_EaglercraftGPU_quad32EmulationBufferSize >= $vertexCount) {
                if (!$bind)
                    return;
                $ptr = 7;
                continue main;
            }
            $newSize = ($vertexCount & (-16384)) + 32768 | 0;
            nleo_EaglercraftGPU_quad32EmulationBufferSize = $newSize;
            $ptr = 5;
            continue main;
        case 2:
            $tmp = nlei_PlatformOpenGL__wglGenBuffers();
            if ($rt_suspending()) {
                break main;
            }
            $buf = $tmp;
            nleo_EaglercraftGPU_quad32EmulationBuffer = $buf;
            $newSize = ($vertexCount & (-16384)) + 32768 | 0;
            nleo_EaglercraftGPU_quad32EmulationBufferSize = $newSize;
            $ptr = 3;
        case 3:
            nleo_EaglercraftGPU_bindVAOGLElementArrayBufferNow($buf);
            if ($rt_suspending()) {
                break main;
            }
            $vertexCount = $newSize >> 2;
            $ptr = 4;
        case 4:
            nleo_EaglercraftGPU_resizeQuad32EmulationBuffer($vertexCount);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            nleo_EaglercraftGPU_bindVAOGLElementArrayBufferNow($buf);
            if ($rt_suspending()) {
                break main;
            }
            $vertexCount = $newSize >> 2;
            $ptr = 6;
        case 6:
            nleo_EaglercraftGPU_resizeQuad32EmulationBuffer($vertexCount);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            nleo_EaglercraftGPU_bindVAOGLElementArrayBuffer($buf);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($vertexCount, $bind, $buf, $newSize, $ptr);
    }
    function nleo_EaglercraftGPU_resizeQuad16EmulationBuffer($quadCount) {
        var var$2, $buf, $i, $v1, $v2, $v3, $v4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$v4 = $thread.pop();$v3 = $thread.pop();$v2 = $thread.pop();$v1 = $thread.pop();$i = $thread.pop();$buf = $thread.pop();var$2 = $thread.pop();$quadCount = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $quadCount * 3 | 0;
            $ptr = 2;
        case 2:
            $tmp = nle_EagRuntime_allocateIntBuffer(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $buf = $tmp;
            $i = 0;
            if ($i >= $quadCount) {
                nleib_EaglerArrayIntBuffer_flip($buf);
                var$2 = 34963;
                $quadCount = 35044;
                $ptr = 3;
                continue main;
            }
            $v1 = $i << 2;
            $v2 = $v1 + 1 | 0;
            $v3 = $v2 + 1 | 0;
            $v4 = $v3 + 1 | 0;
            var$2 = $v2 << 16;
            $v1 = $v1 | var$2;
            $ptr = 5;
            continue main;
        case 3:
            nlei_PlatformOpenGL__wglBufferData0(var$2, $buf, $quadCount);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nle_EagRuntime_freeIntBuffer($buf);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            nleib_EaglerArrayIntBuffer_put($buf, $v1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $v4 | var$2;
            $ptr = 6;
        case 6:
            nleib_EaglerArrayIntBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $v3 | $v4 << 16;
            $ptr = 7;
        case 7:
            nleib_EaglerArrayIntBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            if ($i >= $quadCount) {
                nleib_EaglerArrayIntBuffer_flip($buf);
                var$2 = 34963;
                $quadCount = 35044;
                $ptr = 3;
                continue main;
            }
            $v1 = $i << 2;
            $v2 = $v1 + 1 | 0;
            $v3 = $v2 + 1 | 0;
            $v4 = $v3 + 1 | 0;
            var$2 = $v2 << 16;
            $v1 = $v1 | var$2;
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($quadCount, var$2, $buf, $i, $v1, $v2, $v3, $v4, $ptr);
    }
    function nleo_EaglercraftGPU_resizeQuad32EmulationBuffer($quadCount) {
        var $i, $buf, $v1, $v2, $v3, $v4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$v4 = $thread.pop();$v3 = $thread.pop();$v2 = $thread.pop();$v1 = $thread.pop();$buf = $thread.pop();$i = $thread.pop();$quadCount = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $i = $quadCount * 6 | 0;
            $ptr = 2;
        case 2:
            $tmp = nle_EagRuntime_allocateIntBuffer($i);
            if ($rt_suspending()) {
                break main;
            }
            $buf = $tmp;
            $i = 0;
            if ($i >= $quadCount) {
                nleib_EaglerArrayIntBuffer_flip($buf);
                $i = 34963;
                $quadCount = 35044;
                $ptr = 3;
                continue main;
            }
            $v1 = $i << 2;
            $v2 = $v1 + 1 | 0;
            $v3 = $v2 + 1 | 0;
            $v4 = $v3 + 1 | 0;
            $ptr = 5;
            continue main;
        case 3:
            nlei_PlatformOpenGL__wglBufferData0($i, $buf, $quadCount);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nle_EagRuntime_freeIntBuffer($buf);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            nleib_EaglerArrayIntBuffer_put($buf, $v1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            nleib_EaglerArrayIntBuffer_put($buf, $v2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nleib_EaglerArrayIntBuffer_put($buf, $v4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            nleib_EaglerArrayIntBuffer_put($buf, $v2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nleib_EaglerArrayIntBuffer_put($buf, $v3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            nleib_EaglerArrayIntBuffer_put($buf, $v4);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            if ($i >= $quadCount) {
                nleib_EaglerArrayIntBuffer_flip($buf);
                $i = 34963;
                $quadCount = 35044;
                $ptr = 3;
                continue main;
            }
            $v1 = $i << 2;
            $v2 = $v1 + 1 | 0;
            $v3 = $v2 + 1 | 0;
            $v4 = $v3 + 1 | 0;
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($quadCount, $i, $buf, $v1, $v2, $v3, $v4, $ptr);
    }
    function nleo_EaglercraftGPU_warmUpCache() {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 7936;
            $ptr = 2;
        case 2:
            nleo_EaglercraftGPU_glGetString(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 7937;
            $ptr = 3;
        case 3:
            nleo_EaglercraftGPU_glGetString(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 7938;
            $ptr = 4;
        case 4:
            nleo_EaglercraftGPU_glGetString(var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = nlei_PlatformOpenGL_checkOpenGLESVersion();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleo_EaglercraftGPU_glesVers = var$1;
            $ptr = 6;
        case 6:
            $tmp = nlei_PlatformOpenGL_checkVAOCapable();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleo_EaglercraftGPU_vertexArrayCapable = var$1;
            nleo_EaglercraftGPU_emulatedVAOs = var$1 ? 0 : 1;
            var$2 = $rt_compare(nlei_PlatformOpenGL_glesVers, 300);
            nleo_EaglercraftGPU_fboRenderMipmapCapable = var$2 < 0 && !nlei_PlatformOpenGL_hasOESFBORenderMipmap ? 0 : 1;
            nleo_EaglercraftGPU_instancingCapable = nlei_PlatformOpenGL_instancingImpl == (-1) ? 0 : 1;
            nleo_EaglercraftGPU_texStorageCapable = var$2 < 0 ? 0 : 1;
            $ptr = 7;
        case 7:
            $tmp = nlei_PlatformOpenGL_checkTextureLODCapable();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleo_EaglercraftGPU_textureLODCapable = var$1;
            $ptr = 8;
        case 8:
            $tmp = nlei_PlatformOpenGL_checkOESGPUShader5Capable();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (!var$1) {
                $ptr = 9;
                continue main;
            }
            nleo_EaglercraftGPU_shader5Capable = 1;
            nleo_EaglercraftGPU_npotCapable = nlei_PlatformOpenGL_glesVers < 300 ? 0 : 1;
            nleo_EaglercraftGPU_uniformBufferOffsetAlignment = nleo_EaglercraftGPU_glesVers < 300 ? (-1) : nlei_PlatformOpenGL_ctx.getParameter(35380);
            if (nleo_EaglercraftGPU_npotCapable) {
                var$1 = 16;
                $ptr = 10;
                continue main;
            }
            var$3 = nleo_EaglercraftGPU_logger;
            var$4 = $rt_s(310);
            $ptr = 11;
            continue main;
        case 9:
            $tmp = nlei_PlatformOpenGL_checkEXTGPUShader5Capable();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleo_EaglercraftGPU_shader5Capable = var$1 ? 1 : 0;
            nleo_EaglercraftGPU_npotCapable = nlei_PlatformOpenGL_glesVers < 300 ? 0 : 1;
            nleo_EaglercraftGPU_uniformBufferOffsetAlignment = nleo_EaglercraftGPU_glesVers < 300 ? (-1) : nlei_PlatformOpenGL_ctx.getParameter(35380);
            if (nleo_EaglercraftGPU_npotCapable) {
                var$1 = 16;
                $ptr = 10;
                continue main;
            }
            var$3 = nleo_EaglercraftGPU_logger;
            var$4 = $rt_s(310);
            $ptr = 11;
            continue main;
        case 10:
            $tmp = nlei_PlatformOpenGL_checkHDRFramebufferSupport(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleo_EaglercraftGPU_hasFramebufferHDR16FSupport = var$1;
            if (!var$1) {
                var$3 = nleo_EaglercraftGPU_logger;
                var$4 = $rt_s(311);
                $ptr = 12;
                continue main;
            }
            var$3 = nleo_EaglercraftGPU_logger;
            var$4 = $rt_s(312);
            $ptr = 13;
            continue main;
        case 11:
            oall_Logger_warn(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 16;
            $ptr = 10;
            continue main;
        case 12:
            oall_Logger_error0(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 16;
            $ptr = 14;
            continue main;
        case 13:
            oall_Logger_info(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 16;
            $ptr = 14;
        case 14:
            $tmp = nlei_PlatformOpenGL_checkLinearHDRFilteringSupport(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleo_EaglercraftGPU_hasLinearHDR16FSupport = var$1;
            if (!var$1) {
                var$3 = nleo_EaglercraftGPU_logger;
                var$4 = $rt_s(313);
                $ptr = 15;
                continue main;
            }
            var$3 = nleo_EaglercraftGPU_logger;
            var$4 = $rt_s(314);
            $ptr = 16;
            continue main;
        case 15:
            oall_Logger_error0(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 32;
            $ptr = 17;
            continue main;
        case 16:
            oall_Logger_info(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 32;
            $ptr = 17;
        case 17:
            $tmp = nlei_PlatformOpenGL_checkHDRFramebufferSupport(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleo_EaglercraftGPU_hasFramebufferHDR32FSupport = var$1;
            if (!var$1) {
                var$3 = nleo_EaglercraftGPU_logger;
                var$4 = $rt_s(315);
                $ptr = 18;
                continue main;
            }
            var$3 = nleo_EaglercraftGPU_logger;
            var$4 = $rt_s(316);
            $ptr = 19;
            continue main;
        case 18:
            oall_Logger_error0(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 32;
            $ptr = 20;
            continue main;
        case 19:
            oall_Logger_info(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 32;
            $ptr = 20;
        case 20:
            $tmp = nlei_PlatformOpenGL_checkLinearHDRFilteringSupport(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleo_EaglercraftGPU_hasLinearHDR32FSupport = var$1;
            if (!var$1) {
                var$3 = nleo_EaglercraftGPU_logger;
                var$4 = $rt_s(317);
                $ptr = 21;
                continue main;
            }
            var$3 = nleo_EaglercraftGPU_logger;
            var$4 = $rt_s(318);
            $ptr = 22;
            continue main;
        case 21:
            oall_Logger_error0(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                b: {
                    if (!(nleo_EaglercraftGPU_hasFramebufferHDR16FSupport && nleo_EaglercraftGPU_hasLinearHDR16FSupport)) {
                        if (!nleo_EaglercraftGPU_hasFramebufferHDR32FSupport)
                            break b;
                        if (!nleo_EaglercraftGPU_hasLinearHDR32FSupport)
                            break b;
                    }
                    var$1 = 1;
                    break a;
                }
                var$1 = 0;
            }
            if (!var$1) {
                var$3 = nleo_EaglercraftGPU_logger;
                var$4 = $rt_s(319);
                $ptr = 23;
                continue main;
            }
            if (nleo_EaglercraftGPU_emulatedVAOs) {
                var$3 = nleo_EaglercraftGPU_logger;
                var$4 = $rt_s(320);
                $ptr = 24;
                continue main;
            }
            if (!nleo_EaglercraftGPU_instancingCapable) {
                var$3 = nleo_EaglercraftGPU_logger;
                var$4 = $rt_s(321);
                $ptr = 25;
                continue main;
            }
            nleo_EaglercraftGPU_emulatedVAOState = !nleo_EaglercraftGPU_emulatedVAOs ? null : nleo_SoftGLVertexState__init_0();
            if (nleit_WebGLBackBuffer_glesVers < 300 && !nleit_WebGLBackBuffer_isEmulatedVAOPhase) {
                if (!nleit_WebGLBackBuffer_isVAOCapable) {
                    $ptr = 30;
                    continue main;
                }
                var$3 = nleit_WebGLBackBuffer_gles2BlitVAO;
                $ptr = 35;
                continue main;
            }
            $ptr = 26;
            continue main;
        case 22:
            oall_Logger_info(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                b: {
                    if (!(nleo_EaglercraftGPU_hasFramebufferHDR16FSupport && nleo_EaglercraftGPU_hasLinearHDR16FSupport)) {
                        if (!nleo_EaglercraftGPU_hasFramebufferHDR32FSupport)
                            break b;
                        if (!nleo_EaglercraftGPU_hasLinearHDR32FSupport)
                            break b;
                    }
                    var$1 = 1;
                    break a;
                }
                var$1 = 0;
            }
            if (!var$1) {
                var$3 = nleo_EaglercraftGPU_logger;
                var$4 = $rt_s(319);
                $ptr = 23;
                continue main;
            }
            if (nleo_EaglercraftGPU_emulatedVAOs) {
                var$3 = nleo_EaglercraftGPU_logger;
                var$4 = $rt_s(320);
                $ptr = 24;
                continue main;
            }
            if (!nleo_EaglercraftGPU_instancingCapable) {
                var$3 = nleo_EaglercraftGPU_logger;
                var$4 = $rt_s(321);
                $ptr = 25;
                continue main;
            }
            nleo_EaglercraftGPU_emulatedVAOState = !nleo_EaglercraftGPU_emulatedVAOs ? null : nleo_SoftGLVertexState__init_0();
            if (nleit_WebGLBackBuffer_glesVers < 300 && !nleit_WebGLBackBuffer_isEmulatedVAOPhase) {
                if (!nleit_WebGLBackBuffer_isVAOCapable) {
                    $ptr = 30;
                    continue main;
                }
                var$3 = nleit_WebGLBackBuffer_gles2BlitVAO;
                $ptr = 35;
                continue main;
            }
            $ptr = 26;
            continue main;
        case 23:
            oall_Logger_error0(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            if (nleo_EaglercraftGPU_emulatedVAOs) {
                var$3 = nleo_EaglercraftGPU_logger;
                var$4 = $rt_s(320);
                $ptr = 24;
                continue main;
            }
            if (!nleo_EaglercraftGPU_instancingCapable) {
                var$3 = nleo_EaglercraftGPU_logger;
                var$4 = $rt_s(321);
                $ptr = 25;
                continue main;
            }
            nleo_EaglercraftGPU_emulatedVAOState = !nleo_EaglercraftGPU_emulatedVAOs ? null : nleo_SoftGLVertexState__init_0();
            if (nleit_WebGLBackBuffer_glesVers < 300 && !nleit_WebGLBackBuffer_isEmulatedVAOPhase) {
                if (!nleit_WebGLBackBuffer_isVAOCapable) {
                    $ptr = 30;
                    continue main;
                }
                var$3 = nleit_WebGLBackBuffer_gles2BlitVAO;
                $ptr = 35;
                continue main;
            }
            $ptr = 26;
            continue main;
        case 24:
            oall_Logger_info(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_EaglercraftGPU_instancingCapable) {
                var$3 = nleo_EaglercraftGPU_logger;
                var$4 = $rt_s(321);
                $ptr = 25;
                continue main;
            }
            nleo_EaglercraftGPU_emulatedVAOState = !nleo_EaglercraftGPU_emulatedVAOs ? null : nleo_SoftGLVertexState__init_0();
            if (nleit_WebGLBackBuffer_glesVers < 300 && !nleit_WebGLBackBuffer_isEmulatedVAOPhase) {
                if (!nleit_WebGLBackBuffer_isVAOCapable) {
                    $ptr = 30;
                    continue main;
                }
                var$3 = nleit_WebGLBackBuffer_gles2BlitVAO;
                $ptr = 35;
                continue main;
            }
            $ptr = 26;
            continue main;
        case 25:
            oall_Logger_info(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            nleo_EaglercraftGPU_emulatedVAOState = !nleo_EaglercraftGPU_emulatedVAOs ? null : nleo_SoftGLVertexState__init_0();
            if (nleit_WebGLBackBuffer_glesVers < 300 && !nleit_WebGLBackBuffer_isEmulatedVAOPhase) {
                if (!nleit_WebGLBackBuffer_isVAOCapable) {
                    $ptr = 30;
                    continue main;
                }
                var$3 = nleit_WebGLBackBuffer_gles2BlitVAO;
                $ptr = 35;
                continue main;
            }
            $ptr = 26;
        case 26:
            nleo_GLSLHeader_init();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 27;
        case 27:
            nleo_DrawUtils_init();
            if ($rt_suspending()) {
                break main;
            }
            if (nleo_EaglercraftGPU_instancingCapable) {
                $ptr = 29;
                continue main;
            }
            var$3 = nleo_DrawUtils_vshLocal;
            $ptr = 28;
        case 28:
            nlei_PlatformOpenGL__wglDeleteShader(var$3);
            if ($rt_suspending()) {
                break main;
            }
            nleo_DrawUtils_vshLocal = null;
            return;
        case 29:
            nleo_InstancedFontRenderer_initialize();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nleo_DrawUtils_vshLocal;
            $ptr = 28;
            continue main;
        case 30:
            $tmp = nleo_EaglercraftGPU_createGLVertexArray();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nleit_WebGLBackBuffer_gles2BlitVAO = var$3;
            $ptr = 31;
        case 31:
            nleo_EaglercraftGPU_bindGLVertexArray(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nleit_WebGLBackBuffer_gles2BlitVBO;
            $ptr = 32;
        case 32:
            nleo_EaglercraftGPU_bindVAOGLArrayBuffer(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 0;
            $ptr = 33;
        case 33:
            nleo_EaglercraftGPU_enableVertexAttribArray(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 0;
            var$6 = 2;
            var$1 = 5126;
            var$7 = 0;
            var$2 = 8;
            var$8 = 0;
            $ptr = 34;
        case 34:
            nleo_EaglercraftGPU_vertexAttribPointer(var$5, var$6, var$1, var$7, var$2, var$8);
            if ($rt_suspending()) {
                break main;
            }
            nleit_WebGLBackBuffer_isEmulatedVAOPhase = 1;
            $ptr = 26;
            continue main;
        case 35:
            nlei_PlatformOpenGL__wglDeleteVertexArrays(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 30;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nleo_EaglercraftGPU_checkOpenGLESVersion() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nleo_EaglercraftGPU_glesVers;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nleo_EaglercraftGPU__clinit_() {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nleo_EaglercraftGPU$1;
            nleo_GLObjectRecycler__init_(var$1, 32);
            nleo_EaglercraftGPU_arrayBufferRecycler = var$1;
            var$1 = new nleo_EaglercraftGPU$2;
            nleo_GLObjectRecycler__init_(var$1, 32);
            nleo_EaglercraftGPU_elementArrayBufferRecycler = var$1;
            var$1 = new nleo_EaglercraftGPU$3;
            nleo_GLObjectRecycler__init_(var$1, 128);
            nleo_EaglercraftGPU_VAORecycler = var$1;
            nleo_EaglercraftGPU_mapTexturesGL = nlei_GLObjectMap__init_(8192);
            nleo_EaglercraftGPU_mapQueriesGL = nlei_GLObjectMap__init_(8192);
            nleo_EaglercraftGPU_mapDisplayListsGL = nlei_GLObjectMap__init_(8192);
            var$1 = $rt_s(322);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleo_EaglercraftGPU_logger = var$1;
            nleo_EaglercraftGPU_emulatedVAOs = 0;
            nleo_EaglercraftGPU_emulatedVAOState = nleo_SoftGLVertexState__init_0();
            nleo_EaglercraftGPU_currentList = null;
            var$2 = 1048576;
            $ptr = 2;
        case 2:
            $tmp = nle_EagRuntime_allocateByteBuffer(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleo_EaglercraftGPU_displayListBuffer = var$1;
            var$1 = new cch_IntObjectHashMap;
            $ptr = 3;
        case 3:
            cch_IntObjectHashMap__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nleo_EaglercraftGPU_stringCache = var$1;
            nleo_EaglercraftGPU_currentVertexArray = null;
            nleo_EaglercraftGPU_currentArrayBuffer = null;
            nleo_EaglercraftGPU_currentVAOArrayBuffer = null;
            nleo_EaglercraftGPU_currentEmulatedVAOIndexBuffer = null;
            nleo_EaglercraftGPU_currentUniformBuffer = null;
            nleo_EaglercraftGPU_currentShaderProgram = null;
            nleo_EaglercraftGPU_currentUniformBlockBindings = $rt_createArray(nlei_IBufferGL, 16);
            nleo_EaglercraftGPU_currentUniformBlockBindingOffset = $rt_createIntArray(16);
            nleo_EaglercraftGPU_currentUniformBlockBindingSize = $rt_createIntArray(16);
            nleo_EaglercraftGPU_lastRecyclerFlush = Long_ZERO;
            nleo_EaglercraftGPU_lastRender = null;
            nleo_EaglercraftGPU_lastMode = 0;
            nleo_EaglercraftGPU_lastCount = 0;
            nleo_EaglercraftGPU_quad16EmulationBuffer = null;
            nleo_EaglercraftGPU_quad16EmulationBufferSize = 0;
            nleo_EaglercraftGPU_quad32EmulationBuffer = null;
            nleo_EaglercraftGPU_quad32EmulationBufferSize = 0;
            nleo_EaglercraftGPU_glesVers = (-1);
            nleo_EaglercraftGPU_hasFramebufferHDR16FSupport = 0;
            nleo_EaglercraftGPU_hasFramebufferHDR32FSupport = 0;
            nleo_EaglercraftGPU_hasLinearHDR16FSupport = 0;
            nleo_EaglercraftGPU_hasLinearHDR32FSupport = 0;
            nleo_EaglercraftGPU_fboRenderMipmapCapable = 0;
            nleo_EaglercraftGPU_vertexArrayCapable = 0;
            nleo_EaglercraftGPU_instancingCapable = 0;
            nleo_EaglercraftGPU_texStorageCapable = 0;
            nleo_EaglercraftGPU_textureLODCapable = 0;
            nleo_EaglercraftGPU_shader5Capable = 0;
            nleo_EaglercraftGPU_npotCapable = 0;
            nleo_EaglercraftGPU_uniformBufferOffsetAlignment = (-1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    var jl_Cloneable = $rt_classWithoutFields(0);
    var jt_Format = $rt_classWithoutFields();
    function jt_DateFormat() {
        jt_Format.call(this);
        this.$calendar = null;
    }
    function jt_DateFormat_format($this, $date) {
        var var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$date = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new jl_StringBuffer;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = new ju_GregorianCalendar;
            var$4 = $this.$locale;
            $ptr = 1;
        case 1:
            ju_GregorianCalendar__init_0(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            ju_Calendar_setTime(var$3, $date);
            if ($rt_suspending()) {
                break main;
            }
            ju_Calendar_setTimeZone(var$3, $this.$calendar.$zone);
            var$5 = $this.$elements.data;
            var$6 = var$5.length;
            var$7 = 0;
            if (var$7 >= var$6) {
                $ptr = 3;
                continue main;
            }
            $date = var$5[var$7];
            $ptr = 4;
            continue main;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $date = $tmp;
            return $date;
        case 4:
            $date.$format2(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = var$7 + 1 | 0;
            if (var$7 >= var$6) {
                $ptr = 3;
                continue main;
            }
            $date = var$5[var$7];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $date, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function jt_SimpleDateFormat() {
        var a = this; jt_DateFormat.call(a);
        a.$dateFormatSymbols = null;
        a.$elements = null;
        a.$pattern = null;
        a.$locale = null;
    }
    function jt_SimpleDateFormat__init_1() {
        var var_0 = new jt_SimpleDateFormat();
        jt_SimpleDateFormat__init_(var_0);
        return var_0;
    }
    function jt_SimpleDateFormat__init_2(var_0) {
        var var_1 = new jt_SimpleDateFormat();
        jt_SimpleDateFormat__init_0(var_1, var_0);
        return var_1;
    }
    function jt_SimpleDateFormat__init_($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = ju_Locale_getDefault();
            var$2 = var$1.$languageCode;
            var$3 = var$1.$countryCode;
            if (otciu_CLDRHelper_$$metadata$$14 === null)
                otciu_CLDRHelper_$$metadata$$14 = otciu_CLDRHelper_getDateFormatMap$$create();
            var$4 = otciu_CLDRHelper_$$metadata$$14;
            $ptr = 1;
        case 1:
            $tmp = otciu_CLDRHelper_getCode(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$1 = ((var$4.hasOwnProperty($rt_ustr(var$1)) ? var$4[$rt_ustr(var$1)] : var$4.hasOwnProperty($rt_ustr(var$2)) ? var$4[$rt_ustr(var$2)] : var$4.root).mediumFormat !== null ? $rt_str((var$4.hasOwnProperty($rt_ustr(var$1)) ? var$4[$rt_ustr(var$1)] : var$4.hasOwnProperty($rt_ustr(var$2)) ? var$4[$rt_ustr(var$2)] : var$4.root).mediumFormat) : null);
            $ptr = 2;
        case 2:
            jt_SimpleDateFormat__init_0($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function jt_SimpleDateFormat__init_0($this, $pattern) {
        var var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$pattern = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = ju_Locale_getDefault();
            var$3 = jt_DateFormatSymbols__init_0(var$2);
            $ptr = 1;
        case 1:
            $tmp = ju_Calendar_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $this.$calendar = var$4;
            var$4 = jt_DateFormatSymbols__init_0(var$3.$locale0);
            var$5 = var$3.$ampms;
            if (var$5 !== null)
                var$4.$ampms = ju_Arrays_copyOf(var$5, var$5.data.length);
            var$6 = var$3.$eras;
            if (var$6 !== null)
                var$4.$eras = ju_Arrays_copyOf(var$6, var$6.data.length);
            var$6 = var$3.$months;
            if (var$6 !== null)
                var$4.$months = ju_Arrays_copyOf(var$6, var$6.data.length);
            var$6 = var$3.$shortMonths;
            if (var$6 !== null)
                var$4.$shortMonths = ju_Arrays_copyOf(var$6, var$6.data.length);
            var$6 = var$3.$shortWeekdays;
            if (var$6 !== null) {
                var$5 = var$6.data;
                var$4.$shortWeekdays = ju_Arrays_copyOf(var$6.$clone(), var$5.length);
            }
            var$6 = var$3.$weekdays;
            if (var$6 !== null)
                var$4.$weekdays = ju_Arrays_copyOf(var$6, var$6.data.length);
            a: {
                var$6 = var$3.$zoneStrings;
                if (var$6 !== null) {
                    var$4.$zoneStrings = $rt_createArray($rt_arraycls(jl_String), var$6.data.length);
                    var$7 = 0;
                    while (true) {
                        var$6 = var$3.$zoneStrings.data;
                        if (var$7 >= var$6.length)
                            break a;
                        var$4.$zoneStrings.data[var$7] = ju_Arrays_copyOf(var$6[var$7], var$6[var$7].data.length);
                        var$7 = var$7 + 1 | 0;
                    }
                }
            }
            $this.$dateFormatSymbols = var$4;
            var$3 = ju_Locale_getDefault();
            $this.$locale = var$3;
            $this.$pattern = $pattern;
            $pattern = new jt_SimpleDatePatternParser;
            var$4 = $this.$dateFormatSymbols;
            $pattern.$elements0 = ju_ArrayList__init_0();
            $pattern.$symbols = var$4;
            $pattern.$locale1 = var$3;
            var$3 = $this.$pattern;
            $ptr = 2;
        case 2:
            jt_SimpleDatePatternParser_parsePattern($pattern, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$elements = ju_AbstractCollection_toArray($pattern.$elements0, $rt_createArray(jt_DateFormatElement, 0));
            $this.$locale = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pattern, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function ju_Date() {
        jl_Object.call(this);
        this.$value1 = Long_ZERO;
    }
    function ju_Date__init_0() {
        var var_0 = new ju_Date();
        ju_Date__init_(var_0);
        return var_0;
    }
    function ju_Date__init_($this) {
        $this.$value1 = jl_System_currentTimeMillis();
    }
    function ju_Date_setTime($this, $time) {
        $this.$value1 = $time;
    }
    function ju_Date__clinit_() {}
    function nms_Timer() {
        var a = this; jl_Object.call(a);
        a.$ticksPerSecond = 0.0;
        a.$lastHRTime = 0.0;
        a.$elapsedTicks = 0;
        a.$renderPartialTicks = 0.0;
        a.$timerSpeed = 0.0;
        a.$elapsedPartialTicks = 0.0;
        a.$lastSyncSysClock = Long_ZERO;
        a.$lastSyncHRClock = Long_ZERO;
        a.$timeSyncAdjustment = 0.0;
    }
    function nms_Timer_updateTimer($this) {
        var $var1, $var3, $var5, $var9, $var11, var$6, var$7;
        $var1 = jl_System_currentTimeMillis();
        $var3 = Long_sub($var1, $this.$lastSyncSysClock);
        $var5 = Long_div(jl_System_nanoTime(), Long_fromInt(1000000));
        if (Long_gt($var3, Long_fromInt(1000))) {
            $var9 = Long_toNumber($var3) / Long_toNumber(Long_sub($var5, $this.$lastSyncHRClock));
            $var11 = $this.$timeSyncAdjustment;
            $this.$timeSyncAdjustment = $var11 + ($var9 - $var11) * 0.20000000298023224;
            $this.$lastSyncSysClock = $var1;
            $this.$lastSyncHRClock = $var5;
        }
        if (Long_lt($var3, Long_ZERO)) {
            $this.$lastSyncSysClock = $var1;
            $this.$lastSyncHRClock = $var5;
        }
        $var11 = Long_toNumber($var5) / 1000.0;
        $var9 = ($var11 - $this.$lastHRTime) * $this.$timeSyncAdjustment;
        $this.$lastHRTime = $var11;
        if ($var9 < 0.0)
            $var9 = 0.0;
        if ($var9 > 1.0)
            $var9 = 1.0;
        var$6 = $this.$elapsedPartialTicks + $var9 * $this.$timerSpeed * $this.$ticksPerSecond;
        $this.$elapsedPartialTicks = var$6;
        var$7 = var$6 | 0;
        $this.$elapsedTicks = var$7;
        var$6 = var$6 - var$7;
        $this.$elapsedPartialTicks = var$6;
        if (var$7 > 10)
            $this.$elapsedTicks = 10;
        $this.$renderPartialTicks = var$6;
    }
    var nms_IProgressUpdate = $rt_classWithoutFields(0);
    function nms_LoadingScreenRenderer() {
        var a = this; jl_Object.call(a);
        a.$currentlyDisplayedProgress = null;
        a.$mc2 = null;
        a.$currentlyDisplayedText = null;
        a.$systemTime0 = Long_ZERO;
        a.$noError = 0;
    }
    function nms_LoadingScreenRenderer__init_(var_0) {
        var var_1 = new nms_LoadingScreenRenderer();
        nms_LoadingScreenRenderer__init_0(var_1, var_0);
        return var_1;
    }
    function nms_LoadingScreenRenderer__init_0($this, $var1) {
        $this.$currentlyDisplayedProgress = $rt_s(3);
        $this.$currentlyDisplayedText = $rt_s(3);
        $this.$systemTime0 = jl_System_currentTimeMillis();
        $this.$noError = 0;
        $this.$mc2 = $var1;
    }
    function nms_LoadingScreenRenderer_printText($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$noError = 0;
            $ptr = 1;
        case 1:
            nms_LoadingScreenRenderer_func_597_c($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_LoadingScreenRenderer_func_597_c($this, $var1) {
        var var$2, $var2, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$mc2;
            if (!var$2.$running)
                return;
            $this.$currentlyDisplayedText = $var1;
            $var2 = nms_ScaledResolution__init_(var$2.$gameSettings, var$2.$displayWidth, var$2.$displayHeight);
            var$4 = 256;
            $ptr = 1;
        case 1:
            olo_GL11_glClear(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 5889;
            $ptr = 2;
        case 2:
            olo_GL11_glMatrixMode(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 0.0;
            var$6 = $var2.$field_25121_a;
            var$7 = $var2.$field_25120_b;
            var$8 = 0.0;
            var$9 = 100.0;
            var$10 = 300.0;
            $ptr = 4;
        case 4:
            olo_GL11_glOrtho(var$5, var$6, var$7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 5888;
            $ptr = 5;
        case 5:
            olo_GL11_glMatrixMode(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 0.0;
            var$12 = 0.0;
            var$13 = (-200.0);
            $ptr = 7;
        case 7:
            olo_GL11_glTranslatef(var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
    }
    function nms_LoadingScreenRenderer_displayLoadingString($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$mc2.$running)
                return;
            $this.$systemTime0 = Long_ZERO;
            $this.$currentlyDisplayedProgress = $var1;
            var$2 = (-1);
            $ptr = 1;
        case 1:
            nms_LoadingScreenRenderer_setLoadingProgress($this, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$systemTime0 = Long_ZERO;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_LoadingScreenRenderer_setLoadingProgress($this, $var1) {
        var $var4, $var2, $var7, $var5, $var6, $var8, var$8, var$9, var$10, var$11, var$12, var$13, $var9, var$15, var$16, var$17, $var10, $var11, $var12, $var13, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();$var9 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var7 = $thread.pop();$var2 = $thread.pop();$var4 = $thread.pop();$var1 = $thread.pop();$this =
            $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                if (!$this.$mc2.$running) {
                    if ($this.$noError)
                        break a;
                    $var4 = new nms_MinecraftError;
                    jl_Throwable__init_0($var4);
                    $rt_throw($var4);
                }
                $var2 = jl_System_currentTimeMillis();
                if (Long_ge(Long_sub($var2, $this.$systemTime0), Long_fromInt(20))) {
                    $this.$systemTime0 = $var2;
                    $var4 = new nms_ScaledResolution;
                    $var7 = $this.$mc2;
                    nms_ScaledResolution__init_0($var4, $var7.$gameSettings, $var7.$displayWidth, $var7.$displayHeight);
                    $var5 = $var4.$scaledWidth;
                    $var6 = $var4.$scaledHeight;
                    $var8 = 256;
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        case 1:
            olo_GL11_glClear($var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 5889;
            $ptr = 2;
        case 2:
            olo_GL11_glMatrixMode($var8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = $var4.$field_25121_a;
            var$10 = $var4.$field_25120_b;
            var$11 = 0.0;
            var$12 = 100.0;
            var$13 = 300.0;
            $ptr = 4;
        case 4:
            olo_GL11_glOrtho(var$8, var$9, var$10, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 5888;
            $ptr = 5;
        case 5:
            olo_GL11_glMatrixMode($var8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 0.0;
            var$15 = 0.0;
            var$16 = (-200.0);
            $ptr = 7;
        case 7:
            olo_GL11_glTranslatef($var9, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 16640;
            $ptr = 8;
        case 8:
            olo_GL11_glClear($var8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var7 = nms_Tessellator_instance;
            $var4 = $this.$mc2.$renderEngine;
            var$17 = $rt_s(323);
            $ptr = 10;
        case 10:
            $tmp = nms_RenderEngine_getTexture($var4, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var10 = 3553;
            $ptr = 11;
        case 11:
            olo_GL11_glBindTexture($var10, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 32.0;
            $ptr = 12;
        case 12:
            nms_Tessellator_startDrawingQuads($var7);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 4210752;
            $ptr = 13;
        case 13:
            nms_Tessellator_setColorOpaque_I($var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 0.0;
            var$8 = $var6;
            var$11 = 0.0;
            var$12 = 0.0;
            var$9 = $var6 / $var9;
            $ptr = 14;
        case 14:
            nms_Tessellator_addVertexWithUV($var7, var$13, var$8, var$11, var$12, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $var5;
            var$12 = 0.0;
            var$13 = $var5 / $var9;
            $ptr = 15;
        case 15:
            nms_Tessellator_addVertexWithUV($var7, var$11, var$8, var$12, var$13, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = 0.0;
            var$8 = 0.0;
            var$9 = 0.0;
            $ptr = 16;
        case 16:
            nms_Tessellator_addVertexWithUV($var7, var$11, var$12, var$8, var$13, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 0.0;
            var$12 = 0.0;
            var$13 = 0.0;
            var$8 = 0.0;
            var$9 = 0.0;
            $ptr = 17;
        case 17:
            nms_Tessellator_addVertexWithUV($var7, var$11, var$12, var$13, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 18;
        case 18:
            nms_Tessellator_draw($var7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1 >= 0) {
                $var10 = 100;
                $var11 = 2;
                $var12 = ($var5 / 2 | 0) - 50 | 0;
                $var13 = ($var6 / 2 | 0) + 16 | 0;
                $var8 = 3553;
                $ptr = 22;
                continue main;
            }
            $var4 = $this.$mc2.$fontRenderer;
            $var7 = $this.$currentlyDisplayedText;
            var$15 = ($var5 - nms_FontRenderer_getStringWidth($var4, $var7) | 0) / 2 | 0;
            $var8 = ($var6 / 2 | 0) - 4 | 0;
            $var9 = $var8 - 16 | 0;
            $var1 = 16777215;
            $ptr = 19;
        case 19:
            nms_FontRenderer_drawStringWithShadow($var4, $var7, var$15, $var9, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $this.$mc2.$fontRenderer;
            $var7 = $this.$currentlyDisplayedProgress;
            $var9 = ($var5 - nms_FontRenderer_getStringWidth($var4, $var7) | 0) / 2 | 0;
            var$15 = $var8 + 8 | 0;
            $var1 = 16777215;
            $ptr = 20;
        case 20:
            nms_FontRenderer_drawStringWithShadow($var4, $var7, $var9, var$15, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 21;
        case 21:
            nlei_PlatformInput_update();
            if ($rt_suspending()) {
                break main;
            }
            try {
                $ptr = 36;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 22:
            olo_GL11_glDisable($var8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 23;
        case 23:
            nms_Tessellator_startDrawingQuads($var7);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 8421504;
            $ptr = 24;
        case 24:
            nms_Tessellator_setColorOpaque_I($var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $var12;
            var$12 = $var13;
            var$13 = 0.0;
            $ptr = 25;
        case 25:
            nms_Tessellator_addVertex($var7, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $var13 + $var11 | 0;
            var$8 = 0.0;
            $ptr = 26;
        case 26:
            nms_Tessellator_addVertex($var7, var$11, var$13, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $var12 + $var10 | 0;
            var$9 = 0.0;
            $ptr = 27;
        case 27:
            nms_Tessellator_addVertex($var7, var$8, var$13, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 0.0;
            $ptr = 28;
        case 28:
            nms_Tessellator_addVertex($var7, var$8, var$12, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 8454016;
            $ptr = 29;
        case 29:
            nms_Tessellator_setColorOpaque_I($var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            $ptr = 30;
        case 30:
            nms_Tessellator_addVertex($var7, var$11, var$12, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            $ptr = 31;
        case 31:
            nms_Tessellator_addVertex($var7, var$11, var$13, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $var12 + $var1 | 0;
            var$8 = 0.0;
            $ptr = 32;
        case 32:
            nms_Tessellator_addVertex($var7, var$11, var$13, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 0.0;
            $ptr = 33;
        case 33:
            nms_Tessellator_addVertex($var7, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 34;
        case 34:
            nms_Tessellator_draw($var7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 3553;
            $ptr = 35;
        case 35:
            olo_GL11_glEnable($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $this.$mc2.$fontRenderer;
            $var7 = $this.$currentlyDisplayedText;
            var$15 = ($var5 - nms_FontRenderer_getStringWidth($var4, $var7) | 0) / 2 | 0;
            $var8 = ($var6 / 2 | 0) - 4 | 0;
            $var9 = $var8 - 16 | 0;
            $var1 = 16777215;
            $ptr = 19;
            continue main;
        case 36:
            b: {
                try {
                    jl_Thread_yield();
                    if ($rt_suspending()) {
                        break main;
                    }
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var4, $var2, $var7, $var5, $var6, $var8, var$8, var$9, var$10, var$11, var$12, var$13, $var9, var$15, var$16, var$17, $var10, $var11, $var12, $var13, $ptr);
    }
    function nms_EntityRenderer() {
        var a = this; jl_Object.call(a);
        a.$mc = null;
        a.$farPlaneDistance = 0.0;
        a.$itemRenderer = null;
        a.$field_1386_j = 0;
        a.$field_1385_k = null;
        a.$mouseFilterXAxis = null;
        a.$mouseFilterYAxis = null;
        a.$field_22233_n = null;
        a.$field_22232_o = null;
        a.$field_22231_p = null;
        a.$field_22229_q = null;
        a.$field_22228_r = 0.0;
        a.$field_22227_s = 0.0;
        a.$field_22226_t = 0.0;
        a.$field_22225_u = 0.0;
        a.$field_22224_v = 0.0;
        a.$field_22223_w = 0.0;
        a.$field_22222_x = 0.0;
        a.$field_22221_y = 0.0;
        a.$field_22220_z = 0.0;
        a.$field_22230_A = 0.0;
        a.$cameraZoom = 0.0;
        a.$cameraYaw = 0.0;
        a.$cameraPitch = 0.0;
        a.$prevFrameTime0 = Long_ZERO;
        a.$random = null;
        a.$field_1394_b = 0;
        a.$field_1393_c = 0;
        a.$field_1392_d = null;
        a.$fogColorRed = 0.0;
        a.$fogColorGreen = 0.0;
        a.$fogColorBlue = 0.0;
        a.$field_1382_n = 0.0;
        a.$field_1381_o = 0.0;
    }
    function nms_EntityRenderer_updateRenderer($this) {
        var var$1, var$2, var$3, var$4, var$5, $var1, $var2, $var3, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$field_1382_n = $this.$field_1381_o;
            $this.$field_22227_s = $this.$field_22228_r;
            $this.$field_22225_u = $this.$field_22226_t;
            $this.$field_22223_w = $this.$field_22224_v;
            $this.$field_22221_y = $this.$field_22222_x;
            $this.$field_22230_A = $this.$field_22220_z;
            var$1 = $this.$mc;
            if (var$1.$renderViewEntity === null)
                var$1.$renderViewEntity = var$1.$thePlayer;
            var$2 = var$1.$theWorld;
            var$3 = nms_MathHelper_floor_double(var$1.$renderViewEntity.$posX);
            var$4 = nms_MathHelper_floor_double($this.$mc.$renderViewEntity.$posY);
            var$5 = nms_MathHelper_floor_double($this.$mc.$renderViewEntity.$posZ);
            $ptr = 1;
        case 1:
            $tmp = nms_World_getLightBrightness(var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var2 = (3 - $this.$mc.$gameSettings.$renderDistance | 0) / 3.0;
            $var3 = $var1 * (1.0 - $var2) + $var2;
            $var1 = $this.$field_1381_o;
            $this.$field_1381_o = $var1 + ($var3 - $var1) * 0.10000000149011612;
            $this.$field_1386_j = $this.$field_1386_j + 1 | 0;
            var$1 = $this.$itemRenderer;
            var$1.$prevEquippedProgress = var$1.$equippedProgress;
            var$2 = var$1.$mc3.$thePlayer;
            var$9 = nms_InventoryPlayer_getCurrentItem(var$2.$inventory);
            var$3 = var$1.$field_20099_f;
            var$4 = var$2.$inventory.$currentItem;
            var$3 = var$3 == var$4 && var$9 === var$1.$itemToRender ? 1 : 0;
            var$2 = var$1.$itemToRender;
            if (var$2 === null && var$9 === null)
                var$3 = 1;
            if (var$9 !== null && var$2 !== null && var$9 !== var$2 && var$9.$itemID == var$2.$itemID) {
                var$1.$itemToRender = var$9;
                var$3 = 1;
            }
            $var1 = 0.4000000059604645;
            $var2 = !var$3 ? 0.0 : 1.0;
            $var3 = var$1.$equippedProgress;
            $var2 = $var2 - $var3;
            var$10 = (-0.4000000059604645);
            if ($var2 >= var$10)
                var$10 = $var2;
            if (var$10 <= $var1)
                $var1 = var$10;
            $var1 = $var3 + $var1;
            var$1.$equippedProgress = $var1;
            if ($var1 < 0.10000000149011612) {
                var$1.$itemToRender = var$9;
                var$1.$field_20099_f = var$4;
            }
            var$1 = $this.$mc;
            if (var$1.$isRaining && var$1.$gameSettings.$fancyGraphics) {
                var$2 = var$1.$renderViewEntity;
                var$1 = var$1.$theWorld;
                var$4 = nms_MathHelper_floor_double(var$2.$posX);
                var$3 = nms_MathHelper_floor_double(var$2.$posY);
                var$11 = nms_MathHelper_floor_double(var$2.$posZ);
                var$12 = 16;
                var$13 = 0;
                var$14 = var$3 + 16 | 0;
                var$15 = var$3 - 16 | 0;
                if (var$13 < 150) {
                    var$5 = (var$4 + ju_Random_nextInt($this.$random, var$12) | 0) - ju_Random_nextInt($this.$random, var$12) | 0;
                    var$16 = (var$11 + ju_Random_nextInt($this.$random, var$12) | 0) - ju_Random_nextInt($this.$random, var$12) | 0;
                    $ptr = 2;
                    continue main;
                }
            }
            return;
        case 2:
            $tmp = nms_World_func_696_e(var$1, var$5, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$17 = $tmp;
            var$3 = var$17 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId(var$1, var$5, var$3, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$17 <= var$14 && var$17 >= var$15) {
                $var1 = ju_Random_nextFloat($this.$random);
                $var2 = ju_Random_nextFloat($this.$random);
                if (var$3 > 0) {
                    var$9 = $this.$mc.$effectRenderer;
                    var$18 = new nms_EntityRainFX;
                    var$19 = var$5 + $var1;
                    var$20 = var$17 + 0.10000000149011612;
                    $ptr = 4;
                    continue main;
                }
            }
            var$13 = var$13 + 1 | 0;
            if (var$13 >= 150)
                return;
            var$5 = (var$4 + ju_Random_nextInt($this.$random, var$12) | 0) - ju_Random_nextInt($this.$random, var$12) | 0;
            var$16 = (var$11 + ju_Random_nextInt($this.$random, var$12) | 0) - ju_Random_nextInt($this.$random, var$12) | 0;
            $ptr = 2;
            continue main;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$21 = var$20 - nms_Block_blocksList.data[var$3].$minY;
            var$20 = var$16 + $var2;
            $ptr = 5;
        case 5:
            nms_EntityRainFX__init_(var$18, var$1, var$19, var$21, var$20);
            if ($rt_suspending()) {
                break main;
            }
            nms_EffectRenderer_addEffect(var$9, var$18);
            var$13 = var$13 + 1 | 0;
            if (var$13 >= 150)
                return;
            var$5 = (var$4 + ju_Random_nextInt($this.$random, var$12) | 0) - ju_Random_nextInt($this.$random, var$12) | 0;
            var$16 = (var$11 + ju_Random_nextInt($this.$random, var$12) | 0) - ju_Random_nextInt($this.$random, var$12) | 0;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $var1, $var2, $var3, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, $ptr);
    }
    function nms_EntityRenderer_getMouseOver($this, $var1) {
        var $var6, $var2, $var8, $var7, $var10, $var14, $var16, $var11, $var13, $var15, $var17, var$13, $var18, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var18 = $thread.pop();var$13 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var10 = $thread.pop();$var7 = $thread.pop();$var8 = $thread.pop();$var2 = $thread.pop();$var6 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = $this.$mc;
            if ($var6.$renderViewEntity !== null && $var6.$theWorld !== null) {
                $var2 = $var6.$playerController.$getBlockReachDistance();
                $var6 = $this.$mc;
                $var8 = $var6.$renderViewEntity;
                $ptr = 1;
                continue main;
            }
            return;
        case 1:
            $tmp = nms_EntityLiving_rayTrace($var8, $var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var6.$objectMouseOver = $var8;
            $var6 = nms_EntityLiving_getPosition($this.$mc.$renderViewEntity, $var1);
            $var8 = $this.$mc.$objectMouseOver;
            if ($var8 !== null)
                $var2 = nms_Vec3D_distanceTo($var8.$hitVec, $var6);
            $var8 = $this.$mc;
            if ($var8.$playerController instanceof nms_PlayerControllerTest)
                $var2 = 32.0;
            else if ($var2 > 3.0)
                $var2 = 3.0;
            $var7 = nms_EntityLiving_getLook($var8.$renderViewEntity, $var1);
            $var8 = nms_Vec3D_addVector($var6, $var7.$xCoord * $var2, $var7.$yCoord * $var2, $var7.$zCoord * $var2);
            $this.$field_1385_k = null;
            $var10 = $this.$mc;
            $var14 = $var10.$theWorld;
            $var16 = $var10.$renderViewEntity;
            $var10 = nms_AxisAlignedBB_expand(nms_AxisAlignedBB_addCoord($var16.$boundingBox, $var7.$xCoord * $var2, $var7.$yCoord * $var2, $var7.$zCoord * $var2), 1.0, 1.0, 1.0);
            $ptr = 2;
        case 2:
            $tmp = nms_World_getEntitiesWithinAABBExcludingEntity($var14, $var16, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $var11 = 0.0;
            $var13 = 0;
            while ($var13 < $var10.$size0) {
                $var14 = ju_ArrayList_get($var10, $var13);
                if ($var14.$canBeCollidedWith()) {
                    $var15 = $var14.$getCollisionBorderSize();
                    $var16 = $var14.$boundingBox;
                    $var2 = $var15;
                    $var16 = nms_AxisAlignedBB_expand($var16, $var2, $var2, $var2);
                    $var17 = nms_AxisAlignedBB_func_1169_a($var16, $var6, $var8);
                    $var2 = $var6.$xCoord;
                    if ($var2 > $var16.$minX0 && $var2 < $var16.$maxX0) {
                        $var2 = $var6.$yCoord;
                        if ($var2 > $var16.$minY0 && $var2 < $var16.$maxY0) {
                            $var2 = $var6.$zCoord;
                            var$13 = $var2 > $var16.$minZ0 && $var2 < $var16.$maxZ0 ? 1 : 0;
                        } else
                            var$13 = 0;
                    } else
                        var$13 = 0;
                    if (var$13) {
                        if (!(0.0 >= $var11 && $var11 !== 0.0)) {
                            $this.$field_1385_k = $var14;
                            $var11 = 0.0;
                        }
                    } else if ($var17 !== null) {
                        $var18 = nms_Vec3D_distanceTo($var6, $var17.$hitVec);
                        if (!($var18 >= $var11 && $var11 !== 0.0)) {
                            $this.$field_1385_k = $var14;
                            $var11 = $var18;
                        }
                    }
                }
                $var13 = $var13 + 1 | 0;
            }
            $var6 = $this.$field_1385_k;
            if ($var6 !== null) {
                $var8 = $this.$mc;
                if (!($var8.$playerController instanceof nms_PlayerControllerTest))
                    $var8.$objectMouseOver = nms_MovingObjectPosition__init_($var6);
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var6, $var2, $var8, $var7, $var10, $var14, $var16, $var11, $var13, $var15, $var17, var$13, $var18, $ptr);
    }
    function nms_EntityRenderer_func_914_d($this, $var1) {
        var $var2, $var3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $this.$mc.$renderViewEntity;
            $var3 = 70.0;
            nms_Material_$callClinit();
            var$4 = nms_Material_water;
            $ptr = 1;
        case 1:
            $tmp = nms_Entity_isInsideOfMaterial($var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                $var3 = 60.0;
            if ($var2.$health <= 0)
                $var3 = $var3 / ((1.0 - 500.0 / ($var2.$deathTime + $var1 + 500.0)) * 2.0 + 1.0);
            var$6 = $this.$field_22221_y;
            return $var3 + var$6 + ($this.$field_22222_x - var$6) * $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, $ptr);
    }
    function nms_EntityRenderer_hurtCameraEffect($this, $var1) {
        var $var2, $var3, $var4, $var4_0, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var4_0 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $this.$mc.$renderViewEntity;
            $var3 = $var2.$hurtTime - $var1;
            if ($var2.$health <= 0) {
                $var1 = 40.0 - 8000.0 / ($var2.$deathTime + $var1 + 200.0);
                $var4 = 0.0;
                $var4_0 = 0.0;
                var$6 = 1.0;
                $ptr = 1;
                continue main;
            }
            if ($var3 < 0.0)
                return;
            $var1 = $var3 / $var2.$maxHurtTime;
            $var1 = nms_MathHelper_sin($var1 * $var1 * $var1 * $var1 * 3.1415927410125732);
            $var4_0 = $var2.$attackedAtYaw;
            var$6 =  -$var4_0;
            var$7 = 0.0;
            $var3 = 1.0;
            $var4 = 0.0;
            $ptr = 2;
            continue main;
        case 1:
            olo_GL11_glRotatef($var1, $var4, $var4_0, var$6);
            if ($rt_suspending()) {
                break main;
            }
            if ($var3 < 0.0)
                return;
            $var1 = $var3 / $var2.$maxHurtTime;
            $var1 = nms_MathHelper_sin($var1 * $var1 * $var1 * $var1 * 3.1415927410125732);
            $var4_0 = $var2.$attackedAtYaw;
            var$6 =  -$var4_0;
            var$7 = 0.0;
            $var3 = 1.0;
            $var4 = 0.0;
            $ptr = 2;
        case 2:
            olo_GL11_glRotatef(var$6, var$7, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 =  -$var1 * 14.0;
            $var3 = 0.0;
            $var4 = 0.0;
            var$6 = 1.0;
            $ptr = 3;
        case 3:
            olo_GL11_glRotatef($var1, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0.0;
            $var3 = 1.0;
            $var4 = 0.0;
            $ptr = 4;
        case 4:
            olo_GL11_glRotatef($var4_0, $var1, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var4_0, var$6, var$7, $ptr);
    }
    function nms_EntityRenderer_setupViewBobbing($this, $var1) {
        var $var2, $var4, $var3, $var5, $var6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $this.$mc.$renderViewEntity;
            if (!($var2 instanceof nms_EntityPlayer))
                return;
            $var4 = $var2.$distanceWalkedModified;
            $var4 =  -($var4 + ($var4 - $var2.$prevDistanceWalkedModified) * $var1);
            $var3 = $var2.$field_775_e;
            $var5 = $var3 + ($var2.$field_774_f - $var3) * $var1;
            $var3 = $var2.$cameraPitch0;
            $var6 = $var3 + ($var2.$field_9328_R - $var3) * $var1;
            $var4 = $var4 * 3.1415927410125732;
            $var1 = nms_MathHelper_sin($var4) * $var5 * 0.5;
            $var3 =  -jl_Math_abs0(nms_MathHelper_cos($var4) * $var5);
            var$7 = 0.0;
            $ptr = 1;
        case 1:
            olo_GL11_glTranslatef($var1, $var3, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_MathHelper_sin($var4) * $var5 * 3.0;
            var$7 = 0.0;
            var$8 = 0.0;
            $var1 = 1.0;
            $ptr = 2;
        case 2:
            olo_GL11_glRotatef($var3, var$7, var$8, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = jl_Math_abs0(nms_MathHelper_cos($var4 - 0.20000000298023224) * $var5) * 5.0;
            $var4 = 1.0;
            $var3 = 0.0;
            $var5 = 0.0;
            $ptr = 3;
        case 3:
            olo_GL11_glRotatef($var1, $var4, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 1.0;
            $var4 = 0.0;
            $var3 = 0.0;
            $ptr = 4;
        case 4:
            olo_GL11_glRotatef($var6, $var1, $var4, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var3, $var5, $var6, var$7, var$8, $ptr);
    }
    function nms_EntityRenderer_orientCamera($this, $var1) {
        var $var2, $var3, $var27, $var25, $var14, $var4, $var6, $var8, $var28, $var13, $var21, $var22, $var24, $var23, $var16, $var18, $var20, var$19, var$20, var$21, var$22, var$23, var$24, var$25, $var10, $var11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();$var20 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var23 = $thread.pop();$var24 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var13 = $thread.pop();$var28 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var14
            = $thread.pop();$var25 = $thread.pop();$var27 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $this.$mc.$renderViewEntity;
            $var3 = $var2.$yOffset - 1.6200000047683716;
            $var27 = $var2.$prevPosX;
            $var25 = $var2.$posX - $var27;
            $var14 = $var1;
            $var4 = $var27 + $var25 * $var14;
            $var27 = $var2.$prevPosY;
            $var27 = $var27 + ($var2.$posY - $var27) * $var14;
            $var25 = $var3;
            $var6 = $var27 - $var25;
            $var27 = $var2.$prevPosZ;
            $var8 = $var27 + ($var2.$posZ - $var27) * $var14;
            $var28 = $this.$field_22230_A;
            $var13 = $var28 + ($this.$field_22220_z - $var28) * $var1;
            $var21 = 0.0;
            $var22 = 0.0;
            $var28 = 1.0;
            $ptr = 1;
        case 1:
            olo_GL11_glRotatef($var13, $var21, $var22, $var28);
            if ($rt_suspending()) {
                break main;
            }
            if (nms_EntityPlayer_isPlayerSleeping($var2)) {
                $var3 = $var25 + 1.0;
                $var28 = 0.0;
                $var13 = 0.30000001192092896;
                $var21 = 0.0;
                $ptr = 2;
                continue main;
            }
            $var24 = $this.$mc.$gameSettings;
            if (!$var24.$thirdPersonView) {
                $var28 = 0.0;
                $var13 = 0.0;
                $var21 = (-0.10000000149011612);
                $ptr = 3;
                continue main;
            }
            $var28 = $this.$field_22227_s;
            $var27 = $var28 + ($this.$field_22228_r - $var28) * $var1;
            if ($var24.$field_22273_E) {
                $var28 = $this.$field_22225_u;
                $var28 = $var28 + ($this.$field_22226_t - $var28) * $var1;
                $var13 = $this.$field_22223_w;
                $var13 = $var13 + ($this.$field_22224_v - $var13) * $var1;
                $var21 = 0.0;
                $var22 = 0.0;
                $var23 =  -$var27;
                $ptr = 6;
                continue main;
            }
            $var28 = $var2.$rotationYaw;
            $var13 = $var2.$rotationPitch;
            $var21 = $var28 / 180.0 * 3.1415927410125732;
            $var22 =  -nms_MathHelper_sin($var21);
            $var23 = $var13 / 180.0 * 3.1415927410125732;
            $var14 = $var22 * nms_MathHelper_cos($var23) * $var27;
            $var16 = nms_MathHelper_cos($var21) * nms_MathHelper_cos($var23) * $var27;
            $var18 =  -nms_MathHelper_sin($var23) * $var27;
            $var20 = 0;
            var$19 = $var4 - $var14;
            var$20 = $var6 - $var18;
            var$21 = $var8 - $var16;
            if ($var20 >= 8) {
                $var21 = $var2.$rotationPitch - $var13;
                $var22 = 1.0;
                $var23 = 0.0;
                var$22 = 0.0;
                $ptr = 16;
                continue main;
            }
            $var21 = (($var20 & 1) * 2 | 0) - 1 | 0;
            $var22 = (($var20 >> 1 & 1) * 2 | 0) - 1 | 0;
            $var23 = (($var20 >> 2 & 1) * 2 | 0) - 1 | 0;
            $var21 = $var21 * 0.10000000149011612;
            $var22 = $var22 * 0.10000000149011612;
            $var23 = $var23 * 0.10000000149011612;
            $var24 = $this.$mc.$theWorld;
            $var25 = $var21;
            $var14 = $var4 + $var25;
            $var16 = $var22;
            $var18 = $var6 + $var16;
            var$23 = $var23;
            var$24 = nms_Vec3D_createVector($var14, $var18, $var8 + var$23);
            var$25 = nms_Vec3D_createVector(var$19 + $var25 + var$23, var$20 + $var16, var$21 + var$23);
            $ptr = 21;
            continue main;
        case 2:
            olo_GL11_glTranslatef($var28, $var13, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $var24 = $this.$mc;
            if (!$var24.$gameSettings.$field_22273_E) {
                $var24 = $var24.$theWorld;
                $var10 = nms_MathHelper_floor_double($var2.$posX);
                $var11 = nms_MathHelper_floor_double($var2.$posY);
                $var20 = nms_MathHelper_floor_double($var2.$posZ);
                $ptr = 4;
                continue main;
            }
            if ($this.$mc.$gameSettings.$field_22273_E) {
                $var1 = 0.0;
                $var28 = 0.0;
                $ptr = 13;
                continue main;
            }
            $var28 = $var2.$prevRotationPitch;
            $var28 = $var28 + ($var2.$rotationPitch - $var28) * $var1;
            $var13 = 1.0;
            $var21 = 0.0;
            $var22 = 0.0;
            $ptr = 14;
            continue main;
        case 3:
            olo_GL11_glTranslatef($var28, $var13, $var21);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$mc.$gameSettings.$field_22273_E) {
                $var1 = 0.0;
                $var28 = 0.0;
                $ptr = 13;
                continue main;
            }
            $var28 = $var2.$prevRotationPitch;
            $var28 = $var28 + ($var2.$rotationPitch - $var28) * $var1;
            $var13 = 1.0;
            $var21 = 0.0;
            $var22 = 0.0;
            $ptr = 14;
            continue main;
        case 4:
            $tmp = nms_World_getBlockId($var24, $var10, $var11, $var20);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $ptr = 5;
        case 5:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var10 == nms_Block_blockBed.$blockID) {
                $var24 = $this.$mc.$theWorld;
                $var10 = nms_MathHelper_floor_double($var2.$posX);
                $var11 = nms_MathHelper_floor_double($var2.$posY);
                $var20 = nms_MathHelper_floor_double($var2.$posZ);
                $ptr = 11;
                continue main;
            }
            $var28 = $var2.$prevRotationYaw;
            $var28 = $var28 + ($var2.$rotationYaw - $var28) * $var1 + 180.0;
            $var13 = 0.0;
            $var21 = (-1.0);
            $var22 = 0.0;
            $ptr = 9;
            continue main;
        case 6:
            olo_GL11_glTranslatef($var21, $var22, $var23);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = 1.0;
            $var22 = 0.0;
            $var23 = 0.0;
            $ptr = 7;
        case 7:
            olo_GL11_glRotatef($var13, $var21, $var22, $var23);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = 0.0;
            $var21 = 1.0;
            $var22 = 0.0;
            $ptr = 8;
        case 8:
            olo_GL11_glRotatef($var28, $var13, $var21, $var22);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$mc.$gameSettings.$field_22273_E) {
                $var1 = 0.0;
                $var28 = 0.0;
                $ptr = 13;
                continue main;
            }
            $var28 = $var2.$prevRotationPitch;
            $var28 = $var28 + ($var2.$rotationPitch - $var28) * $var1;
            $var13 = 1.0;
            $var21 = 0.0;
            $var22 = 0.0;
            $ptr = 14;
            continue main;
        case 9:
            olo_GL11_glRotatef($var28, $var13, $var21, $var22);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $var2.$prevRotationPitch;
            $var28 = $var28 + ($var2.$rotationPitch - $var28) * $var1;
            $var13 = (-1.0);
            $var21 = 0.0;
            $var22 = 0.0;
            $ptr = 10;
        case 10:
            olo_GL11_glRotatef($var28, $var13, $var21, $var22);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$mc.$gameSettings.$field_22273_E) {
                $var1 = 0.0;
                $var28 = 0.0;
                $ptr = 13;
                continue main;
            }
            $var28 = $var2.$prevRotationPitch;
            $var28 = $var28 + ($var2.$rotationPitch - $var28) * $var1;
            $var13 = 1.0;
            $var21 = 0.0;
            $var22 = 0.0;
            $ptr = 14;
            continue main;
        case 11:
            $tmp = nms_World_getBlockMetadata($var24, $var10, $var11, $var20);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var28 = ($var11 & 3) * 90 | 0;
            $var13 = 0.0;
            $var21 = 1.0;
            $var22 = 0.0;
            $ptr = 12;
        case 12:
            olo_GL11_glRotatef($var28, $var13, $var21, $var22);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $var2.$prevRotationYaw;
            $var28 = $var28 + ($var2.$rotationYaw - $var28) * $var1 + 180.0;
            $var13 = 0.0;
            $var21 = (-1.0);
            $var22 = 0.0;
            $ptr = 9;
            continue main;
        case 13:
            olo_GL11_glTranslatef($var1, $var3, $var28);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 14:
            olo_GL11_glRotatef($var28, $var13, $var21, $var22);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $var2.$prevRotationYaw;
            $var1 = $var28 + ($var2.$rotationYaw - $var28) * $var1 + 180.0;
            $var28 = 0.0;
            $var13 = 1.0;
            $var21 = 0.0;
            $ptr = 15;
        case 15:
            olo_GL11_glRotatef($var1, $var28, $var13, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0.0;
            $var28 = 0.0;
            $ptr = 13;
            continue main;
        case 16:
            olo_GL11_glRotatef($var21, $var22, $var23, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = $var2.$rotationYaw - $var28;
            $var22 = 0.0;
            $var23 = 1.0;
            var$22 = 0.0;
            $ptr = 17;
        case 17:
            olo_GL11_glRotatef($var21, $var22, $var23, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = 0.0;
            $var22 = 0.0;
            $var23 =  -$var27;
            $ptr = 18;
        case 18:
            olo_GL11_glTranslatef($var21, $var22, $var23);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $var28 - $var2.$rotationYaw;
            $var21 = 0.0;
            $var22 = 1.0;
            $var23 = 0.0;
            $ptr = 19;
        case 19:
            olo_GL11_glRotatef($var28, $var21, $var22, $var23);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $var13 - $var2.$rotationPitch;
            $var13 = 1.0;
            $var21 = 0.0;
            $var22 = 0.0;
            $ptr = 20;
        case 20:
            olo_GL11_glRotatef($var28, $var13, $var21, $var22);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$mc.$gameSettings.$field_22273_E) {
                $var1 = 0.0;
                $var28 = 0.0;
                $ptr = 13;
                continue main;
            }
            $var28 = $var2.$prevRotationPitch;
            $var28 = $var28 + ($var2.$rotationPitch - $var28) * $var1;
            $var13 = 1.0;
            $var21 = 0.0;
            $var22 = 0.0;
            $ptr = 14;
            continue main;
        case 21:
            $tmp = nms_World_rayTraceBlocks($var24, var$24, var$25);
            if ($rt_suspending()) {
                break main;
            }
            $var24 = $tmp;
            if ($var24 !== null) {
                $var25 = nms_Vec3D_distanceTo($var24.$hitVec, nms_Vec3D_createVector($var4, $var6, $var8));
                if ($var25 < $var27)
                    $var27 = $var25;
            }
            $var20 = $var20 + 1 | 0;
            if ($var20 >= 8) {
                $var21 = $var2.$rotationPitch - $var13;
                $var22 = 1.0;
                $var23 = 0.0;
                var$22 = 0.0;
                $ptr = 16;
                continue main;
            }
            $var21 = (($var20 & 1) * 2 | 0) - 1 | 0;
            $var22 = (($var20 >> 1 & 1) * 2 | 0) - 1 | 0;
            $var23 = (($var20 >> 2 & 1) * 2 | 0) - 1 | 0;
            $var21 = $var21 * 0.10000000149011612;
            $var22 = $var22 * 0.10000000149011612;
            $var23 = $var23 * 0.10000000149011612;
            $var24 = $this.$mc.$theWorld;
            $var25 = $var21;
            $var14 = $var4 + $var25;
            $var16 = $var22;
            $var18 = $var6 + $var16;
            var$23 = $var23;
            var$24 = nms_Vec3D_createVector($var14, $var18, $var8 + var$23);
            var$25 = nms_Vec3D_createVector(var$19 + $var25 + var$23, var$20 + $var16, var$21 + var$23);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var27, $var25, $var14, $var4, $var6, $var8, $var28, $var13, $var21, $var22, $var24, $var23, $var16, $var18, $var20, var$19, var$20, var$21, var$22, var$23, var$24, var$25, $var10, $var11, $ptr);
    }
    function nms_EntityRenderer_setupCameraTransform($this, $var1, $var2) {
        var var$3, $var3, $var4, var$6, var$7, $var5, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var5 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$farPlaneDistance = 256 >> $this.$mc.$gameSettings.$renderDistance;
            var$3 = 5889;
            $ptr = 1;
        case 1:
            olo_GL11_glMatrixMode(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$mc.$gameSettings.$anaglyph) {
                $var3 = ( -(($var2 * 2 | 0) - 1 | 0) | 0) * 0.07000000029802322;
                $var4 = 0.0;
                var$6 = 0.0;
                $ptr = 3;
                continue main;
            }
            if ($this.$cameraZoom === 1.0) {
                $ptr = 4;
                continue main;
            }
            $var3 = $this.$cameraYaw;
            $var4 =  -$this.$cameraPitch;
            var$6 = 0.0;
            $ptr = 6;
            continue main;
        case 3:
            olo_GL11_glTranslatef($var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$cameraZoom === 1.0) {
                $ptr = 4;
                continue main;
            }
            $var3 = $this.$cameraYaw;
            $var4 =  -$this.$cameraPitch;
            var$6 = 0.0;
            $ptr = 6;
            continue main;
        case 4:
            $tmp = nms_EntityRenderer_func_914_d($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            var$7 = $this.$mc;
            $var4 = var$7.$displayWidth / var$7.$displayHeight;
            var$6 = 0.05000000074505806;
            $var5 = $this.$farPlaneDistance;
            $ptr = 5;
        case 5:
            nleo_GlStateManager_gluPerspective($var3, $var4, var$6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 5888;
            $ptr = 10;
            continue main;
        case 6:
            olo_GL11_glTranslatef($var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $this.$cameraZoom;
            $var4 = 1.0;
            $ptr = 7;
        case 7:
            olo_GL11_glScalef($var3, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $tmp = nms_EntityRenderer_func_914_d($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            var$7 = $this.$mc;
            $var4 = var$7.$displayWidth / var$7.$displayHeight;
            var$6 = 0.05000000074505806;
            $var5 = $this.$farPlaneDistance;
            $ptr = 9;
        case 9:
            nleo_GlStateManager_gluPerspective($var3, $var4, var$6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 5888;
            $ptr = 10;
        case 10:
            olo_GL11_glMatrixMode(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$mc.$gameSettings.$anaglyph) {
                $ptr = 12;
                continue main;
            }
            $var3 = (($var2 * 2 | 0) - 1 | 0) * 0.10000000149011612;
            $var4 = 0.0;
            var$6 = 0.0;
            $ptr = 13;
            continue main;
        case 12:
            nms_EntityRenderer_hurtCameraEffect($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$mc.$gameSettings.$viewBobbing) {
                $ptr = 14;
                continue main;
            }
            var$7 = $this.$mc.$thePlayer;
            $var3 = var$7.$prevTimeInPortal;
            $var4 = $var3 + (var$7.$timeInPortal - $var3) * $var1;
            if ($var4 <= 0.0) {
                $ptr = 15;
                continue main;
            }
            var$6 = $var4 * $var4;
            $var5 = 5.0 / (var$6 + 5.0) - $var4 * 0.03999999910593033;
            $var3 = $var5 * $var5;
            var$6 = var$6 * 1500.0;
            $var5 = 0.0;
            var$9 = 1.0;
            var$10 = 1.0;
            $ptr = 16;
            continue main;
        case 13:
            olo_GL11_glTranslatef($var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
            continue main;
        case 14:
            nms_EntityRenderer_setupViewBobbing($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$mc.$thePlayer;
            $var3 = var$7.$prevTimeInPortal;
            $var4 = $var3 + (var$7.$timeInPortal - $var3) * $var1;
            if ($var4 <= 0.0) {
                $ptr = 15;
                continue main;
            }
            var$6 = $var4 * $var4;
            $var5 = 5.0 / (var$6 + 5.0) - $var4 * 0.03999999910593033;
            $var3 = $var5 * $var5;
            var$6 = var$6 * 1500.0;
            $var5 = 0.0;
            var$9 = 1.0;
            var$10 = 1.0;
            $ptr = 16;
            continue main;
        case 15:
            nms_EntityRenderer_orientCamera($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 16:
            olo_GL11_glRotatef(var$6, $var5, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 1.0 / $var3;
            var$6 = 1.0;
            $var5 = 1.0;
            $ptr = 17;
        case 17:
            olo_GL11_glScalef($var3, var$6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var3 =  -$var4 * $var4 * 1500.0;
            $var4 = 0.0;
            var$6 = 1.0;
            $var5 = 1.0;
            $ptr = 18;
        case 18:
            olo_GL11_glRotatef($var3, $var4, var$6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, $var4, var$6, var$7, $var5, var$9, var$10, $ptr);
    }
    function nms_EntityRenderer_func_4135_b($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, var$25, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4
            = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$mc.$gameSettings.$anaglyph) {
                $ptr = 2;
                continue main;
            }
            var$3 = (($var2 * 2 | 0) - 1 | 0) * 0.10000000149011612;
            var$4 = 0.0;
            var$5 = 0.0;
            $ptr = 4;
            continue main;
        case 2:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_EntityRenderer_hurtCameraEffect($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$mc.$gameSettings.$viewBobbing) {
                $ptr = 5;
                continue main;
            }
            var$6 = $this.$mc;
            var$7 = var$6.$gameSettings;
            if (!var$7.$thirdPersonView && !var$6.$renderViewEntity.$sleeping && !var$7.$hideGUI) {
                var$6 = $this.$itemRenderer;
                $ptr = 10;
                continue main;
            }
            $ptr = 6;
            continue main;
        case 4:
            olo_GL11_glTranslatef(var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
            continue main;
        case 5:
            nms_EntityRenderer_setupViewBobbing($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $this.$mc;
            var$7 = var$6.$gameSettings;
            if (!var$7.$thirdPersonView && !var$6.$renderViewEntity.$sleeping && !var$7.$hideGUI) {
                var$6 = $this.$itemRenderer;
                $ptr = 10;
                continue main;
            }
            $ptr = 6;
        case 6:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $this.$mc;
            if (!var$6.$gameSettings.$thirdPersonView && !var$6.$renderViewEntity.$sleeping) {
                var$6 = $this.$itemRenderer;
                $var2 = 3008;
                $ptr = 8;
                continue main;
            }
            if (!$this.$mc.$gameSettings.$viewBobbing)
                return;
            $ptr = 7;
        case 7:
            nms_EntityRenderer_setupViewBobbing($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            olo_GL11_glDisable($var2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = var$6.$mc3.$thePlayer;
            $ptr = 9;
        case 9:
            $tmp = nms_Entity_isBurning(var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if (!$var2) {
                var$7 = var$6.$mc3.$thePlayer;
                $ptr = 11;
                continue main;
            }
            var$7 = var$6.$mc3.$renderEngine;
            var$8 = $rt_s(266);
            $ptr = 12;
            continue main;
        case 10:
            nms_ItemRenderer_renderItemInFirstPerson(var$6, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
            continue main;
        case 11:
            $tmp = nms_EntityPlayer_isEntityInsideOpaqueBlock(var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if (!$var2) {
                var$8 = var$6.$mc3.$thePlayer;
                nms_Material_$callClinit();
                var$7 = nms_Material_water;
                $ptr = 18;
                continue main;
            }
            $var2 = nms_MathHelper_floor_double(var$6.$mc3.$thePlayer.$posX);
            var$9 = nms_MathHelper_floor_double(var$6.$mc3.$thePlayer.$posY);
            var$10 = nms_MathHelper_floor_double(var$6.$mc3.$thePlayer.$posZ);
            var$7 = var$6.$mc3.$renderEngine;
            var$8 = $rt_s(266);
            $ptr = 19;
            continue main;
        case 12:
            $tmp = nms_RenderEngine_getTexture(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$9 = 3553;
            $ptr = 13;
        case 13:
            olo_GL11_glBindTexture(var$9, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = nms_Tessellator_instance;
            var$11 = 1.0;
            var$5 = 1.0;
            var$3 = 1.0;
            var$4 = 0.8999999761581421;
            $ptr = 15;
        case 15:
            nleo_GlStateManager_color(var$11, var$5, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3042;
            $ptr = 16;
        case 16:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 770;
            var$9 = 771;
            $ptr = 17;
        case 17:
            olo_GL11_glBlendFunc($var2, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 0;
            if ($var2 < 2) {
                $ptr = 43;
                continue main;
            }
            var$5 = 1.0;
            var$3 = 1.0;
            var$4 = 1.0;
            var$11 = 1.0;
            $ptr = 41;
            continue main;
        case 18:
            $tmp = nms_Entity_isInsideOfMaterial(var$8, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if (!$var2) {
                $var2 = 3008;
                $ptr = 23;
                continue main;
            }
            var$7 = var$6.$mc3.$renderEngine;
            var$8 = $rt_s(324);
            $ptr = 25;
            continue main;
        case 19:
            $tmp = nms_RenderEngine_getTexture(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            var$13 = 3553;
            $ptr = 20;
        case 20:
            olo_GL11_glBindTexture(var$13, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = var$6.$mc3.$theWorld;
            $ptr = 21;
        case 21:
            $tmp = nms_World_getBlockId(var$7, $var2, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 22;
        case 22:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$14 = nms_Block_blocksList.data;
            if (var$14[$var2] !== null) {
                var$7 = var$14[$var2];
                $var2 = 2;
                $ptr = 28;
                continue main;
            }
            var$8 = var$6.$mc3.$thePlayer;
            nms_Material_$callClinit();
            var$7 = nms_Material_water;
            $ptr = 18;
            continue main;
        case 23:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 24;
        case 24:
            nms_EntityRenderer_hurtCameraEffect($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$mc.$gameSettings.$viewBobbing)
                return;
            $ptr = 7;
            continue main;
        case 25:
            $tmp = nms_RenderEngine_getTexture(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$9 = 3553;
            $ptr = 26;
        case 26:
            olo_GL11_glBindTexture(var$9, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 27;
        case 27:
            nms_ItemRenderer_renderWarpedTextureOverlay(var$6, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3008;
            $ptr = 23;
            continue main;
        case 28:
            $tmp = var$7.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 29;
        case 29:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = nms_Tessellator_instance;
            var$8 = var$6.$mc3.$thePlayer;
            $ptr = 30;
        case 30:
            nms_Entity_getEntityBrightness(var$8, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 0.10000000149011612;
            var$5 = 0.5;
            $ptr = 31;
        case 31:
            nleo_GlStateManager_color(var$3, var$3, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 32;
        case 32:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $var2 % 16 | 0;
            var$4 = var$3 / 256.0 - 0.0078125;
            var$3 = (var$3 + 15.989999771118164) / 256.0 + 0.0078125;
            var$11 = $var2 / 16 | 0;
            var$15 = var$11 / 256.0 - 0.0078125;
            var$5 = (var$11 + 15.989999771118164) / 256.0 + 0.0078125;
            $ptr = 33;
        case 33:
            nms_Tessellator_startDrawingQuads(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = (-1.0);
            var$17 = (-0.5);
            var$18 = var$3;
            var$19 = var$5;
            $ptr = 34;
        case 34:
            nms_Tessellator_addVertexWithUV(var$7, var$16, var$16, var$17, var$18, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = 1.0;
            var$21 = var$4;
            $ptr = 35;
        case 35:
            nms_Tessellator_addVertexWithUV(var$7, var$20, var$16, var$17, var$21, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = var$15;
            $ptr = 36;
        case 36:
            nms_Tessellator_addVertexWithUV(var$7, var$20, var$20, var$17, var$21, var$19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 37;
        case 37:
            nms_Tessellator_addVertexWithUV(var$7, var$16, var$20, var$17, var$18, var$19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 38;
        case 38:
            nms_Tessellator_draw(var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 39;
        case 39:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 1.0;
            var$3 = 1.0;
            var$4 = 1.0;
            var$11 = 1.0;
            $ptr = 40;
        case 40:
            nleo_GlStateManager_color(var$5, var$3, var$4, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = var$6.$mc3.$thePlayer;
            nms_Material_$callClinit();
            var$7 = nms_Material_water;
            $ptr = 18;
            continue main;
        case 41:
            nleo_GlStateManager_color(var$5, var$3, var$4, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3042;
            $ptr = 42;
        case 42:
            olo_GL11_glDisable($var2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = var$6.$mc3.$thePlayer;
            $ptr = 11;
            continue main;
        case 43:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 44;
        case 44:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$9 = nms_Block_fire.$blockIndexInTexture + ($var2 * 16 | 0) | 0;
            var$10 = (var$9 & 15) << 4;
            var$9 = var$9 & 240;
            var$3 = var$10;
            var$5 = var$3 / 256.0;
            var$4 = (var$3 + 15.989999771118164) / 256.0;
            var$11 = var$9;
            var$3 = var$11 / 256.0;
            var$11 = (var$11 + 15.989999771118164) / 256.0;
            var$9 = ($var2 * 2 | 0) - 1 | 0;
            var$15 = ( -var$9 | 0) * 0.23999999463558197;
            var$22 = (-0.30000001192092896);
            var$23 = 0.0;
            $ptr = 45;
        case 45:
            olo_GL11_glTranslatef(var$15, var$22, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = var$9 * 10.0;
            var$22 = 0.0;
            var$23 = 1.0;
            var$24 = 0.0;
            $ptr = 46;
        case 46:
            olo_GL11_glRotatef(var$15, var$22, var$23, var$24);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 47;
        case 47:
            nms_Tessellator_startDrawingQuads(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = (-0.5);
            var$18 = (-0.5);
            var$21 = (-0.5);
            var$25 = var$4;
            var$19 = var$11;
            $ptr = 48;
        case 48:
            nms_Tessellator_addVertexWithUV(var$7, var$20, var$18, var$21, var$25, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = 0.5;
            var$17 = var$5;
            $ptr = 49;
        case 49:
            nms_Tessellator_addVertexWithUV(var$7, var$16, var$18, var$21, var$17, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = 0.5;
            var$19 = var$3;
            $ptr = 50;
        case 50:
            nms_Tessellator_addVertexWithUV(var$7, var$16, var$18, var$21, var$17, var$19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 51;
        case 51:
            nms_Tessellator_addVertexWithUV(var$7, var$20, var$18, var$21, var$25, var$19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 52;
        case 52:
            nms_Tessellator_draw(var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 53;
        case 53:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 < 2) {
                $ptr = 43;
                continue main;
            }
            var$5 = 1.0;
            var$3 = 1.0;
            var$4 = 1.0;
            var$11 = 1.0;
            $ptr = 41;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, var$25, $ptr);
    }
    function nms_EntityRenderer_updateCameraAndRender($this, $var1) {
        var var$2, $var7, $var6, $var10, $var2, $var3, $var4, $var5, $var8, $var9, $var11, var$13, var$14, var$15, var$16, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var10 = $thread.pop();$var6 = $thread.pop();$var7 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (nle_Display_isActive())
                $this.$prevFrameTime0 = jl_System_currentTimeMillis();
            else if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $this.$prevFrameTime0), Long_fromInt(500))) {
                var$2 = $this.$mc;
                $ptr = 1;
                continue main;
            }
            var$2 = $this.$mc;
            if (var$2.$inGameHasFocus) {
                $var7 = var$2.$mouseHelper;
                $var6 = nlei_PlatformInput_mouseDX | 0;
                nlei_PlatformInput_mouseDX = 0.0;
                $var7.$deltaX = $var6;
                $var10 = nlei_PlatformInput_mouseDY | 0;
                nlei_PlatformInput_mouseDY = 0.0;
                $var7.$deltaY = $var10;
                var$2 = var$2.$gameSettings;
                $var2 = var$2.$mouseSensitivity * 0.6000000238418579 + 0.20000000298023224;
                $var3 = $var2 * $var2 * $var2 * 8.0;
                $var4 = $var6 * $var3;
                $var5 = $var10 * $var3;
                $var6 = 1;
                if (var$2.$invertMouse)
                    $var6 = (-1);
                if (var$2.$smoothCamera) {
                    var$2 = $this.$mouseFilterXAxis;
                    $var2 = 0.05000000074505806 * $var3;
                    $var4 = nms_MouseFilter_func_22386_a(var$2, $var4, $var2);
                    $var5 = nms_MouseFilter_func_22386_a($this.$mouseFilterYAxis, $var5, $var2);
                }
                nms_Entity_func_346_d($this.$mc.$thePlayer, $var4, $var5 * $var6);
            }
            var$2 = $this.$mc;
            if (var$2.$field_6307_v)
                return;
            $var7 = nms_ScaledResolution__init_(var$2.$gameSettings, var$2.$displayWidth, var$2.$displayHeight);
            $var8 = $var7.$scaledWidth;
            $var9 = $var7.$scaledHeight;
            $var10 = $rt_imul(nlei_PlatformInput_mouseX, $var8);
            var$2 = $this.$mc;
            $var6 = var$2.$displayWidth;
            $var10 = $var10 / $var6 | 0;
            $var11 = $rt_imul(nlei_PlatformInput_mouseY, $var9);
            $var8 = var$2.$displayHeight;
            $var11 = ($var9 - ($var11 / $var8 | 0) | 0) - 1 | 0;
            if (var$2.$theWorld !== null) {
                $ptr = 8;
                continue main;
            }
            $var9 = 0;
            var$13 = 0;
            $ptr = 2;
            continue main;
        case 1:
            nmc_Minecraft_displayInGameMenu(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$mc;
            if (var$2.$inGameHasFocus) {
                $var7 = var$2.$mouseHelper;
                $var6 = nlei_PlatformInput_mouseDX | 0;
                nlei_PlatformInput_mouseDX = 0.0;
                $var7.$deltaX = $var6;
                $var10 = nlei_PlatformInput_mouseDY | 0;
                nlei_PlatformInput_mouseDY = 0.0;
                $var7.$deltaY = $var10;
                var$2 = var$2.$gameSettings;
                $var2 = var$2.$mouseSensitivity * 0.6000000238418579 + 0.20000000298023224;
                $var3 = $var2 * $var2 * $var2 * 8.0;
                $var4 = $var6 * $var3;
                $var5 = $var10 * $var3;
                $var6 = 1;
                if (var$2.$invertMouse)
                    $var6 = (-1);
                if (var$2.$smoothCamera) {
                    var$2 = $this.$mouseFilterXAxis;
                    $var2 = 0.05000000074505806 * $var3;
                    $var4 = nms_MouseFilter_func_22386_a(var$2, $var4, $var2);
                    $var5 = nms_MouseFilter_func_22386_a($this.$mouseFilterYAxis, $var5, $var2);
                }
                nms_Entity_func_346_d($this.$mc.$thePlayer, $var4, $var5 * $var6);
            }
            var$2 = $this.$mc;
            if (var$2.$field_6307_v)
                return;
            $var7 = nms_ScaledResolution__init_(var$2.$gameSettings, var$2.$displayWidth, var$2.$displayHeight);
            $var8 = $var7.$scaledWidth;
            $var9 = $var7.$scaledHeight;
            $var10 = $rt_imul(nlei_PlatformInput_mouseX, $var8);
            var$2 = $this.$mc;
            $var6 = var$2.$displayWidth;
            $var10 = $var10 / $var6 | 0;
            $var11 = $rt_imul(nlei_PlatformInput_mouseY, $var9);
            $var8 = var$2.$displayHeight;
            $var11 = ($var9 - ($var11 / $var8 | 0) | 0) - 1 | 0;
            if (var$2.$theWorld !== null) {
                $ptr = 8;
                continue main;
            }
            $var9 = 0;
            var$13 = 0;
            $ptr = 2;
        case 2:
            nleo_GlStateManager_viewport($var9, var$13, $var6, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = 5889;
            $ptr = 3;
        case 3:
            olo_GL11_glMatrixMode($var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            $var6 = 5888;
            $ptr = 5;
        case 5:
            olo_GL11_glMatrixMode($var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_EntityRenderer_func_905_b($this);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$mc.$currentScreen === null)
                return;
            $var6 = 256;
            $ptr = 9;
            continue main;
        case 8:
            nms_EntityRenderer_renderWorld($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$mc;
            if (var$2.$gameSettings.$hideGUI && var$2.$currentScreen === null) {
                if ($this.$mc.$currentScreen === null)
                    return;
                $var6 = 256;
                $ptr = 9;
                continue main;
            }
            $var7 = var$2.$ingameGUI;
            $var6 = var$2.$currentScreen === null ? 0 : 1;
            $ptr = 11;
            continue main;
        case 9:
            olo_GL11_glClear($var6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$mc.$currentScreen;
            $ptr = 10;
        case 10:
            var$2.$drawScreen($var10, $var11, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$mc.$currentScreen;
            if (var$2 !== null) {
                var$2 = var$2.$field_25091_h;
                if (var$2 !== null) {
                    var$14 = var$2.$field_25089_b.$renderEngine;
                    $var7 = $rt_s(325);
                    $ptr = 12;
                    continue main;
                }
            }
            return;
        case 11:
            nms_GuiIngame_renderGameOverlay($var7, $var1, $var6, $var10, $var11);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$mc.$currentScreen === null)
                return;
            $var6 = 256;
            $ptr = 9;
            continue main;
        case 12:
            $tmp = nms_RenderEngine_getTexture(var$14, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $ptr = 13;
        case 13:
            nms_RenderEngine_bindTexture(var$14, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = 0;
            var$15 = $var1;
            $var7 = var$2.$field_25090_a;
            if ($var11 >= $var7.$size0)
                return;
            $var7 = ju_ArrayList_get($var7, $var11);
            var$16 = $var7.$field_25144_c;
            $var8 = var$16 + ($var7.$field_25146_a - var$16) * var$15 - 4.0 | 0;
            var$16 = $var7.$field_25143_d;
            $var9 = var$16 + ($var7.$field_25145_b - var$16) * var$15 - 4.0 | 0;
            var$16 = $var7.$field_25129_r;
            $var1 = var$16 + ($var7.$field_25133_n - var$16) * var$15;
            var$16 = $var7.$field_25132_o;
            $var2 = var$16 + ($var7.$field_25136_k - var$16) * var$15;
            var$16 = $var7.$field_25131_p;
            $var3 = var$16 + ($var7.$field_25135_l - var$16) * var$15;
            var$16 = $var7.$field_25130_q;
            $var4 = var$16 + ($var7.$field_25134_m - var$16) * var$15;
            $ptr = 14;
        case 14:
            nleo_GlStateManager_color($var2, $var3, $var4, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 40;
            var$17 = 0;
            $var10 = 8;
            $var6 = 8;
            $ptr = 15;
        case 15:
            nms_Gui_drawTexturedModalRect(var$2, $var8, $var9, var$13, var$17, $var10, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $var11 + 1 | 0;
            $var7 = var$2.$field_25090_a;
            if ($var11 >= $var7.$size0)
                return;
            $var7 = ju_ArrayList_get($var7, $var11);
            var$16 = $var7.$field_25144_c;
            $var8 = var$16 + ($var7.$field_25146_a - var$16) * var$15 - 4.0 | 0;
            var$16 = $var7.$field_25143_d;
            $var9 = var$16 + ($var7.$field_25145_b - var$16) * var$15 - 4.0 | 0;
            var$16 = $var7.$field_25129_r;
            $var1 = var$16 + ($var7.$field_25133_n - var$16) * var$15;
            var$16 = $var7.$field_25132_o;
            $var2 = var$16 + ($var7.$field_25136_k - var$16) * var$15;
            var$16 = $var7.$field_25131_p;
            $var3 = var$16 + ($var7.$field_25135_l - var$16) * var$15;
            var$16 = $var7.$field_25130_q;
            $var4 = var$16 + ($var7.$field_25134_m - var$16) * var$15;
            $ptr = 14;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var7, $var6, $var10, $var2, $var3, $var4, $var5, $var8, $var9, $var11, var$13, var$14, var$15, var$16, var$17, $ptr);
    }
    function nms_EntityRenderer_renderWorld($this, $var1) {
        var $var16, $var17, $var3, $var4, $var7, $var9, var$8, $var5, $var11, $var15, var$12, var$13, $var13, $var14, var$16, $var12, var$18, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$18 = $thread.pop();$var12 = $thread.pop();var$16 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var15 = $thread.pop();$var11 = $thread.pop();$var5 = $thread.pop();var$8 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var16 = $this.$mc;
            if ($var16.$renderViewEntity === null)
                $var16.$renderViewEntity = $var16.$thePlayer;
            $ptr = 1;
        case 1:
            nms_EntityRenderer_getMouseOver($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $this.$mc;
            $var17 = $var16.$renderViewEntity;
            $var3 = $var16.$renderGlobal;
            $var4 = $var16.$effectRenderer;
            $var7 = $var17.$lastTickPosX;
            $var9 = $var17.$posX - $var7;
            var$8 = $var1;
            $var5 = $var7 + $var9 * var$8;
            $var7 = $var17.$lastTickPosY;
            $var7 = $var7 + ($var17.$posY - $var7) * var$8;
            $var9 = $var17.$lastTickPosZ;
            $var9 = $var9 + ($var17.$posZ - $var9) * var$8;
            $var11 = $var16.$theWorld.$chunkProvider;
            if ($var11 instanceof nms_ChunkProviderLoadOrGenerate)
                nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver($var11, nms_MathHelper_floor_float($var5 | 0) >> 4, nms_MathHelper_floor_float($var9 | 0) >> 4);
            $var15 = 0;
            var$12 = $var17 instanceof nms_EntityPlayer;
            if ($var15 >= 2) {
                var$13 = 1;
                $var13 = 1;
                $var15 = 1;
                $var14 = 0;
                $ptr = 2;
                continue main;
            }
            if (!$this.$mc.$gameSettings.$anaglyph) {
                var$16 = 0;
                $var14 = 0;
                $var16 = $this.$mc;
                var$13 = $var16.$displayWidth;
                $var13 = $var16.$displayHeight;
                $ptr = 3;
                continue main;
            }
            if ($var15) {
                $var14 = 1;
                var$13 = 0;
                $var13 = 0;
                var$16 = 0;
                $ptr = 13;
                continue main;
            }
            $var14 = 0;
            var$13 = 1;
            $var13 = 1;
            var$16 = 0;
            $ptr = 14;
            continue main;
        case 2:
            olo_GL11_glColorMask(var$13, $var13, $var15, $var14);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nleo_GlStateManager_viewport(var$16, $var14, var$13, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_EntityRenderer_updateFogColor($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 16640;
            $ptr = 5;
        case 5:
            olo_GL11_glClear($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 2884;
            $ptr = 6;
        case 6:
            olo_GL11_glEnable($var14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_EntityRenderer_setupCameraTransform($this, $var1, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            nms_ClippingHelperImplementation_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$mc.$gameSettings.$renderDistance >= 2) {
                $var14 = 2912;
                $ptr = 9;
                continue main;
            }
            $var14 = (-1);
            $ptr = 11;
            continue main;
        case 9:
            olo_GL11_glEnable($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 1;
            $ptr = 10;
        case 10:
            nms_EntityRenderer_setupFog($this, $var14);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$mc.$gameSettings.$ambientOcclusion) {
                $var16 = new nms_Frustrum;
                $ptr = 15;
                continue main;
            }
            $var14 = 7425;
            $ptr = 30;
            continue main;
        case 11:
            nms_EntityRenderer_setupFog($this, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nms_RenderGlobal_renderSky($var3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 2912;
            $ptr = 9;
            continue main;
        case 13:
            olo_GL11_glColorMask($var14, var$13, $var13, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = 0;
            $var14 = 0;
            $var16 = $this.$mc;
            var$13 = $var16.$displayWidth;
            $var13 = $var16.$displayHeight;
            $ptr = 3;
            continue main;
        case 14:
            olo_GL11_glColorMask($var14, var$13, $var13, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = 0;
            $var14 = 0;
            $var16 = $this.$mc;
            var$13 = $var16.$displayWidth;
            $var13 = $var16.$displayHeight;
            $ptr = 3;
            continue main;
        case 15:
            nms_Frustrum__init_($var16);
            if ($rt_suspending()) {
                break main;
            }
            $var16.$xPosition = $var5;
            $var16.$yPosition = $var7;
            $var16.$zPosition = $var9;
            $var11 = $this.$mc.$renderGlobal;
            $ptr = 16;
        case 16:
            nms_RenderGlobal_clipRenderersByFrustrum($var11, $var16, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $this.$mc.$renderGlobal;
            $var14 = 0;
            $ptr = 17;
        case 17:
            nms_RenderGlobal_updateRenderers($var11, $var17, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 0;
            $ptr = 18;
        case 18:
            nms_EntityRenderer_setupFog($this, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 2912;
            $ptr = 19;
        case 19:
            olo_GL11_glEnable($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 3553;
            $var11 = $this.$mc.$renderEngine;
            $var12 = $rt_s(266);
            $ptr = 20;
        case 20:
            $tmp = nms_RenderEngine_getTexture($var11, $var12);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            $ptr = 21;
        case 21:
            olo_GL11_glBindTexture($var14, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 22;
        case 22:
            nms_RenderHelper_disableStandardItemLighting();
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 0;
            $ptr = 23;
        case 23:
            nms_RenderGlobal_sortAndRender($var3, $var17, $var14, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 24;
        case 24:
            nms_RenderHelper_enableStandardItemLighting();
            if ($rt_suspending()) {
                break main;
            }
            $var11 = nms_EntityLiving_getPosition($var17, $var1);
            $ptr = 25;
        case 25:
            nms_RenderGlobal_renderEntities($var3, $var11, $var16, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 26;
        case 26:
            nms_EffectRenderer_func_1187_b($var4, $var17, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 27;
        case 27:
            nms_RenderHelper_disableStandardItemLighting();
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 0;
            $ptr = 28;
        case 28:
            nms_EntityRenderer_setupFog($this, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 29;
        case 29:
            nms_EffectRenderer_renderParticles($var4, $var17, $var1);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$mc.$objectMouseOver === null) {
                $var14 = 770;
                var$13 = 771;
                $ptr = 31;
                continue main;
            }
            nms_Material_$callClinit();
            $var16 = nms_Material_water;
            $ptr = 40;
            continue main;
        case 30:
            olo_GL11_glShadeModel($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = new nms_Frustrum;
            $ptr = 15;
            continue main;
        case 31:
            olo_GL11_glBlendFunc($var14, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 0;
            $ptr = 32;
        case 32:
            nms_EntityRenderer_setupFog($this, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 3042;
            $ptr = 33;
        case 33:
            olo_GL11_glEnable($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 2884;
            $ptr = 34;
        case 34:
            olo_GL11_glDisable($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 3553;
            $var16 = $this.$mc.$renderEngine;
            $var11 = $rt_s(266);
            $ptr = 35;
        case 35:
            $tmp = nms_RenderEngine_getTexture($var16, $var11);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            $ptr = 36;
        case 36:
            olo_GL11_glBindTexture($var14, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 0;
            var$13 = 0;
            $var13 = 0;
            var$16 = 0;
            $ptr = 37;
        case 37:
            olo_GL11_glColorMask($var14, var$13, $var13, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 1;
            $ptr = 38;
        case 38:
            $tmp = nms_RenderGlobal_sortAndRender($var3, $var17, $var14, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            var$13 = 1;
            $var13 = 1;
            var$16 = 1;
            var$18 = 1;
            $ptr = 39;
        case 39:
            olo_GL11_glColorMask(var$13, $var13, var$16, var$18);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$mc.$gameSettings.$anaglyph) {
                if ($var14 <= 0) {
                    $var14 = 1;
                    $ptr = 41;
                    continue main;
                }
                $var14 = 1;
                $ptr = 45;
                continue main;
            }
            if ($var15) {
                var$13 = 1;
                $var13 = 0;
                var$16 = 0;
                var$18 = 0;
                $ptr = 46;
                continue main;
            }
            var$13 = 0;
            $var13 = 1;
            var$16 = 1;
            var$18 = 0;
            $ptr = 47;
            continue main;
        case 40:
            $tmp = nms_Entity_isInsideOfMaterial($var17, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if ($var14 && var$12) {
                $var14 = 3008;
                $ptr = 48;
                continue main;
            }
            $var14 = 770;
            var$13 = 771;
            $ptr = 31;
            continue main;
        case 41:
            nms_RenderGlobal_sortAndRender($var3, $var17, $var14, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 1;
            $ptr = 42;
        case 42:
            olo_GL11_glDepthMask($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 2884;
            $ptr = 43;
        case 43:
            olo_GL11_glEnable($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 3042;
            $ptr = 44;
        case 44:
            olo_GL11_glDisable($var14);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$cameraZoom === 1.0 && var$12 && $this.$mc.$objectMouseOver !== null) {
                nms_Material_$callClinit();
                $var16 = nms_Material_water;
                $ptr = 60;
                continue main;
            }
            $var14 = 2912;
            $ptr = 52;
            continue main;
        case 45:
            nms_RenderGlobal_func_944_a($var3, $var14, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 1;
            $ptr = 41;
            continue main;
        case 46:
            olo_GL11_glColorMask(var$13, $var13, var$16, var$18);
            if ($rt_suspending()) {
                break main;
            }
            if ($var14 <= 0) {
                $var14 = 1;
                $ptr = 41;
                continue main;
            }
            $var14 = 1;
            $ptr = 45;
            continue main;
        case 47:
            olo_GL11_glColorMask(var$13, $var13, var$16, var$18);
            if ($rt_suspending()) {
                break main;
            }
            if ($var14 <= 0) {
                $var14 = 1;
                $ptr = 41;
                continue main;
            }
            $var14 = 1;
            $ptr = 45;
            continue main;
        case 48:
            olo_GL11_glDisable($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $this.$mc.$objectMouseOver;
            $var14 = 0;
            $var11 = nms_InventoryPlayer_getCurrentItem($var17.$inventory);
            $ptr = 49;
        case 49:
            nms_RenderGlobal_func_959_a($var3, $var17, $var16, $var14, $var11, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $this.$mc.$objectMouseOver;
            $var14 = 0;
            $var11 = nms_InventoryPlayer_getCurrentItem($var17.$inventory);
            $ptr = 50;
        case 50:
            nms_RenderGlobal_drawSelectionBox($var3, $var17, $var16, $var14, $var11, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 3008;
            $ptr = 51;
        case 51:
            olo_GL11_glEnable($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 770;
            var$13 = 771;
            $ptr = 31;
            continue main;
        case 52:
            olo_GL11_glDisable($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 0;
            $ptr = 53;
        case 53:
            nms_EntityRenderer_setupFog($this, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 2912;
            $ptr = 54;
        case 54:
            olo_GL11_glEnable($var14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 55;
        case 55:
            nms_RenderGlobal_renderClouds($var3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 2912;
            $ptr = 56;
        case 56:
            olo_GL11_glDisable($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 1;
            $ptr = 57;
        case 57:
            nms_EntityRenderer_setupFog($this, $var14);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$cameraZoom === 1.0) {
                $var14 = 256;
                $ptr = 58;
                continue main;
            }
            if (!$this.$mc.$gameSettings.$anaglyph)
                return;
            $var15 = $var15 + 1 | 0;
            if ($var15 >= 2) {
                var$13 = 1;
                $var13 = 1;
                $var15 = 1;
                $var14 = 0;
                $ptr = 2;
                continue main;
            }
            if (!$this.$mc.$gameSettings.$anaglyph) {
                var$16 = 0;
                $var14 = 0;
                $var16 = $this.$mc;
                var$13 = $var16.$displayWidth;
                $var13 = $var16.$displayHeight;
                $ptr = 3;
                continue main;
            }
            if ($var15) {
                $var14 = 1;
                var$13 = 0;
                $var13 = 0;
                var$16 = 0;
                $ptr = 13;
                continue main;
            }
            $var14 = 0;
            var$13 = 1;
            $var13 = 1;
            var$16 = 0;
            $ptr = 14;
            continue main;
        case 58:
            olo_GL11_glClear($var14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 59;
        case 59:
            nms_EntityRenderer_func_4135_b($this, $var1, $var15);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$mc.$gameSettings.$anaglyph)
                return;
            $var15 = $var15 + 1 | 0;
            if ($var15 >= 2) {
                var$13 = 1;
                $var13 = 1;
                $var15 = 1;
                $var14 = 0;
                $ptr = 2;
                continue main;
            }
            if (!$this.$mc.$gameSettings.$anaglyph) {
                var$16 = 0;
                $var14 = 0;
                $var16 = $this.$mc;
                var$13 = $var16.$displayWidth;
                $var13 = $var16.$displayHeight;
                $ptr = 3;
                continue main;
            }
            if ($var15) {
                $var14 = 1;
                var$13 = 0;
                $var13 = 0;
                var$16 = 0;
                $ptr = 13;
                continue main;
            }
            $var14 = 0;
            var$13 = 1;
            $var13 = 1;
            var$16 = 0;
            $ptr = 14;
            continue main;
        case 60:
            $tmp = nms_Entity_isInsideOfMaterial($var17, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if ($var14) {
                $var14 = 2912;
                $ptr = 52;
                continue main;
            }
            $var14 = 3008;
            $ptr = 61;
        case 61:
            olo_GL11_glDisable($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $this.$mc.$objectMouseOver;
            $var14 = 0;
            $var11 = nms_InventoryPlayer_getCurrentItem($var17.$inventory);
            $ptr = 62;
        case 62:
            nms_RenderGlobal_func_959_a($var3, $var17, $var16, $var14, $var11, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $this.$mc.$objectMouseOver;
            $var14 = 0;
            $var11 = nms_InventoryPlayer_getCurrentItem($var17.$inventory);
            $ptr = 63;
        case 63:
            nms_RenderGlobal_drawSelectionBox($var3, $var17, $var16, $var14, $var11, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 3008;
            $ptr = 64;
        case 64:
            olo_GL11_glEnable($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 2912;
            $ptr = 52;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var16, $var17, $var3, $var4, $var7, $var9, var$8, $var5, $var11, $var15, var$12, var$13, $var13, $var14, var$16, $var12, var$18, $ptr);
    }
    function nms_EntityRenderer_func_905_b($this) {
        var $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = new nms_ScaledResolution;
            var$2 = $this.$mc;
            nms_ScaledResolution__init_0($var1, var$2.$gameSettings, var$2.$displayWidth, var$2.$displayHeight);
            var$3 = 256;
            $ptr = 1;
        case 1:
            olo_GL11_glClear(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 5889;
            $ptr = 2;
        case 2:
            olo_GL11_glMatrixMode(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            var$5 = $var1.$field_25121_a;
            var$6 = $var1.$field_25120_b;
            var$7 = 0.0;
            var$8 = 1000.0;
            var$9 = 3000.0;
            $ptr = 4;
        case 4:
            olo_GL11_glOrtho(var$4, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 5888;
            $ptr = 5;
        case 5:
            olo_GL11_glMatrixMode(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            var$10 = 0.0;
            var$11 = 0.0;
            var$12 = (-2000.0);
            $ptr = 7;
        case 7:
            olo_GL11_glTranslatef(var$10, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function nms_EntityRenderer_updateFogColor($this, $var1) {
        var $var5, $var2, $var3, $var12, $var6, $var7, $var8, $var9, $var4, $var10, $var11, var$13, $var13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var13 = $thread.pop();var$13 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var4 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var12 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var5 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = $this.$mc;
            $var2 = $var5.$theWorld;
            $var3 = $var5.$renderViewEntity;
            $var12 = 1.0 - jl_Math_pow(1.0 / (4 - $var5.$gameSettings.$renderDistance | 0), 0.25);
            $var5 = $this.$mc.$renderViewEntity;
            $ptr = 1;
        case 1:
            $tmp = nms_World_func_4079_a($var2, $var5, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = $var5.$xCoord;
            $var7 = $var5.$yCoord;
            $var8 = $var5.$zCoord;
            $var9 = nms_World_getFogColor($var2, $var1);
            $var4 = $var9.$xCoord;
            $this.$fogColorRed = $var4;
            $var10 = $var9.$yCoord;
            $this.$fogColorGreen = $var10;
            $var11 = $var9.$zCoord;
            $this.$fogColorBlue = $var11;
            $this.$fogColorRed = $var4 + ($var6 - $var4) * $var12;
            $this.$fogColorGreen = $var10 + ($var7 - $var10) * $var12;
            $this.$fogColorBlue = $var11 + ($var8 - $var11) * $var12;
            nms_Material_$callClinit();
            $var5 = nms_Material_water;
            $ptr = 2;
        case 2:
            $tmp = nms_Entity_isInsideOfMaterial($var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (!var$13) {
                $var5 = nms_Material_lava;
                $ptr = 3;
                continue main;
            }
            $this.$fogColorRed = 0.019999999552965164;
            $this.$fogColorGreen = 0.019999999552965164;
            $this.$fogColorBlue = 0.20000000298023224;
            $var6 = $this.$field_1382_n;
            $var10 = $var6 + ($this.$field_1381_o - $var6) * $var1;
            $var1 = $this.$fogColorRed * $var10;
            $this.$fogColorRed = $var1;
            $var6 = $this.$fogColorGreen * $var10;
            $this.$fogColorGreen = $var6;
            $var7 = $this.$fogColorBlue * $var10;
            $this.$fogColorBlue = $var7;
            if ($this.$mc.$gameSettings.$anaglyph) {
                $var1 = $var1 * 30.0;
                $var11 = ($var1 + $var6 * 59.0 + $var7 * 11.0) / 100.0;
                $var12 = ($var1 + $var6 * 70.0) / 100.0;
                $var13 = ($var1 + $var7 * 70.0) / 100.0;
                $this.$fogColorRed = $var11;
                $this.$fogColorGreen = $var12;
                $this.$fogColorBlue = $var13;
            }
            $var1 = $this.$fogColorRed;
            $var6 = $this.$fogColorGreen;
            $var7 = $this.$fogColorBlue;
            $var8 = 0.0;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = nms_Entity_isInsideOfMaterial($var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (var$13) {
                $this.$fogColorRed = 0.6000000238418579;
                $this.$fogColorGreen = 0.10000000149011612;
                $this.$fogColorBlue = 0.0;
            }
            $var6 = $this.$field_1382_n;
            $var10 = $var6 + ($this.$field_1381_o - $var6) * $var1;
            $var1 = $this.$fogColorRed * $var10;
            $this.$fogColorRed = $var1;
            $var6 = $this.$fogColorGreen * $var10;
            $this.$fogColorGreen = $var6;
            $var7 = $this.$fogColorBlue * $var10;
            $this.$fogColorBlue = $var7;
            if ($this.$mc.$gameSettings.$anaglyph) {
                $var1 = $var1 * 30.0;
                $var11 = ($var1 + $var6 * 59.0 + $var7 * 11.0) / 100.0;
                $var12 = ($var1 + $var6 * 70.0) / 100.0;
                $var13 = ($var1 + $var7 * 70.0) / 100.0;
                $this.$fogColorRed = $var11;
                $this.$fogColorGreen = $var12;
                $this.$fogColorBlue = $var13;
            }
            $var1 = $this.$fogColorRed;
            $var6 = $this.$fogColorGreen;
            $var7 = $this.$fogColorBlue;
            $var8 = 0.0;
            $ptr = 4;
        case 4:
            olo_GL11_glClearColor($var1, $var6, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var5, $var2, $var3, $var12, $var6, $var7, $var8, $var9, $var4, $var10, $var11, var$13, $var13, $ptr);
    }
    function nms_EntityRenderer_setupFog($this, $var1) {
        var $var2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $this.$mc.$renderViewEntity;
            var$3 = 2918;
            var$4 = $this.$fogColorRed;
            var$5 = $this.$fogColorGreen;
            var$6 = $this.$fogColorBlue;
            var$7 = 1.0;
            nleib_EaglerArrayFloatBuffer_clear($this.$field_1392_d);
            var$8 = $this.$field_1392_d;
            $ptr = 1;
        case 1:
            $tmp = nleib_EaglerArrayFloatBuffer_put(var$8, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = nleib_EaglerArrayFloatBuffer_put(var$8, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = nleib_EaglerArrayFloatBuffer_put(var$8, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 4;
        case 4:
            nleib_EaglerArrayFloatBuffer_put(var$8, var$7);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayFloatBuffer_flip($this.$field_1392_d);
            var$8 = $this.$field_1392_d;
            $ptr = 5;
        case 5:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$9 = var$8.$position0;
            switch (var$3) {
                case 2918:
                    $ptr = 6;
                    continue main;
                default:
            }
            var$8 = new jl_UnsupportedOperationException;
            jl_Throwable__init_(var$8, $rt_s(326));
            $rt_throw(var$8);
        case 6:
            $tmp = nleib_EaglerArrayFloatBuffer_get(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $ptr = 7;
        case 7:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateFogColorR = var$7;
            $ptr = 8;
        case 8:
            $tmp = nleib_EaglerArrayFloatBuffer_get(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            nleo_GlStateManager_stateFogColorG = var$7;
            $ptr = 9;
        case 9:
            $tmp = nleib_EaglerArrayFloatBuffer_get(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            nleo_GlStateManager_stateFogColorB = var$7;
            $ptr = 10;
        case 10:
            $tmp = nleib_EaglerArrayFloatBuffer_get(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            nleo_GlStateManager_stateFogColorA = var$7;
            nleo_GlStateManager_stateFogSerial = nleo_GlStateManager_stateFogSerial + 1 | 0;
            if (var$9 >= 0 && var$9 <= var$8.$limit0) {
                var$8.$position0 = var$9;
                var$7 = 0.0;
                var$4 = (-1.0);
                var$5 = 0.0;
                $ptr = 12;
                continue main;
            }
            $ptr = 11;
        case 11:
            $tmp = nleib_Buffer_makeIOOBE(var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $rt_throw($var2);
        case 12:
            nleo_EaglercraftGPU_glNormal3f(var$7, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 1.0;
            var$4 = 1.0;
            var$5 = 1.0;
            var$6 = 1.0;
            $ptr = 13;
        case 13:
            nleo_GlStateManager_color(var$7, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            nms_Material_$callClinit();
            var$8 = nms_Material_water;
            $ptr = 14;
        case 14:
            $tmp = nms_Entity_isInsideOfMaterial($var2, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3) {
                var$8 = nms_Material_lava;
                $ptr = 15;
                continue main;
            }
            $var1 = 2917;
            var$3 = 2048;
            $ptr = 16;
            continue main;
        case 15:
            $tmp = nms_Entity_isInsideOfMaterial($var2, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3) {
                var$3 = 2917;
                var$10 = 9729;
                $ptr = 18;
                continue main;
            }
            $var1 = 2917;
            var$3 = 2048;
            $ptr = 21;
            continue main;
        case 16:
            olo_GL11_glFogi($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 2914;
            var$7 = 0.10000000149011612;
            $ptr = 17;
        case 17:
            olo_GL11_glFogf($var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 2903;
            $ptr = 23;
            continue main;
        case 18:
            olo_GL11_glFogi(var$3, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 2915;
            var$7 = $this.$farPlaneDistance * 0.25;
            $ptr = 19;
        case 19:
            olo_GL11_glFogf(var$3, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 2916;
            var$7 = $this.$farPlaneDistance;
            $ptr = 20;
        case 20:
            olo_GL11_glFogf(var$3, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1 < 0) {
                $var1 = 2915;
                var$7 = 0.0;
                $ptr = 24;
                continue main;
            }
            if (!$this.$mc.$theWorld.$worldProvider.$field_4220_c) {
                $var1 = 2903;
                $ptr = 23;
                continue main;
            }
            $var1 = 2915;
            var$7 = 0.0;
            $ptr = 26;
            continue main;
        case 21:
            olo_GL11_glFogi($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 2914;
            var$7 = 2.0;
            $ptr = 22;
        case 22:
            olo_GL11_glFogf($var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 2903;
            $ptr = 23;
        case 23:
            olo_GL11_glEnable($var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 24:
            olo_GL11_glFogf($var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 2916;
            var$7 = $this.$farPlaneDistance * 0.800000011920929;
            $ptr = 25;
        case 25:
            olo_GL11_glFogf($var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$mc.$theWorld.$worldProvider.$field_4220_c) {
                $var1 = 2903;
                $ptr = 23;
                continue main;
            }
            $var1 = 2915;
            var$7 = 0.0;
            $ptr = 26;
        case 26:
            olo_GL11_glFogf($var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 2903;
            $ptr = 23;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_Gui() {
        jl_Object.call(this);
        this.$zLevel = 0.0;
    }
    function nms_Gui__init_0() {
        var var_0 = new nms_Gui();
        nms_Gui__init_(var_0);
        return var_0;
    }
    function nms_Gui__init_($this) {
        $this.$zLevel = 0.0;
    }
    function nms_Gui_drawRect($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var11, $var7, $var8, $var9, $var10, var$12, var$13, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var11 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 >= $var3) {
                var$6 = $var3;
                $var3 = $var1;
                $var1 = var$6;
            }
            if ($var2 >= $var4) {
                var$6 = $var4;
                $var4 = $var2;
                $var2 = var$6;
            }
            $var11 = ($var5 >> 24 & 255) / 255.0;
            $var7 = ($var5 >> 16 & 255) / 255.0;
            $var8 = ($var5 >> 8 & 255) / 255.0;
            $var9 = ($var5 & 255) / 255.0;
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var10 = nms_Tessellator_instance;
            $var5 = 3042;
            $ptr = 2;
        case 2:
            olo_GL11_glEnable($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 3553;
            $ptr = 3;
        case 3:
            olo_GL11_glDisable($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 770;
            var$6 = 771;
            $ptr = 4;
        case 4:
            olo_GL11_glBlendFunc($var5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nleo_GlStateManager_color($var7, $var8, $var9, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            nms_Tessellator_startDrawingQuads($var10);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $var3;
            var$13 = $var2;
            var$14 = 0.0;
            $ptr = 7;
        case 7:
            nms_Tessellator_addVertex($var10, var$12, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $var1;
            var$15 = 0.0;
            $ptr = 8;
        case 8:
            nms_Tessellator_addVertex($var10, var$14, var$13, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $var4;
            var$15 = 0.0;
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertex($var10, var$14, var$13, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            $ptr = 10;
        case 10:
            nms_Tessellator_addVertex($var10, var$12, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_Tessellator_draw($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 3553;
            $ptr = 12;
        case 12:
            olo_GL11_glEnable($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 3042;
            $ptr = 13;
        case 13:
            olo_GL11_glDisable($var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var11, $var7, $var8, $var9, $var10, var$12, var$13, var$14, var$15, $ptr);
    }
    function nms_Gui_drawGradientRect($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $var15, var$16, var$17, var$18, var$19, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var7 = ($var5 >> 24 & 255) / 255.0;
            $var8 = ($var5 >> 16 & 255) / 255.0;
            $var9 = ($var5 >> 8 & 255) / 255.0;
            $var10 = ($var5 & 255) / 255.0;
            $var11 = ($var6 >> 24 & 255) / 255.0;
            $var12 = ($var6 >> 16 & 255) / 255.0;
            $var13 = ($var6 >> 8 & 255) / 255.0;
            $var14 = ($var6 & 255) / 255.0;
            $var5 = 3553;
            $ptr = 1;
        case 1:
            olo_GL11_glDisable($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 3042;
            $ptr = 2;
        case 2:
            olo_GL11_glEnable($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 3008;
            $ptr = 3;
        case 3:
            olo_GL11_glDisable($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 770;
            $var6 = 771;
            $ptr = 4;
        case 4:
            olo_GL11_glBlendFunc($var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var15 = nms_Tessellator_instance;
            $ptr = 7;
        case 7:
            nms_Tessellator_startDrawingQuads($var15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            nms_Tessellator_setColorRGBA_F($var15, $var8, $var9, $var10, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = $var3;
            var$17 = $var2;
            var$18 = 0.0;
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertex($var15, var$16, var$17, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $var1;
            var$19 = 0.0;
            $ptr = 10;
        case 10:
            nms_Tessellator_addVertex($var15, var$18, var$17, var$19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_Tessellator_setColorRGBA_F($var15, $var12, $var13, $var14, $var11);
            if ($rt_suspending()) {
                break main;
            }
            var$17 = $var4;
            var$19 = 0.0;
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertex($var15, var$18, var$17, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = 0.0;
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertex($var15, var$16, var$17, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            nms_Tessellator_draw($var15);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 3042;
            $ptr = 15;
        case 15:
            olo_GL11_glDisable($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 3008;
            $ptr = 16;
        case 16:
            olo_GL11_glEnable($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 3553;
            $ptr = 17;
        case 17:
            olo_GL11_glEnable($var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $var15, var$16, var$17, var$18, var$19, $ptr);
    }
    function nms_Gui_drawCenteredString($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $var3 - (nms_FontRenderer_getStringWidth($var1, $var2) / 2 | 0) | 0;
            var$7 = $var4;
            $ptr = 1;
        case 1:
            nms_FontRenderer_drawStringWithShadow($var1, $var2, var$6, var$7, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, $ptr);
    }
    function nms_Gui_drawString($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $var3;
            var$7 = $var4;
            $ptr = 1;
        case 1:
            nms_FontRenderer_drawStringWithShadow($var1, $var2, var$6, var$7, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, $ptr);
    }
    function nms_Gui_drawTexturedModalRect($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var7, $var8, $var9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var7 = 0.00390625;
            $var8 = 0.00390625;
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = nms_Tessellator_instance;
            $ptr = 2;
        case 2:
            nms_Tessellator_startDrawingQuads($var9);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $var1 + 0 | 0;
            var$11 = $var2 + $var6 | 0;
            var$12 = $this.$zLevel;
            var$13 = ($var3 + 0 | 0) * $var7;
            var$14 = ($var4 + $var6 | 0) * $var8;
            $ptr = 3;
        case 3:
            nms_Tessellator_addVertexWithUV($var9, var$10, var$11, var$12, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $var1 + $var5 | 0;
            var$16 = $this.$zLevel;
            var$12 = ($var3 + $var5 | 0) * $var7;
            $ptr = 4;
        case 4:
            nms_Tessellator_addVertexWithUV($var9, var$15, var$11, var$16, var$12, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $var2 + 0 | 0;
            var$16 = $this.$zLevel;
            var$11 = ($var4 + 0 | 0) * $var8;
            $ptr = 5;
        case 5:
            nms_Tessellator_addVertexWithUV($var9, var$15, var$14, var$16, var$12, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $this.$zLevel;
            $ptr = 6;
        case 6:
            nms_Tessellator_addVertexWithUV($var9, var$10, var$14, var$12, var$13, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_Tessellator_draw($var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr);
    }
    function nms_GuiAchievement() {
        var a = this; nms_Gui.call(a);
        a.$field_25082_a = null;
        a.$field_25081_b = 0;
        a.$field_25086_c = 0;
        a.$field_25085_d = null;
        a.$field_25084_e = null;
        a.$field_25083_f = Long_ZERO;
    }
    function nms_GuiAchievement_func_25080_a($this) {
        var $var1, $var7, var$3, var$4, var$5, $var5, var$7, var$8, var$9, var$10, $var3, var$12, var$13, var$14, var$15, var$16, $var6, var$18, var$19, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();$var6 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var3 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var7 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (Long_ne($this.$field_25083_f, Long_ZERO)) {
                $var1 = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $this.$field_25083_f)) / 3000.0;
                if ($var1 >= 0.0 && $var1 <= 1.0) {
                    $var7 = 0;
                    var$3 = 0;
                    var$4 = $this.$field_25082_a;
                    var$5 = var$4.$displayWidth;
                    $var5 = var$4.$displayHeight;
                    $ptr = 1;
                    continue main;
                }
                $this.$field_25083_f = Long_ZERO;
            }
            return;
        case 1:
            nleo_GlStateManager_viewport($var7, var$3, var$5, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 5889;
            $ptr = 2;
        case 2:
            olo_GL11_glMatrixMode($var7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 5888;
            $ptr = 4;
        case 4:
            olo_GL11_glMatrixMode($var7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$field_25082_a;
            $var7 = var$4.$displayWidth;
            $this.$field_25081_b = $var7;
            var$3 = var$4.$displayHeight;
            $this.$field_25086_c = var$3;
            var$7 = nms_ScaledResolution__init_(var$4.$gameSettings, $var7, var$3);
            $this.$field_25081_b = var$7.$scaledWidth;
            $this.$field_25086_c = var$7.$scaledHeight;
            $var7 = 256;
            $ptr = 6;
        case 6:
            olo_GL11_glClear($var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 5889;
            $ptr = 7;
        case 7:
            olo_GL11_glMatrixMode($var7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = $this.$field_25081_b;
            var$10 = $this.$field_25086_c;
            $var3 = 0.0;
            var$12 = 1000.0;
            var$13 = 3000.0;
            $ptr = 9;
        case 9:
            olo_GL11_glOrtho(var$8, var$9, var$10, $var3, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 5888;
            $ptr = 10;
        case 10:
            olo_GL11_glMatrixMode($var7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            olo_GL11_glLoadIdentity();
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$16 = (-2000.0);
            $ptr = 12;
        case 12:
            olo_GL11_glTranslatef(var$14, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 2929;
            $ptr = 13;
        case 13:
            olo_GL11_glDisable($var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 0;
            $ptr = 14;
        case 14:
            olo_GL11_glDepthMask($var7);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var1 * 2.0;
            if ($var3 > 1.0)
                $var3 = 2.0 - $var3;
            $var1 = 1.0 - $var3 * 4.0;
            if ($var1 < 0.0)
                $var1 = 0.0;
            $var1 = $var1 * $var1;
            $var3 = $var1 * $var1;
            $var5 = $this.$field_25081_b - 160 | 0;
            $var6 = 0 - ($var3 * 36.0 | 0) | 0;
            var$4 = $this.$field_25082_a.$renderEngine;
            var$7 = $rt_s(327);
            $ptr = 15;
        case 15:
            $tmp = nms_RenderEngine_getTexture(var$4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            var$14 = 1.0;
            var$15 = 1.0;
            var$16 = 1.0;
            var$18 = 1.0;
            $ptr = 16;
        case 16:
            nleo_GlStateManager_color(var$14, var$15, var$16, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 3553;
            $ptr = 17;
        case 17:
            olo_GL11_glEnable(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 3553;
            $ptr = 18;
        case 18:
            olo_GL11_glBindTexture(var$3, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = 0;
            $var7 = 188;
            var$3 = 160;
            var$5 = 32;
            $ptr = 19;
        case 19:
            nms_Gui_drawTexturedModalRect($this, $var5, $var6, var$19, $var7, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$field_25082_a.$fontRenderer;
            var$7 = $this.$field_25085_d;
            $var7 = $var5 + 30 | 0;
            var$3 = $var6 + 7 | 0;
            var$5 = (-256);
            $ptr = 20;
        case 20:
            nms_FontRenderer_drawString(var$4, var$7, $var7, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$field_25082_a.$fontRenderer;
            var$7 = $this.$field_25084_e;
            var$3 = $var6 + 18 | 0;
            var$5 = (-1);
            $ptr = 21;
        case 21:
            nms_FontRenderer_drawString(var$4, var$7, $var7, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 1;
            $ptr = 22;
        case 22:
            olo_GL11_glDepthMask($var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 2929;
            $ptr = 23;
        case 23:
            olo_GL11_glEnable($var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var7, var$3, var$4, var$5, $var5, var$7, var$8, var$9, var$10, $var3, var$12, var$13, var$14, var$15, var$16, $var6, var$18, var$19, $ptr);
    }
    function nms_ModelBase() {
        var a = this; jl_Object.call(a);
        a.$onGround = 0.0;
        a.$isRiding = 0;
    }
    function nms_ModelBase__init_($this) {
        $this.$isRiding = 0;
    }
    function nms_ModelBase_func_25103_a($this, $var1, $var2, $var3, $var4) {}
    function nms_ModelBiped() {
        var a = this; nms_ModelBase.call(a);
        a.$bipedHead = null;
        a.$bipedHeadwear = null;
        a.$bipedBody = null;
        a.$bipedRightArm = null;
        a.$bipedLeftArm = null;
        a.$bipedRightLeg = null;
        a.$bipedLeftLeg = null;
        a.$bipedEars = null;
        a.$bipedCloak = null;
        a.$field_1279_h = 0;
        a.$field_1278_i = 0;
        a.$isSneak = 0;
    }
    function nms_ModelBiped__init_1() {
        var var_0 = new nms_ModelBiped();
        nms_ModelBiped__init_(var_0);
        return var_0;
    }
    function nms_ModelBiped__init_0(var_0) {
        var var_1 = new nms_ModelBiped();
        nms_ModelBiped__init_2(var_1, var_0);
        return var_1;
    }
    function nms_ModelBiped__init_3(var_0, var_1) {
        var var_2 = new nms_ModelBiped();
        nms_ModelBiped__init_4(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ModelBiped__init_($this) {
        nms_ModelBiped__init_2($this, 0.0);
    }
    function nms_ModelBiped__init_2($this, $var1) {
        nms_ModelBiped__init_4($this, $var1, 0.0);
    }
    function nms_ModelBiped__init_4($this, $var1, $var2) {
        var var$3, var$4;
        nms_ModelBase__init_($this);
        $this.$field_1279_h = 0;
        $this.$field_1278_i = 0;
        $this.$isSneak = 0;
        var$3 = nms_ModelRenderer__init_(0, 0);
        $this.$bipedCloak = var$3;
        nms_ModelRenderer_addBox(var$3, (-5.0), 0.0, (-1.0), 10, 16, 1, $var1);
        var$3 = nms_ModelRenderer__init_(24, 0);
        $this.$bipedEars = var$3;
        nms_ModelRenderer_addBox(var$3, (-3.0), (-6.0), (-1.0), 6, 6, 1, $var1);
        var$3 = nms_ModelRenderer__init_(0, 0);
        $this.$bipedHead = var$3;
        nms_ModelRenderer_addBox(var$3, (-4.0), (-8.0), (-4.0), 8, 8, 8, $var1);
        var$3 = $this.$bipedHead;
        var$4 = 0.0 + $var2;
        nms_ModelRenderer_setPosition(var$3, 0.0, var$4, 0.0);
        var$3 = nms_ModelRenderer__init_(32, 0);
        $this.$bipedHeadwear = var$3;
        nms_ModelRenderer_addBox(var$3, (-4.0), (-8.0), (-4.0), 8, 8, 8, $var1 + 0.5);
        nms_ModelRenderer_setPosition($this.$bipedHeadwear, 0.0, var$4, 0.0);
        var$3 = nms_ModelRenderer__init_(16, 16);
        $this.$bipedBody = var$3;
        nms_ModelRenderer_addBox(var$3, (-4.0), 0.0, (-2.0), 8, 12, 4, $var1);
        nms_ModelRenderer_setPosition($this.$bipedBody, 0.0, var$4, 0.0);
        var$3 = nms_ModelRenderer__init_(40, 16);
        $this.$bipedRightArm = var$3;
        nms_ModelRenderer_addBox(var$3, (-3.0), (-2.0), (-2.0), 4, 12, 4, $var1);
        var$3 = $this.$bipedRightArm;
        var$4 = 2.0 + $var2;
        nms_ModelRenderer_setPosition(var$3, (-5.0), var$4, 0.0);
        var$3 = nms_ModelRenderer__init_(40, 16);
        $this.$bipedLeftArm = var$3;
        var$3.$mirror = 1;
        nms_ModelRenderer_addBox(var$3, (-1.0), (-2.0), (-2.0), 4, 12, 4, $var1);
        nms_ModelRenderer_setPosition($this.$bipedLeftArm, 5.0, var$4, 0.0);
        var$3 = nms_ModelRenderer__init_(0, 16);
        $this.$bipedRightLeg = var$3;
        nms_ModelRenderer_addBox(var$3, (-2.0), 0.0, (-2.0), 4, 12, 4, $var1);
        var$3 = $this.$bipedRightLeg;
        $var2 = 12.0 + $var2;
        nms_ModelRenderer_setPosition(var$3, (-2.0), $var2, 0.0);
        var$3 = nms_ModelRenderer__init_(0, 16);
        $this.$bipedLeftLeg = var$3;
        var$3.$mirror = 1;
        nms_ModelRenderer_addBox(var$3, (-2.0), 0.0, (-2.0), 4, 12, 4, $var1);
        nms_ModelRenderer_setPosition($this.$bipedLeftLeg, 2.0, $var2, 0.0);
    }
    function nms_ModelBiped_render($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$setRotationAngles($var1, $var2, $var3, $var4, $var5, $var6);
            var$7 = $this.$bipedHead;
            $ptr = 1;
        case 1:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$bipedBody;
            $ptr = 2;
        case 2:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$bipedRightArm;
            $ptr = 3;
        case 3:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$bipedLeftArm;
            $ptr = 4;
        case 4:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$bipedRightLeg;
            $ptr = 5;
        case 5:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$bipedLeftLeg;
            $ptr = 6;
        case 6:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$bipedHeadwear;
            $ptr = 7;
        case 7:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
    }
    function nms_ModelBiped_setRotationAngles($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, var$8, var$9, $var7, $var8, $var9;
        var$7 = $this.$bipedHead;
        $var4 = $var4 / 57.2957763671875;
        var$7.$rotateAngleY = $var4;
        $var5 = $var5 / 57.2957763671875;
        var$7.$rotateAngleX = $var5;
        var$7 = $this.$bipedHeadwear;
        var$7.$rotateAngleY = $var4;
        var$7.$rotateAngleX = $var5;
        var$7 = $this.$bipedRightArm;
        $var1 = $var1 * 0.6661999821662903;
        $var4 = $var1 + 3.1415927410125732;
        var$7.$rotateAngleX = nms_MathHelper_cos($var4) * 2.0 * $var2 * 0.5;
        $this.$bipedLeftArm.$rotateAngleX = nms_MathHelper_cos($var1) * 2.0 * $var2 * 0.5;
        $this.$bipedRightArm.$rotateAngleZ = 0.0;
        $this.$bipedLeftArm.$rotateAngleZ = 0.0;
        $this.$bipedRightLeg.$rotateAngleX = nms_MathHelper_cos($var1) * 1.399999976158142 * $var2;
        $this.$bipedLeftLeg.$rotateAngleX = nms_MathHelper_cos($var4) * 1.399999976158142 * $var2;
        var$8 = $this.$bipedRightLeg;
        var$8.$rotateAngleY = 0.0;
        var$9 = $this.$bipedLeftLeg;
        var$9.$rotateAngleY = 0.0;
        if ($this.$isRiding) {
            var$7 = $this.$bipedRightArm;
            var$7.$rotateAngleX = var$7.$rotateAngleX + (-0.6283185482025146);
            var$7 = $this.$bipedLeftArm;
            var$7.$rotateAngleX = var$7.$rotateAngleX + (-0.6283185482025146);
            var$8.$rotateAngleX = (-1.2566370964050293);
            var$9.$rotateAngleX = (-1.2566370964050293);
            var$8.$rotateAngleY = 0.3141592741012573;
            var$9.$rotateAngleY = (-0.3141592741012573);
        }
        if ($this.$field_1279_h) {
            var$7 = $this.$bipedLeftArm;
            var$7.$rotateAngleX = var$7.$rotateAngleX * 0.5 - 0.3141592741012573;
        }
        if ($this.$field_1278_i) {
            var$7 = $this.$bipedRightArm;
            var$7.$rotateAngleX = var$7.$rotateAngleX * 0.5 - 0.3141592741012573;
        }
        $this.$bipedRightArm.$rotateAngleY = 0.0;
        $this.$bipedLeftArm.$rotateAngleY = 0.0;
        $var7 = $this.$onGround;
        if ($var7 > (-9990.0)) {
            $this.$bipedBody.$rotateAngleY = nms_MathHelper_sin(nms_MathHelper_sqrt_float($var7) * 3.1415927410125732 * 2.0) * 0.20000000298023224;
            $this.$bipedRightArm.$offsetZ = nms_MathHelper_sin($this.$bipedBody.$rotateAngleY) * 5.0;
            $this.$bipedRightArm.$offsetX =  -nms_MathHelper_cos($this.$bipedBody.$rotateAngleY) * 5.0;
            $this.$bipedLeftArm.$offsetZ =  -nms_MathHelper_sin($this.$bipedBody.$rotateAngleY) * 5.0;
            $this.$bipedLeftArm.$offsetX = nms_MathHelper_cos($this.$bipedBody.$rotateAngleY) * 5.0;
            var$7 = $this.$bipedRightArm;
            $var1 = var$7.$rotateAngleY;
            var$8 = $this.$bipedBody;
            var$7.$rotateAngleY = $var1 + var$8.$rotateAngleY;
            var$7 = $this.$bipedLeftArm;
            var$7.$rotateAngleY = var$7.$rotateAngleY + var$8.$rotateAngleY;
            var$7.$rotateAngleX = var$7.$rotateAngleX + var$8.$rotateAngleY;
            $var1 = 1.0 - $this.$onGround;
            $var1 = $var1 * $var1;
            $var8 = nms_MathHelper_sin((1.0 - $var1 * $var1) * 3.1415927410125732);
            $var9 = nms_MathHelper_sin($this.$onGround * 3.1415927410125732) *  -($this.$bipedHead.$rotateAngleX - 0.699999988079071) * 0.75;
            var$7 = $this.$bipedRightArm;
            var$7.$rotateAngleX = var$7.$rotateAngleX - ($var8 * 1.2 + $var9);
            var$7.$rotateAngleY = var$7.$rotateAngleY + $this.$bipedBody.$rotateAngleY * 2.0;
            var$7.$rotateAngleZ = nms_MathHelper_sin($this.$onGround * 3.1415927410125732) * (-0.4000000059604645);
        }
        if (!$this.$isSneak) {
            $this.$bipedBody.$rotateAngleX = 0.0;
            var$7 = $this.$bipedRightLeg;
            var$7.$offsetZ = 0.0;
            var$8 = $this.$bipedLeftLeg;
            var$8.$offsetZ = 0.0;
            var$7.$offsetY = 12.0;
            var$8.$offsetY = 12.0;
            $this.$bipedHead.$offsetY = 0.0;
        } else {
            $this.$bipedBody.$rotateAngleX = 0.5;
            var$7 = $this.$bipedRightLeg;
            var$7.$rotateAngleX = var$7.$rotateAngleX - 0.0;
            var$8 = $this.$bipedLeftLeg;
            var$8.$rotateAngleX = var$8.$rotateAngleX - 0.0;
            var$9 = $this.$bipedRightArm;
            var$9.$rotateAngleX = var$9.$rotateAngleX + 0.4000000059604645;
            var$9 = $this.$bipedLeftArm;
            var$9.$rotateAngleX = var$9.$rotateAngleX + 0.4000000059604645;
            var$7.$offsetZ = 4.0;
            var$8.$offsetZ = 4.0;
            var$7.$offsetY = 9.0;
            var$8.$offsetY = 9.0;
            $this.$bipedHead.$offsetY = 1.0;
        }
        var$7 = $this.$bipedRightArm;
        $var2 = var$7.$rotateAngleZ;
        $var1 = $var3 * 0.09000000357627869;
        var$7.$rotateAngleZ = $var2 + nms_MathHelper_cos($var1) * 0.05000000074505806 + 0.05000000074505806;
        var$7 = $this.$bipedLeftArm;
        var$7.$rotateAngleZ = var$7.$rotateAngleZ - (nms_MathHelper_cos($var1) * 0.05000000074505806 + 0.05000000074505806);
        var$7 = $this.$bipedRightArm;
        $var1 = var$7.$rotateAngleX;
        $var2 = $var3 * 0.06700000166893005;
        var$7.$rotateAngleX = $var1 + nms_MathHelper_sin($var2) * 0.05000000074505806;
        var$7 = $this.$bipedLeftArm;
        var$7.$rotateAngleX = var$7.$rotateAngleX - nms_MathHelper_sin($var2) * 0.05000000074505806;
    }
    function nms_SoundManager() {
        var a = this; jl_Object.call(a);
        a.$options0 = null;
        a.$rand1 = null;
        a.$ticksBeforeMusic = 0;
        a.$sounds = null;
        a.$music = null;
        a.$musicHandle = null;
        a.$newMusic = null;
        a.$browserResourceLoader = null;
    }
    function nms_SoundManager__init_0() {
        var var_0 = new nms_SoundManager();
        nms_SoundManager__init_(var_0);
        return var_0;
    }
    function nms_SoundManager__init_($this) {
        var var$1;
        var$1 = nle_Random__init_0();
        $this.$rand1 = var$1;
        $this.$ticksBeforeMusic = nle_Random_nextInt(var$1, 12000);
        $this.$sounds = ju_HashMap__init_0();
        $this.$music = ju_HashMap__init_0();
        $this.$newMusic = $rt_createArrayFromData(jl_String, [$rt_s(328), $rt_s(329), $rt_s(330), $rt_s(331), $rt_s(332), $rt_s(333), $rt_s(334), $rt_s(335), $rt_s(336)]);
        $this.$browserResourceLoader = new nms_SoundManager$_init_$lambda$_0_0;
    }
    function nms_SoundManager_onSoundOptionsChanged($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6;
        var$1 = $this.$options0.$musicVolume;
        if (var$1 === 0.0) {
            var$2 = $this.$musicHandle;
            if (var$2 !== null) {
                var$3 = var$2.$isEnded;
                if (!var$3 && !var$3) {
                    var$2.$isEnded = 1;
                    var$2.$source.stop();
                }
            }
        } else {
            var$2 = $this.$musicHandle;
            if (var$2 !== null && !var$2.$isEnded) {
                var$4 = var$2.$panner;
                if (var$4 !== null) {
                    var$5 = var$1 * 16.0;
                    if (var$5 < 16.0)
                        var$5 = 16.0;
                    var$6 = var$5;
                    var$4.maxDistance = var$6;
                }
                if (var$1 > 1.0)
                    var$1 = 1.0;
                var$2 = var$2.$gain.gain;
                var$4 = var$1;
                var$2.value = var$4;
            }
        }
    }
    function nms_SoundManager_playRandomMusicIfReady($this) {
        var $trk, var$2, $var1, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var1 = $thread.pop();var$2 = $thread.pop();$trk = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                if ($this.$options0.$musicVolume !== 0.0) {
                    $trk = $this.$musicHandle;
                    if ($trk === null)
                        break a;
                    if ($trk.$isEnded)
                        break a;
                }
                return;
            }
            var$2 = $this.$ticksBeforeMusic;
            if (var$2 > 0) {
                $this.$ticksBeforeMusic = var$2 - 1 | 0;
                return;
            }
            $var1 = nle_Random_nextInt($this.$rand1, $this.$newMusic.data.length);
            $this.$ticksBeforeMusic = nle_Random_nextInt($this.$rand1, 12000) + 12000 | 0;
            $trk = $this.$newMusic.data[$var1];
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            var$5 = $rt_s(337);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$5, $trk);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $trk = $this.$music;
            $ptr = 4;
        case 4:
            $tmp = ju_HashMap_containsKey($trk, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (!var$2) {
                $ptr = 6;
                continue main;
            }
            $trk = $this.$music;
            $ptr = 5;
        case 5:
            $tmp = ju_HashMap_get($trk, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $trk = $tmp;
            $trk = $trk;
            var$6 = $this.$options0.$musicVolume;
            var$7 = 1.0;
            var$2 = 0;
            $ptr = 7;
            continue main;
        case 6:
            $tmp = nle_EagRuntime_getPlatformType();
            if ($rt_suspending()) {
                break main;
            }
            $trk = $tmp;
            nlei_EnumPlatformType_$callClinit();
            if ($trk === nlei_EnumPlatformType_DESKTOP) {
                var$2 = 0;
                $ptr = 8;
                continue main;
            }
            var$2 = 0;
            $trk = $this.$browserResourceLoader;
            $ptr = 9;
            continue main;
        case 7:
            $tmp = nlei_PlatformAudio_beginPlaybackStatic($trk, var$6, var$7, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $trk = $tmp;
            $this.$musicHandle = $trk;
            return;
        case 8:
            $tmp = nlei_PlatformAudio_loadAudioData(var$5, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $trk = $tmp;
            if ($trk !== null) {
                var$4 = $this.$music;
                $ptr = 10;
                continue main;
            }
            var$6 = $this.$options0.$musicVolume;
            var$7 = 1.0;
            var$2 = 0;
            $ptr = 7;
            continue main;
        case 9:
            $tmp = nlei_PlatformAudio_loadAudioDataNew(var$5, var$2, $trk);
            if ($rt_suspending()) {
                break main;
            }
            $trk = $tmp;
            if ($trk !== null) {
                var$4 = $this.$music;
                $ptr = 10;
                continue main;
            }
            var$6 = $this.$options0.$musicVolume;
            var$7 = 1.0;
            var$2 = 0;
            $ptr = 7;
            continue main;
        case 10:
            ju_HashMap_putImpl(var$4, var$5, $trk);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $this.$options0.$musicVolume;
            var$7 = 1.0;
            var$2 = 0;
            $ptr = 7;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $trk, var$2, $var1, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_SoundManager_func_338_a($this, $var1, $var2) {
        var $var9, $var3, $var8, $var4, var$7, $var6, var$9, var$10, var$11, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var6 = $thread.pop();var$7 = $thread.pop();$var4 = $thread.pop();$var8 = $thread.pop();$var3 = $thread.pop();$var9 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 !== null && $this.$options0.$soundVolume !== 0.0)
                try {
                    $var9 = $var1.$prevRotationPitch;
                    $var9 = $var9 + ($var1.$rotationPitch - $var9) * $var2;
                    $var3 = $var1.$prevRotationYaw;
                    $var3 = $var3 + ($var1.$rotationYaw - $var3) * $var2;
                    $var8 = $var1.$prevPosX;
                    $var4 = $var1.$posX - $var8;
                    var$7 = $var2;
                    $var4 = $var8 + $var4 * var$7;
                    $var8 = $var1.$prevPosY;
                    $var6 = $var8 + ($var1.$posY - $var8) * var$7;
                    var$9 = $var1.$prevPosZ;
                    $var8 = var$9 + ($var1.$posZ - var$9) * var$7;
                    $var2 = $var4;
                    var$10 = $var6;
                    var$11 = $var8;
                    $ptr = 1;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                    } else {
                        throw $$e;
                    }
                }
            return;
        case 1:
            a: {
                try {
                    nlei_PlatformAudio_setListener($var2, var$10, var$11, $var9, $var3);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var9, $var3, $var8, $var4, var$7, $var6, var$9, var$10, var$11, $ptr);
    }
    function nms_SoundManager_playSound($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $trk, var$8, $randNum, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();$randNum = $thread.pop();var$8 = $thread.pop();$trk = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$options0.$soundVolume !== 0.0 && $var5 > 0.0) {
                if ($var1 === null)
                    return;
                $trk = $rt_s(338);
                var$8 = $rt_s(5);
                $ptr = 1;
                continue main;
            }
            return;
        case 1:
            $tmp = jl_String_replace0($var1, $trk, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = npem_AudioUtils_getRandomSound(var$8);
            if ($rt_suspending()) {
                break main;
            }
            $randNum = $tmp;
            if (!$randNum)
                return;
            $var1 = $randNum == (-1) ? $rt_s(3) : jl_Integer_valueOf($randNum);
            $ptr = 3;
        case 3:
            $tmp = jl_String_valueOf($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $trk = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($trk);
            $var1 = $rt_s(339);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append($trk, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $ptr = 6;
        case 6:
            $tmp = jl_StringBuilder_append($var1, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$8 = $rt_s(340);
            $ptr = 7;
        case 7:
            jl_StringBuilder_append($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $tmp = jl_AbstractStringBuilder_toString($trk);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$8 = $this.$sounds;
            $ptr = 9;
        case 9:
            $tmp = ju_HashMap_containsKey(var$8, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $randNum = $tmp;
            if (!$randNum) {
                $ptr = 11;
                continue main;
            }
            var$8 = $this.$sounds;
            $ptr = 10;
        case 10:
            $tmp = ju_HashMap_get(var$8, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $trk = $var1;
            if ($trk === null)
                return;
            $var5 = $var5 * $this.$options0.$soundVolume;
            $randNum = 0;
            $ptr = 14;
            continue main;
        case 11:
            $tmp = nle_EagRuntime_getPlatformType();
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            nlei_EnumPlatformType_$callClinit();
            if (var$8 === nlei_EnumPlatformType_DESKTOP) {
                $randNum = 1;
                $ptr = 12;
                continue main;
            }
            $randNum = 1;
            var$8 = $this.$browserResourceLoader;
            $ptr = 13;
            continue main;
        case 12:
            $tmp = nlei_PlatformAudio_loadAudioData($var1, $randNum);
            if ($rt_suspending()) {
                break main;
            }
            $trk = $tmp;
            if ($trk !== null) {
                var$8 = $this.$sounds;
                $ptr = 15;
                continue main;
            }
            if ($trk === null)
                return;
            $var5 = $var5 * $this.$options0.$soundVolume;
            $randNum = 0;
            $ptr = 14;
            continue main;
        case 13:
            $tmp = nlei_PlatformAudio_loadAudioDataNew($var1, $randNum, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $trk = $tmp;
            if ($trk !== null) {
                var$8 = $this.$sounds;
                $ptr = 15;
                continue main;
            }
            if ($trk === null)
                return;
            $var5 = $var5 * $this.$options0.$soundVolume;
            $randNum = 0;
            $ptr = 14;
        case 14:
            nlei_PlatformAudio_beginPlayback($trk, $var2, $var3, $var4, $var5, $var6, $randNum);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 15:
            ju_HashMap_putImpl(var$8, $var1, $trk);
            if ($rt_suspending()) {
                break main;
            }
            if ($trk === null)
                return;
            $var5 = $var5 * $this.$options0.$soundVolume;
            $randNum = 0;
            $ptr = 14;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $trk, var$8, $randNum, var$10, $ptr);
    }
    function nms_SoundManager_func_337_a($this, $var1, $var2, $var3) {
        var var$4, $trk, var$6, $randNum, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$randNum = $thread.pop();var$6 = $thread.pop();$trk = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$options0.$soundVolume === 0.0)
                return;
            if ($var2 > 1.0)
                $var2 = 1.0;
            $var2 = $var2 * 0.25;
            if ($var1 === null)
                return;
            var$4 = $rt_s(338);
            $trk = $rt_s(5);
            $ptr = 1;
        case 1:
            $tmp = jl_String_replace0($var1, var$4, $trk);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $var1 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var1);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append($var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $trk = $tmp;
            var$6 = $rt_s(340);
            $ptr = 3;
        case 3:
            jl_StringBuilder_append($trk, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $ptr = 5;
        case 5:
            $tmp = npem_AudioUtils_getRandomSound($var1);
            if ($rt_suspending()) {
                break main;
            }
            $randNum = $tmp;
            if (!$randNum)
                return;
            $var1 = $randNum == (-1) ? $rt_s(3) : jl_Integer_valueOf($randNum);
            $ptr = 6;
        case 6:
            $tmp = jl_String_valueOf($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $var1 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var1);
            $trk = $rt_s(339);
            $ptr = 7;
        case 7:
            $tmp = jl_StringBuilder_append($var1, $trk);
            if ($rt_suspending()) {
                break main;
            }
            $trk = $tmp;
            $ptr = 8;
        case 8:
            $tmp = jl_StringBuilder_append($trk, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $trk = $tmp;
            $ptr = 9;
        case 9:
            $tmp = jl_StringBuilder_append($trk, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $trk = $tmp;
            var$4 = $rt_s(340);
            $ptr = 10;
        case 10:
            jl_StringBuilder_append($trk, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            $tmp = jl_AbstractStringBuilder_toString($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $trk = $this.$sounds;
            $ptr = 12;
        case 12:
            $tmp = ju_HashMap_containsKey($trk, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $randNum = $tmp;
            if (!$randNum) {
                $ptr = 14;
                continue main;
            }
            $trk = $this.$sounds;
            $ptr = 13;
        case 13:
            $tmp = ju_HashMap_get($trk, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $trk = $var1;
            if ($trk === null)
                return;
            $var2 = $var2 * $this.$options0.$soundVolume;
            $randNum = 0;
            $ptr = 17;
            continue main;
        case 14:
            $tmp = nle_EagRuntime_getPlatformType();
            if ($rt_suspending()) {
                break main;
            }
            $trk = $tmp;
            nlei_EnumPlatformType_$callClinit();
            if ($trk === nlei_EnumPlatformType_DESKTOP) {
                $randNum = 1;
                $ptr = 15;
                continue main;
            }
            $randNum = 1;
            $trk = $this.$browserResourceLoader;
            $ptr = 16;
            continue main;
        case 15:
            $tmp = nlei_PlatformAudio_loadAudioData($var1, $randNum);
            if ($rt_suspending()) {
                break main;
            }
            $trk = $tmp;
            if ($trk !== null) {
                var$4 = $this.$sounds;
                $ptr = 18;
                continue main;
            }
            if ($trk === null)
                return;
            $var2 = $var2 * $this.$options0.$soundVolume;
            $randNum = 0;
            $ptr = 17;
            continue main;
        case 16:
            $tmp = nlei_PlatformAudio_loadAudioDataNew($var1, $randNum, $trk);
            if ($rt_suspending()) {
                break main;
            }
            $trk = $tmp;
            if ($trk !== null) {
                var$4 = $this.$sounds;
                $ptr = 18;
                continue main;
            }
            if ($trk === null)
                return;
            $var2 = $var2 * $this.$options0.$soundVolume;
            $randNum = 0;
            $ptr = 17;
        case 17:
            nlei_PlatformAudio_beginPlaybackStatic($trk, $var2, $var3, $randNum);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 18:
            ju_HashMap_putImpl(var$4, $var1, $trk);
            if ($rt_suspending()) {
                break main;
            }
            if ($trk === null)
                return;
            $var2 = $var2 * $this.$options0.$soundVolume;
            $randNum = 0;
            $ptr = 17;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $trk, var$6, $randNum, $ptr);
    }
    function nms_XBlah() {
        var a = this; jl_Object.call(a);
        a.$field_25102_a = null;
        a.$field_25101_b = null;
    }
    function nms_XBlah__init_0() {
        var var_0 = new nms_XBlah();
        nms_XBlah__init_(var_0);
        return var_0;
    }
    function nms_XBlah__init_($this) {
        $this.$field_25102_a = ju_HashMap__init_0();
        $this.$field_25101_b = ju_HashMap__init_0();
    }
    function nms_XBlah_func_25100_a($this, $var1, $var2) {
        var $var3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $this.$field_25101_b;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_get($var3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var3 = $var3;
            if ($var3 !== null)
                $var2 = $var2 + $var3.$value | 0;
            $var3 = $this.$field_25101_b;
            var$4 = jl_Integer_valueOf($var2);
            $ptr = 2;
        case 2:
            ju_HashMap_putImpl($var3, $var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_TextureFX() {
        var a = this; jl_Object.call(a);
        a.$imageData0 = null;
        a.$iconIndex = 0;
        a.$anaglyphEnabled = 0;
        a.$field_1130_d = 0;
        a.$tileSize = 0;
        a.$tileImage = 0;
    }
    function nms_TextureFX__init_(var_0) {
        var var_1 = new nms_TextureFX();
        nms_TextureFX__init_0(var_1, var_0);
        return var_1;
    }
    function nms_TextureFX__init_0($this, $var1) {
        $this.$imageData0 = $rt_createByteArray(1024);
        $this.$anaglyphEnabled = 0;
        $this.$field_1130_d = 0;
        $this.$tileSize = 1;
        $this.$tileImage = 0;
        $this.$iconIndex = $var1;
    }
    function nms_TextureFX_onTick($this) {}
    function nms_TextureFX_bindImage($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$tileImage;
            if (!var$2) {
                var$3 = 3553;
                var$4 = $rt_s(266);
                $ptr = 1;
                continue main;
            }
            if (var$2 != 1)
                return;
            var$3 = 3553;
            var$4 = $rt_s(341);
            $ptr = 3;
            continue main;
        case 1:
            $tmp = nms_RenderEngine_getTexture($var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 2;
        case 2:
            olo_GL11_glBindTexture(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            $tmp = nms_RenderEngine_getTexture($var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 4;
        case 4:
            olo_GL11_glBindTexture(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_TextureWaterFX() {
        var a = this; nms_TextureFX.call(a);
        a.$field_1158_g = null;
        a.$field_1157_h = null;
        a.$field_1156_i = null;
        a.$field_1155_j = null;
        a.$tickCounter = 0;
    }
    function nms_TextureWaterFX__init_0() {
        var var_0 = new nms_TextureWaterFX();
        nms_TextureWaterFX__init_(var_0);
        return var_0;
    }
    function nms_TextureWaterFX__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_TextureFX__init_0($this, nms_Block_waterMoving.$blockIndexInTexture);
            $this.$field_1158_g = $rt_createFloatArray(256);
            $this.$field_1157_h = $rt_createFloatArray(256);
            $this.$field_1156_i = $rt_createFloatArray(256);
            $this.$field_1155_j = $rt_createFloatArray(256);
            $this.$tickCounter = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_TextureWaterFX_onTick($this) {
        var $var1, $var2, $var3, $var4, $var5, $var6, var$7, $var10, $var2_0, $var12, $var13, $var9, $var11, $var8;
        $this.$tickCounter = $this.$tickCounter + 1 | 0;
        $var1 = 0;
        while ($var1 < 16) {
            $var2 = 0;
            while ($var2 < 16) {
                $var3 = 0.0;
                $var4 = $var1 - 1 | 0;
                while ($var4 <= ($var1 + 1 | 0)) {
                    $var5 = $var4 & 15;
                    $var6 = $var2 & 15;
                    $var3 = $var3 + $this.$field_1158_g.data[$var5 + ($var6 * 16 | 0) | 0];
                    $var4 = $var4 + 1 | 0;
                }
                var$7 = $this.$field_1157_h.data;
                $var10 = $var1 + ($var2 * 16 | 0) | 0;
                var$7[$var10] = $var3 / 3.299999952316284 + $this.$field_1156_i.data[$var10] * 0.800000011920929;
                $var2 = $var2 + 1 | 0;
            }
            $var1 = $var1 + 1 | 0;
        }
        $var2 = 0;
        while ($var2 < 16) {
            $var2_0 = 0;
            while ($var2_0 < 16) {
                $var12 = $this.$field_1156_i.data;
                $var1 = $var2 + ($var2_0 * 16 | 0) | 0;
                $var3 = $var12[$var1];
                var$7 = $this.$field_1155_j.data;
                $var12[$var1] = $var3 + var$7[$var1] * 0.05000000074505806;
                if ($var12[$var1] < 0.0)
                    $var12[$var1] = 0.0;
                var$7[$var1] = var$7[$var1] - 0.10000000149011612;
                if (jl_Math_random() < 0.05)
                    $this.$field_1155_j.data[$var1] = 0.5;
                $var2_0 = $var2_0 + 1 | 0;
            }
            $var2 = $var2 + 1 | 0;
        }
        $var12 = $this.$field_1157_h;
        $this.$field_1157_h = $this.$field_1158_g;
        $this.$field_1158_g = $var12;
        $var2 = 0;
        while ($var2 < 256) {
            $var3 = $var12.data[$var2];
            if ($var3 > 1.0)
                $var3 = 1.0;
            if ($var3 < 0.0)
                $var3 = 0.0;
            $var13 = $var3 * $var3;
            $var9 = 32.0 + $var13 * 32.0 | 0;
            $var10 = 50.0 + $var13 * 64.0 | 0;
            $var11 = 255;
            $var8 = 146.0 + $var13 * 50.0 | 0;
            if ($this.$anaglyphEnabled) {
                $var1 = $var9 * 30 | 0;
                $var9 = (($var1 + ($var10 * 59 | 0) | 0) + 2805 | 0) / 100 | 0;
                $var10 = ($var1 + ($var10 * 70 | 0) | 0) / 100 | 0;
                $var11 = ($var1 + 17850 | 0) / 100 | 0;
            }
            var$7 = $this.$imageData0.data;
            $var1 = $var2 * 4 | 0;
            var$7[$var1 + 0 | 0] = $var9 << 24 >> 24;
            var$7[$var1 + 1 | 0] = $var10 << 24 >> 24;
            var$7[$var1 + 2 | 0] = $var11 << 24 >> 24;
            var$7[$var1 + 3 | 0] = $var8 << 24 >> 24;
            $var2 = $var2 + 1 | 0;
        }
    }
    function nms_TextureLavaFX() {
        var a = this; nms_TextureFX.call(a);
        a.$field_1147_g = null;
        a.$field_1146_h = null;
        a.$field_1145_i = null;
        a.$field_1144_j = null;
    }
    function nms_TextureLavaFX__init_0() {
        var var_0 = new nms_TextureLavaFX();
        nms_TextureLavaFX__init_(var_0);
        return var_0;
    }
    function nms_TextureLavaFX__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_TextureFX__init_0($this, nms_Block_lavaMoving.$blockIndexInTexture);
            $this.$field_1147_g = $rt_createFloatArray(256);
            $this.$field_1146_h = $rt_createFloatArray(256);
            $this.$field_1145_i = $rt_createFloatArray(256);
            $this.$field_1144_j = $rt_createFloatArray(256);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_TextureLavaFX_onTick($this) {
        var $var1, $var2, $var3, $var4, $var5, $var6, $var9, $var7, $var8, var$10, $var10, $var11, var$13;
        $var1 = 0;
        while ($var1 < 16) {
            $var2 = 0;
            while ($var2 < 16) {
                $var3 = 0.0;
                $var4 = nms_MathHelper_sin($var2 * 3.1415927410125732 * 2.0 / 16.0) * 1.2000000476837158 | 0;
                $var5 = nms_MathHelper_sin($var1 * 3.1415927410125732 * 2.0 / 16.0) * 1.2000000476837158 | 0;
                $var6 = $var1 - 1 | 0;
                while (true) {
                    $var9 = $var1 + 1 | 0;
                    if ($var6 > $var9)
                        break;
                    $var7 = $var2 - 1 | 0;
                    while ($var7 <= ($var2 + 1 | 0)) {
                        $var8 = ($var6 + $var4 | 0) & 15;
                        $var9 = ($var7 + $var5 | 0) & 15;
                        $var3 = $var3 + $this.$field_1147_g.data[$var8 + ($var9 * 16 | 0) | 0];
                        $var7 = $var7 + 1 | 0;
                    }
                    $var6 = $var6 + 1 | 0;
                }
                var$10 = $this.$field_1146_h.data;
                $var10 = $var1 + ($var2 * 16 | 0) | 0;
                $var3 = $var3 / 10.0;
                $var11 = $this.$field_1145_i.data;
                $var5 = ($var1 + 0 | 0) & 15;
                $var4 = (($var2 + 0 | 0) & 15) * 16 | 0;
                var$13 = $var11[$var5 + $var4 | 0];
                $var9 = $var9 & 15;
                var$13 = var$13 + $var11[$var9 + $var4 | 0];
                $var2 = $var2 + 1 | 0;
                $var4 = ($var2 & 15) * 16 | 0;
                var$10[$var10] = $var3 + (var$13 + $var11[$var9 + $var4 | 0] + $var11[$var5 + $var4 | 0]) / 4.0 * 0.800000011920929;
                $var3 = $var11[$var10];
                var$10 = $this.$field_1144_j.data;
                $var11[$var10] = $var3 + var$10[$var10] * 0.009999999776482582;
                if ($var11[$var10] < 0.0)
                    $var11[$var10] = 0.0;
                var$10[$var10] = var$10[$var10] - 0.05999999865889549;
                if (jl_Math_random() < 0.005)
                    $this.$field_1144_j.data[$var10] = 1.5;
            }
            $var1 = $var1 + 1 | 0;
        }
        $var11 = $this.$field_1146_h;
        $this.$field_1146_h = $this.$field_1147_g;
        $this.$field_1147_g = $var11;
        $var2 = 0;
        while ($var2 < 256) {
            $var3 = $var11.data[$var2] * 2.0;
            if ($var3 > 1.0)
                $var3 = 1.0;
            if ($var3 < 0.0)
                $var3 = 0.0;
            $var8 = $var3 * 100.0 + 155.0 | 0;
            var$13 = $var3 * $var3;
            $var9 = var$13 * 255.0 | 0;
            $var10 = var$13 * $var3 * $var3 * 128.0 | 0;
            if ($this.$anaglyphEnabled) {
                $var5 = $var8 * 30 | 0;
                $var8 = (($var5 + ($var9 * 59 | 0) | 0) + ($var10 * 11 | 0) | 0) / 100 | 0;
                $var9 = ($var5 + ($var9 * 70 | 0) | 0) / 100 | 0;
                $var10 = ($var5 + ($var10 * 70 | 0) | 0) / 100 | 0;
            }
            var$10 = $this.$imageData0.data;
            $var1 = $var2 * 4 | 0;
            var$10[$var1 + 0 | 0] = $var8 << 24 >> 24;
            var$10[$var1 + 1 | 0] = $var9 << 24 >> 24;
            var$10[$var1 + 2 | 0] = $var10 << 24 >> 24;
            var$10[$var1 + 3 | 0] = (-1);
            $var2 = $var2 + 1 | 0;
        }
    }
    var nle_Display = $rt_classWithoutFields();
    var nle_Display_lastDPIUpdate = Long_ZERO;
    var nle_Display_cacheDPI = 0.0;
    var nle_Display_defaultSyncPtr = null;
    function nle_Display__init_0() {
        var var_0 = new nle_Display();
        nle_Display__init_(var_0);
        return var_0;
    }
    function nle_Display__init_($this) {}
    function nle_Display_isActive() {
        return !nlei_PlatformInput_isWindowFocused && !nlei_PlatformInput_isPointerLocked() ? 0 : 1;
    }
    function nle_Display_isCloseRequested() {
        return 0;
    }
    function nle_Display_getDPI() {
        var $millis, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$millis = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_steadyTimeMillis();
            if ($rt_suspending()) {
                break main;
            }
            $millis = $tmp;
            if (Long_gt(Long_sub($millis, nle_Display_lastDPIUpdate), Long_fromInt(250))) {
                nle_Display_lastDPIUpdate = $millis;
                nle_Display_cacheDPI = nlei_PlatformInput_windowDPI;
            }
            return nle_Display_cacheDPI;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($millis, $ptr);
    }
    function nle_Display__clinit_() {
        nle_Display_lastDPIUpdate = Long_fromInt(-250);
        nle_Display_cacheDPI = 1.0;
        nle_Display_defaultSyncPtr = $rt_createLongArray(1);
    }
    var olo_Display = $rt_classWithoutFields(nle_Display);
    function olo_Display__init_0() {
        var var_0 = new olo_Display();
        olo_Display__init_(var_0);
        return var_0;
    }
    function olo_Display__init_($this) {}
    function olo_Display_create() {}
    function otcic_ConsoleOutputStream() {
        ji_OutputStream.call(this);
        this.$buffer2 = null;
    }
    function otcic_ConsoleOutputStream__init_($this) {
        $this.$buffer2 = $rt_createByteArray(1);
    }
    function otcic_ConsoleOutputStream_write($this, $b) {
        var var$2;
        var$2 = $this.$buffer2;
        var$2.data[0] = $b << 24 >> 24;
        ji_OutputStream_write($this, var$2);
    }
    var otcic_StdoutOutputStream = $rt_classWithoutFields(otcic_ConsoleOutputStream);
    var otcic_StdoutOutputStream_INSTANCE = null;
    function otcic_StdoutOutputStream__init_0() {
        var var_0 = new otcic_StdoutOutputStream();
        otcic_StdoutOutputStream__init_(var_0);
        return var_0;
    }
    function otcic_StdoutOutputStream__init_($this) {
        otcic_ConsoleOutputStream__init_($this);
    }
    function otcic_StdoutOutputStream_write($this, $b, $off, $len) {
        var var$4;
        var$4 = 0;
        while (var$4 < $len) {
            $rt_putStdout($b.data[var$4 + $off | 0] & 255);
            var$4 = var$4 + 1 | 0;
        }
    }
    function otcic_StdoutOutputStream__clinit_() {
        var var$1;
        var$1 = new otcic_StdoutOutputStream;
        otcic_ConsoleOutputStream__init_(var$1);
        otcic_StdoutOutputStream_INSTANCE = var$1;
    }
    var otcic_StderrOutputStream = $rt_classWithoutFields(otcic_ConsoleOutputStream);
    var otcic_StderrOutputStream_INSTANCE = null;
    function otcic_StderrOutputStream__init_0() {
        var var_0 = new otcic_StderrOutputStream();
        otcic_StderrOutputStream__init_(var_0);
        return var_0;
    }
    function otcic_StderrOutputStream__init_($this) {
        otcic_ConsoleOutputStream__init_($this);
    }
    function otcic_StderrOutputStream_write($this, $b, $off, $len) {
        var var$4;
        var$4 = 0;
        while (var$4 < $len) {
            $rt_putStderr($b.data[var$4 + $off | 0] & 255);
            var$4 = var$4 + 1 | 0;
        }
    }
    function otcic_StderrOutputStream__clinit_() {
        var var$1;
        var$1 = new otcic_StderrOutputStream;
        otcic_ConsoleOutputStream__init_(var$1);
        otcic_StderrOutputStream_INSTANCE = var$1;
    }
    var otjc_JSString = $rt_classWithoutFields();
    function otjc_JSString_stringValue$static($this) {
        return $rt_str($this);
    }
    var ju_Map = $rt_classWithoutFields(0);
    function ju_AbstractMap() {
        var a = this; jl_Object.call(a);
        a.$cachedKeySet = null;
        a.$cachedValues = null;
    }
    function ju_HashMap() {
        var a = this; ju_AbstractMap.call(a);
        a.$elementCount = 0;
        a.$elementData = null;
        a.$modCount = 0;
        a.$loadFactor0 = 0.0;
        a.$threshold = 0;
    }
    function ju_HashMap__init_0() {
        var var_0 = new ju_HashMap();
        ju_HashMap__init_(var_0);
        return var_0;
    }
    function ju_HashMap__init_1(var_0) {
        var var_1 = new ju_HashMap();
        ju_HashMap__init_2(var_1, var_0);
        return var_1;
    }
    function ju_HashMap__init_($this) {
        ju_HashMap__init_2($this, 16);
    }
    function ju_HashMap__init_2($this, $capacity) {
        var var$2;
        if ($capacity < 0) {
            var$2 = new jl_IllegalArgumentException;
            jl_Throwable__init_0(var$2);
            $rt_throw(var$2);
        }
        $capacity = ju_HashMap_calculateCapacity($capacity);
        $this.$elementCount = 0;
        $this.$elementData = $rt_createArray(ju_HashMap$HashEntry, $capacity);
        $this.$loadFactor0 = 0.75;
        ju_HashMap_computeThreshold($this);
    }
    function ju_HashMap_calculateCapacity($x) {
        var var$2;
        if ($x >= 1073741824)
            return 1073741824;
        if (!$x)
            return 16;
        var$2 = $x - 1 | 0;
        $x = var$2 | var$2 >> 1;
        $x = $x | $x >> 2;
        $x = $x | $x >> 4;
        $x = $x | $x >> 8;
        return ($x | $x >> 16) + 1 | 0;
    }
    function ju_HashMap_clear($this) {
        var var$1;
        if ($this.$elementCount > 0) {
            $this.$elementCount = 0;
            var$1 = $this.$elementData;
            ju_Arrays_fill(var$1, 0, var$1.data.length, null);
            $this.$modCount = $this.$modCount + 1 | 0;
        }
    }
    function ju_HashMap_computeThreshold($this) {
        $this.$threshold = $this.$elementData.data.length * $this.$loadFactor0 | 0;
    }
    function ju_HashMap_containsKey($this, $key) {
        var $m, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$m = $thread.pop();$key = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_entryByKey($this, $key);
            if ($rt_suspending()) {
                break main;
            }
            $m = $tmp;
            return $m === null ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $key, $m, $ptr);
    }
    function ju_HashMap_get($this, $key) {
        var $m, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$m = $thread.pop();$key = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_entryByKey($this, $key);
            if ($rt_suspending()) {
                break main;
            }
            $m = $tmp;
            if ($m === null)
                return null;
            return $m.$value2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $key, $m, $ptr);
    }
    function ju_HashMap_entryByKey($this, $key) {
        var $hash, $index, $m, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$m = $thread.pop();$index = $thread.pop();$hash = $thread.pop();$key = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($key === null)
                return ju_HashMap_findNullKeyEntry($this);
            $ptr = 1;
        case 1:
            $tmp = $key.$hashCode0();
            if ($rt_suspending()) {
                break main;
            }
            $hash = $tmp;
            $index = $hash & ($this.$elementData.data.length - 1 | 0);
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_findNonNullKeyEntry($this, $key, $index, $hash);
            if ($rt_suspending()) {
                break main;
            }
            $m = $tmp;
            return $m;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $key, $hash, $index, $m, $ptr);
    }
    function ju_HashMap_findNonNullKeyEntry($this, $key, $index, $keyHash) {
        var $m, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$m = $thread.pop();$keyHash = $thread.pop();$index = $thread.pop();$key = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $m = $this.$elementData.data[$index];
            while ($m !== null) {
                if ($m.$origKeyHash == $keyHash) {
                    var$5 = $m.$key0;
                    $ptr = 1;
                    continue main;
                }
                $m = $m.$next1;
            }
            return $m;
        case 1:
            a: {
                $tmp = ju_HashMap_areEqualKeys($key, var$5);
                if ($rt_suspending()) {
                    break main;
                }
                $index = $tmp;
                if (!$index)
                    while (true) {
                        $m = $m.$next1;
                        if ($m === null)
                            break a;
                        if ($m.$origKeyHash != $keyHash)
                            continue;
                        else {
                            var$5 = $m.$key0;
                            continue main;
                        }
                    }
            }
            return $m;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $key, $index, $keyHash, $m, var$5, $ptr);
    }
    function ju_HashMap_findNullKeyEntry($this) {
        var $m;
        $m = $this.$elementData.data[0];
        while ($m !== null && $m.$key0 !== null) {
            $m = $m.$next1;
        }
        return $m;
    }
    function ju_HashMap_isEmpty($this) {
        return $this.$elementCount ? 0 : 1;
    }
    function ju_HashMap_keySet($this) {
        var var$1;
        if ($this.$cachedKeySet === null) {
            var$1 = new ju_HashMap$1;
            var$1.$this$0 = $this;
            $this.$cachedKeySet = var$1;
        }
        return $this.$cachedKeySet;
    }
    function ju_HashMap_put($this, $key, $value) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$value = $thread.pop();$key = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_putImpl($this, $key, $value);
            if ($rt_suspending()) {
                break main;
            }
            $key = $tmp;
            return $key;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $key, $value, $ptr);
    }
    function ju_HashMap_putImpl($this, $key, $value) {
        var $entry, $hash, $result, $index, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$index = $thread.pop();$result = $thread.pop();$hash = $thread.pop();$entry = $thread.pop();$value = $thread.pop();$key = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($key === null) {
                $entry = ju_HashMap_findNullKeyEntry($this);
                if ($entry === null) {
                    $this.$modCount = $this.$modCount + 1 | 0;
                    $entry = ju_HashMap_createHashedEntry($this, null, 0, 0);
                    $hash = $this.$elementCount + 1 | 0;
                    $this.$elementCount = $hash;
                    if ($hash > $this.$threshold)
                        ju_HashMap_rehash($this);
                }
                $result = $entry.$value2;
                $entry.$value2 = $value;
                return $result;
            }
            $ptr = 1;
        case 1:
            $tmp = $key.$hashCode0();
            if ($rt_suspending()) {
                break main;
            }
            $hash = $tmp;
            $index = $hash & ($this.$elementData.data.length - 1 | 0);
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_findNonNullKeyEntry($this, $key, $index, $hash);
            if ($rt_suspending()) {
                break main;
            }
            $entry = $tmp;
            if ($entry === null) {
                $this.$modCount = $this.$modCount + 1 | 0;
                $entry = ju_HashMap_createHashedEntry($this, $key, $index, $hash);
                $hash = $this.$elementCount + 1 | 0;
                $this.$elementCount = $hash;
                if ($hash > $this.$threshold)
                    ju_HashMap_rehash($this);
            }
            $result = $entry.$value2;
            $entry.$value2 = $value;
            return $result;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $key, $value, $entry, $hash, $result, $index, $ptr);
    }
    function ju_HashMap_createHashedEntry($this, $key, $index, $hash) {
        var $entry, var$5;
        $entry = new ju_HashMap$HashEntry;
        ju_MapEntry__init_($entry, $key, null);
        $entry.$origKeyHash = $hash;
        var$5 = $this.$elementData.data;
        $entry.$next1 = var$5[$index];
        var$5[$index] = $entry;
        return $entry;
    }
    function ju_HashMap_putAll($this, $map) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$map = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!ju_HashMap_isEmpty($map)) {
                var$2 = $this.$elementCount + $map.$elementCount | 0;
                if (var$2 > $this.$threshold)
                    ju_HashMap_rehash0($this, var$2);
                var$3 = new ju_HashMap$EntryIterator;
                ju_HashMap$AbstractMapIterator__init_(var$3, $map);
                if (ju_HashMap$AbstractMapIterator_hasNext(var$3)) {
                    ju_HashMap$AbstractMapIterator_makeNext(var$3);
                    $map = var$3.$currentEntry;
                    var$4 = $map.$key0;
                    $map = $map.$value2;
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        case 1:
            ju_HashMap_putImpl($this, var$4, $map);
            if ($rt_suspending()) {
                break main;
            }
            if (!ju_HashMap$AbstractMapIterator_hasNext(var$3))
                return;
            ju_HashMap$AbstractMapIterator_makeNext(var$3);
            $map = var$3.$currentEntry;
            var$4 = $map.$key0;
            $map = $map.$value2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $map, var$2, var$3, var$4, $ptr);
    }
    function ju_HashMap_rehash0($this, $capacity) {
        var $length, $newData, var$4, $i, var$6, $entry, $index, $next;
        $length = ju_HashMap_calculateCapacity(!$capacity ? 1 : $capacity << 1);
        $newData = $rt_createArray(ju_HashMap$HashEntry, $length);
        var$4 = $newData.data;
        $i = 0;
        $capacity = $length - 1 | 0;
        while (true) {
            var$6 = $this.$elementData.data;
            if ($i >= var$6.length)
                break;
            $entry = var$6[$i];
            var$6[$i] = null;
            while ($entry !== null) {
                $index = $entry.$origKeyHash & $capacity;
                $next = $entry.$next1;
                $entry.$next1 = var$4[$index];
                var$4[$index] = $entry;
                $entry = $next;
            }
            $i = $i + 1 | 0;
        }
        $this.$elementData = $newData;
        ju_HashMap_computeThreshold($this);
    }
    function ju_HashMap_rehash($this) {
        ju_HashMap_rehash0($this, $this.$elementData.data.length);
    }
    function ju_HashMap_remove($this, $key) {
        var var$2, var$3, $entry, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$entry = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$key = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 0;
            var$3 = null;
            if ($key === null) {
                $entry = $this.$elementData.data[0];
                a: {
                    while ($entry !== null) {
                        if ($entry.$key0 === null)
                            break a;
                        $key = $entry.$next1;
                        var$3 = $entry;
                        $entry = $key;
                    }
                }
                if ($entry === null)
                    $entry = null;
                else {
                    if (var$3 !== null)
                        var$3.$next1 = $entry.$next1;
                    else
                        $this.$elementData.data[var$2] = $entry.$next1;
                    $this.$modCount = $this.$modCount + 1 | 0;
                    $this.$elementCount = $this.$elementCount - 1 | 0;
                }
                if ($entry === null)
                    return null;
                return $entry.$value2;
            }
            $ptr = 1;
        case 1:
            $tmp = $key.$hashCode0();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            var$6 = $this.$elementData.data;
            var$2 = var$5 & (var$6.length - 1 | 0);
            $entry = var$6[var$2];
            while ($entry !== null) {
                if ($entry.$origKeyHash == var$5) {
                    var$7 = $entry.$key0;
                    $ptr = 2;
                    continue main;
                }
                var$7 = $entry.$next1;
                var$3 = $entry;
                $entry = var$7;
            }
            if ($entry === null)
                $entry = null;
            else {
                if (var$3 !== null)
                    var$3.$next1 = $entry.$next1;
                else
                    $this.$elementData.data[var$2] = $entry.$next1;
                $this.$modCount = $this.$modCount + 1 | 0;
                $this.$elementCount = $this.$elementCount - 1 | 0;
            }
            if ($entry === null)
                return null;
            return $entry.$value2;
        case 2:
            a: {
                $tmp = ju_HashMap_areEqualKeys($key, var$7);
                if ($rt_suspending()) {
                    break main;
                }
                var$8 = $tmp;
                if (!var$8)
                    while (true) {
                        var$7 = $entry.$next1;
                        var$3 = $entry;
                        $entry = var$7;
                        if ($entry === null)
                            break a;
                        if ($entry.$origKeyHash != var$5)
                            continue;
                        else {
                            var$7 = $entry.$key0;
                            continue main;
                        }
                    }
            }
            if ($entry === null)
                $entry = null;
            else {
                if (var$3 !== null)
                    var$3.$next1 = $entry.$next1;
                else
                    $this.$elementData.data[var$2] = $entry.$next1;
                $this.$modCount = $this.$modCount + 1 | 0;
                $this.$elementCount = $this.$elementCount - 1 | 0;
            }
            if ($entry === null)
                return null;
            return $entry.$value2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $key, var$2, var$3, $entry, var$5, var$6, var$7, var$8, $ptr);
    }
    function ju_HashMap_size($this) {
        return $this.$elementCount;
    }
    function ju_HashMap_values($this) {
        var var$1;
        if ($this.$cachedValues === null) {
            var$1 = new ju_HashMap$2;
            var$1.$this$00 = $this;
            $this.$cachedValues = var$1;
        }
        return $this.$cachedValues;
    }
    function ju_HashMap_areEqualKeys($key1, $key2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$key2 = $thread.pop();$key1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($key1 === $key2)
                return 1;
            $ptr = 1;
        case 1:
            $tmp = $key1.$equals($key2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3 ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($key1, $key2, var$3, $ptr);
    }
    function jl_Enum() {
        var a = this; jl_Object.call(a);
        a.$name0 = null;
        a.$ordinal0 = 0;
    }
    function jl_Enum__init_($this, $name, $ordinal) {
        $this.$name0 = $name;
        $this.$ordinal0 = $ordinal;
    }
    function jl_Enum_ordinal($this) {
        return $this.$ordinal0;
    }
    function jl_Enum_toString($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$name0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function jl_Enum_equals($this, $other) {
        return $this !== $other ? 0 : 1;
    }
    function jl_Enum_hashCode($this) {
        return jl_Object_identity($this);
    }
    function jl_Enum_getDeclaringClass($this) {
        var $result;
        $result = jl_Object_getClass($this);
        if (!jl_Object_equals(jl_Class_getSuperclass($result), $rt_cls(jl_Enum)))
            $result = jl_Class_getSuperclass($result);
        return $result;
    }
    function jl_Enum_compareTo($this, $o) {
        var var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$o = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (jl_Enum_getDeclaringClass($o) === jl_Enum_getDeclaringClass($this))
                return $rt_compare($this.$ordinal0, $o.$ordinal0);
            var$2 = new jl_IllegalArgumentException;
            var$3 = jl_Enum_getDeclaringClass($this);
            $o = jl_Enum_getDeclaringClass($o);
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            var$5 = $rt_s(342);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$5, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$5 = $rt_s(343);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$3, $o);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $o = $tmp;
            jl_Throwable__init_(var$2, $o);
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $o, var$2, var$3, var$4, var$5, $ptr);
    }
    function jl_Enum_compareTo0($this, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = var$1;
            $ptr = 1;
        case 1:
            $tmp = jl_Enum_compareTo($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function oall_Level() {
        var a = this; jl_Enum.call(a);
        a.$levelInt = 0;
        a.$levelName = null;
        a.$stdout = null;
        a.$isErr = 0;
    }
    var oall_Level_TRACE = null;
    var oall_Level_DEBUG = null;
    var oall_Level_INFO = null;
    var oall_Level_WARN = null;
    var oall_Level_ERROR = null;
    var oall_Level_FATAL = null;
    var oall_Level_FINER = null;
    var oall_Level_SEVERE = null;
    var oall_Level_FINE = null;
    var oall_Level_OFF = null;
    var oall_Level_$VALUES = null;
    function oall_Level_$callClinit() {
        oall_Level_$callClinit = $rt_eraseClinit(oall_Level);
        oall_Level__clinit_();
    }
    function oall_Level__init_(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new oall_Level();
        oall_Level__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function oall_Level_values() {
        oall_Level_$callClinit();
        return oall_Level_$VALUES.$clone();
    }
    function oall_Level__init_0($this, var$1, var$2, $levelInt, $levelName, $stderr) {
        oall_Level_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
        $this.$levelInt = $levelInt;
        $this.$levelName = $levelName;
        $this.$stdout = !$stderr ? jl_System_out() : jl_System_err();
        $this.$isErr = $stderr;
    }
    function oall_Level_getPrintStream($this) {
        return $this.$stdout;
    }
    function oall_Level__clinit_() {
        var var$1;
        oall_Level_TRACE = oall_Level__init_($rt_s(344), 0, 0, $rt_s(344), 0);
        oall_Level_DEBUG = oall_Level__init_($rt_s(345), 1, 1, $rt_s(345), 0);
        oall_Level_INFO = oall_Level__init_($rt_s(346), 2, 2, $rt_s(346), 0);
        oall_Level_WARN = oall_Level__init_($rt_s(347), 3, 3, $rt_s(347), 0);
        oall_Level_ERROR = oall_Level__init_($rt_s(348), 4, 4, $rt_s(348), 1);
        oall_Level_FATAL = oall_Level__init_($rt_s(349), 5, 5, $rt_s(349), 1);
        oall_Level_FINER = oall_Level__init_($rt_s(350), 6, 6, $rt_s(350), 0);
        oall_Level_SEVERE = oall_Level__init_($rt_s(351), 7, 7, $rt_s(351), 1);
        oall_Level_FINE = oall_Level__init_($rt_s(352), 8, 8, $rt_s(352), 0);
        var$1 = oall_Level__init_($rt_s(353), 9, 2147483647, $rt_s(354), 0);
        oall_Level_OFF = var$1;
        oall_Level_$VALUES = $rt_createArrayFromData(oall_Level, [oall_Level_TRACE, oall_Level_DEBUG, oall_Level_INFO, oall_Level_WARN, oall_Level_ERROR, oall_Level_FATAL, oall_Level_FINER, oall_Level_SEVERE, oall_Level_FINE, var$1]);
    }
    var nlei_PlatformApplication = $rt_classWithoutFields();
    var nlei_PlatformApplication_dateFormatSS = null;
    var nlei_PlatformApplication_fileChooserImpl = 0;
    var nlei_PlatformApplication_fileChooserHasResult = 0;
    var nlei_PlatformApplication_fileChooserResultObject = null;
    var nlei_PlatformApplication_fileChooserElement = null;
    var nlei_PlatformApplication_fileChooserMobileElement = null;
    var nlei_PlatformApplication_$clinitCalled = false;
    function nlei_PlatformApplication_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nlei_PlatformApplication_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nlei_PlatformApplication_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nlei_PlatformApplication__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformApplication_$callClinit = $rt_eraseClinit(nlei_PlatformApplication);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nlei_PlatformApplication__init_0() {
        var var_0 = new nlei_PlatformApplication();
        nlei_PlatformApplication__init_(var_0);
        return var_0;
    }
    function nlei_PlatformApplication__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformApplication_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nlei_PlatformApplication_getClipboard0() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformApplication_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformApplication_getClipboard0$_asyncCall_$();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nlei_PlatformApplication_getClipboard00($cb) {
        var $start, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$start = $thread.pop();$cb = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformApplication_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_steadyTimeMillis();
            if ($rt_suspending()) {
                break main;
            }
            $start = $tmp;
            var$3 = new nlei_PlatformApplication$1;
            var$3.$val$start = $start;
            var$3.$val$cb = $cb;
            $cb = otji_JS_function(var$3, "resolveStr");
            $ptr = 3;
        case 3:
            nlei_PlatformApplication_getClipboard1$js_body$_6($cb);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($cb, $start, var$3, $ptr);
    }
    function nlei_PlatformApplication_setLocalStorage($name, $data, $hooks) {
        var $adapter, var$5, var$6, var$7, $b64, $s, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$s = $thread.pop();$b64 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$adapter = $thread.pop();$hooks = $thread.pop();$data = $thread.pop();$name = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformApplication_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_getClientConfigAdapter();
            if ($rt_suspending()) {
                break main;
            }
            $adapter = $tmp;
            var$5 = $adapter.$localStorageNamespace;
            var$6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$6);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$6, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            jl_AbstractStringBuilder_append(var$5, 46);
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$5, $name);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if ($data !== null) {
                $ptr = 6;
                continue main;
            }
            $b64 = null;
            a: {
                try {
                    $s = $rt_globals.window.localStorage;
                    if ($s !== null) {
                        if ($b64 === null)
                            $s.removeItem($rt_ustr(var$7));
                        else
                            $s.setItem($rt_ustr(var$7), $rt_ustr($b64));
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            if ($hooks) {
                var$5 = $adapter.$hooks;
                if (var$5.$saveHook !== null) {
                    $adapter = $rt_s(355);
                    var$6 = new nleit_TeaVMClientConfigAdapterHooks$callLocalStorageSavedHook$lambda$_1_0;
                    var$6.$_07 = var$5;
                    var$6.$_13 = $name;
                    var$6.$_21 = $b64;
                    $ptr = 7;
                    continue main;
                }
            }
            return;
        case 6:
            $tmp = nle_Base64_encodeBase64String($data);
            if ($rt_suspending()) {
                break main;
            }
            $b64 = $tmp;
            b: {
                try {
                    $s = $rt_globals.window.localStorage;
                    if ($s !== null) {
                        if ($b64 === null)
                            $s.removeItem($rt_ustr(var$7));
                        else
                            $s.setItem($rt_ustr(var$7), $rt_ustr($b64));
                    }
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            if ($hooks) {
                var$5 = $adapter.$hooks;
                if (var$5.$saveHook !== null) {
                    $adapter = $rt_s(355);
                    var$6 = new nleit_TeaVMClientConfigAdapterHooks$callLocalStorageSavedHook$lambda$_1_0;
                    var$6.$_07 = var$5;
                    var$6.$_13 = $name;
                    var$6.$_21 = $b64;
                    $ptr = 7;
                    continue main;
                }
            }
            return;
        case 7:
            nleit_TeaVMClientConfigAdapterHooks_callHookSafe($adapter, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($name, $data, $hooks, $adapter, var$5, var$6, var$7, $b64, $s, $ptr);
    }
    function nlei_PlatformApplication_getLocalStorage($name, $hooks) {
        var $adapter, $s, $hookedStr, $hooked, $str, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$str = $thread.pop();$hooked = $thread.pop();$hookedStr = $thread.pop();$s = $thread.pop();$adapter = $thread.pop();$hooks = $thread.pop();$name = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformApplication_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_getClientConfigAdapter();
            if ($rt_suspending()) {
                break main;
            }
            $adapter = $tmp;
            $s = $adapter.$localStorageNamespace;
            $hookedStr = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($hookedStr);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append($hookedStr, $s);
            if ($rt_suspending()) {
                break main;
            }
            $s = $tmp;
            jl_AbstractStringBuilder_append($s, 46);
            $ptr = 4;
        case 4:
            jl_StringBuilder_append($s, $name);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            a: {
                $tmp = jl_AbstractStringBuilder_toString($hookedStr);
                if ($rt_suspending()) {
                    break main;
                }
                $name = $tmp;
                $hooked = null;
                if ($hooks) {
                    $s = $adapter.$hooks;
                    if ($s.$loadHook !== null)
                        break a;
                    $hookedStr = null;
                    if ($hookedStr !== null) {
                        try {
                            $ptr = 8;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                            } else {
                                throw $$e;
                            }
                        }
                        $adapter = nlei_PlatformRuntime_logger;
                        $hookedStr = $rt_s(356);
                        $ptr = 10;
                        continue main;
                    }
                }
                if ($hooked !== null)
                    return $hooked;
                b: {
                    c: {
                        try {
                            $s = $rt_globals.window.localStorage;
                            if ($s !== null)
                                break c;
                            $name = null;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                break b;
                            } else {
                                throw $$e;
                            }
                        }
                        return $name;
                    }
                    d: {
                        try {
                            $str = $rt_str($s.getItem($rt_ustr($name)));
                            if ($str !== null)
                                break d;
                            $name = null;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                break b;
                            } else {
                                throw $$e;
                            }
                        }
                        return $name;
                    }
                    try {
                        $ptr = 9;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                        } else {
                            throw $$e;
                        }
                    }
                }
                return null;
            }
            $adapter = $rt_s(357);
            $hookedStr = new nleit_TeaVMClientConfigAdapterHooks$callLocalStorageLoadHook$lambda$_2_0;
            $hookedStr.$_08 = $s;
            $hookedStr.$_14 = $name;
            $ptr = 6;
        case 6:
            nleit_TeaVMClientConfigAdapterHooks_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            $tmp = nleit_TeaVMClientConfigAdapterHooks_callHookSafeWithReturn$_asyncCall_$($adapter, $hookedStr);
            if ($rt_suspending()) {
                break main;
            }
            $adapter = $tmp;
            $hookedStr = $adapter;
            if ($hookedStr !== null) {
                try {
                    $ptr = 8;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                $adapter = nlei_PlatformRuntime_logger;
                $hookedStr = $rt_s(356);
                $ptr = 10;
                continue main;
            }
            if ($hooked !== null)
                return $hooked;
            e: {
                f: {
                    try {
                        $s = $rt_globals.window.localStorage;
                        if ($s !== null)
                            break f;
                        $name = null;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            break e;
                        } else {
                            throw $$e;
                        }
                    }
                    return $name;
                }
                g: {
                    try {
                        $str = $rt_str($s.getItem($rt_ustr($name)));
                        if ($str !== null)
                            break g;
                        $name = null;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            break e;
                        } else {
                            throw $$e;
                        }
                    }
                    return $name;
                }
                try {
                    $ptr = 9;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return null;
        case 8:
            a: {
                try {
                    $tmp = nle_Base64_decodeBase64($hookedStr);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $hooked = $tmp;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                $adapter = nlei_PlatformRuntime_logger;
                $hookedStr = $rt_s(356);
                $ptr = 10;
                continue main;
            }
            if ($hooked !== null)
                return $hooked;
            f: {
                g: {
                    try {
                        $s = $rt_globals.window.localStorage;
                        if ($s !== null)
                            break g;
                        $name = null;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            break f;
                        } else {
                            throw $$e;
                        }
                    }
                    return $name;
                }
                b: {
                    try {
                        $str = $rt_str($s.getItem($rt_ustr($name)));
                        if ($str !== null)
                            break b;
                        $name = null;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            break f;
                        } else {
                            throw $$e;
                        }
                    }
                    return $name;
                }
                try {
                    $ptr = 9;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return null;
        case 9:
            a: {
                try {
                    $tmp = nle_Base64_decodeBase64($str);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $hooked = $tmp;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $hooked;
            }
            return null;
        case 10:
            oall_Logger_error0($adapter, $hookedStr);
            if ($rt_suspending()) {
                break main;
            }
            $hooked = null;
            if ($hooked !== null)
                return $hooked;
            h: {
                e: {
                    try {
                        $s = $rt_globals.window.localStorage;
                        if ($s !== null)
                            break e;
                        $name = null;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            break h;
                        } else {
                            throw $$e;
                        }
                    }
                    return $name;
                }
                f: {
                    try {
                        $str = $rt_str($s.getItem($rt_ustr($name)));
                        if ($str !== null)
                            break f;
                        $name = null;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            break h;
                        } else {
                            throw $$e;
                        }
                    }
                    return $name;
                }
                try {
                    $ptr = 9;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return null;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($name, $hooks, $adapter, $s, $hookedStr, $hooked, $str, $ptr);
    }
    function nlei_PlatformApplication_getFileChooserResult($inputElement, $callback) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$callback = $thread.pop();$inputElement = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformApplication_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformApplication_fileChooserImpl == (-1)) {
                $ptr = 2;
                continue main;
            }
            switch (nlei_PlatformApplication_fileChooserImpl) {
                case 0:
                    $callback = otji_JS_function($callback, "accept");
                    $ptr = 3;
                    continue main;
                case 1:
                    $callback = otji_JS_function($callback, "accept");
                    $ptr = 4;
                    continue main;
                default:
            }
            $inputElement = new jl_UnsupportedOperationException;
            jl_Throwable__init_0($inputElement);
            $rt_throw($inputElement);
        case 2:
            $tmp = typeof $rt_globals.File.prototype.arrayBuffer === "function" ? 0 : 1;
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$4 = var$3;
            nlei_PlatformApplication_fileChooserImpl = var$4;
            if (var$4 == 1) {
                $ptr = 5;
                continue main;
            }
            switch (nlei_PlatformApplication_fileChooserImpl) {
                case 0:
                    $callback = otji_JS_function($callback, "accept");
                    $ptr = 3;
                    continue main;
                case 1:
                    $callback = otji_JS_function($callback, "accept");
                    $ptr = 4;
                    continue main;
                default:
            }
            $inputElement = new jl_UnsupportedOperationException;
            jl_Throwable__init_0($inputElement);
            $rt_throw($inputElement);
        case 3:
            nlei_PlatformApplication_getFileChooserResultNew$js_body$_16($inputElement, $callback);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nlei_PlatformApplication_getFileChooserResultLegacy$js_body$_17($inputElement, $callback);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nlei_PlatformRuntime_logger;
            var$5 = $rt_s(358);
            $ptr = 6;
        case 6:
            oall_Logger_info(var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            switch (nlei_PlatformApplication_fileChooserImpl) {
                case 0:
                    $callback = otji_JS_function($callback, "accept");
                    $ptr = 3;
                    continue main;
                case 1:
                    $callback = otji_JS_function($callback, "accept");
                    $ptr = 4;
                    continue main;
                default:
            }
            $inputElement = new jl_UnsupportedOperationException;
            jl_Throwable__init_0($inputElement);
            $rt_throw($inputElement);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($inputElement, $callback, var$3, var$4, var$5, $ptr);
    }
    function nlei_PlatformApplication_displayFileChooser($mime, $ext) {
        var $doc, $fileChooserTitle, $decl, $element, $fileChooserButtons, $inputElementContainer, $fileChooserButtonCancel, $fileChooserButtonDone, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$fileChooserButtonDone = $thread.pop();$fileChooserButtonCancel = $thread.pop();$inputElementContainer = $thread.pop();$fileChooserButtons = $thread.pop();$element = $thread.pop();$decl = $thread.pop();$fileChooserTitle = $thread.pop();$doc = $thread.pop();$ext = $thread.pop();$mime = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformApplication_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformApplication_clearFileChooserResult();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $doc = nlei_PlatformRuntime_doc;
            if ($doc === null)
                $doc = $rt_globals.window.document;
            if (!nlei_PlatformInput_isLikelyMobileBrowser) {
                $fileChooserTitle = $doc.createElement("input");
                nlei_PlatformApplication_fileChooserElement = $fileChooserTitle;
                $doc = "file";
                $fileChooserTitle.type = $doc;
                $decl = $fileChooserTitle.style;
                $decl.setProperty("position", "absolute");
                $decl.setProperty("left", "0px");
                $decl.setProperty("top", "0px");
                $decl.setProperty("z-index", "-100");
                if ($mime !== null) {
                    $mime = $rt_ustr($mime);
                    $ptr = 4;
                    continue main;
                }
                $mime = jl_StringBuilder__init_0();
                $doc = jl_StringBuilder_append5($mime, 46);
                $ptr = 5;
                continue main;
            }
            $element = $doc.createElement("div");
            nlei_PlatformApplication_fileChooserMobileElement = $element;
            $element.classList.add("_eaglercraftX_mobile_file_chooser_popup");
            $decl = $element.style;
            $decl.setProperty("position", "absolute");
            $decl.setProperty("background-color", "white");
            $decl.setProperty("font-family", "sans-serif");
            $decl.setProperty("top", "10%");
            $decl.setProperty("left", "10%");
            $decl.setProperty("right", "10%");
            $decl.setProperty("border", "5px double black");
            $decl.setProperty("padding", "15px");
            $decl.setProperty("text-align", "left");
            $decl.setProperty("font-size", "20px");
            $decl.setProperty("user-select", "none");
            $decl.setProperty("z-index", "150");
            $fileChooserTitle = $doc.createElement("h3");
            $fileChooserButtons = $doc.createTextNode("File Chooser");
            $fileChooserTitle.appendChild($fileChooserButtons);
            $element.appendChild($fileChooserTitle);
            $inputElementContainer = $doc.createElement("p");
            $fileChooserTitle = $doc.createElement("input");
            nlei_PlatformApplication_fileChooserElement = $fileChooserTitle;
            $fileChooserButtons = "file";
            $fileChooserTitle.type = $fileChooserButtons;
            if ($mime !== null) {
                $mime = $rt_ustr($mime);
                $ptr = 8;
                continue main;
            }
            $mime = jl_StringBuilder__init_0();
            $fileChooserButtons = jl_StringBuilder_append5($mime, 46);
            $ptr = 9;
            continue main;
        case 4:
            $fileChooserTitle.accept = $mime;
            if ($rt_suspending()) {
                break main;
            }
            $mime = !!0;
            $ptr = 12;
            continue main;
        case 5:
            jl_StringBuilder_append($doc, $ext);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_StringBuilder_toString($mime);
            if ($rt_suspending()) {
                break main;
            }
            $mime = $tmp;
            $mime = $rt_ustr($mime);
            $ptr = 7;
        case 7:
            $fileChooserTitle.accept = $mime;
            if ($rt_suspending()) {
                break main;
            }
            $mime = !!0;
            $ptr = 12;
            continue main;
        case 8:
            $fileChooserTitle.accept = $mime;
            if ($rt_suspending()) {
                break main;
            }
            $mime = !!0;
            $ptr = 13;
            continue main;
        case 9:
            jl_StringBuilder_append($fileChooserButtons, $ext);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            $tmp = jl_StringBuilder_toString($mime);
            if ($rt_suspending()) {
                break main;
            }
            $mime = $tmp;
            $mime = $rt_ustr($mime);
            $ptr = 11;
        case 11:
            $fileChooserTitle.accept = $mime;
            if ($rt_suspending()) {
                break main;
            }
            $mime = !!0;
            $ptr = 13;
            continue main;
        case 12:
            $fileChooserTitle.multiple = $mime;
            if ($rt_suspending()) {
                break main;
            }
            $ext = nlei_PlatformApplication$5__init_($fileChooserTitle);
            $fileChooserTitle.addEventListener("change", otji_JS_function($ext, "handleEvent"));
            nlei_PlatformRuntime_parent.appendChild($fileChooserTitle);
            $rt_globals.setTimeout(otji_JS_function(nlei_PlatformApplication$6__init_($fileChooserTitle), "onTimer"), 50);
            return;
        case 13:
            $fileChooserTitle.multiple = $mime;
            if ($rt_suspending()) {
                break main;
            }
            $inputElementContainer.appendChild($fileChooserTitle);
            $element.appendChild($inputElementContainer);
            $fileChooserButtons = $doc.createElement("p");
            $fileChooserButtonCancel = $doc.createElement("button");
            $fileChooserButtonCancel.classList.add("_eaglercraftX_mobile_file_chooser_btn_cancel");
            $fileChooserButtonCancel.style.setProperty("font-size", "1.0em");
            $ext = nlei_PlatformApplication$3__init_($element);
            $fileChooserButtonCancel.addEventListener("click", otji_JS_function($ext, "handleEvent"));
            $mime = $doc.createTextNode("Cancel");
            $fileChooserButtonCancel.appendChild($mime);
            $fileChooserButtons.appendChild($fileChooserButtonCancel);
            $mime = $doc.createTextNode(" ");
            $fileChooserButtons.appendChild($mime);
            $fileChooserButtonDone = $doc.createElement("button");
            $fileChooserButtonDone.classList.add("_eaglercraftX_mobile_file_chooser_btn_done");
            $fileChooserButtonDone.style.setProperty("font-size", "1.0em");
            $fileChooserButtonDone.style.setProperty("font-weight", "bold");
            $ext = nlei_PlatformApplication$4__init_($element, $fileChooserTitle);
            $fileChooserButtonDone.addEventListener("click", otji_JS_function($ext, "handleEvent"));
            $ext = $doc.createTextNode("Done");
            $fileChooserButtonDone.appendChild($ext);
            $fileChooserButtons.appendChild($fileChooserButtonDone);
            $element.appendChild($fileChooserButtons);
            nlei_PlatformRuntime_parent.appendChild($element);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($mime, $ext, $doc, $fileChooserTitle, $decl, $element, $fileChooserButtons, $inputElementContainer, $fileChooserButtonCancel, $fileChooserButtonDone, $ptr);
    }
    function nlei_PlatformApplication_clearFileChooserResult() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformApplication_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformApplication_fileChooserHasResult = 0;
            nlei_PlatformApplication_fileChooserResultObject = null;
            var$1 = nlei_PlatformApplication_fileChooserMobileElement;
            if (var$1 !== null) {
                $ptr = 2;
                continue main;
            }
            var$1 = nlei_PlatformApplication_fileChooserElement;
            if (var$1 === null)
                return;
            $ptr = 3;
            continue main;
        case 2:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformRuntime_parent.removeChild(var$1);
            nlei_PlatformApplication_fileChooserMobileElement = null;
            nlei_PlatformApplication_fileChooserElement = null;
            return;
        case 3:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformRuntime_parent.removeChild(var$1);
            nlei_PlatformApplication_fileChooserElement = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nlei_PlatformApplication__clinit_() {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new jt_SimpleDateFormat;
            var$2 = $rt_s(359);
            $ptr = 1;
        case 1:
            jt_SimpleDateFormat__init_0(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformApplication_dateFormatSS = var$1;
            nlei_PlatformApplication_fileChooserImpl = (-1);
            nlei_PlatformApplication_fileChooserHasResult = 0;
            nlei_PlatformApplication_fileChooserResultObject = null;
            nlei_PlatformApplication_fileChooserElement = null;
            nlei_PlatformApplication_fileChooserMobileElement = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nlei_PlatformApplication_getClipboard0$_asyncCall_$() {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nlei_PlatformApplication_getClipboard00(callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nlei_PlatformApplication_getClipboard1$js_body$_6(var$1) {
        if (!$rt_globals.navigator.clipboard) {
            var$1(null);
        } else if (!$rt_globals.navigator.clipboard.readText) var$1(null); else ($rt_globals.navigator.clipboard.readText()).then(function(s) {
            var$1(typeof s === "string" ? s : null);
        }, function(err) {
            var$1(null);
        });
    }
    function nlei_PlatformApplication_getFileChooserResultNew$js_body$_16(var$1, var$2) {
        if (var$1.files.length > 0) {
            var eag = function(value) {
                ((value.arrayBuffer()).then(function(arr) {
                    var$2(value.name, arr);
                })).catch(function() {
                    var$2(null, null);
                });
            };
            eag(var$1.files[0]);
        } else var$2(null, null);
    }
    function nlei_PlatformApplication_getFileChooserResultLegacy$js_body$_17(var$1, var$2) {
        if (var$1.files.length > 0) {
            var eag = function(value, reader) {
                reader.addEventListener("loadend", function(evt) {
                    var$2(value.name, reader.result);
                });
                reader.addEventListener("error", function(evt) {
                    var$2(null, null);
                });
                reader.readAsArrayBuffer(value);
            };
            eag(var$1.files[0], new $rt_globals.FileReader());
        } else var$2(null, null);
    }
    var nms_NBTTagEnd = $rt_classWithoutFields(nms_NBTBase);
    function nms_NBTTagEnd__init_0() {
        var var_0 = new nms_NBTTagEnd();
        nms_NBTTagEnd__init_(var_0);
        return var_0;
    }
    function nms_NBTTagEnd__init_($this) {
        nms_NBTBase__init_($this);
    }
    function nms_NBTTagEnd_readTagContents($this, $var1) {}
    function nms_NBTTagEnd_writeTagContents($this, $var1) {}
    function nms_NBTTagEnd_getType($this) {
        return 0;
    }
    function nms_NBTTagEnd_toString($this) {
        return $rt_s(360);
    }
    var otjc_JSWeakMap = $rt_classWithoutFields();
    var otjc_JSWeakRef = $rt_classWithoutFields();
    var otjc_JSMap = $rt_classWithoutFields();
    var otjc_JSFinalizationRegistryConsumer = $rt_classWithoutFields(0);
    var otji_JSWrapper$_clinit_$lambda$_30_0 = $rt_classWithoutFields();
    function otji_JSWrapper$_clinit_$lambda$_30_0__init_0() {
        var var_0 = new otji_JSWrapper$_clinit_$lambda$_30_0();
        otji_JSWrapper$_clinit_$lambda$_30_0__init_(var_0);
        return var_0;
    }
    function otji_JSWrapper$_clinit_$lambda$_30_0__init_(var$0) {}
    function otji_JSWrapper$_clinit_$lambda$_30_0_accept$exported$0(var$0, var$1) {
        var var$2;
        var$1 = otji_JSWrapper_jsToJava(var$1);
        var$2 = otji_JSWrapper_stringWrappers;
        var$1 = otji_JSWrapper_unwrap(var$1);
        var$2.delete(var$1);
    }
    var otjc_JSFinalizationRegistry = $rt_classWithoutFields();
    var otji_JSWrapper$_clinit_$lambda$_30_1 = $rt_classWithoutFields();
    function otji_JSWrapper$_clinit_$lambda$_30_1__init_0() {
        var var_0 = new otji_JSWrapper$_clinit_$lambda$_30_1();
        otji_JSWrapper$_clinit_$lambda$_30_1__init_(var_0);
        return var_0;
    }
    function otji_JSWrapper$_clinit_$lambda$_30_1__init_(var$0) {}
    function otji_JSWrapper$_clinit_$lambda$_30_1_accept$exported$0(var$0, var$1) {
        var var$2;
        var$1 = otji_JSWrapper_jsToJava(var$1);
        var$2 = otji_JSWrapper_numberWrappers;
        var$1 = otji_JSWrapper_unwrap(var$1);
        var$2.delete(var$1);
    }
    var juf_Consumer = $rt_classWithoutFields(0);
    var nle_EagRuntime$debugPrintStackTraceToSTDERR0$lambda$_25_0 = $rt_classWithoutFields();
    function nle_EagRuntime$debugPrintStackTraceToSTDERR0$lambda$_25_0__init_0() {
        var var_0 = new nle_EagRuntime$debugPrintStackTraceToSTDERR0$lambda$_25_0();
        nle_EagRuntime$debugPrintStackTraceToSTDERR0$lambda$_25_0__init_(var_0);
        return var_0;
    }
    function nle_EagRuntime$debugPrintStackTraceToSTDERR0$lambda$_25_0__init_(var$0) {}
    function nle_EagRuntime$debugPrintStackTraceToSTDERR0$lambda$_25_0_accept(var$0, var$1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = jl_System_err();
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$4 = $rt_s(361);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 3;
        case 3:
            jl_StringBuilder_append(var$4, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 5;
        case 5:
            ji_PrintStream_println0(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, $ptr);
    }
    var jl_Iterable = $rt_classWithoutFields(0);
    var ju_Collection = $rt_classWithoutFields(0);
    var ju_AbstractCollection = $rt_classWithoutFields();
    function ju_AbstractCollection_isEmpty($this) {
        return $this.$size() ? 0 : 1;
    }
    function ju_AbstractCollection_contains($this, $o) {
        var $iter, $e, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$e = $thread.pop();$iter = $thread.pop();$o = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $this.$iterator();
            if ($rt_suspending()) {
                break main;
            }
            $iter = $tmp;
            if (!$iter.$hasNext())
                return 0;
            $ptr = 2;
        case 2:
            $tmp = $iter.$next();
            if ($rt_suspending()) {
                break main;
            }
            $e = $tmp;
            $ptr = 3;
        case 3:
            $tmp = ju_Objects_equals($e, $o);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4)
                return 1;
            if (!$iter.$hasNext())
                return 0;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $o, $iter, $e, var$4, $ptr);
    }
    function ju_AbstractCollection_toArray($this, $a) {
        var var$2, $i, $i_0, $iter, var$6, var$7;
        var$2 = $a.data;
        $i = $this.$size0;
        $i_0 = var$2.length;
        if ($i_0 < $i)
            $a = jlr_Array_newInstance(jl_Class_getComponentType(jl_Object_getClass($a)), $i);
        else
            while ($i < $i_0) {
                var$2[$i] = null;
                $i = $i + 1 | 0;
            }
        $i_0 = 0;
        $iter = ju_AbstractList_iterator($this);
        while (ju_AbstractList$1_hasNext($iter)) {
            var$6 = $a.data;
            var$7 = $i_0 + 1 | 0;
            var$6[$i_0] = ju_AbstractList$1_next($iter);
            $i_0 = var$7;
        }
        return $a;
    }
    function ju_AbstractCollection_addAll($this, $c) {
        var $changed, $iter, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$iter = $thread.pop();$changed = $thread.pop();$c = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $changed = 0;
            $ptr = 1;
        case 1:
            $tmp = $c.$iterator();
            if ($rt_suspending()) {
                break main;
            }
            $iter = $tmp;
            if (!$iter.$hasNext())
                return $changed;
            $ptr = 2;
        case 2:
            $tmp = $iter.$next();
            if ($rt_suspending()) {
                break main;
            }
            $c = $tmp;
            $ptr = 3;
        case 3:
            $tmp = $this.$add($c);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4)
                $changed = 1;
            if (!$iter.$hasNext())
                return $changed;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $c, $changed, $iter, var$4, $ptr);
    }
    function ju_AbstractCollection_removeAll($this, $c) {
        var $changed, $iter, $e, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$e = $thread.pop();$iter = $thread.pop();$changed = $thread.pop();$c = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $changed = 0;
            $ptr = 1;
        case 1:
            $tmp = ju_AbstractList_iterator($this);
            if ($rt_suspending()) {
                break main;
            }
            $iter = $tmp;
            if (!ju_AbstractList$1_hasNext($iter))
                return $changed;
            $ptr = 2;
        case 2:
            $tmp = ju_AbstractList$1_next($iter);
            if ($rt_suspending()) {
                break main;
            }
            $e = $tmp;
            $ptr = 3;
        case 3:
            $tmp = $c.$contains0($e);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5) {
                $ptr = 4;
                continue main;
            }
            if (!ju_AbstractList$1_hasNext($iter))
                return $changed;
            $ptr = 2;
            continue main;
        case 4:
            ju_AbstractList$1_remove($iter);
            if ($rt_suspending()) {
                break main;
            }
            $changed = 1;
            if (!ju_AbstractList$1_hasNext($iter))
                return $changed;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $c, $changed, $iter, $e, var$5, $ptr);
    }
    function ju_AbstractCollection_toString($this) {
        var $sb, $iter, $e, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$e = $thread.pop();$iter = $thread.pop();$sb = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $sb = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($sb);
            jl_AbstractStringBuilder_append($sb, 91);
            $ptr = 1;
        case 1:
            $tmp = $this.$iterator();
            if ($rt_suspending()) {
                break main;
            }
            $iter = $tmp;
            if ($iter.$hasNext()) {
                $ptr = 2;
                continue main;
            }
            if ($iter.$hasNext()) {
                $ptr = 4;
                continue main;
            }
            jl_AbstractStringBuilder_append($sb, 93);
            $ptr = 3;
            continue main;
        case 2:
            $tmp = $iter.$next();
            if ($rt_suspending()) {
                break main;
            }
            $e = $tmp;
            if ($e === $this)
                $e = $rt_s(362);
            $ptr = 5;
            continue main;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            $sb = $tmp;
            return $sb;
        case 4:
            $tmp = $iter.$next();
            if ($rt_suspending()) {
                break main;
            }
            $e = $tmp;
            jl_AbstractStringBuilder_append2($sb, $rt_s(107));
            if ($e === $this)
                $e = $rt_s(362);
            $ptr = 6;
            continue main;
        case 5:
            jl_StringBuilder_append($sb, $e);
            if ($rt_suspending()) {
                break main;
            }
            if ($iter.$hasNext()) {
                $ptr = 4;
                continue main;
            }
            jl_AbstractStringBuilder_append($sb, 93);
            $ptr = 3;
            continue main;
        case 6:
            jl_StringBuilder_append($sb, $e);
            if ($rt_suspending()) {
                break main;
            }
            if ($iter.$hasNext()) {
                $ptr = 4;
                continue main;
            }
            jl_AbstractStringBuilder_append($sb, 93);
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $sb, $iter, $e, $ptr);
    }
    var ju_SequencedCollection = $rt_classWithoutFields(0);
    var ju_List = $rt_classWithoutFields(0);
    function ju_AbstractList() {
        ju_AbstractCollection.call(this);
        this.$modCount0 = 0;
    }
    function ju_AbstractList_add($this, $e) {
        var var$2, var$3, var$4, var$5;
        var$2 = $this.$size2;
        if (var$2 < 0) {
            $e = new jl_IndexOutOfBoundsException;
            jl_Throwable__init_0($e);
            $rt_throw($e);
        }
        var$3 = ju_LinkedList_listIterator($this, var$2);
        ju_LinkedList$SequentialListIterator_checkConcurrentModification(var$3);
        var$4 = new ju_LinkedList$Entry;
        var$4.$item = $e;
        $e = var$3.$prevEntry;
        var$4.$previous = $e;
        var$5 = var$3.$nextEntry;
        var$4.$next2 = var$5;
        if ($e !== null)
            $e.$next2 = var$4;
        else
            var$3.$this$01.$firstEntry = var$4;
        if (var$5 !== null)
            var$5.$previous = var$4;
        else
            var$3.$this$01.$lastEntry = var$4;
        var$3.$prevEntry = var$4;
        $e = var$3.$this$01;
        $e.$size2 = $e.$size2 + 1 | 0;
        var$2 = $e.$modCount0 + 1 | 0;
        $e.$modCount0 = var$2;
        var$3.$version = var$2;
        var$3.$currentEntry0 = null;
        return 1;
    }
    function ju_AbstractList_iterator($this) {
        var var$1;
        var$1 = new ju_AbstractList$1;
        var$1.$this$02 = $this;
        var$1.$modCount1 = $this.$modCount0;
        var$1.$size3 = $this.$size();
        var$1.$removeIndex = (-1);
        return var$1;
    }
    function ju_AbstractList_remove($this, $index) {
        var var$2;
        var$2 = new jl_UnsupportedOperationException;
        jl_Throwable__init_0(var$2);
        $rt_throw(var$2);
    }
    function ju_AbstractList_equals($this, $other) {
        var $list, $i, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$i = $thread.pop();$list = $thread.pop();$other = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$rt_isInstance($other, ju_List))
                return 0;
            $list = $other;
            if ($this.$size0 != $list.$size0)
                return 0;
            $i = 0;
            if ($i >= $list.$size0)
                return 1;
            $other = ju_ArrayList_get($this, $i);
            var$4 = ju_ArrayList_get($list, $i);
            $ptr = 1;
        case 1:
            $tmp = ju_Objects_equals($other, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (!var$5)
                return 0;
            $i = $i + 1 | 0;
            if ($i >= $list.$size0)
                return 1;
            $other = ju_ArrayList_get($this, $i);
            var$4 = ju_ArrayList_get($list, $i);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $other, $list, $i, var$4, var$5, $ptr);
    }
    var ju_AbstractSequentialList = $rt_classWithoutFields(ju_AbstractList);
    function ju_AbstractSequentialList_get($this, $index) {
        var $iter;
        if ($index >= 0)
            return ju_LinkedList$SequentialListIterator_next(ju_LinkedList_listIterator($this, $index));
        $iter = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0($iter);
        $rt_throw($iter);
    }
    function ju_AbstractSequentialList_remove($this, $index) {
        var $iter, $elem;
        if ($index >= 0) {
            $iter = ju_LinkedList_listIterator($this, $index);
            $elem = ju_LinkedList$SequentialListIterator_next($iter);
            ju_LinkedList$SequentialListIterator_remove($iter);
            return $elem;
        }
        $iter = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0($iter);
        $rt_throw($iter);
    }
    function ju_AbstractSequentialList_iterator($this) {
        return ju_LinkedList$SequentialListIterator__init_($this, $this.$firstEntry, null, 0);
    }
    var ju_Queue = $rt_classWithoutFields(0);
    var ju_Deque = $rt_classWithoutFields(0);
    function ju_LinkedList() {
        var a = this; ju_AbstractSequentialList.call(a);
        a.$firstEntry = null;
        a.$lastEntry = null;
        a.$size2 = 0;
    }
    function ju_LinkedList__init_0() {
        var var_0 = new ju_LinkedList();
        ju_LinkedList__init_(var_0);
        return var_0;
    }
    function ju_LinkedList__init_($this) {}
    function ju_LinkedList_size($this) {
        return $this.$size2;
    }
    function ju_LinkedList_clear($this) {
        $this.$firstEntry = null;
        $this.$lastEntry = null;
        $this.$size2 = 0;
        $this.$modCount0 = $this.$modCount0 + 1 | 0;
    }
    function ju_LinkedList_listIterator($this, $index) {
        var $prev, var$3, $next, $i;
        if ($index < 0) {
            $prev = new jl_IndexOutOfBoundsException;
            jl_Throwable__init_0($prev);
            $rt_throw($prev);
        }
        var$3 = $this.$size2;
        if ($index <= (var$3 / 2 | 0)) {
            $next = $this.$firstEntry;
            $i = 0;
            while ($i < $index) {
                $next = $next.$next2;
                $i = $i + 1 | 0;
            }
            return ju_LinkedList$SequentialListIterator__init_($this, $next, $next === null ? null : $next.$previous, $index);
        }
        if ($index > var$3) {
            $prev = new jl_IndexOutOfBoundsException;
            jl_Throwable__init_0($prev);
            $rt_throw($prev);
        }
        $prev = $this.$lastEntry;
        $i = $index;
        while ($i < var$3) {
            $prev = $prev.$previous;
            $i = $i + 1 | 0;
        }
        return ju_LinkedList$SequentialListIterator__init_($this, $prev === null ? null : $prev.$next2, $prev, $index);
    }
    var ju_Objects = $rt_classWithoutFields();
    function ju_Objects__init_0() {
        var var_0 = new ju_Objects();
        ju_Objects__init_(var_0);
        return var_0;
    }
    function ju_Objects__init_($this) {}
    function ju_Objects_equals($a, $b) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$b = $thread.pop();$a = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($a === $b)
                return 1;
            if ($a === null)
                return $b !== null ? 0 : 1;
            $ptr = 1;
        case 1:
            $tmp = $a.$equals($b);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($a, $b, var$3, $ptr);
    }
    function ju_Objects_hashCode($o) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$o = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($o === null)
                return 0;
            $ptr = 1;
        case 1:
            $tmp = $o.$hashCode0();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($o, var$2, $ptr);
    }
    function ju_Objects_requireNonNull($obj) {
        if ($obj !== null)
            return $obj;
        $obj = new jl_NullPointerException;
        jl_Throwable__init_($obj, $rt_s(3));
        $rt_throw($obj);
    }
    function nleit_ClientMain$showCrashScreen$lambda$_9_0() {
        jl_Object.call(this);
        this.$_09 = null;
    }
    function nleit_ClientMain$showCrashScreen$lambda$_9_0__init_(var_0) {
        var var_1 = new nleit_ClientMain$showCrashScreen$lambda$_9_0();
        nleit_ClientMain$showCrashScreen$lambda$_9_0__init_0(var_1, var_0);
        return var_1;
    }
    function nleit_ClientMain$showCrashScreen$lambda$_9_0__init_0(var$0, var$1) {
        var$0.$_09 = var$1;
    }
    function oall_Logger() {
        jl_Object.call(this);
        this.$loggerName = null;
    }
    var oall_Logger_fmt = null;
    var oall_Logger_dateInstance = null;
    var oall_Logger_$clinitCalled = false;
    function oall_Logger_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (oall_Logger_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            oall_Logger_$clinitCalled = true;
            $ptr = 1;
        case 1:
            oall_Logger__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            oall_Logger_$callClinit = $rt_eraseClinit(oall_Logger);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function oall_Logger__init_0(var_0) {
        var var_1 = new oall_Logger();
        oall_Logger__init_(var_1, var_0);
        return var_1;
    }
    function oall_Logger__init_($this, $name) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$name = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            oall_Logger_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$loggerName = $name;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $name, $ptr);
    }
    function oall_Logger_info($this, $msg) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$msg = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            oall_Level_$callClinit();
            var$2 = oall_Level_INFO;
            $ptr = 1;
        case 1:
            oall_Logger_log($this, var$2, $msg);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $msg, var$2, $ptr);
    }
    function oall_Logger_info0($this, $msg, $args) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$args = $thread.pop();$msg = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            oall_Level_$callClinit();
            var$3 = oall_Level_INFO;
            $ptr = 1;
        case 1:
            oall_Logger_log0($this, var$3, $msg, $args);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $msg, $args, var$3, $ptr);
    }
    function oall_Logger_warn($this, $msg) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$msg = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            oall_Level_$callClinit();
            var$2 = oall_Level_WARN;
            $ptr = 1;
        case 1:
            oall_Logger_log($this, var$2, $msg);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $msg, var$2, $ptr);
    }
    function oall_Logger_warn0($this, $msg, $args) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$args = $thread.pop();$msg = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            oall_Level_$callClinit();
            var$3 = oall_Level_WARN;
            $ptr = 1;
        case 1:
            oall_Logger_log0($this, var$3, $msg, $args);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $msg, $args, var$3, $ptr);
    }
    function oall_Logger_error0($this, $msg) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$msg = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            oall_Level_$callClinit();
            var$2 = oall_Level_ERROR;
            $ptr = 1;
        case 1:
            oall_Logger_log($this, var$2, $msg);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $msg, var$2, $ptr);
    }
    function oall_Logger_error($this, $msg, $args) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$args = $thread.pop();$msg = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            oall_Level_$callClinit();
            var$3 = oall_Level_ERROR;
            $ptr = 1;
        case 1:
            oall_Logger_log0($this, var$3, $msg, $args);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $msg, $args, var$3, $ptr);
    }
    function oall_Logger_error1($this, $msg) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$msg = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            oall_Level_$callClinit();
            var$2 = oall_Level_ERROR;
            var$3 = $rt_s(363);
            $ptr = 1;
        case 1:
            oall_Logger_logExcp($this, var$2, var$3, $msg);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $msg, var$2, var$3, $ptr);
    }
    function oall_Logger_log($this, $level, $msg) {
        var var$3, var$4, $line, var$6, var$7, var$8, var$9, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$line = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$msg = $thread.pop();$level = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $level.$levelInt;
            oall_LogManager_$callClinit();
            if (var$3 < oall_LogManager_logLevel.$levelInt)
                return;
            var$4 = oall_LogManager_logLock;
            $ptr = 1;
        case 1:
            jl_Object_monitorEnter(var$4);
            if ($rt_suspending()) {
                break main;
            }
            try {
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$4);
            $rt_throw($level);
        case 2:
            try {
                oall_Logger_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                ju_Date_setTime(oall_Logger_dateInstance, jl_System_currentTimeMillis());
                $line = oall_Logger_fmt;
                var$6 = oall_Logger_dateInstance;
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$4);
            $rt_throw($level);
        case 3:
            try {
                $tmp = jt_DateFormat_format($line, var$6);
                if ($rt_suspending()) {
                    break main;
                }
                $line = $tmp;
                var$6 = $level.$levelName;
                var$7 = $this.$loggerName;
                var$8 = jl_StringBuilder__init_0();
                var$9 = jl_StringBuilder_append5(var$8, 91);
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$4);
            $rt_throw($level);
        case 4:
            try {
                $tmp = jl_StringBuilder_append(var$9, $line);
                if ($rt_suspending()) {
                    break main;
                }
                $line = $tmp;
                var$9 = $rt_s(364);
                $ptr = 5;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$4);
            $rt_throw($level);
        case 5:
            try {
                $tmp = jl_StringBuilder_append($line, var$9);
                if ($rt_suspending()) {
                    break main;
                }
                $line = $tmp;
                $ptr = 6;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$4);
            $rt_throw($level);
        case 6:
            try {
                $tmp = jl_StringBuilder_append($line, var$6);
                if ($rt_suspending()) {
                    break main;
                }
                $line = $tmp;
                var$6 = $rt_s(365);
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$4);
            $rt_throw($level);
        case 7:
            try {
                $tmp = jl_StringBuilder_append($line, var$6);
                if ($rt_suspending()) {
                    break main;
                }
                $line = $tmp;
                $ptr = 8;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$4);
            $rt_throw($level);
        case 8:
            try {
                $tmp = jl_StringBuilder_append($line, var$7);
                if ($rt_suspending()) {
                    break main;
                }
                $line = $tmp;
                var$6 = $rt_s(366);
                $ptr = 9;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$4);
            $rt_throw($level);
        case 9:
            try {
                $tmp = jl_StringBuilder_append($line, var$6);
                if ($rt_suspending()) {
                    break main;
                }
                $line = $tmp;
                $ptr = 10;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$4);
            $rt_throw($level);
        case 10:
            try {
                jl_StringBuilder_append($line, $msg);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 11;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$4);
            $rt_throw($level);
        case 11:
            try {
                $tmp = jl_StringBuilder_toString(var$8);
                if ($rt_suspending()) {
                    break main;
                }
                $line = $tmp;
                $msg = oall_Level_getPrintStream($level);
                $ptr = 12;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$4);
            $rt_throw($level);
        case 12:
            a: {
                b: {
                    try {
                        ji_PrintStream_println0($msg, $line);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $msg = oall_LogManager_logRedirector;
                        if ($msg !== null)
                            break b;
                        jl_Object_monitorExit(var$4);
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        $level = $$je;
                        break a;

                    }
                    return;
                }
                try {
                    var$3 = $level.$isErr;
                    $ptr = 13;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $level = $$je;

                }
            }
            jl_Object_monitorExit(var$4);
            $rt_throw($level);
        case 13:
            a: {
                try {
                    nleit_ClientMain$2_log($msg, $line, var$3);
                    if ($rt_suspending()) {
                        break main;
                    }
                    jl_Object_monitorExit(var$4);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $level = $$je;
                    break a;

                }
                return;
            }
            jl_Object_monitorExit(var$4);
            $rt_throw($level);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $level, $msg, var$3, var$4, $line, var$6, var$7, var$8, var$9, $ptr);
    }
    function oall_Logger_log0($this, $level, $msg, $args) {
        var var$4, var$5, $line, var$7, var$8, var$9, var$10, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$line = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$args = $thread.pop();$msg = $thread.pop();$level = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $level.$levelInt;
            oall_LogManager_$callClinit();
            if (var$4 < oall_LogManager_logLevel.$levelInt)
                return;
            var$5 = oall_LogManager_logLock;
            $ptr = 1;
        case 1:
            jl_Object_monitorEnter(var$5);
            if ($rt_suspending()) {
                break main;
            }
            try {
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$5);
            $rt_throw($level);
        case 2:
            try {
                oall_Logger_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                ju_Date_setTime(oall_Logger_dateInstance, jl_System_currentTimeMillis());
                $line = oall_Logger_fmt;
                var$7 = oall_Logger_dateInstance;
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$5);
            $rt_throw($level);
        case 3:
            try {
                $tmp = jt_DateFormat_format($line, var$7);
                if ($rt_suspending()) {
                    break main;
                }
                var$8 = $tmp;
                $line = $level.$levelName;
                var$7 = $this.$loggerName;
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$5);
            $rt_throw($level);
        case 4:
            try {
                $tmp = oall_Logger_formatParams($msg, $args);
                if ($rt_suspending()) {
                    break main;
                }
                $msg = $tmp;
                var$9 = jl_StringBuilder__init_0();
                var$10 = jl_StringBuilder_append5(var$9, 91);
                $ptr = 5;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$5);
            $rt_throw($level);
        case 5:
            try {
                $tmp = jl_StringBuilder_append(var$10, var$8);
                if ($rt_suspending()) {
                    break main;
                }
                var$10 = $tmp;
                var$8 = $rt_s(364);
                $ptr = 6;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$5);
            $rt_throw($level);
        case 6:
            try {
                $tmp = jl_StringBuilder_append(var$10, var$8);
                if ($rt_suspending()) {
                    break main;
                }
                var$10 = $tmp;
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$5);
            $rt_throw($level);
        case 7:
            try {
                $tmp = jl_StringBuilder_append(var$10, $line);
                if ($rt_suspending()) {
                    break main;
                }
                $line = $tmp;
                var$10 = $rt_s(365);
                $ptr = 8;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$5);
            $rt_throw($level);
        case 8:
            try {
                $tmp = jl_StringBuilder_append($line, var$10);
                if ($rt_suspending()) {
                    break main;
                }
                $line = $tmp;
                $ptr = 9;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$5);
            $rt_throw($level);
        case 9:
            try {
                $tmp = jl_StringBuilder_append($line, var$7);
                if ($rt_suspending()) {
                    break main;
                }
                $line = $tmp;
                var$7 = $rt_s(366);
                $ptr = 10;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$5);
            $rt_throw($level);
        case 10:
            try {
                $tmp = jl_StringBuilder_append($line, var$7);
                if ($rt_suspending()) {
                    break main;
                }
                $line = $tmp;
                $ptr = 11;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$5);
            $rt_throw($level);
        case 11:
            try {
                jl_StringBuilder_append($line, $msg);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 12;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$5);
            $rt_throw($level);
        case 12:
            try {
                $tmp = jl_StringBuilder_toString(var$9);
                if ($rt_suspending()) {
                    break main;
                }
                $line = $tmp;
                $msg = oall_Level_getPrintStream($level);
                $ptr = 13;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $level = $$je;

            }
            jl_Object_monitorExit(var$5);
            $rt_throw($level);
        case 13:
            a: {
                b: {
                    try {
                        ji_PrintStream_println0($msg, $line);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $msg = oall_LogManager_logRedirector;
                        if ($msg !== null)
                            break b;
                        jl_Object_monitorExit(var$5);
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        $level = $$je;
                        break a;

                    }
                    return;
                }
                try {
                    var$4 = $level.$isErr;
                    $ptr = 14;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $level = $$je;

                }
            }
            jl_Object_monitorExit(var$5);
            $rt_throw($level);
        case 14:
            a: {
                try {
                    nleit_ClientMain$2_log($msg, $line, var$4);
                    if ($rt_suspending()) {
                        break main;
                    }
                    jl_Object_monitorExit(var$5);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $level = $$je;
                    break a;

                }
                return;
            }
            jl_Object_monitorExit(var$5);
            $rt_throw($level);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $level, $msg, $args, var$4, var$5, $line, var$7, var$8, var$9, var$10, $ptr);
    }
    function oall_Logger_formatParams($msg, $args) {
        var var$3, $builtString, $i, $idx, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$idx = $thread.pop();$i = $thread.pop();$builtString = $thread.pop();var$3 = $thread.pop();$args = $thread.pop();$msg = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            oall_Logger_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $args = $args.data;
            var$3 = $args.length;
            if (var$3 <= 0)
                return $msg;
            $builtString = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($builtString);
            $i = 0;
            if ($i < var$3) {
                $idx = jl_String_indexOf2($msg, $rt_s(367));
                if ($idx != (-1)) {
                    jl_AbstractStringBuilder_append2($builtString, jl_String_substring0($msg, 0, $idx));
                    var$7 = $args[$i];
                    $ptr = 3;
                    continue main;
                }
            }
            jl_AbstractStringBuilder_append2($builtString, $msg);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString($builtString);
            if ($rt_suspending()) {
                break main;
            }
            $msg = $tmp;
            return $msg;
        case 3:
            jl_StringBuilder_append($builtString, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $msg = jl_String_substring($msg, $idx + 2 | 0);
            $i = $i + 1 | 0;
            if ($i < var$3) {
                $idx = jl_String_indexOf2($msg, $rt_s(367));
                if ($idx != (-1)) {
                    jl_AbstractStringBuilder_append2($builtString, jl_String_substring0($msg, 0, $idx));
                    var$7 = $args[$i];
                    continue main;
                }
            }
            jl_AbstractStringBuilder_append2($builtString, $msg);
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($msg, $args, var$3, $builtString, $i, $idx, var$7, $ptr);
    }
    function oall_Logger_logExcp($this, $level, $h, $msg) {
        var $cause, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$cause = $thread.pop();$msg = $thread.pop();$h = $thread.pop();$level = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $cause = $rt_s(368);
            var$5 = $rt_createArray(jl_Object, 2);
            var$6 = var$5.data;
            var$6[0] = $h;
            var$7 = 1;
            $ptr = 1;
        case 1:
            $tmp = jl_Throwable_toString($msg);
            if ($rt_suspending()) {
                break main;
            }
            $h = $tmp;
            var$6[var$7] = $h;
            $ptr = 2;
        case 2:
            oall_Logger_log0($this, $level, $cause, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $cause = jl_Throwable_getCause($msg);
            if ($cause === null)
                return;
            $h = $rt_s(369);
            $ptr = 3;
        case 3:
            oall_Logger_logExcp($this, $level, $h, $cause);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $level, $h, $msg, $cause, var$5, var$6, var$7, $ptr);
    }
    function oall_Logger__clinit_() {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new jt_SimpleDateFormat;
            var$2 = $rt_s(370);
            $ptr = 1;
        case 1:
            jt_SimpleDateFormat__init_0(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            oall_Logger_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = ju_Calendar_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$1.$calendar = var$2;
            oall_Logger_fmt = var$1;
            oall_Logger_dateInstance = ju_Date__init_0();
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    var nleit_DebugConsoleWindow = $rt_classWithoutFields();
    var nleit_DebugConsoleWindow_messageBuffer = null;
    var nleit_DebugConsoleWindow_parent = null;
    var nleit_DebugConsoleWindow_logger = null;
    var nleit_DebugConsoleWindow_loggerDoc = null;
    var nleit_DebugConsoleWindow_loggerBody = null;
    var nleit_DebugConsoleWindow_loggerMessageContainer = null;
    var nleit_DebugConsoleWindow_unload = null;
    var nleit_DebugConsoleWindow_unloadName = null;
    function nleit_DebugConsoleWindow__init_0() {
        var var_0 = new nleit_DebugConsoleWindow();
        nleit_DebugConsoleWindow__init_(var_0);
        return var_0;
    }
    function nleit_DebugConsoleWindow__init_($this) {}
    function nleit_DebugConsoleWindow_initialize($parentWindow) {
        nleit_DebugConsoleWindow_parent = $parentWindow;
    }
    function nleit_DebugConsoleWindow__clinit_() {
        nleit_DebugConsoleWindow_messageBuffer = new ju_LinkedList;
        nleit_DebugConsoleWindow_parent = null;
        nleit_DebugConsoleWindow_logger = null;
        nleit_DebugConsoleWindow_loggerDoc = null;
        nleit_DebugConsoleWindow_loggerBody = null;
        nleit_DebugConsoleWindow_loggerMessageContainer = null;
        nleit_DebugConsoleWindow_unload = null;
        nleit_DebugConsoleWindow_unloadName = null;
    }
    function nleit_DebugConsoleWindow_isScrollToEnd$js_body$_11(var$1, var$2) {
        return var$1.innerHeight + var$1.pageYOffset >= var$2.body.offsetHeight;
    }
    function nleit_DebugConsoleWindow_scrollToEnd0$js_body$_12(var$1, var$2) {
        $rt_globals.setTimeout(function() {
            var$1.scrollTo(0, var$2.body.scrollHeight || var$2.body.clientHeight);
        }, 1);
    }
    function nleit_ES6ShimStatus() {
        var a = this; jl_Object.call(a);
        a.$impl = null;
        a.$status = null;
        a.$shims = null;
    }
    var nleit_ES6ShimStatus_logger = null;
    var nleit_ES6ShimStatus_instance = null;
    var nleit_ES6ShimStatus_$clinitCalled = false;
    function nleit_ES6ShimStatus_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nleit_ES6ShimStatus_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_ES6ShimStatus_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nleit_ES6ShimStatus__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nleit_ES6ShimStatus_$callClinit = $rt_eraseClinit(nleit_ES6ShimStatus);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nleit_ES6ShimStatus__init_(var_0) {
        var var_1 = new nleit_ES6ShimStatus();
        nleit_ES6ShimStatus__init_0(var_1, var_0);
        return var_1;
    }
    function nleit_ES6ShimStatus_getRuntimeStatus() {
        var var$1, $jsImpl, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$jsImpl = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_ES6ShimStatus_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleit_ES6ShimStatus_instance !== null) {
                $ptr = 2;
                continue main;
            }
            var$1 = new nleit_ES6ShimStatus;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = typeof $rt_globals.__eaglercraftXES6ShimStatus === "object" ? $rt_globals.__eaglercraftXES6ShimStatus : null;
            if ($rt_suspending()) {
                break main;
            }
            $jsImpl = $tmp;
            if (nleit_ES6ShimStatus_instance.$impl === $jsImpl)
                return nleit_ES6ShimStatus_instance;
            var$1 = new nleit_ES6ShimStatus;
            $ptr = 5;
            continue main;
        case 3:
            $tmp = typeof $rt_globals.__eaglercraftXES6ShimStatus === "object" ? $rt_globals.__eaglercraftXES6ShimStatus : null;
            if ($rt_suspending()) {
                break main;
            }
            $jsImpl = $tmp;
            $ptr = 4;
        case 4:
            nleit_ES6ShimStatus__init_0(var$1, $jsImpl);
            if ($rt_suspending()) {
                break main;
            }
            nleit_ES6ShimStatus_instance = var$1;
            return var$1;
        case 5:
            nleit_ES6ShimStatus__init_0(var$1, $jsImpl);
            if ($rt_suspending()) {
                break main;
            }
            nleit_ES6ShimStatus_instance = var$1;
            return nleit_ES6ShimStatus_instance;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $jsImpl, $ptr);
    }
    function nleit_ES6ShimStatus__init_0($this, $impl) {
        var var$2, var$3, var$4, $i, $l, $id, $theShim, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$theShim = $thread.pop();$id = $thread.pop();$l = $thread.pop();$i = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$impl = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_ES6ShimStatus_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$impl = $impl;
            if ($impl !== null && (!!$impl ? 1 : 0)) {
                a: {
                    var$2 = $impl.getShimInitStatus();
                    nleit_EnumES6ShimStatus_$callClinit();
                    var$2 = var$2 + 1 | 0;
                    if (var$2 >= 0) {
                        var$3 = nleit_EnumES6ShimStatus_lookup.data;
                        if (var$2 < var$3.length) {
                            var$4 = var$3[var$2];
                            break a;
                        }
                    }
                    var$4 = null;
                }
                $this.$status = var$4;
                $this.$shims = ju_EnumSet_noneOf($rt_cls(nleit_EnumES6Shims));
                $i = 0;
                $l = $impl.getEnabledShimCount();
                while ($i < $l) {
                    b: {
                        $id = $impl.getEnabledShimID($i);
                        nleit_EnumES6Shims_$callClinit();
                        if ($id >= 0) {
                            var$3 = nleit_EnumES6Shims_lookup.data;
                            if ($id < var$3.length) {
                                $theShim = var$3[$id];
                                break b;
                            }
                        }
                        $theShim = null;
                    }
                    if ($theShim === null) {
                        $theShim = nleit_ES6ShimStatus_logger;
                        var$9 = $rt_s(371);
                        var$10 = $rt_createArray(jl_Object, 1);
                        var$10.data[0] = jl_Integer_valueOf($id);
                        $ptr = 2;
                        continue main;
                    }
                    var$4 = $this.$shims;
                    var$11 = $theShim.$ordinal0;
                    $id = var$11 / 32 | 0;
                    var$2 = 1 << (var$11 % 32 | 0);
                    var$3 = var$4.$bits.data;
                    if (!(var$3[$id] & var$2))
                        var$3[$id] = var$3[$id] | var$2;
                    $i = $i + 1 | 0;
                }
            } else {
                nleit_EnumES6ShimStatus_$callClinit();
                $this.$status = nleit_EnumES6ShimStatus_STATUS_NOT_PRESENT;
                $this.$shims = ju_EnumSet_noneOf($rt_cls(nleit_EnumES6Shims));
            }
            return;
        case 2:
            oall_Logger_warn0($theShim, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $i = $i + 1 | 0;
                if ($i >= $l)
                    break;
                c: {
                    $id = $impl.getEnabledShimID($i);
                    nleit_EnumES6Shims_$callClinit();
                    if ($id >= 0) {
                        var$3 = nleit_EnumES6Shims_lookup.data;
                        if ($id < var$3.length) {
                            $theShim = var$3[$id];
                            break c;
                        }
                    }
                    $theShim = null;
                }
                if ($theShim === null) {
                    $theShim = nleit_ES6ShimStatus_logger;
                    var$9 = $rt_s(371);
                    var$10 = $rt_createArray(jl_Object, 1);
                    var$10.data[0] = jl_Integer_valueOf($id);
                    continue main;
                }
                var$4 = $this.$shims;
                var$11 = $theShim.$ordinal0;
                $id = var$11 / 32 | 0;
                var$2 = 1 << (var$11 % 32 | 0);
                var$3 = var$4.$bits.data;
                if (!(var$3[$id] & var$2))
                    var$3[$id] = var$3[$id] | var$2;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $impl, var$2, var$3, var$4, $i, $l, $id, $theShim, var$9, var$10, var$11, $ptr);
    }
    function nleit_ES6ShimStatus_getStatus($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$status;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_ES6ShimStatus_getShims($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$shims;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_ES6ShimStatus__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(372);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleit_ES6ShimStatus_logger = var$1;
            nleit_ES6ShimStatus_instance = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    var nleit_TeaVMBlobURLManager = $rt_classWithoutFields();
    var nleit_TeaVMBlobURLManager_logger = null;
    var nleit_TeaVMBlobURLManager_isSameOriginSupport = 0;
    var nleit_TeaVMBlobURLManager_$clinitCalled = false;
    function nleit_TeaVMBlobURLManager_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nleit_TeaVMBlobURLManager_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_TeaVMBlobURLManager_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nleit_TeaVMBlobURLManager__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nleit_TeaVMBlobURLManager_$callClinit = $rt_eraseClinit(nleit_TeaVMBlobURLManager);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nleit_TeaVMBlobURLManager__init_0() {
        var var_0 = new nleit_TeaVMBlobURLManager();
        nleit_TeaVMBlobURLManager__init_(var_0);
        return var_0;
    }
    function nleit_TeaVMBlobURLManager__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_TeaVMBlobURLManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_TeaVMBlobURLManager_initialize() {
        var var$1, var$2, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_TeaVMBlobURLManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_getClientConfigAdapter();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1.$disableBlobURLs) {
                nleit_TeaVMBlobURLManager_isSameOriginSupport = 0;
                var$1 = nleit_TeaVMBlobURLManager_logger;
                var$2 = $rt_s(373);
                $ptr = 4;
                continue main;
            }
            try {
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            nleit_TeaVMBlobURLManager_isSameOriginSupport = 0;
            if (nleit_TeaVMBlobURLManager_isSameOriginSupport)
                return;
            var$2 = nleit_TeaVMBlobURLManager_logger;
            var$1 = $rt_s(374);
            $ptr = 5;
            continue main;
        case 3:
            a: {
                try {
                    $tmp = nleit_TeaVMBlobURLManager_checkSameOriginSupport();
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$1 = $tmp;
                    nleit_TeaVMBlobURLManager_isSameOriginSupport = jl_Boolean_booleanValue(var$1);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                nleit_TeaVMBlobURLManager_isSameOriginSupport = 0;
            }
            if (nleit_TeaVMBlobURLManager_isSameOriginSupport)
                return;
            var$2 = nleit_TeaVMBlobURLManager_logger;
            var$1 = $rt_s(374);
            $ptr = 5;
            continue main;
        case 4:
            oall_Logger_info(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            oall_Logger_warn(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nleit_TeaVMBlobURLManager_checkSameOriginSupport() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_TeaVMBlobURLManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nleit_TeaVMBlobURLManager_checkSameOriginSupport$_asyncCall_$();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nleit_TeaVMBlobURLManager_checkSameOriginSupport0($cb) {
        var $t, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$t = $thread.pop();$cb = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_TeaVMBlobURLManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            try {
                $t = otji_JS_function(nleit_TeaVMBlobURLManager$checkSameOriginSupport$lambda$_3_0__init_($cb), "call");
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $t = $$je;
                } else {
                    throw $$e;
                }
            }
            otpp_AsyncCallbackWrapper_error($cb, $t);
            return;
        case 2:
            a: {
                try {
                    nleit_TeaVMBlobURLManager_checkSameOriginSupport0$js_body$_4($t);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $t = $$je;
                    } else {
                        throw $$e;
                    }
                }
                otpp_AsyncCallbackWrapper_error($cb, $t);
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($cb, $t, $ptr);
    }
    function nleit_TeaVMBlobURLManager_releaseURL($handle) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$handle = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_TeaVMBlobURLManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $handle.$release();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($handle, $ptr);
    }
    function nleit_TeaVMBlobURLManager__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(375);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleit_TeaVMBlobURLManager_logger = var$1;
            nleit_TeaVMBlobURLManager_isSameOriginSupport = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nleit_TeaVMBlobURLManager_checkSameOriginSupport$_asyncCall_$() {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nleit_TeaVMBlobURLManager_checkSameOriginSupport0(callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nleit_TeaVMBlobURLManager_checkSameOriginSupport0$js_body$_4(var$1) {
        if (typeof $rt_globals.URL === "undefined" || typeof $rt_globals.URL.createObjectURL !== "function") {
            var$1(false);
        } else {
            var objURL = $rt_globals.URL.createObjectURL(new $rt_globals.Blob([new $rt_globals.Uint8Array([69, 69, 69, 69])]));
            if (!objURL) {
                var$1(false);
                return;
            }
            var eag = function(theObjURL, theXHRObj) {
                theXHRObj.responseType = "arraybuffer";
                theXHRObj.addEventListener("load", function(evt) {
                    try {
                        $rt_globals.URL.revokeObjectURL(theObjURL);
                    } catch (exx){
                    }
                    var stat = theXHRObj.status;
                    if (stat === 0 || stat >= 200 && stat < 400) {
                        var typedArr = new $rt_globals.Uint8Array(theXHRObj.response);
                        if (typedArr.length === 4 && typedArr[0] === 69 && typedArr[1] === 69 && typedArr[2] === 69 && typedArr[3] === 69) {
                            var$1(true);
                        } else {
                            var$1(false);
                        }
                    } else {
                        var$1(false);
                    }
                });
                theXHRObj.addEventListener("error", function(evt) {
                    try {
                        $rt_globals.URL.revokeObjectURL(theObjURL);
                    } catch (exx){
                    }
                    var$1(false);
                });
                theXHRObj.open("GET", theObjURL, true);
                theXHRObj.send();
            };
            eag(objURL, new $rt_globals.XMLHttpRequest());
        }
    }
    function nleit_TeaVMBlobURLManager_createBlobURL$js_body$_12(var$1, var$2) {
        return $rt_globals.URL.createObjectURL(new $rt_globals.Blob([var$1], { type : var$2 }));
    }
    var nlei_PlatformRuntime$8 = $rt_classWithoutFields();
    var nlei_PlatformRuntime$8_$SwitchMap$net$lax1dude$eaglercraft$internal$teavm$EnumES6ShimStatus = null;
    function nlei_PlatformRuntime$8_$callClinit() {
        nlei_PlatformRuntime$8_$callClinit = $rt_eraseClinit(nlei_PlatformRuntime$8);
        nlei_PlatformRuntime$8__clinit_();
    }
    function nlei_PlatformRuntime$8__clinit_() {
        var var$1, var$2;
        var$1 = $rt_createIntArray((nleit_EnumES6ShimStatus_values()).data.length);
        var$2 = var$1.data;
        nlei_PlatformRuntime$8_$SwitchMap$net$lax1dude$eaglercraft$internal$teavm$EnumES6ShimStatus = var$1;
        var$2[nleit_EnumES6ShimStatus_STATUS_ERROR.$ordinal0] = 1;
        var$2[nleit_EnumES6ShimStatus_STATUS_DISABLED_ERRORS.$ordinal0] = 2;
        var$2[nleit_EnumES6ShimStatus_STATUS_ENABLED_ERRORS.$ordinal0] = 3;
        var$2[nleit_EnumES6ShimStatus_STATUS_DISABLED.$ordinal0] = 4;
        var$2[nleit_EnumES6ShimStatus_STATUS_NOT_PRESENT.$ordinal0] = 5;
        var$2[nleit_EnumES6ShimStatus_STATUS_ENABLED.$ordinal0] = 6;
    }
    function nleit_EnumES6ShimStatus() {
        var a = this; jl_Enum.call(a);
        a.$statusId = 0;
        a.$statusDesc = null;
    }
    var nleit_EnumES6ShimStatus_STATUS_NOT_PRESENT = null;
    var nleit_EnumES6ShimStatus_STATUS_ERROR = null;
    var nleit_EnumES6ShimStatus_STATUS_DISABLED = null;
    var nleit_EnumES6ShimStatus_STATUS_ENABLED = null;
    var nleit_EnumES6ShimStatus_STATUS_DISABLED_ERRORS = null;
    var nleit_EnumES6ShimStatus_STATUS_ENABLED_ERRORS = null;
    var nleit_EnumES6ShimStatus_lookup = null;
    var nleit_EnumES6ShimStatus_$VALUES = null;
    function nleit_EnumES6ShimStatus_$callClinit() {
        nleit_EnumES6ShimStatus_$callClinit = $rt_eraseClinit(nleit_EnumES6ShimStatus);
        nleit_EnumES6ShimStatus__clinit_();
    }
    function nleit_EnumES6ShimStatus__init_(var_0, var_1, var_2, var_3) {
        var var_4 = new nleit_EnumES6ShimStatus();
        nleit_EnumES6ShimStatus__init_0(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nleit_EnumES6ShimStatus_values() {
        nleit_EnumES6ShimStatus_$callClinit();
        return nleit_EnumES6ShimStatus_$VALUES.$clone();
    }
    function nleit_EnumES6ShimStatus__init_0($this, var$1, var$2, $statusId, $statusDesc) {
        nleit_EnumES6ShimStatus_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
        $this.$statusId = $statusId;
        $this.$statusDesc = $statusDesc;
    }
    function nleit_EnumES6ShimStatus__clinit_() {
        var var$1, $_values, $i, var$4;
        nleit_EnumES6ShimStatus_STATUS_NOT_PRESENT = nleit_EnumES6ShimStatus__init_($rt_s(376), 0, (-2147483648), $rt_s(377));
        nleit_EnumES6ShimStatus_STATUS_ERROR = nleit_EnumES6ShimStatus__init_($rt_s(378), 1, (-1), $rt_s(379));
        nleit_EnumES6ShimStatus_STATUS_DISABLED = nleit_EnumES6ShimStatus__init_($rt_s(380), 2, 0, $rt_s(381));
        nleit_EnumES6ShimStatus_STATUS_ENABLED = nleit_EnumES6ShimStatus__init_($rt_s(382), 3, 1, $rt_s(383));
        nleit_EnumES6ShimStatus_STATUS_DISABLED_ERRORS = nleit_EnumES6ShimStatus__init_($rt_s(384), 4, 2, $rt_s(385));
        var$1 = nleit_EnumES6ShimStatus__init_($rt_s(386), 5, 3, $rt_s(387));
        nleit_EnumES6ShimStatus_STATUS_ENABLED_ERRORS = var$1;
        nleit_EnumES6ShimStatus_$VALUES = $rt_createArrayFromData(nleit_EnumES6ShimStatus, [nleit_EnumES6ShimStatus_STATUS_NOT_PRESENT, nleit_EnumES6ShimStatus_STATUS_ERROR, nleit_EnumES6ShimStatus_STATUS_DISABLED, nleit_EnumES6ShimStatus_STATUS_ENABLED, nleit_EnumES6ShimStatus_STATUS_DISABLED_ERRORS, var$1]);
        nleit_EnumES6ShimStatus_lookup = $rt_createArray(nleit_EnumES6ShimStatus, 5);
        $_values = nleit_EnumES6ShimStatus_values();
        $i = 0;
        while (true) {
            var$4 = $_values.data;
            if ($i >= var$4.length)
                break;
            nleit_EnumES6ShimStatus_lookup.data[var$4[$i].$statusId + 1 | 0] = var$4[$i];
            $i = $i + 1 | 0;
        }
    }
    var nlei_RuntimeInitializationFailureException = $rt_classWithoutFields(jl_RuntimeException);
    function nlei_RuntimeInitializationFailureException__init_0(var_0, var_1) {
        var var_2 = new nlei_RuntimeInitializationFailureException();
        nlei_RuntimeInitializationFailureException__init_1(var_2, var_0, var_1);
        return var_2;
    }
    function nlei_RuntimeInitializationFailureException__init_2(var_0) {
        var var_1 = new nlei_RuntimeInitializationFailureException();
        nlei_RuntimeInitializationFailureException__init_(var_1, var_0);
        return var_1;
    }
    function nlei_RuntimeInitializationFailureException__init_1($this, $message, $cause) {
        jl_Throwable__init_4($this, $message, $cause);
    }
    function nlei_RuntimeInitializationFailureException__init_($this, $s) {
        jl_Throwable__init_($this, $s);
    }
    var nleit_TeaVMUtils = $rt_classWithoutFields();
    function nleit_TeaVMUtils__init_0() {
        var var_0 = new nleit_TeaVMUtils();
        nleit_TeaVMUtils__init_(var_0);
        return var_0;
    }
    function nleit_TeaVMUtils__init_($this) {}
    function nleit_TeaVMUtils_wrapByteArrayBuffer(var$1) {
        return var$1 ? $rt_createNumericArray($rt_bytecls(), new Int8Array(var$1)) : null;
    }
    function nleit_TeaVMUtils_wrapUnsignedByteArray(var$1) {
        return var$1 ? $rt_createNumericArray($rt_bytecls(), new Int8Array(var$1.buffer)) : null;
    }
    function nleit_TeaVMUtils_wrapIntArrayBuffer(var$1) {
        return var$1 ? $rt_createNumericArray($rt_intcls(), new Int32Array(var$1)) : null;
    }
    var ju_Set = $rt_classWithoutFields(0);
    var ju_AbstractSet = $rt_classWithoutFields(ju_AbstractCollection);
    function ju_AbstractSet_removeAll($this, $c) {
        var $modified, $iter, var$4, $elem, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$elem = $thread.pop();var$4 = $thread.pop();$iter = $thread.pop();$modified = $thread.pop();$c = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $modified = 0;
            if (ju_HashSet_size($this) >= $c.$size()) {
                $ptr = 1;
                continue main;
            }
            $ptr = 2;
            continue main;
        case 1:
            $tmp = $c.$iterator();
            if ($rt_suspending()) {
                break main;
            }
            $iter = $tmp;
            if (!$iter.$hasNext())
                return $modified;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = ju_HashSet_iterator($this);
            if ($rt_suspending()) {
                break main;
            }
            $iter = $tmp;
            if (!$iter.$hasNext())
                return $modified;
            $ptr = 5;
            continue main;
        case 3:
            $tmp = $iter.$next();
            if ($rt_suspending()) {
                break main;
            }
            $c = $tmp;
            $ptr = 4;
        case 4:
            $tmp = ju_HashSet_remove($this, $c);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4)
                $modified = 1;
            if (!$iter.$hasNext())
                return $modified;
            $ptr = 3;
            continue main;
        case 5:
            $tmp = $iter.$next();
            if ($rt_suspending()) {
                break main;
            }
            $elem = $tmp;
            $ptr = 6;
        case 6:
            $tmp = $c.$contains0($elem);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4) {
                $modified = 1;
                $ptr = 7;
                continue main;
            }
            if (!$iter.$hasNext())
                return $modified;
            $ptr = 5;
            continue main;
        case 7:
            $iter.$remove0();
            if ($rt_suspending()) {
                break main;
            }
            if (!$iter.$hasNext())
                return $modified;
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $c, $modified, $iter, var$4, $elem, $ptr);
    }
    function ju_AbstractSet_equals($this, $obj) {
        var $other, $iter, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$iter = $thread.pop();$other = $thread.pop();$obj = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this === $obj)
                return 1;
            if (!$rt_isInstance($obj, ju_Set))
                return 0;
            $other = $obj;
            if (ju_HashSet_size($this) != ju_HashSet_size($other))
                return 0;
            $ptr = 1;
        case 1:
            $tmp = ju_HashSet_iterator($other);
            if ($rt_suspending()) {
                break main;
            }
            $iter = $tmp;
            if (!$iter.$hasNext())
                return 1;
            $ptr = 2;
        case 2:
            $tmp = $iter.$next();
            if ($rt_suspending()) {
                break main;
            }
            $obj = $tmp;
            $ptr = 3;
        case 3:
            $tmp = ju_HashSet_contains($this, $obj);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (!var$4)
                return 0;
            if (!$iter.$hasNext())
                return 1;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $obj, $other, $iter, var$4, $ptr);
    }
    function ju_AbstractSet_hashCode($this) {
        var $result, $iter, $e, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$e = $thread.pop();$iter = $thread.pop();$result = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $result = 0;
            $ptr = 1;
        case 1:
            $tmp = ju_HashSet_iterator($this);
            if ($rt_suspending()) {
                break main;
            }
            $iter = $tmp;
            if (!$iter.$hasNext())
                return $result;
            $ptr = 2;
        case 2:
            $tmp = $iter.$next();
            if ($rt_suspending()) {
                break main;
            }
            $e = $tmp;
            if ($e !== null) {
                $ptr = 3;
                continue main;
            }
            if (!$iter.$hasNext())
                return $result;
            continue main;
        case 3:
            $tmp = $e.$hashCode0();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $result = $result + var$4 | 0;
            if (!$iter.$hasNext())
                return $result;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $result, $iter, $e, var$4, $ptr);
    }
    function ju_HashSet() {
        ju_AbstractSet.call(this);
        this.$backingMap = null;
    }
    function ju_HashSet__init_0() {
        var var_0 = new ju_HashSet();
        ju_HashSet__init_(var_0);
        return var_0;
    }
    function ju_HashSet__init_1(var_0) {
        var var_1 = new ju_HashSet();
        ju_HashSet__init_2(var_1, var_0);
        return var_1;
    }
    function ju_HashSet__init_($this) {
        ju_HashSet__init_2($this, ju_HashMap__init_0());
    }
    function ju_HashSet__init_2($this, $backingMap) {
        $this.$backingMap = $backingMap;
    }
    function ju_HashSet_add($this, $object) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$object = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$backingMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_putImpl(var$2, $object, $this);
            if ($rt_suspending()) {
                break main;
            }
            $object = $tmp;
            return $object !== null ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $object, var$2, $ptr);
    }
    function ju_HashSet_clear($this) {
        ju_HashMap_clear($this.$backingMap);
    }
    function ju_HashSet_contains($this, $object) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$object = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$backingMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_containsKey(var$2, $object);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $object, var$2, var$3, $ptr);
    }
    function ju_HashSet_iterator($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = ju_HashMap_keySet($this.$backingMap);
            $ptr = 1;
        case 1:
            $tmp = var$1.$iterator();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function ju_HashSet_remove($this, $object) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$object = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$backingMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_remove(var$2, $object);
            if ($rt_suspending()) {
                break main;
            }
            $object = $tmp;
            return $object === null ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $object, var$2, $ptr);
    }
    function ju_HashSet_size($this) {
        return $this.$backingMap.$elementCount;
    }
    var jl_Math = $rt_classWithoutFields();
    function jl_Math__init_0() {
        var var_0 = new jl_Math();
        jl_Math__init_(var_0);
        return var_0;
    }
    function jl_Math__init_($this) {}
    function jl_Math_sin(var$1) {
        return Math.sin(var$1);
    }
    function jl_Math_cos(var$1) {
        return Math.cos(var$1);
    }
    function jl_Math_atan(var$1) {
        return Math.atan(var$1);
    }
    function jl_Math_log(var$1) {
        return Math.log(var$1);
    }
    function jl_Math_sqrt(var$1) {
        return Math.sqrt(var$1);
    }
    function jl_Math_ceil(var$1) {
        return Math.ceil(var$1);
    }
    function jl_Math_floor(var$1) {
        return Math.floor(var$1);
    }
    function jl_Math_pow($x, $y) {
        return jl_Math_powImpl($x, $y);
    }
    function jl_Math_powImpl(var$1, var$2) {
        return Math.pow(var$1, var$2);
    }
    function jl_Math_rint($a) {
        return Long_toNumber(jl_Math_round($a));
    }
    function jl_Math_atan2(var$1, var$2) {
        return Math.atan2(var$1, var$2);
    }
    function jl_Math_round0($a) {
        return $a + jl_Math_sign($a) * 0.5 | 0;
    }
    function jl_Math_round($a) {
        return Long_fromNumber($a + jl_Math_sign0($a) * 0.5);
    }
    function jl_Math_random() {
        return jl_Math_randomImpl();
    }
    function jl_Math_randomImpl() {
        return Math.random();
    }
    function jl_Math_min($a, $b) {
        if ($a < $b)
            $b = $a;
        return $b;
    }
    function jl_Math_max($a, $b) {
        if ($a > $b)
            $b = $a;
        return $b;
    }
    function jl_Math_maxImpl(var$1, var$2) {
        return Math.max(var$1, var$2);
    }
    function jl_Math_max0($a, $b) {
        return jl_Math_maxImpl($a, $b);
    }
    function jl_Math_abs($n) {
        if ($n < 0)
            $n =  -$n | 0;
        return $n;
    }
    function jl_Math_absImpl(var$1) {
        return Math.abs(var$1);
    }
    function jl_Math_abs0($n) {
        return jl_Math_absImpl($n);
    }
    function jl_Math_absImpl0(var$1) {
        return Math.abs(var$1);
    }
    function jl_Math_abs1($n) {
        return jl_Math_absImpl0($n);
    }
    function jl_Math_sign0(var$1) {
        return Math.sign(var$1);
    }
    function jl_Math_sign(var$1) {
        return Math.sign(var$1);
    }
    var nleit_TeaVMFetchJS = $rt_classWithoutFields();
    function nleit_TeaVMFetchJS__init_0() {
        var var_0 = new nleit_TeaVMFetchJS();
        nleit_TeaVMFetchJS__init_(var_0);
        return var_0;
    }
    function nleit_TeaVMFetchJS__init_($this) {}
    function nleit_TeaVMFetchJS_doFetchDownload$js_body$_2(var$1, var$2, var$3) {
        ((($rt_globals.fetch(var$1, { cache : var$2, mode : "cors" })).then(function(res) {
            return res.arrayBuffer();
        })).then(function(arr) {
            var$3(arr);
        })).catch(function(err) {
            $rt_globals.console.error(err);
            var$3(null);
        });
    }
    function nleit_TeaVMFetchJS_doXHRDownload$js_body$_3(var$1, var$2) {
        var eag = function(xhrObj) {
            xhrObj.responseType = "arraybuffer";
            xhrObj.addEventListener("load", function(evt) {
                var stat = xhrObj.status;
                if (stat === 0 || stat >= 200 && stat < 400) {
                    var$2(xhrObj.response);
                } else {
                    var$2(null);
                }
            });
            xhrObj.addEventListener("error", function(evt) {
                var$2(null);
            });
            xhrObj.open("GET", var$1, true);
            xhrObj.send();
        };
        eag(new $rt_globals.XMLHttpRequest());
    }
    var nleit_TeaVMDataURLManager = $rt_classWithoutFields();
    function nleit_TeaVMDataURLManager__init_0() {
        var var_0 = new nleit_TeaVMDataURLManager();
        nleit_TeaVMDataURLManager__init_(var_0);
        return var_0;
    }
    function nleit_TeaVMDataURLManager__init_($this) {}
    function nleit_TeaVMDataURLManager_checkDataURLSupport0($fetchBased, $callback) {
        var $testData, var$4, $i, $cb, var$7, var$8, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$cb = $thread.pop();$i = $thread.pop();var$4 = $thread.pop();$testData = $thread.pop();$callback = $thread.pop();$fetchBased = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $testData = $rt_createByteArray(1024);
            var$4 = $testData.data;
            $i = 0;
            while ($i < 1024) {
                var$4[$i] = $i << 24 >> 24;
                $i = $i + 1 | 0;
            }
            $ptr = 1;
        case 1:
            $tmp = nle_Base64_encodeBase64String($testData);
            if ($rt_suspending()) {
                break main;
            }
            $cb = $tmp;
            var$7 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$7);
            var$8 = $rt_s(388);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 3;
        case 3:
            jl_StringBuilder_append(var$8, $cb);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $cb = new nleit_TeaVMDataURLManager$checkDataURLSupport0$lambda$_1_0;
            $cb.$_010 = $callback;
            $cb.$_15 = $testData;
            a: {
                try {
                    if (!$fetchBased)
                        nleit_TeaVMFetchJS_doXHRDownload$js_body$_3($rt_ustr(var$7), otji_JS_function($cb, "onFetch"));
                    else
                        nleit_TeaVMFetchJS_doFetchDownload$js_body$_2($rt_ustr(var$7), "force-cache", otji_JS_function($cb, "onFetch"));
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                otpp_AsyncCallbackWrapper_complete($callback, jl_Boolean_valueOf(0));
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($fetchBased, $callback, $testData, var$4, $i, $cb, var$7, var$8, $ptr);
    }
    function nleit_TeaVMDataURLManager_checkDataURLSupport00(var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nleit_TeaVMDataURLManager_checkDataURLSupport0$_asyncCall_$(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nleit_TeaVMDataURLManager_checkDataURLSupport($fetchBased) {
        var $b, var$3, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$b = $thread.pop();$fetchBased = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $b = null;
            try {
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            var$3 = $b;
            return var$3 !== null && var$3.$value3 ? 1 : 0;
        case 1:
            a: {
                try {
                    $tmp = nleit_TeaVMDataURLManager_checkDataURLSupport00($fetchBased);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$3 = $tmp;
                    $b = var$3;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                var$3 = $b;
            }
            return var$3 !== null && var$3.$value3 ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($fetchBased, $b, var$3, $ptr);
    }
    function nleit_TeaVMDataURLManager_decodeDataURLFallback($dataURL) {
        var $i, $mime, $str, var$5, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$str = $thread.pop();$mime = $thread.pop();$i = $thread.pop();$dataURL = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (jl_String_length($dataURL) >= 6 && jl_String_equalsIgnoreCase(jl_String_substring0($dataURL, 0, 5), $rt_s(169))) {
                $i = jl_String_indexOf0($dataURL, 44);
                if ($i != (-1) && $i < (jl_String_length($dataURL) - 1 | 0)) {
                    $mime = jl_String_toLowerCase(jl_String_substring0($dataURL, 0, $i));
                    $str = jl_String_substring($dataURL, $i + 1 | 0);
                    try {
                        if (jl_String_endsWith($mime, $rt_s(389))) {
                            $ptr = 2;
                            continue main;
                        }
                        $mime = $rt_str($rt_globals.decodeURIComponent($rt_ustr($str)));
                        jnc_StandardCharsets_$callClinit();
                        $dataURL = jnc_StandardCharsets_UTF_8;
                        $ptr = 1;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                        } else {
                            throw $$e;
                        }
                    }
                    return null;
                }
                return null;
            }
            return null;
        case 1:
            a: {
                try {
                    $tmp = jl_String_getBytes0($mime, $dataURL);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$5 = $tmp;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return var$5;
            }
            return null;
        case 2:
            a: {
                try {
                    $tmp = nle_Base64_decodeBase64($str);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$5 = $tmp;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return var$5;
            }
            return null;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($dataURL, $i, $mime, $str, var$5, $ptr);
    }
    function nleit_TeaVMDataURLManager_checkDataURLSupport0$_asyncCall_$(var$1) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nleit_TeaVMDataURLManager_checkDataURLSupport0(var$1, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    var otjde_EventListener = $rt_classWithoutFields(0);
    var nlei_PlatformRuntime$2 = $rt_classWithoutFields();
    function nlei_PlatformRuntime$2__init_0() {
        var var_0 = new nlei_PlatformRuntime$2();
        nlei_PlatformRuntime$2__init_(var_0);
        return var_0;
    }
    function nlei_PlatformRuntime$2__init_($this) {}
    function nlei_PlatformRuntime$2_handleEvent$exported$0(var$0, var$1) {
        var var$2, var$3, var$4, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            try {
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 1:
            try {
                nlei_PlatformRuntime_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                var$2 = nlei_PlatformRuntime_logger;
                var$3 = $rt_s(390);
                var$4 = $rt_createArray(jl_Object, 1);
                var$4.data[0] = $rt_str(var$1.statusMessage);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 2:
            a: {
                try {
                    oall_Logger_error(var$2, var$3, var$4);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, $ptr);
    }
    var nlei_PlatformOpenGL = $rt_classWithoutFields();
    var nlei_PlatformOpenGL_logger = null;
    var nlei_PlatformOpenGL_ctx = null;
    var nlei_PlatformOpenGL_glesVers = 0;
    var nlei_PlatformOpenGL_hasANGLEInstancedArrays = 0;
    var nlei_PlatformOpenGL_hasEXTColorBufferFloat = 0;
    var nlei_PlatformOpenGL_hasEXTColorBufferHalfFloat = 0;
    var nlei_PlatformOpenGL_hasEXTShaderTextureLOD = 0;
    var nlei_PlatformOpenGL_hasOESFBORenderMipmap = 0;
    var nlei_PlatformOpenGL_hasOESVertexArrayObject = 0;
    var nlei_PlatformOpenGL_hasOESTextureFloat = 0;
    var nlei_PlatformOpenGL_hasOESTextureFloatLinear = 0;
    var nlei_PlatformOpenGL_hasOESTextureHalfFloat = 0;
    var nlei_PlatformOpenGL_hasOESTextureHalfFloatLinear = 0;
    var nlei_PlatformOpenGL_hasEXTTextureFilterAnisotropic = 0;
    var nlei_PlatformOpenGL_hasWEBGLDebugRendererInfo = 0;
    var nlei_PlatformOpenGL_ANGLEInstancedArrays = null;
    var nlei_PlatformOpenGL_OESVertexArrayObject = null;
    var nlei_PlatformOpenGL_hasFBO16FSupport = 0;
    var nlei_PlatformOpenGL_hasFBO32FSupport = 0;
    var nlei_PlatformOpenGL_hasLinearHDR16FSupport = 0;
    var nlei_PlatformOpenGL_hasLinearHDR32FSupport = 0;
    var nlei_PlatformOpenGL_vertexArrayImpl = 0;
    var nlei_PlatformOpenGL_instancingImpl = 0;
    var nlei_PlatformOpenGL_$clinitCalled = false;
    function nlei_PlatformOpenGL_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nlei_PlatformOpenGL_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nlei_PlatformOpenGL_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_$callClinit = $rt_eraseClinit(nlei_PlatformOpenGL);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nlei_PlatformOpenGL__init_0() {
        var var_0 = new nlei_PlatformOpenGL();
        nlei_PlatformOpenGL__init_(var_0);
        return var_0;
    }
    function nlei_PlatformOpenGL__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nlei_PlatformOpenGL_setCurrentContext($glesVersIn, $context) {
        var $allowExts, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$allowExts = $thread.pop();$context = $thread.pop();$glesVersIn = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx = $context;
            if ($context === null) {
                nlei_PlatformOpenGL_glesVers = (-1);
                nlei_PlatformOpenGL_hasANGLEInstancedArrays = 0;
                nlei_PlatformOpenGL_hasEXTColorBufferFloat = 0;
                nlei_PlatformOpenGL_hasEXTColorBufferHalfFloat = 0;
                nlei_PlatformOpenGL_hasEXTShaderTextureLOD = 0;
                nlei_PlatformOpenGL_hasOESFBORenderMipmap = 0;
                nlei_PlatformOpenGL_hasOESVertexArrayObject = 0;
                nlei_PlatformOpenGL_hasOESTextureFloat = 0;
                nlei_PlatformOpenGL_hasOESTextureFloatLinear = 0;
                nlei_PlatformOpenGL_hasOESTextureHalfFloat = 0;
                nlei_PlatformOpenGL_hasOESTextureHalfFloatLinear = 0;
                nlei_PlatformOpenGL_hasEXTTextureFilterAnisotropic = 0;
                nlei_PlatformOpenGL_hasWEBGLDebugRendererInfo = 0;
                nlei_PlatformOpenGL_ANGLEInstancedArrays = null;
                nlei_PlatformOpenGL_OESVertexArrayObject = null;
                nlei_PlatformOpenGL_hasFBO16FSupport = 0;
                nlei_PlatformOpenGL_hasFBO32FSupport = 0;
                nlei_PlatformOpenGL_hasLinearHDR16FSupport = 0;
                nlei_PlatformOpenGL_hasLinearHDR32FSupport = 0;
                return;
            }
            nlei_PlatformOpenGL_glesVers = $glesVersIn;
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_getClientConfigAdapter();
            if ($rt_suspending()) {
                break main;
            }
            $context = $tmp;
            $ptr = 3;
        case 3:
            $tmp = nleit_TeaVMClientConfigAdapter_isUseWebGLExtTeaVM($context);
            if ($rt_suspending()) {
                break main;
            }
            $allowExts = $tmp;
            if (!$allowExts) {
                nlei_PlatformOpenGL_hasANGLEInstancedArrays = 0;
                nlei_PlatformOpenGL_hasEXTColorBufferFloat = 0;
                nlei_PlatformOpenGL_hasEXTColorBufferHalfFloat = 0;
                nlei_PlatformOpenGL_hasEXTShaderTextureLOD = 0;
                nlei_PlatformOpenGL_hasOESFBORenderMipmap = 0;
                nlei_PlatformOpenGL_hasOESVertexArrayObject = 0;
                nlei_PlatformOpenGL_hasOESTextureFloat = 0;
                nlei_PlatformOpenGL_hasOESTextureFloatLinear = 0;
                nlei_PlatformOpenGL_hasOESTextureHalfFloat = 0;
                nlei_PlatformOpenGL_hasOESTextureHalfFloatLinear = 0;
                nlei_PlatformOpenGL_hasEXTTextureFilterAnisotropic = 0;
            } else {
                $allowExts = $rt_compare($glesVersIn, 200);
                $context = $allowExts ? null : nlei_PlatformOpenGL_ctx.getExtension("ANGLE_instanced_arrays");
                nlei_PlatformOpenGL_ANGLEInstancedArrays = $context;
                nlei_PlatformOpenGL_hasANGLEInstancedArrays = !$allowExts && $context !== null ? 1 : 0;
                var$4 = $rt_compare($glesVersIn, 310);
                var$5 = !(var$4 && $glesVersIn != 300) && nlei_PlatformOpenGL_ctx.getExtension("EXT_color_buffer_float") !== null ? 1 : 0;
                nlei_PlatformOpenGL_hasEXTColorBufferFloat = var$5;
                nlei_PlatformOpenGL_hasEXTColorBufferHalfFloat = !var$5 && !(var$4 && $glesVersIn != 300 && $allowExts) && nlei_PlatformOpenGL_ctx.getExtension("EXT_color_buffer_half_float") !== null ? 1 : 0;
                nlei_PlatformOpenGL_hasEXTShaderTextureLOD = !$allowExts && nlei_PlatformOpenGL_ctx.getExtension("EXT_shader_texture_lod") !== null ? 1 : 0;
                nlei_PlatformOpenGL_hasOESFBORenderMipmap = !$allowExts && nlei_PlatformOpenGL_ctx.getExtension("OES_fbo_render_mipmap") !== null ? 1 : 0;
                $context = $allowExts ? null : nlei_PlatformOpenGL_ctx.getExtension("OES_vertex_array_object");
                nlei_PlatformOpenGL_OESVertexArrayObject = $context;
                nlei_PlatformOpenGL_hasOESVertexArrayObject = !$allowExts && $context !== null ? 1 : 0;
                nlei_PlatformOpenGL_hasOESTextureFloat = !$allowExts && nlei_PlatformOpenGL_ctx.getExtension("OES_texture_float") !== null ? 1 : 0;
                nlei_PlatformOpenGL_hasOESTextureFloatLinear = $glesVersIn >= 300 && nlei_PlatformOpenGL_ctx.getExtension("OES_texture_float_linear") !== null ? 1 : 0;
                nlei_PlatformOpenGL_hasOESTextureHalfFloat = !$allowExts && nlei_PlatformOpenGL_ctx.getExtension("OES_texture_half_float") !== null ? 1 : 0;
                nlei_PlatformOpenGL_hasOESTextureHalfFloatLinear = !$allowExts && nlei_PlatformOpenGL_ctx.getExtension("OES_texture_half_float_linear") !== null ? 1 : 0;
                nlei_PlatformOpenGL_hasEXTTextureFilterAnisotropic = nlei_PlatformOpenGL_ctx.getExtension("EXT_texture_filter_anisotropic") === null ? 0 : 1;
            }
            $allowExts = nlei_PlatformOpenGL_ctx.getExtension("WEBGL_debug_renderer_info") === null ? 0 : 1;
            a: {
                b: {
                    nlei_PlatformOpenGL_hasWEBGLDebugRendererInfo = $allowExts;
                    $allowExts = $rt_compare($glesVersIn, 320);
                    if ($allowExts < 0) {
                        if ($glesVersIn < 300 && !nlei_PlatformOpenGL_hasOESTextureFloat)
                            break b;
                        if (!nlei_PlatformOpenGL_hasEXTColorBufferFloat && !nlei_PlatformOpenGL_hasEXTColorBufferHalfFloat)
                            break b;
                    }
                    var$4 = 1;
                    break a;
                }
                var$4 = 0;
            }
            c: {
                d: {
                    nlei_PlatformOpenGL_hasFBO16FSupport = var$4;
                    if ($allowExts < 0) {
                        if ($glesVersIn < 300 && !nlei_PlatformOpenGL_hasOESTextureHalfFloat)
                            break d;
                        if (!nlei_PlatformOpenGL_hasEXTColorBufferFloat)
                            break d;
                    }
                    $allowExts = 1;
                    break c;
                }
                $allowExts = 0;
            }
            nlei_PlatformOpenGL_hasFBO32FSupport = $allowExts;
            $allowExts = $rt_compare($glesVersIn, 300);
            nlei_PlatformOpenGL_hasLinearHDR16FSupport = $allowExts < 0 && !nlei_PlatformOpenGL_hasOESTextureHalfFloatLinear ? 0 : 1;
            nlei_PlatformOpenGL_hasLinearHDR32FSupport = $allowExts >= 0 && nlei_PlatformOpenGL_hasOESTextureFloatLinear ? 1 : 0;
            if ($allowExts >= 0) {
                nlei_PlatformOpenGL_vertexArrayImpl = 0;
                nlei_PlatformOpenGL_instancingImpl = 0;
            } else if ($glesVersIn != 200) {
                nlei_PlatformOpenGL_vertexArrayImpl = (-1);
                nlei_PlatformOpenGL_instancingImpl = (-1);
            } else {
                nlei_PlatformOpenGL_vertexArrayImpl = !nlei_PlatformOpenGL_hasOESVertexArrayObject ? (-1) : 1;
                nlei_PlatformOpenGL_instancingImpl = !nlei_PlatformOpenGL_hasANGLEInstancedArrays ? (-1) : 1;
            }
            var$6 = 1.0;
            var$7 = 1.0;
            var$8 = 1.0;
            var$9 = 1.0;
            $ptr = 4;
        case 4:
            nlei_PlatformOpenGL__wglClearColor(var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($glesVersIn, $context, $allowExts, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nlei_PlatformOpenGL_dumpActiveExtensions() {
        var $exts, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$exts = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $exts = ju_ArrayList__init_0();
            if (nlei_PlatformOpenGL_hasANGLEInstancedArrays) {
                var$2 = $rt_s(391);
                $ptr = 2;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasEXTColorBufferFloat) {
                var$2 = $rt_s(392);
                $ptr = 3;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasEXTColorBufferHalfFloat) {
                var$2 = $rt_s(393);
                $ptr = 4;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasEXTShaderTextureLOD) {
                var$2 = $rt_s(394);
                $ptr = 5;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESFBORenderMipmap) {
                var$2 = $rt_s(395);
                $ptr = 6;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESVertexArrayObject) {
                var$2 = $rt_s(396);
                $ptr = 7;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureFloat) {
                var$2 = $rt_s(397);
                $ptr = 8;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureFloatLinear) {
                var$2 = $rt_s(398);
                $ptr = 9;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloat) {
                var$2 = $rt_s(399);
                $ptr = 10;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloatLinear) {
                var$2 = $rt_s(400);
                $ptr = 11;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasEXTTextureFilterAnisotropic) {
                var$2 = $rt_s(401);
                $ptr = 12;
                continue main;
            }
            if (!nlei_PlatformOpenGL_hasWEBGLDebugRendererInfo)
                return $exts;
            var$2 = $rt_s(402);
            $ptr = 13;
            continue main;
        case 2:
            ju_ArrayList_add($exts, var$2);
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformOpenGL_hasEXTColorBufferFloat) {
                var$2 = $rt_s(392);
                $ptr = 3;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasEXTColorBufferHalfFloat) {
                var$2 = $rt_s(393);
                $ptr = 4;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasEXTShaderTextureLOD) {
                var$2 = $rt_s(394);
                $ptr = 5;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESFBORenderMipmap) {
                var$2 = $rt_s(395);
                $ptr = 6;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESVertexArrayObject) {
                var$2 = $rt_s(396);
                $ptr = 7;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureFloat) {
                var$2 = $rt_s(397);
                $ptr = 8;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureFloatLinear) {
                var$2 = $rt_s(398);
                $ptr = 9;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloat) {
                var$2 = $rt_s(399);
                $ptr = 10;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloatLinear) {
                var$2 = $rt_s(400);
                $ptr = 11;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasEXTTextureFilterAnisotropic) {
                var$2 = $rt_s(401);
                $ptr = 12;
                continue main;
            }
            if (!nlei_PlatformOpenGL_hasWEBGLDebugRendererInfo)
                return $exts;
            var$2 = $rt_s(402);
            $ptr = 13;
            continue main;
        case 3:
            ju_ArrayList_add($exts, var$2);
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformOpenGL_hasEXTColorBufferHalfFloat) {
                var$2 = $rt_s(393);
                $ptr = 4;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasEXTShaderTextureLOD) {
                var$2 = $rt_s(394);
                $ptr = 5;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESFBORenderMipmap) {
                var$2 = $rt_s(395);
                $ptr = 6;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESVertexArrayObject) {
                var$2 = $rt_s(396);
                $ptr = 7;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureFloat) {
                var$2 = $rt_s(397);
                $ptr = 8;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureFloatLinear) {
                var$2 = $rt_s(398);
                $ptr = 9;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloat) {
                var$2 = $rt_s(399);
                $ptr = 10;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloatLinear) {
                var$2 = $rt_s(400);
                $ptr = 11;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasEXTTextureFilterAnisotropic) {
                var$2 = $rt_s(401);
                $ptr = 12;
                continue main;
            }
            if (!nlei_PlatformOpenGL_hasWEBGLDebugRendererInfo)
                return $exts;
            var$2 = $rt_s(402);
            $ptr = 13;
            continue main;
        case 4:
            ju_ArrayList_add($exts, var$2);
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformOpenGL_hasEXTShaderTextureLOD) {
                var$2 = $rt_s(394);
                $ptr = 5;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESFBORenderMipmap) {
                var$2 = $rt_s(395);
                $ptr = 6;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESVertexArrayObject) {
                var$2 = $rt_s(396);
                $ptr = 7;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureFloat) {
                var$2 = $rt_s(397);
                $ptr = 8;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureFloatLinear) {
                var$2 = $rt_s(398);
                $ptr = 9;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloat) {
                var$2 = $rt_s(399);
                $ptr = 10;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloatLinear) {
                var$2 = $rt_s(400);
                $ptr = 11;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasEXTTextureFilterAnisotropic) {
                var$2 = $rt_s(401);
                $ptr = 12;
                continue main;
            }
            if (!nlei_PlatformOpenGL_hasWEBGLDebugRendererInfo)
                return $exts;
            var$2 = $rt_s(402);
            $ptr = 13;
            continue main;
        case 5:
            ju_ArrayList_add($exts, var$2);
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformOpenGL_hasOESFBORenderMipmap) {
                var$2 = $rt_s(395);
                $ptr = 6;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESVertexArrayObject) {
                var$2 = $rt_s(396);
                $ptr = 7;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureFloat) {
                var$2 = $rt_s(397);
                $ptr = 8;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureFloatLinear) {
                var$2 = $rt_s(398);
                $ptr = 9;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloat) {
                var$2 = $rt_s(399);
                $ptr = 10;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloatLinear) {
                var$2 = $rt_s(400);
                $ptr = 11;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasEXTTextureFilterAnisotropic) {
                var$2 = $rt_s(401);
                $ptr = 12;
                continue main;
            }
            if (!nlei_PlatformOpenGL_hasWEBGLDebugRendererInfo)
                return $exts;
            var$2 = $rt_s(402);
            $ptr = 13;
            continue main;
        case 6:
            ju_ArrayList_add($exts, var$2);
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformOpenGL_hasOESVertexArrayObject) {
                var$2 = $rt_s(396);
                $ptr = 7;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureFloat) {
                var$2 = $rt_s(397);
                $ptr = 8;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureFloatLinear) {
                var$2 = $rt_s(398);
                $ptr = 9;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloat) {
                var$2 = $rt_s(399);
                $ptr = 10;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloatLinear) {
                var$2 = $rt_s(400);
                $ptr = 11;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasEXTTextureFilterAnisotropic) {
                var$2 = $rt_s(401);
                $ptr = 12;
                continue main;
            }
            if (!nlei_PlatformOpenGL_hasWEBGLDebugRendererInfo)
                return $exts;
            var$2 = $rt_s(402);
            $ptr = 13;
            continue main;
        case 7:
            ju_ArrayList_add($exts, var$2);
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureFloat) {
                var$2 = $rt_s(397);
                $ptr = 8;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureFloatLinear) {
                var$2 = $rt_s(398);
                $ptr = 9;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloat) {
                var$2 = $rt_s(399);
                $ptr = 10;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloatLinear) {
                var$2 = $rt_s(400);
                $ptr = 11;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasEXTTextureFilterAnisotropic) {
                var$2 = $rt_s(401);
                $ptr = 12;
                continue main;
            }
            if (!nlei_PlatformOpenGL_hasWEBGLDebugRendererInfo)
                return $exts;
            var$2 = $rt_s(402);
            $ptr = 13;
            continue main;
        case 8:
            ju_ArrayList_add($exts, var$2);
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureFloatLinear) {
                var$2 = $rt_s(398);
                $ptr = 9;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloat) {
                var$2 = $rt_s(399);
                $ptr = 10;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloatLinear) {
                var$2 = $rt_s(400);
                $ptr = 11;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasEXTTextureFilterAnisotropic) {
                var$2 = $rt_s(401);
                $ptr = 12;
                continue main;
            }
            if (!nlei_PlatformOpenGL_hasWEBGLDebugRendererInfo)
                return $exts;
            var$2 = $rt_s(402);
            $ptr = 13;
            continue main;
        case 9:
            ju_ArrayList_add($exts, var$2);
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloat) {
                var$2 = $rt_s(399);
                $ptr = 10;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloatLinear) {
                var$2 = $rt_s(400);
                $ptr = 11;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasEXTTextureFilterAnisotropic) {
                var$2 = $rt_s(401);
                $ptr = 12;
                continue main;
            }
            if (!nlei_PlatformOpenGL_hasWEBGLDebugRendererInfo)
                return $exts;
            var$2 = $rt_s(402);
            $ptr = 13;
            continue main;
        case 10:
            ju_ArrayList_add($exts, var$2);
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformOpenGL_hasOESTextureHalfFloatLinear) {
                var$2 = $rt_s(400);
                $ptr = 11;
                continue main;
            }
            if (nlei_PlatformOpenGL_hasEXTTextureFilterAnisotropic) {
                var$2 = $rt_s(401);
                $ptr = 12;
                continue main;
            }
            if (!nlei_PlatformOpenGL_hasWEBGLDebugRendererInfo)
                return $exts;
            var$2 = $rt_s(402);
            $ptr = 13;
            continue main;
        case 11:
            ju_ArrayList_add($exts, var$2);
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformOpenGL_hasEXTTextureFilterAnisotropic) {
                var$2 = $rt_s(401);
                $ptr = 12;
                continue main;
            }
            if (!nlei_PlatformOpenGL_hasWEBGLDebugRendererInfo)
                return $exts;
            var$2 = $rt_s(402);
            $ptr = 13;
            continue main;
        case 12:
            ju_ArrayList_add($exts, var$2);
            if ($rt_suspending()) {
                break main;
            }
            if (!nlei_PlatformOpenGL_hasWEBGLDebugRendererInfo)
                return $exts;
            var$2 = $rt_s(402);
            $ptr = 13;
        case 13:
            ju_ArrayList_add($exts, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return $exts;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($exts, var$2, $ptr);
    }
    function nlei_PlatformOpenGL__wglEnable($glEnum) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$glEnum = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.enable($glEnum);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($glEnum, $ptr);
    }
    function nlei_PlatformOpenGL__wglDisable($glEnum) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$glEnum = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.disable($glEnum);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($glEnum, $ptr);
    }
    function nlei_PlatformOpenGL__wglClearColor($r, $g, $b, $a) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$a = $thread.pop();$b = $thread.pop();$g = $thread.pop();$r = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.clearColor($r, $g, $b, $a);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($r, $g, $b, $a, $ptr);
    }
    function nlei_PlatformOpenGL__wglClear($bits) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$bits = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.clear($bits);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($bits, $ptr);
    }
    function nlei_PlatformOpenGL__wglViewport($x, $y, $w, $h) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$h = $thread.pop();$w = $thread.pop();$y = $thread.pop();$x = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.viewport($x, $y, $w, $h);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($x, $y, $w, $h, $ptr);
    }
    function nlei_PlatformOpenGL__wglGenBuffers() {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = new nlei_OpenGLObjects$BufferGL;
            var$1.$ptr = nlei_PlatformOpenGL_ctx.createBuffer();
            var$2 = nlei_OpenGLObjects$BufferGL_hashGen + 1 | 0;
            nlei_OpenGLObjects$BufferGL_hashGen = var$2;
            var$1.$hash = var$2;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nlei_PlatformOpenGL__wglGenTextures() {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = new nlei_OpenGLObjects$TextureGL;
            var$1.$ptr0 = nlei_PlatformOpenGL_ctx.createTexture();
            var$2 = nlei_OpenGLObjects$TextureGL_hashGen + 1 | 0;
            nlei_OpenGLObjects$TextureGL_hashGen = var$2;
            var$1.$hash1 = var$2;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nlei_PlatformOpenGL__wglGenVertexArrays() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            switch (nlei_PlatformOpenGL_vertexArrayImpl) {
                case 0:
                    return nlei_OpenGLObjects$VertexArrayGL__init_(nlei_PlatformOpenGL_ctx.createVertexArray());
                case 1:
                    return nlei_OpenGLObjects$VertexArrayGL__init_(nlei_PlatformOpenGL_OESVertexArrayObject.createVertexArrayOES());
                default:
            }
            var$1 = new jl_UnsupportedOperationException;
            jl_Throwable__init_0(var$1);
            $rt_throw(var$1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nlei_PlatformOpenGL__wglCreateProgram() {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = new nlei_OpenGLObjects$ProgramGL;
            var$1.$ptr1 = nlei_PlatformOpenGL_ctx.createProgram();
            var$2 = nlei_OpenGLObjects$ProgramGL_hashGen + 1 | 0;
            nlei_OpenGLObjects$ProgramGL_hashGen = var$2;
            var$1.$hash2 = var$2;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nlei_PlatformOpenGL__wglCreateShader($type) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$type = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = new nlei_OpenGLObjects$ShaderGL;
            var$2.$ptr2 = nlei_PlatformOpenGL_ctx.createShader($type);
            $type = nlei_OpenGLObjects$ShaderGL_hashGen + 1 | 0;
            nlei_OpenGLObjects$ShaderGL_hashGen = $type;
            var$2.$hash3 = $type;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($type, var$2, $ptr);
    }
    function nlei_PlatformOpenGL__wglCreateRenderbuffer() {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = new nlei_OpenGLObjects$RenderbufferGL;
            var$1.$ptr3 = nlei_PlatformOpenGL_ctx.createRenderbuffer();
            var$2 = nlei_OpenGLObjects$RenderbufferGL_hashGen + 1 | 0;
            nlei_OpenGLObjects$RenderbufferGL_hashGen = var$2;
            var$1.$hash4 = var$2;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nlei_PlatformOpenGL__wglDeleteBuffers($obj) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nlei_PlatformOpenGL_ctx;
            $obj = $obj.$ptr;
            var$2.deleteBuffer($obj);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, var$2, $ptr);
    }
    function nlei_PlatformOpenGL__wglDeleteTextures($obj) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nlei_PlatformOpenGL_ctx;
            $obj = $obj.$ptr0;
            var$2.deleteTexture($obj);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, var$2, $ptr);
    }
    function nlei_PlatformOpenGL__wglDeleteVertexArrays($obj) {
        var $ptr_0, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$ptr_0 = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            a: {
                $ptr_0 = $obj.$ptr4;
                switch (nlei_PlatformOpenGL_vertexArrayImpl) {
                    case 0:
                        break;
                    case 1:
                        nlei_PlatformOpenGL_OESVertexArrayObject.deleteVertexArrayOES($ptr_0);
                        break a;
                    default:
                        $obj = new jl_UnsupportedOperationException;
                        jl_Throwable__init_0($obj);
                        $rt_throw($obj);
                }
                nlei_PlatformOpenGL_ctx.deleteVertexArray($ptr_0);
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, $ptr_0, $ptr);
    }
    function nlei_PlatformOpenGL__wglDeleteProgram($obj) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nlei_PlatformOpenGL_ctx;
            $obj = $obj.$ptr1;
            var$2.deleteProgram($obj);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, var$2, $ptr);
    }
    function nlei_PlatformOpenGL__wglDeleteShader($obj) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nlei_PlatformOpenGL_ctx;
            $obj = $obj.$ptr2;
            var$2.deleteShader($obj);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, var$2, $ptr);
    }
    function nlei_PlatformOpenGL__wglBindBuffer($target, $obj) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$obj = $thread.pop();$target = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nlei_PlatformOpenGL_ctx;
            $obj = $obj === null ? null : $obj.$ptr;
            var$3.bindBuffer($target, $obj);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($target, $obj, var$3, $ptr);
    }
    function nlei_PlatformOpenGL__wglBufferData($target, $data, $usage) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$usage = $thread.pop();$data = $thread.pop();$target = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nlei_PlatformOpenGL_ctx;
            $ptr = 2;
        case 2:
            $tmp = nleib_EaglerArrayBufferAllocator_getDataView8($data);
            if ($rt_suspending()) {
                break main;
            }
            $data = $tmp;
            var$4.bufferData($target, $data, $usage);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($target, $data, $usage, var$4, $ptr);
    }
    function nlei_PlatformOpenGL__wglBufferData0($target, $data, $usage) {
        var var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$usage = $thread.pop();$data = $thread.pop();$target = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nlei_PlatformOpenGL_ctx;
            nleib_EaglerArrayBufferAllocator_$callClinit();
            if ($data instanceof nleib_EaglerArrayIntBuffer) {
                var$5 = $data.$typedArray;
                var$6 = $data.$position1;
                var$7 = $data.$limit1;
                if (!(!var$6 && var$7 == $data.$capacity0)) {
                    $data = var$5.buffer;
                    var$8 = var$5.byteOffset + (var$6 << 2) | 0;
                    var$7 = var$7 - var$6 | 0;
                    var$5 = new $rt_globals.Int32Array($data, var$8, var$7);
                }
                var$4.bufferData($target, var$5, $usage);
                return;
            }
            $ptr = 2;
        case 2:
            $tmp = nleib_EaglerArrayBufferAllocator_notEagler($data);
            if ($rt_suspending()) {
                break main;
            }
            $data = $tmp;
            $rt_throw($data);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($target, $data, $usage, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nlei_PlatformOpenGL__wglBufferData1($target, $data, $usage) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$usage = $thread.pop();$data = $thread.pop();$target = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nlei_PlatformOpenGL_ctx;
            $ptr = 2;
        case 2:
            $tmp = nleib_EaglerArrayBufferAllocator_getDataView32F($data);
            if ($rt_suspending()) {
                break main;
            }
            $data = $tmp;
            var$4.bufferData($target, $data, $usage);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($target, $data, $usage, var$4, $ptr);
    }
    function nlei_PlatformOpenGL__wglBufferData2($target, $size, $usage) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$usage = $thread.pop();$size = $thread.pop();$target = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.bufferData($target, $size, $usage);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($target, $size, $usage, $ptr);
    }
    function nlei_PlatformOpenGL__wglBindVertexArray($obj) {
        var $ptr_0, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$ptr_0 = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr_0 = $obj === null ? null : $obj.$ptr4;
            a: {
                switch (nlei_PlatformOpenGL_vertexArrayImpl) {
                    case 0:
                        break;
                    case 1:
                        nlei_PlatformOpenGL_OESVertexArrayObject.bindVertexArrayOES($ptr_0);
                        break a;
                    default:
                        $obj = new jl_UnsupportedOperationException;
                        jl_Throwable__init_0($obj);
                        $rt_throw($obj);
                }
                nlei_PlatformOpenGL_ctx.bindVertexArray($ptr_0);
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, $ptr_0, $ptr);
    }
    function nlei_PlatformOpenGL__wglEnableVertexAttribArray($index) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$index = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.enableVertexAttribArray($index);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($index, $ptr);
    }
    function nlei_PlatformOpenGL__wglDisableVertexAttribArray($index) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$index = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.disableVertexAttribArray($index);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($index, $ptr);
    }
    function nlei_PlatformOpenGL__wglVertexAttribPointer($index, $size, $type, $normalized, $stride, $offset) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$offset = $thread.pop();$stride = $thread.pop();$normalized = $thread.pop();$type = $thread.pop();$size = $thread.pop();$index = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.vertexAttribPointer($index, $size, $type, !!$normalized, $stride, $offset);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($index, $size, $type, $normalized, $stride, $offset, $ptr);
    }
    function nlei_PlatformOpenGL__wglVertexAttribDivisor($index, $divisor) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$divisor = $thread.pop();$index = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            a: {
                switch (nlei_PlatformOpenGL_instancingImpl) {
                    case 0:
                        nlei_PlatformOpenGL_ctx.vertexAttribDivisor($index, $divisor);
                        break a;
                    case 1:
                        nlei_PlatformOpenGL_ANGLEInstancedArrays.vertexAttribDivisorANGLE($index, $divisor);
                        break a;
                    default:
                }
                var$3 = new jl_UnsupportedOperationException;
                jl_Throwable__init_0(var$3);
                $rt_throw(var$3);
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($index, $divisor, var$3, $ptr);
    }
    function nlei_PlatformOpenGL__wglActiveTexture($texture) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$texture = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.activeTexture($texture);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($texture, $ptr);
    }
    function nlei_PlatformOpenGL__wglBindTexture($target, $obj) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$obj = $thread.pop();$target = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nlei_PlatformOpenGL_ctx;
            $obj = $obj !== null ? $obj.$ptr0 : null;
            var$3.bindTexture($target, $obj);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($target, $obj, var$3, $ptr);
    }
    function nlei_PlatformOpenGL__wglTexParameteri($target, $param, $value) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$value = $thread.pop();$param = $thread.pop();$target = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.texParameteri($target, $param, $value);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($target, $param, $value, $ptr);
    }
    function nlei_PlatformOpenGL__wglTexImage2D($target, $level, $internalFormat, $width, $height, $border, $format, $type, $data) {
        var var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();$data = $thread.pop();$type = $thread.pop();$format = $thread.pop();$border = $thread.pop();$height = $thread.pop();$width = $thread.pop();$internalFormat = $thread.pop();$level = $thread.pop();$target = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$10 = nlei_PlatformOpenGL_ctx;
            if ($data === null) {
                $data = null;
                var$10.texImage2D($target, $level, $internalFormat, $width, $height, $border, $format, $type, $data);
                return;
            }
            $ptr = 2;
        case 2:
            $tmp = nleib_EaglerArrayBufferAllocator_getDataView8Unsigned($data);
            if ($rt_suspending()) {
                break main;
            }
            $data = $tmp;
            var$10.texImage2D($target, $level, $internalFormat, $width, $height, $border, $format, $type, $data);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($target, $level, $internalFormat, $width, $height, $border, $format, $type, $data, var$10, $ptr);
    }
    function nlei_PlatformOpenGL__wglTexImage2D0($target, $level, $internalFormat, $width, $height, $border, $format, $type, $data) {
        var var$10, var$11, var$12, var$13, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$data = $thread.pop();$type = $thread.pop();$format = $thread.pop();$border = $thread.pop();$height = $thread.pop();$width = $thread.pop();$internalFormat = $thread.pop();$level = $thread.pop();$target = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$10 = nlei_PlatformOpenGL_ctx;
            if ($data === null)
                var$11 = null;
            else {
                nleib_EaglerArrayBufferAllocator_$callClinit();
                if (!($data instanceof nleib_EaglerArrayIntBuffer)) {
                    $ptr = 2;
                    continue main;
                }
                var$12 = $data.$typedArray;
                var$13 = $data.$position1;
                var$14 = $data.$limit1;
                $data = var$12.buffer;
                var$15 = var$12.byteOffset + (var$13 << 2) | 0;
                var$14 = (var$14 - var$13 | 0) << 2;
                var$11 = new $rt_globals.Uint8Array($data, var$15, var$14);
            }
            var$10.texImage2D($target, $level, $internalFormat, $width, $height, $border, $format, $type, var$11);
            return;
        case 2:
            $tmp = nleib_EaglerArrayBufferAllocator_notEagler($data);
            if ($rt_suspending()) {
                break main;
            }
            $data = $tmp;
            $rt_throw($data);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($target, $level, $internalFormat, $width, $height, $border, $format, $type, $data, var$10, var$11, var$12, var$13, var$14, var$15, $ptr);
    }
    function nlei_PlatformOpenGL__wglShaderSource($obj, $source) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$source = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nlei_PlatformOpenGL_ctx;
            $obj = $obj.$ptr2;
            var$3.shaderSource($obj, $rt_ustr($source));
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, $source, var$3, $ptr);
    }
    function nlei_PlatformOpenGL__wglCompileShader($obj) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nlei_PlatformOpenGL_ctx;
            $obj = $obj.$ptr2;
            var$2.compileShader($obj);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, var$2, $ptr);
    }
    function nlei_PlatformOpenGL__wglGetShaderi($obj, $param) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$param = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nlei_PlatformOpenGL_ctx;
            $obj = $obj.$ptr2;
            return var$3.getShaderParameter($obj, $param);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, $param, var$3, $ptr);
    }
    function nlei_PlatformOpenGL__wglGetShaderInfoLog($obj) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nlei_PlatformOpenGL_ctx;
            $obj = $obj.$ptr2;
            return $rt_str(var$2.getShaderInfoLog($obj));
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, var$2, $ptr);
    }
    function nlei_PlatformOpenGL__wglUseProgram($obj) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nlei_PlatformOpenGL_ctx;
            $obj = $obj !== null ? $obj.$ptr1 : null;
            var$2.useProgram($obj);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, var$2, $ptr);
    }
    function nlei_PlatformOpenGL__wglAttachShader($obj, $shader) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$shader = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nlei_PlatformOpenGL_ctx;
            $obj = $obj.$ptr1;
            $shader = $shader.$ptr2;
            var$3.attachShader($obj, $shader);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, $shader, var$3, $ptr);
    }
    function nlei_PlatformOpenGL__wglDetachShader($obj, $shader) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$shader = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nlei_PlatformOpenGL_ctx;
            $obj = $obj.$ptr1;
            $shader = $shader.$ptr2;
            var$3.detachShader($obj, $shader);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, $shader, var$3, $ptr);
    }
    function nlei_PlatformOpenGL__wglLinkProgram($obj) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nlei_PlatformOpenGL_ctx;
            $obj = $obj.$ptr1;
            var$2.linkProgram($obj);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, var$2, $ptr);
    }
    function nlei_PlatformOpenGL__wglGetProgrami($obj, $param) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$param = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nlei_PlatformOpenGL_ctx;
            $obj = $obj.$ptr1;
            return var$3.getProgramParameter($obj, $param);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, $param, var$3, $ptr);
    }
    function nlei_PlatformOpenGL__wglGetProgramInfoLog($obj) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nlei_PlatformOpenGL_ctx;
            $obj = $obj.$ptr1;
            return $rt_str(var$2.getProgramInfoLog($obj));
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, var$2, $ptr);
    }
    function nlei_PlatformOpenGL__wglBindAttribLocation($obj, $index, $name) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$name = $thread.pop();$index = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nlei_PlatformOpenGL_ctx;
            $obj = $obj.$ptr1;
            var$4.bindAttribLocation($obj, $index, $rt_ustr($name));
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, $index, $name, var$4, $ptr);
    }
    function nlei_PlatformOpenGL__wglDrawArrays($mode, $first, $count) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$count = $thread.pop();$first = $thread.pop();$mode = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.drawArrays($mode, $first, $count);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($mode, $first, $count, $ptr);
    }
    function nlei_PlatformOpenGL__wglGetUniformLocation($obj, $name) {
        var $loc, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$loc = $thread.pop();$name = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $loc = nlei_PlatformOpenGL_ctx;
            $obj = $obj.$ptr1;
            $loc = $loc.getUniformLocation($obj, $rt_ustr($name));
            if ($loc === null)
                return null;
            $obj = new nlei_OpenGLObjects$UniformGL;
            $obj.$ptr5 = $loc;
            var$4 = nlei_OpenGLObjects$UniformGL_hashGen + 1 | 0;
            nlei_OpenGLObjects$UniformGL_hashGen = var$4;
            $obj.$hash5 = var$4;
            return $obj;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, $name, $loc, var$4, $ptr);
    }
    function nlei_PlatformOpenGL__wglUniform1f($obj, $x) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$x = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($obj !== null) {
                var$3 = nlei_PlatformOpenGL_ctx;
                $obj = $obj.$ptr5;
                var$3.uniform1f($obj, $x);
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, $x, var$3, $ptr);
    }
    function nlei_PlatformOpenGL__wglUniform2f($obj, $x, $y) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$y = $thread.pop();$x = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($obj !== null) {
                var$4 = nlei_PlatformOpenGL_ctx;
                $obj = $obj.$ptr5;
                var$4.uniform2f($obj, $x, $y);
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, $x, $y, var$4, $ptr);
    }
    function nlei_PlatformOpenGL__wglUniform3f($obj, $x, $y, $z) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$z = $thread.pop();$y = $thread.pop();$x = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($obj !== null) {
                var$5 = nlei_PlatformOpenGL_ctx;
                $obj = $obj.$ptr5;
                var$5.uniform3f($obj, $x, $y, $z);
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, $x, $y, $z, var$5, $ptr);
    }
    function nlei_PlatformOpenGL__wglUniform4f($obj, $x, $y, $z, $w) {
        var var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$w = $thread.pop();$z = $thread.pop();$y = $thread.pop();$x = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($obj !== null) {
                var$6 = nlei_PlatformOpenGL_ctx;
                var$7 = $obj.$ptr5;
                var$6.uniform4f(var$7, $x, $y, $z, $w);
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, $x, $y, $z, $w, var$6, var$7, $ptr);
    }
    function nlei_PlatformOpenGL__wglUniform1i($obj, $x) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$x = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($obj !== null) {
                var$3 = nlei_PlatformOpenGL_ctx;
                $obj = $obj.$ptr5;
                var$3.uniform1i($obj, $x);
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, $x, var$3, $ptr);
    }
    function nlei_PlatformOpenGL__wglUniform4i($obj, $x, $y, $z, $w) {
        var var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$w = $thread.pop();$z = $thread.pop();$y = $thread.pop();$x = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($obj !== null) {
                var$6 = nlei_PlatformOpenGL_ctx;
                var$7 = $obj.$ptr5;
                var$6.uniform4i(var$7, $x, $y, $z, $w);
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, $x, $y, $z, $w, var$6, var$7, $ptr);
    }
    function nlei_PlatformOpenGL__wglUniformMatrix4fv($obj, $transpose, $mat) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$mat = $thread.pop();$transpose = $thread.pop();$obj = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($obj !== null) {
                var$4 = nlei_PlatformOpenGL_ctx;
                $obj = $obj.$ptr5;
                if ($mat !== null) {
                    $ptr = 2;
                    continue main;
                }
                $mat = null;
                var$4.uniformMatrix4fv($obj, !!$transpose, $mat);
            }
            return;
        case 2:
            $tmp = nleib_EaglerArrayBufferAllocator_getDataView32F($mat);
            if ($rt_suspending()) {
                break main;
            }
            $mat = $tmp;
            var$4.uniformMatrix4fv($obj, !!$transpose, $mat);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($obj, $transpose, $mat, var$4, $ptr);
    }
    function nlei_PlatformOpenGL__wglBindFramebuffer($target, $framebuffer) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$framebuffer = $thread.pop();$target = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($framebuffer !== null) {
                var$3 = nlei_PlatformOpenGL_ctx;
                $framebuffer = $framebuffer.$ptr6;
                var$3.bindFramebuffer($target, $framebuffer);
                return;
            }
            $framebuffer = nlei_PlatformOpenGL_ctx;
            $ptr = 2;
        case 2:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nlei_PlatformRuntime_mainFramebuffer;
            $framebuffer.bindFramebuffer($target, var$3);
            if (nlei_PlatformOpenGL_glesVers != 200) {
                $framebuffer = nlei_PlatformOpenGL_ctx;
                var$4 = $rt_createIntArray(1);
                var$4.data[0] = 36064;
                $framebuffer.drawBuffers(otji_JS_wrap(var$4));
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($target, $framebuffer, var$3, var$4, $ptr);
    }
    function nlei_PlatformOpenGL__wglBindRenderbuffer($target, $renderbuffer) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$renderbuffer = $thread.pop();$target = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nlei_PlatformOpenGL_ctx;
            $renderbuffer = $renderbuffer !== null ? $renderbuffer.$ptr3 : null;
            var$3.bindRenderbuffer($target, $renderbuffer);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($target, $renderbuffer, var$3, $ptr);
    }
    function nlei_PlatformOpenGL__wglRenderbufferStorage($target, $internalformat, $width, $height) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$height = $thread.pop();$width = $thread.pop();$internalformat = $thread.pop();$target = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.renderbufferStorage($target, $internalformat, $width, $height);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($target, $internalformat, $width, $height, $ptr);
    }
    function nlei_PlatformOpenGL__wglFramebufferRenderbuffer($target, $attachment, $renderbufferTarget, $renderbuffer) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$renderbuffer = $thread.pop();$renderbufferTarget = $thread.pop();$attachment = $thread.pop();$target = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = nlei_PlatformOpenGL_ctx;
            $renderbuffer = $renderbuffer.$ptr3;
            var$5.framebufferRenderbuffer($target, $attachment, $renderbufferTarget, $renderbuffer);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($target, $attachment, $renderbufferTarget, $renderbuffer, var$5, $ptr);
    }
    function nlei_PlatformOpenGL__wglGetString($param) {
        var $s, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$s = $thread.pop();$param = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nlei_PlatformOpenGL_hasWEBGLDebugRendererInfo)
                return $rt_str(nlei_PlatformOpenGL_ctx.getParameter($param));
            switch ($param) {
                case 7936:
                    $s = $rt_str(nlei_PlatformOpenGL_ctx.getParameter(37445));
                    if ($s === null)
                        $s = $rt_str(nlei_PlatformOpenGL_ctx.getParameter(7936));
                    return $s;
                case 7937:
                    $s = $rt_str(nlei_PlatformOpenGL_ctx.getParameter(37446));
                    if ($s === null)
                        $s = $rt_str(nlei_PlatformOpenGL_ctx.getParameter(7937));
                    return $s;
                default:
            }
            return $rt_str(nlei_PlatformOpenGL_ctx.getParameter($param));
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($param, $s, $ptr);
    }
    function nlei_PlatformOpenGL_checkOpenGLESVersion() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nlei_PlatformOpenGL_glesVers;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nlei_PlatformOpenGL_checkEXTGPUShader5Capable() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nlei_PlatformOpenGL_checkOESGPUShader5Capable() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nlei_PlatformOpenGL_checkVAOCapable() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nlei_PlatformOpenGL_vertexArrayImpl == (-1) ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nlei_PlatformOpenGL_checkTextureLODCapable() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nlei_PlatformOpenGL_glesVers < 300 && !nlei_PlatformOpenGL_hasEXTShaderTextureLOD ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nlei_PlatformOpenGL_checkHDRFramebufferSupport($bits) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$bits = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            switch ($bits) {
                case 16:
                    break;
                case 32:
                    return nlei_PlatformOpenGL_hasFBO32FSupport;
                default:
                    return 0;
            }
            return nlei_PlatformOpenGL_hasFBO16FSupport;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($bits, $ptr);
    }
    function nlei_PlatformOpenGL_checkLinearHDRFilteringSupport($bits) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$bits = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            switch ($bits) {
                case 16:
                    break;
                case 32:
                    return nlei_PlatformOpenGL_hasLinearHDR32FSupport;
                default:
                    return 0;
            }
            return nlei_PlatformOpenGL_hasLinearHDR16FSupport;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($bits, $ptr);
    }
    function nlei_PlatformOpenGL__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(403);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nlei_PlatformOpenGL_logger = var$1;
            nlei_PlatformOpenGL_ctx = null;
            nlei_PlatformOpenGL_glesVers = (-1);
            nlei_PlatformOpenGL_hasANGLEInstancedArrays = 0;
            nlei_PlatformOpenGL_hasEXTColorBufferFloat = 0;
            nlei_PlatformOpenGL_hasEXTColorBufferHalfFloat = 0;
            nlei_PlatformOpenGL_hasEXTShaderTextureLOD = 0;
            nlei_PlatformOpenGL_hasOESFBORenderMipmap = 0;
            nlei_PlatformOpenGL_hasOESVertexArrayObject = 0;
            nlei_PlatformOpenGL_hasOESTextureFloat = 0;
            nlei_PlatformOpenGL_hasOESTextureFloatLinear = 0;
            nlei_PlatformOpenGL_hasOESTextureHalfFloat = 0;
            nlei_PlatformOpenGL_hasOESTextureHalfFloatLinear = 0;
            nlei_PlatformOpenGL_hasEXTTextureFilterAnisotropic = 0;
            nlei_PlatformOpenGL_hasWEBGLDebugRendererInfo = 0;
            nlei_PlatformOpenGL_ANGLEInstancedArrays = null;
            nlei_PlatformOpenGL_OESVertexArrayObject = null;
            nlei_PlatformOpenGL_hasFBO16FSupport = 0;
            nlei_PlatformOpenGL_hasFBO32FSupport = 0;
            nlei_PlatformOpenGL_hasLinearHDR16FSupport = 0;
            nlei_PlatformOpenGL_hasLinearHDR32FSupport = 0;
            nlei_PlatformOpenGL_vertexArrayImpl = (-1);
            nlei_PlatformOpenGL_instancingImpl = (-1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    var ju_Collections = $rt_classWithoutFields();
    var ju_Collections_EMPTY_SET = null;
    var ju_Collections_EMPTY_MAP = null;
    var ju_Collections_EMPTY_LIST = null;
    var ju_Collections_EMPTY_ITERATOR = null;
    var ju_Collections_EMPTY_LIST_ITERATOR = null;
    var ju_Collections_reverseOrder = null;
    function ju_Collections__init_0() {
        var var_0 = new ju_Collections();
        ju_Collections__init_(var_0);
        return var_0;
    }
    function ju_Collections__init_($this) {}
    function ju_Collections_sort0($list, $c) {
        var $array, var$4, $i, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$i = $thread.pop();var$4 = $thread.pop();$array = $thread.pop();$c = $thread.pop();$list = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($c === null)
                $c = ju_Comparator$NaturalOrder_INSTANCE;
            $array = $rt_createArray(jl_Object, $list.$size0);
            var$4 = $array.data;
            ju_AbstractCollection_toArray($list, $array);
            $ptr = 1;
        case 1:
            ju_Arrays_sort($array, $c);
            if ($rt_suspending()) {
                break main;
            }
            $i = 0;
            var$6 = var$4.length;
            while ($i < var$6) {
                ju_ArrayList_set($list, $i, var$4[$i]);
                $i = $i + 1 | 0;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($list, $c, $array, var$4, $i, var$6, $ptr);
    }
    function ju_Collections_sort($list) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$list = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = ju_Comparator$NaturalOrder_INSTANCE;
            $ptr = 1;
        case 1:
            ju_Collections_sort0($list, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($list, var$2, $ptr);
    }
    function ju_Collections__clinit_() {
        ju_Collections_EMPTY_SET = new ju_Collections$1;
        ju_Collections_EMPTY_MAP = new ju_Collections$2;
        ju_Collections_EMPTY_LIST = new ju_Collections$3;
        ju_Collections_EMPTY_ITERATOR = new ju_Collections$4;
        ju_Collections_EMPTY_LIST_ITERATOR = new ju_Collections$5;
        ju_Collections_reverseOrder = new ju_Collections$_clinit_$lambda$_59_0;
    }
    var nlei_IObjectGL = $rt_classWithoutFields(0);
    var nlei_IFramebufferGL = $rt_classWithoutFields(0);
    function nlei_OpenGLObjects$FramebufferGL() {
        var a = this; jl_Object.call(a);
        a.$ptr6 = null;
        a.$hash6 = 0;
    }
    var nlei_OpenGLObjects$FramebufferGL_hashGen = 0;
    function nlei_OpenGLObjects$FramebufferGL__init_(var_0) {
        var var_1 = new nlei_OpenGLObjects$FramebufferGL();
        nlei_OpenGLObjects$FramebufferGL__init_0(var_1, var_0);
        return var_1;
    }
    function nlei_OpenGLObjects$FramebufferGL__init_0($this, $ptr_0) {
        var var$2;
        $this.$ptr6 = $ptr_0;
        var$2 = nlei_OpenGLObjects$FramebufferGL_hashGen + 1 | 0;
        nlei_OpenGLObjects$FramebufferGL_hashGen = var$2;
        $this.$hash6 = var$2;
    }
    function nlei_OpenGLObjects$FramebufferGL__clinit_() {
        nlei_OpenGLObjects$FramebufferGL_hashGen = 0;
    }
    var nleit_WebGLBackBuffer = $rt_classWithoutFields();
    var nleit_WebGLBackBuffer_glesVers = 0;
    var nleit_WebGLBackBuffer_ctx = null;
    var nleit_WebGLBackBuffer_framebuffer = null;
    var nleit_WebGLBackBuffer_eagFramebuffer = null;
    var nleit_WebGLBackBuffer_width = 0;
    var nleit_WebGLBackBuffer_height = 0;
    var nleit_WebGLBackBuffer_gles3ColorRenderbuffer = null;
    var nleit_WebGLBackBuffer_gles3DepthRenderbuffer = null;
    var nleit_WebGLBackBuffer_gles2ColorTexture = null;
    var nleit_WebGLBackBuffer_gles2DepthRenderbuffer = null;
    var nleit_WebGLBackBuffer_gles2BlitProgram = null;
    var nleit_WebGLBackBuffer_gles2BlitVAO = null;
    var nleit_WebGLBackBuffer_gles2BlitVBO = null;
    var nleit_WebGLBackBuffer_isVAOCapable = 0;
    var nleit_WebGLBackBuffer_isEmulatedVAOPhase = 0;
    function nleit_WebGLBackBuffer__init_0() {
        var var_0 = new nleit_WebGLBackBuffer();
        nleit_WebGLBackBuffer__init_(var_0);
        return var_0;
    }
    function nleit_WebGLBackBuffer__init_($this) {}
    function nleit_WebGLBackBuffer_initBackBuffer($ctxIn, $fbo, $eagFbo, $sw, $sh) {
        var var$6, var$7, var$8, var$9, var$10, var$11, $upload, var$13, var$14, $vertShader, $fragShader, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$fragShader = $thread.pop();$vertShader = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$upload = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$sh = $thread.pop();$sw = $thread.pop();$eagFbo = $thread.pop();$fbo = $thread.pop();$ctxIn = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_WebGLBackBuffer_ctx = $ctxIn;
            $ptr = 1;
        case 1:
            $tmp = nlei_PlatformOpenGL_checkOpenGLESVersion();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            nleit_WebGLBackBuffer_glesVers = var$6;
            nleit_WebGLBackBuffer_framebuffer = $fbo;
            nleit_WebGLBackBuffer_eagFramebuffer = $eagFbo;
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformOpenGL_checkVAOCapable();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            nleit_WebGLBackBuffer_isVAOCapable = var$6;
            nleit_WebGLBackBuffer_isEmulatedVAOPhase = 0;
            nleit_WebGLBackBuffer_width = $sw;
            nleit_WebGLBackBuffer_height = $sh;
            if (nleit_WebGLBackBuffer_glesVers < 300) {
                $ptr = 3;
                continue main;
            }
            $ptr = 31;
            continue main;
        case 3:
            $tmp = nlei_PlatformOpenGL__wglGenTextures();
            if ($rt_suspending()) {
                break main;
            }
            $ctxIn = $tmp;
            nleit_WebGLBackBuffer_gles2ColorTexture = $ctxIn;
            $ptr = 4;
        case 4:
            $tmp = nlei_PlatformOpenGL__wglCreateRenderbuffer();
            if ($rt_suspending()) {
                break main;
            }
            $ctxIn = $tmp;
            nleit_WebGLBackBuffer_gles2DepthRenderbuffer = $ctxIn;
            var$6 = 36160;
            $ptr = 5;
        case 5:
            nlei_PlatformOpenGL__wglBindFramebuffer(var$6, $eagFbo);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 3553;
            $ctxIn = nleit_WebGLBackBuffer_gles2ColorTexture;
            $ptr = 6;
        case 6:
            nlei_PlatformOpenGL__wglBindTexture(var$6, $ctxIn);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 3553;
            var$8 = 10240;
            var$6 = 9728;
            $ptr = 7;
        case 7:
            nlei_PlatformOpenGL__wglTexParameteri(var$7, var$8, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 3553;
            var$7 = 10241;
            var$8 = 9728;
            $ptr = 8;
        case 8:
            nlei_PlatformOpenGL__wglTexParameteri(var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 3553;
            var$7 = 10242;
            var$8 = 33071;
            $ptr = 9;
        case 9:
            nlei_PlatformOpenGL__wglTexParameteri(var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 3553;
            var$7 = 10243;
            var$8 = 33071;
            $ptr = 10;
        case 10:
            nlei_PlatformOpenGL__wglTexParameteri(var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 3553;
            var$10 = 0;
            var$11 = 6408;
            var$6 = 0;
            var$7 = 6408;
            var$8 = 5121;
            $ctxIn = null;
            $ptr = 11;
        case 11:
            nlei_PlatformOpenGL__wglTexImage2D(var$9, var$10, var$11, $sw, $sh, var$6, var$7, var$8, $ctxIn);
            if ($rt_suspending()) {
                break main;
            }
            $ctxIn = nleit_WebGLBackBuffer_gles2ColorTexture;
            $fbo = nlei_PlatformOpenGL_ctx;
            $ctxIn = $ctxIn.$ptr0;
            $fbo.framebufferTexture2D(36160, 36064, 3553, $ctxIn, 0);
            var$6 = 36161;
            $ctxIn = nleit_WebGLBackBuffer_gles2DepthRenderbuffer;
            $ptr = 12;
        case 12:
            nlei_PlatformOpenGL__wglBindRenderbuffer(var$6, $ctxIn);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 36161;
            var$7 = 34041;
            $ptr = 13;
        case 13:
            nlei_PlatformOpenGL__wglRenderbufferStorage(var$6, var$7, $sw, $sh);
            if ($rt_suspending()) {
                break main;
            }
            $sw = 36160;
            $sh = 33306;
            var$6 = 36161;
            $ctxIn = nleit_WebGLBackBuffer_gles2DepthRenderbuffer;
            $ptr = 14;
        case 14:
            nlei_PlatformOpenGL__wglFramebufferRenderbuffer($sw, $sh, var$6, $ctxIn);
            if ($rt_suspending()) {
                break main;
            }
            $sw = 48;
            $ptr = 15;
        case 15:
            $tmp = nlei_PlatformRuntime_allocateByteBuffer($sw);
            if ($rt_suspending()) {
                break main;
            }
            $upload = $tmp;
            var$13 = 0.0;
            $ptr = 16;
        case 16:
            nleib_EaglerArrayByteBuffer_putFloat($upload, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 0.0;
            $ptr = 17;
        case 17:
            nleib_EaglerArrayByteBuffer_putFloat($upload, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 1.0;
            $ptr = 18;
        case 18:
            nleib_EaglerArrayByteBuffer_putFloat($upload, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 0.0;
            $ptr = 19;
        case 19:
            nleib_EaglerArrayByteBuffer_putFloat($upload, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 0.0;
            $ptr = 20;
        case 20:
            nleib_EaglerArrayByteBuffer_putFloat($upload, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 1.0;
            $ptr = 21;
        case 21:
            nleib_EaglerArrayByteBuffer_putFloat($upload, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 1.0;
            $ptr = 22;
        case 22:
            nleib_EaglerArrayByteBuffer_putFloat($upload, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 0.0;
            $ptr = 23;
        case 23:
            nleib_EaglerArrayByteBuffer_putFloat($upload, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 1.0;
            $ptr = 24;
        case 24:
            nleib_EaglerArrayByteBuffer_putFloat($upload, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 1.0;
            $ptr = 25;
        case 25:
            nleib_EaglerArrayByteBuffer_putFloat($upload, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 0.0;
            $ptr = 26;
        case 26:
            nleib_EaglerArrayByteBuffer_putFloat($upload, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 1.0;
            $ptr = 27;
        case 27:
            nleib_EaglerArrayByteBuffer_putFloat($upload, var$13);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayByteBuffer_flip($upload);
            $ptr = 28;
        case 28:
            $tmp = nlei_PlatformOpenGL__wglGenBuffers();
            if ($rt_suspending()) {
                break main;
            }
            $ctxIn = $tmp;
            nleit_WebGLBackBuffer_gles2BlitVBO = $ctxIn;
            $ptr = 29;
        case 29:
            nleo_EaglercraftGPU_bindVAOGLArrayBufferNow($ctxIn);
            if ($rt_suspending()) {
                break main;
            }
            $sw = 34962;
            $sh = 35044;
            $ptr = 30;
        case 30:
            nlei_PlatformOpenGL__wglBufferData($sw, $upload, $sh);
            if ($rt_suspending()) {
                break main;
            }
            if (nleit_WebGLBackBuffer_isVAOCapable) {
                $ptr = 45;
                continue main;
            }
            $sw = 35633;
            $ptr = 40;
            continue main;
        case 31:
            $tmp = nlei_PlatformOpenGL__wglCreateRenderbuffer();
            if ($rt_suspending()) {
                break main;
            }
            $ctxIn = $tmp;
            nleit_WebGLBackBuffer_gles3ColorRenderbuffer = $ctxIn;
            $ptr = 32;
        case 32:
            $tmp = nlei_PlatformOpenGL__wglCreateRenderbuffer();
            if ($rt_suspending()) {
                break main;
            }
            $ctxIn = $tmp;
            nleit_WebGLBackBuffer_gles3DepthRenderbuffer = $ctxIn;
            var$6 = 36160;
            $ptr = 33;
        case 33:
            nlei_PlatformOpenGL__wglBindFramebuffer(var$6, $eagFbo);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 36161;
            $ctxIn = nleit_WebGLBackBuffer_gles3ColorRenderbuffer;
            $ptr = 34;
        case 34:
            nlei_PlatformOpenGL__wglBindRenderbuffer(var$6, $ctxIn);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 36161;
            var$7 = 32856;
            $ptr = 35;
        case 35:
            nlei_PlatformOpenGL__wglRenderbufferStorage(var$6, var$7, $sw, $sh);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 36160;
            var$7 = 36064;
            var$8 = 36161;
            $ctxIn = nleit_WebGLBackBuffer_gles3ColorRenderbuffer;
            $ptr = 36;
        case 36:
            nlei_PlatformOpenGL__wglFramebufferRenderbuffer(var$6, var$7, var$8, $ctxIn);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 36161;
            $ctxIn = nleit_WebGLBackBuffer_gles3DepthRenderbuffer;
            $ptr = 37;
        case 37:
            nlei_PlatformOpenGL__wglBindRenderbuffer(var$6, $ctxIn);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 36161;
            var$7 = 36012;
            $ptr = 38;
        case 38:
            nlei_PlatformOpenGL__wglRenderbufferStorage(var$6, var$7, $sw, $sh);
            if ($rt_suspending()) {
                break main;
            }
            $sw = 36160;
            $sh = 36096;
            var$6 = 36161;
            $ctxIn = nleit_WebGLBackBuffer_gles3DepthRenderbuffer;
            $ptr = 39;
        case 39:
            nlei_PlatformOpenGL__wglFramebufferRenderbuffer($sw, $sh, var$6, $ctxIn);
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformOpenGL_glesVers != 200) {
                $ctxIn = nlei_PlatformOpenGL_ctx;
                var$14 = $rt_createIntArray(1);
                var$14.data[0] = 36064;
                $ctxIn.drawBuffers(otji_JS_wrap(var$14));
            }
            return;
        case 40:
            $tmp = nlei_PlatformOpenGL__wglCreateShader($sw);
            if ($rt_suspending()) {
                break main;
            }
            $vertShader = $tmp;
            $ctxIn = $rt_s(404);
            $ptr = 41;
        case 41:
            nlei_PlatformOpenGL__wglShaderSource($vertShader, $ctxIn);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 42;
        case 42:
            nlei_PlatformOpenGL__wglCompileShader($vertShader);
            if ($rt_suspending()) {
                break main;
            }
            $sw = 35632;
            $ptr = 43;
        case 43:
            $tmp = nlei_PlatformOpenGL__wglCreateShader($sw);
            if ($rt_suspending()) {
                break main;
            }
            $fragShader = $tmp;
            $ptr = 44;
        case 44:
            $tmp = nlei_PlatformOpenGL_checkTextureLODCapable();
            if ($rt_suspending()) {
                break main;
            }
            $sw = $tmp;
            $ctxIn = !$sw ? $rt_s(405) : $rt_s(406);
            $ptr = 49;
            continue main;
        case 45:
            $tmp = nlei_PlatformOpenGL__wglGenVertexArrays();
            if ($rt_suspending()) {
                break main;
            }
            $ctxIn = $tmp;
            nleit_WebGLBackBuffer_gles2BlitVAO = $ctxIn;
            $ptr = 46;
        case 46:
            nlei_PlatformOpenGL__wglBindVertexArray($ctxIn);
            if ($rt_suspending()) {
                break main;
            }
            $sw = 0;
            $ptr = 47;
        case 47:
            nlei_PlatformOpenGL__wglEnableVertexAttribArray($sw);
            if ($rt_suspending()) {
                break main;
            }
            $sw = 0;
            $sh = 2;
            var$6 = 5126;
            var$7 = 0;
            var$8 = 8;
            var$9 = 0;
            $ptr = 48;
        case 48:
            nlei_PlatformOpenGL__wglVertexAttribPointer($sw, $sh, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $sw = 35633;
            $ptr = 40;
            continue main;
        case 49:
            nlei_PlatformOpenGL__wglShaderSource($fragShader, $ctxIn);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 50;
        case 50:
            nlei_PlatformOpenGL__wglCompileShader($fragShader);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 51;
        case 51:
            $tmp = nlei_PlatformOpenGL__wglCreateProgram();
            if ($rt_suspending()) {
                break main;
            }
            $ctxIn = $tmp;
            nleit_WebGLBackBuffer_gles2BlitProgram = $ctxIn;
            $ptr = 52;
        case 52:
            nlei_PlatformOpenGL__wglAttachShader($ctxIn, $vertShader);
            if ($rt_suspending()) {
                break main;
            }
            $ctxIn = nleit_WebGLBackBuffer_gles2BlitProgram;
            $ptr = 53;
        case 53:
            nlei_PlatformOpenGL__wglAttachShader($ctxIn, $fragShader);
            if ($rt_suspending()) {
                break main;
            }
            $ctxIn = nleit_WebGLBackBuffer_gles2BlitProgram;
            $sw = 0;
            $fbo = $rt_s(407);
            $ptr = 54;
        case 54:
            nlei_PlatformOpenGL__wglBindAttribLocation($ctxIn, $sw, $fbo);
            if ($rt_suspending()) {
                break main;
            }
            $ctxIn = nleit_WebGLBackBuffer_gles2BlitProgram;
            $ptr = 55;
        case 55:
            nlei_PlatformOpenGL__wglLinkProgram($ctxIn);
            if ($rt_suspending()) {
                break main;
            }
            $ctxIn = nleit_WebGLBackBuffer_gles2BlitProgram;
            $ptr = 56;
        case 56:
            nlei_PlatformOpenGL__wglDetachShader($ctxIn, $vertShader);
            if ($rt_suspending()) {
                break main;
            }
            $ctxIn = nleit_WebGLBackBuffer_gles2BlitProgram;
            $ptr = 57;
        case 57:
            nlei_PlatformOpenGL__wglDetachShader($ctxIn, $fragShader);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 58;
        case 58:
            nlei_PlatformOpenGL__wglDeleteShader($vertShader);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 59;
        case 59:
            nlei_PlatformOpenGL__wglDeleteShader($fragShader);
            if ($rt_suspending()) {
                break main;
            }
            $ctxIn = nleit_WebGLBackBuffer_gles2BlitProgram;
            $ptr = 60;
        case 60:
            nlei_PlatformOpenGL__wglUseProgram($ctxIn);
            if ($rt_suspending()) {
                break main;
            }
            $ctxIn = nleit_WebGLBackBuffer_gles2BlitProgram;
            $fbo = $rt_s(408);
            $ptr = 61;
        case 61:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($ctxIn, $fbo);
            if ($rt_suspending()) {
                break main;
            }
            $ctxIn = $tmp;
            $sw = 0;
            $ptr = 62;
        case 62:
            nlei_PlatformOpenGL__wglUniform1i($ctxIn, $sw);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ctxIn, $fbo, $eagFbo, $sw, $sh, var$6, var$7, var$8, var$9, var$10, var$11, $upload, var$13, var$14, $vertShader, $fragShader, $ptr);
    }
    function nleit_WebGLBackBuffer_flipBuffer($windowWidth, $windowHeight) {
        var var$3, var$4, var$5, var$6, var$7, $viewportStash, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$viewportStash = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$windowHeight = $thread.pop();$windowWidth = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (nleit_WebGLBackBuffer_glesVers < 300) {
                var$3 = nleit_WebGLBackBuffer_ctx;
                var$4 = null;
                var$3.bindFramebuffer(36160, var$4);
                var$5 = 33984;
                $ptr = 1;
                continue main;
            }
            var$4 = nleit_WebGLBackBuffer_ctx;
            var$3 = nleit_WebGLBackBuffer_framebuffer;
            var$4.bindFramebuffer(36008, var$3);
            var$4 = nleit_WebGLBackBuffer_ctx;
            var$3 = null;
            var$4.bindFramebuffer(36009, var$3);
            var$4 = nleit_WebGLBackBuffer_ctx;
            var$6 = nleit_WebGLBackBuffer_width;
            var$7 = nleit_WebGLBackBuffer_height;
            var$4.blitFramebuffer(0, 0, var$6, var$7, 0, 0, $windowWidth, $windowHeight, 16384, 9728);
            var$4 = nleit_WebGLBackBuffer_ctx;
            var$3 = nleit_WebGLBackBuffer_framebuffer;
            var$4.bindFramebuffer(36160, var$3);
            if ($windowWidth == nleit_WebGLBackBuffer_width && $windowHeight == nleit_WebGLBackBuffer_height)
                return;
            nleit_WebGLBackBuffer_width = $windowWidth;
            nleit_WebGLBackBuffer_height = $windowHeight;
            var$5 = 36161;
            var$4 = nleit_WebGLBackBuffer_gles3ColorRenderbuffer;
            $ptr = 7;
            continue main;
        case 1:
            nlei_PlatformOpenGL__wglActiveTexture(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 3553;
            var$4 = nleit_WebGLBackBuffer_gles2ColorTexture;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglBindTexture(var$5, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $viewportStash = null;
            if (!nleit_WebGLBackBuffer_isEmulatedVAOPhase) {
                var$5 = 0;
                var$9 = 0;
                $ptr = 3;
                continue main;
            }
            $viewportStash = $rt_createIntArray(4);
            var$5 = 2978;
            $ptr = 6;
            continue main;
        case 3:
            nlei_PlatformOpenGL__wglViewport(var$5, var$9, $windowWidth, $windowHeight);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 2929;
            $ptr = 4;
        case 4:
            nlei_PlatformOpenGL__wglDisable(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 3042;
            $ptr = 5;
        case 5:
            nlei_PlatformOpenGL__wglDisable(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 48;
            $ptr = 11;
            continue main;
        case 6:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            switch (var$5) {
                case 2978:
                    var$10 = $viewportStash.data;
                    var$5 = 0;
                    $ptr = 13;
                    continue main;
                default:
            }
            var$4 = new jl_UnsupportedOperationException;
            jl_Throwable__init_(var$4, $rt_s(409));
            $rt_throw(var$4);
        case 7:
            nlei_PlatformOpenGL__wglBindRenderbuffer(var$5, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 36161;
            var$9 = 32856;
            $ptr = 8;
        case 8:
            nlei_PlatformOpenGL__wglRenderbufferStorage(var$5, var$9, $windowWidth, $windowHeight);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 36161;
            var$4 = nleit_WebGLBackBuffer_gles3DepthRenderbuffer;
            $ptr = 9;
        case 9:
            nlei_PlatformOpenGL__wglBindRenderbuffer(var$5, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 36161;
            var$9 = 36012;
            $ptr = 10;
        case 10:
            nlei_PlatformOpenGL__wglRenderbufferStorage(var$5, var$9, $windowWidth, $windowHeight);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 11:
            nleo_EaglercraftGPU_clearCurrentBinding(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nleit_WebGLBackBuffer_gles2BlitProgram;
            $ptr = 12;
        case 12:
            nleo_EaglercraftGPU_bindGLShaderProgram(var$4);
            if ($rt_suspending()) {
                break main;
            }
            if (nleit_WebGLBackBuffer_isEmulatedVAOPhase) {
                var$4 = nleit_WebGLBackBuffer_gles2BlitVAO;
                $ptr = 17;
                continue main;
            }
            if (!nleit_WebGLBackBuffer_isVAOCapable) {
                var$4 = nleit_WebGLBackBuffer_gles2BlitVBO;
                $ptr = 19;
                continue main;
            }
            var$4 = nleit_WebGLBackBuffer_gles2BlitVAO;
            $ptr = 23;
            continue main;
        case 13:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$10[var$5] = nleo_GlStateManager_viewportX;
            var$10[1] = nleo_GlStateManager_viewportY;
            var$10[2] = nleo_GlStateManager_viewportW;
            var$10[3] = nleo_GlStateManager_viewportH;
            var$5 = 0;
            var$9 = 0;
            $ptr = 14;
        case 14:
            nleo_GlStateManager_viewport(var$5, var$9, $windowWidth, $windowHeight);
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateDepthTestStash = nleo_GlStateManager_stateDepthTest;
            nleo_GlStateManager_stateCullStash = nleo_GlStateManager_stateCull;
            nleo_GlStateManager_stateBlendStash = nleo_GlStateManager_stateBlend;
            $ptr = 15;
        case 15:
            nleo_GlStateManager_disableDepth();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
        case 16:
            nleo_GlStateManager_disableBlend();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 48;
            $ptr = 11;
            continue main;
        case 17:
            nleo_EaglercraftGPU_bindGLVertexArray(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 4;
            var$9 = 0;
            var$11 = 6;
            $ptr = 18;
        case 18:
            nleo_EaglercraftGPU_drawArrays(var$5, var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            if ($windowWidth == nleit_WebGLBackBuffer_width && $windowHeight == nleit_WebGLBackBuffer_height) {
                if (!nleit_WebGLBackBuffer_isEmulatedVAOPhase) {
                    $windowWidth = 46;
                    $ptr = 28;
                    continue main;
                }
                $viewportStash = $viewportStash.data;
                $windowWidth = 38;
                $ptr = 29;
                continue main;
            }
            nleit_WebGLBackBuffer_width = $windowWidth;
            nleit_WebGLBackBuffer_height = $windowHeight;
            var$12 = 3553;
            var$13 = 0;
            var$6 = 6408;
            var$5 = 0;
            var$9 = 6408;
            var$11 = 5121;
            var$4 = null;
            $ptr = 25;
            continue main;
        case 19:
            nleo_EaglercraftGPU_bindGLArrayBuffer(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 0;
            $ptr = 20;
        case 20:
            nlei_PlatformOpenGL__wglEnableVertexAttribArray(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 0;
            var$5 = 2;
            var$9 = 5126;
            var$11 = 0;
            var$12 = 8;
            var$13 = 0;
            $ptr = 21;
        case 21:
            nlei_PlatformOpenGL__wglVertexAttribPointer(var$6, var$5, var$9, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 4;
            var$9 = 0;
            var$11 = 6;
            $ptr = 22;
        case 22:
            nlei_PlatformOpenGL__wglDrawArrays(var$5, var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            if ($windowWidth == nleit_WebGLBackBuffer_width && $windowHeight == nleit_WebGLBackBuffer_height) {
                if (!nleit_WebGLBackBuffer_isEmulatedVAOPhase) {
                    $windowWidth = 46;
                    $ptr = 28;
                    continue main;
                }
                $viewportStash = $viewportStash.data;
                $windowWidth = 38;
                $ptr = 29;
                continue main;
            }
            nleit_WebGLBackBuffer_width = $windowWidth;
            nleit_WebGLBackBuffer_height = $windowHeight;
            var$12 = 3553;
            var$13 = 0;
            var$6 = 6408;
            var$5 = 0;
            var$9 = 6408;
            var$11 = 5121;
            var$4 = null;
            $ptr = 25;
            continue main;
        case 23:
            nlei_PlatformOpenGL__wglBindVertexArray(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 4;
            var$9 = 0;
            var$11 = 6;
            $ptr = 24;
        case 24:
            nlei_PlatformOpenGL__wglDrawArrays(var$5, var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            if ($windowWidth == nleit_WebGLBackBuffer_width && $windowHeight == nleit_WebGLBackBuffer_height) {
                if (!nleit_WebGLBackBuffer_isEmulatedVAOPhase) {
                    $windowWidth = 46;
                    $ptr = 28;
                    continue main;
                }
                $viewportStash = $viewportStash.data;
                $windowWidth = 38;
                $ptr = 29;
                continue main;
            }
            nleit_WebGLBackBuffer_width = $windowWidth;
            nleit_WebGLBackBuffer_height = $windowHeight;
            var$12 = 3553;
            var$13 = 0;
            var$6 = 6408;
            var$5 = 0;
            var$9 = 6408;
            var$11 = 5121;
            var$4 = null;
            $ptr = 25;
        case 25:
            nlei_PlatformOpenGL__wglTexImage2D(var$12, var$13, var$6, $windowWidth, $windowHeight, var$5, var$9, var$11, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 36161;
            var$4 = nleit_WebGLBackBuffer_gles2DepthRenderbuffer;
            $ptr = 26;
        case 26:
            nlei_PlatformOpenGL__wglBindRenderbuffer(var$5, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 36161;
            var$9 = 34041;
            $ptr = 27;
        case 27:
            nlei_PlatformOpenGL__wglRenderbufferStorage(var$5, var$9, $windowWidth, $windowHeight);
            if ($rt_suspending()) {
                break main;
            }
            if (!nleit_WebGLBackBuffer_isEmulatedVAOPhase) {
                $windowWidth = 46;
                $ptr = 28;
                continue main;
            }
            $viewportStash = $viewportStash.data;
            $windowWidth = 38;
            $ptr = 29;
            continue main;
        case 28:
            nleo_EaglercraftGPU_clearCurrentBinding($windowWidth);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nleit_WebGLBackBuffer_ctx;
            var$3 = nleit_WebGLBackBuffer_framebuffer;
            var$4.bindFramebuffer(36160, var$3);
            return;
        case 29:
            nleo_EaglercraftGPU_clearCurrentBinding($windowWidth);
            if ($rt_suspending()) {
                break main;
            }
            if ($viewportStash[2] <= 0) {
                $ptr = 30;
                continue main;
            }
            $windowWidth = $viewportStash[0];
            $windowHeight = $viewportStash[1];
            var$5 = $viewportStash[2];
            var$9 = $viewportStash[3];
            $ptr = 31;
            continue main;
        case 30:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_GlStateManager_stateDepthTestStash) {
                $ptr = 32;
                continue main;
            }
            $ptr = 33;
            continue main;
        case 31:
            nleo_GlStateManager_viewport($windowWidth, $windowHeight, var$5, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 30;
            continue main;
        case 32:
            nleo_GlStateManager_disableDepth();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_GlStateManager_stateCullStash) {
                $ptr = 34;
                continue main;
            }
            $ptr = 35;
            continue main;
        case 33:
            nleo_GlStateManager_enableDepth();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_GlStateManager_stateCullStash) {
                $ptr = 34;
                continue main;
            }
            $ptr = 35;
            continue main;
        case 34:
            nleo_GlStateManager_disableCull();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_GlStateManager_stateBlendStash) {
                $ptr = 36;
                continue main;
            }
            $ptr = 37;
            continue main;
        case 35:
            nleo_GlStateManager_enableCull();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_GlStateManager_stateBlendStash) {
                $ptr = 36;
                continue main;
            }
            $ptr = 37;
            continue main;
        case 36:
            nleo_GlStateManager_disableBlend();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nleit_WebGLBackBuffer_ctx;
            var$3 = nleit_WebGLBackBuffer_framebuffer;
            var$4.bindFramebuffer(36160, var$3);
            return;
        case 37:
            nleo_GlStateManager_enableBlend();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nleit_WebGLBackBuffer_ctx;
            var$3 = nleit_WebGLBackBuffer_framebuffer;
            var$4.bindFramebuffer(36160, var$3);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($windowWidth, $windowHeight, var$3, var$4, var$5, var$6, var$7, $viewportStash, var$9, var$10, var$11, var$12, var$13, $ptr);
    }
    function nleit_WebGLBackBuffer__clinit_() {
        nleit_WebGLBackBuffer_glesVers = (-1);
        nleit_WebGLBackBuffer_isVAOCapable = 0;
        nleit_WebGLBackBuffer_isEmulatedVAOPhase = 0;
    }
    var nlei_PlatformInput = $rt_classWithoutFields();
    var nlei_PlatformInput_win = null;
    var nlei_PlatformInput_parent = null;
    var nlei_PlatformInput_canvas = null;
    var nlei_PlatformInput_contextmenu = null;
    var nlei_PlatformInput_mousedown = null;
    var nlei_PlatformInput_mouseup = null;
    var nlei_PlatformInput_mousemove = null;
    var nlei_PlatformInput_mouseenter = null;
    var nlei_PlatformInput_mouseleave = null;
    var nlei_PlatformInput_touchstart = null;
    var nlei_PlatformInput_touchend = null;
    var nlei_PlatformInput_touchmove = null;
    var nlei_PlatformInput_touchcancel = null;
    var nlei_PlatformInput_keydown = null;
    var nlei_PlatformInput_keyup = null;
    var nlei_PlatformInput_wheel = null;
    var nlei_PlatformInput_focus = null;
    var nlei_PlatformInput_blur = null;
    var nlei_PlatformInput_pointerlock = null;
    var nlei_PlatformInput_pointerlockerr = null;
    var nlei_PlatformInput_fullscreen = null;
    var nlei_PlatformInput_keyCodeTranslatorMap = null;
    var nlei_PlatformInput_pastedStrings = null;
    var nlei_PlatformInput_mouseEvents = null;
    var nlei_PlatformInput_keyEvents = null;
    var nlei_PlatformInput_hasShownPressAnyKey = 0;
    var nlei_PlatformInput_isOnMobilePressAnyKey = 0;
    var nlei_PlatformInput_mobilePressAnyKeyScreen = null;
    var nlei_PlatformInput_mobilePressAnyKey = null;
    var nlei_PlatformInput_isLikelyMobileBrowser = 0;
    var nlei_PlatformInput_mouseX = 0;
    var nlei_PlatformInput_mouseY = 0;
    var nlei_PlatformInput_mouseDX = 0.0;
    var nlei_PlatformInput_mouseDY = 0.0;
    var nlei_PlatformInput_mouseDWheel = 0.0;
    var nlei_PlatformInput_enableRepeatEvents = 0;
    var nlei_PlatformInput_isWindowFocused = 0;
    var nlei_PlatformInput_isMouseOverWindow = 0;
    var nlei_PlatformInput_unpressCTRL = 0;
    var nlei_PlatformInput_touchOffsetXTeaVM = 0;
    var nlei_PlatformInput_touchOffsetYTeaVM = 0;
    var nlei_PlatformInput_windowWidth = 0;
    var nlei_PlatformInput_windowHeight = 0;
    var nlei_PlatformInput_windowDPI = 0.0;
    var nlei_PlatformInput_visualViewportX = 0;
    var nlei_PlatformInput_visualViewportY = 0;
    var nlei_PlatformInput_visualViewportW = 0;
    var nlei_PlatformInput_visualViewportH = 0;
    var nlei_PlatformInput_lastWasResizedWindowWidth = 0;
    var nlei_PlatformInput_lastWasResizedWindowHeight = 0;
    var nlei_PlatformInput_lastWasResizedWindowDPI = 0.0;
    var nlei_PlatformInput_lastWasResizedVisualViewportX = 0;
    var nlei_PlatformInput_lastWasResizedVisualViewportY = 0;
    var nlei_PlatformInput_lastWasResizedVisualViewportW = 0;
    var nlei_PlatformInput_lastWasResizedVisualViewportH = 0;
    var nlei_PlatformInput_currentEvent = null;
    var nlei_PlatformInput_currentEventK = null;
    var nlei_PlatformInput_buttonStates = null;
    var nlei_PlatformInput_keyStates = null;
    var nlei_PlatformInput_functionKeyModifier = 0;
    var nlei_PlatformInput_pointerLockSupported = 0;
    var nlei_PlatformInput_mouseUngrabTimer = Long_ZERO;
    var nlei_PlatformInput_mouseGrabTimer = Long_ZERO;
    var nlei_PlatformInput_mouseUngrabTimeout = 0;
    var nlei_PlatformInput_pointerLockFlag = 0;
    var nlei_PlatformInput_pointerLockWaiting = 0;
    var nlei_PlatformInput_fullscreenSupported = 0;
    var nlei_PlatformInput_fullscreenQuery = null;
    var nlei_PlatformInput_keyboardLockSupported = 0;
    var nlei_PlatformInput_lockKeys = 0;
    var nlei_PlatformInput_vsync = 0;
    var nlei_PlatformInput_vsyncSupport = 0;
    var nlei_PlatformInput_vsyncWaiting = Long_ZERO;
    var nlei_PlatformInput_vsyncAsyncCallback = null;
    var nlei_PlatformInput_vsyncTimeout = 0;
    var nlei_PlatformInput_vsyncSaveLockInterval = 0;
    var nlei_PlatformInput_syncTimer = 0.0;
    function nlei_PlatformInput__init_0() {
        var var_0 = new nlei_PlatformInput();
        nlei_PlatformInput__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput__init_($this) {}
    function nlei_PlatformInput_initHooks($window, $parent_, $canvaz) {
        var $keycodeTranslator, $t, var$6, $cnt, var$8, $ua, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$ua = $thread.pop();var$8 = $thread.pop();$cnt = $thread.pop();var$6 = $thread.pop();$t = $thread.pop();$keycodeTranslator = $thread.pop();$canvaz = $thread.pop();$parent_ = $thread.pop();$window = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nlei_PlatformInput_win = $window;
            nlei_PlatformInput_parent = $parent_;
            nlei_PlatformInput_canvas = $canvaz;
            $canvaz.style.setProperty("cursor", "default");
            nlei_PlatformInput_lastWasResizedWindowWidth = (-2);
            nlei_PlatformInput_lastWasResizedWindowHeight = (-2);
            nlei_PlatformInput_lastWasResizedWindowDPI = (-2.0);
            nlei_PlatformInput_lastWasResizedVisualViewportX = (-2);
            nlei_PlatformInput_lastWasResizedVisualViewportY = (-2);
            nlei_PlatformInput_lastWasResizedVisualViewportW = (-2);
            nlei_PlatformInput_lastWasResizedVisualViewportH = (-2);
            nlei_PlatformInput_hasShownPressAnyKey = 0;
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $parent_ = nlei_PlatformRuntime_logger;
            $canvaz = $rt_s(410);
            $ptr = 2;
        case 2:
            oall_Logger_info($parent_, $canvaz);
            if ($rt_suspending()) {
                break main;
            }
            $keycodeTranslator = new nleit_LegacyKeycodeTranslator;
            $ptr = 3;
        case 3:
            nleit_LegacyKeycodeTranslator__init_($keycodeTranslator);
            if ($rt_suspending()) {
                break main;
            }
            if (!(!!($rt_globals.navigator.keyboard && $rt_globals.navigator.keyboard.getLayoutMap) ? 1 : 0)) {
                $ptr = 4;
                continue main;
            }
            try {
                ju_Objects_requireNonNull($keycodeTranslator);
                $parent_ = nlei_PlatformInput$initHooks$lambda$_3_0__init_($keycodeTranslator);
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $t = $$je;
                } else {
                    throw $$e;
                }
            }
            $parent_ = nlei_PlatformRuntime_logger;
            $canvaz = $rt_s(411);
            $ptr = 5;
            continue main;
        case 4:
            $tmp = nleit_LegacyKeycodeTranslator_buildLayoutTable($keycodeTranslator);
            if ($rt_suspending()) {
                break main;
            }
            $parent_ = $tmp;
            nlei_PlatformInput_keyCodeTranslatorMap = $parent_;
            $parent_ = nlei_PlatformInput_parent;
            $keycodeTranslator = nlei_PlatformInput$1__init_0();
            nlei_PlatformInput_contextmenu = $keycodeTranslator;
            $parent_.addEventListener("contextmenu", otji_JS_function($keycodeTranslator, "handleEvent"));
            $parent_ = nlei_PlatformInput_canvas;
            $keycodeTranslator = nlei_PlatformInput$2__init_0();
            nlei_PlatformInput_mousedown = $keycodeTranslator;
            $parent_.addEventListener("mousedown", otji_JS_function($keycodeTranslator, "handleEvent"));
            $parent_ = nlei_PlatformInput_canvas;
            $keycodeTranslator = nlei_PlatformInput$3__init_0();
            nlei_PlatformInput_mouseup = $keycodeTranslator;
            $parent_.addEventListener("mouseup", otji_JS_function($keycodeTranslator, "handleEvent"));
            $parent_ = nlei_PlatformInput_canvas;
            $keycodeTranslator = nlei_PlatformInput$4__init_0();
            nlei_PlatformInput_mousemove = $keycodeTranslator;
            $parent_.addEventListener("mousemove", otji_JS_function($keycodeTranslator, "handleEvent"));
            $parent_ = nlei_PlatformInput_canvas;
            $keycodeTranslator = nlei_PlatformInput$5__init_0();
            nlei_PlatformInput_mouseenter = $keycodeTranslator;
            $parent_.addEventListener("mouseenter", otji_JS_function($keycodeTranslator, "handleEvent"));
            $parent_ = nlei_PlatformInput_canvas;
            $keycodeTranslator = nlei_PlatformInput$6__init_0();
            nlei_PlatformInput_mouseleave = $keycodeTranslator;
            $parent_.addEventListener("mouseleave", otji_JS_function($keycodeTranslator, "handleEvent"));
            $parent_ = nlei_PlatformInput_win;
            $keycodeTranslator = nlei_PlatformInput$7__init_0();
            nlei_PlatformInput_keydown = $keycodeTranslator;
            $parent_.addEventListener("keydown", otji_JS_function($keycodeTranslator, "handleEvent"));
            $parent_ = nlei_PlatformInput_win;
            $keycodeTranslator = nlei_PlatformInput$8__init_0();
            nlei_PlatformInput_keyup = $keycodeTranslator;
            $parent_.addEventListener("keyup", otji_JS_function($keycodeTranslator, "handleEvent"));
            $parent_ = nlei_PlatformInput_canvas;
            $keycodeTranslator = nlei_PlatformInput$9__init_0();
            nlei_PlatformInput_wheel = $keycodeTranslator;
            $parent_.addEventListener("wheel", otji_JS_function($keycodeTranslator, "handleEvent"));
            $parent_ = nlei_PlatformInput_win;
            $keycodeTranslator = nlei_PlatformInput$10__init_0();
            nlei_PlatformInput_blur = $keycodeTranslator;
            $parent_.addEventListener("blur", otji_JS_function($keycodeTranslator, "handleEvent"));
            $parent_ = nlei_PlatformInput_win;
            $keycodeTranslator = nlei_PlatformInput$11__init_0();
            nlei_PlatformInput_focus = $keycodeTranslator;
            $parent_.addEventListener("focus", otji_JS_function($keycodeTranslator, "handleEvent"));
            a: {
                try {
                    nlei_PlatformInput_pointerLockSupported = nlei_PlatformInput_getSupportedPointerLock$js_body$_8(nlei_PlatformInput_win.document);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                nlei_PlatformInput_pointerLockSupported = 0;
            }
            if (!nlei_PlatformInput_pointerLockSupported) {
                $parent_ = nlei_PlatformRuntime_logger;
                $canvaz = $rt_s(412);
                $ptr = 10;
                continue main;
            }
            $keycodeTranslator = nlei_PlatformInput_win.document;
            $parent_ = nlei_PlatformInput_pointerLockSupported != 2 ? $rt_s(413) : $rt_s(414);
            $canvaz = nlei_PlatformInput$12__init_0();
            nlei_PlatformInput_pointerlock = $canvaz;
            $keycodeTranslator.addEventListener($rt_ustr($parent_), otji_JS_function($canvaz, "handleEvent"));
            $keycodeTranslator = nlei_PlatformInput_win.document;
            $parent_ = nlei_PlatformInput_pointerLockSupported != 2 ? $rt_s(415) : $rt_s(416);
            $canvaz = nlei_PlatformInput$13__init_0();
            nlei_PlatformInput_pointerlockerr = $canvaz;
            $keycodeTranslator.addEventListener($rt_ustr($parent_), otji_JS_function($canvaz, "handleEvent"));
            if (nlei_PlatformInput_pointerLockSupported == 2) {
                $parent_ = nlei_PlatformRuntime_logger;
                $canvaz = $rt_s(417);
                $ptr = 12;
                continue main;
            }
            if (nlei_PlatformInput_pointerLockSupported) {
                $ptr = 11;
                continue main;
            }
            nlei_PlatformInput_isLikelyMobileBrowser = 1;
            b: {
                try {
                    nlei_PlatformInput_fullscreenSupported = nlei_PlatformInput_getSupportedFullScreen$js_body$_9(nlei_PlatformInput_win.document);
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                nlei_PlatformInput_fullscreenSupported = 0;
            }
            if (!nlei_PlatformInput_fullscreenSupported) {
                $parent_ = nlei_PlatformRuntime_logger;
                $canvaz = $rt_s(418);
                $ptr = 13;
                continue main;
            }
            nlei_PlatformInput_fullscreenQuery = $rt_globals.window.matchMedia("(display-mode: fullscreen)");
            if (nlei_PlatformInput_fullscreenSupported == 1) {
                var$6 = !!($rt_globals.navigator.keyboard && $rt_globals.navigator.keyboard.lock) ? 1 : 0;
                nlei_PlatformInput_keyboardLockSupported = var$6;
                if (var$6) {
                    $parent_ = nlei_PlatformInput_fullscreenQuery;
                    $keycodeTranslator = nlei_PlatformInput$14__init_0();
                    nlei_PlatformInput_fullscreen = $keycodeTranslator;
                    $parent_.addEventListener("change", $keycodeTranslator);
                }
            }
            var$6 = nlei_PlatformInput_fullscreenSupported;
            if (var$6 == 2) {
                $parent_ = nlei_PlatformRuntime_logger;
                $canvaz = $rt_s(419);
                $ptr = 14;
                continue main;
            }
            if (var$6 != 3) {
                c: {
                    try {
                        nlei_PlatformInput_onBeforeCloseRegister$js_body$_2($window, otji_JS_function(nlei_PlatformInput$initHooks$lambda$_3_1__init_0(), "call"));
                        break c;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                        } else {
                            throw $$e;
                        }
                    }
                }
                nlei_PlatformInput_vsyncWaiting = Long_fromInt(-1);
                nlei_PlatformInput_vsyncAsyncCallback = null;
                nlei_PlatformInput_vsyncTimeout = (-1);
                nlei_PlatformInput_vsyncSupport = 0;
                try {
                    $ptr = 16;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                $window = nlei_PlatformRuntime_logger;
                $parent_ = $rt_s(420);
                $ptr = 17;
                continue main;
            }
            $parent_ = nlei_PlatformRuntime_logger;
            $canvaz = $rt_s(421);
            $ptr = 15;
            continue main;
        case 5:
            oall_Logger_error0($parent_, $canvaz);
            if ($rt_suspending()) {
                break main;
            }
            $parent_ = nlei_PlatformRuntime_logger;
            $ptr = 6;
        case 6:
            oall_Logger_error1($parent_, $t);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
            continue main;
        case 7:
            a: {
                try {
                    nlei_PlatformInput_iterateKeyboardLayout($parent_);
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $t = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 8;
                continue main;
            }
            $parent_ = nlei_PlatformRuntime_logger;
            $canvaz = $rt_s(411);
            $ptr = 5;
            continue main;
        case 8:
            $tmp = nleit_LegacyKeycodeTranslator_getRemappedKeyCount($keycodeTranslator);
            if ($rt_suspending()) {
                break main;
            }
            $cnt = $tmp;
            if ($cnt <= 0) {
                $ptr = 4;
                continue main;
            }
            $parent_ = nlei_PlatformRuntime_logger;
            $canvaz = $rt_s(422);
            var$8 = $rt_createArray(jl_Object, 1);
            var$8.data[0] = jl_Integer_valueOf($cnt);
            $ptr = 9;
        case 9:
            oall_Logger_info0($parent_, $canvaz, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
            continue main;
        case 10:
            oall_Logger_error0($parent_, $canvaz);
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformInput_pointerLockSupported) {
                $ptr = 11;
                continue main;
            }
            nlei_PlatformInput_isLikelyMobileBrowser = 1;
            d: {
                try {
                    nlei_PlatformInput_fullscreenSupported = nlei_PlatformInput_getSupportedFullScreen$js_body$_9(nlei_PlatformInput_win.document);
                    break d;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                nlei_PlatformInput_fullscreenSupported = 0;
            }
            if (!nlei_PlatformInput_fullscreenSupported) {
                $parent_ = nlei_PlatformRuntime_logger;
                $canvaz = $rt_s(418);
                $ptr = 13;
                continue main;
            }
            nlei_PlatformInput_fullscreenQuery = $rt_globals.window.matchMedia("(display-mode: fullscreen)");
            if (nlei_PlatformInput_fullscreenSupported == 1) {
                var$6 = !!($rt_globals.navigator.keyboard && $rt_globals.navigator.keyboard.lock) ? 1 : 0;
                nlei_PlatformInput_keyboardLockSupported = var$6;
                if (var$6) {
                    $parent_ = nlei_PlatformInput_fullscreenQuery;
                    $keycodeTranslator = nlei_PlatformInput$14__init_0();
                    nlei_PlatformInput_fullscreen = $keycodeTranslator;
                    $parent_.addEventListener("change", $keycodeTranslator);
                }
            }
            var$6 = nlei_PlatformInput_fullscreenSupported;
            if (var$6 == 2) {
                $parent_ = nlei_PlatformRuntime_logger;
                $canvaz = $rt_s(419);
                $ptr = 14;
                continue main;
            }
            if (var$6 != 3) {
                e: {
                    try {
                        nlei_PlatformInput_onBeforeCloseRegister$js_body$_2($window, otji_JS_function(nlei_PlatformInput$initHooks$lambda$_3_1__init_0(), "call"));
                        break e;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                        } else {
                            throw $$e;
                        }
                    }
                }
                nlei_PlatformInput_vsyncWaiting = Long_fromInt(-1);
                nlei_PlatformInput_vsyncAsyncCallback = null;
                nlei_PlatformInput_vsyncTimeout = (-1);
                nlei_PlatformInput_vsyncSupport = 0;
                try {
                    $ptr = 16;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                $window = nlei_PlatformRuntime_logger;
                $parent_ = $rt_s(420);
                $ptr = 17;
                continue main;
            }
            $parent_ = nlei_PlatformRuntime_logger;
            $canvaz = $rt_s(421);
            $ptr = 15;
            continue main;
        case 11:
            $tmp = $rt_globals.navigator.userAgent || null;
            if ($rt_suspending()) {
                break main;
            }
            $parent_ = $tmp;
            $ua = $rt_str($parent_);
            if ($ua === null)
                nlei_PlatformInput_isLikelyMobileBrowser = 0;
            else {
                $parent_ = jl_String_toLowerCase($ua);
                nlei_PlatformInput_isLikelyMobileBrowser = !jl_String_contains($parent_, $rt_s(423)) && !jl_String_contains($parent_, $rt_s(424)) ? 0 : 1;
            }
            f: {
                try {
                    nlei_PlatformInput_fullscreenSupported = nlei_PlatformInput_getSupportedFullScreen$js_body$_9(nlei_PlatformInput_win.document);
                    break f;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                nlei_PlatformInput_fullscreenSupported = 0;
            }
            if (!nlei_PlatformInput_fullscreenSupported) {
                $parent_ = nlei_PlatformRuntime_logger;
                $canvaz = $rt_s(418);
                $ptr = 13;
                continue main;
            }
            nlei_PlatformInput_fullscreenQuery = $rt_globals.window.matchMedia("(display-mode: fullscreen)");
            if (nlei_PlatformInput_fullscreenSupported == 1) {
                var$6 = !!($rt_globals.navigator.keyboard && $rt_globals.navigator.keyboard.lock) ? 1 : 0;
                nlei_PlatformInput_keyboardLockSupported = var$6;
                if (var$6) {
                    $parent_ = nlei_PlatformInput_fullscreenQuery;
                    $keycodeTranslator = nlei_PlatformInput$14__init_0();
                    nlei_PlatformInput_fullscreen = $keycodeTranslator;
                    $parent_.addEventListener("change", $keycodeTranslator);
                }
            }
            var$6 = nlei_PlatformInput_fullscreenSupported;
            if (var$6 == 2) {
                $parent_ = nlei_PlatformRuntime_logger;
                $canvaz = $rt_s(419);
                $ptr = 14;
                continue main;
            }
            if (var$6 != 3) {
                g: {
                    try {
                        nlei_PlatformInput_onBeforeCloseRegister$js_body$_2($window, otji_JS_function(nlei_PlatformInput$initHooks$lambda$_3_1__init_0(), "call"));
                        break g;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                        } else {
                            throw $$e;
                        }
                    }
                }
                nlei_PlatformInput_vsyncWaiting = Long_fromInt(-1);
                nlei_PlatformInput_vsyncAsyncCallback = null;
                nlei_PlatformInput_vsyncTimeout = (-1);
                nlei_PlatformInput_vsyncSupport = 0;
                try {
                    $ptr = 16;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                $window = nlei_PlatformRuntime_logger;
                $parent_ = $rt_s(420);
                $ptr = 17;
                continue main;
            }
            $parent_ = nlei_PlatformRuntime_logger;
            $canvaz = $rt_s(421);
            $ptr = 15;
            continue main;
        case 12:
            oall_Logger_info($parent_, $canvaz);
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformInput_pointerLockSupported) {
                $ptr = 11;
                continue main;
            }
            nlei_PlatformInput_isLikelyMobileBrowser = 1;
            d: {
                try {
                    nlei_PlatformInput_fullscreenSupported = nlei_PlatformInput_getSupportedFullScreen$js_body$_9(nlei_PlatformInput_win.document);
                    break d;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                nlei_PlatformInput_fullscreenSupported = 0;
            }
            if (!nlei_PlatformInput_fullscreenSupported) {
                $parent_ = nlei_PlatformRuntime_logger;
                $canvaz = $rt_s(418);
                $ptr = 13;
                continue main;
            }
            nlei_PlatformInput_fullscreenQuery = $rt_globals.window.matchMedia("(display-mode: fullscreen)");
            if (nlei_PlatformInput_fullscreenSupported == 1) {
                var$6 = !!($rt_globals.navigator.keyboard && $rt_globals.navigator.keyboard.lock) ? 1 : 0;
                nlei_PlatformInput_keyboardLockSupported = var$6;
                if (var$6) {
                    $parent_ = nlei_PlatformInput_fullscreenQuery;
                    $keycodeTranslator = nlei_PlatformInput$14__init_0();
                    nlei_PlatformInput_fullscreen = $keycodeTranslator;
                    $parent_.addEventListener("change", $keycodeTranslator);
                }
            }
            var$6 = nlei_PlatformInput_fullscreenSupported;
            if (var$6 == 2) {
                $parent_ = nlei_PlatformRuntime_logger;
                $canvaz = $rt_s(419);
                $ptr = 14;
                continue main;
            }
            if (var$6 != 3) {
                e: {
                    try {
                        nlei_PlatformInput_onBeforeCloseRegister$js_body$_2($window, otji_JS_function(nlei_PlatformInput$initHooks$lambda$_3_1__init_0(), "call"));
                        break e;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                        } else {
                            throw $$e;
                        }
                    }
                }
                nlei_PlatformInput_vsyncWaiting = Long_fromInt(-1);
                nlei_PlatformInput_vsyncAsyncCallback = null;
                nlei_PlatformInput_vsyncTimeout = (-1);
                nlei_PlatformInput_vsyncSupport = 0;
                try {
                    $ptr = 16;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                $window = nlei_PlatformRuntime_logger;
                $parent_ = $rt_s(420);
                $ptr = 17;
                continue main;
            }
            $parent_ = nlei_PlatformRuntime_logger;
            $canvaz = $rt_s(421);
            $ptr = 15;
            continue main;
        case 13:
            oall_Logger_error0($parent_, $canvaz);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                try {
                    nlei_PlatformInput_onBeforeCloseRegister$js_body$_2($window, otji_JS_function(nlei_PlatformInput$initHooks$lambda$_3_1__init_0(), "call"));
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            nlei_PlatformInput_vsyncWaiting = Long_fromInt(-1);
            nlei_PlatformInput_vsyncAsyncCallback = null;
            nlei_PlatformInput_vsyncTimeout = (-1);
            nlei_PlatformInput_vsyncSupport = 0;
            try {
                $ptr = 16;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            $window = nlei_PlatformRuntime_logger;
            $parent_ = $rt_s(420);
            $ptr = 17;
            continue main;
        case 14:
            oall_Logger_info($parent_, $canvaz);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                try {
                    nlei_PlatformInput_onBeforeCloseRegister$js_body$_2($window, otji_JS_function(nlei_PlatformInput$initHooks$lambda$_3_1__init_0(), "call"));
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            nlei_PlatformInput_vsyncWaiting = Long_fromInt(-1);
            nlei_PlatformInput_vsyncAsyncCallback = null;
            nlei_PlatformInput_vsyncTimeout = (-1);
            nlei_PlatformInput_vsyncSupport = 0;
            try {
                $ptr = 16;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            $window = nlei_PlatformRuntime_logger;
            $parent_ = $rt_s(420);
            $ptr = 17;
            continue main;
        case 15:
            oall_Logger_info($parent_, $canvaz);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                try {
                    nlei_PlatformInput_onBeforeCloseRegister$js_body$_2($window, otji_JS_function(nlei_PlatformInput$initHooks$lambda$_3_1__init_0(), "call"));
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            nlei_PlatformInput_vsyncWaiting = Long_fromInt(-1);
            nlei_PlatformInput_vsyncAsyncCallback = null;
            nlei_PlatformInput_vsyncTimeout = (-1);
            nlei_PlatformInput_vsyncSupport = 0;
            try {
                $ptr = 16;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            $window = nlei_PlatformRuntime_logger;
            $parent_ = $rt_s(420);
            $ptr = 17;
            continue main;
        case 16:
            a: {
                try {
                    nlei_PlatformInput_asyncRequestAnimationFrame();
                    if ($rt_suspending()) {
                        break main;
                    }
                    nlei_PlatformInput_vsyncSupport = 1;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                if (nlei_PlatformInput_vsyncSupport) {
                    var$6 = nlei_PlatformInput_vsyncSaveLockInterval;
                    if (var$6 != (-1)) {
                        h: {
                            try {
                                $rt_globals.clearInterval(var$6);
                                break h;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof jl_Throwable) {
                                } else {
                                    throw $$e;
                                }
                            }
                        }
                        nlei_PlatformInput_vsyncSaveLockInterval = (-1);
                    }
                    nlei_PlatformInput_vsyncSaveLockInterval = $rt_globals.setInterval(otji_JS_function(nlei_PlatformInput$initHooks$lambda$_3_2__init_0(), "onTimer"), 1000);
                }
                return;
            }
            $window = nlei_PlatformRuntime_logger;
            $parent_ = $rt_s(420);
            $ptr = 17;
        case 17:
            oall_Logger_error0($window, $parent_);
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformInput_vsyncSupport) {
                var$6 = nlei_PlatformInput_vsyncSaveLockInterval;
                if (var$6 != (-1)) {
                    i: {
                        try {
                            $rt_globals.clearInterval(var$6);
                            break i;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                            } else {
                                throw $$e;
                            }
                        }
                    }
                    nlei_PlatformInput_vsyncSaveLockInterval = (-1);
                }
                nlei_PlatformInput_vsyncSaveLockInterval = $rt_globals.setInterval(otji_JS_function(nlei_PlatformInput$initHooks$lambda$_3_2__init_0(), "onTimer"), 1000);
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($window, $parent_, $canvaz, $keycodeTranslator, $t, var$6, $cnt, var$8, $ua, $ptr);
    }
    function nlei_PlatformInput_iterateKeyboardLayout(var$1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformInput_iterateKeyboardLayout$_asyncCall_$(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nlei_PlatformInput_iterateKeyboardLayout0($cb, $complete) {
        var var$3;
        var$3 = new nlei_PlatformInput$iterateKeyboardLayout$lambda$_6_0;
        var$3.$_011 = $complete;
        nlei_PlatformInput_iterateKeyboardLayout0$js_body$_4(otji_JS_function($cb, "call"), otji_JS_function(var$3, "call"));
    }
    function nlei_PlatformInput_update() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 0;
            $ptr = 1;
        case 1:
            nlei_PlatformInput_update0(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nlei_PlatformInput_update0($fpsLimit) {
        var $r, $w, $h, $w2, $h2, $vv, var$8, $scale, $remaining, $frameMillis, $millis, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$millis = $thread.pop();$frameMillis = $thread.pop();$remaining = $thread.pop();$scale = $thread.pop();var$8 = $thread.pop();$vv = $thread.pop();$h2 = $thread.pop();$w2 = $thread.pop();$h = $thread.pop();$w = $thread.pop();$r = $thread.pop();$fpsLimit = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $r = nlei_PlatformInput_getDevicePixelRatio$js_body$_29(nlei_PlatformInput_win);
            if ($r < 0.01)
                $r = 1.0;
            nlei_PlatformInput_windowDPI = $r;
            $w = nlei_PlatformInput_parent.clientWidth;
            $h = nlei_PlatformInput_parent.clientHeight;
            $w2 = $w * $r | 0;
            nlei_PlatformInput_windowWidth = $w2;
            $h2 = $h * $r | 0;
            nlei_PlatformInput_windowHeight = $h2;
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformRuntime_useVisualViewport) {
                $ptr = 2;
                continue main;
            }
            nlei_PlatformInput_visualViewportX = 0;
            nlei_PlatformInput_visualViewportY = 0;
            nlei_PlatformInput_visualViewportW = $w2;
            nlei_PlatformInput_visualViewportH = $h2;
            if (nlei_PlatformInput_canvas.width != $w2) {
                $vv = nlei_PlatformInput_canvas;
                var$8 = $w2;
                $vv.width = var$8;
            }
            if (nlei_PlatformInput_canvas.height != $h2) {
                $vv = nlei_PlatformInput_canvas;
                var$8 = $h2;
                $vv.height = var$8;
            }
            $ptr = 3;
            continue main;
        case 2:
            $tmp = $rt_globals.visualViewport;
            if ($rt_suspending()) {
                break main;
            }
            $vv = $tmp;
            $scale = $vv.scale;
            nlei_PlatformInput_visualViewportX = $vv.pageLeft * $r * $scale | 0;
            nlei_PlatformInput_visualViewportY = $vv.pageTop * $r * $scale | 0;
            nlei_PlatformInput_visualViewportW = $vv.width * $r * $scale | 0;
            $w = $vv.height * $r * $scale | 0;
            nlei_PlatformInput_visualViewportH = $w;
            if (nlei_PlatformInput_visualViewportW < 1)
                nlei_PlatformInput_visualViewportW = 1;
            if ($w < 1)
                nlei_PlatformInput_visualViewportH = 1;
            $remaining = nlei_PlatformInput_visualViewportX;
            if ($remaining < 0) {
                nlei_PlatformInput_visualViewportW = nlei_PlatformInput_visualViewportW + $remaining | 0;
                nlei_PlatformInput_visualViewportX = 0;
            } else {
                $w = nlei_PlatformInput_windowWidth;
                if ($remaining >= $w)
                    nlei_PlatformInput_visualViewportX = $w - 1 | 0;
            }
            $w = nlei_PlatformInput_visualViewportY;
            if ($w < 0) {
                nlei_PlatformInput_visualViewportH = nlei_PlatformInput_visualViewportH + $w | 0;
                nlei_PlatformInput_visualViewportY = 0;
            } else {
                $remaining = nlei_PlatformInput_windowHeight;
                if ($w >= $remaining)
                    nlei_PlatformInput_visualViewportY = $remaining - 1 | 0;
            }
            $remaining = nlei_PlatformInput_visualViewportX;
            $w = $remaining + nlei_PlatformInput_visualViewportW | 0;
            $h = nlei_PlatformInput_windowWidth;
            if ($w > $h)
                nlei_PlatformInput_visualViewportW = $h - $remaining | 0;
            $remaining = nlei_PlatformInput_visualViewportY;
            $w = $remaining + nlei_PlatformInput_visualViewportH | 0;
            $h = nlei_PlatformInput_windowHeight;
            if ($w > $h)
                nlei_PlatformInput_visualViewportH = $h - $remaining | 0;
            if (nlei_PlatformInput_canvas.width != $w2) {
                $vv = nlei_PlatformInput_canvas;
                var$8 = $w2;
                $vv.width = var$8;
            }
            if (nlei_PlatformInput_canvas.height != $h2) {
                $vv = nlei_PlatformInput_canvas;
                var$8 = $h2;
                $vv.height = var$8;
            }
            $ptr = 3;
        case 3:
            nleit_WebGLBackBuffer_flipBuffer($w2, $h2);
            if ($rt_suspending()) {
                break main;
            }
            if (!(nlei_PlatformInput_getVisibilityState$js_body$_28(nlei_PlatformInput_win.document) ? 1 : 0)) {
                nlei_PlatformInput_syncTimer = 0.0;
                $fpsLimit = 50;
                $ptr = 4;
                continue main;
            }
            if (nlei_PlatformInput_vsyncSupport && nlei_PlatformInput_vsync) {
                nlei_PlatformInput_syncTimer = 0.0;
                $ptr = 6;
                continue main;
            }
            if ($fpsLimit > 0 && $fpsLimit <= 1000) {
                $frameMillis = 1000.0 / $fpsLimit;
                if (nlei_PlatformInput_syncTimer !== 0.0) {
                    $ptr = 7;
                    continue main;
                }
                $ptr = 8;
                continue main;
            }
            nlei_PlatformInput_syncTimer = 0.0;
            $ptr = 5;
            continue main;
        case 4:
            nlei_PlatformRuntime_sleep($fpsLimit);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            nlei_PlatformRuntime_swapDelayTeaVM();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nlei_PlatformInput_asyncRequestAnimationFrame();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            $tmp = nlei_PlatformRuntime_steadyTimeMillisTeaVM();
            if ($rt_suspending()) {
                break main;
            }
            $millis = $tmp;
            $remaining = nlei_PlatformInput_syncTimer - $millis | 0;
            if ($remaining <= 0) {
                $ptr = 10;
                continue main;
            }
            if (!nlei_PlatformRuntime_useDelayOnSwap) {
                $fpsLimit = nlei_PlatformRuntime_immediateContinueSupport;
                if ($fpsLimit) {
                    if ($fpsLimit) {
                        $ptr = 14;
                        continue main;
                    }
                    $fpsLimit = 0;
                    $ptr = 13;
                    continue main;
                }
            }
            $ptr = 12;
            continue main;
        case 8:
            $tmp = nlei_PlatformRuntime_steadyTimeMillisTeaVM();
            if ($rt_suspending()) {
                break main;
            }
            $scale = $tmp;
            nlei_PlatformInput_syncTimer = $scale + $frameMillis;
            $ptr = 9;
        case 9:
            nlei_PlatformRuntime_swapDelayTeaVM();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 10:
            nlei_PlatformRuntime_swapDelayTeaVM();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            $tmp = nlei_PlatformRuntime_steadyTimeMillisTeaVM();
            if ($rt_suspending()) {
                break main;
            }
            $scale = $tmp;
            $r = nlei_PlatformInput_syncTimer + $frameMillis;
            nlei_PlatformInput_syncTimer = $r;
            if ($r < $scale)
                nlei_PlatformInput_syncTimer = $scale;
            return;
        case 12:
            nlei_PlatformRuntime_sleep($remaining);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
            continue main;
        case 13:
            nlei_PlatformRuntime_sleep($fpsLimit);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
            continue main;
        case 14:
            nlei_PlatformRuntime_immediateContinueTeaVM0();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            $tmp = nlei_PlatformRuntime_steadyTimeMillisTeaVM();
            if ($rt_suspending()) {
                break main;
            }
            $scale = $tmp;
            $fpsLimit = nlei_PlatformInput_syncTimer - $scale | 0;
            if ($fpsLimit <= 0) {
                $ptr = 11;
                continue main;
            }
            $ptr = 16;
        case 16:
            nlei_PlatformRuntime_sleep($fpsLimit);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($fpsLimit, $r, $w, $h, $w2, $h2, $vv, var$8, $scale, $remaining, $frameMillis, $millis, $ptr);
    }
    function nlei_PlatformInput_asyncRequestAnimationFrame() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformInput_asyncRequestAnimationFrame$_asyncCall_$();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nlei_PlatformInput_asyncRequestAnimationFrame0($cb) {
        var var$2, var$3, $hasTimedOut, $timeout, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$timeout = $thread.pop();$hasTimedOut = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$cb = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (Long_ne(nlei_PlatformInput_vsyncWaiting, Long_fromInt(-1))) {
                var$2 = new jl_IllegalStateException;
                jl_Throwable__init_(var$2, $rt_s(425));
                otpp_AsyncCallbackWrapper_error($cb, var$2);
                return;
            }
            $ptr = 1;
        case 1:
            $tmp = nlei_PlatformRuntime_steadyTimeMillis();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nlei_PlatformInput_vsyncWaiting = var$3;
            nlei_PlatformInput_vsyncAsyncCallback = $cb;
            $hasTimedOut = $rt_createBooleanArray(1);
            $hasTimedOut.data[0] = 0;
            $timeout = $rt_createIntArray(1);
            var$6 = $timeout.data;
            var$6[0] = (-1);
            var$7 = new nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_0;
            var$7.$_012 = $hasTimedOut;
            var$7.$_16 = $timeout;
            var$7.$_22 = $cb;
            $rt_globals.requestAnimationFrame(otji_JS_function(var$7, "onAnimationFrame"));
            var$2 = new nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_1;
            var$2.$_013 = $hasTimedOut;
            var$2.$_17 = $cb;
            var$8 = $rt_globals.setTimeout(otji_JS_function(var$2, "onTimer"), 50);
            var$6[0] = var$8;
            nlei_PlatformInput_vsyncTimeout = var$8;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($cb, var$2, var$3, $hasTimedOut, $timeout, var$6, var$7, var$8, $ptr);
    }
    function nlei_PlatformInput_keyToAsciiLegacy($whichIn, $shiftUp) {
        a: {
            switch ($whichIn) {
                case 109:
                    $whichIn = 45;
                    break a;
                case 173:
                    $whichIn = 45;
                    break a;
                case 186:
                    $whichIn = 59;
                    break a;
                case 187:
                    $whichIn = 61;
                    break a;
                case 188:
                    $whichIn = 44;
                    break a;
                case 189:
                    $whichIn = 45;
                    break a;
                case 190:
                    $whichIn = 46;
                    break a;
                case 191:
                    $whichIn = 47;
                    break a;
                case 192:
                    $whichIn = 96;
                    break a;
                case 219:
                    $whichIn = 91;
                    break a;
                case 220:
                    $whichIn = 92;
                    break a;
                case 221:
                    $whichIn = 93;
                    break a;
                case 222:
                    $whichIn = 39;
                    break a;
                default:
            }
        }
        if (!$shiftUp) {
            if ($whichIn >= 65 && $whichIn <= 90)
                return ($whichIn + 32 | 0) & 65535;
            return $whichIn & 65535;
        }
        b: {
            switch ($whichIn) {
                case 39:
                    break;
                case 40:
                case 41:
                case 42:
                case 43:
                case 58:
                case 60:
                case 62:
                case 63:
                case 64:
                case 65:
                case 66:
                case 67:
                case 68:
                case 69:
                case 70:
                case 71:
                case 72:
                case 73:
                case 74:
                case 75:
                case 76:
                case 77:
                case 78:
                case 79:
                case 80:
                case 81:
                case 82:
                case 83:
                case 84:
                case 85:
                case 86:
                case 87:
                case 88:
                case 89:
                case 90:
                case 94:
                case 95:
                    break b;
                case 44:
                    return 60;
                case 45:
                    return 95;
                case 46:
                    return 62;
                case 47:
                    return 63;
                case 48:
                    return 41;
                case 49:
                    return 33;
                case 50:
                    return 64;
                case 51:
                    return 35;
                case 52:
                    return 36;
                case 53:
                    return 37;
                case 54:
                    return 94;
                case 55:
                    return 38;
                case 56:
                    return 42;
                case 57:
                    return 40;
                case 59:
                    return 58;
                case 61:
                    return 43;
                case 91:
                    return 123;
                case 92:
                    return 124;
                case 93:
                    return 125;
                case 96:
                    return 126;
                default:
                    break b;
            }
            return 34;
        }
        return $whichIn & 65535;
    }
    function nlei_PlatformInput_keyboardIsKeyDown($key) {
        var var$2;
        if (nlei_PlatformInput_unpressCTRL) {
            var$2 = nlei_PlatformInput_keyStates.data;
            var$2[28] = 0;
            var$2[29] = 0;
            var$2[157] = 0;
            var$2[219] = 0;
            var$2[220] = 0;
        }
        a: {
            if ($key >= 0) {
                var$2 = nlei_PlatformInput_keyStates.data;
                if ($key < var$2.length) {
                    $key = var$2[$key];
                    break a;
                }
            }
            $key = 0;
        }
        return $key;
    }
    function nlei_PlatformInput_mouseSetGrabbed($grab) {
        var $t, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$t = $thread.pop();$grab = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!nlei_PlatformInput_pointerLockSupported)
                return;
            $ptr = 1;
        case 1:
            $tmp = nlei_PlatformRuntime_steadyTimeMillis();
            if ($rt_suspending()) {
                break main;
            }
            $t = $tmp;
            nlei_PlatformInput_pointerLockFlag = $grab;
            nlei_PlatformInput_mouseGrabTimer = $t;
            if ($grab) {
                nlei_PlatformInput_pointerLockWaiting = 1;
                var$3 = nlei_PlatformInput_canvas;
                $ptr = 2;
                continue main;
            }
            var$4 = nlei_PlatformInput_mouseUngrabTimeout;
            if (var$4 != (-1))
                $rt_globals.clearTimeout(var$4);
            nlei_PlatformInput_mouseUngrabTimeout = (-1);
            if (nlei_PlatformInput_pointerLockWaiting) {
                nlei_PlatformInput_mouseDX = 0.0;
                nlei_PlatformInput_mouseDY = 0.0;
                return;
            }
            var$3 = nlei_PlatformInput_win.document;
            $ptr = 3;
            continue main;
        case 2:
            nlei_PlatformInput_callRequestPointerLock(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $grab = nlei_PlatformInput_mouseUngrabTimeout;
            if ($grab != (-1))
                $rt_globals.clearTimeout($grab);
            nlei_PlatformInput_mouseUngrabTimeout = (-1);
            var$5 = Long_sub($t, nlei_PlatformInput_mouseUngrabTimer);
            if (Long_lt(var$5, Long_fromInt(3000))) {
                var$3 = new nlei_PlatformInput$15;
                $grab = 3100 - Long_lo(var$5) | 0;
                nlei_PlatformInput_mouseUngrabTimeout = $rt_globals.setTimeout(otji_JS_function(var$3, "onTimer"), $grab);
            }
            nlei_PlatformInput_mouseDX = 0.0;
            nlei_PlatformInput_mouseDY = 0.0;
            return;
        case 3:
            nlei_PlatformInput_callExitPointerLock(var$3);
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformInput_mouseDX = 0.0;
            nlei_PlatformInput_mouseDY = 0.0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($grab, $t, var$3, var$4, var$5, $ptr);
    }
    function nlei_PlatformInput_callRequestPointerLock($el) {
        var var$2, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$el = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                switch (nlei_PlatformInput_pointerLockSupported) {
                    case 1:
                        try {
                            $el.requestPointerLock();
                            break a;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                            } else {
                                throw $$e;
                            }
                        }
                        break a;
                    case 2:
                        break;
                    default:
                        $ptr = 1;
                        continue main;
                }
                try {
                    $el.mozRequestPointerLock();
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nlei_PlatformRuntime_logger;
            $el = $rt_s(426);
            $ptr = 2;
        case 2:
            oall_Logger_warn(var$2, $el);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($el, var$2, $ptr);
    }
    function nlei_PlatformInput_callExitPointerLock($doc) {
        var var$2, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$doc = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                switch (nlei_PlatformInput_pointerLockSupported) {
                    case 1:
                        try {
                            $doc.exitPointerLock();
                            break a;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                            } else {
                                throw $$e;
                            }
                        }
                        break a;
                    case 2:
                        break;
                    default:
                        $ptr = 1;
                        continue main;
                }
                try {
                    $doc.mozExitPointerLock();
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nlei_PlatformRuntime_logger;
            $doc = $rt_s(427);
            $ptr = 2;
        case 2:
            oall_Logger_warn(var$2, $doc);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($doc, var$2, $ptr);
    }
    function nlei_PlatformInput_isPointerLocked() {
        if (!nlei_PlatformInput_pointerLockWaiting)
            return nlei_PlatformInput_isPointerLockedImpl();
        return 1;
    }
    function nlei_PlatformInput_isPointerLockedImpl() {
        switch (nlei_PlatformInput_pointerLockSupported) {
            case 1:
                return nlei_PlatformInput_win.document.pointerLockElement === nlei_PlatformInput_canvas ? 1 : 0;
            case 2:
                return nlei_PlatformInput_win.document.mozPointerLockElement === nlei_PlatformInput_canvas ? 1 : 0;
            default:
        }
        return 0;
    }
    function nlei_PlatformInput_processFunctionKeys($key) {
        if (nlei_PlatformInput_keyboardIsKeyDown(nlei_PlatformInput_functionKeyModifier) && $key >= 49 && $key <= 57)
            $key = ($key - 49 | 0) + 112 | 0;
        return $key;
    }
    function nlei_PlatformInput_removeEventHandlers() {
        var var$1, var$2, var$3, var$4, var$5, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = nlei_PlatformInput_contextmenu;
            if (var$1 !== null) {
                nlei_PlatformInput_parent.removeEventListener("contextmenu", otji_JS_function(var$1, "handleEvent"));
                nlei_PlatformInput_contextmenu = null;
            }
            var$1 = nlei_PlatformInput_mousedown;
            if (var$1 !== null) {
                nlei_PlatformInput_canvas.removeEventListener("mousedown", otji_JS_function(var$1, "handleEvent"));
                nlei_PlatformInput_mousedown = null;
            }
            var$1 = nlei_PlatformInput_mouseup;
            if (var$1 !== null) {
                nlei_PlatformInput_canvas.removeEventListener("mouseup", otji_JS_function(var$1, "handleEvent"));
                nlei_PlatformInput_mouseup = null;
            }
            var$1 = nlei_PlatformInput_mousemove;
            if (var$1 !== null) {
                nlei_PlatformInput_canvas.removeEventListener("mousemove", otji_JS_function(var$1, "handleEvent"));
                nlei_PlatformInput_mousemove = null;
            }
            var$1 = nlei_PlatformInput_mouseenter;
            if (var$1 !== null) {
                nlei_PlatformInput_canvas.removeEventListener("mouseenter", otji_JS_function(var$1, "handleEvent"));
                nlei_PlatformInput_mouseenter = null;
            }
            var$1 = nlei_PlatformInput_mouseleave;
            if (var$1 !== null) {
                nlei_PlatformInput_canvas.removeEventListener("mouseleave", otji_JS_function(var$1, "handleEvent"));
                nlei_PlatformInput_mouseleave = null;
            }
            var$1 = nlei_PlatformInput_keydown;
            if (var$1 !== null) {
                nlei_PlatformInput_win.removeEventListener("keydown", otji_JS_function(var$1, "handleEvent"));
                nlei_PlatformInput_keydown = null;
            }
            var$1 = nlei_PlatformInput_keyup;
            if (var$1 !== null) {
                nlei_PlatformInput_win.removeEventListener("keyup", otji_JS_function(var$1, "handleEvent"));
                nlei_PlatformInput_keyup = null;
            }
            var$1 = nlei_PlatformInput_focus;
            if (var$1 !== null) {
                nlei_PlatformInput_win.removeEventListener("focus", otji_JS_function(var$1, "handleEvent"));
                nlei_PlatformInput_focus = null;
            }
            var$1 = nlei_PlatformInput_blur;
            if (var$1 !== null) {
                nlei_PlatformInput_win.removeEventListener("blur", otji_JS_function(var$1, "handleEvent"));
                nlei_PlatformInput_blur = null;
            }
            var$1 = nlei_PlatformInput_wheel;
            if (var$1 !== null) {
                nlei_PlatformInput_canvas.removeEventListener("wheel", otji_JS_function(var$1, "handleEvent"));
                nlei_PlatformInput_wheel = null;
            }
            if (nlei_PlatformInput_pointerlock !== null) {
                var$2 = nlei_PlatformInput_win.document;
                var$3 = nlei_PlatformInput_pointerlock;
                var$2.removeEventListener("pointerlockchange", otji_JS_function(var$3, "handleEvent"));
                nlei_PlatformInput_pointerlock = null;
            }
            if (nlei_PlatformInput_pointerlockerr !== null) {
                var$2 = nlei_PlatformInput_win.document;
                var$3 = nlei_PlatformInput_pointerlockerr;
                var$2.removeEventListener("pointerlockerror", otji_JS_function(var$3, "handleEvent"));
                nlei_PlatformInput_pointerlockerr = null;
            }
            var$1 = nlei_PlatformInput_fullscreen;
            if (var$1 !== null) {
                nlei_PlatformInput_fullscreenQuery.removeEventListener("change", var$1);
                nlei_PlatformInput_fullscreen = null;
            }
            var$4 = nlei_PlatformInput_mouseUngrabTimeout;
            if (var$4 != (-1)) {
                $rt_globals.clearTimeout(var$4);
                nlei_PlatformInput_mouseUngrabTimeout = (-1);
            }
            var$5 = nlei_PlatformInput_vsyncSaveLockInterval;
            if (var$5 != (-1)) {
                a: {
                    try {
                        $rt_globals.clearInterval(var$5);
                        break a;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                        } else {
                            throw $$e;
                        }
                    }
                }
                nlei_PlatformInput_vsyncSaveLockInterval = (-1);
            }
            try {
                var$1 = nlei_PlatformInput_win.document;
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            var$1 = nlei_PlatformInput_win;
            nleit_ClientMain_$callClinit();
            var$3 = nleit_ClientMain_windowErrorHandler;
            if (var$3 !== null) {
                var$1.removeEventListener("error", $rt_globals.evtHandler);
                nleit_ClientMain_windowErrorHandler = null;
            }
            return;
        case 1:
            b: {
                try {
                    nlei_PlatformInput_callExitPointerLock(var$1);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            var$1 = nlei_PlatformInput_win;
            nleit_ClientMain_$callClinit();
            var$3 = nleit_ClientMain_windowErrorHandler;
            if (var$3 !== null) {
                var$1.removeEventListener("error", $rt_globals.evtHandler);
                nleit_ClientMain_windowErrorHandler = null;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nlei_PlatformInput_pressAnyKeyScreen() {
        var var$1, var$2, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_getClientConfigAdapter();
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformInput_isLikelyMobileBrowser) {
                $ptr = 2;
                continue main;
            }
            if (ju_AbstractCollection_isEmpty(nlei_PlatformInput_mouseEvents) && ju_AbstractCollection_isEmpty(nlei_PlatformInput_keyEvents) && !(nlei_PlatformInput_hasBeenActiveTeaVM$js_body$_13(!!0) ? 1 : 0)) {
                $ptr = 4;
                continue main;
            }
            nlei_PlatformInput_hasShownPressAnyKey = 1;
            return;
        case 2:
            $tmp = nlei_PlatformOpenGL_checkVAOCapable();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 3;
        case 3:
            nleit_EarlyLoadScreen_paintEnable(var$1);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                try {
                    nlei_PlatformInput_isOnMobilePressAnyKey = 1;
                    nlei_PlatformInput_setupAnyKeyScreenMobile();
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$2 = $$je;

                }
                nlei_PlatformInput_isOnMobilePressAnyKey = 0;
                $rt_throw(var$2);
            }
            nlei_PlatformInput_isOnMobilePressAnyKey = 0;
            nlei_PlatformInput_hasShownPressAnyKey = 1;
            return;
        case 4:
            $tmp = nlei_PlatformOpenGL_checkVAOCapable();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 5;
        case 5:
            nleit_EarlyLoadScreen_paintEnable(var$1);
            if ($rt_suspending()) {
                break main;
            }
            if (ju_AbstractCollection_isEmpty(nlei_PlatformInput_mouseEvents) && ju_AbstractCollection_isEmpty(nlei_PlatformInput_keyEvents)) {
                var$1 = 100;
                $ptr = 6;
                continue main;
            }
            nlei_PlatformInput_hasShownPressAnyKey = 1;
            return;
        case 6:
            nlei_PlatformRuntime_sleep(var$1);
            if ($rt_suspending()) {
                break main;
            }
            if (ju_AbstractCollection_isEmpty(nlei_PlatformInput_mouseEvents) && ju_AbstractCollection_isEmpty(nlei_PlatformInput_keyEvents)) {
                var$1 = 100;
                continue main;
            }
            nlei_PlatformInput_hasShownPressAnyKey = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nlei_PlatformInput_setupAnyKeyScreenMobile() {
        var var$1, var$2, var$3;
        var$1 = nlei_PlatformInput_mobilePressAnyKeyScreen;
        if (var$1 !== null)
            nlei_PlatformInput_parent.removeChild(var$1);
        var$1 = nlei_PlatformInput_win.document.createElement("div");
        nlei_PlatformInput_mobilePressAnyKeyScreen = var$1;
        var$1.classList.add("_eaglercraftX_mobile_press_any_key");
        nlei_PlatformInput_mobilePressAnyKeyScreen.setAttribute("style", "position:absolute;background-color:white;font-family:sans-serif;top:10%;left:10%;right:10%;bottom:10%;border:5px double black;padding:calc(5px + 7vh) 15px;text-align:center;font-size:20px;user-select:none;z-index:10;");
        var$1 = nlei_PlatformInput_mobilePressAnyKeyScreen;
        var$2 = "<h3 style=\"margin-block-start:0px;margin-block-end:0px;-webkit-margin-before:0px;-webkit-margin-after:0px;margin:20px 5px;\">Mobile Browser Detected</h3><p style=\"margin-block-start:0px;margin-block-end:0px;-webkit-margin-before:0px;-webkit-margin-after:0px;margin:20px 5px;\">You must manually select an option below to continue</p><p style=\"margin-block-start:0px;margin-block-end:0px;-webkit-margin-before:0px;-webkit-margin-after:0px;margin:20px 2px;\"><button style=\"font: 24px sans-serif;font-weight:bold;\" class=\"_eaglercraftX_mobile_launch_client\">Launch EaglercraftX</button></p><p style=\"margin-block-start:0px;margin-block-end:0px;-webkit-margin-before:0px;-webkit-margin-after:0px;margin:25px 5px;\">(Tablets and phones with large screens work best)</p>";
        var$1.innerHTML = var$2;
        var$3 = nlei_PlatformInput_mobilePressAnyKeyScreen.querySelector("._eaglercraftX_mobile_launch_client");
        var$2 = new nlei_PlatformInput$16;
        var$3.addEventListener("click", otji_JS_function(var$2, "handleEvent"));
        var$1 = nlei_PlatformInput_parent;
        var$2 = nlei_PlatformInput_mobilePressAnyKeyScreen;
        var$1.appendChild(var$2);
    }
    function nlei_PlatformInput_initWindowSize($sw, $sh, $dpi) {
        nlei_PlatformInput_windowWidth = $sw;
        nlei_PlatformInput_windowHeight = $sh;
        nlei_PlatformInput_windowDPI = $dpi;
        nlei_PlatformInput_visualViewportX = 0;
        nlei_PlatformInput_visualViewportY = 0;
        nlei_PlatformInput_visualViewportW = $sw;
        nlei_PlatformInput_visualViewportH = $sh;
    }
    function nlei_PlatformInput__clinit_() {
        nlei_PlatformInput_win = null;
        nlei_PlatformInput_parent = null;
        nlei_PlatformInput_canvas = null;
        nlei_PlatformInput_contextmenu = null;
        nlei_PlatformInput_mousedown = null;
        nlei_PlatformInput_mouseup = null;
        nlei_PlatformInput_mousemove = null;
        nlei_PlatformInput_mouseenter = null;
        nlei_PlatformInput_mouseleave = null;
        nlei_PlatformInput_touchstart = null;
        nlei_PlatformInput_touchend = null;
        nlei_PlatformInput_touchmove = null;
        nlei_PlatformInput_touchcancel = null;
        nlei_PlatformInput_keydown = null;
        nlei_PlatformInput_keyup = null;
        nlei_PlatformInput_wheel = null;
        nlei_PlatformInput_focus = null;
        nlei_PlatformInput_blur = null;
        nlei_PlatformInput_pointerlock = null;
        nlei_PlatformInput_pointerlockerr = null;
        nlei_PlatformInput_fullscreen = null;
        nlei_PlatformInput_keyCodeTranslatorMap = null;
        nlei_PlatformInput_pastedStrings = new ju_LinkedList;
        nlei_PlatformInput_mouseEvents = new ju_LinkedList;
        nlei_PlatformInput_keyEvents = new ju_LinkedList;
        nlei_PlatformInput_hasShownPressAnyKey = 0;
        nlei_PlatformInput_isOnMobilePressAnyKey = 0;
        nlei_PlatformInput_mobilePressAnyKeyScreen = null;
        nlei_PlatformInput_mobilePressAnyKey = null;
        nlei_PlatformInput_isLikelyMobileBrowser = 0;
        nlei_PlatformInput_mouseX = 0;
        nlei_PlatformInput_mouseY = 0;
        nlei_PlatformInput_mouseDX = 0.0;
        nlei_PlatformInput_mouseDY = 0.0;
        nlei_PlatformInput_mouseDWheel = 0.0;
        nlei_PlatformInput_enableRepeatEvents = 1;
        nlei_PlatformInput_isWindowFocused = 1;
        nlei_PlatformInput_isMouseOverWindow = 1;
        nlei_PlatformInput_unpressCTRL = 0;
        nlei_PlatformInput_touchOffsetXTeaVM = 0;
        nlei_PlatformInput_touchOffsetYTeaVM = 0;
        nlei_PlatformInput_windowWidth = (-1);
        nlei_PlatformInput_windowHeight = (-1);
        nlei_PlatformInput_windowDPI = 1.0;
        nlei_PlatformInput_visualViewportX = (-1);
        nlei_PlatformInput_visualViewportY = (-1);
        nlei_PlatformInput_visualViewportW = (-1);
        nlei_PlatformInput_visualViewportH = (-1);
        nlei_PlatformInput_lastWasResizedWindowWidth = (-2);
        nlei_PlatformInput_lastWasResizedWindowHeight = (-2);
        nlei_PlatformInput_lastWasResizedWindowDPI = (-2.0);
        nlei_PlatformInput_lastWasResizedVisualViewportX = (-2);
        nlei_PlatformInput_lastWasResizedVisualViewportY = (-2);
        nlei_PlatformInput_lastWasResizedVisualViewportW = (-2);
        nlei_PlatformInput_lastWasResizedVisualViewportH = (-2);
        nlei_PlatformInput_currentEvent = null;
        nlei_PlatformInput_currentEventK = null;
        nlei_PlatformInput_buttonStates = $rt_createBooleanArray(8);
        nlei_PlatformInput_keyStates = $rt_createBooleanArray(256);
        nlei_PlatformInput_functionKeyModifier = 33;
        nlei_PlatformInput_pointerLockSupported = 0;
        nlei_PlatformInput_mouseUngrabTimer = Long_ZERO;
        nlei_PlatformInput_mouseGrabTimer = Long_ZERO;
        nlei_PlatformInput_mouseUngrabTimeout = (-1);
        nlei_PlatformInput_pointerLockFlag = 0;
        nlei_PlatformInput_pointerLockWaiting = 0;
        nlei_PlatformInput_fullscreenSupported = 0;
        nlei_PlatformInput_fullscreenQuery = null;
        nlei_PlatformInput_keyboardLockSupported = 0;
        nlei_PlatformInput_lockKeys = 0;
        nlei_PlatformInput_vsync = 1;
        nlei_PlatformInput_vsyncSupport = 0;
        nlei_PlatformInput_vsyncWaiting = Long_fromInt(-1);
        nlei_PlatformInput_vsyncAsyncCallback = null;
        nlei_PlatformInput_vsyncTimeout = (-1);
        nlei_PlatformInput_vsyncSaveLockInterval = (-1);
        nlei_PlatformInput_syncTimer = 0.0;
    }
    function nlei_PlatformInput_iterateKeyboardLayout$_asyncCall_$(var$1) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nlei_PlatformInput_iterateKeyboardLayout0(var$1, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nlei_PlatformInput_asyncRequestAnimationFrame$_asyncCall_$() {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nlei_PlatformInput_asyncRequestAnimationFrame0(callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nlei_PlatformInput_onBeforeCloseRegister$js_body$_2(var$1, var$2) {
        var$1.__curEaglerX188UnloadListenerCB = var$2;
        if (typeof var$1.__isEaglerX188UnloadListenerSet === "string" && var$1.__isEaglerX188UnloadListenerSet === "yes") return;
        var$1.onbeforeunload = function(evt) {
            if (var$1.__curEaglerX188UnloadListenerCB) var$1.__curEaglerX188UnloadListenerCB();
            return false;
        };
        var$1.__isEaglerX188UnloadListenerSet = "yes";
    }
    function nlei_PlatformInput_iterateKeyboardLayout0$js_body$_4(var$1, var$2) {
        return (($rt_globals.navigator.keyboard.getLayoutMap()).then(function(layoutMap) {
            if (layoutMap && layoutMap.forEach) layoutMap.forEach(var$1);
            var$2();
        })).catch(function() {
            var$2();
        });
    }
    function nlei_PlatformInput_getSupportedPointerLock$js_body$_8(var$1) {
        return typeof var$1.exitPointerLock === "function" ? 1 : typeof var$1.mozExitPointerLock === "function" ? 2 :  -1;
    }
    function nlei_PlatformInput_getSupportedFullScreen$js_body$_9(var$1) {
        return typeof var$1.exitFullscreen === "function" ? 1 : typeof var$1.webkitExitFullscreen === "function" ? 2 : typeof var$1.mozExitFullscreen === "function" ? 3 :  -1;
    }
    function nlei_PlatformInput_hasBeenActiveTeaVM$js_body$_13(var$1) {
        if ($rt_globals.window.navigator.userActivation) {
            return $rt_globals.window.navigator.userActivation.hasBeenActive;
        } else {
            return var$1;
        }
    }
    function nlei_PlatformInput_getOffsetX$js_body$_14(var$1, var$2) {
        return typeof var$1.offsetX === "number" ? var$1.offsetX : var$1.pageX - var$2;
    }
    function nlei_PlatformInput_getOffsetY$js_body$_15(var$1, var$2) {
        return typeof var$1.offsetY === "number" ? var$1.offsetY : var$1.pageY - var$2;
    }
    function nlei_PlatformInput_getWhich$js_body$_16(var$1) {
        return typeof var$1.which === "number" ? var$1.which : typeof var$1.keyCode === "number" ? var$1.keyCode : 0;
    }
    function nlei_PlatformInput_getLocationSafe$js_body$_17(var$1) {
        return typeof var$1.location === "number" ? var$1.location : 0;
    }
    function nlei_PlatformInput_getVisibilityState$js_body$_28(var$1) {
        return typeof var$1.visibilityState !== "string" || var$1.visibilityState === "visible";
    }
    function nlei_PlatformInput_getDevicePixelRatio$js_body$_29(var$1) {
        return typeof var$1.devicePixelRatio === "number" ? var$1.devicePixelRatio : 1.0;
    }
    function nlei_PlatformInput_getCharOrNull$js_body$_40(var$1) {
        return typeof var$1.key === "string" ? var$1.key : "";
    }
    var nleit_EarlyLoadScreen = $rt_classWithoutFields();
    var nleit_EarlyLoadScreen_vbo = null;
    var nleit_EarlyLoadScreen_program = null;
    var nleit_EarlyLoadScreen_pressDeleteTexture = null;
    var nleit_EarlyLoadScreen_pressDeleteProgram = null;
    var nleit_EarlyLoadScreen_finalTexture = null;
    function nleit_EarlyLoadScreen__init_0() {
        var var_0 = new nleit_EarlyLoadScreen();
        nleit_EarlyLoadScreen__init_(var_0);
        return var_0;
    }
    function nleit_EarlyLoadScreen__init_($this) {}
    function nleit_EarlyLoadScreen_paintScreen($glesVers, $vaos) {
        var $gles3, $tex, var$5, $height, $vertexUpload, var$8, $img, $upload, $pixelUpload, var$12, var$13, var$14, $width, var$16, $x, $vert, $frag, $vao, $y, var$22, var$23, var$24, var$25, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();$y = $thread.pop();$vao = $thread.pop();$frag = $thread.pop();$vert = $thread.pop();$x = $thread.pop();var$16 = $thread.pop();$width = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$pixelUpload = $thread.pop();$upload = $thread.pop();$img = $thread.pop();var$8 = $thread.pop();$vertexUpload = $thread.pop();$height = $thread.pop();var$5 = $thread.pop();$tex
            = $thread.pop();$gles3 = $thread.pop();$vaos = $thread.pop();$glesVers = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $gles3 = $glesVers < 300 ? 0 : 1;
            $ptr = 1;
        case 1:
            $tmp = nlei_PlatformOpenGL__wglGenTextures();
            if ($rt_suspending()) {
                break main;
            }
            $tex = $tmp;
            $glesVers = 33984;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglActiveTexture($glesVers);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 3553;
            $ptr = 3;
        case 3:
            nlei_PlatformOpenGL__wglBindTexture($glesVers, $tex);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 3553;
            $height = 10240;
            $glesVers = 9728;
            $ptr = 4;
        case 4:
            nlei_PlatformOpenGL__wglTexParameteri(var$5, $height, $glesVers);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 3553;
            var$5 = 10241;
            $height = 9728;
            $ptr = 5;
        case 5:
            nlei_PlatformOpenGL__wglTexParameteri($glesVers, var$5, $height);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 3553;
            var$5 = 10242;
            $height = 33071;
            $ptr = 6;
        case 6:
            nlei_PlatformOpenGL__wglTexParameteri($glesVers, var$5, $height);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 3553;
            var$5 = 10243;
            $height = 33071;
            $ptr = 7;
        case 7:
            nlei_PlatformOpenGL__wglTexParameteri($glesVers, var$5, $height);
            if ($rt_suspending()) {
                break main;
            }
            $vertexUpload = $rt_s(428);
            $ptr = 8;
        case 8:
            $tmp = nle_Base64_decodeBase64($vertexUpload);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 9;
        case 9:
            $tmp = nlei_PlatformAssets_loadImageFile(var$8);
            if ($rt_suspending()) {
                break main;
            }
            $img = $tmp;
            $glesVers = 147456;
            $ptr = 10;
        case 10:
            $tmp = nlei_PlatformRuntime_allocateByteBuffer($glesVers);
            if ($rt_suspending()) {
                break main;
            }
            $upload = $tmp;
            $pixelUpload = nleib_EaglerArrayByteBuffer_asIntBuffer($upload);
            var$8 = $img.$pixels;
            $ptr = 11;
        case 11:
            nleib_EaglerArrayIntBuffer_put0($pixelUpload, var$8);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayIntBuffer_flip($pixelUpload);
            var$12 = 3553;
            var$13 = 0;
            var$14 = 6408;
            $glesVers = 192;
            var$5 = 192;
            $height = 0;
            $width = 6408;
            var$16 = 5121;
            $ptr = 12;
        case 12:
            nlei_PlatformOpenGL__wglTexImage2D0(var$12, var$13, var$14, $glesVers, var$5, $height, $width, var$16, $pixelUpload);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            $tmp = nlei_PlatformOpenGL__wglGenTextures();
            if ($rt_suspending()) {
                break main;
            }
            $vertexUpload = $tmp;
            nleit_EarlyLoadScreen_pressDeleteTexture = $vertexUpload;
            $glesVers = 3553;
            $ptr = 14;
        case 14:
            nlei_PlatformOpenGL__wglBindTexture($glesVers, $vertexUpload);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 3553;
            $height = 10240;
            $glesVers = 9728;
            $ptr = 15;
        case 15:
            nlei_PlatformOpenGL__wglTexParameteri(var$5, $height, $glesVers);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 3553;
            var$5 = 10241;
            $height = 9728;
            $ptr = 16;
        case 16:
            nlei_PlatformOpenGL__wglTexParameteri($glesVers, var$5, $height);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 3553;
            var$5 = 10242;
            $height = 33071;
            $ptr = 17;
        case 17:
            nlei_PlatformOpenGL__wglTexParameteri($glesVers, var$5, $height);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 3553;
            var$5 = 10243;
            $height = 33071;
            $ptr = 18;
        case 18:
            nlei_PlatformOpenGL__wglTexParameteri($glesVers, var$5, $height);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayIntBuffer_clear($pixelUpload);
            $vertexUpload = $rt_s(429);
            $ptr = 19;
        case 19:
            $tmp = nle_Base64_decodeBase64($vertexUpload);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 20;
        case 20:
            $tmp = nlei_PlatformAssets_loadImageFile(var$8);
            if ($rt_suspending()) {
                break main;
            }
            $vertexUpload = $tmp;
            var$8 = $vertexUpload.$pixels;
            $ptr = 21;
        case 21:
            nleib_EaglerArrayIntBuffer_put0($pixelUpload, var$8);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayIntBuffer_flip($pixelUpload);
            $glesVers = 3553;
            var$5 = 0;
            $height = 6408;
            $width = 384;
            var$16 = 16;
            var$12 = 0;
            var$13 = 6408;
            var$14 = 5121;
            $ptr = 22;
        case 22:
            nlei_PlatformOpenGL__wglTexImage2D0($glesVers, var$5, $height, $width, var$16, var$12, var$13, var$14, $pixelUpload);
            if ($rt_suspending()) {
                break main;
            }
            $vertexUpload = nleib_EaglerArrayByteBuffer_asFloatBuffer($upload);
            nleib_EaglerArrayFloatBuffer_clear($vertexUpload);
            $x = 0.0;
            $ptr = 23;
        case 23:
            nleib_EaglerArrayFloatBuffer_put($vertexUpload, $x);
            if ($rt_suspending()) {
                break main;
            }
            $x = 0.0;
            $ptr = 24;
        case 24:
            nleib_EaglerArrayFloatBuffer_put($vertexUpload, $x);
            if ($rt_suspending()) {
                break main;
            }
            $x = 0.0;
            $ptr = 25;
        case 25:
            nleib_EaglerArrayFloatBuffer_put($vertexUpload, $x);
            if ($rt_suspending()) {
                break main;
            }
            $x = 1.0;
            $ptr = 26;
        case 26:
            nleib_EaglerArrayFloatBuffer_put($vertexUpload, $x);
            if ($rt_suspending()) {
                break main;
            }
            $x = 1.0;
            $ptr = 27;
        case 27:
            nleib_EaglerArrayFloatBuffer_put($vertexUpload, $x);
            if ($rt_suspending()) {
                break main;
            }
            $x = 0.0;
            $ptr = 28;
        case 28:
            nleib_EaglerArrayFloatBuffer_put($vertexUpload, $x);
            if ($rt_suspending()) {
                break main;
            }
            $x = 1.0;
            $ptr = 29;
        case 29:
            nleib_EaglerArrayFloatBuffer_put($vertexUpload, $x);
            if ($rt_suspending()) {
                break main;
            }
            $x = 0.0;
            $ptr = 30;
        case 30:
            nleib_EaglerArrayFloatBuffer_put($vertexUpload, $x);
            if ($rt_suspending()) {
                break main;
            }
            $x = 0.0;
            $ptr = 31;
        case 31:
            nleib_EaglerArrayFloatBuffer_put($vertexUpload, $x);
            if ($rt_suspending()) {
                break main;
            }
            $x = 1.0;
            $ptr = 32;
        case 32:
            nleib_EaglerArrayFloatBuffer_put($vertexUpload, $x);
            if ($rt_suspending()) {
                break main;
            }
            $x = 1.0;
            $ptr = 33;
        case 33:
            nleib_EaglerArrayFloatBuffer_put($vertexUpload, $x);
            if ($rt_suspending()) {
                break main;
            }
            $x = 1.0;
            $ptr = 34;
        case 34:
            nleib_EaglerArrayFloatBuffer_put($vertexUpload, $x);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayFloatBuffer_flip($vertexUpload);
            $ptr = 35;
        case 35:
            $tmp = nlei_PlatformOpenGL__wglGenBuffers();
            if ($rt_suspending()) {
                break main;
            }
            $vert = $tmp;
            nleit_EarlyLoadScreen_vbo = $vert;
            $glesVers = 34962;
            $ptr = 36;
        case 36:
            nlei_PlatformOpenGL__wglBindBuffer($glesVers, $vert);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 34962;
            var$5 = 35044;
            $ptr = 37;
        case 37:
            nlei_PlatformOpenGL__wglBufferData1($glesVers, $vertexUpload, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 35633;
            $ptr = 38;
        case 38:
            $tmp = nlei_PlatformOpenGL__wglCreateShader($glesVers);
            if ($rt_suspending()) {
                break main;
            }
            $vert = $tmp;
            $vertexUpload = !$gles3 ? $rt_s(430) : $rt_s(431);
            $ptr = 39;
        case 39:
            nlei_PlatformOpenGL__wglShaderSource($vert, $vertexUpload);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 40;
        case 40:
            nlei_PlatformOpenGL__wglCompileShader($vert);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 35632;
            $ptr = 41;
        case 41:
            $tmp = nlei_PlatformOpenGL__wglCreateShader($glesVers);
            if ($rt_suspending()) {
                break main;
            }
            $frag = $tmp;
            $vertexUpload = !$gles3 ? $rt_s(432) : $rt_s(433);
            $ptr = 42;
        case 42:
            nlei_PlatformOpenGL__wglShaderSource($frag, $vertexUpload);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 43;
        case 43:
            nlei_PlatformOpenGL__wglCompileShader($frag);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 44;
        case 44:
            $tmp = nlei_PlatformOpenGL__wglCreateProgram();
            if ($rt_suspending()) {
                break main;
            }
            $vertexUpload = $tmp;
            nleit_EarlyLoadScreen_program = $vertexUpload;
            $ptr = 45;
        case 45:
            nlei_PlatformOpenGL__wglAttachShader($vertexUpload, $vert);
            if ($rt_suspending()) {
                break main;
            }
            $vertexUpload = nleit_EarlyLoadScreen_program;
            $ptr = 46;
        case 46:
            nlei_PlatformOpenGL__wglAttachShader($vertexUpload, $frag);
            if ($rt_suspending()) {
                break main;
            }
            if ($gles3) {
                $vertexUpload = nleit_EarlyLoadScreen_program;
                $ptr = 47;
                continue main;
            }
            $vertexUpload = nleit_EarlyLoadScreen_program;
            $glesVers = 0;
            $vao = $rt_s(434);
            $ptr = 55;
            continue main;
        case 47:
            nlei_PlatformOpenGL__wglLinkProgram($vertexUpload);
            if ($rt_suspending()) {
                break main;
            }
            $vertexUpload = nleit_EarlyLoadScreen_program;
            $ptr = 48;
        case 48:
            nlei_PlatformOpenGL__wglDetachShader($vertexUpload, $vert);
            if ($rt_suspending()) {
                break main;
            }
            $vertexUpload = nleit_EarlyLoadScreen_program;
            $ptr = 49;
        case 49:
            nlei_PlatformOpenGL__wglDetachShader($vertexUpload, $frag);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 50;
        case 50:
            nlei_PlatformOpenGL__wglDeleteShader($vert);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 51;
        case 51:
            nlei_PlatformOpenGL__wglDeleteShader($frag);
            if ($rt_suspending()) {
                break main;
            }
            $vertexUpload = nleit_EarlyLoadScreen_program;
            $ptr = 52;
        case 52:
            nlei_PlatformOpenGL__wglUseProgram($vertexUpload);
            if ($rt_suspending()) {
                break main;
            }
            $vertexUpload = nleit_EarlyLoadScreen_program;
            $vert = $rt_s(435);
            $ptr = 53;
        case 53:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($vertexUpload, $vert);
            if ($rt_suspending()) {
                break main;
            }
            $vertexUpload = $tmp;
            $glesVers = 0;
            $ptr = 54;
        case 54:
            nlei_PlatformOpenGL__wglUniform1i($vertexUpload, $glesVers);
            if ($rt_suspending()) {
                break main;
            }
            $width = nlei_PlatformInput_windowWidth;
            $height = nlei_PlatformInput_windowHeight;
            if ($width <= $height) {
                $x = 1.0;
                $y = $height / $width;
            } else {
                $x = $width / $height;
                $y = 1.0;
            }
            $glesVers = 33984;
            $ptr = 56;
            continue main;
        case 55:
            nlei_PlatformOpenGL__wglBindAttribLocation($vertexUpload, $glesVers, $vao);
            if ($rt_suspending()) {
                break main;
            }
            $vertexUpload = nleit_EarlyLoadScreen_program;
            $ptr = 47;
            continue main;
        case 56:
            nlei_PlatformOpenGL__wglActiveTexture($glesVers);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 3553;
            $ptr = 57;
        case 57:
            nlei_PlatformOpenGL__wglBindTexture($glesVers, $tex);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 0;
            var$5 = 0;
            $ptr = 58;
        case 58:
            nlei_PlatformOpenGL__wglViewport($glesVers, var$5, $width, $height);
            if ($rt_suspending()) {
                break main;
            }
            var$22 = 1.0;
            var$23 = 1.0;
            var$24 = 1.0;
            var$25 = 1.0;
            $ptr = 59;
        case 59:
            nlei_PlatformOpenGL__wglClearColor(var$22, var$23, var$24, var$25);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 16384;
            $ptr = 60;
        case 60:
            nlei_PlatformOpenGL__wglClear($glesVers);
            if ($rt_suspending()) {
                break main;
            }
            $vertexUpload = nleit_EarlyLoadScreen_program;
            $ptr = 61;
        case 61:
            nlei_PlatformOpenGL__wglUseProgram($vertexUpload);
            if ($rt_suspending()) {
                break main;
            }
            $vertexUpload = nleit_EarlyLoadScreen_program;
            $vert = $rt_s(436);
            $ptr = 62;
        case 62:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($vertexUpload, $vert);
            if ($rt_suspending()) {
                break main;
            }
            $vertexUpload = $tmp;
            $ptr = 63;
        case 63:
            nlei_PlatformOpenGL__wglUniform2f($vertexUpload, $x, $y);
            if ($rt_suspending()) {
                break main;
            }
            $vao = null;
            if ($vaos) {
                $ptr = 64;
                continue main;
            }
            $glesVers = 0;
            $ptr = 66;
            continue main;
        case 64:
            $tmp = nlei_PlatformOpenGL__wglGenVertexArrays();
            if ($rt_suspending()) {
                break main;
            }
            $vao = $tmp;
            $ptr = 65;
        case 65:
            nlei_PlatformOpenGL__wglBindVertexArray($vao);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 0;
            $ptr = 66;
        case 66:
            nlei_PlatformOpenGL__wglEnableVertexAttribArray($glesVers);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 0;
            var$5 = 2;
            $height = 5126;
            $width = 0;
            var$16 = 8;
            $gles3 = 0;
            $ptr = 67;
        case 67:
            nlei_PlatformOpenGL__wglVertexAttribPointer($glesVers, var$5, $height, $width, var$16, $gles3);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 4;
            var$5 = 0;
            $height = 6;
            $ptr = 68;
        case 68:
            nlei_PlatformOpenGL__wglDrawArrays($glesVers, var$5, $height);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 0;
            $ptr = 69;
        case 69:
            nlei_PlatformOpenGL__wglDisableVertexAttribArray($glesVers);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 70;
        case 70:
            nlei_PlatformInput_update();
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 50;
            $ptr = 71;
        case 71:
            nle_EagUtils_sleep($glesVers);
            if ($rt_suspending()) {
                break main;
            }
            $vertexUpload = null;
            $ptr = 72;
        case 72:
            nlei_PlatformOpenGL__wglUseProgram($vertexUpload);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 34962;
            $vertexUpload = null;
            $ptr = 73;
        case 73:
            nlei_PlatformOpenGL__wglBindBuffer($glesVers, $vertexUpload);
            if ($rt_suspending()) {
                break main;
            }
            $glesVers = 3553;
            $vertexUpload = null;
            $ptr = 74;
        case 74:
            nlei_PlatformOpenGL__wglBindTexture($glesVers, $vertexUpload);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 75;
        case 75:
            nlei_PlatformOpenGL__wglDeleteTextures($tex);
            if ($rt_suspending()) {
                break main;
            }
            if (!$vaos)
                return;
            $ptr = 76;
        case 76:
            nlei_PlatformOpenGL__wglDeleteVertexArrays($vao);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($glesVers, $vaos, $gles3, $tex, var$5, $height, $vertexUpload, var$8, $img, $upload, $pixelUpload, var$12, var$13, var$14, $width, var$16, $x, $vert, $frag, $vao, $y, var$22, var$23, var$24, var$25, $ptr);
    }
    function nleit_EarlyLoadScreen_paintEnable($vaos) {
        var $tex, var$3, $height, $width, $upload, var$7, $img, var$9, var$10, var$11, var$12, var$13, $x, $y, var$16, var$17, var$18, var$19, $vao, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$vao = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();$y = $thread.pop();$x = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$img = $thread.pop();var$7 = $thread.pop();$upload = $thread.pop();$width = $thread.pop();$height = $thread.pop();var$3 = $thread.pop();$tex = $thread.pop();$vaos = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nlei_PlatformOpenGL__wglGenTextures();
            if ($rt_suspending()) {
                break main;
            }
            $tex = $tmp;
            var$3 = 33984;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglActiveTexture(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 3553;
            $ptr = 3;
        case 3:
            nlei_PlatformOpenGL__wglBindTexture(var$3, $tex);
            if ($rt_suspending()) {
                break main;
            }
            $height = 3553;
            $width = 10240;
            var$3 = 9728;
            $ptr = 4;
        case 4:
            nlei_PlatformOpenGL__wglTexParameteri($height, $width, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 3553;
            $height = 10241;
            $width = 9728;
            $ptr = 5;
        case 5:
            nlei_PlatformOpenGL__wglTexParameteri(var$3, $height, $width);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 3553;
            $height = 10242;
            $width = 33071;
            $ptr = 6;
        case 6:
            nlei_PlatformOpenGL__wglTexParameteri(var$3, $height, $width);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 3553;
            $height = 10243;
            $width = 33071;
            $ptr = 7;
        case 7:
            nlei_PlatformOpenGL__wglTexParameteri(var$3, $height, $width);
            if ($rt_suspending()) {
                break main;
            }
            $upload = $rt_s(437);
            $ptr = 8;
        case 8:
            $tmp = nle_Base64_decodeBase64($upload);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $ptr = 9;
        case 9:
            $tmp = nlei_PlatformAssets_loadImageFile(var$7);
            if ($rt_suspending()) {
                break main;
            }
            $img = $tmp;
            var$3 = 16384;
            $ptr = 10;
        case 10:
            $tmp = nlei_PlatformRuntime_allocateIntBuffer(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $upload = $tmp;
            var$7 = $img.$pixels;
            $ptr = 11;
        case 11:
            nleib_EaglerArrayIntBuffer_put0($upload, var$7);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayIntBuffer_flip($upload);
            var$9 = 3553;
            $height = 0;
            $width = 6408;
            var$3 = 128;
            var$10 = 128;
            var$11 = 0;
            var$12 = 6408;
            var$13 = 5121;
            $ptr = 12;
        case 12:
            nlei_PlatformOpenGL__wglTexImage2D0(var$9, $height, $width, var$3, var$10, var$11, var$12, var$13, $upload);
            if ($rt_suspending()) {
                break main;
            }
            $upload = nleit_EarlyLoadScreen_program;
            $ptr = 13;
        case 13:
            nlei_PlatformOpenGL__wglUseProgram($upload);
            if ($rt_suspending()) {
                break main;
            }
            $width = nlei_PlatformInput_windowWidth;
            $height = nlei_PlatformInput_windowHeight;
            if ($width <= $height) {
                $x = 1.0;
                $y = $height / $width;
            } else {
                $x = $width / $height;
                $y = 1.0;
            }
            var$3 = 33984;
            $ptr = 14;
        case 14:
            nlei_PlatformOpenGL__wglActiveTexture(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 3553;
            $ptr = 15;
        case 15:
            nlei_PlatformOpenGL__wglBindTexture(var$3, $tex);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 0;
            var$10 = 0;
            $ptr = 16;
        case 16:
            nlei_PlatformOpenGL__wglViewport(var$3, var$10, $width, $height);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = 1.0;
            var$17 = 1.0;
            var$18 = 1.0;
            var$19 = 1.0;
            $ptr = 17;
        case 17:
            nlei_PlatformOpenGL__wglClearColor(var$16, var$17, var$18, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 16384;
            $ptr = 18;
        case 18:
            nlei_PlatformOpenGL__wglClear(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $upload = nleit_EarlyLoadScreen_program;
            $img = $rt_s(436);
            $ptr = 19;
        case 19:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($upload, $img);
            if ($rt_suspending()) {
                break main;
            }
            $upload = $tmp;
            $ptr = 20;
        case 20:
            nlei_PlatformOpenGL__wglUniform2f($upload, $x, $y);
            if ($rt_suspending()) {
                break main;
            }
            $vao = null;
            if ($vaos) {
                $ptr = 21;
                continue main;
            }
            var$3 = 34962;
            $upload = nleit_EarlyLoadScreen_vbo;
            $ptr = 23;
            continue main;
        case 21:
            $tmp = nlei_PlatformOpenGL__wglGenVertexArrays();
            if ($rt_suspending()) {
                break main;
            }
            $vao = $tmp;
            $ptr = 22;
        case 22:
            nlei_PlatformOpenGL__wglBindVertexArray($vao);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 34962;
            $upload = nleit_EarlyLoadScreen_vbo;
            $ptr = 23;
        case 23:
            nlei_PlatformOpenGL__wglBindBuffer(var$3, $upload);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 0;
            $ptr = 24;
        case 24:
            nlei_PlatformOpenGL__wglEnableVertexAttribArray(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 0;
            $height = 2;
            $width = 5126;
            var$10 = 0;
            var$11 = 8;
            var$12 = 0;
            $ptr = 25;
        case 25:
            nlei_PlatformOpenGL__wglVertexAttribPointer(var$3, $height, $width, var$10, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 4;
            $height = 0;
            $width = 6;
            $ptr = 26;
        case 26:
            nlei_PlatformOpenGL__wglDrawArrays(var$3, $height, $width);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 0;
            $ptr = 27;
        case 27:
            nlei_PlatformOpenGL__wglDisableVertexAttribArray(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 28;
        case 28:
            nlei_PlatformInput_update();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 50;
            $ptr = 29;
        case 29:
            nle_EagUtils_sleep(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $upload = null;
            $ptr = 30;
        case 30:
            nlei_PlatformOpenGL__wglUseProgram($upload);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 34962;
            $upload = null;
            $ptr = 31;
        case 31:
            nlei_PlatformOpenGL__wglBindBuffer(var$3, $upload);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 3553;
            $upload = null;
            $ptr = 32;
        case 32:
            nlei_PlatformOpenGL__wglBindTexture(var$3, $upload);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 33;
        case 33:
            nlei_PlatformOpenGL__wglDeleteTextures($tex);
            if ($rt_suspending()) {
                break main;
            }
            if (!$vaos)
                return;
            $ptr = 34;
        case 34:
            nlei_PlatformOpenGL__wglDeleteVertexArrays($vao);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($vaos, $tex, var$3, $height, $width, $upload, var$7, $img, var$9, var$10, var$11, var$12, var$13, $x, $y, var$16, var$17, var$18, var$19, $vao, $ptr);
    }
    function nleit_EarlyLoadScreen_loadFinal($image) {
        var $img, $upload, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$upload = $thread.pop();$img = $thread.pop();$image = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nlei_PlatformAssets_loadImageFile($image);
            if ($rt_suspending()) {
                break main;
            }
            $img = $tmp;
            if ($img === null)
                return;
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformOpenGL__wglGenTextures();
            if ($rt_suspending()) {
                break main;
            }
            $upload = $tmp;
            nleit_EarlyLoadScreen_finalTexture = $upload;
            var$4 = 33984;
            $ptr = 3;
        case 3:
            nlei_PlatformOpenGL__wglActiveTexture(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3553;
            $upload = nleit_EarlyLoadScreen_finalTexture;
            $ptr = 4;
        case 4:
            nlei_PlatformOpenGL__wglBindTexture(var$4, $upload);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 3553;
            var$6 = 10240;
            var$4 = 9728;
            $ptr = 5;
        case 5:
            nlei_PlatformOpenGL__wglTexParameteri(var$5, var$6, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3553;
            var$5 = 10241;
            var$6 = 9728;
            $ptr = 6;
        case 6:
            nlei_PlatformOpenGL__wglTexParameteri(var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3553;
            var$5 = 10242;
            var$6 = 33071;
            $ptr = 7;
        case 7:
            nlei_PlatformOpenGL__wglTexParameteri(var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3553;
            var$5 = 10243;
            var$6 = 33071;
            $ptr = 8;
        case 8:
            nlei_PlatformOpenGL__wglTexParameteri(var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $rt_imul($img.$width0, $img.$height0);
            $ptr = 9;
        case 9:
            $tmp = nlei_PlatformRuntime_allocateIntBuffer(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $upload = $tmp;
            $image = $img.$pixels;
            $ptr = 10;
        case 10:
            nleib_EaglerArrayIntBuffer_put0($upload, $image);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayIntBuffer_flip($upload);
            var$4 = 3553;
            var$5 = 0;
            var$6 = 6408;
            var$7 = $img.$width0;
            var$8 = $img.$height0;
            var$9 = 0;
            var$10 = 6408;
            var$11 = 5121;
            $ptr = 11;
        case 11:
            nlei_PlatformOpenGL__wglTexImage2D0(var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $upload);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($image, $img, $upload, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    function nleit_EarlyLoadScreen_paintFinal($vaos, $softVAOs) {
        var $vao, var$4, $width, $height, $x, $y, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$y = $thread.pop();$x = $thread.pop();$height = $thread.pop();$width = $thread.pop();var$4 = $thread.pop();$vao = $thread.pop();$softVAOs = $thread.pop();$vaos = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $vao = nleit_EarlyLoadScreen_finalTexture;
            if ($vao === null)
                return;
            var$4 = 3553;
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL__wglBindTexture(var$4, $vao);
            if ($rt_suspending()) {
                break main;
            }
            $vao = nleit_EarlyLoadScreen_program;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglUseProgram($vao);
            if ($rt_suspending()) {
                break main;
            }
            $width = nlei_PlatformInput_windowWidth;
            $height = nlei_PlatformInput_windowHeight;
            if ($width <= $height) {
                $x = 1.0;
                $y = $height / $width;
            } else {
                $x = $width / $height;
                $y = 1.0;
            }
            var$4 = 33984;
            $ptr = 3;
        case 3:
            nlei_PlatformOpenGL__wglActiveTexture(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3553;
            $vao = nleit_EarlyLoadScreen_finalTexture;
            $ptr = 4;
        case 4:
            nlei_PlatformOpenGL__wglBindTexture(var$4, $vao);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0;
            var$9 = 0;
            $ptr = 5;
        case 5:
            nlei_PlatformOpenGL__wglViewport(var$4, var$9, $width, $height);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = 1.0;
            var$11 = 1.0;
            var$12 = 1.0;
            var$13 = 1.0;
            $ptr = 6;
        case 6:
            nlei_PlatformOpenGL__wglClearColor(var$10, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 16384;
            $ptr = 7;
        case 7:
            nlei_PlatformOpenGL__wglClear(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $vao = nleit_EarlyLoadScreen_program;
            var$14 = $rt_s(436);
            $ptr = 8;
        case 8:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($vao, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $vao = $tmp;
            $ptr = 9;
        case 9:
            nlei_PlatformOpenGL__wglUniform2f($vao, $x, $y);
            if ($rt_suspending()) {
                break main;
            }
            $vao = null;
            if ($vaos) {
                if (!$softVAOs) {
                    $ptr = 10;
                    continue main;
                }
                $ptr = 12;
                continue main;
            }
            if ($vaos && $softVAOs) {
                var$14 = nleit_EarlyLoadScreen_vbo;
                $ptr = 18;
                continue main;
            }
            var$4 = 34962;
            var$14 = nleit_EarlyLoadScreen_vbo;
            $ptr = 14;
            continue main;
        case 10:
            $tmp = nlei_PlatformOpenGL__wglGenVertexArrays();
            if ($rt_suspending()) {
                break main;
            }
            $vao = $tmp;
            $ptr = 11;
        case 11:
            nlei_PlatformOpenGL__wglBindVertexArray($vao);
            if ($rt_suspending()) {
                break main;
            }
            if ($vaos && $softVAOs) {
                var$14 = nleit_EarlyLoadScreen_vbo;
                $ptr = 18;
                continue main;
            }
            var$4 = 34962;
            var$14 = nleit_EarlyLoadScreen_vbo;
            $ptr = 14;
            continue main;
        case 12:
            $tmp = nleo_EaglercraftGPU_createGLVertexArray();
            if ($rt_suspending()) {
                break main;
            }
            $vao = $tmp;
            $ptr = 13;
        case 13:
            nleo_EaglercraftGPU_bindGLVertexArray($vao);
            if ($rt_suspending()) {
                break main;
            }
            if ($vaos && $softVAOs) {
                var$14 = nleit_EarlyLoadScreen_vbo;
                $ptr = 18;
                continue main;
            }
            var$4 = 34962;
            var$14 = nleit_EarlyLoadScreen_vbo;
            $ptr = 14;
        case 14:
            nlei_PlatformOpenGL__wglBindBuffer(var$4, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0;
            $ptr = 15;
        case 15:
            nlei_PlatformOpenGL__wglEnableVertexAttribArray(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = 0;
            $width = 2;
            var$9 = 5126;
            var$16 = 0;
            var$4 = 8;
            $height = 0;
            $ptr = 16;
        case 16:
            nlei_PlatformOpenGL__wglVertexAttribPointer(var$15, $width, var$9, var$16, var$4, $height);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 4;
            $height = 0;
            $width = 6;
            $ptr = 17;
        case 17:
            nlei_PlatformOpenGL__wglDrawArrays(var$4, $height, $width);
            if ($rt_suspending()) {
                break main;
            }
            if ($softVAOs) {
                $ptr = 22;
                continue main;
            }
            var$4 = 0;
            $ptr = 25;
            continue main;
        case 18:
            nleo_EaglercraftGPU_bindVAOGLArrayBuffer(var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0;
            $ptr = 19;
        case 19:
            nleo_EaglercraftGPU_enableVertexAttribArray(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0;
            $height = 2;
            $width = 5126;
            var$9 = 0;
            var$16 = 8;
            var$15 = 0;
            $ptr = 20;
        case 20:
            nleo_EaglercraftGPU_vertexAttribPointer(var$4, $height, $width, var$9, var$16, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 4;
            $height = 0;
            $width = 6;
            $ptr = 21;
        case 21:
            nleo_EaglercraftGPU_drawArrays(var$4, $height, $width);
            if ($rt_suspending()) {
                break main;
            }
            if ($softVAOs) {
                $ptr = 22;
                continue main;
            }
            var$4 = 0;
            $ptr = 25;
            continue main;
        case 22:
            nlei_PlatformInput_update();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 50;
            $ptr = 23;
        case 23:
            nle_EagUtils_sleep(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = null;
            $ptr = 24;
        case 24:
            nlei_PlatformOpenGL__wglUseProgram(var$14);
            if ($rt_suspending()) {
                break main;
            }
            if ($vaos && $softVAOs) {
                var$4 = 3553;
                var$14 = null;
                $ptr = 27;
                continue main;
            }
            var$4 = 34962;
            var$14 = null;
            $ptr = 26;
            continue main;
        case 25:
            nlei_PlatformOpenGL__wglDisableVertexAttribArray(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 22;
            continue main;
        case 26:
            nlei_PlatformOpenGL__wglBindBuffer(var$4, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3553;
            var$14 = null;
            $ptr = 27;
        case 27:
            nlei_PlatformOpenGL__wglBindTexture(var$4, var$14);
            if ($rt_suspending()) {
                break main;
            }
            if ($softVAOs) {
                var$4 = 6;
                $ptr = 28;
                continue main;
            }
            if (!$vaos)
                return;
            if (!$softVAOs) {
                $ptr = 29;
                continue main;
            }
            $ptr = 30;
            continue main;
        case 28:
            nleo_EaglercraftGPU_clearCurrentBinding(var$4);
            if ($rt_suspending()) {
                break main;
            }
            if (!$vaos)
                return;
            if (!$softVAOs) {
                $ptr = 29;
                continue main;
            }
            $ptr = 30;
            continue main;
        case 29:
            nlei_PlatformOpenGL__wglDeleteVertexArrays($vao);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 30:
            nleo_EaglercraftGPU_destroyGLVertexArray($vao);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($vaos, $softVAOs, $vao, var$4, $width, $height, $x, $y, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr);
    }
    function nleit_EarlyLoadScreen__clinit_() {
        nleit_EarlyLoadScreen_vbo = null;
        nleit_EarlyLoadScreen_program = null;
        nleit_EarlyLoadScreen_pressDeleteTexture = null;
        nleit_EarlyLoadScreen_pressDeleteProgram = null;
        nleit_EarlyLoadScreen_finalTexture = null;
    }
    var nlei_PlatformAssets = $rt_classWithoutFields();
    var nlei_PlatformAssets_MISSING_FILE = null;
    var nlei_PlatformAssets_assets = null;
    var nlei_PlatformAssets_imageLoadCanvas = null;
    var nlei_PlatformAssets_imageLoadContext = null;
    function nlei_PlatformAssets__init_0() {
        var var_0 = new nlei_PlatformAssets();
        nlei_PlatformAssets__init_(var_0);
        return var_0;
    }
    function nlei_PlatformAssets__init_($this) {}
    function nlei_PlatformAssets_getResourceBytes($path) {
        var $file, $data, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$data = $thread.pop();$file = $thread.pop();$path = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (jl_String_startsWith($path, $rt_s(5)))
                $path = jl_String_substring($path, 1);
            $file = nlei_PlatformAssets_assets;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_get($file, $path);
            if ($rt_suspending()) {
                break main;
            }
            $file = $tmp;
            $data = $file;
            if ($data === null && jl_String_startsWith($path, $rt_s(438)) && !jl_String_endsWith($path, $rt_s(439))) {
                nleit_ClientMain_$callClinit();
                $file = nleit_ClientMain_configLocalesFolder;
                var$4 = jl_String_substring($path, 22);
                var$5 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$5);
                $ptr = 2;
                continue main;
            }
            if ($data === nlei_PlatformAssets_MISSING_FILE)
                $data = null;
            return $data;
        case 2:
            $tmp = jl_StringBuilder_append(var$5, $file);
            if ($rt_suspending()) {
                break main;
            }
            $file = $tmp;
            jl_AbstractStringBuilder_append($file, 47);
            $ptr = 3;
        case 3:
            jl_StringBuilder_append($file, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$5);
            if ($rt_suspending()) {
                break main;
            }
            $file = $tmp;
            $ptr = 5;
        case 5:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nlei_PlatformRuntime_hasFetchSupport) {
                $ptr = 6;
                continue main;
            }
            var$6 = 1;
            $ptr = 7;
            continue main;
        case 6:
            $tmp = nlei_PlatformRuntime_downloadRemoteURIXHR($file);
            if ($rt_suspending()) {
                break main;
            }
            $file = $tmp;
            if ($file === null) {
                $file = nlei_PlatformAssets_assets;
                $data = nlei_PlatformAssets_MISSING_FILE;
                $ptr = 8;
                continue main;
            }
            $data = nleit_TeaVMUtils_wrapByteArrayBuffer($file);
            $file = nlei_PlatformAssets_assets;
            $ptr = 9;
            continue main;
        case 7:
            $tmp = nlei_PlatformRuntime_downloadRemoteURIFetch($file, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $file = $tmp;
            if ($file === null) {
                $file = nlei_PlatformAssets_assets;
                $data = nlei_PlatformAssets_MISSING_FILE;
                $ptr = 8;
                continue main;
            }
            $data = nleit_TeaVMUtils_wrapByteArrayBuffer($file);
            $file = nlei_PlatformAssets_assets;
            $ptr = 9;
            continue main;
        case 8:
            ju_HashMap_putImpl($file, $path, $data);
            if ($rt_suspending()) {
                break main;
            }
            return null;
        case 9:
            ju_HashMap_putImpl($file, $path, $data);
            if ($rt_suspending()) {
                break main;
            }
            return $data;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($path, $file, $data, var$4, var$5, var$6, $ptr);
    }
    function nlei_PlatformAssets_loadImageFile($data) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$data = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(440);
            $ptr = 1;
        case 1:
            $tmp = nlei_PlatformAssets_loadImageFile0($data, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($data, var$2, $ptr);
    }
    function nlei_PlatformAssets_loadImageFile0(var$1, var$2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nlei_PlatformAssets_loadImageFile$_asyncCall_$(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nlei_PlatformAssets_loadImageFile1($data, $mime, $ret) {
        var $doc, var$5, $src, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$src = $thread.pop();var$5 = $thread.pop();$doc = $thread.pop();$ret = $thread.pop();$mime = $thread.pop();$data = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $doc = $rt_globals.window.document;
            var$5 = $doc.createElement("img");
            $src = $rt_createArray(nleit_TeaVMBlobURLHandle, 1);
            var$7 = new nlei_PlatformAssets$1;
            var$7.$val$doc = $doc;
            var$7.$val$toLoad = var$5;
            var$7.$val$src = $src;
            var$7.$val$ret = $ret;
            var$5.addEventListener("load", otji_JS_function(var$7, "handleEvent"));
            var$8 = new nlei_PlatformAssets$2;
            var$8.$val$src0 = $src;
            var$8.$val$ret0 = $ret;
            var$5.addEventListener("error", otji_JS_function(var$8, "handleEvent"));
            var$9 = 0;
            $ptr = 1;
        case 1:
            nleit_TeaVMBlobURLManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleit_TeaVMBlobURLManager_isSameOriginSupport) {
                var$8 = new nleit_TeaVMBlobURLManager$HandleRealBlobURL;
                var$7 = $data.data.buffer;
                $mime = $rt_ustr($mime);
                $ptr = 2;
                continue main;
            }
            var$8 = new nleit_TeaVMBlobURLManager$HandleFakeBlobURL;
            var$8.$blobData = $data;
            var$8.$blobMIME = $mime;
            $data = $src.data;
            $data[var$9] = var$8;
            if ($data[0] === null) {
                otpp_AsyncCallbackWrapper_complete($ret, null);
                return;
            }
            $mime = $data[0];
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nleit_TeaVMBlobURLManager_createBlobURL$js_body$_12(var$7, $mime);
            if ($rt_suspending()) {
                break main;
            }
            $mime = $tmp;
            var$8.$blobURL = $rt_str($mime);
            $data = $src.data;
            $data[var$9] = var$8;
            if ($data[0] === null) {
                otpp_AsyncCallbackWrapper_complete($ret, null);
                return;
            }
            $mime = $data[0];
            $ptr = 3;
        case 3:
            $tmp = $mime.$toExternalForm();
            if ($rt_suspending()) {
                break main;
            }
            $mime = $tmp;
            $mime = $rt_ustr($mime);
            var$5.src = $mime;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($data, $mime, $ret, $doc, var$5, $src, var$7, var$8, var$9, $ptr);
    }
    function nlei_PlatformAssets__clinit_() {
        nlei_PlatformAssets_MISSING_FILE = $rt_createByteArray(0);
        nlei_PlatformAssets_assets = ju_HashMap__init_0();
        nlei_PlatformAssets_imageLoadCanvas = null;
        nlei_PlatformAssets_imageLoadContext = null;
    }
    function nlei_PlatformAssets_loadImageFile$_asyncCall_$(var$1, var$2) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nlei_PlatformAssets_loadImageFile1(var$1, var$2, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nlei_PlatformAssets_youEagler$js_body$_6() {
        return { willReadFrequently : true };
    }
    var nle_EaglercraftVersion = $rt_classWithoutFields();
    var nle_EaglercraftVersion_EPKVersionIdentifier = null;
    var nle_EaglercraftVersion_clientBrandUUID = null;
    var nle_EaglercraftVersion_legacyClientUUIDInSharedWorld = null;
    var nle_EaglercraftVersion_$clinitCalled = false;
    function nle_EaglercraftVersion_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nle_EaglercraftVersion_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nle_EaglercraftVersion_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nle_EaglercraftVersion__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nle_EaglercraftVersion_$callClinit = $rt_eraseClinit(nle_EaglercraftVersion);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nle_EaglercraftVersion__init_0() {
        var var_0 = new nle_EaglercraftVersion();
        nle_EaglercraftVersion__init_(var_0);
        return var_0;
    }
    function nle_EaglercraftVersion__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EaglercraftVersion_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nle_EaglercraftVersion__clinit_() {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nle_EaglercraftVersion_EPKVersionIdentifier = null;
            var$1 = $rt_s(441);
            $ptr = 1;
        case 1:
            nle_EagUtils_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(442);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 3;
        case 3:
            jl_StringBuilder_append(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            jnc_StandardCharsets_$callClinit();
            var$1 = jnc_StandardCharsets_UTF_8;
            $ptr = 5;
        case 5:
            $tmp = jl_String_getBytes0(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            nle_EaglercraftVersion_clientBrandUUID = nle_EaglercraftUUID_nameUUIDFromBytes(var$4);
            var$1 = $rt_s(441);
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(443);
            $ptr = 6;
        case 6:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 7;
        case 7:
            jl_StringBuilder_append(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$1 = jnc_StandardCharsets_UTF_8;
            $ptr = 9;
        case 9:
            $tmp = jl_String_getBytes0(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            nle_EaglercraftVersion_legacyClientUUIDInSharedWorld = nle_EaglercraftUUID_nameUUIDFromBytes(var$4);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, $ptr);
    }
    var nleit_EPKDownloadHelper = $rt_classWithoutFields();
    var nleit_EPKDownloadHelper_logger = null;
    var nleit_EPKDownloadHelper_$clinitCalled = false;
    function nleit_EPKDownloadHelper_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nleit_EPKDownloadHelper_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_EPKDownloadHelper_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nleit_EPKDownloadHelper__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nleit_EPKDownloadHelper_$callClinit = $rt_eraseClinit(nleit_EPKDownloadHelper);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nleit_EPKDownloadHelper__init_0() {
        var var_0 = new nleit_EPKDownloadHelper();
        nleit_EPKDownloadHelper__init_(var_0);
        return var_0;
    }
    function nleit_EPKDownloadHelper__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_EPKDownloadHelper_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_EPKDownloadHelper_downloadEPKFilesOfVersion($epkFiles, $expectedVersionIdentifier, $loadedFiles) {
        var $url, $bTrue, $noCache, $dat, $oldEPKInvalidFlag, $a, var$10, var$11, $canBeInvalid, $i, var$14, $epkStr, $b, $c, $toCheck, $canBeCorrupt, $logURL, $epkFileData, $t, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$t = $thread.pop();$epkFileData = $thread.pop();$logURL = $thread.pop();$canBeCorrupt = $thread.pop();$toCheck = $thread.pop();$c = $thread.pop();$b = $thread.pop();$epkStr = $thread.pop();var$14 = $thread.pop();$i = $thread.pop();$canBeInvalid = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$a = $thread.pop();$oldEPKInvalidFlag = $thread.pop();$dat = $thread.pop();$noCache = $thread.pop();$bTrue = $thread.pop();$url = $thread.pop();$loadedFiles = $thread.pop();$expectedVersionIdentifier
            = $thread.pop();$epkFiles = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_EPKDownloadHelper_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $url = $rt_s(17);
            $ptr = 2;
        case 2:
            $tmp = nle_Base64_decodeBase64($url);
            if ($rt_suspending()) {
                break main;
            }
            $bTrue = $tmp;
            $url = $rt_s(444);
            $noCache = 0;
            $ptr = 3;
        case 3:
            $tmp = nlei_PlatformApplication_getLocalStorage($url, $noCache);
            if ($rt_suspending()) {
                break main;
            }
            $dat = $tmp;
            $oldEPKInvalidFlag = ju_Arrays_equals($bTrue, $dat);
            $a = 0;
            var$10 = $oldEPKInvalidFlag;
            if ($a < 3) {
                var$11 = $rt_compare($a, 1);
                if (!var$11) {
                    $ptr = 4;
                    continue main;
                }
                ju_HashMap_clear($loadedFiles);
                $canBeInvalid = $expectedVersionIdentifier === null ? 0 : 1;
                $i = 0;
                var$14 = $epkFiles.data;
                if ($i < var$14.length) {
                    a: {
                        $noCache = 0;
                        $url = null;
                        switch ($a) {
                            case 0:
                                $url = var$14[$i].$url;
                                $noCache = 0;
                                break a;
                            case 1:
                                $url = nleit_EPKDownloadHelper_logger;
                                $epkStr = $rt_s(445);
                                $ptr = 7;
                                continue main;
                            case 2:
                                $url = nleit_EPKDownloadHelper_logger;
                                $epkStr = $rt_s(446);
                                $ptr = 8;
                                continue main;
                            default:
                        }
                    }
                    $b = jl_String_startsWith($url, $rt_s(169));
                    $c = !$b && !jl_String_startsWith($url, $rt_s(447)) ? 1 : 0;
                    if (jl_String_indexOf2($url, $rt_s(448)) == (-1)) {
                        $ptr = 15;
                        continue main;
                    }
                    $toCheck = $url;
                    b: {
                        c: {
                            if ($c) {
                                if (var$11 < 0)
                                    break c;
                                if (jl_String_startsWith($toCheck, $rt_s(449)))
                                    break c;
                                if (jl_String_startsWith($toCheck, $rt_s(450)))
                                    break c;
                            }
                            $canBeCorrupt = 0;
                            break b;
                        }
                        $canBeCorrupt = 1;
                    }
                    $canBeInvalid = $canBeInvalid & $c;
                    if ($b) {
                        $b = jl_String_length($url);
                        $epkStr = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($epkStr);
                        $toCheck = $rt_s(451);
                        $ptr = 16;
                        continue main;
                    }
                    $logURL = $url;
                    $epkStr = nleit_EPKDownloadHelper_logger;
                    $toCheck = $rt_s(452);
                    $dat = $rt_createArray(jl_Object, 1);
                    $dat.data[0] = $logURL;
                    $ptr = 19;
                    continue main;
                }
                if ($canBeInvalid) {
                    $url = $rt_s(453);
                    $ptr = 6;
                    continue main;
                }
                var$10 = 0;
            }
            if (var$10 == $oldEPKInvalidFlag)
                return;
            $expectedVersionIdentifier = $rt_s(444);
            if (!var$10)
                $bTrue = null;
            $noCache = 0;
            $ptr = 5;
            continue main;
        case 4:
            d: {
                nlei_PlatformRuntime_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                if (!nlei_PlatformRuntime_hasFetchSupport) {
                    $a = $a + 1 | 0;
                    if ($a >= 3)
                        break d;
                    var$11 = $rt_compare($a, 1);
                    if (!var$11) {
                        continue main;
                    }
                }
                ju_HashMap_clear($loadedFiles);
                $canBeInvalid = $expectedVersionIdentifier === null ? 0 : 1;
                $i = 0;
                var$14 = $epkFiles.data;
                if ($i < var$14.length) {
                    a: {
                        $noCache = 0;
                        $url = null;
                        switch ($a) {
                            case 0:
                                $url = var$14[$i].$url;
                                $noCache = 0;
                                break a;
                            case 1:
                                $url = nleit_EPKDownloadHelper_logger;
                                $epkStr = $rt_s(445);
                                $ptr = 7;
                                continue main;
                            case 2:
                                $url = nleit_EPKDownloadHelper_logger;
                                $epkStr = $rt_s(446);
                                $ptr = 8;
                                continue main;
                            default:
                        }
                    }
                    $b = jl_String_startsWith($url, $rt_s(169));
                    $c = !$b && !jl_String_startsWith($url, $rt_s(447)) ? 1 : 0;
                    if (jl_String_indexOf2($url, $rt_s(448)) == (-1)) {
                        $ptr = 15;
                        continue main;
                    }
                    $toCheck = $url;
                    b: {
                        c: {
                            if ($c) {
                                if (var$11 < 0)
                                    break c;
                                if (jl_String_startsWith($toCheck, $rt_s(449)))
                                    break c;
                                if (jl_String_startsWith($toCheck, $rt_s(450)))
                                    break c;
                            }
                            $canBeCorrupt = 0;
                            break b;
                        }
                        $canBeCorrupt = 1;
                    }
                    $canBeInvalid = $canBeInvalid & $c;
                    if ($b) {
                        $b = jl_String_length($url);
                        $epkStr = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($epkStr);
                        $toCheck = $rt_s(451);
                        $ptr = 16;
                        continue main;
                    }
                    $logURL = $url;
                    $epkStr = nleit_EPKDownloadHelper_logger;
                    $toCheck = $rt_s(452);
                    $dat = $rt_createArray(jl_Object, 1);
                    $dat.data[0] = $logURL;
                    $ptr = 19;
                    continue main;
                }
                if ($canBeInvalid) {
                    $url = $rt_s(453);
                    $ptr = 6;
                    continue main;
                }
                var$10 = 0;
            }
            if (var$10 == $oldEPKInvalidFlag)
                return;
            $expectedVersionIdentifier = $rt_s(444);
            if (!var$10)
                $bTrue = null;
            $noCache = 0;
            $ptr = 5;
        case 5:
            nlei_PlatformApplication_setLocalStorage($expectedVersionIdentifier, $bTrue, $noCache);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            $tmp = ju_HashMap_get($loadedFiles, $url);
            if ($rt_suspending()) {
                break main;
            }
            $url = $tmp;
            $dat = $url;
            if ($dat !== null) {
                $epkStr = new jl_String;
                jnc_StandardCharsets_$callClinit();
                $url = jnc_StandardCharsets_UTF_8;
                $ptr = 11;
                continue main;
            }
            $url = nleit_EPKDownloadHelper_logger;
            $epkStr = $rt_s(454);
            $dat = $rt_createArray(jl_Object, 1);
            $dat.data[0] = $expectedVersionIdentifier;
            $ptr = 10;
            continue main;
        case 7:
            oall_Logger_warn($url, $epkStr);
            if ($rt_suspending()) {
                break main;
            }
            $url = var$14[$i].$url;
            $noCache = 1;
            $b = jl_String_startsWith($url, $rt_s(169));
            $c = !$b && !jl_String_startsWith($url, $rt_s(447)) ? 1 : 0;
            if (jl_String_indexOf2($url, $rt_s(448)) == (-1)) {
                $ptr = 15;
                continue main;
            }
            $toCheck = $url;
            e: {
                f: {
                    if ($c) {
                        if (var$11 < 0)
                            break f;
                        if (jl_String_startsWith($toCheck, $rt_s(449)))
                            break f;
                        if (jl_String_startsWith($toCheck, $rt_s(450)))
                            break f;
                    }
                    $canBeCorrupt = 0;
                    break e;
                }
                $canBeCorrupt = 1;
            }
            $canBeInvalid = $canBeInvalid & $c;
            if ($b) {
                $b = jl_String_length($url);
                $epkStr = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($epkStr);
                $toCheck = $rt_s(451);
                $ptr = 16;
                continue main;
            }
            $logURL = $url;
            $epkStr = nleit_EPKDownloadHelper_logger;
            $toCheck = $rt_s(452);
            $dat = $rt_createArray(jl_Object, 1);
            $dat.data[0] = $logURL;
            $ptr = 19;
            continue main;
        case 8:
            oall_Logger_warn($url, $epkStr);
            if ($rt_suspending()) {
                break main;
            }
            $url = var$14[$i].$url;
            $ptr = 9;
        case 9:
            $tmp = nleit_EPKDownloadHelper_injectCacheInvalidationHack($url, $expectedVersionIdentifier);
            if ($rt_suspending()) {
                break main;
            }
            $url = $tmp;
            $noCache = 1;
            $b = jl_String_startsWith($url, $rt_s(169));
            $c = !$b && !jl_String_startsWith($url, $rt_s(447)) ? 1 : 0;
            if (jl_String_indexOf2($url, $rt_s(448)) == (-1)) {
                $ptr = 15;
                continue main;
            }
            $toCheck = $url;
            e: {
                f: {
                    if ($c) {
                        if (var$11 < 0)
                            break f;
                        if (jl_String_startsWith($toCheck, $rt_s(449)))
                            break f;
                        if (jl_String_startsWith($toCheck, $rt_s(450)))
                            break f;
                    }
                    $canBeCorrupt = 0;
                    break e;
                }
                $canBeCorrupt = 1;
            }
            $canBeInvalid = $canBeInvalid & $c;
            if ($b) {
                $b = jl_String_length($url);
                $epkStr = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($epkStr);
                $toCheck = $rt_s(451);
                $ptr = 16;
                continue main;
            }
            $logURL = $url;
            $epkStr = nleit_EPKDownloadHelper_logger;
            $toCheck = $rt_s(452);
            $dat = $rt_createArray(jl_Object, 1);
            $dat.data[0] = $logURL;
            $ptr = 19;
            continue main;
        case 10:
            oall_Logger_error($url, $epkStr, $dat);
            if ($rt_suspending()) {
                break main;
            }
            if (!var$10) {
                if ($a >= 2) {
                    $url = nleit_EPKDownloadHelper_logger;
                    $epkStr = $rt_s(455);
                    $ptr = 14;
                    continue main;
                }
                $a = $a + 1 | 0;
                if ($a < 3) {
                    var$11 = $rt_compare($a, 1);
                    if (!var$11) {
                        $ptr = 4;
                        continue main;
                    }
                    ju_HashMap_clear($loadedFiles);
                    $canBeInvalid = $expectedVersionIdentifier === null ? 0 : 1;
                    $i = 0;
                    var$14 = $epkFiles.data;
                    if ($i < var$14.length) {
                        g: {
                            $noCache = 0;
                            $url = null;
                            switch ($a) {
                                case 0:
                                    $url = var$14[$i].$url;
                                    $noCache = 0;
                                    break g;
                                case 1:
                                    $url = nleit_EPKDownloadHelper_logger;
                                    $epkStr = $rt_s(445);
                                    $ptr = 7;
                                    continue main;
                                case 2:
                                    $url = nleit_EPKDownloadHelper_logger;
                                    $epkStr = $rt_s(446);
                                    $ptr = 8;
                                    continue main;
                                default:
                            }
                        }
                        $b = jl_String_startsWith($url, $rt_s(169));
                        $c = !$b && !jl_String_startsWith($url, $rt_s(447)) ? 1 : 0;
                        if (jl_String_indexOf2($url, $rt_s(448)) == (-1)) {
                            $ptr = 15;
                            continue main;
                        }
                        $toCheck = $url;
                        h: {
                            i: {
                                if ($c) {
                                    if (var$11 < 0)
                                        break i;
                                    if (jl_String_startsWith($toCheck, $rt_s(449)))
                                        break i;
                                    if (jl_String_startsWith($toCheck, $rt_s(450)))
                                        break i;
                                }
                                $canBeCorrupt = 0;
                                break h;
                            }
                            $canBeCorrupt = 1;
                        }
                        $canBeInvalid = $canBeInvalid & $c;
                        if ($b) {
                            $b = jl_String_length($url);
                            $epkStr = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_($epkStr);
                            $toCheck = $rt_s(451);
                            $ptr = 16;
                            continue main;
                        }
                        $logURL = $url;
                        $epkStr = nleit_EPKDownloadHelper_logger;
                        $toCheck = $rt_s(452);
                        $dat = $rt_createArray(jl_Object, 1);
                        $dat.data[0] = $logURL;
                        $ptr = 19;
                        continue main;
                    }
                    if ($canBeInvalid) {
                        $url = $rt_s(453);
                        $ptr = 6;
                        continue main;
                    }
                    var$10 = 0;
                }
            }
            if (var$10 == $oldEPKInvalidFlag)
                return;
            $expectedVersionIdentifier = $rt_s(444);
            if (!var$10)
                $bTrue = null;
            $noCache = 0;
            $ptr = 5;
            continue main;
        case 11:
            jl_String__init_6($epkStr, $dat, $url);
            if ($rt_suspending()) {
                break main;
            }
            $epkStr = jl_String_trim($epkStr);
            $ptr = 12;
        case 12:
            $tmp = $expectedVersionIdentifier.$equals($epkStr);
            if ($rt_suspending()) {
                break main;
            }
            $noCache = $tmp;
            if (!$noCache) {
                $url = nleit_EPKDownloadHelper_logger;
                $toCheck = $rt_s(456);
                $dat = $rt_createArrayFromData(jl_Object, [$epkStr, $expectedVersionIdentifier]);
                $ptr = 13;
                continue main;
            }
            var$10 = 0;
            if (var$10 == $oldEPKInvalidFlag)
                return;
            $expectedVersionIdentifier = $rt_s(444);
            if (!var$10)
                $bTrue = null;
            $noCache = 0;
            $ptr = 5;
            continue main;
        case 13:
            oall_Logger_error($url, $toCheck, $dat);
            if ($rt_suspending()) {
                break main;
            }
            if (!var$10) {
                if ($a >= 2) {
                    $url = nleit_EPKDownloadHelper_logger;
                    $epkStr = $rt_s(455);
                    $ptr = 14;
                    continue main;
                }
                $a = $a + 1 | 0;
                if ($a < 3) {
                    var$11 = $rt_compare($a, 1);
                    if (!var$11) {
                        $ptr = 4;
                        continue main;
                    }
                    ju_HashMap_clear($loadedFiles);
                    $canBeInvalid = $expectedVersionIdentifier === null ? 0 : 1;
                    $i = 0;
                    var$14 = $epkFiles.data;
                    if ($i < var$14.length) {
                        g: {
                            $noCache = 0;
                            $url = null;
                            switch ($a) {
                                case 0:
                                    $url = var$14[$i].$url;
                                    $noCache = 0;
                                    break g;
                                case 1:
                                    $url = nleit_EPKDownloadHelper_logger;
                                    $epkStr = $rt_s(445);
                                    $ptr = 7;
                                    continue main;
                                case 2:
                                    $url = nleit_EPKDownloadHelper_logger;
                                    $epkStr = $rt_s(446);
                                    $ptr = 8;
                                    continue main;
                                default:
                            }
                        }
                        $b = jl_String_startsWith($url, $rt_s(169));
                        $c = !$b && !jl_String_startsWith($url, $rt_s(447)) ? 1 : 0;
                        if (jl_String_indexOf2($url, $rt_s(448)) == (-1)) {
                            $ptr = 15;
                            continue main;
                        }
                        $toCheck = $url;
                        h: {
                            i: {
                                if ($c) {
                                    if (var$11 < 0)
                                        break i;
                                    if (jl_String_startsWith($toCheck, $rt_s(449)))
                                        break i;
                                    if (jl_String_startsWith($toCheck, $rt_s(450)))
                                        break i;
                                }
                                $canBeCorrupt = 0;
                                break h;
                            }
                            $canBeCorrupt = 1;
                        }
                        $canBeInvalid = $canBeInvalid & $c;
                        if ($b) {
                            $b = jl_String_length($url);
                            $epkStr = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_($epkStr);
                            $toCheck = $rt_s(451);
                            $ptr = 16;
                            continue main;
                        }
                        $logURL = $url;
                        $epkStr = nleit_EPKDownloadHelper_logger;
                        $toCheck = $rt_s(452);
                        $dat = $rt_createArray(jl_Object, 1);
                        $dat.data[0] = $logURL;
                        $ptr = 19;
                        continue main;
                    }
                    if ($canBeInvalid) {
                        $url = $rt_s(453);
                        $ptr = 6;
                        continue main;
                    }
                    var$10 = 0;
                }
            }
            if (var$10 == $oldEPKInvalidFlag)
                return;
            $expectedVersionIdentifier = $rt_s(444);
            if (!var$10)
                $bTrue = null;
            $noCache = 0;
            $ptr = 5;
            continue main;
        case 14:
            oall_Logger_error0($url, $epkStr);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = 1;
            $a = $a + 1 | 0;
            if ($a < 3) {
                var$11 = $rt_compare($a, 1);
                if (!var$11) {
                    $ptr = 4;
                    continue main;
                }
                ju_HashMap_clear($loadedFiles);
                $canBeInvalid = $expectedVersionIdentifier === null ? 0 : 1;
                $i = 0;
                var$14 = $epkFiles.data;
                if ($i < var$14.length) {
                    a: {
                        $noCache = 0;
                        $url = null;
                        switch ($a) {
                            case 0:
                                $url = var$14[$i].$url;
                                $noCache = 0;
                                break a;
                            case 1:
                                $url = nleit_EPKDownloadHelper_logger;
                                $epkStr = $rt_s(445);
                                $ptr = 7;
                                continue main;
                            case 2:
                                $url = nleit_EPKDownloadHelper_logger;
                                $epkStr = $rt_s(446);
                                $ptr = 8;
                                continue main;
                            default:
                        }
                    }
                    $b = jl_String_startsWith($url, $rt_s(169));
                    $c = !$b && !jl_String_startsWith($url, $rt_s(447)) ? 1 : 0;
                    if (jl_String_indexOf2($url, $rt_s(448)) == (-1)) {
                        $ptr = 15;
                        continue main;
                    }
                    $toCheck = $url;
                    b: {
                        c: {
                            if ($c) {
                                if (var$11 < 0)
                                    break c;
                                if (jl_String_startsWith($toCheck, $rt_s(449)))
                                    break c;
                                if (jl_String_startsWith($toCheck, $rt_s(450)))
                                    break c;
                            }
                            $canBeCorrupt = 0;
                            break b;
                        }
                        $canBeCorrupt = 1;
                    }
                    $canBeInvalid = $canBeInvalid & $c;
                    if ($b) {
                        $b = jl_String_length($url);
                        $epkStr = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($epkStr);
                        $toCheck = $rt_s(451);
                        $ptr = 16;
                        continue main;
                    }
                    $logURL = $url;
                    $epkStr = nleit_EPKDownloadHelper_logger;
                    $toCheck = $rt_s(452);
                    $dat = $rt_createArray(jl_Object, 1);
                    $dat.data[0] = $logURL;
                    $ptr = 19;
                    continue main;
                }
                if ($canBeInvalid) {
                    $url = $rt_s(453);
                    $ptr = 6;
                    continue main;
                }
                var$10 = 0;
            }
            if (var$10 == $oldEPKInvalidFlag)
                return;
            $expectedVersionIdentifier = $rt_s(444);
            if (!var$10)
                $bTrue = null;
            $noCache = 0;
            $ptr = 5;
            continue main;
        case 15:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $toCheck = $rt_str(nlei_PlatformRuntime_win.location.href);
            j: {
                k: {
                    if ($c) {
                        if (var$11 < 0)
                            break k;
                        if (jl_String_startsWith($toCheck, $rt_s(449)))
                            break k;
                        if (jl_String_startsWith($toCheck, $rt_s(450)))
                            break k;
                    }
                    $canBeCorrupt = 0;
                    break j;
                }
                $canBeCorrupt = 1;
            }
            $canBeInvalid = $canBeInvalid & $c;
            if ($b) {
                $b = jl_String_length($url);
                $epkStr = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($epkStr);
                $toCheck = $rt_s(451);
                $ptr = 16;
                continue main;
            }
            $logURL = $url;
            $epkStr = nleit_EPKDownloadHelper_logger;
            $toCheck = $rt_s(452);
            $dat = $rt_createArray(jl_Object, 1);
            $dat.data[0] = $logURL;
            $ptr = 19;
            continue main;
        case 16:
            $tmp = jl_StringBuilder_append($epkStr, $toCheck);
            if ($rt_suspending()) {
                break main;
            }
            $toCheck = $tmp;
            jl_AbstractStringBuilder_append0($toCheck, $b);
            $logURL = $rt_s(457);
            $ptr = 17;
        case 17:
            jl_StringBuilder_append($toCheck, $logURL);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 18;
        case 18:
            $tmp = jl_AbstractStringBuilder_toString($epkStr);
            if ($rt_suspending()) {
                break main;
            }
            $logURL = $tmp;
            $epkStr = nleit_EPKDownloadHelper_logger;
            $toCheck = $rt_s(452);
            $dat = $rt_createArray(jl_Object, 1);
            $dat.data[0] = $logURL;
            $ptr = 19;
        case 19:
            oall_Logger_info0($epkStr, $toCheck, $dat);
            if ($rt_suspending()) {
                break main;
            }
            $noCache = $noCache ? 0 : 1;
            $ptr = 20;
        case 20:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nlei_PlatformRuntime_hasFetchSupport) {
                $ptr = 21;
                continue main;
            }
            $ptr = 22;
            continue main;
        case 21:
            $tmp = nlei_PlatformRuntime_downloadRemoteURIXHR($url);
            if ($rt_suspending()) {
                break main;
            }
            $epkFileData = $tmp;
            if ($epkFileData !== null) {
                $url = nleit_EPKDownloadHelper_logger;
                $epkStr = $rt_s(458);
                $dat = $rt_createArray(jl_Object, 1);
                $dat.data[0] = $logURL;
                $ptr = 23;
                continue main;
            }
            if ($a < 2 && $canBeCorrupt) {
                $url = nleit_EPKDownloadHelper_logger;
                $epkStr = $rt_s(459);
                $dat = $rt_createArray(jl_Object, 1);
                $dat.data[0] = $logURL;
                $ptr = 28;
                continue main;
            }
            $expectedVersionIdentifier = new nlei_RuntimeInitializationFailureException;
            $loadedFiles = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($loadedFiles);
            $url = $rt_s(460);
            $ptr = 25;
            continue main;
        case 22:
            $tmp = nlei_PlatformRuntime_downloadRemoteURIFetch($url, $noCache);
            if ($rt_suspending()) {
                break main;
            }
            $epkFileData = $tmp;
            if ($epkFileData !== null) {
                $url = nleit_EPKDownloadHelper_logger;
                $epkStr = $rt_s(458);
                $dat = $rt_createArray(jl_Object, 1);
                $dat.data[0] = $logURL;
                $ptr = 23;
                continue main;
            }
            if ($a < 2 && $canBeCorrupt) {
                $url = nleit_EPKDownloadHelper_logger;
                $epkStr = $rt_s(459);
                $dat = $rt_createArray(jl_Object, 1);
                $dat.data[0] = $logURL;
                $ptr = 28;
                continue main;
            }
            $expectedVersionIdentifier = new nlei_RuntimeInitializationFailureException;
            $loadedFiles = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($loadedFiles);
            $url = $rt_s(460);
            $ptr = 25;
            continue main;
        case 23:
            oall_Logger_info0($url, $epkStr, $dat);
            if ($rt_suspending()) {
                break main;
            }
            try {
                $url = var$14[$i].$path;
                $ptr = 24;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $t = $$je;
                } else {
                    throw $$e;
                }
            }
            if ($a < 2 && $canBeCorrupt) {
                $url = nleit_EPKDownloadHelper_logger;
                $epkStr = $rt_s(461);
                $dat = $rt_createArray(jl_Object, 1);
                $dat.data[0] = $logURL;
                $ptr = 32;
                continue main;
            }
            $expectedVersionIdentifier = new nlei_RuntimeInitializationFailureException;
            $loadedFiles = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($loadedFiles);
            $url = $rt_s(462);
            $ptr = 29;
            continue main;
        case 24:
            j: {
                try {
                    nleit_EPKLoader_loadEPK($epkFileData, $url, $loadedFiles);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break j;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $t = $$je;
                    } else {
                        throw $$e;
                    }
                }
                if ($a < 2 && $canBeCorrupt) {
                    $url = nleit_EPKDownloadHelper_logger;
                    $epkStr = $rt_s(461);
                    $dat = $rt_createArray(jl_Object, 1);
                    $dat.data[0] = $logURL;
                    $ptr = 32;
                    continue main;
                }
                $expectedVersionIdentifier = new nlei_RuntimeInitializationFailureException;
                $loadedFiles = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($loadedFiles);
                $url = $rt_s(462);
                $ptr = 29;
                continue main;
            }
            $i = $i + 1 | 0;
            var$14 = $epkFiles.data;
            if ($i >= var$14.length) {
                if ($canBeInvalid) {
                    $url = $rt_s(453);
                    $ptr = 6;
                    continue main;
                }
                var$10 = 0;
                if (var$10 == $oldEPKInvalidFlag)
                    return;
                $expectedVersionIdentifier = $rt_s(444);
                if (!var$10)
                    $bTrue = null;
                $noCache = 0;
                $ptr = 5;
                continue main;
            }
            l: {
                $noCache = 0;
                $url = null;
                switch ($a) {
                    case 0:
                        $url = var$14[$i].$url;
                        $noCache = 0;
                        break l;
                    case 1:
                        $url = nleit_EPKDownloadHelper_logger;
                        $epkStr = $rt_s(445);
                        $ptr = 7;
                        continue main;
                    case 2:
                        $url = nleit_EPKDownloadHelper_logger;
                        $epkStr = $rt_s(446);
                        $ptr = 8;
                        continue main;
                    default:
                }
            }
            $b = jl_String_startsWith($url, $rt_s(169));
            $c = !$b && !jl_String_startsWith($url, $rt_s(447)) ? 1 : 0;
            if (jl_String_indexOf2($url, $rt_s(448)) == (-1)) {
                $ptr = 15;
                continue main;
            }
            $toCheck = $url;
            m: {
                b: {
                    if ($c) {
                        if (var$11 < 0)
                            break b;
                        if (jl_String_startsWith($toCheck, $rt_s(449)))
                            break b;
                        if (jl_String_startsWith($toCheck, $rt_s(450)))
                            break b;
                    }
                    $canBeCorrupt = 0;
                    break m;
                }
                $canBeCorrupt = 1;
            }
            $canBeInvalid = $canBeInvalid & $c;
            if ($b) {
                $b = jl_String_length($url);
                $epkStr = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($epkStr);
                $toCheck = $rt_s(451);
                $ptr = 16;
                continue main;
            }
            $logURL = $url;
            $epkStr = nleit_EPKDownloadHelper_logger;
            $toCheck = $rt_s(452);
            $dat = $rt_createArray(jl_Object, 1);
            $dat.data[0] = $logURL;
            $ptr = 19;
            continue main;
        case 25:
            $tmp = jl_StringBuilder_append($loadedFiles, $url);
            if ($rt_suspending()) {
                break main;
            }
            $url = $tmp;
            $ptr = 26;
        case 26:
            $tmp = jl_StringBuilder_append($url, $logURL);
            if ($rt_suspending()) {
                break main;
            }
            $url = $tmp;
            jl_AbstractStringBuilder_append($url, 34);
            $ptr = 27;
        case 27:
            $tmp = jl_AbstractStringBuilder_toString($loadedFiles);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            jl_Throwable__init_($expectedVersionIdentifier, $loadedFiles);
            $rt_throw($expectedVersionIdentifier);
        case 28:
            oall_Logger_error($url, $epkStr, $dat);
            if ($rt_suspending()) {
                break main;
            }
            $a = $a + 1 | 0;
            if ($a < 3) {
                var$11 = $rt_compare($a, 1);
                if (!var$11) {
                    $ptr = 4;
                    continue main;
                }
                ju_HashMap_clear($loadedFiles);
                $canBeInvalid = $expectedVersionIdentifier === null ? 0 : 1;
                $i = 0;
                var$14 = $epkFiles.data;
                if ($i < var$14.length) {
                    a: {
                        $noCache = 0;
                        $url = null;
                        switch ($a) {
                            case 0:
                                $url = var$14[$i].$url;
                                $noCache = 0;
                                break a;
                            case 1:
                                $url = nleit_EPKDownloadHelper_logger;
                                $epkStr = $rt_s(445);
                                $ptr = 7;
                                continue main;
                            case 2:
                                $url = nleit_EPKDownloadHelper_logger;
                                $epkStr = $rt_s(446);
                                $ptr = 8;
                                continue main;
                            default:
                        }
                    }
                    $b = jl_String_startsWith($url, $rt_s(169));
                    $c = !$b && !jl_String_startsWith($url, $rt_s(447)) ? 1 : 0;
                    if (jl_String_indexOf2($url, $rt_s(448)) == (-1)) {
                        $ptr = 15;
                        continue main;
                    }
                    $toCheck = $url;
                    b: {
                        c: {
                            if ($c) {
                                if (var$11 < 0)
                                    break c;
                                if (jl_String_startsWith($toCheck, $rt_s(449)))
                                    break c;
                                if (jl_String_startsWith($toCheck, $rt_s(450)))
                                    break c;
                            }
                            $canBeCorrupt = 0;
                            break b;
                        }
                        $canBeCorrupt = 1;
                    }
                    $canBeInvalid = $canBeInvalid & $c;
                    if ($b) {
                        $b = jl_String_length($url);
                        $epkStr = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($epkStr);
                        $toCheck = $rt_s(451);
                        $ptr = 16;
                        continue main;
                    }
                    $logURL = $url;
                    $epkStr = nleit_EPKDownloadHelper_logger;
                    $toCheck = $rt_s(452);
                    $dat = $rt_createArray(jl_Object, 1);
                    $dat.data[0] = $logURL;
                    $ptr = 19;
                    continue main;
                }
                if ($canBeInvalid) {
                    $url = $rt_s(453);
                    $ptr = 6;
                    continue main;
                }
                var$10 = 0;
            }
            if (var$10 == $oldEPKInvalidFlag)
                return;
            $expectedVersionIdentifier = $rt_s(444);
            if (!var$10)
                $bTrue = null;
            $noCache = 0;
            $ptr = 5;
            continue main;
        case 29:
            $tmp = jl_StringBuilder_append($loadedFiles, $url);
            if ($rt_suspending()) {
                break main;
            }
            $url = $tmp;
            $ptr = 30;
        case 30:
            $tmp = jl_StringBuilder_append($url, $logURL);
            if ($rt_suspending()) {
                break main;
            }
            $url = $tmp;
            jl_AbstractStringBuilder_append($url, 34);
            $ptr = 31;
        case 31:
            $tmp = jl_AbstractStringBuilder_toString($loadedFiles);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            jl_Throwable__init_4($expectedVersionIdentifier, $loadedFiles, $t);
            $rt_throw($expectedVersionIdentifier);
        case 32:
            oall_Logger_error($url, $epkStr, $dat);
            if ($rt_suspending()) {
                break main;
            }
            $a = $a + 1 | 0;
            if ($a < 3) {
                var$11 = $rt_compare($a, 1);
                if (!var$11) {
                    $ptr = 4;
                    continue main;
                }
                ju_HashMap_clear($loadedFiles);
                $canBeInvalid = $expectedVersionIdentifier === null ? 0 : 1;
                $i = 0;
                var$14 = $epkFiles.data;
                if ($i < var$14.length) {
                    a: {
                        $noCache = 0;
                        $url = null;
                        switch ($a) {
                            case 0:
                                $url = var$14[$i].$url;
                                $noCache = 0;
                                break a;
                            case 1:
                                $url = nleit_EPKDownloadHelper_logger;
                                $epkStr = $rt_s(445);
                                $ptr = 7;
                                continue main;
                            case 2:
                                $url = nleit_EPKDownloadHelper_logger;
                                $epkStr = $rt_s(446);
                                $ptr = 8;
                                continue main;
                            default:
                        }
                    }
                    $b = jl_String_startsWith($url, $rt_s(169));
                    $c = !$b && !jl_String_startsWith($url, $rt_s(447)) ? 1 : 0;
                    if (jl_String_indexOf2($url, $rt_s(448)) == (-1)) {
                        $ptr = 15;
                        continue main;
                    }
                    $toCheck = $url;
                    b: {
                        c: {
                            if ($c) {
                                if (var$11 < 0)
                                    break c;
                                if (jl_String_startsWith($toCheck, $rt_s(449)))
                                    break c;
                                if (jl_String_startsWith($toCheck, $rt_s(450)))
                                    break c;
                            }
                            $canBeCorrupt = 0;
                            break b;
                        }
                        $canBeCorrupt = 1;
                    }
                    $canBeInvalid = $canBeInvalid & $c;
                    if ($b) {
                        $b = jl_String_length($url);
                        $epkStr = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($epkStr);
                        $toCheck = $rt_s(451);
                        $ptr = 16;
                        continue main;
                    }
                    $logURL = $url;
                    $epkStr = nleit_EPKDownloadHelper_logger;
                    $toCheck = $rt_s(452);
                    $dat = $rt_createArray(jl_Object, 1);
                    $dat.data[0] = $logURL;
                    $ptr = 19;
                    continue main;
                }
                if ($canBeInvalid) {
                    $url = $rt_s(453);
                    $ptr = 6;
                    continue main;
                }
                var$10 = 0;
            }
            if (var$10 == $oldEPKInvalidFlag)
                return;
            $expectedVersionIdentifier = $rt_s(444);
            if (!var$10)
                $bTrue = null;
            $noCache = 0;
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($epkFiles, $expectedVersionIdentifier, $loadedFiles, $url, $bTrue, $noCache, $dat, $oldEPKInvalidFlag, $a, var$10, var$11, $canBeInvalid, $i, var$14, $epkStr, $b, $c, $toCheck, $canBeCorrupt, $logURL, $epkFileData, $t, $ptr);
    }
    function nleit_EPKDownloadHelper_injectCacheInvalidationHack($url, $cacheFixStr) {
        var var$3, var$4, $toCheck, $i, var$7, $s, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$s = $thread.pop();var$7 = $thread.pop();$i = $thread.pop();$toCheck = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$cacheFixStr = $thread.pop();$url = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_EPKDownloadHelper_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($cacheFixStr === null) {
                var$3 = jl_System_currentTimeMillis();
                $cacheFixStr = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($cacheFixStr);
                jl_AbstractStringBuilder_append($cacheFixStr, 116);
                jl_StringBuilder_append2($cacheFixStr, var$3);
                $ptr = 2;
                continue main;
            }
            var$4 = $rt_str($rt_globals.encodeURIComponent($rt_ustr($cacheFixStr)));
            if (jl_String_indexOf2($url, $rt_s(448)) == (-1)) {
                $ptr = 3;
                continue main;
            }
            $toCheck = $url;
            if (!jl_String_startsWith($toCheck, $rt_s(449)) && !jl_String_startsWith($toCheck, $rt_s(450)))
                return $url;
            $i = jl_String_indexOf0($url, 63);
            if ($i == (jl_String_length($url) - 1 | 0)) {
                $cacheFixStr = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($cacheFixStr);
                $ptr = 4;
                continue main;
            }
            if ($i == (-1)) {
                var$7 = jl_String_indexOf0($url, 35);
                if (var$7 == (-1)) {
                    $cacheFixStr = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($cacheFixStr);
                    $ptr = 8;
                    continue main;
                }
                $cacheFixStr = jl_String_substring0($url, 0, var$7);
                $url = jl_String_substring($url, var$7);
                $toCheck = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($toCheck);
                $ptr = 12;
                continue main;
            }
            var$7 = $i + 1 | 0;
            $s = jl_String_substring($url, var$7);
            if (!jl_String_startsWith($s, $rt_s(463)) && !jl_String_startsWith($s, $rt_s(464))) {
                $cacheFixStr = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($cacheFixStr);
                jl_AbstractStringBuilder_append($cacheFixStr, 38);
                $ptr = 22;
                continue main;
            }
            $url = jl_String_substring0($url, 0, var$7);
            $cacheFixStr = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($cacheFixStr);
            $ptr = 17;
            continue main;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString($cacheFixStr);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (jl_String_indexOf2($url, $rt_s(448)) == (-1)) {
                $ptr = 3;
                continue main;
            }
            $toCheck = $url;
            if (!jl_String_startsWith($toCheck, $rt_s(449)) && !jl_String_startsWith($toCheck, $rt_s(450)))
                return $url;
            $i = jl_String_indexOf0($url, 63);
            if ($i == (jl_String_length($url) - 1 | 0)) {
                $cacheFixStr = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($cacheFixStr);
                $ptr = 4;
                continue main;
            }
            if ($i == (-1)) {
                var$7 = jl_String_indexOf0($url, 35);
                if (var$7 == (-1)) {
                    $cacheFixStr = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($cacheFixStr);
                    $ptr = 8;
                    continue main;
                }
                $cacheFixStr = jl_String_substring0($url, 0, var$7);
                $url = jl_String_substring($url, var$7);
                $toCheck = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($toCheck);
                $ptr = 12;
                continue main;
            }
            var$7 = $i + 1 | 0;
            $s = jl_String_substring($url, var$7);
            if (!jl_String_startsWith($s, $rt_s(463)) && !jl_String_startsWith($s, $rt_s(464))) {
                $cacheFixStr = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($cacheFixStr);
                jl_AbstractStringBuilder_append($cacheFixStr, 38);
                $ptr = 22;
                continue main;
            }
            $url = jl_String_substring0($url, 0, var$7);
            $cacheFixStr = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($cacheFixStr);
            $ptr = 17;
            continue main;
        case 3:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $toCheck = $rt_str(nlei_PlatformRuntime_win.location.href);
            if (!jl_String_startsWith($toCheck, $rt_s(449)) && !jl_String_startsWith($toCheck, $rt_s(450)))
                return $url;
            $i = jl_String_indexOf0($url, 63);
            if ($i == (jl_String_length($url) - 1 | 0)) {
                $cacheFixStr = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($cacheFixStr);
                $ptr = 4;
                continue main;
            }
            if ($i == (-1)) {
                var$7 = jl_String_indexOf0($url, 35);
                if (var$7 == (-1)) {
                    $cacheFixStr = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($cacheFixStr);
                    $ptr = 8;
                    continue main;
                }
                $cacheFixStr = jl_String_substring0($url, 0, var$7);
                $url = jl_String_substring($url, var$7);
                $toCheck = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($toCheck);
                $ptr = 12;
                continue main;
            }
            var$7 = $i + 1 | 0;
            $s = jl_String_substring($url, var$7);
            if (!jl_String_startsWith($s, $rt_s(463)) && !jl_String_startsWith($s, $rt_s(464))) {
                $cacheFixStr = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($cacheFixStr);
                jl_AbstractStringBuilder_append($cacheFixStr, 38);
                $ptr = 22;
                continue main;
            }
            $url = jl_String_substring0($url, 0, var$7);
            $cacheFixStr = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($cacheFixStr);
            $ptr = 17;
            continue main;
        case 4:
            $tmp = jl_StringBuilder_append($cacheFixStr, $url);
            if ($rt_suspending()) {
                break main;
            }
            $url = $tmp;
            $toCheck = $rt_s(465);
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append($url, $toCheck);
            if ($rt_suspending()) {
                break main;
            }
            $url = $tmp;
            $ptr = 6;
        case 6:
            jl_StringBuilder_append($url, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString($cacheFixStr);
            if ($rt_suspending()) {
                break main;
            }
            $url = $tmp;
            return $url;
        case 8:
            $tmp = jl_StringBuilder_append($cacheFixStr, $url);
            if ($rt_suspending()) {
                break main;
            }
            $url = $tmp;
            $toCheck = $rt_s(466);
            $ptr = 9;
        case 9:
            $tmp = jl_StringBuilder_append($url, $toCheck);
            if ($rt_suspending()) {
                break main;
            }
            $url = $tmp;
            $ptr = 10;
        case 10:
            jl_StringBuilder_append($url, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            $tmp = jl_AbstractStringBuilder_toString($cacheFixStr);
            if ($rt_suspending()) {
                break main;
            }
            $url = $tmp;
            return $url;
        case 12:
            $tmp = jl_StringBuilder_append($toCheck, $cacheFixStr);
            if ($rt_suspending()) {
                break main;
            }
            $cacheFixStr = $tmp;
            $s = $rt_s(466);
            $ptr = 13;
        case 13:
            $tmp = jl_StringBuilder_append($cacheFixStr, $s);
            if ($rt_suspending()) {
                break main;
            }
            $cacheFixStr = $tmp;
            $ptr = 14;
        case 14:
            $tmp = jl_StringBuilder_append($cacheFixStr, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $cacheFixStr = $tmp;
            $ptr = 15;
        case 15:
            jl_StringBuilder_append($cacheFixStr, $url);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
        case 16:
            $tmp = jl_AbstractStringBuilder_toString($toCheck);
            if ($rt_suspending()) {
                break main;
            }
            $url = $tmp;
            return $url;
        case 17:
            $tmp = jl_StringBuilder_append($cacheFixStr, $url);
            if ($rt_suspending()) {
                break main;
            }
            $url = $tmp;
            $toCheck = $rt_s(465);
            $ptr = 18;
        case 18:
            $tmp = jl_StringBuilder_append($url, $toCheck);
            if ($rt_suspending()) {
                break main;
            }
            $url = $tmp;
            $ptr = 19;
        case 19:
            $tmp = jl_StringBuilder_append($url, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $url = $tmp;
            $ptr = 20;
        case 20:
            jl_StringBuilder_append($url, $s);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 21;
        case 21:
            $tmp = jl_AbstractStringBuilder_toString($cacheFixStr);
            if ($rt_suspending()) {
                break main;
            }
            $url = $tmp;
            return $url;
        case 22:
            jl_StringBuilder_append($cacheFixStr, $s);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 23;
        case 23:
            $tmp = jl_AbstractStringBuilder_toString($cacheFixStr);
            if ($rt_suspending()) {
                break main;
            }
            $s = $tmp;
            $url = jl_String_substring0($url, 0, var$7);
            $cacheFixStr = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($cacheFixStr);
            $ptr = 17;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($url, $cacheFixStr, var$3, var$4, $toCheck, $i, var$7, $s, $ptr);
    }
    function nleit_EPKDownloadHelper__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(181);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleit_EPKDownloadHelper_logger = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    var nle_Filesystem = $rt_classWithoutFields();
    var nle_Filesystem_logger = null;
    var nle_Filesystem_openFilesystems = null;
    var nle_Filesystem_$clinitCalled = false;
    function nle_Filesystem_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nle_Filesystem_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nle_Filesystem_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nle_Filesystem__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nle_Filesystem_$callClinit = $rt_eraseClinit(nle_Filesystem);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nle_Filesystem__init_0() {
        var var_0 = new nle_Filesystem();
        nle_Filesystem__init_(var_0);
        return var_0;
    }
    function nle_Filesystem__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_Filesystem_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nle_Filesystem_getHandleFor($dbName) {
        var $handle, $handleImpl, var$4, var$5, var$6, var$7, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$handleImpl = $thread.pop();$handle = $thread.pop();$dbName = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_Filesystem_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $handle = nle_Filesystem_openFilesystems;
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get($handle, $dbName);
            if ($rt_suspending()) {
                break main;
            }
            $handle = $tmp;
            $handle = $handle;
            if ($handle !== null) {
                $handle.$refCount = $handle.$refCount + 1 | 0;
                return nle_Filesystem$FilesystemHandleWrapper__init_($handle);
            }
            $handleImpl = null;
            $ptr = 3;
        case 3:
            $tmp = nle_EagRuntime_getConfiguration();
            if ($rt_suspending()) {
                break main;
            }
            $handle = $tmp;
            if (!$handle.$ramdiskMode) {
                $ptr = 4;
                continue main;
            }
            if ($handleImpl === null) {
                $handleImpl = new nlei_RamdiskFilesystemImpl;
                $handleImpl.$filesystemMap = ju_TreeMap__init_0();
                $handleImpl.$filesystemName = $dbName;
            }
            if ($handleImpl.$isRamdisk()) {
                $handle = nle_Filesystem_logger;
                var$4 = $rt_s(467);
                var$5 = $rt_createArray(jl_Object, 1);
                var$5.data[0] = $dbName;
                $ptr = 12;
                continue main;
            }
            $handle = new nle_Filesystem$FilesystemHandle;
            $handle.$handle = $handleImpl;
            $handle.$refCount = 1;
            $handleImpl = nle_Filesystem_openFilesystems;
            $ptr = 11;
            continue main;
        case 4:
            nlei_PlatformFilesystem_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            try {
                $ptr = 5;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $handleImpl = $$je;
                } else {
                    throw $$e;
                }
            }
            var$4 = nlei_PlatformFilesystem_logger;
            var$6 = $rt_s(468);
            var$5 = $rt_createArray(jl_Object, 1);
            var$5.data[0] = $rt_s(3);
            $ptr = 8;
            continue main;
        case 5:
            try {
                $tmp = nlei_PlatformRuntime_getClientConfigAdapter();
                if ($rt_suspending()) {
                    break main;
                }
                $handle = $tmp;
                $ptr = 6;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $handleImpl = $$je;
                } else {
                    throw $$e;
                }
            }
            var$4 = nlei_PlatformFilesystem_logger;
            var$6 = $rt_s(468);
            var$5 = $rt_createArray(jl_Object, 1);
            var$5.data[0] = $rt_s(3);
            $ptr = 8;
            continue main;
        case 6:
            try {
                $tmp = nleit_TeaVMClientConfigAdapter_getWorldsDB($handle);
                if ($rt_suspending()) {
                    break main;
                }
                $handle = $tmp;
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $handleImpl = $$je;
                } else {
                    throw $$e;
                }
            }
            var$4 = nlei_PlatformFilesystem_logger;
            var$6 = $rt_s(468);
            var$5 = $rt_createArray(jl_Object, 1);
            var$5.data[0] = $rt_s(3);
            $ptr = 8;
            continue main;
        case 7:
            try {
                $tmp = jl_String_equals($dbName, $handle);
                if ($rt_suspending()) {
                    break main;
                }
                var$7 = $tmp;
                $handle = !var$7 ? $dbName : $rt_s(3);
                $ptr = 10;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $handleImpl = $$je;
                } else {
                    throw $$e;
                }
            }
            var$4 = nlei_PlatformFilesystem_logger;
            var$6 = $rt_s(468);
            var$5 = $rt_createArray(jl_Object, 1);
            var$5.data[0] = $rt_s(3);
            $ptr = 8;
        case 8:
            oall_Logger_error(var$4, var$6, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $handle = nlei_PlatformFilesystem_logger;
            $ptr = 9;
        case 9:
            oall_Logger_error1($handle, $handleImpl);
            if ($rt_suspending()) {
                break main;
            }
            $handleImpl = null;
            if ($handleImpl === null) {
                $handleImpl = new nlei_RamdiskFilesystemImpl;
                $handleImpl.$filesystemMap = ju_TreeMap__init_0();
                $handleImpl.$filesystemName = $dbName;
            }
            if ($handleImpl.$isRamdisk()) {
                $handle = nle_Filesystem_logger;
                var$4 = $rt_s(467);
                var$5 = $rt_createArray(jl_Object, 1);
                var$5.data[0] = $dbName;
                $ptr = 12;
                continue main;
            }
            $handle = new nle_Filesystem$FilesystemHandle;
            $handle.$handle = $handleImpl;
            $handle.$refCount = 1;
            $handleImpl = nle_Filesystem_openFilesystems;
            $ptr = 11;
            continue main;
        case 10:
            a: {
                try {
                    $tmp = nleit_IndexedDBFilesystem_createFilesystem($handle);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $handleImpl = $tmp;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $handleImpl = $$je;
                    } else {
                        throw $$e;
                    }
                }
                var$4 = nlei_PlatformFilesystem_logger;
                var$6 = $rt_s(468);
                var$5 = $rt_createArray(jl_Object, 1);
                var$5.data[0] = $rt_s(3);
                $ptr = 8;
                continue main;
            }
            if ($handleImpl === null) {
                $handleImpl = new nlei_RamdiskFilesystemImpl;
                $handleImpl.$filesystemMap = ju_TreeMap__init_0();
                $handleImpl.$filesystemName = $dbName;
            }
            if ($handleImpl.$isRamdisk()) {
                $handle = nle_Filesystem_logger;
                var$4 = $rt_s(467);
                var$5 = $rt_createArray(jl_Object, 1);
                var$5.data[0] = $dbName;
                $ptr = 12;
                continue main;
            }
            $handle = new nle_Filesystem$FilesystemHandle;
            $handle.$handle = $handleImpl;
            $handle.$refCount = 1;
            $handleImpl = nle_Filesystem_openFilesystems;
            $ptr = 11;
        case 11:
            ju_HashMap_putImpl($handleImpl, $dbName, $handle);
            if ($rt_suspending()) {
                break main;
            }
            return nle_Filesystem$FilesystemHandleWrapper__init_($handle);
        case 12:
            oall_Logger_warn0($handle, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $handle = new nle_Filesystem$FilesystemHandle;
            $handle.$handle = $handleImpl;
            $handle.$refCount = 1;
            $handleImpl = nle_Filesystem_openFilesystems;
            $ptr = 11;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($dbName, $handle, $handleImpl, var$4, var$5, var$6, var$7, $ptr);
    }
    function nle_Filesystem__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(469);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nle_Filesystem_logger = var$1;
            nle_Filesystem_openFilesystems = ju_HashMap__init_0();
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nleiv_VFile2() {
        var a = this; jl_Object.call(a);
        a.$path0 = null;
        a.$myFilesystem = null;
        a.$myFilesystemProvider = null;
    }
    var nleiv_VFile2_altPathSeperator = null;
    var nleiv_VFile2_primaryFilesystem = null;
    function nleiv_VFile2_$callClinit() {
        nleiv_VFile2_$callClinit = $rt_eraseClinit(nleiv_VFile2);
        nleiv_VFile2__clinit_();
    }
    function nleiv_VFile2__init_0(var_0) {
        var var_1 = new nleiv_VFile2();
        nleiv_VFile2__init_(var_1, var_0);
        return var_1;
    }
    function nleiv_VFile2__init_1(var_0, var_1) {
        var var_2 = new nleiv_VFile2();
        nleiv_VFile2__init_2(var_2, var_0, var_1);
        return var_2;
    }
    function nleiv_VFile2_setPrimaryFilesystem($fs) {
        nleiv_VFile2_$callClinit();
        nleiv_VFile2_primaryFilesystem = $fs;
    }
    function nleiv_VFile2_createPath($p) {
        var $r, $i, $parts, $s, $gg, var$7, var$8, var$9, var$10, $j, $k, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$k = $thread.pop();$j = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$gg = $thread.pop();$s = $thread.pop();$parts = $thread.pop();$i = $thread.pop();$r = $thread.pop();$p = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleiv_VFile2_$callClinit();
            $r = ju_ArrayList__init_0();
            $i = 0;
            while (true) {
                $parts = $p.data;
                if ($i >= $parts.length) {
                    if ($r.$size0 <= 0)
                        return null;
                    $s = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($s);
                    $i = 0;
                    while ($i < $r.$size0) {
                        if ($i > 0)
                            jl_AbstractStringBuilder_append2($s, $rt_s(5));
                        jl_AbstractStringBuilder_append2($s, ju_ArrayList_get($r, $i));
                        $i = $i + 1 | 0;
                    }
                    $ptr = 2;
                    continue main;
                }
                if ($parts[$i] !== null)
                    break;
                $i = $i + 1 | 0;
            }
            $s = $parts[$i];
            $ptr = 1;
        case 1:
            $tmp = $s.$toString();
            if ($rt_suspending()) {
                break main;
            }
            $gg = $tmp;
            if ($gg !== null) {
                var$7 = 0;
                $parts = nleiv_VFile2_altPathSeperator.data;
                if (var$7 < $parts.length) {
                    $s = $parts[var$7];
                    var$8 = $rt_s(5);
                    $ptr = 3;
                    continue main;
                }
                if (jl_String_startsWith($gg, $rt_s(5)))
                    $gg = jl_String_substring($gg, 1);
                if (jl_String_endsWith($gg, $rt_s(5)))
                    $gg = jl_String_substring0($gg, 0, jl_String_length($gg) - jl_String_length($rt_s(5)) | 0);
                $s = $rt_s(5);
                $ptr = 4;
                continue main;
            }
            while (true) {
                $i = $i + 1 | 0;
                $parts = $p.data;
                if ($i >= $parts.length) {
                    if ($r.$size0 <= 0)
                        return null;
                    $s = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($s);
                    $i = 0;
                    while ($i < $r.$size0) {
                        if ($i > 0)
                            jl_AbstractStringBuilder_append2($s, $rt_s(5));
                        jl_AbstractStringBuilder_append2($s, ju_ArrayList_get($r, $i));
                        $i = $i + 1 | 0;
                    }
                    $ptr = 2;
                    continue main;
                }
                if ($parts[$i] !== null)
                    break;
            }
            $s = $parts[$i];
            continue main;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString($s);
            if ($rt_suspending()) {
                break main;
            }
            $r = $tmp;
            return $r;
        case 3:
            $tmp = jl_String_replace0($gg, $s, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $gg = $tmp;
            var$7 = var$7 + 1 | 0;
            $parts = nleiv_VFile2_altPathSeperator.data;
            if (var$7 < $parts.length) {
                $s = $parts[var$7];
                var$8 = $rt_s(5);
                continue main;
            }
            if (jl_String_startsWith($gg, $rt_s(5)))
                $gg = jl_String_substring($gg, 1);
            if (jl_String_endsWith($gg, $rt_s(5)))
                $gg = jl_String_substring0($gg, 0, jl_String_length($gg) - jl_String_length($rt_s(5)) | 0);
            $s = $rt_s(5);
            $ptr = 4;
        case 4:
            $tmp = jl_String_split($gg, $s);
            if ($rt_suspending()) {
                break main;
            }
            $parts = $tmp;
            var$7 = 0;
            while (true) {
                var$9 = $parts.data;
                var$10 = var$9.length;
                if (var$7 >= var$10)
                    break;
                var$9[var$7] = jl_String_trim(var$9[var$7]);
                var$7 = var$7 + 1 | 0;
            }
            $j = 0;
            while (true) {
                if ($j >= var$10) {
                    while (true) {
                        $i = $i + 1 | 0;
                        $parts = $p.data;
                        if ($i >= $parts.length) {
                            if ($r.$size0 <= 0)
                                return null;
                            $s = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_($s);
                            $i = 0;
                            while ($i < $r.$size0) {
                                if ($i > 0)
                                    jl_AbstractStringBuilder_append2($s, $rt_s(5));
                                jl_AbstractStringBuilder_append2($s, ju_ArrayList_get($r, $i));
                                $i = $i + 1 | 0;
                            }
                            $ptr = 2;
                            continue main;
                        }
                        if ($parts[$i] !== null)
                            break;
                    }
                    $s = $parts[$i];
                    $ptr = 1;
                    continue main;
                }
                if (var$9[$j] !== null)
                    break;
                $j = $j + 1 | 0;
            }
            $s = var$9[$j];
            var$8 = $rt_s(338);
            $ptr = 5;
        case 5:
            $tmp = jl_String_equals($s, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (!var$7) {
                $s = var$9[$j];
                var$8 = $rt_s(470);
                $ptr = 6;
                continue main;
            }
            while (true) {
                $j = $j + 1 | 0;
                if ($j >= var$10) {
                    while (true) {
                        $i = $i + 1 | 0;
                        $parts = $p.data;
                        if ($i >= $parts.length) {
                            if ($r.$size0 <= 0)
                                return null;
                            $s = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_($s);
                            $i = 0;
                            while ($i < $r.$size0) {
                                if ($i > 0)
                                    jl_AbstractStringBuilder_append2($s, $rt_s(5));
                                jl_AbstractStringBuilder_append2($s, ju_ArrayList_get($r, $i));
                                $i = $i + 1 | 0;
                            }
                            $ptr = 2;
                            continue main;
                        }
                        if ($parts[$i] !== null)
                            break;
                    }
                    $s = $parts[$i];
                    $ptr = 1;
                    continue main;
                }
                if (var$9[$j] === null)
                    continue;
                else
                    break;
            }
            $s = var$9[$j];
            var$8 = $rt_s(338);
            continue main;
        case 6:
            $tmp = jl_String_equals($s, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7) {
                var$7 = $r.$size0;
                if (var$7 > 0) {
                    $k = var$7 - 1 | 0;
                    $s = ju_ArrayList_get($r, $k);
                    var$8 = $rt_s(470);
                    $ptr = 8;
                    continue main;
                }
            }
            $s = var$9[$j];
            $ptr = 7;
        case 7:
            ju_ArrayList_add($r, $s);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $j = $j + 1 | 0;
                if ($j >= var$10) {
                    while (true) {
                        $i = $i + 1 | 0;
                        $parts = $p.data;
                        if ($i >= $parts.length) {
                            if ($r.$size0 <= 0)
                                return null;
                            $s = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_($s);
                            $i = 0;
                            while ($i < $r.$size0) {
                                if ($i > 0)
                                    jl_AbstractStringBuilder_append2($s, $rt_s(5));
                                jl_AbstractStringBuilder_append2($s, ju_ArrayList_get($r, $i));
                                $i = $i + 1 | 0;
                            }
                            $ptr = 2;
                            continue main;
                        }
                        if ($parts[$i] !== null)
                            break;
                    }
                    $s = $parts[$i];
                    $ptr = 1;
                    continue main;
                }
                if (var$9[$j] === null)
                    continue;
                else
                    break;
            }
            $s = var$9[$j];
            var$8 = $rt_s(338);
            $ptr = 5;
            continue main;
        case 8:
            $tmp = jl_String_equals($s, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7) {
                $s = $rt_s(470);
                $ptr = 9;
                continue main;
            }
            ju_ArrayList_remove($r, $k);
            while (true) {
                $j = $j + 1 | 0;
                if ($j >= var$10) {
                    while (true) {
                        $i = $i + 1 | 0;
                        $parts = $p.data;
                        if ($i >= $parts.length) {
                            if ($r.$size0 <= 0)
                                return null;
                            $s = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_($s);
                            $i = 0;
                            while ($i < $r.$size0) {
                                if ($i > 0)
                                    jl_AbstractStringBuilder_append2($s, $rt_s(5));
                                jl_AbstractStringBuilder_append2($s, ju_ArrayList_get($r, $i));
                                $i = $i + 1 | 0;
                            }
                            $ptr = 2;
                            continue main;
                        }
                        if ($parts[$i] !== null)
                            break;
                    }
                    $s = $parts[$i];
                    $ptr = 1;
                    continue main;
                }
                if (var$9[$j] === null)
                    continue;
                else
                    break;
            }
            $s = var$9[$j];
            var$8 = $rt_s(338);
            $ptr = 5;
            continue main;
        case 9:
            ju_ArrayList_add($r, $s);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $j = $j + 1 | 0;
                if ($j >= var$10) {
                    while (true) {
                        $i = $i + 1 | 0;
                        $parts = $p.data;
                        if ($i >= $parts.length) {
                            if ($r.$size0 <= 0)
                                return null;
                            $s = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_($s);
                            $i = 0;
                            while ($i < $r.$size0) {
                                if ($i > 0)
                                    jl_AbstractStringBuilder_append2($s, $rt_s(5));
                                jl_AbstractStringBuilder_append2($s, ju_ArrayList_get($r, $i));
                                $i = $i + 1 | 0;
                            }
                            $ptr = 2;
                            continue main;
                        }
                        if ($parts[$i] !== null)
                            break;
                    }
                    $s = $parts[$i];
                    $ptr = 1;
                    continue main;
                }
                if (var$9[$j] === null)
                    continue;
                else
                    break;
            }
            $s = var$9[$j];
            var$8 = $rt_s(338);
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($p, $r, $i, $parts, $s, $gg, var$7, var$8, var$9, var$10, $j, $k, $ptr);
    }
    function nleiv_VFile2__init_($this, $path) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$path = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleiv_VFile2_$callClinit();
            $ptr = 1;
        case 1:
            $tmp = nleiv_VFile2_createPath($path);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            nleiv_VFile2__init_2($this, var$2, nleiv_VFile2_primaryFilesystem);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $path, var$2, $ptr);
    }
    function nleiv_VFile2__init_2($this, $path, $fs) {
        nleiv_VFile2_$callClinit();
        $this.$path0 = $path;
        $this.$myFilesystem = $fs;
    }
    function nleiv_VFile2_getFS($this) {
        var var$1, var$2;
        if ($this.$myFilesystem === null) {
            var$1 = $this.$myFilesystemProvider;
            if (var$1 !== null)
                $this.$myFilesystem = var$1.$get5();
            if ($this.$myFilesystem === null) {
                nleiv_VFile2_$callClinit();
                var$1 = nleiv_VFile2_primaryFilesystem;
                $this.$myFilesystem = var$1;
                if (var$1 === null) {
                    var$2 = new jl_IllegalStateException;
                    jl_Throwable__init_(var$2, $rt_s(471));
                    $rt_throw(var$2);
                }
            }
        }
        return $this.$myFilesystem;
    }
    function nleiv_VFile2_getInputStream($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleiv_VFile2_assertNotRelative($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = new nleiv_VFileInputStream;
            var$2 = nleiv_VFile2_getFS($this);
            var$3 = $this.$path0;
            $ptr = 2;
        case 2:
            $tmp = nle_Filesystem$FilesystemHandleWrapper_eaglerRead(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$1.$fileBuffer = var$2;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nleiv_VFile2_getOutputStream($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleiv_VFile2_assertNotRelative($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = new nleiv_VFileOutputStream;
            var$2 = 256;
            $ptr = 2;
        case 2:
            nle_EaglerOutputStream__init_0(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$closed = 0;
            var$1.$vfsFile = $this;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nleiv_VFile2_toString($this) {
        return $this.$path0;
    }
    function nleiv_VFile2_isRelative($this) {
        var var$1;
        var$1 = $this.$path0;
        return var$1 !== null && !jl_String_contains(var$1, $rt_s(470)) ? 0 : 1;
    }
    function nleiv_VFile2_assertNotRelative($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!nleiv_VFile2_isRelative($this))
                return;
            var$1 = new nleiv_EaglerFileSystemException;
            var$2 = $this.$path0;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$4 = $rt_s(472);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$4, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            jl_Throwable__init_(var$1, var$2);
            $rt_throw(var$1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function nleiv_VFile2_getPath($this) {
        return !jl_String_equals($this.$path0, $rt_s(473)) ? $this.$path0 : null;
    }
    function nleiv_VFile2_hashCode($this) {
        var var$1;
        var$1 = $this.$path0;
        return var$1 !== null ? jl_String_hashCode(var$1) : 0;
    }
    function nleiv_VFile2_equals($this, $o) {
        var var$2;
        var$2 = $this.$path0;
        return var$2 !== null && $o !== null && $o instanceof nleiv_VFile2 && jl_String_equals(var$2, $o.$path0) ? 1 : 0;
    }
    function nleiv_VFile2_exists($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (nleiv_VFile2_isRelative($this))
                return 0;
            var$1 = nleiv_VFile2_getFS($this);
            var$2 = $this.$path0;
            var$1 = var$1.$handleImpl;
            $ptr = 1;
        case 1:
            $tmp = var$1.$eaglerExists(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return !var$3 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nleiv_VFile2_delete($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (nleiv_VFile2_isRelative($this))
                return 0;
            var$1 = nleiv_VFile2_getFS($this);
            var$2 = $this.$path0;
            var$1 = var$1.$handleImpl;
            $ptr = 1;
        case 1:
            $tmp = var$1.$eaglerDelete(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return !var$3 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nleiv_VFile2_renameTo($this, $p) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$p = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (nleiv_VFile2_isRelative($this))
                return 0;
            var$2 = nleiv_VFile2_getFS($this);
            var$3 = $this.$path0;
            var$2 = var$2.$handleImpl;
            $ptr = 1;
        case 1:
            $tmp = var$2.$eaglerMove(var$3, $p);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (!var$4)
                return 0;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $p, var$2, var$3, var$4, $ptr);
    }
    function nleiv_VFile2_getAllBytes($this) {
        var var$1, $readBuffer, var$3, $copyBuffer, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$copyBuffer = $thread.pop();var$3 = $thread.pop();$readBuffer = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleiv_VFile2_assertNotRelative($this);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nleiv_VFile2_exists($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (!var$1)
                return null;
            $readBuffer = nleiv_VFile2_getFS($this);
            var$3 = $this.$path0;
            $ptr = 3;
        case 3:
            $tmp = nle_Filesystem$FilesystemHandleWrapper_eaglerRead($readBuffer, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $readBuffer = $tmp;
            $ptr = 4;
        case 4:
            $tmp = nlei_PlatformRuntime_castNativeByteBuffer($readBuffer);
            if ($rt_suspending()) {
                break main;
            }
            $copyBuffer = $tmp;
            if ($copyBuffer !== null)
                return $copyBuffer;
            try {
                $copyBuffer = $rt_createByteArray(nleib_EaglerArrayByteBuffer_remaining($readBuffer));
                $ptr = 5;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $readBuffer = $$je;

            }
            $rt_throw($readBuffer);
        case 5:
            a: {
                try {
                    nleib_EaglerArrayByteBuffer_get0($readBuffer, $copyBuffer);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $readBuffer = $$je;

                }
                $rt_throw($readBuffer);
            }
            return $copyBuffer;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $readBuffer, var$3, $copyBuffer, $ptr);
    }
    function nleiv_VFile2_setAllBytes($this, $bytes) {
        var $copyBuffer, var$3, var$4, var$5, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$copyBuffer = $thread.pop();$bytes = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleiv_VFile2_assertNotRelative($this);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_castPrimitiveByteArray($bytes);
            if ($rt_suspending()) {
                break main;
            }
            $copyBuffer = $tmp;
            if ($copyBuffer === null) {
                var$3 = $bytes.data.length;
                $ptr = 3;
                continue main;
            }
            var$4 = nleiv_VFile2_getFS($this);
            var$5 = $this.$path0;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = nlei_PlatformRuntime_allocateByteBuffer(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $copyBuffer = $tmp;
            try {
                $ptr = 5;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $copyBuffer = $$je;

            }
            $rt_throw($copyBuffer);
        case 4:
            nle_Filesystem$FilesystemHandleWrapper_eaglerWrite(var$4, var$5, $copyBuffer);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            try {
                nleib_EaglerArrayByteBuffer_put($copyBuffer, $bytes);
                if ($rt_suspending()) {
                    break main;
                }
                nleib_EaglerArrayByteBuffer_flip($copyBuffer);
                var$4 = nleiv_VFile2_getFS($this);
                var$5 = $this.$path0;
                $ptr = 6;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $copyBuffer = $$je;

            }
            $rt_throw($copyBuffer);
        case 6:
            a: {
                try {
                    nle_Filesystem$FilesystemHandleWrapper_eaglerWrite(var$4, var$5, $copyBuffer);
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $copyBuffer = $$je;
                    break a;

                }
                return;
            }
            $rt_throw($copyBuffer);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $bytes, $copyBuffer, var$3, var$4, var$5, $ptr);
    }
    function nleiv_VFile2_listFiles($this, $recursive) {
        var $ret, $fs, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$fs = $thread.pop();$ret = $thread.pop();$recursive = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ret = ju_ArrayList__init_0();
            $fs = nleiv_VFile2_getFS($this);
            var$4 = $this.$path0;
            var$5 = new nleiv_VFSListFilesIteratorImpl;
            var$5.$fs = $fs;
            var$5.$list = $ret;
            $fs = $fs.$handleImpl;
            $ptr = 1;
        case 1:
            $fs.$eaglerIterate(var$4, var$5, $recursive);
            if ($rt_suspending()) {
                break main;
            }
            return $ret;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $recursive, $ret, $fs, var$4, var$5, $ptr);
    }
    function nleiv_VFile2__clinit_() {
        var var$1;
        var$1 = $rt_createArray(jl_String, 1);
        var$1.data[0] = $rt_s(474);
        nleiv_VFile2_altPathSeperator = var$1;
        nleiv_VFile2_primaryFilesystem = null;
    }
    var nlei_PlatformAudio = $rt_classWithoutFields();
    var nlei_PlatformAudio_logger = null;
    var nlei_PlatformAudio_audioctx = null;
    var nlei_PlatformAudio_recDestNode = null;
    var nlei_PlatformAudio_recDestMediaStream = null;
    var nlei_PlatformAudio_silence = null;
    var nlei_PlatformAudio_recDestSilenceNode = null;
    var nlei_PlatformAudio_micRecGain = null;
    var nlei_PlatformAudio_gameRecGain = null;
    var nlei_PlatformAudio_soundCache = null;
    var nlei_PlatformAudio_activeSounds = null;
    var nlei_PlatformAudio_cacheFreeTimer = Long_ZERO;
    var nlei_PlatformAudio_activeFreeTimer = Long_ZERO;
    var nlei_PlatformAudio_oggSupport = 0;
    var nlei_PlatformAudio_loadViaAudioBufferSupport = 0;
    var nlei_PlatformAudio_loadViaWAV32FSupport = 0;
    var nlei_PlatformAudio_loadViaWAV16Support = 0;
    var nlei_PlatformAudio_$clinitCalled = false;
    function nlei_PlatformAudio_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nlei_PlatformAudio_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nlei_PlatformAudio_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nlei_PlatformAudio__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformAudio_$callClinit = $rt_eraseClinit(nlei_PlatformAudio);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nlei_PlatformAudio__init_0() {
        var var_0 = new nlei_PlatformAudio();
        nlei_PlatformAudio__init_(var_0);
        return var_0;
    }
    function nlei_PlatformAudio__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformAudio_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nlei_PlatformAudio_initialize() {
        var $t, var$2, var$3, var$4, var$5, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$t = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformAudio_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformAudio_oggSupport = 0;
            nlei_PlatformAudio_loadViaAudioBufferSupport = 0;
            nlei_PlatformAudio_loadViaWAV32FSupport = 0;
            nlei_PlatformAudio_loadViaWAV16Support = 0;
            a: {
                try {
                    nlei_PlatformAudio_audioctx = otjw_AudioContext_create$js_body$_44();
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $t = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 4;
                continue main;
            }
            nlei_PlatformAudio_audioctx = null;
            var$2 = nlei_PlatformAudio_logger;
            var$3 = $rt_s(475);
            $ptr = 2;
        case 2:
            oall_Logger_error0(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nlei_PlatformAudio_logger;
            $ptr = 3;
        case 3:
            oall_Logger_error1(var$2, $t);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            $tmp = nlei_PlatformRuntime_getClientConfigAdapter();
            if ($rt_suspending()) {
                break main;
            }
            $t = $tmp;
            if (!$t.$useJOrbisAudioDecoder) {
                $t = $rt_s(476);
                $ptr = 5;
                continue main;
            }
            $t = nlei_PlatformAudio_logger;
            var$2 = $rt_s(477);
            $ptr = 6;
            continue main;
        case 5:
            $tmp = nle_EagRuntime_getRequiredResourceBytes($t);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            try {
                var$2 = new $rt_globals.Int8Array(var$4.data.length);
                $t = var$4.data;
                var$2.set($t, 0);
                var$2 = var$2.buffer;
                $t = null;
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            nlei_PlatformAudio_oggSupport = 0;
            $t = nlei_PlatformAudio_logger;
            var$2 = $rt_s(478);
            $ptr = 8;
            continue main;
        case 6:
            oall_Logger_info($t, var$2);
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformAudio_oggSupport = 0;
            if (nlei_PlatformAudio_oggSupport) {
                ju_LinkedList_clear(nlei_PlatformInput_mouseEvents);
                ju_LinkedList_clear(nlei_PlatformInput_keyEvents);
                return;
            }
            $t = nlei_PlatformAudio_audioctx;
            $ptr = 9;
            continue main;
        case 7:
            a: {
                try {
                    $tmp = nlei_PlatformAudio_decodeAudioBrowserAsync(var$2, $t);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $t = $tmp;
                    if ($t !== null && $t.length) {
                        nlei_PlatformAudio_oggSupport = 1;
                        break a;
                    }
                    $rt_throw(jl_RuntimeException__init_1());
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                nlei_PlatformAudio_oggSupport = 0;
                $t = nlei_PlatformAudio_logger;
                var$2 = $rt_s(478);
                $ptr = 8;
                continue main;
            }
            if (nlei_PlatformAudio_oggSupport) {
                ju_LinkedList_clear(nlei_PlatformInput_mouseEvents);
                ju_LinkedList_clear(nlei_PlatformInput_keyEvents);
                return;
            }
            $t = nlei_PlatformAudio_audioctx;
            $ptr = 9;
            continue main;
        case 8:
            oall_Logger_error0($t, var$2);
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformAudio_oggSupport) {
                ju_LinkedList_clear(nlei_PlatformInput_mouseEvents);
                ju_LinkedList_clear(nlei_PlatformInput_keyEvents);
                return;
            }
            $t = nlei_PlatformAudio_audioctx;
            $ptr = 9;
        case 9:
            $tmp = nlei_PlatformAudio_detectLoadViaAudioBufferSupport$js_body$_2($t);
            if ($rt_suspending()) {
                break main;
            }
            $t = $tmp;
            var$5 = $t ? 1 : 0;
            nlei_PlatformAudio_loadViaAudioBufferSupport = var$5;
            if (var$5) {
                ju_LinkedList_clear(nlei_PlatformInput_mouseEvents);
                ju_LinkedList_clear(nlei_PlatformInput_keyEvents);
                return;
            }
            var$2 = nlei_PlatformAudio_logger;
            $t = $rt_s(479);
            $ptr = 10;
        case 10:
            oall_Logger_warn(var$2, $t);
            if ($rt_suspending()) {
                break main;
            }
            $t = $rt_s(480);
            $ptr = 11;
        case 11:
            $tmp = nle_EagRuntime_getRequiredResourceBytes($t);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            try {
                var$2 = new $rt_globals.Int8Array(var$4.data.length);
                $t = var$4.data;
                var$2.set($t, 0);
                var$2 = var$2.buffer;
                $t = null;
                $ptr = 12;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            nlei_PlatformAudio_loadViaWAV32FSupport = 0;
            $t = nlei_PlatformAudio_logger;
            var$2 = $rt_s(481);
            $ptr = 13;
            continue main;
        case 12:
            a: {
                try {
                    $tmp = nlei_PlatformAudio_decodeAudioBrowserAsync(var$2, $t);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $t = $tmp;
                    if ($t !== null && $t.length) {
                        nlei_PlatformAudio_loadViaWAV32FSupport = 1;
                        break a;
                    }
                    $rt_throw(jl_RuntimeException__init_1());
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                nlei_PlatformAudio_loadViaWAV32FSupport = 0;
                $t = nlei_PlatformAudio_logger;
                var$2 = $rt_s(481);
                $ptr = 13;
                continue main;
            }
            if (!nlei_PlatformAudio_loadViaWAV32FSupport && !nlei_PlatformAudio_loadViaWAV16Support) {
                b: {
                    try {
                        nlei_PlatformAudio_audioctx.close();
                        break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                        } else {
                            throw $$e;
                        }
                    }
                }
                nlei_PlatformAudio_audioctx = null;
                $t = nlei_PlatformAudio_logger;
                var$2 = $rt_s(482);
                $ptr = 17;
                continue main;
            }
            ju_LinkedList_clear(nlei_PlatformInput_mouseEvents);
            ju_LinkedList_clear(nlei_PlatformInput_keyEvents);
            return;
        case 13:
            oall_Logger_error0($t, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $t = $rt_s(483);
            $ptr = 14;
        case 14:
            $tmp = nle_EagRuntime_getRequiredResourceBytes($t);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            try {
                $t = new $rt_globals.Int8Array(var$4.data.length);
                var$2 = var$4.data;
                $t.set(var$2, 0);
                var$2 = $t.buffer;
                $t = null;
                $ptr = 15;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            nlei_PlatformAudio_loadViaWAV16Support = 0;
            $t = nlei_PlatformAudio_logger;
            var$2 = $rt_s(484);
            $ptr = 16;
            continue main;
        case 15:
            a: {
                try {
                    $tmp = nlei_PlatformAudio_decodeAudioBrowserAsync(var$2, $t);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $t = $tmp;
                    if ($t !== null && $t.length) {
                        nlei_PlatformAudio_loadViaWAV16Support = 1;
                        break a;
                    }
                    $rt_throw(jl_RuntimeException__init_1());
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                nlei_PlatformAudio_loadViaWAV16Support = 0;
                $t = nlei_PlatformAudio_logger;
                var$2 = $rt_s(484);
                $ptr = 16;
                continue main;
            }
            if (!nlei_PlatformAudio_loadViaWAV32FSupport && !nlei_PlatformAudio_loadViaWAV16Support) {
                b: {
                    try {
                        nlei_PlatformAudio_audioctx.close();
                        break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                        } else {
                            throw $$e;
                        }
                    }
                }
                nlei_PlatformAudio_audioctx = null;
                $t = nlei_PlatformAudio_logger;
                var$2 = $rt_s(482);
                $ptr = 17;
                continue main;
            }
            ju_LinkedList_clear(nlei_PlatformInput_mouseEvents);
            ju_LinkedList_clear(nlei_PlatformInput_keyEvents);
            return;
        case 16:
            oall_Logger_error0($t, var$2);
            if ($rt_suspending()) {
                break main;
            }
            if (!nlei_PlatformAudio_loadViaWAV32FSupport && !nlei_PlatformAudio_loadViaWAV16Support) {
                c: {
                    try {
                        nlei_PlatformAudio_audioctx.close();
                        break c;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                        } else {
                            throw $$e;
                        }
                    }
                }
                nlei_PlatformAudio_audioctx = null;
                $t = nlei_PlatformAudio_logger;
                var$2 = $rt_s(482);
                $ptr = 17;
                continue main;
            }
            ju_LinkedList_clear(nlei_PlatformInput_mouseEvents);
            ju_LinkedList_clear(nlei_PlatformInput_keyEvents);
            return;
        case 17:
            oall_Logger_error0($t, var$2);
            if ($rt_suspending()) {
                break main;
            }
            ju_LinkedList_clear(nlei_PlatformInput_mouseEvents);
            ju_LinkedList_clear(nlei_PlatformInput_keyEvents);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($t, var$2, var$3, var$4, var$5, $ptr);
    }
    function nlei_PlatformAudio_loadAudioData($filename, $holdInCache) {
        var $buffer, $file, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$file = $thread.pop();$buffer = $thread.pop();$holdInCache = $thread.pop();$filename = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformAudio_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $buffer = nlei_PlatformAudio_soundCache;
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get($buffer, $filename);
            if ($rt_suspending()) {
                break main;
            }
            $buffer = $tmp;
            $buffer = $buffer;
            if ($buffer === null) {
                $ptr = 3;
                continue main;
            }
            if ($buffer.$buffer3 === null)
                return null;
            $ptr = 5;
            continue main;
        case 3:
            $tmp = nlei_PlatformAssets_getResourceBytes($filename);
            if ($rt_suspending()) {
                break main;
            }
            $file = $tmp;
            if ($file === null)
                return null;
            $buffer = new nlei_PlatformAudio$BrowserAudioResource;
            $ptr = 4;
        case 4:
            $tmp = nlei_PlatformAudio_decodeAudioData($file, $filename);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            nlei_PlatformAudio$BrowserAudioResource__init_($buffer, var$5);
            if ($holdInCache) {
                var$5 = nlei_PlatformAudio_soundCache;
                $ptr = 6;
                continue main;
            }
            if ($buffer.$buffer3 === null)
                return null;
            $ptr = 5;
        case 5:
            $tmp = nlei_PlatformRuntime_steadyTimeMillis();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $buffer.$cacheHit = var$6;
            return $buffer;
        case 6:
            ju_HashMap_putImpl(var$5, $filename, $buffer);
            if ($rt_suspending()) {
                break main;
            }
            if ($buffer.$buffer3 === null)
                return null;
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($filename, $holdInCache, $buffer, $file, var$5, var$6, $ptr);
    }
    function nlei_PlatformAudio_loadAudioDataNew($filename, $holdInCache, $loader) {
        var $buffer, $file, var$6, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$file = $thread.pop();$buffer = $thread.pop();$loader = $thread.pop();$holdInCache = $thread.pop();$filename = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformAudio_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $loader = nlei_PlatformAudio_soundCache;
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get($loader, $filename);
            if ($rt_suspending()) {
                break main;
            }
            $loader = $tmp;
            $buffer = $loader;
            if ($buffer === null) {
                try {
                    $ptr = 3;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                $file = null;
                if ($file === null)
                    return null;
                $buffer = new nlei_PlatformAudio$BrowserAudioResource;
                $ptr = 6;
                continue main;
            }
            if ($buffer.$buffer3 === null)
                return null;
            $ptr = 5;
            continue main;
        case 3:
            try {
                $tmp = nle_EagRuntime_getRequiredResourceStream($filename);
                if ($rt_suspending()) {
                    break main;
                }
                $loader = $tmp;
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            $file = null;
            if ($file === null)
                return null;
            $buffer = new nlei_PlatformAudio$BrowserAudioResource;
            $ptr = 6;
            continue main;
        case 4:
            a: {
                try {
                    $tmp = nle_EaglerInputStream_inputStreamToBytesQuiet($loader);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $file = $tmp;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                $file = null;
            }
            if ($file === null)
                return null;
            $buffer = new nlei_PlatformAudio$BrowserAudioResource;
            $ptr = 6;
            continue main;
        case 5:
            $tmp = nlei_PlatformRuntime_steadyTimeMillis();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $buffer.$cacheHit = var$6;
            return $buffer;
        case 6:
            $tmp = nlei_PlatformAudio_decodeAudioData($file, $filename);
            if ($rt_suspending()) {
                break main;
            }
            $loader = $tmp;
            nlei_PlatformAudio$BrowserAudioResource__init_($buffer, $loader);
            if ($holdInCache) {
                $loader = nlei_PlatformAudio_soundCache;
                $ptr = 7;
                continue main;
            }
            if ($buffer.$buffer3 === null)
                return null;
            $ptr = 5;
            continue main;
        case 7:
            ju_HashMap_putImpl($loader, $filename, $buffer);
            if ($rt_suspending()) {
                break main;
            }
            if ($buffer.$buffer3 === null)
                return null;
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($filename, $holdInCache, $loader, $buffer, $file, var$6, $ptr);
    }
    function nlei_PlatformAudio_decodeAudioData($data, $errorFileName) {
        var $arr, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$arr = $thread.pop();$errorFileName = $thread.pop();$data = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformAudio_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($data === null)
                return null;
            if (nlei_PlatformAudio_oggSupport) {
                $arr = new $rt_globals.Int8Array($data.data.length);
                var$4 = $data.data;
                $arr.set(var$4, 0);
                var$4 = $arr.buffer;
                $ptr = 2;
                continue main;
            }
            var$5 = $data.data;
            var$6 = var$5.length;
            if (var$6 > 4 && var$5[0] == 79 && var$5[1] == 103 && var$5[2] == 103 && var$5[3] == 83) {
                var$4 = nlei_PlatformAudio_audioctx;
                var$7 = nlei_PlatformAudio_loadViaAudioBufferSupport ? 0 : !nlei_PlatformAudio_loadViaWAV32FSupport ? 2 : 1;
                $ptr = 4;
                continue main;
            }
            $arr = new $rt_globals.Int8Array(var$6);
            var$4 = $data.data;
            $arr.set(var$4, 0);
            var$4 = $arr.buffer;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nlei_PlatformAudio_decodeAudioBrowserAsync(var$4, $errorFileName);
            if ($rt_suspending()) {
                break main;
            }
            $errorFileName = $tmp;
            return $errorFileName;
        case 3:
            $tmp = nlei_PlatformAudio_decodeAudioBrowserAsync(var$4, $errorFileName);
            if ($rt_suspending()) {
                break main;
            }
            $errorFileName = $tmp;
            return $errorFileName;
        case 4:
            $tmp = nleit_JOrbisAudioBufferDecoder_decodeAudioJOrbis(var$4, $data, $errorFileName, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $errorFileName = $tmp;
            return $errorFileName;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($data, $errorFileName, $arr, var$4, var$5, var$6, var$7, $ptr);
    }
    function nlei_PlatformAudio_decodeAudioBrowserAsync(var$1, var$2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformAudio_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformAudio_decodeAudioBrowserAsync$_asyncCall_$(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return otji_JSWrapper_unwrap(var$1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nlei_PlatformAudio_decodeAudioBrowserAsync0($buffer, $errorFileName, $cb) {
        var var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$cb = $thread.pop();$errorFileName = $thread.pop();$buffer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformAudio_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nlei_PlatformAudio_audioctx;
            var$5 = new nlei_PlatformAudio$1;
            var$5.$val$cb0 = $cb;
            var$6 = new nlei_PlatformAudio$2;
            var$6.$val$errorFileName = $errorFileName;
            var$6.$val$cb1 = $cb;
            var$4.decodeAudioData($buffer, otji_JS_function(var$5, "onSuccess"), otji_JS_function(var$6, "onError"));
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($buffer, $errorFileName, $cb, var$4, var$5, var$6, $ptr);
    }
    function nlei_PlatformAudio_beginPlayback($internalTrack, $x, $y, $z, $volume, $pitch, $repeat) {
        var var$8, $src, $panner, $gain, $v1, $ret, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();$ret = $thread.pop();$v1 = $thread.pop();$gain = $thread.pop();$panner = $thread.pop();$src = $thread.pop();var$8 = $thread.pop();$repeat = $thread.pop();$pitch = $thread.pop();$volume = $thread.pop();$z = $thread.pop();$y = $thread.pop();$x = $thread.pop();$internalTrack = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformAudio_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_steadyTimeMillis();
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $internalTrack.$cacheHit = var$8;
            $src = nlei_PlatformAudio_audioctx.createBufferSource();
            $panner = $internalTrack.$buffer3;
            $src.buffer = $panner;
            $gain = $src.playbackRate;
            $panner = $pitch;
            $gain.value = $panner;
            $gain = !!$repeat;
            $src.loop = $gain;
            $panner = nlei_PlatformAudio_audioctx.createPanner();
            $panner.setPosition($x, $y, $z);
            $v1 = $volume * 16.0;
            if ($v1 < 16.0)
                $v1 = 16.0;
            $ret = $v1;
            $panner.maxDistance = $ret;
            $gain = 1.0;
            $panner.rolloffFactor = $gain;
            $gain = "linear";
            $panner.distanceModel = $gain;
            $gain = "HRTF";
            $panner.panningModel = $gain;
            $gain = 360.0;
            $panner.coneInnerAngle = $gain;
            $gain = 0.0;
            $panner.coneOuterAngle = $gain;
            $gain = 0.0;
            $panner.coneOuterGain = $gain;
            $panner.setOrientation(0.0, 1.0, 0.0);
            $gain = nlei_PlatformAudio_audioctx.createGain();
            if ($volume > 1.0)
                $volume = 1.0;
            $ret = $gain.gain;
            var$14 = $volume;
            $ret.value = var$14;
            $src.connect($panner);
            $panner.connect($gain);
            $ret = nlei_PlatformAudio_audioctx.destination;
            $gain.connect($ret);
            var$14 = nlei_PlatformAudio_gameRecGain;
            if (var$14 !== null)
                $gain.connect(var$14);
            $src.start();
            $ret = nlei_PlatformAudio$BrowserAudioHandle__init_($internalTrack, $src, $panner, $gain, $pitch, $repeat);
            $internalTrack = nlei_PlatformAudio_activeSounds;
            $ptr = 3;
        case 3:
            ju_AbstractList_add($internalTrack, $ret);
            if ($rt_suspending()) {
                break main;
            }
            return $ret;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($internalTrack, $x, $y, $z, $volume, $pitch, $repeat, var$8, $src, $panner, $gain, $v1, $ret, var$14, $ptr);
    }
    function nlei_PlatformAudio_beginPlaybackStatic($internalTrack, $volume, $pitch, $repeat) {
        var var$5, $src, $gain, var$8, $ret, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$ret = $thread.pop();var$8 = $thread.pop();$gain = $thread.pop();$src = $thread.pop();var$5 = $thread.pop();$repeat = $thread.pop();$pitch = $thread.pop();$volume = $thread.pop();$internalTrack = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformAudio_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_steadyTimeMillis();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $internalTrack.$cacheHit = var$5;
            $src = nlei_PlatformAudio_audioctx.createBufferSource();
            $gain = $internalTrack.$buffer3;
            $src.buffer = $gain;
            $gain = $src.playbackRate;
            var$8 = $pitch;
            $gain.value = var$8;
            var$8 = !!$repeat;
            $src.loop = var$8;
            $gain = nlei_PlatformAudio_audioctx.createGain();
            if ($volume > 1.0)
                $volume = 1.0;
            var$8 = $gain.gain;
            $ret = $volume;
            var$8.value = $ret;
            $src.connect($gain);
            var$8 = nlei_PlatformAudio_audioctx.destination;
            $gain.connect(var$8);
            $ret = nlei_PlatformAudio_gameRecGain;
            if ($ret !== null)
                $gain.connect($ret);
            $src.start();
            $ret = nlei_PlatformAudio$BrowserAudioHandle__init_($internalTrack, $src, null, $gain, $pitch, $repeat);
            $internalTrack = nlei_PlatformAudio_activeSounds;
            $ptr = 3;
        case 3:
            ju_AbstractList_add($internalTrack, $ret);
            if ($rt_suspending()) {
                break main;
            }
            return $ret;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($internalTrack, $volume, $pitch, $repeat, var$5, $src, $gain, var$8, $ret, $ptr);
    }
    function nlei_PlatformAudio_setListener($x, $y, $z, $pitchDegrees, $yawDegrees) {
        var $var2, $var3, $var4, $var5, $l, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$l = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$yawDegrees = $thread.pop();$pitchDegrees = $thread.pop();$z = $thread.pop();$y = $thread.pop();$x = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformAudio_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $yawDegrees =  -$yawDegrees * 0.01745329238474369;
            $var2 = nms_MathHelper_cos($yawDegrees);
            $var3 = nms_MathHelper_sin($yawDegrees);
            $pitchDegrees = $pitchDegrees * 0.01745329238474369;
            $var4 =  -nms_MathHelper_cos($pitchDegrees);
            $var5 = nms_MathHelper_sin($pitchDegrees);
            $l = nlei_PlatformAudio_audioctx.listener;
            $l.setPosition($x, $y, $z);
            $x =  -$var3 * $var4;
            $pitchDegrees =  -$var5;
            $yawDegrees =  -$var2 * $var4;
            $l.setOrientation($x, $pitchDegrees, $yawDegrees, 0.0, 1.0, 0.0);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($x, $y, $z, $pitchDegrees, $yawDegrees, $var2, $var3, $var4, $var5, $l, $ptr);
    }
    function nlei_PlatformAudio__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(485);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nlei_PlatformAudio_logger = var$1;
            nlei_PlatformAudio_audioctx = null;
            nlei_PlatformAudio_recDestNode = null;
            nlei_PlatformAudio_recDestMediaStream = null;
            nlei_PlatformAudio_silence = null;
            nlei_PlatformAudio_recDestSilenceNode = null;
            nlei_PlatformAudio_micRecGain = null;
            nlei_PlatformAudio_gameRecGain = null;
            nlei_PlatformAudio_soundCache = ju_HashMap__init_0();
            nlei_PlatformAudio_activeSounds = new ju_LinkedList;
            nlei_PlatformAudio_cacheFreeTimer = Long_ZERO;
            nlei_PlatformAudio_activeFreeTimer = Long_ZERO;
            nlei_PlatformAudio_oggSupport = 0;
            nlei_PlatformAudio_loadViaAudioBufferSupport = 0;
            nlei_PlatformAudio_loadViaWAV32FSupport = 0;
            nlei_PlatformAudio_loadViaWAV16Support = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nlei_PlatformAudio_decodeAudioBrowserAsync$_asyncCall_$(var$1, var$2) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nlei_PlatformAudio_decodeAudioBrowserAsync0(var$1, var$2, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nlei_PlatformAudio_detectLoadViaAudioBufferSupport$js_body$_2(var$1) {
        var tmpBuf = var$1.createBuffer(2, 16, 16000);
        return typeof tmpBuf.copyToChannel === "function";
    }
    var jl_Runnable = $rt_classWithoutFields(0);
    function jl_Thread() {
        var a = this; jl_Object.call(a);
        a.$id = Long_ZERO;
        a.$timeSliceStart = Long_ZERO;
        a.$yieldCount = 0;
        a.$finishedLock = null;
        a.$interruptHandler = null;
        a.$name1 = null;
        a.$alive = 0;
        a.$target = null;
    }
    var jl_Thread_mainThread = null;
    var jl_Thread_currentThread0 = null;
    var jl_Thread_nextId = 0;
    var jl_Thread_activeCount = 0;
    var jl_Thread_defaultUncaughtExceptionHandler = null;
    function jl_Thread_$callClinit() {
        jl_Thread_$callClinit = $rt_eraseClinit(jl_Thread);
        jl_Thread__clinit_();
    }
    function jl_Thread__init_0() {
        var var_0 = new jl_Thread();
        jl_Thread__init_(var_0);
        return var_0;
    }
    function jl_Thread__init_1(var_0, var_1) {
        var var_2 = new jl_Thread();
        jl_Thread__init_2(var_2, var_0, var_1);
        return var_2;
    }
    function jl_Thread__init_($this) {
        jl_Thread_$callClinit();
        jl_Thread__init_2($this, null, null);
    }
    function jl_Thread__init_2($this, $target, $name) {
        var var$3;
        jl_Thread_$callClinit();
        $this.$finishedLock = new jl_Object;
        $this.$alive = 1;
        $this.$name1 = $name;
        $this.$target = $target;
        var$3 = jl_Thread_nextId;
        jl_Thread_nextId = var$3 + 1 | 0;
        $this.$id = Long_fromInt(var$3);
    }
    function jl_Thread_setCurrentThread($thread_0) {
        jl_Thread_$callClinit();
        if (jl_Thread_currentThread0 !== $thread_0)
            jl_Thread_currentThread0 = $thread_0;
        jl_Thread_currentThread0.$timeSliceStart = jl_System_currentTimeMillis();
    }
    function jl_Thread_currentThread() {
        jl_Thread_$callClinit();
        return jl_Thread_currentThread0;
    }
    function jl_Thread_yield() {
        var $currentThread, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$currentThread = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            jl_Thread_$callClinit();
            $currentThread = jl_Thread_currentThread();
            var$2 = $currentThread.$yieldCount + 1 | 0;
            $currentThread.$yieldCount = var$2;
            if (var$2 < 30)
                return;
            (jl_Thread_currentThread()).$yieldCount = 0;
            if (Long_ge(Long_add($currentThread.$timeSliceStart, Long_fromInt(100)), jl_System_currentTimeMillis()))
                return;
            $ptr = 1;
        case 1:
            jl_Thread_switchContext$_asyncCall_$($currentThread);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($currentThread, var$2, $ptr);
    }
    function jl_Thread_switchContext($thread_0, $callback) {
        var var$3;
        jl_Thread_$callClinit();
        var$3 = new jl_Thread$switchContext$lambda$_19_0;
        var$3.$_014 = $thread_0;
        var$3.$_18 = $callback;
        otp_Platform_postpone(var$3);
    }
    function jl_Thread_sleep(var$1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            jl_Thread_$callClinit();
            $ptr = 1;
        case 1:
            jl_Thread_sleep$_asyncCall_$(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function jl_Thread_sleep0($millis, $callback) {
        var $current, $handler;
        jl_Thread_$callClinit();
        $current = jl_Thread_currentThread();
        $handler = new jl_Thread$SleepHandler;
        $handler.$thread = $current;
        $handler.$callback0 = $callback;
        $handler.$scheduleId = otp_Platform_schedule($handler, Long_ge($millis, Long_fromInt(2147483647)) ? 2147483647 : Long_lo($millis));
        $current.$interruptHandler = $handler;
    }
    function jl_Thread__clinit_() {
        var var$1;
        var$1 = new jl_Thread;
        jl_Thread_$callClinit();
        jl_Thread__init_2(var$1, null, $rt_s(182));
        jl_Thread_mainThread = var$1;
        jl_Thread_currentThread0 = var$1;
        jl_Thread_nextId = 1;
        jl_Thread_activeCount = 1;
        jl_Thread_defaultUncaughtExceptionHandler = new jl_DefaultUncaughtExceptionHandler;
    }
    function jl_Thread_switchContext$_asyncCall_$(var$1) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                jl_Thread_switchContext(var$1, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function jl_Thread_sleep$_asyncCall_$(var$1) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                jl_Thread_sleep0(var$1, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    var jl_InterruptedException = $rt_classWithoutFields(jl_Exception);
    function jl_InterruptedException__init_0() {
        var var_0 = new jl_InterruptedException();
        jl_InterruptedException__init_(var_0);
        return var_0;
    }
    function jl_InterruptedException__init_($this) {
        jl_Throwable__init_0($this);
    }
    var nlei_PlatformRuntime$1 = $rt_classWithoutFields();
    function nlei_PlatformRuntime$1__init_0() {
        var var_0 = new nlei_PlatformRuntime$1();
        nlei_PlatformRuntime$1__init_(var_0);
        return var_0;
    }
    function nlei_PlatformRuntime$1__init_($this) {}
    function nlei_PlatformRuntime$1_handleEvent$exported$0(var$0, var$1) {
        var var$2, var$3, var$4, var$5, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nlei_PlatformRuntime_win;
            $ptr = 2;
        case 2:
            $tmp = var$1.source === var$2;
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (!(var$2 ? 1 : 0))
                return;
            var$3 = 0;
            var$2 = nlei_PlatformRuntime_immediateContLock;
            $ptr = 3;
        case 3:
            jl_Object_monitorEnter(var$2);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                try {
                    var$4 = nlei_PlatformRuntime_currentLegacyContinueHack;
                    if (var$4 === null)
                        var$5 = var$3;
                    else {
                        b: {
                            try {
                                var$5 = var$4.$isValidToken(var$1.data);
                                var$3 = var$5;
                                break b;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof jl_Throwable) {
                                } else {
                                    throw $$e;
                                }
                            }
                            var$5 = var$3;
                        }
                        if (var$5)
                            nlei_PlatformRuntime_currentLegacyContinueHack = null;
                    }
                    jl_Object_monitorExit(var$2);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$1 = $$je;

                }
                jl_Object_monitorExit(var$2);
                $rt_throw(var$1);
            }
            if (var$5)
                var$4.$execute();
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nlei_EnumPlatformAgent() {
        jl_Enum.call(this);
        this.$name2 = null;
    }
    var nlei_EnumPlatformAgent_DESKTOP = null;
    var nlei_EnumPlatformAgent_CHROME = null;
    var nlei_EnumPlatformAgent_EDGE = null;
    var nlei_EnumPlatformAgent_IE = null;
    var nlei_EnumPlatformAgent_FIREFOX = null;
    var nlei_EnumPlatformAgent_SAFARI = null;
    var nlei_EnumPlatformAgent_OPERA = null;
    var nlei_EnumPlatformAgent_WEBKIT = null;
    var nlei_EnumPlatformAgent_GECKO = null;
    var nlei_EnumPlatformAgent_UNKNOWN = null;
    var nlei_EnumPlatformAgent_$VALUES = null;
    function nlei_EnumPlatformAgent_$callClinit() {
        nlei_EnumPlatformAgent_$callClinit = $rt_eraseClinit(nlei_EnumPlatformAgent);
        nlei_EnumPlatformAgent__clinit_();
    }
    function nlei_EnumPlatformAgent__init_(var_0, var_1, var_2) {
        var var_3 = new nlei_EnumPlatformAgent();
        nlei_EnumPlatformAgent__init_0(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nlei_EnumPlatformAgent_values() {
        nlei_EnumPlatformAgent_$callClinit();
        return nlei_EnumPlatformAgent_$VALUES.$clone();
    }
    function nlei_EnumPlatformAgent__init_0($this, var$1, var$2, $name) {
        nlei_EnumPlatformAgent_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
        $this.$name2 = $name;
    }
    function nlei_EnumPlatformAgent_toString($this) {
        return $this.$name2;
    }
    function nlei_EnumPlatformAgent__clinit_() {
        var var$1;
        nlei_EnumPlatformAgent_DESKTOP = nlei_EnumPlatformAgent__init_($rt_s(486), 0, $rt_s(487));
        nlei_EnumPlatformAgent_CHROME = nlei_EnumPlatformAgent__init_($rt_s(488), 1, $rt_s(489));
        nlei_EnumPlatformAgent_EDGE = nlei_EnumPlatformAgent__init_($rt_s(490), 2, $rt_s(491));
        nlei_EnumPlatformAgent_IE = nlei_EnumPlatformAgent__init_($rt_s(492), 3, $rt_s(492));
        nlei_EnumPlatformAgent_FIREFOX = nlei_EnumPlatformAgent__init_($rt_s(493), 4, $rt_s(494));
        nlei_EnumPlatformAgent_SAFARI = nlei_EnumPlatformAgent__init_($rt_s(495), 5, $rt_s(496));
        nlei_EnumPlatformAgent_OPERA = nlei_EnumPlatformAgent__init_($rt_s(497), 6, $rt_s(498));
        nlei_EnumPlatformAgent_WEBKIT = nlei_EnumPlatformAgent__init_($rt_s(499), 7, $rt_s(500));
        nlei_EnumPlatformAgent_GECKO = nlei_EnumPlatformAgent__init_($rt_s(501), 8, $rt_s(502));
        var$1 = nlei_EnumPlatformAgent__init_($rt_s(503), 9, $rt_s(504));
        nlei_EnumPlatformAgent_UNKNOWN = var$1;
        nlei_EnumPlatformAgent_$VALUES = $rt_createArrayFromData(nlei_EnumPlatformAgent, [nlei_EnumPlatformAgent_DESKTOP, nlei_EnumPlatformAgent_CHROME, nlei_EnumPlatformAgent_EDGE, nlei_EnumPlatformAgent_IE, nlei_EnumPlatformAgent_FIREFOX, nlei_EnumPlatformAgent_SAFARI, nlei_EnumPlatformAgent_OPERA, nlei_EnumPlatformAgent_WEBKIT, nlei_EnumPlatformAgent_GECKO, var$1]);
    }
    function nlei_EnumPlatformOS() {
        var a = this; jl_Enum.call(a);
        a.$name3 = null;
        a.$minecraftEnum = null;
    }
    var nlei_EnumPlatformOS_WINDOWS = null;
    var nlei_EnumPlatformOS_MACOS = null;
    var nlei_EnumPlatformOS_LINUX = null;
    var nlei_EnumPlatformOS_CHROMEBOOK_LINUX = null;
    var nlei_EnumPlatformOS_OTHER = null;
    var nlei_EnumPlatformOS_$VALUES = null;
    function nlei_EnumPlatformOS_$callClinit() {
        nlei_EnumPlatformOS_$callClinit = $rt_eraseClinit(nlei_EnumPlatformOS);
        nlei_EnumPlatformOS__clinit_();
    }
    function nlei_EnumPlatformOS__init_(var_0, var_1, var_2, var_3) {
        var var_4 = new nlei_EnumPlatformOS();
        nlei_EnumPlatformOS__init_0(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nlei_EnumPlatformOS_values() {
        nlei_EnumPlatformOS_$callClinit();
        return nlei_EnumPlatformOS_$VALUES.$clone();
    }
    function nlei_EnumPlatformOS__init_0($this, var$1, var$2, $name, $minecraftEnum) {
        nlei_EnumPlatformOS_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
        $this.$name3 = $name;
        $this.$minecraftEnum = $minecraftEnum;
    }
    function nlei_EnumPlatformOS_toString($this) {
        return $this.$name3;
    }
    function nlei_EnumPlatformOS__clinit_() {
        var var$1;
        var$1 = new nlei_EnumPlatformOS;
        nms_EnumOS_$callClinit();
        nlei_EnumPlatformOS__init_0(var$1, $rt_s(505), 0, $rt_s(506), nms_EnumOS_windows);
        nlei_EnumPlatformOS_WINDOWS = var$1;
        nlei_EnumPlatformOS_MACOS = nlei_EnumPlatformOS__init_($rt_s(507), 1, $rt_s(508), nms_EnumOS_macos);
        nlei_EnumPlatformOS_LINUX = nlei_EnumPlatformOS__init_($rt_s(509), 2, $rt_s(510), nms_EnumOS_linux);
        nlei_EnumPlatformOS_CHROMEBOOK_LINUX = nlei_EnumPlatformOS__init_($rt_s(511), 3, $rt_s(512), nms_EnumOS_linux);
        var$1 = nlei_EnumPlatformOS__init_($rt_s(513), 4, $rt_s(504), nms_EnumOS_unknown);
        nlei_EnumPlatformOS_OTHER = var$1;
        nlei_EnumPlatformOS_$VALUES = $rt_createArrayFromData(nlei_EnumPlatformOS, [nlei_EnumPlatformOS_WINDOWS, nlei_EnumPlatformOS_MACOS, nlei_EnumPlatformOS_LINUX, nlei_EnumPlatformOS_CHROMEBOOK_LINUX, var$1]);
    }
    function nlei_EnumPlatformANGLE() {
        var a = this; jl_Enum.call(a);
        a.$eglEnum = 0;
        a.$id0 = null;
        a.$name4 = null;
    }
    var nlei_EnumPlatformANGLE_DEFAULT = null;
    var nlei_EnumPlatformANGLE_D3D11 = null;
    var nlei_EnumPlatformANGLE_OPENGL = null;
    var nlei_EnumPlatformANGLE_OPENGLES = null;
    var nlei_EnumPlatformANGLE_METAL = null;
    var nlei_EnumPlatformANGLE_VULKAN = null;
    var nlei_EnumPlatformANGLE_$VALUES = null;
    function nlei_EnumPlatformANGLE_$callClinit() {
        nlei_EnumPlatformANGLE_$callClinit = $rt_eraseClinit(nlei_EnumPlatformANGLE);
        nlei_EnumPlatformANGLE__clinit_();
    }
    function nlei_EnumPlatformANGLE__init_(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nlei_EnumPlatformANGLE();
        nlei_EnumPlatformANGLE__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nlei_EnumPlatformANGLE_values() {
        nlei_EnumPlatformANGLE_$callClinit();
        return nlei_EnumPlatformANGLE_$VALUES.$clone();
    }
    function nlei_EnumPlatformANGLE__init_0($this, var$1, var$2, $eglEnum, $id, $name) {
        nlei_EnumPlatformANGLE_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
        $this.$eglEnum = $eglEnum;
        $this.$id0 = $id;
        $this.$name4 = $name;
    }
    function nlei_EnumPlatformANGLE_toString($this) {
        return $this.$id0;
    }
    function nlei_EnumPlatformANGLE__clinit_() {
        var var$1;
        nlei_EnumPlatformANGLE_DEFAULT = nlei_EnumPlatformANGLE__init_($rt_s(514), 0, 225281, $rt_s(515), $rt_s(516));
        nlei_EnumPlatformANGLE_D3D11 = nlei_EnumPlatformANGLE__init_($rt_s(517), 1, 225285, $rt_s(225), $rt_s(518));
        nlei_EnumPlatformANGLE_OPENGL = nlei_EnumPlatformANGLE__init_($rt_s(519), 2, 225282, $rt_s(227), $rt_s(520));
        nlei_EnumPlatformANGLE_OPENGLES = nlei_EnumPlatformANGLE__init_($rt_s(521), 3, 225283, $rt_s(522), $rt_s(523));
        nlei_EnumPlatformANGLE_METAL = nlei_EnumPlatformANGLE__init_($rt_s(524), 4, 225288, $rt_s(228), $rt_s(525));
        var$1 = nlei_EnumPlatformANGLE__init_($rt_s(526), 5, 225287, $rt_s(229), $rt_s(527));
        nlei_EnumPlatformANGLE_VULKAN = var$1;
        nlei_EnumPlatformANGLE_$VALUES = $rt_createArrayFromData(nlei_EnumPlatformANGLE, [nlei_EnumPlatformANGLE_DEFAULT, nlei_EnumPlatformANGLE_D3D11, nlei_EnumPlatformANGLE_OPENGL, nlei_EnumPlatformANGLE_OPENGLES, nlei_EnumPlatformANGLE_METAL, var$1]);
    }
    function nleo_SoftGLVertexState() {
        var a = this; jl_Object.call(a);
        a.$attribs1 = null;
        a.$attribDivisors0 = null;
        a.$hasAttribDivisorMask0 = 0;
        a.$oldEnabled = 0;
        a.$oldEnabledCnt = 0;
    }
    function nleo_SoftGLVertexState__init_0() {
        var var_0 = new nleo_SoftGLVertexState();
        nleo_SoftGLVertexState__init_(var_0);
        return var_0;
    }
    function nleo_SoftGLVertexState__init_($this) {
        $this.$attribs1 = $rt_createArray(nleo_SoftGLVertexArray$Attrib, 24);
        $this.$attribDivisors0 = $rt_createIntArray(24);
        $this.$hasAttribDivisorMask0 = 0;
        $this.$oldEnabled = 0;
        $this.$oldEnabledCnt = (-1);
    }
    var nleo_GLSLHeader = $rt_classWithoutFields();
    var nleo_GLSLHeader_header = null;
    var nleo_GLSLHeader_gles2CompatFile = null;
    function nleo_GLSLHeader__init_0() {
        var var_0 = new nleo_GLSLHeader();
        nleo_GLSLHeader__init_(var_0);
        return var_0;
    }
    function nleo_GLSLHeader__init_($this) {}
    function nleo_GLSLHeader_init() {
        var $headerBuilder, $glesVersion, var$3, var$4, $oes5, $texLOD, $ext5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$ext5 = $thread.pop();$texLOD = $thread.pop();$oes5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$glesVersion = $thread.pop();$headerBuilder = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $headerBuilder = $rt_s(528);
            $ptr = 1;
        case 1:
            $tmp = nle_EagRuntime_getRequiredResourceString($headerBuilder);
            if ($rt_suspending()) {
                break main;
            }
            $headerBuilder = $tmp;
            nleo_GLSLHeader_gles2CompatFile = $headerBuilder;
            $ptr = 2;
        case 2:
            $tmp = nleo_EaglercraftGPU_checkOpenGLESVersion();
            if ($rt_suspending()) {
                break main;
            }
            $glesVersion = $tmp;
            if ($glesVersion >= 310) {
                $headerBuilder = jl_StringBuilder__init_1($rt_s(529));
                $ptr = 3;
                continue main;
            }
            if ($glesVersion != 300) {
                if ($glesVersion == 200) {
                    $ptr = 7;
                    continue main;
                }
                $headerBuilder = new jl_IllegalStateException;
                var$3 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$3);
                var$4 = $rt_s(530);
                $ptr = 5;
                continue main;
            }
            $headerBuilder = jl_StringBuilder__init_1($rt_s(531));
            jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(532));
            jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(533));
            jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(534));
            jl_AbstractStringBuilder_append($headerBuilder, 10);
            $ptr = 8;
            continue main;
        case 3:
            $tmp = nlei_PlatformOpenGL_checkOESGPUShader5Capable();
            if ($rt_suspending()) {
                break main;
            }
            $oes5 = $tmp;
            if (!$oes5) {
                $ptr = 4;
                continue main;
            }
            if ($oes5)
                jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(535));
            else if (0)
                jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(536));
            jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(537));
            jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(538));
            jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(533));
            jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(534));
            if (!(!$oes5 && !0))
                jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(539));
            jl_AbstractStringBuilder_append($headerBuilder, 10);
            $ptr = 8;
            continue main;
        case 4:
            $tmp = nlei_PlatformOpenGL_checkEXTGPUShader5Capable();
            if ($rt_suspending()) {
                break main;
            }
            $texLOD = $tmp;
            $ext5 = !$texLOD ? 0 : 1;
            if ($oes5)
                jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(535));
            else if ($ext5)
                jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(536));
            jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(537));
            jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(538));
            jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(533));
            jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(534));
            if (!(!$oes5 && !$ext5))
                jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(539));
            jl_AbstractStringBuilder_append($headerBuilder, 10);
            $ptr = 8;
            continue main;
        case 5:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_AbstractStringBuilder_append0(var$4, $glesVersion);
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_Throwable__init_($headerBuilder, var$3);
            $rt_throw($headerBuilder);
        case 7:
            $tmp = nlei_PlatformOpenGL_checkTextureLODCapable();
            if ($rt_suspending()) {
                break main;
            }
            $texLOD = $tmp;
            $headerBuilder = jl_StringBuilder__init_1($rt_s(540));
            if ($texLOD)
                jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(541));
            jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(534));
            jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(542));
            if ($texLOD)
                jl_AbstractStringBuilder_append2($headerBuilder, $rt_s(543));
            jl_AbstractStringBuilder_append($headerBuilder, 10);
            $ptr = 8;
        case 8:
            $tmp = jl_AbstractStringBuilder_toString($headerBuilder);
            if ($rt_suspending()) {
                break main;
            }
            $headerBuilder = $tmp;
            nleo_GLSLHeader_header = $headerBuilder;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($headerBuilder, $glesVersion, var$3, var$4, $oes5, $texLOD, $ext5, $ptr);
    }
    function nleo_GLSLHeader_getVertexHeaderCompat($shaderSrc, $precisions) {
        var var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$precisions = $thread.pop();$shaderSrc = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = nleo_GLSLHeader_header;
            if (var$3 !== null && nleo_GLSLHeader_gles2CompatFile !== null) {
                if ($precisions !== null) {
                    var$4 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$4);
                    $ptr = 1;
                    continue main;
                }
                var$4 = $rt_s(3);
                $precisions = nleo_GLSLHeader_gles2CompatFile;
                var$5 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$5);
                $ptr = 3;
                continue main;
            }
            $shaderSrc = new jl_IllegalStateException;
            jl_Throwable__init_0($shaderSrc);
            $rt_throw($shaderSrc);
        case 1:
            $tmp = jl_StringBuilder_append(var$4, $precisions);
            if ($rt_suspending()) {
                break main;
            }
            $precisions = $tmp;
            jl_AbstractStringBuilder_append($precisions, 10);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $precisions = nleo_GLSLHeader_gles2CompatFile;
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$5, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$6 = $rt_s(544);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append(var$3, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 6;
        case 6:
            $tmp = jl_StringBuilder_append(var$3, $precisions);
            if ($rt_suspending()) {
                break main;
            }
            $precisions = $tmp;
            jl_AbstractStringBuilder_append($precisions, 10);
            $ptr = 7;
        case 7:
            jl_StringBuilder_append($precisions, $shaderSrc);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $tmp = jl_AbstractStringBuilder_toString(var$5);
            if ($rt_suspending()) {
                break main;
            }
            $shaderSrc = $tmp;
            return $shaderSrc;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($shaderSrc, $precisions, var$3, var$4, var$5, var$6, $ptr);
    }
    function nleo_GLSLHeader_getFragmentHeaderCompat($shaderSrc, $precisions) {
        var var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$precisions = $thread.pop();$shaderSrc = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = nleo_GLSLHeader_header;
            if (var$3 !== null && nleo_GLSLHeader_gles2CompatFile !== null) {
                if ($precisions !== null) {
                    var$4 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$4);
                    $ptr = 1;
                    continue main;
                }
                var$4 = $rt_s(3);
                $precisions = nleo_GLSLHeader_gles2CompatFile;
                var$5 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$5);
                $ptr = 3;
                continue main;
            }
            $shaderSrc = new jl_IllegalStateException;
            jl_Throwable__init_0($shaderSrc);
            $rt_throw($shaderSrc);
        case 1:
            $tmp = jl_StringBuilder_append(var$4, $precisions);
            if ($rt_suspending()) {
                break main;
            }
            $precisions = $tmp;
            jl_AbstractStringBuilder_append($precisions, 10);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $precisions = nleo_GLSLHeader_gles2CompatFile;
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$5, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$6 = $rt_s(545);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append(var$3, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 6;
        case 6:
            $tmp = jl_StringBuilder_append(var$3, $precisions);
            if ($rt_suspending()) {
                break main;
            }
            $precisions = $tmp;
            jl_AbstractStringBuilder_append($precisions, 10);
            $ptr = 7;
        case 7:
            jl_StringBuilder_append($precisions, $shaderSrc);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $tmp = jl_AbstractStringBuilder_toString(var$5);
            if ($rt_suspending()) {
                break main;
            }
            $shaderSrc = $tmp;
            return $shaderSrc;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($shaderSrc, $precisions, var$3, var$4, var$5, var$6, $ptr);
    }
    function nleo_GLSLHeader__clinit_() {
        nleo_GLSLHeader_header = null;
        nleo_GLSLHeader_gles2CompatFile = null;
    }
    var nleo_DrawUtils = $rt_classWithoutFields();
    var nleo_DrawUtils_standardQuad2DVAO = null;
    var nleo_DrawUtils_standardQuad3DVAO = null;
    var nleo_DrawUtils_standardQuadVBO = null;
    var nleo_DrawUtils_vshLocal = null;
    var nleo_DrawUtils_vshLocalLayout = null;
    function nleo_DrawUtils__init_0() {
        var var_0 = new nleo_DrawUtils();
        nleo_DrawUtils__init_(var_0);
        return var_0;
    }
    function nleo_DrawUtils__init_($this) {}
    function nleo_DrawUtils_init() {
        var $log, var$2, $verts, $lines, $i, var$6, var$7, var$8, var$9, $vertexSource, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$vertexSource = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$i = $thread.pop();$lines = $thread.pop();$verts = $thread.pop();var$2 = $thread.pop();$log = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (nleo_DrawUtils_standardQuad2DVAO === null) {
                $ptr = 1;
                continue main;
            }
            if (nleo_DrawUtils_vshLocal !== null)
                return;
            $log = $rt_s(546);
            $ptr = 15;
            continue main;
        case 1:
            $tmp = nleo_EaglercraftGPU_createGLVertexArray();
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            nleo_DrawUtils_standardQuad2DVAO = $log;
            $ptr = 2;
        case 2:
            $tmp = nleo_EaglercraftGPU_createGLVertexArray();
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            nleo_DrawUtils_standardQuad3DVAO = $log;
            $ptr = 3;
        case 3:
            $tmp = nlei_PlatformOpenGL__wglGenBuffers();
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            nleo_DrawUtils_standardQuadVBO = $log;
            var$2 = 18;
            $ptr = 4;
        case 4:
            $tmp = nle_EagRuntime_allocateFloatBuffer(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            $lines = $rt_createFloatArrayFromData([(-1.0), (-1.0), 0.0, 1.0, (-1.0), 0.0, (-1.0), 1.0, 0.0, 1.0, (-1.0), 0.0, 1.0, 1.0, 0.0, (-1.0), 1.0, 0.0]);
            $ptr = 5;
        case 5:
            nleib_EaglerArrayFloatBuffer_put0($verts, $lines);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayFloatBuffer_flip($verts);
            $log = nleo_DrawUtils_standardQuadVBO;
            $ptr = 6;
        case 6:
            nleo_EaglercraftGPU_bindVAOGLArrayBufferNow($log);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 34962;
            $i = 35044;
            $ptr = 7;
        case 7:
            nlei_PlatformOpenGL__wglBufferData1(var$2, $verts, $i);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            nle_EagRuntime_freeFloatBuffer($verts);
            if ($rt_suspending()) {
                break main;
            }
            $log = nleo_DrawUtils_standardQuad2DVAO;
            $ptr = 9;
        case 9:
            nleo_EaglercraftGPU_bindGLVertexArray($log);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            $ptr = 10;
        case 10:
            nleo_EaglercraftGPU_enableVertexAttribArray(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            $i = 2;
            var$6 = 5126;
            var$7 = 0;
            var$8 = 12;
            var$9 = 0;
            $ptr = 11;
        case 11:
            nleo_EaglercraftGPU_vertexAttribPointer(var$2, $i, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $log = nleo_DrawUtils_standardQuad3DVAO;
            $ptr = 12;
        case 12:
            nleo_EaglercraftGPU_bindGLVertexArray($log);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            $ptr = 13;
        case 13:
            nleo_EaglercraftGPU_enableVertexAttribArray(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            $i = 3;
            var$6 = 5126;
            var$7 = 0;
            var$8 = 12;
            var$9 = 0;
            $ptr = 14;
        case 14:
            nleo_EaglercraftGPU_vertexAttribPointer(var$2, $i, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            if (nleo_DrawUtils_vshLocal !== null)
                return;
            $log = $rt_s(546);
            $ptr = 15;
        case 15:
            $tmp = nle_EagRuntime_getRequiredResourceString($log);
            if ($rt_suspending()) {
                break main;
            }
            $vertexSource = $tmp;
            $ptr = 16;
        case 16:
            $tmp = nleo_VSHInputLayoutParser_getShaderInputs($vertexSource);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            nleo_DrawUtils_vshLocalLayout = $log;
            var$2 = 35633;
            $ptr = 17;
        case 17:
            $tmp = nlei_PlatformOpenGL__wglCreateShader(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            nleo_DrawUtils_vshLocal = $verts;
            $log = $rt_s(547);
            $ptr = 18;
        case 18:
            $tmp = nleo_GLSLHeader_getVertexHeaderCompat($vertexSource, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $ptr = 19;
        case 19:
            nlei_PlatformOpenGL__wglShaderSource($verts, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = nleo_DrawUtils_vshLocal;
            $ptr = 20;
        case 20:
            nlei_PlatformOpenGL__wglCompileShader($log);
            if ($rt_suspending()) {
                break main;
            }
            $log = nleo_DrawUtils_vshLocal;
            var$2 = 35713;
            $ptr = 21;
        case 21:
            $tmp = nlei_PlatformOpenGL__wglGetShaderi($log, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (var$2 == 1)
                return;
            $ptr = 22;
        case 22:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $log = nleo_EaglercraftGPU_logger;
            $vertexSource = $rt_s(548);
            $ptr = 23;
        case 23:
            oall_Logger_error0($log, $vertexSource);
            if ($rt_suspending()) {
                break main;
            }
            $log = nleo_DrawUtils_vshLocal;
            $ptr = 24;
        case 24:
            $tmp = nlei_PlatformOpenGL__wglGetShaderInfoLog($log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            if ($log === null) {
                $log = new jl_IllegalStateException;
                jl_Throwable__init_($log, $rt_s(549));
                $rt_throw($log);
            }
            $vertexSource = $rt_s(550);
            $ptr = 25;
        case 25:
            $tmp = jl_String_split($log, $vertexSource);
            if ($rt_suspending()) {
                break main;
            }
            $lines = $tmp;
            $i = 0;
            var$11 = $lines.data;
            if ($i >= var$11.length) {
                $log = new jl_IllegalStateException;
                jl_Throwable__init_($log, $rt_s(549));
                $rt_throw($log);
            }
            $log = nleo_EaglercraftGPU_logger;
            $vertexSource = $rt_s(551);
            var$12 = $rt_createArray(jl_Object, 1);
            var$12.data[0] = var$11[$i];
            $ptr = 26;
        case 26:
            oall_Logger_error($log, $vertexSource, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            var$11 = $lines.data;
            if ($i >= var$11.length) {
                $log = new jl_IllegalStateException;
                jl_Throwable__init_($log, $rt_s(549));
                $rt_throw($log);
            }
            $log = nleo_EaglercraftGPU_logger;
            $vertexSource = $rt_s(551);
            var$12 = $rt_createArray(jl_Object, 1);
            var$12.data[0] = var$11[$i];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($log, var$2, $verts, $lines, $i, var$6, var$7, var$8, var$9, $vertexSource, var$11, var$12, $ptr);
    }
    function nleo_DrawUtils__clinit_() {
        nleo_DrawUtils_standardQuad2DVAO = null;
        nleo_DrawUtils_standardQuad3DVAO = null;
        nleo_DrawUtils_standardQuadVBO = null;
        nleo_DrawUtils_vshLocal = null;
        nleo_DrawUtils_vshLocalLayout = null;
    }
    var nleo_InstancedFontRenderer = $rt_classWithoutFields();
    var nleo_InstancedFontRenderer_logger = null;
    var nleo_InstancedFontRenderer_shaderProgram = null;
    var nleo_InstancedFontRenderer_u_matrixTransform = null;
    var nleo_InstancedFontRenderer_matrixCopyBuffer = null;
    var nleo_InstancedFontRenderer_u_charSize2f = null;
    var nleo_InstancedFontRenderer_u_charCoordSize2f = null;
    var nleo_InstancedFontRenderer_u_color4f = null;
    var nleo_InstancedFontRenderer_u_colorBias4f = null;
    var nleo_InstancedFontRenderer_vertexArray = null;
    var nleo_InstancedFontRenderer_vertexBuffer = null;
    var nleo_InstancedFontRenderer_instancesBuffer = null;
    var nleo_InstancedFontRenderer_stateColorR = 0.0;
    var nleo_InstancedFontRenderer_stateColorG = 0.0;
    var nleo_InstancedFontRenderer_stateColorB = 0.0;
    var nleo_InstancedFontRenderer_stateColorA = 0.0;
    var nleo_InstancedFontRenderer_stateColorSerial = 0;
    var nleo_InstancedFontRenderer_stateColorBiasR = 0.0;
    var nleo_InstancedFontRenderer_stateColorBiasG = 0.0;
    var nleo_InstancedFontRenderer_stateColorBiasB = 0.0;
    var nleo_InstancedFontRenderer_stateColorBiasA = 0.0;
    var nleo_InstancedFontRenderer_tmpMatrix = null;
    var nleo_InstancedFontRenderer_tmpVector = null;
    var nleo_InstancedFontRenderer_stateModelMatrixSerial = 0;
    var nleo_InstancedFontRenderer_stateProjectionMatrixSerial = 0;
    var nleo_InstancedFontRenderer_charWidthValue = 0.0;
    var nleo_InstancedFontRenderer_charHeightValue = 0.0;
    var nleo_InstancedFontRenderer_charCoordWidthValue = 0.0;
    var nleo_InstancedFontRenderer_charCoordHeightValue = 0.0;
    var nleo_InstancedFontRenderer_fontDataBuffer = null;
    var nleo_InstancedFontRenderer_charactersDrawn = 0;
    var nleo_InstancedFontRenderer_fontBoldDataBuffer = null;
    var nleo_InstancedFontRenderer_boldCharactersDrawn = 0;
    var nleo_InstancedFontRenderer_hasOverflowed = 0;
    var nleo_InstancedFontRenderer_hasBoldOverflowed = 0;
    var nleo_InstancedFontRenderer_fogEnabled = 0;
    var nleo_InstancedFontRenderer_widthCalcLeast = 0;
    var nleo_InstancedFontRenderer_heightCalcLeast = 0;
    var nleo_InstancedFontRenderer_widthCalcMost = 0;
    var nleo_InstancedFontRenderer_heightCalcMost = 0;
    var nleo_InstancedFontRenderer_$clinitCalled = false;
    function nleo_InstancedFontRenderer_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nleo_InstancedFontRenderer_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleo_InstancedFontRenderer_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nleo_InstancedFontRenderer__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nleo_InstancedFontRenderer_$callClinit = $rt_eraseClinit(nleo_InstancedFontRenderer);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nleo_InstancedFontRenderer__init_0() {
        var var_0 = new nleo_InstancedFontRenderer();
        nleo_InstancedFontRenderer__init_(var_0);
        return var_0;
    }
    function nleo_InstancedFontRenderer__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_InstancedFontRenderer_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleo_InstancedFontRenderer_initialize() {
        var $verts, $vertexSource, $fragmentSource, $i, $vert, $frag, $log, $lines, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$lines = $thread.pop();$log = $thread.pop();$frag = $thread.pop();$vert = $thread.pop();$i = $thread.pop();$fragmentSource = $thread.pop();$vertexSource = $thread.pop();$verts = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_InstancedFontRenderer_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $verts = $rt_s(552);
            $ptr = 2;
        case 2:
            $tmp = nle_EagRuntime_getRequiredResourceString($verts);
            if ($rt_suspending()) {
                break main;
            }
            $vertexSource = $tmp;
            $verts = $rt_s(553);
            $ptr = 3;
        case 3:
            $tmp = nle_EagRuntime_getRequiredResourceString($verts);
            if ($rt_suspending()) {
                break main;
            }
            $fragmentSource = $tmp;
            $i = 35633;
            $ptr = 4;
        case 4:
            $tmp = nlei_PlatformOpenGL__wglCreateShader($i);
            if ($rt_suspending()) {
                break main;
            }
            $vert = $tmp;
            $i = 35632;
            $ptr = 5;
        case 5:
            $tmp = nlei_PlatformOpenGL__wglCreateShader($i);
            if ($rt_suspending()) {
                break main;
            }
            $frag = $tmp;
            $verts = $rt_s(554);
            $ptr = 6;
        case 6:
            $tmp = nleo_GLSLHeader_getVertexHeaderCompat($vertexSource, $verts);
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            $ptr = 7;
        case 7:
            nlei_PlatformOpenGL__wglShaderSource($vert, $verts);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            nlei_PlatformOpenGL__wglCompileShader($vert);
            if ($rt_suspending()) {
                break main;
            }
            $i = 35713;
            $ptr = 9;
        case 9:
            $tmp = nlei_PlatformOpenGL__wglGetShaderi($vert, $i);
            if ($rt_suspending()) {
                break main;
            }
            $i = $tmp;
            if ($i == 1) {
                $verts = $rt_s(554);
                $ptr = 10;
                continue main;
            }
            $verts = nleo_InstancedFontRenderer_logger;
            $vertexSource = $rt_s(555);
            $ptr = 14;
            continue main;
        case 10:
            $tmp = nleo_GLSLHeader_getFragmentHeaderCompat($fragmentSource, $verts);
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            $ptr = 11;
        case 11:
            nlei_PlatformOpenGL__wglShaderSource($frag, $verts);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nlei_PlatformOpenGL__wglCompileShader($frag);
            if ($rt_suspending()) {
                break main;
            }
            $i = 35713;
            $ptr = 13;
        case 13:
            $tmp = nlei_PlatformOpenGL__wglGetShaderi($frag, $i);
            if ($rt_suspending()) {
                break main;
            }
            $i = $tmp;
            if ($i == 1) {
                $ptr = 16;
                continue main;
            }
            $verts = nleo_InstancedFontRenderer_logger;
            $vertexSource = $rt_s(556);
            $ptr = 20;
            continue main;
        case 14:
            oall_Logger_error0($verts, $vertexSource);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            $tmp = nlei_PlatformOpenGL__wglGetShaderInfoLog($vert);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            if ($log === null)
                $rt_throw(jl_IllegalStateException__init_0($rt_s(557)));
            $verts = $rt_s(550);
            $ptr = 22;
            continue main;
        case 16:
            $tmp = nlei_PlatformOpenGL__wglCreateProgram();
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            nleo_InstancedFontRenderer_shaderProgram = $verts;
            $ptr = 17;
        case 17:
            nlei_PlatformOpenGL__wglAttachShader($verts, $vert);
            if ($rt_suspending()) {
                break main;
            }
            $verts = nleo_InstancedFontRenderer_shaderProgram;
            $ptr = 18;
        case 18:
            nlei_PlatformOpenGL__wglAttachShader($verts, $frag);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 19;
        case 19:
            $tmp = nleo_EaglercraftGPU_checkOpenGLESVersion();
            if ($rt_suspending()) {
                break main;
            }
            $i = $tmp;
            if ($i != 200) {
                $verts = nleo_InstancedFontRenderer_shaderProgram;
                $ptr = 23;
                continue main;
            }
            $verts = nleo_InstancedFontRenderer_shaderProgram;
            $ptr = 29;
            continue main;
        case 20:
            oall_Logger_error0($verts, $vertexSource);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 21;
        case 21:
            $tmp = nlei_PlatformOpenGL__wglGetShaderInfoLog($frag);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            if ($log === null)
                $rt_throw(jl_IllegalStateException__init_0($rt_s(558)));
            $verts = $rt_s(550);
            $ptr = 31;
            continue main;
        case 22:
            $tmp = jl_String_split($log, $verts);
            if ($rt_suspending()) {
                break main;
            }
            $lines = $tmp;
            $i = 0;
            var$9 = $lines.data;
            if ($i >= var$9.length)
                $rt_throw(jl_IllegalStateException__init_0($rt_s(557)));
            $verts = nleo_InstancedFontRenderer_logger;
            $vertexSource = $rt_s(551);
            var$10 = $rt_createArray(jl_Object, 1);
            var$10.data[0] = var$9[$i];
            $ptr = 68;
            continue main;
        case 23:
            nlei_PlatformOpenGL__wglLinkProgram($verts);
            if ($rt_suspending()) {
                break main;
            }
            $verts = nleo_InstancedFontRenderer_shaderProgram;
            $ptr = 24;
        case 24:
            nlei_PlatformOpenGL__wglDetachShader($verts, $vert);
            if ($rt_suspending()) {
                break main;
            }
            $verts = nleo_InstancedFontRenderer_shaderProgram;
            $ptr = 25;
        case 25:
            nlei_PlatformOpenGL__wglDetachShader($verts, $frag);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 26;
        case 26:
            nlei_PlatformOpenGL__wglDeleteShader($vert);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 27;
        case 27:
            nlei_PlatformOpenGL__wglDeleteShader($frag);
            if ($rt_suspending()) {
                break main;
            }
            $verts = nleo_InstancedFontRenderer_shaderProgram;
            $i = 35714;
            $ptr = 28;
        case 28:
            $tmp = nlei_PlatformOpenGL__wglGetProgrami($verts, $i);
            if ($rt_suspending()) {
                break main;
            }
            $i = $tmp;
            if ($i == 1) {
                $i = 16;
                $ptr = 32;
                continue main;
            }
            $verts = nleo_InstancedFontRenderer_logger;
            $vertexSource = $rt_s(559);
            $ptr = 66;
            continue main;
        case 29:
            $tmp = nleo_VSHInputLayoutParser_getShaderInputs($vertexSource);
            if ($rt_suspending()) {
                break main;
            }
            $vertexSource = $tmp;
            $ptr = 30;
        case 30:
            nleo_VSHInputLayoutParser_applyLayout($verts, $vertexSource);
            if ($rt_suspending()) {
                break main;
            }
            $verts = nleo_InstancedFontRenderer_shaderProgram;
            $ptr = 23;
            continue main;
        case 31:
            $tmp = jl_String_split($log, $verts);
            if ($rt_suspending()) {
                break main;
            }
            $lines = $tmp;
            $i = 0;
            var$9 = $lines.data;
            if ($i >= var$9.length)
                $rt_throw(jl_IllegalStateException__init_0($rt_s(558)));
            $verts = nleo_InstancedFontRenderer_logger;
            $vertexSource = $rt_s(560);
            var$10 = $rt_createArray(jl_Object, 1);
            var$10.data[0] = var$9[$i];
            $ptr = 70;
            continue main;
        case 32:
            $tmp = nle_EagRuntime_allocateFloatBuffer($i);
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            nleo_InstancedFontRenderer_matrixCopyBuffer = $verts;
            $i = 65530;
            $ptr = 33;
        case 33:
            $tmp = nle_EagRuntime_allocateByteBuffer($i);
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            nleo_InstancedFontRenderer_fontDataBuffer = $verts;
            $i = 65530;
            $ptr = 34;
        case 34:
            $tmp = nle_EagRuntime_allocateByteBuffer($i);
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            nleo_InstancedFontRenderer_fontBoldDataBuffer = $verts;
            $verts = nleo_InstancedFontRenderer_shaderProgram;
            $ptr = 35;
        case 35:
            nleo_EaglercraftGPU_bindGLShaderProgram($verts);
            if ($rt_suspending()) {
                break main;
            }
            $verts = nleo_InstancedFontRenderer_shaderProgram;
            $vertexSource = $rt_s(561);
            $ptr = 36;
        case 36:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($verts, $vertexSource);
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            nleo_InstancedFontRenderer_u_matrixTransform = $verts;
            $verts = nleo_InstancedFontRenderer_shaderProgram;
            $vertexSource = $rt_s(562);
            $ptr = 37;
        case 37:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($verts, $vertexSource);
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            nleo_InstancedFontRenderer_u_charSize2f = $verts;
            $verts = nleo_InstancedFontRenderer_shaderProgram;
            $vertexSource = $rt_s(563);
            $ptr = 38;
        case 38:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($verts, $vertexSource);
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            nleo_InstancedFontRenderer_u_charCoordSize2f = $verts;
            $verts = nleo_InstancedFontRenderer_shaderProgram;
            $vertexSource = $rt_s(564);
            $ptr = 39;
        case 39:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($verts, $vertexSource);
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            nleo_InstancedFontRenderer_u_color4f = $verts;
            $verts = nleo_InstancedFontRenderer_shaderProgram;
            $vertexSource = $rt_s(565);
            $ptr = 40;
        case 40:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($verts, $vertexSource);
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            nleo_InstancedFontRenderer_u_colorBias4f = $verts;
            $verts = nleo_InstancedFontRenderer_shaderProgram;
            $vertexSource = $rt_s(566);
            $ptr = 41;
        case 41:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($verts, $vertexSource);
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            $i = 0;
            $ptr = 42;
        case 42:
            nlei_PlatformOpenGL__wglUniform1i($verts, $i);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 43;
        case 43:
            $tmp = nleo_EaglercraftGPU_createGLVertexArray();
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            nleo_InstancedFontRenderer_vertexArray = $verts;
            $ptr = 44;
        case 44:
            $tmp = nlei_PlatformOpenGL__wglGenBuffers();
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            nleo_InstancedFontRenderer_vertexBuffer = $verts;
            $ptr = 45;
        case 45:
            $tmp = nlei_PlatformOpenGL__wglGenBuffers();
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            nleo_InstancedFontRenderer_instancesBuffer = $verts;
            $i = 108;
            $ptr = 46;
        case 46:
            $tmp = nle_EagRuntime_allocateFloatBuffer($i);
            if ($rt_suspending()) {
                break main;
            }
            $verts = $tmp;
            $lines = $rt_createFloatArrayFromData([0.004999999888241291, 0.004999999888241291, 0.25, 0.004999999888241291, 0.9950000047683716, 0.25, 0.9950000047683716, 0.004999999888241291, 0.25, 0.9950000047683716, 0.004999999888241291, 0.25, 0.004999999888241291, 0.9950000047683716, 0.25, 0.9950000047683716, 0.9950000047683716, 0.25, 0.004999999888241291, 0.004999999888241291, 0.0, 0.004999999888241291, 0.9950000047683716, 0.0, 0.9950000047683716, 0.004999999888241291, 0.0, 0.9950000047683716, 0.004999999888241291,
            0.0, 0.004999999888241291, 0.9950000047683716, 0.0, 0.9950000047683716, 0.9950000047683716, 0.0, 0.004999999888241291, 0.004999999888241291, 0.25, 0.004999999888241291, 0.9950000047683716, 0.25, 0.9950000047683716, 0.004999999888241291, 0.25, 0.9950000047683716, 0.004999999888241291, 0.25, 0.004999999888241291, 0.9950000047683716, 0.25, 0.9950000047683716, 0.9950000047683716, 0.25, 0.004999999888241291, 0.004999999888241291, 0.75, 0.004999999888241291, 0.9950000047683716, 0.75, 0.9950000047683716,
            0.004999999888241291, 0.75, 0.9950000047683716, 0.004999999888241291, 0.75, 0.004999999888241291, 0.9950000047683716, 0.75, 0.9950000047683716, 0.9950000047683716, 0.75, 0.004999999888241291, 0.004999999888241291, 0.0, 0.004999999888241291, 0.9950000047683716, 0.0, 0.9950000047683716, 0.004999999888241291, 0.0, 0.9950000047683716, 0.004999999888241291, 0.0, 0.004999999888241291, 0.9950000047683716, 0.0, 0.9950000047683716, 0.9950000047683716, 0.0, 0.004999999888241291, 0.004999999888241291, 0.5,
            0.004999999888241291, 0.9950000047683716, 0.5, 0.9950000047683716, 0.004999999888241291, 0.5, 0.9950000047683716, 0.004999999888241291, 0.5, 0.004999999888241291, 0.9950000047683716, 0.5, 0.9950000047683716, 0.9950000047683716, 0.5]);
            $ptr = 47;
        case 47:
            nleib_EaglerArrayFloatBuffer_put0($verts, $lines);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayFloatBuffer_flip($verts);
            $vertexSource = nleo_InstancedFontRenderer_vertexArray;
            $ptr = 48;
        case 48:
            nleo_EaglercraftGPU_bindGLVertexArray($vertexSource);
            if ($rt_suspending()) {
                break main;
            }
            $vertexSource = nleo_InstancedFontRenderer_vertexBuffer;
            $ptr = 49;
        case 49:
            nleo_EaglercraftGPU_bindVAOGLArrayBufferNow($vertexSource);
            if ($rt_suspending()) {
                break main;
            }
            $i = 34962;
            var$11 = 35044;
            $ptr = 50;
        case 50:
            nlei_PlatformOpenGL__wglBufferData1($i, $verts, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 51;
        case 51:
            nle_EagRuntime_freeFloatBuffer($verts);
            if ($rt_suspending()) {
                break main;
            }
            $i = 0;
            $ptr = 52;
        case 52:
            nleo_EaglercraftGPU_enableVertexAttribArray($i);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 0;
            var$12 = 3;
            var$13 = 5126;
            var$14 = 0;
            var$15 = 12;
            $i = 0;
            $ptr = 53;
        case 53:
            nleo_EaglercraftGPU_vertexAttribPointer(var$11, var$12, var$13, var$14, var$15, $i);
            if ($rt_suspending()) {
                break main;
            }
            $i = 0;
            var$11 = 0;
            $ptr = 54;
        case 54:
            nleo_EaglercraftGPU_vertexAttribDivisor($i, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $verts = nleo_InstancedFontRenderer_instancesBuffer;
            $ptr = 55;
        case 55:
            nleo_EaglercraftGPU_bindVAOGLArrayBufferNow($verts);
            if ($rt_suspending()) {
                break main;
            }
            $i = 34962;
            var$11 = nleib_EaglerArrayByteBuffer_remaining(nleo_InstancedFontRenderer_fontDataBuffer);
            var$12 = 35040;
            $ptr = 56;
        case 56:
            nlei_PlatformOpenGL__wglBufferData2($i, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $i = 1;
            $ptr = 57;
        case 57:
            nleo_EaglercraftGPU_enableVertexAttribArray($i);
            if ($rt_suspending()) {
                break main;
            }
            $i = 1;
            var$11 = 2;
            var$12 = 5122;
            var$13 = 0;
            var$14 = 10;
            var$15 = 0;
            $ptr = 58;
        case 58:
            nleo_EaglercraftGPU_vertexAttribPointer($i, var$11, var$12, var$13, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $i = 1;
            var$11 = 1;
            $ptr = 59;
        case 59:
            nleo_EaglercraftGPU_vertexAttribDivisor($i, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $i = 2;
            $ptr = 60;
        case 60:
            nleo_EaglercraftGPU_enableVertexAttribArray($i);
            if ($rt_suspending()) {
                break main;
            }
            $i = 2;
            var$11 = 2;
            var$12 = 5121;
            var$13 = 0;
            var$14 = 10;
            var$15 = 4;
            $ptr = 61;
        case 61:
            nleo_EaglercraftGPU_vertexAttribPointer($i, var$11, var$12, var$13, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $i = 2;
            var$11 = 1;
            $ptr = 62;
        case 62:
            nleo_EaglercraftGPU_vertexAttribDivisor($i, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $i = 3;
            $ptr = 63;
        case 63:
            nleo_EaglercraftGPU_enableVertexAttribArray($i);
            if ($rt_suspending()) {
                break main;
            }
            $i = 3;
            var$11 = 4;
            var$12 = 5121;
            var$13 = 1;
            var$14 = 10;
            var$15 = 6;
            $ptr = 64;
        case 64:
            nleo_EaglercraftGPU_vertexAttribPointer($i, var$11, var$12, var$13, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $i = 3;
            var$11 = 1;
            $ptr = 65;
        case 65:
            nleo_EaglercraftGPU_vertexAttribDivisor($i, var$11);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 66:
            oall_Logger_error0($verts, $vertexSource);
            if ($rt_suspending()) {
                break main;
            }
            $verts = nleo_InstancedFontRenderer_shaderProgram;
            $ptr = 67;
        case 67:
            $tmp = nlei_PlatformOpenGL__wglGetProgramInfoLog($verts);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            if ($log === null)
                $rt_throw(jl_IllegalStateException__init_0($rt_s(567)));
            $verts = $rt_s(550);
            $ptr = 69;
            continue main;
        case 68:
            oall_Logger_error($verts, $vertexSource, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            var$9 = $lines.data;
            if ($i >= var$9.length)
                $rt_throw(jl_IllegalStateException__init_0($rt_s(557)));
            $verts = nleo_InstancedFontRenderer_logger;
            $vertexSource = $rt_s(551);
            var$10 = $rt_createArray(jl_Object, 1);
            var$10.data[0] = var$9[$i];
            continue main;
        case 69:
            $tmp = jl_String_split($log, $verts);
            if ($rt_suspending()) {
                break main;
            }
            $lines = $tmp;
            $i = 0;
            var$9 = $lines.data;
            if ($i >= var$9.length)
                $rt_throw(jl_IllegalStateException__init_0($rt_s(567)));
            $verts = nleo_InstancedFontRenderer_logger;
            $vertexSource = $rt_s(568);
            var$10 = $rt_createArray(jl_Object, 1);
            var$10.data[0] = var$9[$i];
            $ptr = 71;
            continue main;
        case 70:
            oall_Logger_error($verts, $vertexSource, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            var$9 = $lines.data;
            if ($i >= var$9.length)
                $rt_throw(jl_IllegalStateException__init_0($rt_s(558)));
            $verts = nleo_InstancedFontRenderer_logger;
            $vertexSource = $rt_s(560);
            var$10 = $rt_createArray(jl_Object, 1);
            var$10.data[0] = var$9[$i];
            continue main;
        case 71:
            oall_Logger_error($verts, $vertexSource, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            var$9 = $lines.data;
            if ($i >= var$9.length)
                $rt_throw(jl_IllegalStateException__init_0($rt_s(567)));
            $verts = nleo_InstancedFontRenderer_logger;
            $vertexSource = $rt_s(568);
            var$10 = $rt_createArray(jl_Object, 1);
            var$10.data[0] = var$9[$i];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($verts, $vertexSource, $fragmentSource, $i, $vert, $frag, $log, $lines, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr);
    }
    function nleo_InstancedFontRenderer__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(569);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleo_InstancedFontRenderer_logger = var$1;
            nleo_InstancedFontRenderer_shaderProgram = null;
            nleo_InstancedFontRenderer_u_matrixTransform = null;
            nleo_InstancedFontRenderer_matrixCopyBuffer = null;
            nleo_InstancedFontRenderer_u_charSize2f = null;
            nleo_InstancedFontRenderer_u_charCoordSize2f = null;
            nleo_InstancedFontRenderer_u_color4f = null;
            nleo_InstancedFontRenderer_u_colorBias4f = null;
            nleo_InstancedFontRenderer_vertexArray = null;
            nleo_InstancedFontRenderer_vertexBuffer = null;
            nleo_InstancedFontRenderer_instancesBuffer = null;
            nleo_InstancedFontRenderer_stateColorR = (-999.0);
            nleo_InstancedFontRenderer_stateColorG = (-999.0);
            nleo_InstancedFontRenderer_stateColorB = (-999.0);
            nleo_InstancedFontRenderer_stateColorA = (-999.0);
            nleo_InstancedFontRenderer_stateColorSerial = (-1);
            nleo_InstancedFontRenderer_stateColorBiasR = (-999.0);
            nleo_InstancedFontRenderer_stateColorBiasG = (-999.0);
            nleo_InstancedFontRenderer_stateColorBiasB = (-999.0);
            nleo_InstancedFontRenderer_stateColorBiasA = (-999.0);
            var$1 = new nlev_Matrix4f;
            nlev_Matrix4f_setIdentity(var$1);
            nleo_InstancedFontRenderer_tmpMatrix = var$1;
            nleo_InstancedFontRenderer_tmpVector = new nlev_Vector4f;
            nleo_InstancedFontRenderer_stateModelMatrixSerial = (-1);
            nleo_InstancedFontRenderer_stateProjectionMatrixSerial = (-1);
            nleo_InstancedFontRenderer_charWidthValue = (-1.0);
            nleo_InstancedFontRenderer_charHeightValue = (-1.0);
            nleo_InstancedFontRenderer_charCoordWidthValue = (-1.0);
            nleo_InstancedFontRenderer_charCoordHeightValue = (-1.0);
            nleo_InstancedFontRenderer_fontDataBuffer = null;
            nleo_InstancedFontRenderer_charactersDrawn = 0;
            nleo_InstancedFontRenderer_fontBoldDataBuffer = null;
            nleo_InstancedFontRenderer_boldCharactersDrawn = 0;
            nleo_InstancedFontRenderer_hasOverflowed = 0;
            nleo_InstancedFontRenderer_hasBoldOverflowed = 0;
            nleo_InstancedFontRenderer_fogEnabled = 0;
            nleo_InstancedFontRenderer_widthCalcLeast = 2147483647;
            nleo_InstancedFontRenderer_heightCalcLeast = 2147483647;
            nleo_InstancedFontRenderer_widthCalcMost = 2147483647;
            nleo_InstancedFontRenderer_heightCalcMost = 2147483647;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function ju_Locale() {
        var a = this; jl_Object.call(a);
        a.$countryCode = null;
        a.$languageCode = null;
        a.$variantCode = null;
    }
    var ju_Locale_defaultLocale = null;
    var ju_Locale_CANADA = null;
    var ju_Locale_CANADA_FRENCH = null;
    var ju_Locale_CHINA = null;
    var ju_Locale_CHINESE = null;
    var ju_Locale_ENGLISH = null;
    var ju_Locale_FRANCE = null;
    var ju_Locale_FRENCH = null;
    var ju_Locale_GERMAN = null;
    var ju_Locale_GERMANY = null;
    var ju_Locale_ITALIAN = null;
    var ju_Locale_ITALY = null;
    var ju_Locale_JAPAN = null;
    var ju_Locale_JAPANESE = null;
    var ju_Locale_KOREA = null;
    var ju_Locale_KOREAN = null;
    var ju_Locale_PRC = null;
    var ju_Locale_SIMPLIFIED_CHINESE = null;
    var ju_Locale_TAIWAN = null;
    var ju_Locale_TRADITIONAL_CHINESE = null;
    var ju_Locale_UK = null;
    var ju_Locale_US = null;
    var ju_Locale_ROOT = null;
    function ju_Locale_$callClinit() {
        ju_Locale_$callClinit = $rt_eraseClinit(ju_Locale);
        ju_Locale__clinit_();
    }
    function ju_Locale__init_(var_0, var_1) {
        var var_2 = new ju_Locale();
        ju_Locale__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function ju_Locale__init_1(var_0, var_1, var_2) {
        var var_3 = new ju_Locale();
        ju_Locale__init_2(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function ju_Locale__init_0($this, $language, $country) {
        ju_Locale_$callClinit();
        ju_Locale__init_2($this, $language, $country, $rt_s(3));
    }
    function ju_Locale__init_2($this, $language, $country, $variant) {
        ju_Locale_$callClinit();
        if ($language !== null && $country !== null && $variant !== null) {
            if (!jl_String_length($language) && !jl_String_length($country)) {
                $this.$languageCode = $rt_s(3);
                $this.$countryCode = $rt_s(3);
                $this.$variantCode = $variant;
                return;
            }
            $this.$languageCode = $language;
            $this.$countryCode = $country;
            $this.$variantCode = $variant;
            return;
        }
        $language = new jl_NullPointerException;
        jl_Throwable__init_0($language);
        $rt_throw($language);
    }
    function ju_Locale_equals($this, $object) {
        var $o;
        if ($object === $this)
            return 1;
        if (!($object instanceof ju_Locale))
            return 0;
        $o = $object;
        return jl_String_equals($this.$languageCode, $o.$languageCode) && jl_String_equals($this.$countryCode, $o.$countryCode) && jl_String_equals($this.$variantCode, $o.$variantCode) ? 1 : 0;
    }
    function ju_Locale_getDefault() {
        ju_Locale_$callClinit();
        return ju_Locale_defaultLocale;
    }
    function ju_Locale_hashCode($this) {
        return (jl_String_hashCode($this.$countryCode) + jl_String_hashCode($this.$languageCode) | 0) + jl_String_hashCode($this.$variantCode) | 0;
    }
    function ju_Locale__clinit_() {
        var $localeName, $countryIndex;
        ju_Locale_CANADA = ju_Locale__init_($rt_s(570), $rt_s(571));
        ju_Locale_CANADA_FRENCH = ju_Locale__init_($rt_s(572), $rt_s(571));
        ju_Locale_CHINA = ju_Locale__init_($rt_s(573), $rt_s(574));
        ju_Locale_CHINESE = ju_Locale__init_($rt_s(573), $rt_s(3));
        ju_Locale_ENGLISH = ju_Locale__init_($rt_s(570), $rt_s(3));
        ju_Locale_FRANCE = ju_Locale__init_($rt_s(572), $rt_s(575));
        ju_Locale_FRENCH = ju_Locale__init_($rt_s(572), $rt_s(3));
        ju_Locale_GERMAN = ju_Locale__init_($rt_s(576), $rt_s(3));
        ju_Locale_GERMANY = ju_Locale__init_($rt_s(576), $rt_s(577));
        ju_Locale_ITALIAN = ju_Locale__init_($rt_s(578), $rt_s(3));
        ju_Locale_ITALY = ju_Locale__init_($rt_s(578), $rt_s(579));
        ju_Locale_JAPAN = ju_Locale__init_($rt_s(580), $rt_s(581));
        ju_Locale_JAPANESE = ju_Locale__init_($rt_s(580), $rt_s(3));
        ju_Locale_KOREA = ju_Locale__init_($rt_s(582), $rt_s(583));
        ju_Locale_KOREAN = ju_Locale__init_($rt_s(582), $rt_s(3));
        ju_Locale_PRC = ju_Locale__init_($rt_s(573), $rt_s(574));
        ju_Locale_SIMPLIFIED_CHINESE = ju_Locale__init_($rt_s(573), $rt_s(574));
        ju_Locale_TAIWAN = ju_Locale__init_($rt_s(573), $rt_s(584));
        ju_Locale_TRADITIONAL_CHINESE = ju_Locale__init_($rt_s(573), $rt_s(584));
        ju_Locale_UK = ju_Locale__init_($rt_s(570), $rt_s(585));
        ju_Locale_US = ju_Locale__init_($rt_s(570), $rt_s(586));
        ju_Locale_ROOT = ju_Locale__init_($rt_s(3), $rt_s(3));
        if (otciu_CLDRHelper_$$metadata$$10 === null)
            otciu_CLDRHelper_$$metadata$$10 = otciu_CLDRHelper_getDefaultLocale$$create();
        $localeName = (otciu_CLDRHelper_$$metadata$$10.value !== null ? $rt_str(otciu_CLDRHelper_$$metadata$$10.value) : null);
        $countryIndex = jl_String_indexOf0($localeName, 95);
        ju_Locale_defaultLocale = ju_Locale__init_1(jl_String_substring0($localeName, 0, $countryIndex), jl_String_substring($localeName, $countryIndex + 1 | 0), $rt_s(3));
    }
    function nms_MouseFilter() {
        var a = this; jl_Object.call(a);
        a.$field_22388_a = 0.0;
        a.$field_22387_b = 0.0;
        a.$field_22389_c = 0.0;
    }
    function nms_MouseFilter__init_0() {
        var var_0 = new nms_MouseFilter();
        nms_MouseFilter__init_(var_0);
        return var_0;
    }
    function nms_MouseFilter__init_($this) {}
    function nms_MouseFilter_func_22386_a($this, $var1, $var2) {
        var var$3, var$4;
        $var1 = $this.$field_22388_a + $var1;
        $this.$field_22388_a = $var1;
        var$3 = $this.$field_22387_b;
        $var1 = ($var1 - var$3) * $var2;
        $var2 = $this.$field_22389_c;
        $var2 = $var2 + ($var1 - $var2) * 0.5;
        $this.$field_22389_c = $var2;
        var$4 = $rt_compare($var1, 0.0);
        if (!(var$4 > 0 && $var1 > $var2)) {
            if (var$4 >= 0)
                $var2 = $var1;
            else if ($var1 >= $var2)
                $var2 = $var1;
        }
        $this.$field_22387_b = var$3 + $var2;
        return $var2;
    }
    var jur_RandomGenerator = $rt_classWithoutFields(0);
    function jur_RandomGenerator_nextBoolean($this) {
        return ju_Random_nextInt0($this) >= 0 ? 0 : 1;
    }
    function ju_Random() {
        var a = this; jl_Object.call(a);
        a.$storedGaussian = 0.0;
        a.$haveStoredGaussian = 0;
    }
    function ju_Random__init_0() {
        var var_0 = new ju_Random();
        ju_Random__init_(var_0);
        return var_0;
    }
    function ju_Random__init_1(var_0) {
        var var_1 = new ju_Random();
        ju_Random__init_2(var_1, var_0);
        return var_1;
    }
    function ju_Random__init_($this) {}
    function ju_Random__init_2($this, $seed) {}
    function ju_Random_setSeed($this, $seed) {}
    function ju_Random_nextInt0($this) {
        return 4.294967296E9 * ju_Random_nextDouble($this) + (-2.147483648E9) | 0;
    }
    function ju_Random_nextInt($this, $n) {
        var var$2;
        if ($n > 0)
            return ju_Random_nextDouble($this) * $n | 0;
        var$2 = new jl_IllegalArgumentException;
        jl_Throwable__init_0(var$2);
        $rt_throw(var$2);
    }
    function ju_Random_nextLong($this) {
        return Long_or(Long_shl(Long_fromInt(ju_Random_nextInt0($this)), 32), Long_fromInt(ju_Random_nextInt0($this)));
    }
    function ju_Random_nextFloat($this) {
        return ju_Random_nextDouble($this);
    }
    function ju_Random_nextDouble($this) {
        return $rt_globals.Math.random();
    }
    function ju_Random_nextGaussian($this) {
        var var$1, var$2, var$3, var$4, var$5, $pair;
        if ($this.$haveStoredGaussian) {
            $this.$haveStoredGaussian = 0;
            return $this.$storedGaussian;
        }
        var$1 = new ju_Random$nextGaussian$lambda$_9_0;
        var$1.$_015 = $this;
        while (true) {
            while (true) {
                var$2 = 2.0 * ju_Random$nextGaussian$lambda$_9_0_getAsDouble(var$1) - 1.0;
                var$3 = 2.0 * ju_Random$nextGaussian$lambda$_9_0_getAsDouble(var$1) - 1.0;
                var$4 = var$2 * var$2 + var$3 * var$3;
                if (var$4 >= 1.0)
                    continue;
                else
                    break;
            }
            if (var$4 === 0.0)
                continue;
            else
                break;
        }
        var$5 = jl_Math_sqrt((-2.0) * jl_Math_log(var$4) / var$4);
        $pair = $rt_createDoubleArray(2).data;
        $pair[0] = var$2 * var$5;
        $pair[1] = var$3 * var$5;
        $this.$haveStoredGaussian = 1;
        $this.$storedGaussian = $pair[1];
        return $pair[0];
    }
    var nms_GLAllocation = $rt_classWithoutFields();
    var nms_GLAllocation_displayLists = null;
    var nms_GLAllocation_textureNames = null;
    function nms_GLAllocation__init_0() {
        var var_0 = new nms_GLAllocation();
        nms_GLAllocation__init_(var_0);
        return var_0;
    }
    function nms_GLAllocation__init_($this) {}
    function nms_GLAllocation_generateDisplayLists($var0) {
        var $var1, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        try {
            main: while (true) { switch ($ptr) {
            case 0:
                jl_Object_monitorEnter($rt_cls(nms_GLAllocation));
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 1;
            case 1:
                nleo_EaglercraftGPU_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                $var1 = nleo_EaglercraftGPU_mapDisplayListsGL.$allocatedObjects + 1 | 0;
                var$3 = 0;
                while (var$3 < $var0) {
                    nlei_GLObjectMap_register(nleo_EaglercraftGPU_mapDisplayListsGL, nleo_DisplayList__init_0());
                    var$3 = var$3 + 1 | 0;
                }
                var$4 = nms_GLAllocation_displayLists;
                var$5 = jl_Integer_valueOf($var1);
                $ptr = 2;
            case 2:
                ju_ArrayList_add(var$4, var$5);
                if ($rt_suspending()) {
                    break main;
                }
                var$4 = nms_GLAllocation_displayLists;
                var$5 = jl_Integer_valueOf($var0);
                $ptr = 3;
            case 3:
                ju_ArrayList_add(var$4, var$5);
                if ($rt_suspending()) {
                    break main;
                }
                return $var1;
            default: $rt_invalidPointer();
            }}
        } finally {
            if (!$rt_suspending()) {
                jl_Object_monitorExit($rt_cls(nms_GLAllocation));
            }
        }
        $rt_nativeThread().push($var0, $var1, var$3, var$4, var$5, $ptr);
    }
    function nms_GLAllocation_generateTextureNames($var0) {
        var $var1, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        try {
            main: while (true) { switch ($ptr) {
            case 0:
                jl_Object_monitorEnter($rt_cls(nms_GLAllocation));
                if ($rt_suspending()) {
                    break main;
                }
                $var1 = $var0.$position1;
                if ($var1 < $var0.$limit1) {
                    $ptr = 1;
                    continue main;
                }
                $var1 = $var0.$position1;
                if ($var1 >= $var0.$limit1)
                    return;
                var$3 = nms_GLAllocation_textureNames;
                $ptr = 5;
                continue main;
            case 1:
                nleo_GlStateManager_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 2;
            case 2:
                nleo_EaglercraftGPU_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = nleo_EaglercraftGPU_mapTexturesGL;
                $ptr = 3;
            case 3:
                $tmp = nlei_PlatformOpenGL__wglGenTextures();
                if ($rt_suspending()) {
                    break main;
                }
                var$4 = $tmp;
                var$5 = nlei_GLObjectMap_register(var$3, var$4);
                if ($var1 >= 0 && $var1 < $var0.$limit1) {
                    var$3 = $var0.$typedArray;
                    $var1;
                    var$3[$var1] = var$5;
                    $var1 = $var1 + 1 | 0;
                    if ($var1 < $var0.$limit1) {
                        $ptr = 1;
                        continue main;
                    }
                    $var1 = $var0.$position1;
                    if ($var1 >= $var0.$limit1)
                        return;
                    var$3 = nms_GLAllocation_textureNames;
                    $ptr = 5;
                    continue main;
                }
                $ptr = 4;
            case 4:
                $tmp = nleib_Buffer_makeIOOBE($var1);
                if ($rt_suspending()) {
                    break main;
                }
                $var0 = $tmp;
                $rt_throw($var0);
            case 5:
                $tmp = nleib_EaglerArrayIntBuffer_get($var0, $var1);
                if ($rt_suspending()) {
                    break main;
                }
                var$6 = $tmp;
                var$4 = jl_Integer_valueOf(var$6);
                $ptr = 6;
            case 6:
                ju_ArrayList_add(var$3, var$4);
                if ($rt_suspending()) {
                    break main;
                }
                $var1 = $var1 + 1 | 0;
                if ($var1 >= $var0.$limit1)
                    return;
                var$3 = nms_GLAllocation_textureNames;
                $ptr = 5;
                continue main;
            default: $rt_invalidPointer();
            }}
        } finally {
            if (!$rt_suspending()) {
                jl_Object_monitorExit($rt_cls(nms_GLAllocation));
            }
        }
        $rt_nativeThread().push($var0, $var1, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_GLAllocation_deleteTexturesAndDisplayLists() {
        var $var1, $var2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();
        }
        try {
            main: while (true) { switch ($ptr) {
            case 0:
                jl_Object_monitorEnter($rt_cls(nms_GLAllocation));
                if ($rt_suspending()) {
                    break main;
                }
                $var1 = nms_GLAllocation_textureNames.$size0;
                $ptr = 1;
            case 1:
                $tmp = nms_GLAllocation_createDirectIntBuffer($var1);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $tmp;
                nleib_EaglerArrayIntBuffer_flip($var2);
                $ptr = 2;
            case 2:
                olo_GL11_glDeleteTextures($var2);
                if ($rt_suspending()) {
                    break main;
                }
                $var1 = 0;
                var$3 = nms_GLAllocation_textureNames;
                if ($var1 >= var$3.$size0) {
                    nleib_EaglerArrayIntBuffer_flip($var2);
                    $ptr = 3;
                    continue main;
                }
                var$4 = (ju_ArrayList_get(var$3, $var1)).$value;
                $ptr = 4;
                continue main;
            case 3:
                olo_GL11_glDeleteTextures($var2);
                if ($rt_suspending()) {
                    break main;
                }
                ju_ArrayList_clear(nms_GLAllocation_displayLists);
                ju_ArrayList_clear(nms_GLAllocation_textureNames);
                return;
            case 4:
                nleib_EaglerArrayIntBuffer_put($var2, var$4);
                if ($rt_suspending()) {
                    break main;
                }
                $var1 = $var1 + 1 | 0;
                var$3 = nms_GLAllocation_textureNames;
                if ($var1 >= var$3.$size0) {
                    nleib_EaglerArrayIntBuffer_flip($var2);
                    $ptr = 3;
                    continue main;
                }
                var$4 = (ju_ArrayList_get(var$3, $var1)).$value;
                continue main;
            default: $rt_invalidPointer();
            }}
        } finally {
            if (!$rt_suspending()) {
                jl_Object_monitorExit($rt_cls(nms_GLAllocation));
            }
        }
        $rt_nativeThread().push($var1, $var2, var$3, var$4, $ptr);
    }
    function nms_GLAllocation_createDirectByteBuffer($var0) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var0 = $thread.pop();
        }
        try {
            main: while (true) { switch ($ptr) {
            case 0:
                jl_Object_monitorEnter($rt_cls(nms_GLAllocation));
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 1;
            case 1:
                $tmp = nle_EagRuntime_allocateByteBuffer($var0);
                if ($rt_suspending()) {
                    break main;
                }
                var$2 = $tmp;
                return var$2;
            default: $rt_invalidPointer();
            }}
        } finally {
            if (!$rt_suspending()) {
                jl_Object_monitorExit($rt_cls(nms_GLAllocation));
            }
        }
        $rt_nativeThread().push($var0, var$2, $ptr);
    }
    function nms_GLAllocation_createDirectIntBuffer($var0) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var0 = $var0 << 2;
            $ptr = 1;
        case 1:
            $tmp = nms_GLAllocation_createDirectByteBuffer($var0);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return nleib_EaglerArrayByteBuffer_asIntBuffer(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, var$2, $ptr);
    }
    function nms_GLAllocation_createDirectFloatBuffer($var0) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var0 = $var0 << 2;
            $ptr = 1;
        case 1:
            $tmp = nms_GLAllocation_createDirectByteBuffer($var0);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return nleib_EaglerArrayByteBuffer_asFloatBuffer(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, var$2, $ptr);
    }
    function nms_GLAllocation__clinit_() {
        nms_GLAllocation_displayLists = ju_ArrayList__init_0();
        nms_GLAllocation_textureNames = ju_ArrayList__init_0();
    }
    function nms_ItemRenderer() {
        var a = this; jl_Object.call(a);
        a.$mc3 = null;
        a.$itemToRender = null;
        a.$equippedProgress = 0.0;
        a.$prevEquippedProgress = 0.0;
        a.$renderBlocksInstance = null;
        a.$field_20099_f = 0;
    }
    function nms_ItemRenderer__init_(var_0) {
        var var_1 = new nms_ItemRenderer();
        nms_ItemRenderer__init_0(var_1, var_0);
        return var_1;
    }
    function nms_ItemRenderer__init_0($this, $var1) {
        $this.$itemToRender = null;
        $this.$equippedProgress = 0.0;
        $this.$prevEquippedProgress = 0.0;
        $this.$renderBlocksInstance = nms_RenderBlocks__init_1();
        $this.$field_20099_f = (-1);
        $this.$mc3 = $var1;
    }
    function nms_ItemRenderer_renderItem($this, $var1) {
        var var$2, $var12, var$4, $var2, $var3, $var4, $var5, $var6, $var7, $var10, $var14, $var15, $var13, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, var$25, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();$var13 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var10 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();var$4
            = $thread.pop();$var12 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $var1.$itemID;
            if (var$2 < 256) {
                $ptr = 2;
                continue main;
            }
            if ($var1.$itemID >= 256) {
                $var12 = 3553;
                var$4 = $this.$mc3.$renderEngine;
                $var2 = $rt_s(341);
                $ptr = 4;
                continue main;
            }
            $var12 = 3553;
            $var2 = $this.$mc3.$renderEngine;
            var$4 = $rt_s(266);
            $ptr = 6;
            continue main;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_Block_blocksList.data[var$2];
            $ptr = 3;
        case 3:
            $tmp = $var2.$getRenderType();
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if (nms_RenderBlocks_renderItemIn3d($var12)) {
                $var12 = 3553;
                $var2 = $this.$mc3.$renderEngine;
                var$4 = $rt_s(266);
                $ptr = 8;
                continue main;
            }
            if ($var1.$itemID >= 256) {
                $var12 = 3553;
                var$4 = $this.$mc3.$renderEngine;
                $var2 = $rt_s(341);
                $ptr = 4;
                continue main;
            }
            $var12 = 3553;
            $var2 = $this.$mc3.$renderEngine;
            var$4 = $rt_s(266);
            $ptr = 6;
            continue main;
        case 4:
            $tmp = nms_RenderEngine_getTexture(var$4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 5;
        case 5:
            olo_GL11_glBindTexture($var12, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
            continue main;
        case 6:
            $tmp = nms_RenderEngine_getTexture($var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 7;
        case 7:
            olo_GL11_glBindTexture($var12, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
            continue main;
        case 8:
            $tmp = nms_RenderEngine_getTexture($var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 9;
        case 9:
            olo_GL11_glBindTexture($var12, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$renderBlocksInstance;
            var$4 = nms_Block_blocksList.data[$var1.$itemID];
            $var12 = $var1.$itemDamage;
            $ptr = 10;
        case 10:
            nms_RenderBlocks_renderBlockOnInventory($var2, var$4, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 38;
            continue main;
        case 11:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_Tessellator_instance;
            $ptr = 12;
        case 12:
            $tmp = nms_ItemStack_getIconIndex($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            $var3 = ((($var12 % 16 | 0) * 16 | 0) + 0.0) / 256.0;
            $ptr = 13;
        case 13:
            $tmp = nms_ItemStack_getIconIndex($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            $var4 = ((($var12 % 16 | 0) * 16 | 0) + 15.989999771118164) / 256.0;
            $ptr = 14;
        case 14:
            $tmp = nms_ItemStack_getIconIndex($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            $var5 = ((($var12 / 16 | 0) * 16 | 0) + 0.0) / 256.0;
            $ptr = 15;
        case 15:
            $tmp = nms_ItemStack_getIconIndex($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            $var6 = ((($var12 / 16 | 0) * 16 | 0) + 15.989999771118164) / 256.0;
            $var7 = 1.0;
            $var12 = 32826;
            $ptr = 16;
        case 16:
            olo_GL11_glEnable($var12);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = -0.0;
            $var14 = (-0.30000001192092896);
            $var15 = 0.0;
            $ptr = 17;
        case 17:
            olo_GL11_glTranslatef($var10, $var14, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 1.5;
            $ptr = 18;
        case 18:
            olo_GL11_glScalef($var10, $var10, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 50.0;
            $var14 = 0.0;
            $var15 = 1.0;
            $var13 = 0.0;
            $ptr = 19;
        case 19:
            olo_GL11_glRotatef($var10, $var14, $var15, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 335.0;
            $var14 = 0.0;
            $var15 = 0.0;
            $var13 = 1.0;
            $ptr = 20;
        case 20:
            olo_GL11_glRotatef($var10, $var14, $var15, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = (-0.9375);
            $var14 = (-0.0625);
            $var15 = 0.0;
            $ptr = 21;
        case 21:
            olo_GL11_glTranslatef($var10, $var14, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 22;
        case 22:
            nms_Tessellator_startDrawingQuads($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 0.0;
            $var14 = 0.0;
            $var15 = 1.0;
            $ptr = 23;
        case 23:
            nms_Tessellator_setNormal($var2, $var10, $var14, $var15);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = 0.0;
            var$16 = 0.0;
            var$17 = 0.0;
            var$18 = $var4;
            var$19 = $var6;
            $ptr = 24;
        case 24:
            nms_Tessellator_addVertexWithUV($var2, var$15, var$16, var$17, var$18, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = 1.0;
            var$15 = 0.0;
            var$16 = 0.0;
            var$21 = $var3;
            $ptr = 25;
        case 25:
            nms_Tessellator_addVertexWithUV($var2, var$20, var$15, var$16, var$21, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = 1.0;
            var$16 = 0.0;
            var$22 = $var5;
            $ptr = 26;
        case 26:
            nms_Tessellator_addVertexWithUV($var2, var$20, var$15, var$16, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = 0.0;
            var$16 = 1.0;
            var$17 = 0.0;
            $ptr = 27;
        case 27:
            nms_Tessellator_addVertexWithUV($var2, var$15, var$16, var$17, var$18, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 28;
        case 28:
            nms_Tessellator_draw($var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 29;
        case 29:
            nms_Tessellator_startDrawingQuads($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 0.0;
            $var14 = 0.0;
            $var15 = (-1.0);
            $ptr = 30;
        case 30:
            nms_Tessellator_setNormal($var2, $var10, $var14, $var15);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = 0.0;
            var$16 = 1.0;
            var$23 = (-0.0625);
            $ptr = 31;
        case 31:
            nms_Tessellator_addVertexWithUV($var2, var$15, var$16, var$23, var$18, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = 1.0;
            $ptr = 32;
        case 32:
            nms_Tessellator_addVertexWithUV($var2, var$20, var$15, var$23, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = 0.0;
            $ptr = 33;
        case 33:
            nms_Tessellator_addVertexWithUV($var2, var$20, var$15, var$23, var$21, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = 0.0;
            var$16 = 0.0;
            $ptr = 34;
        case 34:
            nms_Tessellator_addVertexWithUV($var2, var$15, var$16, var$23, var$18, var$19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 35;
        case 35:
            nms_Tessellator_draw($var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 36;
        case 36:
            nms_Tessellator_startDrawingQuads($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = (-1.0);
            $var14 = 0.0;
            $var15 = 0.0;
            $ptr = 37;
        case 37:
            nms_Tessellator_setNormal($var2, $var10, $var14, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = 0;
            var$24 = $var3 - $var4;
            if ($var12 >= 16) {
                $ptr = 39;
                continue main;
            }
            $var13 = $var12 / 16.0;
            $var14 = $var4 + var$24 * $var13 - 0.001953125;
            var$15 = $var7 * $var13;
            var$16 = 0.0;
            var$17 = $var14;
            $ptr = 42;
            continue main;
        case 38:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 39:
            nms_Tessellator_draw($var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 40;
        case 40:
            nms_Tessellator_startDrawingQuads($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 1.0;
            $var10 = 0.0;
            $var14 = 0.0;
            $ptr = 41;
        case 41:
            nms_Tessellator_setNormal($var2, $var3, $var10, $var14);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            if (var$2 >= 16) {
                $ptr = 46;
                continue main;
            }
            $var13 = var$2 / 16.0;
            $var14 = $var4 + var$24 * $var13 - 0.001953125;
            var$15 = $var7 * $var13 + 0.0625;
            var$16 = 1.0;
            var$17 = $var14;
            $ptr = 49;
            continue main;
        case 42:
            nms_Tessellator_addVertexWithUV($var2, var$15, var$16, var$23, var$17, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = 0.0;
            var$25 = 0.0;
            $ptr = 43;
        case 43:
            nms_Tessellator_addVertexWithUV($var2, var$15, var$16, var$25, var$17, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = 1.0;
            var$25 = 0.0;
            $ptr = 44;
        case 44:
            nms_Tessellator_addVertexWithUV($var2, var$15, var$16, var$25, var$17, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = 1.0;
            $ptr = 45;
        case 45:
            nms_Tessellator_addVertexWithUV($var2, var$15, var$16, var$23, var$17, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $var12 + 1 | 0;
            if ($var12 >= 16) {
                $ptr = 39;
                continue main;
            }
            $var13 = $var12 / 16.0;
            $var14 = $var4 + var$24 * $var13 - 0.001953125;
            var$15 = $var7 * $var13;
            var$16 = 0.0;
            var$17 = $var14;
            $ptr = 42;
            continue main;
        case 46:
            nms_Tessellator_draw($var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 47;
        case 47:
            nms_Tessellator_startDrawingQuads($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 0.0;
            $var4 = 1.0;
            $var10 = 0.0;
            $ptr = 48;
        case 48:
            nms_Tessellator_setNormal($var2, $var3, $var4, $var10);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            $var5 = $var5 - $var6;
            if (var$2 >= 16) {
                $ptr = 53;
                continue main;
            }
            $var13 = var$2 / 16.0;
            $var14 = $var6 + $var5 * $var13 - 0.001953125;
            $var15 = $var7 * $var13 + 0.0625;
            var$15 = 0.0;
            var$16 = $var15;
            var$17 = 0.0;
            var$25 = $var14;
            $ptr = 56;
            continue main;
        case 49:
            nms_Tessellator_addVertexWithUV($var2, var$15, var$16, var$23, var$17, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = 1.0;
            var$25 = 0.0;
            $ptr = 50;
        case 50:
            nms_Tessellator_addVertexWithUV($var2, var$15, var$16, var$25, var$17, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = 0.0;
            var$25 = 0.0;
            $ptr = 51;
        case 51:
            nms_Tessellator_addVertexWithUV($var2, var$15, var$16, var$25, var$17, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = 0.0;
            $ptr = 52;
        case 52:
            nms_Tessellator_addVertexWithUV($var2, var$15, var$16, var$23, var$17, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = var$2 + 1 | 0;
            if (var$2 >= 16) {
                $ptr = 46;
                continue main;
            }
            $var13 = var$2 / 16.0;
            $var14 = $var4 + var$24 * $var13 - 0.001953125;
            var$15 = $var7 * $var13 + 0.0625;
            var$16 = 1.0;
            var$17 = $var14;
            $ptr = 49;
            continue main;
        case 53:
            nms_Tessellator_draw($var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 54;
        case 54:
            nms_Tessellator_startDrawingQuads($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 0.0;
            $var4 = (-1.0);
            $var10 = 0.0;
            $ptr = 55;
        case 55:
            nms_Tessellator_setNormal($var2, $var3, $var4, $var10);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            if (var$2 >= 16) {
                $ptr = 60;
                continue main;
            }
            $var13 = var$2 / 16.0;
            $var14 = $var6 + $var5 * $var13 - 0.001953125;
            var$15 = $var7 * $var13;
            var$16 = 0.0;
            var$17 = $var14;
            $ptr = 62;
            continue main;
        case 56:
            nms_Tessellator_addVertexWithUV($var2, var$15, var$16, var$17, var$18, var$25);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = 0.0;
            $ptr = 57;
        case 57:
            nms_Tessellator_addVertexWithUV($var2, var$20, var$16, var$15, var$21, var$25);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 58;
        case 58:
            nms_Tessellator_addVertexWithUV($var2, var$20, var$16, var$23, var$21, var$25);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = 0.0;
            $ptr = 59;
        case 59:
            nms_Tessellator_addVertexWithUV($var2, var$15, var$16, var$23, var$18, var$25);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = var$2 + 1 | 0;
            if (var$2 >= 16) {
                $ptr = 53;
                continue main;
            }
            $var13 = var$2 / 16.0;
            $var14 = $var6 + $var5 * $var13 - 0.001953125;
            $var15 = $var7 * $var13 + 0.0625;
            var$15 = 0.0;
            var$16 = $var15;
            var$17 = 0.0;
            var$25 = $var14;
            $ptr = 56;
            continue main;
        case 60:
            nms_Tessellator_draw($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = 32826;
            $ptr = 61;
        case 61:
            olo_GL11_glDisable($var12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 38;
            continue main;
        case 62:
            nms_Tessellator_addVertexWithUV($var2, var$20, var$15, var$16, var$21, var$17);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = 0.0;
            var$25 = 0.0;
            $ptr = 63;
        case 63:
            nms_Tessellator_addVertexWithUV($var2, var$16, var$15, var$25, var$18, var$17);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = 0.0;
            $ptr = 64;
        case 64:
            nms_Tessellator_addVertexWithUV($var2, var$16, var$15, var$23, var$18, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 65;
        case 65:
            nms_Tessellator_addVertexWithUV($var2, var$20, var$15, var$23, var$21, var$17);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = var$2 + 1 | 0;
            if (var$2 >= 16) {
                $ptr = 60;
                continue main;
            }
            $var13 = var$2 / 16.0;
            $var14 = $var6 + $var5 * $var13 - 0.001953125;
            var$15 = $var7 * $var13;
            var$16 = 0.0;
            var$17 = $var14;
            $ptr = 62;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var12, var$4, $var2, $var3, $var4, $var5, $var6, $var7, $var10, $var14, $var15, $var13, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, var$25, $ptr);
    }
    function nms_ItemRenderer_renderItemInFirstPerson($this, $var1) {
        var $var7, $var2, $var3, $var8, $var9, $var8_0, $var10, var$9, var$10, var$11, $var4, $var5, $var11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var11 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var10 = $thread.pop();$var8_0 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var7 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var7 = $this.$prevEquippedProgress;
            $var2 = $var7 + ($this.$equippedProgress - $var7) * $var1;
            $var3 = $this.$mc3.$thePlayer;
            $ptr = 1;
        case 1:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var3.$prevRotationPitch;
            $var8 = $var7 + ($var3.$rotationPitch - $var7) * $var1;
            $var9 = 1.0;
            $var8_0 = 0.0;
            $var7 = 0.0;
            $ptr = 2;
        case 2:
            olo_GL11_glRotatef($var8, $var9, $var8_0, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var3.$prevRotationYaw;
            $var7 = $var7 + ($var3.$rotationYaw - $var7) * $var1;
            $var8 = 0.0;
            $var9 = 1.0;
            $var8_0 = 0.0;
            $ptr = 3;
        case 3:
            olo_GL11_glRotatef($var7, $var8, $var9, $var8_0);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_RenderHelper_enableStandardItemLighting();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $this.$mc3.$theWorld;
            var$9 = nms_MathHelper_floor_double($var3.$posX);
            var$10 = nms_MathHelper_floor_double($var3.$posY);
            var$11 = nms_MathHelper_floor_double($var3.$posZ);
            $ptr = 6;
        case 6:
            $tmp = nms_World_getLightBrightness($var10, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $var7 = 1.0;
            $ptr = 7;
        case 7:
            nleo_GlStateManager_color($var4, $var4, $var4, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$itemToRender;
            if ($var3.$fishEntity !== null) {
                $var5 = new nms_ItemStack;
                $ptr = 8;
                continue main;
            }
            if ($var5 === null) {
                $ptr = 9;
                continue main;
            }
            $ptr = 29;
            continue main;
        case 8:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_($var5, nms_Item_stick);
            if ($var5 === null) {
                $ptr = 9;
                continue main;
            }
            $ptr = 29;
            continue main;
        case 9:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var7 = nms_EntityLiving_getSwingProgress($var3, $var1);
            $var8_0 = nms_MathHelper_sin($var7 * 3.1415927410125732);
            $var4 =  -nms_MathHelper_sin(nms_MathHelper_sqrt_float($var7) * 3.1415927410125732) * 0.30000001192092896;
            $var7 = nms_MathHelper_sin(nms_MathHelper_sqrt_float($var7) * 3.1415927410125732 * 2.0) * 0.4000000059604645;
            $var8 =  -$var8_0 * 0.4000000059604645;
            $ptr = 10;
        case 10:
            olo_GL11_glTranslatef($var4, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 0.64000004529953;
            $var2 = (-0.6000000238418579) - (1.0 - $var2) * 0.6000000238418579;
            $var8 = (-0.7199999690055847);
            $ptr = 11;
        case 11:
            olo_GL11_glTranslatef($var7, $var2, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 45.0;
            $var2 = 0.0;
            $var8 = 1.0;
            $var9 = 0.0;
            $ptr = 12;
        case 12:
            olo_GL11_glRotatef($var7, $var2, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 32826;
            $ptr = 13;
        case 13:
            olo_GL11_glEnable(var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_EntityLiving_getSwingProgress($var3, $var1);
            $var7 = nms_MathHelper_sin($var1 * $var1 * 3.1415927410125732);
            $var1 = nms_MathHelper_sin(nms_MathHelper_sqrt_float($var1) * 3.1415927410125732) * 70.0;
            $var2 = 0.0;
            $var8 = 1.0;
            $var9 = 0.0;
            $ptr = 14;
        case 14:
            olo_GL11_glRotatef($var1, $var2, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var1 =  -$var7 * 20.0;
            $var7 = 0.0;
            $var2 = 0.0;
            $var8 = 1.0;
            $ptr = 15;
        case 15:
            olo_GL11_glRotatef($var1, $var7, $var2, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 3553;
            $var3 = $this.$mc3;
            $var10 = $var3.$renderEngine;
            $var3 = $var3.$thePlayer.$texture;
            $ptr = 16;
        case 16:
            $tmp = nms_RenderEngine_getTexture($var10, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 17;
        case 17:
            olo_GL11_glBindTexture(var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = (-1.0);
            $var7 = 3.5999999046325684;
            $var2 = 3.5;
            $ptr = 18;
        case 18:
            olo_GL11_glTranslatef($var1, $var7, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 120.0;
            $var7 = 0.0;
            $var2 = 0.0;
            $var8 = 1.0;
            $ptr = 19;
        case 19:
            olo_GL11_glRotatef($var1, $var7, $var2, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 200.0;
            $var7 = 1.0;
            $var2 = 0.0;
            $var8 = 0.0;
            $ptr = 20;
        case 20:
            olo_GL11_glRotatef($var1, $var7, $var2, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = (-135.0);
            $var7 = 0.0;
            $var2 = 1.0;
            $var8 = 0.0;
            $ptr = 21;
        case 21:
            olo_GL11_glRotatef($var1, $var7, $var2, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 1.0;
            $var7 = 1.0;
            $var2 = 1.0;
            $ptr = 22;
        case 22:
            olo_GL11_glScalef($var1, $var7, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 5.599999904632568;
            $var7 = 0.0;
            $var2 = 0.0;
            $ptr = 23;
        case 23:
            olo_GL11_glTranslatef($var1, $var7, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 24;
        case 24:
            nms_RenderManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_RenderManager_instance;
            $var10 = $this.$mc3.$thePlayer;
            $ptr = 25;
        case 25:
            $tmp = nms_RenderManager_getEntityRenderObject($var3, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $var11 = $var10;
            $var1 = 1.0;
            $ptr = 26;
        case 26:
            olo_GL11_glScalef($var1, $var1, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var11.$modelBipedMain;
            $var3.$onGround = 0.0;
            $var3.$setRotationAngles(0.0, 0.0, 0.0, 0.0, 0.0, 0.0625);
            $var3 = $var11.$modelBipedMain.$bipedRightArm;
            $var1 = 0.0625;
            $ptr = 27;
        case 27:
            nms_ModelRenderer_render($var3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 28;
        case 28:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 32826;
            $ptr = 40;
            continue main;
        case 29:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var7 = nms_EntityLiving_getSwingProgress($var3, $var1);
            $var8 = nms_MathHelper_sin($var7 * 3.1415927410125732);
            $var9 =  -nms_MathHelper_sin(nms_MathHelper_sqrt_float($var7) * 3.1415927410125732) * 0.4000000059604645;
            $var7 = nms_MathHelper_sin(nms_MathHelper_sqrt_float($var7) * 3.1415927410125732 * 2.0) * 0.20000000298023224;
            $var8 =  -$var8 * 0.20000000298023224;
            $ptr = 30;
        case 30:
            olo_GL11_glTranslatef($var9, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 0.5600000023841858;
            $var2 = (-0.5199999809265137) - (1.0 - $var2) * 0.6000000238418579;
            $var8 = (-0.7199999690055847);
            $ptr = 31;
        case 31:
            olo_GL11_glTranslatef($var7, $var2, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 45.0;
            $var2 = 0.0;
            $var8 = 1.0;
            $var9 = 0.0;
            $ptr = 32;
        case 32:
            olo_GL11_glRotatef($var7, $var2, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 32826;
            $ptr = 33;
        case 33:
            olo_GL11_glEnable(var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_EntityLiving_getSwingProgress($var3, $var1);
            $var7 = nms_MathHelper_sin($var1 * $var1 * 3.1415927410125732);
            $var1 = nms_MathHelper_sin(nms_MathHelper_sqrt_float($var1) * 3.1415927410125732);
            $var7 =  -$var7 * 20.0;
            $var2 = 0.0;
            $var8 = 1.0;
            $var9 = 0.0;
            $ptr = 34;
        case 34:
            olo_GL11_glRotatef($var7, $var2, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var1 =  -$var1;
            $var7 = $var1 * 20.0;
            $var2 = 0.0;
            $var8 = 0.0;
            $var9 = 1.0;
            $ptr = 35;
        case 35:
            olo_GL11_glRotatef($var7, $var2, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var1 * 80.0;
            $var7 = 1.0;
            $var2 = 0.0;
            $var8 = 0.0;
            $ptr = 36;
        case 36:
            olo_GL11_glRotatef($var1, $var7, $var2, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0.4000000059604645;
            $ptr = 37;
        case 37:
            olo_GL11_glScalef($var1, $var1, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 38;
        case 38:
            $tmp = nms_ItemStack_getItem($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $ptr = 39;
        case 39:
            $tmp = $var3.$shouldRotateAroundWhenRendering();
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (!var$9) {
                $ptr = 42;
                continue main;
            }
            $var1 = 180.0;
            $var7 = 0.0;
            $var2 = 1.0;
            $var8 = 0.0;
            $ptr = 44;
            continue main;
        case 40:
            olo_GL11_glDisable(var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 41;
        case 41:
            nms_RenderHelper_disableStandardItemLighting();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 42:
            nms_ItemRenderer_renderItem($this, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 43;
        case 43:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 32826;
            $ptr = 40;
            continue main;
        case 44:
            olo_GL11_glRotatef($var1, $var7, $var2, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 42;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var7, $var2, $var3, $var8, $var9, $var8_0, $var10, var$9, var$10, var$11, $var4, $var5, $var11, $ptr);
    }
    function nms_ItemRenderer_renderWarpedTextureOverlay($this, $var1) {
        var $var2, var$3, $var3, var$5, var$6, $var4, $var10, $var11, var$10, var$11, var$12, var$13, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var4 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_Tessellator_instance;
            var$3 = $this.$mc3.$thePlayer;
            $ptr = 2;
        case 2:
            $tmp = nms_Entity_getEntityBrightness(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var1 = 0.5;
            $ptr = 3;
        case 3:
            nleo_GlStateManager_color($var3, $var3, $var3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 3042;
            $ptr = 4;
        case 4:
            olo_GL11_glEnable(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 770;
            var$6 = 771;
            $ptr = 5;
        case 5:
            olo_GL11_glBlendFunc(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 4.0;
            var$3 = $this.$mc3.$thePlayer;
            $var10 =  -var$3.$rotationYaw / 64.0;
            $var11 = var$3.$rotationPitch / 64.0;
            $ptr = 7;
        case 7:
            nms_Tessellator_startDrawingQuads($var2);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = (-1.0);
            var$11 = (-0.5);
            var$12 = $var4 + $var10;
            var$13 = $var4 + $var11;
            $ptr = 8;
        case 8:
            nms_Tessellator_addVertexWithUV($var2, var$10, var$10, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 1.0;
            var$15 = 0.0 + $var10;
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var2, var$14, var$10, var$11, var$15, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 0.0 + $var11;
            $ptr = 10;
        case 10:
            nms_Tessellator_addVertexWithUV($var2, var$14, var$14, var$11, var$15, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var2, var$10, var$14, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nms_Tessellator_draw($var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 1.0;
            $var3 = 1.0;
            $var4 = 1.0;
            $var10 = 1.0;
            $ptr = 14;
        case 14:
            nleo_GlStateManager_color($var1, $var3, $var4, $var10);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 3042;
            $ptr = 15;
        case 15:
            olo_GL11_glDisable(var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, var$5, var$6, $var4, $var10, $var11, var$10, var$11, var$12, var$13, var$14, var$15, $ptr);
    }
    function nle_Random() {
        var a = this; ju_Random.call(a);
        a.$seed = Long_ZERO;
        a.$haveNextNextGaussian = 0;
    }
    function nle_Random__init_0() {
        var var_0 = new nle_Random();
        nle_Random__init_(var_0);
        return var_0;
    }
    function nle_Random__init_($this) {
        var var$1;
        var$1 = Long_fromNumber(jl_Math_random() * 9.007199254740991E15);
        $this.$seed = Long_fromInt(69);
        $this.$haveNextNextGaussian = 0;
        $this.$seed = Long_and(Long_xor(var$1, Long_create(3740067437, 5)), Long_create(4294967295, 65535));
        $this.$haveNextNextGaussian = 1;
    }
    function nle_Random_next($this, $bits) {
        var var$2;
        var$2 = Long_and(Long_add(Long_mul($this.$seed, Long_create(3740067437, 5)), Long_fromInt(11)), Long_create(4294967295, 65535));
        $this.$seed = var$2;
        return Long_lo(Long_shru(var$2, 48 - $bits | 0));
    }
    function nle_Random_nextInt($this, $bound) {
        var $u, $m, var$4;
        $u = nle_Random_next($this, 31);
        $m = $bound - 1 | 0;
        if (!($bound & $m))
            var$4 = Long_lo(Long_shr(Long_mul(Long_fromInt($bound), Long_fromInt($u)), 31));
        else
            while (true) {
                var$4 = $u % $bound | 0;
                if ((($u - var$4 | 0) + $m | 0) >= 0)
                    break;
                $u = nle_Random_next($this, 31);
            }
        return var$4;
    }
    function nle_Random_nextFloat($this) {
        return nle_Random_next($this, 24) / 1.6777216E7;
    }
    var nlei_IAudioCacheLoader = $rt_classWithoutFields(0);
    var nms_SoundManager$_init_$lambda$_0_0 = $rt_classWithoutFields();
    function nms_SoundManager$_init_$lambda$_0_0__init_0() {
        var var_0 = new nms_SoundManager$_init_$lambda$_0_0();
        nms_SoundManager$_init_$lambda$_0_0__init_(var_0);
        return var_0;
    }
    function nms_SoundManager$_init_$lambda$_0_0__init_(var$0) {}
    function nms_Block() {
        var a = this; jl_Object.call(a);
        a.$blockIndexInTexture = 0;
        a.$blockID = 0;
        a.$blockHardness = 0.0;
        a.$blockResistance = 0.0;
        a.$minX = 0.0;
        a.$minY = 0.0;
        a.$minZ = 0.0;
        a.$maxX = 0.0;
        a.$maxY = 0.0;
        a.$maxZ = 0.0;
        a.$stepSound = null;
        a.$blockParticleGravity = 0.0;
        a.$blockMaterial = null;
        a.$slipperiness = 0.0;
        a.$blockName = null;
    }
    var nms_Block_soundPowderFootstep = null;
    var nms_Block_soundWoodFootstep = null;
    var nms_Block_soundGravelFootstep = null;
    var nms_Block_soundGrassFootstep = null;
    var nms_Block_soundStoneFootstep = null;
    var nms_Block_soundMetalFootstep = null;
    var nms_Block_soundGlassFootstep = null;
    var nms_Block_soundClothFootstep = null;
    var nms_Block_soundSandFootstep = null;
    var nms_Block_blocksList = null;
    var nms_Block_tickOnLoad = null;
    var nms_Block_opaqueCubeLookup = null;
    var nms_Block_isBlockContainer = null;
    var nms_Block_lightOpacity = null;
    var nms_Block_field_340_s = null;
    var nms_Block_lightValue = null;
    var nms_Block_stone = null;
    var nms_Block_grass = null;
    var nms_Block_dirt = null;
    var nms_Block_cobblestone = null;
    var nms_Block_planks = null;
    var nms_Block_sapling = null;
    var nms_Block_bedrock = null;
    var nms_Block_waterMoving = null;
    var nms_Block_waterStill = null;
    var nms_Block_lavaMoving = null;
    var nms_Block_lavaStill = null;
    var nms_Block_sand = null;
    var nms_Block_gravel = null;
    var nms_Block_oreGold = null;
    var nms_Block_oreIron = null;
    var nms_Block_oreCoal = null;
    var nms_Block_wood = null;
    var nms_Block_leaves = null;
    var nms_Block_sponge = null;
    var nms_Block_glass = null;
    var nms_Block_oreLapis = null;
    var nms_Block_blockLapis = null;
    var nms_Block_dispenser = null;
    var nms_Block_sandStone = null;
    var nms_Block_musicBlock = null;
    var nms_Block_blockBed = null;
    var nms_Block_field_9261_T = null;
    var nms_Block_field_9260_U = null;
    var nms_Block_field_9259_V = null;
    var nms_Block_field_9258_W = null;
    var nms_Block_field_9257_X = null;
    var nms_Block_field_9256_Y = null;
    var nms_Block_field_9255_Z = null;
    var nms_Block_field_9269_aa = null;
    var nms_Block_cloth = null;
    var nms_Block_field_9268_ac = null;
    var nms_Block_plantYellow = null;
    var nms_Block_plantRed = null;
    var nms_Block_mushroomBrown = null;
    var nms_Block_mushroomRed = null;
    var nms_Block_blockGold = null;
    var nms_Block_blockSteel = null;
    var nms_Block_stairDouble = null;
    var nms_Block_stairSingle = null;
    var nms_Block_brick = null;
    var nms_Block_tnt = null;
    var nms_Block_bookShelf = null;
    var nms_Block_cobblestoneMossy = null;
    var nms_Block_obsidian = null;
    var nms_Block_torchWood = null;
    var nms_Block_fire = null;
    var nms_Block_mobSpawner = null;
    var nms_Block_stairCompactPlanks = null;
    var nms_Block_crate = null;
    var nms_Block_redstoneWire = null;
    var nms_Block_oreDiamond = null;
    var nms_Block_blockDiamond = null;
    var nms_Block_workbench = null;
    var nms_Block_crops = null;
    var nms_Block_tilledField = null;
    var nms_Block_stoneOvenIdle = null;
    var nms_Block_stoneOvenActive = null;
    var nms_Block_signPost = null;
    var nms_Block_doorWood = null;
    var nms_Block_ladder = null;
    var nms_Block_minecartTrack = null;
    var nms_Block_stairCompactCobblestone = null;
    var nms_Block_signWall = null;
    var nms_Block_lever = null;
    var nms_Block_pressurePlateStone = null;
    var nms_Block_doorSteel = null;
    var nms_Block_pressurePlatePlanks = null;
    var nms_Block_oreRedstone = null;
    var nms_Block_oreRedstoneGlowing = null;
    var nms_Block_torchRedstoneIdle = null;
    var nms_Block_torchRedstoneActive = null;
    var nms_Block_button = null;
    var nms_Block_snow = null;
    var nms_Block_ice = null;
    var nms_Block_blockSnow = null;
    var nms_Block_cactus = null;
    var nms_Block_blockClay = null;
    var nms_Block_reed = null;
    var nms_Block_jukebox = null;
    var nms_Block_fence = null;
    var nms_Block_pumpkin = null;
    var nms_Block_bloodStone = null;
    var nms_Block_slowSand = null;
    var nms_Block_lightStone = null;
    var nms_Block_portal = null;
    var nms_Block_pumpkinLantern = null;
    var nms_Block_cake = null;
    var nms_Block_redstoneRepeaterIdle = null;
    var nms_Block_redstoneRepeaterActive = null;
    var nms_Block_lockedChest = null;
    var nms_Block_$clinitCalled = false;
    function nms_Block_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_Block_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Block_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_Block__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_Block_$callClinit = $rt_eraseClinit(nms_Block);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_Block__init_(var_0, var_1) {
        var var_2 = new nms_Block();
        nms_Block__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function nms_Block__init_1(var_0, var_1, var_2) {
        var var_3 = new nms_Block();
        nms_Block__init_2(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_Block__init_0($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$stepSound = nms_Block_soundPowderFootstep;
            $this.$blockParticleGravity = 1.0;
            $this.$slipperiness = 0.6000000238418579;
            var$3 = nms_Block_blocksList.data;
            if (var$3[$var1] !== null) {
                $var2 = new jl_IllegalArgumentException;
                var$4 = var$3[$var1];
                $ptr = 5;
                continue main;
            }
            $this.$blockMaterial = $var2;
            var$3[$var1] = $this;
            $this.$blockID = $var1;
            var$5 = 0.0;
            var$6 = 0.0;
            var$7 = 0.0;
            var$8 = 1.0;
            var$9 = 1.0;
            var$10 = 1.0;
            $ptr = 2;
        case 2:
            nms_Block_setBlockBounds($this, var$5, var$6, var$7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nms_Block_opaqueCubeLookup.data;
            $ptr = 3;
        case 3:
            $tmp = $this.$isOpaqueCube();
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            var$3[$var1] = var$11;
            var$3 = nms_Block_lightOpacity;
            $ptr = 4;
        case 4:
            $tmp = $this.$isOpaqueCube();
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            var$3.data[$var1] = !var$11 ? 0 : 255;
            var$3 = nms_Block_field_340_s;
            var$11 = $var2.$getCanBlockGrass() ? 0 : 1;
            var$3.data[$var1] = var$11;
            nms_Block_isBlockContainer.data[$var1] = 0;
            return;
        case 5:
            $tmp = jl_String_valueOf(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 6;
        case 6:
            $tmp = jl_String_valueOf($this);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            var$13 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$13);
            var$14 = $rt_s(587);
            $ptr = 7;
        case 7:
            $tmp = jl_StringBuilder_append(var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $tmp;
            jl_AbstractStringBuilder_append0(var$14, $var1);
            var$15 = $rt_s(588);
            $ptr = 8;
        case 8:
            $tmp = jl_StringBuilder_append(var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $tmp;
            $ptr = 9;
        case 9:
            $tmp = jl_StringBuilder_append(var$14, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$14 = $rt_s(589);
            $ptr = 10;
        case 10:
            $tmp = jl_StringBuilder_append(var$4, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 11;
        case 11:
            jl_StringBuilder_append(var$4, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            $tmp = jl_AbstractStringBuilder_toString(var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_Throwable__init_($var2, var$4);
            $rt_throw($var2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr);
    }
    function nms_Block__init_2($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_Block__init_0($this, $var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$blockIndexInTexture = $var2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_Block_setStepSound($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$stepSound = $var1;
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Block_setLightOpacity($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_Block_lightOpacity.data[$this.$blockID] = $var1;
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Block_setLightValue($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_Block_lightValue.data[$this.$blockID] = 15.0 * $var1 | 0;
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Block_setResistance($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$blockResistance = $var1 * 3.0;
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Block_renderAsNormalBlock($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Block_getRenderType($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Block_setHardness($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$blockHardness = $var1;
            var$2 = $this.$blockResistance;
            $var1 = $var1 * 5.0;
            if (var$2 < $var1)
                $this.$blockResistance = $var1;
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Block_setTickOnLoad($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_Block_tickOnLoad.data[$this.$blockID] = $var1;
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Block_setBlockBounds($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$minX = $var1;
            $this.$minY = $var2;
            $this.$minZ = $var3;
            $this.$maxX = $var4;
            $this.$maxY = $var5;
            $this.$maxZ = $var6;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_Block_getBlockBrightness($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$getLightBrightness($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            return var$5;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_Block_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                if (!$var5 && $this.$minY > 0.0)
                    $var2 = 1;
                else if ($var5 == 1 && $this.$maxY < 1.0)
                    $var2 = 1;
                else if ($var5 == 2 && $this.$minZ > 0.0)
                    $var2 = 1;
                else if ($var5 == 3 && $this.$maxZ < 1.0)
                    $var2 = 1;
                else if ($var5 == 4 && $this.$minX > 0.0)
                    $var2 = 1;
                else {
                    if ($var5 != 5)
                        break a;
                    if ($this.$maxX >= 1.0)
                        break a;
                    $var2 = 1;
                }
                return $var2;
            }
            $ptr = 1;
        case 1:
            $tmp = $var1.$isBlockOpaqueCube($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Block_getBlockTexture($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = $this.$getBlockTextureFromSideAndMetadata($var5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Block_getBlockTextureFromSideAndMetadata($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $this.$getBlockTextureFromSide($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_Block_getBlockTextureFromSide($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$blockIndexInTexture;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Block_getSelectedBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var2;
            var$6 = var$5 + $this.$minX;
            var$7 = $var3;
            var$8 = var$7 + $this.$minY;
            var$9 = $var4;
            return nms_AxisAlignedBB_getBoundingBoxFromPool(var$6, var$8, var$9 + $this.$minZ, var$5 + $this.$maxX, var$7 + $this.$maxY, var$9 + $this.$maxZ);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_Block_getCollidingBoundingBoxes($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $this.$getCollisionBoundingBoxFromPool($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ($var7 !== null && nms_AxisAlignedBB_intersectsWith($var5, $var7)) {
                $ptr = 2;
                continue main;
            }
            return;
        case 2:
            ju_ArrayList_add($var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_Block_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var2;
            var$6 = var$5 + $this.$minX;
            var$7 = $var3;
            var$8 = var$7 + $this.$minY;
            var$9 = $var4;
            return nms_AxisAlignedBB_getBoundingBoxFromPool(var$6, var$8, var$9 + $this.$minZ, var$5 + $this.$maxX, var$7 + $this.$maxY, var$9 + $this.$maxZ);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_Block_isOpaqueCube($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Block_canCollideCheck($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $this.$isCollidable();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_Block_isCollidable($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Block_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Block_randomDisplayTick($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Block_onBlockDestroyedByPlayer($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Block_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Block_onBlockAdded($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_Block_onBlockRemoval($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_Block_quantityDropped($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Block_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$blockID;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_Block_blockStrength($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$blockHardness < 0.0)
                return 0.0;
            $ptr = 1;
        case 1:
            $tmp = nms_EntityPlayer_canHarvestBlock($var1, $this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (!var$2)
                return 1.0 / $this.$blockHardness / 100.0;
            $ptr = 2;
        case 2:
            $tmp = nms_EntityPlayer_getCurrentPlayerStrVsBlock($var1, $this);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3 / $this.$blockHardness / 30.0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = 1.0;
            $ptr = 1;
        case 1:
            $this.$dropBlockAsItemWithChance($var1, $var2, $var3, $var4, $var5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_Block_dropBlockAsItemWithChance($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var17, $var7, $var8, var$10, var$11, var$12, var$13, $var9, $var11, $var13, $var15, var$18, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$18 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var17 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return;
            $var17 = $var1.$rand2;
            $ptr = 1;
        case 1:
            $tmp = $this.$quantityDropped($var17);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var8 = 0;
            var$10 = 0.15000000596046448;
            var$11 = $var2;
            var$12 = $var3;
            var$13 = $var4;
            while ($var8 < $var7) {
                if (ju_Random_nextFloat($var1.$rand2) <= $var6) {
                    $var17 = $var1.$rand2;
                    $ptr = 2;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
            }
            return;
        case 2:
            $tmp = $this.$idDropped($var5, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var9 <= 0) {
                while (true) {
                    $var8 = $var8 + 1 | 0;
                    if ($var8 >= $var7)
                        break;
                    if (ju_Random_nextFloat($var1.$rand2) > $var6)
                        continue;
                    else {
                        $var17 = $var1.$rand2;
                        continue main;
                    }
                }
                return;
            }
            $var11 = ju_Random_nextFloat($var1.$rand2) * 0.699999988079071 + var$10;
            $var13 = ju_Random_nextFloat($var1.$rand2) * 0.699999988079071 + var$10;
            $var15 = ju_Random_nextFloat($var1.$rand2) * 0.699999988079071 + var$10;
            $var17 = new nms_EntityItem;
            $var11 = var$11 + $var11;
            $var13 = var$12 + $var13;
            $var15 = var$13 + $var15;
            var$18 = new nms_ItemStack;
            $var3 = 1;
            $ptr = 3;
        case 3:
            $tmp = $this.$damageDropped($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            nms_ItemStack__init_0(var$18, $var9, $var3, $var2);
            $ptr = 4;
        case 4:
            nms_EntityItem__init_($var17, $var1, $var11, $var13, $var15, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $var17.$delayBeforeCanPickup = 10;
            $ptr = 5;
        case 5:
            $var1.$entityJoinedWorld($var17);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var8 = $var8 + 1 | 0;
                if ($var8 >= $var7)
                    break;
                if (ju_Random_nextFloat($var1.$rand2) > $var6)
                    continue;
                else {
                    $var17 = $var1.$rand2;
                    $ptr = 2;
                    continue main;
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var17, $var7, $var8, var$10, var$11, var$12, var$13, $var9, $var11, $var13, $var15, var$18, $ptr);
    }
    function nms_Block_damageDropped($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Block_getExplosionResistance($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$blockResistance / 5.0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Block_collisionRayTrace($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, var$8, var$9, $var7, $var8, $var9, $var10, $var11, $var12, $var14, $var13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var13 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $this.$setBlockBoundsBasedOnState($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 =  -$var2 | 0;
            var$8 =  -$var3 | 0;
            var$9 =  -$var4 | 0;
            $var1 = nms_Vec3D_addVector($var5, var$7, var$8, var$9);
            $var5 = nms_Vec3D_addVector($var6, var$7, var$8, var$9);
            $var7 = nms_Vec3D_getIntermediateWithXValue($var1, $var5, $this.$minX);
            $var8 = nms_Vec3D_getIntermediateWithXValue($var1, $var5, $this.$maxX);
            $var9 = nms_Vec3D_getIntermediateWithYValue($var1, $var5, $this.$minY);
            $var10 = nms_Vec3D_getIntermediateWithYValue($var1, $var5, $this.$maxY);
            $var11 = nms_Vec3D_getIntermediateWithZValue($var1, $var5, $this.$minZ);
            $var12 = nms_Vec3D_getIntermediateWithZValue($var1, $var5, $this.$maxZ);
            $ptr = 2;
        case 2:
            $tmp = nms_Block_isVecInsideYZBounds($this, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if (!$var14)
                $var7 = null;
            $ptr = 3;
        case 3:
            $tmp = nms_Block_isVecInsideYZBounds($this, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if (!$var14)
                $var8 = null;
            $ptr = 4;
        case 4:
            $tmp = nms_Block_isVecInsideXZBounds($this, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if (!$var14)
                $var9 = null;
            $ptr = 5;
        case 5:
            $tmp = nms_Block_isVecInsideXZBounds($this, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if (!$var14)
                $var10 = null;
            $ptr = 6;
        case 6:
            $tmp = nms_Block_isVecInsideXYBounds($this, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if (!$var14)
                $var11 = null;
            $ptr = 7;
        case 7:
            $tmp = nms_Block_isVecInsideXYBounds($this, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if (!$var14)
                $var12 = null;
            $var13 = null;
            if ($var7 !== null)
                $var13 = $var7;
            if ($var8 !== null && !($var13 !== null && nms_Vec3D_distanceTo($var1, $var8) >= nms_Vec3D_distanceTo($var1, $var13)))
                $var13 = $var8;
            if ($var9 !== null && !($var13 !== null && nms_Vec3D_distanceTo($var1, $var9) >= nms_Vec3D_distanceTo($var1, $var13)))
                $var13 = $var9;
            if ($var10 !== null && !($var13 !== null && nms_Vec3D_distanceTo($var1, $var10) >= nms_Vec3D_distanceTo($var1, $var13)))
                $var13 = $var10;
            if ($var11 !== null && !($var13 !== null && nms_Vec3D_distanceTo($var1, $var11) >= nms_Vec3D_distanceTo($var1, $var13)))
                $var13 = $var11;
            if ($var12 !== null && !($var13 !== null && nms_Vec3D_distanceTo($var1, $var12) >= nms_Vec3D_distanceTo($var1, $var13)))
                $var13 = $var12;
            if ($var13 === null)
                return null;
            $var14 = (-1);
            if ($var13 === $var7)
                $var14 = 4;
            if ($var13 === $var8)
                $var14 = 5;
            if ($var13 === $var9)
                $var14 = 0;
            if ($var13 === $var10)
                $var14 = 1;
            if ($var13 === $var11)
                $var14 = 2;
            if ($var13 === $var12)
                $var14 = 3;
            return nms_MovingObjectPosition__init_0($var2, $var3, $var4, $var14, nms_Vec3D_addVector($var13, $var2, $var3, $var4));
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, var$9, $var7, $var8, $var9, $var10, $var11, $var12, $var14, $var13, $ptr);
    }
    function nms_Block_isVecInsideYZBounds($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                if ($var1 === null)
                    var$2 = 0;
                else {
                    var$3 = $var1.$yCoord;
                    if (var$3 >= $this.$minY && var$3 <= $this.$maxY) {
                        var$3 = $var1.$zCoord;
                        if (var$3 >= $this.$minZ && var$3 <= $this.$maxZ) {
                            var$2 = 1;
                            break a;
                        }
                    }
                    var$2 = 0;
                }
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_Block_isVecInsideXZBounds($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                if ($var1 === null)
                    var$2 = 0;
                else {
                    var$3 = $var1.$xCoord;
                    if (var$3 >= $this.$minX && var$3 <= $this.$maxX) {
                        var$3 = $var1.$zCoord;
                        if (var$3 >= $this.$minZ && var$3 <= $this.$maxZ) {
                            var$2 = 1;
                            break a;
                        }
                    }
                    var$2 = 0;
                }
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_Block_isVecInsideXYBounds($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                if ($var1 === null)
                    var$2 = 0;
                else {
                    var$3 = $var1.$xCoord;
                    if (var$3 >= $this.$minX && var$3 <= $this.$maxX) {
                        var$3 = $var1.$yCoord;
                        if (var$3 >= $this.$minY && var$3 <= $this.$maxY) {
                            var$2 = 1;
                            break a;
                        }
                    }
                    var$2 = 0;
                }
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_Block_onBlockDestroyedByExplosion($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_Block_getRenderBlockPass($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Block_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5)
                return 1;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Block_blocksList.data[$var5].$blockMaterial.$getIsLiquid() ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Block_blockActivated($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Block_onEntityWalking($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Block_onBlockPlaced($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Block_onBlockClicked($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Block_velocityToAddToEntity($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_Block_setBlockBoundsBasedOnState($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_Block_colorMultiplier($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 16777215;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_Block_isPoweringTo($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Block_canProvidePower($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Block_onEntityCollidedWithBlock($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Block_isIndirectlyPoweringTo($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Block_setBlockBoundsForItemRender($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Block_harvestBlock($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $this.$dropBlockAsItem($var1, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_Block_canBlockStay($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_Block_onBlockPlacedBy($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Block_setBlockName($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(590);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$blockName = $var1;
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_Block_func_25016_i($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$blockName;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$3 = $rt_s(591);
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 4;
        case 4:
            $tmp = nms_StatCollector_func_25200_a(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_Block_getBlockName($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$blockName;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Block_playBlock($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_Block__clinit_() {
        var var$1, $var0, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var0 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Block_soundPowderFootstep = nms_StepSound__init_($rt_s(592), 1.0, 1.0);
            nms_Block_soundWoodFootstep = nms_StepSound__init_($rt_s(593), 1.0, 1.0);
            nms_Block_soundGravelFootstep = nms_StepSound__init_($rt_s(594), 1.0, 1.0);
            nms_Block_soundGrassFootstep = nms_StepSound__init_($rt_s(595), 1.0, 1.0);
            nms_Block_soundStoneFootstep = nms_StepSound__init_($rt_s(592), 1.0, 1.0);
            nms_Block_soundMetalFootstep = nms_StepSound__init_($rt_s(592), 1.0, 1.5);
            nms_Block_soundGlassFootstep = nms_StepSoundStone__init_($rt_s(592), 1.0, 1.0);
            nms_Block_soundClothFootstep = nms_StepSound__init_($rt_s(596), 1.0, 1.0);
            nms_Block_soundSandFootstep = nms_StepSoundSand__init_($rt_s(597), 1.0, 1.0);
            nms_Block_blocksList = $rt_createArray(nms_Block, 256);
            nms_Block_tickOnLoad = $rt_createBooleanArray(256);
            nms_Block_opaqueCubeLookup = $rt_createBooleanArray(256);
            nms_Block_isBlockContainer = $rt_createBooleanArray(256);
            nms_Block_lightOpacity = $rt_createIntArray(256);
            nms_Block_field_340_s = $rt_createBooleanArray(256);
            nms_Block_lightValue = $rt_createIntArray(256);
            var$1 = new nms_BlockStone;
            $var0 = 1;
            var$3 = 1;
            $ptr = 1;
        case 1:
            nms_BlockStone__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 1.5;
            $ptr = 2;
        case 2:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 10.0;
            $ptr = 3;
        case 3:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 4;
        case 4:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(592);
            $ptr = 5;
        case 5:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_stone = var$1;
            var$1 = new nms_BlockGrass;
            $var0 = 2;
            $ptr = 6;
        case 6:
            nms_BlockGrass__init_(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.6000000238418579;
            $ptr = 7;
        case 7:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGrassFootstep;
            $ptr = 8;
        case 8:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(595);
            $ptr = 9;
        case 9:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_grass = var$1;
            var$1 = new nms_BlockDirt;
            $var0 = 3;
            var$3 = 2;
            $ptr = 10;
        case 10:
            nms_BlockDirt__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.5;
            $ptr = 11;
        case 11:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGravelFootstep;
            $ptr = 12;
        case 12:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(598);
            $ptr = 13;
        case 13:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_dirt = var$1;
            var$1 = new nms_Block;
            $var0 = 4;
            var$3 = 16;
            nms_Material_$callClinit();
            var$5 = nms_Material_rock;
            $ptr = 14;
        case 14:
            nms_Block__init_2(var$1, $var0, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 2.0;
            $ptr = 15;
        case 15:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 10.0;
            $ptr = 16;
        case 16:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 17;
        case 17:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(599);
            $ptr = 18;
        case 18:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_cobblestone = var$1;
            var$1 = new nms_Block;
            $var0 = 5;
            var$3 = 4;
            var$5 = nms_Material_wood;
            $ptr = 19;
        case 19:
            nms_Block__init_2(var$1, $var0, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 2.0;
            $ptr = 20;
        case 20:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 5.0;
            $ptr = 21;
        case 21:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 22;
        case 22:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(593);
            $ptr = 23;
        case 23:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_planks = var$1;
            var$1 = new nms_BlockSapling;
            $var0 = 6;
            var$3 = 15;
            $ptr = 24;
        case 24:
            nms_BlockSapling__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            $ptr = 25;
        case 25:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGrassFootstep;
            $ptr = 26;
        case 26:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(600);
            $ptr = 27;
        case 27:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_sapling = var$1;
            var$1 = new nms_Block;
            $var0 = 7;
            var$3 = 17;
            var$5 = nms_Material_rock;
            $ptr = 28;
        case 28:
            nms_Block__init_2(var$1, $var0, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = (-1.0);
            $ptr = 29;
        case 29:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 6000000.0;
            $ptr = 30;
        case 30:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 31;
        case 31:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(601);
            $ptr = 32;
        case 32:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_bedrock = var$1;
            var$1 = new nms_BlockFlowing;
            $var0 = 8;
            var$5 = nms_Material_water;
            $ptr = 33;
        case 33:
            nms_BlockFlowing__init_(var$1, $var0, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 100.0;
            $ptr = 34;
        case 34:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $var0 = 3;
            $ptr = 35;
        case 35:
            $tmp = nms_Block_setLightOpacity(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(602);
            $ptr = 36;
        case 36:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_waterMoving = var$1;
            var$1 = new nms_BlockStationary;
            $var0 = 9;
            var$5 = nms_Material_water;
            $ptr = 37;
        case 37:
            nms_BlockStationary__init_(var$1, $var0, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 100.0;
            $ptr = 38;
        case 38:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $var0 = 3;
            $ptr = 39;
        case 39:
            $tmp = nms_Block_setLightOpacity(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(602);
            $ptr = 40;
        case 40:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_waterStill = var$1;
            var$1 = new nms_BlockFlowing;
            $var0 = 10;
            var$5 = nms_Material_lava;
            $ptr = 41;
        case 41:
            nms_BlockFlowing__init_(var$1, $var0, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            $ptr = 42;
        case 42:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 1.0;
            $ptr = 43;
        case 43:
            $tmp = nms_Block_setLightValue(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $var0 = 255;
            $ptr = 44;
        case 44:
            $tmp = nms_Block_setLightOpacity(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(603);
            $ptr = 45;
        case 45:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_lavaMoving = var$1;
            var$1 = new nms_BlockStationary;
            $var0 = 11;
            var$5 = nms_Material_lava;
            $ptr = 46;
        case 46:
            nms_BlockStationary__init_(var$1, $var0, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 100.0;
            $ptr = 47;
        case 47:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 1.0;
            $ptr = 48;
        case 48:
            $tmp = nms_Block_setLightValue(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $var0 = 255;
            $ptr = 49;
        case 49:
            $tmp = nms_Block_setLightOpacity(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(603);
            $ptr = 50;
        case 50:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_lavaStill = var$1;
            var$1 = new nms_BlockSand;
            $var0 = 12;
            var$3 = 18;
            $ptr = 51;
        case 51:
            nms_BlockSand__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.5;
            $ptr = 52;
        case 52:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundSandFootstep;
            $ptr = 53;
        case 53:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(597);
            $ptr = 54;
        case 54:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_sand = var$1;
            var$1 = new nms_BlockGravel;
            $var0 = 13;
            var$3 = 19;
            $ptr = 55;
        case 55:
            nms_BlockGravel__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.6000000238418579;
            $ptr = 56;
        case 56:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGravelFootstep;
            $ptr = 57;
        case 57:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(594);
            $ptr = 58;
        case 58:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_gravel = var$1;
            var$1 = new nms_BlockOre;
            $var0 = 14;
            var$3 = 32;
            $ptr = 59;
        case 59:
            nms_BlockOre__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3.0;
            $ptr = 60;
        case 60:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 5.0;
            $ptr = 61;
        case 61:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 62;
        case 62:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(604);
            $ptr = 63;
        case 63:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_oreGold = var$1;
            var$1 = new nms_BlockOre;
            $var0 = 15;
            var$3 = 33;
            $ptr = 64;
        case 64:
            nms_BlockOre__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3.0;
            $ptr = 65;
        case 65:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 5.0;
            $ptr = 66;
        case 66:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 67;
        case 67:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(605);
            $ptr = 68;
        case 68:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_oreIron = var$1;
            var$1 = new nms_BlockOre;
            $var0 = 16;
            var$3 = 34;
            $ptr = 69;
        case 69:
            nms_BlockOre__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3.0;
            $ptr = 70;
        case 70:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 5.0;
            $ptr = 71;
        case 71:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 72;
        case 72:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(606);
            $ptr = 73;
        case 73:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_oreCoal = var$1;
            var$1 = new nms_BlockLog;
            $var0 = 17;
            $ptr = 74;
        case 74:
            nms_BlockLog__init_(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 2.0;
            $ptr = 75;
        case 75:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 76;
        case 76:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(607);
            $ptr = 77;
        case 77:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_wood = var$1;
            var$1 = new nms_BlockLeaves;
            $var0 = 18;
            var$3 = 52;
            $ptr = 78;
        case 78:
            nms_BlockLeaves__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.20000000298023224;
            $ptr = 79;
        case 79:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $var0 = 1;
            $ptr = 80;
        case 80:
            $tmp = nms_Block_setLightOpacity(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGrassFootstep;
            $ptr = 81;
        case 81:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(608);
            $ptr = 82;
        case 82:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_leaves = var$1;
            var$1 = new nms_BlockSponge;
            $var0 = 19;
            $ptr = 83;
        case 83:
            nms_BlockSponge__init_(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.6000000238418579;
            $ptr = 84;
        case 84:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGrassFootstep;
            $ptr = 85;
        case 85:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(609);
            $ptr = 86;
        case 86:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_sponge = var$1;
            var$1 = new nms_BlockGlass;
            var$3 = 20;
            var$6 = 49;
            var$5 = nms_Material_glass;
            $var0 = 0;
            $ptr = 87;
        case 87:
            nms_BlockGlass__init_(var$1, var$3, var$6, var$5, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.30000001192092896;
            $ptr = 88;
        case 88:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGlassFootstep;
            $ptr = 89;
        case 89:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(610);
            $ptr = 90;
        case 90:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_glass = var$1;
            var$1 = new nms_BlockOre;
            $var0 = 21;
            var$3 = 160;
            $ptr = 91;
        case 91:
            nms_BlockOre__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3.0;
            $ptr = 92;
        case 92:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 5.0;
            $ptr = 93;
        case 93:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 94;
        case 94:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(611);
            $ptr = 95;
        case 95:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_oreLapis = var$1;
            var$1 = new nms_Block;
            $var0 = 22;
            var$3 = 144;
            var$5 = nms_Material_rock;
            $ptr = 96;
        case 96:
            nms_Block__init_2(var$1, $var0, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3.0;
            $ptr = 97;
        case 97:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 5.0;
            $ptr = 98;
        case 98:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 99;
        case 99:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(612);
            $ptr = 100;
        case 100:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_blockLapis = var$1;
            var$1 = new nms_BlockDispenser;
            $var0 = 23;
            $ptr = 101;
        case 101:
            nms_BlockDispenser__init_(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3.5;
            $ptr = 102;
        case 102:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 103;
        case 103:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(613);
            $ptr = 104;
        case 104:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_dispenser = var$1;
            var$1 = new nms_BlockSandStone;
            $var0 = 24;
            $ptr = 105;
        case 105:
            nms_BlockSandStone__init_(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 106;
        case 106:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 0.800000011920929;
            $ptr = 107;
        case 107:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(614);
            $ptr = 108;
        case 108:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_sandStone = var$1;
            var$1 = new nms_BlockNote;
            $var0 = 25;
            $ptr = 109;
        case 109:
            nms_BlockNote__init_(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.800000011920929;
            $ptr = 110;
        case 110:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(615);
            $ptr = 111;
        case 111:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_musicBlock = var$1;
            var$1 = new nms_BlockBed;
            $var0 = 26;
            $ptr = 112;
        case 112:
            nms_BlockBed__init_(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.20000000298023224;
            $ptr = 113;
        case 113:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(616);
            $ptr = 114;
        case 114:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_blockBed = var$1;
            nms_Block_field_9261_T = null;
            nms_Block_field_9260_U = null;
            nms_Block_field_9259_V = null;
            nms_Block_field_9258_W = null;
            nms_Block_field_9257_X = null;
            nms_Block_field_9256_Y = null;
            nms_Block_field_9255_Z = null;
            nms_Block_field_9269_aa = null;
            var$1 = new nms_BlockCloth;
            $ptr = 115;
        case 115:
            nms_BlockCloth__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.800000011920929;
            $ptr = 116;
        case 116:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundClothFootstep;
            $ptr = 117;
        case 117:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(596);
            $ptr = 118;
        case 118:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_cloth = var$1;
            nms_Block_field_9268_ac = null;
            var$1 = new nms_BlockFlower;
            $var0 = 37;
            var$3 = 13;
            $ptr = 119;
        case 119:
            nms_BlockFlower__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            $ptr = 120;
        case 120:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGrassFootstep;
            $ptr = 121;
        case 121:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(617);
            $ptr = 122;
        case 122:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_plantYellow = var$1;
            var$1 = new nms_BlockFlower;
            $var0 = 38;
            var$3 = 12;
            $ptr = 123;
        case 123:
            nms_BlockFlower__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            $ptr = 124;
        case 124:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGrassFootstep;
            $ptr = 125;
        case 125:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(618);
            $ptr = 126;
        case 126:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_plantRed = var$1;
            var$1 = new nms_BlockMushroom;
            $var0 = 39;
            var$3 = 29;
            $ptr = 127;
        case 127:
            nms_BlockMushroom__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            $ptr = 128;
        case 128:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGrassFootstep;
            $ptr = 129;
        case 129:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 0.125;
            $ptr = 130;
        case 130:
            $tmp = nms_Block_setLightValue(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(619);
            $ptr = 131;
        case 131:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_mushroomBrown = var$1;
            var$1 = new nms_BlockMushroom;
            $var0 = 40;
            var$3 = 28;
            $ptr = 132;
        case 132:
            nms_BlockMushroom__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            $ptr = 133;
        case 133:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGrassFootstep;
            $ptr = 134;
        case 134:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(619);
            $ptr = 135;
        case 135:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_mushroomRed = var$1;
            var$1 = new nms_BlockOreBlock;
            $var0 = 41;
            var$3 = 23;
            $ptr = 136;
        case 136:
            nms_BlockOreBlock__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3.0;
            $ptr = 137;
        case 137:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 10.0;
            $ptr = 138;
        case 138:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundMetalFootstep;
            $ptr = 139;
        case 139:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(620);
            $ptr = 140;
        case 140:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_blockGold = var$1;
            var$1 = new nms_BlockOreBlock;
            $var0 = 42;
            var$3 = 22;
            $ptr = 141;
        case 141:
            nms_BlockOreBlock__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 5.0;
            $ptr = 142;
        case 142:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 10.0;
            $ptr = 143;
        case 143:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundMetalFootstep;
            $ptr = 144;
        case 144:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(621);
            $ptr = 145;
        case 145:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_blockSteel = var$1;
            var$1 = new nms_BlockStep;
            $var0 = 43;
            var$3 = 1;
            $ptr = 146;
        case 146:
            nms_BlockStep__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 2.0;
            $ptr = 147;
        case 147:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 10.0;
            $ptr = 148;
        case 148:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 149;
        case 149:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(622);
            $ptr = 150;
        case 150:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_stairDouble = var$1;
            var$1 = new nms_BlockStep;
            $var0 = 44;
            var$3 = 0;
            $ptr = 151;
        case 151:
            nms_BlockStep__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 2.0;
            $ptr = 152;
        case 152:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 10.0;
            $ptr = 153;
        case 153:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 154;
        case 154:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(622);
            $ptr = 155;
        case 155:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_stairSingle = var$1;
            var$1 = new nms_Block;
            $var0 = 45;
            var$3 = 7;
            var$5 = nms_Material_rock;
            $ptr = 156;
        case 156:
            nms_Block__init_2(var$1, $var0, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 2.0;
            $ptr = 157;
        case 157:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 10.0;
            $ptr = 158;
        case 158:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 159;
        case 159:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(623);
            $ptr = 160;
        case 160:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_brick = var$1;
            var$1 = new nms_BlockTNT;
            $var0 = 46;
            var$3 = 8;
            $ptr = 161;
        case 161:
            nms_BlockTNT__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            $ptr = 162;
        case 162:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGrassFootstep;
            $ptr = 163;
        case 163:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(624);
            $ptr = 164;
        case 164:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_tnt = var$1;
            var$1 = new nms_BlockBookshelf;
            $var0 = 47;
            var$3 = 35;
            $ptr = 165;
        case 165:
            nms_BlockBookshelf__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 1.5;
            $ptr = 166;
        case 166:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 167;
        case 167:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(625);
            $ptr = 168;
        case 168:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_bookShelf = var$1;
            var$1 = new nms_Block;
            $var0 = 48;
            var$3 = 36;
            var$5 = nms_Material_rock;
            $ptr = 169;
        case 169:
            nms_Block__init_2(var$1, $var0, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 2.0;
            $ptr = 170;
        case 170:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 10.0;
            $ptr = 171;
        case 171:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 172;
        case 172:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(626);
            $ptr = 173;
        case 173:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_cobblestoneMossy = var$1;
            var$1 = new nms_BlockObsidian;
            $var0 = 49;
            var$3 = 37;
            $ptr = 174;
        case 174:
            nms_BlockObsidian__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 10.0;
            $ptr = 175;
        case 175:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 2000.0;
            $ptr = 176;
        case 176:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 177;
        case 177:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(627);
            $ptr = 178;
        case 178:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_obsidian = var$1;
            var$1 = new nms_BlockTorch;
            $var0 = 50;
            var$3 = 80;
            $ptr = 179;
        case 179:
            nms_BlockTorch__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            $ptr = 180;
        case 180:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 0.9375;
            $ptr = 181;
        case 181:
            $tmp = nms_Block_setLightValue(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 182;
        case 182:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(628);
            $ptr = 183;
        case 183:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_torchWood = var$1;
            var$1 = new nms_BlockFire;
            $var0 = 51;
            var$3 = 31;
            $ptr = 184;
        case 184:
            nms_BlockFire__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            $ptr = 185;
        case 185:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 1.0;
            $ptr = 186;
        case 186:
            $tmp = nms_Block_setLightValue(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 187;
        case 187:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(629);
            $ptr = 188;
        case 188:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_fire = var$1;
            var$1 = new nms_BlockMobSpawner;
            $var0 = 52;
            var$3 = 65;
            $ptr = 189;
        case 189:
            nms_BlockMobSpawner__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 5.0;
            $ptr = 190;
        case 190:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundMetalFootstep;
            $ptr = 191;
        case 191:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(630);
            $ptr = 192;
        case 192:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_mobSpawner = var$1;
            var$1 = new nms_BlockStairs;
            $var0 = 53;
            var$5 = nms_Block_planks;
            $ptr = 193;
        case 193:
            nms_BlockStairs__init_(var$1, $var0, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $rt_s(631);
            $ptr = 194;
        case 194:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_stairCompactPlanks = var$1;
            var$1 = new nms_BlockChest;
            $var0 = 54;
            $ptr = 195;
        case 195:
            nms_BlockChest__init_(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 2.5;
            $ptr = 196;
        case 196:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 197;
        case 197:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(632);
            $ptr = 198;
        case 198:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_crate = var$1;
            var$1 = new nms_BlockRedstoneWire;
            $var0 = 55;
            var$3 = 164;
            $ptr = 199;
        case 199:
            nms_BlockRedstoneWire__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            $ptr = 200;
        case 200:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundPowderFootstep;
            $ptr = 201;
        case 201:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(633);
            $ptr = 202;
        case 202:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_redstoneWire = var$1;
            var$1 = new nms_BlockOre;
            $var0 = 56;
            var$3 = 50;
            $ptr = 203;
        case 203:
            nms_BlockOre__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3.0;
            $ptr = 204;
        case 204:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 5.0;
            $ptr = 205;
        case 205:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 206;
        case 206:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(634);
            $ptr = 207;
        case 207:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_oreDiamond = var$1;
            var$1 = new nms_BlockOreBlock;
            $var0 = 57;
            var$3 = 24;
            $ptr = 208;
        case 208:
            nms_BlockOreBlock__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 5.0;
            $ptr = 209;
        case 209:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 10.0;
            $ptr = 210;
        case 210:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundMetalFootstep;
            $ptr = 211;
        case 211:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(635);
            $ptr = 212;
        case 212:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_blockDiamond = var$1;
            var$1 = new nms_BlockWorkbench;
            $var0 = 58;
            $ptr = 213;
        case 213:
            nms_BlockWorkbench__init_(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 2.5;
            $ptr = 214;
        case 214:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 215;
        case 215:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(636);
            $ptr = 216;
        case 216:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_workbench = var$1;
            var$1 = new nms_BlockCrops;
            $var0 = 59;
            var$3 = 88;
            $ptr = 217;
        case 217:
            nms_BlockCrops__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            $ptr = 218;
        case 218:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGrassFootstep;
            $ptr = 219;
        case 219:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(637);
            $ptr = 220;
        case 220:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_crops = var$1;
            var$1 = new nms_BlockSoil;
            $var0 = 60;
            $ptr = 221;
        case 221:
            nms_BlockSoil__init_(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.6000000238418579;
            $ptr = 222;
        case 222:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGravelFootstep;
            $ptr = 223;
        case 223:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(638);
            $ptr = 224;
        case 224:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_tilledField = var$1;
            var$1 = new nms_BlockFurnace;
            $var0 = 61;
            var$3 = 0;
            $ptr = 225;
        case 225:
            nms_BlockFurnace__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3.5;
            $ptr = 226;
        case 226:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 227;
        case 227:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(639);
            $ptr = 228;
        case 228:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_stoneOvenIdle = var$1;
            var$1 = new nms_BlockFurnace;
            $var0 = 62;
            var$3 = 1;
            $ptr = 229;
        case 229:
            nms_BlockFurnace__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3.5;
            $ptr = 230;
        case 230:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 231;
        case 231:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 0.875;
            $ptr = 232;
        case 232:
            $tmp = nms_Block_setLightValue(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(639);
            $ptr = 233;
        case 233:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_stoneOvenActive = var$1;
            var$1 = new nms_BlockSign;
            $var0 = 63;
            var$5 = $rt_cls(nms_TileEntitySign);
            var$3 = 1;
            $ptr = 234;
        case 234:
            nms_BlockSign__init_(var$1, $var0, var$5, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 1.0;
            $ptr = 235;
        case 235:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 236;
        case 236:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(640);
            $ptr = 237;
        case 237:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_signPost = var$1;
            var$1 = new nms_BlockDoor;
            $var0 = 64;
            var$5 = nms_Material_wood;
            $ptr = 238;
        case 238:
            nms_BlockDoor__init_(var$1, $var0, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3.0;
            $ptr = 239;
        case 239:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 240;
        case 240:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(641);
            $ptr = 241;
        case 241:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_doorWood = var$1;
            var$1 = new nms_BlockLadder;
            $var0 = 65;
            var$3 = 83;
            $ptr = 242;
        case 242:
            nms_BlockLadder__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.4000000059604645;
            $ptr = 243;
        case 243:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 244;
        case 244:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(642);
            $ptr = 245;
        case 245:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_ladder = var$1;
            var$1 = new nms_BlockMinecartTrack;
            $var0 = 66;
            var$3 = 128;
            $ptr = 246;
        case 246:
            nms_BlockMinecartTrack__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.699999988079071;
            $ptr = 247;
        case 247:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundMetalFootstep;
            $ptr = 248;
        case 248:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(643);
            $ptr = 249;
        case 249:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_minecartTrack = var$1;
            var$1 = new nms_BlockStairs;
            $var0 = 67;
            var$5 = nms_Block_cobblestone;
            $ptr = 250;
        case 250:
            nms_BlockStairs__init_(var$1, $var0, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $rt_s(644);
            $ptr = 251;
        case 251:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_stairCompactCobblestone = var$1;
            var$1 = new nms_BlockSign;
            $var0 = 68;
            var$5 = $rt_cls(nms_TileEntitySign);
            var$3 = 0;
            $ptr = 252;
        case 252:
            nms_BlockSign__init_(var$1, $var0, var$5, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 1.0;
            $ptr = 253;
        case 253:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 254;
        case 254:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(640);
            $ptr = 255;
        case 255:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_signWall = var$1;
            var$1 = new nms_BlockLever;
            $var0 = 69;
            var$3 = 96;
            $ptr = 256;
        case 256:
            nms_BlockLever__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.5;
            $ptr = 257;
        case 257:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 258;
        case 258:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(645);
            $ptr = 259;
        case 259:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_lever = var$1;
            var$1 = new nms_BlockPressurePlate;
            $var0 = 70;
            var$3 = nms_Block_stone.$blockIndexInTexture;
            nms_EnumMobType_$callClinit();
            var$5 = nms_EnumMobType_mobs;
            $ptr = 260;
        case 260:
            nms_BlockPressurePlate__init_(var$1, $var0, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.5;
            $ptr = 261;
        case 261:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 262;
        case 262:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(646);
            $ptr = 263;
        case 263:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_pressurePlateStone = var$1;
            var$1 = new nms_BlockDoor;
            $var0 = 71;
            var$5 = nms_Material_iron;
            $ptr = 264;
        case 264:
            nms_BlockDoor__init_(var$1, $var0, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 5.0;
            $ptr = 265;
        case 265:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundMetalFootstep;
            $ptr = 266;
        case 266:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(647);
            $ptr = 267;
        case 267:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_doorSteel = var$1;
            var$1 = new nms_BlockPressurePlate;
            $var0 = 72;
            var$3 = nms_Block_planks.$blockIndexInTexture;
            var$5 = nms_EnumMobType_everything;
            $ptr = 268;
        case 268:
            nms_BlockPressurePlate__init_(var$1, $var0, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.5;
            $ptr = 269;
        case 269:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 270;
        case 270:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(646);
            $ptr = 271;
        case 271:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_pressurePlatePlanks = var$1;
            var$1 = new nms_BlockRedstoneOre;
            $var0 = 73;
            var$3 = 51;
            var$6 = 0;
            $ptr = 272;
        case 272:
            nms_BlockRedstoneOre__init_(var$1, $var0, var$3, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 3.0;
            $ptr = 273;
        case 273:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 5.0;
            $ptr = 274;
        case 274:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 275;
        case 275:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(648);
            $ptr = 276;
        case 276:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_oreRedstone = var$1;
            var$1 = new nms_BlockRedstoneOre;
            $var0 = 74;
            var$3 = 51;
            var$6 = 1;
            $ptr = 277;
        case 277:
            nms_BlockRedstoneOre__init_(var$1, $var0, var$3, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.625;
            $ptr = 278;
        case 278:
            $tmp = nms_Block_setLightValue(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 3.0;
            $ptr = 279;
        case 279:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 5.0;
            $ptr = 280;
        case 280:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 281;
        case 281:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(648);
            $ptr = 282;
        case 282:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_oreRedstoneGlowing = var$1;
            var$1 = new nms_BlockRedstoneTorch;
            $var0 = 75;
            var$3 = 115;
            var$6 = 0;
            $ptr = 283;
        case 283:
            nms_BlockRedstoneTorch__init_(var$1, $var0, var$3, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            $ptr = 284;
        case 284:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 285;
        case 285:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(649);
            $ptr = 286;
        case 286:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_torchRedstoneIdle = var$1;
            var$1 = new nms_BlockRedstoneTorch;
            $var0 = 76;
            var$3 = 99;
            var$6 = 1;
            $ptr = 287;
        case 287:
            nms_BlockRedstoneTorch__init_(var$1, $var0, var$3, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            $ptr = 288;
        case 288:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 0.5;
            $ptr = 289;
        case 289:
            $tmp = nms_Block_setLightValue(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 290;
        case 290:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(649);
            $ptr = 291;
        case 291:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_torchRedstoneActive = var$1;
            var$1 = new nms_BlockButton;
            $var0 = 77;
            var$3 = nms_Block_stone.$blockIndexInTexture;
            $ptr = 292;
        case 292:
            nms_BlockButton__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.5;
            $ptr = 293;
        case 293:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 294;
        case 294:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(650);
            $ptr = 295;
        case 295:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_button = var$1;
            var$1 = new nms_BlockSnow;
            $var0 = 78;
            var$3 = 66;
            $ptr = 296;
        case 296:
            nms_BlockSnow__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.10000000149011612;
            $ptr = 297;
        case 297:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundClothFootstep;
            $ptr = 298;
        case 298:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(651);
            $ptr = 299;
        case 299:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_snow = var$1;
            var$1 = new nms_BlockIce;
            $var0 = 79;
            var$3 = 67;
            $ptr = 300;
        case 300:
            nms_BlockIce__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.5;
            $ptr = 301;
        case 301:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $var0 = 3;
            $ptr = 302;
        case 302:
            $tmp = nms_Block_setLightOpacity(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGlassFootstep;
            $ptr = 303;
        case 303:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(652);
            $ptr = 304;
        case 304:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_ice = var$1;
            var$1 = new nms_BlockSnowBlock;
            $var0 = 80;
            var$3 = 66;
            $ptr = 305;
        case 305:
            nms_BlockSnowBlock__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.20000000298023224;
            $ptr = 306;
        case 306:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundClothFootstep;
            $ptr = 307;
        case 307:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(651);
            $ptr = 308;
        case 308:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_blockSnow = var$1;
            var$1 = new nms_BlockCactus;
            $var0 = 81;
            var$3 = 70;
            $ptr = 309;
        case 309:
            nms_BlockCactus__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.4000000059604645;
            $ptr = 310;
        case 310:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundClothFootstep;
            $ptr = 311;
        case 311:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(653);
            $ptr = 312;
        case 312:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_cactus = var$1;
            var$1 = new nms_BlockClay;
            $var0 = 82;
            var$3 = 72;
            $ptr = 313;
        case 313:
            nms_BlockClay__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.6000000238418579;
            $ptr = 314;
        case 314:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGravelFootstep;
            $ptr = 315;
        case 315:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(654);
            $ptr = 316;
        case 316:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_blockClay = var$1;
            var$1 = new nms_BlockReed;
            $var0 = 83;
            var$3 = 73;
            $ptr = 317;
        case 317:
            nms_BlockReed__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            $ptr = 318;
        case 318:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGrassFootstep;
            $ptr = 319;
        case 319:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(655);
            $ptr = 320;
        case 320:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_reed = var$1;
            var$1 = new nms_BlockJukeBox;
            $var0 = 84;
            var$3 = 74;
            $ptr = 321;
        case 321:
            nms_BlockJukeBox__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 2.0;
            $ptr = 322;
        case 322:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 10.0;
            $ptr = 323;
        case 323:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 324;
        case 324:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(656);
            $ptr = 325;
        case 325:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_jukebox = var$1;
            var$1 = new nms_BlockFence;
            $var0 = 85;
            var$3 = 4;
            $ptr = 326;
        case 326:
            nms_BlockFence__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 2.0;
            $ptr = 327;
        case 327:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 5.0;
            $ptr = 328;
        case 328:
            $tmp = nms_Block_setResistance(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 329;
        case 329:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(657);
            $ptr = 330;
        case 330:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_fence = var$1;
            var$1 = new nms_BlockPumpkin;
            $var0 = 86;
            var$3 = 102;
            var$6 = 0;
            $ptr = 331;
        case 331:
            nms_BlockPumpkin__init_(var$1, $var0, var$3, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 1.0;
            $ptr = 332;
        case 332:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 333;
        case 333:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(658);
            $ptr = 334;
        case 334:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_pumpkin = var$1;
            var$1 = new nms_BlockBloodStone;
            $var0 = 87;
            var$3 = 103;
            $ptr = 335;
        case 335:
            nms_BlockBloodStone__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.4000000059604645;
            $ptr = 336;
        case 336:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundStoneFootstep;
            $ptr = 337;
        case 337:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(659);
            $ptr = 338;
        case 338:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_bloodStone = var$1;
            var$1 = new nms_BlockSlowSand;
            $var0 = 88;
            var$3 = 104;
            $ptr = 339;
        case 339:
            nms_BlockSlowSand__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.5;
            $ptr = 340;
        case 340:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundSandFootstep;
            $ptr = 341;
        case 341:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(660);
            $ptr = 342;
        case 342:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_slowSand = var$1;
            var$1 = new nms_BlockLightStone;
            $var0 = 89;
            var$3 = 105;
            var$5 = nms_Material_glass;
            $ptr = 343;
        case 343:
            nms_BlockLightStone__init_(var$1, $var0, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.30000001192092896;
            $ptr = 344;
        case 344:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGlassFootstep;
            $ptr = 345;
        case 345:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 1.0;
            $ptr = 346;
        case 346:
            $tmp = nms_Block_setLightValue(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(661);
            $ptr = 347;
        case 347:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_lightStone = var$1;
            var$1 = new nms_BlockPortal;
            $var0 = 90;
            var$3 = 14;
            $ptr = 348;
        case 348:
            nms_BlockPortal__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = (-1.0);
            $ptr = 349;
        case 349:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundGlassFootstep;
            $ptr = 350;
        case 350:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 0.75;
            $ptr = 351;
        case 351:
            $tmp = nms_Block_setLightValue(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(662);
            $ptr = 352;
        case 352:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_portal = var$1;
            var$1 = new nms_BlockPumpkin;
            $var0 = 91;
            var$3 = 102;
            var$6 = 1;
            $ptr = 353;
        case 353:
            nms_BlockPumpkin__init_(var$1, $var0, var$3, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 1.0;
            $ptr = 354;
        case 354:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 355;
        case 355:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 1.0;
            $ptr = 356;
        case 356:
            $tmp = nms_Block_setLightValue(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(663);
            $ptr = 357;
        case 357:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_pumpkinLantern = var$1;
            var$1 = new nms_BlockCake;
            $var0 = 92;
            var$3 = 121;
            $ptr = 358;
        case 358:
            nms_BlockCake__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.5;
            $ptr = 359;
        case 359:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundClothFootstep;
            $ptr = 360;
        case 360:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(664);
            $ptr = 361;
        case 361:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_cake = var$1;
            var$1 = new nms_BlockRedstoneRepeater;
            $var0 = 93;
            var$3 = 0;
            $ptr = 362;
        case 362:
            nms_BlockRedstoneRepeater__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            $ptr = 363;
        case 363:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 364;
        case 364:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(665);
            $ptr = 365;
        case 365:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_redstoneRepeaterIdle = var$1;
            var$1 = new nms_BlockRedstoneRepeater;
            $var0 = 94;
            var$3 = 1;
            $ptr = 366;
        case 366:
            nms_BlockRedstoneRepeater__init_(var$1, $var0, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            $ptr = 367;
        case 367:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 0.625;
            $ptr = 368;
        case 368:
            $tmp = nms_Block_setLightValue(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 369;
        case 369:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(665);
            $ptr = 370;
        case 370:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_redstoneRepeaterActive = var$1;
            var$1 = new nms_BlockLockedChest;
            $var0 = 95;
            $ptr = 371;
        case 371:
            nms_BlockLockedChest__init_(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            $ptr = 372;
        case 372:
            $tmp = nms_Block_setHardness(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = 1.0;
            $ptr = 373;
        case 373:
            $tmp = nms_Block_setLightValue(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = nms_Block_soundWoodFootstep;
            $ptr = 374;
        case 374:
            $tmp = nms_Block_setStepSound(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(666);
            $ptr = 375;
        case 375:
            $tmp = nms_Block_setBlockName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $var0 = 1;
            $ptr = 376;
        case 376:
            $tmp = nms_Block_setTickOnLoad(var$1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Block_lockedChest = var$1;
            $ptr = 377;
        case 377:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = nms_Item_itemsList.data;
            $var0 = nms_Block_cloth.$blockID;
            var$1 = new nms_ItemCloth;
            var$3 = $var0 - 256 | 0;
            $ptr = 378;
        case 378:
            nms_ItemCloth__init_(var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $rt_s(596);
            $ptr = 379;
        case 379:
            $tmp = nms_Item_setItemName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$7[$var0] = var$1;
            var$7 = nms_Item_itemsList.data;
            $var0 = nms_Block_wood.$blockID;
            var$1 = new nms_ItemLog;
            var$3 = $var0 - 256 | 0;
            $ptr = 380;
        case 380:
            nms_ItemLog__init_(var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $rt_s(607);
            $ptr = 381;
        case 381:
            $tmp = nms_Item_setItemName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$7[$var0] = var$1;
            var$7 = nms_Item_itemsList.data;
            $var0 = nms_Block_stairSingle.$blockID;
            var$1 = new nms_ItemSlab;
            var$3 = $var0 - 256 | 0;
            $ptr = 382;
        case 382:
            nms_ItemSlab__init_(var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $rt_s(622);
            $ptr = 383;
        case 383:
            $tmp = nms_Item_setItemName(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$7[$var0] = var$1;
            $var0 = 0;
            while (true) {
                if ($var0 >= 256) {
                    nms_Block_field_340_s.data[0] = 1;
                    $ptr = 384;
                    continue main;
                }
                if (nms_Block_blocksList.data[$var0] !== null) {
                    var$7 = nms_Item_itemsList.data;
                    if (var$7[$var0] === null)
                        break;
                }
                $var0 = $var0 + 1 | 0;
            }
            var$1 = new nms_ItemBlock;
            var$3 = $var0 - 256 | 0;
            $ptr = 385;
            continue main;
        case 384:
            nms_StatList_func_25154_a();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 385:
            nms_ItemBlock__init_(var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$7[$var0] = var$1;
            while (true) {
                $var0 = $var0 + 1 | 0;
                if ($var0 >= 256) {
                    nms_Block_field_340_s.data[0] = 1;
                    $ptr = 384;
                    continue main;
                }
                if (nms_Block_blocksList.data[$var0] === null)
                    continue;
                var$7 = nms_Item_itemsList.data;
                if (var$7[$var0] !== null)
                    continue;
                else
                    break;
            }
            var$1 = new nms_ItemBlock;
            var$3 = $var0 - 256 | 0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $var0, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function jnc_Charset() {
        var a = this; jl_Object.call(a);
        a.$canonicalName = null;
        a.$aliases = null;
    }
    function jnc_Charset__init_($this, $canonicalName, $aliases) {
        var var$3, var$4, var$5;
        var$3 = $aliases.data;
        jnc_Charset_checkCanonicalName($canonicalName);
        var$4 = var$3.length;
        var$5 = 0;
        while (var$5 < var$4) {
            jnc_Charset_checkCanonicalName(var$3[var$5]);
            var$5 = var$5 + 1 | 0;
        }
        $this.$canonicalName = $canonicalName;
        $this.$aliases = $aliases.$clone();
    }
    function jnc_Charset_checkCanonicalName($name) {
        var $i, $c;
        if (jl_String_isEmpty($name))
            $rt_throw(jnc_IllegalCharsetNameException__init_($name));
        if (!jnc_Charset_isValidCharsetStart(jl_String_charAt($name, 0)))
            $rt_throw(jnc_IllegalCharsetNameException__init_($name));
        $i = 1;
        while ($i < jl_String_length($name)) {
            a: {
                $c = jl_String_charAt($name, $i);
                switch ($c) {
                    case 43:
                    case 45:
                    case 46:
                    case 58:
                    case 95:
                        break;
                    default:
                        if (jnc_Charset_isValidCharsetStart($c))
                            break a;
                        else
                            $rt_throw(jnc_IllegalCharsetNameException__init_($name));
                }
            }
            $i = $i + 1 | 0;
        }
    }
    function jnc_Charset_isValidCharsetStart($c) {
        a: {
            b: {
                if (!($c >= 48 && $c <= 57) && !($c >= 97 && $c <= 122)) {
                    if ($c < 65)
                        break b;
                    if ($c > 90)
                        break b;
                }
                $c = 1;
                break a;
            }
            $c = 0;
        }
        return $c;
    }
    function jnc_Charset_forName($charsetName) {
        var $charset, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$charset = $thread.pop();$charsetName = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($charsetName === null) {
                $charsetName = new jl_IllegalArgumentException;
                jl_Throwable__init_($charsetName, $rt_s(667));
                $rt_throw($charsetName);
            }
            jnc_Charset_checkCanonicalName($charsetName);
            $ptr = 1;
        case 1:
            jnc_Charset$Charsets_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $charset = jnc_Charset$Charsets_value;
            var$3 = jl_String_toUpperCase($charsetName);
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get($charset, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $charset = $tmp;
            $charset = $charset;
            if ($charset !== null)
                return $charset;
            $charset = new jnc_UnsupportedCharsetException;
            jl_Throwable__init_0($charset);
            $charset.$charsetName = $charsetName;
            $rt_throw($charset);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($charsetName, $charset, var$3, $ptr);
    }
    function jnc_Charset_name($this) {
        return $this.$canonicalName;
    }
    function jnc_Charset_decode($this, $bb) {
        var $e, var$3, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$e = $thread.pop();$bb = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            try {
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jnc_CharacterCodingException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            var$3 = new jl_AssertionError;
            jl_Throwable__init_4(var$3, $rt_s(668), $e);
            $rt_throw(var$3);
        case 1:
            try {
                $tmp = $this.$newDecoder();
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                jnc_CodingErrorAction_$callClinit();
                $e = jnc_CharsetDecoder_onUnmappableCharacter(jnc_CharsetDecoder_onMalformedInput(var$3, jnc_CodingErrorAction_REPLACE), jnc_CodingErrorAction_REPLACE);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jnc_CharacterCodingException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            var$3 = new jl_AssertionError;
            jl_Throwable__init_4(var$3, $rt_s(668), $e);
            $rt_throw(var$3);
        case 2:
            a: {
                try {
                    $tmp = jnc_CharsetDecoder_decode($e, $bb);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $bb = $tmp;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jnc_CharacterCodingException) {
                        $e = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $bb;
            }
            var$3 = new jl_AssertionError;
            jl_Throwable__init_4(var$3, $rt_s(668), $e);
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $bb, $e, var$3, $ptr);
    }
    function jnc_Charset_encode($this, $cb) {
        var var$2, $e, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$e = $thread.pop();var$2 = $thread.pop();$cb = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            try {
                var$2 = $this.$newEncoder();
                jnc_CodingErrorAction_$callClinit();
                $e = jnc_CharsetEncoder_onUnmappableCharacter(jnc_CharsetEncoder_onMalformedInput(var$2, jnc_CodingErrorAction_REPLACE), jnc_CodingErrorAction_REPLACE);
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jnc_CharacterCodingException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            var$2 = new jl_AssertionError;
            jl_Throwable__init_4(var$2, $rt_s(668), $e);
            $rt_throw(var$2);
        case 1:
            a: {
                try {
                    $tmp = jnc_CharsetEncoder_encode0($e, $cb);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $cb = $tmp;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jnc_CharacterCodingException) {
                        $e = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $cb;
            }
            var$2 = new jl_AssertionError;
            jl_Throwable__init_4(var$2, $rt_s(668), $e);
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $cb, var$2, $e, $ptr);
    }
    function jnc_Charset_compareTo($this, $that) {
        var var$2, var$3, var$4, var$5;
        a: {
            var$2 = $this.$canonicalName;
            $that = $that.$canonicalName;
            if (var$2 === $that)
                var$3 = 0;
            else {
                var$4 = jl_Math_min(jl_String_length(var$2), jl_String_length($that));
                var$5 = 0;
                while (true) {
                    if (var$5 >= var$4) {
                        var$3 = jl_String_length(var$2) - jl_String_length($that) | 0;
                        break a;
                    }
                    var$3 = jl_Character_toLowerCase(jl_String_charAt(var$2, var$5)) - jl_Character_toLowerCase(jl_String_charAt($that, var$5)) | 0;
                    if (var$3)
                        break;
                    var$5 = var$5 + 1 | 0;
                }
            }
        }
        return var$3;
    }
    function jnc_Charset_compareTo0($this, var$1) {
        return jnc_Charset_compareTo($this, var$1);
    }
    var jnci_UTF8Charset = $rt_classWithoutFields(jnc_Charset);
    var jnci_UTF8Charset_INSTANCE = null;
    function jnci_UTF8Charset_$callClinit() {
        jnci_UTF8Charset_$callClinit = $rt_eraseClinit(jnci_UTF8Charset);
        jnci_UTF8Charset__clinit_();
    }
    function jnci_UTF8Charset__init_0() {
        var var_0 = new jnci_UTF8Charset();
        jnci_UTF8Charset__init_(var_0);
        return var_0;
    }
    function jnci_UTF8Charset__init_($this) {
        jnci_UTF8Charset_$callClinit();
        jnc_Charset__init_($this, $rt_s(669), $rt_createArray(jl_String, 0));
    }
    function jnci_UTF8Charset_newDecoder($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new jnci_UTF8Decoder;
            var$2 = 0.3333333432674408;
            var$3 = 0.5;
            $ptr = 1;
        case 1:
            jnci_BufferedDecoder__init_(var$1, $this, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function jnci_UTF8Charset_newEncoder($this) {
        var var$1;
        var$1 = new jnci_UTF8Encoder;
        jnci_BufferedEncoder__init_(var$1, $this, 2.0, 4.0);
        return var$1;
    }
    function jnci_UTF8Charset__clinit_() {
        jnci_UTF8Charset_INSTANCE = jnci_UTF8Charset__init_0();
    }
    var nlei_IClientConfigAdapterHooks = $rt_classWithoutFields(0);
    function nleit_TeaVMClientConfigAdapterHooks() {
        var a = this; jl_Object.call(a);
        a.$saveHook = null;
        a.$loadHook = null;
        a.$crashHook = null;
        a.$screenChangedHook = null;
    }
    var nleit_TeaVMClientConfigAdapterHooks_logger = null;
    var nleit_TeaVMClientConfigAdapterHooks_$clinitCalled = false;
    function nleit_TeaVMClientConfigAdapterHooks_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nleit_TeaVMClientConfigAdapterHooks_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_TeaVMClientConfigAdapterHooks_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nleit_TeaVMClientConfigAdapterHooks__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nleit_TeaVMClientConfigAdapterHooks_$callClinit = $rt_eraseClinit(nleit_TeaVMClientConfigAdapterHooks);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nleit_TeaVMClientConfigAdapterHooks__init_0() {
        var var_0 = new nleit_TeaVMClientConfigAdapterHooks();
        nleit_TeaVMClientConfigAdapterHooks__init_(var_0);
        return var_0;
    }
    function nleit_TeaVMClientConfigAdapterHooks__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_TeaVMClientConfigAdapterHooks_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$saveHook = null;
            $this.$loadHook = null;
            $this.$crashHook = null;
            $this.$screenChangedHook = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_TeaVMClientConfigAdapterHooks_callCrashReportHook($this, $crashReport, $customMessageCB) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$customMessageCB = $thread.pop();$crashReport = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$crashHook === null)
                return;
            var$3 = $rt_s(670);
            var$4 = new nleit_TeaVMClientConfigAdapterHooks$callCrashReportHook$lambda$_4_0;
            var$4.$_016 = $this;
            var$4.$_19 = $crashReport;
            var$4.$_23 = $customMessageCB;
            $ptr = 1;
        case 1:
            nleit_TeaVMClientConfigAdapterHooks_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nleit_TeaVMClientConfigAdapterHooks_callHookSafeSync$_asyncCall_$(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $crashReport, $customMessageCB, var$3, var$4, $ptr);
    }
    function nleit_TeaVMClientConfigAdapterHooks_callHookSafe($identifer, $hooker) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$hooker = $thread.pop();$identifer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_TeaVMClientConfigAdapterHooks_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = new nleit_TeaVMClientConfigAdapterHooks$callHookSafe$lambda$_5_0;
            var$3.$_017 = $hooker;
            var$3.$_110 = $identifer;
            $rt_globals.setTimeout(otji_JS_function(var$3, "onTimer"), 0);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($identifer, $hooker, var$3, $ptr);
    }
    function nleit_TeaVMClientConfigAdapterHooks_callHookSafeSync($identifer, $hooker, $cb) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$cb = $thread.pop();$hooker = $thread.pop();$identifer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_TeaVMClientConfigAdapterHooks_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = new nleit_TeaVMClientConfigAdapterHooks$callHookSafeSync$lambda$_7_0;
            var$4.$_018 = $hooker;
            var$4.$_111 = $identifer;
            var$4.$_24 = $cb;
            $rt_globals.setTimeout(otji_JS_function(var$4, "onTimer"), 0);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($identifer, $hooker, $cb, var$4, $ptr);
    }
    function nleit_TeaVMClientConfigAdapterHooks_callHookSafeWithReturn($identifer, $hooker, $cb) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$cb = $thread.pop();$hooker = $thread.pop();$identifer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_TeaVMClientConfigAdapterHooks_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = new nleit_TeaVMClientConfigAdapterHooks$callHookSafeWithReturn$lambda$_9_0;
            var$4.$_019 = $hooker;
            var$4.$_112 = $identifer;
            var$4.$_25 = $cb;
            $rt_globals.setTimeout(otji_JS_function(var$4, "onTimer"), 0);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($identifer, $hooker, $cb, var$4, $ptr);
    }
    function nleit_TeaVMClientConfigAdapterHooks__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(671);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleit_TeaVMClientConfigAdapterHooks_logger = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nleit_TeaVMClientConfigAdapterHooks_callHookSafeSync$_asyncCall_$(var$1, var$2) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nleit_TeaVMClientConfigAdapterHooks_callHookSafeSync(var$1, var$2, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nleit_TeaVMClientConfigAdapterHooks_callHookSafeWithReturn$_asyncCall_$(var$1, var$2) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nleit_TeaVMClientConfigAdapterHooks_callHookSafeWithReturn(var$1, var$2, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nms_NBTTagByte() {
        nms_NBTBase.call(this);
        this.$byteValue = 0;
    }
    function nms_NBTTagByte__init_0() {
        var var_0 = new nms_NBTTagByte();
        nms_NBTTagByte__init_(var_0);
        return var_0;
    }
    function nms_NBTTagByte__init_($this) {
        nms_NBTBase__init_($this);
    }
    function nms_NBTTagByte_writeTagContents($this, $var1) {
        ji_DataOutputStream_writeByte($var1, $this.$byteValue);
    }
    function nms_NBTTagByte_readTagContents($this, $var1) {
        $this.$byteValue = ji_DataInputStream_readByte($var1);
    }
    function nms_NBTTagByte_getType($this) {
        return 1;
    }
    function nms_NBTTagByte_toString($this) {
        var var$1, var$2;
        var$1 = $this.$byteValue;
        var$2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$2);
        jl_AbstractStringBuilder_append0(var$2, var$1 << 24 >> 24);
        return jl_AbstractStringBuilder_toString(var$2);
    }
    function nms_NBTTagShort() {
        nms_NBTBase.call(this);
        this.$shortValue = 0;
    }
    function nms_NBTTagShort__init_0() {
        var var_0 = new nms_NBTTagShort();
        nms_NBTTagShort__init_(var_0);
        return var_0;
    }
    function nms_NBTTagShort__init_($this) {
        nms_NBTBase__init_($this);
    }
    function nms_NBTTagShort_writeTagContents($this, $var1) {
        ji_DataOutputStream_writeShort($var1, $this.$shortValue);
    }
    function nms_NBTTagShort_readTagContents($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$shortValue = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_NBTTagShort_getType($this) {
        return 2;
    }
    function nms_NBTTagShort_toString($this) {
        var var$1, var$2;
        var$1 = $this.$shortValue;
        var$2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$2);
        jl_AbstractStringBuilder_append0(var$2, var$1 << 16 >> 16);
        return jl_AbstractStringBuilder_toString(var$2);
    }
    function nms_NBTTagInt() {
        nms_NBTBase.call(this);
        this.$intValue = 0;
    }
    function nms_NBTTagInt__init_0() {
        var var_0 = new nms_NBTTagInt();
        nms_NBTTagInt__init_(var_0);
        return var_0;
    }
    function nms_NBTTagInt__init_($this) {
        nms_NBTBase__init_($this);
    }
    function nms_NBTTagInt_writeTagContents($this, $var1) {
        ji_DataOutputStream_writeInt($var1, $this.$intValue);
    }
    function nms_NBTTagInt_readTagContents($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$intValue = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_NBTTagInt_getType($this) {
        return 3;
    }
    function nms_NBTTagInt_toString($this) {
        var var$1, var$2;
        var$1 = $this.$intValue;
        var$2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$2);
        jl_AbstractStringBuilder_append0(var$2, var$1);
        return jl_AbstractStringBuilder_toString(var$2);
    }
    function nms_NBTTagLong() {
        nms_NBTBase.call(this);
        this.$longValue = Long_ZERO;
    }
    function nms_NBTTagLong__init_0() {
        var var_0 = new nms_NBTTagLong();
        nms_NBTTagLong__init_(var_0);
        return var_0;
    }
    function nms_NBTTagLong__init_($this) {
        nms_NBTBase__init_($this);
    }
    function nms_NBTTagLong_writeTagContents($this, $var1) {
        ji_DataOutputStream_writeLong($var1, $this.$longValue);
    }
    function nms_NBTTagLong_readTagContents($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readLong($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$longValue = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_NBTTagLong_getType($this) {
        return 4;
    }
    function nms_NBTTagLong_toString($this) {
        var var$1, var$2;
        var$1 = $this.$longValue;
        var$2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$2);
        jl_StringBuilder_append2(var$2, var$1);
        return jl_AbstractStringBuilder_toString(var$2);
    }
    function nms_NBTTagFloat() {
        nms_NBTBase.call(this);
        this.$floatValue = 0.0;
    }
    function nms_NBTTagFloat__init_0() {
        var var_0 = new nms_NBTTagFloat();
        nms_NBTTagFloat__init_(var_0);
        return var_0;
    }
    function nms_NBTTagFloat__init_1(var_0) {
        var var_1 = new nms_NBTTagFloat();
        nms_NBTTagFloat__init_2(var_1, var_0);
        return var_1;
    }
    function nms_NBTTagFloat__init_($this) {
        nms_NBTBase__init_($this);
    }
    function nms_NBTTagFloat__init_2($this, $var1) {
        nms_NBTBase__init_($this);
        $this.$floatValue = $var1;
    }
    function nms_NBTTagFloat_writeTagContents($this, $var1) {
        ji_DataOutputStream_writeFloat($var1, $this.$floatValue);
    }
    function nms_NBTTagFloat_readTagContents($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readFloat($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$floatValue = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_NBTTagFloat_getType($this) {
        return 5;
    }
    function nms_NBTTagFloat_toString($this) {
        var var$1, var$2;
        var$1 = $this.$floatValue;
        var$2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$2);
        jl_StringBuilder_append3(var$2, var$1);
        return jl_AbstractStringBuilder_toString(var$2);
    }
    function nms_NBTTagDouble() {
        nms_NBTBase.call(this);
        this.$doubleValue = 0.0;
    }
    function nms_NBTTagDouble__init_1() {
        var var_0 = new nms_NBTTagDouble();
        nms_NBTTagDouble__init_(var_0);
        return var_0;
    }
    function nms_NBTTagDouble__init_0(var_0) {
        var var_1 = new nms_NBTTagDouble();
        nms_NBTTagDouble__init_2(var_1, var_0);
        return var_1;
    }
    function nms_NBTTagDouble__init_($this) {
        nms_NBTBase__init_($this);
    }
    function nms_NBTTagDouble__init_2($this, $var1) {
        nms_NBTBase__init_($this);
        $this.$doubleValue = $var1;
    }
    function nms_NBTTagDouble_writeTagContents($this, $var1) {
        ji_DataOutputStream_writeDouble($var1, $this.$doubleValue);
    }
    function nms_NBTTagDouble_readTagContents($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readDouble($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$doubleValue = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_NBTTagDouble_getType($this) {
        return 6;
    }
    function nms_NBTTagDouble_toString($this) {
        var var$1, var$2;
        var$1 = $this.$doubleValue;
        var$2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$2);
        jl_StringBuilder_append4(var$2, var$1);
        return jl_AbstractStringBuilder_toString(var$2);
    }
    function nms_NBTTagByteArray() {
        nms_NBTBase.call(this);
        this.$byteArray = null;
    }
    function nms_NBTTagByteArray__init_0() {
        var var_0 = new nms_NBTTagByteArray();
        nms_NBTTagByteArray__init_(var_0);
        return var_0;
    }
    function nms_NBTTagByteArray__init_($this) {
        nms_NBTBase__init_($this);
    }
    function nms_NBTTagByteArray_writeTagContents($this, $var1) {
        ji_DataOutputStream_writeInt($var1, $this.$byteArray.data.length);
        ji_OutputStream_write($var1, $this.$byteArray);
    }
    function nms_NBTTagByteArray_readTagContents($this, $var1) {
        var $var2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$3 = $rt_createByteArray($var2);
            $this.$byteArray = var$3;
            $ptr = 2;
        case 2:
            ji_DataInputStream_readFully($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_NBTTagByteArray_getType($this) {
        return 7;
    }
    function nms_NBTTagByteArray_toString($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$byteArray.data.length;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            jl_AbstractStringBuilder_append(var$2, 91);
            jl_AbstractStringBuilder_append0(var$2, var$1);
            var$3 = $rt_s(672);
            $ptr = 1;
        case 1:
            jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_NBTTagString() {
        nms_NBTBase.call(this);
        this.$stringValue = null;
    }
    function nms_NBTTagString__init_0() {
        var var_0 = new nms_NBTTagString();
        nms_NBTTagString__init_(var_0);
        return var_0;
    }
    function nms_NBTTagString__init_($this) {
        nms_NBTBase__init_($this);
    }
    function nms_NBTTagString_writeTagContents($this, $var1) {
        ji_DataOutputStream_writeUTF($var1, $this.$stringValue);
    }
    function nms_NBTTagString_readTagContents($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readUTF($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$stringValue = $var1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_NBTTagString_getType($this) {
        return 8;
    }
    function nms_NBTTagString_toString($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$stringValue;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            $ptr = 1;
        case 1:
            jl_StringBuilder_append(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_NBTTagList() {
        var a = this; nms_NBTBase.call(a);
        a.$tagList = null;
        a.$tagType = 0;
    }
    function nms_NBTTagList__init_0() {
        var var_0 = new nms_NBTTagList();
        nms_NBTTagList__init_(var_0);
        return var_0;
    }
    function nms_NBTTagList__init_($this) {
        nms_NBTBase__init_($this);
        $this.$tagList = ju_ArrayList__init_0();
    }
    function nms_NBTTagList_writeTagContents($this, $var1) {
        var var$2, $var2;
        var$2 = $this.$tagList;
        if (var$2.$size0 <= 0)
            $this.$tagType = 1;
        else
            $this.$tagType = (ju_ArrayList_get(var$2, 0)).$getType0();
        ji_DataOutputStream_writeByte($var1, $this.$tagType);
        ji_DataOutputStream_writeInt($var1, $this.$tagList.$size0);
        $var2 = 0;
        while (true) {
            var$2 = $this.$tagList;
            if ($var2 >= var$2.$size0)
                break;
            (ju_ArrayList_get(var$2, $var2)).$writeTagContents($var1);
            $var2 = $var2 + 1 | 0;
        }
    }
    function nms_NBTTagList_readTagContents($this, $var1) {
        var $var2, $var3, $var4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$tagType = ji_DataInputStream_readByte($var1);
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$tagList = ju_ArrayList__init_0();
            $var3 = 0;
            if ($var3 >= $var2)
                return;
            $var4 = nms_NBTBase_createTagOfType($this.$tagType);
            $ptr = 2;
        case 2:
            $var4.$readTagContents($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$tagList;
            $ptr = 3;
        case 3:
            ju_ArrayList_add(var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var3 + 1 | 0;
            if ($var3 >= $var2)
                return;
            $var4 = nms_NBTBase_createTagOfType($this.$tagType);
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_NBTTagList_getType($this) {
        return 9;
    }
    function nms_NBTTagList_toString($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                var$1 = $this.$tagList.$size0;
                switch ($this.$tagType) {
                    case 0:
                        break;
                    case 1:
                        var$2 = $rt_s(673);
                        break a;
                    case 2:
                        var$2 = $rt_s(674);
                        break a;
                    case 3:
                        var$2 = $rt_s(675);
                        break a;
                    case 4:
                        var$2 = $rt_s(676);
                        break a;
                    case 5:
                        var$2 = $rt_s(677);
                        break a;
                    case 6:
                        var$2 = $rt_s(678);
                        break a;
                    case 7:
                        var$2 = $rt_s(679);
                        break a;
                    case 8:
                        var$2 = $rt_s(680);
                        break a;
                    case 9:
                        var$2 = $rt_s(681);
                        break a;
                    case 10:
                        var$2 = $rt_s(682);
                        break a;
                    default:
                        var$2 = $rt_s(503);
                        break a;
                }
                var$2 = $rt_s(683);
            }
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            jl_AbstractStringBuilder_append0(var$3, var$1);
            var$4 = $rt_s(684);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$4, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_NBTTagList_setTag($this, $var1) {
        $this.$tagType = $var1.$getType0();
        ju_ArrayList_add($this.$tagList, $var1);
    }
    function nms_NBTTagList_tagAt($this, $var1) {
        return ju_ArrayList_get($this.$tagList, $var1);
    }
    function nms_NBTTagList_tagCount($this) {
        return $this.$tagList.$size0;
    }
    var otj_JSExceptions = $rt_classWithoutFields();
    function otj_JSExceptions__init_0() {
        var var_0 = new otj_JSExceptions();
        otj_JSExceptions__init_(var_0);
        return var_0;
    }
    function otj_JSExceptions__init_($this) {}
    function nle_EagRuntime$getStackTrace0$lambda$_29_0() {
        jl_Object.call(this);
        this.$_05 = null;
    }
    function nle_EagRuntime$getStackTrace0$lambda$_29_0_accept(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = var$0.$_05;
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            jl_AbstractStringBuilder_append(var$2, 10);
            jl_AbstractStringBuilder_append2(var$2, $rt_s(361));
            jl_AbstractStringBuilder_append2(var$2, var$1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    function nleit_EnumES6Shims() {
        var a = this; jl_Enum.call(a);
        a.$shimId = 0;
        a.$shimDesc = null;
    }
    var nleit_EnumES6Shims_SHIM_CLASS_MAP = null;
    var nleit_EnumES6Shims_SHIM_CLASS_WEAKMAP = null;
    var nleit_EnumES6Shims_SHIM_CLASS_SET = null;
    var nleit_EnumES6Shims_SHIM_CLASS_WEAKSET = null;
    var nleit_EnumES6Shims_SHIM_CLASS_PROMISE = null;
    var nleit_EnumES6Shims_SHIM_STRING_FROM_CODE_POINT = null;
    var nleit_EnumES6Shims_SHIM_STRING_PROTO_CODE_POINT_AT = null;
    var nleit_EnumES6Shims_SHIM_STRING_PROTO_STARTS_WITH = null;
    var nleit_EnumES6Shims_SHIM_STRING_PROTO_ENDS_WITH = null;
    var nleit_EnumES6Shims_SHIM_STRING_PROTO_INCLUDES = null;
    var nleit_EnumES6Shims_SHIM_STRING_PROTO_REPEAT = null;
    var nleit_EnumES6Shims_SHIM_ARRAY_PROTO_FILL = null;
    var nleit_EnumES6Shims_SHIM_OBJECT_IS = null;
    var nleit_EnumES6Shims_SHIM_OBJECT_SET_PROTOTYPE_OF = null;
    var nleit_EnumES6Shims_SHIM_FUNCTION_NAME = null;
    var nleit_EnumES6Shims_SHIM_MATH_SIGN = null;
    var nleit_EnumES6Shims_SHIM_FAKE_SYMBOL = null;
    var nleit_EnumES6Shims_lookup = null;
    var nleit_EnumES6Shims_$VALUES = null;
    function nleit_EnumES6Shims_$callClinit() {
        nleit_EnumES6Shims_$callClinit = $rt_eraseClinit(nleit_EnumES6Shims);
        nleit_EnumES6Shims__clinit_();
    }
    function nleit_EnumES6Shims__init_(var_0, var_1, var_2, var_3) {
        var var_4 = new nleit_EnumES6Shims();
        nleit_EnumES6Shims__init_0(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nleit_EnumES6Shims_values() {
        nleit_EnumES6Shims_$callClinit();
        return nleit_EnumES6Shims_$VALUES.$clone();
    }
    function nleit_EnumES6Shims__init_0($this, var$1, var$2, $shimId, $shimDesc) {
        nleit_EnumES6Shims_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
        $this.$shimId = $shimId;
        $this.$shimDesc = $shimDesc;
    }
    function nleit_EnumES6Shims__clinit_() {
        var var$1, $_values, $i, var$4;
        nleit_EnumES6Shims_SHIM_CLASS_MAP = nleit_EnumES6Shims__init_($rt_s(685), 0, 0, $rt_s(686));
        nleit_EnumES6Shims_SHIM_CLASS_WEAKMAP = nleit_EnumES6Shims__init_($rt_s(687), 1, 1, $rt_s(688));
        nleit_EnumES6Shims_SHIM_CLASS_SET = nleit_EnumES6Shims__init_($rt_s(689), 2, 2, $rt_s(690));
        nleit_EnumES6Shims_SHIM_CLASS_WEAKSET = nleit_EnumES6Shims__init_($rt_s(691), 3, 3, $rt_s(692));
        nleit_EnumES6Shims_SHIM_CLASS_PROMISE = nleit_EnumES6Shims__init_($rt_s(693), 4, 4, $rt_s(694));
        nleit_EnumES6Shims_SHIM_STRING_FROM_CODE_POINT = nleit_EnumES6Shims__init_($rt_s(695), 5, 5, $rt_s(696));
        nleit_EnumES6Shims_SHIM_STRING_PROTO_CODE_POINT_AT = nleit_EnumES6Shims__init_($rt_s(697), 6, 6, $rt_s(698));
        nleit_EnumES6Shims_SHIM_STRING_PROTO_STARTS_WITH = nleit_EnumES6Shims__init_($rt_s(699), 7, 7, $rt_s(700));
        nleit_EnumES6Shims_SHIM_STRING_PROTO_ENDS_WITH = nleit_EnumES6Shims__init_($rt_s(701), 8, 8, $rt_s(702));
        nleit_EnumES6Shims_SHIM_STRING_PROTO_INCLUDES = nleit_EnumES6Shims__init_($rt_s(703), 9, 9, $rt_s(704));
        nleit_EnumES6Shims_SHIM_STRING_PROTO_REPEAT = nleit_EnumES6Shims__init_($rt_s(705), 10, 10, $rt_s(706));
        nleit_EnumES6Shims_SHIM_ARRAY_PROTO_FILL = nleit_EnumES6Shims__init_($rt_s(707), 11, 11, $rt_s(708));
        nleit_EnumES6Shims_SHIM_OBJECT_IS = nleit_EnumES6Shims__init_($rt_s(709), 12, 12, $rt_s(710));
        nleit_EnumES6Shims_SHIM_OBJECT_SET_PROTOTYPE_OF = nleit_EnumES6Shims__init_($rt_s(711), 13, 13, $rt_s(712));
        nleit_EnumES6Shims_SHIM_FUNCTION_NAME = nleit_EnumES6Shims__init_($rt_s(713), 14, 14, $rt_s(714));
        nleit_EnumES6Shims_SHIM_MATH_SIGN = nleit_EnumES6Shims__init_($rt_s(715), 15, 15, $rt_s(716));
        var$1 = nleit_EnumES6Shims__init_($rt_s(717), 16, 16, $rt_s(718));
        nleit_EnumES6Shims_SHIM_FAKE_SYMBOL = var$1;
        nleit_EnumES6Shims_$VALUES = $rt_createArrayFromData(nleit_EnumES6Shims, [nleit_EnumES6Shims_SHIM_CLASS_MAP, nleit_EnumES6Shims_SHIM_CLASS_WEAKMAP, nleit_EnumES6Shims_SHIM_CLASS_SET, nleit_EnumES6Shims_SHIM_CLASS_WEAKSET, nleit_EnumES6Shims_SHIM_CLASS_PROMISE, nleit_EnumES6Shims_SHIM_STRING_FROM_CODE_POINT, nleit_EnumES6Shims_SHIM_STRING_PROTO_CODE_POINT_AT, nleit_EnumES6Shims_SHIM_STRING_PROTO_STARTS_WITH, nleit_EnumES6Shims_SHIM_STRING_PROTO_ENDS_WITH, nleit_EnumES6Shims_SHIM_STRING_PROTO_INCLUDES,
        nleit_EnumES6Shims_SHIM_STRING_PROTO_REPEAT, nleit_EnumES6Shims_SHIM_ARRAY_PROTO_FILL, nleit_EnumES6Shims_SHIM_OBJECT_IS, nleit_EnumES6Shims_SHIM_OBJECT_SET_PROTOTYPE_OF, nleit_EnumES6Shims_SHIM_FUNCTION_NAME, nleit_EnumES6Shims_SHIM_MATH_SIGN, var$1]);
        nleit_EnumES6Shims_lookup = $rt_createArray(nleit_EnumES6Shims, 20);
        $_values = nleit_EnumES6Shims_values();
        $i = 0;
        while (true) {
            var$4 = $_values.data;
            if ($i >= var$4.length)
                break;
            nleit_EnumES6Shims_lookup.data[var$4[$i].$shimId] = var$4[$i];
            $i = $i + 1 | 0;
        }
    }
    var ju_RandomAccess = $rt_classWithoutFields(0);
    function ju_ArrayList() {
        var a = this; ju_AbstractList.call(a);
        a.$array1 = null;
        a.$size0 = 0;
    }
    function ju_ArrayList__init_0() {
        var var_0 = new ju_ArrayList();
        ju_ArrayList__init_(var_0);
        return var_0;
    }
    function ju_ArrayList__init_1(var_0) {
        var var_1 = new ju_ArrayList();
        ju_ArrayList__init_2(var_1, var_0);
        return var_1;
    }
    function ju_ArrayList__init_3(var_0) {
        var var_1 = new ju_ArrayList();
        ju_ArrayList__init_4(var_1, var_0);
        return var_1;
    }
    function ju_ArrayList__init_($this) {
        ju_ArrayList__init_2($this, 10);
    }
    function ju_ArrayList__init_2($this, $initialCapacity) {
        var var$2;
        if ($initialCapacity >= 0) {
            $this.$array1 = $rt_createArray(jl_Object, $initialCapacity);
            return;
        }
        var$2 = new jl_IllegalArgumentException;
        jl_Throwable__init_0(var$2);
        $rt_throw(var$2);
    }
    function ju_ArrayList__init_4($this, $c) {
        var $iter, $i, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$i = $thread.pop();$iter = $thread.pop();$c = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            ju_ArrayList__init_2($this, $c.$size());
            $ptr = 1;
        case 1:
            $tmp = $c.$iterator();
            if ($rt_suspending()) {
                break main;
            }
            $iter = $tmp;
            $i = 0;
            var$4 = $this.$array1.data;
            var$5 = var$4.length;
            if ($i >= var$5) {
                $this.$size0 = var$5;
                return;
            }
            $ptr = 2;
        case 2:
            $tmp = $iter.$next();
            if ($rt_suspending()) {
                break main;
            }
            $c = $tmp;
            var$4[$i] = $c;
            $i = $i + 1 | 0;
            var$4 = $this.$array1.data;
            var$5 = var$4.length;
            if ($i >= var$5) {
                $this.$size0 = var$5;
                return;
            }
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $c, $iter, $i, var$4, var$5, $ptr);
    }
    function ju_ArrayList_ensureCapacity($this, $minCapacity) {
        var var$2, $newLength;
        var$2 = $this.$array1.data.length;
        if (var$2 < $minCapacity) {
            $newLength = var$2 >= 1073741823 ? 2147483647 : jl_Math_max($minCapacity, jl_Math_max(var$2 * 2 | 0, 5));
            $this.$array1 = ju_Arrays_copyOf($this.$array1, $newLength);
        }
    }
    function ju_ArrayList_get($this, $index) {
        ju_ArrayList_checkIndex($this, $index);
        return $this.$array1.data[$index];
    }
    function ju_ArrayList_size($this) {
        return $this.$size0;
    }
    function ju_ArrayList_set($this, $index, $element) {
        var var$3, $old;
        ju_ArrayList_checkIndex($this, $index);
        var$3 = $this.$array1.data;
        $old = var$3[$index];
        var$3[$index] = $element;
        return $old;
    }
    function ju_ArrayList_add($this, $element) {
        var var$2, var$3;
        ju_ArrayList_ensureCapacity($this, $this.$size0 + 1 | 0);
        var$2 = $this.$array1.data;
        var$3 = $this.$size0;
        $this.$size0 = var$3 + 1 | 0;
        var$2[var$3] = $element;
        $this.$modCount0 = $this.$modCount0 + 1 | 0;
        return 1;
    }
    function ju_ArrayList_add0($this, $index, $element) {
        var var$3, var$4, $i, var$6;
        if ($index >= 0) {
            var$3 = $this.$size0;
            if ($index <= var$3) {
                ju_ArrayList_ensureCapacity($this, var$3 + 1 | 0);
                var$4 = $this.$size0;
                $i = var$4;
                while ($i > $index) {
                    var$6 = $this.$array1.data;
                    var$6[$i] = var$6[$i - 1 | 0];
                    $i = $i + (-1) | 0;
                }
                $this.$array1.data[$index] = $element;
                $this.$size0 = var$4 + 1 | 0;
                $this.$modCount0 = $this.$modCount0 + 1 | 0;
                return;
            }
        }
        $element = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0($element);
        $rt_throw($element);
    }
    function ju_ArrayList_remove($this, $i) {
        var var$2, $old, var$4, $i_0;
        ju_ArrayList_checkIndex($this, $i);
        var$2 = $this.$array1.data;
        $old = var$2[$i];
        var$4 = $this.$size0 - 1 | 0;
        $this.$size0 = var$4;
        while ($i < var$4) {
            $i_0 = $i + 1 | 0;
            var$2[$i] = var$2[$i_0];
            $i = $i_0;
        }
        var$2[var$4] = null;
        $this.$modCount0 = $this.$modCount0 + 1 | 0;
        return $old;
    }
    function ju_ArrayList_remove0($this, $o) {
        var var$2, $index, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$index = $thread.pop();var$2 = $thread.pop();$o = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$size0;
            $index = 0;
            if ($index >= var$2) {
                $index = (-1);
                if ($index < 0)
                    return 0;
                ju_ArrayList_remove($this, $index);
                return 1;
            }
            var$4 = ju_ArrayList_get($this, $index);
            $ptr = 1;
        case 1:
            $tmp = ju_Objects_equals($o, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (!var$5) {
                $index = $index + 1 | 0;
                if ($index < var$2) {
                    var$4 = ju_ArrayList_get($this, $index);
                    continue main;
                }
                $index = (-1);
            }
            if ($index < 0)
                return 0;
            ju_ArrayList_remove($this, $index);
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $o, var$2, $index, var$4, var$5, $ptr);
    }
    function ju_ArrayList_clear($this) {
        ju_Arrays_fill($this.$array1, 0, $this.$size0, null);
        $this.$size0 = 0;
        $this.$modCount0 = $this.$modCount0 + 1 | 0;
    }
    function ju_ArrayList_checkIndex($this, $index) {
        var var$2;
        if ($index >= 0 && $index < $this.$size0)
            return;
        var$2 = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0(var$2);
        $rt_throw(var$2);
    }
    function ju_ArrayList_toString($this) {
        var $i, $length, $buffer, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$buffer = $thread.pop();$length = $thread.pop();$i = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $i = $this.$size0;
            if (!$i)
                return $rt_s(4);
            $length = $i - 1 | 0;
            $buffer = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_2($buffer, $i * 16 | 0);
            jl_AbstractStringBuilder_append($buffer, 91);
            $i = 0;
            if ($i >= $length) {
                var$4 = $this.$array1.data;
                var$5 = var$4[$length] !== $this ? var$4[$length] : $rt_s(362);
                $ptr = 1;
                continue main;
            }
            var$4 = $this.$array1.data;
            var$5 = var$4[$i] !== $this ? var$4[$i] : $rt_s(362);
            $ptr = 3;
            continue main;
        case 1:
            jl_StringBuilder_append($buffer, var$5);
            if ($rt_suspending()) {
                break main;
            }
            jl_AbstractStringBuilder_append($buffer, 93);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString($buffer);
            if ($rt_suspending()) {
                break main;
            }
            $buffer = $tmp;
            return $buffer;
        case 3:
            $tmp = jl_StringBuilder_append($buffer, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            jl_AbstractStringBuilder_append2(var$5, $rt_s(107));
            $i = $i + 1 | 0;
            if ($i >= $length) {
                var$4 = $this.$array1.data;
                var$5 = var$4[$length] !== $this ? var$4[$length] : $rt_s(362);
                $ptr = 1;
                continue main;
            }
            var$4 = $this.$array1.data;
            var$5 = var$4[$i] !== $this ? var$4[$i] : $rt_s(362);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $i, $length, $buffer, var$4, var$5, $ptr);
    }
    function ju_ArrayList_hashCode($this) {
        var $i, $result, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$result = $thread.pop();$i = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $i = 0;
            if ($i >= $this.$size0)
                return 1;
            $result = 31 * 1 | 0;
            var$3 = $this.$array1.data[$i];
            $ptr = 1;
        case 1:
            $tmp = ju_Objects_hashCode(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $result = $result + var$4 | 0;
            $i = $i + 1 | 0;
            if ($i >= $this.$size0)
                return $result;
            $result = 31 * $result | 0;
            var$3 = $this.$array1.data[$i];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $i, $result, var$3, var$4, $ptr);
    }
    var nleib_EaglerArrayBufferAllocator = $rt_classWithoutFields();
    var nleib_EaglerArrayBufferAllocator_ZERO_LENGTH_BYTE_BUFFER = null;
    var nleib_EaglerArrayBufferAllocator_ZERO_LENGTH_INT_BUFFER = null;
    var nleib_EaglerArrayBufferAllocator_ZERO_LENGTH_FLOAT_BUFFER = null;
    function nleib_EaglerArrayBufferAllocator_$callClinit() {
        nleib_EaglerArrayBufferAllocator_$callClinit = $rt_eraseClinit(nleib_EaglerArrayBufferAllocator);
        nleib_EaglerArrayBufferAllocator__clinit_();
    }
    function nleib_EaglerArrayBufferAllocator__init_0() {
        var var_0 = new nleib_EaglerArrayBufferAllocator();
        nleib_EaglerArrayBufferAllocator__init_(var_0);
        return var_0;
    }
    function nleib_EaglerArrayBufferAllocator__init_($this) {
        nleib_EaglerArrayBufferAllocator_$callClinit();
    }
    function nleib_EaglerArrayBufferAllocator_wrapByteBufferTeaVM($typedArray) {
        nleib_EaglerArrayBufferAllocator_$callClinit();
        return nleib_EaglerArrayByteBuffer__init_($typedArray);
    }
    function nleib_EaglerArrayBufferAllocator_getDataView8($b) {
        var $d, $p, $l, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$l = $thread.pop();$p = $thread.pop();$d = $thread.pop();$b = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleib_EaglerArrayBufferAllocator_$callClinit();
            if ($b instanceof nleib_EaglerArrayByteBuffer) {
                $d = $b.$typedArray0;
                $p = $b.$position2;
                $l = $b.$limit2;
                if (!$p && $l == $b.$capacity1)
                    return $d;
                $d.byteOffset;
                $b = $d.buffer;
                var$5 = $d.byteOffset + $p | 0;
                $p = $l - $p | 0;
                return new $rt_globals.Int8Array($b, var$5, $p);
            }
            $ptr = 1;
        case 1:
            $tmp = nleib_EaglerArrayBufferAllocator_notEagler($b);
            if ($rt_suspending()) {
                break main;
            }
            $b = $tmp;
            $rt_throw($b);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($b, $d, $p, $l, var$5, $ptr);
    }
    function nleib_EaglerArrayBufferAllocator_getDataView8Unsigned($b) {
        var $d, $p, $i, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$i = $thread.pop();$p = $thread.pop();$d = $thread.pop();$b = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleib_EaglerArrayBufferAllocator_$callClinit();
            if ($b instanceof nleib_EaglerArrayByteBuffer) {
                $d = $b.$typedArray0;
                $p = $b.$position2;
                $i = $d.byteOffset;
                $d = $d.buffer;
                $i = $i + $p | 0;
                $p = $b.$limit2 - $p | 0;
                return new $rt_globals.Uint8Array($d, $i, $p);
            }
            $ptr = 1;
        case 1:
            $tmp = nleib_EaglerArrayBufferAllocator_notEagler($b);
            if ($rt_suspending()) {
                break main;
            }
            $b = $tmp;
            $rt_throw($b);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($b, $d, $p, $i, $ptr);
    }
    function nleib_EaglerArrayBufferAllocator_getDataView32F($b) {
        var $d, $p, $l, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$l = $thread.pop();$p = $thread.pop();$d = $thread.pop();$b = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleib_EaglerArrayBufferAllocator_$callClinit();
            if ($b instanceof nleib_EaglerArrayFloatBuffer) {
                $d = $b.$typedArray1;
                $p = $b.$position0;
                $l = $b.$limit0;
                if (!$p && $l == $b.$capacity2)
                    return $d;
                $b = $d.buffer;
                var$5 = $d.byteOffset + ($p << 2) | 0;
                $p = $l - $p | 0;
                return new $rt_globals.Float32Array($b, var$5, $p);
            }
            $ptr = 1;
        case 1:
            $tmp = nleib_EaglerArrayBufferAllocator_notEagler($b);
            if ($rt_suspending()) {
                break main;
            }
            $b = $tmp;
            $rt_throw($b);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($b, $d, $p, $l, var$5, $ptr);
    }
    function nleib_EaglerArrayBufferAllocator_notEagler($clazz) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$clazz = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleib_EaglerArrayBufferAllocator_$callClinit();
            var$2 = new nleib_EaglerArrayBufferAllocator$WrongBufferClassType;
            $clazz = jl_Object_getClass($clazz);
            $ptr = 1;
        case 1:
            $tmp = jl_Class_getSimpleName($clazz);
            if ($rt_suspending()) {
                break main;
            }
            $clazz = $tmp;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$4 = $rt_s(719);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$4, $clazz);
            if ($rt_suspending()) {
                break main;
            }
            $clazz = $tmp;
            var$4 = $rt_s(720);
            $ptr = 4;
        case 4:
            jl_StringBuilder_append($clazz, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $clazz = $tmp;
            jl_Throwable__init_(var$2, $clazz);
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($clazz, var$2, var$3, var$4, $ptr);
    }
    function nleib_EaglerArrayBufferAllocator__clinit_() {
        nleib_EaglerArrayBufferAllocator_ZERO_LENGTH_BYTE_BUFFER = nleib_EaglerArrayByteBuffer__init_(new $rt_globals.Int8Array(0));
        nleib_EaglerArrayBufferAllocator_ZERO_LENGTH_INT_BUFFER = nleib_EaglerArrayIntBuffer__init_(new $rt_globals.Int32Array(0));
        nleib_EaglerArrayBufferAllocator_ZERO_LENGTH_FLOAT_BUFFER = nleib_EaglerArrayFloatBuffer__init_(new $rt_globals.Float32Array(0));
    }
    var ju_Comparator$NaturalOrder = $rt_classWithoutFields();
    var ju_Comparator$NaturalOrder_INSTANCE = null;
    function ju_Comparator$NaturalOrder__init_0() {
        var var_0 = new ju_Comparator$NaturalOrder();
        ju_Comparator$NaturalOrder__init_(var_0);
        return var_0;
    }
    function ju_Comparator$NaturalOrder__init_($this) {}
    function ju_Comparator$NaturalOrder_compare($this, $o1, $o2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$o2 = $thread.pop();$o1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $o1 = $o1;
            $ptr = 1;
        case 1:
            $tmp = $o1.$compareTo2($o2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $o1, $o2, var$3, $ptr);
    }
    function ju_Comparator$NaturalOrder__clinit_() {
        ju_Comparator$NaturalOrder_INSTANCE = new ju_Comparator$NaturalOrder;
    }
    var nleib_Buffer = $rt_classWithoutFields(0);
    function nleib_Buffer_makeIOOBE($idx) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$idx = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new jl_IndexOutOfBoundsException;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$4 = $rt_s(721);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_AbstractStringBuilder_append0(var$4, $idx);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_Throwable__init_(var$2, var$3);
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($idx, var$2, var$3, var$4, $ptr);
    }
    var nleib_ByteBuffer = $rt_classWithoutFields();
    function nle_BaseNCodec() {
        var a = this; jl_Object.call(a);
        a.$PAD = 61;
        a.$pad = 0;
        a.$unencodedBlockSize = 0;
        a.$encodedBlockSize = 0;
        a.$lineLength = 0;
        a.$chunkSeparatorLength = 0;
        a.$decodingPolicy = null;
    }
    var nle_BaseNCodec_CHUNK_SEPARATOR = null;
    function nle_BaseNCodec_compareUnsigned($xx, $yy) {
        $xx = $rt_compare($xx + (-2147483648) | 0, $yy + (-2147483648) | 0);
        return $xx < 0 ? (-1) : $xx ? 1 : 0;
    }
    function nle_BaseNCodec_ensureBufferSize($this, $size, $context) {
        var var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$context = $thread.pop();$size = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $context.$buffer4;
            if (var$3 === null) {
                $context.$buffer4 = $rt_createByteArray(jl_Math_max($size, 8192));
                $context.$pos0 = 0;
                $context.$readPos = 0;
            } else {
                var$3 = var$3.data;
                $size = $context.$pos0 + $size | 0;
                var$4 = var$3.length;
                if (($size - var$4 | 0) > 0) {
                    var$4 = var$4 * 2 | 0;
                    if (nle_BaseNCodec_compareUnsigned(var$4, $size) < 0)
                        var$4 = $size;
                    if (nle_BaseNCodec_compareUnsigned(var$4, 2147483639) <= 0)
                        $size = var$4;
                    else {
                        if ($size < 0) {
                            $context = new jl_OutOfMemoryError;
                            var$5 = Long_and(Long_fromInt($size), Long_create(4294967295, 0));
                            var$6 = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_(var$6);
                            var$7 = $rt_s(722);
                            $ptr = 1;
                            continue main;
                        }
                        if ($size <= 2147483639)
                            $size = 2147483639;
                    }
                    var$3 = $rt_createByteArray($size);
                    var$8 = $context.$buffer4;
                    jl_System_fastArraycopy(var$8, 0, var$3, 0, var$8.data.length);
                    $context.$buffer4 = var$3;
                    return var$3;
                }
            }
            return $context.$buffer4;
        case 1:
            $tmp = jl_StringBuilder_append(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_StringBuilder_append2(var$7, var$5);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_($context, var$6);
            $rt_throw($context);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $size, $context, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nle_BaseNCodec_isStrictDecoding($this) {
        var var$1;
        var$1 = $this.$decodingPolicy;
        nle_BaseNCodec$CodecPolicy_$callClinit();
        return var$1 !== nle_BaseNCodec$CodecPolicy_STRICT ? 0 : 1;
    }
    function nle_BaseNCodec_readResults($this, $b, $bPos, $bAvail, $context) {
        var $len;
        if ($context.$buffer4 === null)
            return !$context.$eof ? 0 : (-1);
        $len = jl_Math_min($context.$pos0 - $context.$readPos | 0, $bAvail);
        jl_System_fastArraycopy($context.$buffer4, $context.$readPos, $b, $bPos, $len);
        $bPos = $context.$readPos + $len | 0;
        $context.$readPos = $bPos;
        if ($bPos >= $context.$pos0)
            $context.$buffer4 = null;
        return $len;
    }
    function nle_BaseNCodec__clinit_() {
        nle_BaseNCodec_CHUNK_SEPARATOR = $rt_createByteArrayFromData([13, 10]);
    }
    function nle_Base64() {
        var a = this; nle_BaseNCodec.call(a);
        a.$encodeTable = null;
        a.$decodeTable = null;
        a.$lineSeparator = null;
        a.$decodeSize = 0;
        a.$encodeSize = 0;
    }
    var nle_Base64_STANDARD_ENCODE_TABLE = null;
    var nle_Base64_URL_SAFE_ENCODE_TABLE = null;
    var nle_Base64_DECODE_TABLE = null;
    function nle_Base64__init_0() {
        var var_0 = new nle_Base64();
        nle_Base64__init_(var_0);
        return var_0;
    }
    function nle_Base64__init_1(var_0, var_1, var_2) {
        var var_3 = new nle_Base64();
        nle_Base64__init_2(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nle_Base64_decodeBase64($base64String) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$base64String = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nle_Base64;
            $ptr = 1;
        case 1:
            nle_Base64__init_(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $rt_s(669);
            $ptr = 2;
        case 2:
            $tmp = jnc_Charset_forName(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = jl_String_getBytes0($base64String, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4 !== null) {
                var$5 = var$4.data.length;
                if (var$5) {
                    $base64String = new nle_BaseNCodec$Context;
                    var$6 = 0;
                    $ptr = 4;
                    continue main;
                }
            }
            return var$4;
        case 4:
            nle_Base64_decode(var$2, var$4, var$6, var$5, $base64String);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 0;
            var$5 = (-1);
            $ptr = 5;
        case 5:
            nle_Base64_decode(var$2, var$4, var$6, var$5, $base64String);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $rt_createByteArray($base64String.$pos0);
            nle_BaseNCodec_readResults(var$2, var$4, 0, var$4.data.length, $base64String);
            return var$4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($base64String, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nle_Base64_encodeBase64String($binaryData) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$binaryData = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new jl_String;
            var$3 = 0;
            var$4 = 2147483647;
            if ($binaryData !== null) {
                var$5 = $binaryData.data.length;
                if (var$5) {
                    var$6 = new nle_Base64;
                    var$7 = 0;
                    var$8 = nle_BaseNCodec_CHUNK_SEPARATOR;
                    $ptr = 3;
                    continue main;
                }
            }
            var$6 = $rt_s(669);
            $ptr = 1;
        case 1:
            $tmp = jnc_Charset_forName(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 2;
        case 2:
            jl_String__init_6(var$2, $binaryData, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        case 3:
            nle_Base64__init_2(var$6, var$7, var$8, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = var$6.$unencodedBlockSize;
            var$9 = Long_mul(Long_fromInt(((var$5 + var$3 | 0) - 1 | 0) / var$3 | 0), Long_fromInt(var$6.$encodedBlockSize));
            var$3 = var$6.$lineLength;
            if (var$3 > 0) {
                var$10 = Long_fromInt(var$3);
                var$9 = Long_add(var$9, Long_mul(Long_div(Long_sub(Long_add(var$9, var$10), Long_fromInt(1)), var$10), Long_fromInt(var$6.$chunkSeparatorLength)));
            }
            if (Long_gt(var$9, Long_fromInt(2147483647))) {
                var$2 = new jl_IllegalArgumentException;
                var$6 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$6);
                var$11 = $rt_s(723);
                $ptr = 4;
                continue main;
            }
            if (var$5) {
                var$3 = 0;
                if (var$5) {
                    var$11 = new nle_BaseNCodec$Context;
                    $ptr = 7;
                    continue main;
                }
            }
            var$6 = $rt_s(669);
            $ptr = 1;
            continue main;
        case 4:
            $tmp = jl_StringBuilder_append(var$6, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            var$11 = jl_StringBuilder_append2(var$11, var$9);
            var$12 = $rt_s(724);
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append(var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            jl_AbstractStringBuilder_append0(var$11, var$4);
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_(var$2, var$6);
            $rt_throw(var$2);
        case 7:
            nle_Base64_encode(var$6, $binaryData, var$3, var$5, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = (-1);
            $ptr = 8;
        case 8:
            nle_Base64_encode(var$6, $binaryData, var$3, var$4, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $binaryData = $rt_createByteArray(var$11.$pos0 - var$11.$readPos | 0);
            nle_BaseNCodec_readResults(var$6, $binaryData, 0, $binaryData.data.length, var$11);
            var$6 = $rt_s(669);
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($binaryData, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function nle_Base64__init_($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 0;
            var$2 = nle_BaseNCodec_CHUNK_SEPARATOR;
            var$3 = 0;
            $ptr = 1;
        case 1:
            nle_Base64__init_2($this, var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nle_Base64__init_2($this, $lineLength, $lineSeparator, $urlSafe) {
        var var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$urlSafe = $thread.pop();$lineSeparator = $thread.pop();$lineLength = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nle_BaseNCodec$CodecPolicy_$callClinit();
            var$4 = nle_BaseNCodec$CodecPolicy_LENIANT;
            var$5 = $lineSeparator === null ? 0 : $lineSeparator.data.length;
            $this.$PAD = 61;
            $this.$unencodedBlockSize = 3;
            $this.$encodedBlockSize = 4;
            $this.$lineLength = !($lineLength > 0 && var$5 > 0 ? 1 : 0) ? 0 : ($lineLength / 4 | 0) * 4 | 0;
            $this.$chunkSeparatorLength = var$5;
            $this.$pad = 61;
            $this.$decodingPolicy = var$4;
            var$6 = nle_Base64_DECODE_TABLE;
            $this.$decodeTable = var$6;
            if ($lineSeparator === null) {
                $this.$encodeSize = 4;
                $this.$lineSeparator = null;
            } else {
                var$7 = 0;
                a: {
                    b: {
                        while (true) {
                            var$8 = $lineSeparator.data;
                            var$5 = var$8.length;
                            if (var$7 >= var$5)
                                break;
                            var$9 = var$8[var$7];
                            if (61 == var$9)
                                break b;
                            c: {
                                if (var$9 >= 0) {
                                    var$8 = var$6.data;
                                    if (var$9 < var$8.length && var$8[var$9] != (-1)) {
                                        var$9 = 1;
                                        break c;
                                    }
                                }
                                var$9 = 0;
                            }
                            if (var$9)
                                break b;
                            var$7 = var$7 + 1 | 0;
                        }
                        var$7 = 0;
                        break a;
                    }
                    var$7 = 1;
                }
                if (var$7) {
                    var$4 = new jl_String;
                    var$10 = $rt_s(669);
                    $ptr = 1;
                    continue main;
                }
                if ($lineLength <= 0) {
                    $this.$encodeSize = 4;
                    $this.$lineSeparator = null;
                } else {
                    $this.$encodeSize = 4 + var$5 | 0;
                    var$6 = $rt_createByteArray(var$5);
                    $this.$lineSeparator = var$6;
                    jl_System_fastArraycopy($lineSeparator, 0, var$6, 0, var$5);
                }
            }
            $this.$decodeSize = $this.$encodeSize - 1 | 0;
            $this.$encodeTable = !$urlSafe ? nle_Base64_STANDARD_ENCODE_TABLE : nle_Base64_URL_SAFE_ENCODE_TABLE;
            return;
        case 1:
            $tmp = jnc_Charset_forName(var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 2;
        case 2:
            jl_String__init_6(var$4, $lineSeparator, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = new jl_IllegalArgumentException;
            var$11 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$11);
            var$12 = $rt_s(725);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append(var$12, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_AbstractStringBuilder_append(var$4, 93);
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_Throwable__init_(var$10, var$4);
            $rt_throw(var$10);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $lineLength, $lineSeparator, $urlSafe, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function nle_Base64_decode($this, $in, $inPos, $inAvail, $context) {
        var $i, var$6, var$7, $buffer, $b, $result, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$result = $thread.pop();$b = $thread.pop();$buffer = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$i = $thread.pop();$context = $thread.pop();$inAvail = $thread.pop();$inPos = $thread.pop();$in = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($context.$eof)
                return;
            if ($inAvail < 0)
                $context.$eof = 1;
            $i = 0;
            if ($i < $inAvail) {
                var$6 = $in.data;
                var$7 = $this.$decodeSize;
                $ptr = 1;
                continue main;
            }
            if ($context.$eof && $context.$modulus) {
                $inPos = $this.$decodeSize;
                $ptr = 2;
                continue main;
            }
            return;
        case 1:
            $tmp = nle_BaseNCodec_ensureBufferSize($this, var$7, $context);
            if ($rt_suspending()) {
                break main;
            }
            $buffer = $tmp;
            var$7 = $inPos + 1 | 0;
            $b = var$6[$inPos];
            if ($b == $this.$pad)
                $context.$eof = 1;
            else {
                if ($b >= 0) {
                    var$6 = nle_Base64_DECODE_TABLE.data;
                    if ($b < var$6.length) {
                        $result = var$6[$b];
                        if ($result >= 0) {
                            $inPos = ($context.$modulus + 1 | 0) % 4 | 0;
                            $context.$modulus = $inPos;
                            $b = ($context.$ibitWorkArea << 6) + $result | 0;
                            $context.$ibitWorkArea = $b;
                            if (!$inPos) {
                                $buffer = $buffer.data;
                                $inPos = $context.$pos0;
                                $result = $inPos + 1 | 0;
                                $context.$pos0 = $result;
                                $buffer[$inPos] = ($b >> 16 & 255) << 24 >> 24;
                                var$11 = $result + 1 | 0;
                                $context.$pos0 = var$11;
                                $buffer[$result] = ($b >> 8 & 255) << 24 >> 24;
                                $context.$pos0 = var$11 + 1 | 0;
                                $buffer[var$11] = ($b & 255) << 24 >> 24;
                            }
                        }
                    }
                }
                $i = $i + 1 | 0;
                $inPos = var$7;
                if ($i < $inAvail) {
                    var$6 = $in.data;
                    var$7 = $this.$decodeSize;
                    continue main;
                }
            }
            if ($context.$eof && $context.$modulus) {
                $inPos = $this.$decodeSize;
                $ptr = 2;
                continue main;
            }
            return;
        case 2:
            a: {
                $tmp = nle_BaseNCodec_ensureBufferSize($this, $inPos, $context);
                if ($rt_suspending()) {
                    break main;
                }
                $buffer = $tmp;
                $inPos = $context.$modulus;
                switch ($inPos) {
                    case 1:
                        break;
                    case 2:
                        $in = $buffer.data;
                        nle_Base64_validateCharacter($this, 15, $context);
                        $inAvail = $context.$ibitWorkArea >> 4;
                        $context.$ibitWorkArea = $inAvail;
                        var$7 = $context.$pos0;
                        $context.$pos0 = var$7 + 1 | 0;
                        $in[var$7] = ($inAvail & 255) << 24 >> 24;
                        break a;
                    case 3:
                        $in = $buffer.data;
                        nle_Base64_validateCharacter($this, 3, $context);
                        $b = $context.$ibitWorkArea >> 2;
                        $context.$ibitWorkArea = $b;
                        $result = $context.$pos0;
                        $inPos = $result + 1 | 0;
                        $context.$pos0 = $inPos;
                        $in[$result] = ($b >> 8 & 255) << 24 >> 24;
                        $context.$pos0 = $inPos + 1 | 0;
                        $in[$inPos] = ($b & 255) << 24 >> 24;
                        break a;
                    default:
                        $context = new jl_IllegalStateException;
                        var$12 = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_(var$12);
                        var$13 = $rt_s(726);
                        $ptr = 3;
                        continue main;
                }
                if (nle_BaseNCodec_isStrictDecoding($this)) {
                    var$12 = new jl_IllegalArgumentException;
                    jl_Throwable__init_(var$12, $rt_s(727));
                    $rt_throw(var$12);
                }
            }
            return;
        case 3:
            $tmp = jl_StringBuilder_append(var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            jl_AbstractStringBuilder_append0(var$13, $inPos);
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            jl_Throwable__init_($context, var$12);
            $rt_throw($context);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $in, $inPos, $inAvail, $context, $i, var$6, var$7, $buffer, $b, $result, var$11, var$12, var$13, $ptr);
    }
    function nle_Base64_encode($this, $in, $inPos, $inAvail, $context) {
        var $i, $buffer, $b, $savedPos, $buffer_0, var$10, var$11, var$12, var$13, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$buffer_0 = $thread.pop();$savedPos = $thread.pop();$b = $thread.pop();$buffer = $thread.pop();$i = $thread.pop();$context = $thread.pop();$inAvail = $thread.pop();$inPos = $thread.pop();$in = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($context.$eof)
                return;
            if ($inAvail >= 0) {
                $i = 0;
                if ($i >= $inAvail)
                    return;
                $buffer = $in.data;
                $b = $this.$encodeSize;
                $ptr = 2;
                continue main;
            }
            $context.$eof = 1;
            if (0 == $context.$modulus && !$this.$lineLength)
                return;
            $inPos = $this.$encodeSize;
            $ptr = 1;
        case 1:
            a: {
                b: {
                    $tmp = nle_BaseNCodec_ensureBufferSize($this, $inPos, $context);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $buffer = $tmp;
                    $savedPos = $context.$pos0;
                    $inPos = $context.$modulus;
                    switch ($inPos) {
                        case 0:
                            break;
                        case 1:
                            $buffer_0 = $buffer.data;
                            $inPos = $savedPos + 1 | 0;
                            $context.$pos0 = $inPos;
                            $in = $this.$encodeTable;
                            var$10 = $in.data;
                            $inAvail = $context.$ibitWorkArea;
                            $buffer_0[$savedPos] = var$10[$inAvail >> 2 & 63];
                            $b = $inPos + 1 | 0;
                            $context.$pos0 = $b;
                            $buffer_0[$inPos] = var$10[$inAvail << 4 & 63];
                            if ($in !== nle_Base64_STANDARD_ENCODE_TABLE)
                                break a;
                            $inPos = $b + 1 | 0;
                            $context.$pos0 = $inPos;
                            $inAvail = $this.$pad;
                            $buffer_0[$b] = $inAvail;
                            $context.$pos0 = $inPos + 1 | 0;
                            $buffer_0[$inPos] = $inAvail;
                            break a;
                        case 2:
                            break b;
                        default:
                            $context = new jl_IllegalStateException;
                            var$11 = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_(var$11);
                            var$12 = $rt_s(726);
                            $ptr = 3;
                            continue main;
                    }
                    break a;
                }
                $buffer_0 = $buffer.data;
                $inPos = $savedPos + 1 | 0;
                $context.$pos0 = $inPos;
                $in = $this.$encodeTable;
                var$10 = $in.data;
                $inAvail = $context.$ibitWorkArea;
                $buffer_0[$savedPos] = var$10[$inAvail >> 10 & 63];
                $b = $inPos + 1 | 0;
                $context.$pos0 = $b;
                $buffer_0[$inPos] = var$10[$inAvail >> 4 & 63];
                $inPos = $b + 1 | 0;
                $context.$pos0 = $inPos;
                $buffer_0[$b] = var$10[$inAvail << 2 & 63];
                if ($in === nle_Base64_STANDARD_ENCODE_TABLE) {
                    $context.$pos0 = $inPos + 1 | 0;
                    $buffer_0[$inPos] = $this.$pad;
                }
            }
            $inPos = $context.$currentLinePos;
            $inAvail = $context.$pos0;
            $inPos = $inPos + ($inAvail - $savedPos | 0) | 0;
            $context.$currentLinePos = $inPos;
            if ($this.$lineLength > 0 && $inPos > 0) {
                $in = $this.$lineSeparator;
                jl_System_fastArraycopy($in, 0, $buffer, $inAvail, $in.data.length);
                $context.$pos0 = $context.$pos0 + $this.$lineSeparator.data.length | 0;
            }
            return;
        case 2:
            $tmp = nle_BaseNCodec_ensureBufferSize($this, $b, $context);
            if ($rt_suspending()) {
                break main;
            }
            $buffer_0 = $tmp;
            var$13 = ($context.$modulus + 1 | 0) % 3 | 0;
            $context.$modulus = var$13;
            var$14 = $inPos + 1 | 0;
            $b = $buffer[$inPos];
            if ($b < 0)
                $b = $b + 256 | 0;
            $inPos = ($context.$ibitWorkArea << 8) + $b | 0;
            $context.$ibitWorkArea = $inPos;
            if (0 == var$13) {
                var$10 = $buffer_0.data;
                $b = $context.$pos0;
                $savedPos = $b + 1 | 0;
                $context.$pos0 = $savedPos;
                $buffer = $this.$encodeTable.data;
                var$10[$b] = $buffer[$inPos >> 18 & 63];
                $b = $savedPos + 1 | 0;
                $context.$pos0 = $b;
                var$10[$savedPos] = $buffer[$inPos >> 12 & 63];
                var$13 = $b + 1 | 0;
                $context.$pos0 = var$13;
                var$10[$b] = $buffer[$inPos >> 6 & 63];
                $b = var$13 + 1 | 0;
                $context.$pos0 = $b;
                var$10[var$13] = $buffer[$inPos & 63];
                $inPos = $context.$currentLinePos + 4 | 0;
                $context.$currentLinePos = $inPos;
                $savedPos = $this.$lineLength;
                if ($savedPos > 0 && $savedPos <= $inPos) {
                    $buffer = $this.$lineSeparator;
                    jl_System_fastArraycopy($buffer, 0, $buffer_0, $b, $buffer.data.length);
                    $context.$pos0 = $context.$pos0 + $this.$lineSeparator.data.length | 0;
                    $context.$currentLinePos = 0;
                }
            }
            $i = $i + 1 | 0;
            $inPos = var$14;
            if ($i >= $inAvail)
                return;
            $buffer = $in.data;
            $b = $this.$encodeSize;
            continue main;
        case 3:
            $tmp = jl_StringBuilder_append(var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            jl_AbstractStringBuilder_append0(var$12, $inPos);
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            jl_Throwable__init_($context, var$11);
            $rt_throw($context);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $in, $inPos, $inAvail, $context, $i, $buffer, $b, $savedPos, $buffer_0, var$10, var$11, var$12, var$13, var$14, $ptr);
    }
    function nle_Base64_validateCharacter($this, $emptyBitsMask, $context) {
        var var$3;
        if (nle_BaseNCodec_isStrictDecoding($this) && $context.$ibitWorkArea & $emptyBitsMask) {
            var$3 = new jl_IllegalArgumentException;
            jl_Throwable__init_(var$3, $rt_s(728));
            $rt_throw(var$3);
        }
    }
    function nle_Base64__clinit_() {
        nle_Base64_STANDARD_ENCODE_TABLE = $rt_createByteArrayFromData([65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47]);
        nle_Base64_URL_SAFE_ENCODE_TABLE = $rt_createByteArrayFromData([65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 45, 95]);
        nle_Base64_DECODE_TABLE = $rt_createByteArrayFromData([(-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), 62, (-1), 62, (-1), 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, (-1), (-1), (-1), (-1), (-1), (-1), (-1), 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
        24, 25, (-1), (-1), (-1), (-1), 63, (-1), 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51]);
    }
    function nleo_ImageData() {
        var a = this; jl_Object.call(a);
        a.$width0 = 0;
        a.$height0 = 0;
        a.$pixels = null;
        a.$alpha = 0;
    }
    function nleo_ImageData_loadImageFile($path) {
        var $fileData, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$fileData = $thread.pop();$path = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformAssets_getResourceBytes($path);
            if ($rt_suspending()) {
                break main;
            }
            $fileData = $tmp;
            if ($fileData === null)
                return null;
            $ptr = 3;
        case 3:
            $tmp = nlei_PlatformAssets_loadImageFile($fileData);
            if ($rt_suspending()) {
                break main;
            }
            $path = $tmp;
            return $path;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($path, $fileData, $ptr);
    }
    function nleo_ImageData_loadImageFile0($data) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$data = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(440);
            $ptr = 1;
        case 1:
            $tmp = nle_EaglerInputStream_inputStreamToBytesQuiet($data);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3 === null)
                return null;
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformAssets_loadImageFile0(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $data = $tmp;
            return $data;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($data, var$2, var$3, $ptr);
    }
    function nleo_ImageData_getRGB($this, $startX, $startY, $w, $h, $rgbArray, $offset, $scansize) {
        var $y;
        $y = 0;
        while ($y < $h) {
            jl_System_fastArraycopy($this.$pixels, ($offset + $rt_imul($y + $startY | 0, $scansize) | 0) + $startX | 0, $rgbArray, $rt_imul($y, $w), $w);
            $y = $y + 1 | 0;
        }
    }
    function nleo_ImageData_drawLayer($this, $input, $dx1, $dy1, $dx2, $dy2, $sx1, $sy1, $sx2, $sy2) {
        var var$10, var$11, $y, $x, $si, $di, $spx, var$17, $dpx, $sa, $da, $r, $g, $b, $aa;
        var$10 = $sx2 - $sx1 | 0;
        if (var$10 != ($dx2 - $dx1 | 0)) {
            $input = new jl_IllegalArgumentException;
            jl_Throwable__init_($input, $rt_s(729));
            $rt_throw($input);
        }
        var$11 = $sy2 - $sy1 | 0;
        if (var$11 != ($dy2 - $dy1 | 0)) {
            $input = new jl_IllegalArgumentException;
            jl_Throwable__init_($input, $rt_s(730));
            $rt_throw($input);
        }
        $y = 0;
        while ($y < var$11) {
            $x = 0;
            while ($x < var$10) {
                $si = ($rt_imul($sy1 + $y | 0, var$10) + $sx1 | 0) + $x | 0;
                $di = ($rt_imul($dy1 + $y | 0, var$10) + $dx1 | 0) + $x | 0;
                $spx = $input.$pixels.data[$si];
                var$17 = $this.$pixels.data;
                $dpx = var$17[$di];
                if (($spx & (-16777216)) != (-16777216) && $dpx & (-16777216)) {
                    $sa = ($spx >>> 24 | 0) & 255;
                    $da = ($dpx >>> 24 | 0) & 255;
                    $r = $rt_imul(($spx >>> 16 | 0) & 255, $sa) / 255 | 0;
                    $g = $rt_imul(($spx >>> 8 | 0) & 255, $sa) / 255 | 0;
                    $b = $rt_imul($spx & 255, $sa) / 255 | 0;
                    $aa = $rt_imul(255 - $sa | 0, $da);
                    $dx2 = $r + ($rt_imul(($dpx >>> 16 | 0) & 255, $aa) / 65025 | 0) | 0;
                    $dy2 = $g + ($rt_imul(($dpx >>> 8 | 0) & 255, $aa) / 65025 | 0) | 0;
                    $sx2 = $b + ($rt_imul($dpx & 255, $aa) / 65025 | 0) | 0;
                    $sy2 = $sa + $da | 0;
                    if ($sy2 > 255)
                        $sy2 = 255;
                    var$17[$di] = $sy2 << 24 | $dx2 << 16 | $dy2 << 8 | $sx2;
                } else
                    var$17[$di] = $spx;
                $x = $x + 1 | 0;
            }
            $y = $y + 1 | 0;
        }
    }
    function nleo_ImageData_swapRB($this) {
        var $i, var$2, $j;
        $i = 0;
        while (true) {
            var$2 = $this.$pixels.data;
            if ($i >= var$2.length)
                break;
            $j = var$2[$i];
            var$2[$i] = $j & (-16711936) | (($j & 16711680) >>> 16 | 0) | ($j & 255) << 16;
            $i = $i + 1 | 0;
        }
        return $this;
    }
    var nle_EagUtils = $rt_classWithoutFields();
    var nle_EagUtils_splitPattern = null;
    var nle_EagUtils_$clinitCalled = false;
    function nle_EagUtils_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nle_EagUtils_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nle_EagUtils_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nle_EagUtils__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nle_EagUtils_$callClinit = $rt_eraseClinit(nle_EagUtils);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nle_EagUtils__init_0() {
        var var_0 = new nle_EagUtils();
        nle_EagUtils__init_(var_0);
        return var_0;
    }
    function nle_EagUtils__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagUtils_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nle_EagUtils_sleep($millis) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$millis = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_EagUtils_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformRuntime_sleep($millis);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($millis, $ptr);
    }
    function nle_EagUtils__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(731);
            $ptr = 1;
        case 1:
            $tmp = jur_Pattern_compile(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nle_EagUtils_splitPattern = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    var ju_Arrays = $rt_classWithoutFields();
    function ju_Arrays__init_0() {
        var var_0 = new ju_Arrays();
        ju_Arrays__init_(var_0);
        return var_0;
    }
    function ju_Arrays__init_($this) {}
    function ju_Arrays_copyOf0($array, $length) {
        var $result, var$4, $sz, $i;
        $array = $array.data;
        $result = $rt_createCharArray($length);
        var$4 = $result.data;
        $sz = jl_Math_min($length, $array.length);
        $i = 0;
        while ($i < $sz) {
            var$4[$i] = $array[$i];
            $i = $i + 1 | 0;
        }
        return $result;
    }
    function ju_Arrays_copyOf1($array, $length) {
        var $result, var$4, $sz, $i;
        $array = $array.data;
        $result = $rt_createByteArray($length);
        var$4 = $result.data;
        $sz = jl_Math_min($length, $array.length);
        $i = 0;
        while ($i < $sz) {
            var$4[$i] = $array[$i];
            $i = $i + 1 | 0;
        }
        return $result;
    }
    function ju_Arrays_copyOf2($array, $length) {
        var $result, var$4, $sz, $i;
        $array = $array.data;
        $result = $rt_createIntArray($length);
        var$4 = $result.data;
        $sz = jl_Math_min($length, $array.length);
        $i = 0;
        while ($i < $sz) {
            var$4[$i] = $array[$i];
            $i = $i + 1 | 0;
        }
        return $result;
    }
    function ju_Arrays_copyOf($original, $newLength) {
        var var$3, $result, $sz, $i;
        var$3 = $original.data;
        $result = jlr_Array_newInstance(jl_Class_getComponentType(jl_Object_getClass($original)), $newLength);
        $sz = jl_Math_min($newLength, var$3.length);
        $i = 0;
        while ($i < $sz) {
            $result.data[$i] = var$3[$i];
            $i = $i + 1 | 0;
        }
        return $result;
    }
    function ju_Arrays_fill0($a, $fromIndex, $toIndex, $val) {
        var var$5, var$6, var$7;
        if ($fromIndex > $toIndex) {
            var$5 = new jl_IllegalArgumentException;
            jl_Throwable__init_0(var$5);
            $rt_throw(var$5);
        }
        while ($fromIndex < $toIndex) {
            var$6 = $a.data;
            var$7 = $fromIndex + 1 | 0;
            var$6[$fromIndex] = $val;
            $fromIndex = var$7;
        }
    }
    function ju_Arrays_fill1($a, $val) {
        ju_Arrays_fill0($a, 0, $a.data.length, $val);
    }
    function ju_Arrays_fill2($a, $fromIndex, $toIndex, $val) {
        var var$5, var$6, var$7;
        if ($fromIndex > $toIndex) {
            var$5 = new jl_IllegalArgumentException;
            jl_Throwable__init_0(var$5);
            $rt_throw(var$5);
        }
        while ($fromIndex < $toIndex) {
            var$6 = $a.data;
            var$7 = $fromIndex + 1 | 0;
            var$6[$fromIndex] = $val;
            $fromIndex = var$7;
        }
    }
    function ju_Arrays_fill($a, $fromIndex, $toIndex, $val) {
        var var$5, var$6;
        if ($fromIndex > $toIndex) {
            $val = new jl_IllegalArgumentException;
            jl_Throwable__init_0($val);
            $rt_throw($val);
        }
        while ($fromIndex < $toIndex) {
            var$5 = $a.data;
            var$6 = $fromIndex + 1 | 0;
            var$5[$fromIndex] = $val;
            $fromIndex = var$6;
        }
    }
    function ju_Arrays_sort($a, $c) {
        var var$3, $second, $chunkSize, var$6, $i, var$8, var$9, var$10, $i_0, var$12, $i_1, var$14, var$15, var$16, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$i_1 = $thread.pop();var$12 = $thread.pop();$i_0 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$i = $thread.pop();var$6 = $thread.pop();$chunkSize = $thread.pop();$second = $thread.pop();var$3 = $thread.pop();$c = $thread.pop();$a = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $a.data.length;
            if (!var$3)
                return;
            if ($c === null)
                $c = ju_Comparator$NaturalOrder_INSTANCE;
            $second = $rt_createArray(jl_Object, var$3);
            $chunkSize = 1;
            var$6 = $a;
            while ($chunkSize < var$3) {
                $i = 0;
                while (true) {
                    var$8 = var$6.data;
                    var$9 = var$8.length;
                    if ($i >= var$9)
                        break;
                    var$10 = jl_Math_min(var$9, $i + $chunkSize | 0);
                    $i_0 = $i + (2 * $chunkSize | 0) | 0;
                    var$12 = jl_Math_min(var$9, $i_0);
                    $i_1 = $i;
                    var$9 = var$10;
                    a: {
                        if ($i == var$10)
                            while (true) {
                                if (var$9 >= var$12)
                                    break a;
                                var$14 = $second.data;
                                $i = $i_1 + 1 | 0;
                                var$15 = var$9 + 1 | 0;
                                var$14[$i_1] = var$8[var$9];
                                $i_1 = $i;
                                var$9 = var$15;
                            }
                        if (var$9 != var$12) {
                            var$16 = var$8[$i];
                            var$17 = var$8[var$9];
                            $ptr = 1;
                            continue main;
                        }
                        while (true) {
                            if ($i >= var$10)
                                break a;
                            var$14 = $second.data;
                            var$9 = $i_1 + 1 | 0;
                            var$15 = $i + 1 | 0;
                            var$14[$i_1] = var$8[$i];
                            $i_1 = var$9;
                            $i = var$15;
                        }
                    }
                    $i = $i_0;
                }
                $chunkSize = $chunkSize * 2 | 0;
                var$8 = var$6;
                var$6 = $second;
                $second = var$8;
            }
            b: {
                if (var$6 !== $a) {
                    $i_1 = 0;
                    while (true) {
                        $a = var$6.data;
                        if ($i_1 >= $a.length)
                            break b;
                        $second.data[$i_1] = $a[$i_1];
                        $i_1 = $i_1 + 1 | 0;
                    }
                }
            }
            return;
        case 1:
            $tmp = $c.$compare(var$16, var$17);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            if (var$15 > 0) {
                var$14 = $second.data;
                var$15 = $i_1 + 1 | 0;
                var$14[$i_1] = var$17;
                var$9 = var$9 + 1 | 0;
            } else {
                var$14 = $second.data;
                var$15 = $i_1 + 1 | 0;
                var$14[$i_1] = var$16;
                $i = $i + 1 | 0;
            }
            $i_1 = var$15;
            c: while (true) {
                d: {
                    if ($i == var$10)
                        while (true) {
                            if (var$9 >= var$12)
                                break d;
                            var$14 = $second.data;
                            $i = $i_1 + 1 | 0;
                            var$15 = var$9 + 1 | 0;
                            var$14[$i_1] = var$8[var$9];
                            $i_1 = $i;
                            var$9 = var$15;
                        }
                    if (var$9 != var$12) {
                        var$16 = var$8[$i];
                        var$17 = var$8[var$9];
                        continue main;
                    }
                    while (true) {
                        if ($i >= var$10)
                            break d;
                        var$14 = $second.data;
                        var$9 = $i_1 + 1 | 0;
                        var$15 = $i + 1 | 0;
                        var$14[$i_1] = var$8[$i];
                        $i_1 = var$9;
                        $i = var$15;
                    }
                }
                $i = $i_0;
                while (true) {
                    var$8 = var$6.data;
                    var$9 = var$8.length;
                    if ($i < var$9)
                        break;
                    $chunkSize = $chunkSize * 2 | 0;
                    var$8 = var$6;
                    var$6 = $second;
                    $second = var$8;
                    if ($chunkSize >= var$3)
                        break c;
                    $i = 0;
                }
                var$10 = jl_Math_min(var$9, $i + $chunkSize | 0);
                $i_0 = $i + (2 * $chunkSize | 0) | 0;
                var$12 = jl_Math_min(var$9, $i_0);
                $i_1 = $i;
                var$9 = var$10;
            }
            b: {
                if (var$6 !== $a) {
                    $i_1 = 0;
                    while (true) {
                        $a = var$6.data;
                        if ($i_1 >= $a.length)
                            break b;
                        $second.data[$i_1] = $a[$i_1];
                        $i_1 = $i_1 + 1 | 0;
                    }
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($a, $c, var$3, $second, $chunkSize, var$6, $i, var$8, var$9, var$10, $i_0, var$12, $i_1, var$14, var$15, var$16, var$17, $ptr);
    }
    function ju_Arrays_binarySearch($a, $key) {
        var var$3, var$4, var$5, var$6, var$7;
        $a = $a.data;
        var$3 = 0;
        var$4 = $a.length;
        if (var$3 > var$4) {
            var$5 = new jl_IllegalArgumentException;
            jl_Throwable__init_0(var$5);
            $rt_throw(var$5);
        }
        var$6 = var$4 - 1 | 0;
        a: {
            while (true) {
                if (var$3 > var$6) {
                    var$4 = ( -var$3 | 0) - 1 | 0;
                    break a;
                }
                var$4 = (var$3 + var$6 | 0) / 2 | 0;
                var$7 = Long_compare($a[var$4], $key);
                if (!var$7)
                    break;
                if (var$7 <= 0)
                    var$3 = var$4 + 1 | 0;
                else
                    var$6 = var$4 - 1 | 0;
            }
        }
        return var$4;
    }
    function ju_Arrays_equals($a, $a2) {
        var var$3, var$4, var$5;
        if ($a === $a2)
            return 1;
        if ($a !== null && $a2 !== null) {
            $a = $a.data;
            $a2 = $a2.data;
            var$3 = $a.length;
            if (var$3 == $a2.length) {
                var$4 = 0;
                a: {
                    while (true) {
                        if (var$4 >= var$3) {
                            var$4 = (-1);
                            break a;
                        }
                        var$5 = var$4 + 0 | 0;
                        if ($a[var$5] != $a2[var$5])
                            break;
                        var$4 = var$4 + 1 | 0;
                    }
                }
                return var$4 >= 0 ? 0 : 1;
            }
        }
        return 0;
    }
    function ju_Arrays_equals0($a, $a2) {
        var var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$a2 = $thread.pop();$a = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($a === $a2)
                return 1;
            if ($a !== null && $a2 !== null) {
                $a = $a.data;
                $a2 = $a2.data;
                var$3 = $a.length;
                if (var$3 == $a2.length) {
                    var$4 = 0;
                    var$5 = 0;
                    if (var$5 >= var$3) {
                        var$5 = (-1);
                        return var$5 >= 0 ? 0 : 1;
                    }
                    var$6 = var$5 + var$4 | 0;
                    var$7 = $a[var$6];
                    var$8 = $a2[var$6];
                    $ptr = 1;
                    continue main;
                }
            }
            return 0;
        case 1:
            $tmp = ju_Objects_equals(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6) {
                var$5 = var$5 + 1 | 0;
                if (var$5 < var$3) {
                    var$6 = var$5 + var$4 | 0;
                    var$7 = $a[var$6];
                    var$8 = $a2[var$6];
                    continue main;
                }
                var$5 = (-1);
            }
            return var$5 >= 0 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($a, $a2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function ju_Arrays_hashCode($a) {
        var $i, var$3, $hash, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$hash = $thread.pop();var$3 = $thread.pop();$i = $thread.pop();$a = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($a === null)
                return 0;
            $i = 0;
            var$3 = $a.data;
            if ($i >= var$3.length)
                return 1;
            $hash = 31 * 1 | 0;
            var$5 = var$3[$i];
            $ptr = 1;
        case 1:
            $tmp = ju_Objects_hashCode(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $hash = $hash + var$6 | 0;
            $i = $i + 1 | 0;
            var$3 = $a.data;
            if ($i >= var$3.length)
                return $hash;
            $hash = 31 * $hash | 0;
            var$5 = var$3[$i];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($a, $i, var$3, $hash, var$5, var$6, $ptr);
    }
    function ju_Arrays_asList($a) {
        var var$2;
        ju_Objects_requireNonNull($a);
        var$2 = new ju_Arrays$ArrayAsList;
        var$2.$array2 = $a;
        return var$2;
    }
    var jnc_StandardCharsets = $rt_classWithoutFields();
    var jnc_StandardCharsets_UTF_8 = null;
    var jnc_StandardCharsets_US_ASCII = null;
    var jnc_StandardCharsets_ISO_8859_1 = null;
    var jnc_StandardCharsets_UTF_16 = null;
    var jnc_StandardCharsets_UTF_16BE = null;
    var jnc_StandardCharsets_UTF_16LE = null;
    function jnc_StandardCharsets_$callClinit() {
        jnc_StandardCharsets_$callClinit = $rt_eraseClinit(jnc_StandardCharsets);
        jnc_StandardCharsets__clinit_();
    }
    function jnc_StandardCharsets__init_0() {
        var var_0 = new jnc_StandardCharsets();
        jnc_StandardCharsets__init_(var_0);
        return var_0;
    }
    function jnc_StandardCharsets__init_($this) {
        jnc_StandardCharsets_$callClinit();
    }
    function jnc_StandardCharsets__clinit_() {
        jnci_UTF8Charset_$callClinit();
        jnc_StandardCharsets_UTF_8 = jnci_UTF8Charset_INSTANCE;
        jnc_StandardCharsets_US_ASCII = jnci_AsciiCharset__init_0();
        jnc_StandardCharsets_ISO_8859_1 = jnci_Iso8859Charset__init_0();
        jnc_StandardCharsets_UTF_16 = jnci_UTF16Charset__init_($rt_s(732), 1, 0);
        jnc_StandardCharsets_UTF_16BE = jnci_UTF16Charset__init_($rt_s(733), 0, 0);
        jnc_StandardCharsets_UTF_16LE = jnci_UTF16Charset__init_($rt_s(734), 0, 1);
    }
    var nleit_EPKLoader = $rt_classWithoutFields();
    function nleit_EPKLoader__init_0() {
        var var_0 = new nleit_EPKLoader();
        nleit_EPKLoader__init_(var_0);
        return var_0;
    }
    function nleit_EPKLoader__init_($this) {}
    function nleit_EPKLoader_loadEPK($epkFile, $path, $loadedFiles) {
        var $byteLength, $zis, $l, $i, $header, $type, $vers, $readEndCode, var$12, $numFiles, $compressionType, $blockFile, $blockEnd, $blockHead, $crc32, $zis_0, $blockType, $name, $len, $readType, $expectedCRC, $load, $s, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$s = $thread.pop();$load = $thread.pop();$expectedCRC = $thread.pop();$readType = $thread.pop();$len = $thread.pop();$name = $thread.pop();$blockType = $thread.pop();$zis_0 = $thread.pop();$crc32 = $thread.pop();$blockHead = $thread.pop();$blockEnd = $thread.pop();$blockFile = $thread.pop();$compressionType = $thread.pop();$numFiles = $thread.pop();var$12 = $thread.pop();$readEndCode = $thread.pop();$vers = $thread.pop();$type = $thread.pop();$header = $thread.pop();$i = $thread.pop();$l
            = $thread.pop();$zis = $thread.pop();$byteLength = $thread.pop();$loadedFiles = $thread.pop();$path = $thread.pop();$epkFile = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $byteLength = $epkFile.byteLength;
            if (($byteLength - 16 | 0) < 1)
                $rt_throw(ji_IOException__init_3($rt_s(735)));
            $zis = new nleit_ArrayBufferInputStream;
            $l = 0;
            $i = $byteLength - 8 | 0;
            $ptr = 1;
        case 1:
            nleit_ArrayBufferInputStream__init_($zis, $epkFile, $l, $i);
            if ($rt_suspending()) {
                break main;
            }
            $header = $rt_createByteArray(8);
            $ptr = 2;
        case 2:
            ji_InputStream_read($zis, $header);
            if ($rt_suspending()) {
                break main;
            }
            $type = nleit_EPKLoader_readASCII($header);
            $vers = $rt_s(736);
            $ptr = 3;
        case 3:
            $tmp = jl_String_equals($vers, $type);
            if ($rt_suspending()) {
                break main;
            }
            $l = $tmp;
            if (!$l) {
                $epkFile = new ji_IOException;
                $path = jl_StringBuilder__init_0();
                $loadedFiles = $rt_s(737);
                $ptr = 4;
                continue main;
            }
            $readEndCode = new $rt_globals.Uint8Array($epkFile, $i, 8);
            $header = $rt_createByteArray(8).data;
            $header[0] = 58;
            $header[1] = 58;
            $header[2] = 58;
            $header[3] = 89;
            $header[4] = 69;
            $header[5] = 69;
            $header[6] = 58;
            $header[7] = 62;
            $i = 0;
            while (true) {
                if ($i >= 8) {
                    $ptr = 7;
                    continue main;
                }
                if ($readEndCode[$i] != $header[$i])
                    break;
                $i = $i + 1 | 0;
            }
            $rt_throw(ji_IOException__init_3($rt_s(738)));
        case 4:
            $tmp = jl_StringBuilder_append($path, $loadedFiles);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append($loadedFiles, $type);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            jl_StringBuilder_append5($loadedFiles, 39);
            $ptr = 6;
        case 6:
            $tmp = jl_StringBuilder_toString($path);
            if ($rt_suspending()) {
                break main;
            }
            $path = $tmp;
            ji_IOException__init_4($epkFile, $path);
            $rt_throw($epkFile);
        case 7:
            $tmp = nleit_EPKLoader_readASCII0($zis);
            if ($rt_suspending()) {
                break main;
            }
            $vers = $tmp;
            if (jl_String_startsWith($vers, $rt_s(739))) {
                $ptr = 8;
                continue main;
            }
            $epkFile = new ji_IOException;
            $path = jl_StringBuilder__init_0();
            $loadedFiles = $rt_s(740);
            $ptr = 14;
            continue main;
        case 8:
            $tmp = nleit_ArrayBufferInputStream_read($zis);
            if ($rt_suspending()) {
                break main;
            }
            $l = $tmp;
            var$12 = Long_fromInt($l);
            $ptr = 9;
        case 9:
            nleit_ArrayBufferInputStream_skip($zis, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = Long_fromInt(nleit_EPKLoader_loadShort($zis));
            $ptr = 10;
        case 10:
            nleit_ArrayBufferInputStream_skip($zis, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = Long_fromInt(8);
            $ptr = 11;
        case 11:
            nleit_ArrayBufferInputStream_skip($zis, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            $tmp = nleit_EPKLoader_loadInt($zis);
            if ($rt_suspending()) {
                break main;
            }
            $numFiles = $tmp;
            $ptr = 13;
        case 13:
            $tmp = nleit_ArrayBufferInputStream_read($zis);
            if ($rt_suspending()) {
                break main;
            }
            $l = $tmp;
            $compressionType = $l & 65535;
            switch ($compressionType) {
                case 48:
                    $blockFile = 1179208773;
                    $blockEnd = 1162757156;
                    $blockHead = 1212498244;
                    if (jl_String_length($path) > 0 && !jl_String_endsWith($path, $rt_s(5))) {
                        $epkFile = jl_StringBuilder__init_0();
                        $ptr = 21;
                        continue main;
                    }
                    $crc32 = cjj_CRC32__init_0();
                    $i = 0;
                    if ($i >= $numFiles) {
                        $ptr = 23;
                        continue main;
                    }
                    $ptr = 24;
                    continue main;
                case 71:
                    break;
                case 90:
                    $zis_0 = new cjj_InflaterInputStream;
                    $ptr = 18;
                    continue main;
                default:
                    $epkFile = new ji_IOException;
                    $path = jl_StringBuilder__init_0();
                    $loadedFiles = $rt_s(741);
                    $ptr = 19;
                    continue main;
            }
            $zis_0 = new cjj_GZIPInputStream;
            $ptr = 17;
            continue main;
        case 14:
            $tmp = jl_StringBuilder_append($path, $loadedFiles);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            $ptr = 15;
        case 15:
            jl_StringBuilder_append($loadedFiles, $vers);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
        case 16:
            $tmp = jl_StringBuilder_toString($path);
            if ($rt_suspending()) {
                break main;
            }
            $path = $tmp;
            ji_IOException__init_4($epkFile, $path);
            $rt_throw($epkFile);
        case 17:
            cjj_GZIPInputStream__init_($zis_0, $zis);
            if ($rt_suspending()) {
                break main;
            }
            $zis = $zis_0;
            $blockFile = 1179208773;
            $blockEnd = 1162757156;
            $blockHead = 1212498244;
            if (jl_String_length($path) > 0 && !jl_String_endsWith($path, $rt_s(5))) {
                $epkFile = jl_StringBuilder__init_0();
                $ptr = 21;
                continue main;
            }
            $crc32 = cjj_CRC32__init_0();
            $i = 0;
            if ($i >= $numFiles) {
                $ptr = 23;
                continue main;
            }
            $ptr = 24;
            continue main;
        case 18:
            cjj_InflaterInputStream__init_($zis_0, $zis);
            if ($rt_suspending()) {
                break main;
            }
            $zis = $zis_0;
            $blockFile = 1179208773;
            $blockEnd = 1162757156;
            $blockHead = 1212498244;
            if (jl_String_length($path) > 0 && !jl_String_endsWith($path, $rt_s(5))) {
                $epkFile = jl_StringBuilder__init_0();
                $ptr = 21;
                continue main;
            }
            $crc32 = cjj_CRC32__init_0();
            $i = 0;
            if ($i >= $numFiles) {
                $ptr = 23;
                continue main;
            }
            $ptr = 24;
            continue main;
        case 19:
            $tmp = jl_StringBuilder_append($path, $loadedFiles);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            jl_StringBuilder_append5($loadedFiles, $compressionType);
            $ptr = 20;
        case 20:
            $tmp = jl_StringBuilder_toString($path);
            if ($rt_suspending()) {
                break main;
            }
            $path = $tmp;
            ji_IOException__init_4($epkFile, $path);
            $rt_throw($epkFile);
        case 21:
            $tmp = jl_StringBuilder_append($epkFile, $path);
            if ($rt_suspending()) {
                break main;
            }
            $path = $tmp;
            jl_StringBuilder_append5($path, 47);
            $ptr = 22;
        case 22:
            $tmp = jl_StringBuilder_toString($epkFile);
            if ($rt_suspending()) {
                break main;
            }
            $path = $tmp;
            $crc32 = cjj_CRC32__init_0();
            $i = 0;
            if ($i >= $numFiles) {
                $ptr = 23;
                continue main;
            }
            $ptr = 24;
            continue main;
        case 23:
            $tmp = nleit_EPKLoader_loadInt($zis);
            if ($rt_suspending()) {
                break main;
            }
            $l = $tmp;
            if ($l != $blockEnd)
                $rt_throw(ji_IOException__init_3($rt_s(742)));
            $ptr = 25;
            continue main;
        case 24:
            $tmp = nleit_EPKLoader_loadInt($zis);
            if ($rt_suspending()) {
                break main;
            }
            $blockType = $tmp;
            if ($blockType != $blockEnd) {
                $ptr = 26;
                continue main;
            }
            $epkFile = new ji_IOException;
            $l = $numFiles - $i | 0;
            $path = jl_StringBuilder__init_0();
            $loadedFiles = $rt_s(743);
            $ptr = 28;
            continue main;
        case 25:
            $zis.$close();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 26:
            $tmp = nleit_EPKLoader_readASCII0($zis);
            if ($rt_suspending()) {
                break main;
            }
            $name = $tmp;
            $ptr = 27;
        case 27:
            $tmp = nleit_EPKLoader_loadInt($zis);
            if ($rt_suspending()) {
                break main;
            }
            $len = $tmp;
            if (!$i) {
                if ($blockType == $blockHead) {
                    $readType = $rt_createByteArray($len);
                    $ptr = 36;
                    continue main;
                }
                $epkFile = new ji_IOException;
                $path = jl_StringBuilder__init_0();
                $loadedFiles = $rt_s(744);
                $ptr = 32;
                continue main;
            }
            if ($blockType != $blockFile) {
                var$12 = Long_fromInt($len);
                $ptr = 31;
                continue main;
            }
            $l = $rt_compare($len, 5);
            if ($l >= 0) {
                $ptr = 39;
                continue main;
            }
            $epkFile = new ji_IOException;
            $path = jl_StringBuilder__init_0();
            $loadedFiles = $rt_s(744);
            $ptr = 41;
            continue main;
        case 28:
            $tmp = jl_StringBuilder_append($path, $loadedFiles);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            $loadedFiles = jl_StringBuilder_append1($loadedFiles, $l);
            $zis = $rt_s(745);
            $ptr = 29;
        case 29:
            jl_StringBuilder_append($loadedFiles, $zis);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 30;
        case 30:
            $tmp = jl_StringBuilder_toString($path);
            if ($rt_suspending()) {
                break main;
            }
            $path = $tmp;
            ji_IOException__init_4($epkFile, $path);
            $rt_throw($epkFile);
        case 31:
            $zis.$skip(var$12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 38;
            continue main;
        case 32:
            $tmp = jl_StringBuilder_append($path, $loadedFiles);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            $ptr = 33;
        case 33:
            $tmp = jl_StringBuilder_append($loadedFiles, $name);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            $zis = $rt_s(746);
            $ptr = 34;
        case 34:
            jl_StringBuilder_append($loadedFiles, $zis);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 35;
        case 35:
            $tmp = jl_StringBuilder_toString($path);
            if ($rt_suspending()) {
                break main;
            }
            $path = $tmp;
            ji_IOException__init_4($epkFile, $path);
            $rt_throw($epkFile);
        case 36:
            $zis.$read1($readType);
            if ($rt_suspending()) {
                break main;
            }
            $epkFile = $rt_s(747);
            $ptr = 37;
        case 37:
            $tmp = jl_String_equals($epkFile, $name);
            if ($rt_suspending()) {
                break main;
            }
            $l = $tmp;
            if (!$l)
                $rt_throw(ji_IOException__init_3($rt_s(748)));
            $epkFile = $rt_s(749);
            $type = nleit_EPKLoader_readASCII($readType);
            $ptr = 45;
            continue main;
        case 38:
            $tmp = $zis.$read0();
            if ($rt_suspending()) {
                break main;
            }
            $l = $tmp;
            if ($l != 62) {
                $epkFile = new ji_IOException;
                $path = jl_StringBuilder__init_0();
                $loadedFiles = $rt_s(750);
                $ptr = 46;
                continue main;
            }
            $i = $i + 1 | 0;
            if ($i >= $numFiles) {
                $ptr = 23;
                continue main;
            }
            $ptr = 24;
            continue main;
        case 39:
            $tmp = nleit_EPKLoader_loadInt($zis);
            if ($rt_suspending()) {
                break main;
            }
            $expectedCRC = $tmp;
            $load = $rt_createByteArray($len - 5 | 0);
            $ptr = 40;
        case 40:
            $zis.$read1($load);
            if ($rt_suspending()) {
                break main;
            }
            if ($l > 0) {
                $header = $load.data;
                cjj_CRC32_reset($crc32);
                cjj_CRC32_update($crc32, $load, 0, $header.length);
                if ($expectedCRC != Long_lo((cjj_CRC32_getValue($crc32)))) {
                    $epkFile = new ji_IOException;
                    $path = jl_StringBuilder__init_0();
                    $loadedFiles = $rt_s(744);
                    $ptr = 59;
                    continue main;
                }
            }
            $ptr = 50;
            continue main;
        case 41:
            $tmp = jl_StringBuilder_append($path, $loadedFiles);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            $ptr = 42;
        case 42:
            $tmp = jl_StringBuilder_append($loadedFiles, $name);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            $zis = $rt_s(751);
            $ptr = 43;
        case 43:
            jl_StringBuilder_append($loadedFiles, $zis);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 44;
        case 44:
            $tmp = jl_StringBuilder_toString($path);
            if ($rt_suspending()) {
                break main;
            }
            $path = $tmp;
            ji_IOException__init_4($epkFile, $path);
            $rt_throw($epkFile);
        case 45:
            $tmp = jl_String_equals($epkFile, $type);
            if ($rt_suspending()) {
                break main;
            }
            $l = $tmp;
            if (!$l)
                $rt_throw(ji_IOException__init_3($rt_s(748)));
            $ptr = 51;
            continue main;
        case 46:
            $tmp = jl_StringBuilder_append($path, $loadedFiles);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            $ptr = 47;
        case 47:
            $tmp = jl_StringBuilder_append($loadedFiles, $name);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            $zis = $rt_s(751);
            $ptr = 48;
        case 48:
            jl_StringBuilder_append($loadedFiles, $zis);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 49;
        case 49:
            $tmp = jl_StringBuilder_toString($path);
            if ($rt_suspending()) {
                break main;
            }
            $path = $tmp;
            ji_IOException__init_4($epkFile, $path);
            $rt_throw($epkFile);
        case 50:
            $tmp = $zis.$read0();
            if ($rt_suspending()) {
                break main;
            }
            $l = $tmp;
            if ($l == 58) {
                $epkFile = jl_StringBuilder__init_0();
                $ptr = 52;
                continue main;
            }
            $epkFile = new ji_IOException;
            $path = jl_StringBuilder__init_0();
            $loadedFiles = $rt_s(744);
            $ptr = 55;
            continue main;
        case 51:
            $tmp = $zis.$read0();
            if ($rt_suspending()) {
                break main;
            }
            $l = $tmp;
            if ($l != 62) {
                $epkFile = new ji_IOException;
                $path = jl_StringBuilder__init_0();
                $loadedFiles = $rt_s(750);
                $ptr = 63;
                continue main;
            }
            $i = $i + 1 | 0;
            if ($i >= $numFiles) {
                $ptr = 23;
                continue main;
            }
            $ptr = 24;
            continue main;
        case 52:
            $tmp = jl_StringBuilder_append($epkFile, $path);
            if ($rt_suspending()) {
                break main;
            }
            $type = $tmp;
            $ptr = 53;
        case 53:
            jl_StringBuilder_append($type, $name);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 54;
        case 54:
            $tmp = jl_StringBuilder_toString($epkFile);
            if ($rt_suspending()) {
                break main;
            }
            $s = $tmp;
            if (jl_String_contains($s, $rt_s(340)))
                npem_AudioUtils_addFile($s);
            $epkFile = jl_StringBuilder__init_0();
            $ptr = 67;
            continue main;
        case 55:
            $tmp = jl_StringBuilder_append($path, $loadedFiles);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            $ptr = 56;
        case 56:
            $tmp = jl_StringBuilder_append($loadedFiles, $name);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            $zis = $rt_s(751);
            $ptr = 57;
        case 57:
            jl_StringBuilder_append($loadedFiles, $zis);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 58;
        case 58:
            $tmp = jl_StringBuilder_toString($path);
            if ($rt_suspending()) {
                break main;
            }
            $path = $tmp;
            ji_IOException__init_4($epkFile, $path);
            $rt_throw($epkFile);
        case 59:
            $tmp = jl_StringBuilder_append($path, $loadedFiles);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            $ptr = 60;
        case 60:
            $tmp = jl_StringBuilder_append($loadedFiles, $name);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            $zis = $rt_s(752);
            $ptr = 61;
        case 61:
            jl_StringBuilder_append($loadedFiles, $zis);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 62;
        case 62:
            $tmp = jl_StringBuilder_toString($path);
            if ($rt_suspending()) {
                break main;
            }
            $path = $tmp;
            ji_IOException__init_4($epkFile, $path);
            $rt_throw($epkFile);
        case 63:
            $tmp = jl_StringBuilder_append($path, $loadedFiles);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            $ptr = 64;
        case 64:
            $tmp = jl_StringBuilder_append($loadedFiles, $name);
            if ($rt_suspending()) {
                break main;
            }
            $loadedFiles = $tmp;
            $zis = $rt_s(751);
            $ptr = 65;
        case 65:
            jl_StringBuilder_append($loadedFiles, $zis);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 66;
        case 66:
            $tmp = jl_StringBuilder_toString($path);
            if ($rt_suspending()) {
                break main;
            }
            $path = $tmp;
            ji_IOException__init_4($epkFile, $path);
            $rt_throw($epkFile);
        case 67:
            $tmp = jl_StringBuilder_append($epkFile, $path);
            if ($rt_suspending()) {
                break main;
            }
            $type = $tmp;
            $ptr = 68;
        case 68:
            jl_StringBuilder_append($type, $name);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 69;
        case 69:
            $tmp = jl_StringBuilder_toString($epkFile);
            if ($rt_suspending()) {
                break main;
            }
            $epkFile = $tmp;
            $ptr = 70;
        case 70:
            ju_HashMap_put($loadedFiles, $epkFile, $load);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 38;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($epkFile, $path, $loadedFiles, $byteLength, $zis, $l, $i, $header, $type, $vers, $readEndCode, var$12, $numFiles, $compressionType, $blockFile, $blockEnd, $blockHead, $crc32, $zis_0, $blockType, $name, $len, $readType, $expectedCRC, $load, $s, $ptr);
    }
    function nleit_EPKLoader_loadShort($is) {
        return nleit_ArrayBufferInputStream_read($is) << 8 | nleit_ArrayBufferInputStream_read($is);
    }
    function nleit_EPKLoader_loadInt($is) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$is = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $is.$read0();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$2 = var$2 << 24;
            $ptr = 2;
        case 2:
            $tmp = $is.$read0();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$4 = var$2 | var$3 << 16;
            $ptr = 3;
        case 3:
            $tmp = $is.$read0();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$4 = var$4 | var$2 << 8;
            $ptr = 4;
        case 4:
            $tmp = $is.$read0();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$4 | var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($is, var$2, var$3, var$4, $ptr);
    }
    function nleit_EPKLoader_readASCII($bytesIn) {
        var var$2, $charIn, var$4, $i;
        $bytesIn = $bytesIn.data;
        var$2 = $bytesIn.length;
        $charIn = $rt_createCharArray(var$2);
        var$4 = $charIn.data;
        $i = 0;
        while ($i < var$2) {
            var$4[$i] = $bytesIn[$i] & 255 & 65535;
            $i = $i + 1 | 0;
        }
        return jl_String__init_($charIn);
    }
    function nleit_EPKLoader_readASCII0($bytesIn) {
        var $len, $charIn, var$4, $i, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$i = $thread.pop();var$4 = $thread.pop();$charIn = $thread.pop();$len = $thread.pop();$bytesIn = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $bytesIn.$read0();
            if ($rt_suspending()) {
                break main;
            }
            $len = $tmp;
            $charIn = $rt_createCharArray($len);
            var$4 = $charIn.data;
            $i = 0;
            if ($i >= $len)
                return jl_String__init_($charIn);
            $ptr = 2;
        case 2:
            $tmp = $bytesIn.$read0();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$4[$i] = var$6 & 255 & 65535;
            $i = $i + 1 | 0;
            if ($i >= $len)
                return jl_String__init_($charIn);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($bytesIn, $len, $charIn, var$4, $i, var$6, $ptr);
    }
    function nle_Filesystem$FilesystemHandle() {
        var a = this; jl_Object.call(a);
        a.$handle = null;
        a.$refCount = 0;
    }
    var nlei_IEaglerFilesystem = $rt_classWithoutFields(0);
    function nle_Filesystem$FilesystemHandleWrapper() {
        var a = this; jl_Object.call(a);
        a.$handle0 = null;
        a.$handleImpl = null;
        a.$closed0 = 0;
    }
    function nle_Filesystem$FilesystemHandleWrapper__init_(var_0) {
        var var_1 = new nle_Filesystem$FilesystemHandleWrapper();
        nle_Filesystem$FilesystemHandleWrapper__init_0(var_1, var_0);
        return var_1;
    }
    function nle_Filesystem$FilesystemHandleWrapper__init_0($this, $handle) {
        $this.$handle0 = $handle;
        $this.$handleImpl = $handle.$handle;
        $this.$closed0 = 0;
    }
    function nle_Filesystem$FilesystemHandleWrapper_eaglerRead($this, $pathName) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$pathName = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$handleImpl;
            $ptr = 1;
        case 1:
            $tmp = var$2.$eaglerRead($pathName);
            if ($rt_suspending()) {
                break main;
            }
            $pathName = $tmp;
            return $pathName;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pathName, var$2, $ptr);
    }
    function nle_Filesystem$FilesystemHandleWrapper_eaglerWrite($this, $pathName, $data) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$data = $thread.pop();$pathName = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$handleImpl;
            $ptr = 1;
        case 1:
            var$3.$eaglerWrite($pathName, $data);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pathName, $data, var$3, $ptr);
    }
    var nlei_PlatformFilesystem = $rt_classWithoutFields();
    var nlei_PlatformFilesystem_logger = null;
    var nlei_PlatformFilesystem_$clinitCalled = false;
    function nlei_PlatformFilesystem_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nlei_PlatformFilesystem_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nlei_PlatformFilesystem_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nlei_PlatformFilesystem__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformFilesystem_$callClinit = $rt_eraseClinit(nlei_PlatformFilesystem);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nlei_PlatformFilesystem__init_0() {
        var var_0 = new nlei_PlatformFilesystem();
        nlei_PlatformFilesystem__init_(var_0);
        return var_0;
    }
    function nlei_PlatformFilesystem__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformFilesystem_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nlei_PlatformFilesystem__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(469);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nlei_PlatformFilesystem_logger = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nlei_RamdiskFilesystemImpl() {
        var a = this; jl_Object.call(a);
        a.$filesystemName = null;
        a.$filesystemMap = null;
    }
    function nlei_RamdiskFilesystemImpl_isRamdisk($this) {
        return 1;
    }
    function nlei_RamdiskFilesystemImpl_eaglerDelete($this, $pathName) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$pathName = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$filesystemMap;
            $ptr = 1;
        case 1:
            $tmp = ju_TreeMap_remove(var$2, $pathName);
            if ($rt_suspending()) {
                break main;
            }
            $pathName = $tmp;
            return $pathName === null ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pathName, var$2, $ptr);
    }
    function nlei_RamdiskFilesystemImpl_eaglerRead($this, $pathName) {
        var $buf, $data, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$data = $thread.pop();$buf = $thread.pop();$pathName = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $buf = $this.$filesystemMap;
            $ptr = 1;
        case 1:
            $tmp = ju_TreeMap_findExact($buf, $pathName);
            if ($rt_suspending()) {
                break main;
            }
            $pathName = $tmp;
            $data = $pathName === null ? null : $pathName.$value4;
            if ($data === null)
                return null;
            $ptr = 2;
        case 2:
            $tmp = nlei_PlatformRuntime_castPrimitiveByteArray($data);
            if ($rt_suspending()) {
                break main;
            }
            $buf = $tmp;
            if ($buf !== null)
                return $buf;
            var$4 = $data.data.length;
            $ptr = 3;
        case 3:
            $tmp = nlei_PlatformRuntime_allocateByteBuffer(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $buf = $tmp;
            $ptr = 4;
        case 4:
            nleib_EaglerArrayByteBuffer_put($buf, $data);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayByteBuffer_flip($buf);
            return $buf;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pathName, $buf, $data, var$4, $ptr);
    }
    function nlei_RamdiskFilesystemImpl_eaglerWrite($this, $pathName, $data) {
        var $arr, $i, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$i = $thread.pop();$arr = $thread.pop();$data = $thread.pop();$pathName = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nlei_PlatformRuntime_castNativeByteBuffer($data);
            if ($rt_suspending()) {
                break main;
            }
            $arr = $tmp;
            if ($arr !== null) {
                $data = $this.$filesystemMap;
                $ptr = 4;
                continue main;
            }
            $arr = $rt_createByteArray(nleib_EaglerArrayByteBuffer_remaining($data));
            $i = $data.$position2;
            $ptr = 2;
        case 2:
            nleib_EaglerArrayByteBuffer_get0($data, $arr);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nleib_EaglerArrayByteBuffer_position($data, $i);
            if ($rt_suspending()) {
                break main;
            }
            $data = $this.$filesystemMap;
            $ptr = 4;
        case 4:
            ju_TreeMap_put($data, $pathName, $arr);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pathName, $data, $arr, $i, $ptr);
    }
    function nlei_RamdiskFilesystemImpl_eaglerExists($this, $pathName) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$pathName = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$filesystemMap;
            $ptr = 1;
        case 1:
            $tmp = ju_TreeMap_findExact(var$2, $pathName);
            if ($rt_suspending()) {
                break main;
            }
            $pathName = $tmp;
            return $pathName === null ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pathName, var$2, $ptr);
    }
    function nlei_RamdiskFilesystemImpl_eaglerMove($this, $pathNameOld, $pathNameNew) {
        var var$3, $dat, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$dat = $thread.pop();var$3 = $thread.pop();$pathNameNew = $thread.pop();$pathNameOld = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$filesystemMap;
            $ptr = 1;
        case 1:
            $tmp = ju_TreeMap_remove(var$3, $pathNameOld);
            if ($rt_suspending()) {
                break main;
            }
            $pathNameOld = $tmp;
            $dat = $pathNameOld;
            if ($dat === null)
                return 0;
            $pathNameOld = $this.$filesystemMap;
            $ptr = 2;
        case 2:
            ju_TreeMap_put($pathNameOld, $pathNameNew, $dat);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pathNameOld, $pathNameNew, var$3, $dat, $ptr);
    }
    function nlei_RamdiskFilesystemImpl_eaglerIterate($this, $pathName, $itr, $recursive) {
        var var$4, $b, $key, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$key = $thread.pop();$b = $thread.pop();var$4 = $thread.pop();$recursive = $thread.pop();$itr = $thread.pop();$pathName = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$recursive) {
                var$4 = nlei_VFSFilenameIteratorNonRecursive__init_($itr, nlei_VFSFilenameIteratorNonRecursive_countSlashes($pathName) + 1 | 0);
                $recursive = 1;
                $ptr = 1;
                continue main;
            }
            $b = jl_String_length($pathName) ? 0 : 1;
            $key = $this.$filesystemMap;
            if ($key.$cachedKeySet === null) {
                var$4 = new ju_AbstractMap$KeySet;
                var$4.$this$03 = $key;
                $key.$cachedKeySet = var$4;
            }
            var$4 = $key.$cachedKeySet;
            $ptr = 2;
            continue main;
        case 1:
            nlei_RamdiskFilesystemImpl_eaglerIterate($this, $pathName, var$4, $recursive);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            $tmp = var$4.$iterator();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (!var$4.$hasNext())
                return;
            $ptr = 3;
        case 3:
            $tmp = var$4.$next();
            if ($rt_suspending()) {
                break main;
            }
            $key = $tmp;
            $key = $key;
            if (!$b && !jl_String_startsWith($key, $pathName)) {
                if (!var$4.$hasNext())
                    return;
                continue main;
            }
            $ptr = 4;
        case 4:
            $itr.$next4($key);
            if ($rt_suspending()) {
                break main;
            }
            if (!var$4.$hasNext())
                return;
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pathName, $itr, $recursive, var$4, $b, $key, $ptr);
    }
    var otjw_AudioContext = $rt_classWithoutFields();
    function otjw_AudioContext_create$js_body$_44() {
        var Context = $rt_globals.window.AudioContext || $rt_globals.window.webkitAudioContext;
        return new Context();
    }
    function nleit_LegacyKeycodeTranslator() {
        var a = this; jl_Object.call(a);
        a.$codeLookupBase = null;
        a.$codeLookupLayout = null;
    }
    var nleit_LegacyKeycodeTranslator_numpadVolatile = null;
    var nleit_LegacyKeycodeTranslator_$clinitCalled = false;
    function nleit_LegacyKeycodeTranslator_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nleit_LegacyKeycodeTranslator_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_LegacyKeycodeTranslator_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nleit_LegacyKeycodeTranslator__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nleit_LegacyKeycodeTranslator_$callClinit = $rt_eraseClinit(nleit_LegacyKeycodeTranslator);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nleit_LegacyKeycodeTranslator__init_0() {
        var var_0 = new nleit_LegacyKeycodeTranslator();
        nleit_LegacyKeycodeTranslator__init_(var_0);
        return var_0;
    }
    function nleit_LegacyKeycodeTranslator__init_($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_LegacyKeycodeTranslator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            jl_Object__init_0($this);
            $this.$codeLookupBase = ju_HashMap__init_0();
            $this.$codeLookupLayout = ju_HashMap__init_0();
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(753);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(48, 0);
            $ptr = 2;
        case 2:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(754);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(49, 0);
            $ptr = 3;
        case 3:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(755);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(50, 0);
            $ptr = 4;
        case 4:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(756);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(51, 0);
            $ptr = 5;
        case 5:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(757);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(52, 0);
            $ptr = 6;
        case 6:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(758);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(53, 0);
            $ptr = 7;
        case 7:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(759);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(54, 0);
            $ptr = 8;
        case 8:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(760);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(55, 0);
            $ptr = 9;
        case 9:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(761);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(56, 0);
            $ptr = 10;
        case 10:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(762);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(57, 0);
            $ptr = 11;
        case 11:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(763);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(65, 0);
            $ptr = 12;
        case 12:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(764);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(66, 0);
            $ptr = 13;
        case 13:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(765);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(67, 0);
            $ptr = 14;
        case 14:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(766);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(68, 0);
            $ptr = 15;
        case 15:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(767);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(69, 0);
            $ptr = 16;
        case 16:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(768);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(70, 0);
            $ptr = 17;
        case 17:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(769);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(71, 0);
            $ptr = 18;
        case 18:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(770);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(72, 0);
            $ptr = 19;
        case 19:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(771);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(73, 0);
            $ptr = 20;
        case 20:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(772);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(74, 0);
            $ptr = 21;
        case 21:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(773);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(75, 0);
            $ptr = 22;
        case 22:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(774);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(76, 0);
            $ptr = 23;
        case 23:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(775);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(77, 0);
            $ptr = 24;
        case 24:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(776);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(78, 0);
            $ptr = 25;
        case 25:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(777);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(79, 0);
            $ptr = 26;
        case 26:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(778);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(80, 0);
            $ptr = 27;
        case 27:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(779);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(81, 0);
            $ptr = 28;
        case 28:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(780);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(82, 0);
            $ptr = 29;
        case 29:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(781);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(83, 0);
            $ptr = 30;
        case 30:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(782);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(84, 0);
            $ptr = 31;
        case 31:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(783);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(85, 0);
            $ptr = 32;
        case 32:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(784);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(86, 0);
            $ptr = 33;
        case 33:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(785);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(87, 0);
            $ptr = 34;
        case 34:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(786);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(88, 0);
            $ptr = 35;
        case 35:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(787);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(89, 0);
            $ptr = 36;
        case 36:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(788);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(90, 0);
            $ptr = 37;
        case 37:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(789);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(188, 0);
            $ptr = 38;
        case 38:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(790);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(190, 0);
            $ptr = 39;
        case 39:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(791);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(186, 0);
            $ptr = 40;
        case 40:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(792);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(222, 0);
            $ptr = 41;
        case 41:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(793);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(219, 0);
            $ptr = 42;
        case 42:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(794);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(221, 0);
            $ptr = 43;
        case 43:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(795);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(192, 0);
            $ptr = 44;
        case 44:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(796);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(220, 0);
            $ptr = 45;
        case 45:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(797);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(220, 0);
            $ptr = 46;
        case 46:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(798);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(189, 0);
            $ptr = 47;
        case 47:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(799);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(187, 0);
            $ptr = 48;
        case 48:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(800);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(191, 0);
            $ptr = 49;
        case 49:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(801);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(193, 0);
            $ptr = 50;
        case 50:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(802);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(255, 0);
            $ptr = 51;
        case 51:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(803);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(18, 1);
            $ptr = 52;
        case 52:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(804);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(18, 2);
            $ptr = 53;
        case 53:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(805);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(20, 0);
            $ptr = 54;
        case 54:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(806);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(17, 1);
            $ptr = 55;
        case 55:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(807);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(17, 2);
            $ptr = 56;
        case 56:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(808);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(91, 1);
            $ptr = 57;
        case 57:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(809);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(92, 2);
            $ptr = 58;
        case 58:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(810);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(16, 1);
            $ptr = 59;
        case 59:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(811);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(16, 2);
            $ptr = 60;
        case 60:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(812);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(93, 0);
            $ptr = 61;
        case 61:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(813);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(13, 0);
            $ptr = 62;
        case 62:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(814);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(32, 0);
            $ptr = 63;
        case 63:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(815);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(8, 0);
            $ptr = 64;
        case 64:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(816);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(9, 0);
            $ptr = 65;
        case 65:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(817);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(46, 0);
            $ptr = 66;
        case 66:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(818);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(35, 0);
            $ptr = 67;
        case 67:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(819);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(45, 0);
            $ptr = 68;
        case 68:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(820);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(36, 0);
            $ptr = 69;
        case 69:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(821);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(45, 0);
            $ptr = 70;
        case 70:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(822);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(34, 0);
            $ptr = 71;
        case 71:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(823);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(33, 0);
            $ptr = 72;
        case 72:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(824);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(40, 0);
            $ptr = 73;
        case 73:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(825);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(37, 0);
            $ptr = 74;
        case 74:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(826);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(39, 0);
            $ptr = 75;
        case 75:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(827);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(38, 0);
            $ptr = 76;
        case 76:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(828);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(27, 0);
            $ptr = 77;
        case 77:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(829);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(44, 0);
            $ptr = 78;
        case 78:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(830);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(145, 0);
            $ptr = 79;
        case 79:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(831);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(19, 0);
            $ptr = 80;
        case 80:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(832);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(112, 0);
            $ptr = 81;
        case 81:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(833);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(113, 0);
            $ptr = 82;
        case 82:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(834);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(114, 0);
            $ptr = 83;
        case 83:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(835);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(115, 0);
            $ptr = 84;
        case 84:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(836);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(116, 0);
            $ptr = 85;
        case 85:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(837);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(117, 0);
            $ptr = 86;
        case 86:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(838);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(118, 0);
            $ptr = 87;
        case 87:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(839);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(119, 0);
            $ptr = 88;
        case 88:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(840);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(120, 0);
            $ptr = 89;
        case 89:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(841);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(121, 0);
            $ptr = 90;
        case 90:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(842);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(122, 0);
            $ptr = 91;
        case 91:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(843);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(123, 0);
            $ptr = 92;
        case 92:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(844);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(124, 0);
            $ptr = 93;
        case 93:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(845);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(125, 0);
            $ptr = 94;
        case 94:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(846);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(126, 0);
            $ptr = 95;
        case 95:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(847);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(127, 0);
            $ptr = 96;
        case 96:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(848);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(128, 0);
            $ptr = 97;
        case 97:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(849);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(129, 0);
            $ptr = 98;
        case 98:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(850);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(130, 0);
            $ptr = 99;
        case 99:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(851);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(131, 0);
            $ptr = 100;
        case 100:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(852);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(132, 0);
            $ptr = 101;
        case 101:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(853);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(133, 0);
            $ptr = 102;
        case 102:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(854);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(134, 0);
            $ptr = 103;
        case 103:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(855);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(135, 0);
            $ptr = 104;
        case 104:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(856);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(144, 3);
            $ptr = 105;
        case 105:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(857);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(96, 3);
            $ptr = 106;
        case 106:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(858);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(97, 3);
            $ptr = 107;
        case 107:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(859);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(98, 3);
            $ptr = 108;
        case 108:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(860);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(99, 3);
            $ptr = 109;
        case 109:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(861);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(100, 3);
            $ptr = 110;
        case 110:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(862);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(101, 3);
            $ptr = 111;
        case 111:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(863);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(102, 3);
            $ptr = 112;
        case 112:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(864);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(103, 3);
            $ptr = 113;
        case 113:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(865);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(104, 3);
            $ptr = 114;
        case 114:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(866);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(105, 3);
            $ptr = 115;
        case 115:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(867);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(107, 3);
            $ptr = 116;
        case 116:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(868);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(194, 3);
            $ptr = 117;
        case 117:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(869);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(110, 3);
            $ptr = 118;
        case 118:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(870);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(111, 3);
            $ptr = 119;
        case 119:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(871);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(13, 3);
            $ptr = 120;
        case 120:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(872);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(12, 3);
            $ptr = 121;
        case 121:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(873);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(106, 3);
            $ptr = 122;
        case 122:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$codeLookupBase;
            var$2 = $rt_s(874);
            var$3 = nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(109, 3);
            $ptr = 123;
        case 123:
            ju_HashMap_put(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nleit_LegacyKeycodeTranslator_getRemappedKeyCount($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$codeLookupLayout.$elementCount;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_LegacyKeycodeTranslator_buildLayoutTable($this) {
        var $ret, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$ret = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (ju_HashMap_isEmpty($this.$codeLookupLayout))
                return $this.$codeLookupBase;
            $ret = ju_HashMap__init_0();
            var$2 = $this.$codeLookupBase;
            $ptr = 1;
        case 1:
            ju_HashMap_putAll($ret, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$codeLookupLayout;
            $ptr = 2;
        case 2:
            ju_HashMap_putAll($ret, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return $ret;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ret, var$2, $ptr);
    }
    function nleit_LegacyKeycodeTranslator_getCodeFromLayoutChar0($keyChar) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$keyChar = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_LegacyKeycodeTranslator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            a: {
                switch ($keyChar) {
                    case 39:
                        break;
                    case 40:
                    case 41:
                    case 43:
                    case 58:
                    case 60:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 68:
                    case 69:
                    case 70:
                    case 71:
                    case 72:
                    case 73:
                    case 74:
                    case 75:
                    case 76:
                    case 77:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 83:
                    case 84:
                    case 85:
                    case 86:
                    case 87:
                    case 88:
                    case 89:
                    case 90:
                    case 94:
                    case 95:
                    case 123:
                    case 124:
                    case 125:
                    case 126:
                    case 127:
                    case 128:
                    case 129:
                    case 130:
                    case 131:
                    case 132:
                    case 133:
                    case 134:
                    case 135:
                    case 136:
                    case 137:
                    case 138:
                    case 139:
                    case 140:
                    case 141:
                    case 142:
                    case 143:
                    case 144:
                    case 145:
                    case 146:
                    case 147:
                    case 148:
                    case 149:
                    case 150:
                    case 151:
                    case 152:
                    case 153:
                    case 154:
                    case 155:
                    case 156:
                    case 157:
                    case 158:
                    case 159:
                    case 160:
                    case 161:
                    case 162:
                    case 163:
                    case 164:
                        break a;
                    case 42:
                        return $rt_s(873);
                    case 44:
                        return $rt_s(789);
                    case 45:
                        return $rt_s(798);
                    case 46:
                        return $rt_s(790);
                    case 47:
                        return $rt_s(800);
                    case 48:
                        return $rt_s(753);
                    case 49:
                        return $rt_s(754);
                    case 50:
                        return $rt_s(755);
                    case 51:
                        return $rt_s(756);
                    case 52:
                        return $rt_s(757);
                    case 53:
                        return $rt_s(758);
                    case 54:
                        return $rt_s(759);
                    case 55:
                        return $rt_s(760);
                    case 56:
                        return $rt_s(761);
                    case 57:
                        return $rt_s(762);
                    case 59:
                        return $rt_s(791);
                    case 61:
                        return $rt_s(799);
                    case 91:
                        return $rt_s(793);
                    case 92:
                        return $rt_s(796);
                    case 93:
                        return $rt_s(794);
                    case 96:
                        return $rt_s(795);
                    case 97:
                        return $rt_s(763);
                    case 98:
                        return $rt_s(764);
                    case 99:
                        return $rt_s(765);
                    case 100:
                        return $rt_s(766);
                    case 101:
                        return $rt_s(767);
                    case 102:
                        return $rt_s(768);
                    case 103:
                        return $rt_s(769);
                    case 104:
                        return $rt_s(770);
                    case 105:
                        return $rt_s(771);
                    case 106:
                        return $rt_s(772);
                    case 107:
                        return $rt_s(773);
                    case 108:
                        return $rt_s(774);
                    case 109:
                        return $rt_s(775);
                    case 110:
                        return $rt_s(776);
                    case 111:
                        return $rt_s(777);
                    case 112:
                        return $rt_s(778);
                    case 113:
                        return $rt_s(779);
                    case 114:
                        return $rt_s(780);
                    case 115:
                        return $rt_s(781);
                    case 116:
                        return $rt_s(782);
                    case 117:
                        return $rt_s(783);
                    case 118:
                        return $rt_s(784);
                    case 119:
                        return $rt_s(785);
                    case 120:
                        return $rt_s(786);
                    case 121:
                        return $rt_s(787);
                    case 122:
                        return $rt_s(788);
                    case 165:
                        return $rt_s(802);
                    default:
                        break a;
                }
                return $rt_s(792);
            }
            return null;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($keyChar, $ptr);
    }
    function nleit_LegacyKeycodeTranslator__clinit_() {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_createArray(jl_String, 17);
            var$2 = var$1.data;
            var$2[0] = $rt_s(789);
            var$2[1] = $rt_s(798);
            var$2[2] = $rt_s(790);
            var$2[3] = $rt_s(800);
            var$2[4] = $rt_s(799);
            var$2[5] = $rt_s(813);
            var$2[6] = $rt_s(753);
            var$2[7] = $rt_s(754);
            var$2[8] = $rt_s(755);
            var$2[9] = $rt_s(756);
            var$2[10] = $rt_s(757);
            var$2[11] = $rt_s(758);
            var$2[12] = $rt_s(759);
            var$2[13] = $rt_s(760);
            var$2[14] = $rt_s(761);
            var$2[15] = $rt_s(762);
            var$2[16] = $rt_s(802);
            $ptr = 1;
        case 1:
            nleit_LegacyKeycodeTranslator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = ju_HashSet__init_1(ju_HashMap__init_1(var$2.length));
            var$4 = ju_Arrays_asList(var$1);
            $ptr = 2;
        case 2:
            ju_AbstractCollection_addAll(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            nleit_LegacyKeycodeTranslator_numpadVolatile = var$3;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, $ptr);
    }
    var nlei_PlatformInput$1 = $rt_classWithoutFields();
    function nlei_PlatformInput$1__init_0() {
        var var_0 = new nlei_PlatformInput$1();
        nlei_PlatformInput$1__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$1__init_($this) {}
    function nlei_PlatformInput$1_handleEvent$exported$0(var$0, var$1) {
        var var$2;
        var$2 = var$1.target;
        nleit_ClientMain_$callClinit();
        if (var$2 !== nleit_ClientMain_integratedServerCrashPanel) {
            var$1.preventDefault();
            var$1.stopPropagation();
        }
    }
    var nlei_PlatformInput$2 = $rt_classWithoutFields();
    function nlei_PlatformInput$2__init_0() {
        var var_0 = new nlei_PlatformInput$2();
        nlei_PlatformInput$2__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$2__init_($this) {}
    function nlei_PlatformInput$2_handleEvent$exported$0(var$0, var$1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1.preventDefault();
            var$1.stopPropagation();
            if (!nlei_PlatformInput_pointerLockSupported)
                var$2 = 0;
            else {
                if (nlei_PlatformInput_pointerLockFlag && !nlei_PlatformInput_isPointerLocked()) {
                    var$2 = 1;
                    $ptr = 1;
                    continue main;
                }
                var$2 = 0;
            }
            if (var$2)
                return;
            var$3 = var$1.button;
            if (var$3 == 1)
                var$3 = 2;
            else if (var$3 == 2)
                var$3 = 1;
            if (var$3 >= 0) {
                var$4 = nlei_PlatformInput_buttonStates.data;
                if (var$3 < var$4.length)
                    var$4[var$3] = 1;
            }
            var$5 = nlei_PlatformInput_getOffsetX$js_body$_14(var$1, nlei_PlatformInput_touchOffsetXTeaVM) * nlei_PlatformInput_windowDPI | 0;
            var$6 = (nlei_PlatformInput_windowHeight - (nlei_PlatformInput_getOffsetY$js_body$_15(var$1, nlei_PlatformInput_touchOffsetYTeaVM) * nlei_PlatformInput_windowDPI | 0) | 0) - 1 | 0;
            var$1 = nlei_PlatformInput_mouseEvents;
            $ptr = 2;
            continue main;
        case 1:
            nlei_PlatformInput_mouseSetGrabbed(var$2);
            if ($rt_suspending()) {
                break main;
            }
            if (1)
                return;
            var$3 = var$1.button;
            if (var$3 == 1)
                var$3 = 2;
            else if (var$3 == 2)
                var$3 = 1;
            if (var$3 >= 0) {
                var$4 = nlei_PlatformInput_buttonStates.data;
                if (var$3 < var$4.length)
                    var$4[var$3] = 1;
            }
            var$5 = nlei_PlatformInput_getOffsetX$js_body$_14(var$1, nlei_PlatformInput_touchOffsetXTeaVM) * nlei_PlatformInput_windowDPI | 0;
            var$6 = (nlei_PlatformInput_windowHeight - (nlei_PlatformInput_getOffsetY$js_body$_15(var$1, nlei_PlatformInput_touchOffsetYTeaVM) * nlei_PlatformInput_windowDPI | 0) | 0) - 1 | 0;
            var$1 = nlei_PlatformInput_mouseEvents;
            $ptr = 2;
        case 2:
            jl_Object_monitorEnter(var$1);
            if ($rt_suspending()) {
                break main;
            }
            try {
                var$7 = nlei_PlatformInput$VMouseEvent__init_(var$5, var$6, var$3, 0.0, 0);
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$7 = $$je;

            }
            jl_Object_monitorExit(var$1);
            $rt_throw(var$7);
        case 3:
            a: {
                try {
                    ju_AbstractList_add(var$1, var$7);
                    if ($rt_suspending()) {
                        break main;
                    }
                    if (ju_LinkedList_size(nlei_PlatformInput_mouseEvents) > 64)
                        ju_AbstractSequentialList_remove(nlei_PlatformInput_mouseEvents, 0);
                    jl_Object_monitorExit(var$1);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$7 = $$je;
                    break a;

                }
                return;
            }
            jl_Object_monitorExit(var$1);
            $rt_throw(var$7);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    var nlei_PlatformInput$3 = $rt_classWithoutFields();
    function nlei_PlatformInput$3__init_0() {
        var var_0 = new nlei_PlatformInput$3();
        nlei_PlatformInput$3__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$3__init_($this) {}
    function nlei_PlatformInput$3_handleEvent$exported$0(var$0, var$1) {
        var var$2, var$3, var$4, var$5, var$6, $$je;
        var$1.preventDefault();
        var$1.stopPropagation();
        var$2 = var$1.button;
        if (var$2 == 1)
            var$2 = 2;
        else if (var$2 == 2)
            var$2 = 1;
        if (var$2 >= 0) {
            var$3 = nlei_PlatformInput_buttonStates.data;
            if (var$2 < var$3.length)
                var$3[var$2] = 0;
        }
        var$4 = nlei_PlatformInput_getOffsetX$js_body$_14(var$1, nlei_PlatformInput_touchOffsetXTeaVM) * nlei_PlatformInput_windowDPI | 0;
        var$5 = (nlei_PlatformInput_windowHeight - (nlei_PlatformInput_getOffsetY$js_body$_15(var$1, nlei_PlatformInput_touchOffsetYTeaVM) * nlei_PlatformInput_windowDPI | 0) | 0) - 1 | 0;
        var$1 = nlei_PlatformInput_mouseEvents;
        jl_Object_monitorEnterSync(var$1);
        a: {
            try {
                ju_AbstractList_add(var$1, nlei_PlatformInput$VMouseEvent__init_(var$4, var$5, var$2, 0.0, 1));
                if (ju_LinkedList_size(nlei_PlatformInput_mouseEvents) > 64)
                    ju_AbstractSequentialList_remove(nlei_PlatformInput_mouseEvents, 0);
                jl_Object_monitorExitSync(var$1);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$6 = $$je;
                break a;

            }
            return;
        }
        jl_Object_monitorExitSync(var$1);
        $rt_throw(var$6);
    }
    var nlei_PlatformInput$4 = $rt_classWithoutFields();
    function nlei_PlatformInput$4__init_0() {
        var var_0 = new nlei_PlatformInput$4();
        nlei_PlatformInput$4__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$4__init_($this) {}
    function nlei_PlatformInput$4_handleEvent$exported$0(var$0, var$1) {
        var var$2, var$3, var$4, $$je;
        var$1.preventDefault();
        var$1.stopPropagation();
        nlei_PlatformInput_mouseX = nlei_PlatformInput_getOffsetX$js_body$_14(var$1, nlei_PlatformInput_touchOffsetXTeaVM) * nlei_PlatformInput_windowDPI | 0;
        nlei_PlatformInput_mouseY = (nlei_PlatformInput_windowHeight - (nlei_PlatformInput_getOffsetY$js_body$_15(var$1, nlei_PlatformInput_touchOffsetYTeaVM) * nlei_PlatformInput_windowDPI | 0) | 0) - 1 | 0;
        if (nlei_PlatformInput_pointerLockFlag) {
            nlei_PlatformInput_mouseDX = nlei_PlatformInput_mouseDX + var$1.movementX;
            nlei_PlatformInput_mouseDY = nlei_PlatformInput_mouseDY +  -var$1.movementY;
        }
        a: {
            b: {
                if (nlei_PlatformInput_hasShownPressAnyKey) {
                    var$2 = nlei_PlatformInput_getOffsetX$js_body$_14(var$1, nlei_PlatformInput_touchOffsetXTeaVM) * nlei_PlatformInput_windowDPI | 0;
                    var$3 = (nlei_PlatformInput_windowHeight - (nlei_PlatformInput_getOffsetY$js_body$_15(var$1, nlei_PlatformInput_touchOffsetYTeaVM) * nlei_PlatformInput_windowDPI | 0) | 0) - 1 | 0;
                    var$1 = nlei_PlatformInput_mouseEvents;
                    jl_Object_monitorEnterSync(var$1);
                    c: {
                        try {
                            ju_AbstractList_add(var$1, nlei_PlatformInput$VMouseEvent__init_(var$2, var$3, (-1), 0.0, 2));
                            if (ju_LinkedList_size(nlei_PlatformInput_mouseEvents) <= 64)
                                break c;
                            ju_AbstractSequentialList_remove(nlei_PlatformInput_mouseEvents, 0);
                            break c;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            var$4 = $$je;
                            break a;

                        }
                    }
                    try {
                        jl_Object_monitorExitSync(var$1);
                        break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        var$4 = $$je;
                        break a;

                    }
                }
            }
            return;
        }
        jl_Object_monitorExitSync(var$1);
        $rt_throw(var$4);
    }
    var nlei_PlatformInput$5 = $rt_classWithoutFields();
    function nlei_PlatformInput$5__init_0() {
        var var_0 = new nlei_PlatformInput$5();
        nlei_PlatformInput$5__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$5__init_($this) {}
    function nlei_PlatformInput$5_handleEvent$exported$0(var$0, var$1) {
        nlei_PlatformInput_isMouseOverWindow = 1;
    }
    var nlei_PlatformInput$6 = $rt_classWithoutFields();
    function nlei_PlatformInput$6__init_0() {
        var var_0 = new nlei_PlatformInput$6();
        nlei_PlatformInput$6__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$6__init_($this) {}
    function nlei_PlatformInput$6_handleEvent$exported$0(var$0, var$1) {
        nlei_PlatformInput_isMouseOverWindow = 0;
    }
    var nlei_PlatformInput$7 = $rt_classWithoutFields();
    function nlei_PlatformInput$7__init_0() {
        var var_0 = new nlei_PlatformInput$7();
        nlei_PlatformInput$7__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$7__init_($this) {}
    function nlei_PlatformInput$7_handleEvent($this, $evt) {
        var $keyCode, $s, $w, $loc, $ww, $c, $eag, $l, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$l = $thread.pop();$eag = $thread.pop();$c = $thread.pop();$ww = $thread.pop();$loc = $thread.pop();$w = $thread.pop();$s = $thread.pop();$keyCode = $thread.pop();$evt = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_ClientMain_$callClinit();
            if (!nleit_ClientMain_integratedServerCrashPanelShowing) {
                $evt.preventDefault();
                $evt.stopPropagation();
            }
            if (!nlei_PlatformInput_enableRepeatEvents && ($evt.repeat ? 1 : 0))
                return;
            $keyCode = null;
            if (nlei_PlatformInput_keyCodeTranslatorMap !== null && (typeof $evt.code === "string" ? 1 : 0)) {
                $keyCode = nlei_PlatformInput_keyCodeTranslatorMap;
                $s = $rt_str($evt.code);
                $ptr = 1;
                continue main;
            }
            if ($keyCode !== null) {
                $w = $keyCode.$keyCode0;
                $loc = $keyCode.$location;
            } else {
                $w = nlei_PlatformInput_getWhich$js_body$_16($evt);
                $loc = nlei_PlatformInput_getLocationSafe$js_body$_17($evt);
            }
            if ($w == 122 && !($evt.repeat ? 1 : 0)) {
                $ww = nlei_PlatformInput_fullscreenSupported;
                if ($ww) {
                    if (!($ww && (nlei_PlatformInput_fullscreenQuery.matches ? 1 : 0) ? 1 : 0)) {
                        if (nlei_PlatformInput_keyboardLockSupported) {
                            $rt_globals.navigator.keyboard.lock();
                            nlei_PlatformInput_lockKeys = 1;
                        }
                        a: {
                            $keyCode = nlei_PlatformInput_canvas;
                            switch (nlei_PlatformInput_fullscreenSupported) {
                                case 1:
                                    break;
                                case 2:
                                    try {
                                        $keyCode.webkitRequestFullscreen();
                                        break a;
                                    } catch ($$e) {
                                        $$je = $rt_wrapException($$e);
                                        if ($$je instanceof jl_Throwable) {
                                        } else {
                                            throw $$e;
                                        }
                                    }
                                    break a;
                                case 3:
                                    try {
                                        $keyCode.mozRequestFullScreen();
                                        break a;
                                    } catch ($$e) {
                                        $$je = $rt_wrapException($$e);
                                        if ($$je instanceof jl_Throwable) {
                                        } else {
                                            throw $$e;
                                        }
                                    }
                                    break a;
                                default:
                                    $ptr = 6;
                                    continue main;
                            }
                            try {
                                $keyCode.requestFullscreen();
                                break a;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof jl_Throwable) {
                                } else {
                                    throw $$e;
                                }
                            }
                        }
                    } else {
                        if (nlei_PlatformInput_keyboardLockSupported) {
                            $rt_globals.navigator.keyboard.unlock();
                            nlei_PlatformInput_lockKeys = 0;
                        }
                        b: {
                            $keyCode = nlei_PlatformInput_win.document;
                            switch (nlei_PlatformInput_fullscreenSupported) {
                                case 1:
                                    break;
                                case 2:
                                    try {
                                        $keyCode.webkitExitFullscreen();
                                        break b;
                                    } catch ($$e) {
                                        $$je = $rt_wrapException($$e);
                                        if ($$je instanceof jl_Throwable) {
                                        } else {
                                            throw $$e;
                                        }
                                    }
                                    break b;
                                case 3:
                                    try {
                                        $keyCode.mozCancelFullscreen();
                                        break b;
                                    } catch ($$e) {
                                        $$je = $rt_wrapException($$e);
                                        if ($$je instanceof jl_Throwable) {
                                        } else {
                                            throw $$e;
                                        }
                                    }
                                    break b;
                                default:
                                    $ptr = 8;
                                    continue main;
                            }
                            try {
                                $keyCode.exitFullscreen();
                                break b;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof jl_Throwable) {
                                } else {
                                    throw $$e;
                                }
                            }
                        }
                    }
                }
            }
            $ww = nlei_PlatformInput_processFunctionKeys($w);
            $c = $ww != $w ? 0 : $loc;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = ju_HashMap_get($keyCode, $s);
            if ($rt_suspending()) {
                break main;
            }
            $keyCode = $tmp;
            $keyCode = $keyCode;
            if ($keyCode !== null) {
                $w = $keyCode.$keyCode0;
                $loc = $keyCode.$location;
            } else {
                $w = nlei_PlatformInput_getWhich$js_body$_16($evt);
                $loc = nlei_PlatformInput_getLocationSafe$js_body$_17($evt);
            }
            if ($w == 122 && !($evt.repeat ? 1 : 0)) {
                $ww = nlei_PlatformInput_fullscreenSupported;
                if ($ww) {
                    if (!($ww && (nlei_PlatformInput_fullscreenQuery.matches ? 1 : 0) ? 1 : 0)) {
                        if (nlei_PlatformInput_keyboardLockSupported) {
                            $rt_globals.navigator.keyboard.lock();
                            nlei_PlatformInput_lockKeys = 1;
                        }
                        c: {
                            $keyCode = nlei_PlatformInput_canvas;
                            switch (nlei_PlatformInput_fullscreenSupported) {
                                case 1:
                                    break;
                                case 2:
                                    try {
                                        $keyCode.webkitRequestFullscreen();
                                        break c;
                                    } catch ($$e) {
                                        $$je = $rt_wrapException($$e);
                                        if ($$je instanceof jl_Throwable) {
                                        } else {
                                            throw $$e;
                                        }
                                    }
                                    break c;
                                case 3:
                                    try {
                                        $keyCode.mozRequestFullScreen();
                                        break c;
                                    } catch ($$e) {
                                        $$je = $rt_wrapException($$e);
                                        if ($$je instanceof jl_Throwable) {
                                        } else {
                                            throw $$e;
                                        }
                                    }
                                    break c;
                                default:
                                    $ptr = 6;
                                    continue main;
                            }
                            try {
                                $keyCode.requestFullscreen();
                                break c;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof jl_Throwable) {
                                } else {
                                    throw $$e;
                                }
                            }
                        }
                    } else {
                        if (nlei_PlatformInput_keyboardLockSupported) {
                            $rt_globals.navigator.keyboard.unlock();
                            nlei_PlatformInput_lockKeys = 0;
                        }
                        d: {
                            $keyCode = nlei_PlatformInput_win.document;
                            switch (nlei_PlatformInput_fullscreenSupported) {
                                case 1:
                                    break;
                                case 2:
                                    try {
                                        $keyCode.webkitExitFullscreen();
                                        break d;
                                    } catch ($$e) {
                                        $$je = $rt_wrapException($$e);
                                        if ($$je instanceof jl_Throwable) {
                                        } else {
                                            throw $$e;
                                        }
                                    }
                                    break d;
                                case 3:
                                    try {
                                        $keyCode.mozCancelFullscreen();
                                        break d;
                                    } catch ($$e) {
                                        $$je = $rt_wrapException($$e);
                                        if ($$je instanceof jl_Throwable) {
                                        } else {
                                            throw $$e;
                                        }
                                    }
                                    break d;
                                default:
                                    $ptr = 8;
                                    continue main;
                            }
                            try {
                                $keyCode.exitFullscreen();
                                break d;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof jl_Throwable) {
                                } else {
                                    throw $$e;
                                }
                            }
                        }
                    }
                }
            }
            $ww = nlei_PlatformInput_processFunctionKeys($w);
            $c = $ww != $w ? 0 : $loc;
            $ptr = 2;
        case 2:
            $tmp = nle_KeyboardConstants_getEaglerKeyFromBrowser($ww, $c);
            if ($rt_suspending()) {
                break main;
            }
            $eag = $tmp;
            if (nlei_PlatformInput_isOnMobilePressAnyKey) {
                $keyCode = nlei_PlatformInput_mobilePressAnyKey;
                if ($keyCode !== null && $eag == 211) {
                    $keyCode.$call0(1);
                    return;
                }
            }
            if ($eag)
                nlei_PlatformInput_keyStates.data[$eag] = 1;
            $s = $rt_str(nlei_PlatformInput_getCharOrNull$js_body$_40($evt));
            $l = jl_String_length($s);
            if ($l == 1)
                $c = jl_String_charAt($s, 0);
            else {
                if ($l) {
                    $evt = $rt_s(875);
                    $ptr = 3;
                    continue main;
                }
                $c = nlei_PlatformInput_keyToAsciiLegacy($w, $evt.shiftKey ? 1 : 0);
            }
            $evt = nlei_PlatformInput_keyEvents;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = jl_String_equals($s, $evt);
            if ($rt_suspending()) {
                break main;
            }
            $w = $tmp;
            if ($w)
                return;
            $c = 0;
            $evt = nlei_PlatformInput_keyEvents;
            $ptr = 4;
        case 4:
            jl_Object_monitorEnter($evt);
            if ($rt_suspending()) {
                break main;
            }
            try {
                $keyCode = nlei_PlatformInput$VKeyEvent__init_($ww, $loc, $eag, $c, 0);
                $ptr = 5;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $keyCode = $$je;

            }
            jl_Object_monitorExit($evt);
            $rt_throw($keyCode);
        case 5:
            e: {
                try {
                    ju_AbstractList_add($evt, $keyCode);
                    if ($rt_suspending()) {
                        break main;
                    }
                    if (ju_LinkedList_size(nlei_PlatformInput_keyEvents) > 64)
                        ju_AbstractSequentialList_remove(nlei_PlatformInput_keyEvents, 0);
                    jl_Object_monitorExit($evt);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $keyCode = $$je;
                    break e;

                }
                return;
            }
            jl_Object_monitorExit($evt);
            $rt_throw($keyCode);
        case 6:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $s = nlei_PlatformRuntime_logger;
            $keyCode = $rt_s(876);
            $ptr = 7;
        case 7:
            oall_Logger_warn($s, $keyCode);
            if ($rt_suspending()) {
                break main;
            }
            $ww = nlei_PlatformInput_processFunctionKeys($w);
            $c = $ww != $w ? 0 : $loc;
            $ptr = 2;
            continue main;
        case 8:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $s = nlei_PlatformRuntime_logger;
            $keyCode = $rt_s(877);
            $ptr = 9;
        case 9:
            oall_Logger_warn($s, $keyCode);
            if ($rt_suspending()) {
                break main;
            }
            $ww = nlei_PlatformInput_processFunctionKeys($w);
            $c = $ww != $w ? 0 : $loc;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $evt, $keyCode, $s, $w, $loc, $ww, $c, $eag, $l, $ptr);
    }
    function nlei_PlatformInput$7_handleEvent$exported$0(var$0, var$1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformInput$7_handleEvent(var$0, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, $ptr);
    }
    var nlei_PlatformInput$8 = $rt_classWithoutFields();
    function nlei_PlatformInput$8__init_0() {
        var var_0 = new nlei_PlatformInput$8();
        nlei_PlatformInput$8__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$8__init_($this) {}
    function nlei_PlatformInput$8_handleEvent$exported$0(var$0, var$1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_ClientMain_$callClinit();
            if (!nleit_ClientMain_integratedServerCrashPanelShowing) {
                var$1.preventDefault();
                var$1.stopPropagation();
            }
            var$2 = null;
            if (nlei_PlatformInput_keyCodeTranslatorMap !== null && (typeof var$1.code === "string" ? 1 : 0)) {
                var$2 = nlei_PlatformInput_keyCodeTranslatorMap;
                var$3 = $rt_str(var$1.code);
                $ptr = 1;
                continue main;
            }
            if (var$2 !== null) {
                var$4 = var$2.$keyCode0;
                var$5 = var$2.$location;
            } else {
                var$4 = nlei_PlatformInput_getWhich$js_body$_16(var$1);
                var$5 = nlei_PlatformInput_getLocationSafe$js_body$_17(var$1);
            }
            var$6 = nlei_PlatformInput_processFunctionKeys(var$4);
            var$7 = var$6 != var$4 ? 0 : var$5;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = ju_HashMap_get(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$2 = var$2;
            if (var$2 !== null) {
                var$4 = var$2.$keyCode0;
                var$5 = var$2.$location;
            } else {
                var$4 = nlei_PlatformInput_getWhich$js_body$_16(var$1);
                var$5 = nlei_PlatformInput_getLocationSafe$js_body$_17(var$1);
            }
            var$6 = nlei_PlatformInput_processFunctionKeys(var$4);
            var$7 = var$6 != var$4 ? 0 : var$5;
            $ptr = 2;
        case 2:
            a: {
                $tmp = nle_KeyboardConstants_getEaglerKeyFromBrowser(var$6, var$7);
                if ($rt_suspending()) {
                    break main;
                }
                var$8 = $tmp;
                if (var$8) {
                    var$9 = nlei_PlatformInput_keyStates.data;
                    var$9[var$8] = 0;
                    if (var$8 == nlei_PlatformInput_functionKeyModifier) {
                        var$7 = 59;
                        while (true) {
                            if (var$7 > 68)
                                break a;
                            var$9[var$7] = 0;
                            var$7 = var$7 + 1 | 0;
                        }
                    }
                }
            }
            var$2 = $rt_str(nlei_PlatformInput_getCharOrNull$js_body$_40(var$1));
            var$7 = jl_String_length(var$2);
            if (var$7 == 1)
                var$7 = jl_String_charAt(var$2, 0);
            else {
                if (var$7) {
                    var$1 = $rt_s(875);
                    $ptr = 3;
                    continue main;
                }
                var$7 = nlei_PlatformInput_keyToAsciiLegacy(var$4, var$1.shiftKey ? 1 : 0);
            }
            var$1 = nlei_PlatformInput_keyEvents;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = jl_String_equals(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4)
                return;
            var$7 = 0;
            var$1 = nlei_PlatformInput_keyEvents;
            $ptr = 4;
        case 4:
            jl_Object_monitorEnter(var$1);
            if ($rt_suspending()) {
                break main;
            }
            try {
                var$2 = nlei_PlatformInput$VKeyEvent__init_(var$6, var$5, var$8, var$7, 1);
                $ptr = 5;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$2 = $$je;

            }
            jl_Object_monitorExit(var$1);
            $rt_throw(var$2);
        case 5:
            a: {
                try {
                    ju_AbstractList_add(var$1, var$2);
                    if ($rt_suspending()) {
                        break main;
                    }
                    if (ju_LinkedList_size(nlei_PlatformInput_keyEvents) > 64)
                        ju_AbstractSequentialList_remove(nlei_PlatformInput_keyEvents, 0);
                    jl_Object_monitorExit(var$1);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$2 = $$je;
                    break a;

                }
                return;
            }
            jl_Object_monitorExit(var$1);
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    var nlei_PlatformInput$9 = $rt_classWithoutFields();
    function nlei_PlatformInput$9__init_0() {
        var var_0 = new nlei_PlatformInput$9();
        nlei_PlatformInput$9__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$9__init_($this) {}
    function nlei_PlatformInput$9_handleEvent$exported$0(var$0, var$1) {
        var var$2, var$3, var$4, var$5, $$je;
        a: {
            b: {
                var$1.preventDefault();
                var$1.stopPropagation();
                var$2 =  -var$1.deltaY;
                nlei_PlatformInput_mouseDWheel = nlei_PlatformInput_mouseDWheel + var$2;
                if (nlei_PlatformInput_hasShownPressAnyKey) {
                    var$3 = nlei_PlatformInput_getOffsetX$js_body$_14(var$1, nlei_PlatformInput_touchOffsetXTeaVM) * nlei_PlatformInput_windowDPI | 0;
                    var$4 = (nlei_PlatformInput_windowHeight - (nlei_PlatformInput_getOffsetY$js_body$_15(var$1, nlei_PlatformInput_touchOffsetYTeaVM) * nlei_PlatformInput_windowDPI | 0) | 0) - 1 | 0;
                    var$1 = nlei_PlatformInput_mouseEvents;
                    jl_Object_monitorEnterSync(var$1);
                    c: {
                        try {
                            ju_AbstractList_add(var$1, nlei_PlatformInput$VMouseEvent__init_(var$3, var$4, (-1), var$2, 3));
                            if (ju_LinkedList_size(nlei_PlatformInput_mouseEvents) <= 64)
                                break c;
                            ju_AbstractSequentialList_remove(nlei_PlatformInput_mouseEvents, 0);
                            break c;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            var$5 = $$je;
                            break a;

                        }
                    }
                    try {
                        jl_Object_monitorExitSync(var$1);
                        break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        var$5 = $$je;
                        break a;

                    }
                }
            }
            return;
        }
        jl_Object_monitorExitSync(var$1);
        $rt_throw(var$5);
    }
    var nlei_PlatformInput$10 = $rt_classWithoutFields();
    function nlei_PlatformInput$10__init_0() {
        var var_0 = new nlei_PlatformInput$10();
        nlei_PlatformInput$10__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$10__init_($this) {}
    function nlei_PlatformInput$10_handleEvent$exported$0(var$0, var$1) {
        var var$2, var$3, var$4;
        nlei_PlatformInput_isWindowFocused = 0;
        var$2 = 0;
        while (true) {
            var$3 = nlei_PlatformInput_buttonStates.data;
            if (var$2 >= var$3.length)
                break;
            var$3[var$2] = 0;
            var$2 = var$2 + 1 | 0;
        }
        var$4 = 0;
        while (true) {
            var$3 = nlei_PlatformInput_keyStates.data;
            if (var$4 >= var$3.length)
                break;
            var$3[var$4] = 0;
            var$4 = var$4 + 1 | 0;
        }
    }
    var nlei_PlatformInput$11 = $rt_classWithoutFields();
    function nlei_PlatformInput$11__init_0() {
        var var_0 = new nlei_PlatformInput$11();
        nlei_PlatformInput$11__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$11__init_($this) {}
    function nlei_PlatformInput$11_handleEvent$exported$0(var$0, var$1) {
        nlei_PlatformInput_isWindowFocused = 1;
    }
    var nlei_PlatformInput$KeyboardLayoutIterator = $rt_classWithoutFields(0);
    function nlei_PlatformInput$initHooks$lambda$_3_0() {
        jl_Object.call(this);
        this.$_020 = null;
    }
    function nlei_PlatformInput$initHooks$lambda$_3_0__init_(var_0) {
        var var_1 = new nlei_PlatformInput$initHooks$lambda$_3_0();
        nlei_PlatformInput$initHooks$lambda$_3_0__init_0(var_1, var_0);
        return var_1;
    }
    function nlei_PlatformInput$initHooks$lambda$_3_0__init_0(var$0, var$1) {
        var$0.$_020 = var$1;
    }
    function nlei_PlatformInput$initHooks$lambda$_3_0_call$exported$0(var$0, var$1, var$2) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_str(var$1);
            var$2 = $rt_str(var$2);
            var$3 = var$0.$_020;
            var$4 = var$3.$codeLookupBase;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_get(var$4, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$4 = var$4;
            if (var$4 === null)
                return;
            $ptr = 2;
        case 2:
            nleit_LegacyKeycodeTranslator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (jl_String_length(var$1) == 1) {
                var$5 = jl_String_charAt(var$1, 0);
                $ptr = 3;
                continue main;
            }
            var$1 = null;
            if (var$1 === null)
                return;
            $ptr = 5;
            continue main;
        case 3:
            $tmp = nleit_LegacyKeycodeTranslator_getCodeFromLayoutChar0(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1 === null) {
                var$5 = jl_Character_toLowerCase(var$5);
                $ptr = 4;
                continue main;
            }
            if (var$1 === null)
                return;
            $ptr = 5;
            continue main;
        case 4:
            $tmp = nleit_LegacyKeycodeTranslator_getCodeFromLayoutChar0(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1 === null)
                return;
            $ptr = 5;
        case 5:
            $tmp = jl_String_equals(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return;
            if (!jl_String_startsWith(var$2, $rt_s(878))) {
                var$2 = var$3.$codeLookupBase;
                $ptr = 6;
                continue main;
            }
            var$2 = nleit_LegacyKeycodeTranslator_numpadVolatile;
            $ptr = 8;
            continue main;
        case 6:
            $tmp = ju_HashMap_get(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 7;
        case 7:
            $tmp = nleit_LegacyKeycodeTranslator$LegacyKeycode_equals(var$4, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return;
            var$2 = var$3.$codeLookupLayout;
            $ptr = 9;
            continue main;
        case 8:
            $tmp = ju_HashSet_contains(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return;
            var$2 = var$3.$codeLookupBase;
            $ptr = 6;
            continue main;
        case 9:
            ju_HashMap_putImpl(var$2, var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    var nlei_PlatformInput$12 = $rt_classWithoutFields();
    function nlei_PlatformInput$12__init_0() {
        var var_0 = new nlei_PlatformInput$12();
        nlei_PlatformInput$12__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$12__init_($this) {}
    function nlei_PlatformInput$12_handleEvent$exported$0(var$0, var$1) {
        var$1 = new nlei_PlatformInput$12$1;
        var$1.$this$04 = var$0;
        $rt_globals.setTimeout(otji_JS_function(var$1, "onTimer"), 60);
        nlei_PlatformInput_mouseDX = 0.0;
        nlei_PlatformInput_mouseDY = 0.0;
        nlei_PlatformInput_pointerLockWaiting = 0;
    }
    var nlei_PlatformInput$13 = $rt_classWithoutFields();
    function nlei_PlatformInput$13__init_0() {
        var var_0 = new nlei_PlatformInput$13();
        nlei_PlatformInput$13__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$13__init_($this) {}
    function nlei_PlatformInput$13_handleEvent$exported$0(var$0, var$1) {
        nlei_PlatformInput_pointerLockWaiting = 0;
    }
    var nlei_PlatformInput$14 = $rt_classWithoutFields();
    function nlei_PlatformInput$14__init_0() {
        var var_0 = new nlei_PlatformInput$14();
        nlei_PlatformInput$14__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$14__init_($this) {}
    function nlei_PlatformInput$14_handleEvent$exported$0(var$0, var$1) {
        if (!(var$1.matches ? 1 : 0)) {
            $rt_globals.navigator.keyboard.unlock();
            nlei_PlatformInput_lockKeys = 0;
        }
    }
    var nlei_PlatformInput$UnloadCallback = $rt_classWithoutFields(0);
    var nlei_PlatformInput$initHooks$lambda$_3_1 = $rt_classWithoutFields();
    function nlei_PlatformInput$initHooks$lambda$_3_1__init_0() {
        var var_0 = new nlei_PlatformInput$initHooks$lambda$_3_1();
        nlei_PlatformInput$initHooks$lambda$_3_1__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$initHooks$lambda$_3_1__init_(var$0) {}
    function nlei_PlatformInput$initHooks$lambda$_3_1_call$exported$0(var$0) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, $ptr);
    }
    var otjb_TimerHandler = $rt_classWithoutFields(0);
    var nlei_PlatformInput$initHooks$lambda$_3_2 = $rt_classWithoutFields();
    function nlei_PlatformInput$initHooks$lambda$_3_2__init_0() {
        var var_0 = new nlei_PlatformInput$initHooks$lambda$_3_2();
        nlei_PlatformInput$initHooks$lambda$_3_2__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$initHooks$lambda$_3_2__init_(var$0) {}
    function nlei_PlatformInput$initHooks$lambda$_3_2_onTimer$exported$0(var$0) {
        var var$1, var$2, var$3, var$4, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (Long_eq(nlei_PlatformInput_vsyncWaiting, Long_fromInt(-1)))
                return;
            $ptr = 1;
        case 1:
            $tmp = nlei_PlatformRuntime_steadyTimeMillis();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (Long_le(Long_sub(var$1, nlei_PlatformInput_vsyncWaiting), Long_fromInt(1000)))
                return;
            var$2 = nlei_PlatformRuntime_logger;
            var$3 = $rt_s(879);
            $ptr = 2;
        case 2:
            oall_Logger_error0(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformInput_vsyncWaiting = Long_fromInt(-1);
            var$4 = nlei_PlatformInput_vsyncTimeout;
            if (var$4 != (-1)) {
                a: {
                    try {
                        $rt_globals.clearTimeout(var$4);
                        break a;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                        } else {
                            throw $$e;
                        }
                    }
                }
                nlei_PlatformInput_vsyncTimeout = (-1);
            }
            var$3 = nlei_PlatformInput_vsyncAsyncCallback;
            if (var$3 !== null) {
                nlei_PlatformInput_vsyncAsyncCallback = null;
                otpp_AsyncCallbackWrapper_complete(var$3, null);
                return;
            }
            var$3 = nlei_PlatformRuntime_logger;
            var$2 = $rt_s(880);
            $ptr = 3;
        case 3:
            oall_Logger_error0(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, $ptr);
    }
    function nleo_GLObjectRecycler() {
        var a = this; jl_Object.call(a);
        a.$deletedObjects = null;
        a.$reserveSize = 0;
    }
    function nleo_GLObjectRecycler__init_($this, $reserveSize) {
        $this.$reserveSize = $reserveSize;
        $this.$deletedObjects = ju_ArrayDeque__init_0($reserveSize << 1);
    }
    var nleo_EaglercraftGPU$1 = $rt_classWithoutFields(nleo_GLObjectRecycler);
    var nleo_EaglercraftGPU$2 = $rt_classWithoutFields(nleo_GLObjectRecycler);
    var nleo_EaglercraftGPU$3 = $rt_classWithoutFields(nleo_GLObjectRecycler);
    function nlei_GLObjectMap() {
        var a = this; jl_Object.call(a);
        a.$values3 = null;
        a.$size4 = 0;
        a.$insertIndex = 0;
        a.$allocatedObjects = 0;
    }
    function nlei_GLObjectMap__init_(var_0) {
        var var_1 = new nlei_GLObjectMap();
        nlei_GLObjectMap__init_0(var_1, var_0);
        return var_1;
    }
    function nlei_GLObjectMap__init_0($this, $initialSize) {
        $this.$values3 = $rt_createArray(jl_Object, $initialSize);
        $this.$size4 = $initialSize;
        $this.$insertIndex = 0;
        $this.$allocatedObjects = 0;
    }
    function nlei_GLObjectMap_register($this, $obj) {
        var $start, var$3, var$4, var$5, var$6;
        $start = $this.$insertIndex;
        while (true) {
            var$3 = $this.$insertIndex + 1 | 0;
            $this.$insertIndex = var$3;
            var$4 = $this.$size4;
            if (var$3 >= var$4)
                $this.$insertIndex = 0;
            var$3 = $this.$insertIndex;
            if (var$3 == $start) {
                var$3 = var$4 + (var$4 / 2 | 0) | 0;
                $this.$size4 = var$3;
                var$5 = $this.$values3;
                var$6 = $rt_createArray(jl_Object, var$3);
                $this.$values3 = var$6;
                jl_System_fastArraycopy(var$5, 0, var$6, 0, var$4);
                return nlei_GLObjectMap_register($this, $obj);
            }
            var$5 = $this.$values3.data;
            if (var$5[var$3] !== null)
                continue;
            else
                break;
        }
        var$5[var$3] = $obj;
        $this.$allocatedObjects = $this.$allocatedObjects + 1 | 0;
        return var$3 + 1 | 0;
    }
    function nlei_GLObjectMap_get($this, $obj) {
        $obj = $obj + (-1) | 0;
        if ($obj < $this.$size4 && $obj >= 0)
            return $this.$values3.data[$obj];
        return null;
    }
    var cch_IntObjectAssociativeContainer = $rt_classWithoutFields(0);
    var cch_IntObjectMap = $rt_classWithoutFields(0);
    var cch_Preallocable = $rt_classWithoutFields(0);
    var cch_Accountable = $rt_classWithoutFields(0);
    function cch_IntObjectHashMap() {
        var a = this; jl_Object.call(a);
        a.$keys = null;
        a.$values0 = null;
        a.$assigned = 0;
        a.$mask = 0;
        a.$resizeAt = 0;
        a.$hasEmptyKey = 0;
        a.$loadFactor = 0.0;
        a.$iterationSeed = 0;
    }
    var cch_IntObjectHashMap_$assertionsDisabled = 0;
    function cch_IntObjectHashMap__init_0() {
        var var_0 = new cch_IntObjectHashMap();
        cch_IntObjectHashMap__init_(var_0);
        return var_0;
    }
    function cch_IntObjectHashMap__init_($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 4;
            var$2 = 0.75;
            var$3 = 0.009999999776482582;
            var$4 = 0.9900000095367432;
            $ptr = 1;
        case 1:
            cch_HashContainers_checkLoadFactor(var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$loadFactor = var$2;
            $this.$iterationSeed = cch_HashContainers_nextIterationSeed();
            if (var$1 <= $this.$resizeAt && $this.$keys !== null)
                return;
            var$5 = $this.$keys;
            var$6 = $this.$values0;
            var$2 = $this.$loadFactor;
            $ptr = 2;
        case 2:
            $tmp = cch_HashContainers_minBufferSize(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 3;
        case 3:
            cch_IntObjectHashMap_allocateBuffers($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            if (var$5 !== null && !(cch_IntObjectHashMap_size($this) ? 0 : 1))
                cch_IntObjectHashMap_rehash($this, var$5, var$6);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function cch_IntObjectHashMap_size($this) {
        return $this.$assigned + (!$this.$hasEmptyKey ? 0 : 1) | 0;
    }
    function cch_IntObjectHashMap_hashKey($this, $key) {
        var var$2, var$3;
        if (!cch_IntObjectHashMap_$assertionsDisabled && !$key) {
            var$2 = new jl_AssertionError;
            jl_Throwable__init_0(var$2);
            $rt_throw(var$2);
        }
        var$3 = $rt_imul($key, (-1640531527));
        return var$3 ^ (var$3 >>> 16 | 0);
    }
    function cch_IntObjectHashMap_rehash($this, $fromKeys, $fromValues) {
        var $keys, $values, var$5, var$6, var$7, $mask, $from, $slot;
        if (!cch_IntObjectHashMap_$assertionsDisabled) {
            $keys = $fromKeys.data;
            $values = $fromValues.data;
            var$5 = $keys.length;
            if (!(var$5 == $values.length && cch_HashContainers_checkPowerOfTwo(var$5 - 1 | 0))) {
                var$6 = new jl_AssertionError;
                jl_Throwable__init_0(var$6);
                $rt_throw(var$6);
            }
        }
        var$7 = $fromKeys.data;
        $fromKeys = $fromValues.data;
        $keys = $this.$keys.data;
        $fromValues = $this.$values0.data;
        $mask = $this.$mask;
        $from = var$7.length - 1 | 0;
        $keys[$keys.length - 1 | 0] = var$7[$from];
        $fromValues[$fromValues.length - 1 | 0] = $fromKeys[$from];
        while (true) {
            $from = $from + (-1) | 0;
            if ($from < 0)
                break;
            var$5 = var$7[$from];
            if (!var$5)
                continue;
            $slot = cch_IntObjectHashMap_hashKey($this, var$5) & $mask;
            while ($keys[$slot]) {
                $slot = ($slot + 1 | 0) & $mask;
            }
            $keys[$slot] = var$5;
            $fromValues[$slot] = $fromKeys[$from];
        }
    }
    function cch_IntObjectHashMap_allocateBuffers($this, $arraySize) {
        var $e, $prevKeys, $prevValues, $emptyElementSlot, var$6, var$7, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$emptyElementSlot = $thread.pop();$prevValues = $thread.pop();$prevKeys = $thread.pop();$e = $thread.pop();$arraySize = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!cch_IntObjectHashMap_$assertionsDisabled && jl_Integer_bitCount($arraySize) != 1) {
                $e = new jl_AssertionError;
                jl_Throwable__init_0($e);
                $rt_throw($e);
            }
            $prevKeys = $this.$keys;
            $prevValues = $this.$values0;
            a: {
                try {
                    $emptyElementSlot = $arraySize + 1 | 0;
                    $this.$keys = $rt_createIntArray($emptyElementSlot);
                    $this.$values0 = $rt_createArray(jl_Object, $emptyElementSlot);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_OutOfMemoryError) {
                        $e = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                $this.$resizeAt = cch_HashContainers_expandAtCount($arraySize, $this.$loadFactor);
                $this.$mask = $arraySize - 1 | 0;
                return;
            }
            $this.$keys = $prevKeys;
            $this.$values0 = $prevValues;
            var$6 = new cch_BufferAllocationException;
            var$7 = $rt_s(881);
            $prevKeys = $rt_createArrayFromData(jl_Object, [jl_Integer_valueOf($this.$mask + 1 | 0), jl_Integer_valueOf($arraySize)]);
            $ptr = 1;
        case 1:
            cch_BufferAllocationException__init_(var$6, var$7, $e, $prevKeys);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw(var$6);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $arraySize, $e, $prevKeys, $prevValues, $emptyElementSlot, var$6, var$7, $ptr);
    }
    function cch_IntObjectHashMap__clinit_() {
        cch_IntObjectHashMap_$assertionsDisabled = 0;
    }
    var nlei_IBufferGL = $rt_classWithoutFields(0);
    function nleo_SoftGLVertexArray$Attrib() {
        var a = this; jl_Object.call(a);
        a.$buffer1 = null;
        a.$size1 = 0;
        a.$format1 = 0;
        a.$normalized = 0;
        a.$stride = 0;
        a.$offset = 0;
        a.$hash0 = 0;
        a.$checkVal = 0;
    }
    var jl_IllegalStateException = $rt_classWithoutFields(jl_RuntimeException);
    function jl_IllegalStateException__init_1() {
        var var_0 = new jl_IllegalStateException();
        jl_IllegalStateException__init_(var_0);
        return var_0;
    }
    function jl_IllegalStateException__init_0(var_0) {
        var var_1 = new jl_IllegalStateException();
        jl_IllegalStateException__init_2(var_1, var_0);
        return var_1;
    }
    function jl_IllegalStateException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function jl_IllegalStateException__init_2($this, $message) {
        jl_Throwable__init_($this, $message);
    }
    var nleo_VSHInputLayoutParser = $rt_classWithoutFields();
    function nleo_VSHInputLayoutParser__init_0() {
        var var_0 = new nleo_VSHInputLayoutParser();
        nleo_VSHInputLayoutParser__init_(var_0);
        return var_0;
    }
    function nleo_VSHInputLayoutParser__init_($this) {}
    function nleo_VSHInputLayoutParser_getShaderInputs($vshSource) {
        var $idx1, var$3, $idx2, $ret, $tokens, $lines, $i, $l, $ln, $idx, var$12, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();$idx = $thread.pop();$ln = $thread.pop();$l = $thread.pop();$i = $thread.pop();$lines = $thread.pop();$tokens = $thread.pop();$ret = $thread.pop();$idx2 = $thread.pop();var$3 = $thread.pop();$idx1 = $thread.pop();$vshSource = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $idx1 = jl_String_indexOf2($vshSource, $rt_s(882));
            if ($idx1 == (-1)) {
                $vshSource = new nleo_VSHInputLayoutParser$ShaderLayoutParseException;
                jl_Throwable__init_($vshSource, $rt_s(883));
                $rt_throw($vshSource);
            }
            var$3 = $idx1 + 25 | 0;
            $idx2 = jl_String_indexOf1($vshSource, $rt_s(884), var$3);
            if ($idx2 == (-1)) {
                $vshSource = new nleo_VSHInputLayoutParser$ShaderLayoutParseException;
                jl_Throwable__init_($vshSource, $rt_s(885));
                $rt_throw($vshSource);
            }
            $vshSource = jl_String_substring0($vshSource, var$3, $idx2);
            $ptr = 1;
        case 1:
            nle_EagUtils_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ret = nle_EagUtils_splitPattern;
            $ptr = 2;
        case 2:
            $tmp = jur_Pattern_split($ret, $vshSource);
            if ($rt_suspending()) {
                break main;
            }
            $tokens = $tmp;
            $lines = ju_Arrays_asList($tokens);
            $ret = ju_ArrayList__init_0();
            $i = 0;
            $l = ju_Arrays$ArrayAsList_size($lines);
            while ($i < $l) {
                $vshSource = jl_String_trim(ju_Arrays$ArrayAsList_get($lines, $i));
                if (jl_String_startsWith($vshSource, $rt_s(886)) && jl_String_endsWith($vshSource, $rt_s(887))) {
                    $vshSource = jl_String_substring0($vshSource, 10, jl_String_length($vshSource) - 1 | 0);
                    $ln = $rt_s(127);
                    var$3 = 3;
                    $ptr = 3;
                    continue main;
                }
                $i = $i + 1 | 0;
            }
            return $ret;
        case 3:
            $tmp = jur_Pattern_compile($ln);
            if ($rt_suspending()) {
                break main;
            }
            $ln = $tmp;
            $ptr = 4;
        case 4:
            $tmp = jur_Pattern_split0($ln, $vshSource, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $tokens = $tmp;
            $tokens = $tokens.data;
            if ($tokens.length == 3)
                try {
                    $vshSource = jl_String_trim($tokens[0]);
                    $ptr = 5;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_NumberFormatException) {
                    } else {
                        throw $$e;
                    }
                }
            while (true) {
                $i = $i + 1 | 0;
                if ($i >= $l)
                    break;
                $vshSource = jl_String_trim(ju_Arrays$ArrayAsList_get($lines, $i));
                if (!jl_String_startsWith($vshSource, $rt_s(886)))
                    continue;
                if (!jl_String_endsWith($vshSource, $rt_s(887)))
                    continue;
                else {
                    $vshSource = jl_String_substring0($vshSource, 10, jl_String_length($vshSource) - 1 | 0);
                    $ln = $rt_s(127);
                    var$3 = 3;
                    $ptr = 3;
                    continue main;
                }
            }
            return $ret;
        case 5:
            a: {
                try {
                    $tmp = jl_Integer_parseInt0($vshSource);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $idx = $tmp;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_NumberFormatException) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                $vshSource = new nleo_VSHInputLayoutParser$ShaderInput;
                $ln = jl_String_trim($tokens[1]);
                var$12 = jl_String_trim($tokens[2]);
                $vshSource.$index = $idx;
                $vshSource.$type = $ln;
                $vshSource.$name5 = var$12;
                $ptr = 6;
                continue main;
            }
            while (true) {
                $i = $i + 1 | 0;
                if ($i >= $l)
                    break;
                $vshSource = jl_String_trim(ju_Arrays$ArrayAsList_get($lines, $i));
                if (!jl_String_startsWith($vshSource, $rt_s(886)))
                    continue;
                if (!jl_String_endsWith($vshSource, $rt_s(887)))
                    continue;
                else {
                    $vshSource = jl_String_substring0($vshSource, 10, jl_String_length($vshSource) - 1 | 0);
                    $ln = $rt_s(127);
                    var$3 = 3;
                    $ptr = 3;
                    continue main;
                }
            }
            return $ret;
        case 6:
            ju_ArrayList_add($ret, $vshSource);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $i = $i + 1 | 0;
                if ($i >= $l)
                    break;
                $vshSource = jl_String_trim(ju_Arrays$ArrayAsList_get($lines, $i));
                if (!jl_String_startsWith($vshSource, $rt_s(886)))
                    continue;
                if (!jl_String_endsWith($vshSource, $rt_s(887)))
                    continue;
                else {
                    $vshSource = jl_String_substring0($vshSource, 10, jl_String_length($vshSource) - 1 | 0);
                    $ln = $rt_s(127);
                    var$3 = 3;
                    $ptr = 3;
                    continue main;
                }
            }
            return $ret;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($vshSource, $idx1, var$3, $idx2, $ret, $tokens, $lines, $i, $l, $ln, $idx, var$12, $ptr);
    }
    function nleo_VSHInputLayoutParser_applyLayout($program, $layout) {
        var $i, $l, $itm, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$itm = $thread.pop();$l = $thread.pop();$i = $thread.pop();$layout = $thread.pop();$program = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $i = 0;
            $l = $layout.$size0;
            if ($i >= $l)
                return;
            $itm = ju_ArrayList_get($layout, $i);
            var$6 = $itm.$index;
            $itm = $itm.$name5;
            $ptr = 1;
        case 1:
            nlei_PlatformOpenGL__wglBindAttribLocation($program, var$6, $itm);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            if ($i >= $l)
                return;
            $itm = ju_ArrayList_get($layout, $i);
            var$6 = $itm.$index;
            $itm = $itm.$name5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($program, $layout, $i, $l, $itm, var$6, $ptr);
    }
    function jt_DateFormatSymbols() {
        var a = this; jl_Object.call(a);
        a.$locale0 = null;
        a.$ampms = null;
        a.$eras = null;
        a.$months = null;
        a.$shortMonths = null;
        a.$shortWeekdays = null;
        a.$weekdays = null;
        a.$zoneStrings = null;
    }
    function jt_DateFormatSymbols__init_1() {
        var var_0 = new jt_DateFormatSymbols();
        jt_DateFormatSymbols__init_(var_0);
        return var_0;
    }
    function jt_DateFormatSymbols__init_0(var_0) {
        var var_1 = new jt_DateFormatSymbols();
        jt_DateFormatSymbols__init_2(var_1, var_0);
        return var_1;
    }
    function jt_DateFormatSymbols__init_($this) {
        jt_DateFormatSymbols__init_2($this, ju_Locale_getDefault());
    }
    function jt_DateFormatSymbols__init_2($this, $locale) {
        $this.$locale0 = $locale;
    }
    var otjb_Performance = $rt_classWithoutFields();
    function otjb_Performance__init_0() {
        var var_0 = new otjb_Performance();
        otjb_Performance__init_(var_0);
        return var_0;
    }
    function otjb_Performance__init_($this) {}
    function nms_RenderBlocks() {
        var a = this; jl_Object.call(a);
        a.$blockAccess = null;
        a.$overrideBlockTexture = 0;
        a.$flipTexture = 0;
        a.$renderAllFaces = 0;
        a.$enableAO = 0;
        a.$field_22384_f = 0.0;
        a.$aoLightValueXNeg = 0.0;
        a.$aoLightValueYNeg = 0.0;
        a.$aoLightValueZNeg = 0.0;
        a.$aoLightValueXPos = 0.0;
        a.$aoLightValueYPos = 0.0;
        a.$aoLightValueZPos = 0.0;
        a.$field_22377_m = 0.0;
        a.$field_22376_n = 0.0;
        a.$field_22375_o = 0.0;
        a.$field_22374_p = 0.0;
        a.$field_22373_q = 0.0;
        a.$field_22372_r = 0.0;
        a.$field_22371_s = 0.0;
        a.$field_22370_t = 0.0;
        a.$field_22369_u = 0.0;
        a.$field_22368_v = 0.0;
        a.$field_22367_w = 0.0;
        a.$field_22366_x = 0.0;
        a.$field_22365_y = 0.0;
        a.$field_22364_z = 0.0;
        a.$field_22362_A = 0.0;
        a.$field_22360_B = 0.0;
        a.$field_22358_C = 0.0;
        a.$field_22356_D = 0.0;
        a.$field_22354_E = 0.0;
        a.$field_22353_F = 0.0;
        a.$field_22352_G = 0;
        a.$colorRedTopLeft = 0.0;
        a.$colorRedBottomLeft = 0.0;
        a.$colorRedBottomRight = 0.0;
        a.$colorRedTopRight = 0.0;
        a.$colorGreenTopLeft = 0.0;
        a.$colorGreenBottomLeft = 0.0;
        a.$colorGreenBottomRight = 0.0;
        a.$colorGreenTopRight = 0.0;
        a.$colorBlueTopLeft = 0.0;
        a.$colorBlueBottomLeft = 0.0;
        a.$colorBlueBottomRight = 0.0;
        a.$colorBlueTopRight = 0.0;
        a.$field_22339_T = 0;
        a.$field_22338_U = 0;
        a.$field_22337_V = 0;
        a.$field_22336_W = 0;
        a.$field_22335_X = 0;
        a.$field_22334_Y = 0;
        a.$field_22333_Z = 0;
        a.$field_22363_aa = 0;
        a.$field_22361_ab = 0;
        a.$field_22359_ac = 0;
        a.$field_22357_ad = 0;
        a.$field_22355_ae = 0;
    }
    function nms_RenderBlocks__init_0(var_0) {
        var var_1 = new nms_RenderBlocks();
        nms_RenderBlocks__init_2(var_1, var_0);
        return var_1;
    }
    function nms_RenderBlocks__init_1() {
        var var_0 = new nms_RenderBlocks();
        nms_RenderBlocks__init_(var_0);
        return var_0;
    }
    function nms_RenderBlocks__init_2($this, $var1) {
        $this.$overrideBlockTexture = (-1);
        $this.$flipTexture = 0;
        $this.$renderAllFaces = 0;
        $this.$field_22352_G = 1;
        $this.$blockAccess = $var1;
    }
    function nms_RenderBlocks__init_($this) {
        $this.$overrideBlockTexture = (-1);
        $this.$flipTexture = 0;
        $this.$renderAllFaces = 0;
        $this.$field_22352_G = 1;
    }
    function nms_RenderBlocks_renderBlockByRenderType($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$getRenderType();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            var$6 = $this.$blockAccess;
            $ptr = 2;
        case 2:
            $var1.$setBlockBoundsBasedOnState(var$6, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var5) {
                $ptr = 3;
                continue main;
            }
            if ($var5 == 4) {
                $ptr = 4;
                continue main;
            }
            if ($var5 == 13) {
                var$6 = $this.$blockAccess;
                $ptr = 5;
                continue main;
            }
            if ($var5 == 1) {
                $ptr = 7;
                continue main;
            }
            if ($var5 == 6) {
                $ptr = 12;
                continue main;
            }
            if ($var5 == 2) {
                var$6 = $this.$blockAccess;
                $ptr = 17;
                continue main;
            }
            if ($var5 == 3) {
                $ptr = 20;
                continue main;
            }
            if ($var5 == 5) {
                $ptr = 21;
                continue main;
            }
            if ($var5 == 8) {
                $ptr = 23;
                continue main;
            }
            if ($var5 == 7) {
                $ptr = 25;
                continue main;
            }
            if ($var5 == 9) {
                $ptr = 27;
                continue main;
            }
            if ($var5 == 10) {
                var$7 = 0;
                var$6 = $this.$blockAccess;
                $ptr = 29;
                continue main;
            }
            if ($var5 == 11) {
                $ptr = 32;
                continue main;
            }
            if ($var5 == 12) {
                $ptr = 37;
                continue main;
            }
            if ($var5 == 14) {
                $ptr = 43;
                continue main;
            }
            if ($var5 != 15) {
                var$7 = 0;
                return var$7;
            }
            $ptr = 48;
            continue main;
        case 3:
            $tmp = nms_RenderBlocks_renderStandardBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            return var$7;
        case 4:
            $tmp = nms_RenderBlocks_renderBlockFluids($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            return var$7;
        case 5:
            $tmp = $var1.$colorMultiplier(var$6, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$8 = (var$7 >> 16 & 255) / 255.0;
            var$9 = (var$7 >> 8 & 255) / 255.0;
            var$10 = (var$7 & 255) / 255.0;
            $ptr = 6;
        case 6:
            $tmp = nms_RenderBlocks_func_1230_b($this, $var1, $var2, $var3, $var4, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            return var$7;
        case 7:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_Tessellator_instance;
            var$11 = $this.$blockAccess;
            $ptr = 8;
        case 8:
            $tmp = $var1.$getBlockBrightness(var$11, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 9;
        case 9:
            nms_Tessellator_setColorOpaque_F(var$6, var$8, var$8, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $this.$blockAccess;
            $ptr = 10;
        case 10:
            $tmp = var$6.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$12 = $var2;
            var$13 = $var3;
            var$14 = $var4;
            $ptr = 11;
        case 11:
            nms_RenderBlocks_renderCrossedSquares($this, $var1, var$7, var$12, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 1;
            return var$7;
        case 12:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_Tessellator_instance;
            var$11 = $this.$blockAccess;
            $ptr = 13;
        case 13:
            $tmp = $var1.$getBlockBrightness(var$11, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 14;
        case 14:
            nms_Tessellator_setColorOpaque_F(var$6, var$8, var$8, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $this.$blockAccess;
            $ptr = 15;
        case 15:
            $tmp = var$6.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$12 = $var2;
            var$13 = $var3 - 0.0625;
            var$14 = $var4;
            $ptr = 16;
        case 16:
            nms_RenderBlocks_func_1245_b($this, $var1, var$7, var$12, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 1;
            return var$7;
        case 17:
            $tmp = var$6.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $ptr = 18;
        case 18:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_Tessellator_instance;
            var$11 = $this.$blockAccess;
            $ptr = 19;
        case 19:
            $tmp = $var1.$getBlockBrightness(var$11, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (nms_Block_lightValue.data[$var1.$blockID] > 0)
                var$8 = 1.0;
            $ptr = 22;
            continue main;
        case 20:
            $tmp = nms_RenderBlocks_renderBlockFire($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            return var$7;
        case 21:
            $tmp = nms_RenderBlocks_renderBlockRedstoneWire($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            return var$7;
        case 22:
            nms_Tessellator_setColorOpaque_F(var$6, var$8, var$8, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = 0.4000000059604645;
            if (var$7 == 1) {
                var$12 = $var2 - 0.09999999403953552;
                var$13 = $var3 + 0.20000000298023224;
                var$14 = $var4;
                var$15 = (-0.4000000059604645);
                var$16 = 0.0;
                $ptr = 24;
                continue main;
            }
            if (var$7 == 2) {
                var$13 = $var2 + 0.09999999403953552;
                var$14 = $var3 + 0.20000000298023224;
                var$15 = $var4;
                var$16 = 0.0;
                $ptr = 26;
                continue main;
            }
            if (var$7 == 3) {
                var$12 = $var2;
                var$14 = $var3 + 0.20000000298023224;
                var$13 = $var4 - 0.09999999403953552;
                var$15 = 0.0;
                var$16 = (-0.4000000059604645);
                $ptr = 28;
                continue main;
            }
            if (var$7 != 4) {
                var$12 = $var2;
                var$13 = $var3;
                var$16 = $var4;
                var$14 = 0.0;
                var$15 = 0.0;
                $ptr = 30;
                continue main;
            }
            var$15 = $var2;
            var$14 = $var3 + 0.20000000298023224;
            var$13 = $var4 + 0.09999999403953552;
            var$16 = 0.0;
            $ptr = 31;
            continue main;
        case 23:
            $tmp = nms_RenderBlocks_renderBlockLadder($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            return var$7;
        case 24:
            nms_RenderBlocks_renderTorchAtAngle($this, $var1, var$12, var$13, var$14, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 1;
            return var$7;
        case 25:
            $tmp = nms_RenderBlocks_renderBlockDoor($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            return var$7;
        case 26:
            nms_RenderBlocks_renderTorchAtAngle($this, $var1, var$13, var$14, var$15, var$12, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 1;
            return var$7;
        case 27:
            $tmp = nms_RenderBlocks_renderBlockMinecartTrack($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            return var$7;
        case 28:
            nms_RenderBlocks_renderTorchAtAngle($this, $var1, var$12, var$14, var$13, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 1;
            return var$7;
        case 29:
            $tmp = var$6.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5) {
                var$8 = 0.0;
                var$17 = 0.0;
                var$18 = 0.0;
                var$19 = 0.5;
                var$9 = 0.5;
                var$10 = 1.0;
                $ptr = 33;
                continue main;
            }
            if ($var5 == 1) {
                var$8 = 0.0;
                var$9 = 0.0;
                var$10 = 0.0;
                var$17 = 0.5;
                var$18 = 1.0;
                var$19 = 1.0;
                $ptr = 38;
                continue main;
            }
            if ($var5 == 2) {
                var$8 = 0.0;
                var$9 = 0.0;
                var$10 = 0.0;
                var$17 = 1.0;
                var$18 = 0.5;
                var$19 = 0.5;
                $ptr = 44;
                continue main;
            }
            if ($var5 != 3) {
                var$8 = 0.0;
                var$9 = 0.0;
                var$10 = 0.0;
                var$17 = 1.0;
                var$18 = 1.0;
                var$19 = 1.0;
                $ptr = 42;
                continue main;
            }
            var$17 = 0.0;
            var$18 = 0.0;
            var$19 = 0.0;
            var$8 = 1.0;
            var$9 = 1.0;
            var$10 = 0.5;
            $ptr = 49;
            continue main;
        case 30:
            nms_RenderBlocks_renderTorchAtAngle($this, $var1, var$12, var$13, var$16, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 1;
            return var$7;
        case 31:
            nms_RenderBlocks_renderTorchAtAngle($this, $var1, var$15, var$14, var$13, var$16, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 1;
            return var$7;
        case 32:
            $tmp = nms_RenderBlocks_renderBlockFence($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            return var$7;
        case 33:
            nms_Block_setBlockBounds($var1, var$8, var$17, var$18, var$19, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 34;
        case 34:
            nms_RenderBlocks_renderStandardBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.5;
            var$9 = 0.0;
            var$10 = 0.0;
            var$17 = 1.0;
            var$18 = 1.0;
            var$19 = 1.0;
            $ptr = 35;
        case 35:
            nms_Block_setBlockBounds($var1, var$8, var$9, var$10, var$17, var$18, var$19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 36;
        case 36:
            nms_RenderBlocks_renderStandardBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.0;
            var$17 = 1.0;
            var$18 = 1.0;
            var$19 = 1.0;
            $ptr = 42;
            continue main;
        case 37:
            $tmp = nms_RenderBlocks_renderBlockLever($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            return var$7;
        case 38:
            nms_Block_setBlockBounds($var1, var$8, var$9, var$10, var$17, var$18, var$19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 39;
        case 39:
            nms_RenderBlocks_renderStandardBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.5;
            var$9 = 0.0;
            var$10 = 0.0;
            var$17 = 1.0;
            var$18 = 0.5;
            var$19 = 1.0;
            $ptr = 40;
        case 40:
            nms_Block_setBlockBounds($var1, var$8, var$9, var$10, var$17, var$18, var$19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 41;
        case 41:
            nms_RenderBlocks_renderStandardBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.0;
            var$17 = 1.0;
            var$18 = 1.0;
            var$19 = 1.0;
            $ptr = 42;
        case 42:
            nms_Block_setBlockBounds($var1, var$8, var$9, var$10, var$17, var$18, var$19);
            if ($rt_suspending()) {
                break main;
            }
            return var$7;
        case 43:
            $tmp = nms_RenderBlocks_renderBlockBed($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            return var$7;
        case 44:
            nms_Block_setBlockBounds($var1, var$8, var$9, var$10, var$17, var$18, var$19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 45;
        case 45:
            nms_RenderBlocks_renderStandardBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.5;
            var$17 = 1.0;
            var$18 = 1.0;
            var$19 = 1.0;
            $ptr = 46;
        case 46:
            nms_Block_setBlockBounds($var1, var$8, var$9, var$10, var$17, var$18, var$19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 47;
        case 47:
            nms_RenderBlocks_renderStandardBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.0;
            var$17 = 1.0;
            var$18 = 1.0;
            var$19 = 1.0;
            $ptr = 42;
            continue main;
        case 48:
            $tmp = nms_RenderBlocks_renderBlockRepeater($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            return var$7;
        case 49:
            nms_Block_setBlockBounds($var1, var$17, var$18, var$19, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 50;
        case 50:
            nms_RenderBlocks_renderStandardBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.5;
            var$17 = 1.0;
            var$18 = 0.5;
            var$19 = 1.0;
            $ptr = 51;
        case 51:
            nms_Block_setBlockBounds($var1, var$8, var$9, var$10, var$17, var$18, var$19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 52;
        case 52:
            nms_RenderBlocks_renderStandardBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.0;
            var$17 = 1.0;
            var$18 = 1.0;
            var$19 = 1.0;
            $ptr = 42;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, $ptr);
    }
    function nms_RenderBlocks_renderBlockBed($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var25, $var67, $var26, $var27, $var28, $var29, $var31, $var33, $var35, var$23, $var37, $var39, var$26, $var41, var$28, $var43, $var45, $var64, $var30, $var32, $var34, $var36, $var54, $var56, $var58, $var60, $var62, var$41, $var65, $var66, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var66 = $thread.pop();$var65 = $thread.pop();var$41 = $thread.pop();$var62 = $thread.pop();$var60 = $thread.pop();$var58 = $thread.pop();$var56 = $thread.pop();$var54 = $thread.pop();$var36 = $thread.pop();$var34 = $thread.pop();$var32 = $thread.pop();$var30 = $thread.pop();$var64 = $thread.pop();$var45 = $thread.pop();$var43 = $thread.pop();var$28 = $thread.pop();$var41 = $thread.pop();var$26 = $thread.pop();$var39 = $thread.pop();$var37 = $thread.pop();var$23 = $thread.pop();$var35
            = $thread.pop();$var33 = $thread.pop();$var31 = $thread.pop();$var29 = $thread.pop();$var28 = $thread.pop();$var27 = $thread.pop();$var26 = $thread.pop();$var67 = $thread.pop();$var25 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = nms_Tessellator_instance;
            var$6 = $this.$blockAccess;
            $ptr = 2;
        case 2:
            $tmp = var$6.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = nms_BlockBed_getDirectionFromMetadata($var6);
            $var8 = nms_BlockBed_isBlockFootOfBed($var6);
            $var9 = 0.5;
            $var10 = 1.0;
            $var11 = 0.800000011920929;
            $var12 = 0.6000000238418579;
            var$6 = $this.$blockAccess;
            $ptr = 3;
        case 3:
            $tmp = $var1.$getBlockBrightness(var$6, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var25 = $tmp;
            $var9 = $var9 * $var25;
            $ptr = 4;
        case 4:
            nms_Tessellator_setColorOpaque_F($var5, $var9, $var9, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $this.$blockAccess;
            $var67 = 0;
            $ptr = 5;
        case 5:
            $tmp = $var1.$getBlockTexture(var$6, $var2, $var3, $var4, $var67);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $tmp;
            $var27 = ($var26 & 15) << 4;
            $var28 = $var26 & 240;
            $var29 = $var27 / 256.0;
            $var31 = (($var27 + 16 | 0) - 0.01) / 256.0;
            $var33 = $var28 / 256.0;
            $var35 = (($var28 + 16 | 0) - 0.01) / 256.0;
            var$23 = $var2;
            $var37 = var$23 + $var1.$minX;
            $var39 = var$23 + $var1.$maxX;
            var$26 = $var3;
            $var41 = var$26 + $var1.$minY + 0.1875;
            var$28 = $var4;
            $var43 = var$28 + $var1.$minZ;
            $var45 = var$28 + $var1.$maxZ;
            $ptr = 6;
        case 6:
            nms_Tessellator_addVertexWithUV($var5, $var37, $var41, $var45, $var29, $var35);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_Tessellator_addVertexWithUV($var5, $var37, $var41, $var43, $var29, $var33);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            nms_Tessellator_addVertexWithUV($var5, $var39, $var41, $var43, $var31, $var33);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var5, $var39, $var41, $var45, $var31, $var35);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $this.$blockAccess;
            $var67 = $var3 + 1 | 0;
            $ptr = 10;
        case 10:
            $tmp = $var1.$getBlockBrightness(var$6, $var2, $var67, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var64 = $tmp;
            $var9 = $var10 * $var64;
            $ptr = 11;
        case 11:
            nms_Tessellator_setColorOpaque_F($var5, $var9, $var9, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $this.$blockAccess;
            $var67 = 1;
            $ptr = 12;
        case 12:
            $tmp = $var1.$getBlockTexture(var$6, $var2, $var3, $var4, $var67);
            if ($rt_suspending()) {
                break main;
            }
            $var67 = $tmp;
            $var26 = ($var67 & 15) << 4;
            $var67 = $var67 & 240;
            $var30 = $var26 / 256.0;
            $var32 = (($var26 + 16 | 0) - 0.01) / 256.0;
            $var34 = $var67 / 256.0;
            $var36 = (($var67 + 16 | 0) - 0.01) / 256.0;
            if (!$var7) {
                $var29 = $var30;
                $var31 = $var36;
                $var33 = $var32;
                $var35 = $var34;
            } else if ($var7 == 2) {
                $var29 = $var32;
                $var31 = $var34;
                $var33 = $var30;
                $var35 = $var36;
                $var43 = $var30;
                $var45 = $var34;
                $var30 = $var32;
                $var34 = $var36;
                $var32 = $var43;
                $var36 = $var45;
            } else if ($var7 != 3) {
                $var29 = $var32;
                $var31 = $var34;
                $var33 = $var30;
                $var35 = $var36;
            } else {
                $var29 = $var30;
                $var31 = $var36;
                $var33 = $var32;
                $var35 = $var34;
                $var43 = $var30;
                $var45 = $var34;
                $var30 = $var32;
                $var34 = $var36;
                $var32 = $var43;
                $var36 = $var45;
            }
            $var54 = var$23 + $var1.$minX;
            $var56 = var$23 + $var1.$maxX;
            $var58 = var$26 + $var1.$maxY;
            $var60 = var$28 + $var1.$minZ;
            $var62 = var$28 + $var1.$maxZ;
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var5, $var56, $var58, $var62, $var33, $var36);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            nms_Tessellator_addVertexWithUV($var5, $var56, $var58, $var60, $var30, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            nms_Tessellator_addVertexWithUV($var5, $var54, $var58, $var60, $var29, $var34);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
        case 16:
            nms_Tessellator_addVertexWithUV($var5, $var54, $var58, $var62, $var32, $var35);
            if ($rt_suspending()) {
                break main;
            }
            var$41 = nms_ModelBed_field_22280_a.data;
            $var26 = var$41[$var7];
            if ($var8)
                $var26 = var$41[nms_ModelBed_field_22279_b.data[$var7]];
            a: {
                b: {
                    c: {
                        $var65 = 4;
                        switch ($var7) {
                            case 0:
                                break;
                            case 1:
                                $var65 = 3;
                                break b;
                            case 3:
                                $var65 = 2;
                                break a;
                            case 2:
                                break c;
                            default:
                                break c;
                        }
                        $var65 = 5;
                        break a;
                    }
                }
            }
            if ($var26 != 2) {
                if ($this.$renderAllFaces) {
                    var$6 = $this.$blockAccess;
                    $var8 = $var4 - 1 | 0;
                    $ptr = 17;
                    continue main;
                }
                var$6 = $this.$blockAccess;
                $var8 = $var4 - 1 | 0;
                $var67 = 2;
                $ptr = 18;
                continue main;
            }
            if ($var26 != 3) {
                if ($this.$renderAllFaces) {
                    var$6 = $this.$blockAccess;
                    $var8 = $var4 + 1 | 0;
                    $ptr = 19;
                    continue main;
                }
                var$6 = $this.$blockAccess;
                $var8 = $var4 + 1 | 0;
                $var67 = 3;
                $ptr = 20;
                continue main;
            }
            if ($var26 != 4) {
                if ($this.$renderAllFaces) {
                    var$6 = $this.$blockAccess;
                    $var8 = $var2 - 1 | 0;
                    $ptr = 21;
                    continue main;
                }
                var$6 = $this.$blockAccess;
                $var8 = $var2 - 1 | 0;
                $var67 = 4;
                $ptr = 22;
                continue main;
            }
            if ($var26 == 5) {
                $this.$flipTexture = 0;
                return 1;
            }
            if ($this.$renderAllFaces) {
                var$6 = $this.$blockAccess;
                $var8 = $var2 + 1 | 0;
                $ptr = 24;
                continue main;
            }
            var$6 = $this.$blockAccess;
            $var8 = $var2 + 1 | 0;
            $var67 = 5;
            $ptr = 25;
            continue main;
        case 17:
            $tmp = $var1.$getBlockBrightness(var$6, $var2, $var3, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var66 = $tmp;
            if ($var1.$minZ > 0.0)
                $var66 = $var25;
            $var9 = $var11 * $var66;
            $ptr = 23;
            continue main;
        case 18:
            $tmp = $var1.$shouldSideBeRendered(var$6, $var2, $var3, $var8, $var67);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8) {
                var$6 = $this.$blockAccess;
                $var8 = $var4 - 1 | 0;
                $ptr = 17;
                continue main;
            }
            if ($var26 != 3) {
                if ($this.$renderAllFaces) {
                    var$6 = $this.$blockAccess;
                    $var8 = $var4 + 1 | 0;
                    $ptr = 19;
                    continue main;
                }
                var$6 = $this.$blockAccess;
                $var8 = $var4 + 1 | 0;
                $var67 = 3;
                $ptr = 20;
                continue main;
            }
            if ($var26 != 4) {
                if ($this.$renderAllFaces) {
                    var$6 = $this.$blockAccess;
                    $var8 = $var2 - 1 | 0;
                    $ptr = 21;
                    continue main;
                }
                var$6 = $this.$blockAccess;
                $var8 = $var2 - 1 | 0;
                $var67 = 4;
                $ptr = 22;
                continue main;
            }
            if ($var26 == 5) {
                $this.$flipTexture = 0;
                return 1;
            }
            if ($this.$renderAllFaces) {
                var$6 = $this.$blockAccess;
                $var8 = $var2 + 1 | 0;
                $ptr = 24;
                continue main;
            }
            var$6 = $this.$blockAccess;
            $var8 = $var2 + 1 | 0;
            $var67 = 5;
            $ptr = 25;
            continue main;
        case 19:
            $tmp = $var1.$getBlockBrightness(var$6, $var2, $var3, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var66 = $tmp;
            if ($var1.$maxZ < 1.0)
                $var66 = $var25;
            $var9 = $var11 * $var66;
            $ptr = 26;
            continue main;
        case 20:
            $tmp = $var1.$shouldSideBeRendered(var$6, $var2, $var3, $var8, $var67);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8) {
                var$6 = $this.$blockAccess;
                $var8 = $var4 + 1 | 0;
                $ptr = 19;
                continue main;
            }
            if ($var26 != 4) {
                if ($this.$renderAllFaces) {
                    var$6 = $this.$blockAccess;
                    $var8 = $var2 - 1 | 0;
                    $ptr = 21;
                    continue main;
                }
                var$6 = $this.$blockAccess;
                $var8 = $var2 - 1 | 0;
                $var67 = 4;
                $ptr = 22;
                continue main;
            }
            if ($var26 == 5) {
                $this.$flipTexture = 0;
                return 1;
            }
            if ($this.$renderAllFaces) {
                var$6 = $this.$blockAccess;
                $var8 = $var2 + 1 | 0;
                $ptr = 24;
                continue main;
            }
            var$6 = $this.$blockAccess;
            $var8 = $var2 + 1 | 0;
            $var67 = 5;
            $ptr = 25;
            continue main;
        case 21:
            $tmp = $var1.$getBlockBrightness(var$6, $var8, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var66 = $tmp;
            if ($var1.$minX > 0.0)
                $var66 = $var25;
            $var9 = $var12 * $var66;
            $ptr = 27;
            continue main;
        case 22:
            $tmp = $var1.$shouldSideBeRendered(var$6, $var8, $var3, $var4, $var67);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8) {
                var$6 = $this.$blockAccess;
                $var8 = $var2 - 1 | 0;
                $ptr = 21;
                continue main;
            }
            if ($var26 == 5) {
                $this.$flipTexture = 0;
                return 1;
            }
            if ($this.$renderAllFaces) {
                var$6 = $this.$blockAccess;
                $var8 = $var2 + 1 | 0;
                $ptr = 24;
                continue main;
            }
            var$6 = $this.$blockAccess;
            $var8 = $var2 + 1 | 0;
            $var67 = 5;
            $ptr = 25;
            continue main;
        case 23:
            nms_Tessellator_setColorOpaque_F($var5, $var9, $var9, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $this.$flipTexture = $var65 != 2 ? 0 : 1;
            var$6 = $this.$blockAccess;
            $var8 = 2;
            $ptr = 28;
            continue main;
        case 24:
            $tmp = $var1.$getBlockBrightness(var$6, $var8, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var66 = $tmp;
            if ($var1.$maxX >= 1.0)
                $var25 = $var66;
            $var9 = $var12 * $var25;
            $ptr = 30;
            continue main;
        case 25:
            $tmp = $var1.$shouldSideBeRendered(var$6, $var8, $var3, $var4, $var67);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if (!$var8) {
                $this.$flipTexture = 0;
                return 1;
            }
            var$6 = $this.$blockAccess;
            $var8 = $var2 + 1 | 0;
            $ptr = 24;
            continue main;
        case 26:
            nms_Tessellator_setColorOpaque_F($var5, $var9, $var9, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $this.$flipTexture = $var65 != 3 ? 0 : 1;
            var$6 = $this.$blockAccess;
            $var8 = 3;
            $ptr = 31;
            continue main;
        case 27:
            nms_Tessellator_setColorOpaque_F($var5, $var9, $var9, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $this.$flipTexture = $var65 != 4 ? 0 : 1;
            var$6 = $this.$blockAccess;
            $var8 = 4;
            $ptr = 33;
            continue main;
        case 28:
            $tmp = $var1.$getBlockTexture(var$6, $var2, $var3, $var4, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $ptr = 29;
        case 29:
            nms_RenderBlocks_renderEastFace($this, $var1, var$23, var$26, var$28, $var8);
            if ($rt_suspending()) {
                break main;
            }
            if ($var26 != 3) {
                if ($this.$renderAllFaces) {
                    var$6 = $this.$blockAccess;
                    $var8 = $var4 + 1 | 0;
                    $ptr = 19;
                    continue main;
                }
                var$6 = $this.$blockAccess;
                $var8 = $var4 + 1 | 0;
                $var67 = 3;
                $ptr = 20;
                continue main;
            }
            if ($var26 != 4) {
                if ($this.$renderAllFaces) {
                    var$6 = $this.$blockAccess;
                    $var8 = $var2 - 1 | 0;
                    $ptr = 21;
                    continue main;
                }
                var$6 = $this.$blockAccess;
                $var8 = $var2 - 1 | 0;
                $var67 = 4;
                $ptr = 22;
                continue main;
            }
            if ($var26 == 5) {
                $this.$flipTexture = 0;
                return 1;
            }
            if ($this.$renderAllFaces) {
                var$6 = $this.$blockAccess;
                $var8 = $var2 + 1 | 0;
                $ptr = 24;
                continue main;
            }
            var$6 = $this.$blockAccess;
            $var8 = $var2 + 1 | 0;
            $var67 = 5;
            $ptr = 25;
            continue main;
        case 30:
            nms_Tessellator_setColorOpaque_F($var5, $var9, $var9, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $this.$flipTexture = $var65 != 5 ? 0 : 1;
            var$6 = $this.$blockAccess;
            $var8 = 5;
            $ptr = 35;
            continue main;
        case 31:
            $tmp = $var1.$getBlockTexture(var$6, $var2, $var3, $var4, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $ptr = 32;
        case 32:
            nms_RenderBlocks_renderWestFace($this, $var1, var$23, var$26, var$28, $var8);
            if ($rt_suspending()) {
                break main;
            }
            if ($var26 != 4) {
                if ($this.$renderAllFaces) {
                    var$6 = $this.$blockAccess;
                    $var8 = $var2 - 1 | 0;
                    $ptr = 21;
                    continue main;
                }
                var$6 = $this.$blockAccess;
                $var8 = $var2 - 1 | 0;
                $var67 = 4;
                $ptr = 22;
                continue main;
            }
            if ($var26 == 5) {
                $this.$flipTexture = 0;
                return 1;
            }
            if ($this.$renderAllFaces) {
                var$6 = $this.$blockAccess;
                $var8 = $var2 + 1 | 0;
                $ptr = 24;
                continue main;
            }
            var$6 = $this.$blockAccess;
            $var8 = $var2 + 1 | 0;
            $var67 = 5;
            $ptr = 25;
            continue main;
        case 33:
            $tmp = $var1.$getBlockTexture(var$6, $var2, $var3, $var4, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $ptr = 34;
        case 34:
            nms_RenderBlocks_renderNorthFace($this, $var1, var$23, var$26, var$28, $var8);
            if ($rt_suspending()) {
                break main;
            }
            if ($var26 == 5) {
                $this.$flipTexture = 0;
                return 1;
            }
            if ($this.$renderAllFaces) {
                var$6 = $this.$blockAccess;
                $var8 = $var2 + 1 | 0;
                $ptr = 24;
                continue main;
            }
            var$6 = $this.$blockAccess;
            $var8 = $var2 + 1 | 0;
            $var67 = 5;
            $ptr = 25;
            continue main;
        case 35:
            $tmp = $var1.$getBlockTexture(var$6, $var2, $var3, $var4, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 36;
        case 36:
            nms_RenderBlocks_renderSouthFace($this, $var1, var$23, var$26, var$28, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$flipTexture = 0;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var25, $var67, $var26, $var27, $var28, $var29, $var31, $var33, $var35, var$23, $var37, $var39, var$26, $var41, var$28, $var43, $var45, $var64, $var30, $var32, $var34, $var36, $var54, $var56, $var58, $var60, $var62, var$41, $var65, $var66, $ptr);
    }
    function nms_RenderBlocks_renderBlockRepeater($this, $var1, $var2, $var3, $var4) {
        var $var8, $var5, $var6, $var7, var$9, $var9, $var12, $var14, $var16, $var18, $var23, $var25, $var27, $var10, $var29, $var20, $var21, $var22, $var31, $var32, $var34, $var36, $var37, $var40, var$29, var$30, var$31, var$32, var$33, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$33 = $thread.pop();var$32 = $thread.pop();var$31 = $thread.pop();var$30 = $thread.pop();var$29 = $thread.pop();$var40 = $thread.pop();$var37 = $thread.pop();$var36 = $thread.pop();$var34 = $thread.pop();$var32 = $thread.pop();$var31 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var29 = $thread.pop();$var10 = $thread.pop();$var27 = $thread.pop();$var25 = $thread.pop();$var23 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var14
            = $thread.pop();$var12 = $thread.pop();$var9 = $thread.pop();var$9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var8 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var8 = $this.$blockAccess;
            $ptr = 1;
        case 1:
            $tmp = $var8.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = $var5 & 3;
            $var7 = ($var5 & 12) >> 2;
            $ptr = 2;
        case 2:
            nms_RenderBlocks_renderStandardBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = nms_Tessellator_instance;
            var$9 = $this.$blockAccess;
            $ptr = 4;
        case 4:
            $tmp = $var1.$getBlockBrightness(var$9, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if (nms_Block_lightValue.data[$var1.$blockID] > 0)
                $var9 = ($var9 + 1.0) * 0.5;
            $ptr = 5;
        case 5:
            a: {
                nms_Tessellator_setColorOpaque_F($var8, $var9, $var9, $var9);
                if ($rt_suspending()) {
                    break main;
                }
                $var12 = 0.0;
                $var14 = 0.0;
                $var16 = 0.0;
                $var18 = 0.0;
                switch ($var6) {
                    case 0:
                        $var18 = (-0.3125);
                        $var14 = nms_BlockRedstoneRepeater_field_22024_a.data[$var7];
                        break a;
                    case 1:
                        $var16 = 0.3125;
                        $var12 =  -nms_BlockRedstoneRepeater_field_22024_a.data[$var7];
                        break a;
                    case 2:
                        $var18 = 0.3125;
                        $var14 =  -nms_BlockRedstoneRepeater_field_22024_a.data[$var7];
                        break a;
                    case 3:
                        $var16 = (-0.3125);
                        $var12 = nms_BlockRedstoneRepeater_field_22024_a.data[$var7];
                        break a;
                    default:
                }
            }
            $var23 = $var2;
            $var25 = $var23 + $var12;
            $var27 = $var3 + (-0.1875);
            $var10 = $var4;
            $var12 = $var10 + $var14;
            $var14 = 0.0;
            $var29 = 0.0;
            $ptr = 6;
        case 6:
            nms_RenderBlocks_renderTorchAtAngle($this, $var1, $var25, $var27, $var12, $var14, $var29);
            if ($rt_suspending()) {
                break main;
            }
            $var29 = $var23 + $var16;
            $var23 = $var10 + $var18;
            $var25 = 0.0;
            $var10 = 0.0;
            $ptr = 7;
        case 7:
            nms_RenderBlocks_renderTorchAtAngle($this, $var1, $var29, $var27, $var23, $var25, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 1;
            $ptr = 8;
        case 8:
            $tmp = $var1.$getBlockTextureFromSide($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var20 = $tmp;
            $var21 = ($var20 & 15) << 4;
            $var22 = $var20 & 240;
            $var31 = $var21;
            $var23 = $var31 / 256.0;
            $var25 = ($var31 + 15.989999771118164) / 256.0;
            $var31 = $var22;
            $var27 = $var31 / 256.0;
            $var29 = ($var31 + 15.989999771118164) / 256.0;
            $var32 = $var2 + 1 | 0;
            $var34 = $var2 + 0 | 0;
            $var36 = $var4 + 0 | 0;
            $var37 = $var4 + 1 | 0;
            $var40 = $var3 + 0.125;
            if ($var6 == 2) {
                var$29 = $var34;
                var$30 = $var32;
                var$31 = $var37;
                var$32 = $var36;
            } else if ($var6 == 3) {
                var$29 = $var32;
                $var9 = $var34;
                var$30 = $var34;
                var$31 = $var37;
                $var31 = $var36;
                var$32 = $var37;
                $var34 = $var9;
                $var37 = $var31;
            } else if ($var6 != 1) {
                var$29 = $var32;
                var$30 = $var34;
                $var31 = $var34;
                var$31 = $var36;
                var$32 = $var37;
                $var9 = $var37;
                $var34 = $var32;
                $var32 = $var31;
                $var37 = $var36;
                $var36 = $var9;
            } else {
                var$29 = $var34;
                var$30 = $var32;
                $var31 = $var34;
                var$31 = $var36;
                $var9 = $var37;
                var$33 = $var37;
                $var34 = var$30;
                var$30 = $var32;
                $var32 = $var31;
                $var37 = $var9;
                var$32 = $var36;
                $var36 = var$33;
            }
            $var10 = var$30;
            $var12 = $var40;
            $var14 = var$31;
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var8, $var10, $var12, $var14, $var23, $var27);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $var32;
            $var14 = var$32;
            $ptr = 10;
        case 10:
            nms_Tessellator_addVertexWithUV($var8, $var10, $var12, $var14, $var23, $var29);
            if ($rt_suspending()) {
                break main;
            }
            $var23 = var$29;
            $var10 = $var36;
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var8, $var23, $var12, $var10, $var25, $var29);
            if ($rt_suspending()) {
                break main;
            }
            $var29 = $var34;
            $var23 = $var37;
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertexWithUV($var8, $var29, $var12, $var23, $var25, $var27);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var8, $var5, $var6, $var7, var$9, $var9, $var12, $var14, $var16, $var18, $var23, $var25, $var27, $var10, $var29, $var20, $var21, $var22, $var31, $var32, $var34, $var36, $var37, $var40, var$29, var$30, var$31, var$32, var$33, $ptr);
    }
    function nms_RenderBlocks_renderBlockLever($this, $var1, $var2, $var3, $var4) {
        var $var30, $var5, $var6, $var7, $var8, $var9, $var12, $var29, $var18, $var19, $var13, $var17, var$17, $var20, $var14, $var15, $var16, $var21, $var25, var$24, var$25, var$26, var$27, var$28, $var26, $var27, $var28, var$32, var$33, var$34, var$35, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$35 = $thread.pop();var$34 = $thread.pop();var$33 = $thread.pop();var$32 = $thread.pop();$var28 = $thread.pop();$var27 = $thread.pop();$var26 = $thread.pop();var$28 = $thread.pop();var$27 = $thread.pop();var$26 = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();$var25 = $thread.pop();$var21 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var20 = $thread.pop();var$17 = $thread.pop();$var17 = $thread.pop();$var13 = $thread.pop();$var19
            = $thread.pop();$var18 = $thread.pop();$var29 = $thread.pop();$var12 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var30 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var30 = $this.$blockAccess;
            $ptr = 1;
        case 1:
            $tmp = $var30.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = $var5 & 7;
            $var7 = ($var5 & 8) <= 0 ? 0 : 1;
            $ptr = 2;
        case 2:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = nms_Tessellator_instance;
            $var9 = $this.$overrideBlockTexture < 0 ? 0 : 1;
            if (!$var9) {
                $ptr = 3;
                continue main;
            }
            $var12 = 0.1875;
            $var29 = $rt_compare($var6, 5);
            if (!$var29) {
                $var18 = 0.3125;
                $var19 = 0.0;
                $var13 = 0.25;
                $var17 = 0.6875;
                var$17 = 0.75;
                $ptr = 4;
                continue main;
            }
            if ($var6 == 6) {
                $var13 = 0.25;
                $var17 = 0.0;
                var$17 = 0.3125;
                $var18 = 0.75;
                $var19 = 0.6875;
                $ptr = 5;
                continue main;
            }
            if ($var6 == 4) {
                $var13 = 0.3125;
                $var17 = 0.25;
                var$17 = 0.8125;
                $var18 = 0.6875;
                $var19 = 0.75;
                $var20 = 1.0;
                $ptr = 7;
                continue main;
            }
            if ($var6 == 3) {
                $var13 = 0.3125;
                $var17 = 0.25;
                var$17 = 0.0;
                $var18 = 0.6875;
                $var19 = 0.75;
                $ptr = 9;
                continue main;
            }
            if ($var6 == 2) {
                $var13 = 0.8125;
                $var17 = 0.25;
                var$17 = 0.3125;
                $var18 = 1.0;
                $var19 = 0.75;
                $var20 = 0.6875;
                $ptr = 10;
                continue main;
            }
            if ($var6 != 1) {
                $ptr = 6;
                continue main;
            }
            $var13 = 0.0;
            $var17 = 0.25;
            var$17 = 0.3125;
            $var18 = 0.75;
            $var19 = 0.6875;
            $ptr = 13;
            continue main;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$overrideBlockTexture = nms_Block_cobblestone.$blockIndexInTexture;
            $var12 = 0.1875;
            $var29 = $rt_compare($var6, 5);
            if (!$var29) {
                $var18 = 0.3125;
                $var19 = 0.0;
                $var13 = 0.25;
                $var17 = 0.6875;
                var$17 = 0.75;
                $ptr = 4;
                continue main;
            }
            if ($var6 == 6) {
                $var13 = 0.25;
                $var17 = 0.0;
                var$17 = 0.3125;
                $var18 = 0.75;
                $var19 = 0.6875;
                $ptr = 5;
                continue main;
            }
            if ($var6 == 4) {
                $var13 = 0.3125;
                $var17 = 0.25;
                var$17 = 0.8125;
                $var18 = 0.6875;
                $var19 = 0.75;
                $var20 = 1.0;
                $ptr = 7;
                continue main;
            }
            if ($var6 == 3) {
                $var13 = 0.3125;
                $var17 = 0.25;
                var$17 = 0.0;
                $var18 = 0.6875;
                $var19 = 0.75;
                $ptr = 9;
                continue main;
            }
            if ($var6 == 2) {
                $var13 = 0.8125;
                $var17 = 0.25;
                var$17 = 0.3125;
                $var18 = 1.0;
                $var19 = 0.75;
                $var20 = 0.6875;
                $ptr = 10;
                continue main;
            }
            if ($var6 != 1) {
                $ptr = 6;
                continue main;
            }
            $var13 = 0.0;
            $var17 = 0.25;
            var$17 = 0.3125;
            $var18 = 0.75;
            $var19 = 0.6875;
            $ptr = 13;
            continue main;
        case 4:
            nms_Block_setBlockBounds($var1, $var18, $var19, $var13, $var17, $var12, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
            continue main;
        case 5:
            nms_Block_setBlockBounds($var1, $var13, $var17, var$17, $var18, $var12, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            nms_RenderBlocks_renderStandardBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var9)
                $this.$overrideBlockTexture = (-1);
            $var30 = $this.$blockAccess;
            $ptr = 8;
            continue main;
        case 7:
            nms_Block_setBlockBounds($var1, $var13, $var17, var$17, $var18, $var19, $var20);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
            continue main;
        case 8:
            $tmp = $var1.$getBlockBrightness($var30, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = $tmp;
            if (nms_Block_lightValue.data[$var1.$blockID] > 0)
                $var13 = 1.0;
            $ptr = 11;
            continue main;
        case 9:
            nms_Block_setBlockBounds($var1, $var13, $var17, var$17, $var18, $var19, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
            continue main;
        case 10:
            nms_Block_setBlockBounds($var1, $var13, $var17, var$17, $var18, $var19, $var20);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
            continue main;
        case 11:
            nms_Tessellator_setColorOpaque_F($var8, $var13, $var13, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            $ptr = 12;
        case 12:
            $tmp = $var1.$getBlockTextureFromSide($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            $var5 = $this.$overrideBlockTexture;
            if ($var5 < 0)
                $var5 = $var14;
            $var15 = ($var5 & 15) << 4;
            $var16 = $var5 & 240;
            $var13 = $var15;
            $var17 = $var13 / 256.0;
            $var18 = ($var13 + 15.989999771118164) / 256.0;
            $var13 = $var16;
            $var19 = $var13 / 256.0;
            $var20 = ($var13 + 15.989999771118164) / 256.0;
            $var21 = $rt_createArray(nms_Vec3D, 8).data;
            $var21[0] = nms_Vec3D_createVector((-0.0625), 0.0, (-0.0625));
            $var21[1] = nms_Vec3D_createVector(0.0625, 0.0, (-0.0625));
            $var21[2] = nms_Vec3D_createVector(0.0625, 0.0, 0.0625);
            $var21[3] = nms_Vec3D_createVector((-0.0625), 0.0, 0.0625);
            $var21[4] = nms_Vec3D_createVector((-0.0625), 0.625, (-0.0625));
            $var21[5] = nms_Vec3D_createVector(0.0625, 0.625, (-0.0625));
            $var21[6] = nms_Vec3D_createVector(0.0625, 0.625, 0.0625);
            $var21[7] = nms_Vec3D_createVector((-0.0625), 0.625, 0.0625);
            $var25 = 0;
            $var14 = $rt_compare($var6, 6);
            $var9 = $rt_compare($var6, 4);
            $var5 = $rt_compare($var6, 3);
            var$24 = $rt_compare($var6, 2);
            $var6 = $rt_compare($var6, 1);
            var$25 = $var2 + 0.5;
            $var13 = $var3;
            var$26 = $var13 + 0.5;
            var$27 = $var4 + 0.5;
            var$28 = $var13 + 0.125;
            while ($var25 < 8) {
                if (!$var7) {
                    $var1 = $var21[$var25];
                    $var1.$zCoord = $var1.$zCoord + 0.0625;
                    nms_Vec3D_rotateAroundX($var21[$var25], (-0.6981317400932312));
                } else {
                    $var1 = $var21[$var25];
                    $var1.$zCoord = $var1.$zCoord - 0.0625;
                    nms_Vec3D_rotateAroundX($var21[$var25], 0.6981317400932312);
                }
                if (!$var14)
                    nms_Vec3D_rotateAroundY($var21[$var25], 1.5707963705062866);
                if ($var29 >= 0) {
                    $var1 = $var21[$var25];
                    $var1.$xCoord = $var1.$xCoord + var$25;
                    $var1 = $var21[$var25];
                    $var1.$yCoord = $var1.$yCoord + var$28;
                    $var1 = $var21[$var25];
                    $var1.$zCoord = $var1.$zCoord + var$27;
                } else {
                    $var1 = $var21[$var25];
                    $var1.$yCoord = $var1.$yCoord - 0.375;
                    nms_Vec3D_rotateAroundX($var21[$var25], 1.5707963705062866);
                    if (!$var9)
                        nms_Vec3D_rotateAroundY($var21[$var25], 0.0);
                    if (!$var5)
                        nms_Vec3D_rotateAroundY($var21[$var25], 3.1415927410125732);
                    if (!var$24)
                        nms_Vec3D_rotateAroundY($var21[$var25], 1.5707963705062866);
                    if (!$var6)
                        nms_Vec3D_rotateAroundY($var21[$var25], (-1.5707963705062866));
                    $var1 = $var21[$var25];
                    $var1.$xCoord = $var1.$xCoord + var$25;
                    $var1 = $var21[$var25];
                    $var1.$yCoord = $var1.$yCoord + var$26;
                    $var1 = $var21[$var25];
                    $var1.$zCoord = $var1.$zCoord + var$27;
                }
                $var25 = $var25 + 1 | 0;
            }
            $var30 = null;
            $var26 = null;
            $var27 = null;
            $var28 = null;
            $var29 = 0;
            var$17 = ($var15 + 7 | 0) / 256.0;
            $var12 = (($var15 + 9 | 0) - 0.009999999776482582) / 256.0;
            var$32 = ($var16 + 6 | 0) / 256.0;
            var$33 = (($var16 + 8 | 0) - 0.009999999776482582) / 256.0;
            $var13 = (($var16 + 16 | 0) - 0.009999999776482582) / 256.0;
            if ($var29 >= 6)
                return 1;
            if (!$var29) {
                $var17 = var$17;
                $var18 = $var12;
                $var19 = var$32;
                $var20 = var$33;
            } else if ($var29 == 2) {
                $var17 = var$17;
                $var18 = $var12;
                $var19 = var$32;
                $var20 = $var13;
            }
            if (!$var29) {
                $var30 = $var21[0];
                $var26 = $var21[1];
                $var27 = $var21[2];
                $var28 = $var21[3];
            } else if ($var29 == 1) {
                $var30 = $var21[7];
                $var26 = $var21[6];
                $var27 = $var21[5];
                $var28 = $var21[4];
            } else if ($var29 == 2) {
                $var30 = $var21[1];
                $var26 = $var21[0];
                $var27 = $var21[4];
                $var28 = $var21[5];
            } else if ($var29 == 3) {
                $var30 = $var21[2];
                $var26 = $var21[1];
                $var27 = $var21[5];
                $var28 = $var21[6];
            } else if ($var29 == 4) {
                $var30 = $var21[3];
                $var26 = $var21[2];
                $var27 = $var21[6];
                $var28 = $var21[7];
            } else if ($var29 == 5) {
                $var30 = $var21[0];
                $var26 = $var21[3];
                $var27 = $var21[7];
                $var28 = $var21[4];
            }
            var$34 = $var30.$xCoord;
            var$26 = $var30.$yCoord;
            var$27 = $var30.$zCoord;
            var$28 = $var17;
            var$25 = $var20;
            $ptr = 14;
            continue main;
        case 13:
            nms_Block_setBlockBounds($var1, $var13, $var17, var$17, $var12, $var18, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
            continue main;
        case 14:
            nms_Tessellator_addVertexWithUV($var8, var$34, var$26, var$27, var$28, var$25);
            if ($rt_suspending()) {
                break main;
            }
            var$34 = $var26.$xCoord;
            var$26 = $var26.$yCoord;
            var$27 = $var26.$zCoord;
            var$35 = $var18;
            $ptr = 15;
        case 15:
            nms_Tessellator_addVertexWithUV($var8, var$34, var$26, var$27, var$35, var$25);
            if ($rt_suspending()) {
                break main;
            }
            var$25 = $var27.$xCoord;
            var$34 = $var27.$yCoord;
            var$26 = $var27.$zCoord;
            var$27 = $var19;
            $ptr = 16;
        case 16:
            nms_Tessellator_addVertexWithUV($var8, var$25, var$34, var$26, var$35, var$27);
            if ($rt_suspending()) {
                break main;
            }
            var$25 = $var28.$xCoord;
            var$34 = $var28.$yCoord;
            var$26 = $var28.$zCoord;
            $ptr = 17;
        case 17:
            nms_Tessellator_addVertexWithUV($var8, var$25, var$34, var$26, var$28, var$27);
            if ($rt_suspending()) {
                break main;
            }
            $var29 = $var29 + 1 | 0;
            if ($var29 >= 6)
                return 1;
            if (!$var29) {
                $var17 = var$17;
                $var18 = $var12;
                $var19 = var$32;
                $var20 = var$33;
            } else if ($var29 == 2) {
                $var17 = var$17;
                $var18 = $var12;
                $var19 = var$32;
                $var20 = $var13;
            }
            if (!$var29) {
                $var30 = $var21[0];
                $var26 = $var21[1];
                $var27 = $var21[2];
                $var28 = $var21[3];
            } else if ($var29 == 1) {
                $var30 = $var21[7];
                $var26 = $var21[6];
                $var27 = $var21[5];
                $var28 = $var21[4];
            } else if ($var29 == 2) {
                $var30 = $var21[1];
                $var26 = $var21[0];
                $var27 = $var21[4];
                $var28 = $var21[5];
            } else if ($var29 == 3) {
                $var30 = $var21[2];
                $var26 = $var21[1];
                $var27 = $var21[5];
                $var28 = $var21[6];
            } else if ($var29 == 4) {
                $var30 = $var21[3];
                $var26 = $var21[2];
                $var27 = $var21[6];
                $var28 = $var21[7];
            } else if ($var29 == 5) {
                $var30 = $var21[0];
                $var26 = $var21[3];
                $var27 = $var21[7];
                $var28 = $var21[4];
            }
            var$34 = $var30.$xCoord;
            var$26 = $var30.$yCoord;
            var$27 = $var30.$zCoord;
            var$28 = $var17;
            var$25 = $var20;
            $ptr = 14;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var30, $var5, $var6, $var7, $var8, $var9, $var12, $var29, $var18, $var19, $var13, $var17, var$17, $var20, $var14, $var15, $var16, $var21, $var25, var$24, var$25, var$26, var$27, var$28, $var26, $var27, $var28, var$32, var$33, var$34, var$35, $ptr);
    }
    function nms_RenderBlocks_renderBlockFire($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, var$7, var$8, $var7, $var8, $var9, $var10, $var12, $var14, var$15, $var16, $var18, $var27, $var19, $var21, $var23, $var23_0, $var25, $var27_0, $var29, $var31, $var33, var$28, var$29, var$30, var$31, var$32, var$33, var$34, $var37, $var20, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var20 = $thread.pop();$var37 = $thread.pop();var$34 = $thread.pop();var$33 = $thread.pop();var$32 = $thread.pop();var$31 = $thread.pop();var$30 = $thread.pop();var$29 = $thread.pop();var$28 = $thread.pop();$var33 = $thread.pop();$var31 = $thread.pop();$var29 = $thread.pop();$var27_0 = $thread.pop();$var25 = $thread.pop();$var23_0 = $thread.pop();$var23 = $thread.pop();$var21 = $thread.pop();$var19 = $thread.pop();$var27 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();var$15
            = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = nms_Tessellator_instance;
            $var6 = 0;
            $ptr = 2;
        case 2:
            $tmp = $var1.$getBlockTextureFromSide($var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            var$7 = $this.$overrideBlockTexture;
            if (var$7 < 0)
                var$7 = $var6;
            var$8 = $this.$blockAccess;
            $ptr = 3;
        case 3:
            $tmp = $var1.$getBlockBrightness(var$8, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $ptr = 4;
        case 4:
            nms_Tessellator_setColorOpaque_F($var5, $var7, $var7, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = (var$7 & 15) << 4;
            $var9 = var$7 & 240;
            $var7 = $var8;
            $var10 = $var7 / 256.0;
            $var12 = ($var7 + 15.989999771118164) / 256.0;
            $var7 = $var9;
            $var14 = $var7 / 256.0;
            var$15 = $var7 + 15.989999771118164;
            $var16 = var$15 / 256.0;
            $var18 = 1.399999976158142;
            $var1 = $this.$blockAccess;
            $var6 = $var3 - 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = $var1.$isBlockOpaqueCube($var2, $var6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (!var$7) {
                $var1 = nms_Block_fire;
                var$8 = $this.$blockAccess;
                $ptr = 38;
                continue main;
            }
            $var27 = $var2 + 0.5;
            $var19 = $var27 + 0.2;
            $var21 = $var27 - 0.2;
            $var23 = $var4 + 0.5;
            $var23_0 = $var23 + 0.2;
            $var25 = $var23 - 0.2;
            $var27_0 = $var27 - 0.3;
            $var29 = $var27 + 0.3;
            $var31 = $var23 - 0.3;
            $var33 = $var23 + 0.3;
            var$28 = $var3 + $var18;
            var$29 = $var4 + 1 | 0;
            $ptr = 6;
        case 6:
            nms_Tessellator_addVertexWithUV($var5, $var27_0, var$28, var$29, $var12, $var14);
            if ($rt_suspending()) {
                break main;
            }
            var$30 = $var3 + 0 | 0;
            $ptr = 7;
        case 7:
            nms_Tessellator_addVertexWithUV($var5, $var19, var$30, var$29, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            var$31 = $var4 + 0 | 0;
            $ptr = 8;
        case 8:
            nms_Tessellator_addVertexWithUV($var5, $var19, var$30, var$31, $var10, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var5, $var27_0, var$28, var$31, $var10, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            nms_Tessellator_addVertexWithUV($var5, $var29, var$28, var$31, $var12, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var5, $var21, var$30, var$31, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertexWithUV($var5, $var21, var$30, var$29, $var10, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var5, $var29, var$28, var$29, $var10, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var29 = ($var9 + 16 | 0) / 256.0;
            $var19 = (var$15 + 16.0) / 256.0;
            $var21 = $var2 + 1 | 0;
            $ptr = 14;
        case 14:
            nms_Tessellator_addVertexWithUV($var5, $var21, var$28, $var33, $var12, $var29);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            nms_Tessellator_addVertexWithUV($var5, $var21, var$30, $var25, $var12, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var27_0 = $var2 + 0 | 0;
            $ptr = 16;
        case 16:
            nms_Tessellator_addVertexWithUV($var5, $var27_0, var$30, $var25, $var10, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            nms_Tessellator_addVertexWithUV($var5, $var27_0, var$28, $var33, $var10, $var29);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 18;
        case 18:
            nms_Tessellator_addVertexWithUV($var5, $var27_0, var$28, $var31, $var12, $var29);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 19;
        case 19:
            nms_Tessellator_addVertexWithUV($var5, $var27_0, var$30, $var23_0, $var12, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 20;
        case 20:
            nms_Tessellator_addVertexWithUV($var5, $var21, var$30, $var23_0, $var10, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 21;
        case 21:
            nms_Tessellator_addVertexWithUV($var5, $var21, var$28, $var31, $var10, $var29);
            if ($rt_suspending()) {
                break main;
            }
            $var23_0 = $var27 - 0.5;
            $var31 = $var27 + 0.5;
            $var33 = $var23 - 0.5;
            var$32 = $var23 + 0.5;
            var$33 = $var27 - 0.4;
            var$34 = $var27 + 0.4;
            $var27 = $var23 - 0.4;
            $var25 = $var23 + 0.4;
            $ptr = 22;
        case 22:
            nms_Tessellator_addVertexWithUV($var5, var$33, var$28, var$31, $var10, $var29);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 23;
        case 23:
            nms_Tessellator_addVertexWithUV($var5, $var23_0, var$30, var$31, $var10, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 24;
        case 24:
            nms_Tessellator_addVertexWithUV($var5, $var23_0, var$30, var$29, $var12, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 25;
        case 25:
            nms_Tessellator_addVertexWithUV($var5, var$33, var$28, var$29, $var12, $var29);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 26;
        case 26:
            nms_Tessellator_addVertexWithUV($var5, var$34, var$28, var$29, $var10, $var29);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 27;
        case 27:
            nms_Tessellator_addVertexWithUV($var5, $var31, var$30, var$29, $var10, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 28;
        case 28:
            nms_Tessellator_addVertexWithUV($var5, $var31, var$30, var$31, $var12, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 29;
        case 29:
            nms_Tessellator_addVertexWithUV($var5, var$34, var$28, var$31, $var12, $var29);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 30;
        case 30:
            nms_Tessellator_addVertexWithUV($var5, $var27_0, var$28, $var25, $var10, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 31;
        case 31:
            nms_Tessellator_addVertexWithUV($var5, $var27_0, var$30, var$32, $var10, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 32;
        case 32:
            nms_Tessellator_addVertexWithUV($var5, $var21, var$30, var$32, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 33;
        case 33:
            nms_Tessellator_addVertexWithUV($var5, $var21, var$28, $var25, $var12, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 34;
        case 34:
            nms_Tessellator_addVertexWithUV($var5, $var21, var$28, $var27, $var10, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 35;
        case 35:
            nms_Tessellator_addVertexWithUV($var5, $var21, var$30, $var33, $var10, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 36;
        case 36:
            nms_Tessellator_addVertexWithUV($var5, $var27_0, var$30, $var33, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 37;
        case 37:
            nms_Tessellator_addVertexWithUV($var5, $var27_0, var$28, $var27, $var12, $var14);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 38:
            $tmp = nms_BlockFire_canBlockCatchFire($var1, var$8, $var2, $var6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6) {
                $var27 = $var2 + 0.5;
                $var19 = $var27 + 0.2;
                $var21 = $var27 - 0.2;
                $var23 = $var4 + 0.5;
                $var23_0 = $var23 + 0.2;
                $var25 = $var23 - 0.2;
                $var27_0 = $var27 - 0.3;
                $var29 = $var27 + 0.3;
                $var31 = $var23 - 0.3;
                $var33 = $var23 + 0.3;
                var$28 = $var3 + $var18;
                var$29 = $var4 + 1 | 0;
                $ptr = 6;
                continue main;
            }
            $var37 = 0.20000000298023224;
            $var20 = 0.0625;
            if (((($var2 + $var3 | 0) + $var4 | 0) & 1) != 1) {
                $var33 = $var10;
                var$28 = $var12;
                $var27_0 = $var14;
                $var31 = $var16;
            } else {
                $var27_0 = ($var9 + 16 | 0) / 256.0;
                $var31 = (var$15 + 16.0) / 256.0;
                $var33 = $var10;
                var$28 = $var12;
            }
            if ((((($var2 / 2 | 0) + ($var3 / 2 | 0) | 0) + ($var4 / 2 | 0) | 0) & 1) != 1) {
                $var27 = $var33;
                $var33 = var$28;
                var$28 = $var27;
            }
            $var1 = nms_Block_fire;
            var$8 = $this.$blockAccess;
            $var6 = $var2 - 1 | 0;
            $ptr = 39;
        case 39:
            $tmp = nms_BlockFire_canBlockCatchFire($var1, var$8, $var6, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$var6) {
                $var1 = nms_Block_fire;
                var$8 = $this.$blockAccess;
                var$7 = $var2 + 1 | 0;
                $ptr = 40;
                continue main;
            }
            $var25 = $var2 + $var37;
            $var19 = $var3 + $var18 + $var20;
            $var21 = $var4 + 1 | 0;
            $ptr = 41;
            continue main;
        case 40:
            $tmp = nms_BlockFire_canBlockCatchFire($var1, var$8, var$7, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$var6) {
                $var1 = nms_Block_fire;
                var$8 = $this.$blockAccess;
                $var6 = $var4 - 1 | 0;
                $ptr = 49;
                continue main;
            }
            $var27 = var$7 - $var37;
            $var25 = $var3 + $var18 + $var20;
            $var19 = $var4 + 0 | 0;
            $ptr = 50;
            continue main;
        case 41:
            nms_Tessellator_addVertexWithUV($var5, $var25, $var19, $var21, $var33, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            $var23 = $var2 + 0 | 0;
            $var23_0 = ($var3 + 0 | 0) + $var20;
            $ptr = 42;
        case 42:
            nms_Tessellator_addVertexWithUV($var5, $var23, $var23_0, $var21, $var33, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = $var4 + 0 | 0;
            $ptr = 43;
        case 43:
            nms_Tessellator_addVertexWithUV($var5, $var23, $var23_0, $var27, var$28, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 44;
        case 44:
            nms_Tessellator_addVertexWithUV($var5, $var25, $var19, $var27, var$28, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 45;
        case 45:
            nms_Tessellator_addVertexWithUV($var5, $var25, $var19, $var27, var$28, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 46;
        case 46:
            nms_Tessellator_addVertexWithUV($var5, $var23, $var23_0, $var27, var$28, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 47;
        case 47:
            nms_Tessellator_addVertexWithUV($var5, $var23, $var23_0, $var21, $var33, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 48;
        case 48:
            nms_Tessellator_addVertexWithUV($var5, $var25, $var19, $var21, $var33, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Block_fire;
            var$8 = $this.$blockAccess;
            var$7 = $var2 + 1 | 0;
            $ptr = 40;
            continue main;
        case 49:
            $tmp = nms_BlockFire_canBlockCatchFire($var1, var$8, $var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$var6) {
                $var1 = nms_Block_fire;
                var$8 = $this.$blockAccess;
                $var8 = $var4 + 1 | 0;
                $ptr = 58;
                continue main;
            }
            $var27 = $var2 + 0 | 0;
            $var25 = $var3 + $var18 + $var20;
            $var19 = $var4 + $var37;
            $ptr = 59;
            continue main;
        case 50:
            nms_Tessellator_addVertexWithUV($var5, $var27, $var25, $var19, var$28, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = var$7 - 0 | 0;
            $var23 = ($var3 + 0 | 0) + $var20;
            $ptr = 51;
        case 51:
            nms_Tessellator_addVertexWithUV($var5, $var21, $var23, $var19, var$28, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $var23_0 = $var4 + 1 | 0;
            $ptr = 52;
        case 52:
            nms_Tessellator_addVertexWithUV($var5, $var21, $var23, $var23_0, $var33, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 53;
        case 53:
            nms_Tessellator_addVertexWithUV($var5, $var27, $var25, $var23_0, $var33, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 54;
        case 54:
            nms_Tessellator_addVertexWithUV($var5, $var27, $var25, $var23_0, $var33, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 55;
        case 55:
            nms_Tessellator_addVertexWithUV($var5, $var21, $var23, $var23_0, $var33, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 56;
        case 56:
            nms_Tessellator_addVertexWithUV($var5, $var21, $var23, $var19, var$28, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 57;
        case 57:
            nms_Tessellator_addVertexWithUV($var5, $var27, $var25, $var19, var$28, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Block_fire;
            var$8 = $this.$blockAccess;
            $var6 = $var4 - 1 | 0;
            $ptr = 49;
            continue main;
        case 58:
            $tmp = nms_BlockFire_canBlockCatchFire($var1, var$8, $var2, $var3, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$var6) {
                $var1 = nms_Block_fire;
                var$8 = $this.$blockAccess;
                $var3 = $var3 + 1 | 0;
                $ptr = 67;
                continue main;
            }
            $var21 = var$7;
            $var23 = $var3 + $var18 + $var20;
            $var23_0 = $var8 - $var37;
            $ptr = 68;
            continue main;
        case 59:
            nms_Tessellator_addVertexWithUV($var5, $var27, $var25, $var19, $var33, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = ($var3 + 0 | 0) + $var20;
            $var23 = $var4 + 0 | 0;
            $ptr = 60;
        case 60:
            nms_Tessellator_addVertexWithUV($var5, $var27, $var21, $var23, $var33, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $var23_0 = var$7;
            $ptr = 61;
        case 61:
            nms_Tessellator_addVertexWithUV($var5, $var23_0, $var21, $var23, var$28, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 62;
        case 62:
            nms_Tessellator_addVertexWithUV($var5, $var23_0, $var25, $var19, var$28, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 63;
        case 63:
            nms_Tessellator_addVertexWithUV($var5, $var23_0, $var25, $var19, var$28, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 64;
        case 64:
            nms_Tessellator_addVertexWithUV($var5, $var23_0, $var21, $var23, var$28, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 65;
        case 65:
            nms_Tessellator_addVertexWithUV($var5, $var27, $var21, $var23, $var33, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 66;
        case 66:
            nms_Tessellator_addVertexWithUV($var5, $var27, $var25, $var19, $var33, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Block_fire;
            var$8 = $this.$blockAccess;
            $var8 = $var4 + 1 | 0;
            $ptr = 58;
            continue main;
        case 67:
            $tmp = nms_BlockFire_canBlockCatchFire($var1, var$8, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$var6)
                return 1;
            $var27 = $var2 + 0.5;
            $var21 = $var27 + 0.5;
            $var23 = $var27 - 0.5;
            $var27 = $var4 + 0.5;
            $var25 = $var27 + 0.5;
            $var27 = $var27 - 0.5;
            if ((($var2 + $var3 | 0) + $var4 | 0) & 1) {
                $var19 = $var2 + 0 | 0;
                $var21 = $var3 + (-0.20000000298023224);
                $ptr = 76;
                continue main;
            }
            $var23_0 = $var3 + (-0.20000000298023224);
            $var27_0 = $var4 + 0 | 0;
            $ptr = 84;
            continue main;
        case 68:
            nms_Tessellator_addVertexWithUV($var5, $var21, $var23, $var23_0, var$28, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = ($var3 + 0 | 0) + $var20;
            $var25 = $var8 - 0 | 0;
            $ptr = 69;
        case 69:
            nms_Tessellator_addVertexWithUV($var5, $var21, $var27, $var25, var$28, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $var19 = $var2 + 0 | 0;
            $ptr = 70;
        case 70:
            nms_Tessellator_addVertexWithUV($var5, $var19, $var27, $var25, $var33, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 71;
        case 71:
            nms_Tessellator_addVertexWithUV($var5, $var19, $var23, $var23_0, $var33, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 72;
        case 72:
            nms_Tessellator_addVertexWithUV($var5, $var19, $var23, $var23_0, $var33, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 73;
        case 73:
            nms_Tessellator_addVertexWithUV($var5, $var19, $var27, $var25, $var33, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 74;
        case 74:
            nms_Tessellator_addVertexWithUV($var5, $var21, $var27, $var25, var$28, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 75;
        case 75:
            nms_Tessellator_addVertexWithUV($var5, $var21, $var23, $var23_0, var$28, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Block_fire;
            var$8 = $this.$blockAccess;
            $var3 = $var3 + 1 | 0;
            $ptr = 67;
            continue main;
        case 76:
            nms_Tessellator_addVertexWithUV($var5, $var19, $var21, $var25, $var12, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var23 = $var3 + 0 | 0;
            $ptr = 77;
        case 77:
            nms_Tessellator_addVertexWithUV($var5, $var19, $var23, $var27, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var23_0 = var$7;
            $ptr = 78;
        case 78:
            nms_Tessellator_addVertexWithUV($var5, $var23_0, $var23, $var27, $var10, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 79;
        case 79:
            nms_Tessellator_addVertexWithUV($var5, $var23_0, $var21, $var25, $var10, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var27_0 = ($var9 + 16 | 0) / 256.0;
            $var31 = (var$15 + 16.0) / 256.0;
            $ptr = 80;
        case 80:
            nms_Tessellator_addVertexWithUV($var5, $var23_0, $var21, $var27, $var12, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 81;
        case 81:
            nms_Tessellator_addVertexWithUV($var5, $var23_0, $var23, $var25, $var12, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 82;
        case 82:
            nms_Tessellator_addVertexWithUV($var5, $var19, $var23, $var25, $var10, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 83;
        case 83:
            nms_Tessellator_addVertexWithUV($var5, $var19, $var21, $var27, $var10, $var27_0);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 84:
            nms_Tessellator_addVertexWithUV($var5, $var23, $var23_0, $var27_0, $var12, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var31 = $var3 + 0 | 0;
            $ptr = 85;
        case 85:
            nms_Tessellator_addVertexWithUV($var5, $var21, $var31, $var27_0, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = $var8;
            $ptr = 86;
        case 86:
            nms_Tessellator_addVertexWithUV($var5, $var21, $var31, $var27, $var10, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 87;
        case 87:
            nms_Tessellator_addVertexWithUV($var5, $var23, $var23_0, $var27, $var10, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var25 = ($var9 + 16 | 0) / 256.0;
            $var19 = (var$15 + 16.0) / 256.0;
            $ptr = 88;
        case 88:
            nms_Tessellator_addVertexWithUV($var5, $var21, $var23_0, $var27, $var12, $var25);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 89;
        case 89:
            nms_Tessellator_addVertexWithUV($var5, $var23, $var31, $var27, $var12, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 90;
        case 90:
            nms_Tessellator_addVertexWithUV($var5, $var23, $var31, $var27_0, $var10, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 91;
        case 91:
            nms_Tessellator_addVertexWithUV($var5, $var21, $var23_0, $var27_0, $var10, $var25);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, $var7, $var8, $var9, $var10, $var12, $var14, var$15, $var16, $var18, $var27, $var19, $var21, $var23, $var23_0, $var25, $var27_0, $var29, $var31, $var33, var$28, var$29, var$30, var$31, var$32, var$33, var$34, $var37, $var20, $ptr);
    }
    function nms_RenderBlocks_renderBlockRedstoneWire($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, $var6, $var14, $var7, $var26, $var8, $var9, $var10, $var32, $var11, $var12, $var33, $var13, $var15, $var17, $var19, $var21, $var23, $var24, var$25, $var25, $var34, $var27, var$29, $var28, var$31, $var30, $var31, var$34, var$35, $var29, var$37, var$38, var$39, var$40, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$40 = $thread.pop();var$39 = $thread.pop();var$38 = $thread.pop();var$37 = $thread.pop();$var29 = $thread.pop();var$35 = $thread.pop();var$34 = $thread.pop();$var31 = $thread.pop();$var30 = $thread.pop();var$31 = $thread.pop();$var28 = $thread.pop();var$29 = $thread.pop();$var27 = $thread.pop();$var34 = $thread.pop();$var25 = $thread.pop();var$25 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var21 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var15
            = $thread.pop();$var13 = $thread.pop();$var33 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var32 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var26 = $thread.pop();$var7 = $thread.pop();$var14 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = nms_Tessellator_instance;
            var$6 = $this.$blockAccess;
            $ptr = 2;
        case 2:
            $tmp = var$6.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var14 = 1;
            $ptr = 3;
        case 3:
            $tmp = $var1.$getBlockTextureFromSideAndMetadata($var14, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var26 = $this.$overrideBlockTexture;
            if ($var26 < 0)
                $var26 = $var7;
            var$6 = $this.$blockAccess;
            $ptr = 4;
        case 4:
            $tmp = $var1.$getBlockBrightness(var$6, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var9 = $var6 / 15.0;
            $var10 = $var9 * 0.6000000238418579 + 0.4000000059604645;
            if (!$var6)
                $var10 = 0.0;
            $var32 = $var9 * $var9;
            $var11 = $var32 * 0.699999988079071 - 0.5;
            $var12 = $var32 * 0.6000000238418579 - 0.699999988079071;
            if ($var11 < 0.0)
                $var11 = 0.0;
            if ($var12 < 0.0)
                $var12 = 0.0;
            $var32 = $var8 * $var10;
            $var33 = $var8 * $var11;
            $var8 = $var8 * $var12;
            $ptr = 5;
        case 5:
            nms_Tessellator_setColorOpaque_F($var5, $var32, $var33, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = ($var26 & 15) << 4;
            $var14 = $var26 & 240;
            $var32 = $var13;
            $var15 = $var32 / 256.0;
            $var17 = ($var32 + 15.989999771118164) / 256.0;
            $var32 = $var14;
            $var19 = $var32 / 256.0;
            $var21 = ($var32 + 15.989999771118164) / 256.0;
            $var23 = 0.0;
            $var24 = 0.03125;
            $var1 = $this.$blockAccess;
            var$25 = $var2 - 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, var$25, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if (!$var14) {
                $var1 = $this.$blockAccess;
                $ptr = 7;
                continue main;
            }
            $var25 = 1;
            $var1 = $this.$blockAccess;
            $var14 = $var2 + 1 | 0;
            $ptr = 8;
            continue main;
        case 7:
            $tmp = $var1.$isBlockOpaqueCube(var$25, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if (!$var14) {
                $var1 = $this.$blockAccess;
                $var14 = $var3 - 1 | 0;
                $ptr = 9;
                continue main;
            }
            $var25 = 0;
            $var1 = $this.$blockAccess;
            $var14 = $var2 + 1 | 0;
            $ptr = 8;
        case 8:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, $var14, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $tmp;
            if (!$var26) {
                $var1 = $this.$blockAccess;
                $ptr = 10;
                continue main;
            }
            $var26 = 1;
            $var1 = $this.$blockAccess;
            $var6 = $var4 - 1 | 0;
            $ptr = 11;
            continue main;
        case 9:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, var$25, $var14, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            $var25 = $var14 ? 1 : 0;
            $var1 = $this.$blockAccess;
            $var14 = $var2 + 1 | 0;
            $ptr = 8;
            continue main;
        case 10:
            $tmp = $var1.$isBlockOpaqueCube($var14, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $tmp;
            if (!$var26) {
                $var1 = $this.$blockAccess;
                $var26 = $var3 - 1 | 0;
                $ptr = 12;
                continue main;
            }
            $var26 = 0;
            $var1 = $this.$blockAccess;
            $var6 = $var4 - 1 | 0;
            $ptr = 11;
        case 11:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, $var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            if (!$var34) {
                $var1 = $this.$blockAccess;
                $ptr = 13;
                continue main;
            }
            $var27 = 1;
            $var1 = $this.$blockAccess;
            var$29 = $var4 + 1 | 0;
            $ptr = 14;
            continue main;
        case 12:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, $var14, $var26, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $tmp;
            $var26 = $var26 ? 1 : 0;
            $var1 = $this.$blockAccess;
            $var6 = $var4 - 1 | 0;
            $ptr = 11;
            continue main;
        case 13:
            $tmp = $var1.$isBlockOpaqueCube($var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            if (!$var34) {
                $var1 = $this.$blockAccess;
                $var34 = $var3 - 1 | 0;
                $ptr = 15;
                continue main;
            }
            $var27 = 0;
            $var1 = $this.$blockAccess;
            var$29 = $var4 + 1 | 0;
            $ptr = 14;
        case 14:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, $var2, $var3, var$29);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            if (!$var34) {
                $var1 = $this.$blockAccess;
                $ptr = 16;
                continue main;
            }
            $var28 = 1;
            $var1 = $this.$blockAccess;
            var$31 = $var3 + 1 | 0;
            $ptr = 17;
            continue main;
        case 15:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, $var2, $var34, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            $var27 = $var34 ? 1 : 0;
            $var1 = $this.$blockAccess;
            var$29 = $var4 + 1 | 0;
            $ptr = 14;
            continue main;
        case 16:
            $tmp = $var1.$isBlockOpaqueCube($var2, $var3, var$29);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            if (!$var34) {
                $var1 = $this.$blockAccess;
                $var34 = $var3 - 1 | 0;
                $ptr = 18;
                continue main;
            }
            $var28 = 0;
            $var1 = $this.$blockAccess;
            var$31 = $var3 + 1 | 0;
            $ptr = 17;
        case 17:
            $tmp = $var1.$isBlockOpaqueCube($var2, var$31, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            if (!$var34) {
                $var1 = $this.$blockAccess;
                $ptr = 19;
                continue main;
            }
            $var30 = $var2 + 0 | 0;
            $var31 = $var14;
            $var32 = $var4 + 0 | 0;
            $var33 = var$29;
            $var34 = 0;
            if (!(!$var25 && !$var26) && !$var27 && !$var28)
                $var34 = 1;
            if (!(!$var27 && !$var28) && !$var26 && !$var25)
                $var34 = 2;
            if (!$var34) {
                var$34 = $var19;
                var$35 = $var21;
            } else {
                $var8 = $var13 + 16 | 0;
                $var15 = $var8 / 256.0;
                $var17 = ($var8 + 15.989999771118164) / 256.0;
                var$34 = $var19;
                var$35 = $var21;
            }
            if ($var34) {
                $var9 = $var30;
                $var10 = $var31;
                $var11 = $var32;
                $var29 = $var33;
                if ($var34 == 1) {
                    var$37 = $var10 + $var23;
                    var$38 = $var3 + $var24;
                    var$39 = $var29 + $var23;
                    $ptr = 27;
                    continue main;
                }
                if ($var34 == 2) {
                    var$38 = $var10 + $var23;
                    var$39 = $var3 + $var24;
                    var$40 = $var29 + $var23;
                    $ptr = 32;
                    continue main;
                }
                $var8 = $var13 + 16 | 0;
                var$38 = $var8 / 256.0;
                var$37 = ($var8 + 15.989999771118164) / 256.0;
                $var1 = $this.$blockAccess;
                $ptr = 31;
                continue main;
            }
            if (!$var26 && !$var27 && !$var28 && !$var25) {
                $var9 = $var30;
                $var10 = $var31;
                $var11 = $var32;
                $var29 = $var33;
            } else {
                $var9 = !$var25 ? $var30 + 0.3125 : $var30;
                if (!$var25)
                    $var15 = $var15 + 0.01953125;
                $var10 = !$var26 ? $var31 - 0.3125 : $var31;
                if (!$var26)
                    $var17 = $var17 - 0.01953125;
                $var11 = !$var27 ? $var32 + 0.3125 : $var32;
                if (!$var27)
                    var$34 = var$34 + 0.01953125;
                $var29 = !$var28 ? $var33 - 0.3125 : $var33;
                if (!$var28)
                    var$35 = var$35 - 0.01953125;
            }
            var$37 = $var10 + $var23;
            var$38 = $var3 + $var24;
            var$39 = $var29 + $var23;
            $ptr = 39;
            continue main;
        case 18:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, $var2, $var34, var$29);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            $var28 = $var34 ? 1 : 0;
            $var1 = $this.$blockAccess;
            var$31 = $var3 + 1 | 0;
            $ptr = 17;
            continue main;
        case 19:
            $tmp = $var1.$isBlockOpaqueCube(var$25, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            if ($var34) {
                $var1 = $this.$blockAccess;
                $ptr = 20;
                continue main;
            }
            $var1 = $this.$blockAccess;
            $ptr = 21;
            continue main;
        case 20:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, var$25, var$31, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            if ($var34)
                $var25 = 1;
            $var1 = $this.$blockAccess;
            $ptr = 21;
        case 21:
            $tmp = $var1.$isBlockOpaqueCube($var14, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            if ($var34) {
                $var1 = $this.$blockAccess;
                $ptr = 22;
                continue main;
            }
            $var1 = $this.$blockAccess;
            $ptr = 23;
            continue main;
        case 22:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, $var14, var$31, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            if ($var34)
                $var26 = 1;
            $var1 = $this.$blockAccess;
            $ptr = 23;
        case 23:
            $tmp = $var1.$isBlockOpaqueCube($var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            if ($var34) {
                $var1 = $this.$blockAccess;
                $ptr = 24;
                continue main;
            }
            $var1 = $this.$blockAccess;
            $ptr = 25;
            continue main;
        case 24:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, $var2, var$31, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            if ($var34)
                $var27 = 1;
            $var1 = $this.$blockAccess;
            $ptr = 25;
        case 25:
            $tmp = $var1.$isBlockOpaqueCube($var2, $var3, var$29);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            if ($var34) {
                $var1 = $this.$blockAccess;
                $ptr = 26;
                continue main;
            }
            $var30 = $var2 + 0 | 0;
            $var31 = $var14;
            $var32 = $var4 + 0 | 0;
            $var33 = var$29;
            $var34 = 0;
            if (!(!$var25 && !$var26) && !$var27 && !$var28)
                $var34 = 1;
            if (!(!$var27 && !$var28) && !$var26 && !$var25)
                $var34 = 2;
            if (!$var34) {
                var$34 = $var19;
                var$35 = $var21;
            } else {
                $var8 = $var13 + 16 | 0;
                $var15 = $var8 / 256.0;
                $var17 = ($var8 + 15.989999771118164) / 256.0;
                var$34 = $var19;
                var$35 = $var21;
            }
            if ($var34) {
                $var9 = $var30;
                $var10 = $var31;
                $var11 = $var32;
                $var29 = $var33;
                if ($var34 == 1) {
                    var$37 = $var10 + $var23;
                    var$38 = $var3 + $var24;
                    var$39 = $var29 + $var23;
                    $ptr = 27;
                    continue main;
                }
                if ($var34 == 2) {
                    var$38 = $var10 + $var23;
                    var$39 = $var3 + $var24;
                    var$40 = $var29 + $var23;
                    $ptr = 32;
                    continue main;
                }
                $var8 = $var13 + 16 | 0;
                var$38 = $var8 / 256.0;
                var$37 = ($var8 + 15.989999771118164) / 256.0;
                $var1 = $this.$blockAccess;
                $ptr = 31;
                continue main;
            }
            if (!$var26 && !$var27 && !$var28 && !$var25) {
                $var9 = $var30;
                $var10 = $var31;
                $var11 = $var32;
                $var29 = $var33;
            } else {
                $var9 = !$var25 ? $var30 + 0.3125 : $var30;
                if (!$var25)
                    $var15 = $var15 + 0.01953125;
                $var10 = !$var26 ? $var31 - 0.3125 : $var31;
                if (!$var26)
                    $var17 = $var17 - 0.01953125;
                $var11 = !$var27 ? $var32 + 0.3125 : $var32;
                if (!$var27)
                    var$34 = var$34 + 0.01953125;
                $var29 = !$var28 ? $var33 - 0.3125 : $var33;
                if (!$var28)
                    var$35 = var$35 - 0.01953125;
            }
            var$37 = $var10 + $var23;
            var$38 = $var3 + $var24;
            var$39 = $var29 + $var23;
            $ptr = 39;
            continue main;
        case 26:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, $var2, var$31, var$29);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            if ($var34)
                $var28 = 1;
            $var30 = $var2 + 0 | 0;
            $var31 = $var14;
            $var32 = $var4 + 0 | 0;
            $var33 = var$29;
            $var34 = 0;
            if (!(!$var25 && !$var26) && !$var27 && !$var28)
                $var34 = 1;
            if (!(!$var27 && !$var28) && !$var26 && !$var25)
                $var34 = 2;
            if (!$var34) {
                var$34 = $var19;
                var$35 = $var21;
            } else {
                $var8 = $var13 + 16 | 0;
                $var15 = $var8 / 256.0;
                $var17 = ($var8 + 15.989999771118164) / 256.0;
                var$34 = $var19;
                var$35 = $var21;
            }
            if ($var34) {
                $var9 = $var30;
                $var10 = $var31;
                $var11 = $var32;
                $var29 = $var33;
                if ($var34 == 1) {
                    var$37 = $var10 + $var23;
                    var$38 = $var3 + $var24;
                    var$39 = $var29 + $var23;
                    $ptr = 27;
                    continue main;
                }
                if ($var34 == 2) {
                    var$38 = $var10 + $var23;
                    var$39 = $var3 + $var24;
                    var$40 = $var29 + $var23;
                    $ptr = 32;
                    continue main;
                }
                $var8 = $var13 + 16 | 0;
                var$38 = $var8 / 256.0;
                var$37 = ($var8 + 15.989999771118164) / 256.0;
                $var1 = $this.$blockAccess;
                $ptr = 31;
                continue main;
            }
            if (!$var26 && !$var27 && !$var28 && !$var25) {
                $var9 = $var30;
                $var10 = $var31;
                $var11 = $var32;
                $var29 = $var33;
            } else {
                $var9 = !$var25 ? $var30 + 0.3125 : $var30;
                if (!$var25)
                    $var15 = $var15 + 0.01953125;
                $var10 = !$var26 ? $var31 - 0.3125 : $var31;
                if (!$var26)
                    $var17 = $var17 - 0.01953125;
                $var11 = !$var27 ? $var32 + 0.3125 : $var32;
                if (!$var27)
                    var$34 = var$34 + 0.01953125;
                $var29 = !$var28 ? $var33 - 0.3125 : $var33;
                if (!$var28)
                    var$35 = var$35 - 0.01953125;
            }
            var$37 = $var10 + $var23;
            var$38 = $var3 + $var24;
            var$39 = $var29 + $var23;
            $ptr = 39;
            continue main;
        case 27:
            nms_Tessellator_addVertexWithUV($var5, var$37, var$38, var$39, $var17, var$35);
            if ($rt_suspending()) {
                break main;
            }
            var$40 = $var11 - $var23;
            $ptr = 28;
        case 28:
            nms_Tessellator_addVertexWithUV($var5, var$37, var$38, var$40, $var17, var$34);
            if ($rt_suspending()) {
                break main;
            }
            var$37 = $var9 - $var23;
            $ptr = 29;
        case 29:
            nms_Tessellator_addVertexWithUV($var5, var$37, var$38, var$40, $var15, var$34);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 30;
        case 30:
            nms_Tessellator_addVertexWithUV($var5, var$37, var$38, var$39, $var15, var$35);
            if ($rt_suspending()) {
                break main;
            }
            if ($var34 == 2) {
                var$38 = $var10 + $var23;
                var$39 = $var3 + $var24;
                var$40 = $var29 + $var23;
                $ptr = 32;
                continue main;
            }
            $var8 = $var13 + 16 | 0;
            var$38 = $var8 / 256.0;
            var$37 = ($var8 + 15.989999771118164) / 256.0;
            $var1 = $this.$blockAccess;
            $ptr = 31;
        case 31:
            $tmp = $var1.$isBlockOpaqueCube($var2, var$31, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $tmp;
            if ($var26)
                return 1;
            $var1 = $this.$blockAccess;
            $ptr = 36;
            continue main;
        case 32:
            nms_Tessellator_addVertexWithUV($var5, var$38, var$39, var$40, $var17, var$35);
            if ($rt_suspending()) {
                break main;
            }
            var$37 = $var11 - $var23;
            $ptr = 33;
        case 33:
            nms_Tessellator_addVertexWithUV($var5, var$38, var$39, var$37, $var15, var$35);
            if ($rt_suspending()) {
                break main;
            }
            var$35 = $var9 - $var23;
            $ptr = 34;
        case 34:
            nms_Tessellator_addVertexWithUV($var5, var$35, var$39, var$37, $var15, var$34);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 35;
        case 35:
            nms_Tessellator_addVertexWithUV($var5, var$35, var$39, var$40, $var17, var$34);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var13 + 16 | 0;
            var$38 = $var8 / 256.0;
            var$37 = ($var8 + 15.989999771118164) / 256.0;
            $var1 = $this.$blockAccess;
            $ptr = 31;
            continue main;
        case 36:
            $tmp = $var1.$isBlockOpaqueCube(var$25, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $tmp;
            if (!$var26) {
                $var1 = $this.$blockAccess;
                $ptr = 37;
                continue main;
            }
            $var1 = $this.$blockAccess;
            $ptr = 38;
            continue main;
        case 37:
            $tmp = $var1.$isBlockOpaqueCube($var14, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $tmp;
            if (!$var26) {
                $var1 = $this.$blockAccess;
                $ptr = 43;
                continue main;
            }
            $var1 = $this.$blockAccess;
            $ptr = 44;
            continue main;
        case 38:
            $tmp = $var1.$getBlockId(var$25, var$31, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $tmp;
            if ($var26 != nms_Block_redstoneWire.$blockID) {
                $var1 = $this.$blockAccess;
                $ptr = 37;
                continue main;
            }
            $var15 = $var2 + $var24;
            $var17 = var$31 + $var23;
            var$34 = $var33 + $var23;
            $ptr = 45;
            continue main;
        case 39:
            nms_Tessellator_addVertexWithUV($var5, var$37, var$38, var$39, $var17, var$35);
            if ($rt_suspending()) {
                break main;
            }
            var$40 = $var11 - $var23;
            $ptr = 40;
        case 40:
            nms_Tessellator_addVertexWithUV($var5, var$37, var$38, var$40, $var17, var$34);
            if ($rt_suspending()) {
                break main;
            }
            var$37 = $var9 - $var23;
            $ptr = 41;
        case 41:
            nms_Tessellator_addVertexWithUV($var5, var$37, var$38, var$40, $var15, var$34);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 42;
        case 42:
            nms_Tessellator_addVertexWithUV($var5, var$37, var$38, var$39, $var15, var$35);
            if ($rt_suspending()) {
                break main;
            }
            if ($var34 == 1) {
                var$37 = $var10 + $var23;
                var$38 = $var3 + $var24;
                var$39 = $var29 + $var23;
                $ptr = 27;
                continue main;
            }
            if ($var34 == 2) {
                var$38 = $var10 + $var23;
                var$39 = $var3 + $var24;
                var$40 = $var29 + $var23;
                $ptr = 32;
                continue main;
            }
            $var8 = $var13 + 16 | 0;
            var$38 = $var8 / 256.0;
            var$37 = ($var8 + 15.989999771118164) / 256.0;
            $var1 = $this.$blockAccess;
            $ptr = 31;
            continue main;
        case 43:
            $tmp = $var1.$isBlockOpaqueCube($var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if (!$var14) {
                $var1 = $this.$blockAccess;
                $ptr = 49;
                continue main;
            }
            $var1 = $this.$blockAccess;
            $ptr = 50;
            continue main;
        case 44:
            $tmp = $var1.$getBlockId($var14, var$31, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if ($var14 != nms_Block_redstoneWire.$blockID) {
                $var1 = $this.$blockAccess;
                $ptr = 43;
                continue main;
            }
            $var15 = $var31 - $var24;
            $var17 = ($var3 + 0 | 0) - $var23;
            var$34 = $var33 + $var23;
            $ptr = 51;
            continue main;
        case 45:
            nms_Tessellator_addVertexWithUV($var5, $var15, $var17, var$34, var$37, $var19);
            if ($rt_suspending()) {
                break main;
            }
            var$35 = ($var3 + 0 | 0) - $var23;
            $ptr = 46;
        case 46:
            nms_Tessellator_addVertexWithUV($var5, $var15, var$35, var$34, var$38, $var19);
            if ($rt_suspending()) {
                break main;
            }
            var$34 = $var32 - $var23;
            $ptr = 47;
        case 47:
            nms_Tessellator_addVertexWithUV($var5, $var15, var$35, var$34, var$38, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 48;
        case 48:
            nms_Tessellator_addVertexWithUV($var5, $var15, $var17, var$34, var$37, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$blockAccess;
            $ptr = 37;
            continue main;
        case 49:
            $tmp = $var1.$isBlockOpaqueCube($var2, $var3, var$29);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4)
                return 1;
            $var1 = $this.$blockAccess;
            $ptr = 55;
            continue main;
        case 50:
            $tmp = $var1.$getBlockId($var2, var$31, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if ($var14 != nms_Block_redstoneWire.$blockID) {
                $var1 = $this.$blockAccess;
                $ptr = 49;
                continue main;
            }
            $var15 = $var31 + $var23;
            $var17 = ($var3 + 0 | 0) - $var23;
            var$34 = $var4 + $var24;
            $ptr = 56;
            continue main;
        case 51:
            nms_Tessellator_addVertexWithUV($var5, $var15, $var17, var$34, var$38, $var21);
            if ($rt_suspending()) {
                break main;
            }
            var$35 = var$31 + $var23;
            $ptr = 52;
        case 52:
            nms_Tessellator_addVertexWithUV($var5, $var15, var$35, var$34, var$37, $var21);
            if ($rt_suspending()) {
                break main;
            }
            var$34 = $var32 - $var23;
            $ptr = 53;
        case 53:
            nms_Tessellator_addVertexWithUV($var5, $var15, var$35, var$34, var$37, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 54;
        case 54:
            nms_Tessellator_addVertexWithUV($var5, $var15, $var17, var$34, var$38, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$blockAccess;
            $ptr = 43;
            continue main;
        case 55:
            $tmp = $var1.$getBlockId($var2, var$31, var$29);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 != nms_Block_redstoneWire.$blockID)
                return 1;
            $var15 = $var31 + $var23;
            $var17 = var$31 + $var23;
            var$34 = $var33 - $var24;
            $ptr = 60;
            continue main;
        case 56:
            nms_Tessellator_addVertexWithUV($var5, $var15, $var17, var$34, var$38, $var21);
            if ($rt_suspending()) {
                break main;
            }
            var$35 = var$31 + $var23;
            $ptr = 57;
        case 57:
            nms_Tessellator_addVertexWithUV($var5, $var15, var$35, var$34, var$37, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $var30 - $var23;
            $ptr = 58;
        case 58:
            nms_Tessellator_addVertexWithUV($var5, $var15, var$35, var$34, var$37, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 59;
        case 59:
            nms_Tessellator_addVertexWithUV($var5, $var15, $var17, var$34, var$38, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$blockAccess;
            $ptr = 49;
            continue main;
        case 60:
            nms_Tessellator_addVertexWithUV($var5, $var15, $var17, var$34, var$37, $var19);
            if ($rt_suspending()) {
                break main;
            }
            var$35 = ($var3 + 0 | 0) - $var23;
            $ptr = 61;
        case 61:
            nms_Tessellator_addVertexWithUV($var5, $var15, var$35, var$34, var$38, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $var30 - $var23;
            $ptr = 62;
        case 62:
            nms_Tessellator_addVertexWithUV($var5, $var15, var$35, var$34, var$38, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 63;
        case 63:
            nms_Tessellator_addVertexWithUV($var5, $var15, $var17, var$34, var$37, $var21);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, $var14, $var7, $var26, $var8, $var9, $var10, $var32, $var11, $var12, $var33, $var13, $var15, $var17, $var19, $var21, $var23, $var24, var$25, $var25, $var34, $var27, var$29, $var28, var$31, $var30, $var31, var$34, var$35, $var29, var$37, var$38, var$39, var$40, $ptr);
    }
    function nms_RenderBlocks_renderBlockMinecartTrack($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, $var6, $var7, $var10, $var8, $var9, $var19, $var11, $var13, $var15, $var17, $var20, $var22, $var24, $var25, $var28, var$22, var$23, var$24, var$25, var$26, var$27, var$28, var$29, var$30, var$31, var$32, var$33, var$34, var$35, var$36, var$37, var$38, var$39, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$39 = $thread.pop();var$38 = $thread.pop();var$37 = $thread.pop();var$36 = $thread.pop();var$35 = $thread.pop();var$34 = $thread.pop();var$33 = $thread.pop();var$32 = $thread.pop();var$31 = $thread.pop();var$30 = $thread.pop();var$29 = $thread.pop();var$28 = $thread.pop();var$27 = $thread.pop();var$26 = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();$var28 = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();$var22
            = $thread.pop();$var20 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var19 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var10 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = nms_Tessellator_instance;
            var$6 = $this.$blockAccess;
            $ptr = 2;
        case 2:
            $tmp = var$6.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = 0;
            $ptr = 3;
        case 3:
            $tmp = $var1.$getBlockTextureFromSideAndMetadata($var7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var10 = $this.$overrideBlockTexture;
            if ($var10 < 0)
                $var10 = $var7;
            var$6 = $this.$blockAccess;
            $ptr = 4;
        case 4:
            $tmp = $var1.$getBlockBrightness(var$6, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $ptr = 5;
        case 5:
            nms_Tessellator_setColorOpaque_F($var5, $var8, $var8, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = ($var10 & 15) << 4;
            $var10 = $var10 & 240;
            $var19 = $var9;
            $var11 = $var19 / 256.0;
            $var13 = ($var19 + 15.989999771118164) / 256.0;
            $var19 = $var10;
            $var15 = $var19 / 256.0;
            $var17 = ($var19 + 15.989999771118164) / 256.0;
            $var20 = $var2 + 1 | 0;
            $var22 = $var2 + 0 | 0;
            $var24 = $var4 + 0 | 0;
            $var25 = $var4 + 1 | 0;
            $var28 = $var3 + 0.0625;
            if ($var6 != 1 && $var6 != 2 && $var6 != 3 && $var6 != 7) {
                if ($var6 == 8) {
                    var$22 = $var22;
                    var$23 = $var20;
                    var$24 = $var20;
                    var$25 = $var25;
                    $var19 = $var24;
                    $var8 = $var24;
                    var$26 = $var22;
                    $var20 = var$23;
                    $var22 = var$24;
                    var$27 = $var25;
                    $var24 = $var19;
                    $var25 = $var8;
                } else if ($var6 != 9) {
                    var$22 = $var20;
                    $var8 = $var22;
                    var$25 = $var24;
                    $var19 = $var25;
                    var$26 = $var20;
                    $var20 = $var8;
                    var$27 = $var24;
                    $var24 = $var19;
                } else {
                    var$22 = $var20;
                    var$26 = $var22;
                    $var8 = $var20;
                    var$25 = $var25;
                    var$27 = $var24;
                    $var19 = $var24;
                    $var20 = $var22;
                    $var22 = $var8;
                    $var24 = $var25;
                    $var25 = $var19;
                }
            } else {
                var$22 = $var22;
                var$26 = $var20;
                var$25 = $var24;
                var$27 = $var25;
            }
            if ($var6 != 2 && $var6 != 4) {
                if ($var6 != 3 && $var6 != 5) {
                    var$23 = $var28;
                    $var8 = $var28;
                    var$24 = $var28;
                    $var19 = $var28;
                    $var28 = $var8;
                } else {
                    $var8 = $var28 + 1.0;
                    var$23 = $var8;
                    var$24 = $var28;
                    $var19 = $var28;
                    $var28 = $var8;
                }
            } else {
                $var19 = $var28 + 1.0;
                var$23 = $var28;
                var$24 = $var19;
            }
            var$28 = var$26;
            var$29 = var$24;
            var$30 = var$27;
            $ptr = 6;
        case 6:
            nms_Tessellator_addVertexWithUV($var5, var$28, var$29, var$30, $var13, $var15);
            if ($rt_suspending()) {
                break main;
            }
            var$31 = var$22;
            var$32 = var$23;
            var$33 = $var25;
            $ptr = 7;
        case 7:
            nms_Tessellator_addVertexWithUV($var5, var$31, var$32, var$33, $var13, $var17);
            if ($rt_suspending()) {
                break main;
            }
            var$34 = $var22;
            var$35 = $var28;
            var$36 = $var24;
            $ptr = 8;
        case 8:
            nms_Tessellator_addVertexWithUV($var5, var$34, var$35, var$36, $var11, $var17);
            if ($rt_suspending()) {
                break main;
            }
            var$37 = $var20;
            var$38 = $var19;
            var$39 = var$25;
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var5, var$37, var$38, var$39, $var11, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            nms_Tessellator_addVertexWithUV($var5, var$37, var$38, var$39, $var11, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var5, var$34, var$35, var$36, $var11, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertexWithUV($var5, var$31, var$32, var$33, $var13, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var5, var$28, var$29, var$30, $var13, $var15);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, $var7, $var10, $var8, $var9, $var19, $var11, $var13, $var15, $var17, $var20, $var22, $var24, $var25, $var28, var$22, var$23, var$24, var$25, var$26, var$27, var$28, var$29, var$30, var$31, var$32, var$33, var$34, var$35, var$36, var$37, var$38, var$39, $ptr);
    }
    function nms_RenderBlocks_renderBlockLadder($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, $var18, var$8, $var7, $var8, $var9, $var10, $var12, $var14, $var16, $var19, $var20, var$18, var$19, var$20, var$21, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$8 = $thread.pop();$var18 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this =
            $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = nms_Tessellator_instance;
            $var6 = 0;
            $ptr = 2;
        case 2:
            $tmp = $var1.$getBlockTextureFromSide($var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var18 = $this.$overrideBlockTexture;
            if ($var18 < 0)
                $var18 = $var6;
            var$8 = $this.$blockAccess;
            $ptr = 3;
        case 3:
            $tmp = $var1.$getBlockBrightness(var$8, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $ptr = 4;
        case 4:
            nms_Tessellator_setColorOpaque_F($var5, $var7, $var7, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = ($var18 & 15) << 4;
            $var9 = $var18 & 240;
            $var7 = $var8;
            $var10 = $var7 / 256.0;
            $var12 = ($var7 + 15.989999771118164) / 256.0;
            $var7 = $var9;
            $var14 = $var7 / 256.0;
            $var16 = ($var7 + 15.989999771118164) / 256.0;
            $var1 = $this.$blockAccess;
            $ptr = 5;
        case 5:
            $tmp = $var1.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var18 = $tmp;
            $var19 = 0.0;
            $var20 = 0.05000000074505806;
            if ($var18 == 5) {
                var$18 = $var2 + $var20;
                var$19 = ($var3 + 1 | 0) + $var19;
                var$20 = ($var4 + 1 | 0) + $var19;
                $ptr = 6;
                continue main;
            }
            if ($var18 == 4) {
                var$21 = ($var2 + 1 | 0) - $var20;
                var$18 = ($var3 + 0 | 0) - $var19;
                var$20 = ($var4 + 1 | 0) + $var19;
                $ptr = 10;
                continue main;
            }
            if ($var18 == 3) {
                var$18 = ($var2 + 1 | 0) + $var19;
                var$19 = ($var3 + 0 | 0) - $var19;
                var$20 = $var4 + $var20;
                $ptr = 14;
                continue main;
            }
            if ($var18 != 2)
                return 1;
            var$19 = ($var2 + 1 | 0) + $var19;
            var$20 = ($var3 + 1 | 0) + $var19;
            var$21 = ($var4 + 1 | 0) - $var20;
            $ptr = 18;
            continue main;
        case 6:
            nms_Tessellator_addVertexWithUV($var5, var$18, var$19, var$20, $var10, $var14);
            if ($rt_suspending()) {
                break main;
            }
            var$21 = ($var3 + 0 | 0) - $var19;
            $ptr = 7;
        case 7:
            nms_Tessellator_addVertexWithUV($var5, var$18, var$21, var$20, $var10, $var16);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = ($var4 + 0 | 0) - $var19;
            $ptr = 8;
        case 8:
            nms_Tessellator_addVertexWithUV($var5, var$18, var$21, var$20, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var5, var$18, var$19, var$20, $var12, $var14);
            if ($rt_suspending()) {
                break main;
            }
            if ($var18 == 4) {
                var$21 = ($var2 + 1 | 0) - $var20;
                var$18 = ($var3 + 0 | 0) - $var19;
                var$20 = ($var4 + 1 | 0) + $var19;
                $ptr = 10;
                continue main;
            }
            if ($var18 == 3) {
                var$18 = ($var2 + 1 | 0) + $var19;
                var$19 = ($var3 + 0 | 0) - $var19;
                var$20 = $var4 + $var20;
                $ptr = 14;
                continue main;
            }
            if ($var18 != 2)
                return 1;
            var$19 = ($var2 + 1 | 0) + $var19;
            var$20 = ($var3 + 1 | 0) + $var19;
            var$21 = ($var4 + 1 | 0) - $var20;
            $ptr = 18;
            continue main;
        case 10:
            nms_Tessellator_addVertexWithUV($var5, var$21, var$18, var$20, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = ($var3 + 1 | 0) + $var19;
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var5, var$21, var$19, var$20, $var12, $var14);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = ($var4 + 0 | 0) - $var19;
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertexWithUV($var5, var$21, var$19, var$20, $var10, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var5, var$21, var$18, var$20, $var10, $var16);
            if ($rt_suspending()) {
                break main;
            }
            if ($var18 == 3) {
                var$18 = ($var2 + 1 | 0) + $var19;
                var$19 = ($var3 + 0 | 0) - $var19;
                var$20 = $var4 + $var20;
                $ptr = 14;
                continue main;
            }
            if ($var18 != 2)
                return 1;
            var$19 = ($var2 + 1 | 0) + $var19;
            var$20 = ($var3 + 1 | 0) + $var19;
            var$21 = ($var4 + 1 | 0) - $var20;
            $ptr = 18;
            continue main;
        case 14:
            nms_Tessellator_addVertexWithUV($var5, var$18, var$19, var$20, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            var$21 = ($var3 + 1 | 0) + $var19;
            $ptr = 15;
        case 15:
            nms_Tessellator_addVertexWithUV($var5, var$18, var$21, var$20, $var12, $var14);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = ($var2 + 0 | 0) - $var19;
            $ptr = 16;
        case 16:
            nms_Tessellator_addVertexWithUV($var5, var$18, var$21, var$20, $var10, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            nms_Tessellator_addVertexWithUV($var5, var$18, var$19, var$20, $var10, $var16);
            if ($rt_suspending()) {
                break main;
            }
            if ($var18 != 2)
                return 1;
            var$19 = ($var2 + 1 | 0) + $var19;
            var$20 = ($var3 + 1 | 0) + $var19;
            var$21 = ($var4 + 1 | 0) - $var20;
            $ptr = 18;
        case 18:
            nms_Tessellator_addVertexWithUV($var5, var$19, var$20, var$21, $var10, $var14);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = ($var3 + 0 | 0) - $var19;
            $ptr = 19;
        case 19:
            nms_Tessellator_addVertexWithUV($var5, var$19, var$18, var$21, $var10, $var16);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = ($var2 + 0 | 0) - $var19;
            $ptr = 20;
        case 20:
            nms_Tessellator_addVertexWithUV($var5, var$19, var$18, var$21, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 21;
        case 21:
            nms_Tessellator_addVertexWithUV($var5, var$19, var$20, var$21, $var12, $var14);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var18, var$8, $var7, $var8, $var9, $var10, $var12, $var14, $var16, $var19, $var20, var$18, var$19, var$20, var$21, $ptr);
    }
    function nms_RenderBlocks_renderTorchAtAngle($this, $var1, $var2, $var4, $var6, $var8, $var10) {
        var $var12, $var13, $var15, $var14, $var19, $var16, $var17, $var18, var$15, $var20, var$17, $var22, $var24, $var26, $var28, $var30, $var32, $var34, $var36, var$26, var$27, $var38, var$29, var$30, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$30 = $thread.pop();var$29 = $thread.pop();$var38 = $thread.pop();var$27 = $thread.pop();var$26 = $thread.pop();$var36 = $thread.pop();$var34 = $thread.pop();$var32 = $thread.pop();$var30 = $thread.pop();$var28 = $thread.pop();$var26 = $thread.pop();$var24 = $thread.pop();$var22 = $thread.pop();var$17 = $thread.pop();$var20 = $thread.pop();var$15 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var19 = $thread.pop();$var14 = $thread.pop();$var15
            = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var12 = nms_Tessellator_instance;
            $var13 = 0;
            $ptr = 2;
        case 2:
            $tmp = $var1.$getBlockTextureFromSide($var13);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = $tmp;
            $var15 = $this.$overrideBlockTexture;
            if ($var15 < 0)
                $var15 = $var13;
            $var14 = ($var15 & 15) << 4;
            $var15 = $var15 & 240;
            $var19 = $var14;
            $var16 = $var19 / 256.0;
            $var17 = ($var19 + 15.989999771118164) / 256.0;
            $var19 = $var15;
            $var18 = $var19 / 256.0;
            $var19 = ($var19 + 15.989999771118164) / 256.0;
            var$15 = $var16;
            $var20 = var$15 + 0.02734375;
            var$17 = $var18;
            $var22 = var$17 + 0.0234375;
            $var24 = var$15 + 0.03515625;
            $var26 = var$17 + 0.03125;
            $var2 = $var2 + 0.5;
            $var6 = $var6 + 0.5;
            $var28 = $var2 - 0.5;
            $var30 = $var2 + 0.5;
            $var32 = $var6 - 0.5;
            $var34 = $var6 + 0.5;
            $var36 = 0.0625;
            var$26 = $var2 + $var8 * 0.375;
            var$27 = var$26 - $var36;
            $var38 = $var4 + 0.625;
            var$29 = $var6 + $var10 * 0.375;
            var$30 = var$29 - $var36;
            $ptr = 3;
        case 3:
            nms_Tessellator_addVertexWithUV($var12, var$27, $var38, var$30, $var20, $var22);
            if ($rt_suspending()) {
                break main;
            }
            var$29 = var$29 + $var36;
            $ptr = 4;
        case 4:
            nms_Tessellator_addVertexWithUV($var12, var$27, $var38, var$29, $var20, $var26);
            if ($rt_suspending()) {
                break main;
            }
            var$26 = var$26 + $var36;
            $ptr = 5;
        case 5:
            nms_Tessellator_addVertexWithUV($var12, var$26, $var38, var$29, $var24, $var26);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            nms_Tessellator_addVertexWithUV($var12, var$26, $var38, var$30, $var24, $var22);
            if ($rt_suspending()) {
                break main;
            }
            $var38 = $var2 - $var36;
            var$29 = $var4 + 1.0;
            $ptr = 7;
        case 7:
            nms_Tessellator_addVertexWithUV($var12, $var38, var$29, $var32, var$15, var$17);
            if ($rt_suspending()) {
                break main;
            }
            var$26 = $var38 + $var8;
            var$27 = $var4 + 0.0;
            $var4 = $var32 + $var10;
            var$30 = $var19;
            $ptr = 8;
        case 8:
            nms_Tessellator_addVertexWithUV($var12, var$26, var$27, $var4, var$15, var$30);
            if ($rt_suspending()) {
                break main;
            }
            $var20 = $var34 + $var10;
            $var22 = $var17;
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var12, var$26, var$27, $var20, $var22, var$30);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            nms_Tessellator_addVertexWithUV($var12, $var38, var$29, $var34, $var22, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var38 = $var2 + $var36;
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var12, $var38, var$29, $var34, var$15, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + $var8 + $var36;
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertexWithUV($var12, $var2, var$27, $var20, var$15, var$30);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var12, $var2, var$27, $var4, $var22, var$30);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            nms_Tessellator_addVertexWithUV($var12, $var38, var$29, $var32, $var22, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var38 = $var6 + $var36;
            $ptr = 15;
        case 15:
            nms_Tessellator_addVertexWithUV($var12, $var28, var$29, $var38, var$15, var$17);
            if ($rt_suspending()) {
                break main;
            }
            var$26 = $var28 + $var8;
            $var2 = $var38 + $var10;
            $ptr = 16;
        case 16:
            nms_Tessellator_addVertexWithUV($var12, var$26, var$27, $var2, var$15, var$30);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $var30 + $var8;
            $ptr = 17;
        case 17:
            nms_Tessellator_addVertexWithUV($var12, $var4, var$27, $var2, $var22, var$30);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 18;
        case 18:
            nms_Tessellator_addVertexWithUV($var12, $var30, var$29, $var38, $var22, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var6 - $var36;
            $ptr = 19;
        case 19:
            nms_Tessellator_addVertexWithUV($var12, $var30, var$29, $var2, var$15, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var2 + $var10;
            $ptr = 20;
        case 20:
            nms_Tessellator_addVertexWithUV($var12, $var4, var$27, $var6, var$15, var$30);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 21;
        case 21:
            nms_Tessellator_addVertexWithUV($var12, var$26, var$27, $var6, $var22, var$30);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 22;
        case 22:
            nms_Tessellator_addVertexWithUV($var12, $var28, var$29, $var2, $var22, var$17);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12, $var13, $var15, $var14, $var19, $var16, $var17, $var18, var$15, $var20, var$17, $var22, $var24, $var26, $var28, $var30, $var32, $var34, $var36, var$26, var$27, $var38, var$29, var$30, $ptr);
    }
    function nms_RenderBlocks_renderCrossedSquares($this, $var1, $var2, $var3, $var5, $var7) {
        var $var9, $var10, $var11, $var12, var$10, $var13, $var15, var$13, $var17, $var19, $var21, $var23, $var25, $var27, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var27 = $thread.pop();$var25 = $thread.pop();$var23 = $thread.pop();$var21 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();var$13 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();var$10 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = nms_Tessellator_instance;
            $var10 = 0;
            $ptr = 2;
        case 2:
            $tmp = $var1.$getBlockTextureFromSideAndMetadata($var10, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $var2 = $this.$overrideBlockTexture;
            if ($var2 < 0)
                $var2 = $var10;
            $var11 = ($var2 & 15) << 4;
            $var12 = $var2 & 240;
            var$10 = $var11;
            $var13 = var$10 / 256.0;
            $var15 = (var$10 + 15.989999771118164) / 256.0;
            var$13 = $var12;
            $var17 = var$13 / 256.0;
            $var19 = (var$13 + 15.989999771118164) / 256.0;
            $var3 = $var3 + 0.5;
            $var21 = $var3 - 0.44999998807907104;
            $var23 = $var3 + 0.44999998807907104;
            $var3 = $var7 + 0.5;
            $var25 = $var3 - 0.44999998807907104;
            $var27 = $var3 + 0.44999998807907104;
            $var3 = $var5 + 1.0;
            $ptr = 3;
        case 3:
            nms_Tessellator_addVertexWithUV($var9, $var21, $var3, $var25, $var13, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $var5 + 0.0;
            $ptr = 4;
        case 4:
            nms_Tessellator_addVertexWithUV($var9, $var21, $var5, $var25, $var13, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Tessellator_addVertexWithUV($var9, $var23, $var5, $var27, $var15, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            nms_Tessellator_addVertexWithUV($var9, $var23, $var3, $var27, $var15, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_Tessellator_addVertexWithUV($var9, $var23, $var3, $var27, $var13, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            nms_Tessellator_addVertexWithUV($var9, $var23, $var5, $var27, $var13, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var9, $var21, $var5, $var25, $var15, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            nms_Tessellator_addVertexWithUV($var9, $var21, $var3, $var25, $var15, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var9, $var21, $var3, $var27, $var13, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertexWithUV($var9, $var21, $var5, $var27, $var13, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var9, $var23, $var5, $var25, $var15, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            nms_Tessellator_addVertexWithUV($var9, $var23, $var3, $var25, $var15, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            nms_Tessellator_addVertexWithUV($var9, $var23, $var3, $var25, $var13, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
        case 16:
            nms_Tessellator_addVertexWithUV($var9, $var23, $var5, $var25, $var13, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            nms_Tessellator_addVertexWithUV($var9, $var21, $var5, $var27, $var15, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 18;
        case 18:
            nms_Tessellator_addVertexWithUV($var9, $var21, $var3, $var27, $var15, $var17);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var5, $var7, $var9, $var10, $var11, $var12, var$10, $var13, $var15, var$13, $var17, $var19, $var21, $var23, $var25, $var27, $ptr);
    }
    function nms_RenderBlocks_func_1245_b($this, $var1, $var2, $var3, $var5, $var7) {
        var $var9, $var12, $var10, $var11, var$10, $var13, $var15, var$13, $var17, $var19, $var21, $var23, $var25, $var27, var$20, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$20 = $thread.pop();$var27 = $thread.pop();$var25 = $thread.pop();$var23 = $thread.pop();$var21 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();var$13 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();var$10 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var12 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = nms_Tessellator_instance;
            $var12 = 0;
            $ptr = 2;
        case 2:
            $tmp = $var1.$getBlockTextureFromSideAndMetadata($var12, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $var2 = $this.$overrideBlockTexture;
            if ($var2 < 0)
                $var2 = $var10;
            $var11 = ($var2 & 15) << 4;
            $var12 = $var2 & 240;
            var$10 = $var11;
            $var13 = var$10 / 256.0;
            $var15 = (var$10 + 15.989999771118164) / 256.0;
            var$13 = $var12;
            $var17 = var$13 / 256.0;
            $var19 = (var$13 + 15.989999771118164) / 256.0;
            $var3 = $var3 + 0.5;
            $var21 = $var3 - 0.25;
            $var23 = $var3 + 0.25;
            $var7 = $var7 + 0.5;
            $var25 = $var7 - 0.5;
            $var27 = $var7 + 0.5;
            var$20 = $var5 + 1.0;
            $ptr = 3;
        case 3:
            nms_Tessellator_addVertexWithUV($var9, $var21, var$20, $var25, $var13, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $var5 + 0.0;
            $ptr = 4;
        case 4:
            nms_Tessellator_addVertexWithUV($var9, $var21, $var5, $var25, $var13, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Tessellator_addVertexWithUV($var9, $var21, $var5, $var27, $var15, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            nms_Tessellator_addVertexWithUV($var9, $var21, var$20, $var27, $var15, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_Tessellator_addVertexWithUV($var9, $var21, var$20, $var27, $var13, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            nms_Tessellator_addVertexWithUV($var9, $var21, $var5, $var27, $var13, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var9, $var21, $var5, $var25, $var15, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            nms_Tessellator_addVertexWithUV($var9, $var21, var$20, $var25, $var15, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var9, $var23, var$20, $var27, $var13, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertexWithUV($var9, $var23, $var5, $var27, $var13, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var9, $var23, $var5, $var25, $var15, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            nms_Tessellator_addVertexWithUV($var9, $var23, var$20, $var25, $var15, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            nms_Tessellator_addVertexWithUV($var9, $var23, var$20, $var25, $var13, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
        case 16:
            nms_Tessellator_addVertexWithUV($var9, $var23, $var5, $var25, $var13, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            nms_Tessellator_addVertexWithUV($var9, $var23, $var5, $var27, $var15, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 18;
        case 18:
            nms_Tessellator_addVertexWithUV($var9, $var23, var$20, $var27, $var15, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = $var3 - 0.5;
            $var3 = $var3 + 0.5;
            $var23 = $var7 - 0.25;
            $var7 = $var7 + 0.25;
            $ptr = 19;
        case 19:
            nms_Tessellator_addVertexWithUV($var9, $var21, var$20, $var23, $var13, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 20;
        case 20:
            nms_Tessellator_addVertexWithUV($var9, $var21, $var5, $var23, $var13, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 21;
        case 21:
            nms_Tessellator_addVertexWithUV($var9, $var3, $var5, $var23, $var15, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 22;
        case 22:
            nms_Tessellator_addVertexWithUV($var9, $var3, var$20, $var23, $var15, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 23;
        case 23:
            nms_Tessellator_addVertexWithUV($var9, $var3, var$20, $var23, $var13, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 24;
        case 24:
            nms_Tessellator_addVertexWithUV($var9, $var3, $var5, $var23, $var13, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 25;
        case 25:
            nms_Tessellator_addVertexWithUV($var9, $var21, $var5, $var23, $var15, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 26;
        case 26:
            nms_Tessellator_addVertexWithUV($var9, $var21, var$20, $var23, $var15, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 27;
        case 27:
            nms_Tessellator_addVertexWithUV($var9, $var3, var$20, $var7, $var13, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 28;
        case 28:
            nms_Tessellator_addVertexWithUV($var9, $var3, $var5, $var7, $var13, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 29;
        case 29:
            nms_Tessellator_addVertexWithUV($var9, $var21, $var5, $var7, $var15, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 30;
        case 30:
            nms_Tessellator_addVertexWithUV($var9, $var21, var$20, $var7, $var15, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 31;
        case 31:
            nms_Tessellator_addVertexWithUV($var9, $var21, var$20, $var7, $var13, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 32;
        case 32:
            nms_Tessellator_addVertexWithUV($var9, $var21, $var5, $var7, $var13, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 33;
        case 33:
            nms_Tessellator_addVertexWithUV($var9, $var3, $var5, $var7, $var15, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 34;
        case 34:
            nms_Tessellator_addVertexWithUV($var9, $var3, var$20, $var7, $var15, $var17);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var5, $var7, $var9, $var12, $var10, $var11, var$10, $var13, $var15, var$13, $var17, $var19, $var21, $var23, $var25, $var27, var$20, $ptr);
    }
    function nms_RenderBlocks_renderBlockFluids($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, $var6, $var24, $var7, $var8, $var27, var$12, $var26, var$14, var$15, $var50, $var9, $var10, $var11, $var12, $var13, $var14, $var16, $var18, $var19, $var20, $var21, $var22, $var23, var$30, var$31, $var33, $var33_0, $var34, $var34_0, $var24_0, $var28, $var25, $var30, $var32, $var33_1, $var48, var$43, $var41, $var37, var$46, $var45, var$48, $var39, $var43, $var29, $var51, $var36, $var47, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var47 = $thread.pop();$var36 = $thread.pop();$var51 = $thread.pop();$var29 = $thread.pop();$var43 = $thread.pop();$var39 = $thread.pop();var$48 = $thread.pop();$var45 = $thread.pop();var$46 = $thread.pop();$var37 = $thread.pop();$var41 = $thread.pop();var$43 = $thread.pop();$var48 = $thread.pop();$var33_1 = $thread.pop();$var32 = $thread.pop();$var30 = $thread.pop();$var25 = $thread.pop();$var28 = $thread.pop();$var24_0 = $thread.pop();$var34_0 = $thread.pop();$var34 = $thread.pop();$var33_0
            = $thread.pop();$var33 = $thread.pop();var$31 = $thread.pop();var$30 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var50 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var26 = $thread.pop();var$12 = $thread.pop();$var27
            = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var24 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = nms_Tessellator_instance;
            var$6 = $this.$blockAccess;
            $var6 = $var3 + 1 | 0;
            $var24 = 1;
            $ptr = 2;
        case 2:
            $tmp = $var1.$shouldSideBeRendered(var$6, $var2, $var6, $var4, $var24);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            var$6 = $this.$blockAccess;
            $var24 = $var3 - 1 | 0;
            $var7 = 0;
            $ptr = 3;
        case 3:
            $tmp = $var1.$shouldSideBeRendered(var$6, $var2, $var24, $var4, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var8 = $rt_createBooleanArray(4).data;
            $var27 = 0;
            var$6 = $this.$blockAccess;
            var$12 = $var4 - 1 | 0;
            $var26 = 2;
            $ptr = 4;
        case 4:
            $tmp = $var1.$shouldSideBeRendered(var$6, $var2, $var3, var$12, $var26);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $tmp;
            $var8[$var27] = $var26;
            $var26 = 1;
            var$6 = $this.$blockAccess;
            var$14 = $var4 + 1 | 0;
            $var27 = 3;
            $ptr = 5;
        case 5:
            $tmp = $var1.$shouldSideBeRendered(var$6, $var2, $var3, var$14, $var27);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = $tmp;
            $var8[$var26] = $var27;
            $var26 = 2;
            var$6 = $this.$blockAccess;
            var$15 = $var2 - 1 | 0;
            $var27 = 4;
            $ptr = 6;
        case 6:
            $tmp = $var1.$shouldSideBeRendered(var$6, var$15, $var3, $var4, $var27);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = $tmp;
            $var8[$var26] = $var27;
            $var26 = 3;
            var$6 = $this.$blockAccess;
            $var50 = $var2 + 1 | 0;
            $var27 = 5;
            $ptr = 7;
        case 7:
            $tmp = $var1.$shouldSideBeRendered(var$6, $var50, $var3, $var4, $var27);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = $tmp;
            $var8[$var26] = $var27;
            if (!$var6 && !$var7 && !$var8[0] && !$var8[1] && !$var8[2] && !$var8[3])
                return 0;
            $var9 = 0;
            $var10 = 0.5;
            $var11 = 1.0;
            $var12 = 0.800000011920929;
            $var13 = 0.6000000238418579;
            $var14 = 0.0;
            $var16 = 1.0;
            $var18 = $var1.$blockMaterial;
            var$6 = $this.$blockAccess;
            $ptr = 8;
        case 8:
            $tmp = var$6.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var19 = $tmp;
            $ptr = 9;
        case 9:
            $tmp = nms_RenderBlocks_func_1224_a($this, $var2, $var3, $var4, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $var20 = $tmp;
            $ptr = 10;
        case 10:
            $tmp = nms_RenderBlocks_func_1224_a($this, $var2, $var3, var$14, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = $tmp;
            $ptr = 11;
        case 11:
            $tmp = nms_RenderBlocks_func_1224_a($this, $var50, $var3, var$14, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $var22 = $tmp;
            $ptr = 12;
        case 12:
            $tmp = nms_RenderBlocks_func_1224_a($this, $var50, $var3, $var4, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $var23 = $tmp;
            if (!$this.$renderAllFaces && !$var6) {
                if (!$this.$renderAllFaces && !$var7) {
                    $var24 = 0;
                    var$30 = $var3;
                    var$31 = $var3 + 0 | 0;
                    $var33 = $var2;
                    $var33_0 = $var50;
                    $var34 = $var4;
                    $var34_0 = var$14;
                    if ($var24 >= 4) {
                        $var1.$minY = $var14;
                        $var1.$maxY = $var16;
                        return $var9;
                    }
                    $var6 = !$var24 ? var$12 : $var4;
                    $var26 = $rt_compare($var24, 1);
                    if (!$var26)
                        $var6 = $var6 + 1 | 0;
                    $var27 = $rt_compare($var24, 2);
                    var$14 = !$var27 ? var$15 : $var2;
                    if ($var24 == 3)
                        var$14 = var$14 + 1 | 0;
                    $var7 = $var24 + 2 | 0;
                    $ptr = 26;
                    continue main;
                }
                var$6 = $this.$blockAccess;
                $ptr = 16;
                continue main;
            }
            $var9 = 1;
            $var6 = 1;
            $ptr = 13;
        case 13:
            $tmp = $var1.$getBlockTextureFromSideAndMetadata($var6, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var24_0 = $tmp;
            var$6 = $this.$blockAccess;
            $ptr = 14;
        case 14:
            $tmp = nms_BlockFluids_func_293_a(var$6, $var2, $var3, $var4, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $tmp;
            $var25 = $var28;
            $var6 = $rt_compare($var25, (-999.0));
            if ($var6 > 0) {
                $var26 = 2;
                $ptr = 15;
                continue main;
            }
            $var26 = ($var24_0 & 15) << 4;
            $var27 = $var24_0 & 240;
            $var28 = ($var26 + 8.0) / 256.0;
            $var30 = ($var27 + 8.0) / 256.0;
            if ($var6 < 0)
                $var25 = 0.0;
            else {
                $var28 = ($var26 + 16 | 0) / 256.0;
                $var30 = ($var27 + 16 | 0) / 256.0;
            }
            $var32 = nms_MathHelper_sin($var25) * 8.0 / 256.0;
            $var33_1 = nms_MathHelper_cos($var25) * 8.0 / 256.0;
            var$6 = $this.$blockAccess;
            $ptr = 20;
            continue main;
        case 15:
            $tmp = $var1.$getBlockTextureFromSideAndMetadata($var26, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var24_0 = $tmp;
            $var26 = ($var24_0 & 15) << 4;
            $var27 = $var24_0 & 240;
            $var28 = ($var26 + 8.0) / 256.0;
            $var30 = ($var27 + 8.0) / 256.0;
            if ($var6 < 0)
                $var25 = 0.0;
            else {
                $var28 = ($var26 + 16 | 0) / 256.0;
                $var30 = ($var27 + 16 | 0) / 256.0;
            }
            $var32 = nms_MathHelper_sin($var25) * 8.0 / 256.0;
            $var33_1 = nms_MathHelper_cos($var25) * 8.0 / 256.0;
            var$6 = $this.$blockAccess;
            $ptr = 20;
            continue main;
        case 16:
            $tmp = $var1.$getBlockBrightness(var$6, $var2, $var24, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var48 = $tmp;
            $var25 = $var10 * $var48;
            $ptr = 17;
        case 17:
            nms_Tessellator_setColorOpaque_F($var5, $var25, $var25, $var25);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $var2;
            var$43 = $var3;
            $var41 = $var4;
            $var6 = 0;
            $ptr = 18;
        case 18:
            $tmp = $var1.$getBlockTextureFromSide($var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 19;
        case 19:
            nms_RenderBlocks_renderBottomFace($this, $var1, $var28, var$43, $var41, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 1;
            $var24 = 0;
            var$30 = $var3;
            var$31 = $var3 + 0 | 0;
            $var33 = $var2;
            $var33_0 = $var50;
            $var34 = $var4;
            $var34_0 = var$14;
            if ($var24 >= 4) {
                $var1.$minY = $var14;
                $var1.$maxY = $var16;
                return $var9;
            }
            $var6 = !$var24 ? var$12 : $var4;
            $var26 = $rt_compare($var24, 1);
            if (!$var26)
                $var6 = $var6 + 1 | 0;
            $var27 = $rt_compare($var24, 2);
            var$14 = !$var27 ? var$15 : $var2;
            if ($var24 == 3)
                var$14 = var$14 + 1 | 0;
            $var7 = $var24 + 2 | 0;
            $ptr = 26;
            continue main;
        case 20:
            $tmp = $var1.$getBlockBrightness(var$6, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            $var25 = $var11 * $var34;
            $ptr = 21;
        case 21:
            nms_Tessellator_setColorOpaque_F($var5, $var25, $var25, $var25);
            if ($rt_suspending()) {
                break main;
            }
            var$43 = $var2 + 0 | 0;
            $var25 = $var3;
            $var37 = $var25 + $var20;
            $var41 = $var4 + 0 | 0;
            var$46 = $var33_1;
            var$31 = $var28 - var$46;
            $var45 = $var32;
            var$48 = var$31 - $var45;
            $var39 = $var30 - var$46;
            $var43 = $var39 + $var45;
            $ptr = 22;
        case 22:
            nms_Tessellator_addVertexWithUV($var5, var$43, $var37, $var41, var$48, $var43);
            if ($rt_suspending()) {
                break main;
            }
            var$48 = $var25 + $var21;
            $var43 = var$14;
            var$31 = var$31 + $var45;
            $var37 = $var30 + var$46;
            $var30 = $var37 + $var45;
            $ptr = 23;
        case 23:
            nms_Tessellator_addVertexWithUV($var5, var$43, var$48, $var43, var$31, $var30);
            if ($rt_suspending()) {
                break main;
            }
            var$43 = $var50;
            var$31 = $var25 + $var22;
            $var28 = $var28 + var$46;
            var$46 = $var28 + $var45;
            var$48 = $var37 - $var45;
            $ptr = 24;
        case 24:
            nms_Tessellator_addVertexWithUV($var5, var$43, var$31, $var43, var$46, var$48);
            if ($rt_suspending()) {
                break main;
            }
            var$46 = $var25 + $var23;
            $var28 = $var28 - $var45;
            var$31 = $var39 - $var45;
            $ptr = 25;
        case 25:
            nms_Tessellator_addVertexWithUV($var5, var$43, var$46, $var41, $var28, var$31);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$renderAllFaces && !$var7) {
                $var24 = 0;
                var$30 = $var3;
                var$31 = $var3 + 0 | 0;
                $var33 = $var2;
                $var33_0 = $var50;
                $var34 = $var4;
                $var34_0 = var$14;
                if ($var24 >= 4) {
                    $var1.$minY = $var14;
                    $var1.$maxY = $var16;
                    return $var9;
                }
                $var6 = !$var24 ? var$12 : $var4;
                $var26 = $rt_compare($var24, 1);
                if (!$var26)
                    $var6 = $var6 + 1 | 0;
                $var27 = $rt_compare($var24, 2);
                var$14 = !$var27 ? var$15 : $var2;
                if ($var24 == 3)
                    var$14 = var$14 + 1 | 0;
                $var7 = $var24 + 2 | 0;
                $ptr = 26;
                continue main;
            }
            var$6 = $this.$blockAccess;
            $ptr = 16;
            continue main;
        case 26:
            $tmp = $var1.$getBlockTextureFromSideAndMetadata($var7, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var50 = $tmp;
            $var29 = ($var50 & 15) << 4;
            $var51 = $var50 & 240;
            if (!$this.$renderAllFaces && !$var8[$var24]) {
                $var24 = $var24 + 1 | 0;
                if ($var24 >= 4) {
                    $var1.$minY = $var14;
                    $var1.$maxY = $var16;
                    return $var9;
                }
                $var6 = !$var24 ? var$12 : $var4;
                $var26 = $rt_compare($var24, 1);
                if (!$var26)
                    $var6 = $var6 + 1 | 0;
                $var27 = $rt_compare($var24, 2);
                var$14 = !$var27 ? var$15 : $var2;
                if ($var24 == 3)
                    var$14 = var$14 + 1 | 0;
                $var7 = $var24 + 2 | 0;
                continue main;
            }
            if (!$var24) {
                $var25 = $var20;
                $var32 = $var23;
                $var33_1 = $var33;
                $var48 = $var33_0;
                $var10 = $var34;
                $var36 = $var34;
            } else if (!$var26) {
                $var25 = $var22;
                $var32 = $var21;
                $var33_1 = $var33_0;
                $var48 = $var33;
                $var10 = $var34_0;
                $var36 = $var34_0;
            } else if ($var27) {
                $var25 = $var23;
                $var32 = $var22;
                $var33_1 = $var33_0;
                $var48 = $var33_0;
                $var10 = $var34;
                $var36 = $var34_0;
            } else {
                $var25 = $var21;
                $var32 = $var20;
                $var33_1 = $var33;
                $var48 = $var33;
                $var10 = $var34_0;
                $var36 = $var34;
            }
            $var9 = 1;
            $var37 = ($var29 + 0 | 0) / 256.0;
            $var39 = (($var29 + 16 | 0) - 0.01) / 256.0;
            $var47 = $var51;
            $var41 = ($var47 + (1.0 - $var25) * 16.0) / 256.0;
            $var43 = ($var47 + (1.0 - $var32) * 16.0) / 256.0;
            $var45 = (($var51 + 16 | 0) - 0.01) / 256.0;
            var$6 = $this.$blockAccess;
            $ptr = 27;
        case 27:
            $tmp = $var1.$getBlockBrightness(var$6, var$14, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var47 = $tmp;
            $var47 = $var11 * ($var27 >= 0 ? $var47 * $var13 : $var47 * $var12);
            $ptr = 28;
        case 28:
            nms_Tessellator_setColorOpaque_F($var5, $var47, $var47, $var47);
            if ($rt_suspending()) {
                break main;
            }
            var$48 = $var33_1;
            $var28 = var$30 + $var25;
            var$43 = $var10;
            $ptr = 29;
        case 29:
            nms_Tessellator_addVertexWithUV($var5, var$48, $var28, var$43, $var37, $var41);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $var48;
            $var41 = var$30 + $var32;
            var$46 = $var36;
            $ptr = 30;
        case 30:
            nms_Tessellator_addVertexWithUV($var5, $var28, $var41, var$46, $var39, $var43);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 31;
        case 31:
            nms_Tessellator_addVertexWithUV($var5, $var28, var$31, var$46, $var39, $var45);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 32;
        case 32:
            nms_Tessellator_addVertexWithUV($var5, var$48, var$31, var$43, $var37, $var45);
            if ($rt_suspending()) {
                break main;
            }
            $var24 = $var24 + 1 | 0;
            if ($var24 >= 4) {
                $var1.$minY = $var14;
                $var1.$maxY = $var16;
                return $var9;
            }
            $var6 = !$var24 ? var$12 : $var4;
            $var26 = $rt_compare($var24, 1);
            if (!$var26)
                $var6 = $var6 + 1 | 0;
            $var27 = $rt_compare($var24, 2);
            var$14 = !$var27 ? var$15 : $var2;
            if ($var24 == 3)
                var$14 = var$14 + 1 | 0;
            $var7 = $var24 + 2 | 0;
            $ptr = 26;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, $var24, $var7, $var8, $var27, var$12, $var26, var$14, var$15, $var50, $var9, $var10, $var11, $var12, $var13, $var14, $var16, $var18, $var19, $var20, $var21, $var22, $var23, var$30, var$31, $var33, $var33_0, $var34, $var34_0, $var24_0, $var28, $var25, $var30, $var32, $var33_1, $var48, var$43, $var41, $var37, var$46, $var45, var$48, $var39, $var43, $var29, $var51, $var36, $var47, $ptr);
    }
    function nms_RenderBlocks_func_1224_a($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, $var7, var$8, $var8, $var10, $var11, $var12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = 0;
            $var6 = 0.0;
            $var7 = 0;
            var$8 = $var2 + 1 | 0;
            if ($var7 >= 4)
                return 1.0 - $var6 / $var5;
            $var8 = $var1 - ($var7 & 1) | 0;
            $var10 = $var3 - ($var7 >> 1 & 1) | 0;
            $var11 = $this.$blockAccess;
            $ptr = 1;
        case 1:
            $tmp = $var11.$getBlockMaterial($var8, var$8, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            if ($var11 === $var4)
                return 1.0;
            $var11 = $this.$blockAccess;
            $ptr = 2;
        case 2:
            $tmp = $var11.$getBlockMaterial($var8, $var2, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            if ($var11 === $var4) {
                $var11 = $this.$blockAccess;
                $ptr = 3;
                continue main;
            }
            if (!$var11.$isSolid()) {
                $var6 = $var6 + 1.0;
                $var5 = $var5 + 1 | 0;
            }
            $var7 = $var7 + 1 | 0;
            if ($var7 >= 4)
                return 1.0 - $var6 / $var5;
            $var8 = $var1 - ($var7 & 1) | 0;
            $var10 = $var3 - ($var7 >> 1 & 1) | 0;
            $var11 = $this.$blockAccess;
            $ptr = 1;
            continue main;
        case 3:
            $tmp = $var11.$getBlockMetadata($var8, $var2, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if (!($var12 < 8 && $var12)) {
                $var6 = $var6 + nms_BlockFluids_getPercentAir($var12) * 10.0;
                $var5 = $var5 + 10 | 0;
            }
            $var6 = $var6 + nms_BlockFluids_getPercentAir($var12);
            $var5 = $var5 + 1 | 0;
            $var7 = $var7 + 1 | 0;
            if ($var7 >= 4)
                return 1.0 - $var6 / $var5;
            $var8 = $var1 - ($var7 & 1) | 0;
            $var10 = $var3 - ($var7 >> 1 & 1) | 0;
            $var11 = $this.$blockAccess;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, $var8, $var10, $var11, $var12, $ptr);
    }
    function nms_RenderBlocks_renderStandardBlock($this, $var1, $var2, $var3, $var4) {
        var var$5, $var5, $var6, $var7, $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $this.$blockAccess;
            $ptr = 1;
        case 1:
            $tmp = $var1.$colorMultiplier(var$5, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = ($var5 >> 16 & 255) / 255.0;
            $var7 = ($var5 >> 8 & 255) / 255.0;
            $var8 = ($var5 & 255) / 255.0;
            var$5 = nmc_Minecraft_theMinecraft;
            if (!(var$5 !== null && var$5.$gameSettings.$ambientOcclusion ? 1 : 0)) {
                $ptr = 2;
                continue main;
            }
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_RenderBlocks_renderStandardBlockWithColorMultiplier($this, $var1, $var2, $var3, $var4, $var6, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        case 3:
            $tmp = nms_RenderBlocks_renderStandardBlockWithAmbientOcclusion($this, $var1, $var2, $var3, $var4, $var6, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $var5, $var6, $var7, $var8, $ptr);
    }
    function nms_RenderBlocks_renderStandardBlockWithAmbientOcclusion($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, $var13, $var15, $var16, $var17, $var18, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, var$25, var$26, var$27, var$28, var$29, var$30, var$31, var$32, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$32 = $thread.pop();var$31 = $thread.pop();var$30 = $thread.pop();var$29 = $thread.pop();var$28 = $thread.pop();var$27 = $thread.pop();var$26 = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16
            = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$enableAO = 1;
            $var8 = 0;
            $var13 = 1;
            $var15 = 1;
            $var16 = 1;
            $var17 = 1;
            $var18 = 1;
            var$14 = $this.$blockAccess;
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22384_f = var$15;
            var$14 = $this.$blockAccess;
            var$16 = $var2 - 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = $var1.$getBlockBrightness(var$14, var$16, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$aoLightValueXNeg = var$15;
            var$14 = $this.$blockAccess;
            var$17 = $var3 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, var$17, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$aoLightValueYNeg = var$15;
            var$14 = $this.$blockAccess;
            var$18 = $var4 - 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var3, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$aoLightValueZNeg = var$15;
            var$14 = $this.$blockAccess;
            var$19 = $var2 + 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = $var1.$getBlockBrightness(var$14, var$19, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$aoLightValueXPos = var$15;
            var$14 = $this.$blockAccess;
            var$20 = $var3 + 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, var$20, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$aoLightValueYPos = var$15;
            var$14 = $this.$blockAccess;
            var$21 = $var4 + 1 | 0;
            $ptr = 7;
        case 7:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var3, var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$aoLightValueZPos = var$15;
            var$22 = nms_Block_field_340_s.data;
            var$14 = $this.$blockAccess;
            $ptr = 8;
        case 8:
            $tmp = var$14.$getBlockId(var$19, var$20, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            $this.$field_22338_U = var$22[var$23];
            var$22 = nms_Block_field_340_s.data;
            var$14 = $this.$blockAccess;
            $ptr = 9;
        case 9:
            $tmp = var$14.$getBlockId(var$19, var$17, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            $this.$field_22359_ac = var$22[var$23];
            var$22 = nms_Block_field_340_s.data;
            var$14 = $this.$blockAccess;
            $ptr = 10;
        case 10:
            $tmp = var$14.$getBlockId(var$19, $var3, var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            $this.$field_22334_Y = var$22[var$23];
            var$22 = nms_Block_field_340_s.data;
            var$14 = $this.$blockAccess;
            $ptr = 11;
        case 11:
            $tmp = var$14.$getBlockId(var$19, $var3, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            $this.$field_22363_aa = var$22[var$23];
            var$22 = nms_Block_field_340_s.data;
            var$14 = $this.$blockAccess;
            $ptr = 12;
        case 12:
            $tmp = var$14.$getBlockId(var$16, var$20, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            $this.$field_22337_V = var$22[var$23];
            var$22 = nms_Block_field_340_s.data;
            var$14 = $this.$blockAccess;
            $ptr = 13;
        case 13:
            $tmp = var$14.$getBlockId(var$16, var$17, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            $this.$field_22357_ad = var$22[var$23];
            var$22 = nms_Block_field_340_s.data;
            var$14 = $this.$blockAccess;
            $ptr = 14;
        case 14:
            $tmp = var$14.$getBlockId(var$16, $var3, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            $this.$field_22335_X = var$22[var$23];
            var$22 = nms_Block_field_340_s.data;
            var$14 = $this.$blockAccess;
            $ptr = 15;
        case 15:
            $tmp = var$14.$getBlockId(var$16, $var3, var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            $this.$field_22333_Z = var$22[var$23];
            var$22 = nms_Block_field_340_s.data;
            var$14 = $this.$blockAccess;
            $ptr = 16;
        case 16:
            $tmp = var$14.$getBlockId($var2, var$20, var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            $this.$field_22336_W = var$22[var$23];
            var$22 = nms_Block_field_340_s.data;
            var$14 = $this.$blockAccess;
            $ptr = 17;
        case 17:
            $tmp = var$14.$getBlockId($var2, var$20, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            $this.$field_22339_T = var$22[var$23];
            var$22 = nms_Block_field_340_s.data;
            var$14 = $this.$blockAccess;
            $ptr = 18;
        case 18:
            $tmp = var$14.$getBlockId($var2, var$17, var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            $this.$field_22355_ae = var$22[var$23];
            var$22 = nms_Block_field_340_s.data;
            var$14 = $this.$blockAccess;
            $ptr = 19;
        case 19:
            $tmp = var$14.$getBlockId($var2, var$17, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            $this.$field_22361_ab = var$22[var$23];
            if ($var1.$blockIndexInTexture == 3) {
                $var13 = 0;
                $var18 = $var13;
                $var17 = $var13;
                $var16 = $var13;
                $var15 = $var13;
            }
            if (!$this.$renderAllFaces) {
                var$14 = $this.$blockAccess;
                var$23 = 0;
                $ptr = 20;
                continue main;
            }
            if ($this.$field_22352_G > 0) {
                $var3 = $var3 + (-1) | 0;
                var$14 = $this.$blockAccess;
                $ptr = 21;
                continue main;
            }
            var$15 = $this.$aoLightValueYNeg;
            var$24 = var$15;
            var$25 = var$15;
            var$26 = var$15;
            var$27 = (!$var13 ? 1.0 : $var5) * 0.5;
            $this.$colorRedTopRight = var$27;
            $this.$colorRedBottomRight = var$27;
            $this.$colorRedBottomLeft = var$27;
            $this.$colorRedTopLeft = var$27;
            var$28 = (!$var13 ? 1.0 : $var6) * 0.5;
            $this.$colorGreenTopRight = var$28;
            $this.$colorGreenBottomRight = var$28;
            $this.$colorGreenBottomLeft = var$28;
            $this.$colorGreenTopLeft = var$28;
            var$29 = (!$var13 ? 1.0 : $var7) * 0.5;
            $this.$colorBlueTopRight = var$29;
            $this.$colorBlueBottomRight = var$29;
            $this.$colorBlueBottomLeft = var$29;
            $this.$colorBlueTopLeft = var$29;
            $this.$colorRedTopLeft = var$27 * var$15;
            $this.$colorGreenTopLeft = var$28 * var$15;
            $this.$colorBlueTopLeft = var$29 * var$15;
            $this.$colorRedBottomLeft = var$27 * var$26;
            $this.$colorGreenBottomLeft = var$28 * var$26;
            $this.$colorBlueBottomLeft = var$29 * var$26;
            $this.$colorRedBottomRight = var$27 * var$25;
            $this.$colorGreenBottomRight = var$28 * var$25;
            $this.$colorBlueBottomRight = var$29 * var$25;
            $this.$colorRedTopRight = var$27 * var$24;
            $this.$colorGreenTopRight = var$28 * var$24;
            $this.$colorBlueTopRight = var$29 * var$24;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 0;
            $ptr = 43;
            continue main;
        case 20:
            $tmp = $var1.$shouldSideBeRendered(var$14, $var2, var$17, $var4, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            if (!var$23) {
                if (!$this.$renderAllFaces) {
                    var$14 = $this.$blockAccess;
                    var$23 = $var3 + 1 | 0;
                    $var13 = 1;
                    $ptr = 26;
                    continue main;
                }
                if ($this.$field_22352_G > 0) {
                    $var3 = $var3 + 1 | 0;
                    var$14 = $this.$blockAccess;
                    $ptr = 28;
                    continue main;
                }
                var$24 = $this.$aoLightValueYPos;
                var$15 = var$24;
                var$26 = var$24;
                var$25 = var$24;
                $this.$colorRedTopRight = $var5;
                $this.$colorRedBottomRight = $var5;
                $this.$colorRedBottomLeft = $var5;
                $this.$colorRedTopLeft = $var5;
                $this.$colorGreenTopRight = $var6;
                $this.$colorGreenBottomRight = $var6;
                $this.$colorGreenBottomLeft = $var6;
                $this.$colorGreenTopLeft = $var6;
                $this.$colorBlueTopRight = $var7;
                $this.$colorBlueBottomRight = $var7;
                $this.$colorBlueBottomLeft = $var7;
                $this.$colorBlueTopLeft = $var7;
                $this.$colorRedTopLeft = $var5 * var$24;
                $this.$colorGreenTopLeft = $var6 * var$24;
                $this.$colorBlueTopLeft = $var7 * var$24;
                $this.$colorRedBottomLeft = $var5 * var$25;
                $this.$colorGreenBottomLeft = $var6 * var$25;
                $this.$colorBlueBottomLeft = $var7 * var$25;
                $this.$colorRedBottomRight = $var5 * var$26;
                $this.$colorGreenBottomRight = $var6 * var$26;
                $this.$colorBlueBottomRight = $var7 * var$26;
                $this.$colorRedTopRight = $var5 * var$15;
                $this.$colorGreenTopRight = $var6 * var$15;
                $this.$colorBlueTopRight = $var7 * var$15;
                var$30 = $var2;
                var$31 = $var3;
                var$32 = $var4;
                var$14 = $this.$blockAccess;
                var$23 = 1;
                $ptr = 33;
                continue main;
            }
            if ($this.$field_22352_G > 0) {
                $var3 = $var3 + (-1) | 0;
                var$14 = $this.$blockAccess;
                $ptr = 21;
                continue main;
            }
            var$15 = $this.$aoLightValueYNeg;
            var$24 = var$15;
            var$25 = var$15;
            var$26 = var$15;
            var$27 = (!$var13 ? 1.0 : $var5) * 0.5;
            $this.$colorRedTopRight = var$27;
            $this.$colorRedBottomRight = var$27;
            $this.$colorRedBottomLeft = var$27;
            $this.$colorRedTopLeft = var$27;
            var$28 = (!$var13 ? 1.0 : $var6) * 0.5;
            $this.$colorGreenTopRight = var$28;
            $this.$colorGreenBottomRight = var$28;
            $this.$colorGreenBottomLeft = var$28;
            $this.$colorGreenTopLeft = var$28;
            var$29 = (!$var13 ? 1.0 : $var7) * 0.5;
            $this.$colorBlueTopRight = var$29;
            $this.$colorBlueBottomRight = var$29;
            $this.$colorBlueBottomLeft = var$29;
            $this.$colorBlueTopLeft = var$29;
            $this.$colorRedTopLeft = var$27 * var$15;
            $this.$colorGreenTopLeft = var$28 * var$15;
            $this.$colorBlueTopLeft = var$29 * var$15;
            $this.$colorRedBottomLeft = var$27 * var$26;
            $this.$colorGreenBottomLeft = var$28 * var$26;
            $this.$colorBlueBottomLeft = var$29 * var$26;
            $this.$colorRedBottomRight = var$27 * var$25;
            $this.$colorGreenBottomRight = var$28 * var$25;
            $this.$colorBlueBottomRight = var$29 * var$25;
            $this.$colorRedTopRight = var$27 * var$24;
            $this.$colorGreenTopRight = var$28 * var$24;
            $this.$colorBlueTopRight = var$29 * var$24;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 0;
            $ptr = 43;
            continue main;
        case 21:
            $tmp = $var1.$getBlockBrightness(var$14, var$16, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22376_n = var$15;
            var$14 = $this.$blockAccess;
            $ptr = 22;
        case 22:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var3, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22374_p = var$15;
            var$14 = $this.$blockAccess;
            $ptr = 23;
        case 23:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var3, var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22373_q = var$15;
            var$14 = $this.$blockAccess;
            $ptr = 24;
        case 24:
            $tmp = $var1.$getBlockBrightness(var$14, var$19, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22371_s = var$15;
            if (!$this.$field_22361_ab && !$this.$field_22357_ad) {
                $this.$field_22377_m = $this.$field_22376_n;
                if (!$this.$field_22355_ae && !$this.$field_22357_ad) {
                    $this.$field_22375_o = $this.$field_22376_n;
                    if (!$this.$field_22361_ab && !$this.$field_22359_ac) {
                        $this.$field_22372_r = $this.$field_22371_s;
                        if (!$this.$field_22355_ae && !$this.$field_22359_ac) {
                            $this.$field_22370_t = $this.$field_22371_s;
                            $var3 = $var3 + 1 | 0;
                            var$15 = $this.$field_22375_o;
                            var$26 = $this.$field_22376_n;
                            var$15 = var$15 + var$26;
                            var$24 = $this.$field_22373_q;
                            var$15 = var$15 + var$24;
                            var$27 = $this.$aoLightValueYNeg;
                            var$15 = (var$15 + var$27) / 4.0;
                            var$24 = var$24 + var$27 + $this.$field_22370_t;
                            var$25 = $this.$field_22371_s;
                            var$24 = (var$24 + var$25) / 4.0;
                            var$28 = $this.$field_22374_p;
                            var$25 = (var$27 + var$28 + var$25 + $this.$field_22372_r) / 4.0;
                            var$26 = (var$26 + $this.$field_22377_m + var$27 + var$28) / 4.0;
                            var$27 = (!$var13 ? 1.0 : $var5) * 0.5;
                            $this.$colorRedTopRight = var$27;
                            $this.$colorRedBottomRight = var$27;
                            $this.$colorRedBottomLeft = var$27;
                            $this.$colorRedTopLeft = var$27;
                            var$28 = (!$var13 ? 1.0 : $var6) * 0.5;
                            $this.$colorGreenTopRight = var$28;
                            $this.$colorGreenBottomRight = var$28;
                            $this.$colorGreenBottomLeft = var$28;
                            $this.$colorGreenTopLeft = var$28;
                            var$29 = (!$var13 ? 1.0 : $var7) * 0.5;
                            $this.$colorBlueTopRight = var$29;
                            $this.$colorBlueBottomRight = var$29;
                            $this.$colorBlueBottomLeft = var$29;
                            $this.$colorBlueTopLeft = var$29;
                            $this.$colorRedTopLeft = var$27 * var$15;
                            $this.$colorGreenTopLeft = var$28 * var$15;
                            $this.$colorBlueTopLeft = var$29 * var$15;
                            $this.$colorRedBottomLeft = var$27 * var$26;
                            $this.$colorGreenBottomLeft = var$28 * var$26;
                            $this.$colorBlueBottomLeft = var$29 * var$26;
                            $this.$colorRedBottomRight = var$27 * var$25;
                            $this.$colorGreenBottomRight = var$28 * var$25;
                            $this.$colorBlueBottomRight = var$29 * var$25;
                            $this.$colorRedTopRight = var$27 * var$24;
                            $this.$colorGreenTopRight = var$28 * var$24;
                            $this.$colorBlueTopRight = var$29 * var$24;
                            var$30 = $var2;
                            var$31 = $var3;
                            var$32 = $var4;
                            var$14 = $this.$blockAccess;
                            var$23 = 0;
                            $ptr = 43;
                            continue main;
                        }
                        var$14 = $this.$blockAccess;
                        $ptr = 42;
                        continue main;
                    }
                    var$14 = $this.$blockAccess;
                    $ptr = 35;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 27;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 25;
        case 25:
            $tmp = $var1.$getBlockBrightness(var$14, var$16, $var3, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22377_m = var$15;
            if (!$this.$field_22355_ae && !$this.$field_22357_ad) {
                $this.$field_22375_o = $this.$field_22376_n;
                if (!$this.$field_22361_ab && !$this.$field_22359_ac) {
                    $this.$field_22372_r = $this.$field_22371_s;
                    if (!$this.$field_22355_ae && !$this.$field_22359_ac) {
                        $this.$field_22370_t = $this.$field_22371_s;
                        $var3 = $var3 + 1 | 0;
                        var$15 = $this.$field_22375_o;
                        var$26 = $this.$field_22376_n;
                        var$15 = var$15 + var$26;
                        var$24 = $this.$field_22373_q;
                        var$15 = var$15 + var$24;
                        var$27 = $this.$aoLightValueYNeg;
                        var$15 = (var$15 + var$27) / 4.0;
                        var$24 = var$24 + var$27 + $this.$field_22370_t;
                        var$25 = $this.$field_22371_s;
                        var$24 = (var$24 + var$25) / 4.0;
                        var$28 = $this.$field_22374_p;
                        var$25 = (var$27 + var$28 + var$25 + $this.$field_22372_r) / 4.0;
                        var$26 = (var$26 + $this.$field_22377_m + var$27 + var$28) / 4.0;
                        var$27 = (!$var13 ? 1.0 : $var5) * 0.5;
                        $this.$colorRedTopRight = var$27;
                        $this.$colorRedBottomRight = var$27;
                        $this.$colorRedBottomLeft = var$27;
                        $this.$colorRedTopLeft = var$27;
                        var$28 = (!$var13 ? 1.0 : $var6) * 0.5;
                        $this.$colorGreenTopRight = var$28;
                        $this.$colorGreenBottomRight = var$28;
                        $this.$colorGreenBottomLeft = var$28;
                        $this.$colorGreenTopLeft = var$28;
                        var$29 = (!$var13 ? 1.0 : $var7) * 0.5;
                        $this.$colorBlueTopRight = var$29;
                        $this.$colorBlueBottomRight = var$29;
                        $this.$colorBlueBottomLeft = var$29;
                        $this.$colorBlueTopLeft = var$29;
                        $this.$colorRedTopLeft = var$27 * var$15;
                        $this.$colorGreenTopLeft = var$28 * var$15;
                        $this.$colorBlueTopLeft = var$29 * var$15;
                        $this.$colorRedBottomLeft = var$27 * var$26;
                        $this.$colorGreenBottomLeft = var$28 * var$26;
                        $this.$colorBlueBottomLeft = var$29 * var$26;
                        $this.$colorRedBottomRight = var$27 * var$25;
                        $this.$colorGreenBottomRight = var$28 * var$25;
                        $this.$colorBlueBottomRight = var$29 * var$25;
                        $this.$colorRedTopRight = var$27 * var$24;
                        $this.$colorGreenTopRight = var$28 * var$24;
                        $this.$colorBlueTopRight = var$29 * var$24;
                        var$30 = $var2;
                        var$31 = $var3;
                        var$32 = $var4;
                        var$14 = $this.$blockAccess;
                        var$23 = 0;
                        $ptr = 43;
                        continue main;
                    }
                    var$14 = $this.$blockAccess;
                    $ptr = 42;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 35;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 27;
            continue main;
        case 26:
            $tmp = $var1.$shouldSideBeRendered(var$14, $var2, var$23, $var4, $var13);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            if (var$23) {
                if ($this.$field_22352_G > 0) {
                    $var3 = $var3 + 1 | 0;
                    var$14 = $this.$blockAccess;
                    $ptr = 28;
                    continue main;
                }
                var$24 = $this.$aoLightValueYPos;
                var$15 = var$24;
                var$26 = var$24;
                var$25 = var$24;
                $this.$colorRedTopRight = $var5;
                $this.$colorRedBottomRight = $var5;
                $this.$colorRedBottomLeft = $var5;
                $this.$colorRedTopLeft = $var5;
                $this.$colorGreenTopRight = $var6;
                $this.$colorGreenBottomRight = $var6;
                $this.$colorGreenBottomLeft = $var6;
                $this.$colorGreenTopLeft = $var6;
                $this.$colorBlueTopRight = $var7;
                $this.$colorBlueBottomRight = $var7;
                $this.$colorBlueBottomLeft = $var7;
                $this.$colorBlueTopLeft = $var7;
                $this.$colorRedTopLeft = $var5 * var$24;
                $this.$colorGreenTopLeft = $var6 * var$24;
                $this.$colorBlueTopLeft = $var7 * var$24;
                $this.$colorRedBottomLeft = $var5 * var$25;
                $this.$colorGreenBottomLeft = $var6 * var$25;
                $this.$colorBlueBottomLeft = $var7 * var$25;
                $this.$colorRedBottomRight = $var5 * var$26;
                $this.$colorGreenBottomRight = $var6 * var$26;
                $this.$colorBlueBottomRight = $var7 * var$26;
                $this.$colorRedTopRight = $var5 * var$15;
                $this.$colorGreenTopRight = $var6 * var$15;
                $this.$colorBlueTopRight = $var7 * var$15;
                var$30 = $var2;
                var$31 = $var3;
                var$32 = $var4;
                var$14 = $this.$blockAccess;
                var$23 = 1;
                $ptr = 33;
                continue main;
            }
            if (!$this.$renderAllFaces) {
                var$14 = $this.$blockAccess;
                var$23 = 2;
                $ptr = 36;
                continue main;
            }
            if ($this.$field_22352_G > 0) {
                $var4 = $var4 + (-1) | 0;
                var$14 = $this.$blockAccess;
                $ptr = 38;
                continue main;
            }
            var$26 = $this.$aoLightValueZNeg;
            var$15 = var$26;
            var$25 = var$26;
            var$27 = var$26;
            var$24 = (!$var15 ? 1.0 : $var5) * 0.800000011920929;
            $this.$colorRedTopRight = var$24;
            $this.$colorRedBottomRight = var$24;
            $this.$colorRedBottomLeft = var$24;
            $this.$colorRedTopLeft = var$24;
            var$28 = (!$var15 ? 1.0 : $var6) * 0.800000011920929;
            $this.$colorGreenTopRight = var$28;
            $this.$colorGreenBottomRight = var$28;
            $this.$colorGreenBottomLeft = var$28;
            $this.$colorGreenTopLeft = var$28;
            var$29 = (!$var15 ? 1.0 : $var7) * 0.800000011920929;
            $this.$colorBlueTopRight = var$29;
            $this.$colorBlueBottomRight = var$29;
            $this.$colorBlueBottomLeft = var$29;
            $this.$colorBlueTopLeft = var$29;
            $this.$colorRedTopLeft = var$24 * var$26;
            $this.$colorGreenTopLeft = var$28 * var$26;
            $this.$colorBlueTopLeft = var$29 * var$26;
            $this.$colorRedBottomLeft = var$24 * var$27;
            $this.$colorGreenBottomLeft = var$28 * var$27;
            $this.$colorBlueBottomLeft = var$29 * var$27;
            $this.$colorRedBottomRight = var$24 * var$25;
            $this.$colorGreenBottomRight = var$28 * var$25;
            $this.$colorBlueBottomRight = var$29 * var$25;
            $this.$colorRedTopRight = var$24 * var$15;
            $this.$colorGreenTopRight = var$28 * var$15;
            $this.$colorBlueTopRight = var$29 * var$15;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 2;
            $ptr = 63;
            continue main;
        case 27:
            $tmp = $var1.$getBlockBrightness(var$14, var$16, $var3, var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22375_o = var$15;
            if (!$this.$field_22361_ab && !$this.$field_22359_ac) {
                $this.$field_22372_r = $this.$field_22371_s;
                if (!$this.$field_22355_ae && !$this.$field_22359_ac) {
                    $this.$field_22370_t = $this.$field_22371_s;
                    $var3 = $var3 + 1 | 0;
                    var$15 = $this.$field_22375_o;
                    var$26 = $this.$field_22376_n;
                    var$15 = var$15 + var$26;
                    var$24 = $this.$field_22373_q;
                    var$15 = var$15 + var$24;
                    var$27 = $this.$aoLightValueYNeg;
                    var$15 = (var$15 + var$27) / 4.0;
                    var$24 = var$24 + var$27 + $this.$field_22370_t;
                    var$25 = $this.$field_22371_s;
                    var$24 = (var$24 + var$25) / 4.0;
                    var$28 = $this.$field_22374_p;
                    var$25 = (var$27 + var$28 + var$25 + $this.$field_22372_r) / 4.0;
                    var$26 = (var$26 + $this.$field_22377_m + var$27 + var$28) / 4.0;
                    var$27 = (!$var13 ? 1.0 : $var5) * 0.5;
                    $this.$colorRedTopRight = var$27;
                    $this.$colorRedBottomRight = var$27;
                    $this.$colorRedBottomLeft = var$27;
                    $this.$colorRedTopLeft = var$27;
                    var$28 = (!$var13 ? 1.0 : $var6) * 0.5;
                    $this.$colorGreenTopRight = var$28;
                    $this.$colorGreenBottomRight = var$28;
                    $this.$colorGreenBottomLeft = var$28;
                    $this.$colorGreenTopLeft = var$28;
                    var$29 = (!$var13 ? 1.0 : $var7) * 0.5;
                    $this.$colorBlueTopRight = var$29;
                    $this.$colorBlueBottomRight = var$29;
                    $this.$colorBlueBottomLeft = var$29;
                    $this.$colorBlueTopLeft = var$29;
                    $this.$colorRedTopLeft = var$27 * var$15;
                    $this.$colorGreenTopLeft = var$28 * var$15;
                    $this.$colorBlueTopLeft = var$29 * var$15;
                    $this.$colorRedBottomLeft = var$27 * var$26;
                    $this.$colorGreenBottomLeft = var$28 * var$26;
                    $this.$colorBlueBottomLeft = var$29 * var$26;
                    $this.$colorRedBottomRight = var$27 * var$25;
                    $this.$colorGreenBottomRight = var$28 * var$25;
                    $this.$colorBlueBottomRight = var$29 * var$25;
                    $this.$colorRedTopRight = var$27 * var$24;
                    $this.$colorGreenTopRight = var$28 * var$24;
                    $this.$colorBlueTopRight = var$29 * var$24;
                    var$30 = $var2;
                    var$31 = $var3;
                    var$32 = $var4;
                    var$14 = $this.$blockAccess;
                    var$23 = 0;
                    $ptr = 43;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 42;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 35;
            continue main;
        case 28:
            $tmp = $var1.$getBlockBrightness(var$14, var$16, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22368_v = var$15;
            var$14 = $this.$blockAccess;
            $ptr = 29;
        case 29:
            $tmp = $var1.$getBlockBrightness(var$14, var$19, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22364_z = var$15;
            var$14 = $this.$blockAccess;
            $ptr = 30;
        case 30:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var3, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22366_x = var$15;
            var$14 = $this.$blockAccess;
            $ptr = 31;
        case 31:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var3, var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22362_A = var$15;
            if (!$this.$field_22339_T && !$this.$field_22337_V) {
                $this.$field_22369_u = $this.$field_22368_v;
                if (!$this.$field_22339_T && !$this.$field_22338_U) {
                    $this.$field_22365_y = $this.$field_22364_z;
                    if (!$this.$field_22336_W && !$this.$field_22337_V) {
                        $this.$field_22367_w = $this.$field_22368_v;
                        if (!$this.$field_22336_W && !$this.$field_22338_U) {
                            $this.$field_22360_B = $this.$field_22364_z;
                            $var3 = $var3 + (-1) | 0;
                            var$15 = $this.$field_22367_w;
                            var$26 = $this.$field_22368_v;
                            var$15 = var$15 + var$26;
                            var$24 = $this.$field_22362_A;
                            var$15 = var$15 + var$24;
                            var$27 = $this.$aoLightValueYPos;
                            var$15 = (var$15 + var$27) / 4.0;
                            var$24 = var$24 + var$27 + $this.$field_22360_B;
                            var$25 = $this.$field_22364_z;
                            var$24 = (var$24 + var$25) / 4.0;
                            var$28 = $this.$field_22366_x;
                            var$25 = (var$27 + var$28 + var$25 + $this.$field_22365_y) / 4.0;
                            var$26 = (var$26 + $this.$field_22369_u + var$27 + var$28) / 4.0;
                            $this.$colorRedTopRight = $var5;
                            $this.$colorRedBottomRight = $var5;
                            $this.$colorRedBottomLeft = $var5;
                            $this.$colorRedTopLeft = $var5;
                            $this.$colorGreenTopRight = $var6;
                            $this.$colorGreenBottomRight = $var6;
                            $this.$colorGreenBottomLeft = $var6;
                            $this.$colorGreenTopLeft = $var6;
                            $this.$colorBlueTopRight = $var7;
                            $this.$colorBlueBottomRight = $var7;
                            $this.$colorBlueBottomLeft = $var7;
                            $this.$colorBlueTopLeft = $var7;
                            $this.$colorRedTopLeft = $var5 * var$24;
                            $this.$colorGreenTopLeft = $var6 * var$24;
                            $this.$colorBlueTopLeft = $var7 * var$24;
                            $this.$colorRedBottomLeft = $var5 * var$25;
                            $this.$colorGreenBottomLeft = $var6 * var$25;
                            $this.$colorBlueBottomLeft = $var7 * var$25;
                            $this.$colorRedBottomRight = $var5 * var$26;
                            $this.$colorGreenBottomRight = $var6 * var$26;
                            $this.$colorBlueBottomRight = $var7 * var$26;
                            $this.$colorRedTopRight = $var5 * var$15;
                            $this.$colorGreenTopRight = $var6 * var$15;
                            $this.$colorBlueTopRight = $var7 * var$15;
                            var$30 = $var2;
                            var$31 = $var3;
                            var$32 = $var4;
                            var$14 = $this.$blockAccess;
                            var$23 = 1;
                            $ptr = 33;
                            continue main;
                        }
                        var$14 = $this.$blockAccess;
                        $ptr = 53;
                        continue main;
                    }
                    var$14 = $this.$blockAccess;
                    $ptr = 46;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 37;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 32;
        case 32:
            $tmp = $var1.$getBlockBrightness(var$14, var$16, $var3, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22369_u = var$15;
            if (!$this.$field_22339_T && !$this.$field_22338_U) {
                $this.$field_22365_y = $this.$field_22364_z;
                if (!$this.$field_22336_W && !$this.$field_22337_V) {
                    $this.$field_22367_w = $this.$field_22368_v;
                    if (!$this.$field_22336_W && !$this.$field_22338_U) {
                        $this.$field_22360_B = $this.$field_22364_z;
                        $var3 = $var3 + (-1) | 0;
                        var$15 = $this.$field_22367_w;
                        var$26 = $this.$field_22368_v;
                        var$15 = var$15 + var$26;
                        var$24 = $this.$field_22362_A;
                        var$15 = var$15 + var$24;
                        var$27 = $this.$aoLightValueYPos;
                        var$15 = (var$15 + var$27) / 4.0;
                        var$24 = var$24 + var$27 + $this.$field_22360_B;
                        var$25 = $this.$field_22364_z;
                        var$24 = (var$24 + var$25) / 4.0;
                        var$28 = $this.$field_22366_x;
                        var$25 = (var$27 + var$28 + var$25 + $this.$field_22365_y) / 4.0;
                        var$26 = (var$26 + $this.$field_22369_u + var$27 + var$28) / 4.0;
                        $this.$colorRedTopRight = $var5;
                        $this.$colorRedBottomRight = $var5;
                        $this.$colorRedBottomLeft = $var5;
                        $this.$colorRedTopLeft = $var5;
                        $this.$colorGreenTopRight = $var6;
                        $this.$colorGreenBottomRight = $var6;
                        $this.$colorGreenBottomLeft = $var6;
                        $this.$colorGreenTopLeft = $var6;
                        $this.$colorBlueTopRight = $var7;
                        $this.$colorBlueBottomRight = $var7;
                        $this.$colorBlueBottomLeft = $var7;
                        $this.$colorBlueTopLeft = $var7;
                        $this.$colorRedTopLeft = $var5 * var$24;
                        $this.$colorGreenTopLeft = $var6 * var$24;
                        $this.$colorBlueTopLeft = $var7 * var$24;
                        $this.$colorRedBottomLeft = $var5 * var$25;
                        $this.$colorGreenBottomLeft = $var6 * var$25;
                        $this.$colorBlueBottomLeft = $var7 * var$25;
                        $this.$colorRedBottomRight = $var5 * var$26;
                        $this.$colorGreenBottomRight = $var6 * var$26;
                        $this.$colorBlueBottomRight = $var7 * var$26;
                        $this.$colorRedTopRight = $var5 * var$15;
                        $this.$colorGreenTopRight = $var6 * var$15;
                        $this.$colorBlueTopRight = $var7 * var$15;
                        var$30 = $var2;
                        var$31 = $var3;
                        var$32 = $var4;
                        var$14 = $this.$blockAccess;
                        var$23 = 1;
                        $ptr = 33;
                        continue main;
                    }
                    var$14 = $this.$blockAccess;
                    $ptr = 53;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 46;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 37;
            continue main;
        case 33:
            $tmp = $var1.$getBlockTexture(var$14, $var2, $var3, $var4, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            $ptr = 34;
        case 34:
            nms_RenderBlocks_renderTopFace($this, $var1, var$30, var$31, var$32, var$23);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 1;
            if (!$this.$renderAllFaces) {
                var$14 = $this.$blockAccess;
                var$23 = 2;
                $ptr = 36;
                continue main;
            }
            if ($this.$field_22352_G > 0) {
                $var4 = $var4 + (-1) | 0;
                var$14 = $this.$blockAccess;
                $ptr = 38;
                continue main;
            }
            var$26 = $this.$aoLightValueZNeg;
            var$15 = var$26;
            var$25 = var$26;
            var$27 = var$26;
            var$24 = (!$var15 ? 1.0 : $var5) * 0.800000011920929;
            $this.$colorRedTopRight = var$24;
            $this.$colorRedBottomRight = var$24;
            $this.$colorRedBottomLeft = var$24;
            $this.$colorRedTopLeft = var$24;
            var$28 = (!$var15 ? 1.0 : $var6) * 0.800000011920929;
            $this.$colorGreenTopRight = var$28;
            $this.$colorGreenBottomRight = var$28;
            $this.$colorGreenBottomLeft = var$28;
            $this.$colorGreenTopLeft = var$28;
            var$29 = (!$var15 ? 1.0 : $var7) * 0.800000011920929;
            $this.$colorBlueTopRight = var$29;
            $this.$colorBlueBottomRight = var$29;
            $this.$colorBlueBottomLeft = var$29;
            $this.$colorBlueTopLeft = var$29;
            $this.$colorRedTopLeft = var$24 * var$26;
            $this.$colorGreenTopLeft = var$28 * var$26;
            $this.$colorBlueTopLeft = var$29 * var$26;
            $this.$colorRedBottomLeft = var$24 * var$27;
            $this.$colorGreenBottomLeft = var$28 * var$27;
            $this.$colorBlueBottomLeft = var$29 * var$27;
            $this.$colorRedBottomRight = var$24 * var$25;
            $this.$colorGreenBottomRight = var$28 * var$25;
            $this.$colorBlueBottomRight = var$29 * var$25;
            $this.$colorRedTopRight = var$24 * var$15;
            $this.$colorGreenTopRight = var$28 * var$15;
            $this.$colorBlueTopRight = var$29 * var$15;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 2;
            $ptr = 63;
            continue main;
        case 35:
            $tmp = $var1.$getBlockBrightness(var$14, var$19, $var3, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22372_r = var$15;
            if (!$this.$field_22355_ae && !$this.$field_22359_ac) {
                $this.$field_22370_t = $this.$field_22371_s;
                $var3 = $var3 + 1 | 0;
                var$15 = $this.$field_22375_o;
                var$26 = $this.$field_22376_n;
                var$15 = var$15 + var$26;
                var$24 = $this.$field_22373_q;
                var$15 = var$15 + var$24;
                var$27 = $this.$aoLightValueYNeg;
                var$15 = (var$15 + var$27) / 4.0;
                var$24 = var$24 + var$27 + $this.$field_22370_t;
                var$25 = $this.$field_22371_s;
                var$24 = (var$24 + var$25) / 4.0;
                var$28 = $this.$field_22374_p;
                var$25 = (var$27 + var$28 + var$25 + $this.$field_22372_r) / 4.0;
                var$26 = (var$26 + $this.$field_22377_m + var$27 + var$28) / 4.0;
                var$27 = (!$var13 ? 1.0 : $var5) * 0.5;
                $this.$colorRedTopRight = var$27;
                $this.$colorRedBottomRight = var$27;
                $this.$colorRedBottomLeft = var$27;
                $this.$colorRedTopLeft = var$27;
                var$28 = (!$var13 ? 1.0 : $var6) * 0.5;
                $this.$colorGreenTopRight = var$28;
                $this.$colorGreenBottomRight = var$28;
                $this.$colorGreenBottomLeft = var$28;
                $this.$colorGreenTopLeft = var$28;
                var$29 = (!$var13 ? 1.0 : $var7) * 0.5;
                $this.$colorBlueTopRight = var$29;
                $this.$colorBlueBottomRight = var$29;
                $this.$colorBlueBottomLeft = var$29;
                $this.$colorBlueTopLeft = var$29;
                $this.$colorRedTopLeft = var$27 * var$15;
                $this.$colorGreenTopLeft = var$28 * var$15;
                $this.$colorBlueTopLeft = var$29 * var$15;
                $this.$colorRedBottomLeft = var$27 * var$26;
                $this.$colorGreenBottomLeft = var$28 * var$26;
                $this.$colorBlueBottomLeft = var$29 * var$26;
                $this.$colorRedBottomRight = var$27 * var$25;
                $this.$colorGreenBottomRight = var$28 * var$25;
                $this.$colorBlueBottomRight = var$29 * var$25;
                $this.$colorRedTopRight = var$27 * var$24;
                $this.$colorGreenTopRight = var$28 * var$24;
                $this.$colorBlueTopRight = var$29 * var$24;
                var$30 = $var2;
                var$31 = $var3;
                var$32 = $var4;
                var$14 = $this.$blockAccess;
                var$23 = 0;
                $ptr = 43;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 42;
            continue main;
        case 36:
            $tmp = $var1.$shouldSideBeRendered(var$14, $var2, $var3, var$18, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            if (var$23) {
                if ($this.$field_22352_G > 0) {
                    $var4 = $var4 + (-1) | 0;
                    var$14 = $this.$blockAccess;
                    $ptr = 38;
                    continue main;
                }
                var$26 = $this.$aoLightValueZNeg;
                var$15 = var$26;
                var$25 = var$26;
                var$27 = var$26;
                var$24 = (!$var15 ? 1.0 : $var5) * 0.800000011920929;
                $this.$colorRedTopRight = var$24;
                $this.$colorRedBottomRight = var$24;
                $this.$colorRedBottomLeft = var$24;
                $this.$colorRedTopLeft = var$24;
                var$28 = (!$var15 ? 1.0 : $var6) * 0.800000011920929;
                $this.$colorGreenTopRight = var$28;
                $this.$colorGreenBottomRight = var$28;
                $this.$colorGreenBottomLeft = var$28;
                $this.$colorGreenTopLeft = var$28;
                var$29 = (!$var15 ? 1.0 : $var7) * 0.800000011920929;
                $this.$colorBlueTopRight = var$29;
                $this.$colorBlueBottomRight = var$29;
                $this.$colorBlueBottomLeft = var$29;
                $this.$colorBlueTopLeft = var$29;
                $this.$colorRedTopLeft = var$24 * var$26;
                $this.$colorGreenTopLeft = var$28 * var$26;
                $this.$colorBlueTopLeft = var$29 * var$26;
                $this.$colorRedBottomLeft = var$24 * var$27;
                $this.$colorGreenBottomLeft = var$28 * var$27;
                $this.$colorBlueBottomLeft = var$29 * var$27;
                $this.$colorRedBottomRight = var$24 * var$25;
                $this.$colorGreenBottomRight = var$28 * var$25;
                $this.$colorBlueBottomRight = var$29 * var$25;
                $this.$colorRedTopRight = var$24 * var$15;
                $this.$colorGreenTopRight = var$28 * var$15;
                $this.$colorBlueTopRight = var$29 * var$15;
                var$30 = $var2;
                var$31 = $var3;
                var$32 = $var4;
                var$14 = $this.$blockAccess;
                var$23 = 2;
                $ptr = 63;
                continue main;
            }
            if (!$this.$renderAllFaces) {
                var$14 = $this.$blockAccess;
                var$23 = $var4 + 1 | 0;
                $var13 = 3;
                $ptr = 47;
                continue main;
            }
            if ($this.$field_22352_G > 0) {
                var$23 = $var4 + 1 | 0;
                var$14 = $this.$blockAccess;
                $ptr = 49;
                continue main;
            }
            var$26 = $this.$aoLightValueZPos;
            var$27 = var$26;
            var$25 = var$26;
            var$15 = var$26;
            var$24 = (!$var16 ? 1.0 : $var5) * 0.800000011920929;
            $this.$colorRedTopRight = var$24;
            $this.$colorRedBottomRight = var$24;
            $this.$colorRedBottomLeft = var$24;
            $this.$colorRedTopLeft = var$24;
            var$28 = (!$var16 ? 1.0 : $var6) * 0.800000011920929;
            $this.$colorGreenTopRight = var$28;
            $this.$colorGreenBottomRight = var$28;
            $this.$colorGreenBottomLeft = var$28;
            $this.$colorGreenTopLeft = var$28;
            var$29 = (!$var16 ? 1.0 : $var7) * 0.800000011920929;
            $this.$colorBlueTopRight = var$29;
            $this.$colorBlueBottomRight = var$29;
            $this.$colorBlueBottomLeft = var$29;
            $this.$colorBlueTopLeft = var$29;
            $this.$colorRedTopLeft = var$24 * var$26;
            $this.$colorGreenTopLeft = var$28 * var$26;
            $this.$colorBlueTopLeft = var$29 * var$26;
            $this.$colorRedBottomLeft = var$24 * var$15;
            $this.$colorGreenBottomLeft = var$28 * var$15;
            $this.$colorBlueBottomLeft = var$29 * var$15;
            $this.$colorRedBottomRight = var$24 * var$25;
            $this.$colorGreenBottomRight = var$28 * var$25;
            $this.$colorBlueBottomRight = var$29 * var$25;
            $this.$colorRedTopRight = var$24 * var$27;
            $this.$colorGreenTopRight = var$28 * var$27;
            $this.$colorBlueTopRight = var$29 * var$27;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 3;
            $ptr = 74;
            continue main;
        case 37:
            $tmp = $var1.$getBlockBrightness(var$14, var$19, $var3, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22365_y = var$15;
            if (!$this.$field_22336_W && !$this.$field_22337_V) {
                $this.$field_22367_w = $this.$field_22368_v;
                if (!$this.$field_22336_W && !$this.$field_22338_U) {
                    $this.$field_22360_B = $this.$field_22364_z;
                    $var3 = $var3 + (-1) | 0;
                    var$15 = $this.$field_22367_w;
                    var$26 = $this.$field_22368_v;
                    var$15 = var$15 + var$26;
                    var$24 = $this.$field_22362_A;
                    var$15 = var$15 + var$24;
                    var$27 = $this.$aoLightValueYPos;
                    var$15 = (var$15 + var$27) / 4.0;
                    var$24 = var$24 + var$27 + $this.$field_22360_B;
                    var$25 = $this.$field_22364_z;
                    var$24 = (var$24 + var$25) / 4.0;
                    var$28 = $this.$field_22366_x;
                    var$25 = (var$27 + var$28 + var$25 + $this.$field_22365_y) / 4.0;
                    var$26 = (var$26 + $this.$field_22369_u + var$27 + var$28) / 4.0;
                    $this.$colorRedTopRight = $var5;
                    $this.$colorRedBottomRight = $var5;
                    $this.$colorRedBottomLeft = $var5;
                    $this.$colorRedTopLeft = $var5;
                    $this.$colorGreenTopRight = $var6;
                    $this.$colorGreenBottomRight = $var6;
                    $this.$colorGreenBottomLeft = $var6;
                    $this.$colorGreenTopLeft = $var6;
                    $this.$colorBlueTopRight = $var7;
                    $this.$colorBlueBottomRight = $var7;
                    $this.$colorBlueBottomLeft = $var7;
                    $this.$colorBlueTopLeft = $var7;
                    $this.$colorRedTopLeft = $var5 * var$24;
                    $this.$colorGreenTopLeft = $var6 * var$24;
                    $this.$colorBlueTopLeft = $var7 * var$24;
                    $this.$colorRedBottomLeft = $var5 * var$25;
                    $this.$colorGreenBottomLeft = $var6 * var$25;
                    $this.$colorBlueBottomLeft = $var7 * var$25;
                    $this.$colorRedBottomRight = $var5 * var$26;
                    $this.$colorGreenBottomRight = $var6 * var$26;
                    $this.$colorBlueBottomRight = $var7 * var$26;
                    $this.$colorRedTopRight = $var5 * var$15;
                    $this.$colorGreenTopRight = $var6 * var$15;
                    $this.$colorBlueTopRight = $var7 * var$15;
                    var$30 = $var2;
                    var$31 = $var3;
                    var$32 = $var4;
                    var$14 = $this.$blockAccess;
                    var$23 = 1;
                    $ptr = 33;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 53;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 46;
            continue main;
        case 38:
            $tmp = $var1.$getBlockBrightness(var$14, var$16, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22358_C = var$15;
            var$14 = $this.$blockAccess;
            var$23 = $var3 - 1 | 0;
            $ptr = 39;
        case 39:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, var$23, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22374_p = var$15;
            var$14 = $this.$blockAccess;
            $var8 = $var3 + 1 | 0;
            $ptr = 40;
        case 40:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var8, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22366_x = var$15;
            var$14 = $this.$blockAccess;
            $ptr = 41;
        case 41:
            $tmp = $var1.$getBlockBrightness(var$14, var$19, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22356_D = var$15;
            if (!$this.$field_22335_X && !$this.$field_22361_ab) {
                $this.$field_22377_m = $this.$field_22358_C;
                if (!$this.$field_22335_X && !$this.$field_22339_T) {
                    $this.$field_22369_u = $this.$field_22358_C;
                    if (!$this.$field_22363_aa && !$this.$field_22361_ab) {
                        $this.$field_22372_r = $this.$field_22356_D;
                        if (!$this.$field_22363_aa && !$this.$field_22339_T) {
                            $this.$field_22365_y = $this.$field_22356_D;
                            $var4 = $var4 + 1 | 0;
                            var$15 = $this.$field_22358_C;
                            var$26 = var$15 + $this.$field_22369_u;
                            var$24 = $this.$aoLightValueZNeg;
                            var$26 = var$26 + var$24;
                            var$27 = $this.$field_22366_x;
                            var$26 = (var$26 + var$27) / 4.0;
                            var$27 = var$24 + var$27;
                            var$25 = $this.$field_22356_D;
                            var$27 = (var$27 + var$25 + $this.$field_22365_y) / 4.0;
                            var$28 = $this.$field_22374_p;
                            var$25 = (var$28 + var$24 + $this.$field_22372_r + var$25) / 4.0;
                            var$15 = ($this.$field_22377_m + var$15 + var$28 + var$24) / 4.0;
                            var$24 = (!$var15 ? 1.0 : $var5) * 0.800000011920929;
                            $this.$colorRedTopRight = var$24;
                            $this.$colorRedBottomRight = var$24;
                            $this.$colorRedBottomLeft = var$24;
                            $this.$colorRedTopLeft = var$24;
                            var$28 = (!$var15 ? 1.0 : $var6) * 0.800000011920929;
                            $this.$colorGreenTopRight = var$28;
                            $this.$colorGreenBottomRight = var$28;
                            $this.$colorGreenBottomLeft = var$28;
                            $this.$colorGreenTopLeft = var$28;
                            var$29 = (!$var15 ? 1.0 : $var7) * 0.800000011920929;
                            $this.$colorBlueTopRight = var$29;
                            $this.$colorBlueBottomRight = var$29;
                            $this.$colorBlueBottomLeft = var$29;
                            $this.$colorBlueTopLeft = var$29;
                            $this.$colorRedTopLeft = var$24 * var$26;
                            $this.$colorGreenTopLeft = var$28 * var$26;
                            $this.$colorBlueTopLeft = var$29 * var$26;
                            $this.$colorRedBottomLeft = var$24 * var$27;
                            $this.$colorGreenBottomLeft = var$28 * var$27;
                            $this.$colorBlueBottomLeft = var$29 * var$27;
                            $this.$colorRedBottomRight = var$24 * var$25;
                            $this.$colorGreenBottomRight = var$28 * var$25;
                            $this.$colorBlueBottomRight = var$29 * var$25;
                            $this.$colorRedTopRight = var$24 * var$15;
                            $this.$colorGreenTopRight = var$28 * var$15;
                            $this.$colorBlueTopRight = var$29 * var$15;
                            var$30 = $var2;
                            var$31 = $var3;
                            var$32 = $var4;
                            var$14 = $this.$blockAccess;
                            var$23 = 2;
                            $ptr = 63;
                            continue main;
                        }
                        var$14 = $this.$blockAccess;
                        $ptr = 62;
                        continue main;
                    }
                    var$14 = $this.$blockAccess;
                    $ptr = 55;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 48;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 45;
            continue main;
        case 42:
            $tmp = $var1.$getBlockBrightness(var$14, var$19, $var3, var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22370_t = var$15;
            $var3 = $var3 + 1 | 0;
            var$15 = $this.$field_22375_o;
            var$26 = $this.$field_22376_n;
            var$15 = var$15 + var$26;
            var$24 = $this.$field_22373_q;
            var$15 = var$15 + var$24;
            var$27 = $this.$aoLightValueYNeg;
            var$15 = (var$15 + var$27) / 4.0;
            var$24 = var$24 + var$27 + $this.$field_22370_t;
            var$25 = $this.$field_22371_s;
            var$24 = (var$24 + var$25) / 4.0;
            var$28 = $this.$field_22374_p;
            var$25 = (var$27 + var$28 + var$25 + $this.$field_22372_r) / 4.0;
            var$26 = (var$26 + $this.$field_22377_m + var$27 + var$28) / 4.0;
            var$27 = (!$var13 ? 1.0 : $var5) * 0.5;
            $this.$colorRedTopRight = var$27;
            $this.$colorRedBottomRight = var$27;
            $this.$colorRedBottomLeft = var$27;
            $this.$colorRedTopLeft = var$27;
            var$28 = (!$var13 ? 1.0 : $var6) * 0.5;
            $this.$colorGreenTopRight = var$28;
            $this.$colorGreenBottomRight = var$28;
            $this.$colorGreenBottomLeft = var$28;
            $this.$colorGreenTopLeft = var$28;
            var$29 = (!$var13 ? 1.0 : $var7) * 0.5;
            $this.$colorBlueTopRight = var$29;
            $this.$colorBlueBottomRight = var$29;
            $this.$colorBlueBottomLeft = var$29;
            $this.$colorBlueTopLeft = var$29;
            $this.$colorRedTopLeft = var$27 * var$15;
            $this.$colorGreenTopLeft = var$28 * var$15;
            $this.$colorBlueTopLeft = var$29 * var$15;
            $this.$colorRedBottomLeft = var$27 * var$26;
            $this.$colorGreenBottomLeft = var$28 * var$26;
            $this.$colorBlueBottomLeft = var$29 * var$26;
            $this.$colorRedBottomRight = var$27 * var$25;
            $this.$colorGreenBottomRight = var$28 * var$25;
            $this.$colorBlueBottomRight = var$29 * var$25;
            $this.$colorRedTopRight = var$27 * var$24;
            $this.$colorGreenTopRight = var$28 * var$24;
            $this.$colorBlueTopRight = var$29 * var$24;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 0;
            $ptr = 43;
        case 43:
            $tmp = $var1.$getBlockTexture(var$14, $var2, $var3, $var4, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            $ptr = 44;
        case 44:
            nms_RenderBlocks_renderBottomFace($this, $var1, var$30, var$31, var$32, var$23);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 1;
            if (!$this.$renderAllFaces) {
                var$14 = $this.$blockAccess;
                var$23 = $var3 + 1 | 0;
                $var13 = 1;
                $ptr = 26;
                continue main;
            }
            if ($this.$field_22352_G > 0) {
                $var3 = $var3 + 1 | 0;
                var$14 = $this.$blockAccess;
                $ptr = 28;
                continue main;
            }
            var$24 = $this.$aoLightValueYPos;
            var$15 = var$24;
            var$26 = var$24;
            var$25 = var$24;
            $this.$colorRedTopRight = $var5;
            $this.$colorRedBottomRight = $var5;
            $this.$colorRedBottomLeft = $var5;
            $this.$colorRedTopLeft = $var5;
            $this.$colorGreenTopRight = $var6;
            $this.$colorGreenBottomRight = $var6;
            $this.$colorGreenBottomLeft = $var6;
            $this.$colorGreenTopLeft = $var6;
            $this.$colorBlueTopRight = $var7;
            $this.$colorBlueBottomRight = $var7;
            $this.$colorBlueBottomLeft = $var7;
            $this.$colorBlueTopLeft = $var7;
            $this.$colorRedTopLeft = $var5 * var$24;
            $this.$colorGreenTopLeft = $var6 * var$24;
            $this.$colorBlueTopLeft = $var7 * var$24;
            $this.$colorRedBottomLeft = $var5 * var$25;
            $this.$colorGreenBottomLeft = $var6 * var$25;
            $this.$colorBlueBottomLeft = $var7 * var$25;
            $this.$colorRedBottomRight = $var5 * var$26;
            $this.$colorGreenBottomRight = $var6 * var$26;
            $this.$colorBlueBottomRight = $var7 * var$26;
            $this.$colorRedTopRight = $var5 * var$15;
            $this.$colorGreenTopRight = $var6 * var$15;
            $this.$colorBlueTopRight = $var7 * var$15;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 1;
            $ptr = 33;
            continue main;
        case 45:
            $tmp = $var1.$getBlockBrightness(var$14, var$16, var$23, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22377_m = var$15;
            if (!$this.$field_22335_X && !$this.$field_22339_T) {
                $this.$field_22369_u = $this.$field_22358_C;
                if (!$this.$field_22363_aa && !$this.$field_22361_ab) {
                    $this.$field_22372_r = $this.$field_22356_D;
                    if (!$this.$field_22363_aa && !$this.$field_22339_T) {
                        $this.$field_22365_y = $this.$field_22356_D;
                        $var4 = $var4 + 1 | 0;
                        var$15 = $this.$field_22358_C;
                        var$26 = var$15 + $this.$field_22369_u;
                        var$24 = $this.$aoLightValueZNeg;
                        var$26 = var$26 + var$24;
                        var$27 = $this.$field_22366_x;
                        var$26 = (var$26 + var$27) / 4.0;
                        var$27 = var$24 + var$27;
                        var$25 = $this.$field_22356_D;
                        var$27 = (var$27 + var$25 + $this.$field_22365_y) / 4.0;
                        var$28 = $this.$field_22374_p;
                        var$25 = (var$28 + var$24 + $this.$field_22372_r + var$25) / 4.0;
                        var$15 = ($this.$field_22377_m + var$15 + var$28 + var$24) / 4.0;
                        var$24 = (!$var15 ? 1.0 : $var5) * 0.800000011920929;
                        $this.$colorRedTopRight = var$24;
                        $this.$colorRedBottomRight = var$24;
                        $this.$colorRedBottomLeft = var$24;
                        $this.$colorRedTopLeft = var$24;
                        var$28 = (!$var15 ? 1.0 : $var6) * 0.800000011920929;
                        $this.$colorGreenTopRight = var$28;
                        $this.$colorGreenBottomRight = var$28;
                        $this.$colorGreenBottomLeft = var$28;
                        $this.$colorGreenTopLeft = var$28;
                        var$29 = (!$var15 ? 1.0 : $var7) * 0.800000011920929;
                        $this.$colorBlueTopRight = var$29;
                        $this.$colorBlueBottomRight = var$29;
                        $this.$colorBlueBottomLeft = var$29;
                        $this.$colorBlueTopLeft = var$29;
                        $this.$colorRedTopLeft = var$24 * var$26;
                        $this.$colorGreenTopLeft = var$28 * var$26;
                        $this.$colorBlueTopLeft = var$29 * var$26;
                        $this.$colorRedBottomLeft = var$24 * var$27;
                        $this.$colorGreenBottomLeft = var$28 * var$27;
                        $this.$colorBlueBottomLeft = var$29 * var$27;
                        $this.$colorRedBottomRight = var$24 * var$25;
                        $this.$colorGreenBottomRight = var$28 * var$25;
                        $this.$colorBlueBottomRight = var$29 * var$25;
                        $this.$colorRedTopRight = var$24 * var$15;
                        $this.$colorGreenTopRight = var$28 * var$15;
                        $this.$colorBlueTopRight = var$29 * var$15;
                        var$30 = $var2;
                        var$31 = $var3;
                        var$32 = $var4;
                        var$14 = $this.$blockAccess;
                        var$23 = 2;
                        $ptr = 63;
                        continue main;
                    }
                    var$14 = $this.$blockAccess;
                    $ptr = 62;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 55;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 48;
            continue main;
        case 46:
            $tmp = $var1.$getBlockBrightness(var$14, var$16, $var3, var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22367_w = var$15;
            if (!$this.$field_22336_W && !$this.$field_22338_U) {
                $this.$field_22360_B = $this.$field_22364_z;
                $var3 = $var3 + (-1) | 0;
                var$15 = $this.$field_22367_w;
                var$26 = $this.$field_22368_v;
                var$15 = var$15 + var$26;
                var$24 = $this.$field_22362_A;
                var$15 = var$15 + var$24;
                var$27 = $this.$aoLightValueYPos;
                var$15 = (var$15 + var$27) / 4.0;
                var$24 = var$24 + var$27 + $this.$field_22360_B;
                var$25 = $this.$field_22364_z;
                var$24 = (var$24 + var$25) / 4.0;
                var$28 = $this.$field_22366_x;
                var$25 = (var$27 + var$28 + var$25 + $this.$field_22365_y) / 4.0;
                var$26 = (var$26 + $this.$field_22369_u + var$27 + var$28) / 4.0;
                $this.$colorRedTopRight = $var5;
                $this.$colorRedBottomRight = $var5;
                $this.$colorRedBottomLeft = $var5;
                $this.$colorRedTopLeft = $var5;
                $this.$colorGreenTopRight = $var6;
                $this.$colorGreenBottomRight = $var6;
                $this.$colorGreenBottomLeft = $var6;
                $this.$colorGreenTopLeft = $var6;
                $this.$colorBlueTopRight = $var7;
                $this.$colorBlueBottomRight = $var7;
                $this.$colorBlueBottomLeft = $var7;
                $this.$colorBlueTopLeft = $var7;
                $this.$colorRedTopLeft = $var5 * var$24;
                $this.$colorGreenTopLeft = $var6 * var$24;
                $this.$colorBlueTopLeft = $var7 * var$24;
                $this.$colorRedBottomLeft = $var5 * var$25;
                $this.$colorGreenBottomLeft = $var6 * var$25;
                $this.$colorBlueBottomLeft = $var7 * var$25;
                $this.$colorRedBottomRight = $var5 * var$26;
                $this.$colorGreenBottomRight = $var6 * var$26;
                $this.$colorBlueBottomRight = $var7 * var$26;
                $this.$colorRedTopRight = $var5 * var$15;
                $this.$colorGreenTopRight = $var6 * var$15;
                $this.$colorBlueTopRight = $var7 * var$15;
                var$30 = $var2;
                var$31 = $var3;
                var$32 = $var4;
                var$14 = $this.$blockAccess;
                var$23 = 1;
                $ptr = 33;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 53;
            continue main;
        case 47:
            $tmp = $var1.$shouldSideBeRendered(var$14, $var2, $var3, var$23, $var13);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            if (var$23) {
                if ($this.$field_22352_G > 0) {
                    var$23 = $var4 + 1 | 0;
                    var$14 = $this.$blockAccess;
                    $ptr = 49;
                    continue main;
                }
                var$26 = $this.$aoLightValueZPos;
                var$27 = var$26;
                var$25 = var$26;
                var$15 = var$26;
                var$24 = (!$var16 ? 1.0 : $var5) * 0.800000011920929;
                $this.$colorRedTopRight = var$24;
                $this.$colorRedBottomRight = var$24;
                $this.$colorRedBottomLeft = var$24;
                $this.$colorRedTopLeft = var$24;
                var$28 = (!$var16 ? 1.0 : $var6) * 0.800000011920929;
                $this.$colorGreenTopRight = var$28;
                $this.$colorGreenBottomRight = var$28;
                $this.$colorGreenBottomLeft = var$28;
                $this.$colorGreenTopLeft = var$28;
                var$29 = (!$var16 ? 1.0 : $var7) * 0.800000011920929;
                $this.$colorBlueTopRight = var$29;
                $this.$colorBlueBottomRight = var$29;
                $this.$colorBlueBottomLeft = var$29;
                $this.$colorBlueTopLeft = var$29;
                $this.$colorRedTopLeft = var$24 * var$26;
                $this.$colorGreenTopLeft = var$28 * var$26;
                $this.$colorBlueTopLeft = var$29 * var$26;
                $this.$colorRedBottomLeft = var$24 * var$15;
                $this.$colorGreenBottomLeft = var$28 * var$15;
                $this.$colorBlueBottomLeft = var$29 * var$15;
                $this.$colorRedBottomRight = var$24 * var$25;
                $this.$colorGreenBottomRight = var$28 * var$25;
                $this.$colorBlueBottomRight = var$29 * var$25;
                $this.$colorRedTopRight = var$24 * var$27;
                $this.$colorGreenTopRight = var$28 * var$27;
                $this.$colorBlueTopRight = var$29 * var$27;
                var$30 = $var2;
                var$31 = $var3;
                var$32 = $var4;
                var$14 = $this.$blockAccess;
                var$23 = 3;
                $ptr = 74;
                continue main;
            }
            if (!$this.$renderAllFaces) {
                var$14 = $this.$blockAccess;
                var$23 = 4;
                $ptr = 56;
                continue main;
            }
            if ($this.$field_22352_G > 0) {
                $var2 = $var2 + (-1) | 0;
                var$14 = $this.$blockAccess;
                var$23 = $var3 - 1 | 0;
                $ptr = 58;
                continue main;
            }
            var$27 = $this.$aoLightValueXNeg;
            var$26 = var$27;
            var$15 = var$27;
            var$25 = var$27;
            var$24 = (!$var17 ? 1.0 : $var5) * 0.6000000238418579;
            $this.$colorRedTopRight = var$24;
            $this.$colorRedBottomRight = var$24;
            $this.$colorRedBottomLeft = var$24;
            $this.$colorRedTopLeft = var$24;
            var$28 = (!$var17 ? 1.0 : $var6) * 0.6000000238418579;
            $this.$colorGreenTopRight = var$28;
            $this.$colorGreenBottomRight = var$28;
            $this.$colorGreenBottomLeft = var$28;
            $this.$colorGreenTopLeft = var$28;
            var$29 = (!$var17 ? 1.0 : $var7) * 0.6000000238418579;
            $this.$colorBlueTopRight = var$29;
            $this.$colorBlueBottomRight = var$29;
            $this.$colorBlueBottomLeft = var$29;
            $this.$colorBlueTopLeft = var$29;
            $this.$colorRedTopLeft = var$24 * var$27;
            $this.$colorGreenTopLeft = var$28 * var$27;
            $this.$colorBlueTopLeft = var$29 * var$27;
            $this.$colorRedBottomLeft = var$24 * var$25;
            $this.$colorGreenBottomLeft = var$28 * var$25;
            $this.$colorBlueBottomLeft = var$29 * var$25;
            $this.$colorRedBottomRight = var$24 * var$15;
            $this.$colorGreenBottomRight = var$28 * var$15;
            $this.$colorBlueBottomRight = var$29 * var$15;
            $this.$colorRedTopRight = var$24 * var$26;
            $this.$colorGreenTopRight = var$28 * var$26;
            $this.$colorBlueTopRight = var$29 * var$26;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 4;
            $ptr = 80;
            continue main;
        case 48:
            $tmp = $var1.$getBlockBrightness(var$14, var$16, $var8, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22369_u = var$15;
            if (!$this.$field_22363_aa && !$this.$field_22361_ab) {
                $this.$field_22372_r = $this.$field_22356_D;
                if (!$this.$field_22363_aa && !$this.$field_22339_T) {
                    $this.$field_22365_y = $this.$field_22356_D;
                    $var4 = $var4 + 1 | 0;
                    var$15 = $this.$field_22358_C;
                    var$26 = var$15 + $this.$field_22369_u;
                    var$24 = $this.$aoLightValueZNeg;
                    var$26 = var$26 + var$24;
                    var$27 = $this.$field_22366_x;
                    var$26 = (var$26 + var$27) / 4.0;
                    var$27 = var$24 + var$27;
                    var$25 = $this.$field_22356_D;
                    var$27 = (var$27 + var$25 + $this.$field_22365_y) / 4.0;
                    var$28 = $this.$field_22374_p;
                    var$25 = (var$28 + var$24 + $this.$field_22372_r + var$25) / 4.0;
                    var$15 = ($this.$field_22377_m + var$15 + var$28 + var$24) / 4.0;
                    var$24 = (!$var15 ? 1.0 : $var5) * 0.800000011920929;
                    $this.$colorRedTopRight = var$24;
                    $this.$colorRedBottomRight = var$24;
                    $this.$colorRedBottomLeft = var$24;
                    $this.$colorRedTopLeft = var$24;
                    var$28 = (!$var15 ? 1.0 : $var6) * 0.800000011920929;
                    $this.$colorGreenTopRight = var$28;
                    $this.$colorGreenBottomRight = var$28;
                    $this.$colorGreenBottomLeft = var$28;
                    $this.$colorGreenTopLeft = var$28;
                    var$29 = (!$var15 ? 1.0 : $var7) * 0.800000011920929;
                    $this.$colorBlueTopRight = var$29;
                    $this.$colorBlueBottomRight = var$29;
                    $this.$colorBlueBottomLeft = var$29;
                    $this.$colorBlueTopLeft = var$29;
                    $this.$colorRedTopLeft = var$24 * var$26;
                    $this.$colorGreenTopLeft = var$28 * var$26;
                    $this.$colorBlueTopLeft = var$29 * var$26;
                    $this.$colorRedBottomLeft = var$24 * var$27;
                    $this.$colorGreenBottomLeft = var$28 * var$27;
                    $this.$colorBlueBottomLeft = var$29 * var$27;
                    $this.$colorRedBottomRight = var$24 * var$25;
                    $this.$colorGreenBottomRight = var$28 * var$25;
                    $this.$colorBlueBottomRight = var$29 * var$25;
                    $this.$colorRedTopRight = var$24 * var$15;
                    $this.$colorGreenTopRight = var$28 * var$15;
                    $this.$colorBlueTopRight = var$29 * var$15;
                    var$30 = $var2;
                    var$31 = $var3;
                    var$32 = $var4;
                    var$14 = $this.$blockAccess;
                    var$23 = 2;
                    $ptr = 63;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 62;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 55;
            continue main;
        case 49:
            $tmp = $var1.$getBlockBrightness(var$14, var$16, $var3, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22354_E = var$15;
            var$14 = $this.$blockAccess;
            $ptr = 50;
        case 50:
            $tmp = $var1.$getBlockBrightness(var$14, var$19, $var3, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22353_F = var$15;
            var$14 = $this.$blockAccess;
            $var4 = $var3 - 1 | 0;
            $ptr = 51;
        case 51:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var4, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22373_q = var$15;
            var$14 = $this.$blockAccess;
            $var8 = $var3 + 1 | 0;
            $ptr = 52;
        case 52:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var8, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22362_A = var$15;
            if (!$this.$field_22333_Z && !$this.$field_22355_ae) {
                $this.$field_22375_o = $this.$field_22354_E;
                if (!$this.$field_22333_Z && !$this.$field_22336_W) {
                    $this.$field_22367_w = $this.$field_22354_E;
                    if (!$this.$field_22334_Y && !$this.$field_22355_ae) {
                        $this.$field_22370_t = $this.$field_22353_F;
                        if (!$this.$field_22334_Y && !$this.$field_22336_W) {
                            $this.$field_22360_B = $this.$field_22353_F;
                            $var4 = var$23 + (-1) | 0;
                            var$15 = $this.$field_22354_E;
                            var$26 = var$15 + $this.$field_22367_w;
                            var$24 = $this.$aoLightValueZPos;
                            var$26 = var$26 + var$24;
                            var$27 = $this.$field_22362_A;
                            var$26 = (var$26 + var$27) / 4.0;
                            var$27 = var$24 + var$27;
                            var$25 = $this.$field_22353_F;
                            var$27 = (var$27 + var$25 + $this.$field_22360_B) / 4.0;
                            var$28 = $this.$field_22373_q;
                            var$25 = (var$28 + var$24 + $this.$field_22370_t + var$25) / 4.0;
                            var$15 = ($this.$field_22375_o + var$15 + var$28 + var$24) / 4.0;
                            var$24 = (!$var16 ? 1.0 : $var5) * 0.800000011920929;
                            $this.$colorRedTopRight = var$24;
                            $this.$colorRedBottomRight = var$24;
                            $this.$colorRedBottomLeft = var$24;
                            $this.$colorRedTopLeft = var$24;
                            var$28 = (!$var16 ? 1.0 : $var6) * 0.800000011920929;
                            $this.$colorGreenTopRight = var$28;
                            $this.$colorGreenBottomRight = var$28;
                            $this.$colorGreenBottomLeft = var$28;
                            $this.$colorGreenTopLeft = var$28;
                            var$29 = (!$var16 ? 1.0 : $var7) * 0.800000011920929;
                            $this.$colorBlueTopRight = var$29;
                            $this.$colorBlueBottomRight = var$29;
                            $this.$colorBlueBottomLeft = var$29;
                            $this.$colorBlueTopLeft = var$29;
                            $this.$colorRedTopLeft = var$24 * var$26;
                            $this.$colorGreenTopLeft = var$28 * var$26;
                            $this.$colorBlueTopLeft = var$29 * var$26;
                            $this.$colorRedBottomLeft = var$24 * var$15;
                            $this.$colorGreenBottomLeft = var$28 * var$15;
                            $this.$colorBlueBottomLeft = var$29 * var$15;
                            $this.$colorRedBottomRight = var$24 * var$25;
                            $this.$colorGreenBottomRight = var$28 * var$25;
                            $this.$colorBlueBottomRight = var$29 * var$25;
                            $this.$colorRedTopRight = var$24 * var$27;
                            $this.$colorGreenTopRight = var$28 * var$27;
                            $this.$colorBlueTopRight = var$29 * var$27;
                            var$30 = $var2;
                            var$31 = $var3;
                            var$32 = $var4;
                            var$14 = $this.$blockAccess;
                            var$23 = 3;
                            $ptr = 74;
                            continue main;
                        }
                        var$14 = $this.$blockAccess;
                        $ptr = 73;
                        continue main;
                    }
                    var$14 = $this.$blockAccess;
                    $ptr = 66;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 57;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 54;
            continue main;
        case 53:
            $tmp = $var1.$getBlockBrightness(var$14, var$19, $var3, var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22360_B = var$15;
            $var3 = $var3 + (-1) | 0;
            var$15 = $this.$field_22367_w;
            var$26 = $this.$field_22368_v;
            var$15 = var$15 + var$26;
            var$24 = $this.$field_22362_A;
            var$15 = var$15 + var$24;
            var$27 = $this.$aoLightValueYPos;
            var$15 = (var$15 + var$27) / 4.0;
            var$24 = var$24 + var$27 + $this.$field_22360_B;
            var$25 = $this.$field_22364_z;
            var$24 = (var$24 + var$25) / 4.0;
            var$28 = $this.$field_22366_x;
            var$25 = (var$27 + var$28 + var$25 + $this.$field_22365_y) / 4.0;
            var$26 = (var$26 + $this.$field_22369_u + var$27 + var$28) / 4.0;
            $this.$colorRedTopRight = $var5;
            $this.$colorRedBottomRight = $var5;
            $this.$colorRedBottomLeft = $var5;
            $this.$colorRedTopLeft = $var5;
            $this.$colorGreenTopRight = $var6;
            $this.$colorGreenBottomRight = $var6;
            $this.$colorGreenBottomLeft = $var6;
            $this.$colorGreenTopLeft = $var6;
            $this.$colorBlueTopRight = $var7;
            $this.$colorBlueBottomRight = $var7;
            $this.$colorBlueBottomLeft = $var7;
            $this.$colorBlueTopLeft = $var7;
            $this.$colorRedTopLeft = $var5 * var$24;
            $this.$colorGreenTopLeft = $var6 * var$24;
            $this.$colorBlueTopLeft = $var7 * var$24;
            $this.$colorRedBottomLeft = $var5 * var$25;
            $this.$colorGreenBottomLeft = $var6 * var$25;
            $this.$colorBlueBottomLeft = $var7 * var$25;
            $this.$colorRedBottomRight = $var5 * var$26;
            $this.$colorGreenBottomRight = $var6 * var$26;
            $this.$colorBlueBottomRight = $var7 * var$26;
            $this.$colorRedTopRight = $var5 * var$15;
            $this.$colorGreenTopRight = $var6 * var$15;
            $this.$colorBlueTopRight = $var7 * var$15;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 1;
            $ptr = 33;
            continue main;
        case 54:
            $tmp = $var1.$getBlockBrightness(var$14, var$16, $var4, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22375_o = var$15;
            if (!$this.$field_22333_Z && !$this.$field_22336_W) {
                $this.$field_22367_w = $this.$field_22354_E;
                if (!$this.$field_22334_Y && !$this.$field_22355_ae) {
                    $this.$field_22370_t = $this.$field_22353_F;
                    if (!$this.$field_22334_Y && !$this.$field_22336_W) {
                        $this.$field_22360_B = $this.$field_22353_F;
                        $var4 = var$23 + (-1) | 0;
                        var$15 = $this.$field_22354_E;
                        var$26 = var$15 + $this.$field_22367_w;
                        var$24 = $this.$aoLightValueZPos;
                        var$26 = var$26 + var$24;
                        var$27 = $this.$field_22362_A;
                        var$26 = (var$26 + var$27) / 4.0;
                        var$27 = var$24 + var$27;
                        var$25 = $this.$field_22353_F;
                        var$27 = (var$27 + var$25 + $this.$field_22360_B) / 4.0;
                        var$28 = $this.$field_22373_q;
                        var$25 = (var$28 + var$24 + $this.$field_22370_t + var$25) / 4.0;
                        var$15 = ($this.$field_22375_o + var$15 + var$28 + var$24) / 4.0;
                        var$24 = (!$var16 ? 1.0 : $var5) * 0.800000011920929;
                        $this.$colorRedTopRight = var$24;
                        $this.$colorRedBottomRight = var$24;
                        $this.$colorRedBottomLeft = var$24;
                        $this.$colorRedTopLeft = var$24;
                        var$28 = (!$var16 ? 1.0 : $var6) * 0.800000011920929;
                        $this.$colorGreenTopRight = var$28;
                        $this.$colorGreenBottomRight = var$28;
                        $this.$colorGreenBottomLeft = var$28;
                        $this.$colorGreenTopLeft = var$28;
                        var$29 = (!$var16 ? 1.0 : $var7) * 0.800000011920929;
                        $this.$colorBlueTopRight = var$29;
                        $this.$colorBlueBottomRight = var$29;
                        $this.$colorBlueBottomLeft = var$29;
                        $this.$colorBlueTopLeft = var$29;
                        $this.$colorRedTopLeft = var$24 * var$26;
                        $this.$colorGreenTopLeft = var$28 * var$26;
                        $this.$colorBlueTopLeft = var$29 * var$26;
                        $this.$colorRedBottomLeft = var$24 * var$15;
                        $this.$colorGreenBottomLeft = var$28 * var$15;
                        $this.$colorBlueBottomLeft = var$29 * var$15;
                        $this.$colorRedBottomRight = var$24 * var$25;
                        $this.$colorGreenBottomRight = var$28 * var$25;
                        $this.$colorBlueBottomRight = var$29 * var$25;
                        $this.$colorRedTopRight = var$24 * var$27;
                        $this.$colorGreenTopRight = var$28 * var$27;
                        $this.$colorBlueTopRight = var$29 * var$27;
                        var$30 = $var2;
                        var$31 = $var3;
                        var$32 = $var4;
                        var$14 = $this.$blockAccess;
                        var$23 = 3;
                        $ptr = 74;
                        continue main;
                    }
                    var$14 = $this.$blockAccess;
                    $ptr = 73;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 66;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 57;
            continue main;
        case 55:
            $tmp = $var1.$getBlockBrightness(var$14, var$19, var$23, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22372_r = var$15;
            if (!$this.$field_22363_aa && !$this.$field_22339_T) {
                $this.$field_22365_y = $this.$field_22356_D;
                $var4 = $var4 + 1 | 0;
                var$15 = $this.$field_22358_C;
                var$26 = var$15 + $this.$field_22369_u;
                var$24 = $this.$aoLightValueZNeg;
                var$26 = var$26 + var$24;
                var$27 = $this.$field_22366_x;
                var$26 = (var$26 + var$27) / 4.0;
                var$27 = var$24 + var$27;
                var$25 = $this.$field_22356_D;
                var$27 = (var$27 + var$25 + $this.$field_22365_y) / 4.0;
                var$28 = $this.$field_22374_p;
                var$25 = (var$28 + var$24 + $this.$field_22372_r + var$25) / 4.0;
                var$15 = ($this.$field_22377_m + var$15 + var$28 + var$24) / 4.0;
                var$24 = (!$var15 ? 1.0 : $var5) * 0.800000011920929;
                $this.$colorRedTopRight = var$24;
                $this.$colorRedBottomRight = var$24;
                $this.$colorRedBottomLeft = var$24;
                $this.$colorRedTopLeft = var$24;
                var$28 = (!$var15 ? 1.0 : $var6) * 0.800000011920929;
                $this.$colorGreenTopRight = var$28;
                $this.$colorGreenBottomRight = var$28;
                $this.$colorGreenBottomLeft = var$28;
                $this.$colorGreenTopLeft = var$28;
                var$29 = (!$var15 ? 1.0 : $var7) * 0.800000011920929;
                $this.$colorBlueTopRight = var$29;
                $this.$colorBlueBottomRight = var$29;
                $this.$colorBlueBottomLeft = var$29;
                $this.$colorBlueTopLeft = var$29;
                $this.$colorRedTopLeft = var$24 * var$26;
                $this.$colorGreenTopLeft = var$28 * var$26;
                $this.$colorBlueTopLeft = var$29 * var$26;
                $this.$colorRedBottomLeft = var$24 * var$27;
                $this.$colorGreenBottomLeft = var$28 * var$27;
                $this.$colorBlueBottomLeft = var$29 * var$27;
                $this.$colorRedBottomRight = var$24 * var$25;
                $this.$colorGreenBottomRight = var$28 * var$25;
                $this.$colorBlueBottomRight = var$29 * var$25;
                $this.$colorRedTopRight = var$24 * var$15;
                $this.$colorGreenTopRight = var$28 * var$15;
                $this.$colorBlueTopRight = var$29 * var$15;
                var$30 = $var2;
                var$31 = $var3;
                var$32 = $var4;
                var$14 = $this.$blockAccess;
                var$23 = 2;
                $ptr = 63;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 62;
            continue main;
        case 56:
            $tmp = $var1.$shouldSideBeRendered(var$14, var$16, $var3, $var4, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            if (var$23) {
                if ($this.$field_22352_G > 0) {
                    $var2 = $var2 + (-1) | 0;
                    var$14 = $this.$blockAccess;
                    var$23 = $var3 - 1 | 0;
                    $ptr = 58;
                    continue main;
                }
                var$27 = $this.$aoLightValueXNeg;
                var$26 = var$27;
                var$15 = var$27;
                var$25 = var$27;
                var$24 = (!$var17 ? 1.0 : $var5) * 0.6000000238418579;
                $this.$colorRedTopRight = var$24;
                $this.$colorRedBottomRight = var$24;
                $this.$colorRedBottomLeft = var$24;
                $this.$colorRedTopLeft = var$24;
                var$28 = (!$var17 ? 1.0 : $var6) * 0.6000000238418579;
                $this.$colorGreenTopRight = var$28;
                $this.$colorGreenBottomRight = var$28;
                $this.$colorGreenBottomLeft = var$28;
                $this.$colorGreenTopLeft = var$28;
                var$29 = (!$var17 ? 1.0 : $var7) * 0.6000000238418579;
                $this.$colorBlueTopRight = var$29;
                $this.$colorBlueBottomRight = var$29;
                $this.$colorBlueBottomLeft = var$29;
                $this.$colorBlueTopLeft = var$29;
                $this.$colorRedTopLeft = var$24 * var$27;
                $this.$colorGreenTopLeft = var$28 * var$27;
                $this.$colorBlueTopLeft = var$29 * var$27;
                $this.$colorRedBottomLeft = var$24 * var$25;
                $this.$colorGreenBottomLeft = var$28 * var$25;
                $this.$colorBlueBottomLeft = var$29 * var$25;
                $this.$colorRedBottomRight = var$24 * var$15;
                $this.$colorGreenBottomRight = var$28 * var$15;
                $this.$colorBlueBottomRight = var$29 * var$15;
                $this.$colorRedTopRight = var$24 * var$26;
                $this.$colorGreenTopRight = var$28 * var$26;
                $this.$colorBlueTopRight = var$29 * var$26;
                var$30 = $var2;
                var$31 = $var3;
                var$32 = $var4;
                var$14 = $this.$blockAccess;
                var$23 = 4;
                $ptr = 80;
                continue main;
            }
            if (!$this.$renderAllFaces) {
                var$14 = $this.$blockAccess;
                var$23 = $var2 + 1 | 0;
                $var13 = 5;
                $ptr = 67;
                continue main;
            }
            if ($this.$field_22352_G > 0) {
                $var2 = $var2 + 1 | 0;
                var$14 = $this.$blockAccess;
                var$23 = $var3 - 1 | 0;
                $ptr = 69;
                continue main;
            }
            var$26 = $this.$aoLightValueXPos;
            var$27 = var$26;
            var$25 = var$26;
            var$15 = var$26;
            if (!$var18)
                $var5 = 1.0;
            $var5 = $var5 * 0.6000000238418579;
            $this.$colorRedTopRight = $var5;
            $this.$colorRedBottomRight = $var5;
            $this.$colorRedBottomLeft = $var5;
            $this.$colorRedTopLeft = $var5;
            if (!$var18)
                $var6 = 1.0;
            $var6 = $var6 * 0.6000000238418579;
            $this.$colorGreenTopRight = $var6;
            $this.$colorGreenBottomRight = $var6;
            $this.$colorGreenBottomLeft = $var6;
            $this.$colorGreenTopLeft = $var6;
            if (!$var18)
                $var7 = 1.0;
            $var7 = $var7 * 0.6000000238418579;
            $this.$colorBlueTopRight = $var7;
            $this.$colorBlueBottomRight = $var7;
            $this.$colorBlueBottomLeft = $var7;
            $this.$colorBlueTopLeft = $var7;
            $this.$colorRedTopLeft = $var5 * var$26;
            $this.$colorGreenTopLeft = $var6 * var$26;
            $this.$colorBlueTopLeft = $var7 * var$26;
            $this.$colorRedBottomLeft = $var5 * var$15;
            $this.$colorGreenBottomLeft = $var6 * var$15;
            $this.$colorBlueBottomLeft = $var7 * var$15;
            $this.$colorRedBottomRight = $var5 * var$25;
            $this.$colorGreenBottomRight = $var6 * var$25;
            $this.$colorBlueBottomRight = $var7 * var$25;
            $this.$colorRedTopRight = $var5 * var$27;
            $this.$colorGreenTopRight = $var6 * var$27;
            $this.$colorBlueTopRight = $var7 * var$27;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 5;
            $ptr = 84;
            continue main;
        case 57:
            $tmp = $var1.$getBlockBrightness(var$14, var$16, $var8, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22367_w = var$15;
            if (!$this.$field_22334_Y && !$this.$field_22355_ae) {
                $this.$field_22370_t = $this.$field_22353_F;
                if (!$this.$field_22334_Y && !$this.$field_22336_W) {
                    $this.$field_22360_B = $this.$field_22353_F;
                    $var4 = var$23 + (-1) | 0;
                    var$15 = $this.$field_22354_E;
                    var$26 = var$15 + $this.$field_22367_w;
                    var$24 = $this.$aoLightValueZPos;
                    var$26 = var$26 + var$24;
                    var$27 = $this.$field_22362_A;
                    var$26 = (var$26 + var$27) / 4.0;
                    var$27 = var$24 + var$27;
                    var$25 = $this.$field_22353_F;
                    var$27 = (var$27 + var$25 + $this.$field_22360_B) / 4.0;
                    var$28 = $this.$field_22373_q;
                    var$25 = (var$28 + var$24 + $this.$field_22370_t + var$25) / 4.0;
                    var$15 = ($this.$field_22375_o + var$15 + var$28 + var$24) / 4.0;
                    var$24 = (!$var16 ? 1.0 : $var5) * 0.800000011920929;
                    $this.$colorRedTopRight = var$24;
                    $this.$colorRedBottomRight = var$24;
                    $this.$colorRedBottomLeft = var$24;
                    $this.$colorRedTopLeft = var$24;
                    var$28 = (!$var16 ? 1.0 : $var6) * 0.800000011920929;
                    $this.$colorGreenTopRight = var$28;
                    $this.$colorGreenBottomRight = var$28;
                    $this.$colorGreenBottomLeft = var$28;
                    $this.$colorGreenTopLeft = var$28;
                    var$29 = (!$var16 ? 1.0 : $var7) * 0.800000011920929;
                    $this.$colorBlueTopRight = var$29;
                    $this.$colorBlueBottomRight = var$29;
                    $this.$colorBlueBottomLeft = var$29;
                    $this.$colorBlueTopLeft = var$29;
                    $this.$colorRedTopLeft = var$24 * var$26;
                    $this.$colorGreenTopLeft = var$28 * var$26;
                    $this.$colorBlueTopLeft = var$29 * var$26;
                    $this.$colorRedBottomLeft = var$24 * var$15;
                    $this.$colorGreenBottomLeft = var$28 * var$15;
                    $this.$colorBlueBottomLeft = var$29 * var$15;
                    $this.$colorRedBottomRight = var$24 * var$25;
                    $this.$colorGreenBottomRight = var$28 * var$25;
                    $this.$colorBlueBottomRight = var$29 * var$25;
                    $this.$colorRedTopRight = var$24 * var$27;
                    $this.$colorGreenTopRight = var$28 * var$27;
                    $this.$colorBlueTopRight = var$29 * var$27;
                    var$30 = $var2;
                    var$31 = $var3;
                    var$32 = $var4;
                    var$14 = $this.$blockAccess;
                    var$23 = 3;
                    $ptr = 74;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 73;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 66;
            continue main;
        case 58:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, var$23, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22376_n = var$15;
            var$14 = $this.$blockAccess;
            $var8 = $var4 - 1 | 0;
            $ptr = 59;
        case 59:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var3, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22358_C = var$15;
            var$14 = $this.$blockAccess;
            $var13 = $var4 + 1 | 0;
            $ptr = 60;
        case 60:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var3, $var13);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22354_E = var$15;
            var$14 = $this.$blockAccess;
            $var15 = $var3 + 1 | 0;
            $ptr = 61;
        case 61:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var15, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22368_v = var$15;
            if (!$this.$field_22335_X && !$this.$field_22357_ad) {
                $this.$field_22377_m = $this.$field_22358_C;
                if (!$this.$field_22333_Z && !$this.$field_22357_ad) {
                    $this.$field_22375_o = $this.$field_22354_E;
                    if (!$this.$field_22335_X && !$this.$field_22337_V) {
                        $this.$field_22369_u = $this.$field_22358_C;
                        if (!$this.$field_22333_Z && !$this.$field_22337_V) {
                            $this.$field_22367_w = $this.$field_22354_E;
                            $var2 = $var2 + 1 | 0;
                            var$15 = $this.$field_22376_n;
                            var$26 = var$15 + $this.$field_22375_o;
                            var$24 = $this.$aoLightValueXNeg;
                            var$26 = var$26 + var$24;
                            var$27 = $this.$field_22354_E;
                            var$26 = (var$26 + var$27) / 4.0;
                            var$27 = var$24 + var$27;
                            var$25 = $this.$field_22368_v;
                            var$27 = (var$27 + var$25 + $this.$field_22367_w) / 4.0;
                            var$28 = $this.$field_22358_C;
                            var$25 = (var$28 + var$24 + $this.$field_22369_u + var$25) / 4.0;
                            var$15 = ($this.$field_22377_m + var$15 + var$28 + var$24) / 4.0;
                            var$24 = (!$var17 ? 1.0 : $var5) * 0.6000000238418579;
                            $this.$colorRedTopRight = var$24;
                            $this.$colorRedBottomRight = var$24;
                            $this.$colorRedBottomLeft = var$24;
                            $this.$colorRedTopLeft = var$24;
                            var$28 = (!$var17 ? 1.0 : $var6) * 0.6000000238418579;
                            $this.$colorGreenTopRight = var$28;
                            $this.$colorGreenBottomRight = var$28;
                            $this.$colorGreenBottomLeft = var$28;
                            $this.$colorGreenTopLeft = var$28;
                            var$29 = (!$var17 ? 1.0 : $var7) * 0.6000000238418579;
                            $this.$colorBlueTopRight = var$29;
                            $this.$colorBlueBottomRight = var$29;
                            $this.$colorBlueBottomLeft = var$29;
                            $this.$colorBlueTopLeft = var$29;
                            $this.$colorRedTopLeft = var$24 * var$27;
                            $this.$colorGreenTopLeft = var$28 * var$27;
                            $this.$colorBlueTopLeft = var$29 * var$27;
                            $this.$colorRedBottomLeft = var$24 * var$25;
                            $this.$colorGreenBottomLeft = var$28 * var$25;
                            $this.$colorBlueBottomLeft = var$29 * var$25;
                            $this.$colorRedBottomRight = var$24 * var$15;
                            $this.$colorGreenBottomRight = var$28 * var$15;
                            $this.$colorBlueBottomRight = var$29 * var$15;
                            $this.$colorRedTopRight = var$24 * var$26;
                            $this.$colorGreenTopRight = var$28 * var$26;
                            $this.$colorBlueTopRight = var$29 * var$26;
                            var$30 = $var2;
                            var$31 = $var3;
                            var$32 = $var4;
                            var$14 = $this.$blockAccess;
                            var$23 = 4;
                            $ptr = 80;
                            continue main;
                        }
                        var$14 = $this.$blockAccess;
                        $ptr = 79;
                        continue main;
                    }
                    var$14 = $this.$blockAccess;
                    $ptr = 77;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 68;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 65;
            continue main;
        case 62:
            $tmp = $var1.$getBlockBrightness(var$14, var$19, $var8, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22365_y = var$15;
            $var4 = $var4 + 1 | 0;
            var$15 = $this.$field_22358_C;
            var$26 = var$15 + $this.$field_22369_u;
            var$24 = $this.$aoLightValueZNeg;
            var$26 = var$26 + var$24;
            var$27 = $this.$field_22366_x;
            var$26 = (var$26 + var$27) / 4.0;
            var$27 = var$24 + var$27;
            var$25 = $this.$field_22356_D;
            var$27 = (var$27 + var$25 + $this.$field_22365_y) / 4.0;
            var$28 = $this.$field_22374_p;
            var$25 = (var$28 + var$24 + $this.$field_22372_r + var$25) / 4.0;
            var$15 = ($this.$field_22377_m + var$15 + var$28 + var$24) / 4.0;
            var$24 = (!$var15 ? 1.0 : $var5) * 0.800000011920929;
            $this.$colorRedTopRight = var$24;
            $this.$colorRedBottomRight = var$24;
            $this.$colorRedBottomLeft = var$24;
            $this.$colorRedTopLeft = var$24;
            var$28 = (!$var15 ? 1.0 : $var6) * 0.800000011920929;
            $this.$colorGreenTopRight = var$28;
            $this.$colorGreenBottomRight = var$28;
            $this.$colorGreenBottomLeft = var$28;
            $this.$colorGreenTopLeft = var$28;
            var$29 = (!$var15 ? 1.0 : $var7) * 0.800000011920929;
            $this.$colorBlueTopRight = var$29;
            $this.$colorBlueBottomRight = var$29;
            $this.$colorBlueBottomLeft = var$29;
            $this.$colorBlueTopLeft = var$29;
            $this.$colorRedTopLeft = var$24 * var$26;
            $this.$colorGreenTopLeft = var$28 * var$26;
            $this.$colorBlueTopLeft = var$29 * var$26;
            $this.$colorRedBottomLeft = var$24 * var$27;
            $this.$colorGreenBottomLeft = var$28 * var$27;
            $this.$colorBlueBottomLeft = var$29 * var$27;
            $this.$colorRedBottomRight = var$24 * var$25;
            $this.$colorGreenBottomRight = var$28 * var$25;
            $this.$colorBlueBottomRight = var$29 * var$25;
            $this.$colorRedTopRight = var$24 * var$15;
            $this.$colorGreenTopRight = var$28 * var$15;
            $this.$colorBlueTopRight = var$29 * var$15;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 2;
            $ptr = 63;
        case 63:
            $tmp = $var1.$getBlockTexture(var$14, $var2, $var3, $var4, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            $ptr = 64;
        case 64:
            nms_RenderBlocks_renderEastFace($this, $var1, var$30, var$31, var$32, var$23);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 1;
            if (!$this.$renderAllFaces) {
                var$14 = $this.$blockAccess;
                var$23 = $var4 + 1 | 0;
                $var13 = 3;
                $ptr = 47;
                continue main;
            }
            if ($this.$field_22352_G > 0) {
                var$23 = $var4 + 1 | 0;
                var$14 = $this.$blockAccess;
                $ptr = 49;
                continue main;
            }
            var$26 = $this.$aoLightValueZPos;
            var$27 = var$26;
            var$25 = var$26;
            var$15 = var$26;
            var$24 = (!$var16 ? 1.0 : $var5) * 0.800000011920929;
            $this.$colorRedTopRight = var$24;
            $this.$colorRedBottomRight = var$24;
            $this.$colorRedBottomLeft = var$24;
            $this.$colorRedTopLeft = var$24;
            var$28 = (!$var16 ? 1.0 : $var6) * 0.800000011920929;
            $this.$colorGreenTopRight = var$28;
            $this.$colorGreenBottomRight = var$28;
            $this.$colorGreenBottomLeft = var$28;
            $this.$colorGreenTopLeft = var$28;
            var$29 = (!$var16 ? 1.0 : $var7) * 0.800000011920929;
            $this.$colorBlueTopRight = var$29;
            $this.$colorBlueBottomRight = var$29;
            $this.$colorBlueBottomLeft = var$29;
            $this.$colorBlueTopLeft = var$29;
            $this.$colorRedTopLeft = var$24 * var$26;
            $this.$colorGreenTopLeft = var$28 * var$26;
            $this.$colorBlueTopLeft = var$29 * var$26;
            $this.$colorRedBottomLeft = var$24 * var$15;
            $this.$colorGreenBottomLeft = var$28 * var$15;
            $this.$colorBlueBottomLeft = var$29 * var$15;
            $this.$colorRedBottomRight = var$24 * var$25;
            $this.$colorGreenBottomRight = var$28 * var$25;
            $this.$colorBlueBottomRight = var$29 * var$25;
            $this.$colorRedTopRight = var$24 * var$27;
            $this.$colorGreenTopRight = var$28 * var$27;
            $this.$colorBlueTopRight = var$29 * var$27;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 3;
            $ptr = 74;
            continue main;
        case 65:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, var$23, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22377_m = var$15;
            if (!$this.$field_22333_Z && !$this.$field_22357_ad) {
                $this.$field_22375_o = $this.$field_22354_E;
                if (!$this.$field_22335_X && !$this.$field_22337_V) {
                    $this.$field_22369_u = $this.$field_22358_C;
                    if (!$this.$field_22333_Z && !$this.$field_22337_V) {
                        $this.$field_22367_w = $this.$field_22354_E;
                        $var2 = $var2 + 1 | 0;
                        var$15 = $this.$field_22376_n;
                        var$26 = var$15 + $this.$field_22375_o;
                        var$24 = $this.$aoLightValueXNeg;
                        var$26 = var$26 + var$24;
                        var$27 = $this.$field_22354_E;
                        var$26 = (var$26 + var$27) / 4.0;
                        var$27 = var$24 + var$27;
                        var$25 = $this.$field_22368_v;
                        var$27 = (var$27 + var$25 + $this.$field_22367_w) / 4.0;
                        var$28 = $this.$field_22358_C;
                        var$25 = (var$28 + var$24 + $this.$field_22369_u + var$25) / 4.0;
                        var$15 = ($this.$field_22377_m + var$15 + var$28 + var$24) / 4.0;
                        var$24 = (!$var17 ? 1.0 : $var5) * 0.6000000238418579;
                        $this.$colorRedTopRight = var$24;
                        $this.$colorRedBottomRight = var$24;
                        $this.$colorRedBottomLeft = var$24;
                        $this.$colorRedTopLeft = var$24;
                        var$28 = (!$var17 ? 1.0 : $var6) * 0.6000000238418579;
                        $this.$colorGreenTopRight = var$28;
                        $this.$colorGreenBottomRight = var$28;
                        $this.$colorGreenBottomLeft = var$28;
                        $this.$colorGreenTopLeft = var$28;
                        var$29 = (!$var17 ? 1.0 : $var7) * 0.6000000238418579;
                        $this.$colorBlueTopRight = var$29;
                        $this.$colorBlueBottomRight = var$29;
                        $this.$colorBlueBottomLeft = var$29;
                        $this.$colorBlueTopLeft = var$29;
                        $this.$colorRedTopLeft = var$24 * var$27;
                        $this.$colorGreenTopLeft = var$28 * var$27;
                        $this.$colorBlueTopLeft = var$29 * var$27;
                        $this.$colorRedBottomLeft = var$24 * var$25;
                        $this.$colorGreenBottomLeft = var$28 * var$25;
                        $this.$colorBlueBottomLeft = var$29 * var$25;
                        $this.$colorRedBottomRight = var$24 * var$15;
                        $this.$colorGreenBottomRight = var$28 * var$15;
                        $this.$colorBlueBottomRight = var$29 * var$15;
                        $this.$colorRedTopRight = var$24 * var$26;
                        $this.$colorGreenTopRight = var$28 * var$26;
                        $this.$colorBlueTopRight = var$29 * var$26;
                        var$30 = $var2;
                        var$31 = $var3;
                        var$32 = $var4;
                        var$14 = $this.$blockAccess;
                        var$23 = 4;
                        $ptr = 80;
                        continue main;
                    }
                    var$14 = $this.$blockAccess;
                    $ptr = 79;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 77;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 68;
            continue main;
        case 66:
            $tmp = $var1.$getBlockBrightness(var$14, var$19, $var4, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22370_t = var$15;
            if (!$this.$field_22334_Y && !$this.$field_22336_W) {
                $this.$field_22360_B = $this.$field_22353_F;
                $var4 = var$23 + (-1) | 0;
                var$15 = $this.$field_22354_E;
                var$26 = var$15 + $this.$field_22367_w;
                var$24 = $this.$aoLightValueZPos;
                var$26 = var$26 + var$24;
                var$27 = $this.$field_22362_A;
                var$26 = (var$26 + var$27) / 4.0;
                var$27 = var$24 + var$27;
                var$25 = $this.$field_22353_F;
                var$27 = (var$27 + var$25 + $this.$field_22360_B) / 4.0;
                var$28 = $this.$field_22373_q;
                var$25 = (var$28 + var$24 + $this.$field_22370_t + var$25) / 4.0;
                var$15 = ($this.$field_22375_o + var$15 + var$28 + var$24) / 4.0;
                var$24 = (!$var16 ? 1.0 : $var5) * 0.800000011920929;
                $this.$colorRedTopRight = var$24;
                $this.$colorRedBottomRight = var$24;
                $this.$colorRedBottomLeft = var$24;
                $this.$colorRedTopLeft = var$24;
                var$28 = (!$var16 ? 1.0 : $var6) * 0.800000011920929;
                $this.$colorGreenTopRight = var$28;
                $this.$colorGreenBottomRight = var$28;
                $this.$colorGreenBottomLeft = var$28;
                $this.$colorGreenTopLeft = var$28;
                var$29 = (!$var16 ? 1.0 : $var7) * 0.800000011920929;
                $this.$colorBlueTopRight = var$29;
                $this.$colorBlueBottomRight = var$29;
                $this.$colorBlueBottomLeft = var$29;
                $this.$colorBlueTopLeft = var$29;
                $this.$colorRedTopLeft = var$24 * var$26;
                $this.$colorGreenTopLeft = var$28 * var$26;
                $this.$colorBlueTopLeft = var$29 * var$26;
                $this.$colorRedBottomLeft = var$24 * var$15;
                $this.$colorGreenBottomLeft = var$28 * var$15;
                $this.$colorBlueBottomLeft = var$29 * var$15;
                $this.$colorRedBottomRight = var$24 * var$25;
                $this.$colorGreenBottomRight = var$28 * var$25;
                $this.$colorBlueBottomRight = var$29 * var$25;
                $this.$colorRedTopRight = var$24 * var$27;
                $this.$colorGreenTopRight = var$28 * var$27;
                $this.$colorBlueTopRight = var$29 * var$27;
                var$30 = $var2;
                var$31 = $var3;
                var$32 = $var4;
                var$14 = $this.$blockAccess;
                var$23 = 3;
                $ptr = 74;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 73;
            continue main;
        case 67:
            $tmp = $var1.$shouldSideBeRendered(var$14, var$23, $var3, $var4, $var13);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            if (!var$23) {
                $this.$enableAO = 0;
                return $var8;
            }
            if ($this.$field_22352_G > 0) {
                $var2 = $var2 + 1 | 0;
                var$14 = $this.$blockAccess;
                var$23 = $var3 - 1 | 0;
                $ptr = 69;
                continue main;
            }
            var$26 = $this.$aoLightValueXPos;
            var$27 = var$26;
            var$25 = var$26;
            var$15 = var$26;
            if (!$var18)
                $var5 = 1.0;
            $var5 = $var5 * 0.6000000238418579;
            $this.$colorRedTopRight = $var5;
            $this.$colorRedBottomRight = $var5;
            $this.$colorRedBottomLeft = $var5;
            $this.$colorRedTopLeft = $var5;
            if (!$var18)
                $var6 = 1.0;
            $var6 = $var6 * 0.6000000238418579;
            $this.$colorGreenTopRight = $var6;
            $this.$colorGreenBottomRight = $var6;
            $this.$colorGreenBottomLeft = $var6;
            $this.$colorGreenTopLeft = $var6;
            if (!$var18)
                $var7 = 1.0;
            $var7 = $var7 * 0.6000000238418579;
            $this.$colorBlueTopRight = $var7;
            $this.$colorBlueBottomRight = $var7;
            $this.$colorBlueBottomLeft = $var7;
            $this.$colorBlueTopLeft = $var7;
            $this.$colorRedTopLeft = $var5 * var$26;
            $this.$colorGreenTopLeft = $var6 * var$26;
            $this.$colorBlueTopLeft = $var7 * var$26;
            $this.$colorRedBottomLeft = $var5 * var$15;
            $this.$colorGreenBottomLeft = $var6 * var$15;
            $this.$colorBlueBottomLeft = $var7 * var$15;
            $this.$colorRedBottomRight = $var5 * var$25;
            $this.$colorGreenBottomRight = $var6 * var$25;
            $this.$colorBlueBottomRight = $var7 * var$25;
            $this.$colorRedTopRight = $var5 * var$27;
            $this.$colorGreenTopRight = $var6 * var$27;
            $this.$colorBlueTopRight = $var7 * var$27;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 5;
            $ptr = 84;
            continue main;
        case 68:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, var$23, $var13);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22375_o = var$15;
            if (!$this.$field_22335_X && !$this.$field_22337_V) {
                $this.$field_22369_u = $this.$field_22358_C;
                if (!$this.$field_22333_Z && !$this.$field_22337_V) {
                    $this.$field_22367_w = $this.$field_22354_E;
                    $var2 = $var2 + 1 | 0;
                    var$15 = $this.$field_22376_n;
                    var$26 = var$15 + $this.$field_22375_o;
                    var$24 = $this.$aoLightValueXNeg;
                    var$26 = var$26 + var$24;
                    var$27 = $this.$field_22354_E;
                    var$26 = (var$26 + var$27) / 4.0;
                    var$27 = var$24 + var$27;
                    var$25 = $this.$field_22368_v;
                    var$27 = (var$27 + var$25 + $this.$field_22367_w) / 4.0;
                    var$28 = $this.$field_22358_C;
                    var$25 = (var$28 + var$24 + $this.$field_22369_u + var$25) / 4.0;
                    var$15 = ($this.$field_22377_m + var$15 + var$28 + var$24) / 4.0;
                    var$24 = (!$var17 ? 1.0 : $var5) * 0.6000000238418579;
                    $this.$colorRedTopRight = var$24;
                    $this.$colorRedBottomRight = var$24;
                    $this.$colorRedBottomLeft = var$24;
                    $this.$colorRedTopLeft = var$24;
                    var$28 = (!$var17 ? 1.0 : $var6) * 0.6000000238418579;
                    $this.$colorGreenTopRight = var$28;
                    $this.$colorGreenBottomRight = var$28;
                    $this.$colorGreenBottomLeft = var$28;
                    $this.$colorGreenTopLeft = var$28;
                    var$29 = (!$var17 ? 1.0 : $var7) * 0.6000000238418579;
                    $this.$colorBlueTopRight = var$29;
                    $this.$colorBlueBottomRight = var$29;
                    $this.$colorBlueBottomLeft = var$29;
                    $this.$colorBlueTopLeft = var$29;
                    $this.$colorRedTopLeft = var$24 * var$27;
                    $this.$colorGreenTopLeft = var$28 * var$27;
                    $this.$colorBlueTopLeft = var$29 * var$27;
                    $this.$colorRedBottomLeft = var$24 * var$25;
                    $this.$colorGreenBottomLeft = var$28 * var$25;
                    $this.$colorBlueBottomLeft = var$29 * var$25;
                    $this.$colorRedBottomRight = var$24 * var$15;
                    $this.$colorGreenBottomRight = var$28 * var$15;
                    $this.$colorBlueBottomRight = var$29 * var$15;
                    $this.$colorRedTopRight = var$24 * var$26;
                    $this.$colorGreenTopRight = var$28 * var$26;
                    $this.$colorBlueTopRight = var$29 * var$26;
                    var$30 = $var2;
                    var$31 = $var3;
                    var$32 = $var4;
                    var$14 = $this.$blockAccess;
                    var$23 = 4;
                    $ptr = 80;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 79;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 77;
            continue main;
        case 69:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, var$23, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22371_s = var$15;
            var$14 = $this.$blockAccess;
            $var8 = $var4 - 1 | 0;
            $ptr = 70;
        case 70:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var3, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22356_D = var$15;
            var$14 = $this.$blockAccess;
            $var13 = $var4 + 1 | 0;
            $ptr = 71;
        case 71:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var3, $var13);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22353_F = var$15;
            var$14 = $this.$blockAccess;
            $var15 = $var3 + 1 | 0;
            $ptr = 72;
        case 72:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var15, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22364_z = var$15;
            if (!$this.$field_22359_ac && !$this.$field_22363_aa) {
                $this.$field_22372_r = $this.$field_22356_D;
                if (!$this.$field_22359_ac && !$this.$field_22334_Y) {
                    $this.$field_22370_t = $this.$field_22353_F;
                    if (!$this.$field_22338_U && !$this.$field_22363_aa) {
                        $this.$field_22365_y = $this.$field_22356_D;
                        if (!$this.$field_22338_U && !$this.$field_22334_Y) {
                            $this.$field_22360_B = $this.$field_22353_F;
                            $var2 = $var2 + (-1) | 0;
                            var$15 = $this.$field_22371_s;
                            var$26 = var$15 + $this.$field_22370_t;
                            var$24 = $this.$aoLightValueXPos;
                            var$26 = var$26 + var$24;
                            var$27 = $this.$field_22353_F;
                            var$26 = (var$26 + var$27) / 4.0;
                            var$27 = var$24 + var$27;
                            var$25 = $this.$field_22364_z;
                            var$27 = (var$27 + var$25 + $this.$field_22360_B) / 4.0;
                            var$28 = $this.$field_22356_D;
                            var$25 = (var$28 + var$24 + $this.$field_22365_y + var$25) / 4.0;
                            var$15 = ($this.$field_22372_r + var$15 + var$28 + var$24) / 4.0;
                            if (!$var18)
                                $var5 = 1.0;
                            $var5 = $var5 * 0.6000000238418579;
                            $this.$colorRedTopRight = $var5;
                            $this.$colorRedBottomRight = $var5;
                            $this.$colorRedBottomLeft = $var5;
                            $this.$colorRedTopLeft = $var5;
                            if (!$var18)
                                $var6 = 1.0;
                            $var6 = $var6 * 0.6000000238418579;
                            $this.$colorGreenTopRight = $var6;
                            $this.$colorGreenBottomRight = $var6;
                            $this.$colorGreenBottomLeft = $var6;
                            $this.$colorGreenTopLeft = $var6;
                            if (!$var18)
                                $var7 = 1.0;
                            $var7 = $var7 * 0.6000000238418579;
                            $this.$colorBlueTopRight = $var7;
                            $this.$colorBlueBottomRight = $var7;
                            $this.$colorBlueBottomLeft = $var7;
                            $this.$colorBlueTopLeft = $var7;
                            $this.$colorRedTopLeft = $var5 * var$26;
                            $this.$colorGreenTopLeft = $var6 * var$26;
                            $this.$colorBlueTopLeft = $var7 * var$26;
                            $this.$colorRedBottomLeft = $var5 * var$15;
                            $this.$colorGreenBottomLeft = $var6 * var$15;
                            $this.$colorBlueBottomLeft = $var7 * var$15;
                            $this.$colorRedBottomRight = $var5 * var$25;
                            $this.$colorGreenBottomRight = $var6 * var$25;
                            $this.$colorBlueBottomRight = $var7 * var$25;
                            $this.$colorRedTopRight = $var5 * var$27;
                            $this.$colorGreenTopRight = $var6 * var$27;
                            $this.$colorBlueTopRight = $var7 * var$27;
                            var$30 = $var2;
                            var$31 = $var3;
                            var$32 = $var4;
                            var$14 = $this.$blockAccess;
                            var$23 = 5;
                            $ptr = 84;
                            continue main;
                        }
                        var$14 = $this.$blockAccess;
                        $ptr = 83;
                        continue main;
                    }
                    var$14 = $this.$blockAccess;
                    $ptr = 82;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 78;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 76;
            continue main;
        case 73:
            $tmp = $var1.$getBlockBrightness(var$14, var$19, $var8, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22360_B = var$15;
            $var4 = var$23 + (-1) | 0;
            var$15 = $this.$field_22354_E;
            var$26 = var$15 + $this.$field_22367_w;
            var$24 = $this.$aoLightValueZPos;
            var$26 = var$26 + var$24;
            var$27 = $this.$field_22362_A;
            var$26 = (var$26 + var$27) / 4.0;
            var$27 = var$24 + var$27;
            var$25 = $this.$field_22353_F;
            var$27 = (var$27 + var$25 + $this.$field_22360_B) / 4.0;
            var$28 = $this.$field_22373_q;
            var$25 = (var$28 + var$24 + $this.$field_22370_t + var$25) / 4.0;
            var$15 = ($this.$field_22375_o + var$15 + var$28 + var$24) / 4.0;
            var$24 = (!$var16 ? 1.0 : $var5) * 0.800000011920929;
            $this.$colorRedTopRight = var$24;
            $this.$colorRedBottomRight = var$24;
            $this.$colorRedBottomLeft = var$24;
            $this.$colorRedTopLeft = var$24;
            var$28 = (!$var16 ? 1.0 : $var6) * 0.800000011920929;
            $this.$colorGreenTopRight = var$28;
            $this.$colorGreenBottomRight = var$28;
            $this.$colorGreenBottomLeft = var$28;
            $this.$colorGreenTopLeft = var$28;
            var$29 = (!$var16 ? 1.0 : $var7) * 0.800000011920929;
            $this.$colorBlueTopRight = var$29;
            $this.$colorBlueBottomRight = var$29;
            $this.$colorBlueBottomLeft = var$29;
            $this.$colorBlueTopLeft = var$29;
            $this.$colorRedTopLeft = var$24 * var$26;
            $this.$colorGreenTopLeft = var$28 * var$26;
            $this.$colorBlueTopLeft = var$29 * var$26;
            $this.$colorRedBottomLeft = var$24 * var$15;
            $this.$colorGreenBottomLeft = var$28 * var$15;
            $this.$colorBlueBottomLeft = var$29 * var$15;
            $this.$colorRedBottomRight = var$24 * var$25;
            $this.$colorGreenBottomRight = var$28 * var$25;
            $this.$colorBlueBottomRight = var$29 * var$25;
            $this.$colorRedTopRight = var$24 * var$27;
            $this.$colorGreenTopRight = var$28 * var$27;
            $this.$colorBlueTopRight = var$29 * var$27;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 3;
            $ptr = 74;
        case 74:
            $tmp = $var1.$getBlockTexture(var$14, $var2, $var3, $var4, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            $ptr = 75;
        case 75:
            nms_RenderBlocks_renderWestFace($this, $var1, var$30, var$31, var$32, var$23);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 1;
            if (!$this.$renderAllFaces) {
                var$14 = $this.$blockAccess;
                var$23 = 4;
                $ptr = 56;
                continue main;
            }
            if ($this.$field_22352_G > 0) {
                $var2 = $var2 + (-1) | 0;
                var$14 = $this.$blockAccess;
                var$23 = $var3 - 1 | 0;
                $ptr = 58;
                continue main;
            }
            var$27 = $this.$aoLightValueXNeg;
            var$26 = var$27;
            var$15 = var$27;
            var$25 = var$27;
            var$24 = (!$var17 ? 1.0 : $var5) * 0.6000000238418579;
            $this.$colorRedTopRight = var$24;
            $this.$colorRedBottomRight = var$24;
            $this.$colorRedBottomLeft = var$24;
            $this.$colorRedTopLeft = var$24;
            var$28 = (!$var17 ? 1.0 : $var6) * 0.6000000238418579;
            $this.$colorGreenTopRight = var$28;
            $this.$colorGreenBottomRight = var$28;
            $this.$colorGreenBottomLeft = var$28;
            $this.$colorGreenTopLeft = var$28;
            var$29 = (!$var17 ? 1.0 : $var7) * 0.6000000238418579;
            $this.$colorBlueTopRight = var$29;
            $this.$colorBlueBottomRight = var$29;
            $this.$colorBlueBottomLeft = var$29;
            $this.$colorBlueTopLeft = var$29;
            $this.$colorRedTopLeft = var$24 * var$27;
            $this.$colorGreenTopLeft = var$28 * var$27;
            $this.$colorBlueTopLeft = var$29 * var$27;
            $this.$colorRedBottomLeft = var$24 * var$25;
            $this.$colorGreenBottomLeft = var$28 * var$25;
            $this.$colorBlueBottomLeft = var$29 * var$25;
            $this.$colorRedBottomRight = var$24 * var$15;
            $this.$colorGreenBottomRight = var$28 * var$15;
            $this.$colorBlueBottomRight = var$29 * var$15;
            $this.$colorRedTopRight = var$24 * var$26;
            $this.$colorGreenTopRight = var$28 * var$26;
            $this.$colorBlueTopRight = var$29 * var$26;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 4;
            $ptr = 80;
            continue main;
        case 76:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, var$23, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22372_r = var$15;
            if (!$this.$field_22359_ac && !$this.$field_22334_Y) {
                $this.$field_22370_t = $this.$field_22353_F;
                if (!$this.$field_22338_U && !$this.$field_22363_aa) {
                    $this.$field_22365_y = $this.$field_22356_D;
                    if (!$this.$field_22338_U && !$this.$field_22334_Y) {
                        $this.$field_22360_B = $this.$field_22353_F;
                        $var2 = $var2 + (-1) | 0;
                        var$15 = $this.$field_22371_s;
                        var$26 = var$15 + $this.$field_22370_t;
                        var$24 = $this.$aoLightValueXPos;
                        var$26 = var$26 + var$24;
                        var$27 = $this.$field_22353_F;
                        var$26 = (var$26 + var$27) / 4.0;
                        var$27 = var$24 + var$27;
                        var$25 = $this.$field_22364_z;
                        var$27 = (var$27 + var$25 + $this.$field_22360_B) / 4.0;
                        var$28 = $this.$field_22356_D;
                        var$25 = (var$28 + var$24 + $this.$field_22365_y + var$25) / 4.0;
                        var$15 = ($this.$field_22372_r + var$15 + var$28 + var$24) / 4.0;
                        if (!$var18)
                            $var5 = 1.0;
                        $var5 = $var5 * 0.6000000238418579;
                        $this.$colorRedTopRight = $var5;
                        $this.$colorRedBottomRight = $var5;
                        $this.$colorRedBottomLeft = $var5;
                        $this.$colorRedTopLeft = $var5;
                        if (!$var18)
                            $var6 = 1.0;
                        $var6 = $var6 * 0.6000000238418579;
                        $this.$colorGreenTopRight = $var6;
                        $this.$colorGreenBottomRight = $var6;
                        $this.$colorGreenBottomLeft = $var6;
                        $this.$colorGreenTopLeft = $var6;
                        if (!$var18)
                            $var7 = 1.0;
                        $var7 = $var7 * 0.6000000238418579;
                        $this.$colorBlueTopRight = $var7;
                        $this.$colorBlueBottomRight = $var7;
                        $this.$colorBlueBottomLeft = $var7;
                        $this.$colorBlueTopLeft = $var7;
                        $this.$colorRedTopLeft = $var5 * var$26;
                        $this.$colorGreenTopLeft = $var6 * var$26;
                        $this.$colorBlueTopLeft = $var7 * var$26;
                        $this.$colorRedBottomLeft = $var5 * var$15;
                        $this.$colorGreenBottomLeft = $var6 * var$15;
                        $this.$colorBlueBottomLeft = $var7 * var$15;
                        $this.$colorRedBottomRight = $var5 * var$25;
                        $this.$colorGreenBottomRight = $var6 * var$25;
                        $this.$colorBlueBottomRight = $var7 * var$25;
                        $this.$colorRedTopRight = $var5 * var$27;
                        $this.$colorGreenTopRight = $var6 * var$27;
                        $this.$colorBlueTopRight = $var7 * var$27;
                        var$30 = $var2;
                        var$31 = $var3;
                        var$32 = $var4;
                        var$14 = $this.$blockAccess;
                        var$23 = 5;
                        $ptr = 84;
                        continue main;
                    }
                    var$14 = $this.$blockAccess;
                    $ptr = 83;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 82;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 78;
            continue main;
        case 77:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var15, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22369_u = var$15;
            if (!$this.$field_22333_Z && !$this.$field_22337_V) {
                $this.$field_22367_w = $this.$field_22354_E;
                $var2 = $var2 + 1 | 0;
                var$15 = $this.$field_22376_n;
                var$26 = var$15 + $this.$field_22375_o;
                var$24 = $this.$aoLightValueXNeg;
                var$26 = var$26 + var$24;
                var$27 = $this.$field_22354_E;
                var$26 = (var$26 + var$27) / 4.0;
                var$27 = var$24 + var$27;
                var$25 = $this.$field_22368_v;
                var$27 = (var$27 + var$25 + $this.$field_22367_w) / 4.0;
                var$28 = $this.$field_22358_C;
                var$25 = (var$28 + var$24 + $this.$field_22369_u + var$25) / 4.0;
                var$15 = ($this.$field_22377_m + var$15 + var$28 + var$24) / 4.0;
                var$24 = (!$var17 ? 1.0 : $var5) * 0.6000000238418579;
                $this.$colorRedTopRight = var$24;
                $this.$colorRedBottomRight = var$24;
                $this.$colorRedBottomLeft = var$24;
                $this.$colorRedTopLeft = var$24;
                var$28 = (!$var17 ? 1.0 : $var6) * 0.6000000238418579;
                $this.$colorGreenTopRight = var$28;
                $this.$colorGreenBottomRight = var$28;
                $this.$colorGreenBottomLeft = var$28;
                $this.$colorGreenTopLeft = var$28;
                var$29 = (!$var17 ? 1.0 : $var7) * 0.6000000238418579;
                $this.$colorBlueTopRight = var$29;
                $this.$colorBlueBottomRight = var$29;
                $this.$colorBlueBottomLeft = var$29;
                $this.$colorBlueTopLeft = var$29;
                $this.$colorRedTopLeft = var$24 * var$27;
                $this.$colorGreenTopLeft = var$28 * var$27;
                $this.$colorBlueTopLeft = var$29 * var$27;
                $this.$colorRedBottomLeft = var$24 * var$25;
                $this.$colorGreenBottomLeft = var$28 * var$25;
                $this.$colorBlueBottomLeft = var$29 * var$25;
                $this.$colorRedBottomRight = var$24 * var$15;
                $this.$colorGreenBottomRight = var$28 * var$15;
                $this.$colorBlueBottomRight = var$29 * var$15;
                $this.$colorRedTopRight = var$24 * var$26;
                $this.$colorGreenTopRight = var$28 * var$26;
                $this.$colorBlueTopRight = var$29 * var$26;
                var$30 = $var2;
                var$31 = $var3;
                var$32 = $var4;
                var$14 = $this.$blockAccess;
                var$23 = 4;
                $ptr = 80;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 79;
            continue main;
        case 78:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, var$23, $var13);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22370_t = var$15;
            if (!$this.$field_22338_U && !$this.$field_22363_aa) {
                $this.$field_22365_y = $this.$field_22356_D;
                if (!$this.$field_22338_U && !$this.$field_22334_Y) {
                    $this.$field_22360_B = $this.$field_22353_F;
                    $var2 = $var2 + (-1) | 0;
                    var$15 = $this.$field_22371_s;
                    var$26 = var$15 + $this.$field_22370_t;
                    var$24 = $this.$aoLightValueXPos;
                    var$26 = var$26 + var$24;
                    var$27 = $this.$field_22353_F;
                    var$26 = (var$26 + var$27) / 4.0;
                    var$27 = var$24 + var$27;
                    var$25 = $this.$field_22364_z;
                    var$27 = (var$27 + var$25 + $this.$field_22360_B) / 4.0;
                    var$28 = $this.$field_22356_D;
                    var$25 = (var$28 + var$24 + $this.$field_22365_y + var$25) / 4.0;
                    var$15 = ($this.$field_22372_r + var$15 + var$28 + var$24) / 4.0;
                    if (!$var18)
                        $var5 = 1.0;
                    $var5 = $var5 * 0.6000000238418579;
                    $this.$colorRedTopRight = $var5;
                    $this.$colorRedBottomRight = $var5;
                    $this.$colorRedBottomLeft = $var5;
                    $this.$colorRedTopLeft = $var5;
                    if (!$var18)
                        $var6 = 1.0;
                    $var6 = $var6 * 0.6000000238418579;
                    $this.$colorGreenTopRight = $var6;
                    $this.$colorGreenBottomRight = $var6;
                    $this.$colorGreenBottomLeft = $var6;
                    $this.$colorGreenTopLeft = $var6;
                    if (!$var18)
                        $var7 = 1.0;
                    $var7 = $var7 * 0.6000000238418579;
                    $this.$colorBlueTopRight = $var7;
                    $this.$colorBlueBottomRight = $var7;
                    $this.$colorBlueBottomLeft = $var7;
                    $this.$colorBlueTopLeft = $var7;
                    $this.$colorRedTopLeft = $var5 * var$26;
                    $this.$colorGreenTopLeft = $var6 * var$26;
                    $this.$colorBlueTopLeft = $var7 * var$26;
                    $this.$colorRedBottomLeft = $var5 * var$15;
                    $this.$colorGreenBottomLeft = $var6 * var$15;
                    $this.$colorBlueBottomLeft = $var7 * var$15;
                    $this.$colorRedBottomRight = $var5 * var$25;
                    $this.$colorGreenBottomRight = $var6 * var$25;
                    $this.$colorBlueBottomRight = $var7 * var$25;
                    $this.$colorRedTopRight = $var5 * var$27;
                    $this.$colorGreenTopRight = $var6 * var$27;
                    $this.$colorBlueTopRight = $var7 * var$27;
                    var$30 = $var2;
                    var$31 = $var3;
                    var$32 = $var4;
                    var$14 = $this.$blockAccess;
                    var$23 = 5;
                    $ptr = 84;
                    continue main;
                }
                var$14 = $this.$blockAccess;
                $ptr = 83;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 82;
            continue main;
        case 79:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var15, $var13);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22367_w = var$15;
            $var2 = $var2 + 1 | 0;
            var$15 = $this.$field_22376_n;
            var$26 = var$15 + $this.$field_22375_o;
            var$24 = $this.$aoLightValueXNeg;
            var$26 = var$26 + var$24;
            var$27 = $this.$field_22354_E;
            var$26 = (var$26 + var$27) / 4.0;
            var$27 = var$24 + var$27;
            var$25 = $this.$field_22368_v;
            var$27 = (var$27 + var$25 + $this.$field_22367_w) / 4.0;
            var$28 = $this.$field_22358_C;
            var$25 = (var$28 + var$24 + $this.$field_22369_u + var$25) / 4.0;
            var$15 = ($this.$field_22377_m + var$15 + var$28 + var$24) / 4.0;
            var$24 = (!$var17 ? 1.0 : $var5) * 0.6000000238418579;
            $this.$colorRedTopRight = var$24;
            $this.$colorRedBottomRight = var$24;
            $this.$colorRedBottomLeft = var$24;
            $this.$colorRedTopLeft = var$24;
            var$28 = (!$var17 ? 1.0 : $var6) * 0.6000000238418579;
            $this.$colorGreenTopRight = var$28;
            $this.$colorGreenBottomRight = var$28;
            $this.$colorGreenBottomLeft = var$28;
            $this.$colorGreenTopLeft = var$28;
            var$29 = (!$var17 ? 1.0 : $var7) * 0.6000000238418579;
            $this.$colorBlueTopRight = var$29;
            $this.$colorBlueBottomRight = var$29;
            $this.$colorBlueBottomLeft = var$29;
            $this.$colorBlueTopLeft = var$29;
            $this.$colorRedTopLeft = var$24 * var$27;
            $this.$colorGreenTopLeft = var$28 * var$27;
            $this.$colorBlueTopLeft = var$29 * var$27;
            $this.$colorRedBottomLeft = var$24 * var$25;
            $this.$colorGreenBottomLeft = var$28 * var$25;
            $this.$colorBlueBottomLeft = var$29 * var$25;
            $this.$colorRedBottomRight = var$24 * var$15;
            $this.$colorGreenBottomRight = var$28 * var$15;
            $this.$colorBlueBottomRight = var$29 * var$15;
            $this.$colorRedTopRight = var$24 * var$26;
            $this.$colorGreenTopRight = var$28 * var$26;
            $this.$colorBlueTopRight = var$29 * var$26;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 4;
            $ptr = 80;
        case 80:
            $tmp = $var1.$getBlockTexture(var$14, $var2, $var3, $var4, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            $ptr = 81;
        case 81:
            nms_RenderBlocks_renderNorthFace($this, $var1, var$30, var$31, var$32, var$23);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 1;
            if (!$this.$renderAllFaces) {
                var$14 = $this.$blockAccess;
                var$23 = $var2 + 1 | 0;
                $var13 = 5;
                $ptr = 67;
                continue main;
            }
            if ($this.$field_22352_G > 0) {
                $var2 = $var2 + 1 | 0;
                var$14 = $this.$blockAccess;
                var$23 = $var3 - 1 | 0;
                $ptr = 69;
                continue main;
            }
            var$26 = $this.$aoLightValueXPos;
            var$27 = var$26;
            var$25 = var$26;
            var$15 = var$26;
            if (!$var18)
                $var5 = 1.0;
            $var5 = $var5 * 0.6000000238418579;
            $this.$colorRedTopRight = $var5;
            $this.$colorRedBottomRight = $var5;
            $this.$colorRedBottomLeft = $var5;
            $this.$colorRedTopLeft = $var5;
            if (!$var18)
                $var6 = 1.0;
            $var6 = $var6 * 0.6000000238418579;
            $this.$colorGreenTopRight = $var6;
            $this.$colorGreenBottomRight = $var6;
            $this.$colorGreenBottomLeft = $var6;
            $this.$colorGreenTopLeft = $var6;
            if (!$var18)
                $var7 = 1.0;
            $var7 = $var7 * 0.6000000238418579;
            $this.$colorBlueTopRight = $var7;
            $this.$colorBlueBottomRight = $var7;
            $this.$colorBlueBottomLeft = $var7;
            $this.$colorBlueTopLeft = $var7;
            $this.$colorRedTopLeft = $var5 * var$26;
            $this.$colorGreenTopLeft = $var6 * var$26;
            $this.$colorBlueTopLeft = $var7 * var$26;
            $this.$colorRedBottomLeft = $var5 * var$15;
            $this.$colorGreenBottomLeft = $var6 * var$15;
            $this.$colorBlueBottomLeft = $var7 * var$15;
            $this.$colorRedBottomRight = $var5 * var$25;
            $this.$colorGreenBottomRight = $var6 * var$25;
            $this.$colorBlueBottomRight = $var7 * var$25;
            $this.$colorRedTopRight = $var5 * var$27;
            $this.$colorGreenTopRight = $var6 * var$27;
            $this.$colorBlueTopRight = $var7 * var$27;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 5;
            $ptr = 84;
            continue main;
        case 82:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var15, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22365_y = var$15;
            if (!$this.$field_22338_U && !$this.$field_22334_Y) {
                $this.$field_22360_B = $this.$field_22353_F;
                $var2 = $var2 + (-1) | 0;
                var$15 = $this.$field_22371_s;
                var$26 = var$15 + $this.$field_22370_t;
                var$24 = $this.$aoLightValueXPos;
                var$26 = var$26 + var$24;
                var$27 = $this.$field_22353_F;
                var$26 = (var$26 + var$27) / 4.0;
                var$27 = var$24 + var$27;
                var$25 = $this.$field_22364_z;
                var$27 = (var$27 + var$25 + $this.$field_22360_B) / 4.0;
                var$28 = $this.$field_22356_D;
                var$25 = (var$28 + var$24 + $this.$field_22365_y + var$25) / 4.0;
                var$15 = ($this.$field_22372_r + var$15 + var$28 + var$24) / 4.0;
                if (!$var18)
                    $var5 = 1.0;
                $var5 = $var5 * 0.6000000238418579;
                $this.$colorRedTopRight = $var5;
                $this.$colorRedBottomRight = $var5;
                $this.$colorRedBottomLeft = $var5;
                $this.$colorRedTopLeft = $var5;
                if (!$var18)
                    $var6 = 1.0;
                $var6 = $var6 * 0.6000000238418579;
                $this.$colorGreenTopRight = $var6;
                $this.$colorGreenBottomRight = $var6;
                $this.$colorGreenBottomLeft = $var6;
                $this.$colorGreenTopLeft = $var6;
                if (!$var18)
                    $var7 = 1.0;
                $var7 = $var7 * 0.6000000238418579;
                $this.$colorBlueTopRight = $var7;
                $this.$colorBlueBottomRight = $var7;
                $this.$colorBlueBottomLeft = $var7;
                $this.$colorBlueTopLeft = $var7;
                $this.$colorRedTopLeft = $var5 * var$26;
                $this.$colorGreenTopLeft = $var6 * var$26;
                $this.$colorBlueTopLeft = $var7 * var$26;
                $this.$colorRedBottomLeft = $var5 * var$15;
                $this.$colorGreenBottomLeft = $var6 * var$15;
                $this.$colorBlueBottomLeft = $var7 * var$15;
                $this.$colorRedBottomRight = $var5 * var$25;
                $this.$colorGreenBottomRight = $var6 * var$25;
                $this.$colorBlueBottomRight = $var7 * var$25;
                $this.$colorRedTopRight = $var5 * var$27;
                $this.$colorGreenTopRight = $var6 * var$27;
                $this.$colorBlueTopRight = $var7 * var$27;
                var$30 = $var2;
                var$31 = $var3;
                var$32 = $var4;
                var$14 = $this.$blockAccess;
                var$23 = 5;
                $ptr = 84;
                continue main;
            }
            var$14 = $this.$blockAccess;
            $ptr = 83;
        case 83:
            $tmp = $var1.$getBlockBrightness(var$14, $var2, $var15, $var13);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $this.$field_22360_B = var$15;
            $var2 = $var2 + (-1) | 0;
            var$15 = $this.$field_22371_s;
            var$26 = var$15 + $this.$field_22370_t;
            var$24 = $this.$aoLightValueXPos;
            var$26 = var$26 + var$24;
            var$27 = $this.$field_22353_F;
            var$26 = (var$26 + var$27) / 4.0;
            var$27 = var$24 + var$27;
            var$25 = $this.$field_22364_z;
            var$27 = (var$27 + var$25 + $this.$field_22360_B) / 4.0;
            var$28 = $this.$field_22356_D;
            var$25 = (var$28 + var$24 + $this.$field_22365_y + var$25) / 4.0;
            var$15 = ($this.$field_22372_r + var$15 + var$28 + var$24) / 4.0;
            if (!$var18)
                $var5 = 1.0;
            $var5 = $var5 * 0.6000000238418579;
            $this.$colorRedTopRight = $var5;
            $this.$colorRedBottomRight = $var5;
            $this.$colorRedBottomLeft = $var5;
            $this.$colorRedTopLeft = $var5;
            if (!$var18)
                $var6 = 1.0;
            $var6 = $var6 * 0.6000000238418579;
            $this.$colorGreenTopRight = $var6;
            $this.$colorGreenBottomRight = $var6;
            $this.$colorGreenBottomLeft = $var6;
            $this.$colorGreenTopLeft = $var6;
            if (!$var18)
                $var7 = 1.0;
            $var7 = $var7 * 0.6000000238418579;
            $this.$colorBlueTopRight = $var7;
            $this.$colorBlueBottomRight = $var7;
            $this.$colorBlueBottomLeft = $var7;
            $this.$colorBlueTopLeft = $var7;
            $this.$colorRedTopLeft = $var5 * var$26;
            $this.$colorGreenTopLeft = $var6 * var$26;
            $this.$colorBlueTopLeft = $var7 * var$26;
            $this.$colorRedBottomLeft = $var5 * var$15;
            $this.$colorGreenBottomLeft = $var6 * var$15;
            $this.$colorBlueBottomLeft = $var7 * var$15;
            $this.$colorRedBottomRight = $var5 * var$25;
            $this.$colorGreenBottomRight = $var6 * var$25;
            $this.$colorBlueBottomRight = $var7 * var$25;
            $this.$colorRedTopRight = $var5 * var$27;
            $this.$colorGreenTopRight = $var6 * var$27;
            $this.$colorBlueTopRight = $var7 * var$27;
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$14 = $this.$blockAccess;
            var$23 = 5;
            $ptr = 84;
        case 84:
            $tmp = $var1.$getBlockTexture(var$14, $var2, $var3, $var4, var$23);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 85;
        case 85:
            nms_RenderBlocks_renderSouthFace($this, $var1, var$30, var$31, var$32, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 1;
            $this.$enableAO = 0;
            return $var8;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var13, $var15, $var16, $var17, $var18, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, var$25, var$26, var$27, var$28, var$29, var$30, var$31, var$32, $ptr);
    }
    function nms_RenderBlocks_renderStandardBlockWithColorMultiplier($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, $var9, $var10, $var12, $var13, $var14, $var15, $var16, $var17, $var18, $var19, $var20, $var21, $var22, $var23, $var24, $var25, var$25, $var26, var$27, var$28, $var27, var$30, var$31, var$32, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$32 = $thread.pop();var$31 = $thread.pop();var$30 = $thread.pop();$var27 = $thread.pop();var$28 = $thread.pop();var$27 = $thread.pop();$var26 = $thread.pop();var$25 = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12
            = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$enableAO = 0;
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = nms_Tessellator_instance;
            $var9 = 0;
            $var10 = 0.5;
            $var12 = 0.800000011920929;
            $var13 = 0.6000000238418579;
            $var14 = 1.0 * $var5;
            $var15 = 1.0 * $var6;
            $var16 = 1.0 * $var7;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var1 === nms_Block_grass) {
                $var5 = 1.0;
                $var7 = $var5;
                $var6 = $var5;
            }
            $var17 = $var10 * $var5;
            $var18 = $var12 * $var5;
            $var19 = $var13 * $var5;
            $var20 = $var10 * $var6;
            $var21 = $var12 * $var6;
            $var22 = $var13 * $var6;
            $var23 = $var10 * $var7;
            $var24 = $var12 * $var7;
            $var25 = $var13 * $var7;
            var$25 = $this.$blockAccess;
            $ptr = 3;
        case 3:
            $tmp = $var1.$getBlockBrightness(var$25, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $tmp;
            if ($this.$renderAllFaces) {
                var$25 = $this.$blockAccess;
                var$27 = $var3 - 1 | 0;
                $ptr = 4;
                continue main;
            }
            var$25 = $this.$blockAccess;
            var$28 = $var3 - 1 | 0;
            var$27 = 0;
            $ptr = 8;
            continue main;
        case 4:
            $tmp = $var1.$getBlockBrightness(var$25, $var2, var$27, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = $tmp;
            $var5 = $var17 * $var27;
            $var6 = $var20 * $var27;
            $var7 = $var23 * $var27;
            $ptr = 5;
        case 5:
            nms_Tessellator_setColorOpaque_F($var8, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$25 = $this.$blockAccess;
            var$27 = 0;
            $ptr = 6;
        case 6:
            $tmp = $var1.$getBlockTexture(var$25, $var2, $var3, $var4, var$27);
            if ($rt_suspending()) {
                break main;
            }
            var$27 = $tmp;
            $ptr = 7;
        case 7:
            nms_RenderBlocks_renderBottomFace($this, $var1, var$30, var$31, var$32, var$27);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 1;
            if ($this.$renderAllFaces) {
                var$25 = $this.$blockAccess;
                var$27 = $var3 + 1 | 0;
                $ptr = 9;
                continue main;
            }
            var$25 = $this.$blockAccess;
            var$27 = $var3 + 1 | 0;
            var$28 = 1;
            $ptr = 10;
            continue main;
        case 8:
            $tmp = $var1.$shouldSideBeRendered(var$25, $var2, var$28, $var4, var$27);
            if ($rt_suspending()) {
                break main;
            }
            var$27 = $tmp;
            if (var$27) {
                var$25 = $this.$blockAccess;
                var$27 = $var3 - 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($this.$renderAllFaces) {
                var$25 = $this.$blockAccess;
                var$27 = $var3 + 1 | 0;
                $ptr = 9;
                continue main;
            }
            var$25 = $this.$blockAccess;
            var$27 = $var3 + 1 | 0;
            var$28 = 1;
            $ptr = 10;
            continue main;
        case 9:
            $tmp = $var1.$getBlockBrightness(var$25, $var2, var$27, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = $tmp;
            if ($var1.$maxY !== 1.0 && !$var1.$blockMaterial.$getIsLiquid())
                $var27 = $var26;
            $var5 = $var14 * $var27;
            $var6 = $var15 * $var27;
            $var7 = $var16 * $var27;
            $ptr = 11;
            continue main;
        case 10:
            $tmp = $var1.$shouldSideBeRendered(var$25, $var2, var$27, $var4, var$28);
            if ($rt_suspending()) {
                break main;
            }
            var$27 = $tmp;
            if (var$27) {
                var$25 = $this.$blockAccess;
                var$27 = $var3 + 1 | 0;
                $ptr = 9;
                continue main;
            }
            if ($this.$renderAllFaces) {
                var$25 = $this.$blockAccess;
                var$27 = $var4 - 1 | 0;
                $ptr = 14;
                continue main;
            }
            var$25 = $this.$blockAccess;
            var$27 = $var4 - 1 | 0;
            var$28 = 2;
            $ptr = 15;
            continue main;
        case 11:
            nms_Tessellator_setColorOpaque_F($var8, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$25 = $this.$blockAccess;
            var$27 = 1;
            $ptr = 12;
        case 12:
            $tmp = $var1.$getBlockTexture(var$25, $var2, $var3, $var4, var$27);
            if ($rt_suspending()) {
                break main;
            }
            var$27 = $tmp;
            $ptr = 13;
        case 13:
            nms_RenderBlocks_renderTopFace($this, $var1, var$30, var$31, var$32, var$27);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 1;
            if ($this.$renderAllFaces) {
                var$25 = $this.$blockAccess;
                var$27 = $var4 - 1 | 0;
                $ptr = 14;
                continue main;
            }
            var$25 = $this.$blockAccess;
            var$27 = $var4 - 1 | 0;
            var$28 = 2;
            $ptr = 15;
            continue main;
        case 14:
            $tmp = $var1.$getBlockBrightness(var$25, $var2, $var3, var$27);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = $tmp;
            if ($var1.$minZ > 0.0)
                $var27 = $var26;
            $var5 = $var18 * $var27;
            $var6 = $var21 * $var27;
            $var7 = $var24 * $var27;
            $ptr = 16;
            continue main;
        case 15:
            $tmp = $var1.$shouldSideBeRendered(var$25, $var2, $var3, var$27, var$28);
            if ($rt_suspending()) {
                break main;
            }
            var$27 = $tmp;
            if (var$27) {
                var$25 = $this.$blockAccess;
                var$27 = $var4 - 1 | 0;
                $ptr = 14;
                continue main;
            }
            if ($this.$renderAllFaces) {
                var$25 = $this.$blockAccess;
                var$27 = $var4 + 1 | 0;
                $ptr = 19;
                continue main;
            }
            var$25 = $this.$blockAccess;
            var$27 = $var4 + 1 | 0;
            var$28 = 3;
            $ptr = 20;
            continue main;
        case 16:
            nms_Tessellator_setColorOpaque_F($var8, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$25 = $this.$blockAccess;
            var$27 = 2;
            $ptr = 17;
        case 17:
            $tmp = $var1.$getBlockTexture(var$25, $var2, $var3, $var4, var$27);
            if ($rt_suspending()) {
                break main;
            }
            var$27 = $tmp;
            $ptr = 18;
        case 18:
            nms_RenderBlocks_renderEastFace($this, $var1, var$30, var$31, var$32, var$27);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 1;
            if ($this.$renderAllFaces) {
                var$25 = $this.$blockAccess;
                var$27 = $var4 + 1 | 0;
                $ptr = 19;
                continue main;
            }
            var$25 = $this.$blockAccess;
            var$27 = $var4 + 1 | 0;
            var$28 = 3;
            $ptr = 20;
            continue main;
        case 19:
            $tmp = $var1.$getBlockBrightness(var$25, $var2, $var3, var$27);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = $tmp;
            if ($var1.$maxZ < 1.0)
                $var27 = $var26;
            $var5 = $var18 * $var27;
            $var6 = $var21 * $var27;
            $var7 = $var24 * $var27;
            $ptr = 21;
            continue main;
        case 20:
            $tmp = $var1.$shouldSideBeRendered(var$25, $var2, $var3, var$27, var$28);
            if ($rt_suspending()) {
                break main;
            }
            var$27 = $tmp;
            if (var$27) {
                var$25 = $this.$blockAccess;
                var$27 = $var4 + 1 | 0;
                $ptr = 19;
                continue main;
            }
            if ($this.$renderAllFaces) {
                var$25 = $this.$blockAccess;
                var$27 = $var2 - 1 | 0;
                $ptr = 24;
                continue main;
            }
            var$25 = $this.$blockAccess;
            var$27 = $var2 - 1 | 0;
            var$28 = 4;
            $ptr = 25;
            continue main;
        case 21:
            nms_Tessellator_setColorOpaque_F($var8, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$25 = $this.$blockAccess;
            var$27 = 3;
            $ptr = 22;
        case 22:
            $tmp = $var1.$getBlockTexture(var$25, $var2, $var3, $var4, var$27);
            if ($rt_suspending()) {
                break main;
            }
            var$27 = $tmp;
            $ptr = 23;
        case 23:
            nms_RenderBlocks_renderWestFace($this, $var1, var$30, var$31, var$32, var$27);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 1;
            if ($this.$renderAllFaces) {
                var$25 = $this.$blockAccess;
                var$27 = $var2 - 1 | 0;
                $ptr = 24;
                continue main;
            }
            var$25 = $this.$blockAccess;
            var$27 = $var2 - 1 | 0;
            var$28 = 4;
            $ptr = 25;
            continue main;
        case 24:
            $tmp = $var1.$getBlockBrightness(var$25, var$27, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = $tmp;
            if ($var1.$minX > 0.0)
                $var27 = $var26;
            $var5 = $var19 * $var27;
            $var6 = $var22 * $var27;
            $var7 = $var25 * $var27;
            $ptr = 26;
            continue main;
        case 25:
            $tmp = $var1.$shouldSideBeRendered(var$25, var$27, $var3, $var4, var$28);
            if ($rt_suspending()) {
                break main;
            }
            var$27 = $tmp;
            if (var$27) {
                var$25 = $this.$blockAccess;
                var$27 = $var2 - 1 | 0;
                $ptr = 24;
                continue main;
            }
            if ($this.$renderAllFaces) {
                var$25 = $this.$blockAccess;
                var$27 = $var2 + 1 | 0;
                $ptr = 29;
                continue main;
            }
            var$25 = $this.$blockAccess;
            var$27 = $var2 + 1 | 0;
            var$28 = 5;
            $ptr = 30;
            continue main;
        case 26:
            nms_Tessellator_setColorOpaque_F($var8, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            var$25 = $this.$blockAccess;
            var$27 = 4;
            $ptr = 27;
        case 27:
            $tmp = $var1.$getBlockTexture(var$25, $var2, $var3, $var4, var$27);
            if ($rt_suspending()) {
                break main;
            }
            var$27 = $tmp;
            $ptr = 28;
        case 28:
            nms_RenderBlocks_renderNorthFace($this, $var1, var$30, var$31, var$32, var$27);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 1;
            if ($this.$renderAllFaces) {
                var$25 = $this.$blockAccess;
                var$27 = $var2 + 1 | 0;
                $ptr = 29;
                continue main;
            }
            var$25 = $this.$blockAccess;
            var$27 = $var2 + 1 | 0;
            var$28 = 5;
            $ptr = 30;
            continue main;
        case 29:
            $tmp = $var1.$getBlockBrightness(var$25, var$27, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = $tmp;
            if ($var1.$maxX >= 1.0)
                $var26 = $var27;
            $var5 = $var19 * $var26;
            $var6 = $var22 * $var26;
            $var7 = $var25 * $var26;
            $ptr = 31;
            continue main;
        case 30:
            $tmp = $var1.$shouldSideBeRendered(var$25, var$27, $var3, $var4, var$28);
            if ($rt_suspending()) {
                break main;
            }
            var$27 = $tmp;
            if (!var$27)
                return $var9;
            var$25 = $this.$blockAccess;
            var$27 = $var2 + 1 | 0;
            $ptr = 29;
            continue main;
        case 31:
            nms_Tessellator_setColorOpaque_F($var8, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$30 = $var2;
            var$31 = $var3;
            var$32 = $var4;
            $var8 = $this.$blockAccess;
            var$27 = 5;
            $ptr = 32;
        case 32:
            $tmp = $var1.$getBlockTexture($var8, $var2, $var3, $var4, var$27);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 33;
        case 33:
            nms_RenderBlocks_renderSouthFace($this, $var1, var$30, var$31, var$32, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 1;
            return $var9;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var12, $var13, $var14, $var15, $var16, $var17, $var18, $var19, $var20, $var21, $var22, $var23, $var24, $var25, var$25, $var26, var$27, var$28, $var27, var$30, var$31, var$32, $ptr);
    }
    function nms_RenderBlocks_func_1230_b($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, $var9, $var14, $var15, $var16, $var17, $var18, $var19, $var20, $var21, $var22, $var23, $var24, $var25, $var26, var$23, $var27, var$25, var$26, $var28, var$28, var$29, var$30, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$30 = $thread.pop();var$29 = $thread.pop();var$28 = $thread.pop();$var28 = $thread.pop();var$26 = $thread.pop();var$25 = $thread.pop();$var27 = $thread.pop();var$23 = $thread.pop();$var26 = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var9
            = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = nms_Tessellator_instance;
            $var9 = 0;
            $var14 = 0.5 * $var5;
            $var15 = 1.0 * $var5;
            $var16 = 0.800000011920929 * $var5;
            $var17 = 0.6000000238418579 * $var5;
            $var18 = 0.5 * $var6;
            $var19 = 1.0 * $var6;
            $var20 = 0.800000011920929 * $var6;
            $var21 = 0.6000000238418579 * $var6;
            $var22 = 0.5 * $var7;
            $var23 = 1.0 * $var7;
            $var24 = 0.800000011920929 * $var7;
            $var25 = 0.6000000238418579 * $var7;
            $var26 = 0.0625;
            var$23 = $this.$blockAccess;
            $ptr = 2;
        case 2:
            $tmp = $var1.$getBlockBrightness(var$23, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = $tmp;
            if ($this.$renderAllFaces) {
                var$23 = $this.$blockAccess;
                var$25 = $var3 - 1 | 0;
                $ptr = 3;
                continue main;
            }
            var$23 = $this.$blockAccess;
            var$25 = $var3 - 1 | 0;
            var$26 = 0;
            $ptr = 7;
            continue main;
        case 3:
            $tmp = $var1.$getBlockBrightness(var$23, $var2, var$25, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $tmp;
            $var5 = $var14 * $var28;
            $var6 = $var18 * $var28;
            $var7 = $var22 * $var28;
            $ptr = 4;
        case 4:
            nms_Tessellator_setColorOpaque_F($var8, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$28 = $var2;
            var$29 = $var3;
            var$30 = $var4;
            var$23 = $this.$blockAccess;
            var$25 = 0;
            $ptr = 5;
        case 5:
            $tmp = $var1.$getBlockTexture(var$23, $var2, $var3, $var4, var$25);
            if ($rt_suspending()) {
                break main;
            }
            var$25 = $tmp;
            $ptr = 6;
        case 6:
            nms_RenderBlocks_renderBottomFace($this, $var1, var$28, var$29, var$30, var$25);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 1;
            if ($this.$renderAllFaces) {
                var$23 = $this.$blockAccess;
                var$25 = $var3 + 1 | 0;
                $ptr = 8;
                continue main;
            }
            var$23 = $this.$blockAccess;
            var$25 = $var3 + 1 | 0;
            var$26 = 1;
            $ptr = 9;
            continue main;
        case 7:
            $tmp = $var1.$shouldSideBeRendered(var$23, $var2, var$25, $var4, var$26);
            if ($rt_suspending()) {
                break main;
            }
            var$25 = $tmp;
            if (var$25) {
                var$23 = $this.$blockAccess;
                var$25 = $var3 - 1 | 0;
                $ptr = 3;
                continue main;
            }
            if ($this.$renderAllFaces) {
                var$23 = $this.$blockAccess;
                var$25 = $var3 + 1 | 0;
                $ptr = 8;
                continue main;
            }
            var$23 = $this.$blockAccess;
            var$25 = $var3 + 1 | 0;
            var$26 = 1;
            $ptr = 9;
            continue main;
        case 8:
            $tmp = $var1.$getBlockBrightness(var$23, $var2, var$25, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $tmp;
            if ($var1.$maxY !== 1.0 && !$var1.$blockMaterial.$getIsLiquid())
                $var28 = $var27;
            $var5 = $var15 * $var28;
            $var6 = $var19 * $var28;
            $var7 = $var23 * $var28;
            $ptr = 10;
            continue main;
        case 9:
            $tmp = $var1.$shouldSideBeRendered(var$23, $var2, var$25, $var4, var$26);
            if ($rt_suspending()) {
                break main;
            }
            var$25 = $tmp;
            if (var$25) {
                var$23 = $this.$blockAccess;
                var$25 = $var3 + 1 | 0;
                $ptr = 8;
                continue main;
            }
            if ($this.$renderAllFaces) {
                var$23 = $this.$blockAccess;
                var$25 = $var4 - 1 | 0;
                $ptr = 13;
                continue main;
            }
            var$23 = $this.$blockAccess;
            var$25 = $var4 - 1 | 0;
            var$26 = 2;
            $ptr = 14;
            continue main;
        case 10:
            nms_Tessellator_setColorOpaque_F($var8, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$30 = $var2;
            var$28 = $var3;
            var$29 = $var4;
            var$23 = $this.$blockAccess;
            var$25 = 1;
            $ptr = 11;
        case 11:
            $tmp = $var1.$getBlockTexture(var$23, $var2, $var3, $var4, var$25);
            if ($rt_suspending()) {
                break main;
            }
            var$25 = $tmp;
            $ptr = 12;
        case 12:
            nms_RenderBlocks_renderTopFace($this, $var1, var$30, var$28, var$29, var$25);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 1;
            if ($this.$renderAllFaces) {
                var$23 = $this.$blockAccess;
                var$25 = $var4 - 1 | 0;
                $ptr = 13;
                continue main;
            }
            var$23 = $this.$blockAccess;
            var$25 = $var4 - 1 | 0;
            var$26 = 2;
            $ptr = 14;
            continue main;
        case 13:
            $tmp = $var1.$getBlockBrightness(var$23, $var2, $var3, var$25);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $tmp;
            if ($var1.$minZ > 0.0)
                $var28 = $var27;
            $var5 = $var16 * $var28;
            $var6 = $var20 * $var28;
            $var7 = $var24 * $var28;
            $ptr = 15;
            continue main;
        case 14:
            $tmp = $var1.$shouldSideBeRendered(var$23, $var2, $var3, var$25, var$26);
            if ($rt_suspending()) {
                break main;
            }
            var$25 = $tmp;
            if (var$25) {
                var$23 = $this.$blockAccess;
                var$25 = $var4 - 1 | 0;
                $ptr = 13;
                continue main;
            }
            if ($this.$renderAllFaces) {
                var$23 = $this.$blockAccess;
                var$25 = $var4 + 1 | 0;
                $ptr = 20;
                continue main;
            }
            var$23 = $this.$blockAccess;
            var$25 = $var4 + 1 | 0;
            var$26 = 3;
            $ptr = 21;
            continue main;
        case 15:
            nms_Tessellator_setColorOpaque_F($var8, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            $var6 = 0.0;
            $ptr = 16;
        case 16:
            nms_Tessellator_setTranslationF($var8, $var5, $var6, $var26);
            if ($rt_suspending()) {
                break main;
            }
            var$30 = $var2;
            var$28 = $var3;
            var$29 = $var4;
            var$23 = $this.$blockAccess;
            var$25 = 2;
            $ptr = 17;
        case 17:
            $tmp = $var1.$getBlockTexture(var$23, $var2, $var3, $var4, var$25);
            if ($rt_suspending()) {
                break main;
            }
            var$25 = $tmp;
            $ptr = 18;
        case 18:
            nms_RenderBlocks_renderEastFace($this, $var1, var$30, var$28, var$29, var$25);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            $var6 = 0.0;
            $var7 = (-0.0625);
            $ptr = 19;
        case 19:
            nms_Tessellator_setTranslationF($var8, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 1;
            if ($this.$renderAllFaces) {
                var$23 = $this.$blockAccess;
                var$25 = $var4 + 1 | 0;
                $ptr = 20;
                continue main;
            }
            var$23 = $this.$blockAccess;
            var$25 = $var4 + 1 | 0;
            var$26 = 3;
            $ptr = 21;
            continue main;
        case 20:
            $tmp = $var1.$getBlockBrightness(var$23, $var2, $var3, var$25);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $tmp;
            if ($var1.$maxZ < 1.0)
                $var28 = $var27;
            $var5 = $var16 * $var28;
            $var6 = $var20 * $var28;
            $var7 = $var24 * $var28;
            $ptr = 22;
            continue main;
        case 21:
            $tmp = $var1.$shouldSideBeRendered(var$23, $var2, $var3, var$25, var$26);
            if ($rt_suspending()) {
                break main;
            }
            var$25 = $tmp;
            if (var$25) {
                var$23 = $this.$blockAccess;
                var$25 = $var4 + 1 | 0;
                $ptr = 20;
                continue main;
            }
            if ($this.$renderAllFaces) {
                var$23 = $this.$blockAccess;
                var$25 = $var2 - 1 | 0;
                $ptr = 27;
                continue main;
            }
            var$23 = $this.$blockAccess;
            var$25 = $var2 - 1 | 0;
            var$26 = 4;
            $ptr = 28;
            continue main;
        case 22:
            nms_Tessellator_setColorOpaque_F($var8, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            $var6 = 0.0;
            $var7 = (-0.0625);
            $ptr = 23;
        case 23:
            nms_Tessellator_setTranslationF($var8, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$30 = $var2;
            var$28 = $var3;
            var$29 = $var4;
            var$23 = $this.$blockAccess;
            var$25 = 3;
            $ptr = 24;
        case 24:
            $tmp = $var1.$getBlockTexture(var$23, $var2, $var3, $var4, var$25);
            if ($rt_suspending()) {
                break main;
            }
            var$25 = $tmp;
            $ptr = 25;
        case 25:
            nms_RenderBlocks_renderWestFace($this, $var1, var$30, var$28, var$29, var$25);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            $var6 = 0.0;
            $ptr = 26;
        case 26:
            nms_Tessellator_setTranslationF($var8, $var5, $var6, $var26);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 1;
            if ($this.$renderAllFaces) {
                var$23 = $this.$blockAccess;
                var$25 = $var2 - 1 | 0;
                $ptr = 27;
                continue main;
            }
            var$23 = $this.$blockAccess;
            var$25 = $var2 - 1 | 0;
            var$26 = 4;
            $ptr = 28;
            continue main;
        case 27:
            $tmp = $var1.$getBlockBrightness(var$23, var$25, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $tmp;
            if ($var1.$minX > 0.0)
                $var28 = $var27;
            $var6 = $var17 * $var28;
            $var7 = $var21 * $var28;
            $var5 = $var25 * $var28;
            $ptr = 29;
            continue main;
        case 28:
            $tmp = $var1.$shouldSideBeRendered(var$23, var$25, $var3, $var4, var$26);
            if ($rt_suspending()) {
                break main;
            }
            var$25 = $tmp;
            if (var$25) {
                var$23 = $this.$blockAccess;
                var$25 = $var2 - 1 | 0;
                $ptr = 27;
                continue main;
            }
            if ($this.$renderAllFaces) {
                var$23 = $this.$blockAccess;
                var$25 = $var2 + 1 | 0;
                $ptr = 34;
                continue main;
            }
            var$23 = $this.$blockAccess;
            var$25 = $var2 + 1 | 0;
            var$26 = 5;
            $ptr = 35;
            continue main;
        case 29:
            nms_Tessellator_setColorOpaque_F($var8, $var6, $var7, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            $var6 = 0.0;
            $ptr = 30;
        case 30:
            nms_Tessellator_setTranslationF($var8, $var26, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$30 = $var2;
            var$28 = $var3;
            var$29 = $var4;
            var$23 = $this.$blockAccess;
            var$25 = 4;
            $ptr = 31;
        case 31:
            $tmp = $var1.$getBlockTexture(var$23, $var2, $var3, $var4, var$25);
            if ($rt_suspending()) {
                break main;
            }
            var$25 = $tmp;
            $ptr = 32;
        case 32:
            nms_RenderBlocks_renderNorthFace($this, $var1, var$30, var$28, var$29, var$25);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = (-0.0625);
            $var6 = 0.0;
            $var7 = 0.0;
            $ptr = 33;
        case 33:
            nms_Tessellator_setTranslationF($var8, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 1;
            if ($this.$renderAllFaces) {
                var$23 = $this.$blockAccess;
                var$25 = $var2 + 1 | 0;
                $ptr = 34;
                continue main;
            }
            var$23 = $this.$blockAccess;
            var$25 = $var2 + 1 | 0;
            var$26 = 5;
            $ptr = 35;
            continue main;
        case 34:
            $tmp = $var1.$getBlockBrightness(var$23, var$25, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $tmp;
            if ($var1.$maxX >= 1.0)
                $var27 = $var28;
            $var5 = $var17 * $var27;
            $var6 = $var21 * $var27;
            $var7 = $var25 * $var27;
            $ptr = 36;
            continue main;
        case 35:
            $tmp = $var1.$shouldSideBeRendered(var$23, var$25, $var3, $var4, var$26);
            if ($rt_suspending()) {
                break main;
            }
            var$25 = $tmp;
            if (!var$25)
                return $var9;
            var$23 = $this.$blockAccess;
            var$25 = $var2 + 1 | 0;
            $ptr = 34;
            continue main;
        case 36:
            nms_Tessellator_setColorOpaque_F($var8, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = (-0.0625);
            $var6 = 0.0;
            $var7 = 0.0;
            $ptr = 37;
        case 37:
            nms_Tessellator_setTranslationF($var8, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$30 = $var2;
            var$28 = $var3;
            var$29 = $var4;
            var$23 = $this.$blockAccess;
            var$25 = 5;
            $ptr = 38;
        case 38:
            $tmp = $var1.$getBlockTexture(var$23, $var2, $var3, $var4, var$25);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 39;
        case 39:
            nms_RenderBlocks_renderSouthFace($this, $var1, var$30, var$28, var$29, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            $var6 = 0.0;
            $ptr = 40;
        case 40:
            nms_Tessellator_setTranslationF($var8, $var26, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 1;
            return $var9;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var14, $var15, $var16, $var17, $var18, $var19, $var20, $var21, $var22, $var23, $var24, $var25, $var26, var$23, $var27, var$25, var$26, $var28, var$28, var$29, var$30, $ptr);
    }
    function nms_RenderBlocks_renderBlockFence($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, $var7, $var15, $var16, $var8, $var9, var$12, $var11, $var12, $var13, $var10, $var14, $var17, $var18, $var19, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var14 = $thread.pop();$var10 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();var$12 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = 0;
            $var6 = 0.375;
            $var7 = 0.625;
            $var15 = 0.0;
            $var16 = 1.0;
            $ptr = 1;
        case 1:
            nms_Block_setBlockBounds($var1, $var6, $var15, $var6, $var7, $var16, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_RenderBlocks_renderStandardBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 0;
            $var9 = 0;
            var$12 = $this.$blockAccess;
            $var11 = $var2 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = var$12.$getBlockId($var11, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if ($var12 != $var1.$blockID) {
                var$12 = $this.$blockAccess;
                $var12 = $var2 + 1 | 0;
                $ptr = 4;
                continue main;
            }
            $var8 = 1;
            var$12 = $this.$blockAccess;
            $var12 = $var4 - 1 | 0;
            $ptr = 5;
            continue main;
        case 4:
            $tmp = var$12.$getBlockId($var12, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if ($var12 == $var1.$blockID)
                $var8 = 1;
            var$12 = $this.$blockAccess;
            $var12 = $var4 - 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = var$12.$getBlockId($var2, $var3, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = $tmp;
            if ($var13 == $var1.$blockID) {
                $var9 = 1;
                var$12 = $this.$blockAccess;
                $ptr = 7;
                continue main;
            }
            var$12 = $this.$blockAccess;
            $var13 = $var4 + 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = var$12.$getBlockId($var2, $var3, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = $tmp;
            if ($var13 == $var1.$blockID)
                $var9 = 1;
            var$12 = $this.$blockAccess;
            $ptr = 7;
        case 7:
            $tmp = var$12.$getBlockId($var11, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var10 = $var11 != $var1.$blockID ? 0 : 1;
            var$12 = $this.$blockAccess;
            $var11 = $var2 + 1 | 0;
            $ptr = 8;
        case 8:
            $tmp = var$12.$getBlockId($var11, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var11 = $var11 != $var1.$blockID ? 0 : 1;
            var$12 = $this.$blockAccess;
            $ptr = 9;
        case 9:
            $tmp = var$12.$getBlockId($var2, $var3, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            $var12 = $var12 != $var1.$blockID ? 0 : 1;
            var$12 = $this.$blockAccess;
            $var13 = $var4 + 1 | 0;
            $ptr = 10;
        case 10:
            $tmp = var$12.$getBlockId($var2, $var3, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = $tmp;
            $var13 = $var13 != $var1.$blockID ? 0 : 1;
            if (!$var8 && !$var9)
                $var8 = 1;
            $var6 = 0.4375;
            $var7 = 0.5625;
            $var14 = 0.75;
            $var15 = 0.9375;
            $var16 = !$var10 ? $var6 : 0.0;
            $var17 = !$var11 ? $var7 : 1.0;
            $var18 = !$var12 ? $var6 : 0.0;
            $var19 = !$var13 ? $var7 : 1.0;
            if ($var8) {
                $ptr = 11;
                continue main;
            }
            if ($var9) {
                $ptr = 13;
                continue main;
            }
            $var15 = 0.375;
            $var14 = 0.5625;
            if ($var8) {
                $ptr = 15;
                continue main;
            }
            if ($var9) {
                $ptr = 18;
                continue main;
            }
            $var6 = 0.0;
            $var7 = 0.0;
            $var15 = 0.0;
            $var16 = 1.0;
            $var17 = 1.0;
            $var18 = 1.0;
            $ptr = 17;
            continue main;
        case 11:
            nms_Block_setBlockBounds($var1, $var16, $var14, $var6, $var17, $var15, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nms_RenderBlocks_renderStandardBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            if ($var9) {
                $ptr = 13;
                continue main;
            }
            $var15 = 0.375;
            $var14 = 0.5625;
            if ($var8) {
                $ptr = 15;
                continue main;
            }
            if ($var9) {
                $ptr = 18;
                continue main;
            }
            $var6 = 0.0;
            $var7 = 0.0;
            $var15 = 0.0;
            $var16 = 1.0;
            $var17 = 1.0;
            $var18 = 1.0;
            $ptr = 17;
            continue main;
        case 13:
            nms_Block_setBlockBounds($var1, $var6, $var14, $var18, $var7, $var15, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            nms_RenderBlocks_renderStandardBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = 0.375;
            $var14 = 0.5625;
            if ($var8) {
                $ptr = 15;
                continue main;
            }
            if ($var9) {
                $ptr = 18;
                continue main;
            }
            $var6 = 0.0;
            $var7 = 0.0;
            $var15 = 0.0;
            $var16 = 1.0;
            $var17 = 1.0;
            $var18 = 1.0;
            $ptr = 17;
            continue main;
        case 15:
            nms_Block_setBlockBounds($var1, $var16, $var15, $var6, $var17, $var14, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
        case 16:
            nms_RenderBlocks_renderStandardBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            if ($var9) {
                $ptr = 18;
                continue main;
            }
            $var6 = 0.0;
            $var7 = 0.0;
            $var15 = 0.0;
            $var16 = 1.0;
            $var17 = 1.0;
            $var18 = 1.0;
            $ptr = 17;
        case 17:
            nms_Block_setBlockBounds($var1, $var6, $var7, $var15, $var16, $var17, $var18);
            if ($rt_suspending()) {
                break main;
            }
            return $var5;
        case 18:
            nms_Block_setBlockBounds($var1, $var6, $var15, $var18, $var7, $var14, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 19;
        case 19:
            nms_RenderBlocks_renderStandardBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = 0.0;
            $var7 = 0.0;
            $var15 = 0.0;
            $var16 = 1.0;
            $var17 = 1.0;
            $var18 = 1.0;
            $ptr = 17;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var15, $var16, $var8, $var9, var$12, $var11, $var12, $var13, $var10, $var14, $var17, $var18, $var19, $ptr);
    }
    function nms_RenderBlocks_renderBlockDoor($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, $var8, $var9, $var10, $var11, var$11, $var12, var$13, $var13, var$15, var$16, var$17, $var14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var14 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();$var13 = $thread.pop();var$13 = $thread.pop();$var12 = $thread.pop();var$11 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = nms_Tessellator_instance;
            $var6 = $var1;
            $var8 = 0.5;
            $var9 = 1.0;
            $var10 = 0.800000011920929;
            $var11 = 0.6000000238418579;
            var$11 = $this.$blockAccess;
            $ptr = 2;
        case 2:
            $tmp = $var1.$getBlockBrightness(var$11, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            var$11 = $this.$blockAccess;
            var$13 = $var3 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = $var1.$getBlockBrightness(var$11, $var2, var$13, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = $tmp;
            if ($var6.$minY > 0.0)
                $var13 = $var12;
            if (nms_Block_lightValue.data[$var1.$blockID] > 0)
                $var13 = 1.0;
            $var8 = $var8 * $var13;
            $ptr = 4;
        case 4:
            nms_Tessellator_setColorOpaque_F($var5, $var8, $var8, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $var2;
            var$16 = $var3;
            var$17 = $var4;
            var$11 = $this.$blockAccess;
            var$13 = 0;
            $ptr = 5;
        case 5:
            $tmp = $var1.$getBlockTexture(var$11, $var2, $var3, $var4, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            $ptr = 6;
        case 6:
            nms_RenderBlocks_renderBottomFace($this, $var1, var$15, var$16, var$17, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $this.$blockAccess;
            var$13 = $var3 + 1 | 0;
            $ptr = 7;
        case 7:
            $tmp = $var1.$getBlockBrightness(var$11, $var2, var$13, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var6.$maxY < 1.0)
                $var8 = $var12;
            if (nms_Block_lightValue.data[$var1.$blockID] > 0)
                $var8 = 1.0;
            $var9 = $var9 * $var8;
            $ptr = 8;
        case 8:
            nms_Tessellator_setColorOpaque_F($var5, $var9, $var9, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $this.$blockAccess;
            var$13 = 1;
            $ptr = 9;
        case 9:
            $tmp = $var1.$getBlockTexture(var$11, $var2, $var3, $var4, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            $ptr = 10;
        case 10:
            nms_RenderBlocks_renderTopFace($this, $var1, var$15, var$16, var$17, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $this.$blockAccess;
            var$13 = $var4 - 1 | 0;
            $ptr = 11;
        case 11:
            $tmp = $var1.$getBlockBrightness(var$11, $var2, $var3, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var6.$minZ > 0.0)
                $var9 = $var12;
            if (nms_Block_lightValue.data[$var1.$blockID] > 0)
                $var9 = 1.0;
            $var9 = $var10 * $var9;
            $ptr = 12;
        case 12:
            nms_Tessellator_setColorOpaque_F($var5, $var9, $var9, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $this.$blockAccess;
            var$13 = 2;
            $ptr = 13;
        case 13:
            $tmp = $var1.$getBlockTexture(var$11, $var2, $var3, $var4, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if ($var14 < 0) {
                $this.$flipTexture = 1;
                $var14 =  -$var14 | 0;
            }
            $ptr = 14;
        case 14:
            nms_RenderBlocks_renderEastFace($this, $var1, var$15, var$16, var$17, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $this.$flipTexture = 0;
            var$11 = $this.$blockAccess;
            var$13 = $var4 + 1 | 0;
            $ptr = 15;
        case 15:
            $tmp = $var1.$getBlockBrightness(var$11, $var2, $var3, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var6.$maxZ < 1.0)
                $var9 = $var12;
            if (nms_Block_lightValue.data[$var1.$blockID] > 0)
                $var9 = 1.0;
            $var9 = $var10 * $var9;
            $ptr = 16;
        case 16:
            nms_Tessellator_setColorOpaque_F($var5, $var9, $var9, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $this.$blockAccess;
            var$13 = 3;
            $ptr = 17;
        case 17:
            $tmp = $var1.$getBlockTexture(var$11, $var2, $var3, $var4, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if ($var14 < 0) {
                $this.$flipTexture = 1;
                $var14 =  -$var14 | 0;
            }
            $ptr = 18;
        case 18:
            nms_RenderBlocks_renderWestFace($this, $var1, var$15, var$16, var$17, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $this.$flipTexture = 0;
            var$11 = $this.$blockAccess;
            var$13 = $var2 - 1 | 0;
            $ptr = 19;
        case 19:
            $tmp = $var1.$getBlockBrightness(var$11, var$13, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var6.$minX > 0.0)
                $var9 = $var12;
            if (nms_Block_lightValue.data[$var1.$blockID] > 0)
                $var9 = 1.0;
            $var9 = $var11 * $var9;
            $ptr = 20;
        case 20:
            nms_Tessellator_setColorOpaque_F($var5, $var9, $var9, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $this.$blockAccess;
            var$13 = 4;
            $ptr = 21;
        case 21:
            $tmp = $var1.$getBlockTexture(var$11, $var2, $var3, $var4, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if ($var14 < 0) {
                $this.$flipTexture = 1;
                $var14 =  -$var14 | 0;
            }
            $ptr = 22;
        case 22:
            nms_RenderBlocks_renderNorthFace($this, $var1, var$15, var$16, var$17, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $this.$flipTexture = 0;
            var$11 = $this.$blockAccess;
            var$13 = $var2 + 1 | 0;
            $ptr = 23;
        case 23:
            $tmp = $var1.$getBlockBrightness(var$11, var$13, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var6.$maxX >= 1.0)
                $var12 = $var9;
            if (nms_Block_lightValue.data[$var1.$blockID] > 0)
                $var12 = 1.0;
            $var9 = $var11 * $var12;
            $ptr = 24;
        case 24:
            nms_Tessellator_setColorOpaque_F($var5, $var9, $var9, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $this.$blockAccess;
            var$13 = 5;
            $ptr = 25;
        case 25:
            $tmp = $var1.$getBlockTexture(var$11, $var2, $var3, $var4, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 < 0) {
                $this.$flipTexture = 1;
                $var2 =  -$var2 | 0;
            }
            $ptr = 26;
        case 26:
            nms_RenderBlocks_renderSouthFace($this, $var1, var$15, var$16, var$17, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$flipTexture = 0;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var8, $var9, $var10, $var11, var$11, $var12, var$13, $var13, var$15, var$16, var$17, $var14, $ptr);
    }
    function nms_RenderBlocks_renderBottomFace($this, $var1, $var2, $var4, $var6, $var8) {
        var $var9, $var11, $var10, $var26, var$10, $var12, $var24, $var14, $var20, $var16, $var28, $var18, var$18, $var22, var$20, var$21, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();$var22 = $thread.pop();var$18 = $thread.pop();$var18 = $thread.pop();$var28 = $thread.pop();$var16 = $thread.pop();$var20 = $thread.pop();$var14 = $thread.pop();$var24 = $thread.pop();$var12 = $thread.pop();var$10 = $thread.pop();$var26 = $thread.pop();$var10 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = nms_Tessellator_instance;
            $var11 = $this.$overrideBlockTexture;
            if ($var11 < 0)
                $var11 = $var8;
            $var10 = ($var11 & 15) << 4;
            $var11 = $var11 & 240;
            $var26 = $var10;
            var$10 = $var1.$minX;
            $var12 = ($var26 + var$10 * 16.0) / 256.0;
            $var24 = $var1.$maxX;
            $var14 = ($var26 + $var24 * 16.0 - 0.01) / 256.0;
            $var20 = $var11;
            $var26 = $var1.$minZ;
            $var16 = ($var20 + $var26 * 16.0) / 256.0;
            $var28 = $var1.$maxZ;
            $var18 = ($var20 + $var28 * 16.0 - 0.01) / 256.0;
            if (!(var$10 >= 0.0 && $var24 <= 1.0)) {
                var$18 = $var10;
                $var12 = (var$18 + 0.0) / 256.0;
                $var14 = (var$18 + 15.989999771118164) / 256.0;
            }
            if (!($var26 >= 0.0 && $var28 <= 1.0)) {
                var$18 = $var11;
                $var16 = (var$18 + 0.0) / 256.0;
                $var18 = (var$18 + 15.989999771118164) / 256.0;
            }
            $var20 = $var2 + var$10;
            $var22 = $var2 + $var24;
            $var24 = $var4 + $var1.$minY;
            $var26 = $var6 + $var26;
            $var28 = $var6 + $var28;
            if (!$this.$enableAO) {
                $ptr = 2;
                continue main;
            }
            var$18 = $this.$colorRedTopLeft;
            var$20 = $this.$colorGreenTopLeft;
            var$21 = $this.$colorBlueTopLeft;
            $ptr = 6;
            continue main;
        case 2:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var28, $var12, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var26, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_Tessellator_addVertexWithUV($var9, $var22, $var24, $var26, $var14, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Tessellator_addVertexWithUV($var9, $var22, $var24, $var28, $var14, $var18);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nms_Tessellator_setColorOpaque_F($var9, var$18, var$20, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var28, $var12, $var18);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $this.$colorRedBottomLeft;
            var$20 = $this.$colorGreenBottomLeft;
            var$21 = $this.$colorBlueBottomLeft;
            $ptr = 8;
        case 8:
            nms_Tessellator_setColorOpaque_F($var9, var$18, var$20, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var26, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $this.$colorRedBottomRight;
            var$20 = $this.$colorGreenBottomRight;
            var$21 = $this.$colorBlueBottomRight;
            $ptr = 10;
        case 10:
            nms_Tessellator_setColorOpaque_F($var9, var$18, var$20, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var9, $var22, $var24, $var26, $var14, $var16);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $this.$colorRedTopRight;
            var$20 = $this.$colorGreenTopRight;
            var$21 = $this.$colorBlueTopRight;
            $ptr = 12;
        case 12:
            nms_Tessellator_setColorOpaque_F($var9, var$18, var$20, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var9, $var22, $var24, $var28, $var14, $var18);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var11, $var10, $var26, var$10, $var12, $var24, $var14, $var20, $var16, $var28, $var18, var$18, $var22, var$20, var$21, $ptr);
    }
    function nms_RenderBlocks_renderTopFace($this, $var1, $var2, $var4, $var6, $var8) {
        var $var9, $var11, $var10, $var20, $var24, $var12, $var28, $var14, $var26, $var16, var$16, $var18, var$18, $var22, var$20, var$21, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();$var22 = $thread.pop();var$18 = $thread.pop();$var18 = $thread.pop();var$16 = $thread.pop();$var16 = $thread.pop();$var26 = $thread.pop();$var14 = $thread.pop();$var28 = $thread.pop();$var12 = $thread.pop();$var24 = $thread.pop();$var20 = $thread.pop();$var10 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = nms_Tessellator_instance;
            $var11 = $this.$overrideBlockTexture;
            if ($var11 < 0)
                $var11 = $var8;
            $var10 = ($var11 & 15) << 4;
            $var11 = $var11 & 240;
            $var20 = $var10;
            $var24 = $var1.$minX;
            $var12 = ($var20 + $var24 * 16.0) / 256.0;
            $var28 = $var1.$maxX;
            $var14 = ($var20 + $var28 * 16.0 - 0.01) / 256.0;
            $var20 = $var11;
            $var26 = $var1.$minZ;
            $var16 = ($var20 + $var26 * 16.0) / 256.0;
            var$16 = $var1.$maxZ;
            $var18 = ($var20 + var$16 * 16.0 - 0.01) / 256.0;
            if (!($var24 >= 0.0 && $var28 <= 1.0)) {
                var$18 = $var10;
                $var12 = (var$18 + 0.0) / 256.0;
                $var14 = (var$18 + 15.989999771118164) / 256.0;
            }
            if (!($var26 >= 0.0 && var$16 <= 1.0)) {
                var$18 = $var11;
                $var16 = (var$18 + 0.0) / 256.0;
                $var18 = (var$18 + 15.989999771118164) / 256.0;
            }
            $var20 = $var2 + $var24;
            $var22 = $var2 + $var28;
            $var24 = $var4 + $var1.$maxY;
            $var26 = $var6 + $var26;
            $var28 = $var6 + var$16;
            if (!$this.$enableAO) {
                $ptr = 2;
                continue main;
            }
            var$18 = $this.$colorRedTopLeft;
            var$20 = $this.$colorGreenTopLeft;
            var$21 = $this.$colorBlueTopLeft;
            $ptr = 6;
            continue main;
        case 2:
            nms_Tessellator_addVertexWithUV($var9, $var22, $var24, $var28, $var14, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_Tessellator_addVertexWithUV($var9, $var22, $var24, $var26, $var14, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var26, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var28, $var12, $var18);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nms_Tessellator_setColorOpaque_F($var9, var$18, var$20, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_Tessellator_addVertexWithUV($var9, $var22, $var24, $var28, $var14, $var18);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $this.$colorRedBottomLeft;
            var$20 = $this.$colorGreenBottomLeft;
            var$21 = $this.$colorBlueBottomLeft;
            $ptr = 8;
        case 8:
            nms_Tessellator_setColorOpaque_F($var9, var$18, var$20, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var9, $var22, $var24, $var26, $var14, $var16);
            if ($rt_suspending()) {
                break main;
            }
            var$21 = $this.$colorRedBottomRight;
            var$18 = $this.$colorGreenBottomRight;
            var$20 = $this.$colorBlueBottomRight;
            $ptr = 10;
        case 10:
            nms_Tessellator_setColorOpaque_F($var9, var$21, var$18, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var26, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $this.$colorRedTopRight;
            var$20 = $this.$colorGreenTopRight;
            var$21 = $this.$colorBlueTopRight;
            $ptr = 12;
        case 12:
            nms_Tessellator_setColorOpaque_F($var9, var$18, var$20, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var28, $var12, $var18);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var11, $var10, $var20, $var24, $var12, $var28, $var14, $var26, $var16, var$16, $var18, var$18, $var22, var$20, var$21, $ptr);
    }
    function nms_RenderBlocks_renderEastFace($this, $var1, $var2, $var4, $var6, $var8) {
        var $var9, $var11, $var10, $var20, $var22, $var12, var$12, $var14, $var24, $var16, $var26, $var18, var$18, var$19, $var28, var$21, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$21 = $thread.pop();$var28 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();$var18 = $thread.pop();$var26 = $thread.pop();$var16 = $thread.pop();$var24 = $thread.pop();$var14 = $thread.pop();var$12 = $thread.pop();$var12 = $thread.pop();$var22 = $thread.pop();$var20 = $thread.pop();$var10 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = nms_Tessellator_instance;
            $var11 = $this.$overrideBlockTexture;
            if ($var11 < 0)
                $var11 = $var8;
            $var10 = ($var11 & 15) << 4;
            $var11 = $var11 & 240;
            $var20 = $var10;
            $var22 = $var1.$minX;
            $var12 = ($var20 + $var22 * 16.0) / 256.0;
            var$12 = $var1.$maxX;
            $var14 = ($var20 + var$12 * 16.0 - 0.01) / 256.0;
            $var20 = $var11;
            $var24 = $var1.$minY;
            $var16 = ($var20 + $var24 * 16.0) / 256.0;
            $var26 = $var1.$maxY;
            $var18 = ($var20 + $var26 * 16.0 - 0.01) / 256.0;
            if (!$this.$flipTexture) {
                $var20 = $var14;
                $var14 = $var12;
                $var12 = $var20;
            }
            if (!($var22 >= 0.0 && var$12 <= 1.0)) {
                var$18 = $var10;
                $var14 = (var$18 + 0.0) / 256.0;
                $var12 = (var$18 + 15.989999771118164) / 256.0;
            }
            if (!($var24 >= 0.0 && $var26 <= 1.0)) {
                var$19 = $var11;
                $var16 = (var$19 + 0.0) / 256.0;
                $var18 = (var$19 + 15.989999771118164) / 256.0;
            }
            $var20 = $var2 + $var22;
            $var22 = $var2 + var$12;
            $var24 = $var4 + $var24;
            $var26 = $var4 + $var26;
            $var28 = $var6 + $var1.$minZ;
            if (!$this.$enableAO) {
                $ptr = 2;
                continue main;
            }
            var$19 = $this.$colorRedTopLeft;
            var$21 = $this.$colorGreenTopLeft;
            var$18 = $this.$colorBlueTopLeft;
            $ptr = 6;
            continue main;
        case 2:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var26, $var28, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_Tessellator_addVertexWithUV($var9, $var22, $var26, $var28, $var14, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_Tessellator_addVertexWithUV($var9, $var22, $var24, $var28, $var14, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var28, $var12, $var18);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nms_Tessellator_setColorOpaque_F($var9, var$19, var$21, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var26, $var28, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = $this.$colorRedBottomLeft;
            var$21 = $this.$colorGreenBottomLeft;
            var$18 = $this.$colorBlueBottomLeft;
            $ptr = 8;
        case 8:
            nms_Tessellator_setColorOpaque_F($var9, var$19, var$21, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var9, $var22, $var26, $var28, $var14, $var16);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = $this.$colorRedBottomRight;
            var$21 = $this.$colorGreenBottomRight;
            var$18 = $this.$colorBlueBottomRight;
            $ptr = 10;
        case 10:
            nms_Tessellator_setColorOpaque_F($var9, var$19, var$21, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var9, $var22, $var24, $var28, $var14, $var18);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = $this.$colorRedTopRight;
            var$21 = $this.$colorGreenTopRight;
            var$18 = $this.$colorBlueTopRight;
            $ptr = 12;
        case 12:
            nms_Tessellator_setColorOpaque_F($var9, var$19, var$21, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var28, $var12, $var18);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var11, $var10, $var20, $var22, $var12, var$12, $var14, $var24, $var16, $var26, $var18, var$18, var$19, $var28, var$21, $ptr);
    }
    function nms_RenderBlocks_renderWestFace($this, $var1, $var2, $var4, $var6, $var8) {
        var $var9, $var11, $var10, $var20, $var28, $var12, $var22, $var14, $var24, $var16, $var26, $var18, var$18, var$19, var$20, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();$var18 = $thread.pop();$var26 = $thread.pop();$var16 = $thread.pop();$var24 = $thread.pop();$var14 = $thread.pop();$var22 = $thread.pop();$var12 = $thread.pop();$var28 = $thread.pop();$var20 = $thread.pop();$var10 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = nms_Tessellator_instance;
            $var11 = $this.$overrideBlockTexture;
            if ($var11 < 0)
                $var11 = $var8;
            $var10 = ($var11 & 15) << 4;
            $var11 = $var11 & 240;
            $var20 = $var10;
            $var28 = $var1.$minX;
            $var12 = ($var20 + $var28 * 16.0) / 256.0;
            $var22 = $var1.$maxX;
            $var14 = ($var20 + $var22 * 16.0 - 0.01) / 256.0;
            $var20 = $var11;
            $var24 = $var1.$minY;
            $var16 = ($var20 + $var24 * 16.0) / 256.0;
            $var26 = $var1.$maxY;
            $var18 = ($var20 + $var26 * 16.0 - 0.01) / 256.0;
            if (!$this.$flipTexture) {
                $var20 = $var14;
                $var14 = $var12;
                $var12 = $var20;
            }
            if (!($var28 >= 0.0 && $var22 <= 1.0)) {
                var$18 = $var10;
                $var14 = (var$18 + 0.0) / 256.0;
                $var12 = (var$18 + 15.989999771118164) / 256.0;
            }
            if (!($var24 >= 0.0 && $var26 <= 1.0)) {
                var$19 = $var11;
                $var16 = (var$19 + 0.0) / 256.0;
                $var18 = (var$19 + 15.989999771118164) / 256.0;
            }
            $var20 = $var2 + $var28;
            $var22 = $var2 + $var22;
            $var24 = $var4 + $var24;
            $var26 = $var4 + $var26;
            $var28 = $var6 + $var1.$maxZ;
            if (!$this.$enableAO) {
                $ptr = 2;
                continue main;
            }
            var$19 = $this.$colorRedTopLeft;
            var$18 = $this.$colorGreenTopLeft;
            var$20 = $this.$colorBlueTopLeft;
            $ptr = 6;
            continue main;
        case 2:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var26, $var28, $var14, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var28, $var14, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_Tessellator_addVertexWithUV($var9, $var22, $var24, $var28, $var12, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Tessellator_addVertexWithUV($var9, $var22, $var26, $var28, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nms_Tessellator_setColorOpaque_F($var9, var$19, var$18, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var26, $var28, $var14, $var16);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = $this.$colorRedBottomLeft;
            var$18 = $this.$colorGreenBottomLeft;
            var$20 = $this.$colorBlueBottomLeft;
            $ptr = 8;
        case 8:
            nms_Tessellator_setColorOpaque_F($var9, var$19, var$18, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var28, $var14, $var18);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $this.$colorRedBottomRight;
            var$19 = $this.$colorGreenBottomRight;
            var$20 = $this.$colorBlueBottomRight;
            $ptr = 10;
        case 10:
            nms_Tessellator_setColorOpaque_F($var9, var$18, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var9, $var22, $var24, $var28, $var12, $var18);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = $this.$colorRedTopRight;
            var$18 = $this.$colorGreenTopRight;
            var$20 = $this.$colorBlueTopRight;
            $ptr = 12;
        case 12:
            nms_Tessellator_setColorOpaque_F($var9, var$19, var$18, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var9, $var22, $var26, $var28, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var11, $var10, $var20, $var28, $var12, $var22, $var14, $var24, $var16, $var26, $var18, var$18, var$19, var$20, $ptr);
    }
    function nms_RenderBlocks_renderNorthFace($this, $var1, $var2, $var4, $var6, $var8) {
        var $var9, $var11, $var10, $var20, $var26, $var12, var$12, $var14, $var22, $var16, $var24, $var18, var$18, $var28, var$20, var$21, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();$var28 = $thread.pop();var$18 = $thread.pop();$var18 = $thread.pop();$var24 = $thread.pop();$var16 = $thread.pop();$var22 = $thread.pop();$var14 = $thread.pop();var$12 = $thread.pop();$var12 = $thread.pop();$var26 = $thread.pop();$var20 = $thread.pop();$var10 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = nms_Tessellator_instance;
            $var11 = $this.$overrideBlockTexture;
            if ($var11 < 0)
                $var11 = $var8;
            $var10 = ($var11 & 15) << 4;
            $var11 = $var11 & 240;
            $var20 = $var10;
            $var26 = $var1.$minZ;
            $var12 = ($var20 + $var26 * 16.0) / 256.0;
            var$12 = $var1.$maxZ;
            $var14 = ($var20 + var$12 * 16.0 - 0.01) / 256.0;
            $var20 = $var11;
            $var22 = $var1.$minY;
            $var16 = ($var20 + $var22 * 16.0) / 256.0;
            $var24 = $var1.$maxY;
            $var18 = ($var20 + $var24 * 16.0 - 0.01) / 256.0;
            if (!$this.$flipTexture) {
                $var20 = $var14;
                $var14 = $var12;
                $var12 = $var20;
            }
            if (!($var26 >= 0.0 && var$12 <= 1.0)) {
                var$18 = $var10;
                $var14 = (var$18 + 0.0) / 256.0;
                $var12 = (var$18 + 15.989999771118164) / 256.0;
            }
            if (!($var22 >= 0.0 && $var24 <= 1.0)) {
                var$18 = $var11;
                $var16 = (var$18 + 0.0) / 256.0;
                $var18 = (var$18 + 15.989999771118164) / 256.0;
            }
            $var20 = $var2 + $var1.$minX;
            $var22 = $var4 + $var22;
            $var24 = $var4 + $var24;
            $var26 = $var6 + $var26;
            $var28 = $var6 + var$12;
            if (!$this.$enableAO) {
                $ptr = 2;
                continue main;
            }
            var$18 = $this.$colorRedTopLeft;
            var$20 = $this.$colorGreenTopLeft;
            var$21 = $this.$colorBlueTopLeft;
            $ptr = 6;
            continue main;
        case 2:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var28, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var26, $var14, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var22, $var26, $var14, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var22, $var28, $var12, $var18);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nms_Tessellator_setColorOpaque_F($var9, var$18, var$20, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var28, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $this.$colorRedBottomLeft;
            var$20 = $this.$colorGreenBottomLeft;
            var$21 = $this.$colorBlueBottomLeft;
            $ptr = 8;
        case 8:
            nms_Tessellator_setColorOpaque_F($var9, var$18, var$20, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var26, $var14, $var16);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $this.$colorRedBottomRight;
            var$20 = $this.$colorGreenBottomRight;
            var$21 = $this.$colorBlueBottomRight;
            $ptr = 10;
        case 10:
            nms_Tessellator_setColorOpaque_F($var9, var$18, var$20, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var22, $var26, $var14, $var18);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $this.$colorRedTopRight;
            var$20 = $this.$colorGreenTopRight;
            var$21 = $this.$colorBlueTopRight;
            $ptr = 12;
        case 12:
            nms_Tessellator_setColorOpaque_F($var9, var$18, var$20, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var22, $var28, $var12, $var18);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var11, $var10, $var20, $var26, $var12, var$12, $var14, $var22, $var16, $var24, $var18, var$18, $var28, var$20, var$21, $ptr);
    }
    function nms_RenderBlocks_renderSouthFace($this, $var1, $var2, $var4, $var6, $var8) {
        var $var9, $var11, $var10, $var20, $var26, $var12, $var28, $var14, $var22, $var16, $var24, $var18, var$18, var$19, var$20, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();$var18 = $thread.pop();$var24 = $thread.pop();$var16 = $thread.pop();$var22 = $thread.pop();$var14 = $thread.pop();$var28 = $thread.pop();$var12 = $thread.pop();$var26 = $thread.pop();$var20 = $thread.pop();$var10 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = nms_Tessellator_instance;
            $var11 = $this.$overrideBlockTexture;
            if ($var11 < 0)
                $var11 = $var8;
            $var10 = ($var11 & 15) << 4;
            $var11 = $var11 & 240;
            $var20 = $var10;
            $var26 = $var1.$minZ;
            $var12 = ($var20 + $var26 * 16.0) / 256.0;
            $var28 = $var1.$maxZ;
            $var14 = ($var20 + $var28 * 16.0 - 0.01) / 256.0;
            $var20 = $var11;
            $var22 = $var1.$minY;
            $var16 = ($var20 + $var22 * 16.0) / 256.0;
            $var24 = $var1.$maxY;
            $var18 = ($var20 + $var24 * 16.0 - 0.01) / 256.0;
            if (!$this.$flipTexture) {
                $var20 = $var14;
                $var14 = $var12;
                $var12 = $var20;
            }
            if (!($var26 >= 0.0 && $var28 <= 1.0)) {
                var$18 = $var10;
                $var14 = (var$18 + 0.0) / 256.0;
                $var12 = (var$18 + 15.989999771118164) / 256.0;
            }
            if (!($var22 >= 0.0 && $var24 <= 1.0)) {
                var$18 = $var11;
                $var16 = (var$18 + 0.0) / 256.0;
                $var18 = (var$18 + 15.989999771118164) / 256.0;
            }
            $var20 = $var2 + $var1.$maxX;
            $var22 = $var4 + $var22;
            $var24 = $var4 + $var24;
            $var26 = $var6 + $var26;
            $var28 = $var6 + $var28;
            if (!$this.$enableAO) {
                $ptr = 2;
                continue main;
            }
            var$18 = $this.$colorRedTopLeft;
            var$19 = $this.$colorGreenTopLeft;
            var$20 = $this.$colorBlueTopLeft;
            $ptr = 6;
            continue main;
        case 2:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var22, $var28, $var14, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var22, $var26, $var12, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var26, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var28, $var14, $var16);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nms_Tessellator_setColorOpaque_F($var9, var$18, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var22, $var28, $var14, $var18);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $this.$colorRedBottomLeft;
            var$19 = $this.$colorGreenBottomLeft;
            var$20 = $this.$colorBlueBottomLeft;
            $ptr = 8;
        case 8:
            nms_Tessellator_setColorOpaque_F($var9, var$18, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var22, $var26, $var12, $var18);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $this.$colorRedBottomRight;
            var$19 = $this.$colorGreenBottomRight;
            var$20 = $this.$colorBlueBottomRight;
            $ptr = 10;
        case 10:
            nms_Tessellator_setColorOpaque_F($var9, var$18, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var26, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $this.$colorRedTopRight;
            var$19 = $this.$colorGreenTopRight;
            var$20 = $this.$colorBlueTopRight;
            $ptr = 12;
        case 12:
            nms_Tessellator_setColorOpaque_F($var9, var$18, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var9, $var20, $var24, $var28, $var14, $var16);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var11, $var10, $var20, $var26, $var12, $var28, $var14, $var22, $var16, $var24, $var18, var$18, var$19, var$20, $ptr);
    }
    function nms_RenderBlocks_renderBlockOnInventory($this, $var1, $var2) {
        var $var3, $var4, $var7, $var5, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();$var7 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_Tessellator_instance;
            $ptr = 2;
        case 2:
            $tmp = $var1.$getRenderType();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4) {
                $ptr = 3;
                continue main;
            }
            if ($var4 == 1) {
                $ptr = 36;
                continue main;
            }
            if ($var4 == 13) {
                $ptr = 40;
                continue main;
            }
            if ($var4 == 6) {
                $ptr = 81;
                continue main;
            }
            if ($var4 == 2) {
                $ptr = 85;
                continue main;
            }
            a: {
                if ($var4 == 10) {
                    $var7 = 0;
                    if ($var7 >= 2)
                        break a;
                    if (!$var7) {
                        $var5 = 0.0;
                        var$7 = 0.0;
                        var$8 = 0.0;
                        var$9 = 1.0;
                        var$10 = 1.0;
                        var$11 = 0.5;
                        $ptr = 90;
                        continue main;
                    }
                    if ($var7 != 1) {
                        $var5 = (-0.5);
                        var$7 = (-0.5);
                        var$8 = (-0.5);
                        $ptr = 92;
                        continue main;
                    }
                    $var5 = 0.0;
                    var$7 = 0.0;
                    var$8 = 0.5;
                    var$9 = 1.0;
                    var$10 = 0.5;
                    var$11 = 1.0;
                    $ptr = 124;
                    continue main;
                }
                if ($var4 == 11) {
                    $var7 = 0;
                    var$10 = (-0.125);
                    if ($var7 >= 4) {
                        var$11 = 0.0;
                        $var5 = 0.0;
                        var$7 = 0.0;
                        var$8 = 1.0;
                        var$9 = 1.0;
                        var$10 = 1.0;
                        $ptr = 89;
                        continue main;
                    }
                    if (!$var7) {
                        $var5 = 0.375;
                        var$7 = 0.0;
                        var$8 = 0.0;
                        var$9 = 0.625;
                        var$11 = 1.0;
                        var$12 = 0.25;
                        $ptr = 91;
                        continue main;
                    }
                    if ($var7 == 1) {
                        $var5 = 0.375;
                        var$7 = 0.0;
                        var$8 = 0.75;
                        var$9 = 0.625;
                        var$11 = 1.0;
                        var$12 = 1.0;
                        $ptr = 125;
                        continue main;
                    }
                    if ($var7 == 2) {
                        $var5 = 0.4375;
                        var$7 = 0.8125;
                        var$8 = 0.5625;
                        var$9 = 0.9375;
                        var$11 = 1.125;
                        $ptr = 126;
                        continue main;
                    }
                    if ($var7 != 3) {
                        $var5 = (-0.5);
                        var$7 = (-0.5);
                        var$8 = (-0.5);
                        $ptr = 127;
                        continue main;
                    }
                    $var5 = 0.4375;
                    var$7 = 0.3125;
                    var$8 = 0.5625;
                    var$9 = 1.125;
                    $ptr = 159;
                    continue main;
                }
            }
            return;
        case 3:
            $var1.$setBlockBoundsForItemRender();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = (-0.5);
            var$7 = (-0.5);
            var$8 = (-0.5);
            $ptr = 4;
        case 4:
            olo_GL11_glTranslatef($var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            var$7 = (-1.0);
            var$8 = 0.0;
            $ptr = 6;
        case 6:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 0.0;
            var$14 = 0.0;
            var$15 = 0.0;
            $var7 = 0;
            $ptr = 7;
        case 7:
            $tmp = $var1.$getBlockTextureFromSideAndMetadata($var7, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $ptr = 8;
        case 8:
            nms_RenderBlocks_renderBottomFace($this, $var1, var$13, var$14, var$15, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            var$7 = 1.0;
            var$8 = 0.0;
            $ptr = 11;
        case 11:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var7 = 1;
            $ptr = 12;
        case 12:
            $tmp = $var1.$getBlockTextureFromSideAndMetadata($var7, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $ptr = 13;
        case 13:
            nms_RenderBlocks_renderTopFace($this, $var1, var$14, var$15, var$13, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            var$7 = 0.0;
            var$8 = (-1.0);
            $ptr = 16;
        case 16:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var7 = 2;
            $ptr = 17;
        case 17:
            $tmp = $var1.$getBlockTextureFromSideAndMetadata($var7, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $ptr = 18;
        case 18:
            nms_RenderBlocks_renderEastFace($this, $var1, var$14, var$15, var$13, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 19;
        case 19:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 20;
        case 20:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            var$7 = 0.0;
            var$8 = 1.0;
            $ptr = 21;
        case 21:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var7 = 3;
            $ptr = 22;
        case 22:
            $tmp = $var1.$getBlockTextureFromSideAndMetadata($var7, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $ptr = 23;
        case 23:
            nms_RenderBlocks_renderWestFace($this, $var1, var$14, var$15, var$13, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 24;
        case 24:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 25;
        case 25:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = (-1.0);
            var$7 = 0.0;
            var$8 = 0.0;
            $ptr = 26;
        case 26:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var7 = 4;
            $ptr = 27;
        case 27:
            $tmp = $var1.$getBlockTextureFromSideAndMetadata($var7, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $ptr = 28;
        case 28:
            nms_RenderBlocks_renderNorthFace($this, $var1, var$14, var$15, var$13, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 29;
        case 29:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 30;
        case 30:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 1.0;
            var$7 = 0.0;
            var$8 = 0.0;
            $ptr = 31;
        case 31:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var7 = 5;
            $ptr = 32;
        case 32:
            $tmp = $var1.$getBlockTextureFromSideAndMetadata($var7, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 33;
        case 33:
            nms_RenderBlocks_renderSouthFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 34;
        case 34:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.5;
            var$7 = 0.5;
            var$8 = 0.5;
            $ptr = 35;
        case 35:
            olo_GL11_glTranslatef($var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 36:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            var$7 = (-1.0);
            var$8 = 0.0;
            $ptr = 37;
        case 37:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = (-0.5);
            var$15 = (-0.5);
            var$13 = (-0.5);
            $ptr = 38;
        case 38:
            nms_RenderBlocks_renderCrossedSquares($this, $var1, $var2, var$14, var$15, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 39;
        case 39:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 40:
            $var1.$setBlockBoundsForItemRender();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = (-0.5);
            var$7 = (-0.5);
            var$8 = (-0.5);
            $ptr = 41;
        case 41:
            olo_GL11_glTranslatef($var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0625;
            $ptr = 42;
        case 42:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 0.0;
            var$8 = (-1.0);
            var$9 = 0.0;
            $ptr = 43;
        case 43:
            nms_Tessellator_setNormal($var3, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 0;
            $ptr = 44;
        case 44:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 45;
        case 45:
            nms_RenderBlocks_renderBottomFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 46;
        case 46:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 47;
        case 47:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 0.0;
            var$8 = 1.0;
            var$9 = 0.0;
            $ptr = 48;
        case 48:
            nms_Tessellator_setNormal($var3, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 1;
            $ptr = 49;
        case 49:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 50;
        case 50:
            nms_RenderBlocks_renderTopFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 51;
        case 51:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 52;
        case 52:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 0.0;
            var$8 = 0.0;
            var$9 = (-1.0);
            $ptr = 53;
        case 53:
            nms_Tessellator_setNormal($var3, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 0.0;
            var$8 = 0.0;
            $ptr = 54;
        case 54:
            nms_Tessellator_setTranslationF($var3, var$7, var$8, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 2;
            $ptr = 55;
        case 55:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 56;
        case 56:
            nms_RenderBlocks_renderEastFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 0.0;
            var$8 = 0.0;
            var$9 = (-0.0625);
            $ptr = 57;
        case 57:
            nms_Tessellator_setTranslationF($var3, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 58;
        case 58:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 59;
        case 59:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 0.0;
            var$8 = 0.0;
            var$10 = 1.0;
            $ptr = 60;
        case 60:
            nms_Tessellator_setNormal($var3, var$7, var$8, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 0.0;
            var$8 = 0.0;
            $ptr = 61;
        case 61:
            nms_Tessellator_setTranslationF($var3, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 3;
            $ptr = 62;
        case 62:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 63;
        case 63:
            nms_RenderBlocks_renderWestFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 0.0;
            var$8 = 0.0;
            $ptr = 64;
        case 64:
            nms_Tessellator_setTranslationF($var3, var$7, var$8, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 65;
        case 65:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 66;
        case 66:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = (-1.0);
            var$8 = 0.0;
            var$10 = 0.0;
            $ptr = 67;
        case 67:
            nms_Tessellator_setNormal($var3, var$7, var$8, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 0.0;
            var$8 = 0.0;
            $ptr = 68;
        case 68:
            nms_Tessellator_setTranslationF($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 4;
            $ptr = 69;
        case 69:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 70;
        case 70:
            nms_RenderBlocks_renderNorthFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 0.0;
            var$8 = 0.0;
            $ptr = 71;
        case 71:
            nms_Tessellator_setTranslationF($var3, var$9, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 72;
        case 72:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 73;
        case 73:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 1.0;
            var$8 = 0.0;
            var$10 = 0.0;
            $ptr = 74;
        case 74:
            nms_Tessellator_setNormal($var3, var$7, var$8, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 0.0;
            var$8 = 0.0;
            $ptr = 75;
        case 75:
            nms_Tessellator_setTranslationF($var3, var$9, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 5;
            $ptr = 76;
        case 76:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 77;
        case 77:
            nms_RenderBlocks_renderSouthFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 0.0;
            var$8 = 0.0;
            $ptr = 78;
        case 78:
            nms_Tessellator_setTranslationF($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 79;
        case 79:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.5;
            var$7 = 0.5;
            var$8 = 0.5;
            $ptr = 80;
        case 80:
            olo_GL11_glTranslatef($var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 81:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            var$7 = (-1.0);
            var$8 = 0.0;
            $ptr = 82;
        case 82:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = (-0.5);
            var$15 = (-0.5);
            var$13 = (-0.5);
            $ptr = 83;
        case 83:
            nms_RenderBlocks_func_1245_b($this, $var1, $var2, var$14, var$15, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 84;
        case 84:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 85:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            var$7 = (-1.0);
            var$8 = 0.0;
            $ptr = 86;
        case 86:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = (-0.5);
            var$13 = (-0.5);
            var$16 = (-0.5);
            var$17 = 0.0;
            var$14 = 0.0;
            $ptr = 87;
        case 87:
            nms_RenderBlocks_renderTorchAtAngle($this, $var1, var$15, var$13, var$16, var$17, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 88;
        case 88:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 89:
            nms_Block_setBlockBounds($var1, var$11, $var5, var$7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 90:
            nms_Block_setBlockBounds($var1, $var5, var$7, var$8, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            if ($var7 != 1) {
                $var5 = (-0.5);
                var$7 = (-0.5);
                var$8 = (-0.5);
                $ptr = 92;
                continue main;
            }
            $var5 = 0.0;
            var$7 = 0.0;
            var$8 = 0.5;
            var$9 = 1.0;
            var$10 = 0.5;
            var$11 = 1.0;
            $ptr = 124;
            continue main;
        case 91:
            nms_Block_setBlockBounds($var1, $var5, var$7, var$8, var$9, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            if ($var7 == 1) {
                $var5 = 0.375;
                var$7 = 0.0;
                var$8 = 0.75;
                var$9 = 0.625;
                var$11 = 1.0;
                var$12 = 1.0;
                $ptr = 125;
                continue main;
            }
            if ($var7 == 2) {
                $var5 = 0.4375;
                var$7 = 0.8125;
                var$8 = 0.5625;
                var$9 = 0.9375;
                var$11 = 1.125;
                $ptr = 126;
                continue main;
            }
            if ($var7 != 3) {
                $var5 = (-0.5);
                var$7 = (-0.5);
                var$8 = (-0.5);
                $ptr = 127;
                continue main;
            }
            $var5 = 0.4375;
            var$7 = 0.3125;
            var$8 = 0.5625;
            var$9 = 1.125;
            $ptr = 159;
            continue main;
        case 92:
            olo_GL11_glTranslatef($var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 93;
        case 93:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            var$7 = (-1.0);
            var$8 = 0.0;
            $ptr = 94;
        case 94:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 0;
            $ptr = 95;
        case 95:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 96;
        case 96:
            nms_RenderBlocks_renderBottomFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 97;
        case 97:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 98;
        case 98:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            var$7 = 1.0;
            var$8 = 0.0;
            $ptr = 99;
        case 99:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 1;
            $ptr = 100;
        case 100:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 101;
        case 101:
            nms_RenderBlocks_renderTopFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 102;
        case 102:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 103;
        case 103:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            var$7 = 0.0;
            var$8 = (-1.0);
            $ptr = 104;
        case 104:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 2;
            $ptr = 105;
        case 105:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 106;
        case 106:
            nms_RenderBlocks_renderEastFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 107;
        case 107:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 108;
        case 108:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            var$7 = 0.0;
            var$8 = 1.0;
            $ptr = 109;
        case 109:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 3;
            $ptr = 110;
        case 110:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 111;
        case 111:
            nms_RenderBlocks_renderWestFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 112;
        case 112:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 113;
        case 113:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = (-1.0);
            var$7 = 0.0;
            var$8 = 0.0;
            $ptr = 114;
        case 114:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 4;
            $ptr = 115;
        case 115:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 116;
        case 116:
            nms_RenderBlocks_renderNorthFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 117;
        case 117:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 118;
        case 118:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 1.0;
            var$7 = 0.0;
            var$8 = 0.0;
            $ptr = 119;
        case 119:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 5;
            $ptr = 120;
        case 120:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 121;
        case 121:
            nms_RenderBlocks_renderSouthFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 122;
        case 122:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.5;
            var$7 = 0.5;
            var$8 = 0.5;
            $ptr = 123;
        case 123:
            olo_GL11_glTranslatef($var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var7 + 1 | 0;
            if ($var7 >= 2)
                return;
            if (!$var7) {
                $var5 = 0.0;
                var$7 = 0.0;
                var$8 = 0.0;
                var$9 = 1.0;
                var$10 = 1.0;
                var$11 = 0.5;
                $ptr = 90;
                continue main;
            }
            if ($var7 != 1) {
                $var5 = (-0.5);
                var$7 = (-0.5);
                var$8 = (-0.5);
                $ptr = 92;
                continue main;
            }
            $var5 = 0.0;
            var$7 = 0.0;
            var$8 = 0.5;
            var$9 = 1.0;
            var$10 = 0.5;
            var$11 = 1.0;
            $ptr = 124;
        case 124:
            nms_Block_setBlockBounds($var1, $var5, var$7, var$8, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = (-0.5);
            var$7 = (-0.5);
            var$8 = (-0.5);
            $ptr = 92;
            continue main;
        case 125:
            nms_Block_setBlockBounds($var1, $var5, var$7, var$8, var$9, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            if ($var7 == 2) {
                $var5 = 0.4375;
                var$7 = 0.8125;
                var$8 = 0.5625;
                var$9 = 0.9375;
                var$11 = 1.125;
                $ptr = 126;
                continue main;
            }
            if ($var7 != 3) {
                $var5 = (-0.5);
                var$7 = (-0.5);
                var$8 = (-0.5);
                $ptr = 127;
                continue main;
            }
            $var5 = 0.4375;
            var$7 = 0.3125;
            var$8 = 0.5625;
            var$9 = 1.125;
            $ptr = 159;
            continue main;
        case 126:
            nms_Block_setBlockBounds($var1, $var5, var$7, var$10, var$8, var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            if ($var7 != 3) {
                $var5 = (-0.5);
                var$7 = (-0.5);
                var$8 = (-0.5);
                $ptr = 127;
                continue main;
            }
            $var5 = 0.4375;
            var$7 = 0.3125;
            var$8 = 0.5625;
            var$9 = 1.125;
            $ptr = 159;
            continue main;
        case 127:
            olo_GL11_glTranslatef($var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 128;
        case 128:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            var$7 = (-1.0);
            var$8 = 0.0;
            $ptr = 129;
        case 129:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 0;
            $ptr = 130;
        case 130:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 131;
        case 131:
            nms_RenderBlocks_renderBottomFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 132;
        case 132:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 133;
        case 133:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            var$7 = 1.0;
            var$8 = 0.0;
            $ptr = 134;
        case 134:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 1;
            $ptr = 135;
        case 135:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 136;
        case 136:
            nms_RenderBlocks_renderTopFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 137;
        case 137:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 138;
        case 138:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            var$7 = 0.0;
            var$8 = (-1.0);
            $ptr = 139;
        case 139:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 2;
            $ptr = 140;
        case 140:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 141;
        case 141:
            nms_RenderBlocks_renderEastFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 142;
        case 142:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 143;
        case 143:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            var$7 = 0.0;
            var$8 = 1.0;
            $ptr = 144;
        case 144:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 3;
            $ptr = 145;
        case 145:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 146;
        case 146:
            nms_RenderBlocks_renderWestFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 147;
        case 147:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 148;
        case 148:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = (-1.0);
            var$7 = 0.0;
            var$8 = 0.0;
            $ptr = 149;
        case 149:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 4;
            $ptr = 150;
        case 150:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 151;
        case 151:
            nms_RenderBlocks_renderNorthFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 152;
        case 152:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 153;
        case 153:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 1.0;
            var$7 = 0.0;
            var$8 = 0.0;
            $ptr = 154;
        case 154:
            nms_Tessellator_setNormal($var3, $var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = 0.0;
            var$13 = 0.0;
            $var2 = 5;
            $ptr = 155;
        case 155:
            $tmp = $var1.$getBlockTextureFromSide($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 156;
        case 156:
            nms_RenderBlocks_renderSouthFace($this, $var1, var$14, var$15, var$13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 157;
        case 157:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.5;
            var$7 = 0.5;
            var$8 = 0.5;
            $ptr = 158;
        case 158:
            olo_GL11_glTranslatef($var5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var7 + 1 | 0;
            if ($var7 >= 4) {
                var$11 = 0.0;
                $var5 = 0.0;
                var$7 = 0.0;
                var$8 = 1.0;
                var$9 = 1.0;
                var$10 = 1.0;
                $ptr = 89;
                continue main;
            }
            if (!$var7) {
                $var5 = 0.375;
                var$7 = 0.0;
                var$8 = 0.0;
                var$9 = 0.625;
                var$11 = 1.0;
                var$12 = 0.25;
                $ptr = 91;
                continue main;
            }
            if ($var7 == 1) {
                $var5 = 0.375;
                var$7 = 0.0;
                var$8 = 0.75;
                var$9 = 0.625;
                var$11 = 1.0;
                var$12 = 1.0;
                $ptr = 125;
                continue main;
            }
            if ($var7 == 2) {
                $var5 = 0.4375;
                var$7 = 0.8125;
                var$8 = 0.5625;
                var$9 = 0.9375;
                var$11 = 1.125;
                $ptr = 126;
                continue main;
            }
            if ($var7 != 3) {
                $var5 = (-0.5);
                var$7 = (-0.5);
                var$8 = (-0.5);
                $ptr = 127;
                continue main;
            }
            $var5 = 0.4375;
            var$7 = 0.3125;
            var$8 = 0.5625;
            var$9 = 1.125;
            $ptr = 159;
        case 159:
            nms_Block_setBlockBounds($var1, $var5, var$7, var$10, var$8, $var5, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = (-0.5);
            var$7 = (-0.5);
            var$8 = (-0.5);
            $ptr = 127;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var7, $var5, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr);
    }
    function nms_RenderBlocks_renderItemIn3d($var0) {
        return !$var0 ? 1 : $var0 == 13 ? 1 : $var0 == 10 ? 1 : $var0 != 11 ? 0 : 1;
    }
    function nms_ModelRenderer() {
        var a = this; jl_Object.call(a);
        a.$corners = null;
        a.$faces = null;
        a.$textureOffsetX = 0;
        a.$textureOffsetY = 0;
        a.$offsetX = 0.0;
        a.$offsetY = 0.0;
        a.$offsetZ = 0.0;
        a.$rotateAngleX = 0.0;
        a.$rotateAngleY = 0.0;
        a.$rotateAngleZ = 0.0;
        a.$compiled = 0;
        a.$displayList = 0;
        a.$mirror = 0;
        a.$showModel = 0;
        a.$field_1402_i = 0;
    }
    function nms_ModelRenderer__init_(var_0, var_1) {
        var var_2 = new nms_ModelRenderer();
        nms_ModelRenderer__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ModelRenderer__init_0($this, $var1, $var2) {
        $this.$compiled = 0;
        $this.$displayList = 0;
        $this.$mirror = 0;
        $this.$showModel = 1;
        $this.$field_1402_i = 0;
        $this.$textureOffsetX = $var1;
        $this.$textureOffsetY = $var2;
    }
    function nms_ModelRenderer_addBox0($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        nms_ModelRenderer_addBox($this, $var1, $var2, $var3, $var4, $var5, $var6, 0.0);
    }
    function nms_ModelRenderer_addBox($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, $var9, $var10, var$11, var$12, $var20, $var12, $var13, $var14, $var15, $var16, $var17, $var18, var$21, var$22, var$23, var$24, $var19, var$26, var$27, var$28;
        $this.$corners = $rt_createArray(nms_PositionTexureVertex, 8);
        $this.$faces = $rt_createArray(nms_TexturedQuad, 6);
        $var8 = $var1 + $var4;
        $var9 = $var2 + $var5;
        $var10 = $var3 + $var6;
        var$11 = $var1 - $var7;
        $var2 = $var2 - $var7;
        var$12 = $var3 - $var7;
        $var3 = $var8 + $var7;
        $var8 = $var9 + $var7;
        $var7 = $var10 + $var7;
        if (!$this.$mirror) {
            $var1 = var$11;
            var$11 = $var3;
            $var3 = $var1;
        }
        a: {
            $var20 = nms_PositionTexureVertex__init_($var3, $var2, var$12, 0.0, 0.0);
            $var12 = nms_PositionTexureVertex__init_(var$11, $var2, var$12, 0.0, 8.0);
            $var13 = nms_PositionTexureVertex__init_(var$11, $var8, var$12, 8.0, 8.0);
            $var14 = nms_PositionTexureVertex__init_($var3, $var8, var$12, 8.0, 0.0);
            $var15 = nms_PositionTexureVertex__init_($var3, $var2, $var7, 0.0, 0.0);
            $var16 = nms_PositionTexureVertex__init_(var$11, $var2, $var7, 0.0, 8.0);
            $var17 = nms_PositionTexureVertex__init_(var$11, $var8, $var7, 8.0, 8.0);
            $var18 = nms_PositionTexureVertex__init_($var3, $var8, $var7, 8.0, 0.0);
            var$21 = $this.$corners.data;
            var$21[0] = $var20;
            var$21[1] = $var12;
            var$21[2] = $var13;
            var$21[3] = $var14;
            var$21[4] = $var15;
            var$21[5] = $var16;
            var$21[6] = $var17;
            var$21[7] = $var18;
            var$22 = $this.$faces.data;
            var$23 = new nms_TexturedQuad;
            var$24 = $rt_createArrayFromData(nms_PositionTexureVertex, [$var16, $var12, $var13, $var17]);
            $var19 = ($this.$textureOffsetX + $var6 | 0) + $var4 | 0;
            var$26 = $this.$textureOffsetY + $var6 | 0;
            nms_TexturedQuad__init_(var$23, var$24, $var19, var$26, $var19 + $var6 | 0, var$26 + $var5 | 0);
            var$22[0] = var$23;
            var$24 = $this.$faces.data;
            var$23 = new nms_TexturedQuad;
            var$21 = $rt_createArrayFromData(nms_PositionTexureVertex, [$var20, $var15, $var18, $var14]);
            var$26 = $this.$textureOffsetX;
            var$27 = var$26 + 0 | 0;
            var$28 = $this.$textureOffsetY + $var6 | 0;
            nms_TexturedQuad__init_(var$23, var$21, var$27, var$28, var$26 + $var6 | 0, var$28 + $var5 | 0);
            var$24[1] = var$23;
            var$21 = $this.$faces.data;
            var$23 = new nms_TexturedQuad;
            var$22 = $rt_createArrayFromData(nms_PositionTexureVertex, [$var16, $var15, $var20, $var12]);
            $var19 = $this.$textureOffsetX + $var6 | 0;
            var$26 = $this.$textureOffsetY;
            nms_TexturedQuad__init_(var$23, var$22, $var19, var$26 + 0 | 0, $var19 + $var4 | 0, var$26 + $var6 | 0);
            var$21[2] = var$23;
            var$24 = $this.$faces.data;
            var$23 = new nms_TexturedQuad;
            var$21 = $rt_createArrayFromData(nms_PositionTexureVertex, [$var13, $var14, $var18, $var17]);
            var$26 = ($this.$textureOffsetX + $var6 | 0) + $var4 | 0;
            var$27 = $this.$textureOffsetY;
            nms_TexturedQuad__init_(var$23, var$21, var$26, var$27 + 0 | 0, var$26 + $var4 | 0, var$27 + $var6 | 0);
            var$24[3] = var$23;
            var$21 = $this.$faces.data;
            var$23 = new nms_TexturedQuad;
            var$22 = $rt_createArrayFromData(nms_PositionTexureVertex, [$var12, $var20, $var14, $var13]);
            var$26 = $this.$textureOffsetX + $var6 | 0;
            var$27 = $this.$textureOffsetY + $var6 | 0;
            nms_TexturedQuad__init_(var$23, var$22, var$26, var$27, var$26 + $var4 | 0, var$27 + $var5 | 0);
            var$21[4] = var$23;
            var$24 = $this.$faces.data;
            var$23 = new nms_TexturedQuad;
            var$21 = $rt_createArrayFromData(nms_PositionTexureVertex, [$var15, $var16, $var17, $var18]);
            $var19 = (($this.$textureOffsetX + $var6 | 0) + $var4 | 0) + $var6 | 0;
            $var6 = $this.$textureOffsetY + $var6 | 0;
            nms_TexturedQuad__init_(var$23, var$21, $var19, $var6, $var19 + $var4 | 0, $var6 + $var5 | 0);
            var$24[5] = var$23;
            if ($this.$mirror) {
                $var19 = 0;
                while (true) {
                    var$21 = $this.$faces.data;
                    if ($var19 >= var$21.length)
                        break a;
                    var$23 = var$21[$var19];
                    var$21 = var$23.$vertexPositions.data;
                    $var4 = var$21.length;
                    var$22 = $rt_createArray(nms_PositionTexureVertex, $var4);
                    var$24 = var$22.data;
                    $var5 = 0;
                    while ($var5 < $var4) {
                        var$24[$var5] = var$21[($var4 - $var5 | 0) - 1 | 0];
                        $var5 = $var5 + 1 | 0;
                    }
                    var$23.$vertexPositions = var$22;
                    $var19 = $var19 + 1 | 0;
                }
            }
        }
    }
    function nms_ModelRenderer_setPosition($this, $var1, $var2, $var3) {
        $this.$offsetX = $var1;
        $this.$offsetY = $var2;
        $this.$offsetZ = $var3;
    }
    function nms_ModelRenderer_render($this, $var1) {
        var var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$field_1402_i && $this.$showModel) {
                if (!$this.$compiled) {
                    $ptr = 1;
                    continue main;
                }
                if ($this.$rotateAngleX === 0.0 && $this.$rotateAngleY === 0.0 && $this.$rotateAngleZ === 0.0) {
                    var$2 = $this.$offsetX;
                    if (var$2 === 0.0 && $this.$offsetY === 0.0 && $this.$offsetZ === 0.0) {
                        var$3 = $this.$displayList;
                        $ptr = 12;
                        continue main;
                    }
                    var$2 = var$2 * $var1;
                    var$4 = $this.$offsetY * $var1;
                    var$5 = $this.$offsetZ * $var1;
                    $ptr = 9;
                    continue main;
                }
                $ptr = 2;
                continue main;
            }
            return;
        case 1:
            nms_ModelRenderer_compileDisplayList($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$rotateAngleX === 0.0 && $this.$rotateAngleY === 0.0 && $this.$rotateAngleZ === 0.0) {
                var$2 = $this.$offsetX;
                if (var$2 === 0.0 && $this.$offsetY === 0.0 && $this.$offsetZ === 0.0) {
                    var$3 = $this.$displayList;
                    $ptr = 12;
                    continue main;
                }
                var$2 = var$2 * $var1;
                var$4 = $this.$offsetY * $var1;
                var$5 = $this.$offsetZ * $var1;
                $ptr = 9;
                continue main;
            }
            $ptr = 2;
        case 2:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$offsetX * $var1;
            var$4 = $this.$offsetY * $var1;
            $var1 = $this.$offsetZ * $var1;
            $ptr = 3;
        case 3:
            olo_GL11_glTranslatef(var$2, var$4, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$rotateAngleZ;
            if ($var1 !== 0.0) {
                $var1 = $var1 * 57.2957763671875;
                var$2 = 0.0;
                var$4 = 0.0;
                var$5 = 1.0;
                $ptr = 4;
                continue main;
            }
            $var1 = $this.$rotateAngleY;
            if ($var1 !== 0.0) {
                $var1 = $var1 * 57.2957763671875;
                var$2 = 0.0;
                var$4 = 1.0;
                var$5 = 0.0;
                $ptr = 5;
                continue main;
            }
            $var1 = $this.$rotateAngleX;
            if ($var1 === 0.0) {
                var$3 = $this.$displayList;
                $ptr = 6;
                continue main;
            }
            $var1 = $var1 * 57.2957763671875;
            var$2 = 1.0;
            var$4 = 0.0;
            var$5 = 0.0;
            $ptr = 8;
            continue main;
        case 4:
            olo_GL11_glRotatef($var1, var$2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$rotateAngleY;
            if ($var1 !== 0.0) {
                $var1 = $var1 * 57.2957763671875;
                var$2 = 0.0;
                var$4 = 1.0;
                var$5 = 0.0;
                $ptr = 5;
                continue main;
            }
            $var1 = $this.$rotateAngleX;
            if ($var1 === 0.0) {
                var$3 = $this.$displayList;
                $ptr = 6;
                continue main;
            }
            $var1 = $var1 * 57.2957763671875;
            var$2 = 1.0;
            var$4 = 0.0;
            var$5 = 0.0;
            $ptr = 8;
            continue main;
        case 5:
            olo_GL11_glRotatef($var1, var$2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$rotateAngleX;
            if ($var1 === 0.0) {
                var$3 = $this.$displayList;
                $ptr = 6;
                continue main;
            }
            $var1 = $var1 * 57.2957763671875;
            var$2 = 1.0;
            var$4 = 0.0;
            var$5 = 0.0;
            $ptr = 8;
            continue main;
        case 6:
            nleo_EaglercraftGPU_glCallList(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            olo_GL11_glRotatef($var1, var$2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$displayList;
            $ptr = 6;
            continue main;
        case 9:
            olo_GL11_glTranslatef(var$2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$displayList;
            $ptr = 10;
        case 10:
            nleo_EaglercraftGPU_glCallList(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 =  -$this.$offsetX * $var1;
            var$4 =  -$this.$offsetY * $var1;
            $var1 =  -$this.$offsetZ * $var1;
            $ptr = 11;
        case 11:
            olo_GL11_glTranslatef(var$2, var$4, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 12:
            nleo_EaglercraftGPU_glCallList(var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_ModelRenderer_func_25122_b($this, $var1) {
        var var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$field_1402_i && $this.$showModel) {
                if ($this.$compiled) {
                    $ptr = 1;
                    continue main;
                }
                $ptr = 3;
                continue main;
            }
            return;
        case 1:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$offsetX * $var1;
            var$3 = $this.$offsetY * $var1;
            $var1 = $this.$offsetZ * $var1;
            $ptr = 2;
        case 2:
            olo_GL11_glTranslatef(var$2, var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$rotateAngleY;
            if ($var1 !== 0.0) {
                $var1 = $var1 * 57.2957763671875;
                var$2 = 0.0;
                var$3 = 1.0;
                var$4 = 0.0;
                $ptr = 4;
                continue main;
            }
            $var1 = $this.$rotateAngleX;
            if ($var1 !== 0.0) {
                $var1 = $var1 * 57.2957763671875;
                var$2 = 1.0;
                var$3 = 0.0;
                var$4 = 0.0;
                $ptr = 5;
                continue main;
            }
            $var1 = $this.$rotateAngleZ;
            if ($var1 === 0.0) {
                var$5 = $this.$displayList;
                $ptr = 6;
                continue main;
            }
            $var1 = $var1 * 57.2957763671875;
            var$2 = 0.0;
            var$3 = 0.0;
            var$4 = 1.0;
            $ptr = 8;
            continue main;
        case 3:
            nms_ModelRenderer_compileDisplayList($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 1;
            continue main;
        case 4:
            olo_GL11_glRotatef($var1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$rotateAngleX;
            if ($var1 !== 0.0) {
                $var1 = $var1 * 57.2957763671875;
                var$2 = 1.0;
                var$3 = 0.0;
                var$4 = 0.0;
                $ptr = 5;
                continue main;
            }
            $var1 = $this.$rotateAngleZ;
            if ($var1 === 0.0) {
                var$5 = $this.$displayList;
                $ptr = 6;
                continue main;
            }
            $var1 = $var1 * 57.2957763671875;
            var$2 = 0.0;
            var$3 = 0.0;
            var$4 = 1.0;
            $ptr = 8;
            continue main;
        case 5:
            olo_GL11_glRotatef($var1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$rotateAngleZ;
            if ($var1 === 0.0) {
                var$5 = $this.$displayList;
                $ptr = 6;
                continue main;
            }
            $var1 = $var1 * 57.2957763671875;
            var$2 = 0.0;
            var$3 = 0.0;
            var$4 = 1.0;
            $ptr = 8;
            continue main;
        case 6:
            nleo_EaglercraftGPU_glCallList(var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            olo_GL11_glRotatef($var1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$displayList;
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_ModelRenderer_postRender($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                b: {
                    if (!$this.$field_1402_i && $this.$showModel) {
                        if (!$this.$compiled) {
                            $ptr = 1;
                            continue main;
                        }
                        if ($this.$rotateAngleX === 0.0 && $this.$rotateAngleY === 0.0 && $this.$rotateAngleZ === 0.0) {
                            var$2 = $this.$offsetX;
                            if (var$2 !== 0.0)
                                break a;
                            if ($this.$offsetY !== 0.0)
                                break a;
                            if ($this.$offsetZ === 0.0)
                                break b;
                            else
                                break a;
                        }
                        var$2 = $this.$offsetX * $var1;
                        var$3 = $this.$offsetY * $var1;
                        $var1 = $this.$offsetZ * $var1;
                        $ptr = 2;
                        continue main;
                    }
                }
                return;
            }
            var$2 = var$2 * $var1;
            var$3 = $this.$offsetY * $var1;
            $var1 = $this.$offsetZ * $var1;
            $ptr = 6;
            continue main;
        case 1:
            nms_ModelRenderer_compileDisplayList($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$rotateAngleX === 0.0 && $this.$rotateAngleY === 0.0 && $this.$rotateAngleZ === 0.0) {
                var$2 = $this.$offsetX;
                if (var$2 === 0.0 && $this.$offsetY === 0.0 && $this.$offsetZ === 0.0)
                    return;
                var$2 = var$2 * $var1;
                var$3 = $this.$offsetY * $var1;
                $var1 = $this.$offsetZ * $var1;
                $ptr = 6;
                continue main;
            }
            var$2 = $this.$offsetX * $var1;
            var$3 = $this.$offsetY * $var1;
            $var1 = $this.$offsetZ * $var1;
            $ptr = 2;
        case 2:
            olo_GL11_glTranslatef(var$2, var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$rotateAngleZ;
            if ($var1 !== 0.0) {
                $var1 = $var1 * 57.2957763671875;
                var$2 = 0.0;
                var$3 = 0.0;
                var$4 = 1.0;
                $ptr = 3;
                continue main;
            }
            $var1 = $this.$rotateAngleY;
            if ($var1 !== 0.0) {
                $var1 = $var1 * 57.2957763671875;
                var$2 = 0.0;
                var$3 = 1.0;
                var$4 = 0.0;
                $ptr = 4;
                continue main;
            }
            $var1 = $this.$rotateAngleX;
            if ($var1 === 0.0)
                return;
            $var1 = $var1 * 57.2957763671875;
            var$2 = 1.0;
            var$3 = 0.0;
            var$4 = 0.0;
            $ptr = 5;
            continue main;
        case 3:
            olo_GL11_glRotatef($var1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$rotateAngleY;
            if ($var1 !== 0.0) {
                $var1 = $var1 * 57.2957763671875;
                var$2 = 0.0;
                var$3 = 1.0;
                var$4 = 0.0;
                $ptr = 4;
                continue main;
            }
            $var1 = $this.$rotateAngleX;
            if ($var1 === 0.0)
                return;
            $var1 = $var1 * 57.2957763671875;
            var$2 = 1.0;
            var$3 = 0.0;
            var$4 = 0.0;
            $ptr = 5;
            continue main;
        case 4:
            olo_GL11_glRotatef($var1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$rotateAngleX;
            if ($var1 === 0.0)
                return;
            $var1 = $var1 * 57.2957763671875;
            var$2 = 1.0;
            var$3 = 0.0;
            var$4 = 0.0;
            $ptr = 5;
        case 5:
            olo_GL11_glRotatef($var1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            olo_GL11_glTranslatef(var$2, var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_ModelRenderer_compileDisplayList($this, $var1) {
        var var$2, var$3, $var2, $var3, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 1;
            $ptr = 1;
        case 1:
            $tmp = nms_GLAllocation_generateDisplayLists(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$displayList = var$2;
            var$3 = 4864;
            $ptr = 2;
        case 2:
            nleo_EaglercraftGPU_glNewList(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_Tessellator_instance;
            $var3 = 0;
            var$6 = $this.$faces.data;
            if ($var3 >= var$6.length) {
                $ptr = 4;
                continue main;
            }
            var$7 = var$6[$var3];
            var$6 = var$7.$vertexPositions.data;
            var$8 = nms_Vec3D_subtract(var$6[1].$vector3D, var$6[0].$vector3D);
            var$6 = var$7.$vertexPositions.data;
            var$9 = nms_Vec3D_subtract(var$6[1].$vector3D, var$6[2].$vector3D);
            var$10 = var$9.$yCoord;
            var$11 = var$8.$zCoord;
            var$12 = var$10 * var$11;
            var$13 = var$9.$zCoord;
            var$14 = var$8.$yCoord;
            var$12 = var$12 - var$13 * var$14;
            var$15 = var$8.$xCoord;
            var$13 = var$13 * var$15;
            var$16 = var$9.$xCoord;
            var$8 = nms_Vec3D_normalize(nms_Vec3D_createVector(var$12, var$13 - var$16 * var$11, var$16 * var$14 - var$10 * var$15));
            $ptr = 5;
            continue main;
        case 4:
            nleo_EaglercraftGPU_glEndList();
            if ($rt_suspending()) {
                break main;
            }
            $this.$compiled = 1;
            return;
        case 5:
            nms_Tessellator_startDrawingQuads($var2);
            if ($rt_suspending()) {
                break main;
            }
            if (!var$7.$invertNormal) {
                var$17 = var$8.$xCoord;
                var$18 = var$8.$yCoord;
                var$19 = var$8.$zCoord;
                $ptr = 6;
                continue main;
            }
            var$17 =  -var$8.$xCoord;
            var$18 =  -var$8.$yCoord;
            var$19 =  -var$8.$zCoord;
            $ptr = 7;
            continue main;
        case 6:
            nms_Tessellator_setNormal($var2, var$17, var$18, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            if (var$2 >= 4) {
                $ptr = 8;
                continue main;
            }
            var$8 = var$7.$vertexPositions.data[var$2];
            var$9 = var$8.$vector3D;
            var$10 = var$9.$xCoord * $var1;
            var$11 = var$9.$yCoord * $var1;
            var$12 = var$9.$zCoord * $var1;
            var$13 = var$8.$texturePositionX;
            var$14 = var$8.$texturePositionY;
            $ptr = 9;
            continue main;
        case 7:
            nms_Tessellator_setNormal($var2, var$17, var$18, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            if (var$2 >= 4) {
                $ptr = 8;
                continue main;
            }
            var$8 = var$7.$vertexPositions.data[var$2];
            var$9 = var$8.$vector3D;
            var$10 = var$9.$xCoord * $var1;
            var$11 = var$9.$yCoord * $var1;
            var$12 = var$9.$zCoord * $var1;
            var$13 = var$8.$texturePositionX;
            var$14 = var$8.$texturePositionY;
            $ptr = 9;
            continue main;
        case 8:
            nms_Tessellator_draw($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var3 + 1 | 0;
            var$6 = $this.$faces.data;
            if ($var3 >= var$6.length) {
                $ptr = 4;
                continue main;
            }
            var$7 = var$6[$var3];
            var$6 = var$7.$vertexPositions.data;
            var$8 = nms_Vec3D_subtract(var$6[1].$vector3D, var$6[0].$vector3D);
            var$6 = var$7.$vertexPositions.data;
            var$9 = nms_Vec3D_subtract(var$6[1].$vector3D, var$6[2].$vector3D);
            var$10 = var$9.$yCoord;
            var$11 = var$8.$zCoord;
            var$12 = var$10 * var$11;
            var$13 = var$9.$zCoord;
            var$14 = var$8.$yCoord;
            var$12 = var$12 - var$13 * var$14;
            var$15 = var$8.$xCoord;
            var$13 = var$13 * var$15;
            var$16 = var$9.$xCoord;
            var$8 = nms_Vec3D_normalize(nms_Vec3D_createVector(var$12, var$13 - var$16 * var$11, var$16 * var$14 - var$10 * var$15));
            $ptr = 5;
            continue main;
        case 9:
            nms_Tessellator_addVertexWithUV($var2, var$10, var$11, var$12, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = var$2 + 1 | 0;
            if (var$2 >= 4) {
                $ptr = 8;
                continue main;
            }
            var$8 = var$7.$vertexPositions.data[var$2];
            var$9 = var$8.$vector3D;
            var$10 = var$9.$xCoord * $var1;
            var$11 = var$9.$yCoord * $var1;
            var$12 = var$9.$zCoord * $var1;
            var$13 = var$8.$texturePositionX;
            var$14 = var$8.$texturePositionY;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $var2, $var3, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, $ptr);
    }
    function jl_Object$Monitor() {
        var a = this; jl_Object.call(a);
        a.$enteringThreads = null;
        a.$notifyListeners = null;
        a.$owner = null;
        a.$count = 0;
    }
    function jl_Object$Monitor__init_() {
        var var_0 = new jl_Object$Monitor();
        jl_Object$Monitor__init_0(var_0);
        return var_0;
    }
    function jl_Object$Monitor__init_0($this) {
        $this.$owner = jl_Thread_currentThread();
    }
    var jl_IllegalMonitorStateException = $rt_classWithoutFields(jl_RuntimeException);
    function jl_IllegalMonitorStateException__init_0() {
        var var_0 = new jl_IllegalMonitorStateException();
        jl_IllegalMonitorStateException__init_(var_0);
        return var_0;
    }
    function jl_IllegalMonitorStateException__init_($this) {
        jl_Throwable__init_0($this);
    }
    var nleit_TeaVMRuntimeDeobfuscator = $rt_classWithoutFields();
    var nleit_TeaVMRuntimeDeobfuscator_logger = null;
    var nleit_TeaVMRuntimeDeobfuscator_initLock = null;
    var nleit_TeaVMRuntimeDeobfuscator_deobfClassNames = null;
    var nleit_TeaVMRuntimeDeobfuscator_deobfFuncNames = null;
    var nleit_TeaVMRuntimeDeobfuscator_isInitialized = 0;
    var nleit_TeaVMRuntimeDeobfuscator_isFailed = 0;
    var nleit_TeaVMRuntimeDeobfuscator_$clinitCalled = false;
    function nleit_TeaVMRuntimeDeobfuscator_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nleit_TeaVMRuntimeDeobfuscator_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_TeaVMRuntimeDeobfuscator_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nleit_TeaVMRuntimeDeobfuscator__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nleit_TeaVMRuntimeDeobfuscator_$callClinit = $rt_eraseClinit(nleit_TeaVMRuntimeDeobfuscator);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nleit_TeaVMRuntimeDeobfuscator__init_0() {
        var var_0 = new nleit_TeaVMRuntimeDeobfuscator();
        nleit_TeaVMRuntimeDeobfuscator__init_(var_0);
        return var_0;
    }
    function nleit_TeaVMRuntimeDeobfuscator__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_TeaVMRuntimeDeobfuscator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleit_TeaVMRuntimeDeobfuscator_getAllClasses() {
        return [ [ "java", "util", "regex", "AbstractCharClass$LazyBlank", "AbstractCharClass$LazyCntrl", "net", "minecraft", "src", "BlockCake", "com", "jcraft", "jzlib", "Inflate", "io", "BufferedInputStream", "lax1dude", "eaglercraft", "internal", "buffer", "EaglerArrayByteBuffer", "StatCollector", "StatBasic", "nio", "charset", "impl", "BufferedEncoder$Controller", "TileEntityRenderer", "lang", "Integer", "jorbis", "Floor0$InfoFloor0", "IChunkProvider", "org", "json", "JSONException", "UTF16Encoder", "EntityList$<clinit>$lambda$_7_7",
        "EntityList$<clinit>$lambda$_7_6", "EntityList$<clinit>$lambda$_7_9", "text", "DateFormatElement$Year", "EntityList$<clinit>$lambda$_7_8", "AbstractCharClass$LazyAlpha", "EntityList$<clinit>$lambda$_7_3", "EntityList$<clinit>$lambda$_7_2", "GuiCrafting", "EntityList$<clinit>$lambda$_7_5", "EntityList$<clinit>$lambda$_7_4", "IAudioHandle", "EaglercraftVersion", "NibbleArray", "AbstractCharClass$LazyNonWord", "EntityList$<clinit>$lambda$_7_1", "EntityList$<clinit>$lambda$_7_0", "PlatformInput$12$1", "CISequenceSet",
        "lwjgl", "glu", "GLU", "LinkageError", "CharSequence", "Packet255KickDisconnect", "EntityZombieSimple", "CraftingInventoryChestCB", "teavm", "classlib", "tz", "DateTimeZoneProvider$1", "MCHashTable", "BlockDispenser", "BlockReed", "AbstractCharClass$LazyCategory", "StepSoundStone", "EntityFish", "EntityGhast", "EntityWolf", "BehindFSet", "BlockFluids", "WorldInfo", "ItemFishingRod", "WorldGenTaiga1", "WorldGenTaiga2", "ItemSlab", "LowHighSurrogateRangeSet", "ByteArrayOutputStream", "BlockStairs", "EntityMinecart",
        "AsciiEncoder", "Currency", "PlatformRuntime$downloadRemoteURIFetch$lambda$_37_1", "PlatformRuntime$downloadRemoteURIFetch$lambda$_37_0", "function", "Supplier", "ClassCastException", "TeaVMDataURLManager", "PosPlusGroupQuantifierSet", "Calendar", "StringBuffer", "Buffer", "LocalStorageManager", "AbstractCharClass$LazyJavaUnicodeIdentifierPart$1", "AbstractCharClass$PredefinedCharacterClasses", "AbstractCharClass$LazyDigit", "AbstractCharClass$LazyJavaLetter", "jso", "JSWrapper$<clinit>$lambda$_30_0",
        "FileChooserResult", "JSWrapper$<clinit>$lambda$_30_1", "RenderGhast", "TeaVMUtils", "Packet16BlockItemSwitch", "PlatformRuntime$DumbSleepHandler", "AheadFSet", "Packet103", "GameSettings", "Packet104", "Packet105", "EaglerArrayBufferAllocator$WrongBufferClassType", "Packet106", "PlatformOpenGL", "ByteBuffer", "NBTTagShort", "PositiveLookAhead", "TreeMap", "MaterialLogic", "NegativeLookAhead", "ItemSnowball", "Packet100", "typedarrays", "DataView", "Packet101", "Packet102", "RenderSorter", "ReadOnlyBufferException",
        "IInventory", "reflect", "Array", "InfCodes", "ModelWolf", "TileEntityNote", "NetHandler", "ItemCloth", "NoSuchFieldError", "AbstractCharClass$LazyJavaDigit", "TeaVMWebSocketFrame", "BlockFurnace", "EntityNoteFX", "DebugConsoleWindow$LogMessage", "PlatformFilesystem$FilesystemDatabaseLockedException", "PlayerControllerSP", "StatCrafting", "peyton", "awt", "Color", "ModelBiped", "opengl", "SoftGLVertexArray", "FSet", "JS", "AbstractCharClass$LazyJavaUnicodeIdentifierStart$1", "UTF16Charset", "Mapping0",
        "unicode", "UnicodeHelper", "BlockLog", "Object$monitorEnterWait$lambda$_6_0", "TreeMap$EntryIterator", "PlatformRuntime$7", "StreamBuffer", "PlatformRuntime$8", "GLObjectMap", "AbstractCharClass$LazyPrint", "AbstractCharClass$LazyJavaSpaceChar", "PositiveLookBehind", "Comparator$NaturalOrder", "PlatformInput$iterateKeyboardLayout$lambda$_6_0", "CharsetEncoder", "RenderChicken", "AsciiCharset", "ItemRecord", "BlockObsidian", "profile", "EaglerProfile$UserSkin", "ArrayStoreException", "ItemBed", "DataInputStream",
        "RenderSlime", "MatchResultImpl", "DateTimeZone", "BlockSnow", "BlockBloodStone", "ModelSkeleton", "GuiButton", "PlatformRuntime$1", "PlatformRuntime$2", "AbstractCharClass$LazyJavaJavaIdentifierPart$1", "PlatformRuntime$5", "PlatformRuntime$6", "PlatformApplication", "AbstractCharClass$LazyGraph", "RenderHelper", "TeaVMWebSocketClient$1", "Charset", "TileEntitySpecialRenderer", "TeaVMFetchJS", "DecomposedCharSet", "AbstractStringBuilder", "IllegalCharsetNameException", "TeaVMWebSocketClient$4", "TeaVMWebSocketClient$2",
        "TeaVMWebSocketClient$3", "PrintStream", "RenderBlocks", "ItemHoe", "NegativeLookBehind", "Packet32EntityLook", "PacketCounter", "TeaVMClientConfigAdapterHooks$callCrashReportHook$lambda$_4_0", "EntitySmokeFX", "ImageData", "AbstractCharClass$LazyJavaJavaIdentifierPart", "UnknownFormatConversionException", "DecimalFormat$PerMillField", "EntityFallingSand", "Consumer", "IllegalFormatCodePointException", "PlatformAudio", "Packet21PickupSpawn", "UnifiedQuantifierSet", "TeaVMClientConfigAdapterHooks$callLocalStorageLoadHook$lambda$_2_0",
        "Class", "InventoryPlayer", "Int16Array", "BitSet", "RenderEngine", "ScaledResolution", "BlockWorkbench", "WorldGenMinable", "Float", "CharSet", "GuiFurnace", "DateTimeZoneBuilder$RuleBasedZone", "ModelCow", "Collections$5", "TileEntityDispenser", "MapGenCavesHell", "Collections$3", "TemplateCollections$AbstractImmutableList", "Collections$4", "Collections$1", "Collections$2", "Frustrum", "WorldGenLightStone1", "QuantifierSet", "AbstractCharClass$LazyCategoryScope", "Packet34EntityTeleport", "WorldGenLightStone2",
        "TeaVMRuntimeDeobfuscator$DeobfNameEntry", "CraftingManager", "EntityPigZombie", "Packet20NamedEntitySpawn", "Packet7", "BlockBookshelf", "CharBufferOverArray", "Packet8", "AxisAlignedBB", "PCMToWAVLoader", "Packet9", "WorldChunkManagerHell", "AbstractCharClass$LazyJavaTitleCase$1", "DataWatcher", "Collections$<clinit>$lambda$_59_0", "ItemAxe", "ModelPig", "ChunkPosition", "PlatformAssets$1", "UnsupportedCharsetException", "PlatformAssets$2", "AbstractCharClass$LazyJavaISOControl$1", "TexturePortalFX",
        "EntitySheep", "BlockPortal", "GZIPHeader", "EntityCreature", "AtomicFSet", "jogg", "SyncState", "LowSurrogateCharSet", "Error", "AssertionError", "NBTTagCompound", "ItemBoat", "NumberFormat", "FloatSynthesizer", "TreeSet", "ItemBucket", "CompositeQuantifierSet", "SupplRangeSet", "BlockPumpkin", "String", "console", "StderrOutputStream", "BlockStationary", "GuiCreateWorld", "Base64", "UTF8Encoder", "NBTTagByte", "StreamBuffer$IStreamBufferInitializer", "PsyInfo", "Properties", "Session", "ZStream", "EnumPlatformANGLE",
        "EntityEgg", "BlockBed", "PlatformAudio$BrowserAudioResource", "FuncFloor", "DecimalFormat$TextField", "UTF8Charset", "PathPoint", "ModelMinecart", "MultiLineEOLSet", "WorldProviderHell", "ItemRenderer", "EntityReddustFX", "BufferedReader", "Packet4UpdateTime", "EntityFlameFX", "ArrayDeque", "HashEntry", "BlockSapling", "BlockSponge", "GuiEditSign", "Page", "zip", "Inflater", "EntitySpider", "DecimalFormatSymbols", "HashMap$AbstractMapIterator", "EmptyChunk", "Residue0", "Residue1", "Formatter", "Residue2",
        "WorldGenFire", "EffectRenderer", "Base64Impl", "Mdct", "Object$Monitor", "GuiGameOver", "EntitySkeleton", "TextureLavaFX", "CharBuffer", "SoftGLVertexState", "vector", "Matrix4f", "EntityDiggingFX", "RamdiskFilesystemImpl", "MessageChannel", "WorldProvider", "BlockFlowing", "RenderItem", "ISaveHandler", "List", "DateTimeZoneBuilder$Recurrence", "Base64VarIntArray", "GLObjectRecycler", "RecipesDyes", "PlayerController", "DateTimeZoneBuilder$OfYear", "WorldGenLiquids", "BufferOverflowException", "AbstractSet",
        "IBlockAccess", "RedstoneUpdateInfo", "BaseNCodec$Context", "Teleporter", "NonCapJointSet", "Iterable", "AbstractCharClass$LazyJavaLetterOrDigit", "UnicodeHelper$Range", "Packet130", "DisplayList", "IChunkLoader", "GuiMainMenu", "BlockRedstoneWire", "TeaVMClientConfigAdapterHooks$callHookSafe$lambda$_5_0", "Packet12PlayerLook", "AbstractLineTerminator$2", "CharMapping", "ChunkCache", "AbstractCharClass$LazyCharClass", "AbstractLineTerminator$1", "NoClassDefFoundError", "AbstractCharClass$LazyJavaUnicodeIdentifierStart",
        "Util", "core", "JSWeakRef", "OutputStream", "CharFlow", "BlockCloth", "RangeSet", "EaglerOutputStream", "Float32Array", "TextureFlamesFX", "GuiChat", "CharClass", "GuiInventory", "TexureWaterFlowFX", "BufferUnderflowException", "carrotsearch", "hppc", "IntObjectMap", "BufferedEncoder", "ItemSeeds", "DateFormatElement$AmPmText", "BlockClay", "ItemLog", "PlatformAudio$1", "PlatformAudio$2", "EntityPlayerSP", "vfs2", "VFSListFilesIteratorImpl", "ModelBed", "GuiRenameWorld", "PlatformInput$asyncRequestAnimationFrame$lambda$_33_1",
        "MalformedInputException", "PlatformInput$asyncRequestAnimationFrame$lambda$_33_0", "ItemBlock", "Vector4f", "XErrr", "CloneNotSupportedException", "WorldGenForest", "KeyBinding", "NBTTagEnd", "ColorizerGrass", "InventoryCrafting", "BlockRedstoneTorch", "JSArray", "BlockChest", "AbstractCharClass$LazyNonDigit", "EnumSet", "TeaVMDataURLManager$checkDataURLSupport0$lambda$_1_0", "CIBackReferenceSet", "AbstractCharClass$1", "MobSpawnerHell$<init>$lambda$_0_1", "AbstractCharClass$2", "MobSpawnerHell$<init>$lambda$_0_0",
        "PossessiveCompositeQuantifierSet", "DecimalFormat$CurrencyField", "GregorianCalendar", "BlockLightStone", "RenderPlayer", "MapGenBase", "MaterialLiquid", "Vector3f", "GuiTextField", "DateFormatElement$NumericMonth", "currency", "CurrencyHelper", "RenderMinecart", "Time0", "EntitySnowball", "Base46", "webaudio", "AudioContext", "UCISequenceSet", "RenderGlobal", "TeaVMBlobURLManager$checkSameOriginSupport$lambda$_3_0", "AbstractCharClass$LazyJavaDefined$1", "Int8Array", "ImmediateContinue", "JSExceptions",
        "AbstractCharClass$LazyAlnum", "CompositeRangeSet", "Item", "IWebSocketFrame", "Hashtable$Entry", "ChunkProviderHell", "Packet33RelEntityMoveLook", "FinalSet", "Tessellator", "ModelQuadraped", "Packet14BlockDig", "BlockGlass", "NoiseGeneratorOctaves2", "BlockMinecartTrack", "EmptySet", "StepSound", "StreamBuffer$PoolInstance", "EnumPlatformOS", "MouseHelper", "EnumMovingObjectType", "DateTimeZoneBuilder$Transition", "StackTraceElement", "DateFormatElement$MonthText", "BooleanResult", "GLSLHeader", "FontRenderer",
        "SoundManager$<init>$lambda$_0_0", "AbstractWebSocketClient", "beta", "TextureNewClockFX", "NoSuchMethodError", "ClientMain$showCrashScreen$lambda$_9_0", "BlockLeavesBase", "ItemReed", "RandomUtils", "IOException", "BlockMobSpawner", "ArrayIndexOutOfBoundsException", "InputStreamReader", "EntityArrow", "StepSoundSand", "Pathfinder", "TeaVMRuntimeDeobfuscator", "RenderPainting", "ItemBow", "AbstractList$1", "AbstractMap$SimpleEntry", "InfBlocks", "OpenGLObjects$UniformGL", "TemplateCollections$AbstractImmutableMap",
        "RenderSheep", "MathHelper", "RenderEntity", "GuiDownloadTerrain", "ListIterator", "Date", "BlockStone", "Random", "PlatformRuntime$checkImmediateContinueSupport0$lambda$_51_0", "PathEntity", "Runnable", "UTF8Decoder", "DateTimeZoneProvider$detectTimezone$lambda$_4_0", "EntitySquid", "BlockLadder", "PossessiveQuantifierSet", "BufferedDecoder$Controller", "Locale", "Short", "DefaultUncaughtExceptionHandler", "InstantiationException", "CraftingInventoryWorkbenchCB", "AbstractCharClass$LazyJavaLetter$1",
        "WorldGenBigTree", "ClientMain$1", "platform", "PlatformRunnable", "ClientMain$2", "IANATimeZone", "Packet52MultiBlockChange", "ItemDye", "Iso8859Decoder", "MobSpawnerSwamp", "SpecialToken", "BlockDoor", "HashMap$HashEntry", "NBTTagList", "TileEntityFurnace", "EntityPickupFX", "WorldGenHellLava", "AbstractCharClass$LazyUpper", "Achievement", "HashMap$KeyIterator", "VFSFilenameIterator", "JSWrapper", "TeaVMBlobURLManager$HandleRealBlobURL", "HashSet", "InstancedFontRenderer", "BlockPressurePlate", "IExtPipelineCompiler",
        "EntityChicken", "OutputStreamWriter", "MultiLineSOLSet", "World", "Packet50PreChunk", "Packet23VehicleSpawn", "GuiOptions", "ModelRenderer", "Vector", "AbstractCharClass$LazyLower", "ClientMain", "Packet5PlayerInventory", "crypto", "MD5Digest", "ItemTool", "DateTimeZoneBuilder$PrecalculatedZone", "ItemSpade", "AbstractCharClass$LazyJavaTitleCase", "Packet29DestroyEntity", "MovingObjectPosition", "PreviousMatch", "DoubleSupplier", "ModelSheep2", "TileEntitySignRenderer", "Comparator", "VFSFilenameIteratorNonRecursive",
        "NonCapFSet", "Adler32", "ModelSheep1", "MobSpawnerDesert", "PlatformInput$5", "Packet60", "EnumPlatformAgent", "PlatformInput$6", "PlatformInput$7", "SpawnerAnimals$<clinit>$lambda$_6_0", "PlatformInput$8", "UCISupplCharSet", "eagler", "EntityConstructor", "PlatformInput$9", "SpawnerAnimals$<clinit>$lambda$_6_2", "SpawnerAnimals$<clinit>$lambda$_6_1", "AbstractQueue", "TexturePackDefault", "AbstractCharClass$LazyRange", "LWJGLException", "GuiConnectFailed", "ModelBase", "AltQuantifierSet", "GZIPInputStream",
        "ItemStack", "TeaVMClientConfigAdapterHooks$callScreenChangedHook$lambda$_3_0", "DataOutputStream", "AbstractCharClass$LazyJavaLowerCase$1", "Path", "EntityMobs", "NoiseGeneratorPerlin", "FixedDateTimeZone", "indexeddb", "IDBObjectStoreParameters", "Object$monitorExit$lambda$_8_0", "Packet", "PlatformInput$1", "PlatformInput$2", "UCISupplRangeSet", "Packet54", "PlatformInput$3", "PlatformInput$4", "PrintWriter", "BlockCrops", "Display", "AbstractCharClass$LazyPunct", "Console", "websocket", "WebSocket",
        "PlatformAssets", "MouseFilter", "BlockFence", "CachedDateTimeZone$Info", "OpenGLObjects$ProgramGL", "Packet15Place", "NoiseGeneratorOctaves", "Dictionary", "TextureFormatHelper", "Packet40", "Throwable", "AbstractCharClass$LazySpace", "HashMap$1", "HashMap$2", "SimpleDateFormat", "DebugConsoleWindow", "EaglercraftSaveManager", "MapGenCaves", "LinkedList$SequentialListIterator", "EnumEaglerConnectionState", "opts", "JSEaglercraftXOptsAssetsURI", "GuiMultiplayer", "DateTimeZoneProvider", "PositionTexureVertex",
        "NegativeArraySizeException", "Filesystem", "EntityBoat", "Map$Entry", "HashContainers", "Packet70", "ES6ShimStatus", "EnumES6Shims", "GuiTexturePacks", "GuiControls", "FormatterClosedException", "EagRuntime$debugPrintStackTraceToSTDERR0$lambda$_25_0", "BlockRedstoneRepeater", "Floor0$LookFloor0", "GuiTexturePackSlot", "TemplateCollections$AbstractImmutableSet", "EntityExplodeFX", "TileEntityMobSpawner", "NoiseGenerator", "InfoMode", "UTF16Decoder", "GroupQuantifierSet", "EnumArt", "OutOfMemoryError",
        "IllegalStateException", "Residue0$LookResidue0", "Random$nextGaussian$lambda$_9_0", "IndexedDBFilesystem$AsyncHandlers$9", "AbstractList", "ReluctantCompositeQuantifierSet", "ModelChicken", "IndexedDBFilesystem$AsyncHandlers$8", "EnumOptionsMappingHelper", "PlatformInput$MobilePressAnyKeyHandler", "SOLSet", "BlockJukeBox", "IndexedDBFilesystem$AsyncHandlers$1", "Packet24MobSpawn", "IndexedDBFilesystem$AsyncHandlers$3", "IndexedDBFilesystem$AsyncHandlers$2", "GuiIngame", "IndexedDBFilesystem$AsyncHandlers$5",
        "IndexedDBFilesystem$AsyncHandlers$4", "BufferAllocationException", "IndexedDBFilesystem$AsyncHandlers$7", "IndexedDBFilesystem$AsyncHandlers$6", "RenderFallingSand", "DateFormatElement$Numeric", "HashMap$HashMapEntrySet", "AbstractCharClass", "Byte", "IRecipe", "EnumStatus", "ChunkProviderClient", "PlatformInput$VMouseEvent", "TexturedQuad", "EOFException", "Packet6SpawnPosition", "DateFormatElement$Iso8601Timezone", "TileEntityChest", "AchievementMap", "BlockSoil", "ConsoleOutputStream", "AbstractCharClass$LazyJavaIdentifierIgnorable",
        "GuiVideoSettings", "HashMap", "DecimalFormat$MinusField", "CoderResult", "DoubleAnalyzer", "EOLSet", "IEaglerFilesystem", "VSHInputLayoutParser", "Lexer", "ModelSpider", "ClippingHelperImplementation", "AudioUtils", "EntityCow", "EntityPig", "AbstractCharClass$LazyNonSpace", "RenderTNTPrimed", "WorldGenDungeons", "Int32Array", "ItemMinecart", "DateTimeZoneProvider$Score", "IllegalArgumentException", "SimpleDatePatternParser", "EntityWaterMob", "Matrix", "Drft", "InterruptedException", "ItemRedstone",
        "HashMap$EntryIterator", "Collections", "EntityList", "Floor1$InfoFloor1", "Format", "EaglerArrayIntBuffer", "WorldGenCactus", "CodeBook", "BlockFire", "WorldRenderer", "apache", "commons", "lang3", "StringUtils", "XGuiUmmm", "AbstractStringBuilder$Constants", "SingleSet", "PlatformRuntime$downloadRemoteURIXHR$lambda$_35_0", "TexturePackList", "PlatformRuntime$downloadRemoteURIXHR$lambda$_35_1", "Thread", "ClientMain$EPKFileEntry", "TeaVMBlobURLManager$HandleFakeBlobURL", "NBTTagDouble", "StreamState",
        "EnumES6ShimStatus", "BackReferencedSingleSet", "PlatformQueue", "CLDRHelper", "SignModel", "GuiContainer", "RealOpenGLEnums", "String$<clinit>$lambda$_93_0", "Gui", "MissingResourceException", "StringIndexOutOfBoundsException", "RuntimeInitializationFailureException", "CharsetDecoder", "input", "Mouse", "IAudioCacheLoader", "UCIBackReferenceSet", "Packet53BlockChange", "ByteOrder", "StdoutOutputStream", "DotAllQuantifierSet", "ItemEgg", "DateTimeZoneBuilder$Rule", "TextureWaterFX", "random", "RandomGenerator",
        "EaglercraftGPU$1", "EaglercraftGPU$2", "EaglercraftGPU$3", "ReluctantGroupQuantifierSet", "ReflectiveOperationException", "BitMixer", "CoderMalfunctionError", "TileEntity", "EntityFireball", "MinecraftError", "EntityPortalFX", "BaseNCodec$CodecPolicy", "ShapedRecipes", "MetadataChunkBlock", "PlatformIncompatibleException", "SlotCrafting", "Floor0", "Floor1", "CIDecomposedCharSet", "AsciiDecoder", "ChunkCoordIntPair", "Packet13PlayerLookMove", "StringTranslate", "Packet2Handshake", "Material", "BlockOreBlock",
        "Entity", "IntObjectHashMap", "EaglerArrayBufferAllocator", "WorldGenerator", "Packet31RelEntityMove", "PriorityQueue", "DoubleAnalyzer$Result", "EarlyLoadScreen", "EntityFlying", "NBTTagLong", "AbstractCollection", "Packet19", "ByteArrayInputStream", "IntegerUtil", "LoadingScreenRenderer", "concurrent", "atomic", "AtomicInteger", "InventoryLargeChest", "PossessiveAltQuantifierSet", "EagRuntime$getStackTrace0$lambda$_29_0", "EaglercraftUUID", "Block", "IndexedDBFilesystem", "RenderLiving", "JSObjects",
        "ClippingHelper", "BlockSign", "GuiWorldSlot", "StorableDateTimeZone", "OpenGLObjects$TextureGL", "AbstractCharClass$LazyWord", "Objects", "SequenceSet", "DataInput", "MovementInput", "AltGroupQuantifierSet", "IWebSocketClient", "UCIRangeSet", "MobSpawnerForest$<init>$lambda$_0_0", "MobSpawnerForest$<init>$lambda$_0_1", "ArrayUtils", "MobSpawnerForest$<init>$lambda$_0_2", "ObjectIntMap", "MobSpawnerForest$<init>$lambda$_0_3", "FurnaceRecipes", "Slot", "MobSpawnerForest$<init>$lambda$_0_4", "Function",
        "FuncResidue", "BlockOre", "Render", "JSMap", "BlockSnowBlock", "BlockDirt", "Platform", "Packet39", "CodingErrorAction", "MinecartTrackLogic", "Packet38", "Boolean", "FloatBuffer", "NoSuchElementException", "SoundManager", "OpenGLObjects$ShaderGL", "EntityZombie", "BackReferenceSet", "DotQuantifierSet", "JSFinalizationRegistry", "DecimalFormat", "EntityPainting", "FloatAnalyzer", "WorldRenderer$<init>$lambda$_0_1", "VFileInputStream", "WorldRenderer$<init>$lambda$_0_0", "Packet28", "HashMap$ValueIterator",
        "Packet27", "OpenGLObjects$RenderbufferGL", "Packet25", "AbstractCharClass$LazyJavaJavaIdentifierStart$1", "logging", "log4j", "LogManager", "ItemDoor", "GlStateManager$TexGen", "GuiIngameMenu", "Arrays", "SaveHandlerMP", "CharClass$3", "Level", "NBTTagInt", "CharClass$4", "CharClass$1", "CharClass$2", "StatList", "CharClass$7", "CharClass$8", "CharClass$5", "CharClass$6", "EnumOS", "DotSet", "CharClass$9", "GenericEnumSet$1", "FuncMapping", "EntityLavaFX", "Character", "EnumOptions", "CICharSet", "SupplCharSet",
        "Packet0KeepAlive", "JSNumber", "StrictMath", "BlockGravel", "IndexedDBFilesystem$DatabaseOpen", "AbstractLineTerminator", "Info", "Iso8859Encoder", "Exception", "StandardCharsets", "DateTimeZoneBuilder$DSTZone", "GeneralDigest", "PlatformRuntime", "EagUtils", "AbstractCharClass$LazyJavaMirrored$1", "ModelGhast", "AbstractMap$KeySet", "GuiDispenser", "EnumCreatureType", "UEOLSet", "ItemSaddle", "UCICharSet", "Iso8859Charset", "NBTTagByteArray", "GLAllocation", "FormatFlagsConversionMismatchException",
        "RelCompositeGroupQuantifierSet", "FontAllowedCharacters", "ArrayList", "IllegalMonitorStateException", "PlatformInput", "Timer", "RecipesArmor", "MovementInputFromOptions", "ObjectIntHashMap", "RelAltGroupQuantifierSet", "Charset$Charsets", "NoiseGenerator2", "OpenGLObjects$FramebufferGL", "FSet$PossessiveFSet", "EntityBubbleFX", "RuntimeException", "EaglercraftSaveHandler", "PosCompositeGroupQuantifierSet", "AbstractMap$KeySet$1", "MainClass", "EntityItem", "IndexedDBFilesystem$AsyncHandlers", "RenderFish",
        "RenderManager", "RenderWolf", "AbstractCharClass$LazyJavaDigit$1", "Filesystem$FilesystemHandle", "ShapelessRecipes", "RenderSpider", "BlockGrass", "NullPointerException", "BlockStep", "AbstractCharClass$LazyJavaSpaceChar$1", "IllegalFormatPrecisionException", "PlatformApplication$FileChooserCallbackImpl", "LeafQuantifierSet", "AchievementList", "Math", "PlatformFilesystem", "TeaVMClientConfigAdapterHooks$callHookSafeSync$lambda$_7_0", "ModelBoat", "FixedFunctionPipeline", "EntitySorter", "DateFormat",
        "IWorldAccess", "ModelSquid", "AbstractCharClass$LazyJavaUnicodeIdentifierPart", "PatternSyntaxException", "ItemFood", "EaglercraftChunkLoader", "AbstractSequentialList", "AbstractCharClass$LazyJavaDefined", "BlockButton", "DecimalFormatParser", "TexturePackBase", "Writer", "Pattern", "UnsupportedEncodingException", "Formattable", "ItemPickaxe", "PosAltGroupQuantifierSet", "WorldGenReed", "EntityClientPlayerMP", "XBlah", "Inflate$Return", "Packet17Sleep", "VFile2", "IClientConfigAdapter", "ItemArmor",
        "BlockBreakable", "UnicodeCategoryScope", "WorldGenClay", "EntityTNTPrimed", "UnmappableCharacterException", "Checksum", "InfTree", "EnumMobType", "Residue0$InfoResidue0", "FloatAnalyzer$Result", "DateFormatSymbols", "UCIDecomposedCharSet", "BaseNCodec", "DateFormatElement$Rfc822Timezone", "VSHInputLayoutParser$ShaderLayoutParseException", "InputStream", "IndexOutOfBoundsException", "RenderCow", "MobSpawnerBase", "RenderPig", "AbstractCharClass$LazyJavaWhitespace$1", "GuiAchievement", "AbstractCharClass$LazyJavaJavaIdentifierStart",
        "TextureLavaFlowFX", "RenderArrow", "ChunkCoordinates", "Keyboard", "ItemSoup", "Uint8Array", "BlockLever", "EPKLoader", "Long", "GuiScreen", "Map", "GuiSlider", "SequenceSet$IntHash", "GuiYesNo", "ArithmeticException", "GL11", "PlatformApplication$1", "TeaVMClientConfigAdapterHooks$callLocalStorageSavedHook$lambda$_1_0", "ILogRedirector", "PlatformApplication$4", "PlatformApplication$3", "PlatformApplication$6", "PlatformApplication$5", "CodeBook$DecodeAux", "EaglerProfile$EnumSkinType", "AbstractCharClass$LazyJavaLowerCase",
        "VSHInputLayoutParser$ShaderInput", "TeaVMClientConfigAdapterHooks", "DateFormatElement$ConstantText", "Packet10Flying", "AbstractCharClass$LazyJavaLetterOrDigit$1", "CharClass$18", "PossessiveGroupQuantifierSet", "CharClass$13", "MaterialTransparent", "CharClass$12", "CharClass$11", "Logger", "CharClass$10", "GenericEnumSet", "CharClass$17", "VertexFormat", "BlockTorch", "CharClass$16", "CharClass$15", "SlotFurnace", "CharClass$14", "WorldGenTrees", "NetworkManager", "GuiSlot", "Packet22Collect", "EnumSkyBlock",
        "StringBuilder", "BlockCactus", "ClassLoader", "ConcurrentModificationException", "Hashtable$1", "Hashtable$2", "LegacyKeycodeTranslator", "EntityHeartFX", "IndexedDBFilesystem$AsyncHandlers$11", "IndexedDBFilesystem$AsyncHandlers$12", "IndexedDBFilesystem$AsyncHandlers$13", "IndexedDBFilesystem$AsyncHandlers$14", "IndexedDBFilesystem$AsyncHandlers$10", "BlockNote", "ChatLine", "EntityCreeper", "RecipesFood", "Mapping0$LookMapping0", "PlatformInput$initHooks$lambda$_3_0", "RenderSquid", "PlatformInput$initHooks$lambda$_3_1",
        "PlatformInput$initHooks$lambda$_3_2", "EnumPlatformType", "SlotArmor", "Floor1$LookFloor1", "PlatformInput$VKeyEvent", "IncompatibleClassChangeError", "Lookup", "AbstractCharClass$LazyASCII", "DateFormatElement$NumericWeekday", "MobSpawnerBase$<init>$lambda$_0_1", "MobSpawnerBase$<init>$lambda$_0_0", "JOrbisAudioBufferDecoder", "MobSpawnerBase$<init>$lambda$_0_3", "MobSpawnerBase$<init>$lambda$_0_2", "GuiScreenEditProfile", "NBTTagString", "ChunkProviderGenerate", "Quantifier", "AbstractCharClass$LazyJavaUpperCase$1",
        "MobSpawnerTaiga$<init>$lambda$_0_2", "MobSpawnerTaiga$<init>$lambda$_0_1", "MobSpawnerTaiga$<init>$lambda$_0_4", "MobSpawnerTaiga$<init>$lambda$_0_3", "plugin", "ResourceAccessor", "MobSpawnerBase$<init>$lambda$_0_5", "MobSpawnerBase$<init>$lambda$_0_4", "CraftingInventoryPlayerCB", "MobSpawnerBase$<init>$lambda$_0_7", "MobSpawnerBase$<init>$lambda$_0_6", "TeaVMClientConfigAdapterHooks$lambda$callCrashReportHook$4$lambda$_14_0", "MobSpawnerBase$<init>$lambda$_0_9", "MobSpawnerBase$<init>$lambda$_0_8",
        "TileEntityMobSpawnerRenderer", "MobSpawnerHell", "AbstractCharClass$LazyJavaIdentifierIgnorable$1", "ISaveFormat", "GuiSelectWorld", "IInvBasic", "JSWeakMap", "BufferedDecoder", "ModelCreeper", "BlockRedstoneOre", "TeaVMWebSocketClient", "ReluctantQuantifierSet", "JSEaglercraftXOptsRoot", "GlStateManager", "TimeZone", "Collection", "MobSpawnerRainforest", "BlockFlower", "TileEntitySign", "TreeMap$TreeNode", "AtomicJointSet", "EaglerProfile$EaglerProfileSkin", "WorldGenPumpkin", "BlockTNT", "browser",
        "Performance", "EOISet", "EntityLiving", "MapEntry", "UTFDataFormatException", "BlockLockedChest", "RecipesCrafting", "EaglerProfile$UserPresetSkin", "ByteBufferImpl", "Thread$SleepHandler", "IndexedDBFilesystem$AsyncHandlers$openDB$lambda$_2_0", "DateFormatElement$GeneralTimezone", "DateFormatElement$BaseTimezone", "ItemSign", "DateFormatElement$WeekdayText", "TreeMap$EntrySet", "Lpc", "CraftingInventoryCB", "EntitySplashFX", "NBTBase", "JSEaglercraftXOptsHooks", "EntityOtherPlayerMP", "ItemPainting",
        "WorldBlockPositionType", "GuiSleepMP", "FilterInputStream", "OpenGLObjects$BufferGL", "DataFormatException", "LinkedList", "NetClientHandler", "EnumToolMaterial", "JSString", "DateTimeZoneBuilder$RuleSet", "PlatformInput$14", "ItemCoal", "PlatformInput$15", "Mapping0$InfoMapping0", "PlatformInput$16", "Appendable", "interop", "AsyncCallback", "PlatformInput$10", "AliasDateTimeZone", "PlatformInput$11", "PlatformInput$12", "v1_12", "vec", "Vec3D_112", "IllegalFormatConversionException", "VFileOutputStream",
        "DspState", "PlatformInput$13", "DecimalFormat$PercentField", "SaveFormatComparator", "AbstractMap", "Packet51MapChunk", "BlockSlowSand", "VFSIterator2$BreakLoop", "Object", "GuiSmallButton", "LegacyKeycodeTranslator$LegacyKeycode", "MobSpawnerForest", "DateTimeZoneBuilder", "Filesystem$FilesystemHandleWrapper", "ModelSlime", "System", "LeafSet", "JointSet", "ICamera", "ArrayBufferInputStream", "BlockMushroom", "EaglerArrayFloatBuffer", "Packet18ArmAnimation", "AbstractCharClass$LazyXDigit", "IntBuffer",
        "LinkedList$Entry", "InventoryCraftResult", "Matcher", "DotAllSet", "FieldPosition", "WorldVertexBufferUploader", "NBTTagFloat", "Packet1Login", "IProgressUpdate", "AbstractCharClass$LazyJavaUpperCase", "ColorizerFoliage", "DuplicateFormatFlagsException", "Empty1", "EntityList$<clinit>$lambda$_7_13", "HangulDecomposedCharSet", "EntityList$<clinit>$lambda$_7_14", "EntityList$<clinit>$lambda$_7_15", "EntityList$<clinit>$lambda$_7_16", "TextureNewCompassFX", "KeyboardConstants", "EntityList$<clinit>$lambda$_7_17",
        "RenderList", "EntityList$<clinit>$lambda$_7_18", "ModelZombie", "MissingFormatWidthException", "EntityList$<clinit>$lambda$_7_19", "Packet11PlayerPosition", "InflaterInputStream", "FilterOutputStream", "Reader", "EagRuntime", "PlatformFilesystem$FilesystemDatabaseInitializationException", "EaglerInputStream", "RenderCreeper", "FontMappingHelper", "StatTime", "BlockLeaves", "PlatformRuntime$immediateContinueTeaVM0$lambda$_49_2", "PlatformRuntime$immediateContinueTeaVM0$lambda$_49_1", "EntityList$<clinit>$lambda$_7_20",
        "PlatformRuntime$immediateContinueTeaVM0$lambda$_49_0", "EntityList$<clinit>$lambda$_7_21", "WordBoundary", "Vec3D", "EntityList$<clinit>$lambda$_7_22", "SystemClassLoader", "ITextureGL", "FuncTime", "CharacterCodingException", "RecipeSorter", "Double", "TeaVMClientConfigAdapter", "EaglerFileSystemException", "Packet30Entity", "Explosion", "RenderBiped", "Window", "CachedDateTimeZone", "PlayerControllerMP", "VirtualMachineError", "EPKDownloadHelper", "Packet3Chat", "WebGLBackBuffer", "Lsp", "GuiUnused",
        "IntHash", "NextTickListEntry", "Number", "Chunk", "EntityList$<clinit>$lambda$_7_10", "EntityList$<clinit>$lambda$_7_11", "GZIPException", "ReluctantAltQuantifierSet", "CraftingInventoryFurnaceCB", "EntityList$<clinit>$lambda$_7_12", "AbstractCharClass$LazyJavaWhitespace", "EntityAnimals", "UnsupportedOperationException", "Matcher$1", "CRC32", "DataOutput", "WorldGenFlowers", "BlockIce", "EntityPlayer", "WatchableObject", "NumberFormatException", "DateFormatElement$NumericHour", "StaticCodeBook", "Comparable",
        "IntArrHash", "MobSpawnerTaiga$<init>$lambda$_0_0", "CharBufferImpl", "AbstractCharClass$LazyJavaMirrored", "BitUtil", "WorldGenLakes", "StatDistance", "AbstractCharClass$LazyJavaISOControl", "RenderBoat", "ItemSword", "EntitySlimeFX", "HighSurrogateCharSet", "Formatter$FormatWriter", "WorldChunkManager", "RecipesIngots", "OpenGLObjects$VertexArrayGL", "AsyncCallbackWrapper", "Enum", "PlatformNetworking", "ArrayBuffer", "IllegalFormatException", "SpawnerAnimals", "ItemFlintAndSteel", "CraftingInventoryDispenserCB",
        "math", "RoundingMode", "GuiConflictWarning", "ItemCookie", "FixedFunctionPipeline$<init>$lambda$_12_0", "SoftGLVertexArray$Attrib", "RecipesWeapons", "BlockSandStone", "TeaVMClientConfigAdapterHooks$callHookSafeWithReturn$lambda$_9_0", "PlatformAudio$BrowserAudioHandle", "GuiConnecting", "TeaVMBlobURLHandle", "ChunkProviderLoadOrGenerate", "EntityRenderer", "RenderSnowball", "EaglercraftGPU", "CompositeGroupQuantifierSet", "EntityRainFX", "BlockContainer", "BlockSand", "MobSpawnerTaiga", "UMultiLineEOLSet",
        "DrawUtils", "WorldClient", "TeaVMBlobURLManager", "RenderZombieSimple", "client", "Minecraft", "EntitySlime", "RenderFireball", "GuiChest", "Hashtable", "Thread$switchContext$lambda$_19_0", "EntityFX", "EaglerProfile$WaitingSkin", "AbstractCharClass$LazySpecialsBlock", "DateFormatElement", "Iterator", "IClientConfigAdapterHooks", "InventoryBasic", "IllegalFormatFlagsException", "StreamBuffer$StreamBufferInstance", "dom", "xml", "Node", "DateFormatElement$EraText", "EaglerProfile", "UnicodeCategory",
        "Arrays$ArrayAsList", "RecipesTools", "Comment", "TextureFX"], [ "nleit_MainClass_main", "main", "jl_Class_getClass", "getClass", "jl_String__init_2", "<init>", "jl_String_hashCode", "hashCode", "jl_String_equals", "equals", "jl_Object_clone", "clone", "jl_NoClassDefFoundError__init_1", "jl_Object_toString", "toString", "jl_NoSuchFieldError__init_2", "jl_NoSuchMethodError__init_2", "jl_RuntimeException__init_4", "jl_Throwable_getMessage", "getMessage", "jl_Throwable_getCause", "getCause", "otji_JS_wrap0",
        "wrap", "otji_JS_getPure", "getPure", "otp_Platform_asJavaClass", "asJavaClass", "jl_Class__init_", "jl_String__init_4", "jl_String_length", "length", "jl_String_charAt", "charAt", "jl_Object_getClass", "jl_Class_getName", "getName", "jl_Object_identity", "identity", "jl_Integer_toHexString", "toHexString", "jl_StringBuilder__init_", "jl_StringBuilder_append", "append", "jl_StringBuilder_append5", "jl_StringBuilder_toString", "jl_IncompatibleClassChangeError__init_1", "jl_Exception__init_1", "nleit_MainClass_clientMain",
        "clientMain", "jl_Object__init_0", "otp_Platform_getPlatformObject", "getPlatformObject", "otji_JS_setPure", "setPure", "jl_String__clinit_", "<clinit>", "jl_System_arraycopy", "arraycopy", "jl_System_fastArraycopy", "fastArraycopy", "jl_Integer__clinit_", "otci_IntegerUtil_toUnsignedLogRadixString", "toUnsignedLogRadixString", "jl_AbstractStringBuilder__init_", "jl_AbstractStringBuilder_append7", "jl_AbstractStringBuilder_append", "jl_AbstractStringBuilder_toString", "jl_LinkageError__init_1", "jl_Throwable__init_",
        "nleit_ClientMain__main", "_main", "jl_String__init_0", "jl_String$_clinit_$lambda$_93_0__init_", "jl_IndexOutOfBoundsException__init_", "jlr_Array_getLength", "getLength", "jl_System_doArrayCopy", "doArrayCopy", "jl_NullPointerException__init_1", "jl_Class_getComponentType", "getComponentType", "jl_ArrayStoreException__init_", "jl_Class_isPrimitive", "isPrimitive", "jl_Class_isInstance", "isInstance", "jl_Integer_numberOfLeadingZeros", "numberOfLeadingZeros", "jl_Character_forDigit", "forDigit", "jl_AbstractStringBuilder__init_2",
        "jl_AbstractStringBuilder_insert6", "insert", "jl_AbstractStringBuilder_insert3", "jl_Error__init_1", "jl_Throwable_fillInStackTrace", "fillInStackTrace", "nleit_ClientMain__clinit_", "nleit_ClientMain_getRunningFlag$js_body$_2", "getRunningFlag$js_body$_2", "otji_JS_unwrapBoolean", "unwrapBoolean", "ji_PrintStream_println0", "println", "nleit_ClientMain_getEaglerXOpts$js_body$_4", "getEaglerXOpts$js_body$_4", "otji_JS_wrap1", "nleito_JSEaglercraftXOptsRoot_getCrashOnUncaughtExceptions$js_body$_29",
        "getCrashOnUncaughtExceptions$js_body$_29", "nleito_JSEaglercraftXOptsRoot_getDeobfStackTraces$js_body$_47", "getDeobfStackTraces$js_body$_47", "nleito_JSEaglercraftXOptsRoot_getContainer$js_body$_1", "getContainer$js_body$_1", "otji_JS_unwrapString", "unwrapString", "otjb_Window_alert$js_body$_19", "alert$js_body$_19", "otjb_Window_current$js_body$_50", "current$js_body$_50", "otji_JS_get", "get", "otji_JS_invoke", "invoke", "oj_JSONException__init_0", "nleito_JSEaglercraftXOptsRoot_getAssetsURI$js_body$_2",
        "getAssetsURI$js_body$_2", "otjdx_Node_delete$static", "delete$static", "nleito_JSEaglercraftXOptsRoot_getAssetsURIArray$js_body$_3", "getAssetsURIArray$js_body$_3", "otji_JS_unwrapInt", "unwrapInt", "nleit_ClientMain$EPKFileEntry__init_0", "nleito_JSEaglercraftXOptsRoot_getLocalesURI$js_body$_6", "getLocalesURI$js_body$_6", "jl_String_endsWith", "endsWith", "nleit_TeaVMClientConfigAdapter_loadNative", "loadNative", "jl_String_substring0", "substring", "nleit_ClientMain$2__init_", "nleit_ClientMain$1__init_",
        "otji_JS_function", "function", "nleit_ClientMain_setWindowErrorHandler$js_body$_5", "setWindowErrorHandler$js_body$_5", "nle_LocalStorageManager_loadStorage", "loadStorage", "otji_JS_wrap2", "otji_JSWrapper_dependencyJsToJava", "dependencyJsToJava", "otji_JSWrapper_maybeUnwrap", "maybeUnwrap", "nleito_JSEaglercraftXOptsAssetsURI_getURL$js_body$_1", "getURL$js_body$_1", "nleito_JSEaglercraftXOptsAssetsURI_getPath$js_body$_2", "getPath$js_body$_2", "nle_EagRuntime_debugPrintStackTraceToSTDERR", "debugPrintStackTraceToSTDERR",
        "nleit_ClientMain_showCrashScreen", "showCrashScreen", "jl_Throwable_toString", "nle_EagRuntime_create", "create", "nleit_ClientMain_showIncompatibleScreen", "showIncompatibleScreen", "nmc_Minecraft__init_", "nmc_Minecraft_run", "run", "jl_RuntimeException__init_0", "otp_Platform_getArrayItem", "getArrayItem", "jl_Character__clinit_", "jl_System_out", "out", "jl_System_err", "err", "nlei_PlatformRuntime__clinit_", "otjb_Window_get$exported$0", "get$exported$0", "otjb_Window_addEventListener$exported$1",
        "addEventListener$exported$1", "otjb_Window_removeEventListener$exported$2", "removeEventListener$exported$2", "otjb_Window_removeEventListener$exported$3", "removeEventListener$exported$3", "otjb_Window_dispatchEvent$exported$4", "dispatchEvent$exported$4", "otjb_Window_getLength$exported$5", "getLength$exported$5", "otjb_Window_addEventListener$exported$6", "addEventListener$exported$6", "nleit_TeaVMClientConfigAdapter__clinit_", "oall_LogManager__clinit_", "nleit_ClientMain$1_call$exported$0", "call$exported$0",
        "nle_LocalStorageManager__clinit_", "nle_EagRuntime_getStorage", "getStorage", "ji_ByteArrayInputStream__init_0", "ji_DataInputStream__init_0", "nms_NBTBase_readTag", "readTag", "nms_NBTTagCompound__init_", "otji_JSWrapper__clinit_", "otji_JSWrapper_isJava", "isJava", "otji_JSWrapper_directJavaToJs", "directJavaToJs", "otji_JSWrapper_unwrap", "unwrap", "nle_EagRuntime__clinit_", "nle_EagRuntime_debugPrintStackTraceToSTDERR0", "debugPrintStackTraceToSTDERR0", "nle_EagRuntime_getStackTrace", "getStackTrace",
        "nleit_ClientMain_showCrashScreen0", "nle_EagRuntime_getVersion", "getVersion", "oall_Logger_info0", "info", "nlei_PlatformRuntime_create", "nlei_PlatformRuntime_requireSSL$js_body$_72", "requireSSL$js_body$_72", "nlei_PlatformRuntime_isOfflineDownloadURL$js_body$_73", "isOfflineDownloadURL$js_body$_73", "nlei_PlatformRuntime_getPlatformAgent", "getPlatformAgent", "nlei_PlatformRuntime_getUserAgentString$js_body$_9", "getUserAgentString$js_body$_9", "nlei_PlatformRuntime_getPlatformOS", "getPlatformOS",
        "nlei_PlatformRuntime_getPlatformANGLE", "getPlatformANGLE", "nleo_EaglercraftGPU_warmUpCache", "warmUpCache", "nlei_PlatformRuntime_postCreate", "postCreate", "otji_JS_invoke0", "nleit_ClientMain_crashImageWrapper", "crashImageWrapper", "jt_SimpleDateFormat__init_0", "ju_Date__init_", "jt_DateFormat_format", "format", "otji_JS_set", "set", "nleit_ClientMain_getStringNav$js_body$_17", "getStringNav$js_body$_17", "nlei_PlatformRuntime_removeEventHandlers", "removeEventHandlers", "nms_Timer__init_", "nms_LoadingScreenRenderer__init_0",
        "nms_EntityRenderer__init_", "nms_GuiAchievement__init_", "nms_ModelBiped__init_2", "nms_SoundManager__init_", "nms_XBlah__init_", "nms_TextureWaterFX__init_", "nms_TextureLavaFX__init_", "jl_System_currentTimeMillis", "currentTimeMillis", "nle_Display_getWidth", "getWidth", "nle_Display_getHeight", "getHeight", "nmc_Minecraft__clinit_", "jl_Exception__init_", "ji_PrintStream__init_0", "oall_LogManager_getLogger", "getLogger", "nlei_PlatformRuntime_getSteadyTimeFunc$js_body$_1", "getSteadyTimeFunc$js_body$_1",
        "otjc_JSString_valueOf$js_body$_3", "valueOf$js_body$_3", "otji_JSWrapper_javaToJs", "javaToJs", "otji_JS_functionAsObject", "functionAsObject", "nleit_TeaVMClientConfigAdapter__init_", "ju_HashMap__init_", "nleit_ClientMain$1_call", "call", "nlei_PlatformApplication_getLocalStorage0", "getLocalStorage", "ji_ByteArrayInputStream__init_1", "ji_FilterInputStream__init_0", "ji_DataInput_readByte", "readByte", "nms_NBTBase_createTagOfType", "createTagOfType", "ji_DataInput_readUTF", "readUTF", "nms_NBTBase_readTagContents",
        "readTagContents", "nms_NBTTagEnd__init_", "nms_NBTBase__init_", "otjc_JSWeakMap_create$js_body$_5", "create$js_body$_5", "otjc_JSWeakRef_isSupported$js_body$_3", "isSupported$js_body$_3", "otjc_JSMap_create$js_body$_6", "create$js_body$_6", "otji_JSWrapper$_clinit_$lambda$_30_0__init_", "otjc_JSFinalizationRegistry_create$js_body$_2", "create$js_body$_2", "otji_JSWrapper$_clinit_$lambda$_30_1__init_", "otji_JSWrapper_isJSImplementation", "isJSImplementation", "nlei_PlatformRuntime_printJSExceptionIfBrowser",
        "printJSExceptionIfBrowser", "nle_EagRuntime$debugPrintStackTraceToSTDERR0$lambda$_25_0__init_", "nle_EagRuntime_getStackTrace0", "nle_EagRuntime_getStackTrace00", "getStackTrace0", "jl_StringBuilder_append0", "nleit_ClientMain_addWebGLToCrash", "addWebGLToCrash", "nleit_ClientMain_addShimsToCrash", "addShimsToCrash", "nleit_ClientMain_addDebugNav", "addDebugNav", "nleit_ClientMain_addDebugNavPlugins", "addDebugNavPlugins", "nleit_ClientMain_addDebug", "addDebug", "jl_Integer_valueOf", "valueOf", "nleit_ClientMain_addDebugScreen",
        "addDebugScreen", "nleit_ClientMain_addDebugLocation", "addDebugLocation", "ju_LinkedList__init_", "ji_PrintStream_println", "jl_String_split", "split", "ju_Iterator_next", "next", "ju_Iterator_hasNext", "hasNext", "nlei_IClientConfigAdapter_getHooks", "getHooks", "ju_Objects_requireNonNull", "requireNonNull", "nleit_ClientMain$showCrashScreen$lambda$_9_0__init_0", "nlei_IClientConfigAdapterHooks_callCrashReportHook", "callCrashReportHook", "nleit_DebugConsoleWindow_initialize", "initialize", "nlei_PlatformApplication_setMCServerWindowGlobal$js_body$_36",
        "setMCServerWindowGlobal$js_body$_36", "nleit_ES6ShimStatus_getRuntimeStatus", "getRuntimeStatus", "nleit_TeaVMBlobURLManager_initialize", "oall_Logger_info", "nleit_ES6ShimStatus_getStatus", "getStatus", "jl_Enum_ordinal", "ordinal", "oall_Logger_error", "error", "nleit_ES6ShimStatus_getShims", "getShims", "nlei_PlatformRuntime_dumpShims", "dumpShims", "nlei_RuntimeInitializationFailureException__init_", "nlei_PlatformRuntime_getClientConfigAdapter", "getClientConfigAdapter", "jl_String_equalsIgnoreCase",
        "equalsIgnoreCase", "nleit_TeaVMClientConfigAdapter_isAutoFixLegacyStyleAttrTeaVM", "isAutoFixLegacyStyleAttrTeaVM", "nleit_TeaVMUtils_isTruthy$js_body$_40", "isTruthy$js_body$_40", "nleit_TeaVMClientConfigAdapter_isUseDelayOnSwapTeaVM", "isUseDelayOnSwapTeaVM", "jl_Object_equals", "oall_Logger_warn", "warn", "ju_HashSet__init_", "jl_String_trim", "trim", "jl_String_startsWith", "startsWith", "jl_String_join", "join", "nleit_TeaVMClientConfigAdapter_isUseVisualViewportTeaVM", "isUseVisualViewportTeaVM",
        "nlei_PlatformRuntime_allocateByteBuffer", "allocateByteBuffer", "nlei_PlatformRuntime_isVisualViewportSupported$js_body$_11", "isVisualViewportSupported$js_body$_11", "jl_Math_abs", "abs", "nlei_PlatformIncompatibleException__init_0", "nleit_TeaVMFetchJS_checkFetchSupport$js_body$_1", "checkFetchSupport$js_body$_1", "nleit_TeaVMDataURLManager_checkDataURLSupport", "checkDataURLSupport", "nlei_PlatformRuntime$2__init_", "nleit_TeaVMClientConfigAdapter_isForceWebGL2TeaVM", "isForceWebGL2TeaVM", "oall_Logger_error0",
        "nleit_TeaVMClientConfigAdapter_isForceWebGL1TeaVM", "isForceWebGL1TeaVM", "nlei_PlatformRuntime_youEagler$js_body$_5", "youEagler$js_body$_5", "nlei_PlatformOpenGL_setCurrentContext", "setCurrentContext", "nlei_PlatformOpenGL__wglGetString", "_wglGetString", "nlei_PlatformOpenGL_dumpActiveExtensions", "dumpActiveExtensions", "ju_Collections_sort", "sort", "otji_JS_invoke1", "nlei_OpenGLObjects$FramebufferGL__init_0", "nleit_WebGLBackBuffer_initBackBuffer", "initBackBuffer", "nlei_PlatformInput_initWindowSize",
        "initWindowSize", "nlei_PlatformOpenGL_checkVAOCapable", "checkVAOCapable", "nleit_EarlyLoadScreen_paintScreen", "paintScreen", "ju_Map_isEmpty", "isEmpty", "nleit_TeaVMClientConfigAdapter_isEnableEPKVersionCheckTeaVM", "isEnableEPKVersionCheckTeaVM", "nleit_EPKDownloadHelper_downloadEPKFilesOfVersion", "downloadEPKFilesOfVersion", "ju_Map_size", "size", "nlei_PlatformAssets_getResourceBytes", "getResourceBytes", "nlei_PlatformOpenGL__wglClearColor", "_wglClearColor", "nlei_PlatformOpenGL__wglClear",
        "_wglClear", "nlei_PlatformInput_update", "update", "nleit_EarlyLoadScreen_loadFinal", "loadFinal", "nleit_EarlyLoadScreen_paintFinal", "paintFinal", "nlei_IClientConfigAdapter_getWorldsDB", "getWorldsDB", "nle_Filesystem_getHandleFor", "getHandleFor", "nleiv_VFile2_setPrimaryFilesystem", "setPrimaryFilesystem", "nlei_PlatformInput_pressAnyKeyScreen", "pressAnyKeyScreen", "nlei_PlatformAudio_initialize", "ju_List_get", "nleit_TeaVMClientConfigAdapter_isAllowExperimentalWebGL1TeaVM", "isAllowExperimentalWebGL1TeaVM",
        "nlei_PlatformRuntime_experimentalWebGLAlert$js_body$_3", "experimentalWebGLAlert$js_body$_3", "jl_Thread_sleep", "sleep", "nleib_ByteBuffer_asIntBuffer", "asIntBuffer", "nleib_IntBuffer_put", "put", "nleib_ByteBuffer_get", "nlei_PlatformRuntime_freeByteBuffer", "freeByteBuffer", "nlei_PlatformInput_getDevicePixelRatio$js_body$_29", "getDevicePixelRatio$js_body$_29", "otji_JS_unwrapDouble", "unwrapDouble", "nlei_PlatformRuntime$1__init_", "nlei_PlatformRuntime_checkImmediateContinueSupport", "checkImmediateContinueSupport",
        "nlei_RuntimeInitializationFailureException__init_1", "nlei_PlatformInput_initHooks", "initHooks", "nleit_TeaVMClientConfigAdapter_isUseXHRFetchTeaVM", "isUseXHRFetchTeaVM", "nlei_EnumPlatformAgent_getFromUA", "getFromUA", "nlei_EnumPlatformOS_getFromUA", "nlei_PlatformRuntime_getGLRenderer", "getGLRenderer", "nlei_EnumPlatformANGLE_fromGLRendererString", "fromGLRendererString", "nleo_EaglercraftGPU__clinit_", "nleo_EaglercraftGPU_glGetString", "glGetString", "nlei_PlatformOpenGL_checkOpenGLESVersion",
        "checkOpenGLESVersion", "nlei_PlatformOpenGL_checkFBORenderMipmapCapable", "checkFBORenderMipmapCapable", "nlei_PlatformOpenGL_checkInstancingCapable", "checkInstancingCapable", "nlei_PlatformOpenGL_checkTexStorageCapable", "checkTexStorageCapable", "nlei_PlatformOpenGL_checkTextureLODCapable", "checkTextureLODCapable", "nlei_PlatformOpenGL_checkOESGPUShader5Capable", "checkOESGPUShader5Capable", "nlei_PlatformOpenGL_checkEXTGPUShader5Capable", "checkEXTGPUShader5Capable", "nlei_PlatformOpenGL_checkNPOTCapable",
        "checkNPOTCapable", "nlei_PlatformOpenGL__wglGetInteger", "_wglGetInteger", "nlei_PlatformOpenGL_checkHDRFramebufferSupport", "checkHDRFramebufferSupport", "nlei_PlatformOpenGL_checkLinearHDRFilteringSupport", "checkLinearHDRFilteringSupport", "nleo_EaglercraftGPU_checkHasHDRFramebufferSupportWithFilter", "checkHasHDRFramebufferSupportWithFilter", "nleo_SoftGLVertexState__init_", "nlei_PlatformOpenGL_enterVAOEmulationHook", "enterVAOEmulationHook", "nleo_GLSLHeader_init", "init", "nleo_DrawUtils_init",
        "nleo_InstancedFontRenderer_initialize", "nleit_EarlyLoadScreen_destroy", "destroy", "jl_String_substring", "ju_Locale_getDefault", "getDefault", "jt_SimpleDateFormat__init_3", "ju_Date__clinit_", "nlei_PlatformInput_removeEventHandlers", "jl_System_nanoTime", "nanoTime", "nms_MouseFilter__init_", "ju_Random__init_", "nms_GLAllocation_createDirectFloatBuffer", "createDirectFloatBuffer", "nms_ItemRenderer__init_0", "nms_Gui__init_", "nms_ModelBiped__init_4", "nle_Random__init_", "nle_Random_nextInt",
        "nextInt", "ju_Random_nextInt", "nms_SoundManager$_init_$lambda$_0_0__init_", "nms_TextureFX__init_0", "nlei_PlatformInput_getWindowWidth", "getWindowWidth", "nlei_PlatformInput_getWindowHeight", "getWindowHeight", "jl_Throwable__init_0", "otcic_StdoutOutputStream__clinit_", "ji_FilterOutputStream__init_0", "otcic_StderrOutputStream__clinit_", "jl_Object_monitorEnter", "monitorEnter", "jl_Object_monitorEnterSync", "monitorEnterSync", "jl_Object_monitorExit", "monitorExit", "jl_Object_monitorExitSync",
        "monitorExitSync", "oall_Logger__init_", "ju_Map_get", "otji_JSWrapper_dependencyJavaToJs", "dependencyJavaToJs", "nleit_TeaVMClientConfigAdapterHooks__init_", "ju_HashMap__init_2", "oall_Level__clinit_", "nlei_PlatformApplication__clinit_", "nlei_PlatformApplication_getLocalStorage", "ji_InputStream__init_", "nms_NBTTagByte__init_", "nms_NBTTagShort__init_", "nms_NBTTagInt__init_", "nms_NBTTagLong__init_", "nms_NBTTagFloat__init_", "nms_NBTTagDouble__init_", "nms_NBTTagByteArray__init_", "nms_NBTTagString__init_",
        "nms_NBTTagList__init_", "otji_JSWrapper$_clinit_$lambda$_30_0_accept$exported$0", "accept$exported$0", "otji_JSWrapper$_clinit_$lambda$_30_1_accept$exported$0", "otj_JSExceptions_getJSException", "getJSException", "nlei_PlatformRuntime_printNativeExceptionToConsoleTeaVM$js_body$_58", "printNativeExceptionToConsoleTeaVM$js_body$_58", "nlei_PlatformRuntime_getStackTrace", "nle_EagRuntime$getStackTrace0$lambda$_29_0__init_", "jl_StringBuilder_append1", "jl_StringBuilder_append6", "nleit_ClientMain_getStringNavPlugins$js_body$_20",
        "getStringNavPlugins$js_body$_20", "nleit_ClientMain_getString$js_body$_16", "getString$js_body$_16", "jl_Integer__init_0", "jl_Integer_ensureIntegerCache", "ensureIntegerCache", "nleit_ClientMain_getStringScreen$js_body$_18", "getStringScreen$js_body$_18", "nleit_ClientMain_getStringLocation$js_body$_19", "getStringLocation$js_body$_19", "ju_AbstractSequentialList__init_", "ju_Objects_requireNonNull0", "oall_Logger__clinit_", "nleit_DebugConsoleWindow__clinit_", "nleit_ES6ShimStatus__clinit_", "nleit_ES6ShimStatus_getRuntimeStatus0$js_body$_0",
        "getRuntimeStatus0$js_body$_0", "nleit_ES6ShimStatus__init_0", "nleit_TeaVMBlobURLManager__clinit_", "nleit_TeaVMClientConfigAdapter_isDisableBlobURLsTeaVM", "isDisableBlobURLsTeaVM", "nleit_TeaVMBlobURLManager_checkSameOriginSupport", "checkSameOriginSupport", "jl_Boolean_booleanValue", "booleanValue", "nlei_PlatformRuntime$8__clinit_", "ju_ArrayList__init_", "ju_HashSet__init_2", "jl_Iterable_iterator", "iterator", "jl_StringBuilder_append9", "nleib_EaglerArrayBufferAllocator_allocateByteBuffer", "nleit_TeaVMDataURLManager_checkDataURLSupport00",
        "checkDataURLSupport0", "nlei_PlatformRuntime$2_handleEvent$exported$0", "handleEvent$exported$0", "nlei_PlatformOpenGL__clinit_", "nleit_TeaVMClientConfigAdapter_isUseWebGLExtTeaVM", "isUseWebGLExtTeaVM", "ju_Collections__clinit_", "ju_Comparator$NaturalOrder_instance", "instance", "ju_Collections_sort0", "nlei_OpenGLObjects$FramebufferGL__clinit_", "nleit_WebGLBackBuffer__clinit_", "nlei_PlatformOpenGL__wglGenTextures", "_wglGenTextures", "nlei_PlatformOpenGL__wglCreateRenderbuffer", "_wglCreateRenderbuffer",
        "nlei_PlatformOpenGL__wglBindFramebuffer", "_wglBindFramebuffer", "nlei_PlatformOpenGL__wglBindTexture", "_wglBindTexture", "nlei_PlatformOpenGL__wglTexParameteri", "_wglTexParameteri", "nlei_PlatformOpenGL__wglTexImage2D", "_wglTexImage2D", "nlei_PlatformOpenGL__wglFramebufferTexture2D", "_wglFramebufferTexture2D", "nlei_PlatformOpenGL__wglBindRenderbuffer", "_wglBindRenderbuffer", "nlei_PlatformOpenGL__wglRenderbufferStorage", "_wglRenderbufferStorage", "nlei_PlatformOpenGL__wglFramebufferRenderbuffer",
        "_wglFramebufferRenderbuffer", "nleib_ByteBuffer_putFloat", "putFloat", "nleib_ByteBuffer_flip", "flip", "nlei_PlatformOpenGL__wglGenBuffers", "_wglGenBuffers", "nleo_EaglercraftGPU_bindVAOGLArrayBufferNow", "bindVAOGLArrayBufferNow", "nlei_PlatformOpenGL__wglBufferData", "_wglBufferData", "nlei_PlatformOpenGL__wglDrawBuffers", "_wglDrawBuffers", "nlei_PlatformOpenGL__wglCreateShader", "_wglCreateShader", "nlei_PlatformOpenGL__wglShaderSource", "_wglShaderSource", "nlei_PlatformOpenGL__wglCompileShader",
        "_wglCompileShader", "nlei_PlatformOpenGL__wglGenVertexArrays", "_wglGenVertexArrays", "nlei_PlatformOpenGL__wglBindVertexArray", "_wglBindVertexArray", "nlei_PlatformOpenGL__wglEnableVertexAttribArray", "_wglEnableVertexAttribArray", "nlei_PlatformOpenGL__wglVertexAttribPointer", "_wglVertexAttribPointer", "nlei_PlatformOpenGL__wglCreateProgram", "_wglCreateProgram", "nlei_PlatformOpenGL__wglAttachShader", "_wglAttachShader", "nlei_PlatformOpenGL__wglBindAttribLocation", "_wglBindAttribLocation", "nlei_PlatformOpenGL__wglLinkProgram",
        "_wglLinkProgram", "nlei_PlatformOpenGL__wglDetachShader", "_wglDetachShader", "nlei_PlatformOpenGL__wglDeleteShader", "_wglDeleteShader", "nlei_PlatformOpenGL__wglUseProgram", "_wglUseProgram", "nlei_PlatformOpenGL__wglGetUniformLocation", "_wglGetUniformLocation", "nlei_PlatformOpenGL__wglUniform1i", "_wglUniform1i", "nlei_PlatformInput__clinit_", "nleit_EarlyLoadScreen__clinit_", "nlei_PlatformOpenGL__wglActiveTexture", "_wglActiveTexture", "nle_Base64_decodeBase64", "decodeBase64", "nlei_PlatformAssets_loadImageFile",
        "loadImageFile", "nleib_IntBuffer_put0", "nleib_IntBuffer_flip", "nlei_PlatformOpenGL__wglTexImage2D0", "nleib_IntBuffer_clear", "clear", "nleib_ByteBuffer_asFloatBuffer", "asFloatBuffer", "nleib_FloatBuffer_clear", "nleib_FloatBuffer_put", "nleib_FloatBuffer_flip", "nlei_PlatformOpenGL__wglBindBuffer", "_wglBindBuffer", "nlei_PlatformOpenGL__wglBufferData1", "nlei_PlatformOpenGL__wglViewport", "_wglViewport", "nlei_PlatformOpenGL__wglUniform2f", "_wglUniform2f", "nlei_PlatformOpenGL__wglDrawArrays",
        "_wglDrawArrays", "nlei_PlatformOpenGL__wglDisableVertexAttribArray", "_wglDisableVertexAttribArray", "nle_EagUtils_sleep", "nlei_PlatformOpenGL__wglDeleteTextures", "_wglDeleteTextures", "nlei_PlatformOpenGL__wglDeleteVertexArrays", "_wglDeleteVertexArrays", "nlei_PlatformAssets__clinit_", "nle_EaglercraftVersion__clinit_", "nleit_EPKDownloadHelper__clinit_", "ju_Arrays_equals", "ju_Map_clear", "nlei_PlatformRuntime_hasFetchSupportTeaVM", "hasFetchSupportTeaVM", "nleit_EPKDownloadHelper_injectCacheInvalidationHack",
        "injectCacheInvalidationHack", "jl_String_indexOf2", "indexOf", "nlei_PlatformRuntime_downloadRemoteURI", "downloadRemoteURI", "jl_String__init_6", "nlei_PlatformApplication_setLocalStorage", "setLocalStorage", "nleit_EPKLoader_loadEPK", "loadEPK", "nlei_PlatformRuntime_downloadRemoteURI0", "ju_Map_put", "nleit_TeaVMUtils_wrapByteArrayBuffer", "wrapByteArrayBuffer", "otji_JS_wrap3", "otji_JS_invoke2", "nlei_PlatformInput_update0", "nlei_PlatformRuntime_allocateIntBuffer", "allocateIntBuffer", "nlei_PlatformRuntime_freeIntBuffer",
        "freeIntBuffer", "nleo_EaglercraftGPU_createGLVertexArray", "createGLVertexArray", "nleo_EaglercraftGPU_bindGLVertexArray", "bindGLVertexArray", "nleo_EaglercraftGPU_bindVAOGLArrayBuffer", "bindVAOGLArrayBuffer", "nleo_EaglercraftGPU_enableVertexAttribArray", "enableVertexAttribArray", "nleo_EaglercraftGPU_vertexAttribPointer", "vertexAttribPointer", "nleo_EaglercraftGPU_drawArrays", "drawArrays", "nleo_EaglercraftGPU_clearCurrentBinding", "clearCurrentBinding", "nleo_EaglercraftGPU_destroyGLVertexArray",
        "destroyGLVertexArray", "nle_Filesystem__clinit_", "nle_EagRuntime_getConfiguration", "getConfiguration", "nlei_IClientConfigAdapter_isRamdiskMode", "isRamdiskMode", "nle_Filesystem$FilesystemHandleWrapper__init_0", "nlei_PlatformFilesystem_initializePersist", "initializePersist", "nlei_IEaglerFilesystem_isRamdisk", "isRamdisk", "nlei_RamdiskFilesystemImpl__init_", "nle_Filesystem$FilesystemHandle__init_", "oall_Logger_warn0", "nleiv_VFile2__clinit_", "nleit_EarlyLoadScreen_paintEnable", "paintEnable",
        "nlei_PlatformInput_hasBeenActiveTeaVM$js_body$_13", "hasBeenActiveTeaVM$js_body$_13", "nlei_PlatformRuntime_sleep", "nlei_PlatformInput_setupAnyKeyScreenMobile", "setupAnyKeyScreenMobile", "nlei_PlatformAudio__clinit_", "nlei_PlatformAudio_detectOGGSupport", "detectOGGSupport", "nlei_PlatformInput_clearEvenBuffers", "clearEvenBuffers", "nlei_PlatformAudio_detectLoadViaAudioBufferSupport$js_body$_2", "detectLoadViaAudioBufferSupport$js_body$_2", "nlei_PlatformAudio_detectWAVFallbackSupport", "detectWAVFallbackSupport",
        "otjw_AudioContext_create$js_body$_44", "create$js_body$_44", "oall_Logger_error1", "jl_Thread__clinit_", "jl_Thread_sleep$_asyncCall_$", "sleep$_asyncCall_$", "jl_Thread_sleep0", "otpp_AsyncCallbackWrapper_complete", "complete", "otpp_AsyncCallbackWrapper_error", "otpp_AsyncCallbackWrapper_create", "nlei_PlatformRuntime$1_handleEvent$exported$0", "nlei_PlatformRuntime_getOriginForPost$js_body$_54", "getOriginForPost$js_body$_54", "nlei_PlatformRuntime_checkImmediateContinueSupport0", "checkImmediateContinueSupport0",
        "nlei_PlatformRuntime_checkLegacyImmediateContinueSupport0", "checkLegacyImmediateContinueSupport0", "jl_RuntimeException__init_3", "nleit_LegacyKeycodeTranslator__init_", "nlei_PlatformInput_checkKeyboardLayoutSupported$js_body$_7", "checkKeyboardLayoutSupported$js_body$_7", "nleit_LegacyKeycodeTranslator_buildLayoutTable", "buildLayoutTable", "nlei_PlatformInput$1__init_", "nlei_PlatformInput$2__init_", "nlei_PlatformInput$3__init_", "nlei_PlatformInput$4__init_", "nlei_PlatformInput$5__init_", "nlei_PlatformInput$6__init_",
        "nlei_PlatformInput$7__init_", "nlei_PlatformInput$8__init_", "nlei_PlatformInput$9__init_", "nlei_PlatformInput$10__init_", "nlei_PlatformInput$11__init_", "nlei_PlatformInput$initHooks$lambda$_3_0__init_0", "nleit_LegacyKeycodeTranslator_getRemappedKeyCount", "getRemappedKeyCount", "nlei_PlatformInput$12__init_", "nlei_PlatformInput$13__init_", "jl_String_toLowerCase", "toLowerCase", "jl_String_contains", "contains", "nlei_PlatformInput_getSupportedFullScreen$js_body$_9", "getSupportedFullScreen$js_body$_9",
        "nlei_PlatformInput_fullscreenMediaQuery$js_body$_84", "fullscreenMediaQuery$js_body$_84", "nlei_PlatformInput_checkKeyboardLockSupported$js_body$_91", "checkKeyboardLockSupported$js_body$_91", "nlei_PlatformInput$14__init_", "nleit_TeaVMUtils_addEventListener$js_body$_4", "addEventListener$js_body$_4", "nlei_PlatformInput$initHooks$lambda$_3_1__init_", "nlei_PlatformInput$initHooks$lambda$_3_2__init_", "otjb_Window_setInterval$js_body$_27", "setInterval$js_body$_27", "otjb_Window_clearInterval$js_body$_29",
        "clearInterval$js_body$_29", "nlei_PlatformInput_getSupportedPointerLock$js_body$_8", "getSupportedPointerLock$js_body$_8", "nlei_PlatformInput_asyncRequestAnimationFrame", "asyncRequestAnimationFrame", "nlei_PlatformInput_iterateKeyboardLayout", "iterateKeyboardLayout", "nlei_PlatformInput_onBeforeCloseRegister$js_body$_2", "onBeforeCloseRegister$js_body$_2", "nlei_EnumPlatformAgent__clinit_", "nlei_EnumPlatformOS__clinit_", "nlei_EnumPlatformANGLE__clinit_", "nleo_EaglercraftGPU$1__init_", "nleo_EaglercraftGPU$2__init_",
        "nleo_EaglercraftGPU$3__init_", "nlei_GLObjectMap__init_0", "nle_EagRuntime_allocateByteBuffer", "cch_IntObjectHashMap__init_", "cch_IntObjectMap_get", "cch_IntObjectMap_put", "nleit_WebGLBackBuffer_enterVAOEmulationPhase", "enterVAOEmulationPhase", "nleo_GLSLHeader__clinit_", "nle_EagRuntime_getRequiredResourceString", "getRequiredResourceString", "nleo_EaglercraftGPU_checkOpenGLESVersion", "jl_StringBuilder__init_2", "jl_IllegalStateException__init_2", "nleo_DrawUtils__clinit_", "nle_EagRuntime_allocateFloatBuffer",
        "allocateFloatBuffer", "nleib_FloatBuffer_put0", "nle_EagRuntime_freeFloatBuffer", "freeFloatBuffer", "nleo_VSHInputLayoutParser_getShaderInputs", "getShaderInputs", "nleo_GLSLHeader_getVertexHeaderCompat", "getVertexHeaderCompat", "nlei_PlatformOpenGL__wglGetShaderi", "_wglGetShaderi", "nlei_PlatformOpenGL__wglGetShaderInfoLog", "_wglGetShaderInfoLog", "nleo_InstancedFontRenderer__clinit_", "nleo_GLSLHeader_getFragmentHeaderCompat", "getFragmentHeaderCompat", "nlei_PlatformOpenGL__wglGetProgrami", "_wglGetProgrami",
        "nleo_VSHInputLayoutParser_applyLayout", "applyLayout", "nleo_EaglercraftGPU_bindGLShaderProgram", "bindGLShaderProgram", "nleo_EaglercraftGPU_vertexAttribDivisor", "vertexAttribDivisor", "nleib_ByteBuffer_remaining", "remaining", "nlei_PlatformOpenGL__wglBufferData2", "nlei_PlatformOpenGL__wglGetProgramInfoLog", "_wglGetProgramInfoLog", "nlei_PlatformOpenGL__wglDeleteBuffers", "_wglDeleteBuffers", "nlei_PlatformOpenGL__wglDeleteProgram", "_wglDeleteProgram", "ju_Locale__clinit_", "jt_DateFormatSymbols__init_2",
        "jt_SimpleDateFormat__init_4", "nleit_TeaVMUtils_removeEventListener$js_body$_5", "removeEventListener$js_body$_5", "otjb_Window_clearTimeout$js_body$_26", "clearTimeout$js_body$_26", "nlei_PlatformInput_callExitPointerLock", "callExitPointerLock", "nleit_ClientMain_removeErrorHandler", "removeErrorHandler", "otjb_Performance_now$js_body$_1", "now$js_body$_1", "nms_GLAllocation__clinit_", "nms_GLAllocation_createDirectByteBuffer", "createDirectByteBuffer", "nms_RenderBlocks__init_", "nms_ModelBase__init_",
        "nms_ModelRenderer__init_0", "nms_ModelRenderer_addBox", "addBox", "nms_ModelRenderer_setPosition", "setPosition", "jl_Math_random", "random", "nle_Random__init_1", "nms_Block__clinit_", "nle_Display__clinit_", "otcic_StdoutOutputStream__init_", "ji_OutputStream__init_", "jnci_UTF8Charset__clinit_", "otcic_StderrOutputStream__init_", "jl_Object_monitorEnter0", "jl_Object_createMonitor", "createMonitor", "jl_Thread_currentThread", "currentThread", "jl_Thread_setCurrentThread", "setCurrentThread", "jl_Object_monitorExit0",
        "jl_Object_isEmptyMonitor", "isEmptyMonitor", "jl_IllegalMonitorStateException__init_", "nleit_TeaVMClientConfigAdapterHooks__clinit_", "ju_HashMap__init_3", "oall_Level__init_0", "oall_Level_$values", "$values", "nlei_IClientConfigAdapter_getLocalStorageNamespace", "getLocalStorageNamespace", "nlei_IClientConfigAdapterHooks_callLocalStorageLoadHook", "callLocalStorageLoadHook", "otji_JSWrapper_jsToJava", "jsToJava", "otji_JSWrapper$_clinit_$lambda$_30_0_accept", "accept", "otji_JSWrapper$_clinit_$lambda$_30_1_accept",
        "nlei_PlatformRuntime_getFallbackStackTrace", "getFallbackStackTrace", "nleit_TeaVMUtils_getStackSafe$js_body$_44", "getStackSafe$js_body$_44", "nleit_TeaVMRuntimeDeobfuscator_initialize", "ju_Arrays_asList", "asList", "nleit_TeaVMRuntimeDeobfuscator_deobfExceptionStack", "deobfExceptionStack", "juf_Consumer_accept", "jl_Number__init_", "ju_AbstractList__init_", "oall_Logger_fixDateFormat", "fixDateFormat", "ju_EnumSet_noneOf", "noneOf", "nleit_EnumES6ShimStatus_getStatusById", "getStatusById", "nleit_EnumES6Shims_getShimById",
        "getShimById", "nleit_TeaVMBlobURLManager_checkSameOriginSupport$_asyncCall_$", "checkSameOriginSupport$_asyncCall_$", "nleit_TeaVMBlobURLManager_checkSameOriginSupport0", "nleit_EnumES6ShimStatus_values", "values", "ju_ArrayList__init_2", "ju_AbstractSet__init_", "nleib_EaglerArrayBufferAllocator__clinit_", "otjt_Int8Array_create$js_body$_3", "create$js_body$_3", "nleib_EaglerArrayByteBuffer__init_0", "nleit_TeaVMDataURLManager_checkDataURLSupport0$_asyncCall_$", "checkDataURLSupport0$_asyncCall_$",
        "nleit_TeaVMDataURLManager_checkDataURLSupport0", "nlei_PlatformRuntime$2_handleEvent", "handleEvent", "ju_Collections$1__init_", "ju_Collections$2__init_", "ju_Collections$3__init_", "ju_Collections$4__init_", "ju_Collections$5__init_", "ju_Collections$_clinit_$lambda$_59_0__init_", "ju_Comparator$NaturalOrder__clinit_", "ju_Arrays_sort", "ju_List_set", "nlei_OpenGLObjects$TextureGL__init_", "nlei_OpenGLObjects$RenderbufferGL__init_", "otji_JS_wrap", "otji_JS_invoke3", "nleib_EaglerArrayBufferAllocator_getDataView8Unsigned",
        "getDataView8Unsigned", "otji_JS_invoke4", "otji_JS_invoke5", "nlei_OpenGLObjects$BufferGL__init_", "nleib_EaglerArrayBufferAllocator_getDataView8", "getDataView8", "jl_UnsupportedOperationException__init_", "nlei_OpenGLObjects$ShaderGL__init_", "nlei_OpenGLObjects$VertexArrayGL__init_0", "otji_JS_invoke6", "nlei_OpenGLObjects$ProgramGL__init_", "nlei_OpenGLObjects$UniformGL__init_", "nle_Base64__clinit_", "nle_Base64__init_", "nle_BaseNCodec_decode", "decode", "nlei_PlatformAssets_loadImageFile0", "nleib_EaglerArrayBufferAllocator_getDataView8Unsigned0",
        "nleib_EaglerArrayBufferAllocator_getDataView32F", "getDataView32F", "nle_EagUtils__clinit_", "nle_EagUtils_makeClientBrandUUID", "makeClientBrandUUID", "nle_EagUtils_makeClientBrandUUIDLegacy", "makeClientBrandUUIDLegacy", "ju_Arrays_mismatchImpl", "mismatchImpl", "jl_StringBuilder_append2", "otjb_Window_encodeURIComponent$js_body$_53", "encodeURIComponent$js_body$_53", "jl_String_indexOf0", "jl_AbstractStringBuilder_append0", "nlei_PlatformRuntime_downloadRemoteURIXHR", "downloadRemoteURIXHR", "nlei_PlatformRuntime_downloadRemoteURIFetch",
        "downloadRemoteURIFetch", "jnc_StandardCharsets__clinit_", "jl_String__init_9", "nle_Base64_encodeBase64String", "encodeBase64String", "nlei_IClientConfigAdapterHooks_callLocalStorageSavedHook", "callLocalStorageSavedHook", "nleit_ArrayBufferInputStream__init_", "ji_InputStream_read", "read", "nleit_EPKLoader_readASCII", "readASCII", "ji_IOException__init_4", "otjt_Uint8Array_create$js_body$_6", "nleit_EPKLoader_readASCII0", "otji_JS_unwrapShort", "unwrapShort", "nleit_ArrayBufferInputStream_read", "ji_InputStream_read0",
        "nleit_ArrayBufferInputStream_skip", "skip", "ji_InputStream_skip", "nleit_EPKLoader_loadShort", "loadShort", "nleit_EPKLoader_loadInt", "loadInt", "cjj_GZIPInputStream__init_", "cjj_InflaterInputStream__init_", "cjj_CRC32__init_", "cjj_CRC32_reset", "reset", "cjj_CRC32_update", "cjj_CRC32_getValue", "getValue", "npem_AudioUtils_addFile", "addFile", "ji_InputStream_close", "close", "nlei_PlatformRuntime_getVisualViewport$js_body$_12", "getVisualViewport$js_body$_12", "nleit_WebGLBackBuffer_flipBuffer",
        "flipBuffer", "nlei_PlatformInput_getVisibilityState$js_body$_28", "getVisibilityState$js_body$_28", "nlei_PlatformRuntime_swapDelayTeaVM", "swapDelayTeaVM", "nlei_PlatformRuntime_steadyTimeMillisTeaVM", "steadyTimeMillisTeaVM", "nlei_PlatformRuntime_immediateContinue", "immediateContinue", "nleib_EaglerArrayBufferAllocator_allocateIntBuffer", "nleo_GLObjectRecycler_create", "nleo_SoftGLVertexArray__init_", "nleo_SoftGLVertexArray_enableAttrib", "enableAttrib", "nleo_SoftGLVertexArray_setAttrib", "setAttrib",
        "nleo_SoftGLVertexArray_transitionToState", "transitionToState", "nleo_GLObjectRecycler_destroy", "nlei_PlatformFilesystem__clinit_", "nleit_IndexedDBFilesystem_createFilesystem", "createFilesystem", "ju_TreeMap__init_", "nlei_PlatformRuntime_sleep$_asyncCall_$", "nlei_PlatformRuntime_sleep0", "nlei_PlatformInput$16__init_", "nleit_TeaVMClientConfigAdapter_isUseJOrbisAudioDecoderTeaVM", "isUseJOrbisAudioDecoderTeaVM", "nle_EagRuntime_getRequiredResourceBytes", "getRequiredResourceBytes", "nleit_TeaVMUtils_unwrapByteArray",
        "unwrapByteArray", "nlei_PlatformAudio_decodeAudioBrowserAsync", "decodeAudioBrowserAsync", "jl_Thread__init_3", "jl_DefaultUncaughtExceptionHandler__init_", "oti_AsyncCallback_complete", "oti_AsyncCallback_error", "otpp_AsyncCallbackWrapper__init_", "jl_Thread$SleepHandler__init_", "otp_Platform_schedule", "schedule", "otp_Platform_launchThread", "launchThread", "nlei_PlatformRuntime$1_handleEvent", "nleit_MessageChannel_supported$js_body$_1", "supported$js_body$_1", "nleit_MessageChannel_create$js_body$_2",
        "nlei_PlatformRuntime$6__init_", "nlei_PlatformRuntime$checkImmediateContinueSupport0$lambda$_51_0__init_0", "nlei_PlatformRuntime_safeShutdownChannel", "safeShutdownChannel", "nle_EaglercraftUUID_randomUUID", "randomUUID", "nle_EaglercraftUUID_toString", "nlei_PlatformRuntime$7__init_0", "jl_Exception__init_2", "nleit_LegacyKeycodeTranslator$LegacyKeycode__init_0", "nleit_LegacyKeycodeTranslator__clinit_", "nlei_PlatformInput$1_handleEvent$exported$0", "nlei_PlatformInput$2_handleEvent$exported$0",
        "nlei_PlatformInput$3_handleEvent$exported$0", "nlei_PlatformInput$4_handleEvent$exported$0", "nlei_PlatformInput$5_handleEvent$exported$0", "nlei_PlatformInput$6_handleEvent$exported$0", "nlei_PlatformInput$7_handleEvent$exported$0", "nlei_PlatformInput$8_handleEvent$exported$0", "nlei_PlatformInput$9_handleEvent$exported$0", "nlei_PlatformInput$10_handleEvent$exported$0", "nlei_PlatformInput$11_handleEvent$exported$0", "nlei_PlatformInput$initHooks$lambda$_3_0_call$exported$0", "nlei_PlatformInput$12_handleEvent$exported$0",
        "nlei_PlatformInput$13_handleEvent$exported$0", "nlei_PlatformInput$14_handleEvent$exported$0", "nlei_PlatformInput$initHooks$lambda$_3_1_call$exported$0", "nlei_PlatformInput$initHooks$lambda$_3_2_onTimer$exported$0", "onTimer$exported$0", "nlei_PlatformInput_asyncRequestAnimationFrame$_asyncCall_$", "asyncRequestAnimationFrame$_asyncCall_$", "nlei_PlatformInput_asyncRequestAnimationFrame0", "nlei_PlatformInput_iterateKeyboardLayout$_asyncCall_$", "iterateKeyboardLayout$_asyncCall_$", "nlei_PlatformInput_iterateKeyboardLayout0",
        "nlei_EnumPlatformAgent__init_0", "nlei_EnumPlatformAgent_$values", "nlei_EnumPlatformOS__init_0", "nlei_EnumPlatformOS_$values", "nlei_EnumPlatformANGLE__init_0", "nlei_EnumPlatformANGLE_$values", "nleo_GLObjectRecycler__init_", "cch_IntObjectHashMap__init_1", "cch_IntObjectHashMap__clinit_", "jl_AbstractStringBuilder__init_3", "nlei_PlatformRuntime_allocateFloatBuffer", "nlei_PlatformRuntime_freeFloatBuffer", "jl_String_indexOf1", "nleo_VSHInputLayoutParser$ShaderLayoutParseException__init_", "nle_EagUtils_linesList",
        "linesList", "jl_String_split0", "jl_Integer_parseInt0", "parseInt", "nleo_VSHInputLayoutParser$ShaderInput__init_", "jl_IllegalStateException__init_", "nlev_Matrix4f__init_", "nlev_Vector4f__init_", "nlei_PlatformOpenGL__wglVertexAttribDivisor", "_wglVertexAttribDivisor", "nleo_SoftGLVertexArray_setAttribDivisor", "setAttribDivisor", "ju_Locale__init_0", "otciu_CLDRHelper_getDefaultLocale", "getDefaultLocale", "otpp_ResourceAccessor_getProperty", "getProperty", "otpp_ResourceAccessor_castToString",
        "castToString", "ju_Locale__init_2", "jt_DateFormat__init_", "jt_DateFormatSymbols_clone", "jt_SimpleDateFormat_applyPattern", "applyPattern", "nlei_PlatformInput_mozExitPointerLock$js_body$_64", "mozExitPointerLock$js_body$_64", "nleit_ClientMain_removeWindowErrorHandler$js_body$_6", "removeWindowErrorHandler$js_body$_6", "jl_Math_randomImpl", "randomImpl", "nle_Random_setSeed", "setSeed", "ju_Random_setSeed", "nms_StepSound__init_0", "nms_StepSoundStone__init_0", "nms_StepSoundSand__init_0", "nms_BlockStone__init_",
        "nms_Block_setHardness", "setHardness", "nms_Block_setResistance", "setResistance", "nms_Block_setStepSound", "setStepSound", "nms_Block_setBlockName", "setBlockName", "nms_BlockGrass__init_", "nms_BlockDirt__init_", "nms_Block__init_2", "nms_BlockSapling__init_", "nms_BlockFlowing__init_", "nms_Block_setLightOpacity", "setLightOpacity", "nms_BlockStationary__init_", "nms_Block_setLightValue", "setLightValue", "nms_BlockSand__init_", "nms_BlockGravel__init_", "nms_BlockOre__init_", "nms_BlockLog__init_",
        "nms_BlockLeaves__init_", "nms_BlockSponge__init_", "nms_BlockGlass__init_", "nms_BlockDispenser__init_", "nms_BlockSandStone__init_", "nms_BlockNote__init_", "nms_BlockBed__init_", "nms_BlockCloth__init_", "nms_BlockFlower__init_", "nms_BlockMushroom__init_", "nms_BlockOreBlock__init_", "nms_BlockStep__init_", "nms_BlockTNT__init_", "nms_BlockBookshelf__init_", "nms_BlockObsidian__init_", "nms_BlockTorch__init_", "nms_BlockFire__init_", "nms_BlockMobSpawner__init_", "nms_BlockStairs__init_", "nms_BlockChest__init_",
        "nms_BlockRedstoneWire__init_", "nms_BlockWorkbench__init_", "nms_BlockCrops__init_", "nms_BlockSoil__init_", "nms_BlockFurnace__init_", "nms_BlockSign__init_", "nms_BlockDoor__init_", "nms_BlockLadder__init_", "nms_BlockMinecartTrack__init_", "nms_BlockLever__init_", "nms_BlockPressurePlate__init_", "nms_BlockRedstoneOre__init_", "nms_BlockRedstoneTorch__init_", "nms_BlockButton__init_", "nms_BlockSnow__init_", "nms_BlockIce__init_", "nms_BlockSnowBlock__init_", "nms_BlockCactus__init_", "nms_BlockClay__init_",
        "nms_BlockReed__init_", "nms_BlockJukeBox__init_", "nms_BlockFence__init_", "nms_BlockPumpkin__init_", "nms_BlockBloodStone__init_", "nms_BlockSlowSand__init_", "nms_BlockLightStone__init_", "nms_BlockPortal__init_", "nms_BlockCake__init_", "nms_BlockRedstoneRepeater__init_", "nms_BlockLockedChest__init_", "nms_Block_setTickOnLoad", "setTickOnLoad", "nms_ItemCloth__init_", "nms_Item_setItemName", "setItemName", "nms_ItemLog__init_", "nms_ItemSlab__init_", "nms_StatList_func_25154_a", "func_25154_a",
        "nms_ItemBlock__init_", "otcic_ConsoleOutputStream__init_", "jnci_UTF8Charset__init_", "jl_Object_monitorEnterWait0", "monitorEnterWait", "jl_Object$Monitor__init_0", "otp_PlatformQueue_isEmpty$static", "isEmpty$static", "jl_Object$monitorExit$lambda$_8_0__init_", "otp_Platform_postpone", "postpone", "ju_AbstractMap__init_", "jl_IllegalArgumentException__init_", "ju_HashMap_calculateCapacity", "calculateCapacity", "ju_HashMap_newElementArray", "newElementArray", "ju_HashMap_computeThreshold", "computeThreshold",
        "jl_Enum__init_", "otji_JSWrapper_isJava0", "otji_JSWrapper_directJsToJava", "directJsToJava", "otji_JSWrapper_wrap", "jl_Throwable_getStackTrace", "jl_StackTraceElement_toString", "nleit_TeaVMRuntimeDeobfuscator__clinit_", "nleit_TeaVMRuntimeDeobfuscator_initialize0", "initialize0", "ju_Arrays$ArrayAsList__init_", "nleit_TeaVMRuntimeDeobfuscator_countLeadingWhitespace", "countLeadingWhitespace", "jl_String_indexOf", "nleit_TeaVMRuntimeDeobfuscator_deobfFunctionFullName", "deobfFunctionFullName", "nleit_TeaVMRuntimeDeobfuscator_deobfClassName",
        "deobfClassName", "ju_AbstractCollection__init_", "oall_Logger_getLocaleCalendar", "getLocaleCalendar", "jt_DateFormat_setCalendar", "setCalendar", "nleit_EnumES6ShimStatus__clinit_", "ju_GenericEnumSet__init_", "nleit_EnumES6Shims__clinit_", "nleit_TeaVMBlobURLManager$checkSameOriginSupport$lambda$_3_0__init_0", "nleit_TeaVMBlobURLManager_checkSameOriginSupport0$js_body$_4", "checkSameOriginSupport0$js_body$_4", "jl_Boolean__clinit_", "otjt_Int32Array_create$js_body$_5", "nleib_EaglerArrayIntBuffer__init_0",
        "otjt_Float32Array_create$js_body$_3", "nleib_EaglerArrayFloatBuffer__init_0", "nleib_ByteBuffer__init_", "otjt_DataView_create$js_body$_31", "create$js_body$_31", "nleit_TeaVMDataURLManager$checkDataURLSupport0$lambda$_1_0__init_", "nleit_TeaVMFetchJS_doXHRDownload$js_body$_3", "doXHRDownload$js_body$_3", "nleit_TeaVMFetchJS_doFetchDownload$js_body$_2", "doFetchDownload$js_body$_2", "jl_Boolean_valueOf", "ju_TemplateCollections$AbstractImmutableSet__init_", "ju_TemplateCollections$AbstractImmutableMap__init_",
        "ju_TemplateCollections$AbstractImmutableList__init_", "ju_Comparator$NaturalOrder__init_", "jl_Math_min", "min", "ju_Arrays_merge", "merge", "nlei_OpenGLObjects$TextureGL__clinit_", "nlei_OpenGLObjects$RenderbufferGL__clinit_", "otjc_JSArray_create$js_body$_30", "create$js_body$_30", "otjc_JSNumber_valueOf$js_body$_15", "valueOf$js_body$_15", "nleib_EaglerArrayBufferAllocator_notEagler", "notEagler", "nlei_OpenGLObjects$BufferGL__clinit_", "otjt_Int8Array_create$js_body$_6", "nlei_OpenGLObjects$ShaderGL__clinit_",
        "nlei_OpenGLObjects$VertexArrayGL__clinit_", "nlei_OpenGLObjects$ProgramGL__clinit_", "nlei_OpenGLObjects$UniformGL__clinit_", "nle_Base64__init_3", "nlei_PlatformAssets_loadImageFile$_asyncCall_$", "loadImageFile$_asyncCall_$", "nlei_PlatformAssets_loadImageFile1", "otjt_Float32Array_create$js_body$_6", "jur_Pattern_compile", "compile", "jl_String_getBytes0", "getBytes", "nle_EaglercraftUUID_nameUUIDFromBytes", "nameUUIDFromBytes", "jl_AbstractStringBuilder_append8", "jl_AbstractStringBuilder_append3",
        "nlei_PlatformRuntime_downloadRemoteURIXHR$_asyncCall_$", "downloadRemoteURIXHR$_asyncCall_$", "nlei_PlatformRuntime_downloadRemoteURIXHR0", "nlei_PlatformRuntime_downloadRemoteURIFetch$_asyncCall_$", "downloadRemoteURIFetch$_asyncCall_$", "nlei_PlatformRuntime_downloadRemoteURIFetch0", "jnci_AsciiCharset__init_", "jnci_Iso8859Charset__init_", "jnci_UTF16Charset__init_0", "jl_String_initWithBytes", "initWithBytes", "nle_Base64_encodeBase64", "encodeBase64", "jnc_Charset_forName", "forName", "otjt_Uint8Array_create$js_body$_4",
        "create$js_body$_4", "jl_IllegalArgumentException__init_1", "cjj_GZIPInputStream__init_0", "cjj_InflaterInputStream__init_0", "cjj_CRC32__clinit_", "npem_AudioUtils__clinit_", "otji_JS_invoke7", "nlei_PlatformOpenGL__wglDisable", "_wglDisable", "nleo_EaglercraftGPU_glGetInteger", "glGetInteger", "nleo_GlStateManager_viewport", "viewport", "nleo_GlStateManager_eagPushStateForGLES2BlitHack", "eagPushStateForGLES2BlitHack", "nleo_GlStateManager_disableDepth", "disableDepth", "nleo_GlStateManager_disableBlend",
        "disableBlend", "nleit_WebGLBackBuffer_drawBlitQuad", "drawBlitQuad", "nleo_GlStateManager_eagPopStateForGLES2BlitHack", "eagPopStateForGLES2BlitHack", "nlei_PlatformRuntime_immediateContinueTeaVM0", "immediateContinueTeaVM0", "nlei_PlatformRuntime_steadyTimeMillis0$js_body$_77", "steadyTimeMillis0$js_body$_77", "nleo_GlStateManager__clinit_", "nleit_IndexedDBFilesystem$AsyncHandlers_openDB", "openDB", "nlei_PlatformFilesystem$FilesystemDatabaseLockedException__init_", "nlei_PlatformFilesystem$FilesystemDatabaseInitializationException__init_",
        "nleit_IndexedDBFilesystem__init_", "ju_TreeMap__init_1", "nlei_PlatformRuntime$DumbSleepHandler__init_", "nlei_PlatformInput$16_handleEvent$exported$0", "nlei_PlatformAudio_decodeAudioBrowserAsync$_asyncCall_$", "decodeAudioBrowserAsync$_asyncCall_$", "nlei_PlatformAudio_decodeAudioBrowserAsync0", "jl_Thread__init_2", "otp_PlatformRunnable_run", "nlei_PlatformRuntime$6_handleEvent$exported$0", "nle_Random_nextBytes", "nextBytes", "nle_EaglercraftUUID__init_", "jl_Throwable__init_4", "nleit_LegacyKeycodeTranslator_newHashSet",
        "newHashSet", "nlei_PlatformInput$1_handleEvent", "nlei_PlatformInput$2_handleEvent", "nlei_PlatformInput$3_handleEvent", "nlei_PlatformInput$4_handleEvent", "nlei_PlatformInput$5_handleEvent", "nlei_PlatformInput$6_handleEvent", "nlei_PlatformInput$7_handleEvent0", "nlei_PlatformInput$8_handleEvent", "nlei_PlatformInput$9_handleEvent", "nlei_PlatformInput$10_handleEvent", "nlei_PlatformInput$11_handleEvent", "nlei_PlatformInput$initHooks$lambda$_3_0_call", "nlei_PlatformInput$12_handleEvent", "nlei_PlatformInput$13_handleEvent",
        "nlei_PlatformInput$14_handleEvent", "nlei_PlatformInput$initHooks$lambda$_3_1_call", "nlei_PlatformInput$initHooks$lambda$_3_2_onTimer", "onTimer", "nlei_PlatformRuntime_steadyTimeMillis", "steadyTimeMillis", "nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_0__init_", "otjb_Window_requestAnimationFrame$js_body$_30", "requestAnimationFrame$js_body$_30", "nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_1__init_", "otjb_Window_setTimeout$js_body$_24", "setTimeout$js_body$_24", "nlei_PlatformInput$iterateKeyboardLayout$lambda$_6_0__init_",
        "nlei_PlatformInput_iterateKeyboardLayout0$js_body$_4", "iterateKeyboardLayout0$js_body$_4", "nms_EnumOS__clinit_", "ju_ArrayDeque__init_1", "cch_IntObjectHashMap__init_2", "jl_Class_desiredAssertionStatus", "desiredAssertionStatus", "jl_AbstractStringBuilder__init_4", "nleib_EaglerArrayBufferAllocator_allocateFloatBuffer", "jur_Pattern_split", "jl_Integer_parseInt", "nlev_Matrix__init_", "nlev_Matrix4f_setIdentity", "setIdentity", "nlev_Matrix_setIdentity", "nlev_Vector__init_", "otciu_CLDRHelper_getDefaultLocale$$create",
        "getDefaultLocale$$create", "jl_NullPointerException__init_0", "jt_Format__init_", "ju_Calendar_getInstance", "getInstance", "nms_Block__init_0", "nms_Material__clinit_", "nms_Block_setBlockBounds", "setBlockBounds", "nms_BlockFluids__init_", "nms_BlockSand__clinit_", "nms_BlockLeavesBase__init_", "nms_BlockBreakable__init_", "nms_BlockContainer__init_", "nms_BlockContainer__init_0", "nms_BlockBed_setBounds", "setBounds", "nms_BlockBed__clinit_", "nms_BlockStep__clinit_", "nms_BlockFire_setBurnRate",
        "setBurnRate", "nms_EnumMobType__clinit_", "nms_BlockRedstoneTorch__clinit_", "nms_BlockRedstoneRepeater__clinit_", "nms_Item__clinit_", "nms_Item_setMaxDamage", "setMaxDamage", "nms_Item_setHasSubtypes", "setHasSubtypes", "nms_StatList__clinit_", "nms_StatList_func_25155_a", "func_25155_a", "nms_StatList_func_25149_b", "func_25149_b", "nms_StatList_func_25157_c", "func_25157_c", "nms_Item__init_", "nms_Block_getBlockTextureFromSide", "getBlockTextureFromSide", "nms_Item_setIconIndex", "setIconIndex",
        "jnc_Charset__init_", "jl_Object_monitorEnterWait$_asyncCall_$", "monitorEnterWait$_asyncCall_$", "jl_Object_monitorEnterWait", "otjc_JSObjects_typeOf$js_body$_8", "typeOf$js_body$_8", "otji_JSWrapper__init_0", "otji_JSWrapper_get$js_body$_7", "get$js_body$_7", "otjc_JSObjects_isUndefined$js_body$_6", "isUndefined$js_body$_6", "otjc_JSObjects_undefined$js_body$_7", "undefined$js_body$_7", "otji_JSWrapper_deref$js_body$_3", "deref$js_body$_3", "otji_JSWrapper_jsToWrapper", "jsToWrapper", "otji_JSWrapper_wrapperToJs",
        "wrapperToJs", "otji_JSWrapper_createWeakRef$js_body$_2", "createWeakRef$js_body$_2", "otji_JSWrapper_set$js_body$_8", "set$js_body$_8", "otji_JSWrapper_get$js_body$_5", "get$js_body$_5", "otji_JSWrapper_set$js_body$_6", "set$js_body$_6", "otji_JSWrapper_register$js_body$_4", "register$js_body$_4", "nleit_TeaVMRuntimeDeobfuscator_getAllClasses", "getAllClasses", "otjc_JSString_stringValue$static", "stringValue$static", "jl_Long_valueOf", "nleit_Base64VarIntArray_decodeVarIntArray", "decodeVarIntArray",
        "nleit_TeaVMRuntimeDeobfuscator$DeobfNameEntry__init_", "nleit_EnumES6ShimStatus__init_0", "nleit_EnumES6ShimStatus_$values", "ju_EnumSet__init_", "ju_GenericEnumSet_getConstants", "getConstants", "nleit_EnumES6Shims__init_0", "nleit_EnumES6Shims_$values", "nleit_EnumES6Shims_values", "nleit_TeaVMBlobURLManager$checkSameOriginSupport$lambda$_3_0_call$exported$0", "jl_Boolean__init_", "otp_Platform_clone", "otp_Platform_nextObjectId$js_body$_9", "nextObjectId$js_body$_9", "jl_CloneNotSupportedException__init_",
        "nleib_IntBuffer__init_", "nleib_FloatBuffer__init_", "nleit_TeaVMDataURLManager$checkDataURLSupport0$lambda$_1_0_onFetch$exported$0", "onFetch$exported$0", "ju_Comparator_compare", "compare", "otjc_JSArray_get$exported$0", "otjc_JSArray_getLength$exported$1", "getLength$exported$1", "jl_Class_getSimpleName", "getSimpleName", "nleib_EaglerArrayBufferAllocator$WrongBufferClassType__init_", "nle_Base64__init_4", "nle_BaseNCodec__clinit_", "nlei_PlatformAssets$1__init_", "nlei_PlatformAssets$2__init_",
        "nleit_TeaVMBlobURLManager_registerNewURLByte", "registerNewURLByte", "nleit_TeaVMBlobURLHandle_toExternalForm", "toExternalForm", "jur_Pattern_compile0", "nlec_MD5Digest__init_", "nlec_GeneralDigest_update", "nlec_MD5Digest_doFinal", "doFinal", "jl_AbstractStringBuilder_insert7", "nlei_PlatformRuntime_isDataURL", "isDataURL", "nleit_TeaVMDataURLManager_decodeDataURLFallback", "decodeDataURLFallback", "nleit_TeaVMUtils_unwrapArrayBuffer", "unwrapArrayBuffer", "nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_0__init_",
        "nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_1__init_", "nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_0__init_", "nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_1__init_", "jn_ByteBuffer_wrap", "jnc_Charset_decode", "jn_CharBuffer_hasArray", "hasArray", "jn_Buffer_hasArray", "jn_Buffer_remaining", "jn_CharBuffer_get0", "jn_Buffer_position", "position", "jn_Buffer_limit", "limit", "jn_Buffer_capacity", "capacity", "jn_CharBuffer_array", "array", "nle_Base64_encodeBase640", "jnc_Charset_checkCanonicalName",
        "checkCanonicalName", "jl_String_toUpperCase", "toUpperCase", "jnc_UnsupportedCharsetException__init_", "cjj_Inflater__init_0", "cjj_GZIPInputStream__init_1", "cjj_Inflater__init_1", "cjj_InflaterInputStream__init_1", "jl_UnsupportedOperationException__init_0", "nleo_EaglercraftGPU_bindGLArrayBuffer", "bindGLArrayBuffer", "nleo_GlStateManager_enableDepth", "enableDepth", "nleo_GlStateManager_disableCull", "disableCull", "nleo_GlStateManager_enableCull", "enableCull", "nleo_GlStateManager_enableBlend",
        "enableBlend", "nlei_PlatformRuntime_immediateContinueTeaVM0$_asyncCall_$", "immediateContinueTeaVM0$_asyncCall_$", "nlei_PlatformRuntime_immediateContinueTeaVM00", "nleo_GlStateManager_populateStack", "populateStack", "nleo_GlStateManager_populateStack0", "nleo_GlStateManager_populateStack1", "nleit_IndexedDBFilesystem$AsyncHandlers_openDB$_asyncCall_$", "openDB$_asyncCall_$", "nleit_IndexedDBFilesystem$AsyncHandlers_openDB0", "nleiv_EaglerFileSystemException__init_0", "nlei_PlatformInput$16_handleEvent",
        "nlei_PlatformAudio$1__init_", "nlei_PlatformAudio$2__init_", "nlei_PlatformRuntime$6_handleEvent", "ju_HashSet__init_3", "ju_Collections_addAll", "addAll", "nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_0_onAnimationFrame$exported$0", "onAnimationFrame$exported$0", "nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_1_onTimer$exported$0", "nlei_PlatformInput$iterateKeyboardLayout$lambda$_6_0_call$exported$0", "nms_EnumOS__init_", "nms_EnumOS_$values", "cch_IntObjectHashMap_verifyLoadFactor",
        "verifyLoadFactor", "cch_HashContainers_nextIterationSeed", "nextIterationSeed", "cch_IntObjectHashMap_ensureCapacity", "ensureCapacity", "jl_CharSequence_length", "jl_CharSequence_charAt", "jl_Integer_parseIntImpl", "parseIntImpl", "jl_NumberFormatException__init_0", "ju_Calendar__clinit_", "ju_GregorianCalendar__init_", "nms_Block_isOpaqueCube", "isOpaqueCube", "jl_String_valueOf", "nms_Material_getCanBlockGrass", "getCanBlockGrass", "nms_MaterialTransparent__init_", "nms_Material__init_", "nms_Material_setBurning",
        "setBurning", "nms_MaterialLiquid__init_", "nms_MaterialLogic__init_", "nms_EnumMobType__init_", "nms_EnumMobType_$values", "nms_ItemSpade__init_", "nms_Item_setIconCoord", "setIconCoord", "nms_ItemPickaxe__init_", "nms_ItemAxe__init_", "nms_ItemFlintAndSteel__init_", "nms_ItemFood__init_", "nms_ItemBow__init_", "nms_ItemCoal__init_", "nms_ItemSword__init_", "nms_Item_setFull3D", "setFull3D", "nms_ItemSoup__init_", "nms_ItemHoe__init_", "nms_ItemSeeds__init_", "nms_ItemArmor__init_", "nms_ItemPainting__init_",
        "nms_ItemSign__init_", "nms_ItemDoor__init_", "nms_ItemBucket__init_", "nms_Item_setContainerItem", "setContainerItem", "nms_ItemMinecart__init_", "nms_ItemSaddle__init_", "nms_ItemRedstone__init_", "nms_ItemSnowball__init_", "nms_ItemBoat__init_", "nms_ItemReed__init_", "nms_ItemEgg__init_", "nms_ItemFishingRod__init_", "nms_ItemDye__init_", "nms_Item_setMaxStackSize", "setMaxStackSize", "nms_ItemBed__init_", "nms_ItemCookie__init_", "nms_ItemRecord__init_", "nms_StatList_func_25151_b", "func_25151_b",
        "nms_StatCollector_func_25200_a", "func_25200_a", "nms_StatBasic__init_", "nms_StatBasic_func_25068_c", "func_25068_c", "nms_StatTime__init_", "nms_StatDistance__init_", "nms_StatList_func_25153_a", "func_25153_a", "nms_StatList_func_25150_a", "func_25150_a", "nms_Item_func_25009_k", "func_25009_k", "nms_StatCollector_func_25199_a", "func_25199_a", "nms_StatCrafting__init_", "nms_Item_func_25007_g", "func_25007_g", "nms_CraftingManager_getInstance", "nms_CraftingManager_func_25193_b", "func_25193_b",
        "nms_FurnaceRecipes_smelting", "smelting", "nms_FurnaceRecipes_func_25194_b", "func_25194_b", "ju_Map_values", "nms_IRecipe_func_25117_b", "func_25117_b", "ju_HashSet_add", "add", "ju_AbstractCollection_add", "ju_HashSet_iterator", "jl_Integer_intValue", "intValue", "jl_Number_intValue", "jl_Object$monitorEnterWait$lambda$_6_0__init_", "otp_PlatformQueue_add$static", "add$static", "otp_Platform_createQueue", "createQueue", "otjc_JSString_stringValue$js_body$_2", "stringValue$js_body$_2", "jl_Long__clinit_",
        "jl_Long__init_", "nle_Base64_lookupCharInt", "lookupCharInt", "ju_Arrays_copyOf2", "copyOf", "jl_Class_getPlatformClass", "getPlatformClass", "otp_Platform_initClass", "initClass", "otp_Platform_getEnumConstants", "getEnumConstants", "nleit_TeaVMBlobURLManager$checkSameOriginSupport$lambda$_3_0_call", "nleit_TeaVMDataURLManager$checkDataURLSupport0$lambda$_1_0_onFetch", "onFetch", "nle_Base64__init_2", "nlei_PlatformAssets$1_handleEvent$exported$0", "nlei_PlatformAssets$2_handleEvent$exported$0", "nleit_TeaVMBlobURLManager$HandleFakeBlobURL__init_",
        "nleit_TeaVMBlobURLManager_createBlobURL$js_body$_12", "createBlobURL$js_body$_12", "nleit_TeaVMBlobURLManager$HandleRealBlobURL__init_", "jur_Pattern__init_", "jur_Pattern_compileImpl", "compileImpl", "nlec_GeneralDigest__init_", "nlec_MD5Digest_reset", "nlec_GeneralDigest_reset", "otjb_Window_decodeURIComponent$js_body$_55", "decodeURIComponent$js_body$_55", "nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_0_onFetch$exported$0", "nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_1_onFetch$exported$0",
        "nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_0_onFetch$exported$0", "nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_1_onFetch$exported$0", "jn_ByteBufferImpl__init_", "nle_Base64_encodeBase641", "jl_String_isEmpty", "jnc_Charset_isValidCharsetStart", "isValidCharsetStart", "jnc_IllegalCharsetNameException__init_0", "jnc_Charset$Charsets__clinit_", "cjj_Inflater__init_2", "cjj_InflaterInputStream__init_2", "cjj_InflaterInputStream__init_3", "nlei_PlatformOpenGL__wglEnable", "_wglEnable",
        "nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_0__init_0", "nlei_PlatformRuntime$5__init_0", "nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_1__init_0", "nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_2__init_0", "nlev_Vector4f__init_1", "nleit_IndexedDBFilesystem_createIDBFactory$js_body$_14", "createIDBFactory$js_body$_14", "nleit_IndexedDBFilesystem$AsyncHandlers$openDB$lambda$_2_0__init_", "nleit_IndexedDBFilesystem_safeOpen$js_body$_15", "safeOpen$js_body$_15", "nleit_IndexedDBFilesystem$DatabaseOpen__init_",
        "nleit_TeaVMUtils_isNotTruthy$js_body$_41", "isNotTruthy$js_body$_41", "nleit_IndexedDBFilesystem$AsyncHandlers$1__init_", "nleit_IndexedDBFilesystem$AsyncHandlers$2__init_", "nleit_IndexedDBFilesystem$AsyncHandlers$3__init_", "nleit_IndexedDBFilesystem$AsyncHandlers$4__init_", "nlei_PlatformAudio$1_onSuccess$exported$0", "onSuccess$exported$0", "nlei_PlatformAudio$2_onError$exported$0", "onError$exported$0", "ju_Collection_addAll", "nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_0_onAnimationFrame",
        "onAnimationFrame", "nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_1_onTimer", "nlei_PlatformInput$iterateKeyboardLayout$lambda$_6_0_call", "cch_HashContainers__clinit_", "juca_AtomicInteger_incrementAndGet", "incrementAndGet", "jl_NumberFormatException__init_", "jl_Character_getNumericValue0", "getNumericValue", "jl_CharSequence_subSequence", "subSequence", "ju_GregorianCalendar__init_0", "ju_GregorianCalendar__clinit_", "nms_EnumToolMaterial__clinit_", "nms_ItemTool__init_", "nms_ItemSpade__clinit_",
        "nms_ItemPickaxe__clinit_", "nms_ItemAxe__clinit_", "nms_EnumToolMaterial_getMaxUses", "getMaxUses", "nms_EnumToolMaterial_getDamageVsEntity", "getDamageVsEntity", "nms_ItemArmor__clinit_", "nms_ItemDye__clinit_", "nms_StatCollector__clinit_", "nms_StringTranslate_translateKey", "translateKey", "nms_StatTime__clinit_", "nms_StatDistance__clinit_", "nms_Block_func_25016_i", "func_25016_i", "nms_StatList_func_25156_a", "func_25156_a", "nms_StringTranslate_translateKeyFormat", "translateKeyFormat", "nms_CraftingManager__clinit_",
        "nms_FurnaceRecipes__clinit_", "otp_PlatformQueue_wrap", "otp_Platform_createQueueJs$js_body$_30", "createQueueJs$js_body$_30", "nle_Base64__init_5", "nlei_PlatformAssets$1_handleEvent", "nlei_PlatformAssets$2_handleEvent", "jur_AbstractSet__clinit_", "jur_Lexer__init_", "jur_Pattern_processExpression", "processExpression", "jur_Lexer_isEmpty", "jur_Pattern_finalizeCompile", "finalizeCompile", "jur_Lexer_toString", "jur_Lexer_getIndex", "getIndex", "jur_PatternSyntaxException__init_", "nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_0_onFetch",
        "nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_1_onFetch", "nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_0_onFetch", "nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_1_onFetch", "jn_ByteBuffer__init_", "nle_Base64__init_6", "nle_BaseNCodec_getEncodedLength", "getEncodedLength", "nle_BaseNCodec_encode", "encode", "jnc_Charset_name", "name", "cjj_ZStream__init_", "cjj_Inflater_init", "cjj_GZIPException__init_0", "nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_1_onTimer$exported$0",
        "nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_2_onTimer$exported$0", "nlev_Vector4f_set", "nleit_IndexedDBFilesystem$AsyncHandlers$openDB$lambda$_2_0_call$exported$0", "nleit_IndexedDBFilesystem$AsyncHandlers$1_handleEvent$exported$0", "nleit_IndexedDBFilesystem$AsyncHandlers$2_handleEvent$exported$0", "nleit_IndexedDBFilesystem$AsyncHandlers$3_handleEvent$exported$0", "nleit_IndexedDBFilesystem$AsyncHandlers$4_handleEvent$exported$0", "nlei_PlatformAudio$1_onSuccess", "onSuccess", "nlei_PlatformAudio$2_onError",
        "onError", "juca_AtomicInteger__init_", "jl_Character_getNumericValue", "ju_TimeZone_getDefault", "ju_GregorianCalendar__init_1", "nms_EnumToolMaterial__init_", "nms_EnumToolMaterial_$values", "nms_EnumToolMaterial_getEfficiencyOnProperMaterial", "getEfficiencyOnProperMaterial", "nms_StringTranslate_getInstance", "jt_DecimalFormat__init_0", "nms_CraftingManager__init_", "nms_FurnaceRecipes__init_", "nle_BaseNCodec$CodecPolicy__clinit_", "nle_BaseNCodec__init_", "nle_BaseNCodec_containsAlphabetOrPad",
        "containsAlphabetOrPad", "jur_Pattern_quote", "quote", "jl_String_toCharArray", "toCharArray", "jur_Lexer_movePointer", "movePointer", "jur_Lexer_normalize", "normalize", "jur_NonCapFSet__init_", "jur_AheadFSet__init_", "jur_BehindFSet__init_", "jur_AtomicFSet__init_", "jur_FSet__init_", "jur_FinalSet__init_", "jur_Lexer_isLetter", "isLetter", "jur_Lexer_peek", "peek", "jur_Lexer_lookAhead", "lookAhead", "jur_Pattern_processAlternations", "processAlternations", "ju_ArrayList_add", "ju_AbstractList_add",
        "jur_Lexer_back", "back", "jur_EmptySet__init_", "jur_Lexer_restoreFlags", "restoreFlags", "jur_NonCapJointSet__init_0", "jur_PositiveLookAhead__init_", "jur_NegativeLookAhead__init_", "jur_PositiveLookBehind__init_", "jur_NegativeLookBehind__init_", "jur_AtomicJointSet__init_", "ju_ArrayList_size", "ju_ArrayList_get", "jur_SingleSet__init_", "jur_JointSet__init_0", "jur_Pattern_processSubExpression", "processSubExpression", "jur_Lexer_next", "jur_AbstractSet_processSecondPass", "processSecondPass",
        "jn_Buffer__init_", "cjj_Adler32__init_", "cjj_ZStream__init_0", "nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_1_onTimer", "nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_2_onTimer", "nleit_IndexedDBFilesystem$AsyncHandlers$openDB$lambda$_2_0_call", "nleit_IndexedDBFilesystem$AsyncHandlers$1_handleEvent", "nleit_IndexedDBFilesystem$AsyncHandlers$2_handleEvent", "nleit_IndexedDBFilesystem$AsyncHandlers$3_handleEvent", "nleit_IndexedDBFilesystem$AsyncHandlers$4_handleEvent", "jl_Character_getDigitMapping",
        "getDigitMapping", "ju_TimeZone__clinit_", "ju_TimeZone_clone", "ju_TimeZone_detectTimezone", "detectTimezone", "ju_Calendar__init_", "ju_GregorianCalendar_julianError", "julianError", "ju_Calendar_setTimeInMillis", "setTimeInMillis", "nms_StringTranslate__clinit_", "jt_DecimalFormatSymbols__init_", "jt_DecimalFormat__init_1", "jt_DecimalFormat__clinit_", "nms_RecipesTools__init_", "nms_RecipesTools_addRecipes", "addRecipes", "nms_RecipesWeapons__init_", "nms_RecipesWeapons_addRecipes", "nms_RecipesIngots__init_",
        "nms_RecipesIngots_addRecipes", "nms_RecipesFood__init_", "nms_RecipesFood_addRecipes", "nms_RecipesCrafting__init_", "nms_RecipesCrafting_addRecipes", "nms_RecipesArmor__init_", "nms_RecipesArmor_addRecipes", "nms_RecipesDyes__init_", "nms_RecipesDyes_addRecipes", "nms_ItemStack__init_1", "jl_Character_valueOf", "nms_CraftingManager_addRecipe", "addRecipe", "nms_ItemStack__init_2", "nms_ItemStack__init_3", "nms_ItemStack__init_4", "nms_RecipeSorter__init_", "nms_ItemStack__init_", "nms_FurnaceRecipes_addSmelting",
        "addSmelting", "nms_ItemStack__init_5", "nle_BaseNCodec$CodecPolicy__init_", "nle_BaseNCodec$CodecPolicy_$values", "jur_Lexer_nextCodePoint", "nextCodePoint", "jur_Lexer_nextIndex", "nextIndex", "jur_Lexer_readOctals", "readOctals", "jur_AbstractCharClass_getPredefinedClass", "getPredefinedClass", "jur_Lexer_parseCharClassName", "parseCharClassName", "jur_Lexer_readHex", "readHex", "jur_Lexer_setMode", "setMode", "jur_Lexer_processQuantifier", "processQuantifier", "jur_Lexer_readFlags", "readFlags",
        "jur_AbstractSet__init_", "jur_FSet__clinit_", "jur_Pattern_hasFlag", "hasFlag", "jur_CharClass__init_0", "jur_Pattern_processRangeSet", "processRangeSet", "jur_AbstractSet_setNext", "setNext", "jur_CharClass_add", "jur_LeafSet__init_", "jur_JointSet__init_", "jur_FSet_getGroupIndex", "getGroupIndex", "jur_Lexer_isNextSpecial", "isNextSpecial", "jur_Lexer_isLetter0", "jur_Lexer_isHighSurrogate", "isHighSurrogate", "jur_Pattern_processDecomposedChar", "processDecomposedChar", "jur_Pattern_processQuantifier",
        "jur_AbstractSet_getType", "getType", "jur_QuantifierSet_getInnerSet", "getInnerSet", "jur_AbstractSet_first", "first", "jur_UnifiedQuantifierSet__init_", "jur_Pattern_processTerminal", "processTerminal", "jur_Lexer_isLowSurrogate", "isLowSurrogate", "jur_Pattern_processSequence", "processSequence", "jn_ByteOrder__clinit_", "jl_Character_obtainDigitMapping", "obtainDigitMapping", "otciu_UnicodeHelper_decodeIntPairsDiff", "decodeIntPairsDiff", "otcit_FixedDateTimeZone__init_", "ju_IANATimeZone__init_",
        "otcit_DateTimeZoneProvider_detectTimezone", "ju_Calendar__init_0", "ju_Calendar_setLenient", "setLenient", "ju_Calendar_resolveFirstDayOfWeek", "resolveFirstDayOfWeek", "ju_Calendar_setFirstDayOfWeek", "setFirstDayOfWeek", "ju_Calendar_resolveMinimalDaysInFirstWeek", "resolveMinimalDaysInFirstWeek", "ju_Calendar_setMinimalDaysInFirstWeek", "setMinimalDaysInFirstWeek", "nms_StringTranslate__init_", "jt_DecimalFormatSymbols__init_0", "jt_NumberFormat__init_", "jt_DecimalFormat$TextField__init_", "jt_DecimalFormatSymbols_clone",
        "jt_DecimalFormat_applyPattern", "nms_ItemStack__init_0", "jl_Character__init_0", "jl_Character_isHighSurrogate", "jl_Character_isLowSurrogate", "jl_Character_toCodePoint", "toCodePoint", "jur_Lexer_skipComments", "skipComments", "jl_Character_digit", "digit", "jur_AbstractCharClass$PredefinedCharacterClasses_getObject", "getObject", "jur_AbstractCharClass$LazyCharClass_getValue", "jl_StringBuilder__init_3", "jl_StringBuilder_length", "jl_AbstractStringBuilder_length", "jur_AbstractCharClass__clinit_",
        "jur_Quantifier__init_", "jl_StringBuilder_delete", "delete", "jl_Integer_toString", "jur_FSet$PossessiveFSet__init_", "jur_AbstractCharClass__init_", "ju_BitSet__init_", "jur_AbstractCharClass_hasLowHighSurrogates", "hasLowHighSurrogates", "jur_AbstractCharClass_mayContainSupplCodepoints", "mayContainSupplCodepoints", "jur_AbstractCharClass_getSurrogates", "getSurrogates", "jur_LowHighSurrogateRangeSet__init_", "jur_AbstractCharClass_hasUCI", "hasUCI", "jur_AbstractCharClass_getWithoutSurrogates", "getWithoutSurrogates",
        "jur_UCISupplRangeSet__init_", "jur_CompositeRangeSet__init_", "jur_SupplRangeSet__init_", "jur_UCIRangeSet__init_", "jur_RangeSet__init_", "jur_AbstractSet__init_0", "jur_AbstractSet_setType", "setType", "jur_HangulDecomposedCharSet__init_", "jur_CharSet__init_", "jur_UCICharSet__init_", "jur_CICharSet__init_", "jur_Lexer_hasSingleCodepointDecomposition", "hasSingleCodepointDecomposition", "jur_Pattern_processCharSet", "processCharSet", "jur_DecomposedCharSet__init_", "jur_UCIDecomposedCharSet__init_",
        "jur_CIDecomposedCharSet__init_", "jur_PossessiveGroupQuantifierSet__init_", "jur_PosPlusGroupQuantifierSet__init_", "jur_PosAltGroupQuantifierSet__init_", "jur_Lexer_nextSpecial", "nextSpecial", "jur_PosCompositeGroupQuantifierSet__init_", "jur_ReluctantGroupQuantifierSet__init_", "jur_RelAltGroupQuantifierSet__init_", "jur_RelCompositeGroupQuantifierSet__init_", "jur_AltGroupQuantifierSet__init_", "jur_CompositeGroupQuantifierSet__init_", "jur_GroupQuantifierSet__init_", "jur_DotAllQuantifierSet__init_",
        "jur_AbstractLineTerminator_getInstance", "jur_DotQuantifierSet__init_", "jur_PossessiveQuantifierSet__init_", "jur_PossessiveAltQuantifierSet__init_", "jur_PossessiveCompositeQuantifierSet__init_", "jur_ReluctantQuantifierSet__init_", "jur_ReluctantAltQuantifierSet__init_", "jur_ReluctantCompositeQuantifierSet__init_", "jur_LeafQuantifierSet__init_", "jur_AltQuantifierSet__init_", "jur_CompositeQuantifierSet__init_", "jur_AbstractSet_getNext", "getNext", "jur_SOLSet__init_", "jur_WordBoundary__init_",
        "jur_PreviousMatch__init_", "jur_EOLSet__init_", "jur_EOISet__init_", "jur_Lexer_peekSpecial", "peekSpecial", "jur_Lexer_isSpecial", "isSpecial", "jl_Character_toString0", "jur_MultiLineSOLSet__init_", "jur_Pattern_processRange", "processRange", "jur_DotAllSet__init_", "jur_DotSet__init_", "jur_UEOLSet__init_", "jur_UMultiLineEOLSet__init_", "jur_MultiLineEOLSet__init_", "jur_BackReferenceSet__init_", "jur_UCIBackReferenceSet__init_", "jur_CIBackReferenceSet__init_", "jl_StringBuffer__init_", "jl_Character_isSupplementaryCodePoint",
        "isSupplementaryCodePoint", "jl_StringBuffer_append", "jl_Character_toChars", "toChars", "jl_StringBuffer_append0", "jur_SequenceSet__init_", "jur_UCISequenceSet__init_", "jur_CISequenceSet__init_", "jn_ByteOrder__init_", "jl_Character_obtainDigitMapping$$create", "obtainDigitMapping$$create", "otci_CharFlow__init_0", "otci_Base46_decodeUnsigned", "decodeUnsigned", "otci_Base46_decode", "otcit_StorableDateTimeZone__init_", "otcit_DateTimeZone_getID", "getID", "ju_TimeZone__init_", "otcit_DateTimeZone_getStandardOffset",
        "getStandardOffset", "otcit_DateTimeZoneProvider__clinit_", "otji_JS_wrap4", "otcit_DateTimeZoneProvider_getNativeOffset$js_body$_6", "getNativeOffset$js_body$_6", "otcit_DateTimeZoneProvider_getIds", "getIds", "otcit_DateTimeZoneProvider$1__init_", "ju_PriorityQueue__init_0", "ju_AbstractQueue_add", "ju_ArrayList__init_4", "otcit_DateTimeZoneProvider_getTimeZone", "getTimeZone", "otcit_DateTimeZone_getOffset", "getOffset", "otcit_DateTimeZone_previousTransition", "previousTransition", "otcit_DateTimeZoneProvider$Score__init_",
        "ju_AbstractQueue_remove", "remove", "jl_Long_longValue", "longValue", "jl_Number_longValue", "ju_Map_remove", "otcit_DateTimeZoneProvider$detectTimezone$lambda$_4_0__init_", "ju_Map_computeIfAbsent", "computeIfAbsent", "ju_AbstractCollection_isEmpty", "ju_Calendar_setTimeZone", "setTimeZone", "ju_Locale_getLanguage", "getLanguage", "ju_Locale_getCountry", "getCountry", "otciu_CLDRHelper_resolveCountry", "resolveCountry", "otciu_CLDRHelper_getFirstDayOfWeek", "getFirstDayOfWeek", "otpp_ResourceAccessor_has",
        "has", "otpp_ResourceAccessor_get", "otpp_ResourceAccessor_castToInt", "castToInt", "otciu_CLDRHelper_getMinimalDaysInFirstWeek", "getMinimalDaysInFirstWeek", "ju_Properties__init_", "nle_EagRuntime_getRequiredResourceStream", "getRequiredResourceStream", "ju_Properties_load", "load", "jl_Throwable_printStackTrace", "printStackTrace", "jt_DecimalFormatSymbols_initData", "initData", "ju_Currency_getInstance", "jl_Character_isWhitespace0", "isWhitespace", "jur_Lexer_isLineSeparator", "isLineSeparator",
        "jl_Character_digit0", "jur_AbstractCharClass$PredefinedCharacterClasses__init_", "jur_SpecialToken__init_", "jl_Integer_toString1", "ju_BitSet__init_0", "jur_AbstractCharClass_getInstance", "jur_LeafSet__init_0", "jl_Character_toUpperCase", "jl_Character_toLowerCase", "jur_Pattern_getSupplement", "getSupplement", "jur_IntHash_get", "jur_Lexer_isLowSurrogate0", "jur_UCISupplCharSet__init_", "jur_Lexer_isHighSurrogate0", "jur_LowSurrogateCharSet__init_", "jur_HighSurrogateCharSet__init_", "jur_SupplCharSet__init_",
        "jur_QuantifierSet__init_", "jur_AbstractLineTerminator$1__init_", "jur_AbstractLineTerminator$2__init_", "jur_Pattern_processRangeExpression", "processRangeExpression", "jl_Character_highSurrogate", "highSurrogate", "jl_Character_lowSurrogate", "lowSurrogate", "jl_StringBuffer_toString", "jl_StringBuffer_length", "jur_SequenceSet$IntHash__init_", "jur_SequenceSet$IntHash_put", "jl_StringBuffer_charAt", "jl_AbstractStringBuilder_charAt", "otci_Base46_decodeDigit", "decodeDigit", "otcit_DateTimeZone__init_",
        "otcit_DateTimeZoneProvider_getResource", "getResource", "otpp_ResourceAccessor_keys", "keys", "otpp_ResourceAccessor_keysToStrings", "keysToStrings", "ju_AbstractQueue__init_", "ju_PriorityQueue_setComparator", "setComparator", "ju_Collection_size", "ju_Map_containsKey", "containsKey", "otcit_DateTimeZoneProvider_createTimeZone", "createTimeZone", "otciu_CLDRHelper_getLikelySubtags", "getLikelySubtags", "jl_String_lastIndexOf", "lastIndexOf", "otciu_CLDRHelper_getFirstDayOfWeek$$create", "getFirstDayOfWeek$$create",
        "otciu_CLDRHelper_getMinimalDaysInFirstWeek$$create", "getMinimalDaysInFirstWeek$$create", "ju_Hashtable__init_", "nle_EaglerInputStream__init_0", "otciu_CLDRHelper_resolveDecimalData", "resolveDecimalData", "jm_RoundingMode__clinit_", "otcic_CurrencyHelper_getCountryToCurrencyMap", "getCountryToCurrencyMap", "ju_Currency_getInstance0", "jl_Character_isWhitespace", "jur_AbstractCharClass$PredefinedCharacterClasses__clinit_", "jl_NegativeArraySizeException__init_", "jl_Character_toUpperCase0", "jl_Character_toLowerCase0",
        "jur_AbstractLineTerminator__init_", "jur_CharClass__init_1", "jur_Pattern_pattern", "pattern", "jur_CharClass_add0", "jur_CharClass_union", "union", "jur_CharClass_intersection", "intersection", "jur_CharClass_add1", "otcit_DateTimeZoneProvider_getResource$$create", "getResource$$create", "otpp_ResourceAccessor_size", "otpp_ResourceAccessor_get0", "otcit_DateTimeZoneProvider_getTimeZoneResource", "getTimeZoneResource", "otcit_StorableDateTimeZone_read", "otcit_AliasDateTimeZone__init_", "otciu_CLDRHelper_getLikelySubtagsMap",
        "getLikelySubtagsMap", "ju_Hashtable__init_0", "ju_Hashtable__clinit_", "otciu_CLDRHelper_getDecimalDataMap", "getDecimalDataMap", "otciu_CLDRHelper_getCode", "getCode", "jm_RoundingMode__init_", "jm_RoundingMode_$values", "otcic_CurrencyHelper_getCountryToCurrencyMap$$create", "getCountryToCurrencyMap$$create", "ju_Currency_initCurrencies", "initCurrencies", "jl_Character_isSpaceChar", "isSpaceChar", "jur_AbstractCharClass$LazySpace__init_", "jur_AbstractCharClass$LazyDigit__init_", "jur_AbstractCharClass$LazyLower__init_",
        "jur_AbstractCharClass$LazyUpper__init_", "jur_AbstractCharClass$LazyASCII__init_", "jur_AbstractCharClass$LazyAlpha__init_", "jur_AbstractCharClass$LazyAlnum__init_", "jur_AbstractCharClass$LazyPunct__init_", "jur_AbstractCharClass$LazyGraph__init_", "jur_AbstractCharClass$LazyPrint__init_", "jur_AbstractCharClass$LazyBlank__init_", "jur_AbstractCharClass$LazyCntrl__init_", "jur_AbstractCharClass$LazyXDigit__init_", "jur_AbstractCharClass$LazyJavaLowerCase__init_", "jur_AbstractCharClass$LazyJavaUpperCase__init_",
        "jur_AbstractCharClass$LazyJavaWhitespace__init_", "jur_AbstractCharClass$LazyJavaMirrored__init_", "jur_AbstractCharClass$LazyJavaDefined__init_", "jur_AbstractCharClass$LazyJavaDigit__init_", "jur_AbstractCharClass$LazyJavaIdentifierIgnorable__init_", "jur_AbstractCharClass$LazyJavaISOControl__init_", "jur_AbstractCharClass$LazyJavaJavaIdentifierPart__init_", "jur_AbstractCharClass$LazyJavaJavaIdentifierStart__init_", "jur_AbstractCharClass$LazyJavaLetter__init_", "jur_AbstractCharClass$LazyJavaLetterOrDigit__init_",
        "jur_AbstractCharClass$LazyJavaSpaceChar__init_", "jur_AbstractCharClass$LazyJavaTitleCase__init_", "jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart__init_", "jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart__init_", "jur_AbstractCharClass$LazyWord__init_", "jur_AbstractCharClass$LazyNonWord__init_", "jur_AbstractCharClass$LazyNonSpace__init_", "jur_AbstractCharClass$LazyNonDigit__init_", "jur_AbstractCharClass$LazyRange__init_", "jur_AbstractCharClass$LazySpecialsBlock__init_", "jur_AbstractCharClass$LazyCategory__init_",
        "jur_AbstractCharClass$LazyCategoryScope__init_", "jur_AbstractCharClass$LazyCategoryScope__init_0", "jur_AbstractCharClass$LazyCategory__init_0", "jl_Character_getUpperCaseMapping", "getUpperCaseMapping", "jl_Character_mapChar", "mapChar", "jl_Character_getLowerCaseMapping", "getLowerCaseMapping", "jur_AbstractCharClass_setNegative", "setNegative", "otcit_DateTimeZoneBuilder$PrecalculatedZone_readZone", "readZone", "otcit_FixedDateTimeZone_readZone", "otcit_DateTimeZoneBuilder$DSTZone_readZone", "otcit_DateTimeZoneBuilder$RuleBasedZone_readZone",
        "otciu_CLDRHelper_getLikelySubtagsMap$$create", "getLikelySubtagsMap$$create", "ju_Dictionary__init_", "ju_Hashtable_newElementArray", "ju_Hashtable_computeMaxSize", "computeMaxSize", "ju_Hashtable$1__init_", "ju_Hashtable$2__init_", "otciu_CLDRHelper_getDecimalDataMap$$create", "getDecimalDataMap$$create", "otcic_CurrencyHelper_getCurrencies", "getCurrencies", "ju_Currency__init_", "jl_Character_getType", "jur_AbstractCharClass$LazyCharClass__init_", "jl_Character_acquireUpperCaseMapping", "acquireUpperCaseMapping",
        "otciu_UnicodeHelper_decodeCaseMapping", "decodeCaseMapping", "otciu_UnicodeHelper_createCharMapping", "createCharMapping", "jl_Character_binarySearchTable", "binarySearchTable", "jl_Character_acquireLowerCaseMapping", "acquireLowerCaseMapping", "otcit_StorableDateTimeZone_readTime", "readTime", "otcit_StorableDateTimeZone_readTimeArray", "readTimeArray", "otcit_DateTimeZoneBuilder$PrecalculatedZone__init_", "otcit_DateTimeZoneBuilder$PrecalculatedZone_isCachable", "isCachable", "otcit_CachedDateTimeZone_forZone",
        "forZone", "otcit_DateTimeZoneBuilder$Recurrence_read", "otcit_DateTimeZoneBuilder$DSTZone__init_", "otcit_DateTimeZoneBuilder__init_", "otcit_DateTimeZoneBuilder$RuleBasedZone__init_", "otcit_DateTimeZoneBuilder$RuleSet__init_", "otcit_DateTimeZoneBuilder$Rule__init_", "otcit_DateTimeZoneBuilder$OfYear_read", "otcic_CurrencyHelper_getCurrencies$$create", "getCurrencies$$create", "jl_Character_isBmpCodePoint", "isBmpCodePoint", "jl_Character_getClasses", "getClasses", "jl_Character_isSurrogate", "isSurrogate",
        "jl_Character_acquireUpperCaseMapping$$create", "acquireUpperCaseMapping$$create", "otciu_CharMapping__init_", "ju_Arrays_fill0", "fill", "jl_Character_acquireLowerCaseMapping$$create", "acquireLowerCaseMapping$$create", "otci_Base46_decodeLong", "decodeLong", "otcit_CachedDateTimeZone__clinit_", "otcit_CachedDateTimeZone__init_", "otcit_DateTimeZoneBuilder$Recurrence__init_", "otcit_DateTimeZoneBuilder_getGMT", "getGMT", "ju_GregorianCalendar__init_2", "otcit_DateTimeZoneBuilder$RuleSet__clinit_", "otcit_StorableDateTimeZone_readUnsignedTime",
        "readUnsignedTime", "otcit_DateTimeZoneBuilder$OfYear__init_", "jl_Character_obtainClasses", "obtainClasses", "otciu_UnicodeHelper_extractRle", "extractRle", "ju_TimeZone_getTimeZone", "ju_Calendar_get", "otci_Base46_decodeUnsignedLong", "decodeUnsignedLong", "jl_Character_obtainClasses$$create", "obtainClasses$$create", "ju_Arrays_copyOf", "otciu_UnicodeHelper_decodeByte", "decodeByte", "ju_Arrays_copyOf1", "otciu_UnicodeHelper$Range__init_0", "ju_TimeZone_formatTimeZoneName", "formatTimeZoneName",
        "ju_TimeZone_parseNumber", "parseNumber", "jlr_Array_newInstance", "newInstance", "jl_StringBuilder_insert3", "jlr_Array_newInstanceImpl", "newInstanceImpl", "nms_NBTTagEnd_readTagContents", "nms_NBTTagByte_readTagContents", "nms_NBTTagShort_readTagContents", "nms_NBTTagInt_readTagContents", "nms_NBTTagLong_readTagContents", "nms_NBTTagFloat_readTagContents", "nms_NBTTagDouble_readTagContents", "nms_NBTTagByteArray_readTagContents", "nms_NBTTagString_readTagContents", "nms_NBTTagList_readTagContents",
        "nms_NBTTagCompound_readTagContents", "nle_EagRuntime$getStackTrace0$lambda$_29_0_accept", "jl_StringBuilder_insert1", "ju_AbstractList_iterator", "nleit_TeaVMClientConfigAdapter_getWorldsDB", "nleib_EaglerArrayByteBuffer_asIntBuffer", "nleib_EaglerArrayByteBuffer_get", "nleib_EaglerArrayByteBuffer_putFloat", "nleib_EaglerArrayByteBuffer_flip", "nleib_EaglerArrayByteBuffer_asFloatBuffer", "nleib_EaglerArrayByteBuffer_remaining", "nlei_OpenGLObjects$ShaderGL_free", "free", "cjj_InflaterInputStream_read0",
        "ji_FilterInputStream_read0", "cjj_InflaterInputStream_skip", "cjj_InflaterInputStream_close", "ju_HashMap_get", "ju_HashMap_put", "nleit_TeaVMClientConfigAdapter_isRamdiskMode", "ju_Arrays$ArrayAsList_size", "ju_Arrays$ArrayAsList_get", "ju_Arrays$ArrayAsList_set", "ju_GenericEnumSet_add", "ju_Comparator$NaturalOrder_compare", "nleib_EaglerArrayIntBuffer_put0", "nleib_EaglerArrayIntBuffer_flip", "nlei_PlatformRuntime$DumbSleepHandler_run", "nms_BlockBed_isOpaqueCube", "nms_BlockFlower_isOpaqueCube",
        "nms_BlockStep_isOpaqueCube", "nms_BlockTorch_isOpaqueCube", "nms_BlockFire_isOpaqueCube", "nms_BlockStairs_isOpaqueCube", "nms_BlockSoil_isOpaqueCube", "nms_BlockDoor_isOpaqueCube", "nms_BlockReed_isOpaqueCube", "jl_Object$monitorExit$lambda$_8_0_run", "nleib_EaglerArrayFloatBuffer_put0", "nleib_EaglerArrayFloatBuffer_flip", "nms_BlockStairs_getBlockTextureFromSide", "nms_BlockOreBlock_getBlockTextureFromSide", "nms_BlockStep_getBlockTextureFromSide", "nms_BlockBookshelf_getBlockTextureFromSide", "nms_BlockSandStone_getBlockTextureFromSide",
        "nms_BlockTNT_getBlockTextureFromSide", "nms_BlockSign_isOpaqueCube", "nleit_TeaVMBlobURLManager$HandleFakeBlobURL_toExternalForm", "nleit_TeaVMBlobURLManager$HandleRealBlobURL_toExternalForm", "jur_JointSet_processSecondPass", "jur_SingleSet_processSecondPass", "nms_RecipeSorter_compare", "jur_QuantifierSet_first", "ju_IANATimeZone_clone", "jur_CompositeRangeSet_setNext", "jur_SupplRangeSet_setNext", "jur_HangulDecomposedCharSet_setNext", "jur_DecomposedCharSet_setNext", "jur_LowSurrogateCharSet_setNext",
        "jur_HighSurrogateCharSet_setNext", "nleit_IndexedDBFilesystem_isRamdisk", "nms_BlockBreakable_isOpaqueCube", "nms_BlockCactus_isOpaqueCube", "nms_BlockPressurePlate_isOpaqueCube", "nms_BlockFluids_isOpaqueCube", "nms_BlockFence_isOpaqueCube", "nms_BlockLadder_isOpaqueCube", "nms_BlockMinecartTrack_isOpaqueCube", "nms_BlockLeaves_isOpaqueCube", "nms_BlockCake_isOpaqueCube", "nms_BlockRedstoneRepeater_isOpaqueCube", "nms_BlockMobSpawner_isOpaqueCube", "nms_BlockLever_isOpaqueCube", "nms_BlockRedstoneWire_isOpaqueCube",
        "nms_BlockSnow_isOpaqueCube", "nms_BlockPortal_isOpaqueCube", "nms_BlockButton_isOpaqueCube", "nms_BlockRedstoneRepeater_getBlockTextureFromSide", "nms_BlockFurnace_getBlockTextureFromSide", "nms_BlockFluids_getBlockTextureFromSide", "nms_BlockLockedChest_getBlockTextureFromSide", "nms_BlockCake_getBlockTextureFromSide", "nms_BlockDispenser_getBlockTextureFromSide", "nms_BlockJukeBox_getBlockTextureFromSide", "nms_BlockNote_getBlockTextureFromSide", "nms_BlockWorkbench_getBlockTextureFromSide", "nms_BlockPumpkin_getBlockTextureFromSide",
        "nms_BlockChest_getBlockTextureFromSide", "nms_BlockCactus_getBlockTextureFromSide", "nms_MaterialLogic_getCanBlockGrass", "jur_HighSurrogateCharSet_first", "jur_HangulDecomposedCharSet_first", "jur_CharSet_first", "jur_DecomposedCharSet_first", "jur_SupplCharSet_first", "jur_LowSurrogateCharSet_first", "jur_AltGroupQuantifierSet_setNext", "jur_AltQuantifierSet_setNext", "jur_PosAltGroupQuantifierSet_setNext", "jur_AtomicJointSet_setNext", "jur_CIBackReferenceSet_setNext", "jur_JointSet_setNext", "jur_DotSet_setNext",
        "jur_DotAllSet_setNext", "jur_DotSet_getType", "jur_DotAllSet_getType", "jur_SequenceSet_first", "nms_MaterialTransparent_getCanBlockGrass", "jur_JointSet_first", "jur_SingleSet_first", "jur_BackReferenceSet_first", "jur_RangeSet_first", "jur_SupplRangeSet_first", "jur_CompositeRangeSet_first", "jl_StringBuilder_insert4", "otjb_Window_get", "otjb_Window_addEventListener", "addEventListener", "otjb_Window_removeEventListener", "removeEventListener", "otjb_Window_removeEventListener0", "otjb_Window_dispatchEvent",
        "dispatchEvent", "otjb_Window_getLength", "otjb_Window_addEventListener0", "ji_DataInputStream_readByte", "ji_DataInputStream_readUTF", "ju_LinkedList_size", "ju_AbstractSequentialList_iterator", "nleit_TeaVMClientConfigAdapter_getHooks", "ju_AbstractSet_equals", "ju_HashMap_isEmpty", "ju_HashMap_size", "ju_HashMap_clear", "nlei_RamdiskFilesystemImpl_isRamdisk", "cch_IntObjectHashMap_get", "cch_IntObjectHashMap_put", "nleit_TeaVMClientConfigAdapter_getLocalStorageNamespace", "nle_EagRuntime$debugPrintStackTraceToSTDERR0$lambda$_25_0_accept",
        "nleo_EaglercraftGPU$3_create", "nleo_EaglercraftGPU$3_destroy", "ju_LinkedList_clear", "jl_Thread$SleepHandler_run", "jl_StringBuilder_insert5", "oall_Level_values", "nlei_EnumPlatformAgent_values", "nlei_EnumPlatformOS_values", "nlei_EnumPlatformANGLE_values", "nms_EnumOS_values", "nms_EnumMobType_values", "nms_EnumToolMaterial_values", "otjc_JSArray_get", "otjc_JSArray_getLength", "ju_AbstractCollection_addAll", "ju_ArrayList_remove0", "nle_BaseNCodec$CodecPolicy_values", "ju_AbstractCollection_toArray",
        "toArray", "ju_ArrayList_set", "ju_GregorianCalendar_setFirstDayOfWeek", "ju_GregorianCalendar_setMinimalDaysInFirstWeek", "jl_String_subSequence", "jur_CharClass_hasUCI", "otcit_FixedDateTimeZone_getStandardOffset", "ju_HashSet_remove", "ju_HashMap_remove", "jur_CharClass_getInstance", "ju_HashMap_containsKey", "jm_RoundingMode_values", "jl_String_toString", "jn_CharBuffer_wrap", "jnc_Charset_encode", "jn_ByteBuffer_hasArray", "jn_ByteBuffer_get0", "jn_ByteBuffer_array", "ji_PrintStream_printSB", "printSB",
        "ji_PrintStream_print1", "print", "nleito_JSEaglercraftXOptsRoot_getLang$js_body$_4", "getLang$js_body$_4", "nleito_JSEaglercraftXOptsRoot_getJoinServer$js_body$_5", "getJoinServer$js_body$_5", "nleito_JSEaglercraftXOptsRoot_getWorldsDB$js_body$_7", "getWorldsDB$js_body$_7", "nleito_JSEaglercraftXOptsRoot_getResourcePacksDB$js_body$_8", "getResourcePacksDB$js_body$_8", "nleito_JSEaglercraftXOptsRoot_getCheckGLErrors$js_body$_12", "getCheckGLErrors$js_body$_12", "nleito_JSEaglercraftXOptsRoot_getDemoMode$js_body$_9",
        "getDemoMode$js_body$_9", "nleito_JSEaglercraftXOptsRoot_getLocalStorageNamespace$js_body$_25", "getLocalStorageNamespace$js_body$_25", "nleito_JSEaglercraftXOptsRoot_getFixDebugConsoleUnloadListener$js_body$_31", "getFixDebugConsoleUnloadListener$js_body$_31", "nleito_JSEaglercraftXOptsRoot_getAutoFixLegacyStyleAttr$js_body$_34", "getAutoFixLegacyStyleAttr$js_body$_34", "nleito_JSEaglercraftXOptsRoot_getForceWebGL1$js_body$_39", "getForceWebGL1$js_body$_39", "nleito_JSEaglercraftXOptsRoot_getForceWebGL2$js_body$_40",
        "getForceWebGL2$js_body$_40", "nleito_JSEaglercraftXOptsRoot_getAllowExperimentalWebGL1$js_body$_41", "getAllowExperimentalWebGL1$js_body$_41", "nleito_JSEaglercraftXOptsRoot_getUseWebGLExt$js_body$_42", "getUseWebGLExt$js_body$_42", "nleito_JSEaglercraftXOptsRoot_getUseDelayOnSwap$js_body$_43", "getUseDelayOnSwap$js_body$_43", "nleito_JSEaglercraftXOptsRoot_getUseJOrbisAudioDecoder$js_body$_44", "getUseJOrbisAudioDecoder$js_body$_44", "nleito_JSEaglercraftXOptsRoot_getUseXHRFetch$js_body$_45", "getUseXHRFetch$js_body$_45",
        "nleito_JSEaglercraftXOptsRoot_getUseVisualViewport$js_body$_46", "getUseVisualViewport$js_body$_46", "nleito_JSEaglercraftXOptsRoot_getDisableBlobURLs$js_body$_48", "getDisableBlobURLs$js_body$_48", "nleito_JSEaglercraftXOptsRoot_getEaglerNoDelay$js_body$_49", "getEaglerNoDelay$js_body$_49", "nleito_JSEaglercraftXOptsRoot_getRamdiskMode$js_body$_50", "getRamdiskMode$js_body$_50", "nleito_JSEaglercraftXOptsRoot_getSingleThreadMode$js_body$_51", "getSingleThreadMode$js_body$_51", "nleito_JSEaglercraftXOptsRoot_getEnableEPKVersionCheck$js_body$_52",
        "getEnableEPKVersionCheck$js_body$_52", "nleito_JSEaglercraftXOptsRoot_getHooks$js_body$_24", "getHooks$js_body$_24", "nleit_TeaVMClientConfigAdapterHooks_loadHooks", "loadHooks", "oall_Logger_log", "log", "oall_Logger_log0", "oall_Logger_log1", "ji_DataInput_readShort", "readShort", "ji_DataInput_readInt", "readInt", "ji_DataInput_readLong", "readLong", "ji_DataInput_readFloat", "readFloat", "ji_DataInput_readDouble", "readDouble", "ji_DataInput_readFully", "readFully", "nms_NBTBase_getKey", "getKey",
        "nms_NBTBase_getType", "nle_EagRuntime$getStackTrace0$lambda$_29_0_accept0", "ju_AbstractList$1__init_", "ju_ArrayList_checkIndex", "checkIndex", "jl_String_toLowerCaseChars", "toLowerCaseChars", "jl_String_toLowerCaseCodePoints", "toLowerCaseCodePoints", "otjt_Int32Array_create$js_body$_8", "create$js_body$_8", "nleib_Buffer_makeIOOBE", "makeIOOBE", "otji_JS_unwrapByte", "unwrapByte", "cjj_InflaterInputStream_read", "ji_FilterInputStream_read1", "ji_InputStream_read1", "jl_Math_min0", "cjj_Inflater_end",
        "end", "cjj_ZStream_end", "ju_HashMap_entryByKey", "entryByKey", "ju_HashMap_putImpl", "putImpl", "nleo_SoftGLVertexArray$Attrib__init_", "nleo_EaglercraftGPU_checkInstancingCapable", "jl_Math_max", "max", "nleo_SoftGLVertexArray$Attrib_equalsExplicit", "equalsExplicit", "nleo_EaglercraftGPU_bindEmulatedVAOIndexBuffer", "bindEmulatedVAOIndexBuffer", "jl_Object_deleteMonitor", "deleteMonitor", "ju_GenericEnumSet_add0", "jl_Comparable_compareTo", "compareTo", "jnc_Charset_newDecoder", "newDecoder", "jnc_CharsetDecoder_onMalformedInput",
        "onMalformedInput", "jnc_CharsetDecoder_onUnmappableCharacter", "onUnmappableCharacter", "jnc_CharsetDecoder_decode", "jl_AssertionError__init_0", "jl_String_startsWith0", "nleit_TeaVMUtils_unwrapArrayBufferView", "unwrapArrayBufferView", "nle_EaglercraftUUID_digits", "digits", "nms_Block_getBlockName", "getBlockName", "jl_Object_lambda$monitorExit$2", "lambda$monitorExit$2", "jl_Throwable_getLocalizedMessage", "getLocalizedMessage", "ju_ArrayList_ensureCapacity", "nleit_TeaVMUtils_unwrapArrayBufferView0",
        "nms_BlockStep_getBlockTextureFromSideAndMetadata", "getBlockTextureFromSideAndMetadata", "nms_Block_getBlockTextureFromSideAndMetadata", "jur_Pattern_split0", "jur_AbstractSet_processBackRefReplacement", "processBackRefReplacement", "ju_ArrayList_remove", "ju_AbstractList_remove", "ju_ArrayList_add0", "ju_AbstractList_add0", "nms_RecipeSorter_compareRecipes", "compareRecipes", "ju_IANATimeZone_clone0", "ju_Properties_getProperty", "jl_String_format0", "ju_MissingResourceException__init_", "jl_String_lastIndexOf0",
        "nms_BlockRedstoneRepeater_getBlockTextureFromSideAndMetadata", "nms_Item_getItemName", "getItemName", "jur_HangulDecomposedCharSet_getDecomposedChar", "getDecomposedChar", "jur_CharSet_getChar", "getChar", "jur_RangeSet_accepts", "accepts", "jur_LeafSet_accepts", "jur_SupplRangeSet_contains", "jur_DecomposedCharSet_getDecomposedChar", "jur_SupplCharSet_getCodePoint", "getCodePoint", "jur_AbstractCharClass_intersects", "intersects", "jur_AbstractCharClass_intersects0", "jur_SupplRangeSet_getChars", "getChars",
        "jur_RangeSet_getChars", "jl_StringIndexOutOfBoundsException__init_", "otp_Platform_getName", "otp_Platform_isPrimitive", "otp_Platform_isInstance", "jl_StringBuilder_insert6", "nmc_Minecraft_shutdownMinecraftApplet", "shutdownMinecraftApplet", "nms_AxisAlignedBB_clearBoundingBoxPool", "clearBoundingBoxPool", "nms_Vec3D_initialize", "nle_Display_isCloseRequested", "isCloseRequested", "nmc_Minecraft_shutdown", "shutdown", "nms_Timer_updateTimer", "updateTimer", "nmc_Minecraft_checkGLError", "checkGLError",
        "nms_SoundManager_func_338_a", "func_338_a", "olo_GL11_glEnable", "glEnable", "nms_World_updateLighting", "updateLighting", "nle_Keyboard_isKeyDown", "isKeyDown", "nmc_Minecraft_updateDisplay", "updateDisplay", "nms_EntityRenderer_updateCameraAndRender", "updateCameraAndRender", "nms_PlayerController_setPartialTime", "setPartialTime", "nmc_Minecraft_displayDebugInfo", "displayDebugInfo", "nms_GuiAchievement_func_25080_a", "func_25080_a", "jl_Thread_yield", "yield", "nmc_Minecraft_screenshotListener",
        "screenshotListener", "nmc_Minecraft_isMultiplayerWorld", "isMultiplayerWorld", "nms_GuiScreen_doesGuiPauseGame", "doesGuiPauseGame", "nmc_Minecraft_startGame", "startGame", "nmc_Minecraft_runTick", "runTick", "nmc_Minecraft_changeWorld1", "changeWorld1", "nms_GuiConflictWarning__init_", "nmc_Minecraft_displayGuiScreen", "displayGuiScreen", "jt_FieldPosition__init_", "jt_DateFormat_format0", "nleit_TeaVMUtils_ensureDefined", "ensureDefined", "oacl_StringUtils_isAllEmpty", "isAllEmpty", "nleit_TeaVMRuntimeDeobfuscator_deobfExceptionStack0",
        "ji_EOFException__init_", "ji_DataInputStream_readUnsignedShort", "readUnsignedShort", "ji_DataInputStream_decodeUTF", "decodeUTF", "jl_AbstractStringBuilder_append2", "ju_AbstractList_listIterator", "listIterator", "ju_HashMap_keySet", "keySet", "ju_AbstractMap_keySet", "ju_AbstractMap_put", "ju_AbstractCollection_contains", "nle_Random_next", "jl_AbstractStringBuilder_append1", "ju_Arrays_fill3", "ju_Map_putAll", "putAll", "cch_IntObjectHashMap_hashKey", "hashKey", "jl_AssertionError__init_", "cch_IntObjectHashMap_allocateThenInsertThenRehash",
        "allocateThenInsertThenRehash", "nms_PositionTexureVertex__init_0", "nms_TexturedQuad__init_", "nms_TexturedQuad_flipFace", "flipFace", "otji_JSWrapper_lambda$static$0", "lambda$static$0", "otji_JSWrapper_lambda$static$1", "lambda$static$1", "nle_EagRuntime$debugPrintStackTraceToSTDERR0$lambda$_25_0_accept0", "nlei_PlatformRuntime$2_handleEvent0", "nle_BaseNCodec_decode0", "nleo_EaglercraftGPU$3_create0", "nleo_EaglercraftGPU$3_destroy0", "nlei_PlatformRuntime$1_handleEvent0", "jt_SimpleDateFormat_reparsePattern",
        "reparsePattern", "nle_Random_initialScramble", "initialScramble", "jl_AbstractStringBuilder_insert0", "nle_Random_nextInt0", "ju_Random_nextInt0", "nlei_PlatformInput$1_handleEvent0", "nlei_PlatformInput$2_handleEvent0", "nlei_PlatformInput$3_handleEvent0", "nlei_PlatformInput$4_handleEvent0", "nlei_PlatformInput$5_handleEvent0", "nlei_PlatformInput$6_handleEvent0", "nlei_PlatformInput$7_handleEvent", "nlei_PlatformInput$8_handleEvent0", "nlei_PlatformInput$9_handleEvent0", "nleit_LegacyKeycodeTranslator_addBrowserLayoutMapping",
        "addBrowserLayoutMapping", "nlei_PlatformInput$12$1__init_", "nlei_PlatformInput_mediaQueryMatches$js_body$_85", "mediaQueryMatches$js_body$_85", "nlei_PlatformInput_unlockKeys$js_body$_90", "unlockKeys$js_body$_90", "nlei_PlatformInput_lambda$initHooks$0", "lambda$initHooks$0", "nlei_PlatformInput_lambda$initHooks$1", "lambda$initHooks$1", "nlev_Matrix4f_setIdentity0", "jl_Class_getSimpleNameCache", "getSimpleNameCache", "jl_Class_isArray", "isArray", "jl_Class_getEnclosingClass", "getEnclosingClass",
        "jl_Class_setSimpleNameCache", "setSimpleNameCache", "otp_Platform_getSimpleName", "nlec_GeneralDigest_update0", "nlec_GeneralDigest_processWord", "processWord", "nlec_GeneralDigest_finish", "finish", "nlec_MD5Digest_unpackWord", "unpackWord", "jl_StringBuilder_insert7", "jl_String_toUpperCaseChars", "toUpperCaseChars", "jl_String_toUpperCaseCodePoints", "toUpperCaseCodePoints", "nlei_PlatformInput$MobilePressAnyKeyHandler_call", "nlei_PlatformRuntime$6_handleEvent0", "cch_HashContainers_checkLoadFactor",
        "checkLoadFactor", "cch_HashContainers_minBufferSize", "minBufferSize", "cch_IntObjectHashMap_allocateBuffers", "allocateBuffers", "cch_IntObjectHashMap_isEmpty", "cch_IntObjectHashMap_rehash", "rehash", "nms_StatList_func_25152_a", "func_25152_a", "nleit_TeaVMBlobURLManager_lambda$checkSameOriginSupport$0", "lambda$checkSameOriginSupport$0", "nleit_TeaVMDataURLManager_lambda$checkDataURLSupport0$0", "lambda$checkDataURLSupport0$0", "nlei_PlatformInput_lambda$asyncRequestAnimationFrame$3", "lambda$asyncRequestAnimationFrame$3",
        "nlei_PlatformInput_lambda$asyncRequestAnimationFrame$4", "lambda$asyncRequestAnimationFrame$4", "nlei_PlatformInput_lambda$iterateKeyboardLayout$2", "lambda$iterateKeyboardLayout$2", "nleit_TeaVMBlobURLManager_releaseURL", "releaseURL", "nlei_PlatformAssets_youEagler$js_body$_6", "youEagler$js_body$_6", "nlei_PlatformAssets_disableImageSmoothing$js_body$_7", "disableImageSmoothing$js_body$_7", "nleit_TeaVMUtils_wrapIntArrayBuffer", "wrapIntArrayBuffer", "nleo_ImageData__init_", "nlei_PlatformRuntime_lambda$downloadRemoteURIXHR$1",
        "lambda$downloadRemoteURIXHR$1", "nlei_PlatformRuntime_lambda$downloadRemoteURIFetch$2", "lambda$downloadRemoteURIFetch$2", "nle_BaseNCodec_encode0", "cjj_Inflate__init_", "cjj_Inflate_inflateInit", "inflateInit", "ju_AbstractList_indexOf", "nle_BaseNCodec_isInAlphabet", "isInAlphabet", "nlei_PlatformRuntime_lambda$immediateContinueTeaVM0$4", "lambda$immediateContinueTeaVM0$4", "nlei_PlatformRuntime_lambda$immediateContinueTeaVM0$5", "lambda$immediateContinueTeaVM0$5", "nleit_IndexedDBFilesystem$AsyncHandlers_lambda$openDB$0",
        "lambda$openDB$0", "nleit_IndexedDBFilesystem$AsyncHandlers$4_handleEvent0", "ju_Calendar_complete", "nms_CraftingManager_addShapelessRecipe", "addShapelessRecipe", "nms_BlockCloth_func_21035_d", "func_21035_d", "nms_ShapedRecipes__init_", "ju_AbstractMap_containsKey", "ju_AbstractMap_get", "nms_ItemStack_copy", "copy", "jur_Lexer_reread", "reread", "ju_BitSet_clear", "ju_BitSet_set", "jt_DecimalFormatParser__init_", "jt_DecimalFormatParser_parse", "parse", "jt_DecimalFormatParser_apply", "apply", "jl_AbstractStringBuilder_delete",
        "ju_BitSet_nextSetBit", "nextSetBit", "ju_BitSet_nextClearBit", "nextClearBit", "jur_AbstractCharClass_getLowHighSurrogates", "getLowHighSurrogates", "jur_AbstractCharClass$1__init_", "jur_AbstractCharClass$2__init_", "jur_AbstractCharClass_isNegative", "isNegative", "jl_AbstractStringBuilder_append6", "ju_NoSuchElementException__init_", "ju_AbstractMap_remove", "ju_HashMap_removeByKey", "removeByKey", "juf_Function_apply", "ji_BufferedInputStream__init_", "ju_Hashtable_put", "ju_Dictionary_put", "ji_BufferedInputStream_read",
        "ji_FilterInputStream_read", "jur_CharClass_getBits", "getBits", "jur_AbstractCharClass_getBits", "jur_CharClass$18__init_", "ju_BitSet_or", "or", "ju_BitSet_xor", "xor", "ju_BitSet_and", "and", "ju_BitSet_andNot", "andNot", "ju_BitSet_isEmpty", "jur_CharClass$1__init_", "jur_CharClass$3__init_", "jur_CharClass$2__init_", "jur_CharClass$5__init_", "jur_CharClass$4__init_", "jur_CharClass$7__init_", "jur_CharClass$6__init_", "jur_CharClass$9__init_", "jur_CharClass$8__init_", "jur_CharClass$11__init_",
        "jur_CharClass$10__init_", "jur_CharClass$13__init_", "jur_CharClass$12__init_", "jur_CharClass$15__init_", "jur_CharClass$14__init_", "jur_CharClass$17__init_", "jur_CharClass$16__init_", "ju_BitSet_clear0", "ju_BitSet_set0", "jn_CharBuffer_wrap0", "jl_StringBuilder_getChars", "jl_AbstractStringBuilder_getChars", "ji_PrintStream_print0", "jl_StringBuilder_setLength", "setLength", "jl_AbstractStringBuilder_setLength", "nle_EagRuntime_lambda$getStackTrace0$2", "lambda$getStackTrace0$2", "jl_String__init_8",
        "jl_IndexOutOfBoundsException__init_1", "jl_Object_hashCode", "ju_HashMap_findNonNullKeyEntry", "findNonNullKeyEntry", "ju_HashMap_findNullKeyEntry", "findNullKeyEntry", "ju_HashMap_createHashedEntry", "createHashedEntry", "ju_HashMap_rehash", "jnc_CodingErrorAction__clinit_", "jl_Error__init_2", "jl_Long_toHexString", "jl_Object_waitForOtherThreads", "waitForOtherThreads", "ju_Formatter__init_", "ju_Formatter_format", "ju_Formatter_toString", "jl_StringBuilder_append10", "jur_AbstractCharClass_contains",
        "ju_BitSet_intersects", "otp_Platform_isUndefined$js_body$_5", "isUndefined$js_body$_5", "otp_Platform_isAssignable", "isAssignable", "nms_AxisAlignedBB__clinit_", "nms_Vec3D__clinit_", "nlei_PlatformInput_isCloseRequested", "nleo_EaglercraftGPU_glGetError", "glGetError", "nleo_EaglercraftGPU_gluErrorString", "gluErrorString", "nleo_GlStateManager_enableLighting", "enableLighting", "nleo_GlStateManager_enableColorMaterial", "enableColorMaterial", "nleo_GlStateManager_enableFog", "enableFog", "nleo_GlStateManager_enableAlpha",
        "enableAlpha", "nleo_GlStateManager_enableTexGen", "enableTexGen", "nleo_GlStateManager_enableTexture2D", "enableTexture2D", "nleo_GlStateManager_enableMCLight0", "enableMCLight", "nleo_GlStateManager_enablePolygonOffset", "enablePolygonOffset", "nlei_PlatformInput_keyboardIsKeyDown", "keyboardIsKeyDown", "olo_GL11_glClear", "glClear", "olo_GL11_glMatrixMode", "glMatrixMode", "olo_GL11_glLoadIdentity", "glLoadIdentity", "olo_GL11_glOrtho", "glOrtho", "olo_GL11_glTranslatef", "glTranslatef", "nleo_EaglercraftGPU_glLineWidth",
        "glLineWidth", "olo_GL11_glDisable", "glDisable", "nms_Tessellator_startDrawing", "startDrawing", "nms_Tessellator_setColorOpaque_I", "setColorOpaque_I", "nms_Tessellator_addVertex", "addVertex", "nms_Tessellator_draw", "draw", "jl_Thread_switchContext0", "switchContext", "nms_WorldRenderer__clinit_", "nms_GuiScreen__init_", "nleit_TeaVMUtils_isUndefined$js_body$_42", "isUndefined$js_body$_42", "oacl_ArrayUtils_isEmpty", "oacl_StringUtils_isNotEmpty", "isNotEmpty", "ji_IOException__init_", "jl_AbstractStringBuilder_insert",
        "jl_AbstractStringBuilder_append4", "ju_Arrays_fill", "jl_Error__init_", "nms_Vec3D_createVectorHelper", "createVectorHelper", "nms_PositionTexureVertex__init_1", "nms_TexturedQuad__init_0", "nms_PositionTexureVertex_setTexturePosition", "setTexturePosition", "nle_EagRuntime_lambda$debugPrintStackTraceToSTDERR0$0", "lambda$debugPrintStackTraceToSTDERR0$0", "jt_SimpleDatePatternParser__init_", "jt_SimpleDatePatternParser_parsePattern", "parsePattern", "jt_SimpleDatePatternParser_getElements", "getElements",
        "nlei_PlatformInput$12$1_onTimer$exported$0", "nlei_PlatformRuntime_beforeUnload", "beforeUnload", "jl_Double_valueOf", "cch_BufferAllocationException__init_0", "jl_Math_ceil", "ceil", "cch_BitUtil_nextHighestPowerOfTwo", "nextHighestPowerOfTwo", "jl_Math_max1", "nms_AchievementMap_func_25208_a", "func_25208_a", "nms_StatBasic_func_25067_a", "func_25067_a", "nms_StatCrafting_func_25072_b", "func_25072_b", "nleit_TeaVMBlobURLHandle_release", "release", "cjj_Inflate__clinit_", "jl_AbstractStringBuilder_append5",
        "jl_AbstractStringBuilder_insertSpace", "insertSpace", "jn_CharBufferOverArray__init_", "jn_ByteBuffer_wrap0", "jnc_Charset_newEncoder", "newEncoder", "jnc_CharsetEncoder_onMalformedInput", "jnc_CharsetEncoder_onUnmappableCharacter", "jnc_CharsetEncoder_flush", "flush", "jnc_CoderResult_isOverflow", "isOverflow", "ji_PrintStream_write", "write", "ji_OutputStream_write0", "jn_ByteBuffer_clear", "jnc_CharsetEncoder_encode", "ju_Arrays_copyOf0", "ju_HashMap$HashEntry__init_", "jnc_CodingErrorAction__init_",
        "otci_IntegerUtil_toUnsignedLogRadixString0", "otp_PlatformQueue_remove$static", "remove$static", "ju_Formatter__init_1", "nlei_PlatformOpenGL__wglGetError", "_wglGetError", "nms_World__clinit_", "nleo_GlStateManager_clear", "nleo_GlStateManager_matrixMode", "matrixMode", "nleo_GlStateManager_loadIdentity", "loadIdentity", "nleo_GlStateManager_ortho", "ortho", "nleo_GlStateManager_translate", "translate", "nlei_PlatformOpenGL__wglLineWidth", "_wglLineWidth", "nleo_GlStateManager_disableLighting", "disableLighting",
        "nleo_GlStateManager_disableColorMaterial", "disableColorMaterial", "nleo_GlStateManager_disableFog", "disableFog", "nleo_GlStateManager_disableAlpha", "disableAlpha", "nleo_GlStateManager_disableTexGen", "disableTexGen", "nleo_GlStateManager_disableTexture2D", "disableTexture2D", "nleo_GlStateManager_disableMCLight", "disableMCLight", "nleo_GlStateManager_disablePolygonOffset", "disablePolygonOffset", "nms_Tessellator__clinit_", "jl_Thread_switchContext$_asyncCall_$", "switchContext$_asyncCall_$", "jl_Thread_switchContext",
        "oacl_ArrayUtils_isArrayEmpty", "isArrayEmpty", "oacl_StringUtils_isEmpty", "nms_Vec3D__init_", "nlei_PlatformInput$12$1_onTimer", "jl_Double__clinit_", "jl_Double__init_", "cch_BufferAllocationException__init_", "nms_AchievementMap__clinit_", "nms_AchievementList__clinit_", "jl_AbstractStringBuilder_ensureCapacity", "jn_CharBufferImpl__init_", "ju_MapEntry__init_", "jl_Long_numberOfLeadingZeros", "otp_PlatformQueue_unwrap", "otji_JSWrapper_maybeWrap", "maybeWrap", "ju_Formatter__init_2", "nleo_GlStateManager_getMatrixIncr",
        "getMatrixIncr", "nlev_Matrix4f_mul", "mul", "nms_Tessellator__init_", "jl_Thread$switchContext$lambda$_19_0__init_", "oacl_ArrayUtils_getLength", "cch_BufferAllocationException_formatMessage", "formatMessage", "nms_AchievementMap__init_", "nms_Achievement__init_", "jn_CharBuffer__init_", "jnc_CoderResult__clinit_", "nleo_WorldRenderer__init_", "jl_String_format", "cch_BufferAllocationException__init_1", "jl_Throwable_addSuppressed", "addSuppressed", "nle_EagRuntime_getResourceLines", "getResourceLines",
        "jnc_CoderResult__init_", "nleo_WorldRenderer$_init_$lambda$_0_0__init_", "nleo_WorldRenderer$_init_$lambda$_0_1__init_", "nlev_Vector3f__init_", "nleo_WorldRenderer__clinit_", "ji_BufferedReader_close", "ji_BufferedReader_readLine", "readLine", "ji_InputStreamReader__init_", "ji_BufferedReader__init_", "ji_InputStreamReader__init_0", "ji_BufferedReader__init_0", "ji_Reader__init_", "jn_CharBuffer_position", "jn_ByteBuffer_position", "ji_Reader__init_0", "ju_GenericEnumSet_size", "ju_GenericEnumSet_iterator",
        "ju_AbstractList$1_hasNext", "ju_AbstractList$1_next", "nleib_EaglerArrayIntBuffer_put", "nleib_EaglerArrayIntBuffer_clear", "nleib_EaglerArrayFloatBuffer_clear", "nleib_EaglerArrayFloatBuffer_put", "jur_SingleSet_processBackRefReplacement", "jur_QuantifierSet_processSecondPass", "ju_HashMap_values", "jur_UCISupplRangeSet_contains", "nleit_TeaVMClientConfigAdapterHooks_callCrashReportHook", "nleit_TeaVMClientConfigAdapterHooks_callLocalStorageLoadHook", "nleit_TeaVMClientConfigAdapterHooks_callLocalStorageSavedHook",
        "jl_Enum_compareTo0", "jur_Quantifier_toString", "jl_StringBuffer_insert", "jur_CharClass_contains", "otcit_CachedDateTimeZone_getStandardOffset", "otcit_DateTimeZoneBuilder$DSTZone_getStandardOffset", "otcit_DateTimeZoneBuilder$RuleBasedZone_getStandardOffset", "otcit_AliasDateTimeZone_getStandardOffset", "otcit_DateTimeZoneBuilder$PrecalculatedZone_getStandardOffset", "otcit_CachedDateTimeZone_previousTransition", "otcit_DateTimeZoneBuilder$DSTZone_previousTransition", "otcit_DateTimeZoneBuilder$RuleBasedZone_previousTransition",
        "otcit_AliasDateTimeZone_previousTransition", "otcit_FixedDateTimeZone_previousTransition", "otcit_DateTimeZoneBuilder$PrecalculatedZone_previousTransition", "otcit_CachedDateTimeZone_getOffset", "otcit_DateTimeZoneBuilder$DSTZone_getOffset", "otcit_DateTimeZoneBuilder$RuleBasedZone_getOffset", "otcit_AliasDateTimeZone_getOffset", "otcit_FixedDateTimeZone_getOffset", "otcit_DateTimeZoneBuilder$PrecalculatedZone_getOffset", "nle_EaglerInputStream_close", "nle_EaglerInputStream_read", "jl_Thread$switchContext$lambda$_19_0_run",
        "jl_Object$monitorEnterWait$lambda$_6_0_run", "jnci_UTF16Charset_newDecoder", "jnci_Iso8859Charset_newDecoder", "jnci_AsciiCharset_newDecoder", "ji_DataInputStream_readShort", "ji_DataInputStream_readInt", "ji_DataInputStream_readLong", "ji_DataInputStream_readFloat", "ji_DataInputStream_readDouble", "ji_DataInputStream_readFully", "nms_NBTTagCompound_getType", "nms_NBTTagEnd_getType", "nms_NBTTagByte_getType", "nms_NBTTagShort_getType", "nms_NBTTagInt_getType", "nms_NBTTagLong_getType", "nms_NBTTagFloat_getType",
        "nms_NBTTagDouble_getType", "nms_NBTTagByteArray_getType", "nms_NBTTagString_getType", "nms_NBTTagList_getType", "ju_PriorityQueue_size", "ji_ByteArrayInputStream_close", "jnci_UTF8Charset_newDecoder", "jur_LowHighSurrogateRangeSet_setNext", "nms_ItemBlock_getItemName", "jt_SimpleDateFormat_format", "ji_ByteArrayInputStream_read", "ju_LinkedList_listIterator0", "jl_Integer_hashCode", "ju_HashSet_size", "ju_HashSet_contains", "ju_HashMap_putAll", "nleit_ArrayBufferInputStream_read0", "nlec_MD5Digest_processWord",
        "nle_Base64_isInAlphabet", "jur_CharClass_getLowHighSurrogates", "ju_PriorityQueue_offer", "offer", "ju_PriorityQueue_poll", "poll", "otcit_DateTimeZoneProvider$detectTimezone$lambda$_4_0_apply", "jur_AbstractCharClass$1_contains", "jur_AbstractCharClass$2_contains", "jur_CharClass$18_contains", "jl_Long_hashCode", "nlei_OpenGLObjects$BufferGL_hashCode", "jl_StringBuilder_insert2", "jl_StringBuilder_append8", "nleit_TeaVMBlobURLManager$HandleFakeBlobURL_release", "nleit_TeaVMBlobURLManager$HandleRealBlobURL_release",
        "jl_StringBuffer_append1", "jnci_UTF8Charset_newEncoder", "jl_StringBuilder_ensureCapacity", "jl_Character_hashCode", "jl_Integer_bitCount", "bitCount", "ju_GenericEnumSet$1__init_", "ju_AbstractList$1_checkConcurrentModification", "checkConcurrentModification", "jur_BackReferencedSingleSet__init_", "ju_HashMap$2__init_", "jur_AbstractCharClass$LazyCharClass_computeValue", "computeValue", "jl_AbstractStringBuilder_append9", "nleit_TeaVMClientConfigAdapterHooks$callCrashReportHook$lambda$_4_0__init_",
        "nleit_TeaVMClientConfigAdapterHooks_callHookSafeSync0", "callHookSafeSync", "nleit_TeaVMClientConfigAdapterHooks$callLocalStorageLoadHook$lambda$_2_0__init_", "nleit_TeaVMClientConfigAdapterHooks_callHookSafeWithReturn0", "callHookSafeWithReturn", "nleit_TeaVMClientConfigAdapterHooks$callLocalStorageSavedHook$lambda$_1_0__init_", "nleit_TeaVMClientConfigAdapterHooks_callHookSafe", "callHookSafe", "jl_Enum_compareTo", "jl_StringBuffer_insert0", "ju_BitSet_get", "otcit_CachedDateTimeZone_getInfo", "getInfo",
        "otcit_CachedDateTimeZone$Info_getStandardOffset", "otcit_DateTimeZoneBuilder$RuleBasedZone_initZone", "initZone", "ju_Arrays_binarySearch", "binarySearch", "otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis", "getSaveMillis", "otcit_DateTimeZoneBuilder$Recurrence_previous", "previous", "otcit_CachedDateTimeZone$Info_getOffset", "otcit_DateTimeZoneBuilder$DSTZone_findMatchingRecurrence", "findMatchingRecurrence", "jn_Buffer_position0", "jn_Buffer_clear", "nleo_WorldRenderer_begin", "begin", "nms_Tessellator_setColorOpaque",
        "setColorOpaque", "nleo_VertexFormat_createVertexFormat", "createVertexFormat", "nleo_WorldRenderer_setVertexFormat", "setVertexFormat", "nleo_WorldRenderer_pos", "pos", "nleo_WorldRenderer_tex", "tex", "nleo_WorldRenderer_setColorRGBA", "setColorRGBA", "nleo_WorldRenderer_endVertex", "endVertex", "nleo_WorldRenderer_normal", "normal", "nleo_WorldRenderer_finishDrawing", "finishDrawing", "nleo_WorldVertexBufferUploader_func_181679_a", "func_181679_a", "jl_Thread_lambda$switchContext$2", "lambda$switchContext$2",
        "jl_Object_lambda$monitorEnterWait$0", "lambda$monitorEnterWait$0", "jnci_UTF16Decoder__init_", "jnci_Iso8859Decoder__init_", "jnci_AsciiDecoder__init_", "jnc_CharsetEncoder_encode0", "nleito_JSEaglercraftXOptsHooks_getLocalStorageSavedHook$js_body$_1", "getLocalStorageSavedHook$js_body$_1", "nleito_JSEaglercraftXOptsHooks_getLocalStorageLoadedHook$js_body$_2", "getLocalStorageLoadedHook$js_body$_2", "nleito_JSEaglercraftXOptsHooks_getCrashReportHook$js_body$_3", "getCrashReportHook$js_body$_3", "nleito_JSEaglercraftXOptsHooks_getScreenChangedHook$js_body$_4",
        "getScreenChangedHook$js_body$_4", "oall_ILogRedirector_log", "ju_Date_setTime", "setTime", "oall_Level_getPrintStream", "getPrintStream", "oall_Logger_formatParams", "formatParams", "oall_Logger_logExcp", "logExcp", "ji_DataInputStream_readToBuff", "readToBuff", "jl_Float_intBitsToFloat$js_body$_25", "intBitsToFloat$js_body$_25", "otji_JS_unwrapFloat", "unwrapFloat", "jl_Double_longBitsToDouble", "longBitsToDouble", "ji_DataInputStream_readFully0", "cjj_ZStream_setOutput", "setOutput", "cjj_Inflater_inflate",
        "inflate", "cjj_ZStream_inflate", "cjj_InflaterInputStream_fill", "cjj_Inflate_inflateEnd", "inflateEnd", "jnci_UTF8Decoder__init_", "jl_Throwable_printStackTrace0", "jur_Pattern_matcher", "matcher", "jur_Matcher_find", "find", "jur_Matcher_start", "start", "jur_Matcher_end", "ju_ArrayList_checkIndexForAdd", "checkIndexForAdd", "nms_IRecipe_getRecipeSize", "getRecipeSize", "ju_Hashtable_get", "ju_Properties_getProperty0", "nms_SoundManager_closeMinecraft", "closeMinecraft", "nle_EagRuntime_exit", "exit",
        "jl_System_gc", "gc", "nms_GLAllocation_deleteTexturesAndDisplayLists", "deleteTexturesAndDisplayLists", "nlei_PlatformAudio_setListener", "setListener", "nle_Display_isVSyncSupported", "isVSyncSupported", "nle_Display_update", "nmc_Minecraft_checkWindowResize", "checkWindowResize", "nle_EagRuntime_getPlatformType", "getPlatformType", "nle_Display_setVSync", "setVSync", "nle_Display_isActive", "isActive", "nmc_Minecraft_displayInGameMenu", "displayInGameMenu", "nms_MouseHelper_mouseXYChange", "mouseXYChange",
        "nms_Entity_func_346_d", "func_346_d", "nms_MouseFilter_func_22386_a", "func_22386_a", "nms_ScaledResolution__init_0", "nms_ScaledResolution_getScaledWidth", "getScaledWidth", "nms_ScaledResolution_getScaledHeight", "getScaledHeight", "nle_Mouse_getX", "getX", "nle_Mouse_getY", "getY", "olo_GL11_glViewport", "glViewport", "nms_EntityRenderer_func_905_b", "func_905_b", "nms_EntityRenderer_renderWorld", "renderWorld", "nms_GuiIngame_renderGameOverlay", "renderGameOverlay", "nms_GuiScreen_drawScreen", "drawScreen",
        "nms_XGuiUmmm_func_25087_a", "func_25087_a", "nms_GuiAchievement_func_25079_b", "func_25079_b", "olo_GL11_glDepthMask", "glDepthMask", "nms_RenderEngine_getTexture", "getTexture", "olo_GL11_glColor4f", "glColor4f", "olo_GL11_glBindTexture", "glBindTexture", "nms_Gui_drawTexturedModalRect", "drawTexturedModalRect", "nms_FontRenderer_drawString", "drawString", "nle_Display_setTitle", "setTitle", "nmc_Minecraft_getMinecraftDir", "getMinecraftDir", "nleb_EaglercraftSaveManager__init_", "nms_GameSettings__init_0",
        "nms_TexturePackList__init_", "nms_RenderEngine__init_", "nms_FontRenderer__init_", "nmc_Minecraft_loadScreen", "loadScreen", "nms_MouseHelper__init_", "olo_GL11_glShadeModel", "glShadeModel", "olo_GL11_glClearDepth", "glClearDepth", "olo_GL11_glDepthFunc", "glDepthFunc", "olo_GL11_glAlphaFunc", "glAlphaFunc", "olo_GL11_glCullFace", "glCullFace", "nms_SoundManager_loadSoundSettings", "loadSoundSettings", "nms_RenderEngine_registerTextureFX", "registerTextureFX", "nms_TexturePortalFX__init_", "nleb_TextureNewCompassFX__init_",
        "nleb_TextureNewClockFX__init_", "nms_TexureWaterFlowFX__init_", "nms_TextureLavaFlowFX__init_", "nms_TextureFlamesFX__init_", "nms_RenderGlobal__init_", "nms_EffectRenderer__init_", "nlep_EaglerProfile_loadFromStorage", "loadFromStorage", "nms_Session__init_", "nms_GuiIngame__init_", "nms_GuiMainMenu__init_", "nle_GuiScreenEditProfile__init_", "nms_GuiConnecting__init_", "olo_Display_create", "nms_GuiIngame_updateTick", "updateTick", "nms_EntityRenderer_getMouseOver", "getMouseOver", "nms_World_getIChunkProvider",
        "getIChunkProvider", "nms_MathHelper_floor_float", "floor_float", "nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver", "setCurrentChunkOver", "nms_PlayerController_updateController", "updateController", "nms_RenderEngine_updateTerrainTextures", "updateTerrainTextures", "nms_EntityPlayer_isPlayerSleeping", "isPlayerSleeping", "nms_EntityLiving_isPlayerSleeping", "nms_GuiScreen_handleInput", "handleInput", "nms_XGuiUmmm_func_25088_a", "func_25088_a", "nms_GuiScreen_updateScreen", "updateScreen", "nle_Mouse_next",
        "nle_Keyboard_next", "nle_Keyboard_getEventKey", "getEventKey", "nle_Keyboard_getEventKeyState", "getEventKeyState", "nms_EntityPlayerSP_handleKeyPress", "handleKeyPress", "nle_Mouse_isButtonDown", "isButtonDown", "nmc_Minecraft_clickMouse", "clickMouse", "nmc_Minecraft_func_6254_a", "func_6254_a", "nms_World_joinEntityInSurroundings", "joinEntityInSurroundings", "nms_EntityRenderer_updateRenderer", "updateRenderer", "nms_RenderGlobal_updateClouds", "updateClouds", "nms_World_func_633_c", "func_633_c",
        "nms_World_setAllowedMobSpawns", "setAllowedMobSpawns", "nms_World_tick", "tick", "nms_MathHelper_floor_double", "floor_double", "nms_World_randomDisplayUpdates", "randomDisplayUpdates", "nms_EffectRenderer_updateEffects", "updateEffects", "nms_GuiScreen_handleKeyboardInput", "handleKeyboardInput", "nms_GameSettings_setOptionValue", "setOptionValue", "nmc_Minecraft_forceReload", "forceReload", "nms_GuiInventory__init_", "nms_EntityPlayer_dropCurrentItem", "dropCurrentItem", "nms_GuiChat__init_", "nle_Mouse_getEventDWheel",
        "getEventDWheel", "nms_InventoryPlayer_changeCurrentItem", "changeCurrentItem", "nle_Mouse_getEventButton", "getEventButton", "nle_Mouse_getEventButtonState", "getEventButtonState", "nmc_Minecraft_setIngameFocus", "setIngameFocus", "nmc_Minecraft_clickMiddleMouseButton", "clickMiddleMouseButton", "nms_GuiScreen_handleMouseInput", "handleMouseInput", "nms_GuiSleepMP__init_", "nmc_Minecraft_changeWorld2", "changeWorld2", "nms_GuiScreen_onGuiClosed", "onGuiClosed", "nmc_Minecraft_setIngameNotInFocus", "setIngameNotInFocus",
        "nms_GuiScreen_setWorldAndResolution", "setWorldAndResolution", "nms_GuiGameOver__init_", "ju_Calendar_setTime", "ju_Calendar_getTimeZone", "jt_DateFormatElement_format", "ji_DataInputStream_decodeUTF0", "ju_LinkedList$SequentialListIterator__init_0", "ju_HashMap$1__init_", "jl_Integer_hashCode0", "ju_AbstractMap_size", "ju_HashMap_putAllImpl", "putAllImpl", "cch_BitMixer_mixPhi", "mixPhi", "cch_IntObjectHashMap_size", "cch_HashContainers_nextBufferSize", "nextBufferSize", "nle_BaseNCodec$Context__init_",
        "nle_BaseNCodec_decode1", "nle_BaseNCodec_readResults", "readResults", "jl_ArrayIndexOutOfBoundsException__init_1", "nleit_TeaVMUtils_unwrapArrayBufferView1", "nlei_PlatformRuntime_handleWindowMessage", "handleWindowMessage", "jl_Integer_compareUnsigned", "compareUnsigned", "jl_Integer_divideUnsigned", "divideUnsigned", "jl_Integer_remainderUnsigned", "remainderUnsigned", "nlei_PlatformInput_tryGrabCursorHook", "tryGrabCursorHook", "nlei_PlatformInput_getOffsetX$js_body$_14", "getOffsetX$js_body$_14",
        "nlei_PlatformInput_getOffsetY$js_body$_15", "getOffsetY$js_body$_15", "ju_List_remove", "nlei_PlatformInput$VMouseEvent__init_0", "nlei_PlatformInput_hasCodeVar$js_body$_11", "hasCodeVar$js_body$_11", "nlei_PlatformInput_getWhich$js_body$_16", "getWhich$js_body$_16", "nlei_PlatformInput_getLocationSafe$js_body$_17", "getLocationSafe$js_body$_17", "nlei_PlatformInput_processFunctionKeys", "processFunctionKeys", "nlei_PlatformInput_toggleFullscreen", "toggleFullscreen", "nle_KeyboardConstants_getEaglerKeyFromBrowser",
        "getEaglerKeyFromBrowser", "nlei_PlatformInput_getCharOrNull$js_body$_40", "getCharOrNull$js_body$_40", "nlei_PlatformInput_keyToAsciiLegacy", "keyToAsciiLegacy", "nlei_PlatformInput$VKeyEvent__init_0", "nleit_LegacyKeycodeTranslator_getCodeFromLayoutChar", "getCodeFromLayoutChar", "nleit_LegacyKeycodeTranslator$LegacyKeycode_equals", "otp_Platform_getEnclosingClass", "nlec_MD5Digest_processBlock", "processBlock", "nlec_GeneralDigest_processBlock", "nlec_GeneralDigest_processLength", "processLength",
        "jl_Runnable_run", "cch_HashContainers_expandAtCount", "expandAtCount", "cch_HashContainers_checkPowerOfTwo", "checkPowerOfTwo", "nle_BaseNCodec_encode1", "cjj_InfBlocks__init_", "cjj_Inflate_inflateReset", "inflateReset", "cjj_InfBlocks_free", "ju_Objects_equals", "otji_IDBObjectStoreParameters_create$js_body$_1", "create$js_body$_1", "otji_IDBObjectStoreParameters_keyPath$static", "keyPath$static", "ju_Calendar_computeTime", "computeTime", "ju_Calendar_computeFields", "computeFields", "nms_ShapelessRecipes__init_",
        "jl_Integer_rotateLeft", "rotateLeft", "ju_BitSet_recalculateLength", "recalculateLength", "ju_BitSet_ensureCapacity", "jt_DecimalFormatParser_parseText", "parseText", "jt_DecimalFormatParser_parseNumber", "jt_DecimalFormat$MinusField__init_", "jt_DecimalFormat_setGroupingSize", "setGroupingSize", "jt_NumberFormat_setGroupingUsed", "setGroupingUsed", "jt_NumberFormat_setMinimumIntegerDigits", "setMinimumIntegerDigits", "jt_NumberFormat_setMaximumIntegerDigits", "setMaximumIntegerDigits", "jt_NumberFormat_setMinimumFractionDigits",
        "setMinimumFractionDigits", "jt_NumberFormat_setMaximumFractionDigits", "setMaximumFractionDigits", "jt_DecimalFormat_setDecimalSeparatorAlwaysShown", "setDecimalSeparatorAlwaysShown", "jt_DecimalFormat_setMultiplier", "setMultiplier", "jl_Integer_numberOfTrailingZeros", "numberOfTrailingZeros", "ju_PriorityQueue_ensureCapacity", "ju_PriorityQueue_removeAt", "removeAt", "ju_HashMap_areEqualKeys", "areEqualKeys", "otcit_DateTimeZoneProvider$detectTimezone$lambda$_4_0_apply0", "ju_Hashtable$Entry_equalsKey",
        "equalsKey", "ju_Hashtable_rehash", "ju_Hashtable_newEntry", "newEntry", "ji_BufferedInputStream_fillbuf", "fillbuf", "ju_BitSet_trailingOneBits", "trailingOneBits", "ju_BitSet_trailingZeroBits", "trailingZeroBits", "jl_Long_hashCode0", "ju_HashMap_rehash0", "ju_Formatter_format0", "jl_StringBuilder_insert8", "jl_StringBuilder_append11", "nms_PositionTexureVertex__init_2", "jt_SimpleDatePatternParser_parseQuoted", "parseQuoted", "jt_SimpleDatePatternParser_isControl", "isControl", "jt_SimpleDatePatternParser_parseRepetitions",
        "parseRepetitions", "jt_DateFormatElement$Numeric__init_", "jt_DateFormatElement$EraText__init_", "jt_DateFormatElement$Rfc822Timezone__init_", "jt_DateFormatElement$AmPmText__init_", "jt_DateFormatElement$NumericHour__init_", "jt_DateFormatElement$NumericWeekday__init_", "jt_DateFormatElement$GeneralTimezone__init_", "jt_DateFormatElement$ConstantText__init_", "jt_DateFormatElement$Year__init_", "jt_DateFormatElement$WeekdayText__init_", "jt_DateFormatElement$Iso8601Timezone__init_", "jt_DateFormatElement$NumericMonth__init_",
        "jt_DateFormatElement$MonthText__init_", "nleit_TeaVMBlobURLManager_revokeBlobURL$js_body$_14", "revokeBlobURL$js_body$_14", "jl_StringBuffer_append2", "jnci_UTF8Encoder__init_", "ji_PrintStream_check", "check", "nlei_PlatformInput_isPointerLockedImpl", "isPointerLockedImpl", "ji_BufferedReader_requireOpened", "requireOpened", "ji_BufferedReader_fillBuffer", "fillBuffer", "jl_Character_hashCode0", "ju_ConcurrentModificationException__init_", "jl_AbstractStringBuilder_insert8", "nleit_TeaVMClientConfigAdapterHooks_callHookSafeSync$_asyncCall_$",
        "callHookSafeSync$_asyncCall_$", "nleit_TeaVMClientConfigAdapterHooks_callHookSafeSync", "nleit_TeaVMClientConfigAdapterHooks_callHookSafeWithReturn$_asyncCall_$", "callHookSafeWithReturn$_asyncCall_$", "nleit_TeaVMClientConfigAdapterHooks_callHookSafeWithReturn", "nleit_TeaVMClientConfigAdapterHooks$callHookSafe$lambda$_5_0__init_", "otcit_CachedDateTimeZone_createInfo", "createInfo", "otcit_DateTimeZoneBuilder_toDateTimeZone", "toDateTimeZone", "ju_Arrays_binarySearch0", "otcit_DateTimeZoneBuilder$Recurrence_next",
        "nleo_VertexFormat__clinit_", "nleo_VertexFormat__init_", "nleo_WorldRenderer_getVertexCount", "getVertexCount", "nleo_WorldRenderer_getVertexFormat", "getVertexFormat", "nleo_WorldRenderer_getByteBuffer", "getByteBuffer", "nleib_ByteBuffer_position", "nleib_ByteBuffer_limit", "nleo_WorldRenderer_getDrawMode", "getDrawMode", "nleo_EaglercraftGPU_renderBuffer", "renderBuffer", "nleo_WorldRenderer_reset", "jnci_BufferedDecoder__init_", "jl_Float__clinit_", "nlei_PlatformRuntime_exit", "nms_GLAllocation_createDirectIntBuffer",
        "createDirectIntBuffer", "olo_GL11_glDeleteTextures", "glDeleteTextures", "nms_MathHelper_cos", "cos", "nms_MathHelper_sin", "sin", "nlei_PlatformInput_isVSyncSupported", "nlei_PlatformRuntime_getPlatformType", "nlei_EnumPlatformType__clinit_", "nlei_PlatformInput_setVSync", "nlei_PlatformInput_getWindowFocused", "getWindowFocused", "nlei_PlatformInput_mouseGetX", "mouseGetX", "nlei_PlatformInput_mouseGetY", "mouseGetY", "nleo_GlStateManager_depthMask", "depthMask", "nleo_GlStateManager_color", "color",
        "nleo_GlStateManager_bindTexture", "bindTexture", "nms_RenderManager__clinit_", "nleiv_VFile2__init_", "nms_KeyBinding__init_", "nms_GameSettings_loadOptions", "loadOptions", "nms_GameSettings__clinit_", "nms_TexturePackDefault__init_", "nleiv_VFile2_exists", "exists", "nms_TexturePackList_updateAvaliableTexturePacks", "updateAvaliableTexturePacks", "nms_TexturePackBase_func_6482_a", "func_6482_a", "nms_RenderEngine__clinit_", "nms_FontRenderer_readFontTexture", "readFontTexture", "nms_FontRenderer__clinit_",
        "nle_Display_update0", "nmc_Minecraft_updateDisplayMode", "updateDisplayMode", "olo_GL11_glClearColor", "glClearColor", "nms_Tessellator_startDrawingQuads", "startDrawingQuads", "nms_Tessellator_addVertexWithUV", "addVertexWithUV", "nmc_Minecraft_func_6274_a", "func_6274_a", "nle_EagUtils_sleep0", "nleo_GlStateManager_shadeModel", "shadeModel", "nleo_GlStateManager_clearDepth0", "clearDepth", "nleo_GlStateManager_depthFunc", "depthFunc", "nleo_GlStateManager_alphaFunc", "alphaFunc", "nleo_GlStateManager_cullFace",
        "cullFace", "ju_Random__init_2", "ju_Random_nextFloat", "nextFloat", "jl_Math_atan2", "atan2", "nms_Item_getIconIndex", "getIconIndex", "nmc_Minecraft_getMinecraft", "getMinecraft", "nleo_ImageData_loadImageFile1", "nleo_ImageData_swapRB", "swapRB", "nms_RenderList__init_", "nms_GLAllocation_generateDisplayLists", "generateDisplayLists", "olo_GL11_glPushMatrix", "glPushMatrix", "nleo_EaglercraftGPU_glNewList", "glNewList", "nms_RenderGlobal_renderStars", "renderStars", "nleo_EaglercraftGPU_glEndList",
        "glEndList", "olo_GL11_glPopMatrix", "glPopMatrix", "nlep_EaglerProfile__clinit_", "nms_NBTTagCompound_hasNoTags", "hasNoTags", "nms_NBTTagCompound_getInteger", "getInteger", "nms_NBTTagCompound_getString", "getString", "nms_NBTTagCompound_getCompoundTag", "getCompoundTag", "nms_NBTTagCompound_getTagMap", "getTagMap", "ju_Map_keySet", "nms_NBTTagCompound_getByteArray", "getByteArray", "nlep_EaglerProfile_addSkin", "addSkin", "nms_Session__clinit_", "nms_GuiIngame__clinit_", "nms_GuiMainMenu__clinit_",
        "nle_GuiScreenEditProfile_reconcatDD", "reconcatDD", "nle_GuiScreenEditProfile__clinit_", "nle_EagRuntime_requireSSL", "requireSSL", "jl_String_replace0", "replace", "nms_NetClientHandler__init_", "nms_MathHelper__clinit_", "nlei_PlatformInput_mouseNext", "mouseNext", "nlei_PlatformInput_keyboardNext", "keyboardNext", "nlei_PlatformInput_keyboardGetEventKey", "keyboardGetEventKey", "nlei_PlatformInput_keyboardGetEventKeyState", "keyboardGetEventKeyState", "nlei_PlatformInput_mouseIsButtonDown", "mouseIsButtonDown",
        "nms_EntityPlayer_swingItem", "swingItem", "nms_InventoryPlayer_getCurrentItem", "getCurrentItem", "nms_PlayerController_sendUseItem", "sendUseItem", "nms_ItemRenderer_func_9450_c", "func_9450_c", "nms_PlayerController_func_6472_b", "func_6472_b", "nms_PlayerController_func_6475_a", "func_6475_a", "nms_World_getBlockId", "getBlockId", "nms_World_onBlockHit", "onBlockHit", "nms_PlayerController_clickBlock", "clickBlock", "nms_PlayerController_sendPlaceBlock", "sendPlaceBlock", "nms_ItemRenderer_func_9449_b",
        "func_9449_b", "nms_PlayerController_func_6468_a", "func_6468_a", "nms_PlayerController_sendBlockRemoving", "sendBlockRemoving", "nms_EffectRenderer_addBlockHitEffects", "addBlockHitEffects", "nms_EnumOptions__clinit_", "nms_GuiContainer__init_", "nms_EntityPlayer_addStat", "addStat", "nms_GuiChat__clinit_", "nlei_PlatformInput_mouseGetEventDWheel", "mouseGetEventDWheel", "nlei_PlatformInput_mouseGetEventButton", "mouseGetEventButton", "nlei_PlatformInput_mouseGetEventButtonState", "mouseGetEventButtonState",
        "nms_InventoryPlayer_setCurrentItem", "setCurrentItem", "ji_DataInput_readFully0", "ji_DataInputStream_convertUTF8WithBuf", "convertUTF8WithBuf", "nlei_PlatformRuntime_sourceEquals$js_body$_43", "sourceEquals$js_body$_43", "nleit_ImmediateContinue_isValidToken", "isValidToken", "nleit_ImmediateContinue_execute", "execute", "nlei_PlatformInput_isPointerLocked", "isPointerLocked", "nlei_PlatformInput_mouseSetGrabbed", "mouseSetGrabbed", "nlei_PlatformInput_isFullscreen", "isFullscreen", "nlei_PlatformInput_callExitFullscreen",
        "callExitFullscreen", "nlei_PlatformInput_callRequestFullscreen", "callRequestFullscreen", "nlei_PlatformInput_lockKeys$js_body$_89", "lockKeys$js_body$_89", "nle_KeyboardConstants__clinit_", "nleit_LegacyKeycodeTranslator_getCodeFromLayoutChar0", "getCodeFromLayoutChar0", "jl_AbstractStringBuilder_insert9", "cch_BitUtil_nextHighestPowerOfTwo0", "cjj_InfTree__init_", "cjj_InfCodes__init_", "cjj_InfBlocks_reset", "cjj_InfBlocks__clinit_", "otji_JS_wrap5", "jt_DecimalFormatParser_parseIntegerPart", "parseIntegerPart",
        "jt_DecimalFormatParser_parseFractionalPart", "parseFractionalPart", "jt_DecimalFormatParser_parseExponent", "parseExponent", "otcit_DateTimeZoneProvider_lambda$detectTimezone$0", "lambda$detectTimezone$0", "ju_Hashtable$Entry__init_", "jt_DateFormatElement__init_", "jt_DateFormatSymbols_getEras", "getEras", "jt_DateFormatElement$BaseTimezone__init_", "jt_DateFormatSymbols_getAmPmStrings", "getAmPmStrings", "jt_DateFormatSymbols_getWeekdays", "getWeekdays", "jt_DateFormatSymbols_getShortWeekdays", "getShortWeekdays",
        "jt_DateFormatSymbols_getMonths", "getMonths", "jt_DateFormatSymbols_getShortMonths", "getShortMonths", "jnci_BufferedEncoder__init_", "nlei_PlatformInput_isPointerLocked0$js_body$_69", "isPointerLocked0$js_body$_69", "nlei_PlatformInput_isMozPointerLocked0$js_body$_70", "isMozPointerLocked0$js_body$_70", "ji_Reader_read", "nleit_TeaVMClientConfigAdapterHooks$callHookSafeSync$lambda$_7_0__init_", "nleit_TeaVMClientConfigAdapterHooks$callHookSafeWithReturn$lambda$_9_0__init_", "nleit_TeaVMClientConfigAdapterHooks$callHookSafe$lambda$_5_0_onTimer$exported$0",
        "otcit_CachedDateTimeZone$Info__init_", "otcit_DateTimeZone_nextTransition", "nextTransition", "nleo_FixedFunctionPipeline_setupDirect", "setupDirect", "nleo_FixedFunctionPipeline_update", "nleo_FixedFunctionPipeline_drawDirectArrays", "drawDirectArrays", "nleib_ByteBuffer_put", "nleo_EaglercraftGPU_growDisplayListBuffer", "growDisplayListBuffer", "jnc_CharsetDecoder__init_", "oall_Logger_fatal", "fatal", "nleib_IntBuffer_hasRemaining", "hasRemaining", "nleib_IntBuffer_get", "olo_GL11_glDeleteTexture",
        "glDeleteTexture", "nlei_EnumPlatformType__init_", "nlei_EnumPlatformType_$values", "nms_Entity__clinit_", "nlei_PlatformOpenGL__wglDepthMask", "_wglDepthMask", "nlei_GLObjectMap_get", "nms_RenderManager__init_", "nleiv_VFile2_createPath", "createPath", "nleiv_VFile2__init_2", "nms_TexturePackBase__init_", "nleo_ImageData_loadImageFile", "nle_EagRuntime_getResourceStream", "getResourceStream", "nleo_ImageData_loadImageFile0", "nle_Display_getDPI", "getDPI", "nleo_GlStateManager_clearColor", "clearColor",
        "nlei_PlatformOpenGL__wglClearDepth", "_wglClearDepth", "nlei_PlatformOpenGL__wglDepthFunc", "_wglDepthFunc", "nlei_PlatformOpenGL__wglCullFace", "_wglCullFace", "nleo_EaglercraftGPU_glGenLists", "glGenLists", "nleo_GlStateManager_pushMatrix", "pushMatrix", "nleo_EaglercraftGPU_disableVertexAttribArray", "disableVertexAttribArray", "jl_Math_sqrt", "sqrt", "jl_Math_sin", "jl_Math_cos", "ju_Random_nextDouble", "nextDouble", "nleo_EaglercraftGPU_destroyGLArrayBuffer", "destroyGLArrayBuffer", "nleib_ByteBuffer_clear",
        "nleo_FixedFunctionPipeline_setupDisplayList", "setupDisplayList", "nleo_GlStateManager_popMatrix", "popMatrix", "nlep_EaglerProfile$UserPresetSkin__init_", "nms_RenderEngine_allocateAndSetupTexture", "allocateAndSetupTexture", "nlep_EaglerProfile$EaglerProfileSkin__init_", "nms_RenderItem__init_", "nlep_EaglerProfile_concatArrays", "concatArrays", "nms_NetHandler__init_", "nms_NetworkManager__init_", "nms_MathHelper_sqrt_float", "sqrt_float", "nms_EnumMovingObjectType__clinit_", "nms_EnumOptions__init_",
        "nms_EnumOptions_$values", "nms_GuiContainer__clinit_", "nlei_PlatformInput_fixWheel", "fixWheel", "ji_UTFDataFormatException__init_0", "nlei_PlatformInput_callRequestPointerLock", "callRequestPointerLock", "nlei_PlatformInput$15__init_", "nlei_PlatformInput_exitFullscreen$js_body$_97", "exitFullscreen$js_body$_97", "nlei_PlatformInput_webkitExitFullscreen$js_body$_98", "webkitExitFullscreen$js_body$_98", "nlei_PlatformInput_mozCancelFullscreen$js_body$_99", "mozCancelFullscreen$js_body$_99", "nlei_PlatformInput_requestFullscreen$js_body$_93",
        "requestFullscreen$js_body$_93", "nlei_PlatformInput_webkitRequestFullscreen$js_body$_94", "webkitRequestFullscreen$js_body$_94", "nlei_PlatformInput_mozRequestFullscreen$js_body$_95", "mozRequestFullscreen$js_body$_95", "nle_KeyboardConstants_register", "register", "nle_KeyboardConstants_registerAlt", "registerAlt", "cjj_InfTree__clinit_", "cjj_InfCodes__clinit_", "jnc_CharsetEncoder__init_", "nleit_TeaVMClientConfigAdapterHooks$callHookSafeSync$lambda$_7_0_onTimer$exported$0", "nleit_TeaVMClientConfigAdapterHooks$callHookSafeWithReturn$lambda$_9_0_onTimer$exported$0",
        "nleit_TeaVMClientConfigAdapterHooks$callHookSafe$lambda$_5_0_onTimer", "nleo_FixedFunctionPipeline__clinit_", "nleo_FixedFunctionPipeline_getFragmentState", "getFragmentState", "nleo_FixedFunctionPipeline_getPipelineInstanceCore", "getPipelineInstanceCore", "nleo_IExtPipelineCompiler_getCurrentExtensionStateBits", "getCurrentExtensionStateBits", "nleo_FixedFunctionPipeline_getPipelineInstanceExt", "getPipelineInstanceExt", "nleo_StreamBuffer_getBuffer", "getBuffer", "nleo_StreamBuffer$StreamBufferInstance_getVertexArray",
        "getVertexArray", "nleo_StreamBuffer$StreamBufferInstance_getVertexBuffer", "getVertexBuffer", "nlei_PlatformOpenGL__wglBufferSubData", "_wglBufferSubData", "nleib_ByteBuffer_position0", "nleib_ByteBuffer_capacity", "nle_EagRuntime_freeByteBuffer", "jl_StringBuilder_append3", "nleo_GlStateManager_deleteTexture", "deleteTexture", "nms_RenderSpider__init_", "nms_ModelPig__init_", "nms_ModelPig__init_0", "nms_RenderPig__init_", "nms_ModelSheep2__init_", "nms_ModelSheep1__init_", "nms_RenderSheep__init_",
        "nms_ModelCow__init_", "nms_RenderCow__init_", "nms_ModelWolf__init_", "nms_RenderWolf__init_", "nms_ModelChicken__init_", "nms_RenderChicken__init_", "nms_RenderCreeper__init_", "nms_ModelSkeleton__init_", "nms_RenderBiped__init_", "nms_ModelZombie__init_", "nms_ModelSlime__init_", "nms_RenderSlime__init_", "nms_RenderPlayer__init_", "nms_RenderZombieSimple__init_", "nms_RenderGhast__init_", "nms_ModelSquid__init_", "nms_RenderSquid__init_", "nms_ModelBiped__init_", "nms_RenderLiving__init_", "nms_RenderEntity__init_",
        "nms_RenderPainting__init_", "nms_RenderArrow__init_", "nms_RenderSnowball__init_", "nms_RenderFireball__init_", "nms_RenderTNTPrimed__init_", "nms_RenderFallingSand__init_", "nms_RenderMinecart__init_", "nms_RenderBoat__init_", "nms_RenderFish__init_", "nms_Render_setRenderManager", "setRenderManager", "nleiv_VFile2_splitPath", "splitPath", "nle_EagRuntime_getResourceBytes", "nlei_PlatformAssets_loadImageFile2", "nle_EagRuntime_steadyTimeMillis", "nlei_PlatformInput_getDPI", "nleo_DisplayList__init_",
        "nlei_GLObjectMap_register", "nlev_Matrix4f_load", "nms_Render__init_", "nle_EaglerOutputStream__init_", "nms_EnumMovingObjectType__init_", "nms_EnumMovingObjectType_$values", "nms_FontAllowedCharacters__clinit_", "nlei_PlatformInput_mozRequestPointerLock$js_body$_62", "mozRequestPointerLock$js_body$_62", "nlei_PlatformInput$15_onTimer$exported$0", "jnc_CharsetEncoder__init_0", "nleit_TeaVMClientConfigAdapterHooks$callHookSafeSync$lambda$_7_0_onTimer", "nleit_TeaVMClientConfigAdapterHooks$callHookSafeWithReturn$lambda$_9_0_onTimer",
        "nleo_FixedFunctionPipeline_makeNewPipeline", "makeNewPipeline", "nleo_IExtPipelineCompiler_getCoreStateMask", "getCoreStateMask", "nleo_IExtPipelineCompiler_getExtensionStatesCount", "getExtensionStatesCount", "jl_AbstractStringBuilder_append10", "nleo_GlStateManager_unbindTextureIfCached", "unbindTextureIfCached", "nlei_GLObjectMap_free", "nms_ModelSpider__init_", "nms_RenderLiving_setRenderPassModel", "setRenderPassModel", "nms_ModelQuadraped__init_", "nms_ModelRenderer_addBox0", "nms_ModelCreeper__init_",
        "nms_RenderPlayer__clinit_", "nms_ModelGhast__init_", "nms_ModelMinecart__init_", "nms_ModelBoat__init_", "nleiv_VFile2_normalizePath", "normalizePath", "nlei_PlatformAssets_loadImageFile3", "nle_EaglerOutputStream__init_0", "nms_FontAllowedCharacters_getAllowedCharacters", "getAllowedCharacters", "nlei_PlatformInput$15_onTimer", "jnc_CharsetEncoder_checkReplacement", "checkReplacement", "nleo_IExtPipelineCompiler_getShaderSource", "getShaderSource", "nleo_FixedFunctionPipeline_visualizeBits", "visualizeBits",
        "nleo_IExtPipelineCompiler_initializeNewShader", "initializeNewShader", "nleo_FixedFunctionPipeline__init_", "nleo_StreamBuffer__clinit_", "jl_AbstractStringBuilder_insert1", "nle_EaglerInputStream_inputStreamToBytesQuiet", "inputStreamToBytesQuiet", "jl_Class_getResourceAsStream", "getResourceAsStream", "ji_InputStreamReader__init_1", "nleo_FixedFunctionPipeline$_init_$lambda$_12_0__init_", "nleo_StreamBuffer__init_", "nleo_StreamBuffer$PoolInstance__init_", "nle_EaglerInputStream_inputStreamToBytes",
        "inputStreamToBytes", "ji_InputStreamReader_getCharset", "getCharset", "nleo_StreamBuffer$StreamBufferInstance__init_", "nleo_StreamBuffer_fillPoolInstance", "fillPoolInstance", "nle_EaglerInputStream_getAsArray", "getAsArray", "ji_InputStream_available", "available", "nle_EaglerOutputStream_toByteArray", "toByteArray", "nle_EaglerOutputStream_write", "nle_EaglerOutputStream_close", "ji_OutputStream_close", "ji_UnsupportedEncodingException__init_0", "ju_GenericEnumSet$1_next", "ju_GenericEnumSet$1_hasNext",
        "jur_BackReferencedSingleSet_processBackRefReplacement", "ju_HashMap$2_iterator", "nms_ShapedRecipes_getRecipeSize", "jl_String_compareTo0", "nms_GuiConflictWarning_drawScreen", "nms_GuiConflictWarning_updateScreen", "nms_GuiMainMenu_drawScreen", "nms_GuiMainMenu_updateScreen", "nms_GuiGameOver_doesGuiPauseGame", "nms_GuiGameOver_drawScreen", "ju_LinkedList$SequentialListIterator_next", "ju_LinkedList$SequentialListIterator_hasNext", "ju_HashMap$1_iterator", "jl_Character_equals", "jl_Integer_equals",
        "jl_StringBuilder_append7", "nleiv_VFile2_toString", "jl_Long_compareTo", "nle_EaglerInputStream_available", "nle_EaglerInputStream_read0", "jl_Enum_hashCode", "jl_Enum_equals", "nms_ShapedRecipes_func_25117_b", "jur_AbstractCharClass$LazySpace_computeValue", "jur_AbstractCharClass$LazyDigit_computeValue", "jur_AbstractCharClass$LazyLower_computeValue", "jur_AbstractCharClass$LazyUpper_computeValue", "jur_AbstractCharClass$LazyASCII_computeValue", "jur_AbstractCharClass$LazyAlpha_computeValue", "jur_AbstractCharClass$LazyAlnum_computeValue",
        "jur_AbstractCharClass$LazyPunct_computeValue", "jur_AbstractCharClass$LazyGraph_computeValue", "jur_AbstractCharClass$LazyPrint_computeValue", "jur_AbstractCharClass$LazyBlank_computeValue", "jur_AbstractCharClass$LazyCntrl_computeValue", "jur_AbstractCharClass$LazyXDigit_computeValue", "jur_AbstractCharClass$LazyJavaLowerCase_computeValue", "jur_AbstractCharClass$LazyJavaUpperCase_computeValue", "jur_AbstractCharClass$LazyJavaWhitespace_computeValue", "jur_AbstractCharClass$LazyJavaMirrored_computeValue",
        "jur_AbstractCharClass$LazyJavaDefined_computeValue", "jur_AbstractCharClass$LazyJavaDigit_computeValue", "jur_AbstractCharClass$LazyJavaIdentifierIgnorable_computeValue", "jur_AbstractCharClass$LazyJavaISOControl_computeValue", "jur_AbstractCharClass$LazyJavaJavaIdentifierPart_computeValue", "jur_AbstractCharClass$LazyJavaJavaIdentifierStart_computeValue", "jur_AbstractCharClass$LazyJavaLetter_computeValue", "jur_AbstractCharClass$LazyJavaLetterOrDigit_computeValue", "jur_AbstractCharClass$LazyJavaSpaceChar_computeValue",
        "jur_AbstractCharClass$LazyJavaTitleCase_computeValue", "jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart_computeValue", "jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart_computeValue", "jur_AbstractCharClass$LazyWord_computeValue", "jur_AbstractCharClass$LazyNonWord_computeValue", "jur_AbstractCharClass$LazyNonSpace_computeValue", "jur_AbstractCharClass$LazyNonDigit_computeValue", "jur_AbstractCharClass$LazyRange_computeValue", "jur_AbstractCharClass$LazySpecialsBlock_computeValue", "jur_AbstractCharClass$LazyCategory_computeValue",
        "jur_AbstractCharClass$LazyCategoryScope_computeValue", "jur_CharClass$1_contains", "jur_CharClass$3_contains", "jur_CharClass$2_contains", "jur_CharClass$5_contains", "jur_CharClass$4_contains", "jur_CharClass$7_contains", "jur_CharClass$6_contains", "jur_CharClass$9_contains", "jur_CharClass$8_contains", "jur_CharClass$11_contains", "jur_CharClass$10_contains", "jur_CharClass$13_contains", "jur_CharClass$12_contains", "jur_CharClass$15_contains", "jur_CharClass$14_contains", "jur_CharClass$17_contains",
        "jur_CharClass$16_contains", "jnci_AsciiCharset_newEncoder", "jnci_Iso8859Charset_newEncoder", "jnci_UTF16Charset_newEncoder", "nleit_ClientMain$2_log", "jur_PatternSyntaxException_getMessage", "nle_GuiScreenEditProfile_drawScreen", "nle_GuiScreenEditProfile_updateScreen", "nle_GuiScreenEditProfile_handleMouseInput", "nle_GuiScreenEditProfile_onGuiClosed", "nms_GuiContainer_doesGuiPauseGame", "nms_GuiInventory_drawScreen", "nms_GuiContainer_onGuiClosed", "nms_GuiChat_drawScreen", "nms_GuiChat_updateScreen",
        "nms_GuiChat_onGuiClosed", "nms_GuiSleepMP_drawScreen", "nms_GuiSleepMP_onGuiClosed", "nle_Base64_decode", "ju_AbstractSequentialList_remove", "nlec_MD5Digest_processLength", "nlei_PlatformRuntime$checkImmediateContinueSupport0$lambda$_51_0_run", "nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_0_run", "nle_Base64_encode", "ju_GregorianCalendar_computeTime", "ju_GregorianCalendar_computeFields", "otcit_DateTimeZoneProvider$1_compare", "ju_ArrayList_clear", "otcic_StdoutOutputStream_write", "otcic_StderrOutputStream_write",
        "ji_InputStreamReader_close", "jl_StringBuilder_insert9", "nms_NBTTagCompound_toString", "nms_NBTTagEnd_toString", "jl_Enum_toString", "nms_NBTTagByte_toString", "nms_NBTTagShort_toString", "nms_NBTTagInt_toString", "nms_NBTTagLong_toString", "nms_NBTTagFloat_toString", "nms_NBTTagDouble_toString", "nms_NBTTagByteArray_toString", "nms_NBTTagString_toString", "nms_NBTTagList_toString", "nlei_EnumPlatformAgent_toString", "nlei_EnumPlatformOS_toString", "nlei_EnumPlatformANGLE_toString", "jl_Long_toString",
        "jur_AbstractSet_toString", "ji_ByteArrayInputStream_read0", "jl_Integer_toString0", "nlei_EnumPlatformType_values", "nms_ItemCloth_getIconIndex", "nms_ItemLog_getIconIndex", "nms_ItemSlab_getIconIndex", "nms_ItemDye_getIconIndex", "nms_EnumOptions_values", "nlei_PlatformRuntime$7_isValidToken", "nlei_PlatformRuntime$5_isValidToken", "nlei_PlatformRuntime$7_execute", "nlei_PlatformRuntime$5_execute", "jl_Long_equals", "ji_InputStreamReader_read", "otcit_DateTimeZoneBuilder$PrecalculatedZone_nextTransition",
        "nleib_EaglerArrayByteBuffer_put0", "nleib_EaglerArrayIntBuffer_hasRemaining", "nleib_EaglerArrayIntBuffer_get0", "nleib_EaglerArrayByteBuffer_clear", "nms_EnumMovingObjectType_values", "nleib_EaglerArrayByteBuffer_position0", "nleib_EaglerArrayByteBuffer_capacity", "nleo_EaglercraftGPU$1_destroy", "jl_StringBuilder_insert10", "nms_ShapelessRecipes_getRecipeSize", "jl_Integer_compareTo", "jt_DateFormatElement$Numeric_format", "jt_DateFormatElement$Year_format", "jt_DateFormatElement$WeekdayText_format",
        "jt_DateFormatElement$AmPmText_format", "jt_DateFormatElement$ConstantText_format", "jt_DateFormatElement$Rfc822Timezone_format", "jt_DateFormatElement$GeneralTimezone_format", "jt_DateFormatElement$Iso8601Timezone_format", "jt_DateFormatElement$EraText_format", "jt_DateFormatElement$MonthText_format", "jt_DateFormatElement$Numeric_hashCode", "jt_DateFormatElement$NumericHour_hashCode", "jt_DateFormatElement$Year_hashCode", "jt_DateFormatElement$WeekdayText_hashCode", "jt_DateFormatElement$AmPmText_hashCode",
        "jt_DateFormatElement$ConstantText_hashCode", "jt_DateFormatElement$BaseTimezone_hashCode", "jt_DateFormatElement$Iso8601Timezone_hashCode", "jt_DateFormatElement$EraText_hashCode", "jt_DateFormatElement$MonthText_hashCode", "jt_DateFormatElement$Numeric_equals", "jt_DateFormatElement$NumericHour_equals", "jt_DateFormatElement$Year_equals", "jt_DateFormatElement$WeekdayText_equals", "jt_DateFormatElement$AmPmText_equals", "jt_DateFormatElement$ConstantText_equals", "jt_DateFormatElement$BaseTimezone_equals",
        "jt_DateFormatElement$Iso8601Timezone_equals", "jt_DateFormatElement$EraText_equals", "jt_DateFormatElement$MonthText_equals", "nms_ShapelessRecipes_func_25117_b", "nms_ItemStack_toString", "ju_GenericEnumSet$1_next0", "ju_HashMap$ValueIterator__init_", "jnc_CharsetDecoder_implOnMalformedInput", "implOnMalformedInput", "jl_String_compareTo", "nms_GLAllocation_generateTextureNames", "generateTextureNames", "nleib_IntBuffer_get0", "nms_RenderEngine_readTextureImage", "readTextureImage", "nms_RenderEngine_unwrapImageByColumns",
        "unwrapImageByColumns", "nms_RenderEngine_setupTexture", "setupTexture", "nms_FontRenderer_drawString0", "nle_Mouse_getDX", "getDX", "nle_Mouse_getDY", "getDY", "nmc_Minecraft_isFancyGraphicsEnabled", "isFancyGraphicsEnabled", "nms_InventoryPlayer_armorItemInSlot", "armorItemInSlot", "nms_Entity_getEntityBrightness", "getEntityBrightness", "nms_GuiIngame_renderVignette", "renderVignette", "nms_GuiIngame_renderPumpkinBlur", "renderPumpkinBlur", "olo_GL11_glBlendFunc", "glBlendFunc", "nms_GuiIngame_renderPortalOverlay",
        "renderPortalOverlay", "nms_PlayerController_shouldDrawHUD", "shouldDrawHUD", "olo_GL11_glRotatef", "glRotatef", "nms_RenderHelper_enableStandardItemLighting", "enableStandardItemLighting", "nms_EntityPlayerSP_getPlayerArmorValue", "getPlayerArmorValue", "nms_Entity_isInsideOfMaterial", "isInsideOfMaterial", "nms_RenderHelper_disableStandardItemLighting", "disableStandardItemLighting", "nms_EntityPlayer_func_22060_M", "func_22060_M", "nms_GuiIngame_renderInventorySlot", "renderInventorySlot", "nms_Gui_drawRect",
        "drawRect", "nms_FontRenderer_drawStringWithShadow", "drawStringWithShadow", "nmc_Minecraft_func_6241_m", "func_6241_m", "nmc_Minecraft_func_6262_n", "func_6262_n", "nmc_Minecraft_func_6245_o", "func_6245_o", "nmc_Minecraft_func_21002_o", "func_21002_o", "nle_EagRuntime_maxMemory", "maxMemory", "nle_EagRuntime_totalMemory", "totalMemory", "nle_EagRuntime_freeMemory", "freeMemory", "nms_FontRenderer_getStringWidth", "getStringWidth", "nms_Gui_drawString", "jl_StringBuilder_append4", "npja_Color_HSBtoRGB",
        "HSBtoRGB", "nms_GuiScreen_drawDefaultBackground", "drawDefaultBackground", "nms_Gui_drawCenteredString", "drawCenteredString", "nle_Keyboard_getEventCharacter", "getEventCharacter", "nms_GuiScreen_keyTyped", "keyTyped", "nle_Mouse_getEventX", "getEventX", "nle_Mouse_getEventY", "getEventY", "nms_GuiScreen_mouseMovedOrUp", "mouseMovedOrUp", "nms_GuiScreen_mouseClicked", "mouseClicked", "nms_MathHelper_abs", "olo_GL11_glScalef", "glScalef", "nms_XGuiUmmm__init_", "nms_GuiScreen_initGui", "initGui", "nms_Gui_drawGradientRect",
        "drawGradientRect", "nms_EntityPlayer_getScore", "getScore", "ju_LinkedList$SequentialListIterator_checkConcurrentModification", "ju_HashMap$KeyIterator__init_", "jl_StringBuilder_append12", "jnc_CharsetEncoder_implOnMalformedInput", "jl_Long_compareTo0", "nlei_PlatformOpenGL__wglUniform4f", "_wglUniform4f", "nlev_Matrix4f_store", "store", "nlev_Matrix_store", "nlei_PlatformOpenGL__wglUniformMatrix4fv", "_wglUniformMatrix4fv", "nlei_PlatformOpenGL__wglUniform1f", "_wglUniform1f", "nlev_Matrix4f_transform",
        "transform", "nlei_PlatformOpenGL__wglUniform3f", "_wglUniform3f", "nlei_PlatformOpenGL__wglUniform4i", "_wglUniform4i", "nleo_IExtPipelineCompiler_updatePipeline", "updatePipeline", "nleo_StreamBuffer_resizeInstance", "resizeInstance", "nleo_StreamBuffer$IStreamBufferInitializer_initialize", "jur_CharClass__init_", "jur_AbstractCharClass$LazyJavaLowerCase$1__init_", "jur_AbstractCharClass$LazyJavaUpperCase$1__init_", "jur_AbstractCharClass$LazyJavaWhitespace$1__init_", "jur_AbstractCharClass$LazyJavaMirrored$1__init_",
        "jur_AbstractCharClass$LazyJavaDefined$1__init_", "jur_AbstractCharClass$LazyJavaDigit$1__init_", "jur_AbstractCharClass$LazyJavaIdentifierIgnorable$1__init_", "jur_AbstractCharClass$LazyJavaISOControl$1__init_", "jur_AbstractCharClass$LazyJavaJavaIdentifierPart$1__init_", "jur_AbstractCharClass$LazyJavaJavaIdentifierStart$1__init_", "jur_AbstractCharClass$LazyJavaLetter$1__init_", "jur_AbstractCharClass$LazyJavaLetterOrDigit$1__init_", "jur_AbstractCharClass$LazyJavaSpaceChar$1__init_", "jur_AbstractCharClass$LazyJavaTitleCase$1__init_",
        "jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart$1__init_", "jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart$1__init_", "jur_UnicodeCategory__init_", "jur_UnicodeCategoryScope__init_", "jl_Enum_getDeclaringClass", "getDeclaringClass", "jl_Integer_compare", "otcit_DateTimeZoneBuilder$OfYear_previous", "nms_Tessellator_setColorRGBA", "nleib_ByteBuffer_putFloat0", "jn_ByteOrder_nativeOrder", "nativeOrder", "nleib_ByteBuffer_putInt", "putInt", "nleo_WorldRenderer_grow", "grow", "nleib_ByteBuffer_put0",
        "jnci_AsciiEncoder__init_", "jnci_Iso8859Encoder__init_", "jnci_UTF16Encoder__init_", "nlei_PlatformApplication_addLogMessage", "addLogMessage", "cjj_Inflate_inflate", "cjj_ZStream_setInput", "setInput", "cjj_Inflater_finished", "finished", "cjj_ZStream_finished", "ji_EOFException__init_0", "ji_PrintStream_print", "ji_PrintStream_println2", "ju_Arrays_fill4", "jur_Matcher__init_", "nle_Display_wasResized", "wasResized", "jl_Math_max0", "nmc_Minecraft_resize", "resize", "nms_GuiIngameMenu__init_", "olo_GL11_glColorMask",
        "glColorMask", "nms_EntityRenderer_updateFogColor", "updateFogColor", "nms_EntityRenderer_setupCameraTransform", "setupCameraTransform", "nms_ClippingHelperImplementation_getInstance", "nms_EntityRenderer_setupFog", "setupFog", "nms_RenderGlobal_renderSky", "renderSky", "nms_Frustrum__init_", "nms_Frustrum_setPosition", "nms_RenderGlobal_clipRenderersByFrustrum", "clipRenderersByFrustrum", "nms_RenderGlobal_updateRenderers", "updateRenderers", "nms_RenderGlobal_sortAndRender", "sortAndRender", "nms_EntityLiving_getPosition",
        "getPosition", "nms_RenderGlobal_renderEntities", "renderEntities", "nms_EffectRenderer_func_1187_b", "func_1187_b", "nms_EffectRenderer_renderParticles", "renderParticles", "nms_RenderGlobal_func_959_a", "func_959_a", "nms_RenderGlobal_drawSelectionBox", "drawSelectionBox", "nms_RenderGlobal_func_944_a", "func_944_a", "nms_RenderGlobal_renderClouds", "renderClouds", "nms_EntityRenderer_func_4135_b", "func_4135_b", "nms_TextureFX_onTick", "onTick", "nms_GuiTextField_drawTextBox", "drawTextBox", "nms_RenderEngine_bindTexture",
        "nms_ModelBiped_render", "render", "nms_ModelBase_render", "nms_GuiTextField_updateCursorCounter", "updateCursorCounter", "nle_EagRuntime_fileChooserHasResult", "fileChooserHasResult", "nle_EagRuntime_getFileChooserResult", "getFileChooserResult", "nleo_ImageData_getMimeFromType", "getMimeFromType", "nleo_ImageData_loadImageFile2", "ji_PrintStream_println1", "nle_GuiScreenEditProfile_save", "save", "nle_Keyboard_enableRepeatEvents", "enableRepeatEvents", "nms_PlayerController_getBlockReachDistance",
        "getBlockReachDistance", "nms_EntityLiving_rayTrace", "rayTrace", "nms_Vec3D_distanceTo", "distanceTo", "nms_EntityLiving_getLook", "getLook", "nms_Vec3D_addVector", "addVector", "nms_AxisAlignedBB_addCoord", "addCoord", "nms_AxisAlignedBB_expand", "expand", "nms_World_getEntitiesWithinAABBExcludingEntity", "getEntitiesWithinAABBExcludingEntity", "nms_Entity_canBeCollidedWith", "canBeCollidedWith", "nms_Entity_getCollisionBorderSize", "getCollisionBorderSize", "nms_AxisAlignedBB_func_1169_a", "func_1169_a",
        "nms_AxisAlignedBB_isVecInside", "isVecInside", "nms_MovingObjectPosition__init_1", "nleib_ByteBuffer_put1", "nms_TextureFX_bindImage", "bindImage", "nleo_EaglercraftGPU_glTexSubImage2D", "glTexSubImage2D", "nleib_ByteBuffer_getInt", "getInt", "nms_RenderEngine_averageColor", "averageColor", "nms_World_getLightBrightness", "getLightBrightness", "nms_ItemRenderer_updateEquippedItem", "updateEquippedItem", "nms_EntityRenderer_addRainParticles", "addRainParticles", "nms_EntityFX_onUpdate", "onUpdate", "nms_Entity_onUpdate",
        "nms_RenderEngine_refreshTextures", "refreshTextures", "nms_RenderGlobal_loadRenderers", "loadRenderers", "nms_GameSettings_saveOptions", "saveOptions", "nms_GuiContainer_drawScreen", "nms_PlayerController_func_20086_a", "func_20086_a", "nms_MouseHelper_grabMouseCursor", "grabMouseCursor", "nmc_Minecraft_changeWorld", "changeWorld", "nms_MouseHelper_ungrabMouseCursor", "ungrabMouseCursor", "nms_EntityPlayerSP_resetPlayerKeyState", "resetPlayerKeyState", "ju_Date_getTime", "getTime", "ju_Map_entrySet",
        "entrySet", "ju_Map$Entry_getKey", "ju_Map$Entry_getValue", "nle_BaseNCodec_ensureBufferSize", "ensureBufferSize", "nle_Base64_validateTrailingCharacter", "validateTrailingCharacter", "nle_Base64_validateCharacter", "validateCharacter", "nle_BaseNCodec_available", "ju_AbstractList_listIterator0", "nlec_MD5Digest_F", "F", "nlec_MD5Digest_rotateLeft", "nlec_MD5Digest_G", "G", "nlec_MD5Digest_H", "H", "nlec_MD5Digest_K", "K", "nlei_PlatformRuntime_lambda$checkImmediateContinueSupport0$6", "lambda$checkImmediateContinueSupport0$6",
        "nlei_PlatformRuntime_lambda$immediateContinueTeaVM0$3", "lambda$immediateContinueTeaVM0$3", "ju_Calendar_isLenient", "isLenient", "ju_GregorianCalendar_isLeapYear", "isLeapYear", "ju_GregorianCalendar_daysFromBaseYear", "daysFromBaseYear", "ju_GregorianCalendar_daysInYear", "daysInYear", "ju_GregorianCalendar_daysInMonth", "daysInMonth", "ju_GregorianCalendar_getTimeZoneOffset", "getTimeZoneOffset", "ju_Calendar_getFirstDayOfWeek", "ju_GregorianCalendar_mod7", "mod7", "ju_Calendar_getMinimalDaysInFirstWeek",
        "ju_GregorianCalendar_fullFieldsCalc", "fullFieldsCalc", "ju_GregorianCalendar_cachedFieldsCheckAndGet", "cachedFieldsCheckAndGet", "jt_DecimalFormat$PerMillField__init_", "jt_DecimalFormat$CurrencyField__init_", "jt_DecimalFormat$PercentField__init_", "otcit_DateTimeZoneProvider$1_compare0", "ju_Hashtable$Entry_getKeyHash", "getKeyHash", "ju_Formatter_requireOpen", "requireOpen", "ju_Formatter$FormatWriter__init_", "ju_Formatter$FormatWriter_write", "otcic_Console_writeStdout", "writeStdout", "otcic_Console_writeStderr",
        "writeStderr", "jl_StringBuilder_insert11", "otcit_DateTimeZoneBuilder$RuleSet_firstTransition", "firstTransition", "otcit_DateTimeZoneBuilder_addTransition", "addTransition", "otcit_DateTimeZoneBuilder$Transition_getMillis", "getMillis", "otcit_DateTimeZoneBuilder$Transition_getSaveMillis", "otcit_DateTimeZoneBuilder$RuleSet__init_0", "otcit_DateTimeZoneBuilder$RuleSet_getUpperLimit", "getUpperLimit", "otcit_DateTimeZoneBuilder$RuleSet_nextTransition", "otcit_DateTimeZoneBuilder$RuleSet_buildTailZone",
        "buildTailZone", "otcit_DateTimeZoneBuilder_buildFixedZone", "buildFixedZone", "otcit_DateTimeZoneBuilder$PrecalculatedZone_create", "otcit_DateTimeZoneBuilder$Transition_getWallOffset", "getWallOffset", "otcit_DateTimeZoneBuilder$Transition_getStandardOffset", "otcit_DateTimeZoneBuilder$OfYear_next", "nms_NBTBase_getTagName", "getTagName", "jl_Long_toString0", "jur_AbstractSet_getQualifiedName", "getQualifiedName", "nleiv_VFile2_getInputStream", "getInputStream", "ji_InputStreamReader__init_2", "nms_GameSettings_parseFloat",
        "parseFloat", "nleiv_VFile2_isRelative", "isRelative", "nleiv_VFile2_getFS", "getFS", "nlei_IEaglerFilesystem_eaglerExists", "eaglerExists", "nms_TexturePackBase_func_6484_b", "func_6484_b", "nms_Tessellator_setTextureUV", "setTextureUV", "nms_ItemStack_getItemDamage", "getItemDamage", "nms_BlockCloth_func_21034_c", "func_21034_c", "nms_EntityDiggingFX__init_", "nms_EntityDiggingFX_func_4041_a", "func_4041_a", "nms_EntityFX_func_407_b", "func_407_b", "nms_EntityFX_func_405_d", "func_405_d", "nms_EffectRenderer_addEffect",
        "addEffect", "jl_Long_compareUnsigned", "jl_Long_divideUnsigned", "jl_Long_remainderUnsigned", "cjj_InfCodes_free", "cjj_Checksum_reset", "otciu_CLDRHelper_resolveEras", "resolveEras", "otciu_CLDRHelper_resolveAmPm", "resolveAmPm", "otciu_CLDRHelper_resolveWeekdays", "resolveWeekdays", "otciu_CLDRHelper_resolveShortWeekdays", "resolveShortWeekdays", "otciu_CLDRHelper_resolveMonths", "resolveMonths", "otciu_CLDRHelper_resolveShortMonths", "resolveShortMonths", "jn_Buffer_hasRemaining", "jn_CharBuffer_get",
        "ji_InputStreamReader_fillBuffer", "otcit_DateTimeZoneBuilder$DSTZone_nextTransition", "nleib_ByteBuffer_get0", "ju_Random_random$js_body$_10", "random$js_body$_10", "nleit_TeaVMClientConfigAdapterHooks_lambda$callHookSafe$5", "lambda$callHookSafe$5", "nlei_GLObjectMap_resize", "nlev_Matrix4f_load0", "nleo_EaglercraftGPU$1_destroy0", "nleit_TeaVMClientConfigAdapterHooks_lambda$callHookSafeSync$6", "lambda$callHookSafeSync$6", "nleit_TeaVMClientConfigAdapterHooks_lambda$callHookSafeWithReturn$7", "lambda$callHookSafeWithReturn$7",
        "jl_StringBuilder_insert12", "jl_Class_getClassLoader", "getClassLoader", "jl_ClassLoader_getResourceAsStream", "jl_String_replace", "nle_EaglerOutputStream_ensureCapacity", "jl_Integer_compareTo0", "jt_DateFormatElement$Numeric_processBeforeFormat", "processBeforeFormat", "jl_StringBuffer_append3", "jl_StringBuffer_append4", "ju_Calendar_getTimeInMillis", "getTimeInMillis", "ju_TimeZone_getOffset", "ju_TimeZone_getID", "ju_TimeZone_getDisplayName", "getDisplayName", "ju_TimeZone_getRawOffset", "getRawOffset",
        "ju_Objects_hash", "hash", "ju_Arrays_hashCode", "ju_Arrays_equals0", "ju_HashMap$AbstractMapIterator__init_", "olo_GL11_glGenTextures", "glGenTextures", "nleib_IntBuffer_position", "nleib_IntBuffer_limit", "nleo_ImageData_getWidth", "nleo_ImageData_getHeight", "nleo_ImageData__init_0", "nleo_ImageData_drawLayer", "drawLayer", "nlei_PlatformInput_mouseGetDX", "mouseGetDX", "nlei_PlatformInput_mouseGetDY", "mouseGetDY", "nleo_GlStateManager_blendFunc", "blendFunc", "nleo_GlStateManager_rotate", "rotate",
        "nms_RenderHelper__clinit_", "nleo_GlStateManager_enableMCLight", "nleo_GlStateManager_setMCLightAmbient", "setMCLightAmbient", "nms_RenderItem_renderItemIntoGUI", "renderItemIntoGUI", "nms_RenderItem_renderItemOverlayIntoGUI", "renderItemOverlayIntoGUI", "nlei_PlatformRuntime_maxMemory", "nlei_PlatformRuntime_totalMemory", "nlei_PlatformRuntime_freeMemory", "jl_AbstractStringBuilder_append11", "npja_Color__clinit_", "jl_Math_floor", "floor", "nms_GuiButton_drawButton", "drawButton", "nlei_PlatformInput_keyboardGetEventCharacter",
        "keyboardGetEventCharacter", "nlei_PlatformInput_mouseGetEventX", "mouseGetEventX", "nlei_PlatformInput_mouseGetEventY", "mouseGetEventY", "nleo_GlStateManager_scale", "scale", "nleo_GlStateManager$TexGen__clinit_", "otjt_ArrayBuffer_create$js_body$_3", "otjt_Int16Array_create$js_body$_4", "otji_JS_wrap6", "otjt_Int8Array_create$js_body$_4", "nleib_ByteBuffer_rewind", "rewind", "nleit_DebugConsoleWindow_addLogMessage", "ju_Arrays_fill5", "jur_Pattern_groupCount", "groupCount", "jur_Pattern_compCount",
        "compCount", "jur_Pattern_consCount", "consCount", "jur_MatchResultImpl__init_", "jur_MatchResultImpl_useAnchoringBounds", "useAnchoringBounds", "nlei_PlatformInput_wasResized", "jl_Math_maxImpl", "maxImpl", "nlei_IClientConfigAdapterHooks_callScreenChangedHook", "callScreenChangedHook", "nleo_GlStateManager_colorMask", "colorMask", "jl_Math_pow", "pow", "nms_World_func_4079_a", "func_4079_a", "nms_World_getFogColor", "getFogColor", "nms_EntityRenderer_func_914_d", "func_914_d", "nleo_GlStateManager_gluPerspective",
        "gluPerspective", "olo_GL11_glScaled", "glScaled", "nms_EntityRenderer_hurtCameraEffect", "hurtCameraEffect", "nms_EntityRenderer_setupViewBobbing", "setupViewBobbing", "nms_EntityRenderer_orientCamera", "orientCamera", "nms_ClippingHelperImplementation__clinit_", "nms_ClippingHelperImplementation_init", "nms_EntityRenderer_func_908_a", "func_908_a", "nleo_EaglercraftGPU_glFog", "glFog", "nleo_EaglercraftGPU_glNormal3f", "glNormal3f", "olo_GL11_glFogi", "glFogi", "olo_GL11_glFogf", "glFogf", "olo_GL11_glColorMaterial",
        "glColorMaterial", "nms_ItemRenderer_renderItemInFirstPerson", "renderItemInFirstPerson", "nms_ItemRenderer_renderOverlays", "renderOverlays", "nlei_PlatformApplication_fileChooserHasResult0", "nlei_PlatformApplication_getFileChooserResult0", "nms_GuiTextField_getText", "getText", "nms_NBTTagCompound_setInteger", "setInteger", "nms_NBTTagCompound_setString", "setString", "nms_NBTTagCompound_setCompoundTag", "setCompoundTag", "nle_LocalStorageManager_saveStorageP", "saveStorageP", "nms_NBTTagCompound_setByteArray",
        "setByteArray", "nlei_PlatformInput_keyboardEnableRepeatEvents", "keyboardEnableRepeatEvents", "nms_Vec3D_createVector", "createVector", "nlei_PlatformOpenGL__wglTexSubImage2D", "_wglTexSubImage2D", "nms_World_func_696_e", "func_696_e", "nms_EntityRainFX__init_", "nms_GuiContainer_drawGuiContainerBackgroundLayer", "drawGuiContainerBackgroundLayer", "nms_InventoryPlayer_getItemStack", "getItemStack", "nms_GuiContainer_drawSlotInventory", "drawSlotInventory", "nms_GuiContainer_getIsMouseOverSlot", "getIsMouseOverSlot",
        "nms_GuiContainer_drawGuiContainerForegroundLayer", "drawGuiContainerForegroundLayer", "nms_Slot_getHasStack", "getHasStack", "nms_Slot_getStack", "getStack", "nms_ItemStack_func_20109_f", "func_20109_f", "nms_StringTranslate_translateNamedKey", "translateNamedKey", "nle_BaseNCodec_isStrictDecoding", "isStrictDecoding", "ju_GregorianCalendar_computeYearAndDay", "computeYearAndDay", "ju_FormatterClosedException__init_", "jl_AbstractStringBuilder_insert4", "jl_AbstractStringBuilder_insert5", "otcic_Console_writeJsStdout$js_body$_4",
        "writeJsStdout$js_body$_4", "otcic_Console_writeJs$js_body$_3", "writeJs$js_body$_3", "otcit_DateTimeZoneBuilder$Transition_isTransitionFrom", "isTransitionFrom", "jl_Float_parseFloat", "nms_EntityFX__init_", "otciu_CLDRHelper_getErasMap", "getErasMap", "otciu_CLDRHelper_resolveDateFormatSymbols", "resolveDateFormatSymbols", "otciu_CLDRHelper_getAmPmMap", "getAmPmMap", "otciu_CLDRHelper_getWeekdayMap", "getWeekdayMap", "otciu_CLDRHelper_getShortWeekdayMap", "getShortWeekdayMap", "otciu_CLDRHelper_getMonthMap",
        "getMonthMap", "otciu_CLDRHelper_getShortMonthMap", "getShortMonthMap", "jn_CharBuffer_compact", "compact", "jnc_CharsetDecoder_decode0", "ji_InputStreamReader_fillReadBuffer", "fillReadBuffer", "jn_CharBuffer_flip", "jnc_CharsetDecoder_flush", "jnc_CoderResult_isUnderflow", "isUnderflow", "juf_Supplier_get", "ju_Objects_hashCode", "ju_Arrays_mismatchImpl0", "nleo_GlStateManager_generateTexture", "generateTexture", "nleib_IntBuffer_put1", "nleo_GlStateManager_tryBlendFuncSeparate", "tryBlendFuncSeparate",
        "nlei_PlatformOpenGL__wglBlendFunc", "_wglBlendFunc", "nleo_GlStateManager__glRotatefZ", "_glRotatefZ", "nleo_GlStateManager__glRotatef", "_glRotatef", "nleo_GlStateManager__glRotatefY", "_glRotatefY", "nleo_GlStateManager__glRotatefX", "_glRotatefX", "npevv_Vec3D_112__init_", "npevv_Vec3D_112_normalize", "jl_AbstractStringBuilder_insert2", "npja_Color__init_", "nleo_GlStateManager$TexGen__init_", "nleo_GlStateManager$TexGen_$values", "nleit_DebugConsoleWindow$LogMessage__init_0", "nleit_DebugConsoleWindow_appendLogMessageAndScroll",
        "appendLogMessageAndScroll", "ju_Arrays_fill1", "jur_MatchResultImpl_reset", "nlei_PlatformOpenGL__wglColorMask", "_wglColorMask", "jl_Math_powImpl", "powImpl", "jl_Math_abs0", "nms_World_getBlockMetadata", "getBlockMetadata", "nms_World_rayTraceBlocks", "rayTraceBlocks", "nms_ClippingHelperImplementation__init_", "olo_GL11_glGetFloat", "glGetFloat", "nleib_FloatBuffer_limit", "nleib_FloatBuffer_get", "nms_ClippingHelperImplementation_normalize", "nleib_FloatBuffer_position", "nleib_FloatBuffer_get0",
        "nleib_FloatBuffer_position0", "nleo_GlStateManager_setFog", "setFog", "nleo_GlStateManager_setFogDensity", "setFogDensity", "nleo_GlStateManager_setFogStart", "setFogStart", "nleo_GlStateManager_setFogEnd", "setFogEnd", "ji_ByteArrayOutputStream__init_", "ji_DataOutputStream__init_", "nms_NBTBase_writeTag", "writeTag", "ji_ByteArrayOutputStream_toByteArray", "nle_EagRuntime_setStorage", "setStorage", "nms_Vec3D_setComponents", "setComponents", "nms_Entity_setSize", "setSize", "nms_Slot_getBackgroundIconIndex",
        "getBackgroundIconIndex", "ju_GregorianCalendar_daysInYear0", "otcit_FloatSynthesizer_synthesizeFloat", "synthesizeFloat", "nms_Entity__init_", "nms_Entity_setPosition", "nms_MathHelper_sqrt_double", "sqrt_double", "otciu_CLDRHelper_getErasMap$$create", "getErasMap$$create", "otciu_CLDRHelper_getAmPmMap$$create", "getAmPmMap$$create", "otciu_CLDRHelper_getWeekdayMap$$create", "getWeekdayMap$$create", "otciu_CLDRHelper_getShortWeekdayMap$$create", "getShortWeekdayMap$$create", "otciu_CLDRHelper_getMonthMap$$create",
        "getMonthMap$$create", "otciu_CLDRHelper_getShortMonthMap$$create", "getShortMonthMap$$create", "jn_ByteBuffer_compact", "jn_ByteBuffer_flip", "jl_ClassLoader__clinit_", "nlei_PlatformOpenGL__wglBlendFuncSeparate", "_wglBlendFuncSeparate", "npevv_Vec3D_112__clinit_", "npja_Color__init_0", "nleit_DebugConsoleWindow_isScrollToEnd$js_body$_11", "isScrollToEnd$js_body$_11", "nleit_DebugConsoleWindow_appendLogMessage", "appendLogMessage", "nleit_DebugConsoleWindow_scrollToEnd0$js_body$_12", "scrollToEnd0$js_body$_12",
        "jl_Math_absImpl", "absImpl", "nms_ClippingHelper__init_", "nleo_GlStateManager_getFloat", "getFloat", "ji_ByteArrayOutputStream__init_0", "ji_DataOutput_writeByte", "writeByte", "ji_DataOutput_writeUTF", "writeUTF", "nms_NBTBase_writeTagContents", "writeTagContents", "nlei_PlatformApplication_setLocalStorage0", "otcit_FloatSynthesizer__clinit_", "otcit_FloatAnalyzer_mulAndShiftRight", "mulAndShiftRight", "nms_AxisAlignedBB_getBoundingBox", "getBoundingBox", "nms_DataWatcher__init_", "jl_Byte_valueOf",
        "nms_DataWatcher_addObject", "addObject", "nms_Entity_entityInit", "entityInit", "jl_SystemClassLoader__init_", "npja_Color_testColorValueRange", "testColorValueRange", "otcit_FloatAnalyzer__clinit_", "nms_AxisAlignedBB__init_", "nms_DataWatcher__clinit_", "jl_Byte__clinit_", "jl_Byte__init_", "jl_ClassLoader__init_", "jl_ClassLoader__init_0", "ju_HashMap$ValueIterator_next", "ju_HashMap$AbstractMapIterator_hasNext", "ju_HashMap$KeyIterator_next", "jur_AbstractCharClass$LazyJavaLowerCase$1_contains",
        "jur_AbstractCharClass$LazyJavaUpperCase$1_contains", "jur_AbstractCharClass$LazyJavaWhitespace$1_contains", "jur_AbstractCharClass$LazyJavaMirrored$1_contains", "jur_AbstractCharClass$LazyJavaDefined$1_contains", "jur_AbstractCharClass$LazyJavaDigit$1_contains", "jur_AbstractCharClass$LazyJavaIdentifierIgnorable$1_contains", "jur_AbstractCharClass$LazyJavaISOControl$1_contains", "jur_AbstractCharClass$LazyJavaJavaIdentifierPart$1_contains", "jur_AbstractCharClass$LazyJavaJavaIdentifierStart$1_contains",
        "jur_AbstractCharClass$LazyJavaLetter$1_contains", "jur_AbstractCharClass$LazyJavaLetterOrDigit$1_contains", "jur_AbstractCharClass$LazyJavaSpaceChar$1_contains", "jur_AbstractCharClass$LazyJavaTitleCase$1_contains", "jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart$1_contains", "jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart$1_contains", "nleib_EaglerArrayByteBuffer_position", "jl_Boolean_hashCode", "ju_Locale_hashCode", "ju_Locale_equals", "nleib_EaglerArrayFloatBuffer_position", "nleib_EaglerArrayFloatBuffer_get",
        "nleib_EaglerArrayFloatBuffer_position0", "nms_EntityFX_entityInit", "nleib_EaglerArrayFloatBuffer_limit", "nleib_EaglerArrayFloatBuffer_get0", "ji_ByteArrayOutputStream_write", "jur_UnicodeCategory_contains", "jur_UnicodeCategoryScope_contains", "jur_CharClass$18_toString", "jur_CharClass_toString", "jl_StringBuffer_ensureCapacity", "ju_MapEntry_equals", "ju_MapEntry_hashCode", "nlei_EnumPlatformType_toString", "ju_MapEntry_toString", "nleib_EaglerArrayIntBuffer_get", "nle_GuiScreenEditProfile_keyTyped",
        "nms_GuiMainMenu_keyTyped", "nms_GuiContainer_keyTyped", "nms_GuiChat_keyTyped", "nms_GuiSleepMP_keyTyped", "nms_GuiGameOver_keyTyped", "nms_GuiContainer_mouseMovedOrUp", "nle_GuiScreenEditProfile_mouseClicked", "nms_GuiContainer_mouseClicked", "nms_GuiChat_mouseClicked", "nms_GuiConflictWarning_initGui", "nle_GuiScreenEditProfile_initGui", "nms_GuiMainMenu_initGui", "nms_GuiInventory_initGui", "nms_GuiChat_initGui", "nms_GuiSleepMP_initGui", "nms_GuiGameOver_initGui", "nleo_FixedFunctionPipeline$_init_$lambda$_12_0_initialize",
        "nleib_EaglerArrayByteBuffer_limit", "nleib_EaglerArrayByteBuffer_putFloat0", "nleib_EaglerArrayByteBuffer_putInt", "nleib_EaglerArrayByteBuffer_put1", "nms_GuiIngameMenu_drawScreen", "nms_GuiIngameMenu_updateScreen", "nms_GuiIngameMenu_initGui", "nms_TextureWaterFX_onTick", "nms_TextureLavaFX_onTick", "nms_TexturePortalFX_onTick", "nleb_TextureNewClockFX_onTick", "nms_TexureWaterFlowFX_onTick", "nms_TextureLavaFlowFX_onTick", "nms_TextureFlamesFX_onTick", "nleib_EaglerArrayByteBuffer_put", "nleib_EaglerArrayByteBuffer_getInt",
        "ju_HashMap_entrySet", "ju_LinkedList_listIterator", "ju_AbstractSequentialList_add", "ju_AbstractCollection_removeAll", "removeAll", "nms_BlockLog_getBlockTextureFromSideAndMetadata", "nms_BlockLeaves_getBlockTextureFromSideAndMetadata", "nms_BlockBed_getBlockTextureFromSideAndMetadata", "nms_BlockCloth_getBlockTextureFromSideAndMetadata", "nms_BlockStairs_getBlockTextureFromSideAndMetadata", "nms_BlockRedstoneWire_getBlockTextureFromSideAndMetadata", "nms_BlockCrops_getBlockTextureFromSideAndMetadata",
        "nms_BlockSoil_getBlockTextureFromSideAndMetadata", "nms_BlockDoor_getBlockTextureFromSideAndMetadata", "nms_BlockMinecartTrack_getBlockTextureFromSideAndMetadata", "nms_BlockRedstoneTorch_getBlockTextureFromSideAndMetadata", "nms_BlockPumpkin_getBlockTextureFromSideAndMetadata", "nms_BlockCake_getBlockTextureFromSideAndMetadata", "cjj_Adler32_reset", "nleib_EaglerArrayByteBuffer_get1", "jt_DateFormatElement$NumericHour_processBeforeFormat", "jt_DateFormatElement$NumericWeekday_processBeforeFormat",
        "jt_DateFormatElement$NumericMonth_processBeforeFormat", "ju_IANATimeZone_getOffset", "ju_IANATimeZone_getRawOffset", "nleib_EaglerArrayIntBuffer_position", "nleib_EaglerArrayIntBuffer_limit", "nleo_GlStateManager$TexGen_values", "nleib_EaglerArrayByteBuffer_rewind", "nleit_TeaVMClientConfigAdapterHooks_callScreenChangedHook", "nms_GuiInventory_drawGuiContainerBackgroundLayer", "nms_GuiInventory_drawGuiContainerForegroundLayer", "jl_StringBuilder_insert0", "jl_StringBuffer_insert1", "jn_CharBufferImpl_compact",
        "nleit_TeaVMClientConfigAdapterHooks$callLocalStorageSavedHook$lambda$_1_0_run", "nleit_TeaVMClientConfigAdapterHooks$callCrashReportHook$lambda$_4_0_run", "nleit_TeaVMClientConfigAdapterHooks$callLocalStorageLoadHook$lambda$_2_0_get", "nleib_EaglerArrayIntBuffer_put1", "jl_StringBuilder_insert13", "jn_ByteBufferImpl_compact", "ji_DataOutputStream_writeByte", "ji_DataOutputStream_writeUTF", "nms_NBTTagCompound_writeTagContents", "jt_DecimalFormat$PerMillField_hashCode", "jt_DecimalFormat$PerMillField_equals",
        "jt_DecimalFormat$TextField_hashCode", "jt_DecimalFormat$TextField_equals", "jt_DecimalFormat$CurrencyField_hashCode", "jt_DecimalFormat$CurrencyField_equals", "jt_DecimalFormat$MinusField_hashCode", "jt_DecimalFormat$MinusField_equals", "jt_DecimalFormat$PercentField_hashCode", "jt_DecimalFormat$PercentField_equals", "nms_TexturePackDefault_func_6484_b", "nms_Vec3D_toString", "ju_HashMap$AbstractMapIterator_makeNext", "makeNext", "jnc_CharsetDecoder_implOnUnmappableCharacter", "implOnUnmappableCharacter",
        "nms_XErrr_func_25127_a", "func_25127_a", "nms_XErrr_func_25125_a", "func_25125_a", "nms_FontRenderer_getCharWidth", "getCharWidth", "jnc_CharsetEncoder_implOnUnmappableCharacter", "nleo_EaglercraftGPU_attachQuad32EmulationBuffer", "attachQuad32EmulationBuffer", "nleo_EaglercraftGPU_drawElements", "drawElements", "nleo_EaglercraftGPU_attachQuad16EmulationBuffer", "attachQuad16EmulationBuffer", "jl_Character_isLowerCase", "isLowerCase", "jl_Character_isUpperCase", "isUpperCase", "jl_Character_isDefined",
        "isDefined", "jl_Character_isDigit", "isDigit", "jl_Character_isIdentifierIgnorable", "isIdentifierIgnorable", "jl_Character_isISOControl", "isISOControl", "jl_Character_isJavaIdentifierPart", "isJavaIdentifierPart", "jl_Character_isJavaIdentifierStart", "isJavaIdentifierStart", "jl_Character_isLetter", "jl_Character_isLetterOrDigit", "isLetterOrDigit", "jl_Character_isTitleCase", "isTitleCase", "jl_Character_isUnicodeIdentifierPart", "isUnicodeIdentifierPart", "jl_Character_isUnicodeIdentifierStart",
        "isUnicodeIdentifierStart", "jur_Matcher_hasTransparentBounds", "hasTransparentBounds", "jur_Matcher_find0", "jur_MatchResultImpl_mode", "mode", "jur_MatchResultImpl_end", "jur_MatchResultImpl_start", "jur_Matcher_start0", "jur_Matcher_end0", "nms_ModelBiped_setRotationAngles", "setRotationAngles", "nms_ModelBase_setRotationAngles", "nms_ModelRenderer_render", "jl_Boolean_hashCode0", "nms_AxisAlignedBB_setBounds", "ji_ByteArrayOutputStream_ensureCapacity", "nms_AxisAlignedBB_getBoundingBoxFromPool",
        "getBoundingBoxFromPool", "jl_Character_getType0", "jl_StringBuilder_deleteCharAt", "deleteCharAt", "jl_Class_getSuperclass", "getSuperclass", "nleo_EaglercraftGPU_glTexParameteri", "glTexParameteri", "nleo_ImageData_getRGB", "getRGB", "nleo_EaglercraftGPU_glTexImage2D", "glTexImage2D", "nms_RenderEngine_weightedAverageColor", "weightedAverageColor", "nms_FontRenderer_renderString", "renderString", "nms_RenderGlobal_func_953_b", "func_953_b", "nms_RenderGlobal_func_957_c", "func_957_c", "nms_EffectRenderer_getStatistics",
        "getStatistics", "nms_World_func_687_d", "func_687_d", "nms_World_func_21119_g", "func_21119_g", "nms_GuiScreen_drawWorldBackground", "drawWorldBackground", "nms_GuiTextField_textboxKeyTyped", "textboxKeyTyped", "nms_GuiTextField_setText", "setText", "nms_EntityPlayerSP_func_20059_m", "func_20059_m", "nms_EntityPlayer_func_20059_m", "nmc_Minecraft_lineIsCommand", "lineIsCommand", "nms_EntityPlayerSP_sendChatMessage", "sendChatMessage", "nms_FontAllowedCharacters_isAllowed", "isAllowed", "nms_GuiSleepMP_func_22115_j",
        "func_22115_j", "nms_GuiButton_mouseReleased", "mouseReleased", "nms_GuiButton_mousePressed", "mousePressed", "nms_SoundManager_func_337_a", "func_337_a", "nms_GuiScreen_actionPerformed", "actionPerformed", "nms_GuiTextField_mouseClicked", "nms_GuiContainer_getSlotAtPosition", "getSlotAtPosition", "nms_PlayerController_func_20085_a", "func_20085_a", "nms_GuiButton__init_", "nms_GuiTextField__init_", "nms_GuiTextField_setMaxStringLength", "setMaxStringLength", "nms_GuiButton__init_0", "nms_Tessellator_setColorRGBA_F",
        "setColorRGBA_F", "jl_Long_compare", "nleo_FixedFunctionPipeline_lambda$new$0", "lambda$new$0", "ju_Calendar_set", "ju_GregorianCalendar_add", "ju_Calendar_add", "otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthPrevious", "setDayOfMonthPrevious", "otcit_DateTimeZoneBuilder$OfYear_setDayOfWeek", "setDayOfWeek", "otji_JS_wrap7", "cjj_InfBlocks_proc", "proc", "cjj_Inflate_readBytes", "readBytes", "cjj_Inflate_checksum", "checksum", "cjj_Inflate_readBytes0", "cjj_Inflate_readString", "readString", "cjj_Checksum_getValue",
        "cjj_GZIPHeader__init_", "cjj_Checksum_reset0", "nms_World_func_650_a", "func_650_a", "olo_GL11_glColor3f", "glColor3f", "nleo_EaglercraftGPU_glCallList", "glCallList", "nms_World_getCelestialAngle", "getCelestialAngle", "nms_WorldProvider_calcSunriseSunsetColors", "calcSunriseSunsetColors", "nms_World_getStarBrightness", "getStarBrightness", "nms_WorldRenderer_canRender", "canRender", "nms_WorldRenderer_updateInFrustrum", "updateInFrustrum", "nms_RenderSorter__init_", "nms_WorldRenderer_distanceToEntitySquared",
        "distanceToEntitySquared", "nms_WorldRenderer_updateRenderer", "nms_RenderSorter_func_993_a", "func_993_a", "nms_RenderGlobal_renderSortedRenderers", "renderSortedRenderers", "nms_RenderGlobal_markRenderersForNewPosition", "markRenderersForNewPosition", "nms_EntitySorter__init_", "nms_TileEntityRenderer_cacheActiveRenderInfo", "cacheActiveRenderInfo", "nms_RenderManager_cacheActiveRenderInfo", "nms_World_getLoadedEntityList", "getLoadedEntityList", "nms_Entity_isInRangeToRenderVec3D", "isInRangeToRenderVec3D",
        "nms_ICamera_isBoundingBoxInFrustum", "isBoundingBoxInFrustum", "nms_World_blockExists", "blockExists", "nms_RenderManager_renderEntity", "renderEntity", "nms_TileEntityRenderer_renderTileEntity", "renderTileEntity", "nms_EntityFX_renderParticle", "renderParticle", "olo_GL11_glPolygonOffset", "glPolygonOffset", "nms_Tessellator_setTranslationD", "setTranslationD", "nms_Tessellator_disableColor", "disableColor", "nms_RenderBlocks_renderBlockUsingTexture", "renderBlockUsingTexture", "nms_Block_setBlockBoundsBasedOnState",
        "setBlockBoundsBasedOnState", "nms_Block_getSelectedBoundingBoxFromPool", "getSelectedBoundingBoxFromPool", "nms_AxisAlignedBB_getOffsetBoundingBox", "getOffsetBoundingBox", "nms_RenderGlobal_drawOutlinedBoundingBox", "drawOutlinedBoundingBox", "nms_RenderList_func_860_a", "func_860_a", "nms_World_func_628_d", "func_628_d", "nms_RenderGlobal_renderCloudsFancy", "renderCloudsFancy", "nms_TexturePackBase_getReqResStream", "getReqResStream", "nms_BlockLeaves_setGraphicsLevel", "setGraphicsLevel", "nms_WorldRenderer_func_1204_c",
        "func_1204_c", "nms_WorldRenderer__init_", "nms_WorldRenderer_markDirty", "markDirty", "nleiv_VFile2_getOutputStream", "getOutputStream", "ji_OutputStreamWriter__init_", "ji_PrintWriter__init_", "ji_PrintWriter_close", "ji_PrintWriter_println", "nle_Mouse_setGrabbed", "setGrabbed", "nms_LoadingScreenRenderer_printText", "printText", "nms_LoadingScreenRenderer_displayLoadingString", "displayLoadingString", "nms_SoundManager_playSound", "playSound", "nms_World_func_651_a", "func_651_a", "nms_PlayerController_func_717_a",
        "func_717_a", "nms_World_func_4085_a", "func_4085_a", "nmc_Minecraft_func_6255_d", "func_6255_d", "nms_MovementInputFromOptions__init_0", "nms_PlayerController_createPlayer", "createPlayer", "nms_EntityPlayer_preparePlayerToSpawn", "preparePlayerToSpawn", "nms_Entity_preparePlayerToSpawn", "nms_PlayerController_flipPlayer", "flipPlayer", "nms_RenderGlobal_func_946_a", "func_946_a", "nms_PlayerController_func_6473_b", "func_6473_b", "nms_EffectRenderer_clearEffects", "clearEffects", "nms_World_func_6464_c",
        "func_6464_c", "nms_World_spawnPlayerWithLoadedChunks", "spawnPlayerWithLoadedChunks", "nms_World_entityJoinedWorld", "entityJoinedWorld", "ju_HashMap$HashMapEntrySet__init_", "nle_BaseNCodec_getDefaultBufferSize", "getDefaultBufferSize", "nle_BaseNCodec_resizeBuffer", "resizeBuffer", "ju_ListIterator_add", "jl_Appendable_append", "ju_Formatter$FormatWriter_parseFormatSpecifier", "parseFormatSpecifier", "ju_Formatter$FormatWriter_configureFormat", "configureFormat", "ju_Formatter$FormatWriter_formatValue",
        "formatValue", "otcit_DateTimeZoneBuilder$Transition__init_", "otcit_DateTimeZoneBuilder$Transition__init_0", "otcit_DateTimeZoneBuilder$Rule_getSaveMillis", "otcit_DateTimeZoneBuilder$Transition__init_1", "otcit_DateTimeZoneBuilder$OfYear_setInstant", "setInstant", "otcit_DateTimeZoneBuilder$Rule_next", "ju_Iterator_remove", "otcit_DateTimeZoneBuilder$Rule_getToYear", "getToYear", "otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthNext", "setDayOfMonthNext", "jur_AbstractSet_getName", "nleiv_VFile2_assertNotRelative",
        "assertNotRelative", "nlei_IEaglerFilesystem_eaglerRead", "eaglerRead", "nleiv_VFileInputStream__init_", "ju_Collection_contains", "nms_BlockBed_getDirectionFromMetadata", "getDirectionFromMetadata", "nms_BlockBed_isBlockFootOfBed", "isBlockFootOfBed", "nms_BlockDoor_getState", "getState", "nms_Block_colorMultiplier", "colorMultiplier", "nms_EntityFX_getFXLayer", "getFXLayer", "jn_BufferUnderflowException__init_", "jn_CharBuffer_getChar", "jl_ClassLoader_getSystemClassLoader", "getSystemClassLoader",
        "jl_String_fromArray", "fromArray", "ju_TimeZone_getDisplayName0", "nms_ItemStack_getIconIndex", "nms_Block_getRenderType", "getRenderType", "nms_RenderBlocks_renderItemIn3d", "renderItemIn3d", "nms_RenderBlocks_renderBlockOnInventory", "renderBlockOnInventory", "nms_RenderItem_renderTexturedQuad", "renderTexturedQuad", "nms_ItemStack_isItemDamaged", "isItemDamaged", "nms_ItemStack_getItemDamageForDisplay", "getItemDamageForDisplay", "nms_ItemStack_getMaxDamage", "getMaxDamage", "jl_Math_round", "round",
        "nms_RenderItem_renderQuad", "renderQuad", "nleit_TeaVMClientConfigAdapterHooks$callScreenChangedHook$lambda$_3_0__init_", "nms_EntityLiving_getSwingProgress", "getSwingProgress", "nms_EntityPlayer_getEntityTexture", "getEntityTexture", "nms_EntityLiving_getEntityTexture", "nms_Entity_getEntityTexture", "nms_RenderEngine_getTextureForDownloadableImage", "getTextureForDownloadableImage", "nms_RenderManager_getEntityRenderObject", "getEntityRenderObject", "nms_RenderPlayer_drawFirstPersonHand", "drawFirstPersonHand",
        "nms_ItemStack_getItem", "getItem", "nms_Item_shouldRotateAroundWhenRendering", "shouldRotateAroundWhenRendering", "nms_ItemRenderer_renderItem", "renderItem", "nms_Entity_isBurning", "isBurning", "nms_EntityPlayer_isEntityInsideOpaqueBlock", "isEntityInsideOpaqueBlock", "nms_Entity_isEntityInsideOpaqueBlock", "nms_ItemRenderer_renderFireInFirstPerson", "renderFireInFirstPerson", "nms_ItemRenderer_renderInsideOfBlock", "renderInsideOfBlock", "nms_ItemRenderer_renderWarpedTextureOverlay", "renderWarpedTextureOverlay",
        "nms_NBTTagInt__init_1", "nms_NBTBase_setKey", "setKey", "nms_NBTTagString__init_1", "nms_NBTTagByteArray__init_1", "jl_Math_atan", "atan", "nms_RenderManager_renderEntityWithPosYaw", "renderEntityWithPosYaw", "jl_StringBuilder_insert14", "jl_StringBuffer_insert2", "jn_CharBufferImpl_isReadOnly", "isReadOnly", "jn_Buffer_isReadOnly", "jn_ReadOnlyBufferException__init_", "jn_CharBuffer_putChar", "putChar", "jn_Buffer_flip", "nleit_TeaVMClientConfigAdapterHooks_lambda$callLocalStorageSavedHook$0", "lambda$callLocalStorageSavedHook$0",
        "nleit_TeaVMClientConfigAdapterHooks_lambda$callCrashReportHook$4", "lambda$callCrashReportHook$4", "nleit_TeaVMClientConfigAdapterHooks_lambda$callLocalStorageLoadHook$1", "lambda$callLocalStorageLoadHook$1", "jl_StringBuilder_insert15", "jur_MatchResultImpl_setBounds", "ji_OutputStream_write1", "ji_DataOutputStream_countUTFBytes", "countUTFBytes", "ji_DataOutputStream_writeShortToBuffer", "writeShortToBuffer", "ji_DataOutputStream_writeUTFBytesToBuffer", "writeUTFBytesToBuffer", "ji_DataOutputStream_write",
        "nms_WatchableObject__init_", "nms_RenderEngine_deleteTexture", "nleo_EaglercraftGPU_bindVAOGLElementArrayBufferNow", "bindVAOGLElementArrayBufferNow", "nleo_EaglercraftGPU_resizeQuad32EmulationBuffer", "resizeQuad32EmulationBuffer", "nleo_EaglercraftGPU_bindVAOGLElementArrayBuffer", "bindVAOGLElementArrayBuffer", "nlei_PlatformOpenGL__wglDrawElements", "_wglDrawElements", "nleo_EaglercraftGPU_resizeQuad16EmulationBuffer", "resizeQuad16EmulationBuffer", "nleo_GlStateManager_setTextureCachedSize", "setTextureCachedSize",
        "nleo_TextureFormatHelper_trivializeInternalFormatToGLES20", "trivializeInternalFormatToGLES20", "nms_FontRenderer_renderStringAtPos", "renderStringAtPos", "nms_Packet19__init_0", "nms_NetClientHandler_addToSendQueue", "addToSendQueue", "otcit_DateTimeZoneBuilder$OfYear_setDayOfMonth", "setDayOfMonth", "cjj_Inflate$Return__init_", "cjj_Checksum_update", "nleo_GlStateManager_color0", "nleo_FixedFunctionPipeline_setupRenderDisplayList", "setupRenderDisplayList", "nleo_FixedFunctionPipeline_drawArrays",
        "nleo_FixedFunctionPipeline_drawElements", "nms_WorldRenderer_getGLCallListForPass", "getGLCallListForPass", "nms_RenderList_func_859_b", "func_859_b", "nms_RenderList_func_862_a", "func_862_a", "nms_RenderList_func_858_a", "func_858_a", "nms_RenderList_func_861_a", "func_861_a", "nms_WorldRenderer_setPosition", "nms_TileEntityRenderer__clinit_", "nleo_GlStateManager_doPolygonOffset", "doPolygonOffset", "ji_OutputStreamWriter_nullCheck", "nullCheck", "ji_OutputStreamWriter__init_0", "ji_PrintWriter__init_0",
        "nms_World_getSpawnPoint", "getSpawnPoint", "nms_World_func_656_j", "func_656_j", "nms_LoadingScreenRenderer_setLoadingProgress", "setLoadingProgress", "nms_MovementInput__init_", "nle_BaseNCodec_compareUnsigned", "nle_BaseNCodec_createPositiveCapacity", "createPositiveCapacity", "ju_Formatter$FormatWriter_parseFlags", "parseFlags", "ju_Formatter$FormatWriter_isDigit", "ju_Formatter$FormatWriter_readInt", "jl_String_valueOf0", "ju_UnknownFormatConversionException__init_", "ju_Formatter$FormatWriter_formatBoolean",
        "formatBoolean", "ju_Formatter$FormatWriter_formatChar", "formatChar", "ju_Formatter$FormatWriter_formatDecimalInt", "formatDecimalInt", "ju_Formatter$FormatWriter_formatHex", "formatHex", "ju_Formatter$FormatWriter_formatRadixInt", "formatRadixInt", "ju_Formatter$FormatWriter_formatString", "formatString", "nms_ModelBed__clinit_", "jl_Float_isNaN$js_body$_14", "isNaN$js_body$_14", "jl_Float_isInfinite$js_body$_15", "isInfinite$js_body$_15", "otcit_FloatAnalyzer_analyze", "analyze", "jl_AbstractStringBuilder_trailingDecimalZeros",
        "trailingDecimalZeros", "jl_Math_signum", "signum", "nleit_TeaVMClientConfigAdapterHooks$lambda$callCrashReportHook$4$lambda$_14_0__init_", "nms_XErrr__clinit_", "nleo_SoftGLVertexArray_setIndexBuffer", "setIndexBuffer", "nle_EagRuntime_allocateIntBuffer", "nlei_PlatformOpenGL__wglBufferData0", "nle_EagRuntime_freeIntBuffer", "nleo_EaglercraftGPU_getNativeTexture", "getNativeTexture", "nlei_ITextureGL_setCacheSize", "setCacheSize", "nms_Packet__init_", "nms_TileEntityRenderer__init_", "nlei_PlatformOpenGL__wglPolygonOffset",
        "_wglPolygonOffset", "ji_OutputStreamWriter__init_1", "ji_Writer__init_", "jl_OutOfMemoryError__init_0", "ju_DuplicateFormatFlagsException__init_", "ju_IllegalFormatException__init_0", "ju_Formatter$FormatWriter_verifyFlagsForGeneralFormat", "verifyFlagsForGeneralFormat", "jl_Boolean_toString", "ju_Formatter$FormatWriter_formatGivenString", "formatGivenString", "ju_Formatter$FormatWriter_verifyFlags", "verifyFlags", "ju_IllegalFormatPrecisionException__init_", "jl_Character_charValue", "charValue", "jl_Byte_byteValue",
        "byteValue", "jl_Number_byteValue", "jl_Short_shortValue", "shortValue", "jl_Number_shortValue", "jl_Character_isValidCodePoint", "isValidCodePoint", "ju_IllegalFormatCodePointException__init_", "ju_IllegalFormatConversionException__init_", "ju_Formatter$FormatWriter_verifyIntFlags", "verifyIntFlags", "jl_Math_abs2", "jt_DecimalFormatSymbols_getGroupingSeparator", "getGroupingSeparator", "jt_NumberFormat_getNumberInstance", "getNumberInstance", "jt_DecimalFormat_getGroupingSize", "getGroupingSize", "ju_Formattable_formatTo",
        "formatTo", "jl_AbstractStringBuilder$Constants__clinit_", "jl_Float_floatToIntBits", "floatToIntBits", "ju_Arrays_binarySearch1", "otcit_FloatAnalyzer_findLowerDistance", "findLowerDistance", "otcit_FloatAnalyzer_findUpperDistance", "findUpperDistance", "jl_Math_sign0", "sign", "nleit_TeaVMClientConfigAdapterHooks$lambda$callCrashReportHook$4$lambda$_14_0_call$exported$0", "nleib_EaglerArrayBufferAllocator_getDataView32", "getDataView32", "nms_Packet__clinit_", "nms_TileEntitySignRenderer__init_", "nms_TileEntityMobSpawnerRenderer__init_",
        "nms_TileEntitySpecialRenderer_setTileEntityRenderer", "setTileEntityRenderer", "ji_Writer__init_0", "jl_VirtualMachineError__init_0", "ju_Formatter$FormatWriter_mayBeAppendSpaces", "mayBeAppendSpaces", "ju_Formatter$FormatWriter_flagsToString", "flagsToString", "ju_FormatFlagsConversionMismatchException__init_", "ju_IllegalFormatFlagsException__init_", "ju_MissingFormatWidthException__init_", "otciu_CLDRHelper_resolveNumberFormat", "resolveNumberFormat", "otcit_DoubleAnalyzer$Result__init_", "otcit_FloatAnalyzer$Result__init_",
        "jl_Float_floatToRawIntBits$js_body$_23", "floatToRawIntBits$js_body$_23", "ju_Arrays_binarySearch2", "nleit_TeaVMClientConfigAdapterHooks$lambda$callCrashReportHook$4$lambda$_14_0_call", "nms_Packet_addIdClassMapping", "addIdClassMapping", "nms_TileEntitySpecialRenderer__init_", "nms_SignModel__init_", "jl_Short__clinit_", "otciu_CLDRHelper_getNumberFormatMap", "getNumberFormatMap", "otciu_CLDRHelper_resolveFormatSymbols", "resolveFormatSymbols", "otciu_CLDRHelper_getNumberFormatMap$$create", "getNumberFormatMap$$create",
        "ju_AbstractList_equals", "ju_AbstractSet_hashCode", "ju_ArrayList_hashCode", "jl_Character_toString", "jl_Class_toString", "ju_ArrayList_toString", "ju_AbstractCollection_toString", "ju_Currency_toString", "jl_StringBuilder_insert", "cjj_CRC32_reset0", "nms_RenderSorter_compare", "nms_EntitySorter_compare", "ju_HashMap$HashMapEntrySet_iterator", "ju_LinkedList$SequentialListIterator_remove", "nleiv_VFileInputStream_close", "nleiv_VFileInputStream_read", "nle_Filesystem$FilesystemHandleWrapper_eaglerExists",
        "jl_StringBuffer_insert3", "nleit_TeaVMClientConfigAdapterHooks$callScreenChangedHook$lambda$_3_0_run", "jl_Double_toString", "ju_MapEntry_getKey", "ju_MapEntry_getValue", "nms_GuiConflictWarning_actionPerformed", "nle_GuiScreenEditProfile_actionPerformed", "nms_GuiMainMenu_actionPerformed", "nms_GuiInventory_actionPerformed", "nms_GuiSleepMP_actionPerformed", "nms_GuiGameOver_actionPerformed", "nms_GuiIngameMenu_actionPerformed", "cjj_Adler32_getValue", "cjj_Adler32_reset0", "nms_Frustrum_isBoundingBoxInFrustum",
        "nms_BlockBed_setBlockBoundsBasedOnState", "nms_BlockStairs_setBlockBoundsBasedOnState", "nms_BlockSign_setBlockBoundsBasedOnState", "nms_BlockDoor_setBlockBoundsBasedOnState", "nms_BlockMinecartTrack_setBlockBoundsBasedOnState", "nms_BlockLever_setBlockBoundsBasedOnState", "nms_BlockPressurePlate_setBlockBoundsBasedOnState", "nms_BlockButton_setBlockBoundsBasedOnState", "nms_BlockPortal_setBlockBoundsBasedOnState", "nms_BlockCake_setBlockBoundsBasedOnState", "nms_BlockStairs_getSelectedBoundingBoxFromPool",
        "nms_BlockSign_getSelectedBoundingBoxFromPool", "nms_BlockDoor_getSelectedBoundingBoxFromPool", "nms_BlockLadder_getSelectedBoundingBoxFromPool", "nms_BlockCactus_getSelectedBoundingBoxFromPool", "nms_BlockCake_getSelectedBoundingBoxFromPool", "ju_LinkedList$SequentialListIterator_add", "jl_StringBuilder_append13", "ju_AbstractList$1_remove", "jur_FSet_getName", "jur_NonCapFSet_getName", "jur_AheadFSet_getName", "jur_BehindFSet_getName", "jur_AtomicFSet_getName", "jur_FinalSet_getName", "jur_EmptySet_getName",
        "jur_NonCapJointSet_getName", "jur_PositiveLookAhead_getName", "jur_NegativeLookAhead_getName", "jur_PositiveLookBehind_getName", "jur_NegativeLookBehind_getName", "jur_AtomicJointSet_getName", "jur_JointSet_getName", "jur_LeafQuantifierSet_getName", "jur_FSet$PossessiveFSet_getName", "jur_CompositeRangeSet_getName", "jur_UCISupplRangeSet_getName", "jur_SupplRangeSet_getName", "jur_UCIRangeSet_getName", "jur_RangeSet_getName", "jur_HangulDecomposedCharSet_getName", "jur_CharSet_getName", "jur_UCICharSet_getName",
        "jur_CICharSet_getName", "jur_DecomposedCharSet_getName", "jur_GroupQuantifierSet_getName", "jur_CompositeGroupQuantifierSet_getName", "jur_DotAllQuantifierSet_getName", "jur_DotQuantifierSet_getName", "jur_CompositeQuantifierSet_getName", "jur_SOLSet_getName", "jur_WordBoundary_getName", "jur_PreviousMatch_getName", "jur_EOLSet_getName", "jur_EOISet_getName", "jur_MultiLineSOLSet_getName", "jur_DotAllSet_getName", "jur_DotSet_getName", "jur_UEOLSet_getName", "jur_UMultiLineEOLSet_getName", "jur_MultiLineEOLSet_getName",
        "jur_BackReferenceSet_getName", "jur_UCIBackReferenceSet_getName", "jur_CIBackReferenceSet_getName", "jur_SequenceSet_getName", "jur_UCISequenceSet_getName", "jur_CISequenceSet_getName", "jur_UCISupplCharSet_getName", "jur_LowSurrogateCharSet_getName", "jur_HighSurrogateCharSet_getName", "jur_SupplCharSet_getName", "nle_Filesystem$FilesystemHandleWrapper_eaglerRead", "nms_BlockGrass_colorMultiplier", "nms_BlockLeaves_colorMultiplier", "jn_CharBufferOverArray_getChar", "nms_BlockFlower_getRenderType",
        "nms_BlockFluids_getRenderType", "nms_BlockBed_getRenderType", "nms_BlockTorch_getRenderType", "nms_BlockFire_getRenderType", "nms_BlockStairs_getRenderType", "nms_BlockRedstoneWire_getRenderType", "nms_BlockCrops_getRenderType", "nms_BlockSign_getRenderType", "nms_BlockDoor_getRenderType", "nms_BlockLadder_getRenderType", "nms_BlockMinecartTrack_getRenderType", "nms_BlockLever_getRenderType", "nms_BlockCactus_getRenderType", "nms_BlockReed_getRenderType", "nms_BlockFence_getRenderType", "nms_BlockRedstoneRepeater_getRenderType",
        "jn_CharBufferOverArray_putChar", "otcic_ConsoleOutputStream_write", "ji_ByteArrayOutputStream_write0", "nms_NBTTagEnd_writeTagContents", "nms_NBTTagByte_writeTagContents", "nms_NBTTagShort_writeTagContents", "nms_NBTTagInt_writeTagContents", "nms_NBTTagLong_writeTagContents", "nms_NBTTagFloat_writeTagContents", "nms_NBTTagDouble_writeTagContents", "nms_NBTTagByteArray_writeTagContents", "nms_NBTTagString_writeTagContents", "nms_NBTTagList_writeTagContents", "cjj_Adler32_update", "jl_Double_intValue",
        "jl_Double_hashCode", "nlei_OpenGLObjects$TextureGL_setCacheSize", "nms_EntityRainFX_onUpdate", "nms_EntityRainFX_renderParticle", "nms_AxisAlignedBB_toString", "nms_Entity_equals", "nms_Entity_hashCode", "jn_CharBuffer_allocate", "allocate", "jnc_CharsetDecoder_reset", "jnc_CoderResult_isError", "isError", "jnc_CoderResult_throwException", "throwException", "jnc_CharsetDecoder_expand", "jnc_CoderResult_isMalformed", "isMalformed", "jnc_CoderResult_malformedForLength", "malformedForLength", "jn_CharBuffer_put",
        "jnc_CoderResult_isUnmappable", "isUnmappable", "jnc_CoderResult_length", "jnc_CharsetDecoder_decodeLoop", "decodeLoop", "jnc_CoderMalfunctionError__init_", "jnc_CharsetDecoder_implFlush", "implFlush", "jnc_CharsetEncoder_implFlush", "jn_ByteBuffer_put", "jnc_CharsetEncoder_encodeLoop", "encodeLoop", "jnc_CharsetEncoder_reset", "jn_ByteBuffer_allocate", "jnc_CharsetEncoder_allocateMore", "allocateMore", "jl_Class_isInterface", "isInterface", "nms_GuiScreen_getClipboardString", "getClipboardString", "nms_GuiScreen_isCtrlKeyDown",
        "isCtrlKeyDown", "jl_StringBuilder_insert16", "nms_EntitySorter_sortByDistanceToEntity", "sortByDistanceToEntity", "nms_WorldRenderer_setDontDraw", "setDontDraw", "ju_HashMap$EntryIterator__init_", "ju_LinkedList_removeEntry", "removeEntry", "ju_LinkedList$SequentialListIterator_hasPrevious", "hasPrevious", "nleib_ByteBuffer_limit0", "nleib_ByteBuffer_get1", "jl_StringBuffer_insert4", "nleit_TeaVMClientConfigAdapterHooks_lambda$callScreenChangedHook$2", "lambda$callScreenChangedHook$2", "jl_ClassLoader_resourceToString$js_body$_6",
        "resourceToString$js_body$_6", "jl_ClassLoader_supplyResources", "supplyResources", "otci_Base64Impl_decode", "nms_TileEntity_getDistanceFrom", "getDistanceFrom", "nms_TileEntityRenderer_renderTileEntityAt", "renderTileEntityAt", "jl_Double_toString0", "ju_HashMap$AbstractMapIterator_checkConcurrentMod", "checkConcurrentMod", "nlem_FontMappingHelper_lookupChar", "lookupChar", "jur_MatchResultImpl_hasTransparentBounds", "jl_String_valueOf1", "jur_Matcher_findAt", "findAt", "jur_MatchResultImpl_isValid",
        "isValid", "jur_MatchResultImpl_finalizeMatch", "finalizeMatch", "jur_MatchResultImpl_end0", "jur_MatchResultImpl_start0", "nms_ModelRenderer_compileDisplayList", "compileDisplayList", "jl_AbstractStringBuilder_deleteCharAt", "nms_GuiScreen_drawBackground", "drawBackground", "npem_AudioUtils_getRandomSound", "getRandomSound", "nlei_PlatformAudio_loadAudioData", "loadAudioData", "nlei_PlatformAudio_loadAudioDataNew", "loadAudioDataNew", "nlei_PlatformAudio_beginPlaybackStatic", "beginPlaybackStatic",
        "nle_EagRuntime_displayFileChooser", "displayFileChooser", "ju_AbstractList_clear", "ju_AbstractCollection_clear", "nms_GuiOptions__init_", "nms_GuiSelectWorld__init_", "nms_GuiMultiplayer__init_", "nms_GuiTexturePacks__init_", "nms_EntityPlayerSP_respawnPlayer", "respawnPlayer", "nms_EntityPlayer_respawnPlayer", "nms_XBlah_func_25100_a", "func_25100_a", "nms_World_sendQuittingDisconnectingPacket", "sendQuittingDisconnectingPacket", "cjj_InfCodes_proc", "cjj_InfBlocks_inflate_flush", "inflate_flush",
        "cjj_InfTree_inflate_trees_dynamic", "inflate_trees_dynamic", "cjj_InfCodes_init", "cjj_InfTree_inflate_trees_bits", "inflate_trees_bits", "cjj_InfTree_inflate_trees_fixed", "inflate_trees_fixed", "nms_ChunkCache__init_", "nms_RenderBlocks__init_2", "ju_AbstractSet_removeAll", "nms_ChunkCache_getBlockId", "nms_Tessellator_setRenderingChunk", "setRenderingChunk", "nms_Block_getRenderBlockPass", "getRenderBlockPass", "nms_ChunkCache_getBlockTileEntity", "getBlockTileEntity", "nms_TileEntityRenderer_hasSpecialRenderer",
        "hasSpecialRenderer", "nms_RenderBlocks_renderBlockByRenderType", "renderBlockByRenderType", "nms_Frustrum_isBoxInFrustum", "isBoxInFrustum", "nleo_WorldRenderer_markDirty", "nms_IBlockAccess_getBlockMetadata", "nms_BlockDoor_func_313_b", "func_313_b", "nms_IBlockAccess_getBlockId", "nleib_IntBuffer_remaining", "olo_GL11_glCallLists", "glCallLists", "nms_Tessellator_setNormal", "setNormal", "nleiv_VFileOutputStream__init_", "ji_PrintWriter_setError", "setError", "ji_PrintWriter_print", "ji_PrintWriter_println0",
        "nms_LoadingScreenRenderer_func_597_c", "func_597_c", "nlei_PlatformAudio_beginPlayback", "beginPlayback", "nms_RenderManager_func_852_a", "func_852_a", "nms_World_removeWorldAccess", "removeWorldAccess", "nms_World_addWorldAccess", "addWorldAccess", "ju_LinkedList$Entry__init_", "ju_Calendar_getInstance0", "nms_IBlockAccess_getWorldChunkManager", "getWorldChunkManager", "nms_WorldChunkManager_func_4069_a", "func_4069_a", "nms_ColorizerGrass_getGrassColor", "getGrassColor", "nms_ColorizerFoliage_getFoliageColorPine",
        "getFoliageColorPine", "nms_ColorizerFoliage_getFoliageColor", "getFoliageColor", "nms_ColorizerFoliage_getFoliageColorBirch", "getFoliageColorBirch", "otciu_CLDRHelper_getTimeZoneName", "getTimeZoneName", "nms_Block_setBlockBoundsForItemRender", "setBlockBoundsForItemRender", "nms_RenderBlocks_renderBottomFace", "renderBottomFace", "nms_RenderBlocks_renderTopFace", "renderTopFace", "nms_RenderBlocks_renderEastFace", "renderEastFace", "nms_RenderBlocks_renderWestFace", "renderWestFace", "nms_RenderBlocks_renderNorthFace",
        "renderNorthFace", "nms_RenderBlocks_renderSouthFace", "renderSouthFace", "nms_RenderBlocks_renderCrossedSquares", "renderCrossedSquares", "nms_Tessellator_setTranslationF", "setTranslationF", "nms_RenderBlocks_func_1245_b", "func_1245_b", "nms_RenderBlocks_renderTorchAtAngle", "renderTorchAtAngle", "nms_RenderManager_getEntityClassRenderObject", "getEntityClassRenderObject", "nms_Render_doRender", "doRender", "nms_Render_doRenderShadowAndFire", "doRenderShadowAndFire", "jn_CharBufferImpl_readOnly",
        "readOnly", "ji_OutputStream_write", "ji_DataOutput_writeShort", "writeShort", "ji_DataOutput_writeInt", "writeInt", "ji_DataOutput_writeLong", "writeLong", "ji_DataOutput_writeFloat", "writeFloat", "ji_DataOutput_writeDouble", "writeDouble", "ji_DataOutput_write", "nms_FontRenderer_func_181559_a", "func_181559_a", "nms_MinecraftError__init_", "jl_Double_hashCode0", "nleit_TeaVMClientConfigAdapterHooks_lambda$callCrashReportHook$3", "lambda$callCrashReportHook$3", "nms_GuiButton_getHoverState", "getHoverState",
        "nms_GuiButton_mouseDragged", "mouseDragged", "nms_Entity_moveEntity", "moveEntity", "nms_Entity_setEntityDead", "setEntityDead", "nms_World_getBlockMaterial", "getBlockMaterial", "nms_Material_getIsLiquid", "getIsLiquid", "nms_BlockFluids_getPercentAir", "getPercentAir", "nms_Material_isSolid", "isSolid", "jn_CharBufferOverArray__init_0", "jl_Error__init_3", "jn_ByteBufferImpl__init_0", "nle_EagRuntime_getClipboard", "getClipboard", "otci_Base64Impl__clinit_", "otci_Base64Impl_decode0", "jur_MatchResultImpl_reset0",
        "jur_MatchResultImpl_setMode", "jur_MatchResultImpl_setStartIndex", "setStartIndex", "jur_AbstractSet_find", "nms_TexturedQuad_draw", "nlei_PlatformAudio_decodeAudioData", "decodeAudioData", "nlei_PlatformAudio$BrowserAudioResource__init_", "nlei_IAudioCacheLoader_loadFile", "loadFile", "nlei_PlatformAudio$BrowserAudioHandle__init_0", "nlei_PlatformApplication_displayFileChooser", "nms_GuiOptions__clinit_", "jt_SimpleDateFormat__init_", "nms_World_getChunkFromChunkCoords", "getChunkFromChunkCoords",
        "nms_ColorizerGrass__clinit_", "nms_ColorizerFoliage__clinit_", "otciu_CLDRHelper_getTimeZoneLocalizationMap", "getTimeZoneLocalizationMap", "jl_Double_isNaN$js_body$_21", "isNaN$js_body$_21", "jl_Double_isInfinite$js_body$_22", "isInfinite$js_body$_22", "otcit_DoubleAnalyzer_analyze", "jl_AbstractStringBuilder_trailingDecimalZeros0", "nms_FontRenderer_renderDefaultChar", "renderDefaultChar", "jl_Double_doubleToLongBits", "doubleToLongBits", "nms_Tessellator_setColorOpaque_F", "setColorOpaque_F", "jl_Throwable__init_6",
        "nlei_PlatformApplication_getClipboard", "otci_Base64Impl_decode1", "nms_TileEntity__clinit_", "nleit_JOrbisAudioBufferDecoder_decodeAudioJOrbis", "decodeAudioJOrbis", "nlei_PlatformAudio$BrowserAudioHandle_handleEvent$exported$0", "nlei_PlatformApplication_clearFileChooserResult", "clearFileChooserResult", "nlei_PlatformApplication_setAcceptSelection$js_body$_20", "setAcceptSelection$js_body$_20", "nlei_PlatformApplication_setMultipleSelection$js_body$_21", "setMultipleSelection$js_body$_21", "nlei_PlatformApplication$3__init_0",
        "nlei_PlatformApplication$4__init_0", "nlei_PlatformApplication$5__init_0", "nlei_PlatformApplication$6__init_0", "jt_SimpleDateFormat_getDefaultPattern", "getDefaultPattern", "otciu_CLDRHelper_getTimeZoneLocalizationMap$$create", "getTimeZoneLocalizationMap$$create", "otcit_DoubleAnalyzer__clinit_", "ju_Arrays_binarySearch3", "otcit_DoubleAnalyzer_mulAndShiftRight", "otcit_DoubleAnalyzer_findLowerDistance", "otcit_DoubleAnalyzer_findUpperDistance", "nleo_Tessellator_getInstance", "nleo_Tessellator_getWorldRenderer",
        "getWorldRenderer", "nleo_WorldRenderer_begin0", "nleo_Tessellator_draw", "jl_Double_doubleToRawLongBits", "doubleToRawLongBits", "otjb_Window_prompt", "prompt", "nlei_PlatformApplication_getClipboard0", "getClipboard0", "otci_Base64Impl_decode2", "nms_TileEntity_addMapping", "addMapping", "nleit_JOrbisAudioBufferDecoder__clinit_", "nleit_JOrbisAudioBufferDecoder_readBytes", "nleit_PCMToWAVLoader_getWAVLen", "getWAVLen", "nleit_TeaVMUtils_unwrapFloatArray", "unwrapFloatArray", "nleit_PCMToWAVLoader_createWAV32F",
        "createWAV32F", "nleit_PCMToWAVLoader_createWAV16", "createWAV16", "nleit_JOrbisAudioBufferDecoder_init", "nlei_PlatformAudio$BrowserAudioHandle_handleEvent", "nlei_PlatformApplication$3_handleEvent$exported$0", "nlei_PlatformApplication$4_handleEvent$exported$0", "nlei_PlatformApplication$5_handleEvent$exported$0", "nlei_PlatformApplication$6_onTimer$exported$0", "otciu_CLDRHelper_resolveDateFormats", "resolveDateFormats", "ju_Arrays_binarySearch4", "nleo_Tessellator__clinit_", "otjb_Window_prompt$js_body$_23",
        "prompt$js_body$_23", "nlei_PlatformApplication_getClipboard0$_asyncCall_$", "getClipboard0$_asyncCall_$", "nlei_PlatformApplication_getClipboard00", "nleit_JOrbisAudioBufferDecoder__init_", "cjj_SyncState_pageout", "pageout", "cjj_StreamState_pagein", "pagein", "cjj_Page_granulepos", "granulepos", "cjj_StreamState_packetout", "packetout", "cjj_Page_eos", "eos", "cjj_Block_synthesis", "synthesis", "cjj_DspState_synthesis_pcmout", "synthesis_pcmout", "cjj_DspState_synthesis_blockin", "synthesis_blockin",
        "cjj_DspState_synthesis_read", "synthesis_read", "nleit_JOrbisAudioBufferDecoder_appendFloatArrays", "appendFloatArrays", "cjj_SyncState_buffer", "buffer", "cjj_SyncState_wrote", "wrote", "nleib_ByteBuffer_putInt0", "nleib_ByteBuffer_putShort", "putShort", "nleib_ByteBuffer_hasRemaining", "cjj_StreamState_clear", "cjj_Block_clear", "cjj_DspState_clear", "cjj_Info_clear", "cjj_SyncState_clear", "cjj_StreamState__init_", "cjj_Block__init_", "cjj_DspState__init_", "cjj_Info__init_", "cjj_SyncState__init_",
        "cjj_SyncState_init", "cjj_Page_serialno", "serialno", "cjj_StreamState_init", "cjj_Info_init", "cjj_Comment_init", "cjj_DspState_synthesis_init", "synthesis_init", "cjj_Block_init", "cjj_Info_synthesis_headerin", "synthesis_headerin", "nlei_PlatformApplication$3_handleEvent", "nlei_PlatformApplication$4_handleEvent", "nlei_PlatformApplication$5_handleEvent", "nlei_PlatformApplication$6_onTimer", "otciu_CLDRHelper_getDateFormatMap", "getDateFormatMap", "otciu_CLDRHelper_resolveDateFormats0", "nleo_Tessellator__init_",
        "nlei_PlatformApplication$1__init_", "nlei_PlatformApplication_getClipboard1$js_body$_6", "getClipboard1$js_body$_6", "cjj_Packet__init_", "cjj_Page__init_", "cjj_Comment__init_", "cjj_StreamState_init0", "cjj_Buffer__init_", "cjj_Buffer_writeinit", "writeinit", "cjj_Info__clinit_", "otciu_CLDRHelper_getDateFormatMap$$create", "getDateFormatMap$$create", "nlei_PlatformApplication$1_resolveStr$exported$0", "resolveStr$exported$0", "cjj_Page__clinit_", "cjj_Comment__clinit_", "cjj_Buffer__clinit_", "jl_String_getBytes",
        "nlei_PlatformApplication$1_resolveStr", "resolveStr", "cjj_Page_crc_entry", "crc_entry", "ju_HashMap$EntryIterator_next", "jur_LowHighSurrogateRangeSet_getName", "nms_ItemFishingRod_shouldRotateAroundWhenRendering", "jnci_BufferedDecoder_decodeLoop", "jnci_BufferedEncoder_encodeLoop", "nlei_RamdiskFilesystemImpl_eaglerExists", "nleit_IndexedDBFilesystem_eaglerExists", "nms_GuiConnecting_drawScreen", "nms_GuiConnecting_actionPerformed", "nms_GuiConnecting_keyTyped", "nms_GuiConnecting_updateScreen",
        "nms_GuiConnecting_initGui", "nms_GuiOptions_drawScreen", "nms_GuiOptions_actionPerformed", "nms_GuiOptions_initGui", "nms_GuiSelectWorld_drawScreen", "nms_GuiSelectWorld_actionPerformed", "nms_GuiSelectWorld_initGui", "nms_GuiMultiplayer_drawScreen", "nms_GuiMultiplayer_actionPerformed", "nms_GuiMultiplayer_mouseClicked", "nms_GuiMultiplayer_keyTyped", "nms_GuiMultiplayer_updateScreen", "nms_GuiMultiplayer_onGuiClosed", "nms_GuiMultiplayer_initGui", "nms_GuiTexturePacks_drawScreen", "nms_GuiTexturePacks_actionPerformed",
        "nms_GuiTexturePacks_mouseMovedOrUp", "nms_GuiTexturePacks_mouseClicked", "nms_GuiTexturePacks_updateScreen", "nms_GuiTexturePacks_initGui", "nms_BlockFluids_getRenderBlockPass", "nms_BlockStairs_getRenderBlockPass", "nms_BlockIce_getRenderBlockPass", "nms_BlockPortal_getRenderBlockPass", "nleib_EaglerArrayIntBuffer_remaining", "ji_OutputStreamWriter_close", "nlei_RamdiskFilesystemImpl_eaglerRead", "nleit_IndexedDBFilesystem_eaglerRead", "nms_BlockPressurePlate_setBlockBoundsForItemRender", "nms_BlockButton_setBlockBoundsForItemRender",
        "nms_BlockCake_setBlockBoundsForItemRender", "jn_CharBufferOverArray_readOnly", "ji_DataOutputStream_writeShort", "ji_DataOutputStream_writeInt", "ji_DataOutputStream_writeLong", "ji_DataOutputStream_writeFloat", "ji_DataOutputStream_writeDouble", "jur_EmptySet_find", "jur_SingleSet_find", "nms_SoundManager$_init_$lambda$_0_0_loadFile", "jl_StringBuilder_charAt", "nleit_ClientMain$showCrashScreen$lambda$_9_0_accept", "nleib_EaglerArrayByteBuffer_putInt0", "nleib_EaglerArrayByteBuffer_putShort", "nleib_EaglerArrayByteBuffer_hasRemaining",
        "jl_Character_compareTo", "ju_HashMap$EntryIterator_next0", "nms_Vec3D_getIntermediateWithXValue", "getIntermediateWithXValue", "nms_Vec3D_getIntermediateWithYValue", "getIntermediateWithYValue", "nms_Vec3D_getIntermediateWithZValue", "getIntermediateWithZValue", "nms_AxisAlignedBB_isVecInYZ", "isVecInYZ", "nms_AxisAlignedBB_isVecInXZ", "isVecInXZ", "nms_AxisAlignedBB_isVecInXY", "isVecInXY", "nms_Vec3D_squareDistanceTo", "squareDistanceTo", "nms_MovingObjectPosition__init_2", "jn_CharBuffer_isArrayPresent",
        "isArrayPresent", "jn_CharBuffer_getArray", "getArray", "jn_ByteBuffer_get", "cjj_Page_version", "version", "cjj_Page_continued", "continued", "cjj_Page_bos", "bos", "cjj_Page_pageno", "pageno", "cjj_StreamState_lacing_expand", "lacing_expand", "cjj_StreamState_body_expand", "body_expand", "cjj_Buffer_readinit", "readinit", "cjj_Buffer_read", "cjj_FuncMapping_inverse", "inverse", "cjj_Buffer_writeclear", "writeclear", "cjj_FuncMapping_free_info", "free_info", "cjj_FuncTime_free_info", "cjj_FuncFloor_free_info",
        "cjj_FuncResidue_free_info", "cjj_StaticCodeBook_clear", "cjj_PsyInfo_free", "cjj_SyncState_pageseek", "pageseek", "jnc_CharsetDecoder_implReset", "implReset", "jnc_BufferUnderflowException__init_", "jnc_BufferOverflowException__init_", "jnc_MalformedInputException__init_", "jnc_UnmappableCharacterException__init_", "jn_CharBuffer_put0", "jnci_BufferedDecoder$Controller__init_", "jnci_BufferedDecoder_arrayDecode", "arrayDecode", "jn_CharBuffer_put1", "jn_ByteBuffer_put0", "jnci_BufferedEncoder$Controller__init_",
        "jnci_BufferedEncoder_arrayEncode", "arrayEncode", "jnc_CharsetEncoder_implReset", "nleo_EaglercraftGPU_flushDisplayList", "flushDisplayList", "nleit_IndexedDBFilesystem$AsyncHandlers_fileExists", "fileExists", "nms_TileEntityRenderer_getSpecialRendererForEntity", "getSpecialRendererForEntity", "nms_TileEntitySpecialRenderer_renderTileEntityAt", "jur_MatchResultImpl_checkGroup", "checkGroup", "nms_NetClientHandler_disconnect", "disconnect", "nlei_IWebSocketClient_getState", "nlei_PlatformNetworking_openWebSocket",
        "openWebSocket", "nms_GuiConnectFailed__init_", "nlei_IWebSocketClient_close", "nms_NetClientHandler_processReadPackets", "processReadPackets", "nms_NetworkManager_setWebsocketClient", "setWebsocketClient", "nms_Packet2Handshake__init_0", "nms_GuiSmallButton_returnEnumOptions", "returnEnumOptions", "nms_EnumOptions_func_20137_a", "func_20137_a", "nms_GameSettings_getKeyBinding", "getKeyBinding", "nms_GuiVideoSettings__init_", "nms_GuiControls__init_", "nms_EnumOptions_getEnumFloat", "getEnumFloat", "nms_EnumOptions_returnEnumOrdinal",
        "returnEnumOrdinal", "nms_GameSettings_getOptionFloatValue", "getOptionFloatValue", "nms_GuiSlider__init_", "nms_GuiSmallButton__init_", "nms_GuiSlot_drawScreen", "nms_GuiSelectWorld_getSaveName", "getSaveName", "nms_GuiYesNo__init_", "nms_GuiSelectWorld_selectWorld", "selectWorld", "nms_GuiCreateWorld__init_", "nms_GuiSelectWorld_getSaveFileName", "getSaveFileName", "nms_GuiRenameWorld__init_", "nms_GuiSlot_actionPerformed", "nms_GuiSelectWorld_loadSaves", "loadSaves", "nms_GuiWorldSlot__init_", "nms_GuiSlot_registerScrollButtons",
        "registerScrollButtons", "nms_GuiSelectWorld_initButtons", "initButtons", "jl_String_replaceAll", "replaceAll", "nms_GuiSmallButton__init_0", "nleiv_VFile2_getPath", "getPath", "nms_GuiTexturePackSlot__init_", "cjj_InfCodes_inflate_fast", "inflate_fast", "cjj_InfTree_initWorkArea", "initWorkArea", "cjj_InfTree_huft_build", "huft_build", "ju_AbstractCollection_remove", "nms_Chunk_getBlockID", "getBlockID", "nms_Chunk_getChunkBlockTileEntity", "getChunkBlockTileEntity", "nms_RenderBlocks_renderStandardBlock",
        "renderStandardBlock", "nms_RenderBlocks_renderBlockFluids", "renderBlockFluids", "nms_RenderBlocks_renderBlockCactus", "renderBlockCactus", "nms_RenderBlocks_renderBlockReed", "renderBlockReed", "nms_RenderBlocks_renderBlockCrops", "renderBlockCrops", "nms_RenderBlocks_renderBlockTorch", "renderBlockTorch", "nms_RenderBlocks_renderBlockFire", "renderBlockFire", "nms_RenderBlocks_renderBlockRedstoneWire", "renderBlockRedstoneWire", "nms_RenderBlocks_renderBlockLadder", "renderBlockLadder", "nms_RenderBlocks_renderBlockDoor",
        "renderBlockDoor", "nms_RenderBlocks_renderBlockMinecartTrack", "renderBlockMinecartTrack", "nms_RenderBlocks_renderBlockStairs", "renderBlockStairs", "nms_RenderBlocks_renderBlockFence", "renderBlockFence", "nms_RenderBlocks_renderBlockLever", "renderBlockLever", "nms_RenderBlocks_renderBlockBed", "renderBlockBed", "nms_RenderBlocks_renderBlockRepeater", "renderBlockRepeater", "nms_ClippingHelper_isBoxInFrustum", "ji_OutputStreamWriter_flush", "ji_OutputStream_flush", "ji_PrintWriter_write", "ji_Writer_write",
        "ji_PrintWriter_flush", "nlei_PlatformRuntime_castPrimitiveByteArray", "castPrimitiveByteArray", "nleit_IndexedDBFilesystem$AsyncHandlers_readWholeFile", "readWholeFile", "nleib_EaglerArrayBufferAllocator_wrapByteBufferTeaVM", "wrapByteBufferTeaVM", "nms_AxisAlignedBB_copy", "nms_AxisAlignedBB_offset", "offset", "nms_Entity_isSneaking", "isSneaking", "nms_World_getCollidingBoundingBoxes", "getCollidingBoundingBoxes", "nms_AxisAlignedBB_calculateYOffset", "calculateYOffset", "nms_AxisAlignedBB_calculateXOffset",
        "calculateXOffset", "nms_AxisAlignedBB_calculateZOffset", "calculateZOffset", "nms_AxisAlignedBB_setBB", "setBB", "nms_Entity_updateFallState", "updateFallState", "nms_Entity_canTriggerWalking", "canTriggerWalking", "nms_World_checkChunksExist", "checkChunksExist", "nms_StepSound_func_1145_d", "func_1145_d", "nms_StepSound_func_1147_b", "func_1147_b", "nms_StepSound_func_1144_c", "func_1144_c", "nms_World_playSoundAtEntity", "playSoundAtEntity", "nms_Block_onEntityWalking", "onEntityWalking", "nms_Entity_handleWaterMovement",
        "handleWaterMovement", "nms_World_isBoundingBoxBurning", "isBoundingBoxBurning", "nms_Block_onEntityCollidedWithBlock", "onEntityCollidedWithBlock", "nms_Entity_dealFireDamage", "dealFireDamage", "jur_MatchResultImpl_getRightBound", "getRightBound", "jur_MatchResultImpl_getLeftBound", "getLeftBound", "jur_AbstractSet_matches", "matches", "jur_MatchResultImpl_setStart", "setStart", "nms_Vec3D_subtract", "subtract", "nms_Vec3D_crossProduct", "crossProduct", "nms_Vec3D_normalize", "nms_SoundManager_lambda$new$0",
        "nleit_ClientMain$showCrashScreen$lambda$_9_0_accept0", "nlei_PlatformAudio$BrowserAudioHandle_handleEvent0", "cjj_DspState_init", "cjj_Buffer_read0", "cjj_Info_unpack_books", "unpack_books", "cjj_Comment_unpack", "unpack", "cjj_Info_unpack_info", "unpack_info", "nlei_PlatformApplication_getFileChooserResult", "jl_Character_compareTo0", "cjj_FuncMapping__clinit_", "cjj_FuncTime__clinit_", "cjj_FuncFloor__clinit_", "cjj_FuncResidue__clinit_", "jnc_CharacterCodingException__init_", "nleit_IndexedDBFilesystem$AsyncHandlers_fileExists$_asyncCall_$",
        "fileExists$_asyncCall_$", "nleit_IndexedDBFilesystem$AsyncHandlers_fileExists0", "nlei_EnumEaglerConnectionState__clinit_", "nlei_PlatformNetworking__clinit_", "nleit_TeaVMWebSocketClient__init_", "nms_GuiVideoSettings__clinit_", "nmc_Minecraft_getSaveLoader", "getSaveLoader", "nms_ISaveFormat_getWorldList", "getWorldList", "nms_GuiSlot__init_", "nms_GuiTexturePacks_func_22124_a", "func_22124_a", "nms_Block_getBlockBrightness", "getBlockBrightness", "nms_Block_getBlockTexture", "getBlockTexture", "nms_Block_shouldSideBeRendered",
        "shouldSideBeRendered", "nleit_IndexedDBFilesystem$AsyncHandlers_readWholeFile$_asyncCall_$", "readWholeFile$_asyncCall_$", "nleit_IndexedDBFilesystem$AsyncHandlers_readWholeFile0", "nlei_PlatformApplication$FileChooserCallbackImpl_accept$exported$0", "nlei_PlatformApplication$FileChooserCallbackImpl__clinit_", "nlei_PlatformApplication_getFileChooserImpl$js_body$_19", "getFileChooserImpl$js_body$_19", "nlei_PlatformApplication_getFileChooserResultNew$js_body$_16", "getFileChooserResultNew$js_body$_16",
        "nlei_PlatformApplication_getFileChooserResultLegacy$js_body$_17", "getFileChooserResultLegacy$js_body$_17", "cjj_Mapping0__init_", "cjj_Time0__init_", "cjj_Floor0__init_", "cjj_Floor1__init_", "cjj_Residue0__init_", "cjj_Residue1__init_", "cjj_Residue2__init_", "nleit_IndexedDBFilesystem$AsyncHandlers_makeTheFuckingKeyWork$js_body$_6", "makeTheFuckingKeyWork$js_body$_6", "nleit_IndexedDBFilesystem$AsyncHandlers$11__init_", "nleit_IndexedDBFilesystem$AsyncHandlers$12__init_", "nlei_EnumEaglerConnectionState__init_",
        "nlei_EnumEaglerConnectionState_$values", "nlei_AbstractWebSocketClient__init_", "otjw_WebSocket_create$js_body$_5", "nleit_TeaVMWebSocketClient$1__init_", "nleit_TeaVMWebSocketClient$2__init_", "nleit_TeaVMWebSocketClient$3__init_", "nleit_TeaVMWebSocketClient$4__init_", "nleit_IndexedDBFilesystem$AsyncHandlers$7__init_", "nleit_IndexedDBFilesystem$AsyncHandlers$8__init_", "nlei_PlatformApplication$FileChooserCallbackImpl_accept", "nlei_PlatformApplication$FileChooserCallbackImpl__init_", "cjj_FuncMapping__init_",
        "cjj_Mapping0__clinit_", "cjj_FuncTime__init_", "cjj_FuncFloor__init_", "cjj_Floor1__clinit_", "cjj_FuncResidue__init_", "cjj_Residue0__clinit_", "nleit_IndexedDBFilesystem$AsyncHandlers$11_handleEvent$exported$0", "nleit_IndexedDBFilesystem$AsyncHandlers$12_handleEvent$exported$0", "nleit_TeaVMWebSocketClient$1_handleEvent$exported$0", "nleit_TeaVMWebSocketClient$2_handleEvent$exported$0", "nleit_TeaVMWebSocketClient$3_handleEvent$exported$0", "nleit_TeaVMWebSocketClient$4_handleEvent$exported$0", "nleit_IndexedDBFilesystem$AsyncHandlers$7_handleEvent$exported$0",
        "nleit_IndexedDBFilesystem$AsyncHandlers$8_handleEvent$exported$0", "nleit_IndexedDBFilesystem$AsyncHandlers$11_handleEvent", "nleit_IndexedDBFilesystem$AsyncHandlers$12_handleEvent", "nleit_TeaVMWebSocketClient$1_handleEvent", "nleit_TeaVMWebSocketClient$2_handleEvent", "nleit_TeaVMWebSocketClient$3_handleEvent", "nleit_TeaVMWebSocketClient$4_handleEvent", "nleit_IndexedDBFilesystem$AsyncHandlers$7_handleEvent", "nleit_IndexedDBFilesystem$AsyncHandlers$8_handleEvent", "nms_EntityDiggingFX_getFXLayer",
        "nleib_EaglerArrayByteBuffer_limit0", "nleib_EaglerArrayByteBuffer_get2", "nleit_TeaVMWebSocketClient_getState", "nleit_TeaVMWebSocketClient_close", "cjj_Mapping0_inverse", "cjj_Mapping0_free_info", "cjj_Time0_free_info", "cjj_Floor1_free_info", "cjj_Floor0_free_info", "cjj_Residue0_free_info", "nms_EntityDiggingFX_renderParticle", "jn_CharBufferOverArray_isArrayPresent", "jn_CharBufferOverArray_getArray", "jnci_UTF16Decoder_arrayDecode", "jnci_Iso8859Decoder_arrayDecode", "jnci_AsciiDecoder_arrayDecode",
        "jnci_UTF8Decoder_arrayDecode", "jnci_UTF8Encoder_arrayEncode", "jnci_AsciiEncoder_arrayEncode", "jnci_Iso8859Encoder_arrayEncode", "jnci_UTF16Encoder_arrayEncode", "ju_TreeMap_containsKey", "nms_GuiConnectFailed_drawScreen", "nms_GuiConnectFailed_actionPerformed", "nms_GuiConnectFailed_keyTyped", "nms_GuiConnectFailed_updateScreen", "nms_GuiConnectFailed_initGui", "nms_GuiVideoSettings_drawScreen", "nms_GuiVideoSettings_actionPerformed", "nms_GuiVideoSettings_initGui", "nms_GuiControls_drawScreen",
        "nms_GuiControls_actionPerformed", "nms_GuiControls_keyTyped", "nms_GuiControls_initGui", "nms_GuiYesNo_drawScreen", "nms_GuiYesNo_actionPerformed", "nms_GuiYesNo_initGui", "nms_GuiCreateWorld_drawScreen", "nms_GuiCreateWorld_actionPerformed", "nms_GuiCreateWorld_mouseClicked", "nms_GuiCreateWorld_keyTyped", "nms_GuiCreateWorld_updateScreen", "nms_GuiCreateWorld_onGuiClosed", "nms_GuiCreateWorld_initGui", "nms_GuiRenameWorld_drawScreen", "nms_GuiRenameWorld_actionPerformed", "nms_GuiRenameWorld_mouseClicked",
        "nms_GuiRenameWorld_keyTyped", "nms_GuiRenameWorld_updateScreen", "nms_GuiRenameWorld_onGuiClosed", "nms_GuiRenameWorld_initGui", "ju_HashMap$AbstractMapIterator_remove", "nms_ChunkCache_getBlockMetadata", "nleiv_VFileOutputStream_close", "ju_TreeMap_get", "nms_RenderItem_doRender", "nms_RenderLiving_doRender", "nms_RenderCow_doRender", "nms_RenderWolf_doRender", "nms_RenderChicken_doRender", "nms_RenderPlayer_doRender", "nms_RenderSquid_doRender", "nms_RenderEntity_doRender", "nms_RenderPainting_doRender",
        "nms_RenderArrow_doRender", "nms_RenderSnowball_doRender", "nms_RenderFireball_doRender", "nms_RenderTNTPrimed_doRender", "nms_RenderFallingSand_doRender", "nms_RenderMinecart_doRender", "nms_RenderBoat_doRender", "nms_RenderFish_doRender", "nms_EntityFX_canTriggerWalking", "nms_MaterialLiquid_getIsLiquid", "nms_BlockLeaves_onEntityWalking", "nms_BlockStairs_onEntityWalking", "nms_BlockSoil_onEntityWalking", "nms_BlockRedstoneOre_onEntityWalking", "nms_BlockPressurePlate_onEntityCollidedWithBlock", "nms_BlockCactus_onEntityCollidedWithBlock",
        "nms_BlockSlowSand_onEntityCollidedWithBlock", "nms_BlockPortal_onEntityCollidedWithBlock", "jur_FSet_matches", "jur_NonCapFSet_matches", "jur_AheadFSet_matches", "jur_BehindFSet_matches", "jur_AtomicFSet_matches", "jur_FinalSet_matches", "jur_LeafSet_matches", "jur_NonCapJointSet_matches", "jur_PositiveLookAhead_matches", "jur_NegativeLookAhead_matches", "jur_PositiveLookBehind_matches", "jur_NegativeLookBehind_matches", "jur_AtomicJointSet_matches", "jur_SingleSet_matches", "jur_JointSet_matches",
        "jur_LeafQuantifierSet_matches", "jur_UnifiedQuantifierSet_matches", "jur_FSet$PossessiveFSet_matches", "jur_CompositeRangeSet_matches", "jur_SupplRangeSet_matches", "jur_HangulDecomposedCharSet_matches", "jur_DecomposedCharSet_matches", "jur_PossessiveGroupQuantifierSet_matches", "jur_PosPlusGroupQuantifierSet_matches", "jur_PosAltGroupQuantifierSet_matches", "jur_PosCompositeGroupQuantifierSet_matches", "jur_ReluctantGroupQuantifierSet_matches", "jur_RelAltGroupQuantifierSet_matches", "jur_RelCompositeGroupQuantifierSet_matches",
        "jur_AltGroupQuantifierSet_matches", "jur_CompositeGroupQuantifierSet_matches", "jur_GroupQuantifierSet_matches", "jur_DotAllQuantifierSet_matches", "jur_DotQuantifierSet_matches", "jur_PossessiveQuantifierSet_matches", "jur_PossessiveAltQuantifierSet_matches", "jur_PossessiveCompositeQuantifierSet_matches", "jur_ReluctantQuantifierSet_matches", "jur_ReluctantAltQuantifierSet_matches", "jur_ReluctantCompositeQuantifierSet_matches", "jur_AltQuantifierSet_matches", "jur_CompositeQuantifierSet_matches",
        "jur_SOLSet_matches", "jur_WordBoundary_matches", "jur_PreviousMatch_matches", "jur_EOLSet_matches", "jur_EOISet_matches", "jur_MultiLineSOLSet_matches", "jur_DotAllSet_matches", "jur_DotSet_matches", "jur_UEOLSet_matches", "jur_UMultiLineEOLSet_matches", "jur_MultiLineEOLSet_matches", "jur_BackReferenceSet_matches", "jur_UCIBackReferenceSet_matches", "jur_CIBackReferenceSet_matches", "jur_LowSurrogateCharSet_matches", "jur_HighSurrogateCharSet_matches", "jur_UnifiedQuantifierSet_find", "jur_CharSet_find",
        "jur_DotAllQuantifierSet_find", "jur_DotQuantifierSet_find", "jur_BackReferenceSet_find", "jur_SequenceSet_find", "jur_LowSurrogateCharSet_find", "jur_HighSurrogateCharSet_find", "jur_SupplCharSet_find", "jur_BackReferencedSingleSet_find", "nlei_EnumEaglerConnectionState_values", "nms_BlockFluids_getBlockBrightness", "nms_BlockStairs_getBlockBrightness", "nms_BlockGrass_getBlockTexture", "nms_BlockDispenser_getBlockTexture", "nms_BlockStairs_getBlockTexture", "nms_BlockChest_getBlockTexture", "nms_BlockFurnace_getBlockTexture",
        "nms_BlockLockedChest_getBlockTexture", "nms_BlockFluids_shouldSideBeRendered", "nms_BlockLeavesBase_shouldSideBeRendered", "nms_BlockBreakable_shouldSideBeRendered", "nms_BlockStep_shouldSideBeRendered", "nms_BlockStairs_shouldSideBeRendered", "nms_BlockSnow_shouldSideBeRendered", "nms_BlockIce_shouldSideBeRendered", "nms_BlockPortal_shouldSideBeRendered", "nms_BlockRedstoneRepeater_shouldSideBeRendered", "nms_GuiSlider_mouseReleased", "nms_GuiSlider_mousePressed", "nms_GuiSlider_getHoverState", "nms_GuiSlider_mouseDragged",
        "jnc_UnmappableCharacterException_getMessage", "jnc_MalformedInputException_getMessage", "nms_GuiSlot_drawBackground", "nms_GuiSlot_getSize", "getSize", "nms_GuiSlot_elementClicked", "elementClicked", "nms_GuiSlot_getContentHeight", "getContentHeight", "nms_GuiSlot_bindAmountScrolled", "bindAmountScrolled", "nms_GuiSlot_overlayBackground", "overlayBackground", "nms_Tessellator_setColorRGBA_I", "setColorRGBA_I", "nms_GuiSlot_drawSlot", "drawSlot", "nms_GuiSlot_isSelected", "isSelected", "jur_Matcher_replaceAll",
        "cjj_FuncFloor_inverse1", "inverse1", "cjj_FuncResidue_inverse", "cjj_FuncFloor_inverse2", "inverse2", "cjj_Mdct_backward", "backward", "cjj_Page_checksum", "jn_BufferOverflowException__init_", "jnci_BufferedDecoder$Controller_hasMoreInput", "hasMoreInput", "jnci_UTF16Decoder_decodeBE", "decodeBE", "jnci_UTF16Decoder_decodeLE", "decodeLE", "jnci_BufferedDecoder$Controller_setInPosition", "setInPosition", "jnci_BufferedDecoder$Controller_setOutPosition", "setOutPosition", "jnci_UTF8Decoder_checkMidByte",
        "checkMidByte", "jnci_BufferedDecoder$Controller_hasMoreInput0", "jnci_BufferedDecoder$Controller_hasMoreOutput", "hasMoreOutput", "jnci_BufferedEncoder$Controller_setInPosition", "jnci_BufferedEncoder$Controller_setOutPosition", "jnci_BufferedEncoder$Controller_hasMoreOutput", "jnci_BufferedEncoder$Controller_hasMoreInput", "jnci_BufferedEncoder$Controller_hasMoreInput0", "jnc_CoderResult_unmappableForLength", "unmappableForLength", "jnci_BufferedEncoder$Controller_hasMoreOutput0", "jnci_UTF16Encoder_arrayEncodeBE",
        "arrayEncodeBE", "jnci_UTF16Encoder_arrayEncodeLE", "arrayEncodeLE", "ju_TreeMap_findExact", "findExact", "nms_TileEntityRenderer_getSpecialRendererForClass", "getSpecialRendererForClass", "nms_NetworkManager_networkShutdown", "networkShutdown", "nms_NetworkManager_readPacket", "readPacket", "nms_NetworkManager_processReadPackets", "nms_NetworkManager_addToSendQueue", "nms_EnumOptions_getEnumString", "getEnumString", "nms_EnumOptions_getEnumBoolean", "getEnumBoolean", "nms_GameSettings_getOptionOrdinalValue",
        "getOptionOrdinalValue", "nms_GuiControls_func_20080_j", "func_20080_j", "nms_GameSettings_getKeyBindingDescription", "getKeyBindingDescription", "nms_GameSettings_getOptionDisplayString", "getOptionDisplayString", "nms_GameSettings_setKeyBinding", "setKeyBinding", "nms_GuiSmallButton__init_1", "nms_SaveFormatComparator_getDisplayName", "nms_MathHelper_stringNullOrLengthZero", "stringNullOrLengthZero", "nms_GuiScreen_deleteWorld", "deleteWorld", "nms_PlayerControllerSP__init_", "nmc_Minecraft_startWorld",
        "startWorld", "ju_Random_nextLong", "nextLong", "jl_Long_parseLong", "parseLong", "nms_GuiCreateWorld_func_22129_j", "func_22129_j", "nms_ISaveFormat_renameWorldData", "renameWorldData", "nms_ISaveFormat_getWorldInfoForWorld", "getWorldInfoForWorld", "nms_WorldInfo_getWorldName", "getWorldName", "nms_Chunk_getBlockMetadata", "nmc_Minecraft_isAmbientOcclusionEnabled", "isAmbientOcclusionEnabled", "nms_RenderBlocks_renderStandardBlockWithColorMultiplier", "renderStandardBlockWithColorMultiplier", "nms_RenderBlocks_renderStandardBlockWithAmbientOcclusion",
        "renderStandardBlockWithAmbientOcclusion", "nms_RenderBlocks_func_1224_a", "func_1224_a", "nms_BlockFluids_func_293_a", "func_293_a", "nms_RenderBlocks_func_1230_b", "func_1230_b", "nms_IBlockAccess_isBlockOpaqueCube", "isBlockOpaqueCube", "nms_BlockFire_canBlockCatchFire", "canBlockCatchFire", "nms_BlockRedstoneWire_isPowerProviderOrWire", "isPowerProviderOrWire", "nms_Vec3D_rotateAroundX", "rotateAroundX", "nms_Vec3D_rotateAroundY", "rotateAroundY", "ji_OutputStreamWriter_checkStatus", "checkStatus",
        "nleib_ByteBuffer_put2", "nlei_IEaglerFilesystem_eaglerWrite", "eaglerWrite", "ji_IOException__init_2", "ji_PrintWriter_write0", "ji_Writer_write0", "ju_AbstractMap$SimpleEntry_getValue", "nms_RenderItem_doRenderItem", "doRenderItem", "nms_RenderLiving_doRenderLiving", "doRenderLiving", "nms_RenderCow_func_177_a", "func_177_a", "nms_RenderWolf_func_25005_a", "func_25005_a", "nms_RenderChicken_func_181_a", "func_181_a", "nms_RenderPlayer_func_188_a", "func_188_a", "nms_RenderSquid_func_21008_a", "func_21008_a",
        "nms_Render_renderOffsetAABB", "renderOffsetAABB", "nms_RenderPainting_func_158_a", "func_158_a", "nms_RenderArrow_func_154_a", "func_154_a", "nms_Render_loadTexture", "loadTexture", "nms_RenderFireball_func_4012_a", "func_4012_a", "nms_RenderTNTPrimed_func_153_a", "func_153_a", "nms_RenderFallingSand_func_156_a", "func_156_a", "nms_RenderMinecart_func_152_a", "func_152_a", "nms_RenderBoat_func_157_a", "func_157_a", "nms_RenderFish_func_4011_a", "func_4011_a", "nms_RenderManager_func_851_a", "func_851_a",
        "nms_Render_renderShadow", "renderShadow", "nms_Render_renderEntityOnFire", "renderEntityOnFire", "nms_Entity_getEntityFlag", "getEntityFlag", "nms_Entity_fall", "fall", "nms_World_setBlockWithNotify", "setBlockWithNotify", "nms_BlockRedstoneOre_func_320_h", "func_320_h", "nms_World_handleMaterialAcceleration", "handleMaterialAcceleration", "nms_BlockPressurePlate_setStateIfMobInteractsWithPlate", "setStateIfMobInteractsWithPlate", "nms_Entity_attackEntityFrom", "attackEntityFrom", "nms_Entity_setInPortal",
        "setInPortal", "jur_MatchResultImpl_getEnd", "getEnd", "jur_MatchResultImpl_setEnd", "setEnd", "jur_MatchResultImpl_getConsumed", "getConsumed", "jur_MatchResultImpl_setConsumed", "setConsumed", "jur_MatchResultImpl_setValid", "setValid", "jur_LeafSet_charCount", "charCount", "jur_AbstractSet_findBack", "findBack", "jur_AtomicFSet_getIndex", "jur_MatchResultImpl_getStart", "getStart", "jl_Character_isSurrogatePair", "isSurrogatePair", "jur_Lexer_getHangulDecomposition", "getHangulDecomposition", "jur_DecomposedCharSet_codePointAt",
        "codePointAt", "jur_Lexer_getDecomposition", "getDecomposition", "jur_Lexer_hasDecompositionNonNullCanClass", "hasDecompositionNonNullCanClass", "jur_Quantifier_max", "jur_Quantifier_min", "jur_AbstractSet_hasConsumed", "hasConsumed", "jur_MatchResultImpl_getEnterCounter", "getEnterCounter", "jur_MatchResultImpl_setEnterCounter", "setEnterCounter", "jur_DotQuantifierSet_findLineTerminator", "findLineTerminator", "jur_MatchResultImpl_hasAnchoringBounds", "hasAnchoringBounds", "jur_WordBoundary_isSpace",
        "isSpace", "jur_MatchResultImpl_getPreviousMatchEnd", "getPreviousMatchEnd", "jur_AbstractLineTerminator_isAfterLineTerminator", "isAfterLineTerminator", "jur_AbstractLineTerminator_isLineTerminator", "isLineTerminator", "jur_CIBackReferenceSet_getString", "jur_DotQuantifierSet_findBackLineTerminator", "findBackLineTerminator", "jur_SequenceSet_indexOf", "cjj_Util_ilog2", "ilog2", "cjj_Mdct__init_", "cjj_Mdct_init", "cjj_DspState_window", "window", "cjj_CodeBook__init_", "cjj_CodeBook_init_decode", "init_decode",
        "cjj_FuncMapping_look", "look", "cjj_StaticCodeBook__init_", "cjj_StaticCodeBook_unpack", "cjj_FuncTime_unpack", "cjj_FuncFloor_unpack", "cjj_FuncResidue_unpack", "cjj_FuncMapping_unpack", "cjj_InfoMode__init_", "cjj_Comment_clear", "jl_Character_compare", "nms_IBlockAccess_getLightBrightness", "nms_IBlockAccess_getBlockMaterial", "nlei_FileChooserResult__init_", "nleit_BooleanResult__new", "_new", "nleit_TeaVMWebSocketClient$3_handleEvent0", "nleit_IndexedDBFilesystem$AsyncHandlers_readRow$js_body$_5",
        "readRow$js_body$_5", "nms_GameSettings_setOptionFloatValue", "setOptionFloatValue", "nms_PlayerController__init_", "jl_Long_parseLong0", "nms_GuiCreateWorld_generateUnusedFolderName", "generateUnusedFolderName", "nms_BlockFluids_getFlowVector", "getFlowVector", "nms_Block_canProvidePower", "canProvidePower", "nms_Render_getWorldFromRenderManager", "getWorldFromRenderManager", "nms_Entity_getShadowSize", "getShadowSize", "nms_World_getBlockLightValue", "getBlockLightValue", "nms_Render_renderShadowOnBlock",
        "renderShadowOnBlock", "nms_BlockRedstoneOre_func_319_i", "func_319_i", "nms_World_getEntitiesWithinAABB", "getEntitiesWithinAABB", "nms_World_setBlockMetadataWithNotify", "setBlockMetadataWithNotify", "nms_World_notifyBlocksOfNeighborChange", "notifyBlocksOfNeighborChange", "nms_World_markBlocksDirty", "markBlocksDirty", "nms_World_playSoundEffect", "playSoundEffect", "nms_BlockPressurePlate_tickRate", "tickRate", "nms_Block_tickRate", "nms_World_scheduleBlockUpdate", "scheduleBlockUpdate", "jur_IntArrHash_get",
        "jl_Character_isLetterOrDigit0", "nleit_BooleanResult__clinit_", "jl_Long_parseLongImpl", "parseLongImpl", "nms_BlockFluids_getEffectiveFlowDecay", "getEffectiveFlowDecay", "nms_Material_getIsSolid", "getIsSolid", "nms_Block_renderAsNormalBlock", "renderAsNormalBlock", "nms_World_isBlockOpaqueCube", "nms_World_spawnParticle", "spawnParticle", "nleit_BooleanResult__init_", "nms_PlayerControllerSP_setPartialTime", "nms_PlayerControllerSP_updateController", "nms_PlayerControllerSP_clickBlock", "nms_PlayerControllerSP_func_6468_a",
        "nms_PlayerControllerSP_sendBlockRemoving", "nms_PlayerControllerSP_getBlockReachDistance", "nms_PlayerControllerSP_func_717_a", "nms_PlayerControllerSP_flipPlayer", "nleb_EaglercraftSaveManager_getWorldList", "nms_GuiWorldSlot_drawBackground", "nms_GuiTexturePackSlot_drawBackground", "nms_GuiWorldSlot_getSize", "nms_GuiTexturePackSlot_getSize", "nms_GuiWorldSlot_elementClicked", "nms_GuiTexturePackSlot_elementClicked", "nms_GuiWorldSlot_getContentHeight", "nms_GuiTexturePackSlot_getContentHeight", "nms_GuiWorldSlot_drawSlot",
        "nms_GuiTexturePackSlot_drawSlot", "nms_GuiWorldSlot_isSelected", "nms_GuiTexturePackSlot_isSelected", "jn_ByteBufferImpl_isReadOnly", "nms_GuiSelectWorld_deleteWorld", "nleb_EaglercraftSaveManager_renameWorldData", "nleb_EaglercraftSaveManager_getWorldInfoForWorld", "nms_ChunkCache_getWorldChunkManager", "nms_ChunkCache_isBlockOpaqueCube", "nleib_EaglerArrayByteBuffer_put2", "nle_Filesystem$FilesystemHandleWrapper_eaglerWrite", "nms_ModelZombie_setRotationAngles", "nms_RenderCow_doRenderLiving", "nms_RenderWolf_doRenderLiving",
        "nms_RenderChicken_doRenderLiving", "nms_RenderPlayer_doRenderLiving", "nms_RenderSquid_doRenderLiving", "jur_CharSet_charCount", "jur_EmptySet_accepts", "jur_UCIRangeSet_accepts", "jur_CharSet_accepts", "jur_UCICharSet_accepts", "jur_CICharSet_accepts", "jur_SequenceSet_accepts", "jur_UCISequenceSet_accepts", "jur_CISequenceSet_accepts", "jur_UCISupplCharSet_accepts", "jur_SupplCharSet_accepts", "jur_EmptySet_findBack", "jur_SingleSet_findBack", "jur_CharSet_findBack", "jur_BackReferenceSet_findBack",
        "jur_SequenceSet_findBack", "jur_LowSurrogateCharSet_findBack", "jur_HighSurrogateCharSet_findBack", "jur_SupplCharSet_findBack", "jur_BackReferencedSingleSet_findBack", "jur_LowHighSurrogateRangeSet_matches", "jur_FSet_hasConsumed", "jur_NonCapFSet_hasConsumed", "jur_AtomicFSet_hasConsumed", "jur_EmptySet_hasConsumed", "jur_NonCapJointSet_hasConsumed", "jur_PositiveLookAhead_hasConsumed", "jur_NegativeLookAhead_hasConsumed", "jur_PositiveLookBehind_hasConsumed", "jur_NegativeLookBehind_hasConsumed",
        "jur_JointSet_hasConsumed", "jur_QuantifierSet_hasConsumed", "jur_FSet$PossessiveFSet_hasConsumed", "jur_CompositeRangeSet_hasConsumed", "jur_SupplRangeSet_hasConsumed", "jur_LeafSet_hasConsumed", "jur_HangulDecomposedCharSet_hasConsumed", "jur_DecomposedCharSet_hasConsumed", "jur_SOLSet_hasConsumed", "jur_WordBoundary_hasConsumed", "jur_PreviousMatch_hasConsumed", "jur_EOLSet_hasConsumed", "jur_EOISet_hasConsumed", "jur_MultiLineSOLSet_hasConsumed", "jur_DotAllSet_hasConsumed", "jur_DotSet_hasConsumed",
        "jur_UEOLSet_hasConsumed", "jur_UMultiLineEOLSet_hasConsumed", "jur_MultiLineEOLSet_hasConsumed", "jur_CIBackReferenceSet_hasConsumed", "jur_LowSurrogateCharSet_hasConsumed", "jur_HighSurrogateCharSet_hasConsumed", "jur_AbstractLineTerminator$1_isAfterLineTerminator", "jur_AbstractLineTerminator$2_isAfterLineTerminator", "jur_AbstractLineTerminator$1_isLineTerminator", "jur_AbstractLineTerminator$2_isLineTerminator", "cjj_Mapping0_look", "cjj_Time0_unpack", "cjj_Floor0_unpack", "cjj_Floor1_unpack", "cjj_Residue0_unpack",
        "cjj_Mapping0_unpack", "nms_ChunkCache_getLightBrightness", "nms_ChunkCache_getBlockMaterial", "nms_BlockRedstoneWire_canProvidePower", "nms_BlockLever_canProvidePower", "nms_BlockPressurePlate_canProvidePower", "nms_BlockRedstoneTorch_canProvidePower", "nms_BlockButton_canProvidePower", "nms_BlockRedstoneRepeater_canProvidePower", "nms_BlockFlower_renderAsNormalBlock", "nms_BlockFluids_renderAsNormalBlock", "nms_BlockBed_renderAsNormalBlock", "nms_BlockStep_renderAsNormalBlock", "nms_BlockTorch_renderAsNormalBlock",
        "nms_BlockFire_renderAsNormalBlock", "nms_BlockStairs_renderAsNormalBlock", "nms_BlockRedstoneWire_renderAsNormalBlock", "nms_BlockSoil_renderAsNormalBlock", "nms_BlockSign_renderAsNormalBlock", "nms_BlockDoor_renderAsNormalBlock", "nms_BlockLadder_renderAsNormalBlock", "nms_BlockMinecartTrack_renderAsNormalBlock", "nms_BlockLever_renderAsNormalBlock", "nms_BlockPressurePlate_renderAsNormalBlock", "nms_BlockButton_renderAsNormalBlock", "nms_BlockSnow_renderAsNormalBlock", "nms_BlockCactus_renderAsNormalBlock",
        "nms_BlockReed_renderAsNormalBlock", "nms_BlockFence_renderAsNormalBlock", "nms_BlockPortal_renderAsNormalBlock", "nms_BlockCake_renderAsNormalBlock", "nms_BlockRedstoneRepeater_renderAsNormalBlock", "nms_SoundManager_playRandomMusicIfReady", "playRandomMusicIfReady", "nms_ItemStack_useItemRightClick", "useItemRightClick", "nms_EntityPlayer_attackTargetEntityWithCurrentItem", "attackTargetEntityWithCurrentItem", "nms_EntityPlayer_useCurrentItemOnEntity", "useCurrentItemOnEntity", "nms_Block_onBlockClicked",
        "onBlockClicked", "nms_Block_blockStrength", "blockStrength", "nms_PlayerControllerSP_sendBlockRemoved", "sendBlockRemoved", "nms_PlayerController_sendBlockRemoved", "nms_Block_blockActivated", "blockActivated", "nms_ItemStack_useItem", "useItem", "nms_CraftingInventoryCB_onCraftGuiClosed", "onCraftGuiClosed", "nms_CraftingInventoryCB_func_20116_a", "func_20116_a", "nms_EntityPlayerSP__init_", "cjj_Mdct_mdct_kernel", "mdct_kernel", "nleiv_VFile2_listFiles", "listFiles", "nleiv_VFile2_getName", "nleiv_VFile2_getParent",
        "getParent", "nleiv_VFile2_getAllBytes", "getAllBytes", "nms_WorldInfo__init_", "nms_WorldInfo_getLastTimePlayed", "getLastTimePlayed", "nms_WorldInfo_getSizeOnDisk", "getSizeOnDisk", "nms_SaveFormatComparator__init_", "nms_GuiSelectWorld_getSize", "nms_GuiTexturePacks_func_22126_b", "func_22126_b", "nms_TexturePackList_availableTexturePacks", "availableTexturePacks", "nms_GuiSelectWorld_onElementSelected", "onElementSelected", "nms_GuiSelectWorld_getSelectedWorld", "getSelectedWorld", "nms_GuiSelectWorld_getSelectButton",
        "getSelectButton", "nms_GuiSelectWorld_getRenameButton", "getRenameButton", "nms_GuiSelectWorld_getDeleteButton", "getDeleteButton", "nms_GuiTexturePacks_func_22119_c", "func_22119_c", "nms_GuiTexturePacks_func_22122_d", "func_22122_d", "nms_TexturePackList_setTexturePack", "setTexturePack", "nms_GuiTexturePacks_func_22117_e", "func_22117_e", "nms_GuiSelectWorld_func_22087_f", "func_22087_f", "nms_SaveFormatComparator_getFileName", "getFileName", "nms_GuiSelectWorld_getDateFormatter", "getDateFormatter",
        "nms_SaveFormatComparator_func_22163_e", "func_22163_e", "ju_Date__init_1", "nms_SaveFormatComparator_func_22159_c", "func_22159_c", "nms_SaveFormatComparator_func_22161_d", "func_22161_d", "nms_GuiSelectWorld_func_22088_h", "func_22088_h", "nms_GuiTexturePacks_func_22121_h", "func_22121_h", "nms_GuiTexturePacks_func_22123_i", "func_22123_i", "nms_TexturePackBase_bindThumbnailTexture", "bindThumbnailTexture", "nms_GuiTexturePacks_func_22127_j", "func_22127_j", "nms_GuiTexturePacks_func_22120_k", "func_22120_k",
        "nms_GuiTexturePacks_func_22125_l", "func_22125_l", "nms_GuiTexturePacks_func_22118_f", "func_22118_f", "nms_GuiTexturePacks_func_22116_g", "func_22116_g", "jur_Matcher_reset", "jur_Matcher_appendTail", "appendTail", "jur_Matcher_appendReplacement", "appendReplacement", "nms_DataWatcher_getWatchableObjectByte", "getWatchableObjectByte", "nms_Entity_setBeenAttacked", "setBeenAttacked", "ju_AbstractMap$SimpleEntry_getKey", "nms_NetworkManager_isOpen", "isOpen", "nlei_IWebSocketClient_getNextBinaryFrame",
        "getNextBinaryFrame", "nlei_IWebSocketFrame_getByteArray", "ji_FilterInputStream_close", "nms_NetworkManager_onNetworkError", "onNetworkError", "nms_Packet_readPacket", "nms_Packet_processPacket", "processPacket", "nms_NetHandler_handleErrorMessage", "handleErrorMessage", "nle_EaglerOutputStream_reset", "nms_Packet_writePacket", "writePacket", "nlei_IWebSocketClient_send", "send", "ji_FilterOutputStream_close", "nle_Keyboard_getKeyName", "getKeyName", "nms_ISaveFormat_flushCache", "flushCache", "nms_ISaveFormat_deleteWorldByDirectory",
        "deleteWorldByDirectory", "nms_ISaveFormat_isOldMapFormat", "isOldMapFormat", "nms_ISaveFormat_getSaveLoader", "nms_World__init_1", "nmc_Minecraft_convertMapFormat", "convertMapFormat", "nleiv_VFile2_setAllBytes", "setAllBytes", "nms_World_getWorldChunkManager", "ji_PrintWriter_write1", "ji_Writer_write1", "nms_RenderLiving_func_167_c", "func_167_c", "nms_Entity_isRiding", "isRiding", "nms_RenderLiving_func_22012_b", "func_22012_b", "nms_RenderLiving_func_170_d", "func_170_d", "nms_RenderLiving_func_21004_a",
        "func_21004_a", "nms_RenderLiving_preRenderCallback", "preRenderCallback", "nms_Render_loadDownloadableImageTexture", "loadDownloadableImageTexture", "nms_ModelBase_func_25103_a", "func_25103_a", "nms_RenderLiving_renderEquippedItems", "renderEquippedItems", "nms_RenderLiving_getColorMultiplier", "getColorMultiplier", "nms_RenderLiving_shouldRenderPass", "shouldRenderPass", "nms_RenderLiving_passSpecialRender", "passSpecialRender", "nms_RenderPainting_func_159_a", "func_159_a", "nms_EntityFallingSand_func_465_i",
        "func_465_i", "nms_RenderBlocks_renderBlockFallingSand", "renderBlockFallingSand", "nms_EntityMinecart_func_514_g", "func_514_g", "nms_EntityMinecart_func_515_a", "func_515_a", "nms_Vec3D_lengthVector", "lengthVector", "jur_SequenceSet_startsWith", "jl_String_lastIndexOf1", "jur_SequenceSet_lastIndexOf", "jl_Character_codePointAt", "jur_MatchResultImpl_getGroupNoCheck", "getGroupNoCheck", "jur_SequenceSet$IntHash_get", "jl_Math_log", "jl_Math_rint", "rint", "cjj_StaticCodeBook_unquantize", "unquantize",
        "cjj_CodeBook_make_decode_tree", "make_decode_tree", "cjj_CodeBook_clear", "cjj_Mapping0$LookMapping0__init_", "cjj_FuncTime_look", "cjj_FuncFloor_look", "cjj_FuncResidue_look", "cjj_Util_ilog", "ilog", "cjj_StaticCodeBook_maptype1_quantvals", "maptype1_quantvals", "cjj_Floor0$InfoFloor0__init_", "cjj_Floor1$InfoFloor1__init_", "cjj_Floor1$InfoFloor1_free", "cjj_Residue0$InfoResidue0__init_", "cjj_Util_icount", "icount", "cjj_Mapping0$InfoMapping0__init_", "cjj_Mapping0$InfoMapping0_free", "nms_ChunkCache_getLightValue",
        "getLightValue", "nleit_TeaVMWebSocketFrame__init_", "nleit_TeaVMWebSocketClient_access$000", "access$000", "nms_SoundManager_onSoundOptionsChanged", "onSoundOptionsChanged", "nms_EntityPlayer__init_", "nms_NBTTagCompound_getLong", "getLong", "nms_NBTTagCompound_hasKey", "hasKey", "nlei_IWebSocketClient_isOpen", "nms_Packet_getNewPacket", "getNewPacket", "nms_Packet_readPacketData", "readPacketData", "nms_Packet_getPacketSize", "getPacketSize", "nms_PacketCounter_addPacket", "addPacket", "nms_PacketCounter__init_0",
        "nms_Packet_getPacketId", "getPacketId", "ji_DataOutputStream_write0", "ji_FilterOutputStream_write", "nms_Packet_writePacketData", "writePacketData", "nms_EnumOptionsMappingHelper__clinit_", "nle_KeyboardConstants_getKeyName", "nms_World__init_", "nms_ISaveFormat_formatName", "formatName", "nms_ISaveFormat_convertMapFormat", "nms_RenderPainting_func_160_a", "func_160_a", "jl_Character_codePointAt0", "nleit_TeaVMWebSocketFrame_isStr$js_body$_0", "isStr$js_body$_0", "nlei_AbstractWebSocketClient_addRecievedFrame",
        "addRecievedFrame", "nms_EntityLiving__init_", "nms_InventoryPlayer__init_", "nms_CraftingInventoryPlayerCB__init_", "nms_Entity_setLocationAndAngles", "setLocationAndAngles", "jl_Class_newInstance", "nms_PacketCounter__init_", "ju_TreeSet__init_", "nms_ISaveHandler_loadWorldInfo", "loadWorldInfo", "nms_WorldInfo_setWorldName", "setWorldName", "nms_WorldInfo__init_0", "nms_WorldProvider_registerWorld", "registerWorld", "nms_World_getChunkProvider", "getChunkProvider", "nms_World_calculateInitialSkylight",
        "calculateInitialSkylight", "nms_World_func_25098_c", "func_25098_c", "nms_WorldProvider__init_", "nms_WorldInfo_getDimension", "getDimension", "nms_WorldProviderHell__init_", "nms_EntityMinecart__clinit_", "nms_CraftingInventoryCB__init_", "nms_InventoryCrafting__init_", "nms_InventoryCraftResult__init_", "nms_SlotCrafting__init_", "nms_CraftingInventoryCB_addSlot", "addSlot", "nms_Slot__init_", "nms_InventoryPlayer_getSizeInventory", "getSizeInventory", "nms_SlotArmor__init_", "nms_CraftingInventoryPlayerCB_onCraftMatrixChanged",
        "onCraftMatrixChanged", "nms_CraftingInventoryCB_onCraftMatrixChanged", "ju_TreeSet__clinit_", "nms_EntityPlayerSP_addStat", "nms_EntityPlayerSP_isSneaking", "nle_EaglerOutputStream_write0", "cjj_Floor0_inverse1", "cjj_Floor1_inverse1", "cjj_Floor0_inverse2", "cjj_Floor1_inverse2", "cjj_Residue1_inverse", "cjj_Residue2_inverse", "cjj_Residue0_inverse", "nms_MaterialTransparent_isSolid", "nms_MaterialLogic_isSolid", "nms_MaterialLiquid_isSolid", "nms_MaterialLogic_getIsSolid", "nms_MaterialTransparent_getIsSolid",
        "nms_MaterialLiquid_getIsSolid", "nms_CraftingInventoryPlayerCB_onCraftGuiClosed", "nms_EntityPlayer_entityInit", "nms_BlockNote_onBlockClicked", "nms_BlockStairs_onBlockClicked", "nms_BlockDoor_onBlockClicked", "nms_BlockLever_onBlockClicked", "nms_BlockRedstoneOre_onBlockClicked", "nms_BlockButton_onBlockClicked", "nms_BlockCake_onBlockClicked", "nms_BlockDispenser_blockActivated", "nms_BlockNote_blockActivated", "nms_BlockBed_blockActivated", "nms_BlockStairs_blockActivated", "nms_BlockChest_blockActivated",
        "nms_BlockWorkbench_blockActivated", "nms_BlockFurnace_blockActivated", "nms_BlockDoor_blockActivated", "nms_BlockLever_blockActivated", "nms_BlockRedstoneOre_blockActivated", "nms_BlockButton_blockActivated", "nms_BlockJukeBox_blockActivated", "nms_BlockCake_blockActivated", "nms_BlockRedstoneRepeater_blockActivated", "nms_TileEntitySignRenderer_renderTileEntityAt", "nms_TileEntityMobSpawnerRenderer_renderTileEntityAt", "nlei_AbstractWebSocketClient_getNextBinaryFrame", "nms_NetClientHandler_handleErrorMessage",
        "nleit_TeaVMWebSocketClient_send", "nleb_EaglercraftSaveManager_flushCache", "nleb_EaglercraftSaveManager_deleteWorldByDirectory", "nleb_EaglercraftSaveManager_isOldMapFormat", "nleb_EaglercraftSaveManager_getSaveLoader", "nlei_RamdiskFilesystemImpl_eaglerWrite", "nleit_IndexedDBFilesystem_eaglerWrite", "nms_RenderPlayer_func_22012_b", "nms_RenderWolf_func_170_d", "nms_RenderChicken_func_170_d", "nms_RenderSquid_func_170_d", "nms_RenderPlayer_func_21004_a", "nms_RenderSquid_func_21004_a", "nms_RenderWolf_preRenderCallback",
        "nms_RenderCreeper_preRenderCallback", "nms_RenderSlime_preRenderCallback", "nms_RenderPlayer_preRenderCallback", "nms_RenderZombieSimple_preRenderCallback", "nms_RenderGhast_preRenderCallback", "nms_RenderSquid_preRenderCallback", "nms_RenderPlayer_loadDownloadableImageTexture", "nms_ModelWolf_func_25103_a", "nms_ModelQuadraped_render", "nms_ModelCow_render", "nms_ModelWolf_render", "nms_ModelChicken_render", "nms_ModelSlime_render", "nms_ModelSquid_render", "nms_ModelSpider_render", "nms_ModelCreeper_render",
        "nms_ModelGhast_render", "nms_RenderBiped_renderEquippedItems", "nms_RenderPlayer_renderEquippedItems", "nms_RenderCreeper_getColorMultiplier", "nms_RenderSpider_shouldRenderPass", "nms_RenderPig_shouldRenderPass", "nms_RenderSheep_shouldRenderPass", "nms_RenderSlime_shouldRenderPass", "nms_RenderPlayer_shouldRenderPass", "nms_RenderPlayer_passSpecialRender", "nms_ModelMinecart_render", "nms_ModelBoat_render", "cjj_Time0_look", "cjj_Floor0_look", "cjj_Floor1_look", "cjj_Residue0_look", "nleit_TeaVMWebSocketClient_isOpen",
        "nms_Packet2Handshake_writePacketData", "nleb_EaglercraftSaveManager_formatName", "nleb_EaglercraftSaveManager_convertMapFormat", "nms_EnumArt_values", "nms_SaveFormatComparator_compareTo", "nms_MovementInput_checkKeyForMovementInput", "checkKeyForMovementInput", "nms_InventoryPlayer_decrStackSize", "decrStackSize", "nms_EntityPlayer_dropPlayerItemWithRandomChoice", "dropPlayerItemWithRandomChoice", "nms_InventoryPlayer_getDamageVsEntity", "nms_EntityPlayer_getCurrentEquippedItem", "getCurrentEquippedItem",
        "nms_ItemStack_hitEntity", "hitEntity", "nms_ItemStack_func_1097_a", "func_1097_a", "nms_EntityPlayer_destroyCurrentEquippedItem", "destroyCurrentEquippedItem", "nms_Entity_isEntityAlive", "isEntityAlive", "nms_EntityPlayer_alertWolves", "alertWolves", "nms_Entity_interact", "interact", "nms_ItemStack_useItemOnEntity", "useItemOnEntity", "nms_InventoryPlayer_getTotalArmorValue", "getTotalArmorValue", "nms_Entity_getEyeHeight", "getEyeHeight", "nms_MovementInput_resetKeyState", "resetKeyState", "nms_EntityLiving_setSize",
        "nmc_Minecraft_respawn", "respawn", "cjj_CodeBook_decodev_set", "decodev_set", "cjj_CodeBook_decode", "cjj_Floor1_render_point", "render_point", "cjj_Lsp_lsp_to_curve", "lsp_to_curve", "cjj_Floor1_render_line", "render_line", "cjj_Residue0__01inverse", "_01inverse", "cjj_Residue0__2inverse", "_2inverse", "nms_InventoryPlayer_getInventorySlotContainItem", "getInventorySlotContainItem", "nms_InventoryCrafting_getStackInSlot", "getStackInSlot", "nms_EntityPlayer_dropPlayerItem", "dropPlayerItem", "nms_InventoryCrafting_setInventorySlotContents",
        "setInventorySlotContents", "nms_InventoryPlayer_setItemStack", "setItemStack", "nms_ItemStack_splitStack", "splitStack", "nms_Slot_onSlotChanged", "onSlotChanged", "nms_Slot_isItemValid", "isItemValid", "nms_Slot_getSlotStackLimit", "getSlotStackLimit", "nms_Slot_putStack", "putStack", "nms_Slot_decrStackSize", "nms_Slot_func_25014_f", "func_25014_f", "nms_Slot_onPickupFromSlot", "onPickupFromSlot", "nms_ItemStack_getHasSubtypes", "getHasSubtypes", "nms_ItemStack_getMaxStackSize", "getMaxStackSize",
        "nms_WorldProvider_registerWorldChunkManager", "registerWorldChunkManager", "nms_WorldProvider_generateLightBrightnessTable", "generateLightBrightnessTable", "nms_EntityLiving_entityInit", "nlei_IAudioHandle_shouldFree", "shouldFree", "nms_World_getBlockTileEntity", "nms_TileEntityNote_triggerNote", "triggerNote", "nms_BlockCake_eatCakeSlice", "eatCakeSlice", "nms_EntityPlayer_canHarvestBlock", "canHarvestBlock", "nms_EntityPlayer_getCurrentPlayerStrVsBlock", "getCurrentPlayerStrVsBlock", "nms_ItemStack_func_25191_a",
        "func_25191_a", "nms_Block_harvestBlock", "harvestBlock", "nms_EntityPlayer_displayGUIDispenser", "displayGUIDispenser", "nms_TileEntityNote_changePitch", "changePitch", "nms_BlockBed_isBedOccupied", "isBedOccupied", "nms_EntityPlayer_sleepInBedAt", "sleepInBedAt", "nms_EntityPlayer_addChatMessage", "addChatMessage", "nms_BlockBed_setBedOccupied", "setBedOccupied", "nms_InventoryLargeChest__init_", "nms_EntityPlayer_displayGUIChest", "displayGUIChest", "nms_EntityPlayer_displayWorkbenchGUI", "displayWorkbenchGUI",
        "nms_EntityPlayer_displayGUIFurnace", "displayGUIFurnace", "nms_BlockButton_tickRate", "nms_BlockJukeBox_ejectRecord", "ejectRecord", "nleiv_VFSListFilesIteratorImpl__init_", "nlei_IEaglerFilesystem_eaglerIterate", "eaglerIterate", "nlei_PlatformRuntime_castNativeByteBuffer", "castNativeByteBuffer", "nleib_ByteBuffer_get2", "nms_TexturePackBase_closeTexturePackFile", "closeTexturePackFile", "jl_StringBuffer_append5", "jur_Matcher_processReplacement", "processReplacement", "nms_WatchableObject_getObject",
        "nms_TileEntitySignRenderer_renderTileEntitySignAt", "renderTileEntitySignAt", "nms_TileEntityMobSpawnerRenderer_renderTileEntityMobSpawner", "renderTileEntityMobSpawner", "nlei_IWebSocketFrame_isString", "isString", "nleiv_VFile2_dirExists", "dirExists", "nleb_EaglercraftSaveManager_deleteWorldFiles", "deleteWorldFiles", "nleiv_VFile2_delete", "nleb_EaglercraftSaveHandler__init_", "nms_Block_getCollidingBoundingBoxes", "nms_Entity_getBoundingBox", "nms_Entity_getCollisionBox", "getCollisionBox", "nms_AxisAlignedBB_intersectsWith",
        "intersectsWith", "nms_World_chunkExists", "chunkExists", "nms_IWorldAccess_playSound", "nms_World_setBlock", "setBlock", "nms_World_notifyBlockChange", "notifyBlockChange", "nms_IWorldAccess_spawnParticle", "nms_Chunk_getEntitiesWithinAABBForEntity", "getEntitiesWithinAABBForEntity", "nms_Chunk_getEntitiesOfTypeWithinAAAB", "getEntitiesOfTypeWithinAAAB", "nms_World_setBlockMetadata", "setBlockMetadata", "nms_World_notifyBlockOfNeighborChange", "notifyBlockOfNeighborChange", "nms_IWorldAccess_markBlockRangeNeedsUpdate",
        "markBlockRangeNeedsUpdate", "nms_NextTickListEntry__init_", "nms_Block_updateTick", "nms_WorldInfo_getWorldTime", "getWorldTime", "nms_NextTickListEntry_setScheduledTime", "setScheduledTime", "ju_TreeSet_add", "nms_Block_velocityToAddToEntity", "velocityToAddToEntity", "nms_World_getBlockLightValue_do", "getBlockLightValue_do", "nms_WorldChunkManager_func_4072_b", "func_4072_b", "nms_WorldChunkManager_func_4073_a", "func_4073_a", "nms_MobSpawnerBase_getSkyColorByTemp", "getSkyColorByTemp", "nms_WorldProvider_calculateCelestialAngle",
        "calculateCelestialAngle", "nms_IChunkProvider_provideChunk", "provideChunk", "nms_MetadataChunkBlock_func_4127_a", "func_4127_a", "nms_Chunk_func_1015_b", "func_1015_b", "nms_World_releaseEntitySkin", "releaseEntitySkin", "nms_World_updateEntity", "updateEntity", "nms_TileEntity_updateEntity", "nms_World_isAllPlayersFullyAsleep", "isAllPlayersFullyAsleep", "nms_SpawnerAnimals_performSpawning", "performSpawning", "nms_IChunkProvider_func_532_a", "func_532_a", "nms_World_calculateSkylightSubtracted",
        "calculateSkylightSubtracted", "nms_SpawnerAnimals_performSleepSpawning", "performSleepSpawning", "nms_WorldInfo_setWorldTime", "setWorldTime", "nms_World_wakeUpAllPlayers", "wakeUpAllPlayers", "nms_IWorldAccess_updateAllRenderers", "updateAllRenderers", "nms_World_TickUpdates", "TickUpdates", "nms_World_updateBlocksAndPlayCaveSounds", "updateBlocksAndPlayCaveSounds", "nms_World_saveWorld", "saveWorld", "nms_Block_randomDisplayTick", "randomDisplayTick", "nms_WorldProvider_func_4096_a", "func_4096_a",
        "nms_World_getChunkFromBlockCoords", "getChunkFromBlockCoords", "nms_Chunk_getHeightValue", "getHeightValue", "nms_World_rayTraceBlocks_do", "rayTraceBlocks_do", "nms_IChunkProvider_func_536_b", "func_536_b", "nms_IChunkProvider_saveChunks", "saveChunks", "nms_World_saveLevel", "saveLevel", "nms_WorldInfo_getSpawnX", "getSpawnX", "nms_WorldInfo_getSpawnY", "getSpawnY", "nms_WorldInfo_getSpawnZ", "getSpawnZ", "nms_ChunkCoordinates__init_0", "nms_WorldInfo_getPlayerNBTTagCompound", "getPlayerNBTTagCompound",
        "nms_Entity_readFromNBT", "readFromNBT", "nms_WorldInfo_setPlayerNBTTagCompound", "setPlayerNBTTagCompound", "nms_Chunk_addEntity", "addEntity", "nms_World_obtainEntitySkin", "obtainEntitySkin", "nms_World_updateAllPlayersSleepingFlag", "updateAllPlayersSleepingFlag", "nleit_IndexedDBFilesystem$AsyncHandlers_writeWholeFile", "writeWholeFile", "ji_PrintWriter_doWrite", "doWrite", "nms_RenderPlayer_func_22016_b", "func_22016_b", "nms_RenderWolf_func_25004_a", "func_25004_a", "nms_RenderChicken_func_182_a",
        "func_182_a", "nms_RenderSquid_func_21006_b", "func_21006_b", "nms_RenderLiving_func_172_a", "func_172_a", "nms_RenderPlayer_func_22017_a", "func_22017_a", "nms_RenderSquid_func_21007_a", "func_21007_a", "nms_RenderWolf_func_25006_b", "func_25006_b", "nms_RenderCreeper_updateCreeperScale", "updateCreeperScale", "nms_RenderSlime_func_178_a", "func_178_a", "nms_RenderPlayer_func_186_b", "func_186_b", "nms_RenderZombieSimple_preRenderScale", "preRenderScale", "nms_RenderGhast_func_4014_a", "func_4014_a",
        "nms_RenderSquid_func_21005_a", "func_21005_a", "nlep_EaglerProfile_getUserSkin", "getUserSkin", "nlep_EaglerProfile$UserSkin_getSkinType", "getSkinType", "nlep_EaglerProfile_skinRequestPending", "skinRequestPending", "nlep_EaglerProfile_beginSkinRequest", "beginSkinRequest", "nlep_EaglerProfile$UserSkin_getSkin", "getSkin", "nlep_EaglerProfile$UserSkin_getTexture", "nms_EntityWolf_isWolfAngry", "isWolfAngry", "nms_EntityWolf_isWolfSitting", "isWolfSitting", "nms_EntityWolf_func_25033_c", "func_25033_c",
        "nms_EntityWolf_func_25042_a", "func_25042_a", "nms_EntityWolf_func_25039_v", "func_25039_v", "nms_EntityWolf_func_25043_b_", "func_25043_b_", "nms_ModelQuadraped_setRotationAngles", "nms_ModelWolf_setRotationAngles", "nms_ModelRenderer_func_25122_b", "func_25122_b", "nms_ModelChicken_setRotationAngles", "nms_ModelSlime_setRotationAngles", "nms_ModelSquid_setRotationAngles", "nms_ModelSpider_setRotationAngles", "nms_ModelCreeper_setRotationAngles", "nms_ModelGhast_setRotationAngles", "nms_EntityLiving_getHeldItem",
        "getHeldItem", "nms_ModelRenderer_postRender", "postRender", "nms_Item_isFull3D", "isFull3D", "nms_RenderPlayer_renderSpecials", "renderSpecials", "nms_RenderCreeper_updateCreeperColorMultiplier", "updateCreeperColorMultiplier", "nms_RenderSpider_setSpiderEyeBrightness", "setSpiderEyeBrightness", "nms_RenderPig_renderSaddledPig", "renderSaddledPig", "nms_RenderSheep_func_176_a", "func_176_a", "nms_RenderSlime_func_179_a", "func_179_a", "nms_RenderPlayer_setArmorModel", "setArmorModel", "nmc_Minecraft_isDebugInfoEnabled",
        "isDebugInfoEnabled", "nms_RenderLiving_renderLivingLabel", "renderLivingLabel", "nms_RenderPlayer_renderName", "renderName", "cjj_StaticCodeBook_float32_unpack", "float32_unpack", "cjj_CodeBook$DecodeAux__init_", "cjj_CodeBook_make_words", "make_words", "cjj_Floor0$LookFloor0__init_", "cjj_Lpc_init", "cjj_Floor0_toBARK", "toBARK", "cjj_Floor1$LookFloor1__init_", "cjj_Residue0$LookResidue0__init_", "nms_ChunkCache_func_716_a", "func_716_a", "nlei_IAudioHandle_end", "nlei_IAudioHandle_gain", "gain", "otp_Platform_newInstance",
        "jl_InstantiationException__init_", "nms_ISaveHandler_getChunkLoader", "getChunkLoader", "nms_WorldProvider_getChunkProvider", "nms_ChunkProviderLoadOrGenerate__init_", "nms_WorldInfo_setSpawn", "setSpawn", "nms_WorldProvider_canCoordinateBeSpawn", "canCoordinateBeSpawn", "nms_CraftingManager_findMatchingRecipe", "findMatchingRecipe", "nms_IInventory_setInventorySlotContents", "nms_SaveFormatComparator_func_22160_a", "func_22160_a", "cjj_Lookup_coslook", "coslook", "cjj_Lookup_invsqlook", "invsqlook",
        "cjj_Lookup_invsq2explook", "invsq2explook", "cjj_Lookup_fromdBlook", "fromdBlook", "cjj_CodeBook_decodevs_add", "decodevs_add", "cjj_CodeBook_decodev_add", "decodev_add", "cjj_CodeBook_decodevv_add", "decodevv_add", "nms_EntityLiving_heal", "heal", "nms_World_markBlockAsNeedsUpdate", "markBlockAsNeedsUpdate", "nms_EffectRenderer_addBlockDestroyEffects", "addBlockDestroyEffects", "nms_StepSound_func_1146_a", "func_1146_a", "nms_Block_onBlockDestroyedByPlayer", "onBlockDestroyedByPlayer", "nms_EnumStatus__clinit_",
        "nleit_TeaVMUtils_wrapUnsignedByteArray", "wrapUnsignedByteArray", "jur_Matcher$1__init_", "jur_Matcher_group", "group", "jl_StringBuilder_subSequence", "jl_AbstractStringBuilder_subSequence", "nms_IChunkProvider_chunkExists", "nms_Block_onNeighborBlockChange", "onNeighborBlockChange", "nms_NextTickListEntry__clinit_", "nms_SpawnerAnimals__clinit_", "nms_EnumCreatureType_values", "nms_ChunkCoordIntPair__init_", "nms_EnumCreatureType_getPeacefulCreature", "getPeacefulCreature", "nms_EnumCreatureType_getCreatureClass",
        "getCreatureClass", "nms_World_countEntities", "countEntities", "nms_EnumCreatureType_getMaxNumberOfCreature", "getMaxNumberOfCreature", "nms_WorldChunkManager_func_4074_a", "func_4074_a", "nms_MobSpawnerBase_getEntitiesForType", "getEntitiesForType", "nms_SpawnerAnimals_getRandomSpawningPointInChunk", "getRandomSpawningPointInChunk", "nms_EnumCreatureType_getCreatureMaterial", "getCreatureMaterial", "nms_SpawnerAnimals_canCreatureTypeSpawnAtLocation", "canCreatureTypeSpawnAtLocation", "nms_World_getClosestPlayer",
        "getClosestPlayer", "npem_EntityConstructor_createEntity", "createEntity", "nms_EntityLiving_getCanSpawnHere", "getCanSpawnHere", "nms_SpawnerAnimals_creatureSpecificInit", "creatureSpecificInit", "nms_EntityLiving_getMaxSpawnedInChunk", "getMaxSpawnedInChunk", "nms_Pathfinder__init_", "nms_Pathfinder_createEntityPathTo", "createEntityPathTo", "nms_PathEntity_func_22328_c", "func_22328_c", "jl_Math_abs1", "nms_BlockBed_getNearestEmptyChunkCoordinates", "getNearestEmptyChunkCoordinates", "nms_EntityPlayer_wakeUpPlayer",
        "wakeUpPlayer", "nms_EntityLiving_playLivingSound", "playLivingSound", "nms_World_checkSessionLock", "checkSessionLock", "nms_ISaveHandler_saveWorldInfoAndPlayer", "saveWorldInfoAndPlayer", "nleit_IndexedDBFilesystem$AsyncHandlers_writeWholeFile$_asyncCall_$", "writeWholeFile$_asyncCall_$", "nleit_IndexedDBFilesystem$AsyncHandlers_writeWholeFile0", "nlep_EaglerProfile$EnumSkinType__clinit_", "nlep_EaglerProfile$WaitingSkin__init_", "cjj_StaticCodeBook_ldexp", "ldexp", "cjj_Lpc__init_", "nms_EnumArt__clinit_",
        "otp_Platform_newInstanceImpl", "otp_Platform_prepareNewInstance", "prepareNewInstance", "jl_ReflectiveOperationException__init_", "nms_EmptyChunk__init_", "cjj_Lookup__clinit_", "nms_EnumStatus__init_", "nms_EnumStatus_$values", "nms_MobSpawnerBase__clinit_", "nms_SpawnerAnimals$_clinit_$lambda$_6_0__init_", "nms_SpawnerAnimals$_clinit_$lambda$_6_1__init_", "nms_SpawnerAnimals$_clinit_$lambda$_6_2__init_", "nms_EnumCreatureType__clinit_", "nms_ChunkPosition__init_", "nms_EntitySkeleton__init_", "nms_Entity_mountEntity",
        "mountEntity", "nms_EntitySheep_getRandomFleeceColor", "getRandomFleeceColor", "nms_EntitySheep_setFleeceColor", "setFleeceColor", "nms_Path__init_", "nms_MCHashTable__init_", "jl_Math_absImpl0", "nms_World_isAirBlock", "isAirBlock", "nleit_IndexedDBFilesystem$AsyncHandlers_writeRow$js_body$_14", "writeRow$js_body$_14", "nleit_IndexedDBFilesystem$AsyncHandlers$13__init_", "nleit_IndexedDBFilesystem$AsyncHandlers$14__init_", "nlep_EaglerProfile$EnumSkinType__init_", "nlep_EaglerProfile$EnumSkinType_$values",
        "cjj_Drft__init_", "nms_EnumArt__init_", "nms_EnumArt_$values", "nms_Chunk__init_", "nms_MobSpawnerRainforest__init_", "nms_MobSpawnerBase_setColor", "setColor", "nms_MobSpawnerBase_setBiomeName", "setBiomeName", "nms_MobSpawnerBase_func_4124_a", "func_4124_a", "nms_MobSpawnerSwamp__init_", "nms_MobSpawnerBase__init_", "nms_MobSpawnerForest__init_", "nms_MobSpawnerDesert__init_", "nms_MobSpawnerTaiga__init_", "nms_MobSpawnerBase_doesNothingForMobSpawnerBase", "doesNothingForMobSpawnerBase", "nms_MobSpawnerHell__init_",
        "nms_MobSpawnerBase_generateBiomeLookup", "generateBiomeLookup", "nms_EnumCreatureType__init_", "nms_EnumCreatureType_$values", "nms_EntityMobs__init_", "nms_EntitySkeleton__clinit_", "nms_EntitySheep__clinit_", "nleit_IndexedDBFilesystem$AsyncHandlers$13_handleEvent$exported$0", "nleit_IndexedDBFilesystem$AsyncHandlers$14_handleEvent$exported$0", "cjj_Drft__clinit_", "nms_Chunk__init_0", "nms_NibbleArray__init_", "nms_MobSpawnerBase$_init_$lambda$_0_0__init_", "nms_MobSpawnerBase$_init_$lambda$_0_1__init_",
        "nms_MobSpawnerBase$_init_$lambda$_0_2__init_", "nms_MobSpawnerBase$_init_$lambda$_0_3__init_", "nms_MobSpawnerBase$_init_$lambda$_0_4__init_", "nms_MobSpawnerBase$_init_$lambda$_0_5__init_", "nms_MobSpawnerBase$_init_$lambda$_0_6__init_", "nms_MobSpawnerBase$_init_$lambda$_0_7__init_", "nms_MobSpawnerBase$_init_$lambda$_0_8__init_", "nms_MobSpawnerBase$_init_$lambda$_0_9__init_", "nms_MobSpawnerForest$_init_$lambda$_0_0__init_", "nms_MobSpawnerForest$_init_$lambda$_0_1__init_", "nms_MobSpawnerForest$_init_$lambda$_0_2__init_",
        "nms_MobSpawnerForest$_init_$lambda$_0_3__init_", "nms_MobSpawnerForest$_init_$lambda$_0_4__init_", "nms_MobSpawnerTaiga$_init_$lambda$_0_0__init_", "nms_MobSpawnerTaiga$_init_$lambda$_0_1__init_", "nms_MobSpawnerTaiga$_init_$lambda$_0_2__init_", "nms_MobSpawnerTaiga$_init_$lambda$_0_3__init_", "nms_MobSpawnerTaiga$_init_$lambda$_0_4__init_", "nms_MobSpawnerHell$_init_$lambda$_0_0__init_", "nms_MobSpawnerHell$_init_$lambda$_0_1__init_", "nms_MobSpawnerBase_getBiome", "getBiome", "nms_EntityCreature__init_",
        "nleit_IndexedDBFilesystem$AsyncHandlers$13_handleEvent", "nleit_IndexedDBFilesystem$AsyncHandlers$14_handleEvent", "nlei_PlatformAudio$BrowserAudioHandle_shouldFree", "nms_TexturePackDefault_bindThumbnailTexture", "nleb_EaglercraftSaveHandler_getChunkLoader", "nleb_EaglercraftSaveHandler_saveWorldInfoAndPlayer", "nleb_EaglercraftSaveHandler_loadWorldInfo", "nms_ChunkProviderLoadOrGenerate_provideChunk", "nms_ChunkProviderLoadOrGenerate_func_532_a", "nms_ChunkProviderLoadOrGenerate_toString", "nms_ChunkProviderLoadOrGenerate_func_536_b",
        "nms_ChunkProviderLoadOrGenerate_saveChunks", "nms_ChunkProviderLoadOrGenerate_chunkExists", "nms_Packet6SpawnPosition_readPacketData", "nms_Packet102_readPacketData", "nms_Packet106_readPacketData", "nms_Packet51MapChunk_readPacketData", "nms_Packet28_readPacketData", "nms_Packet101_readPacketData", "nms_Packet16BlockItemSwitch_readPacketData", "nms_Packet10Flying_readPacketData", "nms_Packet27_readPacketData", "nms_Packet54_readPacketData", "nms_Packet40_readPacketData", "nms_Packet33RelEntityMoveLook_readPacketData",
        "nms_Packet19_readPacketData", "nms_Packet12PlayerLook_readPacketData", "nms_Packet105_readPacketData", "nms_Packet50PreChunk_readPacketData", "nms_Packet39_readPacketData", "nms_Packet13PlayerLookMove_readPacketData", "nms_Packet70_readPacketData", "nms_Packet4UpdateTime_readPacketData", "nms_Packet24MobSpawn_readPacketData", "nms_Packet25_readPacketData", "nms_Packet255KickDisconnect_readPacketData", "nms_Packet38_readPacketData", "nms_Packet34EntityTeleport_readPacketData", "nms_Packet31RelEntityMove_readPacketData",
        "nms_Packet130_readPacketData", "nms_Packet23VehicleSpawn_readPacketData", "nms_Packet20NamedEntitySpawn_readPacketData", "nms_Packet103_readPacketData", "nms_Packet100_readPacketData", "nms_Packet5PlayerInventory_readPacketData", "nms_Packet0KeepAlive_readPacketData", "nms_Packet15Place_readPacketData", "nms_Packet8_readPacketData", "nms_Packet14BlockDig_readPacketData", "nms_Packet52MultiBlockChange_readPacketData", "nms_Packet18ArmAnimation_readPacketData", "nms_Packet22Collect_readPacketData", "nms_Packet30Entity_readPacketData",
        "nms_Packet7_readPacketData", "nms_Packet3Chat_readPacketData", "nms_Packet9_readPacketData", "nms_Packet104_readPacketData", "nms_Packet53BlockChange_readPacketData", "nms_Packet2Handshake_readPacketData", "nms_Packet17Sleep_readPacketData", "nms_Packet11PlayerPosition_readPacketData", "nms_Packet29DestroyEntity_readPacketData", "nms_Packet60_readPacketData", "nms_Packet32EntityLook_readPacketData", "nms_Packet1Login_readPacketData", "nms_Packet21PickupSpawn_readPacketData", "nms_Packet6SpawnPosition_getPacketSize",
        "nms_Packet102_getPacketSize", "nms_Packet106_getPacketSize", "nms_Packet51MapChunk_getPacketSize", "nms_Packet28_getPacketSize", "nms_Packet101_getPacketSize", "nms_Packet16BlockItemSwitch_getPacketSize", "nms_Packet10Flying_getPacketSize", "nms_Packet27_getPacketSize", "nms_Packet54_getPacketSize", "nms_Packet40_getPacketSize", "nms_Packet33RelEntityMoveLook_getPacketSize", "nms_Packet19_getPacketSize", "nms_Packet12PlayerLook_getPacketSize", "nms_Packet105_getPacketSize", "nms_Packet50PreChunk_getPacketSize",
        "nms_Packet39_getPacketSize", "nms_Packet13PlayerLookMove_getPacketSize", "nms_Packet70_getPacketSize", "nms_Packet4UpdateTime_getPacketSize", "nms_Packet24MobSpawn_getPacketSize", "nms_Packet25_getPacketSize", "nms_Packet255KickDisconnect_getPacketSize", "nms_Packet38_getPacketSize", "nms_Packet34EntityTeleport_getPacketSize", "nms_Packet31RelEntityMove_getPacketSize", "nms_Packet130_getPacketSize", "nms_Packet23VehicleSpawn_getPacketSize", "nms_Packet20NamedEntitySpawn_getPacketSize", "nms_Packet103_getPacketSize",
        "nms_Packet100_getPacketSize", "nms_Packet5PlayerInventory_getPacketSize", "nms_Packet0KeepAlive_getPacketSize", "nms_Packet15Place_getPacketSize", "nms_Packet8_getPacketSize", "nms_Packet14BlockDig_getPacketSize", "nms_Packet52MultiBlockChange_getPacketSize", "nms_Packet18ArmAnimation_getPacketSize", "nms_Packet22Collect_getPacketSize", "nms_Packet30Entity_getPacketSize", "nms_Packet7_getPacketSize", "nms_Packet3Chat_getPacketSize", "nms_Packet9_getPacketSize", "nms_Packet104_getPacketSize", "nms_Packet53BlockChange_getPacketSize",
        "nms_Packet2Handshake_getPacketSize", "nms_Packet17Sleep_getPacketSize", "nms_Packet11PlayerPosition_getPacketSize", "nms_Packet29DestroyEntity_getPacketSize", "nms_Packet60_getPacketSize", "nms_Packet32EntityLook_getPacketSize", "nms_Packet1Login_getPacketSize", "nms_Packet21PickupSpawn_getPacketSize", "cjj_Lookup__init_", "ju_HashSet_clear", "nms_SpawnerAnimals$_clinit_$lambda$_6_1_createEntity", "nms_SpawnerAnimals$_clinit_$lambda$_6_0_createEntity", "nms_SpawnerAnimals$_clinit_$lambda$_6_2_createEntity",
        "nms_Packet7_processPacket", "nms_Packet10Flying_processPacket", "nms_Packet30Entity_processPacket", "nms_Packet106_processPacket", "nms_Packet52MultiBlockChange_processPacket", "nms_Packet17Sleep_processPacket", "nms_Packet27_processPacket", "nms_Packet38_processPacket", "nms_Packet5PlayerInventory_processPacket", "nms_Packet8_processPacket", "nms_Packet21PickupSpawn_processPacket", "nms_Packet28_processPacket", "nms_Packet16BlockItemSwitch_processPacket", "nms_Packet39_processPacket", "nms_Packet25_processPacket",
        "nms_Packet100_processPacket", "nms_Packet0KeepAlive_processPacket", "nms_Packet18ArmAnimation_processPacket", "nms_Packet29DestroyEntity_processPacket", "nms_Packet103_processPacket", "nms_Packet40_processPacket", "nms_Packet4UpdateTime_processPacket", "nms_Packet9_processPacket", "nms_Packet130_processPacket", "nms_Packet104_processPacket", "nms_Packet3Chat_processPacket", "nms_Packet54_processPacket", "nms_Packet50PreChunk_processPacket", "nms_Packet70_processPacket", "nms_Packet20NamedEntitySpawn_processPacket",
        "nms_Packet22Collect_processPacket", "nms_Packet101_processPacket", "nms_Packet6SpawnPosition_processPacket", "nms_Packet34EntityTeleport_processPacket", "nms_Packet105_processPacket", "nms_Packet255KickDisconnect_processPacket", "nms_Packet23VehicleSpawn_processPacket", "nms_Packet14BlockDig_processPacket", "nms_Packet102_processPacket", "nms_Packet53BlockChange_processPacket", "nms_Packet60_processPacket", "nms_Packet1Login_processPacket", "nms_Packet51MapChunk_processPacket", "nms_Packet19_processPacket",
        "nms_Packet24MobSpawn_processPacket", "nms_Packet2Handshake_processPacket", "nms_Packet15Place_processPacket", "nms_ChunkCoordIntPair_hashCode", "nms_ChunkCoordIntPair_equals", "nms_MovementInputFromOptions_checkKeyForMovementInput", "nms_EntityPlayer_getEyeHeight", "nms_MovementInputFromOptions_resetKeyState", "nms_WorldProviderHell_registerWorldChunkManager", "nms_WorldProviderHell_generateLightBrightnessTable", "nms_BlockLog_harvestBlock", "nms_BlockSnow_harvestBlock", "nms_EntityPlayerSP_displayGUIDispenser",
        "nms_EntityPlayerSP_addChatMessage", "nms_EntityPlayerSP_displayGUIChest", "nms_EntityPlayerSP_displayWorkbenchGUI", "nms_EntityPlayerSP_displayGUIFurnace", "nle_Filesystem$FilesystemHandleWrapper_eaglerIterate", "nleib_EaglerArrayByteBuffer_get0", "nms_BlockStairs_getCollidingBoundingBoxes", "nms_BlockGrass_updateTick", "nms_BlockSapling_updateTick", "nms_BlockFlowing_updateTick", "nms_BlockStationary_updateTick", "nms_BlockSand_updateTick", "nms_BlockLeaves_updateTick", "nms_BlockDispenser_updateTick",
        "nms_BlockFlower_updateTick", "nms_BlockTorch_updateTick", "nms_BlockFire_updateTick", "nms_BlockStairs_updateTick", "nms_BlockCrops_updateTick", "nms_BlockSoil_updateTick", "nms_BlockPressurePlate_updateTick", "nms_BlockRedstoneOre_updateTick", "nms_BlockRedstoneTorch_updateTick", "nms_BlockButton_updateTick", "nms_BlockSnow_updateTick", "nms_BlockIce_updateTick", "nms_BlockSnowBlock_updateTick", "nms_BlockCactus_updateTick", "nms_BlockReed_updateTick", "nms_BlockRedstoneRepeater_updateTick", "nms_BlockLockedChest_updateTick",
        "nms_BlockFluids_velocityToAddToEntity", "nms_BlockStairs_velocityToAddToEntity", "nms_WorldProviderHell_calculateCelestialAngle", "nms_BlockFluids_randomDisplayTick", "nms_BlockTorch_randomDisplayTick", "nms_BlockFire_randomDisplayTick", "nms_BlockStairs_randomDisplayTick", "nms_BlockRedstoneWire_randomDisplayTick", "nms_BlockFurnace_randomDisplayTick", "nms_BlockRedstoneOre_randomDisplayTick", "nms_BlockRedstoneTorch_randomDisplayTick", "nms_BlockPortal_randomDisplayTick", "nms_BlockRedstoneRepeater_randomDisplayTick",
        "nms_WorldProviderHell_func_4096_a", "ju_TreeMap_put", "nms_RenderSpider_func_172_a", "nms_ModelCow_setRotationAngles", "nms_ItemTool_isFull3D", "nms_ItemSword_isFull3D", "nms_ItemHoe_isFull3D", "nms_ItemFishingRod_isFull3D", "nlei_PlatformAudio$BrowserAudioHandle_end", "nlei_PlatformAudio$BrowserAudioHandle_gain", "nleit_TeaVMWebSocketFrame_isString", "nleit_TeaVMWebSocketFrame_getByteArray", "nms_WorldProviderHell_getChunkProvider", "nms_WorldProviderHell_canCoordinateBeSpawn", "nms_InventoryCraftResult_setInventorySlotContents",
        "nms_StepSoundSand_func_1146_a", "nms_StepSoundStone_func_1146_a", "nms_BlockTNT_onBlockDestroyedByPlayer", "nms_BlockStairs_onBlockDestroyedByPlayer", "nms_BlockCrops_onBlockDestroyedByPlayer", "nms_EnumStatus_values", "nms_BlockFlower_onNeighborBlockChange", "nms_BlockFluids_onNeighborBlockChange", "nms_BlockStationary_onNeighborBlockChange", "nms_BlockSand_onNeighborBlockChange", "nms_BlockDispenser_onNeighborBlockChange", "nms_BlockNote_onNeighborBlockChange", "nms_BlockBed_onNeighborBlockChange",
        "nms_BlockTNT_onNeighborBlockChange", "nms_BlockTorch_onNeighborBlockChange", "nms_BlockFire_onNeighborBlockChange", "nms_BlockRedstoneWire_onNeighborBlockChange", "nms_BlockSoil_onNeighborBlockChange", "nms_BlockSign_onNeighborBlockChange", "nms_BlockDoor_onNeighborBlockChange", "nms_BlockLadder_onNeighborBlockChange", "nms_BlockMinecartTrack_onNeighborBlockChange", "nms_BlockLever_onNeighborBlockChange", "nms_BlockPressurePlate_onNeighborBlockChange", "nms_BlockRedstoneTorch_onNeighborBlockChange",
        "nms_BlockButton_onNeighborBlockChange", "nms_BlockSnow_onNeighborBlockChange", "nms_BlockCactus_onNeighborBlockChange", "nms_BlockReed_onNeighborBlockChange", "nms_BlockPortal_onNeighborBlockChange", "nms_BlockCake_onNeighborBlockChange", "nms_BlockRedstoneRepeater_onNeighborBlockChange", "ji_OutputStreamWriter_write", "nlep_EaglerProfile$EnumSkinType_values", "jl_NoClassDefFoundError__init_", "jl_NoSuchFieldError__init_", "jl_NoSuchMethodError__init_", "jl_ClassCastException__init_0", "jl_IncompatibleClassChangeError__init_",
        "nleit_MainClass__init_0", "otji_JS__init_0", "otp_Platform__init_0", "jl_LinkageError__init_", "jl_System__init_", "otci_IntegerUtil__init_", "nleit_ClientMain__init_", "jlr_Array__init_", "nlei_PlatformRuntime__init_", "oall_LogManager__init_", "nle_LocalStorageManager__init_", "nle_EagRuntime__init_", "nleo_EaglercraftGPU__init_", "nleo_GlStateManager__init_", "nleo_RealOpenGLEnums__init_", "olo_Display__init_", "nle_Display__init_", "nlei_PlatformApplication__init_", "ju_Objects__init_", "nleit_DebugConsoleWindow__init_",
        "nleit_TeaVMBlobURLManager__init_", "nleit_TeaVMUtils__init_", "jl_Math__init_", "nleit_TeaVMFetchJS__init_", "nleit_TeaVMDataURLManager__init_", "nlei_PlatformOpenGL__init_", "ju_Collections__init_", "nleit_WebGLBackBuffer__init_", "nlei_PlatformInput__init_", "nleit_EarlyLoadScreen__init_", "nlei_PlatformAssets__init_", "nle_EaglercraftVersion__init_", "nleit_EPKDownloadHelper__init_", "nle_Filesystem__init_", "nlei_PlatformAudio__init_", "jl_Thread__init_", "jl_InterruptedException__init_", "nleo_GLSLHeader__init_",
        "nleo_DrawUtils__init_", "nleo_InstancedFontRenderer__init_", "jt_DateFormatSymbols__init_", "nms_GLAllocation__init_", "otj_JSExceptions__init_", "nleib_EaglerArrayBufferAllocator__init_", "nle_EagUtils__init_", "ju_Arrays__init_", "jnc_StandardCharsets__init_", "nleit_EPKLoader__init_", "nlei_PlatformFilesystem__init_", "nleo_VSHInputLayoutParser__init_", "otjb_Performance__init_", "nms_TileEntitySign__init_", "nleit_TeaVMRuntimeDeobfuscator__init_", "npem_AudioUtils__init_", "ju_ArrayDeque__init_",
        "otciu_CLDRHelper__init_", "otpp_ResourceAccessor__init_", "nms_TileEntity__init_", "nms_StatList__init_", "cjj_Inflater__init_", "nleit_IndexedDBFilesystem$AsyncHandlers__init_", "nleiv_EaglerFileSystemException__init_", "otjc_JSObjects__init_", "nleit_Base64VarIntArray__init_", "jnc_Charset$Charsets__init_", "cch_HashContainers__init_", "nms_StatCollector__init_", "cjj_GZIPException__init_", "jt_DecimalFormat__init_", "jur_NonCapJointSet__init_", "otciu_UnicodeHelper__init_", "otcit_DateTimeZoneProvider__init_",
        "ju_PriorityQueue__init_", "otci_Base46__init_", "otcic_CurrencyHelper__init_", "olo_GL11__init_", "nms_GameSettings__init_", "oli_Keyboard__init_", "nle_Keyboard__init_", "nle_KeyboardConstants__init_", "oacl_StringUtils__init_", "olug_GLU__init_", "oacl_ArrayUtils__init_", "cch_BitUtil__init_", "nms_AchievementList__init_", "ju_IllegalFormatException__init_", "jl_ArrayIndexOutOfBoundsException__init_0", "jl_ArithmeticException__init_", "nleo_WorldVertexBufferUploader__init_", "oli_Mouse__init_", "nle_Mouse__init_",
        "nlep_EaglerProfile__init_", "ol_LWJGLException__init_", "nms_MathHelper__init_", "nms_GuiUnused__init_", "cch_BitMixer__init_", "jl_OutOfMemoryError__init_", "jl_VirtualMachineError__init_", "ji_UTFDataFormatException__init_", "nms_FontAllowedCharacters__init_", "ji_UnsupportedEncodingException__init_", "nms_RenderHelper__init_", "otcic_Console__init_", "otcit_FloatSynthesizer__init_", "otcit_FloatAnalyzer__init_", "nms_ChunkCoordinates__init_", "nms_XErrr__init_", "nms_Packet19__init_", "nms_ModelBed__init_",
        "nleo_TextureFormatHelper__init_", "jl_AbstractStringBuilder$Constants__init_", "nms_TileEntityMobSpawner__init_", "nms_Packet0KeepAlive__init_", "nms_Packet1Login__init_", "nms_Packet2Handshake__init_", "nms_Packet3Chat__init_", "nms_Packet4UpdateTime__init_", "nms_Packet5PlayerInventory__init_", "nms_Packet6SpawnPosition__init_", "nms_Packet7__init_", "nms_Packet8__init_", "nms_Packet9__init_", "nms_Packet10Flying__init_", "nms_Packet11PlayerPosition__init_", "nms_Packet12PlayerLook__init_", "nms_Packet13PlayerLookMove__init_",
        "nms_Packet14BlockDig__init_", "nms_Packet15Place__init_", "nms_Packet16BlockItemSwitch__init_", "nms_Packet17Sleep__init_", "nms_Packet18ArmAnimation__init_", "nms_Packet20NamedEntitySpawn__init_", "nms_Packet21PickupSpawn__init_", "nms_Packet22Collect__init_", "nms_Packet23VehicleSpawn__init_", "nms_Packet24MobSpawn__init_", "nms_Packet25__init_", "nms_Packet27__init_", "nms_Packet28__init_", "nms_Packet29DestroyEntity__init_", "nms_Packet30Entity__init_", "nms_Packet31RelEntityMove__init_", "nms_Packet32EntityLook__init_",
        "nms_Packet33RelEntityMoveLook__init_", "nms_Packet34EntityTeleport__init_", "nms_Packet38__init_", "nms_Packet39__init_", "nms_Packet40__init_", "nms_Packet50PreChunk__init_", "nms_Packet51MapChunk__init_", "nms_Packet52MultiBlockChange__init_", "nms_Packet53BlockChange__init_", "nms_Packet54__init_", "nms_Packet60__init_", "nms_Packet70__init_", "nms_Packet100__init_", "nms_Packet101__init_", "nms_Packet102__init_", "nms_Packet103__init_", "nms_Packet104__init_", "nms_Packet105__init_", "nms_Packet106__init_",
        "nms_Packet130__init_", "nms_Packet255KickDisconnect__init_", "nms_WorldChunkManager__init_", "otci_Base64Impl__init_", "nlem_FontMappingHelper__init_", "nms_ColorizerGrass__init_", "nms_ColorizerFoliage__init_", "otcit_DoubleAnalyzer__init_", "nms_TileEntityFurnace__init_", "nms_TileEntityChest__init_", "nms_TileEntityDispenser__init_", "nms_TileEntityNote__init_", "nleit_PCMToWAVLoader__init_", "cjj_PsyInfo__init_", "nlei_PlatformNetworking__init_", "cjj_Util__init_", "nms_Empty1__init_", "nms_EnumOptionsMappingHelper__init_",
        "cjj_Lsp__init_", "nms_SpawnerAnimals__init_", "nms_NextTickListEntry_hashCode", "nms_NextTickListEntry_equals", "nms_NextTickListEntry_compareTo", "nms_EntityPlayer_attackEntityFrom", "nms_EntityLiving_isEntityAlive", "nms_EntityLiving_canBeCollidedWith", "nms_EntityMobs_attackEntityFrom", "nms_EntitySkeleton_getHeldItem", "nms_RenderGlobal_playSound", "nms_RenderGlobal_spawnParticle", "nms_RenderGlobal_markBlockRangeNeedsUpdate", "nms_RenderGlobal_updateAllRenderers", "nms_SlotCrafting_isItemValid",
        "nms_SlotArmor_isItemValid", "nms_SlotArmor_getSlotStackLimit", "nms_SlotCrafting_func_25014_f", "nms_SlotCrafting_onPickupFromSlot", "jur_Matcher$1_toString", "nleb_EaglercraftChunkLoader__init_", "nms_WorldInfo_getNBTTagCompoundWithPlayer", "getNBTTagCompoundWithPlayer", "nms_Entity_isInRangeToRenderDist", "isInRangeToRenderDist", "nms_ChunkProviderLoadOrGenerate_canChunkExist", "canChunkExist", "nms_ChunkProviderLoadOrGenerate_func_542_c", "func_542_c", "nms_Chunk_onChunkUnload", "onChunkUnload",
        "nms_ChunkProviderLoadOrGenerate_saveChunk", "saveChunk", "nms_ChunkProviderLoadOrGenerate_saveExtraChunkData", "saveExtraChunkData", "nms_Chunk_func_4143_d", "func_4143_d", "nms_Chunk_onChunkLoad", "onChunkLoad", "nms_ChunkProviderLoadOrGenerate_populate", "populate", "nms_IChunkLoader_func_814_a", "func_814_a", "nms_Chunk_needsSaving", "needsSaving", "nms_IProgressUpdate_setLoadingProgress", "nms_IChunkLoader_saveExtraData", "saveExtraData", "nms_Chunk_isAtLocation", "isAtLocation", "cjj_Drft_init",
        "juz_Inflater__init_", "juz_Inflater_setInput", "juz_Inflater_inflate", "juz_Inflater_end", "ji_DataInputStream_readBoolean", "readBoolean", "nms_DataWatcher_readWatchableObjects", "readWatchableObjects", "ju_AbstractMap_clear", "nms_EntityZombie__init_", "nms_EntitySpider__init_", "nms_NetHandler_func_6499_a", "func_6499_a", "nms_NetHandler_handleFlying", "handleFlying", "nms_NetHandler_handleEntity", "handleEntity", "nms_NetHandler_func_20089_a", "func_20089_a", "nms_NetHandler_handleMultiBlockChange",
        "handleMultiBlockChange", "nms_NetHandler_func_22186_a", "func_22186_a", "nms_NetHandler_func_22185_a", "func_22185_a", "nms_NetHandler_func_9447_a", "func_9447_a", "nms_NetHandler_handlePlayerInventory", "handlePlayerInventory", "nms_NetHandler_handleHealth", "handleHealth", "nms_NetHandler_handlePickupSpawn", "handlePickupSpawn", "nms_NetHandler_func_6498_a", "func_6498_a", "nms_NetHandler_handleBlockItemSwitch", "handleBlockItemSwitch", "nms_NetHandler_func_6497_a", "func_6497_a", "nms_NetHandler_func_21146_a",
        "func_21146_a", "nms_NetHandler_func_20087_a", "func_20087_a", "nms_NetHandler_handleArmAnimation", "handleArmAnimation", "nms_NetHandler_handleDestroyEntity", "handleDestroyEntity", "nms_NetHandler_func_20088_a", "func_20088_a", "nms_NetHandler_func_21148_a", "func_21148_a", "nms_NetHandler_handleUpdateTime", "handleUpdateTime", "nms_NetHandler_func_9448_a", "func_9448_a", "nms_NetHandler_func_20093_a", "func_20093_a", "nms_NetHandler_func_20094_a", "func_20094_a", "nms_NetHandler_handleChat", "handleChat",
        "nms_NetHandler_func_21145_a", "func_21145_a", "nms_NetHandler_handlePreChunk", "handlePreChunk", "nms_NetHandler_func_25118_a", "func_25118_a", "nms_NetHandler_handleNamedEntitySpawn", "handleNamedEntitySpawn", "nms_NetHandler_handleCollect", "handleCollect", "nms_NetHandler_func_20092_a", "func_20092_a", "nms_NetHandler_handleSpawnPosition", "handleSpawnPosition", "nms_NetHandler_handleEntityTeleport", "handleEntityTeleport", "nms_NetHandler_func_20090_a", "func_20090_a", "nms_NetHandler_handleKickDisconnect",
        "handleKickDisconnect", "nms_NetHandler_handleVehicleSpawn", "handleVehicleSpawn", "nms_NetHandler_handleBlockDig", "handleBlockDig", "nms_NetHandler_func_20091_a", "func_20091_a", "nms_NetHandler_handleBlockChange", "handleBlockChange", "nms_NetHandler_func_12245_a", "func_12245_a", "nms_NetHandler_handleLogin", "handleLogin", "nms_NetHandler_handleMapChunk", "handleMapChunk", "nms_NetHandler_func_21147_a", "func_21147_a", "nms_NetHandler_handleMobSpawn", "handleMobSpawn", "nms_NetHandler_handleHandshake",
        "handleHandshake", "nms_NetHandler_handlePlace", "handlePlace", "nms_ChunkCoordIntPair_func_22011_a", "func_22011_a", "nms_EntityLiving_getEyeHeight", "nms_EntityItem__init_", "nms_EntityPlayer_joinEntityItemWithWorld", "joinEntityItemWithWorld", "nms_InventoryPlayer_getStackInSlot", "nms_ItemStack_getDamageVsEntity", "nms_InventoryPlayer_setInventorySlotContents", "nms_EntityWolf_isWolfTamed", "isWolfTamed", "nms_EntityWolf_getWolfOwner", "getWolfOwner", "nms_EntityCreature_getTarget", "getTarget",
        "nms_EntityWolf_setWolfSitting", "setWolfSitting", "nms_EntityCreature_setTarget", "setTarget", "nms_WorldProvider_canRespawnHere", "canRespawnHere", "nmc_Minecraft_usePortal", "usePortal", "nms_EntityPlayer_getPlayerSpawnCoordinate", "getPlayerSpawnCoordinate", "nms_EntityPlayer_func_25060_a", "func_25060_a", "nms_World_setSpawnLocation", "setSpawnLocation", "nms_World_updateEntityList", "updateEntityList", "nms_World_setEntityDead", "nms_EntityPlayerSP_func_6420_o", "func_6420_o", "nms_EntityPlayer_func_6420_o",
        "nms_EntityPlayer_setPlayerSpawnCoordinate", "setPlayerSpawnCoordinate", "cjj_Buffer_look", "cjj_Buffer_read1", "read1", "cjj_Buffer_adv", "adv", "nms_InventoryCrafting_getSizeInventory", "nms_EntityPlayer_onItemStackChanged", "onItemStackChanged", "nms_WorldChunkManager__init_0", "nms_WorldChunkManagerHell__init_", "nms_InventoryPlayer_canHarvestBlock", "nms_InventoryPlayer_getStrVsBlock", "getStrVsBlock", "nms_Block_dropBlockAsItem", "dropBlockAsItem", "nms_GuiDispenser__init_", "nms_World_isDaytime",
        "isDaytime", "nms_EntityPlayer_func_22052_e", "func_22052_e", "nms_GuiIngame_func_22064_c", "func_22064_c", "nms_GuiChest__init_", "nms_GuiCrafting__init_", "nms_GuiFurnace__init_", "nms_World_playRecord", "playRecord", "nms_TileEntity_getBlockType", "getBlockType", "nms_TileEntity_getBlockMetadata", "nms_TileEntitySpecialRenderer_bindTextureByName", "bindTextureByName", "nms_SignModel_func_887_a", "func_887_a", "nms_TileEntitySpecialRenderer_getFontRenderer", "getFontRenderer", "nms_TileEntityMobSpawner_getMobID",
        "getMobID", "nms_EntityList_createEntityInWorld", "createEntityInWorld", "nms_Entity_setWorld", "setWorld", "nlei_IEaglerFilesystem_eaglerDelete", "eaglerDelete", "nms_Block_getCollisionBoundingBoxFromPool", "getCollisionBoundingBoxFromPool", "nms_Chunk_setBlockID", "setBlockID", "nms_World_markBlockNeedsUpdate", "markBlockNeedsUpdate", "nms_Chunk_setBlockMetadata", "nms_BlockSapling_growTree", "growTree", "nms_BlockFluids_getFlowDecay", "getFlowDecay", "nms_BlockFlowing_func_22034_j", "func_22034_j",
        "nms_BlockFlowing_getSmallestFlowDecay", "getSmallestFlowDecay", "nms_BlockFluids_tickRate", "nms_BlockFlowing_liquidCanDisplaceBlock", "liquidCanDisplaceBlock", "nms_World_setBlockAndMetadataWithNotify", "setBlockAndMetadataWithNotify", "nms_BlockFlowing_getOptimalFlowDirections", "getOptimalFlowDirections", "nms_BlockFlowing_blockBlocksFlow", "blockBlocksFlow", "nms_BlockFlowing_flowIntoBlock", "flowIntoBlock", "nms_BlockStationary_func_301_k", "func_301_k", "nms_BlockSand_tryToFall", "tryToFall",
        "nms_BlockLeaves_removeLeaves", "removeLeaves", "nms_World_isBlockIndirectlyGettingPowered", "isBlockIndirectlyGettingPowered", "nms_BlockDispenser_dispenseItem", "dispenseItem", "nms_BlockFlower_func_268_h", "func_268_h", "nms_BlockTorch_onBlockAdded", "onBlockAdded", "nms_Block_onBlockAdded", "nms_BlockFire_tickRate", "nms_BlockFire_func_263_h", "func_263_h", "nms_BlockFire_tryToCatchBlockOnFire", "tryToCatchBlockOnFire", "nms_BlockFire_getChanceOfNeighborsEncouragingFire", "getChanceOfNeighborsEncouragingFire",
        "nms_BlockCrops_getGrowthRate", "getGrowthRate", "nms_BlockSoil_isWaterNearby", "isWaterNearby", "nms_BlockSoil_isCropsNearby", "isCropsNearby", "nms_BlockRedstoneTorch_func_22026_h", "func_22026_h", "nms_World_getWorldTime", "nms_BlockRedstoneTorch_checkForBurnout", "checkForBurnout", "nms_World_getSavedLightValue", "getSavedLightValue", "nms_BlockRedstoneRepeater_func_22022_g", "func_22022_g", "nms_Chunk_getBlockLightValue", "nms_IWorldAccess_releaseEntitySkin", "nms_World_updateEntityWithOptionalForce",
        "updateEntityWithOptionalForce", "nms_EntityPlayer_isPlayerFullyAsleep", "isPlayerFullyAsleep", "ju_TreeSet_size", "ju_TreeSet_first", "ju_TreeSet_remove", "nms_Entity_getDistanceSq", "getDistanceSq", "nms_IProgressUpdate_displayProgressMessage", "displayProgressMessage", "nms_IProgressUpdate_displayLoadingString", "nms_Block_canCollideCheck", "canCollideCheck", "nms_Block_collisionRayTrace", "collisionRayTrace", "nms_NBTTagCompound_getTagList", "getTagList", "nms_NBTTagList_tagAt", "tagAt", "nms_NBTTagCompound_getFloat",
        "nms_NBTTagCompound_getShort", "getShort", "nms_NBTTagCompound_getBoolean", "getBoolean", "nms_Entity_readEntityFromNBT", "readEntityFromNBT", "nms_IWorldAccess_obtainEntitySkin", "ju_TreeMap_getOrCreateNode", "getOrCreateNode", "ju_AbstractMap$SimpleEntry_setValue", "setValue", "nms_EntityWolf_func_25037_z", "func_25037_z", "nms_RenderSpider_func_191_a", "func_191_a", "nms_EntityPlayer_getBedOrientationInDegrees", "getBedOrientationInDegrees", "nms_EntityCreeper_setCreeperFlashTime", "setCreeperFlashTime",
        "nms_EntitySlime_getSlimeSize", "getSlimeSize", "nms_EntityPig_getSaddled", "getSaddled", "nms_EntitySheep_getSheared", "getSheared", "nms_EntitySheep_getFleeceColor", "getFleeceColor", "nms_Entity_getDistanceToEntity", "getDistanceToEntity", "nms_Render_getFontRendererFromRenderManager", "getFontRendererFromRenderManager", "nmc_Minecraft_isGuiEnabled", "isGuiEnabled", "nms_World_getRandomSeed", "getRandomSeed", "nms_ChunkProviderGenerate__init_", "nms_ChunkProviderHell__init_", "nms_World_getFirstUncoveredBlock",
        "getFirstUncoveredBlock", "nms_IRecipe_matches", "nms_IRecipe_getCraftingResult", "getCraftingResult", "nms_EntityTNTPrimed__init_", "jur_MatchResultImpl_group", "nms_BlockFluids_checkForHarden", "checkForHarden", "nms_BlockStationary_func_22035_j", "func_22035_j", "nms_BlockSand_tickRate", "nms_BlockDispenser_tickRate", "nms_World_isBlockGettingPowered", "isBlockGettingPowered", "nms_BlockTorch_dropTorchIfCantStay", "dropTorchIfCantStay", "nms_BlockRedstoneWire_canPlaceBlockAt", "canPlaceBlockAt", "nms_Block_canPlaceBlockAt",
        "nms_BlockRedstoneWire_updateAndPropagateCurrentStrength", "updateAndPropagateCurrentStrength", "nms_BlockDoor_func_311_a", "func_311_a", "nms_MinecartTrackLogic__init_", "nms_MinecartTrackLogic_getNAdjacentTracks", "getNAdjacentTracks", "nms_BlockMinecartTrack_func_4031_h", "func_4031_h", "nms_BlockLever_checkIfAttachedToBlock", "checkIfAttachedToBlock", "nms_BlockRedstoneTorch_tickRate", "nms_BlockButton_func_305_h", "func_305_h", "nms_BlockSnow_func_314_h", "func_314_h", "nms_BlockCactus_canBlockStay",
        "canBlockStay", "nms_Block_canBlockStay", "nms_BlockReed_checkBlockCoordValid", "checkBlockCoordValid", "nms_BlockCake_canBlockStay", "nms_BlockRedstoneRepeater_canBlockStay", "jl_Class_isAssignableFrom", "isAssignableFrom", "nms_Pathfinder_createEntityPathTo0", "cjj_Inflater_init0", "ju_PriorityQueue__init_1", "nms_NextTickListEntry_comparer", "comparer", "nms_EntityLiving_attackEntityFrom", "nms_EntityPlayer_resetHeight", "resetHeight", "nms_EntityBubbleFX__init_", "nms_EntitySmokeFX__init_", "nms_EntityNoteFX__init_",
        "nms_EntityPortalFX__init_", "nms_EntityExplodeFX__init_", "nms_EntityFlameFX__init_", "nms_EntityLavaFX__init_", "nms_EntitySplashFX__init_", "nms_EntitySmokeFX__init_0", "nms_EntityReddustFX__init_", "nms_EntitySlimeFX__init_", "nms_EntityHeartFX__init_", "nms_RenderGlobal_func_949_a", "func_949_a", "nms_IInventory_getStackInSlot", "nms_IInventory_onInventoryChanged", "onInventoryChanged", "nms_IInventory_getInventoryStackLimit", "getInventoryStackLimit", "nms_IInventory_decrStackSize", "nms_Item_hasContainerItem",
        "hasContainerItem", "nms_Item_getContainerItem", "getContainerItem", "nms_IInventory_getSizeInventory", "nms_IChunkLoader_loadChunk", "loadChunk", "nms_IChunkLoader_saveChunk", "nms_IChunkLoader_saveExtraChunkData", "juz_Inflater__init_0", "jl_Short_valueOf", "jl_Float_valueOf", "nms_Packet70__clinit_", "nms_IChunkProvider_func_538_d", "func_538_d", "nms_NoiseGeneratorOctaves2__init_", "nms_CraftingInventoryDispenserCB__init_", "nms_CraftingInventoryChestCB__init_", "nms_CraftingInventoryWorkbenchCB__init_",
        "nms_CraftingInventoryFurnaceCB__init_", "nms_EntityList__clinit_", "nms_World_setBlockAndMetadata", "setBlockAndMetadata", "nms_BlockFlowing_calculateFlowCost", "calculateFlowCost", "nms_BlockFluids_triggerLavaMixEffects", "triggerLavaMixEffects", "nms_Material_getBurning", "getBurning", "nms_BlockSand_canFallBelow", "canFallBelow", "nms_EntityFallingSand__init_", "nms_TileEntityDispenser_getRandomStackFromInventory", "getRandomStackFromInventory", "nms_EntityArrow__init_", "nms_EntityArrow_setArrowHeading",
        "setArrowHeading", "ju_Random_nextGaussian", "nextGaussian", "nms_EntityEgg__init_", "nms_EntityEgg_func_20048_a", "func_20048_a", "nms_EntitySnowball__init_", "nms_EntitySnowball_func_467_a", "func_467_a", "nms_BlockFire_getChanceToEncourageFire", "getChanceToEncourageFire", "nms_World_isBlockIndirectlyProvidingPowerTo", "isBlockIndirectlyProvidingPowerTo", "nms_RedstoneUpdateInfo__init_", "nms_EnumSkyBlock__clinit_", "ju_TreeMap$TreeNode__init_", "ju_TreeMap$TreeNode_fix", "fix", "ju_TreeMap$TreeNode_balance",
        "balance", "nms_MapGenCaves__init_", "nms_NoiseGeneratorOctaves__init_", "nms_MapGenCavesHell__init_", "nms_EntityTNTPrimed__init_0", "jl_AbstractStringBuilder_substring", "nms_BlockTorch_canPlaceBlockAt", "nms_BlockRedstoneWire_func_21030_a", "func_21030_a", "nms_MinecartTrackLogic_calculateConnectedTracks", "calculateConnectedTracks", "nms_MinecartTrackLogic_getAdjacentTracks", "getAdjacentTracks", "nms_MinecartTrackLogic_func_792_a", "func_792_a", "nms_BlockLever_canPlaceBlockAt", "nms_BlockButton_canPlaceBlockAt",
        "nms_BlockSnow_canPlaceBlockAt", "nms_Path_clearPath", "clearPath", "nms_MCHashTable_clearMap", "clearMap", "nms_Pathfinder_openPoint", "openPoint", "nms_PathPoint__init_", "nms_Pathfinder_addToPath", "addToPath", "nms_EntityLiving_damageEntity", "damageEntity", "nms_World_func_9425_a", "func_9425_a", "nms_EntityLiving_knockBack", "knockBack", "nms_EntityLiving_onDeath", "onDeath", "nms_EntityLiving_getDeathSound", "getDeathSound", "nms_EntityLiving_getSoundVolume", "getSoundVolume", "nms_EntityLiving_getHurtSound",
        "getHurtSound", "nms_EntityNoteFX__init_0", "nms_EntityReddustFX__init_0", "nms_EntityHeartFX__init_0", "jl_Short__init_", "jl_Float__init_", "nms_NoiseGenerator__init_", "nms_NoiseGenerator2__init_0", "nms_CraftingInventoryWorkbenchCB_onCraftMatrixChanged", "nms_SlotFurnace__init_", "cch_ObjectIntHashMap__init_", "nms_EntityList$_clinit_$lambda$_7_0__init_", "nms_EntityList_addMapping", "nms_EntityList$_clinit_$lambda$_7_1__init_", "nms_EntityList$_clinit_$lambda$_7_2__init_", "nms_EntityList$_clinit_$lambda$_7_3__init_",
        "nms_EntityList$_clinit_$lambda$_7_4__init_", "nms_EntityList$_clinit_$lambda$_7_5__init_", "nms_EntityList$_clinit_$lambda$_7_6__init_", "nms_EntityList$_clinit_$lambda$_7_7__init_", "nms_EntityList$_clinit_$lambda$_7_8__init_", "nms_EntityList$_clinit_$lambda$_7_9__init_", "nms_EntityList$_clinit_$lambda$_7_10__init_", "nms_EntityList$_clinit_$lambda$_7_11__init_", "nms_EntityList$_clinit_$lambda$_7_12__init_", "nms_EntityList$_clinit_$lambda$_7_13__init_", "nms_EntityList$_clinit_$lambda$_7_14__init_",
        "nms_EntityList$_clinit_$lambda$_7_15__init_", "nms_EntityList$_clinit_$lambda$_7_16__init_", "nms_EntityList$_clinit_$lambda$_7_17__init_", "nms_EntityList$_clinit_$lambda$_7_18__init_", "nms_EntityList$_clinit_$lambda$_7_19__init_", "nms_EntityList$_clinit_$lambda$_7_20__init_", "nms_EntityList$_clinit_$lambda$_7_21__init_", "nms_EntityList$_clinit_$lambda$_7_22__init_", "nms_EnumSkyBlock__init_", "nms_EnumSkyBlock_$values", "ju_AbstractMap$SimpleEntry__init_", "nms_MapGenBase__init_", "nms_NoiseGeneratorPerlin__init_0",
        "nms_BlockRedstoneWire_getMaxCurrentStrength", "getMaxCurrentStrength", "nms_MinecartTrackLogic_isMinecartTrack", "isMinecartTrack", "nms_PathPoint_func_22329_a", "func_22329_a", "nms_MCHashTable_lookup", "lookup", "nms_MCHashTable_addKey", "addKey", "nms_PathPoint_distanceTo", "nms_Path_addPoint", "addPoint", "nms_Path_dequeue", "dequeue", "nms_PathPoint_equals", "nms_Pathfinder_createEntityPath", "createEntityPath", "nms_Pathfinder_findPathOptions", "findPathOptions", "nms_PathPoint_isAssigned", "isAssigned",
        "nms_Path_changeDistance", "changeDistance", "nms_Path_isPathEmpty", "isPathEmpty", "nms_NoiseGenerator2__clinit_", "cch_ObjectIntHashMap__init_0", "cch_ObjectIntHashMap__clinit_", "cch_ObjectIntMap_put", "nms_PathEntity__init_", "nms_Pathfinder_getVerticalOffset", "getVerticalOffset", "nms_Pathfinder_getSafePoint", "getSafePoint", "cch_ObjectIntHashMap__init_1", "cch_ObjectIntHashMap_verifyLoadFactor", "cch_ObjectIntHashMap_ensureCapacity", "nleb_EaglercraftChunkLoader_func_814_a", "nleb_EaglercraftChunkLoader_saveExtraData",
        "nleb_EaglercraftChunkLoader_loadChunk", "nleb_EaglercraftChunkLoader_saveChunk", "nleb_EaglercraftChunkLoader_saveExtraChunkData", "nms_EmptyChunk_getBlockID", "nms_EmptyChunk_getChunkBlockTileEntity", "nms_EmptyChunk_getBlockMetadata", "nms_EmptyChunk_getBlockLightValue", "nms_EmptyChunk_getEntitiesWithinAABBForEntity", "nms_EmptyChunk_getEntitiesOfTypeWithinAAAB", "nms_EmptyChunk_func_1015_b", "nms_EmptyChunk_addEntity", "nms_EmptyChunk_onChunkUnload", "nms_EntityMobs_getCanSpawnHere", "nms_WorldChunkManagerHell_func_4069_a",
        "nms_WorldChunkManagerHell_func_4072_b", "nms_WorldChunkManagerHell_func_4073_a", "nms_WorldChunkManagerHell_func_4074_a", "jl_StringBuffer_append6", "nms_ChunkProviderGenerate_provideChunk", "nms_ChunkProviderGenerate_func_532_a", "nms_ChunkProviderHell_provideChunk", "nms_ChunkProviderHell_func_532_a", "nms_EntitySkeleton_getDeathSound", "nms_EntitySkeleton_getHurtSound", "nms_EntityItem_entityInit", "nms_InventoryLargeChest_getStackInSlot", "nms_InventoryLargeChest_onInventoryChanged", "nms_InventoryLargeChest_getInventoryStackLimit",
        "nms_InventoryLargeChest_setInventorySlotContents", "nms_InventoryLargeChest_decrStackSize", "nms_EntityFallingSand_entityInit", "nms_EntityArrow_entityInit", "nms_EntityEgg_entityInit", "nms_EntitySnowball_entityInit", "nms_EntityTNTPrimed_entityInit", "nms_EntityZombie_getDeathSound", "nms_EntitySpider_getDeathSound", "nms_EntityZombie_getHurtSound", "nms_EntitySpider_getHurtSound", "nms_EmptyChunk_func_4143_d", "nms_EmptyChunk_onChunkLoad", "nms_EmptyChunk_needsSaving", "nms_EmptyChunk_isAtLocation",
        "nms_NetClientHandler_handleFlying", "nms_NetClientHandler_handleEntity", "nms_NetClientHandler_func_20089_a", "nms_NetClientHandler_handleMultiBlockChange", "nms_NetClientHandler_func_22186_a", "nms_NetClientHandler_func_9447_a", "nms_NetClientHandler_handlePlayerInventory", "nms_NetClientHandler_handleHealth", "nms_NetClientHandler_handlePickupSpawn", "nms_NetClientHandler_func_6498_a", "nms_NetClientHandler_func_6497_a", "nms_NetClientHandler_func_21146_a", "nms_NetClientHandler_func_20087_a", "nms_NetClientHandler_handleArmAnimation",
        "nms_NetClientHandler_handleDestroyEntity", "nms_NetClientHandler_func_20088_a", "nms_NetClientHandler_func_21148_a", "nms_NetClientHandler_handleUpdateTime", "nms_NetClientHandler_func_9448_a", "nms_NetClientHandler_func_20093_a", "nms_NetClientHandler_func_20094_a", "nms_NetClientHandler_handleChat", "nms_NetClientHandler_func_21145_a", "nms_NetClientHandler_handlePreChunk", "nms_NetClientHandler_func_25118_a", "nms_NetClientHandler_handleNamedEntitySpawn", "nms_NetClientHandler_handleCollect", "nms_NetClientHandler_func_20092_a",
        "nms_NetClientHandler_handleSpawnPosition", "nms_NetClientHandler_handleEntityTeleport", "nms_NetClientHandler_func_20090_a", "nms_NetClientHandler_handleKickDisconnect", "nms_NetClientHandler_handleVehicleSpawn", "nms_NetClientHandler_handleBlockChange", "nms_NetClientHandler_func_12245_a", "nms_NetClientHandler_handleLogin", "nms_NetClientHandler_handleMapChunk", "nms_NetClientHandler_handleMobSpawn", "nms_NetClientHandler_handleHandshake", "nms_WorldProviderHell_canRespawnHere", "nms_BlockStairs_dropBlockAsItem",
        "nms_GuiDispenser_drawGuiContainerBackgroundLayer", "nms_GuiDispenser_drawGuiContainerForegroundLayer", "nms_GuiContainer_initGui", "nlei_RamdiskFilesystemImpl_eaglerIterate", "nleit_IndexedDBFilesystem_eaglerIterate", "ju_AbstractCollection_toArray0", "nle_Filesystem$FilesystemHandleWrapper_eaglerDelete", "nms_BlockFlower_getCollisionBoundingBoxFromPool", "nms_BlockFluids_getCollisionBoundingBoxFromPool", "nms_BlockTorch_getCollisionBoundingBoxFromPool", "nms_BlockFire_getCollisionBoundingBoxFromPool",
        "nms_BlockStairs_getCollisionBoundingBoxFromPool", "nms_BlockRedstoneWire_getCollisionBoundingBoxFromPool", "nms_BlockSoil_getCollisionBoundingBoxFromPool", "nms_BlockSign_getCollisionBoundingBoxFromPool", "nms_BlockDoor_getCollisionBoundingBoxFromPool", "nms_BlockLadder_getCollisionBoundingBoxFromPool", "nms_BlockMinecartTrack_getCollisionBoundingBoxFromPool", "nms_BlockLever_getCollisionBoundingBoxFromPool", "nms_BlockPressurePlate_getCollisionBoundingBoxFromPool", "nms_BlockButton_getCollisionBoundingBoxFromPool",
        "nms_BlockSnow_getCollisionBoundingBoxFromPool", "nms_BlockCactus_getCollisionBoundingBoxFromPool", "nms_BlockReed_getCollisionBoundingBoxFromPool", "nms_BlockFence_getCollisionBoundingBoxFromPool", "nms_BlockSlowSand_getCollisionBoundingBoxFromPool", "nms_BlockPortal_getCollisionBoundingBoxFromPool", "nms_BlockCake_getCollisionBoundingBoxFromPool", "nms_EmptyChunk_setBlockID", "nms_EmptyChunk_setBlockMetadata", "nms_BlockRedstoneTorch_onBlockAdded", "nms_RenderGlobal_releaseEntitySkin", "nms_LoadingScreenRenderer_displayProgressMessage",
        "nms_EmptyChunk_getHeightValue", "nms_BlockFluids_canCollideCheck", "nms_BlockStairs_canCollideCheck", "nms_BlockTorch_collisionRayTrace", "nms_BlockDoor_collisionRayTrace", "nms_BlockMinecartTrack_collisionRayTrace", "nms_EntityPlayerSP_readEntityFromNBT", "nms_RenderGlobal_obtainEntitySkin", "nms_ShapedRecipes_matches", "nms_ShapelessRecipes_matches", "nms_ShapedRecipes_getCraftingResult", "nms_ShapelessRecipes_getCraftingResult", "nms_EntitySlimeFX_getFXLayer", "nms_InventoryCraftResult_getStackInSlot",
        "nms_InventoryCrafting_onInventoryChanged", "nms_InventoryPlayer_onInventoryChanged", "nms_InventoryCraftResult_onInventoryChanged", "nms_InventoryCrafting_getInventoryStackLimit", "nms_InventoryPlayer_getInventoryStackLimit", "nms_InventoryCraftResult_getInventoryStackLimit", "nms_InventoryCrafting_decrStackSize", "nms_InventoryCraftResult_decrStackSize", "juz_DataFormatException__init_", "nms_ChunkProviderLoadOrGenerate_func_538_d", "nms_InventoryLargeChest_getSizeInventory", "nms_EntityList__init_",
        "nms_EnumSkyBlock_values", "jl_StringBuilder_substring", "nms_EntityPlayer_damageEntity", "nms_EntityPlayer_onDeath", "nms_NoiseGenerator2__init_", "cch_ObjectIntHashMap_put", "nms_NoiseGeneratorPerlin__init_", "nms_ChunkPosition_hashCode", "nms_ChunkPosition_equals", "nms_EntityItem_attackEntityFrom", "nms_EntityFallingSand_canBeCollidedWith", "nms_EntityTNTPrimed_canBeCollidedWith", "nms_EntitySnowball_isInRangeToRenderDist", "nms_EntityEgg_isInRangeToRenderDist", "nms_EntityArrow_getShadowSize", "nms_EntityFallingSand_getShadowSize",
        "nms_EntityTNTPrimed_getShadowSize", "nms_EntitySnowball_getShadowSize", "nms_EntityEgg_getShadowSize", "nms_EntityPortalFX_renderParticle", "nms_EntityPortalFX_getEntityBrightness", "nms_EntityFlameFX_getEntityBrightness", "nms_EntityLavaFX_getEntityBrightness", "nms_EntityNoteFX_renderParticle", "nms_EntityFlameFX_renderParticle", "nms_EntitySmokeFX_renderParticle", "nms_EntityExplodeFX_renderParticle", "nms_EntityLavaFX_renderParticle", "nms_EntitySlimeFX_renderParticle", "nms_EntityReddustFX_renderParticle",
        "nms_EntityHeartFX_renderParticle", "nms_EntityPortalFX_onUpdate", "nms_EntityBubbleFX_onUpdate", "nms_EntityNoteFX_onUpdate", "nms_EntityFlameFX_onUpdate", "nms_EntitySmokeFX_onUpdate", "nms_EntityExplodeFX_onUpdate", "nms_EntityLavaFX_onUpdate", "nms_EntityReddustFX_onUpdate", "nms_EntityHeartFX_onUpdate", "nms_SlotFurnace_func_25014_f", "nms_EntityList$_clinit_$lambda$_7_21_createEntity", "nms_EntityList$_clinit_$lambda$_7_20_createEntity", "nms_EntityList$_clinit_$lambda$_7_7_createEntity", "nms_EntityList$_clinit_$lambda$_7_14_createEntity",
        "nms_EntityList$_clinit_$lambda$_7_9_createEntity", "nms_EntityList$_clinit_$lambda$_7_8_createEntity", "nms_EntityList$_clinit_$lambda$_7_17_createEntity", "nms_EntityList$_clinit_$lambda$_7_4_createEntity", "nms_EntityList$_clinit_$lambda$_7_15_createEntity", "nms_EntityList$_clinit_$lambda$_7_2_createEntity", "nms_EntityList$_clinit_$lambda$_7_19_createEntity", "nms_EntityList$_clinit_$lambda$_7_0_createEntity", "nms_EntityList$_clinit_$lambda$_7_16_createEntity", "nms_EntityList$_clinit_$lambda$_7_5_createEntity",
        "nms_EntityList$_clinit_$lambda$_7_10_createEntity", "nms_EntityList$_clinit_$lambda$_7_18_createEntity", "nms_EntityList$_clinit_$lambda$_7_12_createEntity", "nms_EntityList$_clinit_$lambda$_7_3_createEntity", "nms_EntityList$_clinit_$lambda$_7_13_createEntity", "nms_EntityList$_clinit_$lambda$_7_6_createEntity", "nms_EntityList$_clinit_$lambda$_7_22_createEntity", "nms_EntityList$_clinit_$lambda$_7_1_createEntity", "nms_EntityList$_clinit_$lambda$_7_11_createEntity", "nms_GuiChest_drawGuiContainerBackgroundLayer",
        "nms_GuiChest_drawGuiContainerForegroundLayer", "nms_GuiCrafting_drawGuiContainerBackgroundLayer", "nms_GuiFurnace_drawGuiContainerBackgroundLayer", "nms_GuiCrafting_drawGuiContainerForegroundLayer", "nms_GuiFurnace_drawGuiContainerForegroundLayer", "nms_GuiCrafting_onGuiClosed", "nleb_EaglercraftChunkLoader_getChunkPath", "getChunkPath", "nleb_EaglercraftChunkLoader_loadChunkIntoWorldFromCompound", "loadChunkIntoWorldFromCompound", "nleiv_VFile2_renameTo", "renameTo", "nleb_EaglercraftChunkLoader_storeChunkInCompound",
        "storeChunkInCompound", "nms_EntityCreature_getCanSpawnHere", "nms_EntityLiving_getLivingSound", "getLivingSound", "nms_WorldChunkManager_loadBlockGeneratorData", "loadBlockGeneratorData", "nms_NoiseGeneratorOctaves2_func_4112_a", "func_4112_a", "nms_WorldChunkManagerHell_loadBlockGeneratorData", "jl_StringBuffer_append7", "nms_NBTTagCompound_getByte", "getByte", "nms_ChunkProviderGenerate_generateTerrain", "generateTerrain", "nms_ChunkProviderGenerate_replaceBlocksForBiome", "replaceBlocksForBiome",
        "nms_MapGenBase_func_867_a", "func_867_a", "nms_Chunk_func_1024_c", "func_1024_c", "nms_ChunkProviderHell_func_4059_a", "func_4059_a", "nms_ChunkProviderHell_func_4058_b", "func_4058_b", "nms_Entity_addToPlayerScore", "addToPlayerScore", "nms_EntityLiving_dropFewItems", "dropFewItems", "ju_TreeMap$TreeNode_factor", "factor", "ju_TreeMap$TreeNode_rotateLeft", "ju_TreeMap$TreeNode_rotateRight", "rotateRight", "nms_AxisAlignedBB_getAverageEdgeLength", "getAverageEdgeLength", "nms_WorldInfo_updateTagCompound",
        "updateTagCompound", "nms_Entity_writeToNBT", "writeToNBT", "nms_IChunkProvider_populate", "nms_Chunk_setChunkModified", "setChunkModified", "cjj_Drft_fdrffti", "fdrffti", "juz_Inflater_setInput0", "juz_Inflater_inflate0", "nms_NetHandler_registerPacket", "registerPacket", "nms_Entity_setPositionAndRotation", "setPositionAndRotation", "nms_NetClientHandler_getEntityByID", "getEntityByID", "nms_Entity_setPositionAndRotation2", "setPositionAndRotation2", "nms_CraftingInventoryCB_func_20110_b", "func_20110_b",
        "nms_Packet106__init_0", "nms_CraftingInventoryCB_func_20113_a", "func_20113_a", "nms_Chunk_setBlockIDWithMetadata", "setBlockIDWithMetadata", "nms_WorldClient_func_711_c", "func_711_c", "nms_Entity_handleHealthUpdate", "handleHealthUpdate", "nms_Entity_outfitWithItem", "outfitWithItem", "nms_EntityPlayerSP_setHealth", "setHealth", "nms_WorldClient_func_712_a", "func_712_a", "nms_Entity_setVelocity", "setVelocity", "nms_EntityPainting__init_", "nms_InventoryBasic__init_", "nms_Entity_performHurtAnimation",
        "performHurtAnimation", "nms_WorldClient_removeEntityFromWorld", "removeEntityFromWorld", "nms_CraftingInventoryCB_putStackInSlot", "putStackInSlot", "nms_Packet40_func_21047_b", "func_21047_b", "nms_Entity_getDataWatcher", "getDataWatcher", "nms_DataWatcher_updateWatchedObjectsFromList", "updateWatchedObjectsFromList", "nms_World_setWorldTime", "nms_TileEntity_onInventoryChanged", "nms_CraftingInventoryCB_putStacksInSlots", "putStacksInSlots", "nms_GuiIngame_addChatMessage", "nms_World_playNoteAt",
        "playNoteAt", "nms_WorldClient_func_713_a", "func_713_a", "nms_EntityOtherPlayerMP__init_", "nle_Random_nextFloat", "nms_EntityPickupFX__init_", "nms_CraftingInventoryCB_func_20112_a", "func_20112_a", "nms_EntityMinecart__init_", "nms_EntityFish__init_", "nms_EntityBoat__init_", "nms_WorldClient_func_714_c", "func_714_c", "nms_Explosion__init_", "nms_Explosion_doExplosionB", "doExplosionB", "nms_PlayerControllerMP__init_", "nms_WorldClient__init_", "nms_GuiDownloadTerrain__init_", "nms_World_setChunkData",
        "setChunkData", "nms_EntityList_createEntity", "nms_Packet24MobSpawn_getMetadata", "getMetadata", "nms_Packet1Login__init_0", "nms_World__init_0", "nms_Teleporter__init_", "nms_Teleporter_func_4107_a", "func_4107_a", "nms_WorldInfo_setSpawnY", "setSpawnY", "nms_WorldInfo_setSpawnX", "setSpawnX", "nms_WorldInfo_setSpawnZ", "setSpawnZ", "nms_ChunkCoordinates__init_1", "nms_ItemStack_canHarvestBlock", "nms_ItemStack_getStrVsBlock", "nms_Block_dropBlockAsItemWithChance", "dropBlockAsItemWithChance", "nms_IWorldAccess_playRecord",
        "nlei_VFSFilenameIteratorNonRecursive_countSlashes", "countSlashes", "nlei_VFSFilenameIteratorNonRecursive__init_0", "nlei_VFSFilenameIterator_next", "nleit_IndexedDBFilesystem$AsyncHandlers_iterateFiles", "iterateFiles", "nms_TileEntityRenderer_getFontRenderer", "nms_IWorldAccess_markBlockAndNeighborsNeedsUpdate", "markBlockAndNeighborsNeedsUpdate", "nms_WorldGenTrees__init_", "nms_WorldGenerator_generate", "generate", "nms_WorldGenBigTree__init_", "nms_BlockFlower_canBlockStay", "nms_Chunk_getSavedLightValue",
        "nms_Entity_updateRidden", "updateRidden", "nms_Chunk_func_1016_a", "func_1016_a", "ju_TreeMap_size", "ju_TreeMap_firstKey", "firstKey", "ju_TreeMap_remove", "nms_Block_isCollidable", "isCollidable", "nms_Block_isVecInsideYZBounds", "isVecInsideYZBounds", "nms_Block_isVecInsideXZBounds", "isVecInsideXZBounds", "nms_Block_isVecInsideXYBounds", "isVecInsideXYBounds", "nms_EntityPlayer_readEntityFromNBT", "nms_RenderManager_getFontRenderer", "nms_WorldInfo_getRandomSeed", "nms_ShapedRecipes_func_21137_a",
        "func_21137_a", "nms_InventoryCrafting_func_21103_b", "func_21103_b", "nms_World_isBlockProvidingPowerTo", "isBlockProvidingPowerTo", "nms_BlockReed_canBlockStay", "cjj_Inflater_init1", "nms_MathHelper_bucketInt", "bucketInt", "nms_Item_getItemNameIS", "getItemNameIS", "nms_ItemStack_isItemStackDamageable", "isItemStackDamageable", "nms_Item_getMaxDamage", "nms_Item_getItemStackLimit", "getItemStackLimit", "nms_Item_getHasSubtypes", "ju_Random$nextGaussian$lambda$_9_0__init_", "otci_RandomUtils_pairGaussian",
        "pairGaussian", "nms_Block_isPoweringTo", "isPoweringTo", "nms_MinecartTrackLogic_func_786_c", "func_786_c", "nms_MinecartTrackLogic_getMinecartTrackLogic", "getMinecartTrackLogic", "nms_MinecartTrackLogic_func_785_b", "func_785_b", "nms_MinecartTrackLogic_handleKeyPress", "nms_MinecartTrackLogic_func_788_d", "func_788_d", "nms_InventoryPlayer_damageArmor", "damageArmor", "nms_InventoryPlayer_dropAllItems", "dropAllItems", "nms_MCHashTable_computeHash", "computeHash", "nms_MCHashTable_getSlotIndex",
        "getSlotIndex", "nms_MCHashTable_insert", "nms_Path_sortBack", "sortBack", "nms_Path_sortForward", "sortForward", "cch_ObjectIntHashMap_hashKey", "cch_ObjectIntHashMap_equals", "cch_ObjectIntHashMap_allocateThenInsertThenRehash", "cch_ObjectIntHashMap_allocateBuffers", "cch_ObjectIntHashMap_isEmpty", "cch_ObjectIntHashMap_rehash", "nms_EntityMinecart__init_0", "nms_EntityFallingSand__init_0", "nms_EntitySheep__init_", "nms_EntityZombieSimple__init_", "nms_EntitySquid__init_", "nms_EntityCow__init_",
        "nms_EntityItem__init_0", "nms_EntityArrow__init_0", "nms_EntityChicken__init_", "nms_EntityCreeper__init_", "nms_EntitySlime__init_", "nms_EntityWolf__init_", "nms_EntityPigZombie__init_", "nms_EntityPainting__init_0", "nms_EntityPig__init_", "nms_EntityBoat__init_0", "nms_EntitySnowball__init_0", "nms_EntityGhast__init_", "nms_IInventory_getInvName", "getInvName", "nms_TileEntityFurnace_isBurning", "nms_TileEntityFurnace_getCookProgressScaled", "getCookProgressScaled", "nms_TileEntityFurnace_getBurnTimeRemainingScaled",
        "getBurnTimeRemainingScaled", "nms_NibbleArray__init_0", "nms_NibbleArray_isValid", "nms_Chunk_func_1014_a", "func_1014_a", "nms_EntityList_createEntityFromNBT", "createEntityFromNBT", "nms_NBTTagList_tagCount", "tagCount", "nms_TileEntity_createAndLoadEntity", "createAndLoadEntity", "nms_Chunk_func_1001_a", "func_1001_a", "nms_NBTTagCompound_setLong", "setLong", "nms_NBTTagCompound_setBoolean", "setBoolean", "nms_NBTTagCompound_setTag", "setTag", "nms_Entity_addEntityID", "addEntityID", "nms_NBTTagList_setTag",
        "nms_TileEntity_writeToNBT", "nms_EntityCreature_getBlockPathWeight", "getBlockPathWeight", "cjj_Drft_drfti1", "drfti1", "nms_WorldClient_func_709_b", "func_709_b", "nms_EntityPainting_func_412_b", "func_412_b", "nms_EntityFish__init_0", "nms_SaveHandlerMP__init_", "nms_WorldProvider_func_4101_a", "func_4101_a", "nms_World__init_2", "nms_World_setSpawnPoint", "setSpawnPoint", "nms_WorldInfo__init_1", "nleit_IndexedDBFilesystem$AsyncHandlers_iterateFiles$_asyncCall_$", "iterateFiles$_asyncCall_$", "nleit_IndexedDBFilesystem$AsyncHandlers_iterateFiles0",
        "nms_WorldGenerator__init_", "nms_WorldGenBigTree__clinit_", "nms_EntityLiving_readEntityFromNBT", "nms_InventoryPlayer_readFromNBT", "juf_DoubleSupplier_getAsDouble", "getAsDouble", "jl_StrictMath_log", "jl_StrictMath_sqrt", "nms_MinecartTrackLogic_isConnectedTo", "isConnectedTo", "nms_MinecartTrackLogic_func_794_b", "func_794_b", "nms_HashEntry__init_", "nms_MCHashTable_grow", "nms_EntityAnimals__init_", "nms_EntityWaterMob__init_", "nms_EntitySlime_setSlimeSize", "setSlimeSize", "nms_EntityPigZombie__clinit_",
        "nms_EntityFlying__init_", "nms_TileEntity_readFromNBT", "nms_World_checkIfAABBIsClear", "checkIfAABBIsClear", "nms_World_getIsAnyLiquid", "getIsAnyLiquid", "nleit_IndexedDBFilesystem$AsyncHandlers$9__init_", "nleit_IndexedDBFilesystem$AsyncHandlers$10__init_", "nms_MCHashTable_copyTo", "copyTo", "nleit_IndexedDBFilesystem$AsyncHandlers$9_handleEvent$exported$0", "nleit_IndexedDBFilesystem$AsyncHandlers$10_handleEvent$exported$0", "nleit_IndexedDBFilesystem$AsyncHandlers$9_handleEvent", "nleit_IndexedDBFilesystem$AsyncHandlers$10_handleEvent",
        "nms_PlayerControllerMP_setPartialTime", "nms_PlayerControllerMP_updateController", "nms_PlayerControllerMP_sendUseItem", "nms_PlayerControllerMP_func_6472_b", "nms_PlayerControllerMP_func_6475_a", "nms_PlayerControllerMP_clickBlock", "nms_PlayerControllerMP_sendPlaceBlock", "nms_PlayerControllerMP_func_6468_a", "nms_PlayerControllerMP_sendBlockRemoving", "nms_PlayerControllerMP_getBlockReachDistance", "nms_PlayerControllerMP_func_20086_a", "nms_PlayerControllerMP_func_20085_a", "nms_PlayerControllerMP_func_717_a",
        "nms_PlayerControllerMP_createPlayer", "nms_PlayerControllerMP_flipPlayer", "nms_EmptyChunk_setBlockIDWithMetadata", "nms_CraftingInventoryWorkbenchCB_onCraftGuiClosed", "nms_CraftingInventoryFurnaceCB_func_20112_a", "nms_WorldGenTrees_generate", "nms_WorldGenBigTree_generate", "nms_EntityLiving_setPositionAndRotation2", "nms_EntityLiving_handleHealthUpdate", "nms_EntityLiving_performHurtAnimation", "nms_EntityMinecart_entityInit", "nms_EntityPainting_entityInit", "nms_EntityBoat_entityInit", "nms_EntityFish_entityInit",
        "nms_SaveHandlerMP_getChunkLoader", "nms_SaveHandlerMP_saveWorldInfoAndPlayer", "nms_WorldClient_setBlock", "nms_WorldClient_setBlockMetadata", "nms_WorldClient_setBlockAndMetadata", "nms_WorldClient_scheduleBlockUpdate", "nms_WorldClient_obtainEntitySkin", "nms_WorldClient_entityJoinedWorld", "nms_EmptyChunk_getSavedLightValue", "nms_EntityWolf_getEntityTexture", "nms_EntityPigZombie_getHeldItem", "nms_EntityMinecart_getShadowSize", "nms_EntityWolf_entityInit", "nms_EntityCreeper_entityInit", "nms_EntityPig_entityInit",
        "nms_EntitySheep_entityInit", "nms_EntitySlime_entityInit", "nms_EntityBoat_getShadowSize", "nms_EntityZombie_getLivingSound", "nms_EntitySpider_getLivingSound", "nms_EntitySkeleton_getLivingSound", "nms_EntityPlayer_addToPlayerScore", "nms_EntitySkeleton_dropFewItems", "nms_EmptyChunk_setChunkModified", "nms_ChunkProviderGenerate_populate", "nms_ChunkProviderHell_populate", "nms_Packet10Flying_writePacketData", "nms_Packet11PlayerPosition_writePacketData", "nms_Packet12PlayerLook_writePacketData", "nms_Packet13PlayerLookMove_writePacketData",
        "nms_Packet106_writePacketData", "nms_InventoryBasic_getStackInSlot", "nms_InventoryBasic_onInventoryChanged", "nms_InventoryBasic_getInventoryStackLimit", "nms_InventoryBasic_setInventorySlotContents", "nms_InventoryBasic_decrStackSize", "nms_InventoryBasic_getSizeInventory", "nms_InventoryBasic_getInvName", "nms_TileEntityFurnace_getStackInSlot", "nms_TileEntityFurnace_getInventoryStackLimit", "nms_TileEntityFurnace_setInventorySlotContents", "nms_TileEntityFurnace_decrStackSize", "nms_TileEntityDispenser_getStackInSlot",
        "nms_TileEntityDispenser_getInventoryStackLimit", "nms_TileEntityDispenser_setInventorySlotContents", "nms_TileEntityDispenser_decrStackSize", "nms_EntityPickupFX_getFXLayer", "nms_EmptyChunk_func_1016_a", "nms_WorldClient_releaseEntitySkin", "nms_WorldClient_TickUpdates", "nms_WorldClient_updateBlocksAndPlayCaveSounds", "nms_WorldClient_tick", "nms_WorldClient_sendQuittingDisconnectingPacket", "nms_WorldClient_setSpawnLocation", "nms_WorldClient_setEntityDead", "nms_Packet1Login_writePacketData", "nms_EntityPlayer_setEntityDead",
        "nms_BlockStairs_dropBlockAsItemWithChance", "nms_BlockJukeBox_dropBlockAsItemWithChance", "nms_RenderGlobal_playRecord", "nlei_VFSFilenameIteratorNonRecursive_next", "nleiv_VFSListFilesIteratorImpl_next", "nlei_RamdiskFilesystemImpl_eaglerDelete", "nleit_IndexedDBFilesystem_eaglerDelete", "nms_RenderGlobal_markBlockAndNeighborsNeedsUpdate", "nms_BlockMushroom_canBlockStay", "nms_EntityPlayer_onUpdate", "nms_EntityMobs_onUpdate", "nms_EntityArrow_onUpdate", "nms_EntitySnowball_onUpdate", "nms_EntityEgg_onUpdate",
        "nms_EntityItem_onUpdate", "nms_EntityTNTPrimed_onUpdate", "nms_EntityFallingSand_onUpdate", "nms_EntityPlayer_updateRidden", "nms_EntityLiving_updateRidden", "nms_BlockFire_isCollidable", "nms_BlockStairs_isCollidable", "nms_ItemCloth_getItemNameIS", "nms_ItemBlock_getItemNameIS", "nms_ItemSlab_getItemNameIS", "nms_ItemCoal_getItemNameIS", "nms_ItemDye_getItemNameIS", "nms_BlockRedstoneWire_isPoweringTo", "nms_BlockLever_isPoweringTo", "nms_BlockPressurePlate_isPoweringTo", "nms_BlockRedstoneTorch_isPoweringTo",
        "nms_BlockButton_isPoweringTo", "nms_BlockRedstoneRepeater_isPoweringTo", "nms_InventoryLargeChest_getInvName", "nms_InventoryPlayer_getInvName", "nms_EntityMobs_getBlockPathWeight", "otci_RandomUtils__init_", "ju_Random$nextGaussian$lambda$_9_0_getAsDouble", "nms_EntityArrow_readEntityFromNBT", "nms_EntitySnowball_readEntityFromNBT", "nms_EntityItem_readEntityFromNBT", "nms_EntityPainting_readEntityFromNBT", "nms_EntityMobs_readEntityFromNBT", "nms_EntityCreeper_readEntityFromNBT", "nms_EntitySkeleton_readEntityFromNBT",
        "nms_EntitySpider_readEntityFromNBT", "nms_EntitySlime_readEntityFromNBT", "nms_EntityPigZombie_readEntityFromNBT", "nms_EntityPig_readEntityFromNBT", "nms_EntitySheep_readEntityFromNBT", "nms_EntityCow_readEntityFromNBT", "nms_EntityChicken_readEntityFromNBT", "nms_EntitySquid_readEntityFromNBT", "nms_EntityWolf_readEntityFromNBT", "nms_TileEntitySign_readFromNBT", "nms_TileEntityMobSpawner_readFromNBT", "nms_TileEntityFurnace_readFromNBT", "nms_TileEntityChest_readFromNBT", "nms_TileEntityDispenser_readFromNBT",
        "nms_TileEntityNote_readFromNBT", "nms_WorldClient_getChunkProvider", "jl_StrictMath__init_", "nms_EntityPickupFX_renderParticle", "nms_EntityPickupFX_onUpdate", "nms_EntityTNTPrimed_readEntityFromNBT", "nms_EntityMinecart_readEntityFromNBT", "nms_EntityFallingSand_readEntityFromNBT", "nms_EntityBoat_readEntityFromNBT", "nms_GuiDownloadTerrain_drawScreen", "nms_GuiDownloadTerrain_updateScreen", "nms_GuiDownloadTerrain_initGui", "nms_GuiDownloadTerrain_keyTyped", "nms_GuiDownloadTerrain_actionPerformed",
        "npja_Color_getHSBColor", "getHSBColor", "npja_Color_getRGB", "nms_Item_onItemRightClick", "onItemRightClick", "nms_Item_onItemUse", "onItemUse", "nms_Item_hitEntity", "nms_Item_saddleEntity", "saddleEntity", "nms_Item_func_25008_a", "func_25008_a", "nms_PlayerControllerMP_func_730_e", "func_730_e", "nms_Packet15Place__init_0", "nms_Packet7__init_0", "nms_Packet14BlockDig__init_0", "nms_PlayerControllerMP_sendBlockRemoved", "nms_CraftingInventoryCB_func_20111_a", "func_20111_a", "nms_Packet102__init_0",
        "nms_EntityClientPlayerMP__init_", "ju_AbstractSequentialList_get", "nms_MCHashTable_removeObject", "removeObject", "nms_ChunkProviderClient_func_539_c", "func_539_c", "nms_ChunkProviderClient_func_538_d", "nms_Item_getDamageVsEntity", "nms_CraftingInventoryCB_getSlot", "getSlot", "nms_WorldGenBigTree_func_519_e", "func_519_e", "nms_WorldGenBigTree_func_521_a", "func_521_a", "nms_WorldGenBigTree_func_518_b", "func_518_b", "nms_WorldGenBigTree_func_529_c", "func_529_c", "nms_WorldGenBigTree_func_525_d",
        "func_525_d", "nms_MobSpawnerBase_getBiomeFromLookup", "getBiomeFromLookup", "ju_Arrays_fill2", "nms_BlockContainer_onBlockAdded", "nms_NibbleArray_getNibble", "getNibble", "nms_NibbleArray_setNibble", "setNibble", "nms_Block_onBlockRemoval", "onBlockRemoval", "nms_World_func_616_a", "func_616_a", "nms_Chunk_func_996_c", "func_996_c", "nms_Chunk_func_1003_g", "func_1003_g", "nms_World_func_632_b", "func_632_b", "nms_World_func_636_a", "func_636_a", "nms_WorldBlockPositionType__init_", "nms_Block_isIndirectlyPoweringTo",
        "isIndirectlyPoweringTo", "nms_DataWatcher_func_25115_b", "func_25115_b", "nlei_IEaglerFilesystem_eaglerMove", "eaglerMove", "nms_NoiseGeneratorOctaves2_func_4111_a", "func_4111_a", "nms_ChunkProviderGenerate_func_4061_a", "func_4061_a", "nms_NoiseGeneratorOctaves_generateNoiseOctaves", "generateNoiseOctaves", "nms_MapGenBase_func_868_a", "func_868_a", "nms_ChunkProviderHell_func_4057_a", "func_4057_a", "nms_EntityLiving_getDropItemId", "getDropItemId", "nms_Entity_dropItem", "dropItem", "nms_Entity_newDoubleNBTList",
        "newDoubleNBTList", "nms_Entity_func_377_a", "func_377_a", "nms_NBTTagCompound_setFloat", "setFloat", "nms_NBTTagCompound_setShort", "setShort", "nms_Entity_writeEntityToNBT", "writeEntityToNBT", "nms_WorldGenLakes__init_", "nms_WorldGenLakes_generate", "nms_WorldGenDungeons__init_", "nms_WorldGenDungeons_generate", "nms_WorldGenClay__init_", "nms_WorldGenClay_generate", "nms_WorldGenMinable__init_", "nms_WorldGenMinable_generate", "nms_NoiseGeneratorOctaves_func_806_a", "func_806_a", "nms_MobSpawnerBase_getRandomWorldGenForTrees",
        "getRandomWorldGenForTrees", "nms_WorldGenerator_func_517_a", "func_517_a", "nms_World_getHeightValue", "nms_WorldGenFlowers__init_", "nms_WorldGenFlowers_generate", "nms_WorldGenReed__init_", "nms_WorldGenReed_generate", "nms_WorldGenPumpkin__init_", "nms_WorldGenPumpkin_generate", "nms_WorldGenCactus__init_", "nms_WorldGenCactus_generate", "nms_WorldGenLiquids__init_", "nms_WorldGenLiquids_generate", "nms_WorldChunkManager_getTemperatures", "getTemperatures", "nms_World_findTopSolidBlock", "findTopSolidBlock",
        "nms_WorldGenHellLava__init_", "nms_WorldGenHellLava_generate", "nms_WorldGenFire__init_", "nms_WorldGenFire_generate", "nms_WorldGenLightStone1__init_", "nms_WorldGenLightStone1_generate", "nms_WorldGenLightStone2__init_", "nms_WorldGenLightStone2_generate", "juz_Inflater_needsInput", "needsInput", "juz_DataFormatException__init_0", "nms_Entity_setRotation", "setRotation", "nms_IInvBasic_func_20134_a", "func_20134_a", "nms_World_func_698_b", "func_698_b", "nms_ChatLine__init_", "ju_List_add", "nms_Block_playBlock",
        "playBlock", "nms_Block_onBlockDestroyedByExplosion", "onBlockDestroyedByExplosion", "nms_Packet255KickDisconnect__init_0", "nms_Chunk_setChunkData", "nms_Teleporter_func_4106_b", "func_4106_b", "nms_Teleporter_func_4108_c", "func_4108_c", "nms_Item_canHarvestBlock", "nms_Item_getStrVsBlock", "nms_Block_quantityDropped", "quantityDropped", "nms_Block_idDropped", "idDropped", "nms_Block_damageDropped", "damageDropped", "nms_GuiIngame_setRecordPlayingMessage", "setRecordPlayingMessage", "ju_AbstractMap$KeySet__init_",
        "nleiv_VFile2_create", "nleit_IndexedDBFilesystem$AsyncHandlers_deleteFile", "deleteFile", "nms_BlockFlower_canThisPlantGrowOnThisBlockID", "canThisPlantGrowOnThisBlockID", "nms_World_canBlockSeeTheSky", "canBlockSeeTheSky", "nms_BlockMushroom_canThisPlantGrowOnThisBlockID", "nms_EntityPlayer_isInBed", "isInBed", "nms_EntityLiving_onUpdate", "nms_CraftingInventoryCB_isUsableByPlayer", "isUsableByPlayer", "nms_EntityItem_func_466_g", "func_466_g", "nms_EntityTNTPrimed_explode", "explode", "nms_World_canBlockBePlacedAt",
        "canBlockBePlacedAt", "nms_Entity_updateRiderPosition", "updateRiderPosition", "ju_TreeMap_firstNode", "firstNode", "ju_TreeMap_deleteNode", "deleteNode", "nms_BlockReed_canPlaceBlockAt", "nms_ItemStack_func_25190_a", "func_25190_a", "cch_BitMixer_mixPhi0", "cch_ObjectIntHashMap_size", "nms_Chunk_setChunkBlockTileEntity", "setChunkBlockTileEntity", "nms_NBTTagLong__init_1", "nms_NBTTagCompound_setByte", "setByte", "nms_Entity_getEntityString", "getEntityString", "nms_EntityPainting_func_411_c", "func_411_c",
        "nms_ItemStack__init_6", "nms_DataWatcher_updateObject", "updateObject", "nms_EntityAnimals_readEntityFromNBT", "nms_EntityPig_setSaddled", "setSaddled", "nms_EntitySheep_setSheared", "setSheared", "nms_EntityWaterMob_readEntityFromNBT", "nms_EntityWolf_setWolfAngry", "setWolfAngry", "nms_EntityWolf_setWolfOwner", "setWolfOwner", "nms_EntityWolf_func_25038_d", "func_25038_d", "nms_TileEntityFurnace_getSizeInventory", "nms_TileEntityFurnace_getItemBurnTime", "getItemBurnTime", "nms_TileEntityChest_getSizeInventory",
        "nms_TileEntityDispenser_getSizeInventory", "nms_ChunkProviderClient__init_", "nleit_IndexedDBFilesystem$AsyncHandlers_readKey$js_body$_9", "readKey$js_body$_9", "nms_NBTTagCompound_getDouble", "getDouble", "nms_EntityMinecart_getSizeInventory", "npja_Color__init_1", "nms_Packet16BlockItemSwitch__init_0", "nms_Chunk_func_1020_f", "func_1020_f", "nms_World_markBlocksDirtyVertical", "markBlocksDirtyVertical", "nms_NoiseGeneratorOctaves_func_4109_a", "func_4109_a", "nleit_IndexedDBFilesystem$AsyncHandlers_deleteFile$_asyncCall_$",
        "deleteFile$_asyncCall_$", "nleit_IndexedDBFilesystem$AsyncHandlers_deleteFile0", "nms_EntityLiving_onLivingUpdate", "onLivingUpdate", "nms_Entity_onEntityUpdate", "onEntityUpdate", "nms_World_createExplosion", "createExplosion", "ju_TreeMap$TreeNode_forward", "forward", "nms_ItemStack_readFromNBT", "nleit_IndexedDBFilesystem$AsyncHandlers$5__init_", "nleit_IndexedDBFilesystem$AsyncHandlers$6__init_", "nleit_IndexedDBFilesystem$AsyncHandlers$5_handleEvent$exported$0", "nleit_IndexedDBFilesystem$AsyncHandlers$6_handleEvent$exported$0",
        "nleit_IndexedDBFilesystem$AsyncHandlers$5_handleEvent", "nleit_IndexedDBFilesystem$AsyncHandlers$6_handleEvent", "nms_MobSpawnerBase$_init_$lambda$_0_0_createEntity", "nms_MobSpawnerBase$_init_$lambda$_0_4_createEntity", "nms_MobSpawnerHell$_init_$lambda$_0_1_createEntity", "nms_MobSpawnerHell$_init_$lambda$_0_0_createEntity", "nms_MobSpawnerBase$_init_$lambda$_0_3_createEntity", "nms_MobSpawnerBase$_init_$lambda$_0_2_createEntity", "nms_MobSpawnerBase$_init_$lambda$_0_1_createEntity", "nms_MobSpawnerBase$_init_$lambda$_0_6_createEntity",
        "nms_MobSpawnerBase$_init_$lambda$_0_7_createEntity", "nms_MobSpawnerBase$_init_$lambda$_0_5_createEntity", "nms_MobSpawnerTaiga$_init_$lambda$_0_3_createEntity", "nms_MobSpawnerTaiga$_init_$lambda$_0_0_createEntity", "nms_MobSpawnerBase$_init_$lambda$_0_8_createEntity", "nms_MobSpawnerForest$_init_$lambda$_0_0_createEntity", "nms_MobSpawnerTaiga$_init_$lambda$_0_4_createEntity", "nms_MobSpawnerTaiga$_init_$lambda$_0_1_createEntity", "nms_MobSpawnerForest$_init_$lambda$_0_1_createEntity", "nms_MobSpawnerForest$_init_$lambda$_0_3_createEntity",
        "nms_MobSpawnerForest$_init_$lambda$_0_2_createEntity", "nms_MobSpawnerTaiga$_init_$lambda$_0_2_createEntity", "nms_MobSpawnerForest$_init_$lambda$_0_4_createEntity", "nms_MobSpawnerBase$_init_$lambda$_0_9_createEntity", "nms_EntityClientPlayerMP_joinEntityItemWithWorld", "nms_EntityClientPlayerMP_dropCurrentItem", "nms_EntityClientPlayerMP_swingItem", "nms_EntityClientPlayerMP_heal", "nms_EntityClientPlayerMP_func_20059_m", "nms_EntityClientPlayerMP_sendChatMessage", "nms_EntityClientPlayerMP_respawnPlayer",
        "nms_EntityClientPlayerMP_damageEntity", "nms_EntityClientPlayerMP_setHealth", "nms_EntityClientPlayerMP_attackEntityFrom", "jl_StringBuffer_insert5", "ju_AbstractMap$KeySet_iterator", "nms_EntitySkeleton_onLivingUpdate", "nms_EntityMobs_onLivingUpdate", "nms_EntityZombie_onLivingUpdate", "nms_Packet19_writePacketData", "nms_EntityLiving_onEntityUpdate", "nms_EntityPlayerSP_onLivingUpdate", "nms_EntityClientPlayerMP_onUpdate", "nms_EntityPlayerSP_writeEntityToNBT", "nms_EntitySpider_writeEntityToNBT",
        "nms_EntitySkeleton_writeEntityToNBT", "nms_EntityMobs_writeEntityToNBT", "nms_EntityArrow_writeEntityToNBT", "nms_EntitySnowball_writeEntityToNBT", "nms_EntityEgg_writeEntityToNBT", "nms_EntityItem_writeEntityToNBT", "nms_EntityTNTPrimed_writeEntityToNBT", "nms_EntityFallingSand_writeEntityToNBT", "nms_EntityFX_writeEntityToNBT", "nms_ChunkProviderClient_provideChunk", "nms_ChunkProviderClient_func_532_a", "nms_ChunkProviderClient_toString", "nms_ChunkProviderClient_func_536_b", "nms_ChunkProviderClient_saveChunks",
        "nms_ChunkProviderClient_chunkExists", "nms_ItemFood_onItemRightClick", "nms_ItemBow_onItemRightClick", "nms_ItemSoup_onItemRightClick", "nms_ItemBucket_onItemRightClick", "nms_ItemSnowball_onItemRightClick", "nms_ItemBoat_onItemRightClick", "nms_ItemEgg_onItemRightClick", "nms_ItemFishingRod_onItemRightClick", "nms_ItemBlock_onItemUse", "nms_ItemFlintAndSteel_onItemUse", "nms_ItemHoe_onItemUse", "nms_ItemSeeds_onItemUse", "nms_ItemPainting_onItemUse", "nms_ItemSign_onItemUse", "nms_ItemDoor_onItemUse",
        "nms_ItemMinecart_onItemUse", "nms_ItemRedstone_onItemUse", "nms_ItemReed_onItemUse", "nms_ItemDye_onItemUse", "nms_ItemBed_onItemUse", "nms_ItemRecord_onItemUse", "nms_ItemTool_hitEntity", "nms_ItemSword_hitEntity", "nms_ItemSaddle_hitEntity", "nms_ItemSaddle_saddleEntity", "nms_ItemDye_saddleEntity", "nms_ItemTool_func_25008_a", "nms_ItemSword_func_25008_a", "nms_Packet15Place_writePacketData", "nms_Packet7_writePacketData", "nms_Packet14BlockDig_writePacketData", "nms_Packet102_writePacketData", "nms_ItemTool_getDamageVsEntity",
        "nms_ItemSword_getDamageVsEntity", "nms_BlockDispenser_onBlockAdded", "nms_BlockFurnace_onBlockAdded", "nms_BlockLog_onBlockRemoval", "nms_BlockLeaves_onBlockRemoval", "nms_BlockSponge_onBlockRemoval", "nms_BlockContainer_onBlockRemoval", "nms_BlockStairs_onBlockRemoval", "nms_BlockChest_onBlockRemoval", "nms_BlockRedstoneWire_onBlockRemoval", "nms_BlockLever_onBlockRemoval", "nms_BlockPressurePlate_onBlockRemoval", "nms_BlockRedstoneTorch_onBlockRemoval", "nms_BlockButton_onBlockRemoval", "nms_BlockIce_onBlockRemoval",
        "nms_BlockFlowing_onBlockAdded", "nms_BlockFluids_onBlockAdded", "nms_BlockSand_onBlockAdded", "nms_BlockSponge_onBlockAdded", "nms_BlockStep_onBlockAdded", "nms_BlockFire_onBlockAdded", "nms_BlockStairs_onBlockAdded", "nms_BlockRedstoneWire_onBlockAdded", "nms_BlockMinecartTrack_onBlockAdded", "nms_BlockPressurePlate_onBlockAdded", "nms_BlockPumpkin_onBlockAdded", "nms_BlockRedstoneRepeater_onBlockAdded", "ju_HashMap$2_contains", "nms_BlockRedstoneWire_isIndirectlyPoweringTo", "nms_BlockLever_isIndirectlyPoweringTo",
        "nms_BlockPressurePlate_isIndirectlyPoweringTo", "nms_BlockRedstoneTorch_isIndirectlyPoweringTo", "nms_BlockButton_isIndirectlyPoweringTo", "nms_BlockRedstoneRepeater_isIndirectlyPoweringTo", "nle_Filesystem$FilesystemHandleWrapper_eaglerMove", "nms_MapGenCaves_func_868_a", "nms_MapGenCavesHell_func_868_a", "nms_EntitySpider_getDropItemId", "nms_EntitySkeleton_getDropItemId", "nms_EntityZombie_getDropItemId", "nms_MobSpawnerRainforest_getRandomWorldGenForTrees", "nms_MobSpawnerForest_getRandomWorldGenForTrees",
        "nms_MobSpawnerTaiga_getRandomWorldGenForTrees", "nms_WorldChunkManagerHell_getTemperatures", "nms_BlockNote_playBlock", "nms_BlockTNT_onBlockDestroyedByExplosion", "nms_BlockStairs_onBlockDestroyedByExplosion", "ju_HashSet_isEmpty", "nms_Packet255KickDisconnect_writePacketData", "nms_EmptyChunk_setChunkData", "nms_ItemSpade_canHarvestBlock", "nms_ItemPickaxe_canHarvestBlock", "nms_ItemTool_getStrVsBlock", "nms_ItemSword_getStrVsBlock", "nms_BlockFluids_quantityDropped", "nms_BlockOre_quantityDropped",
        "nms_BlockLog_quantityDropped", "nms_BlockLeaves_quantityDropped", "nms_BlockGlass_quantityDropped", "nms_BlockStep_quantityDropped", "nms_BlockTNT_quantityDropped", "nms_BlockBookshelf_quantityDropped", "nms_BlockObsidian_quantityDropped", "nms_BlockFire_quantityDropped", "nms_BlockMobSpawner_quantityDropped", "nms_BlockStairs_quantityDropped", "nms_BlockCrops_quantityDropped", "nms_BlockLadder_quantityDropped", "nms_BlockMinecartTrack_quantityDropped", "nms_BlockRedstoneOre_quantityDropped", "nms_BlockSnow_quantityDropped",
        "nms_BlockIce_quantityDropped", "nms_BlockSnowBlock_quantityDropped", "nms_BlockClay_quantityDropped", "nms_BlockPortal_quantityDropped", "nms_BlockCake_quantityDropped", "nms_BlockStone_idDropped", "nms_BlockGrass_idDropped", "nms_BlockFluids_idDropped", "nms_BlockGravel_idDropped", "nms_BlockOre_idDropped", "nms_BlockLog_idDropped", "nms_BlockLeaves_idDropped", "nms_BlockDispenser_idDropped", "nms_BlockBed_idDropped", "nms_BlockStep_idDropped", "nms_BlockObsidian_idDropped", "nms_BlockMobSpawner_idDropped",
        "nms_BlockStairs_idDropped", "nms_BlockRedstoneWire_idDropped", "nms_BlockCrops_idDropped", "nms_BlockSoil_idDropped", "nms_BlockFurnace_idDropped", "nms_BlockSign_idDropped", "nms_BlockDoor_idDropped", "nms_BlockRedstoneOre_idDropped", "nms_BlockRedstoneTorch_idDropped", "nms_BlockSnow_idDropped", "nms_BlockSnowBlock_idDropped", "nms_BlockClay_idDropped", "nms_BlockReed_idDropped", "nms_BlockLightStone_idDropped", "nms_BlockCake_idDropped", "nms_BlockRedstoneRepeater_idDropped", "nms_BlockOre_damageDropped",
        "nms_BlockLog_damageDropped", "nms_BlockCloth_damageDropped", "nms_BlockStep_damageDropped", "nms_BlockCrops_canThisPlantGrowOnThisBlockID", "nms_CraftingInventoryPlayerCB_isUsableByPlayer", "nms_CraftingInventoryDispenserCB_isUsableByPlayer", "nms_CraftingInventoryChestCB_isUsableByPlayer", "nms_CraftingInventoryWorkbenchCB_isUsableByPlayer", "nms_CraftingInventoryFurnaceCB_isUsableByPlayer", "nms_EntityItem_canTriggerWalking", "nms_EntityItem_handleWaterMovement", "nms_EntityItem_dealFireDamage", "nms_EntityTNTPrimed_canTriggerWalking",
        "nms_EntityFallingSand_canTriggerWalking", "nms_Packet0KeepAlive_writePacketData", "nms_Packet16BlockItemSwitch_writePacketData", "nleiv_VFSIterator2$BreakLoop__init_", "nms_EntityMinecart_canBeCollidedWith", "nms_EntityBoat_canBeCollidedWith", "nms_EntityPainting_canBeCollidedWith", "nms_EntityOtherPlayerMP_resetHeight", "nms_EntityCreeper_getDropItemId", "nms_EntityPigZombie_getDropItemId", "nms_EntityCreeper_onDeath", "nms_EntityCreeper_getDeathSound", "nms_EntityPigZombie_getDeathSound", "nms_EntityCreeper_getHurtSound",
        "nms_EntityPigZombie_getHurtSound", "nms_EntityMinecart_attackEntityFrom", "nms_EntityPig_getDropItemId", "nms_EntityCow_getDropItemId", "nms_EntityWolf_getDropItemId", "nms_EntityChicken_getDropItemId", "nms_EntitySlime_getDropItemId", "nms_EntityGhast_getDropItemId", "nms_EntitySquid_getDropItemId", "nms_EntitySquid_dropFewItems", "nms_EntityPig_getDeathSound", "nms_EntitySheep_getDeathSound", "nms_EntityCow_getDeathSound", "nms_EntityWolf_getDeathSound", "nms_EntityChicken_getDeathSound", "nms_EntitySlime_getDeathSound",
        "nms_EntityGhast_getDeathSound", "nms_EntitySquid_getDeathSound", "nms_EntityCow_getSoundVolume", "nms_EntityWolf_getSoundVolume", "nms_EntitySlime_getSoundVolume", "nms_EntityGhast_getSoundVolume", "nms_EntitySquid_getSoundVolume", "nms_EntityPig_getHurtSound", "nms_EntitySheep_getHurtSound", "nms_EntityCow_getHurtSound", "nms_EntityWolf_getHurtSound", "nms_EntityChicken_getHurtSound", "nms_EntitySlime_getHurtSound", "nms_EntityGhast_getHurtSound", "nms_EntitySquid_getHurtSound", "nms_EntityOtherPlayerMP_attackEntityFrom",
        "nms_EntitySheep_attackEntityFrom", "nms_EntityBoat_attackEntityFrom", "nms_EntityPigZombie_attackEntityFrom", "nms_EntityPainting_attackEntityFrom", "nms_EntityWolf_attackEntityFrom", "nms_EntityMinecart_interact", "nms_EntityCow_interact", "nms_EntitySquid_interact", "nms_EntityBoat_interact", "nms_EntityWolf_interact", "nms_EntityPig_interact", "nms_EntityFish_isInRangeToRenderDist", "nms_EntityOtherPlayerMP_getShadowSize", "nms_EntityFish_getShadowSize", "nms_EntityMinecart_getBoundingBox", "nms_EntityBoat_getBoundingBox",
        "nms_EntityOtherPlayerMP_onLivingUpdate", "nms_EntityPigZombie_onLivingUpdate", "nms_EntityOtherPlayerMP_onUpdate", "nms_EntityWolf_onLivingUpdate", "nms_EntityChicken_onLivingUpdate", "nms_EntitySquid_onLivingUpdate", "nms_EntitySlime_onUpdate", "nms_EntityCreeper_onUpdate", "nms_EntityPigZombie_onUpdate", "nms_EntityWolf_onUpdate", "nms_EntityMinecart_onUpdate", "nms_EntityFish_onUpdate", "nms_EntityBoat_onUpdate", "nms_EntityPainting_onUpdate", "nms_EntityPlayer_writeEntityToNBT", "nms_EntityMinecart_writeEntityToNBT",
        "nms_EntityLiving_writeEntityToNBT", "nms_EntitySlime_writeEntityToNBT", "nms_EntitySheep_writeEntityToNBT", "nms_EntityCow_writeEntityToNBT", "nms_EntityChicken_writeEntityToNBT", "nms_EntityFish_writeEntityToNBT", "nms_EntitySquid_writeEntityToNBT", "nms_EntityCreeper_writeEntityToNBT", "nms_EntityBoat_writeEntityToNBT", "nms_EntityPigZombie_writeEntityToNBT", "nms_EntityPainting_writeEntityToNBT", "nms_EntityWolf_writeEntityToNBT", "nms_EntityPig_writeEntityToNBT", "jnc_Charset_compareTo0", "nleiv_VFile2_hashCode",
        "nleiv_VFile2_equals", "nms_EntityMinecart_setPositionAndRotation2", "nms_EntityBoat_setPositionAndRotation2", "nms_EntityFish_setPositionAndRotation2", "nms_EntityOtherPlayerMP_setPositionAndRotation2", "nms_EntityWolf_handleHealthUpdate", "nms_EntityOtherPlayerMP_outfitWithItem", "nms_EntityMinecart_setVelocity", "nms_EntityBoat_setVelocity", "nms_EntityEgg_setVelocity", "nms_EntitySnowball_setVelocity", "nms_EntityFish_setVelocity", "nms_EntityArrow_setVelocity", "nms_EntityBoat_updateRiderPosition",
        "nms_EntityOtherPlayerMP_func_6420_o", "nms_EntityMinecart_performHurtAnimation", "nms_EntityBoat_performHurtAnimation", "nms_EntityMinecart_setEntityDead", "nms_EntitySlime_setEntityDead", "nms_Packet18ArmAnimation__init_0", "nms_Packet101__init_0", "nms_Packet3Chat__init_0", "nms_EntityClientPlayerMP_sendInventoryChanged", "sendInventoryChanged", "nms_Entity_dropItemWithOffset", "dropItemWithOffset", "nms_Entity_getMountedYOffset", "getMountedYOffset", "nms_Entity_getYOffset", "getYOffset", "nms_WatchableObject_getDataValueId",
        "getDataValueId", "nms_WatchableObject_setObject", "setObject", "jl_StringBuffer_insert6", "ju_AbstractMap_entrySet", "ju_AbstractMap$KeySet$1__init_", "nms_Entity_handleLavaMovement", "handleLavaMovement", "nms_Entity_setOnFireFromLava", "setOnFireFromLava", "nms_Entity_kill", "kill", "nms_Entity_setEntityFlag", "setEntityFlag", "nms_Chunk_func_21167_h", "func_21167_h", "ju_Arrays_fill6", "nms_EntityLiving_getTalkInterval", "getTalkInterval", "nms_EntityLiving_canBreatheUnderwater", "canBreatheUnderwater",
        "nms_EntityLiving_unusedEntityMethod", "unusedEntityMethod", "nms_MovementInput_updatePlayerMoveState", "updatePlayerMoveState", "nms_EntityPlayer_onLivingUpdate", "nms_EntityClientPlayerMP_func_4056_N", "func_4056_N", "nms_NBTTagDouble__init_2", "nms_NBTTagFloat__init_2", "nms_EntityList_getEntityString", "nms_ItemStack_writeToNBT", "nms_InventoryPlayer_consumeInventoryItem", "consumeInventoryItem", "nms_EntityArrow__init_1", "nms_World_func_6466_a", "func_6466_a", "nms_EntitySnowball__init_1", "nms_EntityEgg__init_0",
        "nms_EntityFish_catchFish", "catchFish", "nms_EntityFish__init_1", "nms_Item_func_21012_a", "func_21012_a", "nms_Block_onBlockPlaced", "onBlockPlaced", "nms_Block_onBlockPlacedBy", "onBlockPlacedBy", "nms_EntityPainting__init_1", "nms_EntityPainting_func_410_i", "func_410_i", "nms_EntityPlayer_displayGUIEditSign", "displayGUIEditSign", "nms_BlockCrops_fertilize", "fertilize", "nms_MCHashTable_removeEntry", "nms_WorldGenBigTree_func_524_a", "func_524_a", "nms_WorldGenBigTree_func_528_a", "func_528_a",
        "nms_WorldGenBigTree_func_520_a", "func_520_a", "nms_WorldGenBigTree_func_522_a", "func_522_a", "nms_WorldGenBigTree_func_527_c", "func_527_c", "nms_BlockDispenser_setDispenserDefaultDirection", "setDispenserDefaultDirection", "nms_BlockContainer_getBlockEntity", "getBlockEntity", "nms_World_setBlockTileEntity", "setBlockTileEntity", "nms_BlockFurnace_setDefaultDirection", "setDefaultDirection", "nms_World_removeBlockTileEntity", "removeBlockTileEntity", "nms_TileEntityChest_getStackInSlot", "nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange",
        "notifyWireNeighborsOfNeighborChange", "nms_World_func_627_a", "func_627_a", "nms_BlockPortal_tryToCreatePortal", "tryToCreatePortal", "ju_HashMap_containsValue", "containsValue", "ju_AbstractMap_containsValue", "nms_NoiseGenerator2_func_4157_a", "func_4157_a", "nms_NoiseGeneratorPerlin_func_805_a", "func_805_a", "nms_MapGenCaves_func_870_a", "func_870_a", "nms_MapGenCaves_releaseEntitySkin", "nms_MapGenCavesHell_func_4129_a", "func_4129_a", "nms_MapGenCavesHell_func_4128_a", "func_4128_a", "nms_NBTTagShort__init_1",
        "nms_WorldGenForest__init_", "nms_WorldGenTaiga2__init_", "nms_WorldGenTaiga1__init_", "nms_WorldGenDungeons_pickMobSpawner", "pickMobSpawner", "nms_TileEntityMobSpawner_setMobID", "setMobID", "nms_WorldGenDungeons_pickCheckLootItem", "pickCheckLootItem", "nms_TileEntityChest_setInventorySlotContents", "nms_NoiseGeneratorPerlin_func_801_a", "func_801_a", "ju_AbstractMap_isEmpty", "nms_Chunk_generateHeightMap", "generateHeightMap", "nms_EnumToolMaterial_getHarvestLevel", "getHarvestLevel", "nms_Chunk_canBlockSeeTheSky",
        "nms_TileEntityDispenser_canInteractWith", "canInteractWith", "nms_IInventory_canInteractWith", "nms_TileEntityFurnace_canInteractWith", "nms_NBTTagByte__init_1", "nms_WatchableObject_setWatching", "setWatching", "nms_World_newExplosion", "newExplosion", "nms_DataWatcher_func_25116_c", "func_25116_c", "nms_Entity_entityDropItem", "entityDropItem", "nms_EntityPigZombie_becomeAngryAt", "becomeAngryAt", "nms_EntityWolf_showHeartsOrSmokeFX", "showHeartsOrSmokeFX", "nms_EntityCreature_setPathToEntity", "setPathToEntity",
        "nms_ItemFood_getIsWolfsFavoriteMeat", "getIsWolfsFavoriteMeat", "nms_ItemFood_getHealAmount", "getHealAmount", "nms_EntityPlayer_updatePlayerActionState", "updatePlayerActionState", "nms_EntityLiving_isMovementBlocked", "isMovementBlocked", "nms_EntityLiving_moveEntityWithHeading", "moveEntityWithHeading", "nms_Entity_canBePushed", "canBePushed", "nms_Entity_applyEntityCollision", "applyEntityCollision", "nms_EntityLiving_jump", "jump", "nms_EntityLiving_updatePlayerActionState", "nms_EntityLiving_func_25025_V",
        "func_25025_V", "nms_EntityCreature_hasPath", "hasPath", "nms_EntityLiving_getCurrentTarget", "getCurrentTarget", "nms_EntitySquid_handleWaterMovement", "nms_EntityCreeper_func_21091_q", "func_21091_q", "nms_Entity_getDistanceSqToEntity", "getDistanceSqToEntity", "nms_World_isAABBInMaterial", "isAABBInMaterial", "nms_InventoryPlayer_writeToNBT", "nms_NBTTagCompound_setDouble", "setDouble", "nms_EntityAnimals_writeEntityToNBT", "nms_EntityWaterMob_writeEntityToNBT", "jnc_Charset_compareTo", "jl_String_lastIndexOf2",
        "nms_EntityBoat_getMountedYOffset", "nms_EntityMinecart_getStackInSlot", "ju_Arrays_fill7", "nms_InventoryPlayer_decrementAnimations", "decrementAnimations", "nms_EntityPlayer_func_451_h", "func_451_h", "nms_EntityFish_func_4042_a", "func_4042_a", "nms_Entity_onCollideWithPlayer", "onCollideWithPlayer", "nms_EntitySlime_getCanSpawnHere", "nms_EntityPigZombie_getCanSpawnHere", "nms_EntityGhast_getCanSpawnHere", "nms_EntityGhast_getMaxSpawnedInChunk", "nms_EntityAnimals_getCanSpawnHere", "nms_EntityWolf_getMaxSpawnedInChunk",
        "nms_EntityWaterMob_getCanSpawnHere", "ju_AbstractMap$KeySet$1_next", "ju_AbstractMap$KeySet$1_hasNext", "ju_AbstractMap$KeySet$1_remove", "nms_WorldGenBigTree_func_517_a", "nms_WorldGenForest_generate", "nms_WorldGenTaiga2_generate", "nms_WorldGenTaiga1_generate", "nms_Packet18ArmAnimation_writePacketData", "nms_Packet101_writePacketData", "nms_Packet3Chat_writePacketData", "nms_Packet9_writePacketData", "nms_EntitySpider_getMountedYOffset", "nms_EntityMinecart_getMountedYOffset", "nms_EntityPlayer_getYOffset",
        "ju_TreeMap_entrySet", "nms_EntityLiving_kill", "nms_EmptyChunk_func_21167_h", "nms_EntityAnimals_getTalkInterval", "nms_EntityWaterMob_getTalkInterval", "nms_EntityPig_getLivingSound", "nms_EntitySheep_getLivingSound", "nms_EntityCow_getLivingSound", "nms_EntityWolf_getLivingSound", "nms_EntityChicken_getLivingSound", "nms_EntityGhast_getLivingSound", "nms_EntitySquid_getLivingSound", "nms_EntityPigZombie_getLivingSound", "nms_EntityWolf_getEyeHeight", "nms_EntityWaterMob_canBreatheUnderwater", "nms_MovementInputFromOptions_updatePlayerMoveState",
        "nms_ItemCloth_func_21012_a", "nms_ItemLog_func_21012_a", "nms_ItemSlab_func_21012_a", "nms_BlockTorch_onBlockPlaced", "nms_BlockLadder_onBlockPlaced", "nms_BlockLever_onBlockPlaced", "nms_BlockButton_onBlockPlaced", "nms_BlockDispenser_onBlockPlacedBy", "nms_BlockStairs_onBlockPlacedBy", "nms_BlockFurnace_onBlockPlacedBy", "nms_BlockPumpkin_onBlockPlacedBy", "nms_BlockRedstoneRepeater_onBlockPlacedBy", "nms_BlockFlower_canPlaceBlockAt", "nms_BlockFire_canPlaceBlockAt", "nms_BlockStairs_canPlaceBlockAt",
        "nms_BlockChest_canPlaceBlockAt", "nms_BlockDoor_canPlaceBlockAt", "nms_BlockLadder_canPlaceBlockAt", "nms_BlockMinecartTrack_canPlaceBlockAt", "nms_BlockPressurePlate_canPlaceBlockAt", "nms_BlockCactus_canPlaceBlockAt", "nms_BlockFence_canPlaceBlockAt", "nms_BlockPumpkin_canPlaceBlockAt", "nms_BlockCake_canPlaceBlockAt", "nms_BlockRedstoneRepeater_canPlaceBlockAt", "nms_BlockLockedChest_canPlaceBlockAt", "nms_EntityPlayerSP_displayGUIEditSign", "nms_BlockDispenser_getBlockEntity", "nms_BlockNote_getBlockEntity",
        "nms_BlockMobSpawner_getBlockEntity", "nms_BlockChest_getBlockEntity", "nms_BlockFurnace_getBlockEntity", "nms_BlockSign_getBlockEntity", "nlei_RamdiskFilesystemImpl_eaglerMove", "nleit_IndexedDBFilesystem_eaglerMove", "nms_EmptyChunk_generateHeightMap", "nms_EmptyChunk_canBlockSeeTheSky", "nms_InventoryLargeChest_canInteractWith", "nms_InventoryBasic_canInteractWith", "jl_Byte_equals", "nms_EntityMinecart_onInventoryChanged", "nms_EntityMinecart_getInventoryStackLimit", "nms_EntityMinecart_setInventorySlotContents",
        "nms_EntityMinecart_decrStackSize", "nms_EntityMinecart_canInteractWith", "nms_EntityMinecart_getInvName", "nms_EntityPlayer_isMovementBlocked", "nms_EntityPlayer_moveEntityWithHeading", "nms_EntityFlying_moveEntityWithHeading", "nms_EntitySquid_moveEntityWithHeading", "nms_EntityLiving_canBePushed", "nms_EntityMinecart_canBePushed", "nms_EntityBoat_canBePushed", "nms_EntityMinecart_applyEntityCollision", "nms_EntityPlayer_jump", "nms_EntityPlayerSP_updatePlayerActionState", "nms_EntityCreature_updatePlayerActionState",
        "nms_EntityWolf_updatePlayerActionState", "nms_EntitySlime_updatePlayerActionState", "nms_EntityGhast_updatePlayerActionState", "nms_EntitySquid_updatePlayerActionState", "nms_EntityMinecart_getCollisionBox", "nms_EntityMinecart_canTriggerWalking", "nms_EntityBoat_getCollisionBox", "nms_EntityBoat_canTriggerWalking", "jur_RandomGenerator_nextBoolean", "nextBoolean", "nms_EntitySlime_onCollideWithPlayer", "nms_EntityArrow_onCollideWithPlayer", "nms_EntitySnowball_onCollideWithPlayer", "nms_EntityEgg_onCollideWithPlayer",
        "nms_EntityItem_onCollideWithPlayer", "nms_TileEntitySign_writeToNBT", "nms_TileEntityFurnace_writeToNBT", "nms_TileEntityNote_writeToNBT", "nms_TileEntityMobSpawner_writeToNBT", "nms_TileEntityChest_writeToNBT", "nms_TileEntityDispenser_writeToNBT", "nms_TileEntityChest_decrStackSize", "nms_TileEntityChest_getInventoryStackLimit", "nms_TileEntityFurnace_updateEntity", "nms_TileEntityMobSpawner_updateEntity", "nms_TileEntityChest_canInteractWith", "nms_TileEntityChest_getInvName", "nms_Chunk_func_997_a",
        "func_997_a", "nms_IWorldAccess_doNothingWithTileEntity", "doNothingWithTileEntity", "nms_World_isMaterialInBB", "isMaterialInBB", "ju_TreeMap_sequencedEntrySet", "sequencedEntrySet", "nms_Packet13PlayerLookMove__init_0", "nms_Packet11PlayerPosition__init_0", "nms_Packet10Flying__init_0", "nms_Packet12PlayerLook__init_0", "nms_BlockButton_getOrientation", "getOrientation", "nms_BlockChest_isThereANeighborChest", "isThereANeighborChest", "nms_GuiEditSign__init_", "nms_WorldGenBigTree_func_526_b", "func_526_b",
        "nms_WorldGenBigTree_func_523_a", "func_523_a", "jl_RuntimeException__init_5", "nms_Chunk_removeChunkBlockTileEntity", "removeChunkBlockTileEntity", "nms_MetadataChunkBlock__init_", "nms_MetadataChunkBlock_func_866_a", "func_866_a", "nms_NoiseGenerator2_wrap", "nms_NoiseGenerator2_func_4156_a", "func_4156_a", "nms_NoiseGeneratorPerlin_func_4110_a", "func_4110_a", "nms_NoiseGeneratorPerlin_grad", "grad", "nms_NoiseGeneratorPerlin_lerp", "lerp", "nms_NoiseGeneratorPerlin_generateNoise", "generateNoise",
        "nms_Explosion_doExplosionA", "doExplosionA", "nms_EntityPlayer_addMovementStat", "addMovementStat", "nms_Entity_moveFlying", "moveFlying", "nms_Entity_isOffsetPositionInLiquid", "isOffsetPositionInLiquid", "nms_EntityLiving_isOnLadder", "isOnLadder", "nms_MathHelper_abs_max", "abs_max", "nms_Entity_addVelocity", "addVelocity", "nms_EntityCreature_func_25028_d_", "func_25028_d_", "nms_EntityCreature_findPlayerToAttack", "findPlayerToAttack", "nms_World_getPathToEntity", "getPathToEntity", "nms_World_getEntityPathToXYZ",
        "getEntityPathToXYZ", "nms_PathEntity_getPosition", "nms_Vec3D_squareDistanceTo0", "nms_PathEntity_incrementPathIndex", "incrementPathIndex", "nms_PathEntity_isFinished", "isFinished", "nms_EntityLiving_faceEntity", "faceEntity", "nms_EntityLiving_canEntityBeSeen", "canEntityBeSeen", "nms_EntityCreature_attackEntity", "attackEntity", "nms_World_getPlayerEntityByName", "getPlayerEntityByName", "nms_EntityWolf_getPathOrWalkableBlock", "getPathOrWalkableBlock", "nms_World_getClosestPlayerToEntity", "getClosestPlayerToEntity",
        "nms_EntityGhast_isCourseTraversable", "isCourseTraversable", "nms_EntityFireball__init_", "jur_RandomGenerator_nextInt", "jl_String_compareToIgnoreCase", "compareToIgnoreCase", "nms_InventoryPlayer_addItemStackToInventory", "addItemStackToInventory", "nms_EntityPlayer_onItemPickup", "onItemPickup", "nms_TileEntityFurnace_canSmelt", "canSmelt", "nms_TileEntityFurnace_smeltItem", "smeltItem", "nms_BlockFurnace_updateFurnaceBlockState", "updateFurnaceBlockState", "nms_TileEntityMobSpawner_anyPlayerInRange",
        "anyPlayerInRange", "nms_TileEntityMobSpawner_updateDelay", "updateDelay", "nms_EntityLiving_spawnExplosionParticle", "spawnExplosionParticle", "nms_GuiEditSign__clinit_", "jl_Exception__init_3", "jl_Math_round0", "nms_EntityLiving_canDespawn", "canDespawn", "nms_EntityLiving_func_25026_x", "func_25026_x", "nms_FurnaceRecipes_getSmeltingResult", "getSmeltingResult", "nms_ItemStack_isItemEqual", "isItemEqual", "jl_Math_signum0", "jl_Math_sign", "nms_EntityAnimals_getBlockPathWeight", "nms_EntityFireball_entityInit",
        "nms_EmptyChunk_func_997_a", "nms_RenderGlobal_doNothingWithTileEntity", "nms_EmptyChunk_setChunkBlockTileEntity", "nms_EmptyChunk_removeChunkBlockTileEntity", "nms_EntityPlayerSP_moveEntity", "nms_EntityPlayer_fall", "nms_EntityLiving_fall", "nms_EntityChicken_fall", "nms_EntityFlying_fall", "nms_EntitySpider_canTriggerWalking", "nms_EntityWolf_canTriggerWalking", "nms_EntityPlayerSP_setInPortal", "nms_EntitySpider_isOnLadder", "nms_EntityFlying_isOnLadder", "nms_EntityWolf_func_25028_d_", "nms_EntitySpider_findPlayerToAttack",
        "nms_EntityWolf_findPlayerToAttack", "nms_EntityMobs_findPlayerToAttack", "nms_EntityPigZombie_findPlayerToAttack", "nms_EntityZombieSimple_getBlockPathWeight", "nms_EntitySpider_attackEntity", "nms_EntityWolf_attackEntity", "nms_EntityCreeper_attackEntity", "nms_EntitySkeleton_attackEntity", "nms_EntityMobs_attackEntity", "nms_EntityPlayerSP_onItemPickup", "nms_EntityWolf_canDespawn", "nms_EntityWolf_func_25026_x", "nms_EntityFireball_attackEntityFrom", "nms_EntityFireball_canBeCollidedWith", "nms_EntityFireball_getCollisionBorderSize",
        "nms_EntityFireball_isInRangeToRenderDist", "nms_EntityFireball_getShadowSize", "nms_EntityFireball_onUpdate", "nms_EntityFireball_writeEntityToNBT", "nms_GuiEditSign_drawScreen", "nms_GuiEditSign_updateScreen", "nms_GuiEditSign_onGuiClosed", "nms_GuiEditSign_initGui", "nms_GuiEditSign_keyTyped", "nms_GuiEditSign_actionPerformed", "ju_TreeMap$EntrySet__init_", "nms_Block_getExplosionResistance", "getExplosionResistance", "nms_Entity_getDistance", "getDistance", "nms_World_func_675_a", "func_675_a", "nms_Pathfinder_createEntityPathTo1",
        "nms_EntityLiving_updateRotation", "updateRotation", "nms_EntityCreeper_func_21090_e", "func_21090_e", "nms_InventoryPlayer_getFirstEmptyStack", "getFirstEmptyStack", "nms_InventoryPlayer_storePartialItemStack", "storePartialItemStack", "nms_World_doChunksNearChunkExist", "doChunksNearChunkExist", "nms_World_canExistingBlockSeeTheSky", "canExistingBlockSeeTheSky", "nms_World_setLightValue", "nms_World_neighborLightPropagationChanged", "neighborLightPropagationChanged", "nms_Entity_getLookVec", "getLookVec",
        "nmc_Minecraft_func_20001_q", "func_20001_q", "nms_Packet130__init_0", "nms_InventoryPlayer_storeItemStack", "storeItemStack", "nms_ItemStack_func_21180_d", "func_21180_d", "ju_TreeMap$EntrySet_iterator", "nms_EntityLiving_getLookVec", "nms_BlockStairs_getExplosionResistance", "ju_TreeMap$EntrySet_descendingIterator", "descendingIterator", "ju_TreeMap$EntrySet_ascendingIterator", "ascendingIterator", "nms_Chunk_setLightValue", "ju_TreeMap_pathToFirst", "pathToFirst", "ju_TreeMap_pathToNext", "pathToNext",
        "ju_TreeMap_pathToExactOrNext", "pathToExactOrNext", "ju_TreeMap$EntryIterator__init_", "ju_TreeMap$EntryIterator_checkFinished", "checkFinished", "nms_Packet130_writePacketData", "ju_TreeMap$EntryIterator_next", "ju_TreeMap$EntryIterator_hasNext", "ju_TreeMap$EntryIterator_remove", "nms_EmptyChunk_setLightValue", "ju_TreeMap$EntryIterator_next0", "ju_TreeMap_height", "height", "ju_TreeMap$TreeNode_down", "down", "ju_AbstractMap$SimpleEntry_hashCode", "ju_AbstractMap$SimpleEntry_equals", "ju_AbstractMap$SimpleEntry_toString"
        ], "ABCD", "jur_AbstractCharClass$LazyBlank", "ktCFmvEtvD" , "ABCE", "jur_AbstractCharClass$LazyCntrl", "ltCFnvEtvD" , "FGHI", "nms_BlockCake", "mpBF5zCp2Bl0ClxBovFm7C6jG12FgkG32Fv1GtsGwzHtvHp9H7zH29Hi0HkiIliIn5InsIzrJvrJx1JwmJ70KysK21K0sK1hL8qJ" , "JKLM", "cjj_Inflate", "hiDFiiDjiD1oD4BpyDqyDj7Dk7D94EmyD20F30F40F50F60F30F70F80F" , "ANO", "ji_BufferedInputStream", "yjDF1jD6hB28D38D" , "FPQRST", "nleib_EaglerArrayByteBuffer", "6fF5xCwO6xC5D7xCzU8xC1U9xCsW+xC7cxyEyO0yEqW2yEn0B3yEr0BgtFn0BnuFp0BouFzUpuF04EquFyO1uFyO2uFo8EqvF5DzvFhkF71G04E81GwyG91G4mEogHp0BpgH5DtwHyOz2I5D"
        , "FGHU", "nms_StatCollector", "73B83Bo4Bp4Bi8B4By7IF" , "FGHV", "nms_StatBasic", "93BF+3B/3BvoDwoD" , "AWXYZ", "jnci_BufferedEncoder$Controller", "83GFgnH4mHhnH6mHinH/mHjnHymHknHymHnnH/mH" , "FGHa", "nms_TileEntityRenderer", "71F81Fo2Fp2Fi+F4B8/FF8oG9oG9qG+qGk4Gl4GunHvnHr9JmmJ" , "Abc", "jl_Integer", "nBoB9B4B3C4CoKpK0SF1S2S+lB/lB4vB/lBj2Bk2B74B84BvkCO0pCOruDHlvDmvDj5DH05D15D25D35D45D55Dw7Dx7Dp8Dq8DzuEJjyEO7yEv6Ct4EgzB/hFv6C" , "JKde", "cjj_Floor0$InfoFloor0", "45HF" , "FGHf", "nms_IChunkProvider",
        "nlIolI2lI3lIymIzmI0mI1mIlsIjkIgtJhtJm6JsgJ" , "gBhBiB", "oj_JSONException", "8DF" , "AWXYjB", "jnci_UTF16Encoder", "64EF8gH+3GonHpnHqnHrnH" , "FGHkB", "nms_EntityList$_clinit_$lambda$_7_7", "lwJF83JhtI" , "FGHlB", "nms_EntityList$_clinit_$lambda$_7_6", "kwJFt4JhtI" , "FGHmB", "nms_EntityList$_clinit_$lambda$_7_9", "nwJF+3JhtI" , "AnBoB", "jt_DateFormatElement$Year", "w9DF9yE2HozEHyzEJ" , "FGHpB", "nms_EntityList$_clinit_$lambda$_7_8", "mwJF/3JhtI" , "ABCqB", "jur_AbstractCharClass$LazyAlpha", "/sCFhvEtvD"
        , "FGHrB", "nms_EntityList$_clinit_$lambda$_7_3", "hwJFr4JhtI" , "FGHsB", "nms_EntityList$_clinit_$lambda$_7_2", "gwJFj4JhtI" , "FGHtB", "nms_GuiCrafting", "6lJFz4JwmF14J4mF34J34D" , "FGHuB", "nms_EntityList$_clinit_$lambda$_7_5", "jwJFn4JhtI" , "FGHvB", "nms_EntityList$_clinit_$lambda$_7_4", "iwJFh4JhtI" , "FPQRwB", "nlei_IAudioHandle", "/hIgiIzqI95C0qI1qI" , "FPQxB", "nle_EaglercraftVersion", "hX4Bv6IF" , "FGHyB", "nms_NibbleArray", "/vIFzgKF0gKopGmpKnpKopKppK" , "ABCzB", "jur_AbstractCharClass$LazyNonWord",
        "4tCF6vEtvD" , "FGH0B", "nms_EntityList$_clinit_$lambda$_7_1", "/vJFv4JhtI" , "FGH1B", "nms_EntityList$_clinit_$lambda$_7_0", "9vJFl4JhtI" , "FPQR2B", "nlei_PlatformInput$12$1", "9/CFjoDmlB1qDkvB" , "ABC3B", "jur_CISequenceSet", "pnCFzlGkB9wH+7C" , "gB4BB5B6B", "olug_GLU", "h8IF" , "Ab7B", "jl_LinkageError", "kCFz5IF" , "Ab8B", "jl_CharSequence", "h2Bfi2BhBz7B07B" , "FGH9B", "nms_Packet255KickDisconnect", "8xIw6HxzIy6H41Ij3Hz+IFpsKFg0K76H" , "FGH+B", "nms_EntityZombieSimple", "9/JF4nLqhK" , "FGH/B",
        "nms_CraftingInventoryChestCB", "ktJF/1KmtK" , "gBgChCYiCjC", "otcit_DateTimeZoneProvider$1", "9nCFrxEgzB3+EgzB" , "FGHkC", "nms_MCHashTable", "3uIF+uJ/uJgxJhxJixJjxJr/Js/Jt/Ju/Jv/J9CpiK24E3iK4iKwoKxoK57KtoG" , "FGHlC", "nms_BlockDispenser", "6nBFm0ClxBilHr+Gq9Hi0H72Il2Dz4InsIxnJynJ2qJ/uHxyK2nJj1K0sKk8Kl8KlhLx7K5hLn8K" , "FGHmC", "nms_BlockReed", "+oBF4yCp2BqmGo6FtzHtvHq3Il2Dl5InsIxrJyrJt1JwmJt+JvrJztK8qJ01K0sK" , "ABCnC", "jur_AbstractCharClass$LazyCategory", "9tCFguCF/vEtvD" , "FGHoC", "nms_StepSoundStone",
        "+mBFq4I6rI" , "FGHpC", "nms_EntityFish", "l8JFxhKF3jKisF/3K8/Ih4KtuHv4Ky8E54K0qKm5K06Ju5Kn7Jp7Kq7Kr7KF1/K2/K" , "FGHqC", "nms_EntityGhast", "rgKF72KoqKk3KuvJp3KwvJx3KyvJ7/KjtI8/KntI4gLi5J5iLu+KgmLhmL" , "FGHrC", "nms_EntityWolf", "2oI3oI4oI5oI6oI7oI8oI9oI+oI/oIgpIhpInkJokJpkJqkJtkJukJwpJxpJlgKFhkK96FkkKisFlnKqpJquKruKsuKtuKuuKvuK42KoqKh3KuvJn3KwvJu3KyvJ43KurH93KkgIn4KnvKt4Ky8E/4K0qKo5K/6Jl+Km+K+/KntI2gLi5J7gLqgI3iLu+K8lL9lLvnLm8GznLnlL1nLplL6nL5lL/nL6mLgoL8mL" , "ABCsC", "jur_BehindFSet", "1+BFnkGkB9iHg9G"
        , "FGHtC", "nms_BlockFluids", "owBF0zCp2Bj0ClxB9lGo6FouGpuGl1G6qG/kHp+GnlHt+GipHjpHmuHnuHovHpvH8yHtvHt3I8kIw3IpmIw4InsI4mJ5mJ+mJ/uHxqJyqJstJttJ+0JwmJ41J9oJgzK2nJm0KysK+0K0sK" , "FGHuC", "nms_WorldInfo", "3oH4oHz0HF00H10H20H30Hz7H07H17HF/7Hg8H2kI3kI8lI9lI4mI5mI6mI7mI8mI9mI/mIgnIjnIknI8qI9qI5/I6/Ii6Jj6J58J68J78J88J98J+8Jm+JnqJ4hKF" , "FGHvC", "nms_ItemFishingRod", "y3BFo0Gp7Fh4IxpI2xK9nK" , "FGHwC", "nms_WorldGenTaiga1", "m9KFmgLw9J" , "FGHxC", "nms_WorldGenTaiga2", "l9KFlgLw9J" , "FGHyC", "nms_ItemSlab",
        "vpBFnyEohEomKy+JghLt7K" , "ABCzC", "jur_LowHighSurrogateRangeSet", "5kCFmuDniCn0GkBpxHg9G" , "AN0C", "ji_ByteArrayOutputStream", "+pFFiqF+tEwrFFqtFkpDoyFg2BvmGkpD" , "FGH1C", "nms_BlockStairs", "poBF1yCp2B8yClxBgvFm7CyjG12F7jG32FhmGo6Fm1G6qGziHy8GglHp+GjlHr+GrlHt+GhzHtvHk9H7zHt9Hi0H02I67G/2Il2Du3I8kIz3IpmIs4I8rI10JxlJh1JwmJ51J9oJxlKj9JlmK99J3yKrpKlzK2nJ+zKosKx0KysKo1K0sKmhLx7KshL8qJwpLwoL" , "FGH2C", "nms_EntityMinecart", "74H84H94H+4Hi8H4Bk8JF6/JF0jKisFjkKtuHxnKqpJ6uKr8Hq2K67E12KurH53KkgIi4K8rFu4Ky8Ez4K0qKk5K06Jq5Kn7Jy5Kr7J05KjuGv/KghIsgL+5KmiLvsJniLxsJoiLkhIpiLz/HqiL39KriLtgKxiL0+KziL2+K7iL/jI8iLm8G"
        , "AWXY3C", "jnci_AsciiEncoder", "44EF6gH+3G" , "AB4C", "ju_Currency", "spCjwByrCjwB2sC3sC6uCF4iGO" , "FPQR5C", "nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_1", "+zBFm6B+yBj9Bz5B" , "FPQR6C", "nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_0", "9zBFl6B+yBi9Bz5B" , "AB7C8C", "juf_Supplier", "noF5D" , "Ab9C", "jl_ClassCastException", "u5IF" , "FPQRgC+C", "nleit_TeaVMDataURLManager", "vMwMxTyT7f8f9fyT3zB4zBrhDshDo6IF" , "ABC/C", "jur_PosPlusGroupQuantifierSet", "ylCFxjHg9G" , "ABgD",
        "ju_Calendar", "iwBjwBm2B4BngCFqgCrgCqjCFrjCsjCtjCujCvjCwjCxjCyjCzjC0jCyoCzoC3wC5DuiDzZ94DzxD+4DioCr7Ds7Dt7Du7Dg+Eh+Es+E7oCv+EipCkiFliFs0F4Hu0F44B9rGjwB" , "AbhD", "jl_StringBuffer", "gnCFjnCrBmnCrBsqCOtqCfwqChB4sD9ChvDrB5vD9C39DrBiiFrBjiFrBvtFg2B4vF9Ch8F9CijG9CyoG9CsjIrBzyJrBo5JrB1wK9Cl6K9C" , "AWiD", "jn_Buffer", "j0Bi0Bk0B7cm0Bn0Bo0Bp0Bq0Br0B3/BFpwDn0BqwDqWphF4mEk8Fj8Fo8F1U" , "FPQjD", "nle_LocalStorageManager", "0E1EmG4BimFjmF65IF" , "ABCkD", "jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart$1",
        "n4EF+sF2a" , "ABClD", "jur_AbstractCharClass$PredefinedCharacterClasses", "lkCmkCypCF0rC4B" , "ABCmD", "jur_AbstractCharClass$LazyDigit", "7sCF9uEtvD" , "ABCnD", "jur_AbstractCharClass$LazyJavaLetter", "xtCFzvEtvD" , "gBgCoDYpD", "otji_JSWrapper$_clinit_$lambda$_30_0", "xJFlSmS5e6e" , "FPQRqD", "nlei_FileChooserResult", "6tHF" , "gBgCoDYrD", "otji_JSWrapper$_clinit_$lambda$_30_1", "0JFnSmS7e6e" , "FGHsD", "nms_RenderGhast", "/qEFu+Ho4HnoIooI" , "FPQRgCtD", "nleit_TeaVMUtils", "2L3L0X1X+a/amdnd+e/e4jB5jB5zB6zB+6B/6B56C66Ck7C66Ch+Ci+C5hD6hDsnDtnDx5D66CgxGhxG+rI/rIl6IF"
        , "FGHuD", "nms_Packet16BlockItemSwitch", "sxIw6HhzIy6Hh1Ij3Hw9IF8uKFo2K76H" , "FPQRvD", "nlei_PlatformRuntime$DumbSleepHandler", "luBFvyCqF" , "ABCwD", "jur_AheadFSet", "0+BFmkGkB8iHg9G" , "FGHxD", "nms_Packet103", "jyIw6H4zIy6Ho1Ij3Hu+IF" , "FGHyD", "nms_GameSettings", "/0DF93D+3D+/D//DggE4B48E58E//EggF54G64Gh5Gi5G6nH7nH+nH/nHgoHhoHioHjoHguHhuH87IF" , "FGHzD", "nms_Packet104", "xyIw6Hm0Iy6Ht1Ij3Hv+IF" , "FGH0D", "nms_Packet105", "0xIw6HpzIy6H31Ij3Hw+IF" , "FPQRS1D", "nleib_EaglerArrayBufferAllocator$WrongBufferClassType",
        "mzBF" , "FGH2D", "nms_Packet106", "oxIw6H9yIy6H40Ij3Hx+IF36JF2kK76H" , "FPQR3D", "nlei_PlatformOpenGL", "5M6M7M8M9M+MnNoN1N2N3N4NsPtPuPvPwPxPyPzP0P1P2P3P4P5P6P7P8P9P+P/PgQhQlQmQ1T4B+T/TgUhUiUjUkUlUmUnUoUpUqUrUsUtUuUvUwUxU2U3U6U7U8U9U+U/UgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzV0V1V2V3V4V5V6V7V8V9VgWhWoWpUwWxWyW7UzW0W1W2W3W4W5W6W8W9W+W/Wrcsctcucyczc8c7U9c+c/cgdhdidkmBlmBqtBrtBx6By6BvpDwpD7pD8pD/mEgnEvnEwnExnEynEznE0nEiqEjqEk3El3Ep3Eq3Er3Es3Ev3Ew3Ex3Ey3EqmFrmFvoFwoFkpFlpFhrFirFh9Fi9F1/F7U9/F+/Fp6IF" ,
        "FPQRS4D", "nleib_ByteBuffer", "vOwOzO5DyUzU0U1UrWsW6c7cnrBF5+Dn0B6+Dp0BxmEyOjoEqWkqEn0BlqEr0Bw4EzUz4E04E34EyOi8EyOn8Eo8EthF5DgkFhkFwoGp0BxoG5DuyG04EvyGwyGxyG4mEypHyOpjI5D" , "FGH5D", "nms_NBTTagShort", "9RFsxCoJ7tD2iC1xEOymG2rFj9KF" , "ABC6D", "jur_PositiveLookAhead", "p/BFskGkBijHg9GvxHvsH" , "AB7D", "ju_TreeMap", "wjBFkuBF9gHgrC+hH5DsnHtnH73IyOspJtpJ49JyN59J69J79JpoCvtKwtKxtKytKugLo9E4jL5jL2pL3pL4pL5pL6pL7pLlqLmqL" , "FGH8D", "nms_MaterialLogic", "y2BFt0Cs2B88HruG+8HrvH" , "ABC9D", "jur_NegativeLookAhead",
        "q/BFtkGkBjjHg9GwxHvsH" , "FGH+D", "nms_ItemSnowball", "u3BFzxK9nK" , "FGH/D", "nms_Packet100", "kyIw6H5zIy6Hk1Ij3Hr+IF" , "gBgCoDgEhE", "otjt_DataView", "orBprB" , "FGHiE", "nms_Packet101", "rxIw6HgzIy6H01Ij3Hs+IF35KFogL76H" , "FGHjE", "nms_Packet102", "nxIw6H8yIy6H71Ij3Ht+IFtoKFuyK76H" , "FGHkE", "nms_RenderSorter", "w1FF01F11F7iGgzB" , "AWlE", "jn_ReadOnlyBufferException", "l8FF" , "FGHmE", "nms_IInventory", "irIkhItsJghIusJvsJwsJxsJysJz/H3sJr8HsgKtgK49K39K" , "AbnEoE", "jlr_Array", "rCsClxCmxCoxCpxC35IF"
        , "JKLpE", "cjj_InfCodes", "llEFupE4B7gFgyCpqG10FuqGoQ95G+5G" , "FGHqE", "nms_ModelWolf", "zqEFx+Hs4H0+H56EjpIjyF" , "FGHrE", "nms_TileEntityNote", "iiIjiIwiIxiI9+IFrnKinIojLl6J" , "FGHsE", "nms_NetHandler", "voEFk3Hl3HihJjhJkhJlhJmhJnhJohJphJqhJrhJshJthJuhJvhJwhJxhJyhJzhJ0hJ1hJ2hJ3hJ4hJ5hJ6hJ7hJ8hJ9hJ+hJ/hJgiJhiJiiJjiJkiJliJmiJniJoiJpiJqiJriJsiJtiJuiJviJwiJxiJyiJziJ0iJ1iJ2iJ3iJ4iJ5iJ6iJ7iJ8iJ9iJ+iJ/iJgjJhjJijJjjJkjJljJmjJnjJojJpjJqjJrjJsjJtjJujJvjJwjJxjJyjJzjJ0jJ1jJ2jJ3jJ4jJ5jJ6jJ7jJ8jJ9jJt6Ju6J" ,
        "FGHtE", "nms_ItemCloth", "rpBFlyEohEmmKy+J+gLt7K" , "AbuE", "jl_NoSuchFieldError", "PFs5IF" , "ABCvE", "jur_AbstractCharClass$LazyJavaDigit", "stCFuvEtvD" , "FPQRgCwE", "nleit_TeaVMWebSocketFrame", "i6HFl7Hm7Hk4I1jIl4IoiE" , "FGHxE", "nms_BlockFurnace", "voBFi0ClxBllHr+Gw9Hi0H13IpmIyyK2nJs1K0sKq8Kr8KnhLx7K9hLn8KumLvmL" , "FGHyE", "nms_EntityNoteFX", "hsJFzvJFo3Jr2Fy3Jy8E" , "FPQRgCzE", "nleit_DebugConsoleWindow$LogMessage", "/oFF" , "FPQR0E", "nlei_PlatformFilesystem$FilesystemDatabaseLockedException",
        "huBF" , "FGH1E", "nms_PlayerControllerSP", "qoHFyvHp9CzvHv2D0vHyjE1vH4jE2vH6jE3vHq7E4vH83F5vHo4F+zH/zH" , "FGH2E", "nms_StatCrafting", "q4BFxoDyoD" , "F3EA4E5E", "npja_Color", "j2Ek2EujF4B8oFFkrFFksFlsF5nK6nK7nKzyF7uKF" , "FGH6E", "nms_ModelBiped", "hIF7QFirEF46E56EiyFjyF" , "FPQ7E8E", "nleo_SoftGLVertexArray", "ljBFmjBnjBojBpjBqjBrjBmmBnmBy/Fz/F" , "ABC9E", "jur_FSet", "3+BFgiC4BriCsiCkkGkB6iHg9GqxHvsH" , "gBgCoDY+E", "otji_JS", "WXYZ1B2BlDmDrDXyDzD4D5D6D7DjEkEwExE2EXwH7D3H4H3I4IhN7D4O5O2XX3X7DrgBXsgB7DvgB7DwgB7D3gB7DgiBhiBptB7D4nCX25C35C+xD/xDolEX+jFXz0FXx5IF"
        , "ABC/E", "jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart$1", "o4EF/sF2a" , "AWXYgF", "jnci_UTF16Charset", "7sBFvtDx6C0wE8oD" , "JKdhF", "cjj_Mapping0", "5+GFx/G4BsgHk3GtgHo3GtyHutHyyHw9G" , "gBgChCYiFjF", "otciu_UnicodeHelper", "ljCmjC/uCgvChvCivC0wC1wC9wC+wC27IF" , "FGHkF", "nms_BlockLog", "2nBF8uFm7Cr2ItiIzyKrpKo0KysKh1K0sK51K2sK" , "AblF", "jl_Object$monitorEnterWait$lambda$_6_0", "+4BFutDqF" , "ABmF", "ju_TreeMap$EntryIterator", "8pLF9pL+pLgqLzKhqL1KiqLpoCkqLzK" , "FPQRnF", "nlei_PlatformRuntime$7",
        "xkBFqyEwkEsyEykE" , "FPQ7EoF", "nleo_StreamBuffer", "8pE9pEotE4BwtEF3tE4tE13E23E" , "FPQRpF", "nlei_PlatformRuntime$8", "qT4B" , "FPQRqF", "nlei_GLObjectMap", "0bFhnE5D3rEqpEtsEgyCyhFs5E" , "ABCrF", "jur_AbstractCharClass$LazyPrint", "jtCFlvEtvD" , "ABCsF", "jur_AbstractCharClass$LazyJavaSpaceChar", "ztCF1vEtvD" , "ABCtF", "jur_PositiveLookBehind", "r/BFukGkBkjHg9GxxHvsH" , "ABuF", "ju_Comparator$NaturalOrder", "5T6TmgB4BzrBFsyCgzB" , "FPQRvF", "nlei_PlatformInput$iterateKeyboardLayout$lambda$_6_0",
        "tvBF41BlGs7B8I" , "AWXwF", "jnc_CharsetEncoder", "9oDz6C+oD16C/oDgpDnpDp9BoxDp9BvpEFhsEF/sEgtEi3E/zE5wFywF4nG3nG6nG7nG8nGviB+nG/nG/3Gx3G" , "FGHxF", "nms_RenderChicken", "2qEFjiHltGhqHiqHywH8pHl+Hk4HznI0nI" , "AWXYyF", "jnci_AsciiCharset", "5sBFxtDx6CywE8oD" , "FGHzF", "nms_ItemRecord", "43BFjyK/nK" , "FGH0F", "nms_BlockObsidian", "loBFu0KysKm1K0sK" , "FPQ1F2F", "nlep_EaglerProfile$UserSkin", "toIuoIzoI0oI1oIx0D" , "Ab3F", "jl_ArrayStoreException", "yCF" , "FGH4F", "nms_ItemBed", "23BFiyK/nK" , "AN5F",
        "ji_DataInputStream", "qGFx1CiJy1CmJn+Co+Cp+Cq+CytD84CztD+4C0tDg5C1tDi5C2tDk5C3tDm5C6xD7xDiyDm5Cg5Dq+CrkEskE7gJ8gJ" , "FGH6F", "nms_RenderSlime", "8qEFr+Ho4Hh/Hy4HhoIioI8pI9pI" , "ABC7F", "jur_MatchResultImpl", "qkFFrkFskFjpFviB8xF9xF+xF95C/xFyyDw8FvwBjpG6xFnpGopGppGqpGrpG95CspGyyDzuGviB0uG6hC1uG2uGn4Go4G78G88G98G+8Gh9Gi9GxrHyrHzrH0rH1rH2rH3rH4rH5rH6rHgsHhsHwsHxsHysHzsH2sH3sH6sH7sHl5Hm5HwqJisI" , "gBgChCYiC8F", "otcit_DateTimeZone", "ynCznC1nC2nCjoCkoCloCmoC0qCFqmErmE" , "FGH9F", "nms_BlockSnow", "5oBF+zCp2BslHt+GrzHtvHs2ItiIm3Il2Dj5InsIsrJtrJ7uJ8qJr1JwmJ20KysKx1K0sK"
        , "FGH+F", "nms_BlockBloodStone", "ipBF" , "FGH/F", "nms_ModelSkeleton", "4qEF" , "FGHgG", "nms_GuiButton", "xjFyjF1zF2zF3zF4zFi0FFm0FF8tG9tG+tG/tG" , "FPQRhG", "nlei_PlatformRuntime$1", "6OF2Z0TmkB/fq/C/f" , "FPQRiG", "nlei_PlatformRuntime$2", "xMFzT0T+f/fm/C/f" , "ABCjG", "jur_AbstractCharClass$LazyJavaJavaIdentifierPart$1", "h4EF4sF2a" , "FPQRkG", "nlei_PlatformRuntime$5", "06BFryEwkEtyEykE" , "FPQRlG", "nlei_PlatformRuntime$6", "qkBFsuB0Tx1B/f9gD/f" , "FPQRmG", "nlei_PlatformApplication", "9I+I/KgL5R4B6R+IuXvX74E84E4lF+6E5lFg7E3rFvX/uG7pG1vGwuG7vG8vG9vG+vG/vGgwG3wG4wGyxGzxG0xG4wGwzGxzGz9Gg7Ez+G0+G1+G2+G3+G4+Gh6IF"
        , "ABCnG", "jur_AbstractCharClass$LazyGraph", "itCFkvEtvD" , "FGHoG", "nms_RenderHelper", "h1Ei1En1Eo1EijF4B18IF" , "FPQRgCpG", "nleit_TeaVMWebSocketClient$1", "o/GF5/G0ThgH/f" , "AWXqG", "jnc_Charset", "gtBhtBoxBFg0B9gBv0Bw0Bq6Br6Bq9Br9B/2Cp9Bw6Cx6C7oD8oDh5Kv6Cs/Kv6C" , "FGHrG", "nms_TileEntitySpecialRenderer", "zhG0hGoiGFm4G9oGhmJimJlmJmmJ" , "FPQRgCsG", "nleit_TeaVMFetchJS", "tMuMrrBsrBtrBurBn6IF" , "ABCtG", "jur_DecomposedCharSet", "ulCFtzCniCx0C6iCh8C67C9kGkBvjHg9GmsHnsH6xHvsH" , "AbuG", "jl_AbstractStringBuilder",
        "gCFhCrBiCrBjCO7CF8C9C+C9CthBrB2lBFxsBrBysBrB1vBF0zB9CqkCfxqChBr+CrB0+CrBv/C9ChjDukCsjDrB5kDo8C9kD8kDynD9CznDrB2oDrB3oD4oD7qDg2BuvDrBj+D9CilE9CqsErBptE9CtjFrBmnF9CnnF9C7oF9Cs/Ft/FvpGtyFtvGt/FksI07BvuJtE" , "AWXvG", "jnc_IllegalCharsetNameException", "s6BF" , "FPQRgCwG", "nleit_TeaVMWebSocketClient$4", "r/GF8/G0TkgH/f" , "FPQRgCxG", "nleit_TeaVMWebSocketClient$2", "p/GF6/G0TigH/f" , "FPQRgCyG", "nleit_TeaVMWebSocketClient$3", "q/GF7/G0TjgH/f9tH/f" , "ANzG", "ji_PrintStream", "nDoDuIFvKoDj3Ck3Cl3Cm3C6kDm3CjpDkpD59D69Dk5Em3Cl5EoDk7EoD"
        , "FGH0G", "nms_RenderBlocks", "zdFy2Fz2Fp6Fq6Fr6Fs6F0qGF/qGgrGusGvsGwsGxsGysGzsG0sG1sG2sG3sG4sG5sG6sG7sG+sG/sGgtGhtGo6Gp6Gq6Gr6Gs6Gt6Gu6Gv6Gw6Gx6Gy6Gz6G06G16G26G36G46G56G66G76G86G96G+6G/6Gg7Gh7Gi7Gj7Gk7Gl7Gm7Gn7G8oH9oH+oH/oHgpHhpHkpHlpH54H64H" , "FGH1G", "nms_ItemHoe", "i3BFg4IxpI5xK/nK" , "ABC2G", "jur_NegativeLookBehind", "s/BFvkGkBljHg9GyxHvsH" , "FGH3G", "nms_Packet32EntityLook", "4yIw6Ht0Iy6H+9IF" , "FGH4G", "nms_PacketCounter", "z6H06H16HFv7HF" , "FPQRgC5G", "nleit_TeaVMClientConfigAdapterHooks$callCrashReportHook$lambda$_4_0",
        "vvDF7vFqF" , "FGH6G", "nms_EntitySmokeFX", "gsJFnsJFq3Jr2F03Jy8E" , "FPQ7E7G", "nleo_ImageData", "7hDFrhElWshEthEnnElWqnElWh7Ei7Ej7ElW1iFpI2iFrI3iFF4iF5iFyyFzyF" , "ABC8G", "jur_AbstractCharClass$LazyJavaJavaIdentifierPart", "vtCFxvEtvD" , "AB9G", "ju_UnknownFormatConversionException", "4+FF" , "AnB+G", "jt_DecimalFormat$PerMillField", "0+EFjwFHkwFJ" , "FGH/G", "nms_EntityFallingSand", "34H44HytJFgzJisF72J67Eg3JtuH7/JFhmKy8EynKqpJnxK0qKm2Km8G" , "AB7CgH", "juf_Consumer", "lf6e" , "ABhH", "ju_IllegalFormatCodePointException",
        "2gGF" , "FPQRiH", "nlei_PlatformAudio", "nO+KiZ4BjZkZnZoZpZqZ6jB7jBnuBouBpuB7jBizDjzD0pG1pG2pG3pG4pG5pG0rG1rG5uG6uGy6IF" , "FGHjH", "nms_Packet21PickupSpawn", "6yIw6Hv0Iy6H/0Ij3H09IF" , "ABCkH", "jur_UnifiedQuantifierSet", "7iCFqjHg9G0kHwyD" , "FPQRgClH", "nleit_TeaVMClientConfigAdapterHooks$callLocalStorageLoadHook$lambda$_2_0", "yvDF8vF5D" , "AbmH", "jl_Class", "CDcFjBkBwCxCzC0C1C2CzvB0vBkzBlzBr5Bs5BngDogDpgDqgDrgDsgDtgDugDstEttE6hF7hFuyFvyF1iGOgoGhoGu7HmxC1rJ2rJ" , "FGHnH", "nms_InventoryPlayer",
        "n4Do4DjjEkjEokEpkEx0Ey0ExmFymFq7HFq8Hr8Hy/Hz/H2/H/7BngIogI9gI+gIlhImhIkkJghImkJkhItlJniIulJvlJm2JvsJp2JxsJn/Jo/Jp/Jq/J/hKinIymKtgKi7Kj7Kn/Kl6Jx/Ky/KmmLnmL6oL7oL8oL9oLqpLrpL" , "gBgCoDgEoH", "otjt_Int16Array", "9jFjtB" , "ABpH", "ju_BitSet", "ykCF1pCF6iDqW7iD4HijDjjDkjDljD7jD8jD9jD+jD/jDgkDhkDikDjkDsN1kDqW2kD4H0lDl8C6vD5Dy7Dz7D07Dg2B48D58D68D78D" , "FGHqH", "nms_RenderEngine", "w0Dx0Dh1DFy1Dz1Dw2Dx2DogE4BpoEqoEk0El0Em0En0Eo0Ep0E36E6/Dp8Eq8E08E18E2yF3yFg7Fh7F68FpqE" , "FGHrH", "nms_ScaledResolution",
        "3zDF4zD5zD6zD7zD" , "FGHsH", "nms_BlockWorkbench", "soBFp0ClxBv9Hi0H" , "FGHtH", "nms_WorldGenMinable", "7qKF8qKw9J" , "AbuH", "jl_Float", "8xD9xDh/D4BunFggFm/Fn/Fo/Fp/FkhGlhGiiGjiG+sJpK3vJF" , "ABCvH", "jur_CharSet", "nlCFw0C6iC77C87C6kGkB1kHwyD1wH8rH4wH+7CixH+rH" , "FGHwH", "nms_GuiFurnace", "7lJF04JwmF24J4mF" , "gBgChCYiCxH", "otcit_DateTimeZoneBuilder$RuleBasedZone", "tuCquCzvCF8sD2nChtDmoCntDkoC+vD/vD" , "FGHyH", "nms_ModelCow", "xqEFz+H56E93IjyF" , "ABzH", "ju_Collections$5", "kgBF" , "FGH0H",
        "nms_TileEntityDispenser", "8+IFztJ0tJilKghIjlKxsJklKkhIllKz/HqnKinI0uKr8H29K39KrjLl6J" , "FGH1H", "nms_MapGenCavesHell", "tuJF0zKkqK/8Kg9Kh9Ki9K" , "AB2H", "ju_Collections$3", "igBF" , "AB3H", "ju_TemplateCollections$AbstractImmutableList", "yrBF" , "AB4H", "ju_Collections$4", "jgBF" , "AB5H", "ju_Collections$1", "ggBF" , "AB6H", "ju_Collections$2", "hgBF" , "FGH7H", "nms_Frustrum", "55EF65E5dwjGj2FhrGirG" , "FGH8H", "nms_WorldGenLightStone1", "2rKF3rKw9J" , "ABC9H", "jur_QuantifierSet", "3iC4iCjqCFozC6iCwsD2/B0xHvsH"
        , "ABC+H", "jur_AbstractCharClass$LazyCategoryScope", "+tCF/tCFgwEtvD" , "FGH/H", "nms_Packet34EntityTeleport", "+xIw6HzzIy6H21Ij3Hg+IF" , "FGHgI", "nms_WorldGenLightStone2", "4rKF5rKw9J" , "FPQRgChI", "nleit_TeaVMRuntimeDeobfuscator$DeobfNameEntry", "syBF" , "FGHiI", "nms_CraftingManager", "t4BjwBu4Bv4Bt8B4Bl+BFhhCihCviDwiDgrIhrI" , "FGHjI", "nms_EntityPigZombie", "mgKFuiK4BikKtpI/mKqpJv2KoqKy2KuvJ02KyvJ23KurHl4KnvKs4Ky8E94K0qKj+Kk+K6/KjtI6gLi5J3nLplL" , "FGHkI", "nms_Packet20NamedEntitySpawn", "iyIw6H3zIy6Hy1Ij3Hz9IF"
        , "FGHlI", "nms_Packet7", "uyIw6Hj0Iy6H10Ij3Hn9IFooKFsyK76H" , "FGHmI", "nms_BlockBookshelf", "koBF/yClxBt0KysK" , "AWnI", "jn_CharBufferOverArray", "5oDF7lG87CtmGn8FsuGFw1GptGzgHw2G0gHy2G" , "FGHoI", "nms_Packet8", "oyIw6H9zIy6H+0Ij3Ho9IF" , "FGHpI", "nms_AxisAlignedBB", "x8Cy8C5lD4Bz7E07E17E27E97E+7E/7Eg8E7rF8rFnsFFnyFvwBpyFqyF42F52FgnGOm2Gn2Go2Gp2Gq2Gr2G07G3iD17G27G77G87G97G+7G/7Gg8Gh8Gi8GgkIhkIg6Jh6J" , "FPQRgCqI", "nleit_PCMToWAVLoader", "+wG/wGixGjxGkxGlxG++IF" , "FGHrI", "nms_Packet9", "wyIw6Hl0Iy6Hr1Ij3Hp9IFqgL76H"
        , "FGHsI", "nms_WorldChunkManagerHell", "slJFvyJhsGwyJglIxyJilIyyJ1sIn5Jk5J7zKvrK" , "ABCtI", "jur_AbstractCharClass$LazyJavaTitleCase$1", "m4EF9sF2a" , "FGHuI", "nms_DataWatcher", "9rFF/rFgsFosF4B02H12H9gJ+gJ07J17J5pK6pKiuKjuK/9Kg+K" , "ABvI", "ju_Collections$_clinit_$lambda$_59_0", "lgBF" , "FGHwI", "nms_ItemAxe", "52BF77B4B" , "FGHxI", "nms_ModelPig", "rqEFsqEF" , "FGHyI", "nms_ChunkPosition", "uuIF42JH52JJ" , "FPQRzI", "nlei_PlatformAssets$1", "pzBF15B0Tz8B/f" , "AWX0I", "jnc_UnsupportedCharsetException",
        "z0BF" , "FPQR1I", "nlei_PlatformAssets$2", "qzBF25B0T08B/f" , "ABC2I", "jur_AbstractCharClass$LazyJavaISOControl$1", "g4EF3sF2a" , "FGH3I", "nms_TexturePortalFX", "01DFwuF06E" , "FGH4I", "nms_EntitySheep", "yuIzuI0uI1uI6vI4B8pJ9pJ+pJ/pJ8/JFnkKisFhnKqpJnuKouK/2KuvJs3KyvJ03KurH24K0qK0gLi5J" , "FGH5I", "nms_BlockPortal", "lpBF/zCp2B5jG12Fo1G6qG5iH48GulHt+GvzHtvH43IpmIm5InsIw1JwmJ60KysKz8K08K" , "JKL6I", "cjj_GZIPHeader", "+0FF" , "FGH7I", "nms_EntityCreature", "4wIFrkJskJvkJwkJg5JjtIphKqhKn+Ko+K8+K9+K2iLu+KmlLnlLolLplL4lL5lL"
        , "ABC8I", "jur_AtomicFSet", "2+BFokGkB+iHg9G/rH+8BsxHvsH" , "JK9I+I", "cjj_SyncState", "2xG3xGqyGryGsyGtyG2yGqW7yGF8yGoQu3Gv3G" , "ABC/I", "jur_LowSurrogateCharSet", "gqCFuzCniCz0C6iC1lGkBykHg9G6kHwyDlxH+rHnyHvsH" , "AbgJ", "jl_Error", "/CFrlDF1nDFtuGF" , "AbhJ", "jl_AssertionError", "36CF6+CF" , "FGHiJ", "nms_NBTTagCompound", "tGF0xCoJ4tD2iC8hE9hE+hE/hEgiEhiEiiEjiEkiEliEniEoiExxEO8lF9lF+lF/lFgmFhmFkmFlmFiwF2rFo6Hp6Hq6Hr6HgpJhpJkpJvrFlpJmpJnpJopJp5Jq5J/gKghKhhKihKjhKkhKvqKwqKxqKyqK7tK8tK4uK5uKo/Kp/K"
        , "FGHjJ", "nms_ItemBoat", "v3BF0xK9nK" , "AnBkJ", "jt_NumberFormat", "3jCF77D87D97D+7D/7Dg8Dh8Di8Dj8Dk8D9gG+gG" , "gBgChCYnBlJ", "otcit_FloatSynthesizer", "sqFtqF4rF4B38IF" , "ABmJ", "ju_TreeSet", "w7HFw8H4B6kI44B0oJyN1oJ6iC2oJpoC" , "FGHnJ", "nms_ItemBucket", "o3BFyxK9nK" , "ABCoJ", "jur_CompositeQuantifierSet", "omCFilGkBjkHg9G" , "ABCpJ", "jur_SupplRangeSet", "glCFrzCniCk1C6iCg8C2an8Co8C2kGkBtjHg9G3xHvsH" , "FGHqJ", "nms_BlockPumpkin", "hpBFq0ClxBnvFm7CpzK2nJohLx7K0hL8qJ" , "AbrJ", "jl_String", "EFGHIJdFefgBhB3B4BoCFoEpEsEtEwKxKyLzL+L/LgMhMiMjMtQtEpXqXtXFza0a1a2ashBqXzhBF5lBqX9lBxKyqBqXtsBusB8sB9sBx0By0Bq2BpKp6BsNt+Bu+BlrCmrC12C07B92COu5Cv5Cw5Cx5C46ChMz7C2H17CmrC4gD5gD6gD7gDglDFxrD2HziE0iEouEv6Cg0Ev6C9hF0iEj6Fk6F3+FpKkpGpKh0GusB35G45Gi5HmrCt/KmrCkmLlmL"
        , "gBgChCYsJtJ", "otcic_StderrOutputStream", "pR4BieFuxEkpD" , "FGHuJ", "nms_BlockStationary", "wnBF42Il2Dx4InsIpnJqnJzqJ0qJ" , "FGHvJ", "nms_GuiCreateWorld", "r5GFthHp0DuhH8zFvhH02EwhHs2ExhH62DyhH34DzhH62ExoHyoHkuHluH" , "FPQwJ", "nle_Base64", "iWjW6gB4B7gBF0hB1hBmsBF+sB/sBnzBFu0B/sBn5Bo5B05BFo6B/sBy8BFl9BFxuDmiDjxE9gBoxEp9Bt9Eu9Ev9Ew9E" , "AWXYxJ", "jnci_UTF8Encoder", "49DF5gH+3G" , "FGHyJ", "nms_NBTTagByte", "8RFrxCoJ6tD2iC0xEOxmG2rF69KF" , "FPQ7EzJ", "nleo_StreamBuffer$IStreamBufferInitializer",
        "33E+K" , "JKd0J", "cjj_PsyInfo", "t3GgyC/+IF" , "AB1J", "ju_Properties", "jpCFmpCnpCy7CsmB5yDsmB" , "FGH2J", "nms_Session", "+1DFriE4B" , "JKL3J", "cjj_ZStream", "s9BF5/BF+5C95CjyDkyDnyDmyD+4E/4Ei5Eh5E" , "FPQR4J", "nlei_EnumPlatformANGLE", "nPoPwb4BxlBFylByen2C0f/xEO" , "FGH5J", "nms_EntityEgg", "6tJF7tJ8tJizJisF+2J8/Ij3JtuH+lKy8EkxK0qKs5Kn7Jo7KFkjL4/K" , "FGH6J", "nms_BlockBed", "9nBFuwBvwBwwB4BwyCp2B+uFm7C15F25F35F45FxjG12F+lGo6F9yHtvHs9Hi0HyiIziI4iI5iIutIvtI14InsIk1K0sK" , "FPQR7J", "nlei_PlatformAudio$BrowserAudioResource",
        "7uGF" , "JKd8J", "cjj_FuncFloor", "q3Go3G39G4Bz/GFomHpmHrmHsmHytHw9Gy5HutH" , "AnB9J", "jt_DecimalFormat$TextField", "4jCFlwFHmwFJ" , "AWXY+J", "jnci_UTF8Charset", "he4B0pBFluDx6CivD8oD" , "FGH/J", "nms_PathPoint", "ivJF+wJ/wJkxJu7EpxJJuxJvxJ" , "FGHgK", "nms_ModelMinecart", "2sEFk/H56E" , "ABChK", "jur_MultiLineEOLSet", "8mCFtlGkBukHg9GlyHvsH" , "FGHiK", "nms_WorldProviderHell", "h8HFp2I7hIq2I9hIv3ImlI63IrmIm4I57Hn4I/qI00JykJ" , "FGHjK", "nms_ItemRenderer", "5QFnjEojE1jE2jEt8Eu8E0lF1lF2lF3lFq7Fr7Fx7Fy7Fz7F07F17F27F"
        , "FGHkK", "nms_EntityReddustFX", "osJF0vJFu3Jr2F33Jy8E" , "ANlK", "ji_BufferedReader", "8rD2iB9rD+rDgsDFisDF99D+9D/9Dg+D" , "FGHmK", "nms_Packet4UpdateTime", "5xIw6HuzIy6Hq1Ij3Hk9IF" , "FGHnK", "nms_EntityFlameFX", "ksJFm3J00Ep3Jr2Fz3Jy8E" , "ABoK", "ju_ArrayDeque", "xvBFm7IF" , "FGHpK", "nms_HashEntry", "oiKF" , "FGHqK", "nms_BlockSapling", "snBF22Il2D2mJ3mJ" , "FGHrK", "nms_BlockSponge", "4nBF1yKrpKizK2nJ" , "FPQRSiD", "nleib_Buffer", "05C15C" , "FGHsK", "nms_GuiEditSign", "ikLF2mL4BooLp0DpoL62DqoL34DroL62EsoLs2EtoL8zF"
        , "JK9ItK", "cjj_Page", "6xG7xG+xG/xG9yG+yGzzGF+zG4Bk0Gl0G02G12G22G32G42G52G62G72GvmH50F" , "ABuKvK", "juz_Inflater", "3gJF4gJ/4E5gJmyD6gJ95C8sJFr6J/4Es6JmyD6rK7rK" , "FGHwK", "nms_EntitySpider", "hhJFmzJuvJozJyvJrkKi5J9mKqpJ/wK0qK1zKoqKrgL+5KunLm8GxnLhlL0nLplL5nL5lL" , "AnBxK", "jt_DecimalFormatSymbols", "tgCF2jCF5jCLqpCrpC7gG8gG" , "AByK", "ju_HashMap$AbstractMapIterator", "wiFFusF1KvwFwwF/oGgpG7hHpoC" , "FGHzK", "nms_EmptyChunk", "luIFlyJl6GmyJn6GnyJqpFoyJvuHpyJrkIqyJtkIryJslIsyJmnItyJigJpzJogJqzJqgJrzJwgJszJ1gJy1JymJz1JvkI31JvmIsjK76JgkKroJvkKo6JnlK39Jh0Kw8JwgLx6KhiLy9KiiLgtKlnLzjLnnL5tKonLpkLjqLynB"
        , "JKd0K", "cjj_Residue0", "9+GF2/G4BxgHo3GxyHw9G68Hk3Gp/HutH5gI6gI7gI8gI" , "JKd1K", "cjj_Residue1", "++GF48Hk3G" , "AB2K", "ju_Formatter", "vlDFwlD2HxlDOupDFirDF+8D2H6+E7+E" , "JKd3K", "cjj_Residue2", "/+GF58Hk3G" , "FGH4K", "nms_WorldGenFire", "0rKF1rKw9J" , "FGH5K", "nms_EffectRenderer", "71DF53D63D7jE8jEl6Em6En6Eo6E2gF3gF+yF/yFt4Fu4F3rI4rI" , "gBgChCY6K", "otci_Base64Impl", "5oG9gBxuG4ByuG9gB2vG9gB5wG9gB1+IF" , "JKd7K", "cjj_Mdct", "tmHumHmtHFntHoQq0Hr0H" , "Ab8K", "jl_Object$Monitor", "3pBF" ,
        "FGH9K", "nms_GuiGameOver", "84DFtuE19CuuEp0D6tFs2EluF62EsjG8zF" , "FGH+K", "nms_EntitySkeleton", "vuIF5vI4Bt/ItpI4yJuvJ5yJyvJskKi5JukK65J8mKqpJ3wKnvKgxK0qK2zKoqK8nL5lL" , "FGH/K", "nms_TextureLavaFX", "lIFvuF06E" , "AWgL", "jn_CharBuffer", "h0Bi0Bl0B5Ds0Bt0B+2CX3kDXurDFksDn0BqhF5D+nF/nFjoF1Ug6F87Cm8Fn8FjnGknGvnGyOv2Gw2Gx2Gy2G23GyO63GyO" , "FPQ7EhL", "nleo_SoftGLVertexState", "kQF" , "FPQiLjL", "nlev_Matrix4f", "imBF6vB7vBmgD7vBlrDmrD4rEnpCm3En3Et3Eu3EzhFnpC" , "FGHkL", "nms_EntityDiggingFX", "vgFFwgFxgFngH+5FygHr2F"
        , "FPQRlL", "nlei_RamdiskFilesystemImpl", "3YF61C2Yr0GmgFr1Gy5Fh+H0pH50JmjI2lKumJ/hL8pK" , "FPQRgCmL", "nleit_MessageChannel", "nkBokBpkBzJ" , "FGHnL", "nms_WorldProvider", "o1Fp1F27H37H+7HF6hI7hI8hI9hIllImlIqmIrmI6qI57H+qI/qIxkJykJzhK0hK" , "FGHoL", "nms_BlockFlowing", "tnBF32Il2D6mJ7mJ8mJ9mJ/mJgnJjnJknJlnJmnJnnJonJqtJrtJ/yK2nJ" , "FGHpL", "nms_RenderItem", "soEFmjFnjFojFpjFt6Fu6F36F46F/hHltG5pH6pH" , "FGHqL", "nms_ISaveHandler", "x7Hy7H4qI5qI2tI3tI" , "ABrL", "ju_List", "oO5DogB4Hg6DpoCksK44B" , "gBgChCYiCsL",
        "otcit_DateTimeZoneBuilder$Recurrence", "wvC6hBqwCFiwDjwDkwDlwDw+DzK" , "FPQRgCtL", "nleit_Base64VarIntArray", "qyBryBv7IF" , "FPQ7EuL", "nleo_GLObjectRecycler", "kjBlFsjBsQzlBF" , "FGHvL", "nms_RecipesDyes", "9gCF+gCygC" , "FGHwL", "nms_PlayerController", "o9Cp9Cu2Dv2DljEmjEpjEqjErjEsjExjEyjEzjE0jE3jE4jE5jE6jE90E+0Ep7Eq7E78E88Eg0Fh0F73F83Fi4Fj4Fn4Fo4Fr4Fs4FiuHFg0H/zH" , "gBgChCYiCxL", "otcit_DateTimeZoneBuilder$OfYear", "2vC6hBxwCFu4ElwD2/EzKv0Fw0Fx0Fy0Fm5Fn5Fs5Ft5Fu9Fv9F" , "FGHyL", "nms_WorldGenLiquids",
        "srKFtrKw9J" , "AWzL", "jn_BufferOverflowException", "wmHF" , "AB0L", "ju_AbstractSet", "2fF21CJyiGH1qG7uF" , "FGH1L", "nms_IBlockAccess", "krGqpFnrGujE+rG/rGmpHnpH4tHs8E5tHluG" , "FGH2L", "nms_RedstoneUpdateInfo", "kuJF" , "FPQ3L", "nle_BaseNCodec$Context", "s5DF" , "FGH4L", "nms_Teleporter", "28JF38J48JrsKssKtsKusK" , "ABC5L", "jur_NonCapJointSet", "o/BFrkGkBhjHg9GuxHvsH17IF" , "Ab6L", "jl_Iterable", "tTuT" , "ABC7L", "jur_AbstractCharClass$LazyJavaLetterOrDigit", "ytCF0vEtvD" , "gBgChCYiF8L", "otciu_UnicodeHelper$Range",
        "gxCF" , "FGH9L", "nms_Packet130", "gyIw6H1zIy6Hs1Ij3Hy+IFppLF/pL76H" , "FPQ7E+L", "nleo_DisplayList", "2rEF" , "FGH/L", "nms_IChunkLoader", "tgJugJygJzgJ4sJ5sJ6sJkgJ7sJmgJ" , "FGHgM", "nms_GuiMainMenu", "g2DFtiE4BruEp0DsuE62D2tFs2EhuF62EpjG8zF" , "FGHhM", "nms_BlockRedstoneWire", "roBF9zCp2BhvFm7CimGo6FqpHrpH1yHpuHizHtvH03IpmI54InsI7qJ8qJ+qJ/qJxuJyuJ6wJ7wJi1JwmJrmK9+J5yKrpKmzK2nJszK4pKp1K0sKv8Kw8K" , "FPQRgCiM", "nleit_TeaVMClientConfigAdapterHooks$callHookSafe$lambda$_5_0", "q+DFomEmlBypEkvB" , "FGHjM",
        "nms_Packet12PlayerLook", "zxIw6HozIy6Hs9IF0kK76H9jLF" , "ABCkM", "jur_AbstractLineTerminator$2", "lqCFqyH9sHsyH/sH" , "gBgChCYiFlM", "otciu_CharMapping", "hwCF" , "FGHmM", "nms_ChunkCache", "zqGF2qGujE7qG8qG8hHqpFrwH/rGswHnpHzyHs8E0yHluGg6Hh6HxqIyqI" , "ABCnM", "jur_AbstractCharClass$LazyCharClass", "nkCyiB8uCFsvDtvD" , "ABCoM", "jur_AbstractLineTerminator$1", "kqCFpyH9sHryH/sH" , "AbpM", "jl_NoClassDefFoundError", "MFr5IF" , "ABCqM", "jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart", "2tCF4vEtvD"
        , "JKdrM", "cjj_Util", "ktHltH05H15H85H95Hh/IF" , "gBgCoDsMtM", "otjc_JSWeakRef", "tJuJ" , "ANuM", "ji_OutputStream", "geFlpDkpDhuE2iBx8FkpDqtGkpDq7GgpD" , "gBgChCYvM", "otci_CharFlow", "tnCF" , "FGHwM", "nms_BlockCloth", "+nBFxiDyiDtgFugF/uFm7C61K2sK" , "ABCxM", "jur_RangeSet", "ilCFj1C6iC97C+7Cp8Co8C4kGkB" , "FPQyM", "nle_EaglerOutputStream", "6rEF7sEF9tE+tE/tEkpDguE2iB+hFg2Bm3HviBz8HkpD" , "gBgCoDgEzM", "otjt_Float32Array", "lrB5fqsBwJ" , "FGH0M", "nms_TextureFlamesFX", "51DF0uF06E" , "FGH1M", "nms_GuiChat",
        "k4DFhkE4B+wEp0D/wE62DgxE34D4tFs2E+tF02EjuF62E" , "ABC2M", "jur_CharClass", "jiCFoiC44B5rCF8rC44B9rC+rC/rCgsChsC44B22C7kC62CjwB3jD4jD5sD2ayuDnjD43EFutFO" , "FGH3M", "nms_GuiInventory", "h4DF8wEp0DiuF62E1vFwmF2vF4mFqjG8zF" , "FGH4M", "nms_TexureWaterFlowFX", "31DFyuF06E" , "AW5M", "jn_BufferUnderflowException", "/5FF" , "J6M7M8M", "cch_IntObjectMap", "3b5D4byO" , "AWXY9M", "jnci_BufferedEncoder", "gmEFq0G7nG93G+3G" , "FGH+M", "nms_ItemSeeds", "j3BF6xK/nK" , "AnB/M", "jt_DateFormatElement$AmPmText", "r9DF/yE2HqzEH0zEJ"
        , "FGHgN", "nms_BlockClay", "9oBF50KysKz1K0sK" , "FGHhN", "nms_ItemLog", "upBFmyEohE/gLt7K" , "FPQRiN", "nlei_PlatformAudio$1", "v1BFk7Bl7B39B49B" , "FPQRjN", "nlei_PlatformAudio$2", "w1BFm7Bn7B59B69B" , "FGHkN", "nms_EntityPlayerSP", "h3Di3Dj1Ek1Ej9Ek9EqzFrzFvzFwzFiqGjqGp0HFx8HgkEy8H47Gt2IviIu2I3iIv2I8iIw2I+iIx2IgjI+kJ/kJ91JqpJi7Jj7J8wKnvK+wK0qK4hL27K1iLu+KpnLhuGwnLwrH+nLpmL" , "FPQRlNmN", "nleiv_VFSListFilesIteratorImpl", "kjIF1lKzK" , "FGHnN", "nms_ModelBed", "l/F4B88IF" , "FGHoN", "nms_GuiRenameWorld",
        "u5GF0hHp0D1hH8zF2hH02E3hHs2E4hH62D5hH34D6hH62E" , "FPQRpN", "nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_1", "qvBF31BmlBr7BkvB" , "AWXqN", "jnc_MalformedInputException", "03GF1lHT" , "FPQRrN", "nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_0", "nvBF11B21Bp7Bq7B" , "FGHsN", "nms_ItemBlock", "ypBFnuD47CnmKy+J3xK/nK" , "FPQiLtN", "nlev_Vector4f", "jmBF36BFx9B4H" , "FGHuN", "nms_XErrr", "zwF0wF1wF2wFx/F4B68IF" , "AbvN", "jl_CloneNotSupportedException", "6yBF" , "FGHwN", "nms_WorldGenForest",
        "k9KFkgLw9J" , "FGHxN", "nms_KeyBinding", "9/DF" , "FGHyN", "nms_NBTTagEnd", "pJFqxCoJ5tD2iCyxEOwmG2rF" , "FGHzN", "nms_ColorizerGrass", "isGjsGkvG4B3+IF" , "FGH0N", "nms_InventoryCrafting", "k8HF/gIghIjhIkhIolJr8Hl2JvsJo2JxsJr2Jz/Hp+Jq+J" , "FGH1N", "nms_BlockRedstoneTorch", "3oBF1wB4BmvFm7C4yHpuHk3Il2D33IpmIh5InsIloJmoJooJpoJprJ/uH01J2nJumK9+J8yKrpKvzK4pKw1K0sK" , "gBgCoDsM2N", "otjc_JSArray", "6rB7rBhzB1FizBjzBr2C5Ds2CsC" , "FGH3N", "nms_BlockChest", "qoBFr0ClxBklHr+Gu9Hi0H4yKrpKthL8qJ8hLn8KgkLhkL"
        , "ABC4N", "jur_AbstractCharClass$LazyNonDigit", "6tCF8vEtvD" , "AB5N", "ju_EnumSet", "qfrfvyBF" , "FPQRgC6N", "nleit_TeaVMDataURLManager$checkDataURLSupport0$lambda$_1_0", "qrBF9yB+yBy5Bz5B" , "ABC7N", "jur_CIBackReferenceSet", "/mCF40CniCwlGkBxkHg9GgtHhiEmyHvsH" , "ABC8N", "jur_AbstractCharClass$1", "ojDF4uD2a" , "FGH9N", "nms_MobSpawnerHell$_init_$lambda$_0_1", "1wIF3vKhtI" , "ABC+N", "jur_AbstractCharClass$2", "pjDF5uD2a" , "FGH/N", "nms_MobSpawnerHell$_init_$lambda$_0_0", "0wIF4vKhtI" , "ABCgO",
        "jur_PossessiveCompositeQuantifierSet", "imCF+jHg9G" , "AnBhO", "jt_DecimalFormat$CurrencyField", "1+EFnwFHowFJ" , "ABiO", "ju_GregorianCalendar", "n2BF17BF27B4B+9BFogCpgCtwCFz2CwjC02C0jCpxEs7DqxEu7Di+Ej+Ek+El+Em+En+Eo+Ep+Eq+Er+Et+Eu+Ew+Ex+Ey+Ez+EjnFknFrqFn+Et0F44B" , "FGHjO", "nms_BlockLightStone", "kpBF11K0sK" , "FGHkO", "nms_RenderPlayer", "9qEF0sE4Bk7Fl7FkiHltGjqHkqHzwH8pHj+Hi4Hn+Hm4Hs+Ho4Hw+Hq4H8+Hu4Hi/Hy4Hj/H04HvnIwnI5nI6nIjoIkoIypIzpI+pI/pIkqIlqI" , "FGHlO", "nms_MapGenBase", "4wJFv5Jw5JjqKkqK"
        , "FGHmO", "nms_MaterialLiquid", "x2BFxiHnuG98HruGg9HrvH" , "FPQiLnO", "nlev_Vector3f", "6rDF" , "FGHoO", "nms_GuiTextField", "16E26E76E86E6lF7lFmzFnzFozFpzF9zF02Ej0FFk0Fl0F" , "AnBpO", "jt_DateFormatElement$NumericMonth", "z9DFtvFhiF" , "gBgChCYqOrO", "otcic_CurrencyHelper", "wrCxrC0sC1sC4uC5uC3vC4vC67IF" , "FGHsO", "nms_RenderMinecart", "rrEFtiHltG1qH2qH" , "JKdtO", "cjj_Time0", "6+GFugHo3GuyHw9Gm/HutH" , "FGHuO", "nms_EntitySnowball", "9tJF+tJ/tJjzJisF92J8/Ii3JtuHqgKF9lKy8E3mKqpJjxK0qKt5Kn7Jn7KFjjL4/K"
        , "gBgChCYvO", "otci_Base46", "unCvnCwnC9gByqCzqCmwCnwC4wC5wC57IF" , "gBgCoDwOxO", "otjw_AudioContext", "rZsZ" , "ABCyO", "jur_UCISequenceSet", "onCFylGkB8wH+7C" , "FGHzO", "nms_RenderGlobal", "61DFt3Du3D1hE2hE35E45E75E85E95E+5E/5Eg6Ej6Ek6Ep6Eq6Er6Es6Et6Eu6Ev6Ew6E28E38E6yF7yF8yF9yF21F31F41F51F62F72Fg3Fh3Fp4Fq4Fu/I43Fv/IwvHw/IzkIx/IhmIrsJssJ11JulI+1JonIzlK9lJ4lKt9JmnL1jL" , "FPQRgC0O", "nleit_TeaVMBlobURLManager$checkSameOriginSupport$lambda$_3_0", "/qBF1yBlGx5B8I" , "ABC1O", "jur_AbstractCharClass$LazyJavaDefined$1",
        "93EF0sF2a" , "gBgCoDgE2O", "otjt_Int8Array", "4f5fhsBwJ/jFjtB" , "FPQRgC3O", "nleit_ImmediateContinue", "vkEwkExkEykE" , "gBgCoD4O", "otj_JSExceptions", "oSpS66IF" , "ABC5O", "jur_AbstractCharClass$LazyAlnum", "gtCFivEtvD" , "ABC6O", "jur_CompositeRangeSet", "/kCFqzCniCl1C6iC0kGkBsjHg9G2xHvsH" , "FGH7O", "nms_Item", "spBtpB3wB4B4wB5wB6wB7wBjxBFmxBnxB22B32B/2Bg3Bp3Bq3B03B13Bm4Bn4Br4Bs4B37C47CnhEohEo7Fp7FwpIxpIzsJ0sJ1sJ2sJx+Jy+J1+J06F2+J3+J4+J3hI8nK9nK+nK/nKgoK6/HhoKioKjoKkoK1oK/7BvsKniIwsKvlJs7Kt7K"
        , "FPQR8O", "nlei_IWebSocketFrame", "92HoiE0jI1jI" , "AB9O", "ju_Hashtable$Entry", "x8Dy8DxlEF4+E5+E" , "FGH+O", "nms_ChunkProviderHell", "pqJF2yJolI3yJ3lIz5J05J15J25JxkKsgJlqKmqK" , "FGH/O", "nms_Packet33RelEntityMoveLook", "xxIw6HmzIy6H/9IF" , "ABCgP", "jur_FinalSet", "4+BFpkGkB/iHg9G" , "FGHhP", "nms_Tessellator", "gnDhnDinDjnDknDlnDmnDnnDtqD4BnrDFtwDuwDxgEygEzgE0gEv4E4wDpgFqgFn0Fo0Fu2Fv2Fw2Fx2F3qG4qGrrGsrG8sG9sGyvGzvGhmHimH" , "FGHiP", "nms_ModelQuadraped", "xsEFy+H56EipIjyF" , "FGHjP", "nms_Packet14BlockDig",
        "pyIw6H+zIy6H61Ij3Hu9IFpoKFtyK76H" , "FGHkP", "nms_BlockGlass", "5nBFq0KysK" , "FGHlP", "nms_NoiseGeneratorOctaves2", "itJFl5Jm5J9pK+pK" , "FGHmP", "nms_BlockMinecartTrack", "zoBF3zCp2BlvFm7C1jG12FnmGo6FnzHtvH+4InsIlrJmrJn1JwmJ81J/oJnzK2nJ00KysKwhL8qJ" , "ABCnP", "jur_EmptySet", "l/BFqkGkB21GwyD2wH+7CgxH+rHtxHvsH" , "FGHoP", "nms_StepSound", "9mBFp8Gq8Gr8Gs8Gt8Gu8G5rI6rI" , "FPQ7EpP", "nleo_StreamBuffer$PoolInstance", "xtEF" , "FPQRqP", "nlei_EnumPlatformOS", "kPjPvb4BvlBFwlByem2C0f+xEO" , "FGHrP", "nms_MouseHelper",
        "xzDyzDl1DF98E+8Eh9Ei9E" , "FGHsP", "nms_EnumMovingObjectType", "zoE4B7rEF8rEye1yE0f" , "gBgChCYiCtP", "otcit_DateTimeZoneBuilder$Transition", "n/Eo/Ep/EjwDz/E0/E1/E2nCsnFtnFi5FFj5FFl5FF" , "AbuP", "jl_StackTraceElement", "rqBO" , "AnBvP", "jt_DateFormatElement$MonthText", "09DFlzE2HvzEH5zEJ" , "FPQRgCwP", "nleit_BooleanResult", "7tH8tHlvH4BxvHF" , "FPQ7ExP", "nleo_GLSLHeader", "nQoQ7b4Bpcqcwcxc16IF" , "FGHyP", "nms_FontRenderer", "40D50Di1DFpgEqgErgE4Bq0E50Dv1Ew1E/1Eg2E3wF4wF4yF5yFp9Fq9F2tG3tGuvGvvG"
        , "FGHzP", "nms_SoundManager$_init_$lambda$_0_0", "gRF41G9uG" , "FPQR0P", "nlei_AbstractWebSocketClient", "m/GFn7Ho7H69H82H" , "FPQ1P2P", "nleb_TextureNewClockFX", "21DFxuF06E" , "Ab3P", "jl_NoSuchMethodError", "QFt5IF" , "FPQRgC4P", "nleit_ClientMain$showCrashScreen$lambda$_9_0", "6KF61G6ep9G6e" , "FGH5P", "nms_BlockLeavesBase", "qwBFolHt+G" , "FGH6P", "nms_ItemReed", "w3BFgyK/nK" , "gBgChCY7P", "otci_RandomUtils", "6+J7+J0mKF" , "AN8P", "ji_IOException", "9hBFxnDF1pHF" , "FGH9P", "nms_BlockMobSpawner",
        "ooBF7zCp2Bw0KysKn1K0sK7hLn8K" , "Ab+P", "jl_ArrayIndexOutOfBoundsException", "w5DFm8IF" , "AN/P", "ji_InputStreamReader", "/rDFhsDFutEF0tE1tEvxE2iBvyE6hB+/EFrhFg+DhoFioF" , "FGHgQ", "nms_EntityArrow", "1tJF2tJ3tJhzJisF/2JtuHhgKF8lKy8E2mKqpJixK0qKv5Kn7Jk7KFijL4/K" , "FGHhQ", "nms_StepSoundSand", "/mBFp4I6rI" , "FGHiQ", "nms_Pathfinder", "otIFptIqtI3rJqtIgvJhvJjvJkvJqxJrxJsxJtxJ5xJ6xJ7xJ8xJ1oLqtI" , "FPQRgCjQ", "nleit_TeaVMRuntimeDeobfuscator", "gf+KjfkfsqB4BtqBuqBwqBxqBzqB0qB1qB2qBlyBmyBl+Ckfk7IF" ,
        "FGHkQ", "nms_RenderPainting", "lrEFniHltGpqHqqH14H24Hi7Hj7H" , "FGHlQ", "nms_ItemBow", "82BFwxK9nK" , "ABmQ", "ju_AbstractList$1", "r5CFpsD1KqsDzKovDpvDjkGpoC" , "ABnQ", "ju_AbstractMap$SimpleEntry", "4pHyiB42Ho5CupJvpJ3wJFpqLHqqLJrqLO" , "JKLoQ", "cjj_InfBlocks", "i7DFl7DgyCmlEviBnlE4B00F10FqqGrqG" , "FPQRpQ", "nlei_OpenGLObjects$UniformGL", "5gBFlsB4B" , "ABqQ", "ju_TemplateCollections$AbstractImmutableMap", "xrBF" , "FGHrQ", "nms_RenderSheep", "wqEFg/Hy4H6pI7pI" , "FGHsQ", "nms_MathHelper", "q2Dr2D13D23Dn/Do/Dp/Dq/D2iE4BxoEyoE12ErMwqFxqFmoHnoHt8IFv+Jw+JilLjlL"
        , "FGHtQ", "nms_RenderEntity", "krEFmiHltG" , "FGHuQ", "nms_GuiDownloadTerrain", "u8JF0nKp0D1nK62D2nK62E3nKs2E4nK8zF" , "ABvQ", "ju_ListIterator", "64F44B" , "ABwQ", "ju_Date", "0HFxQ4ByxDzxDl9Em9E41HF" , "FGHxQ", "nms_BlockStone", "gnBF80K0sK" , "AByQ", "ju_Random", "2QF/Q+Q8mB7mBx/C+QihEFjhEkhE/nEgoEuhFvhFtoHuoH4tJ5tJ" , "FPQRzQ", "nlei_PlatformRuntime$checkImmediateContinueSupport0$lambda$_51_0", "rkBFmxEqF" , "FGH0Q", "nms_PathEntity", "rtIstI4xJFulLi6EwlLxlLylLzlL" , "Ab1Q", "jl_Runnable", "86DqF"
        , "AWXY2Q", "jnci_UTF8Decoder", "ryDF4gH53G7mH8mH" , "gBgChCYiC3Q", "otcit_DateTimeZoneProvider$detectTimezone$lambda$_4_0", "uoCF3uDgjDw8DgjD" , "FGH4Q", "nms_EntitySquid", "+/JFknKqpJ82KoqK92K65Jl3KuvJq3KwvJy3KyvJ73KkgIp4KnvK64K0qKg/K08G5gLi5JviLy+K6iLu+K" , "FGH5Q", "nms_BlockLadder", "yoBF2zCp2B+jG32FmmGo6FmzHtvH94InsIm1JwmJz0KysKihLv7KvhL8qJ" , "ABC6Q", "jur_PossessiveQuantifierSet", "gmCF8jHg9G" , "AWXY7Q", "jnci_BufferedDecoder$Controller", "33GFxmHymH3mH4mH5mH6mH9mHymH+mH/mH" , "AB8Q", "ju_Locale",
        "uQvQjd4BomBFvmBF0oC1oC2oC3oCitFHjtFJ" , "Ab9Q", "jl_Short", "xgGygGqiG4B9sJpK2vJF" , "Ab+Q", "jl_DefaultUncaughtExceptionHandler", "9jBF" , "Ab/Q", "jl_InstantiationException", "3qIF" , "FGHgR", "nms_CraftingInventoryWorkbenchCB", "ltJF6vJu8HtjKm0Hg2KmtK" , "ABChR", "jur_AbstractCharClass$LazyJavaLetter$1", "j4EF6sF2a" , "FGHiR", "nms_WorldGenBigTree", "x9JF9hK4BwjKw9J4oK5oK6oK7oK8oK9oK+oK/oKgpKhpK67K77K87K97K+7K/7Kg8Kh8Ki8Kj8KjgLirKjkLkkLlkLmkL" , "FPQRgCjR", "nleit_ClientMain$1", "vEFkGlG7I8I" , "gBgCkRlR",
        "otp_PlatformRunnable", "ruBqF" , "FPQRgCmR", "nleit_ClientMain$2", "uEF1wE44C" , "ABnR", "ju_IANATimeZone", "ojCFpzCLx7CLuvFkoCvvFriF" , "FGHoR", "nms_Packet52MultiBlockChange", "qyIw6H/zIy6H50Ij3Hm+IF" , "JK9IiD", "cjj_Buffer", "2zGF3zG4zGg0G4Bg3Gh3Gi3G6hBl3Gm3Gs9G6hBjlJutHklJllJmlJnlJ" , "FGHpR", "nms_ItemDye", "z3BFh8B4BoyEohEqmKy+JhyK/nKoyKioK" , "AWXYqR", "jnci_Iso8859Decoder", "mxDF2gH53G" , "FGHrR", "nms_MobSpawnerSwamp", "svIF" , "ABCsR", "jur_SpecialToken", "zpCF" , "FGHtR", "nms_BlockDoor",
        "xoBF3yCp2BkvFm7C55F65F0jG12F9jG32FlmGo6FlrGmrGlzHtvHl9H7zHx9Hi0H84InsIgrJhrJl1JwmJ71J/oJu1K0sKuhL8qJ" , "ABuR", "ju_HashMap$HashEntry", "ppDF" , "FGHvR", "nms_NBTTagList", "kSFzxCoJiuD2iC8xEO5mG2rFipJjpJ5gK6gKnhKkhK" , "FGHwR", "nms_TileEntityFurnace", "6+IFugKt7FvgKwgKxgKygK+kKghI/kKxsJglKkhIhlKz/HonKinIwuKr8HxuKyuK59K39KnjLl6JujLwlIqmLrmLsmLtmL" , "FGHxR", "nms_EntityPickupFX", "h8JFmlK+5FunKr2FvnKy8E" , "FGHyR", "nms_WorldGenHellLava", "yrKFzrKw9J" , "ABCzR", "jur_AbstractCharClass$LazyUpper", "9sCF/uEtvD"
        , "FGH0R", "nms_Achievement", "trDF" , "AB1R", "ju_HashMap$KeyIterator", "g3EFvsFzK" , "FPQR2R", "nlei_VFSFilenameIterator", "o9JzK" , "gBgCoDY3R", "otji_JSWrapper", "3E4E5E6EuG4BvGwGxGyGzG0G1I2I1J2J0R1R3e4emqBwGnqBoqBpqBXuxBFvxBwxB1xB2xB3xB4xB5xB6xB7xB8xB9xB+xB/xBgyBhyBiyBjyBkyBh/Ci/Cj/Ck/CgrDhrD" , "FPQRgC4R", "nleit_TeaVMBlobURLManager$HandleRealBlobURL", "65BFkzCuzBgvD0oD" , "AB5R", "ju_HashSet", "9LFsTFy1BF34B44B64BuT42CpoCsuDyNtuD2ax0IqW/zKsN" , "FPQ7E6R", "nleo_InstancedFontRenderer", "qQ+Kvc4B36IF"
        , "FGH7R", "nms_BlockPressurePlate", "1oBFzzCp2B3jG12Ft1GtsG2iH48GrrHsrH+uH/uH3yHpuHpzHtvHi3Il2Dg5InsIp1JwmJtmK9+J7yKrpKozK2nJuzK4pKxhL8qJ" , "FPQ7E8R", "nleo_IExtPipelineCompiler", "4pE5pEmsEnsEosEpsEhtEitEltEmtEz3E03E" , "FGH9R", "nms_EntityChicken", "igKFjnKqpJ52KoqKi3KuvJv3KyvJo4KnvK44K0qK3gLi5JsnLkrH" , "AN+R", "ji_OutputStreamWriter", "t3FFl+Fm+Fn+FF//FFq1G2iBp7GgpDwpHxpHp5IkpD" , "ABC/R", "jur_MultiLineSOLSet", "1mCFolGkBpkHg9GgyHvsH" , "FGHgS", "nms_World", "g9Ch9CxpD4Bo2Dp2Dp3Dq3Dv3Dw3Dx3Dy3Dz3D03D33D43DtjEujEvjEwjE37E47Er8Es8E2kF3kF4kF5kFsmFtmFppFqpFrpFspFgzFhzFizFjzFg1Fh1Fm1Fn1Fq1Fr1F+1F/1Fk2Fl2F+2F/2F53F63F93F+3Fv4Fw4Fx4Fy4Fz4F04Fp+Fq+Fr+Fs+FnqGoqG4rG5rG6rG7rGkuGluGivGjvG57G67Gn8Go8Gv8Gw8G18G28GlrHmrHprHqrHuuHvuH0uH1uH2uH3uH4uH5uH6uH7uH8uH9uHhvHivHuvHnpHvvHwvH13HF63H/rG+6HF47H57H67H77H87H97HhiI8qGikIjkIlkImkInkIokIukIvkIwkIxkI9kI+kItlIulIvlIwlIylIzlI4lI5lI+lI/lIimIjmIkmIlmImmInmIsmItmIwmIxmI2mI3mInnIonIpnIqnI1rI2rIwsIxsI+sI/sI0tI1tI5uI6uI5kJ6kJ7kJ8kJ9kJjuGzlJ0lJ8lJ9lJzmJ0mJhnJinJvnJwnJnoJ3kIqoJroJwoJxoJmqJnqJqqJrqJ3qJ4qJotJptJiuJjuJnvJovJ27J9lI77J87Jv8Jw8J18JFr+Js+J1hKF2hK3hKxiKyiKziK0iKspKtpKypKzpK0pK1pKjrKvmIwrKxrKhsKisK/sKgtKrtKstK/uKgvKqvKrvKl7Km7Ko8Kp8Ks8Kt8Kx8Ky8K99K+9Kl/Km/K2jL3jLqlLrlLslLtlL6lL7lL+lL/lLzoL0oL+oL/oLgpLhpLipLynBjpLkpL"
        , "FGHhS", "nms_Packet50PreChunk", "1xIw6HqzIy6Hw1Ij3Hk+IF" , "FGHiS", "nms_Packet23VehicleSpawn", "hyIw6H2zIy6H51Ij3H29IF" , "FGHjS", "nms_GuiOptions", "+pGFgvG4By0Gp0Dz0G8zF00G62E" , "FGHkS", "nms_ModelRenderer", "1dF2d3d4d5dysE3dlyF56EtpGupGkpIlpIupIvpI" , "FPQiLlS", "nlev_Vector", "9vBF" , "ABCmS", "jur_AbstractCharClass$LazyLower", "8sCF+uEtvD" , "FPQRgCnS", "nleit_ClientMain", "mCnCiD4BjDkDpDqDyEzEhFiFmFnF6GiFxHyH5H6H+J/JgKhKiKjKkKlKmKnKqKrKsKtKwSxSySzS3S4S5S6Ssdtd2mB3mB25IF" , "FGHoS", "nms_Packet5PlayerInventory",
        "lyIw6H6zIy6H90Ij3Hl9IF" , "FPQpSqS", "nlec_MD5Digest", "wzBFyzBzzB/5BviB1gD2gDwuDygD36D46DlxE76Dz9E09E19Ex7D29E39E49E59E69E79E" , "FGHrS", "nms_ItemTool", "47BF+3IxpIkyK6/HpyKkoKvyK/7Bk0KvlJ" , "gBgChCYiCsS", "otcit_DateTimeZoneBuilder$PrecalculatedZone", "puCquCrvCFsvCtvC+sD2nCktDmoCqtDkoCwyErmEy/ElF" , "FGHtS", "nms_ItemSpade", "12BF57B4Bi0KniI" , "ABCuS", "jur_AbstractCharClass$LazyJavaTitleCase", "0tCF2vEtvD" , "FGHvS", "nms_Packet29DestroyEntity", "2yIw6Hr0Iy6Hn1Ij3H79IF" , "FGHwS", "nms_MovingObjectPosition",
        "h8EFu2GF" , "ABCxS", "jur_PreviousMatch", "tmCFllGkBmkHg9G9xHvsH" , "AB7CyS", "juf_DoubleSupplier", "giKhiK" , "FGHzS", "nms_ModelSheep2", "uqEF" , "FGH0S", "nms_TileEntitySignRenderer", "xhGF49H9oGwjIxjI" , "AB1S", "ju_Comparator", "/yBgzB" , "FPQR2S", "nlei_VFSFilenameIteratorNonRecursive", "l9Jm9Jn9JF0lKzK" , "ABC3S", "jur_NonCapFSet", "z+BFlkGkB7iHg9GrxHvsH" , "JKL4S", "cjj_Adler32", "4/BFpvFviBujGyiBvjGviB6mG6N" , "FGH5S", "nms_ModelSheep1", "vqEF" , "FGH6S", "nms_MobSpawnerDesert", "vvIF" , "FPQR7S",
        "nlei_PlatformInput$5", "naF5kB0T3uB/f2/C/f" , "FGH8S", "nms_Packet60", "3yIw6Hs0Iy6H91Ij3Hp+IF" , "FPQR9S", "nlei_EnumPlatformAgent", "iPjPub4BtlBFulByel2C0f9xEO" , "FPQR+S", "nlei_PlatformInput$6", "oaF6kB0T4uB/f3/C/f" , "FPQR/S", "nlei_PlatformInput$7", "paF7kB0T5uB/f4/C/f" , "FGHgT", "nms_SpawnerAnimals$_clinit_$lambda$_6_0", "quIFz0IhtI" , "FPQRhT", "nlei_PlatformInput$8", "qaF8kB0T6uB/f5/C/f" , "ABCiT", "jur_UCISupplCharSet", "+pCF0lGkB+wH+7C" , "F3EjTGkT", "npem_EntityConstructor", "gtIhtI" ,
        "FPQRlT", "nlei_PlatformInput$9", "raF9kB0T7uB/f6/C/f" , "FGHmT", "nms_SpawnerAnimals$_clinit_$lambda$_6_2", "suIF00IhtI" , "FGHnT", "nms_SpawnerAnimals$_clinit_$lambda$_6_1", "ruIFy0IhtI" , "ABoT", "ju_AbstractQueue", "/nC44BooCpoC7qCF" , "FGHpT", "nms_TexturePackDefault", "hgEFtwFogF8wIk2H" , "ABCqT", "jur_AbstractCharClass$LazyRange", "7tCF9vEtvD" , "gB4BrT", "ol_LWJGLException", "s8IF" , "FGHsT", "nms_GuiConnectFailed", "u4GF+gHp0D/gH8zFghHs2EhhH62DihH62E" , "FGHtT", "nms_ModelBase", "0dF66E56EkyFjyFr4Hs4H"
        , "ABCuT", "jur_AltQuantifierSet", "nmCF10CniCikHg9G" , "JKLvT", "cjj_GZIPInputStream", "riBFltBF10BF" , "FGHwT", "nms_ItemStack", "/gCFjhCFkhCFlhCFnhCFqhCF7jCF2iD3iD7zEOrgFsgF9mF+mFm6FohEv6Fw6Fx6Fy6Fz6F06Fm7Fn7F0zH1zHj0Hk0H5/H6/H7/H8/HlgImgInhIohI2hI3hI4hI5hIqiIriIlkJ/7Bg9JniIh9JvlJz+J0+J0tK1tKhuKFuvKinIh7Kl6J/mLgnLspLtpL" , "FPQRgCxT", "nleit_TeaVMClientConfigAdapterHooks$callScreenChangedHook$lambda$_3_0", "56FFjjGqF" , "ANyT", "ji_DataOutputStream", "/pFFgwFyrFhwF0rFy8Fz8F08F18F28F38F48FkpDx1GstGy1GutGz1GwtG01GytG11G0tG46HkpD"
        , "ABCzT", "jur_AbstractCharClass$LazyJavaLowerCase$1", "53EFwsF2a" , "FGH0T", "nms_Path", "2uIF8uJ9uJlxJmxJnxJoxJwxJxxJyxJzxJw/Jx/Jy/Jz/J" , "FGH1T", "nms_EntityMobs", "4vIFs/IurHuyJjtI7lKy8EzmKqhK6mKqpJ4wKnvKhxK0qK2nLplL9nL5lL" , "FGH2T", "nms_NoiseGeneratorPerlin", "5wJF32JF68K78Ku9Kv9KwkLxkLykLzkL0kL1kL2kL3kL" , "gBgChCYiC3T", "otcit_FixedDateTimeZone", "njCFruCquC32C2nCjtDmoCptDkoC" , "gBgCoD4T5T", "otji_IDBObjectStoreParameters", "n7Do7Dp7Dq7D" , "Ab6T", "jl_Object$monitorExit$lambda$_8_0", "6pBF5yCqF"
        , "JK9I7T", "cjj_Packet", "yzGF" , "FPQR8T", "nlei_PlatformInput$1", "jaF1kB0TzuB/fy/C/f" , "FPQR9T", "nlei_PlatformInput$2", "kaF2kB0T0uB/fz/C/f" , "ABC+T", "jur_UCISupplRangeSet", "+kCFysD2a1kGkB" , "FGH/T", "nms_Packet54", "vxIw6HkzIy6Hv1Ij3Ho+IF" , "FPQRgU", "nlei_PlatformInput$3", "laF3kB0T1uB/f0/C/f" , "FPQRhU", "nlei_PlatformInput$4", "maF4kB0T2uB/f1/C/f" , "ANiU", "ji_PrintWriter", "u3FFv3F2iBw3FoDo+FFurGvrGwrGm3CxrGoDr7GkpDt7GgpD2pHkpD73HkpDtnIunI" , "FGHjU", "nms_BlockCrops", "toBFivFm7CjmGo6Fg3Il2Dt4I8rI/nJgoJy0KysKq1K0sK81K+sK37K47K"
        , "gB4B7EkU", "olo_Display", "j2DlF/5IF" , "ABClU", "jur_AbstractCharClass$LazyPunct", "htCFjvEtvD" , "gBgChCYsJmU", "otcic_Console", "++E/+Eg/Eh/EonFpnFqnFrnF28IF" , "gBgCoDnUoU", "otjw_WebSocket", "n/GsJ" , "FPQRpU", "nlei_PlatformAssets", "zN0NkWlWgX4B+gBlWnsBosBpsBlW1hD2hD3hD4hDzrElW6sElWu6IF" , "FGHqU", "nms_MouseFilter", "1QF1zD2zD" , "FGHrU", "nms_BlockFence", "gpBF1zCp2BrmGo6FuzHtvHu1JwmJzhL8qJ" , "gBgChCYiCsU", "otcit_CachedDateTimeZone$Info", "9vD2nCmwDkoCpmEF" , "FPQRtU", "nlei_OpenGLObjects$ProgramGL",
        "4gBFksB4B" , "FGHuU", "nms_Packet15Place", "nyIw6H8zIy6Hj2Ij3Hv9IFnoKFryK76H" , "FGHvU", "nms_NoiseGeneratorOctaves", "suJFhqKiqK9qK+qKhvKivK" , "ABwU", "ju_Dictionary", "wuCF0jDyO" , "FPQ7ExU", "nleo_TextureFormatHelper", "n9Fo9F98IF" , "FGHyU", "nms_Packet40", "wxIw6HlzIy6Hp1Ij3Hj+IFw7Jx7J" , "AbzU", "jl_Throwable", "STUVlCFgDhDjFOmRFqqB5GwuBFopCppCh7Ci7CzrD0rDsyDppC0vGF" , "ABC0U", "jur_AbstractCharClass$LazySpace", "6sCF8uEtvD" , "AB1U", "ju_HashMap$1", "i5DFxuEuT" , "AB2U", "ju_HashMap$2", "rvDFmuEuTrzK2a"
        , "AnB3U", "jt_SimpleDateFormat", "zHFwQFldFymBzmBr/Cs/CouD2HhvGFlwGmwG" , "FPQRgC4U", "nleit_DebugConsoleWindow", "9K+K+S4BikF84EgpFhpFlrFmrFnrForFprFqrFj6IF" , "FPQ1P5U", "nleb_EaglercraftSaveManager", "+0DF6vHk+GpwH0oHqwH2oH99Hv3H+9Hx3H/9Hz3Hg+Hi+Gs/Hg7Ht/H33H4jI5jI" , "FGH6U", "nms_MapGenCaves", "ruJFzzKkqK88K98K+8KulI" , "AB7U", "ju_LinkedList$SequentialListIterator", "h5DFvuEzKwuE1K/2EpvD+iGpoChkG44BuoGvoG" , "FPQR8U", "nlei_EnumEaglerConnectionState", "99G4Bk/GFl/Gye+kH0f" , "FPQRgC9U+U", "nleito_JSEaglercraftXOptsAssetsURI",
        "7E8E9E+E" , "FGH/U", "nms_GuiMultiplayer", "gqGF40Gp0D50G8zF60G02E70Gs2E80G62D90G34D+0G62E" , "gBgChCYiCgV", "otcit_DateTimeZoneProvider", "pjCmgC3nC4B5nC6nC7nC8nChoCioC1qC2qChrCirCisCjsCmsCnsCvlEwlE37IF" , "FGHhV", "nms_PositionTexureVertex", "9+CF4nDF6nD7nDh9DF" , "AbiV", "jl_NegativeArraySizeException", "1rCF" , "FPQjV", "nle_Filesystem", "hOiOtY4Bx6IF" , "FGHkV", "nms_EntityBoat", "m8JFpgKF2jKisFpkKtuHznKqpJr2K67E13KurH83KkgIj4K8rFw4Ky8E84K0qKl5K06Jr5Kn7Jw5KutKz5Kr7Ju/K+5KyiL0+K9iL/jI+iLm8G" , "ABlV",
        "ju_Map$Entry", "p9Eo5Cq9EyiB" , "J6M7MmV", "cch_HashContainers", "91B+1Bt7B4B+gD/gDghDhhDq5Dr5D96D+6D/6Dg7Dx7IF" , "FGHnV", "nms_Packet70", "4xIw6HtzIy6Hx1Ij3Hq+IF/sJ4B" , "FPQRgCoV", "nleit_ES6ShimStatus", "hLiLlLmLrLsL/S4BgThTiTF" , "FPQRgCpV", "nleit_EnumES6Shims", "ufvf+qB4ByyBFzyBye0yB0f" , "FGHqV", "nms_GuiTexturePacks", "hqGF/0Gp0Dg1G8zFh1Gy2Ei1G02Ej1G62Dk1G62Em+Gn+G60H70Ho1Hp1Hq1Hr1Hu1Hv1H/1Hg2Hh2Hi2Hl2Hm2Hn2Ho2Hp2Hq2Hr2Hs2Ht2Hu2H" , "FGHrV", "nms_GuiControls", "84GFmhHp0DnhH8zFohHs2EphH62E8nH9nH"
        , "ABsV", "ju_FormatterClosedException", "lnFF" , "FPQtV", "nle_EagRuntime$debugPrintStackTraceToSTDERR0$lambda$_25_0", "5JF+1C6el/C6e" , "FGHuV", "nms_BlockRedstoneRepeater", "npBF2wB4B6zCp2Bh0ClxB27Cm7CsmGo6FvlHt+G6yHpuHxzHtvH39Hi0Hr3Il2D53IpmIo5InsIsoJtoJ0rJvrJwmK9+JqzK2nJxzK4pK31K0sKphLx7K2hL8qJ" , "JKdvV", "cjj_Floor0$LookFloor0", "rqIF" , "FGHwV", "nms_GuiTexturePackSlot", "85GF8vHxpG+vH4lHgwH6lHiwH8lHkwHkmHmwHmmH" , "ABxV", "ju_TemplateCollections$AbstractImmutableSet", "wrBF" , "FGHyV", "nms_EntityExplodeFX",
        "jsJFr3Jr2F13Jy8E" , "FGHzV", "nms_TileEntityMobSpawner", "/8IFnmJomJnnKinIp9Kq9KpjLl6JvjLwlIwmLxmLymLzmL" , "FGH0V", "nms_NoiseGenerator", "4vJF" , "JKd1V", "cjj_InfoMode", "1tHF" , "AWXY2V", "jnci_UTF16Decoder", "lxDF1gH53GzmH0mH1mH2mH" , "ABC3V", "jur_GroupQuantifierSet", "8lCF+kGkB5jHg9G" , "FGH4V", "nms_EnumArt", "u/H0fguI4BivIFjvIye" , "Ab5V", "jl_OutOfMemoryError", "hgGFw8IF" , "Ab6V", "jl_IllegalStateException", "gcFhmBF" , "JKd7V", "cjj_Residue0$LookResidue0", "wqIF" , "AB8V", "ju_Random$nextGaussian$lambda$_9_0",
        "5+JF1mKhiK" , "FPQRgC9V", "nleit_IndexedDBFilesystem$AsyncHandlers$9", "1iKF5iK0T7iK/f" , "AB+V", "ju_AbstractList", "nfFi/B44B3xCuTs7CpoCu7C44Bs+Ct+CkiDqXy9Et+CxiGJ8pGqW" , "ABC/V", "jur_ReluctantCompositeQuantifierSet", "lmCFhkHg9G" , "FGHgW", "nms_ModelChicken", "1qEF1+H56EmpIjyF" , "FPQRgChW", "nleit_IndexedDBFilesystem$AsyncHandlers$8", "t/GF+/G0TmgH/f" , "FGHiW", "nms_EnumOptionsMappingHelper", "86H4Bj/IF" , "FPQRjW", "nlei_PlatformInput$MobilePressAnyKeyHandler", "8gD8I" , "AW4D", "jn_ByteBuffer",
        "/zBXk9BFg3Ci0Bh3C5Di3Ct0B6oDXmpDqWlsDn0B+qF/nF/qF1U5nGyO9nGknGz2G5D73GyO" , "ABCkW", "jur_SOLSet", "rmCFjlGkBkkHg9G7xHvsH" , "FGHlW", "nms_BlockJukeBox", "/oBFn0ClxB19Hi0HijIjjIylKj9J" , "FPQRgCmW", "nleit_IndexedDBFilesystem$AsyncHandlers$1", "g7BFz9B0T9/B/f" , "FGHnW", "nms_Packet24MobSpawn", "6xIw6HvzIy6Hh2Ij3H39IFy8Jz8J" , "FPQRgCoW", "nleit_IndexedDBFilesystem$AsyncHandlers$3", "i7BF19B0T//B/f" , "FPQRgCpW", "nleit_IndexedDBFilesystem$AsyncHandlers$2", "h7BF09B0T+/B/f" , "FGHqW", "nms_GuiIngame",
        "m0Dn0D/1DFk2Dl2DsiE4B10E20E30E40E70E80Er1Es1E3lJ4lJ67J3iI3sK4sK" , "FPQRgCrW", "nleit_IndexedDBFilesystem$AsyncHandlers$5", "vvKFxvK0TzvK/f" , "FPQRgCsW", "nleit_IndexedDBFilesystem$AsyncHandlers$4", "j7BF29B0TggC/ftiD/f" , "J6M7MtW", "cch_BufferAllocationException", "noDF4qDFqrDrrDyrDF" , "FPQRgCuW", "nleit_IndexedDBFilesystem$AsyncHandlers$7", "s/GF9/G0TlgH/f" , "FPQRgCvW", "nleit_IndexedDBFilesystem$AsyncHandlers$6", "wvKFyvK0T0vK/f" , "FGHwW", "nms_RenderFallingSand", "qrEFsiHltGzqH0qH" , "AnBxW",
        "jt_DateFormatElement$Numeric", "o9DF8yE2HmzEHwzEJgiFhiF" , "AByW", "ju_HashMap$HashMapEntrySet", "14FF9iGuT" , "ABCzW", "jur_AbstractCharClass", "zhC0hCrkC4BxkCFzkC0kC1kC2kC3kC4kC6kC7kC8kC9kC2pCjwBnuCouCk8Cl8Cm8Cl8CmjDnjDqjDrjD5jD4jDzlD2a" , "Ab0W", "jl_Byte", "+rFpKpsF4BqsFFugGvgGliLJ" , "FGH1W", "nms_IRecipe", "14B24B2yD3yDsqJg9GtqJuqJ" , "FGH2W", "nms_EnumStatus", "9rI4BnuIFouIyeu4I0f" , "FGH3W", "nms_ChunkProviderClient", "yoKzoK0oKhtJ1uKFpxKolIqxK3lIrxKOsxKzmItxK1mIuxKjkI" , "FPQR4W", "nlei_PlatformInput$VMouseEvent",
        "h6DF" , "FGH5W", "nms_TexturedQuad", "++CF/+Cg/C5nDF4uGnnD" , "AN6W", "ji_EOFException", "m+CFj5EF" , "FGH7W", "nms_Packet6SpawnPosition", "mxIw6H7yIy6H11Ij3Hm9IF" , "AnB8W", "jt_DateFormatElement$Iso8601Timezone", "y9DFjzE2HtzEH3zEJ" , "FGH9W", "nms_TileEntityChest", "7+IFpnKinIzuKr8Hu8KghIt9KkhIqjLl6JsjLz/HtjLxsJwjL39KxjLtgK" , "FGH+W", "nms_AchievementMap", "toDuoD5qD4BsrDF" , "FGH/W", "nms_BlockSoil", "uoBF2yCp2BjvFm7C0iHy8GjzHtvHh3Il2D64InsIhoJioJjoJkoJj1JwmJr1K0sK" , "gBgChCYsJgX", "otcic_ConsoleOutputStream",
        "zpBFumGkpD" , "ABChX", "jur_AbstractCharClass$LazyJavaIdentifierIgnorable", "ttCFvvEtvD" , "FGHiX", "nms_GuiVideoSettings", "74GFg+G4BjhHp0DkhH8zFlhH62E" , "JKLvK", "cjj_Inflater", "00BF20BFu6BFt9BoQ85C95ClyDmyDg5Eh5Er7IF4rJoQu+JoQ" , "ABjX", "ju_HashMap", "6IF3RFveF/pBgqBhqBiqBjqBkqBlyC5DmyCyO31CsN41CyN51CqW52CpoC72CgrC/5Cg6Ch6Ci6Cu+Cv+CvjDwjDjlDklDllDmlDnlDolDplDmhDxsD0fuuD3+Cl5Dm5Du8Dv8D98DmhD3uFo9E18K28K" , "AnBkX", "jt_DecimalFormat$MinusField", "47DFpwFHqwFJ" , "AWXlX", "jnc_CoderResult", "hpDipDvrD4B3rDFloFmoFmnGnnGonGpnGrnGsnGtnGunGwnGxnGynGflnHmnH"
        , "gBgChCYnBmX", "otcit_DoubleAnalyzer", "svGr/FpwG4BrwG6rFswGohGtwGqhG5+IF" , "ABCnX", "jur_EOLSet", "umCFmlGkBnkHg9G+xHvsH" , "FPQRoX", "nlei_IEaglerFilesystem", "1Y2YlgFmgFx5Fy5FzpH0pHljImjItmJumJ7pK8pK" , "FPQ7EpX", "nleo_VSHInputLayoutParser", "ncoc0c1ch7IF" , "ABCqX", "jur_Lexer", "28BF58BsN88BO98B+8Bv+Bw+Bx+By+B5+B6+B7+B8+B9+B++Bj/Bk/Bm/Bn/B0/BzKthCuhCvhCwhCxhCyhC1hC2hC3hC4hC5hC6hC7hC8hC9hC+hCtiCuiCviC6+BwiCxiC+iC/iChkCikCqlCrlC0lC1lCwmCxmCymCzmCvpCwpC9pC/iC/pCxiC4iD5iDksHlsHosHpsHqsHrsH" , "FGHrX",
        "nms_ModelSpider", "usEF4+H56EppIjyF" , "FGHsX", "nms_ClippingHelperImplementation", "05EjwBmlF4BnlFoQtpFFypFy+B" , "F3EjTGtX", "npem_AudioUtils", "ziB0iBotB4BypGzpGl7IF" , "FGHuX", "nms_EntityCow", "//JFinKqpJ32KoqKg3KuvJm3KwvJt3KyvJ63KkgI34K0qK1gLi5J" , "FGHvX", "nms_EntityPig", "6pJ7pJogKFmkKisFgnKqpJluKmuK22KoqK+2KuvJr3KyvJ+3KkgIg5K0qKzgLi5J" , "ABCwX", "jur_AbstractCharClass$LazyNonSpace", "5tCF7vEtvD" , "FGHxX", "nms_RenderTNTPrimed", "prEFriHltGxqHyqH" , "FGHyX", "nms_WorldGenDungeons", "3qKF4qKw9Jn9Ko9Kr9Ks9K"
        , "gBgCoDgEzX", "otjt_Int32Array", "jrBsJy5Cz5C" , "FGH0X", "nms_ItemMinecart", "r3BF+xK/nK" , "gBgChCYiC1X", "otcit_DateTimeZoneProvider$Score", "noCF" , "Ab2X", "jl_IllegalArgumentException", "+pBFktBF" , "AnB3X", "jt_SimpleDatePatternParser", "+nDF/nDgoDhoDioDi9Dj9Dk9Dl9Dm9Dn9D" , "FGH4X", "nms_EntityWaterMob", "riKFpuKqpJr/K0qK//KjtIygL06K8gL26K" , "FPQiL5X", "nlev_Matrix", "5vBF8vB7vBo3En3E" , "JKd6X", "cjj_Drft", "hvIF9vI4B2gJoQp6Jq6JrhKshK" , "Ab7X", "jl_InterruptedException", "06IF" , "FGH8X",
        "nms_ItemRedstone", "t3BF/xK/nK" , "AB9X", "ju_HashMap$EntryIterator", "roGFm0GzK/1GzK" , "AB+X", "ju_Collections", "/MgN4T4B7TgNz1B01Bq6IF" , "FGH/X", "nms_EntityList", "pmJqmJntJ4B+vJ7wGw2JFx8JhtI3gK4gKg7K+tK" , "JKdgY", "cjj_Floor1$InfoFloor1", "55HF65HgyC" , "AnBhY", "jt_Format", "hwBF" , "FPQRSiY", "nleib_EaglerArrayIntBuffer", "krBFtyCyOuyC1UrsDyOssDqWyyE4mEzyE5D0tF5DwvFn0BxvFp0B9vFyOp1G7c" , "FGHjY", "nms_WorldGenCactus", "qrKFrrKw9J" , "JKdkY", "cjj_CodeBook", "qtHFrtHstHt5Hu5Hv5HqWwgIxgIygI9gBpqIqqItrIurIvrIwrIxrIyrI"
        , "FGHlY", "nms_BlockFire", "noBFywBzwB0yCp2BgmGo6FopHppHgzHtvH+2Il2Dy3IpmI44InsI4nJ/uH5nJ6nJ7nJ8nJ9nJ+nJguJhuJg1JwmJkmK99JkzK2nJv0KysKrhL8qJ" , "FGHmY", "nms_WorldRenderer", "qnD4Bs1Ft1Fu1Fv1Fx1Fy1Fz1Fs3Dm3Fn3Fo3FFp3Fq3F39F49Fh+F5dpoGqoG" , "gBnYoYpYqY", "oacl_StringUtils", "j+Ck+CvnDwnDzqDsNg8IF" , "FGHrY", "nms_XGuiUmmm", "q0Dr0D32D42D42EF" , "AbsY", "jl_AbstractStringBuilder$Constants", "jhG4B+8IF" , "ABCtY", "jur_SingleSet", "w/BFmzC2/Bh1C6iCvsDq7C31GwyDnjHg9GhxH+rH" , "FPQRuY", "nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_0",
        "7zBFj6B+yBg9Bz5B" , "FGHvY", "nms_TexturePackList", "g1DFkgElgE80H90Hs1Ht1H" , "FPQRwY", "nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_1", "8zBFk6B+yBh9Bz5B" , "AbxY", "jl_Thread", "tOuOuZ4BvZwZxZuOmeneoepe8jBFquBFu9Cv9ConDpnDuqDvqDwqDpnDhxDixDz6IF" , "FPQRgCyY", "nleit_ClientMain$EPKFileEntry", "lEF" , "FPQRgCzY", "nleit_TeaVMBlobURLManager$HandleFakeBlobURL", "35BFjzCuzB/uD0oD" , "FGH0Y", "nms_NBTTagDouble", "hSFwxCoJ/tD2iC5xEO2mG2rF+6KF" , "JK9I1Y", "cjj_StreamState", "4xG5xG8xG9xGyyGqW3yGF/yGoQ1zGoQ82G92G+2G/2G"
        , "FPQRgC2Y", "nleit_EnumES6ShimStatus", "sftfzf0f8qB4BtyBFuyBye" , "ABC3Y", "jur_BackReferencedSingleSet", "qvDFluEq7C9kHwyDoxH+rH" , "AWXzL", "jnc_BufferOverflowException", "z3GF" , "gBgCkR4Y", "otp_PlatformQueue", "4pB5pB/4Bg5Bv8BXspDtpD/qD0G" , "gBgChCYiF5Y", "otciu_CLDRHelper", "pmBqmB+vB/vB4oC5oC6oC7oChpCipCjrCkrCnrCorCprCqrCtrCurCqsCrsCusCvsCwsCxsCuuCvuC2uC3uC9gF+gF/gFghFhhFihFjhFkhFlhFmhFnhFohFwnFxnFynFznF0nF1nF2nF3nF4nF5nF6nF7nF8nF9nFyqFzqF0qF1qF2qF3qF4qF5qF6qF7qF8qF9qF+hG/hGriGsiGtiGuiGviGwiGqsGrsGmvGnvGnwGowGsxGtxGrzGszGtzGtxG6zG7zGn7IF"
        , "FGH6Y", "nms_SignModel", "piGFjmJkmJ" , "FGH7Y", "nms_GuiContainer", "+jEF2oE4B7wE19C9wE34D68Ep0DvmFwmFzmF0mF1mF2mF3mF4mF3tFs2E7tFy2E9tF02E+zF/zF40J62E" , "FPQ7E8Y", "nleo_RealOpenGLEnums", "+5IF" , "Ab9Y", "jl_String$_clinit_$lambda$_93_0", "pCF" , "FGH+Y", "nms_Gui", "6QF20D30Dt1Eu1Eh2E50Dn2Eo2E72E82E" , "AB/Y", "ju_MissingResourceException", "07CF" , "AbgZ", "jl_StringIndexOutOfBoundsException", "q8CF" , "FPQRhZ", "nlei_RuntimeInitializationFailureException", "vLF9OF" , "AWXiZ", "jnc_CharsetDecoder",
        "y6Cz6C06C16C26C9gB0mEF+zE/zEgoF9gBkoFgpDxwFywFlnGviBqnG27EznG0nG2nG3nGw3Gx3G" , "gB4BjZkZ", "oli_Mouse", "p8IF" , "FPQRlZ", "nlei_IAudioCacheLoader", "8uG9uG" , "ABCmZ", "jur_UCIBackReferenceSet", "+mCFvlGkBwkHg9G" , "FGHnZ", "nms_Packet53BlockChange", "yyIw6Hn0Iy6H81Ij3Hn+IF" , "AWoZ", "jn_ByteOrder", "ijC4BqnCFx4Ey4E" , "FPQkZ", "nle_Mouse", "8zD9zD+zD/zD72DzKj3Dk3Dl4Dm4Dp4Dq4Dr4Ds4Dr0Es0Et0Eu0Et2Eu2Ev2Ew2Ex3Fy3Fq8IF" , "gBgChCYsJpZ", "otcic_StdoutOutputStream", "nR4B/dFtxEkpD" , "ABCqZ", "jur_DotAllQuantifierSet",
        "9lCFglGkB6jHg9G2kHwyD" , "FGHrZ", "nms_ItemEgg", "x3BF1xK9nK" , "gBgChCYiCsZ", "otcit_DateTimeZoneBuilder$Rule", "1vCFk5FjwDo5FzKq5Fr5F" , "FGHtZ", "nms_TextureWaterFX", "kIFuuF06E" , "ABuZvZ", "jur_RandomGenerator", "/iLgjLjmL+Q" , "FPQ7EwZ", "nleo_EaglercraftGPU$1", "xbF4yEsQ0hFsQ" , "FPQ7ExZ", "nleo_EaglercraftGPU$2", "ybF" , "FPQ7EyZ", "nleo_EaglercraftGPU$3", "zbF/1ClFg2CsQo/ClFp/CsQ" , "ABCzZ", "jur_ReluctantGroupQuantifierSet", "3lCF0jHg9G" , "Ab0Z", "jl_ReflectiveOperationException", "kuIF"
        , "J6M7M1Z", "cch_BitMixer", "n5Do5Dv8IF2tKo5D" , "AWX2Z", "jnc_CoderMalfunctionError", "1nGF" , "FGH3Z", "nms_TileEntity", "6oG7oG3vG4B6wG7wGxlIwlIp7IF+lJ/lJgmJqpF37JvsJ7gK8gKohKl6JwiKinI" , "FGH4Z", "nms_EntityFireball", "imLFknLisFhoLurHioL67EjoL87EkoL8/IloLtuHmoLy8EnoL0qK" , "FGH5Z", "nms_MinecraftError", "4tGF" , "FGH6Z", "nms_EntityPortalFX", "isJFk3Jr2Fl3J00Ew3Jy8E" , "FPQ7Z", "nle_BaseNCodec$CodecPolicy", "n+B4BrhCFshCyev2C0f" , "FGH8Z", "nms_ShapedRecipes", "ziDFnuE3yD7uE24B/1Jg9Gh2JuqJn+Jo+J"
        , "FGH9Z", "nms_MetadataChunkBlock", "plIqlIqkLFrkLskL" , "FPQR+Z", "nlei_PlatformIncompatibleException", "sMF" , "FGH/Z", "nms_SlotCrafting", "m8HFy/IshI1/IzhI2/I1hI" , "JKdga", "cjj_Floor0", "7+GFwgHo3GvyHw9G08HpmH28HsmHn/HutHtqIuqI" , "JKdha", "cjj_Floor1", "8+GF0/G4BvgHo3GwyHw9G18HpmH38HsmHo/HutHzgI0gI3gI4gI" , "ABCia", "jur_CIDecomposedCharSet", "wlCF" , "AWXYja", "jnci_AsciiDecoder", "nxDF3gH53G" , "FGHka", "nms_ChunkCoordIntPair", "rsIFk2IHl2IJ+jJ/jJ" , "FGHla", "nms_Packet13PlayerLookMove", "3xIw6HszIy6Ht9IF1kK76H6jLF"
        , "FGHma", "nms_StringTranslate", "j8Bk8Br8Bs8Bj+BjwBsgC4B1jCF/mFgnF" , "FGHna", "nms_Packet2Handshake", "04GFr/H76HzyIw6Ho0Iy6Hi2Ij3Hi9IF" , "FGHoa", "nms_Material", "lwB4Br2Bs2Bu2BFv2Bw2BmuGnuGquGruGqvHrvHutJvtJ" , "FGHpa", "nms_BlockOreBlock", "hoBF9yClxB" , "FGHqa", "nms_Entity", "zzD0zD+mE4Bz0E00El1Em1E57E67E77E87Ez8Ey8EnqFoqFuqFFvqF5dhsFisFg2Fh2Fm4Fl4F/6F96Fs7Ft7Fw7Fv7FhnGJinGHguGhuGiuGjuG37G47Gj8Gk8Gl8Gm8Gz8G08G58G68GhrHirHjrHkrHtrHurHvrHwrHsuHtuH22H32H/3Hg4Hs7Ht7H//HggIjgIkgIpgIqgI9jI8rF+jI/jIhnIinIwuIxuI7/I8/IrmJsmJ3oJ4oJppJqpJgqJhqJ35J45Jk6Jl6Jv6Jw6Jz6J06J+6J/6Jg7Jh7Jm7Jn7Jq7Jr7Jy7Jz7J09J19JlhKmhKpqKqqKrqKsqKtqKuqKzqK0qK9rK+rKttKutK9tK+tKovKpvK75K85K95K+5K/5Kg6Ko6Kp6Kq6Kr6Ks6Kt6Ku6Kv6Kh+Ki+Kz+K0+K1+K2+Kj/Kk/K3/K4/K8kL9kL+kL/kLklLllLxoLyoLlpLmpL"
        , "J6M7Mra", "cch_IntObjectHashMap", "2bF0lBF1lB4ByvBF71B81B/1Bg2B71C5D81CyO4+C5+C7+C8+CihDjhDkhDsNlhDmhDp5DyN" , "FPQRSsa", "nleib_EaglerArrayBufferAllocator", "wTnM3f4BtgBugBygBzgB/gBugBghBhhBjjB6X+rB/rB2vBjcuhGvhGy7Gz7G76IF" , "FGHta", "nms_WorldGenerator", "v9Jw9J8hKFhrKirK" , "FGHua", "nms_Packet31RelEntityMove", "/xIw6H0zIy6H99IF" , "ABva", "ju_PriorityQueue", "+nCF8qC9qCjuDyNzuD0uD1uD2uDr8Dg2Bs8Dt8D47IF5rJF" , "gBgChCYnBwa", "otcit_DoubleAnalyzer$Result", "giGF" , "FPQRgCxa", "nleit_EarlyLoadScreen",
        "pNqN7N8N9N+NrQsQ/V4B7Y8Yt6IF" , "FGHya", "nms_EntityFlying", "viKFuiLy+KtnLkrHynLhlL" , "FGHza", "nms_NBTTagLong", "/RFuxCoJ9tD2iC3xEO0mG2rF6tKF" , "AB0a", "ju_AbstractCollection", "3qBF54B44BxoCsNt2C01Bw2Cx2Cy+C2a6uF7uF3iGO9pGqWj6GpoC70Jx2C" , "FGH1a", "nms_Packet19", "r9FFyxIw6HnzIy6Hg2Ij3H78IF6wK76H" , "AN2a", "ji_ByteArrayInputStream", "pGF/IFkuD2iBpuD6hBiyE6hB" , "gBgChCY3a", "otci_IntegerUtil", "+B/BrpD/B15IF" , "FGH4a", "nms_LoadingScreenRenderer", "+HFz3F03F13F23Ft+Fu+FyrGzrG21J6oJ" , "AB5a6a7a",
        "juca_AtomicInteger", "u7Bv7B79BF" , "FGH8a", "nms_InventoryLargeChest", "6iIF7yJghI8yJvsJ9yJxsJ+yJkhI/yJz/Hv2Jr8HxmKtgKjiL39K" , "ABC9a", "jur_PossessiveAltQuantifierSet", "hmCF9jHg9G" , "FPQ+a", "nle_EagRuntime$getStackTrace0$lambda$_29_0", "tSF1xC6eq5C6e" , "FPQ/a", "nle_EaglercraftUUID", "ukBvkBwkBOvsBwsBvuBF76C86C" , "JKdgb", "cjj_Block", "gyGhyGzyGqW4yGFkzGoQ" , "FPQRgChb", "nleit_IndexedDBFilesystem", "ujBvjBjuBF46B56B76B86BwzC2Ys0GmgFs1Gy5Fi+H0pH60JmjI3lKumJgiL8pK" , "FGHib", "nms_RenderLiving",
        "jrEFvsEwsEgiHltG7pH8pH93H+3Hh4Hi4Hj4Hk4Hl4Hm4Hn4Ho4Ht4Hu4Hv4Hw4Hx4Hy4Hz4H04H3nI4nIiqIjqI" , "gBgCoDsMjb", "otjc_JSObjects", "sxBtxBxxByxBzxB0xBu7IF" , "FGHkb", "nms_ClippingHelper", "trFFo7GirG" , "FGHlb", "nms_BlockSign", "woBFizCp2BzjG12F8jG32FkmGo6FkzHtvH74InsIk1JwmJt1K0sK+hLn8K" , "FGHmb", "nms_GuiWorldSlot", "y5GF7vHxpG9vH4lH/vH6lHhwH8lHjwHkmHlwHmmH" , "gBgChCYiCnb", "otcit_StorableDateTimeZone", "xnCFosC6hBnvCovCpvCqvCvwCwwC" , "FPQRob", "nlei_OpenGLObjects$TextureGL", "pgBF4rB4B9mG6/F" , "ABCpb",
        "jur_AbstractCharClass$LazyWord", "3tCF5vEtvD" , "ABqb", "ju_Objects", "4K5K8S5Km7DJsiFtiFooFHi6IF" , "FGHgb", "nms_Block", "9d4BhnBinBjnBknBlnBmnBnnBonBrnBFunBvnBxnBynBppBqpBkwBFmwBnwBkxBlxBo2Bp2Bn8Bo8B96C+6Cn7Cm7C02F12F22F32F75F85Fn6Fo6F5qG6qGssGtsGx8Gy8G38G48Go+Gp+Gq+Gr+Gs+Gt+GouHpuHgvH/uHsvHtvH6zH7zH8zH9zHh0Hi0HsiItiI8jI67G1kIl2D7kI8kIomIpmI7rI8rImsInsIwlJxlJvmJwmJ3nJ2nJ8oJ9oJ+oJ/oJ9qJ8qJwrJvrJi9Jj9J89J99J+9J/9Jg+Jh+Ji+Jj+J8+J9+JqpKrpK3pK4pKlsKmsKnsKosKxsKysKzsK0sK1sK2sKu7Kv7Kw7Kx7KvoLwoL" , "ABCrb",
        "jur_SequenceSet", "nnCF+0C6iCxlGkB5kHwyDjtHqX7wH+7CkxH+rHh5HhMj5HmrC" , "ANsb", "ji_DataInput", "hJiJlJmJ74C84C94C+4C/4Cg5Ch5Ci5Cj5Ck5Cl5Cm5CqkEm5C" , "FGHtb", "nms_MovementInput", "v+FFw/Hx/HrgIsgI56K66K" , "ABCub", "jur_AltGroupQuantifierSet", "6lCF00CniC3jHg9G" , "FPQRvb", "nlei_IWebSocketClient", "r4G65Fv4G2iB72H82Hp3Hq3Hs6H62H" , "ABCwb", "jur_UCIRangeSet", "hlCF3kGkB3wH+7C" , "FGHxb", "nms_MobSpawnerForest$_init_$lambda$_0_0", "qwIFiwKhtI" , "FGHyb", "nms_MobSpawnerForest$_init_$lambda$_0_1",
        "rwIFlwKhtI" , "gBnYoYpYzb", "oacl_ArrayUtils", "unDsNxqDyqDprDsCi8IF" , "FGH0b", "nms_MobSpawnerForest$_init_$lambda$_0_2", "swIFnwKhtI" , "J6M7M1b", "cch_ObjectIntMap", "3xJyO" , "FGH2b", "nms_MobSpawnerForest$_init_$lambda$_0_3", "twIFmwKhtI" , "FGH3b", "nms_FurnaceRecipes", "w4Bx4By4Bz4Bu8B4Bm+BFohCphC9mL+mL" , "FGH4b", "nms_Slot", "5mF6mF7mF8mFpqFqqFp8HFphIqhIrhIshIthIuhIvhIwhIxhIz/HyhIzhI0hI1hI" , "FGH5b", "nms_MobSpawnerForest$_init_$lambda$_0_4", "uwIFpwKhtI" , "AB7C6b", "juf_Function", "xjDgjD"
        , "JKd7b", "cjj_FuncResidue", "r3Go3G49G4B1/GFqmHk3GztHw9Gz5HutH" , "FGH8b", "nms_BlockOre", "1nBFn0KysKg1K0sK41K2sK" , "FGH9b", "nms_Render", "urEvrE5rEFktGltGmtGntGnqHoqHtqHuqH9qH+qH/qHgrHquHruHwuHxuHp4Hq4HiqJjqJ" , "gBgCoDsM+b", "otjc_JSMap", "vJwJ" , "FGH/b", "nms_BlockSnowBlock", "7oBFo3Il2D40KysKy1K0sK" , "FGHgc", "nms_BlockDirt", "qnBF" , "gBgCkRhc", "otp_Platform", "abzB0BsFtFikBjkBkkBlkB7pB8pB3yBL4yB5yBh5Bi5Bt5Bu5Bv5Bw5Bw8Bx8Br8CkBs8C0Ct8C2CvgDlzB1lD2lD3lD4lD26DsgD2qImxChuIpxCiuIjuIy5IF" , "FGHic",
        "nms_Packet39", "2xIw6HrzIy6Hi1Ij3Hi+IF" , "AWXjc", "jnc_CodingErrorAction", "qlD4BqpDF" , "FGHkc", "nms_MinecartTrackLogic", "irJFjrJkrJzuJ0uJ1uJ2uJ3uJ4uJ8wJ9wJ++J/+Jg/Jh/Ji/Jj/Jk/Ji3Dl/Jm/JkiKliKmiKniK" , "FGHlc", "nms_Packet38", "9xIw6HyzIy6H80Ij3Hh+IF" , "Abmc", "jl_Boolean", "oTpTirB4BvrBpK2yBFhtFHmyFHmgGO" , "FPQRSnc", "nleib_FloatBuffer", "tWqWuWyOvW1UkcyO8yBFwpFp0BxpF5DzpFn0B0pF5D1pFn0B" , "ABoc", "ju_NoSuchElementException", "tjDF" , "FGHpc", "nms_SoundManager", "iIF88C98C6yD7yDw1Dx1D5zF6zF33F43Fo9Gr0FyzHzzHl6Hm6H"
        , "FPQRqc", "nlei_OpenGLObjects$ShaderGL", "1gBFisB4B/xCgyC" , "FGHrc", "nms_EntityZombie", "ghJFlzJuvJnzJyvJqkKi5J5wKnvK3zKoqK" , "ABCsc", "jur_BackReferenceSet", "9mCFi1C6iCulGkBvkHg9G4kHwyDjxH+rH" , "ABCtc", "jur_DotQuantifierSet", "/lCFhlGkB7jHg9G3kHwyD0sH1sHhtHitH" , "gBgCoDsMuc", "otjc_JSFinalizationRegistry", "yJzJ" , "AnBvc", "jt_DecimalFormat", "k+BFugCFvgC4B6jCzmB57D67Dl8Dm8Dn8Do8D/gGghG07IF" , "FGHwc", "nms_EntityPainting", "o7JFngKFvhKwhK1jKisF5mKqpJ/tKguKs2K67E33KurHx4Ky8E+4K0qKy7KFz7K07K"
        , "gBgChCYnBxc", "otcit_FloatAnalyzer", "5rF6rFmsF4Bq/Fr/FnhGohGphGqhG48IF" , "FPQ7Eyc", "nleo_WorldRenderer$_init_$lambda$_0_1", "5rDF" , "FPQRlNzc", "nleiv_VFileInputStream", "z5FF/iG2iBgjG6hB" , "FPQ7E0c", "nleo_WorldRenderer$_init_$lambda$_0_0", "4rDF" , "FGH1c", "nms_Packet28", "qxIw6H/yIy6Hg1Ij3H69IF" , "AB2c", "ju_HashMap$ValueIterator", "9zEFtsFzK" , "FGH3c", "nms_Packet27", "uxIw6HjzIy6H70Ij3H59IF" , "FPQR4c", "nlei_OpenGLObjects$RenderbufferGL", "qgBF5rB4B" , "FGH5c", "nms_Packet25", "7xIw6HwzIy6Hj1Ij3H49IF"
        , "ABC6c", "jur_AbstractCharClass$LazyJavaJavaIdentifierStart$1", "i4EF5sF2a" , "gBnY7c8c9c", "oall_LogManager", "jG4BvIwI55IF" , "FGH+c", "nms_ItemDoor", "n3BF9xK/nK" , "FPQ7E/c", "nleo_GlStateManager$TexGen", "7jF4B9oFF+oFyeyvF0f" , "FGHgd", "nms_GuiIngameMenu", "t5EFruFp0DsuF62DtuF62EtjG8zF" , "ABhd", "ju_Arrays", "jXJhfifngBgNnhBohB2rB3rBp5Bq5BiwCjwC8wCq5B/wCq5B1+CjwC0nDjwCopDq5BgwDhwDv+DhwDm5EjwCuiFHviFJjkFjwCpoFohBipFjwCmhGhwDkiGhwDqwGhwDuxGhwD96IFkpKjwCy6KjwCw/KjwC" , "FGHid", "nms_SaveHandlerMP",
        "yhKF4jK5qI5jK3tI" , "ABCjd", "jur_CharClass$3", "lkDFiwE2a" , "gBnY7c8ckd", "oall_Level", "4R4BweFxeyek2C0f0xD1xD" , "FGHld", "nms_NBTTagInt", "+RFtxCoJ8tD2iC2xEO37FFzmG2rF" , "ABCmd", "jur_CharClass$4", "okDFlwE2a" , "ABCnd", "jur_CharClass$1", "kkDFhwE2a" , "ABCod", "jur_CharClass$2", "mkDFjwE2a" , "FGHpd", "nms_StatList", "wpBxpB8wB4B9wB+wB/wBgxBhxBixB53B63Bi4Bj4Bk4Bl4Bp8Bq8BnhDohDq7IF" , "ABCqd", "jur_CharClass$7", "pkDFmwE2a" , "ABCrd", "jur_CharClass$8", "skDFpwE2a" , "ABCsd", "jur_CharClass$5",
        "nkDFkwE2a" , "ABCtd", "jur_CharClass$6", "qkDFnwE2a" , "FGHud", "nms_EnumOS", "wvB4B51BF61Byeo2C0f" , "ABCvd", "jur_DotSet", "5mCF60CniC80C2iCqlGkBrkHg9GiyHvsH" , "ABCwd", "jur_CharClass$9", "rkDFowE2a" , "ABxd", "ju_GenericEnumSet$1", "nvDFjuEzKkuE1K8zEzK" , "JKdyd", "cjj_FuncMapping", "j3Gk3Gn3Go3G19G4Bw/GFttHutH0tHw9G" , "FGHzd", "nms_EntityLavaFX", "lsJFn3J00Es3Jr2F23Jy8E" , "Ab0d", "jl_Character", "5C6CuF4Bx7By7B89By7BhgCigCghCpKjjCkjC8jCF9jCxiC+jC/iC/jCgkCjkCkkC0mCOhnCinCknClnCrnCsnCtpCupCxpCkkC4pCy0B5pC0aoqCpqCqqCrqCzrCupC2rCy0B3rC0a4sC5sChuCiuCjuCkuCluCmuC7uC2iC9uC+uCjvCkvClvCmvC5vC6vC7vC8vC9vC+vC/vCgwCkwClwCywCzwC6wC7wCkvDHh+DHyuEJgxFhxFixFjxFkxFlxFmxFnxFoxFpxFqxFrxFsxFtxFuxFvxFwxF6+BxxFyxFzxF0xF1xF2xF3xF4xFryF2iCsgGtgG0gG1gG0iGO+1Gv6C09Gv6CisHjsH3tHgzBkvHyxFk5HnsHk7HnsH"
        , "FGH1d", "nms_EnumOptions", "9jE4B0oEF1oEyepyE0f34G44G94G+4G/4Gg5G2nH3nH4nH5nH" , "ABC2d", "jur_CICharSet", "plCF8kGkB6wH+7C" , "ABC3d", "jur_SupplCharSet", "iqCFy0C6iCi8Cj8C3lGkB8kHwyD/wH+7CnxH+rH" , "FGH4d", "nms_Packet0KeepAlive", "myIw6H7zIy6Hl1Ij3Hg9IFn2K76H" , "gBgCoDsM5d", "otjc_JSNumber", "8rB9rB" , "Ab6d", "jl_StrictMath", "iiK44CjiK8nEtnKF" , "FGH7d", "nms_BlockGravel", "0nBF/0K0sK" , "FPQRgC8d", "nleit_IndexedDBFilesystem$DatabaseOpen", "96BF" , "ABC9d", "jur_AbstractLineTerminator", "+lCjwB4rCF8sH9sH+sH/sH"
        , "JKd+d", "cjj_Info", "1yGqW6yGFgzGoQlzGmzG5zG4Bt9Gu9Gx9Gy9G" , "AWXY/d", "jnci_Iso8859Encoder", "54EF7gH+3G" , "Abge", "jl_Exception", "vBFtIFykBF3mLF" , "AWXhe", "jnc_StandardCharsets", "yhB4B+6IF" , "gBgChCYiCie", "otcit_DateTimeZoneBuilder$DSTZone", "suCquCxvCF7sD2nCgtDmoCmtDkoCnwDowDshFrmE" , "FPQpSje", "nlec_GeneralDigest", "xzB6N+5BFg6BviBwgD6NxgDygDzgD0gD56D46D66D76D" , "FGH7T", "nms_Packet", "7/FFwhG4BmiGniGh3HznHi3Hj3Hn3Ho3Ht6Hu6Hv6Hw6Hx6Hy6H26H36H66H76H" , "FPQRke", "nlei_PlatformRuntime",
        "zF4B/GlFgHhHiHjHkHlHmHnHoHpHqHrHuHvH7H8HxIyI3J4JtLuLwLxLmMnMoMpM3M4MrOsO0O1O7O8OlPmPqSrSsS5GlXmXrXsXyXsX5X6X7X8X/YuO3Z4Z5Z6Z7Z8Z8e9euhBvhBwhBxhB3iB4iB9iB+iB/iBgjBhjBijBxjBwZyjBuOskBtkB3lBjc4lBmczsB0sB1sBvhB2sB3sB4sBxhB6tB7tB8tB9tBlvBmvB1zB2zBj1Bk1Bl1B7tB8hD9hD+hD/hDniDoiDpiDqiDkoDloDy5Dz5Di/D9yDs/DqzDtkEukE89E99E+9E/9EqjF61ErjF81EsjF+1Eu7Gv7GnjIojI45IF" , "FPQle", "nle_EagUtils", "7WuOihB4BjhBkhBlhBmhB7lB8lB3gEuO86IF" , "ABCme", "jur_AbstractCharClass$LazyJavaMirrored$1", "83EFzsF2a" , "FGHne", "nms_ModelGhast",
        "1sEF6+H56ErpIjyF" , "ABoe", "ju_AbstractMap$KeySet", "5sKF2wKuT" , "FGHpe", "nms_GuiDispenser", "ylJF20JwmF30J4mF" , "FGHqe", "nms_EnumCreatureType", "qsI0fssItsIusIvsIysIzsI6sI7sItuI4B2vIF3vIye" , "ABCre", "jur_UEOLSet", "6mCFrlGkBskHg9GjyHvsH" , "FGHse", "nms_ItemSaddle", "s3BFmyK6/HnyKioK" , "ABCte", "jur_UCICharSet", "olCF7kGkB5wH+7C" , "AWXYue", "jnci_Iso8859Charset", "6sBFwtDx6CzwE8oD" , "FGHve", "nms_NBTTagByteArray", "iSFxxCoJguD2iC6xEO77FF3mG2rF" , "FGHwe", "nms_GLAllocation", "3Q4Qwd4BxdydgzDhzDj/Dk/DvhEwhEh0Ei0E56IF"
        , "ABxe", "ju_FormatFlagsConversionMismatchException", "7hGF" , "ABCye", "jur_RelCompositeGroupQuantifierSet", "5lCF2jHg9G" , "FGHze", "nms_FontAllowedCharacters", "9rE4B8sE9sExzFyzFz8IF" , "AB0e", "ju_ArrayList", "rTF1fFh/B44Bu/ByNv/B5DgoCFu2CpoCy2C4Hs5Ct5Cj7Cg2Br7CpoCt7C44B0yD1yDsxEqWziGH2iGO" , "Ab1e", "jl_IllegalMonitorStateException", "teF" , "FPQR2e", "nlei_PlatformInput", "lNmN5N6NlOmO2O3O+O/OyQ8HiRjRkRlR+V4B4X6N9Y+YgZhZlZmZ/Zga3a4a5a6a7a8ambnbobpbqbrbsbtbqdrd7iB8iBnlBolBplBpbqlBrlBslBrb0mB1mBuvBvvB+/C//CggDhgDigDjgDkgDlgDthDuhDvhDwhDxhDyhD7lD18CwmDxmD65D75D85D95D+5D/5Di6Dj6Dk6Dl6Dm6Dn6Do6Dp6Dq6Dr6Du6Dv6Dw6Dx6D79D89Dr/DlzDu/DszDv/Dw/Dx/Dy/Dz/D0/D3iE4iE5iE6iE7iE8iE9iE+iE/iEgjEikEjkEkkElkEmkEnkEzkE0kE1kE2kE3kE4kE5kE6kE7kE8kE9kE+kEhmEimEjmEkmE3oE4oE6oE7oE9oE+oE/oEgpEhpEipEjpEkpElpEmpEnpEopE1rEsnE+rE/rE6iF7iF8iF9iFzjF0jF1jF2jF3jF4jFtkFp5EmmFnmFs6IF"
        , "FGH3e", "nms_Timer", "9HF48C58C" , "FGH4e", "nms_RecipesArmor", "7gCF8gCygC" , "FGH5e", "nms_MovementInputFromOptions", "h4FFm2Ix/Ho2IsgI9gL66K" , "J6M7M6e", "cch_ObjectIntHashMap", "8vJF1xJF2xJ4B9xJF+xJ81B/xJg2B22JyO0/J5+C1/JJ2/J8+C3/JjhD4/JsN5/JmhD3tKyN" , "ABC7e", "jur_RelAltGroupQuantifierSet", "4lCF1jHg9G" , "AWX8e", "jnc_Charset$Charsets", "t6B4Bw7IF" , "FGH9e", "nms_NoiseGenerator2", "5vJF0xJ4B12JF48K58KtkLXukLvkL" , "FPQR+e", "nlei_OpenGLObjects$FramebufferGL", "iNF8T4B" , "ABC/e", "jur_FSet$PossessiveFSet",
        "wkCFzkGkBrjHg9G1xHvsH" , "FGHgf", "nms_EntityBubbleFX", "/rJFx3Jy8E" , "Abhf", "jl_RuntimeException", "RFrFF9ZFnkLF" , "FPQ1Pif", "nleb_EaglercraftSaveHandler", "7jIF9wI5qI+wI3tI/wIy7H" , "ABCjf", "jur_PosCompositeGroupQuantifierSet", "2lCFzjHg9G" , "ABkf", "ju_AbstractMap$KeySet$1", "n6KFggLzKhgL1KigLpoC" , "FPQRgClf", "nleit_MainClass", "ABwBxBw5IF" , "FGHmf", "nms_EntityItem", "hkJF6yJisF62JurHggKF/lKy8E4mKqpJntKotKlxK0qKi2Km8Gj2K08Gk2K68GljL4/K" , "FPQRgCnf", "nleit_IndexedDBFilesystem$AsyncHandlers",
        "/tBguBq1Br1Bs1BguBriDsiDi4Gj4Gw7Gx7G69G79G89Gj4Gu+Gv+Gw+Gx7Gg/Gh/G+tH/tHrnIsnI4tI5tI6tIsnI7uI8uIs7IFp9Jq9J5hK6hK7hKq9J7sK8sK2uK3uKjvKkvKlvK8sK" , "FGHof", "nms_RenderFish", "trEFviHltG5qH6qH" , "FGHpf", "nms_RenderManager", "7/D4BinEF91F81Fm2Fn2Fi7Fj7F+7F/7F2rG3rGitGjtG7qH8qHl+JmmJ" , "FGHqf", "nms_RenderWolf", "0qEFiiHltG/pHgqHxwH8pHk+Hk4Hp+Ho4HxnIynI9nI+nI" , "ABCrf", "jur_AbstractCharClass$LazyJavaDigit$1", "+3EF1sF2a" , "FPQsf", "nle_Filesystem$FilesystemHandle", "4YF" , "FGHtf", "nms_ShapelessRecipes",
        "v7DF6yE3yD6zE24Bg2Jg9Gi2JuqJ" , "FGHuf", "nms_RenderSpider", "qqEF++Hy4H2pI3pI83I4nIypJzpJ" , "FGHvf", "nms_BlockGrass", "pnBF5lG85FhlHr+G12Il2D90K0sK" , "Abwf", "jl_NullPointerException", "vCFgwBF" , "FGHxf", "nms_BlockStep", "ioBFxwB4ByyCp2B+yClxBl7Cm7CqlHt+G+yHtvHjzK2nJr0KysKl1K0sK71K2sK" , "ABCyf", "jur_AbstractCharClass$LazyJavaSpaceChar$1", "l4EF8sF2a" , "ABzf", "ju_IllegalFormatPrecisionException", "rgGF" , "FPQR0f", "nlei_PlatformApplication$FileChooserCallbackImpl", "x+GmSy+G4Bu/G6ev/GF" ,
        "ABC1f", "jur_LeafQuantifierSet", "mmCFykGkBpjHg9G" , "FGH2f", "nms_AchievementList", "6qD4Bk8IF" , "Ab3f", "jl_Math", "qMrM6d7d4mB5mB0rB1rB75C1rBl6Cm6CooDpoDsoDm6ClhEmhE7nE8nE9nEq/D+nEo/Dq5Em6CvjFwjFukFvkF0kF1kFmpFnpFopFrMrrFsrF16F26F87F97Fu/Fv/F6gGrMrhGshGo5H44Cp5Hq5HttIrM4uIsrFm6IF4mL26FhnLv/FinLshG" , "FPQR4f", "nlei_PlatformFilesystem", "zY0YtjB4Bg7IF" , "FPQRgC5f", "nleit_TeaVMClientConfigAdapterHooks$callHookSafeSync$lambda$_7_0", "mmEFwpEmlBisEkvB" , "FGH6f", "nms_ModelBoat", "3sEFl/H56E" , "FPQ7E7f",
        "nleo_FixedFunctionPipeline", "smEtmEumE6NvmEwmEkoEloEzpE4B0pE1pE2pE3pE6pE7pEksElsEjtEktEntEFq0Fr0Fz9F09F19FoY29F9wF" , "FGH8f", "nms_EntitySorter", "61FF8iGgzBnoGooG" , "AnB9f", "jt_DateFormat", "1H2HwmBF6qB7qBg+C2H" , "FGH+f", "nms_IWorldAccess", "kkI43FpkIwvHykIzkIgmIhmIvoJulIrpJonIk9J9lJs9Jt9J0jL1jL" , "FGH/f", "nms_ModelSquid", "grEF3+H56EopIjyF" , "ABCggB", "jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart", "1tCF3vEtvD" , "ABChgB", "jur_PatternSyntaxException", "/8BF2wET" , "FGHigB", "nms_ItemFood",
        "72BFvxK9nKp+Kq+Kr+Ks+K" , "FPQ1PjgB", "nleb_EaglercraftChunkLoader", "4/IFgyJugJhyJzgJiyJ5sJjyJkgJkyJmgJ44J54J64J74J+4J/4J" , "ABkgB", "ju_AbstractSequentialList", "7SF01CuTkxEpoC5uF44BvoK5D" , "ABClgB", "jur_AbstractCharClass$LazyJavaDefined", "rtCFtvEtvD" , "FGHmgB", "nms_BlockButton", "4oBFg0Cp2B4jG12Fu1GtsG5yHpuHqzHtvHo9H7zH09Hi0HhjI/uHl3Il2Di5InsIqrJrrJ6uJ8qJq1JwmJvmK9+J9yKrpKwzK4pKkhLv7K+jL/jL" , "AnBngB", "jt_DecimalFormatParser", "8iDF9iD+iD/iDgjD17D27D37DkxCplEqlErlEslEtlEulE" , "FGHogB", "nms_TexturePackBase",
        "mgEngEmnEFngFogFi3Fj3Fj2Hk2HqjIrjI" , "ANpgB", "ji_Writer", "ggGF1hGFs7GkpD3pHkpD83HkpD" , "FPQ7EmY", "nleo_WorldRenderer", "wrDF7rD4BrwDswDxwDywDzwD0wD1wD2wD3wD4wD5wD6wD7wD8wD9wD+wDz+D0+D1+D2+D3+D4+D7+D8+D/+DviB14E24EjrGq3FxwGswD" , "ABCqgB", "jur_Pattern", "rsBssB3vBxKvzBssB75BF85B95B38B48B68B78Br+Bs+B/+Bg/By/Bz/BhiCiiCkiCliCyiCziC0iC8hC8iC9iCgjChjCslCtlC2mC3mC6pC7pCmqCnqC6rC7rCo7CxKtyDuyDkkFlkFmkFnkFokFpkF" , "ANrgB", "ji_UnsupportedEncodingException", "iuEF08IF" , "ABsgB", "ju_Formattable", "hhGihG"
        , "FGHtgB", "nms_ItemPickaxe", "42BF67B4Bj0KniI" , "ABCugB", "jur_PosAltGroupQuantifierSet", "zlCF20CniCyjHg9G" , "FGHvgB", "nms_WorldGenReed", "mrKFnrKw9J" , "FGHwgB", "nms_EntityClientPlayerMP", "uoKFrwKjkJswKj4DtwKijEuwK0rIvwKrzFwwKwzFxwKjqGywKmvJzwKj7J0wKurH9wKy8E55K65K86K96K" , "FGHxgB", "nms_XBlah", "jIFlqGmqG" , "JKLygB", "cjj_Inflate$Return", "w9FF" , "FGHzgB", "nms_Packet17Sleep", "0yIw6Hp0Iy6H60Ij3Hx9IF" , "FPQRlN0gB", "nleiv_VFile2", "jOkO6Y4B8/DFigEjgEjnEknElnEFwrExrE4sE5sE1uEO8/E9/EhgFigFjgFkgFr3Fs3Fv5Fw5F65G75Gs0Ht0Hu0HkBv0Hw0Hx0Hy0H43H53H2jI3jI6jIukC84J94J6sKlFi5KHj5KJ"
        , "FPQR1gB", "nlei_IClientConfigAdapter", "2K3K/NgOwYxYze0e" , "FGH2gB", "nms_ItemArmor", "k3BFg8B4B" , "FGH3gB", "nms_BlockBreakable", "rwBFxzCp2BplHt+G" , "ABC4gB", "jur_UnicodeCategoryScope", "q4EFstF2a" , "FGH5gB", "nms_WorldGenClay", "5qKF6qKw9J" , "FGH6gB", "nms_EntityTNTPrimed", "vqJFuuJFkzJisF82J67Eh3JtuHgmKy8EwnKqpJptKqtKmxK0qKl2Km8G" , "AWX7gB", "jnc_UnmappableCharacterException", "13GF0lHT" , "JKL8gB", "cjj_Checksum", "8gFviB90FyiB/0FviBx9F6N" , "JKL9gB", "cjj_InfTree", "klEFtpE4BsqGtqGvqGwqGxqGyqG/5Gg6Gh6Gi6G"
        , "FGH+gB", "nms_EnumMobType", "0wB4Bz2BF02Byep2C0f" , "JKd/gB", "cjj_Residue0$InfoResidue0", "75HF" , "gBgChCYnBghB", "otcit_FloatAnalyzer$Result", "hiGF" , "AnBhhB", "jt_DateFormatSymbols", "kdFxmBLzlE0lE2lE3lE4lE5lE6lE7lE8lE9lE+lE/lE46IF" , "ABCihB", "jur_UCIDecomposedCharSet", "vlCF" , "FPQkU", "nle_Display", "oIpIqIrI+d4B08C18CkzDlzDmzD6NrzDszDtzDuzD60D70DsgE6NrnEsnEo5Ep5Eg6IF" , "FPQjhB", "nle_BaseNCodec", "8gB9gBozB4Bm9Bn9Bo9Bp9Bo+BFp+Bq+Bn/C9gBgiDp9BliDmiDt5D9gBu5Dv5Dh7Dp9Br9Es9Ex9E8tEhnFinF24F34F44F54Fw+F15Dx+Fy+F"
        , "AnBkhB", "jt_DateFormatElement$Rfc822Timezone", "q9DFhzE2H" , "FPQ7ElhB", "nleo_VSHInputLayoutParser$ShaderLayoutParseException", "6lBF" , "ANmhB", "ji_InputStream", "7RF5hB6hBjiB6hBmiBliB1iB2iB65C6hB7tE8tE" , "AbnhB", "jl_IndexOutOfBoundsException", "qCFhlDF" , "FGHohB", "nms_RenderCow", "yqEFhiHltG9pH+pHwwH8pH" , "FGHphB", "nms_MobSpawnerBase", "jlIklI2sI3sIpuI4BmvInvIovIpvIqvIrvItvIFxvIyvI0vI1vI2wI3wIipKjpK/qKgrK" , "FGHqhB", "nms_RenderPig", "tqEF/+Hy4H4pI5pI" , "ABCrhB", "jur_AbstractCharClass$LazyJavaWhitespace$1",
        "73EFysF2a" , "FGHshB", "nms_GuiAchievement", "gIFs9Ct9Cs0Dt0D" , "ABCthB", "jur_AbstractCharClass$LazyJavaJavaIdentifierStart", "wtCFyvEtvD" , "FGHuhB", "nms_TextureLavaFlowFX", "41DFzuF06E" , "FGHvhB", "nms_RenderArrow", "mrEFoiHltGrqHsqH" , "FGHwhB", "nms_ChunkCoordinates", "+mIF58IF/8JF" , "gB4BjZxhB", "oli_Keyboard", "97IF" , "FGHyhB", "nms_ItemSoup", "h3BFxxK9nK" , "gBgCoDgEzhB", "otjt_Uint8Array", "+hBwJitBjtB" , "FGH0hB", "nms_BlockLever", "0oBF8zCp2B2jG12FomGo6F2yHpuHozHtvHm9H7zHy9Hi0H/4InsInrJorJ5uJ8qJo1JwmJsmK9+J6yKrpKtzK4pKjhLv7K"
        , "FPQRgC1hB", "nleit_EPKLoader", "wXxX7hB8hB/hB8hBniBoiBpiBqiB/6IF" , "Ab2hB", "jl_Long", "pyBpKl5B4Bm5BFqoCroCslDoB+qD4C7uDH88DH2uEv6CgyEOuyEJj3Ev6C5/EO4gF15D5gF35D6gF55Dp0FgzBvoHwoHjuHwoHmvHnvH" , "FGH3hB", "nms_GuiScreen", "09C19CrnDFo0Dp0D12D22D52D62D73D83Dx4Dy4D24D34D64D74Dl2Em2Er2Es2Ex2Ey2Ez2E02E52E62EkzFlzF7zF8zFioGjoGkoGloGwpGxpGooHpoH" , "AB4hB", "ju_Map", "rNsNxNyNzR5DkXqWzXyO04B0ftoCpoCvoCwoC/qCgrC2+C3+CmiEv+Cn9Eo9E" , "FGH5hB", "nms_GuiSlider", "j5GFwlH2zFxlH4zFylH9tGzlH/tG" , "ABC6hB",
        "jur_SequenceSet$IntHash", "uqCFvqCyOn5H5D" , "FGH7hB", "nms_GuiYesNo", "o5GFqhHp0DrhH8zFshH62E" , "Ab8hB", "jl_ArithmeticException", "n8IF" , "gB4B7E9hB", "olo_GL11", "+8C/8CymDzmD0mD1mD2mD3mD4mD5mD6mD7mD+mD/mDg0Dh0Du0Dv0Dy0Dz0D00D10Dm1Dn1Do1Dp1Dq1Dr1Ds1Dt1Du1Dv1Dl/Dm/DvgEwgExhEyhE5hE6hE6mE7mE50E60E/0Eg1E22E32Eu5Ev5ExiFyiF+kF/kFulFvlFwlFxlFylFzlFupFvpFi1Fj1Fs2Ft2FprGqrG77IF" , "FPQR+hB", "nlei_PlatformApplication$1", "vzGF8zG9zGi0Gj0G" , "FPQRgC/hB", "nleit_TeaVMClientConfigAdapterHooks$callLocalStorageSavedHook$lambda$_1_0",
        "1vDF6vFqF" , "gBnY7c8cgiB", "oall_ILogRedirector", "xxD44C" , "FPQRhiB", "nlei_PlatformApplication$4", "iwGFpxG0TozG/f" , "FPQRiiB", "nlei_PlatformApplication$3", "hwGFoxG0TnzG/f" , "FPQRjiB", "nlei_PlatformApplication$6", "kwGFrxGmlBqzGkvB" , "FPQRkiB", "nlei_PlatformApplication$5", "jwGFqxG0TpzG/f" , "JKdliB", "cjj_CodeBook$DecodeAux", "oqIF" , "FPQ1FmiB", "nlep_EaglerProfile$EnumSkinType", "7tI4B/uIFgvIyeq5I0f" , "ABCniB", "jur_AbstractCharClass$LazyJavaLowerCase", "ntCFpvEtvD" , "FPQ7EoiB", "nleo_VSHInputLayoutParser$ShaderInput",
        "gmBF" , "FPQRgCpiB", "nleit_TeaVMClientConfigAdapterHooks", "2RFue4B14C24CzsD8K0sD2e1sD3hBwvDxvDzvD0vD2vD3vDk+Dl+Dm+DxvDn+Do+Dp+D0vDwhFxhF1hF2hF3hF4hF0vFxkFp8Fq8Fr8Fs8Ft8Fu8FzoG0oG6tG7tG" , "AnBqiB", "jt_DateFormatElement$ConstantText", "v9DFgzE2HrzEH1zEJ" , "FGHriB", "nms_Packet10Flying", "txIw6HizIy6H20Ij3Hq9IFykK76H8jLF" , "ABCsiB", "jur_AbstractCharClass$LazyJavaLetterOrDigit$1", "k4EF7sF2a" , "ABCtiB", "jur_CharClass$18", "6jDF6uD2attFO" , "ABCuiB", "jur_PossessiveGroupQuantifierSet", "xlCFwjHg9G"
        , "ABCviB", "jur_CharClass$13", "vkDFswE2a" , "FGHwiB", "nms_MaterialTransparent", "t2BF/0Cs2B78HruG/8HrvH" , "ABCxiB", "jur_CharClass$12", "wkDFtwE2a" , "ABCyiB", "jur_CharClass$11", "tkDFqwE2a" , "gBnY7c8cziB", "oall_Logger", "9G+GkL+GpLqL7L8L0MqLyRF9S4B5Y8LtZqLofpf4qB5qB34C44C54C44C64C44C2xD3xD4xD5xD1mE2mE" , "ABC0iB", "jur_CharClass$10", "ukDFrwE2a" , "AB1iB", "ju_GenericEnumSet", "9qBFwyBxyBryC44Bt6C44BnsDyNosDuT" , "ABC2iB", "jur_CharClass$17", "zkDFwwE2a" , "FPQ7E3iB", "nleo_VertexFormat", "vwDwwDx+D4By+DF"
        , "FGH4iB", "nms_BlockTorch", "moBFzyCp2B/lGo6F/yHtvH92Il2Dx3IpmI34InsI1nJ2nJ5qJ6qJwuJ8qJ/0JwmJ61J/oJhhLv7K" , "ABC5iB", "jur_CharClass$16", "0kDFxwE2a" , "ABC6iB", "jur_CharClass$15", "xkDFuwE2a" , "FGH7iB", "nms_SlotFurnace", "7vJF53JzhI" , "ABC8iB", "jur_CharClass$14", "ykDFvwE2a" , "FGH9iB", "nms_WorldGenTrees", "u9JFvjKw9J" , "FGH+iB", "nms_NetworkManager", "woEFy4Gz4GwnHxnHynHznH0nHx4G1nHt9F52H62H/2Hg3H" , "FGH/iB", "nms_GuiSlot", "l5Gp0Dv5G8zFz5G05Gl+GF2lHxpG3lH4lH5lH6lH7lH8lH9lH+lH/lHgmHjmHkmHlmHmmH"
        , "FGHgjB", "nms_Packet22Collect", "syIw6Hh0Iy6Hz1Ij3H19IF" , "FGHhjB", "nms_EnumSkyBlock", "luJ4B1wJF2wJyex2J0f" , "AbijB", "jl_StringBuilder", "pBFqBrBsBrBtBO9JrBuSrBvSrBvTrB/bFphBrBokCFpkCftkCukCnxC9C2xC9Cm1C9Cj2C9Cu8C9C3gD9C4kDo8C7kD8kDylDrB9uD9C+uDrBjvDg2B/8D9Cg9DrBnqErB0uErBwxE9C5yE9Ci2ErBh3ErBi/E9C5hF9C3vF9C+vF9CsyFtyFg8F9Cv8F9C5iG9CikGrBmoG9C51GhBjsI07By2JtE" , "FGHjjB", "nms_BlockCactus", "8oBFyzCp2Bs0ClxB/jG32FpmGo6F3iH48GszHtvHp3Il2Dk5InsIurJvrJs1JwmJyhL8qJ" , "AbkjB", "jl_ClassLoader", "8hFttEgrF4BrsFFssFFh6Fi6F1oG2oG3oG4oG"
        , "ABljB", "ju_ConcurrentModificationException", "i+DF" , "ABmjB", "ju_Hashtable$1", "0uCF" , "ABnjB", "ju_Hashtable$2", "1uCF" , "FPQRgCojB", "nleit_LegacyKeycodeTranslator", "+ZFhaiavawa0kB4BxuByuB7/C8/Cz6D06DglEhlE" , "FGHpjB", "nms_EntityHeartFX", "qsJF1vJFv3Jr2F43Jy8E" , "FPQRgCqjB", "nleit_IndexedDBFilesystem$AsyncHandlers$11", "i/GF3/G0T//G/f" , "FPQRgCrjB", "nleit_IndexedDBFilesystem$AsyncHandlers$12", "j/GF4/G0TggH/f" , "FPQRgCsjB", "nleit_IndexedDBFilesystem$AsyncHandlers$13", "9uIF7vI0T5wI/f"
        , "FPQRgCtjB", "nleit_IndexedDBFilesystem$AsyncHandlers$14", "+uIF8vI0T6wI/f" , "FPQRgCujB", "nleit_IndexedDBFilesystem$AsyncHandlers$10", "2iKF6iK0T8iK/f" , "FGHvjB", "nms_BlockNote", "8nBFo0ClxBj9H7zHr9Hi0H04InsI8zKmsK6hLn8K" , "FGHwjB", "nms_ChatLine", "jsKF" , "FGHxjB", "nms_EntityCreeper", "2pJ3pJjgKFlkKisF7mKqpJu2KoqKw2KsvJx2KuvJz2KyvJr4Ky8E74K0qKh/Ki/K7nL5lL4oL5oL" , "FGHyjB", "nms_RecipesFood", "3gCF4gCygC" , "JKdzjB", "cjj_Mapping0$LookMapping0", "w5HF" , "FPQR0jB", "nlei_PlatformInput$initHooks$lambda$_3_0",
        "uaFglBlG+uB8I" , "FGH1jB", "nms_RenderSquid", "hrEFliHltGlqHmqH0wH8pHm+Hk4Ho+Hm4Hv+Ho4H1nI2nI7nI8nIpoIqoI" , "FPQR2jB", "nlei_PlatformInput$initHooks$lambda$_3_1", "gbFklBlGivB8I" , "FPQR3jB", "nlei_PlatformInput$initHooks$lambda$_3_2", "hbFllBmlBjvBkvB" , "FPQR4jB", "nlei_EnumPlatformType", "t/D4B8mEF9mEyekyE0fytFO" , "FGH5jB", "nms_SlotArmor", "s8HFz/IshI0/IuhI" , "JKd6jB", "cjj_Floor1$LookFloor1", "vqIF" , "FPQR7jB", "nlei_PlatformInput$VKeyEvent", "y6DF" , "Ab8jB", "jl_IncompatibleClassChangeError",
        "uBFv5IF" , "JKd9jB", "cjj_Lookup", "lrImrInrIorIprIqrIrrIsrImuI4Bw0IF" , "ABC+jB", "jur_AbstractCharClass$LazyASCII", "+sCFgvEtvD" , "AnB/jB", "jt_DateFormatElement$NumericWeekday", "t9DFsvFhiF" , "FGHgkB", "nms_MobSpawnerBase$_init_$lambda$_0_1", "hwIF7vKhtI" , "FGHhkB", "nms_MobSpawnerBase$_init_$lambda$_0_0", "gwIF1vKhtI" , "FPQRgCikB", "nleit_JOrbisAudioBufferDecoder", "4vG5vG8wG4B9wG30FmxGoQ1xGFoyGpyG" , "FGHjkB", "nms_MobSpawnerBase$_init_$lambda$_0_3", "jwIF5vKhtI" , "FGHkkB", "nms_MobSpawnerBase$_init_$lambda$_0_2",
        "iwIF6vKhtI" , "FPQlkB", "nle_GuiScreenEditProfile", "h2DFuiEviEwiE4B3wEp0D4wE62D5wEy4D6wE34Dl7Em7E1tFs2E8tF02EguF62EojG8zF" , "FGHmkB", "nms_NBTTagString", "jSFyxCoJhuD2iC7xEO67FF4mG2rF" , "FGHnkB", "nms_ChunkProviderGenerate", "oqJF0yJolI1yJ3lIr5Js5Jt5Ju5JwkKsgJ/pKgqK" , "ABCokB", "jur_Quantifier", "skCF3sDOssHm6CtsH1rB" , "ABCpkB", "jur_AbstractCharClass$LazyJavaUpperCase$1", "63EFxsF2a" , "FGHqkB", "nms_MobSpawnerTaiga$_init_$lambda$_0_2", "xwIFowKhtI" , "FGHrkB", "nms_MobSpawnerTaiga$_init_$lambda$_0_1",
        "wwIFkwKhtI" , "FGHskB", "nms_MobSpawnerTaiga$_init_$lambda$_0_4", "zwIFjwKhtI" , "FGHtkB", "nms_MobSpawnerTaiga$_init_$lambda$_0_3", "ywIF/vKhtI" , "gBgCkRukBvkB", "otpp_ResourceAccessor", "rmBsmBtmBumB8oC9oC+oC5D/oCgpC3qC4qC5qC6qCksCyNlsC5Do7IF" , "FGHwkB", "nms_MobSpawnerBase$_init_$lambda$_0_5", "lwIF+vKhtI" , "FGHxkB", "nms_MobSpawnerBase$_init_$lambda$_0_4", "kwIF2vKhtI" , "FGHykB", "nms_CraftingInventoryPlayerCB", "r7HFt8Hu8Hh9Hm0H91KmtK" , "FGHzkB", "nms_MobSpawnerBase$_init_$lambda$_0_7", "nwIF9vKhtI"
        , "FGH0kB", "nms_MobSpawnerBase$_init_$lambda$_0_6", "mwIF8vKhtI" , "FPQRgC1kB", "nleit_TeaVMClientConfigAdapterHooks$lambda$callCrashReportHook$4$lambda$_14_0", "w/FFthGlGliG8I" , "FGH2kB", "nms_MobSpawnerBase$_init_$lambda$_0_9", "pwIFqwKhtI" , "FGH3kB", "nms_MobSpawnerBase$_init_$lambda$_0_8", "owIFhwKhtI" , "FGH4kB", "nms_TileEntityMobSpawnerRenderer", "yhGF59H9oGyjIzjI" , "FGH5kB", "nms_MobSpawnerHell", "zvIF" , "ABC6kB", "jur_AbstractCharClass$LazyJavaIdentifierIgnorable$1", "/3EF2sF2a" , "FGH7kB",
        "nms_ISaveFormat", "j+Gk+GzoH0oH1oH2oHu3Hv3Hw3Hx3Hy3Hz3H03Hi+G/6Hg7Hh7H33H" , "FGH8kB", "nms_GuiSelectWorld", "/pGF10Gp0D20G8zF30G62Em5Gn5Gp5Gq5Gs5Gt5Gw5Gx5G15G25GowHpoH50H4lH+0H/0Hg1Hh1Hi1Hj1Hk1Hl1Hm1Hn1Hw1Hx1H01H11H91H+1H" , "FGH9kB", "nms_IInvBasic", "/rKgsK" , "gBgCoDsM+kB", "otjc_JSWeakMap", "rJsJ" , "AWXY/kB", "jnci_BufferedDecoder", "g/DFp0G0nG43G53G" , "FGHglB", "nms_ModelCreeper", "zsEF5+H56EqpIjyF" , "FGHhlB", "nms_BlockRedstoneOre", "2oBF1iHy8GnrHorHyuHzuHn9H7zHz9Hi0Hj3Il2D23IpmI10KysKv1K0sK"
        , "FPQRgCilB", "nleit_TeaVMWebSocketClient", "/9GFqgH65FrgH2iBj6Hk6H89Hq3Hq/H62H" , "ABCjlB", "jur_ReluctantQuantifierSet", "jmCF/jHg9G" , "FPQRgC9UklB", "nleito_JSEaglercraftXOptsRoot", "sDtDuDvDwDxD9D+DhEiEmEnEn3Co3Cp3Cq3Cr3Cs3Ct3Cu3Cv3Cw3Cx3Cy3Cz3C03C13C23C33C43C53C63C73C83C93C+3C/3Cg4Ch4Ci4Cj4Ck4Cl4Cm4Cn4Co4Cp4Cq4Cr4Cs4Ct4Cu4Cv4Cw4Cx4Cy4Cz4C04C" , "FPQ7EllB", "nleo_GlStateManager", "utBvtBwtBxtBytBztB0tB1tB4tB5tB+tB4B70B80B90B+0B/0Bg1Bh1Bi1Bm1Bn1Bo1Bn1Bp1Bn1BgmDhmDimDjmDkmDlmDmmDnmDomDpmDqmDrmDsmDtmDumDvmDypDqWzpD0pD1pD2pD3pD4pD5pD6pD9pD+pD/pDgqDhqDiqDjqDkqDlqDmqDnqDoqDpqDqqDrqDsqDjrDkrD1/D2/D3/D4/D5/D6/D4gE5gE6gE7gE8gE9gE+gE/gEghEhhEtnEunE3nE4nEmoEnoEoqEpqErsEssE+iF/iFgjFhjFjjFtmDkjFljF5jF6jFykFzkF8kF9kFqoFroFtoFuoFxoFyoFzoF0oF1oF2oF3oF4oF2pF3pF4pF5pF6pF7pF8pF9pFurFvrFl9Fm9Fy9F4/Dj+Fk+F95IF"
        , "ABmlB", "ju_TimeZone", "99BvQjgC4BkgCLlgCmgC0nCF2wCioChxCixCjxCkxCmiFkoCniFznCoiFpiFqiFriFl6FpiF" , "ABnlB", "ju_Collection", "o7B01B+qCyN05F2a" , "FGHolB", "nms_MobSpawnerRainforest", "lvIF4zKgrK" , "FGHplB", "nms_BlockFlower", "/nBFxyCp2B8lGo6F7yHtvH82Il2Dv4InsIznJ0nJ90JwmJy9JvrJ9sK+sKqhL8qJ" , "FGHqlB", "nms_TileEntitySign", "j7IFmnKinImjLl6J" , "ABrlB", "ju_TreeMap$TreeNode", "muJFnuJouJpuJquJ75J85J95Jx7D+5J/5JsvKtvKnqLoqL" , "ABCslB", "jur_AtomicJointSet", "t/BF30CniCwkGkBmjHg9G" , "FPQ1FtlB",
        "nlep_EaglerProfile$EaglerProfileSkin", "roEF" , "FGHulB", "nms_WorldGenPumpkin", "orKFprKw9J" , "FGHvlB", "nms_BlockTNT", "joBFhzClxBr4I8rI24InsI9zKosKs0KysK" , "gBgCoDwlBxlB", "otjb_Performance", "udvdi7IF" , "ABCylB", "jur_EOISet", "vmCFnlGkBokHg9G/xHvsH" , "FGHzlB", "nms_EntityLiving", "02Dz2Dh6Ei6Er7Es7Ev7Ew7E66F76F+6F96Fp7HFtgIoqF+hIisFspItpIzrI0rIitIjtImtIntIytIztIq/IggIr/I67EgkJqgI8rJurHlvJmvJpvJqvJrvJsvJtvJuvJvvJwvJxvJyvJh5Ji5J55J65J+hKqpJxjK06JyjK/6JzjKr7JjmK19JnqKoqKktKy8EmvKnvK7wKpvK04K0qKz6K06K16K26K36K46Kv+Kw+Kx+Ky+K3+K4+K5+Ku+K6+K7+K++K/+KvgLt6KwiL0+KglLhlL0lL1lL2lL3lL0mL1mL5mL6mL7mL8mLrnLkrH2oL3oLvpLmpL"
        , "AB0lB", "ju_MapEntry", "9qDFwtFJxtFHztFOljGo5CmjGyiB" , "AN1lB", "ji_UTFDataFormatException", "5oEFy8IF" , "FGH2lB", "nms_BlockLockedChest", "opBFk0ClxBmlHr+Gs3Il2D3hL8qJ" , "FGH3lB", "nms_RecipesCrafting", "5gCF6gCygC" , "FPQ1F4lB", "nlep_EaglerProfile$UserPresetSkin", "ooEF" , "AW5lB", "jn_ByteBufferImpl", "n6BF/vF/nFuuGFnwHj8F" , "Ab6lB", "jl_Thread$SleepHandler", "hkBFi2CqF" , "FPQRgC7lB", "nleit_IndexedDBFilesystem$AsyncHandlers$openDB$lambda$_2_0", "66BFy9BlG8/B8I" , "AnB8lB", "jt_DateFormatElement$GeneralTimezone",
        "u9DFizE2H" , "AnB9lB", "jt_DateFormatElement$BaseTimezone", "1lEFszEH2zEJ" , "FGH+lB", "nms_ItemSign", "m3BF8xK/nK" , "AnB/lB", "jt_DateFormatElement$WeekdayText", "x9DF+yE2HpzEHzzEJ" , "ABgmB", "ju_TreeMap$EntrySet", "uoLFupLuTxpLypLzpL0pL" , "JKdhmB", "cjj_Lpc", "sqIoQ/tIF" , "FGHimB", "nms_CraftingInventoryCB", "l0Hm0Hn0Ho0Hj8HFn8Ho8Hv8Hu8H16J26J46J56Ju7Jv7J47J57Ji8Jj8JroKsoK2oK3oKltKmtK" , "FGHjmB", "nms_EntitySplashFX", "msJF" , "FGHkmB", "nms_NBTBase", "rGsGjJkJnJoJqJFn5Co5Cp5C2iC3/E4/EgqFhqF1rF2rF47F57F"
        , "FPQRgC9UlmB", "nleito_JSEaglercraftXOptsHooks", "pxDqxDrxDsxDtxDuxDvxDwxD" , "FGHmmB", "nms_EntityOtherPlayerMP", "/7JFt2K+rJz3KurHg4KtuHk4KnvKm4Ky8En5K06Jp5Kh7Jx5K/kJ" , "FGHnmB", "nms_ItemPainting", "l3BF7xK/nK" , "FGHomB", "nms_WorldBlockPositionType", "2pKF" , "FGHpmB", "nms_GuiSleepMP", "z4DFhxEp0DixE34D5tFs2EkuF62EzzF0zFrjG8zF" , "ANqmB", "ji_FilterInputStream", "gJFiyC6hB55C6hB2jD6hB+2H2iB" , "AWX5M", "jnc_BufferUnderflowException", "y3GF" , "FPQRrmB", "nlei_OpenGLObjects$BufferGL", "xgBFgsB4B8uDH"
        , "ABuKsmB", "juz_DataFormatException", "t2JF8rKF" , "ABtmB", "ju_LinkedList", "uKFz1CyNh2CqWquDt+C4uFt+CsoGtoG" , "FGHumB", "nms_NetClientHandler", "1iEFs9Ft9Fp4Gq4Gw4Gx4G79Hl3HtzJlhJuzJnhJvzJphJwzJrhJxzJthJyzJxhJzzJzhJ0zJ1hJ1zJ3hJ2zJ5hJ3zJ9hJ4zJ/hJ5zJhiJ6zJjiJ7zJliJ8zJniJ9zJpiJ+zJriJ/zJtiJg0JviJh0JxiJi0JziJj0J1iJk0J3iJl0J5iJm0J7iJn0J9iJo0J/iJp0JhjJq0JjjJr0JljJs0JnjJt0JpjJu0JvjJv0JxjJw0JzjJx0J1jJy0J5jJz0J7jJx6Jy6J" , "FGHvmB", "nms_EnumToolMaterial", "37B4B87B97B+7B/7B/9BFg+Byeh+Bi+Bq2C0fz9K09K" , "gBgCoDsMwmB",
        "otjc_JSString", "zI0InyBoyBj5Bk5B" , "gBgChCYiCxmB", "otcit_DateTimeZoneBuilder$RuleSet", "0vCFuwC4Bj/Ek/Eq/EFr/Es/Et/ErmEu/Ev/E" , "FPQRymB", "nlei_PlatformInput$14", "9aFjlB0ThvB/f" , "FGHzmB", "nms_ItemCoal", "92BFpmKy+J" , "FPQR0mB", "nlei_PlatformInput$15", "8oEFgsEmlB+sEkvB" , "JKd1mB", "cjj_Mapping0$InfoMapping0", "+5HF/5HgyC" , "FPQR2mB", "nlei_PlatformInput$16", "zjBFmuB0Tu1B/f" , "Ab3mB", "jl_Appendable", "74FrB" , "gBgC4mB5mB", "oti_AsyncCallback", "+jBzZ/jBqL" , "FPQR6mB", "nlei_PlatformInput$10",
        "saF+kB0T8uB/f" , "gBgChCYiC7mB", "otcit_AliasDateTimeZone", "psCF9sD2nCitDmoCotDkoC" , "FPQR8mB", "nlei_PlatformInput$11", "taF/kB0T9uB/f" , "FPQR9mB", "nlei_PlatformInput$12", "xaFhlB0T/uB/f" , "F3EjT+mB/mBgnB", "npevv_Vec3D_112", "5oFF6oFy+BjrF4B" , "ABhnB", "ju_IllegalFormatConversionException", "3gGF" , "FPQRlNinB", "nleiv_VFileOutputStream", "trGF9hH2iB" , "JKdjnB", "cjj_DspState", "iyGjyGkyGlyGmyGnyG0yGqW5yGFizGjzGr9GoQotHptH" , "FPQRknB", "nlei_PlatformInput$13", "yaFilB0TgvB/f" , "AnBlnB", "jt_DecimalFormat$PercentField",
        "2+EFrwFHswFJ" , "FGHmnB", "nms_SaveFormatComparator", "loHpiF40HFy1Hz1H21H31H51H61H71H81Hv/Hv6CjrIkrI" , "ABnnB", "ju_AbstractMap", "9pBFw+Cv+Cx+CyO0iDgrC1iD5DujDpoCk5DyN/gJqWm6Ko9E38K28Kw9KsN" , "FGHonB", "nms_Packet51MapChunk", "pxIw6H+yIy6H/1Ij3Hl+IF" , "FGHpnB", "nms_BlockSlowSand", "jpBF4iH48Gv1JwmJ" , "FPQRlNqnB", "nleiv_VFSIterator2$BreakLoop", "p2KF" , "AbrnB", "jl_Object", "KLNOiBDlBmByBF6LJqRrRsRtRuRvRwRxRjerRkeleqevRrese1pB2pBpxBqxBrxB2pBr6Cs6C/6Cg7CilDHtlDulDjxDkxD" , "FGHsnB", "nms_GuiSmallButton",
        "14G24Gk5GF55GFkoHF" , "FPQRgCtnB", "nleit_LegacyKeycodeTranslator$LegacyKeycode", "zkBF16DJ" , "FGHunB", "nms_MobSpawnerForest", "uvIF5zKgrK" , "gBgChCYiCvnB", "otcit_DateTimeZoneBuilder", "yvCFrwCswCt+Du+Dl/Em/Ew/Ex/E" , "FPQwnB", "nle_Filesystem$FilesystemHandleWrapper", "yYFhjGmgF4lGy5FuwH0pHy2ImjI80JumJyzK8pK" , "FGHxnB", "nms_ModelSlime", "7qEF2+H56EnpIjyF" , "AbynB", "jl_System", "5B6B7B8BtCuCvFwFxFyFmInIzQ0Q+yD/yD05IF" , "ABCznB", "jur_LeafSet", "piCF3pCF/7C+7CgjHg9G7rH8rH4xHvsH" , "ABC0nB",
        "jur_JointSet", "x/BFqiCFlzC2/B50CniCg1C6iCxkGkBojHg9GzxHvsH" , "FGH1nB", "nms_ICamera", "i2Fj2F" , "FPQRgC2nB", "nleit_ArrayBufferInputStream", "4hBFiiB6hBkiBliBvuD6hB" , "FGH3nB", "nms_BlockMushroom", "goBF5lKvrJhtK+sK" , "FPQRS4nB", "nleib_EaglerArrayFloatBuffer", "mrBF6yCyO7yC1UtsDqWusDyOktFn0BltF5DmtFn0BotFp0BptF5D" , "FGH5nB", "nms_Packet18ArmAnimation", "ryIw6Hg0Iy6Hm1Ij3Hy9IF25KFngL76H" , "ABC6nB", "jur_AbstractCharClass$LazyXDigit", "mtCFovEtvD" , "FPQRS7nB", "nleib_IntBuffer", "xOyOmWyOnW1UpWqW7yBF3mE4mE5mE5Dj0E5DziFn0B0iFp0BsoFyOorG7c"
        , "AB8nB", "ju_LinkedList$Entry", "8rGF" , "FGH9nB", "nms_InventoryCraftResult", "l8HFo4IkhIk2JghIn2JvsJq2JxsJs2Jz/H" , "ABC+nB", "jur_Matcher", "vyDwyDxyDyyDzyD95Cn5EF5xF6xF7xFwyDgyFyyDhyF95ClpGmpGnmH45Gv2HviBw2Hx2Hy2Hz2HtjIujIhsIisI" , "ABC/nB", "jur_DotAllSet", "4mCF70CniC90C2iCplGkBqkHg9GhyHvsH" , "AnBgoB", "jt_FieldPosition", "/9CF" , "FPQ7EhoB", "nleo_WorldVertexBufferUploader", "/wDgxDo8IF" , "FGHioB", "nms_NBTTagFloat", "gSFvxCoJ+tD2iC4xEO1mG2rF/6KF" , "FGHjoB", "nms_Packet1Login", "5yIw6Hu0Iy6H+1Ij3Hh9IF08JFvlK76H"
        , "FGHkoB", "nms_IProgressUpdate", "xgJu+F5oJ6oJ7oJ23F" , "ABCloB", "jur_AbstractCharClass$LazyJavaUpperCase", "otCFqvEtvD" , "FGHmoB", "nms_ColorizerFoliage", "ksGlsGmsGnsGosGpsGlvG4B4+IF" , "ABnoB", "ju_DuplicateFormatFlagsException", "igGF" , "FGHooB", "nms_Empty1", "i/IF" , "FGHpoB", "nms_EntityList$_clinit_$lambda$_7_13", "rwJFs4JhtI" , "ABCqoB", "jur_HangulDecomposedCharSet", "mlCFszCniCv0C6iC57C67C5kGkBujHg9G5xHvsH" , "FGHroB", "nms_EntityList$_clinit_$lambda$_7_14", "swJF93JhtI" , "FGHsoB", "nms_EntityList$_clinit_$lambda$_7_15",
        "twJFi4JhtI" , "FGHtoB", "nms_EntityList$_clinit_$lambda$_7_16", "uwJFm4JhtI" , "FPQ1PuoB", "nleb_TextureNewCompassFX", "11DF" , "FPQvoB", "nle_KeyboardConstants", "s6Dt6D/kE4BppEqpErpEspE96Ht3H/7IF" , "FGHwoB", "nms_EntityList$_clinit_$lambda$_7_17", "vwJFg4JhtI" , "FGHxoB", "nms_RenderList", "uhEF82F92F59F69F79F89F99F+9F/9Fg+F" , "FGHyoB", "nms_EntityList$_clinit_$lambda$_7_18", "wwJFp4JhtI" , "FGHzoB", "nms_ModelZombie", "6qEFvwHjyF" , "AB0oB", "ju_MissingFormatWidthException", "9hGF" , "FGH1oB",
        "nms_EntityList$_clinit_$lambda$_7_19", "xwJFk4JhtI" , "FGH2oB", "nms_Packet11PlayerPosition", "1yIw6Hq0Iy6Hr9IFzkK76H7jLF" , "JKL3oB", "cjj_InflaterInputStream", "siBFmtBF30BFv6BFw6BFhyC6hBjyCliBkyC2iB45C6hBoyDjwC" , "AN4oB", "ji_FilterOutputStream", "oRFr3H2iB56HkpD" , "AN5oB", "ji_Reader", "jsDFmsDFlmE6hB" , "FPQ6oB", "nle_EagRuntime", "/EgFkFlFnGoG1G4B2G3G4G5G7G8G6J5G7J8JuYvY1bnM8b9bicjclcmc2jB3jBkpClpC+kD/kD8nD9nD1rD2rD8yD9yDpzDqzDxiEyiEonEpnEmqE1OyrE0N0rEmvB51E61E71E81E91E+1E96E+6E/6Eg7EjqFkqF0/F6X2/F8X6pG7pGvuGwuG75IF"
        , "FPQR7oB", "nlei_PlatformFilesystem$FilesystemDatabaseInitializationException", "iuBF" , "FPQ8oB", "nle_EaglerInputStream", "srCFrtD2iBstD6hBqtErtEytEztE5tE6tE3uE8tE4uE6hB" , "FGH9oB", "nms_RenderCreeper", "3qEFq+Ho4H9+Hw4H/nIgoI0pI1pI" , "FPQG+oB", "nlem_FontMappingHelper", "hpGipG2+IF" , "FGH/oB", "nms_StatTime", "g4BFl8B4B" , "FGHgpB", "nms_BlockLeaves", "3nBF4zCp2B9uFm7Ck3Fl3F6lG85FyiHy8G62Il2DtnJunJ0yKrpKp0KysKi1K0sK" , "FPQRhpB", "nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_2", "26BFw9BmlB7/BkvB"
        , "FPQRipB", "nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_1", "16BFv9BmlB6/BkvB" , "FGHjpB", "nms_EntityList$_clinit_$lambda$_7_20", "ywJF73JhtI" , "FPQRkpB", "nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_0", "z6BFnxEqF" , "FGHlpB", "nms_EntityList$_clinit_$lambda$_7_21", "zwJF63JhtI" , "ABCmpB", "jur_WordBoundary", "smCFklGkBlkHg9G4sH5sH8xHvsH" , "FGHnpB", "nms_Vec3D", "z8C+K6lD4B2nD3nD0qDFt7Eu7Ex7Ey7EomFpmFlqFmqFuwFOg2Gh2Gi2Gj2Gk2Gl2Gs2Gt2Gj9Gk9Gl9Gm9Gn9Gy+BspHtpHupHvpH/4Hg5HvlLt2G"
        , "FGHopB", "nms_EntityList$_clinit_$lambda$_7_22", "0wJFu4JhtI" , "AbppB", "jl_SystemClassLoader", "jsFF" , "FPQRqpB", "nlei_ITextureGL", "5/F6/F" , "JKdrpB", "cjj_FuncTime", "p3Go3G29G4By/GFxtHw9Gx5HutH" , "AWXspB", "jnc_CharacterCodingException", "59GF" , "FGHtpB", "nms_RecipeSorter", "mhCFnzCgzBv7Cw7C" , "AbupB", "jl_Double", "moDpK2qD4B3qDFgyDhyDkjGO7mG84B8mGH+oGO5tGHovGpvGqvGrvGwvGxvGzwG0wG" , "FPQRgCvpB", "nleit_TeaVMClientConfigAdapter", "qErEiG4B5IF0L1L4L5LkMlMyMzM1M2MtNuNpOqOgPhPkTlT2T3T0jB1jB4xCgOnyCxY11C3K91C0e"
        , "FPQRlNwpB", "nleiv_EaglerFileSystemException", "t1BFt7IF" , "FGHxpB", "nms_Packet30Entity", "tyIw6Hi0Iy6H30Ij3H89IF" , "FGHypB", "nms_Explosion", "p8JFq8Jr8J4kL5kL" , "FGHzpB", "nms_RenderBiped", "5qEF7+Hu4H" , "gBgCoDwlB0pB", "otjb_Window", "0D1D2D3D0F1F2F3F4F5F6F7F8F9F+F/FgGhGibjbkblbodpdqhBrhBovBpvBrvBsvBh6Bi6Bn1C5Do1Cp1Cq1Cr1Cs1Cr1Ct1Cu1Cv1CsCw1Cp1C1wG2wGwxGxxG" , "gBgChCYiC1pB", "otcit_CachedDateTimeZone", "uvCvvCowC4BpwCF6sD2nC/sDmoCltDkoC7vD8vDr+Ds+D" , "FGH2pB", "nms_PlayerControllerMP", "s8JF9iKp9C+iKv2D/iKmjEgjKqjEhjKsjEijKyjEjjK0jEkjK4jEljK6jEmjKq7EnjK88EojKh0FpjK83FqjKj4FrjKo4FloKmoKqoK/zH"
        , "Ab3pB", "jl_VirtualMachineError", "2hGFx8IF" , "FPQRgC4pB", "nleit_EPKDownloadHelper", "vNwNiX4BnXoXw6IF" , "FGH5pB", "nms_Packet3Chat", "vyIw6Hk0Iy6Hu1Ij3Hj9IF45KFpgL76H" , "FPQRgC6pB", "nleit_WebGLBackBuffer", "jNkN9T4B5b6b5iB6iB2tB3tBr6IF" , "JKd7pB", "cjj_Lsp", "1gI2gIk/IF" , "FGH8pB", "nms_GuiUnused", "u8IF" , "ABC9pB", "jur_IntHash", "8pC5D" , "FGH+pB", "nms_NextTickListEntry", "0kIF4kI5kIosI4Bm/IHn/IJo/Iv6C6rJ7rJ" , "Ab/pB", "jl_Number", "mfF94B84BsoCroCwgGvgGzgGygG" , "FGHgqB", "nms_Chunk",
        "k6Gl6Gm6Gn6G5oHqpFqkIrkIskItkIrlIslIumIvmIlnImnIkvIF+vIFhgJigJngJogJpgJqgJvgJwgJ0gJ1gJxmJymJ1mJvkIuoJvuHx5Jy5Jn6Jo6J66J76Jz9JroJ29J39J1gK2gK9gK+gKupKvpKwpKxpKqsKw8J4tK5tK9uK+uKw6Kx6Kx9Ky9K19KgtKyjLzjLokLpkL1pLynB" , "FGHhqB", "nms_EntityList$_clinit_$lambda$_7_10", "owJFo4JhtI" , "FGHiqB", "nms_EntityList$_clinit_$lambda$_7_11", "pwJFw4JhtI" , "JKLjqB", "cjj_GZIPException", "u9BFz7IF" , "ABCkqB", "jur_ReluctantAltQuantifierSet", "kmCFgkHg9G" , "FGHlqB", "nms_CraftingInventoryFurnaceCB", "mtJFujKj8Jh2KmtK"
        , "FGHmqB", "nms_EntityList$_clinit_$lambda$_7_12", "qwJFq4JhtI" , "ABCnqB", "jur_AbstractCharClass$LazyJavaWhitespace", "ptCFrvEtvD" , "FGHoqB", "nms_EntityAnimals", "qiKFkuKqpJq/K0qK9/KjtIxgL06KjnLqhK" , "AbpqB", "jl_UnsupportedOperationException", "0gBF40BF" , "ABCqqB", "jur_Matcher$1", "gsIF3/IO" , "JKLrqB", "cjj_CRC32", "tiBFuiBviBwiB6NxiByiBntB4B6iGviB" , "ANsqB", "ji_DataOutput", "xrFyrFzrF0rFrtGstGttGutGvtGwtGxtGytGztG0tG1tGkpD" , "FGHtqB", "nms_WorldGenFlowers", "krKFlrKw9J" , "FGHuqB", "nms_BlockIce",
        "6oBFn1G6qGtlHt+Gn3Il2D+yKrpK30KysK" , "FGHvqB", "nms_EntityPlayer", "y2Dz2Di4Dj4DhjEijE/jEgkEp1Eq1E92E+2EszFrzFk4Fl4F86F96Fu7Fv7FkqGjqG2zH3zH4zH5zHn6HFi9HisF0/H1/H3/H4/H9/H+/HhgIigIhhIihImiIniIoiIpiIuiIviI0iI1iI2iI3iI7iI8iI9iI+iI/iIgjIwtIxtIn2IqgIp/IurHikJjkJ1kJ2kJ3kJ4kJglJ/kJhlJilJplJqlJ1lJ2lJyoJzoJ0pJ1pJ9rJ+rJz2JmvJ02JsvJk+JqpJtkK45JwlKjuG6lKy8EimK19JitKjtKy4K0qK76KnvK17K27Kt+Ku+Kz/K0/KtgLg6KsiLw+KtiLy+K0iL4+K6kL7kLomLpmLqnLkrH" , "FGHwqB", "nms_WatchableObject", "58FFvjImkCh6Ki6Kj6Kk6K79K89K" , "AbxqB",
        "jl_NumberFormatException", "l2BFw7BF" , "AnByqB", "jt_DateFormatElement$NumericHour", "s9DFnzEHxzEJrvFhiF" , "ABC0L", "jur_AbstractSet", "18B4B1/B2/B/hCFmiCniC1iC2iC5iC6iCjlCFklCllCpmCqmCp7Cq7ChyEO6/E7/Eu5FkB3uGwyD/8Gg9G9rH+rHusHvsH" , "JKdzqB", "cjj_StaticCodeBook", "s3GqWvtHFwtHw9Gr5Hs5H25H35HmqInqI9tI+tI" , "Ab0qB", "jl_Comparable", "u6Cv6C" , "ABC1qB", "jur_IntArrHash", "jvH5D" , "FGH2qB", "nms_MobSpawnerTaiga$_init_$lambda$_0_0", "vwIFgwKhtI" , "AW3qB", "jn_CharBufferImpl", "8qDF5vF/nFi8Fj8FotGptG"
        , "ABC4qB", "jur_AbstractCharClass$LazyJavaMirrored", "qtCFsvEtvD" , "J6M7M5qB", "cch_BitUtil", "qoDroDjlEroDj8IF" , "FGH6qB", "nms_WorldGenLakes", "1qKF2qKw9J" , "FGH7qB", "nms_StatDistance", "h4BFm8B4B" , "ABC8qB", "jur_AbstractCharClass$LazyJavaISOControl", "utCFwvEtvD" , "FGH9qB", "nms_RenderBoat", "srEFuiHltG3qH4qH" , "FGH+qB", "nms_ItemSword", "+2BF/3IxpIlyK6/HqyKkoKwyK/7Bl0KvlJ" , "FGH/qB", "nms_EntitySlimeFX", "psJFj2J+5Ft3Jr2F" , "ABCgrB", "jur_HighSurrogateCharSet", "hqCFvzCniCu0C6iC2lGkBzkHg9G7kHwyDmxH+rHoyHvsH"
        , "ABhrB", "ju_Formatter$FormatWriter", "8+EF9+EkpD84F94F+4F/4Fg5Fh5Fz+F0+F1+FnxF2+F+4C5+F6+F7+F8+F9+F++F/+Fg/Fh/Fi/Fj/Fk/FkgGlgGngGogGpgGqgG4gG5gG3hG4hG5hG6hG" , "FGHirB", "nms_WorldChunkManager", "gsGhsG/kIglIhlIilI0sI1sI0+IFrlJFj5Jk5JurKvrK" , "FGHjrB", "nms_RecipesIngots", "1gCF2gCygC" , "FPQRkrB", "nlei_OpenGLObjects$VertexArrayGL", "2gBFjsB4B" , "gBgCkRukBlrB", "otpp_AsyncCallbackWrapper", "yZzZ0ZqL1ZlFgkBF" , "AbmrB", "jl_Enum", "nLoLlqBF2sDv6C4vDv6C5uEH6uEJzxEOr4Es4E" , "FPQRnrB", "nlei_PlatformNetworking",
        "s4Gt4G+9G4Bg/IF" , "FPQxhB", "nle_Keyboard", "i9Cj9C82DzK92D+2D/2Dg3Dp2Eq2En7Eo7Es3Ht3H+7IF" , "gBgCoDgEorB", "otjt_ArrayBuffer", "8jF5f" , "ABprB", "ju_IllegalFormatException", "jgGFl8IF" , "FGHqrB", "nms_SpawnerAnimals", "0lI1lI6lI7lIpsI4B4sI5sI8sI9sIktIltIl/IF" , "FGHrrB", "nms_ItemFlintAndSteel", "62BF4xK/nK" , "FGHsrB", "nms_CraftingInventoryDispenserCB", "jtJF+1KmtK" , "AtrBurB", "jm_RoundingMode", "vrC4BysCFzsCye82C0f" , "FGHvrB", "nms_GuiConflictWarning", "89CFpuEp0DquE62D/tF62EnjG8zF" , "FGHwrB",
        "nms_ItemCookie", "33BF" , "FPQ7ExrB", "nleo_FixedFunctionPipeline$_init_$lambda$_12_0", "vtEFmuF+K" , "FPQ7EyrB", "nleo_SoftGLVertexArray$Attrib", "j6CFn6Co6C" , "FGHzrB", "nms_RecipesWeapons", "zgCF0gCygC" , "FGH0rB", "nms_BlockSandStone", "7nBFgzClxB" , "FPQRgC1rB", "nleit_TeaVMClientConfigAdapterHooks$callHookSafeWithReturn$lambda$_9_0", "nmEFxpEmlBjsEkvB" , "FPQR2rB", "nlei_PlatformAudio$BrowserAudioHandle", "+uGF6vG0TnxG/fq9G/f7wIgiIi4I95Cj4I1qI" , "FGH3rB", "nms_GuiConnecting", "i2DFt0Gp0Du0G8zFv0Gs2Ew0G62Dx0G62E"
        , "FPQRgC4rB", "nleit_TeaVMBlobURLHandle", "tzBuzBzoD0oD" , "FGH5rB", "nms_ChunkProviderLoadOrGenerate", "s2Dt2D7qIFgxIolIhxI3lIixIOjxIzmIkxI1mIlxIjkI9/I+/I//IggJjgJkgJlgJmgJrgJsgJu2JhtJ" , "FGH6rB", "nms_EntityRenderer", "/HFm9Cn9Ci0Dj0Dk0Dl0Dm2Dn2Dr3Ds3Dw5Ex5Ey5Ez5E15E25Ex6Ey6Ev8Ew8E6kF7kFglFhlFilFjlFklFllFolFplF" , "FGH7rB", "nms_RenderSnowball", "nrEFpiHltG" , "FPQ7E8rB", "nleo_EaglercraftGPU", "sHtHpP4BqPrPiQjQ4U5U9X+X/XgYhYiYjYkYlYmYnYoYpYqYrYsY+btP2c3c4c5cstBttB50B60Bk6CxPp6Cq6C8lD9lD+lD/lD8mD9mD9+D++DzhE0hE3hE4hEymEzmE1nE2nE5nE6nEhoEioEl8Em8EqlFrlFslFtlF6wF7wF8wF9wF+wF/wFwyFxyF0yF1yFk1Fl1F78F88F98F+8F/8Fg9Fj9Fk9F3/F4/Fg4Gh4G85IF"
        , "ABC9rB", "jur_CompositeGroupQuantifierSet", "7lCF/kGkB4jHg9G" , "FGH+rB", "nms_EntityRainFX", "umFF+mGy8E/mGr2F" , "FGH/rB", "nms_BlockContainer", "swBFtwBFlpK2nJ2yKrpKm8Kn8K" , "FGHgsB", "nms_BlockSand", "znBFpwB4B52Il2Dy4InsIrnJsnJ1qJ/uHwtJxtJhzK2nJ" , "FGHhsB", "nms_MobSpawnerTaiga", "wvIF6zKgrK" , "ABCisB", "jur_UMultiLineEOLSet", "7mCFslGkBtkHg9GkyHvsH" , "FPQ7EjsB", "nleo_DrawUtils", "pQoQhc4B26IF" , "FGHksB", "nms_WorldClient", "86J96Jk7Jl7Js7Jt7J97J+7Jn8Jo8Jt8JFthKuhK6jKmkI7jKvkI8jKptJ9jKivH+jKonI/jK04FolKulIplKjmIqlKlmIrlK03DslKoqGtlK6kJulKjuGsnK57H"
        , "FPQRgClsB", "nleit_TeaVMBlobURLManager", "jL+KjT4BmTnTwfxfyfnTgrBhrBrzBszB45B55BphDqhDzhD0hD19D29Dk6IF" , "FGHmsB", "nms_RenderZombieSimple", "+qEFt+Ho4HloImoI" , "FGnsBosB", "nmc_Minecraft", "oFFpFqFsI4Bv8Cw8C28C38C68C78Ck9Cl9Cq9Cr9Cw9Cx9Cy9Cz9C29C39C49C59C69C79C99C+9CnzDozDvzDwzD80D90Dj1Dk1Dl3Dm3Dn3Do3D/3Dg4Dt4Du4Dv4Dw4D04D14D44D54DtgEugE1gE2gEphEqhEv0Ew0Ex1Ey1Ez1E01E11E21E31E41Er5Es5E/8Eg9EtzFuzF/3Fg4Fh+Gi+GroHsoH6oH7oH23H33HugIvgIgqIhqIzkJ0kJkqJlqJnpLopL" , "FGHpsB", "nms_EntitySlime", "4pJ5pJkgKFsiKtiKokKisF+mKqpJ62KoqKj3KuvJo3KwvJw3KyvJq4Ky8E14K0qK15KjuG5/KjtI4iLu+KhjL4/K"
        , "FGHqsB", "nms_RenderFireball", "orEFqiHltGvqHwqH" , "FGHrsB", "nms_GuiChest", "5lJFx4JwmFy4J4mF" , "FPQyQ", "nle_Random", "8QF9Q+Q8dF6mB7mBtuBuuBz+CzKt/Cu/Cw/C+Qg8JkhE" , "ABssB", "ju_Hashtable", "rrCFssCFtsC4BxuCiqByuCzuCzjDyO4yD5Dz8DmhD08D18D" , "AbtsB", "jl_Thread$switchContext$lambda$_19_0", "orDFttDqF" , "FGHusB", "nms_EntityFX", "x8Ey8EygFzgF0gF1gFvnFFntFisFq2Fr2F95F+5FwiHm8GoxK0qK" , "FPQ1FvsB", "nlep_EaglerProfile$WaitingSkin", "8tIF" , "ABCwsB", "jur_AbstractCharClass$LazySpecialsBlock",
        "8tCF+vEtvD" , "AnBxsB", "jt_DateFormatElement", "/4D2HylEF" , "ABysB", "ju_Iterator", "yKzK0K1Kp5FpoC" , "FPQRzsB", "nlei_IClientConfigAdapterHooks", "7K8K1e2e2hB3hBwkFxkF" , "FGH0sB", "nms_InventoryBasic", "p7JF3kKghI4kKvsJ5kKxsJ6kKkhI7kKz/H8kKr8H9kKtgKkiL39K" , "AB1sB", "ju_IllegalFormatFlagsException", "8hGF" , "FPQ7E2sB", "nleo_StreamBuffer$StreamBufferInstance", "+pE/pEgqEhqE2tEF" , "gBgCoD3sB4sB5sB", "otjdx_Node", "/DgE" , "AnB6sB", "jt_DateFormatElement$EraText", "p9DFkzE2HuzEH4zEJ" , "FPQ1F7sB",
        "nlep_EaglerProfile", "81D91D7hE4BpiEqiEtoEuoEroIsoIvoIwoIxoIyoIr8IF" , "ABC8sB", "jur_UnicodeCategory", "p4EFrtF2a" , "FPQ7EhP", "nleo_Tessellator", "uwGjwBvwGwwGywGnnDvxG4BuzGF" , "AB9sB", "ju_Arrays$ArrayAsList", "vqBFoyCyNpyC5DqyC4H" , "FGH+sB", "nms_RecipesTools", "wgCFxgCygC" , "JKd/sB", "cjj_Comment", "hzGoQ0zGF/zG4Bv9Gw9G2tHqW" , "FGHgtB", "nms_TextureFX", "hRFz6E06Ej8Ek8E"  ];
    }
    function nleit_TeaVMRuntimeDeobfuscator_initialize0() {
        var $classes, $deobfName, $time, $stringReaderA, $stringReaderB, $javaStringPoolA, $i, $m, $javaStringPoolB, $i_0, $l, $lookupTblClsName, $classNameBuilder, $b, $j, $lookupTbl, var$17, $className, $classObfName, $obfName, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$obfName = $thread.pop();$classObfName = $thread.pop();$className = $thread.pop();var$17 = $thread.pop();$lookupTbl = $thread.pop();$j = $thread.pop();$b = $thread.pop();$classNameBuilder = $thread.pop();$lookupTblClsName = $thread.pop();$l = $thread.pop();$i_0 = $thread.pop();$javaStringPoolB = $thread.pop();$m = $thread.pop();$i = $thread.pop();$javaStringPoolA = $thread.pop();$stringReaderB = $thread.pop();$stringReaderA = $thread.pop();$time = $thread.pop();$deobfName = $thread.pop();$classes
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_TeaVMRuntimeDeobfuscator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            try {
                $classes = nleit_TeaVMRuntimeDeobfuscator_logger;
                $deobfName = $rt_s(888);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            $ptr = 3;
            continue main;
        case 2:
            a: {
                try {
                    oall_Logger_info($classes, $deobfName);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            $ptr = 3;
        case 3:
            $tmp = nlei_PlatformRuntime_steadyTimeMillis();
            if ($rt_suspending()) {
                break main;
            }
            $time = $tmp;
            $ptr = 4;
        case 4:
            $tmp = nleit_TeaVMRuntimeDeobfuscator_getAllClasses();
            if ($rt_suspending()) {
                break main;
            }
            $classes = $tmp;
            if ($classes.length < 2)
                return;
            ju_HashMap_clear(nleit_TeaVMRuntimeDeobfuscator_deobfClassNames);
            ju_HashMap_clear(nleit_TeaVMRuntimeDeobfuscator_deobfFuncNames);
            $stringReaderA = otji_JSWrapper_maybeUnwrap($classes[0]);
            $stringReaderB = otji_JSWrapper_maybeUnwrap($classes[1]);
            $javaStringPoolA = $rt_createArray(jl_String, $stringReaderA.length).data;
            $i = 0;
            $m = $javaStringPoolA.length;
            while ($i < $m) {
                $javaStringPoolA[$i] = otjc_JSString_stringValue$static(otji_JSWrapper_maybeUnwrap($stringReaderA[$i]));
                $i = $i + 1 | 0;
            }
            $javaStringPoolB = $rt_createArray(jl_String, $stringReaderB.length).data;
            $i_0 = 0;
            $m = $javaStringPoolB.length;
            while ($i_0 < $m) {
                $javaStringPoolB[$i_0] = otjc_JSString_stringValue$static(otji_JSWrapper_maybeUnwrap($stringReaderB[$i_0]));
                $i_0 = $i_0 + 1 | 0;
            }
            $i_0 = 2;
            $l = $classes.length - 2 | 0;
            if ($i_0 >= $l) {
                try {
                    $ptr = 5;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                return;
            }
            $lookupTblClsName = nleit_Base64VarIntArray_decodeVarIntArray(otji_JSWrapper_maybeUnwrap($classes[$i_0]));
            $classNameBuilder = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($classNameBuilder);
            $b = 0;
            $j = 0;
            while (true) {
                $lookupTbl = $lookupTblClsName.data;
                if ($j >= $lookupTbl.length)
                    break;
                if ($b)
                    jl_AbstractStringBuilder_append($classNameBuilder, 46);
                jl_AbstractStringBuilder_append2($classNameBuilder, $javaStringPoolA[$lookupTbl[$j]]);
                $b = 1;
                $j = $j + 1 | 0;
            }
            $ptr = 7;
            continue main;
        case 5:
            try {
                $tmp = nlei_PlatformRuntime_steadyTimeMillis();
                if ($rt_suspending()) {
                    break main;
                }
                var$17 = $tmp;
                $time = Long_sub(var$17, $time);
                $deobfName = nleit_TeaVMRuntimeDeobfuscator_logger;
                $stringReaderA = $rt_s(889);
                $javaStringPoolA = $rt_createArrayFromData(jl_Object, [jl_Integer_valueOf(ju_HashMap_size(nleit_TeaVMRuntimeDeobfuscator_deobfClassNames)), jl_Integer_valueOf(ju_HashMap_size(nleit_TeaVMRuntimeDeobfuscator_deobfFuncNames)), jl_Long_valueOf($time)]);
                $ptr = 6;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 6:
            a: {
                try {
                    oall_Logger_info0($deobfName, $stringReaderA, $javaStringPoolA);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString($classNameBuilder);
            if ($rt_suspending()) {
                break main;
            }
            $className = $tmp;
            $classObfName = otjc_JSString_stringValue$static(otji_JSWrapper_maybeUnwrap($classes[$i_0 + 1 | 0]));
            $deobfName = nleit_TeaVMRuntimeDeobfuscator_deobfClassNames;
            $ptr = 8;
        case 8:
            ju_HashMap_putImpl($deobfName, $classObfName, $className);
            if ($rt_suspending()) {
                break main;
            }
            $lookupTblClsName = (nleit_Base64VarIntArray_decodeVarIntArray(otji_JSWrapper_maybeUnwrap($classes[$i_0 + 2 | 0]))).data;
            $j = 0;
            $m = $lookupTblClsName.length - 1 | 0;
            if ($j < $m) {
                $obfName = $javaStringPoolB[$lookupTblClsName[$j]];
                $deobfName = $javaStringPoolB[$lookupTblClsName[$j + 1 | 0]];
                $stringReaderA = nleit_TeaVMRuntimeDeobfuscator_deobfFuncNames;
                $stringReaderB = new nleit_TeaVMRuntimeDeobfuscator$DeobfNameEntry;
                $stringReaderB.$className = $className;
                $stringReaderB.$functionName = $deobfName;
                $ptr = 9;
                continue main;
            }
            $i_0 = $i_0 + 3 | 0;
            if ($i_0 >= $l) {
                try {
                    $ptr = 5;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                return;
            }
            $lookupTblClsName = nleit_Base64VarIntArray_decodeVarIntArray(otji_JSWrapper_maybeUnwrap($classes[$i_0]));
            $classNameBuilder = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($classNameBuilder);
            $b = 0;
            $j = 0;
            while (true) {
                $lookupTbl = $lookupTblClsName.data;
                if ($j >= $lookupTbl.length)
                    break;
                if ($b)
                    jl_AbstractStringBuilder_append($classNameBuilder, 46);
                jl_AbstractStringBuilder_append2($classNameBuilder, $javaStringPoolA[$lookupTbl[$j]]);
                $b = 1;
                $j = $j + 1 | 0;
            }
            $ptr = 7;
            continue main;
        case 9:
            ju_HashMap_putImpl($stringReaderA, $obfName, $stringReaderB);
            if ($rt_suspending()) {
                break main;
            }
            $j = $j + 2 | 0;
            if ($j < $m) {
                $obfName = $javaStringPoolB[$lookupTblClsName[$j]];
                $deobfName = $javaStringPoolB[$lookupTblClsName[$j + 1 | 0]];
                $stringReaderA = nleit_TeaVMRuntimeDeobfuscator_deobfFuncNames;
                $stringReaderB = new nleit_TeaVMRuntimeDeobfuscator$DeobfNameEntry;
                $stringReaderB.$className = $className;
                $stringReaderB.$functionName = $deobfName;
                continue main;
            }
            $i_0 = $i_0 + 3 | 0;
            if ($i_0 >= $l) {
                try {
                    $ptr = 5;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                return;
            }
            $lookupTblClsName = nleit_Base64VarIntArray_decodeVarIntArray(otji_JSWrapper_maybeUnwrap($classes[$i_0]));
            $classNameBuilder = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($classNameBuilder);
            $b = 0;
            $j = 0;
            while (true) {
                $lookupTbl = $lookupTblClsName.data;
                if ($j >= $lookupTbl.length)
                    break;
                if ($b)
                    jl_AbstractStringBuilder_append($classNameBuilder, 46);
                jl_AbstractStringBuilder_append2($classNameBuilder, $javaStringPoolA[$lookupTbl[$j]]);
                $b = 1;
                $j = $j + 1 | 0;
            }
            $ptr = 7;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($classes, $deobfName, $time, $stringReaderA, $stringReaderB, $javaStringPoolA, $i, $m, $javaStringPoolB, $i_0, $l, $lookupTblClsName, $classNameBuilder, $b, $j, $lookupTbl, var$17, $className, $classObfName, $obfName, $ptr);
    }
    function nleit_TeaVMRuntimeDeobfuscator_initialize() {
        var var$1, $t, var$3, var$4, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$t = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_TeaVMRuntimeDeobfuscator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleit_TeaVMRuntimeDeobfuscator_isFailed)
                return;
            var$1 = nleit_TeaVMRuntimeDeobfuscator_initLock;
            $ptr = 2;
        case 2:
            jl_Object_monitorEnter(var$1);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                try {
                    if (!nleit_TeaVMRuntimeDeobfuscator_isInitialized) {
                        try {
                            $ptr = 3;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                $t = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        nleit_TeaVMRuntimeDeobfuscator_isFailed = 1;
                        try {
                            var$3 = nleit_TeaVMRuntimeDeobfuscator_logger;
                            var$4 = $rt_s(890);
                            $ptr = 4;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                            } else {
                                throw $$e;
                            }
                        }
                    }
                    jl_Object_monitorExit(var$1);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $t = $$je;
                    break a;

                }
                return;
            }
            jl_Object_monitorExit(var$1);
            $rt_throw($t);
        case 3:
            a: {
                try {
                    b: {
                        try {
                            nleit_TeaVMRuntimeDeobfuscator_initialize0();
                            if ($rt_suspending()) {
                                break main;
                            }
                            nleit_TeaVMRuntimeDeobfuscator_isInitialized = 1;
                            break b;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                $t = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        nleit_TeaVMRuntimeDeobfuscator_isFailed = 1;
                        try {
                            var$3 = nleit_TeaVMRuntimeDeobfuscator_logger;
                            var$4 = $rt_s(890);
                            $ptr = 4;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                            } else {
                                throw $$e;
                            }
                        }
                    }
                    jl_Object_monitorExit(var$1);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $t = $$je;
                    break a;

                }
                return;
            }
            jl_Object_monitorExit(var$1);
            $rt_throw($t);
        case 4:
            a: {
                try {
                    try {
                        oall_Logger_error0(var$3, var$4);
                        if ($rt_suspending()) {
                            break main;
                        }
                        var$3 = nleit_TeaVMRuntimeDeobfuscator_logger;
                        $ptr = 5;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                        } else {
                            throw $$e;
                        }
                    }
                    jl_Object_monitorExit(var$1);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $t = $$je;
                    break a;

                }
                return;
            }
            jl_Object_monitorExit(var$1);
            $rt_throw($t);
        case 5:
            a: {
                try {
                    b: {
                        try {
                            oall_Logger_error1(var$3, $t);
                            if ($rt_suspending()) {
                                break main;
                            }
                            break b;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                            } else {
                                throw $$e;
                            }
                        }
                    }
                    jl_Object_monitorExit(var$1);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $t = $$je;
                    break a;

                }
                return;
            }
            jl_Object_monitorExit(var$1);
            $rt_throw($t);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $t, var$3, var$4, $ptr);
    }
    function nleit_TeaVMRuntimeDeobfuscator_deobfClassName($clsName) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$clsName = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_TeaVMRuntimeDeobfuscator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleit_TeaVMRuntimeDeobfuscator_isInitialized)
                return null;
            var$2 = nleit_TeaVMRuntimeDeobfuscator_deobfClassNames;
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get(var$2, $clsName);
            if ($rt_suspending()) {
                break main;
            }
            $clsName = $tmp;
            return $clsName;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($clsName, var$2, $ptr);
    }
    function nleit_TeaVMRuntimeDeobfuscator_deobfFunctionFullName($funcName) {
        var $ret, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$ret = $thread.pop();$funcName = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_TeaVMRuntimeDeobfuscator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleit_TeaVMRuntimeDeobfuscator_isInitialized)
                return null;
            $ret = nleit_TeaVMRuntimeDeobfuscator_deobfFuncNames;
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get($ret, $funcName);
            if ($rt_suspending()) {
                break main;
            }
            $funcName = $tmp;
            $ret = $funcName;
            if ($ret === null)
                return null;
            $funcName = $ret.$className;
            if ($funcName === null)
                $funcName = $rt_s(891);
            $ret = $ret.$functionName;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$3, $funcName);
            if ($rt_suspending()) {
                break main;
            }
            $funcName = $tmp;
            jl_AbstractStringBuilder_append($funcName, 46);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append($funcName, $ret);
            if ($rt_suspending()) {
                break main;
            }
            $funcName = $tmp;
            $ret = $rt_s(892);
            $ptr = 5;
        case 5:
            jl_StringBuilder_append($funcName, $ret);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $funcName = $tmp;
            return $funcName;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($funcName, $ret, var$3, $ptr);
    }
    function nleit_TeaVMRuntimeDeobfuscator_countLeadingWhitespace($line) {
        var $i, $l, $c, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$c = $thread.pop();$l = $thread.pop();$i = $thread.pop();$line = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_TeaVMRuntimeDeobfuscator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $i = 0;
            $l = jl_String_length($line);
            while (true) {
                if ($i >= $l)
                    return 0;
                $c = jl_String_charAt($line, $i);
                if ($c != 32 && $c != 9)
                    break;
                $i = $i + 1 | 0;
            }
            return $i;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($line, $i, $l, $c, $ptr);
    }
    function nleit_TeaVMRuntimeDeobfuscator_deobfExceptionStack($stackLines) {
        var $i, $l, var$4, $line, $len, $funcName2, $leadingWs, var$9, $nextSpace, $nextDot, $funcName, $deobfName, $deobfName2, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$deobfName2 = $thread.pop();$deobfName = $thread.pop();$funcName = $thread.pop();$nextDot = $thread.pop();$nextSpace = $thread.pop();var$9 = $thread.pop();$leadingWs = $thread.pop();$funcName2 = $thread.pop();$len = $thread.pop();$line = $thread.pop();var$4 = $thread.pop();$l = $thread.pop();$i = $thread.pop();$stackLines = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_TeaVMRuntimeDeobfuscator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleit_TeaVMRuntimeDeobfuscator_isInitialized)
                return;
            a: {
                b: {
                    try {
                        $i = 0;
                        $l = ju_Arrays$ArrayAsList_size($stackLines);
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            break b;
                        } else {
                            throw $$e;
                        }
                    }
                    var$4 = 46;
                    c: {
                        try {
                            while ($i < $l) {
                                $line = ju_Arrays$ArrayAsList_get($stackLines, $i);
                                $len = jl_String_length($line);
                                if ($len)
                                    break c;
                                $i = $i + 1 | 0;
                            }
                            break a;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                break b;
                            } else {
                                throw $$e;
                            }
                        }
                    }
                    try {
                        $ptr = 3;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                        } else {
                            throw $$e;
                        }
                    }
                }
                try {
                    $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                    $funcName2 = $rt_s(197);
                    $ptr = 2;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return;
        case 2:
            d: {
                try {
                    oall_Logger_error0($stackLines, $funcName2);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break d;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return;
        case 3:
            d: {
                try {
                    $tmp = nleit_TeaVMRuntimeDeobfuscator_countLeadingWhitespace($line);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $leadingWs = $tmp;
                    var$9 = $leadingWs + 3 | 0;
                    if ($len <= var$9)
                        var$9 = $leadingWs;
                    else if (jl_String_charAt($line, $leadingWs) != 97)
                        var$9 = $leadingWs;
                    else if (jl_String_charAt($line, $leadingWs + 1 | 0) != 116)
                        var$9 = $leadingWs;
                    else if (jl_String_charAt($line, $leadingWs + 2 | 0) != 32)
                        var$9 = $leadingWs;
                    $nextSpace = jl_String_indexOf($line, 32, var$9);
                    $nextDot = jl_String_indexOf($line, 46, var$9);
                    $funcName2 = null;
                    if ($nextDot <= 0)
                        $nextDot = $nextSpace;
                    else if ($nextDot >= $nextSpace)
                        $nextDot = $nextSpace;
                    else
                        $funcName2 = jl_String_substring0($line, $nextDot + 1 | 0, $nextSpace);
                    e: {
                        if ($nextDot != (-1))
                            $len = $nextDot;
                        else {
                            $nextSpace = jl_String_indexOf($line, 64, var$9);
                            if ($nextSpace != (-1))
                                $len = $nextSpace;
                            else if ($nextSpace >= var$9)
                                $len = $nextSpace;
                            else if ($nextSpace == (var$9 + 1 | 0) && jl_String_charAt($line, var$9) == 64)
                                break e;
                        }
                        if (($len - var$9 | 0) >= 1) {
                            $funcName = jl_String_substring0($line, var$9, $len);
                            $ptr = 4;
                            continue main;
                        }
                    }
                    while (true) {
                        $i = $i + 1 | 0;
                        if ($i >= $l)
                            break;
                        $line = ju_Arrays$ArrayAsList_get($stackLines, $i);
                        $len = jl_String_length($line);
                        if ($len) {
                            continue main;
                        }
                    }
                    break d;
                    $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                    $funcName2 = $rt_s(197);
                    $ptr = 2;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return;
        case 4:
            try {
                $tmp = nleit_TeaVMRuntimeDeobfuscator_deobfFunctionFullName($funcName);
                if ($rt_suspending()) {
                    break main;
                }
                $deobfName = $tmp;
                if ($deobfName === null) {
                    $ptr = 5;
                    continue main;
                }
                $funcName2 = jl_String_substring0($line, 0, var$9);
                $line = jl_String_substring($line, $len);
                $funcName = jl_StringBuilder__init_0();
                $ptr = 6;
                continue main;
                $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                $funcName2 = $rt_s(197);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 5:
            d: {
                try {
                    $tmp = nleit_TeaVMRuntimeDeobfuscator_deobfClassName($funcName);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $funcName = $tmp;
                    if ($funcName === null) {
                        while (true) {
                            $i = $i + 1 | 0;
                            if ($i >= $l)
                                break;
                            $line = ju_Arrays$ArrayAsList_get($stackLines, $i);
                            $len = jl_String_length($line);
                            if ($len) {
                                $ptr = 3;
                                continue main;
                            }
                        }
                        break d;
                    }
                    $deobfName2 = null;
                    if ($funcName2 !== null && jl_String_indexOf0($funcName2, 46) == (-1)) {
                        $deobfName2 = nleit_TeaVMRuntimeDeobfuscator_deobfFuncNames;
                        $ptr = 10;
                        continue main;
                    }
                    if ($deobfName2 !== null) {
                        $funcName2 = $deobfName2.$className;
                        $ptr = 11;
                        continue main;
                    }
                    $funcName2 = jl_String_substring0($line, 0, var$9);
                    $line = jl_String_substring($line, $len);
                    $deobfName2 = jl_StringBuilder__init_0();
                    $ptr = 12;
                    continue main;
                    $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                    $funcName2 = $rt_s(197);
                    $ptr = 2;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return;
        case 6:
            try {
                $tmp = jl_StringBuilder_append($funcName, $funcName2);
                if ($rt_suspending()) {
                    break main;
                }
                $funcName2 = $tmp;
                $ptr = 7;
                continue main;
                $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                $funcName2 = $rt_s(197);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 7:
            try {
                $tmp = jl_StringBuilder_append($funcName2, $deobfName);
                if ($rt_suspending()) {
                    break main;
                }
                $funcName2 = $tmp;
                $ptr = 8;
                continue main;
                $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                $funcName2 = $rt_s(197);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 8:
            try {
                jl_StringBuilder_append($funcName2, $line);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 9;
                continue main;
                $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                $funcName2 = $rt_s(197);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 9:
            d: {
                try {
                    $tmp = jl_StringBuilder_toString($funcName);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $funcName2 = $tmp;
                    ju_Arrays$ArrayAsList_set($stackLines, $i, $funcName2);
                    while (true) {
                        $i = $i + 1 | 0;
                        if ($i >= $l)
                            break;
                        $line = ju_Arrays$ArrayAsList_get($stackLines, $i);
                        $len = jl_String_length($line);
                        if ($len) {
                            $ptr = 3;
                            continue main;
                        }
                    }
                    break d;
                    $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                    $funcName2 = $rt_s(197);
                    $ptr = 2;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return;
        case 10:
            try {
                $tmp = ju_HashMap_get($deobfName2, $funcName2);
                if ($rt_suspending()) {
                    break main;
                }
                $funcName2 = $tmp;
                $deobfName2 = $funcName2;
                if ($deobfName2 !== null) {
                    $funcName2 = $deobfName2.$className;
                    $ptr = 11;
                    continue main;
                }
                $funcName2 = jl_String_substring0($line, 0, var$9);
                $line = jl_String_substring($line, $len);
                $deobfName2 = jl_StringBuilder__init_0();
                $ptr = 12;
                continue main;
                $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                $funcName2 = $rt_s(197);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 11:
            try {
                $tmp = jl_String_equals($funcName, $funcName2);
                if ($rt_suspending()) {
                    break main;
                }
                $nextSpace = $tmp;
                if ($nextSpace) {
                    $deobfName2 = $deobfName2.$functionName;
                    $funcName2 = jl_StringBuilder__init_0();
                    $ptr = 16;
                    continue main;
                }
                $funcName2 = jl_String_substring0($line, 0, var$9);
                $line = jl_String_substring($line, $len);
                $deobfName2 = jl_StringBuilder__init_0();
                $ptr = 12;
                continue main;
                $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                $funcName2 = $rt_s(197);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 12:
            try {
                $tmp = jl_StringBuilder_append($deobfName2, $funcName2);
                if ($rt_suspending()) {
                    break main;
                }
                $funcName2 = $tmp;
                $ptr = 13;
                continue main;
                $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                $funcName2 = $rt_s(197);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 13:
            try {
                $tmp = jl_StringBuilder_append($funcName2, $funcName);
                if ($rt_suspending()) {
                    break main;
                }
                $funcName2 = $tmp;
                $ptr = 14;
                continue main;
                $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                $funcName2 = $rt_s(197);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 14:
            try {
                jl_StringBuilder_append($funcName2, $line);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 15;
                continue main;
                $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                $funcName2 = $rt_s(197);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 15:
            d: {
                try {
                    $tmp = jl_StringBuilder_toString($deobfName2);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $funcName2 = $tmp;
                    ju_Arrays$ArrayAsList_set($stackLines, $i, $funcName2);
                    while (true) {
                        $i = $i + 1 | 0;
                        if ($i >= $l)
                            break;
                        $line = ju_Arrays$ArrayAsList_get($stackLines, $i);
                        $len = jl_String_length($line);
                        if ($len) {
                            $ptr = 3;
                            continue main;
                        }
                    }
                    break d;
                    $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                    $funcName2 = $rt_s(197);
                    $ptr = 2;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return;
        case 16:
            try {
                $tmp = jl_StringBuilder_append($funcName2, $funcName);
                if ($rt_suspending()) {
                    break main;
                }
                $funcName = $tmp;
                $funcName = jl_StringBuilder_append5($funcName, var$4);
                $ptr = 17;
                continue main;
                $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                $funcName2 = $rt_s(197);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 17:
            try {
                $tmp = jl_StringBuilder_append($funcName, $deobfName2);
                if ($rt_suspending()) {
                    break main;
                }
                $funcName = $tmp;
                $deobfName2 = $rt_s(892);
                $ptr = 18;
                continue main;
                $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                $funcName2 = $rt_s(197);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 18:
            try {
                jl_StringBuilder_append($funcName, $deobfName2);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 19;
                continue main;
                $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                $funcName2 = $rt_s(197);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 19:
            try {
                $tmp = jl_StringBuilder_toString($funcName2);
                if ($rt_suspending()) {
                    break main;
                }
                $funcName = $tmp;
                $funcName2 = jl_String_substring0($line, 0, var$9);
                $line = jl_String_substring($line, $len);
                $deobfName2 = jl_StringBuilder__init_0();
                $ptr = 12;
                continue main;
                $stackLines = nleit_TeaVMRuntimeDeobfuscator_logger;
                $funcName2 = $rt_s(197);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($stackLines, $i, $l, var$4, $line, $len, $funcName2, $leadingWs, var$9, $nextSpace, $nextDot, $funcName, $deobfName, $deobfName2, $ptr);
    }
    function nleit_TeaVMRuntimeDeobfuscator__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(893);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleit_TeaVMRuntimeDeobfuscator_logger = var$1;
            nleit_TeaVMRuntimeDeobfuscator_initLock = new jl_Object;
            nleit_TeaVMRuntimeDeobfuscator_deobfClassNames = ju_HashMap__init_0();
            nleit_TeaVMRuntimeDeobfuscator_deobfFuncNames = ju_HashMap__init_0();
            nleit_TeaVMRuntimeDeobfuscator_isInitialized = 0;
            nleit_TeaVMRuntimeDeobfuscator_isFailed = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    var ju_EnumSet = $rt_classWithoutFields(ju_AbstractSet);
    function ju_EnumSet_noneOf($elementType) {
        var var$2;
        var$2 = new ju_GenericEnumSet;
        var$2.$cls = $elementType;
        var$2.$bits = $rt_createIntArray((((ju_GenericEnumSet_getConstants($elementType)).data.length - 1 | 0) / 32 | 0) + 1 | 0);
        return var$2;
    }
    function jl_Boolean() {
        jl_Object.call(this);
        this.$value3 = 0;
    }
    var jl_Boolean_TRUE = null;
    var jl_Boolean_FALSE = null;
    var jl_Boolean_TYPE = null;
    function jl_Boolean__init_0(var_0) {
        var var_1 = new jl_Boolean();
        jl_Boolean__init_(var_1, var_0);
        return var_1;
    }
    function jl_Boolean__init_($this, $value) {
        $this.$value3 = $value;
    }
    function jl_Boolean_booleanValue($this) {
        return $this.$value3;
    }
    function jl_Boolean_valueOf($value) {
        return !$value ? jl_Boolean_FALSE : jl_Boolean_TRUE;
    }
    function jl_Boolean_hashCode($this) {
        return !$this.$value3 ? 1237 : 1231;
    }
    function jl_Boolean__clinit_() {
        jl_Boolean_TRUE = jl_Boolean__init_0(1);
        jl_Boolean_FALSE = jl_Boolean__init_0(0);
        jl_Boolean_TYPE = $rt_cls($rt_booleancls());
    }
    function nleib_EaglerArrayByteBuffer() {
        var a = this; nleib_ByteBuffer.call(a);
        a.$dataView = null;
        a.$typedArray0 = null;
        a.$capacity1 = 0;
        a.$position2 = 0;
        a.$limit2 = 0;
        a.$mark0 = 0;
    }
    function nleib_EaglerArrayByteBuffer__init_(var_0) {
        var var_1 = new nleib_EaglerArrayByteBuffer();
        nleib_EaglerArrayByteBuffer__init_0(var_1, var_0);
        return var_1;
    }
    function nleib_EaglerArrayByteBuffer__init_0($this, $typedArray) {
        var var$2, var$3, var$4;
        $this.$typedArray0 = $typedArray;
        var$2 = $typedArray.buffer;
        var$3 = $typedArray.byteOffset;
        var$4 = $typedArray.byteLength;
        $this.$dataView = new $rt_globals.DataView(var$2, var$3, var$4);
        var$4 = $typedArray.byteLength;
        $this.$capacity1 = var$4;
        $this.$position2 = 0;
        $this.$limit2 = var$4;
        $this.$mark0 = (-1);
    }
    function nleib_EaglerArrayByteBuffer_remaining($this) {
        return $this.$limit2 - $this.$position2 | 0;
    }
    function nleib_EaglerArrayByteBuffer_hasRemaining($this) {
        return $this.$limit2 <= $this.$position2 ? 0 : 1;
    }
    function nleib_EaglerArrayByteBuffer_get($this, $index) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$index = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($index >= 0 && $index < $this.$limit2)
                return $this.$typedArray0[$index];
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE($index);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $index, var$2, $ptr);
    }
    function nleib_EaglerArrayByteBuffer_put1($this, $index, $b) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$b = $thread.pop();$index = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($index >= 0 && $index < $this.$limit2) {
                var$3 = $this.$typedArray0;
                $index;
                var$3[$index] = $b;
                return $this;
            }
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE($index);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $index, $b, var$3, $ptr);
    }
    function nleib_EaglerArrayByteBuffer_get0($this, $dst) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$dst = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $dst.data;
            var$3 = $this.$position2;
            var$4 = var$2.length;
            var$3 = var$3 + var$4 | 0;
            if (var$3 <= $this.$limit2) {
                var$5 = $dst.data;
                var$6 = new $rt_globals.Int8Array($this.$typedArray0.buffer, $this.$typedArray0.byteOffset + $this.$position2 | 0, var$4);
                var$5.set(var$6);
                $this.$position2 = $this.$position2 + var$4 | 0;
                return $this;
            }
            var$3 = var$3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $rt_throw(var$5);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $dst, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nleib_EaglerArrayByteBuffer_put0($this, $c) {
        var $l, var$3, var$4, var$5, $i, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$i = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$l = $thread.pop();$c = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                if ($c instanceof nleib_EaglerArrayByteBuffer) {
                    $l = $c.$limit2 - $c.$position2 | 0;
                    var$3 = $this.$position2 + $l | 0;
                    if (var$3 <= $this.$limit2) {
                        var$4 = $this.$typedArray0;
                        var$5 = new $rt_globals.Int8Array($c.$typedArray0.buffer, $c.$typedArray0.byteOffset + $c.$position2 | 0, $l);
                        var$3 = $this.$position2;
                        var$4.set(var$5, var$3);
                        $this.$position2 = $this.$position2 + $l | 0;
                        $c.$position2 = $c.$position2 + $l | 0;
                        break a;
                    }
                    $l = var$3 - 1 | 0;
                    $ptr = 2;
                    continue main;
                }
                $l = nleib_EaglerArrayByteBuffer_remaining($c);
                var$3 = $this.$position2 + $l | 0;
                if (var$3 > $this.$limit2) {
                    $l = var$3 - 1 | 0;
                    $ptr = 1;
                    continue main;
                }
                $i = 0;
                while ($i < $l) {
                    var$5 = $this.$dataView;
                    var$7 = $this.$position2 + $i | 0;
                    var$8 = $c.$position2;
                    if (var$8 >= $c.$limit2) {
                        $ptr = 3;
                        continue main;
                    }
                    var$9 = $c.$typedArray0;
                    $c.$position2 = var$8 + 1 | 0;
                    var$3 = var$9[var$8];
                    var$5.setInt8(var$7, var$3);
                    $i = $i + 1 | 0;
                }
                $this.$position2 = $this.$position2 + $l | 0;
            }
            return $this;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE($l);
            if ($rt_suspending()) {
                break main;
            }
            $c = $tmp;
            $rt_throw($c);
        case 2:
            $tmp = nleib_Buffer_makeIOOBE($l);
            if ($rt_suspending()) {
                break main;
            }
            $c = $tmp;
            $rt_throw($c);
        case 3:
            $tmp = nleib_Buffer_makeIOOBE(var$8);
            if ($rt_suspending()) {
                break main;
            }
            $c = $tmp;
            $rt_throw($c);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $c, $l, var$3, var$4, var$5, $i, var$7, var$8, var$9, $ptr);
    }
    function nleib_EaglerArrayByteBuffer_put2($this, $src, $offset, $length) {
        var var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$length = $thread.pop();$offset = $thread.pop();$src = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$position2 + $length | 0;
            if (var$4 <= $this.$limit2) {
                if (!$offset && $length == $src.data.length) {
                    var$5 = $this.$typedArray0;
                    var$6 = $src.data;
                    $offset = $this.$position2;
                    var$5.set(var$6, $offset);
                } else {
                    var$5 = $this.$typedArray0;
                    var$6 = new $rt_globals.Int8Array($src.data.buffer, $offset, $length);
                    $offset = $this.$position2;
                    var$5.set(var$6, $offset);
                }
                $this.$position2 = $this.$position2 + $length | 0;
                return $this;
            }
            $offset = var$4 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE($offset);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $rt_throw(var$7);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $src, $offset, $length, var$4, var$5, var$6, var$7, $ptr);
    }
    function nleib_EaglerArrayByteBuffer_put($this, $src) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$src = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $src.data;
            var$3 = $this.$position2;
            var$4 = var$2.length;
            var$3 = var$3 + var$4 | 0;
            if (var$3 <= $this.$limit2) {
                var$5 = $this.$typedArray0;
                var$6 = $src.data;
                var$3 = $this.$position2;
                var$5.set(var$6, var$3);
                $this.$position2 = $this.$position2 + var$4 | 0;
                return $this;
            }
            var$3 = var$3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $rt_throw(var$5);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $src, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nleib_EaglerArrayByteBuffer_putShort($this, $value) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$value = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$position2;
            if ((var$2 + 2 | 0) <= $this.$limit2) {
                $this.$dataView.setInt16(var$2, $value, !!1);
                $this.$position2 = $this.$position2 + 2 | 0;
                return $this;
            }
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $value, var$2, var$3, $ptr);
    }
    function nleib_EaglerArrayByteBuffer_putInt0($this, $value) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$value = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$position2;
            if ((var$2 + 4 | 0) <= $this.$limit2) {
                $this.$dataView.setInt32(var$2, $value, !!1);
                $this.$position2 = $this.$position2 + 4 | 0;
                return $this;
            }
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $value, var$2, var$3, $ptr);
    }
    function nleib_EaglerArrayByteBuffer_getInt($this, $index) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$index = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($index >= 0 && ($index + 4 | 0) <= $this.$limit2)
                return $this.$dataView.getInt32($index, !!1);
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE($index);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $index, var$2, $ptr);
    }
    function nleib_EaglerArrayByteBuffer_putInt($this, $index, $value) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$value = $thread.pop();$index = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($index >= 0 && ($index + 4 | 0) <= $this.$limit2) {
                $this.$dataView.setInt32($index, $value, !!1);
                return $this;
            }
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE($index);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $index, $value, var$3, $ptr);
    }
    function nleib_EaglerArrayByteBuffer_asIntBuffer($this) {
        var var$1, var$2, var$3, var$4;
        var$1 = new nleib_EaglerArrayIntBuffer;
        var$2 = $this.$typedArray0.buffer;
        var$3 = $this.$typedArray0.byteOffset;
        var$4 = $this.$typedArray0.length >> 2;
        nleib_EaglerArrayIntBuffer__init_0(var$1, new $rt_globals.Int32Array(var$2, var$3, var$4));
        return var$1;
    }
    function nleib_EaglerArrayByteBuffer_putFloat($this, $value) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$value = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$position2;
            if ((var$2 + 4 | 0) <= $this.$limit2) {
                $this.$dataView.setFloat32(var$2, $value, !!1);
                $this.$position2 = $this.$position2 + 4 | 0;
                return $this;
            }
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $value, var$2, var$3, $ptr);
    }
    function nleib_EaglerArrayByteBuffer_putFloat0($this, $index, $value) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$value = $thread.pop();$index = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($index >= 0 && ($index + 4 | 0) <= $this.$limit2) {
                $this.$dataView.setFloat32($index, $value, !!1);
                return $this;
            }
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE($index);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $index, $value, var$3, $ptr);
    }
    function nleib_EaglerArrayByteBuffer_asFloatBuffer($this) {
        var var$1, var$2, var$3, var$4;
        var$1 = new nleib_EaglerArrayFloatBuffer;
        var$2 = $this.$typedArray0.buffer;
        var$3 = $this.$typedArray0.byteOffset;
        var$4 = $this.$typedArray0.length >> 2;
        nleib_EaglerArrayFloatBuffer__init_0(var$1, new $rt_globals.Float32Array(var$2, var$3, var$4));
        return var$1;
    }
    function nleib_EaglerArrayByteBuffer_clear($this) {
        $this.$position2 = 0;
        $this.$limit2 = $this.$capacity1;
        $this.$mark0 = (-1);
        return $this;
    }
    function nleib_EaglerArrayByteBuffer_flip($this) {
        $this.$limit2 = $this.$position2;
        $this.$position2 = 0;
        $this.$mark0 = (-1);
        return $this;
    }
    function nleib_EaglerArrayByteBuffer_limit($this, $newLimit) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$newLimit = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($newLimit >= 0 && $newLimit <= $this.$capacity1) {
                $this.$limit2 = $newLimit;
                return $this;
            }
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE($newLimit);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $newLimit, var$2, $ptr);
    }
    function nleib_EaglerArrayByteBuffer_position($this, $newPosition) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$newPosition = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($newPosition >= 0 && $newPosition <= $this.$limit2) {
                $this.$position2 = $newPosition;
                return $this;
            }
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE($newPosition);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $newPosition, var$2, $ptr);
    }
    var otjt_ArrayBufferView = $rt_classWithoutFields();
    var otjt_Int8Array = $rt_classWithoutFields(otjt_ArrayBufferView);
    var ju_TemplateCollections$AbstractImmutableSet = $rt_classWithoutFields(ju_AbstractSet);
    var ju_Collections$1 = $rt_classWithoutFields(ju_TemplateCollections$AbstractImmutableSet);
    function ju_Collections$1__init_0() {
        var var_0 = new ju_Collections$1();
        ju_Collections$1__init_(var_0);
        return var_0;
    }
    function ju_Collections$1__init_($this) {}
    var ju_TemplateCollections$AbstractImmutableMap = $rt_classWithoutFields(ju_AbstractMap);
    var ju_Collections$2 = $rt_classWithoutFields(ju_TemplateCollections$AbstractImmutableMap);
    function ju_Collections$2__init_0() {
        var var_0 = new ju_Collections$2();
        ju_Collections$2__init_(var_0);
        return var_0;
    }
    function ju_Collections$2__init_($this) {}
    var ju_TemplateCollections$AbstractImmutableList = $rt_classWithoutFields(ju_AbstractList);
    var ju_Collections$3 = $rt_classWithoutFields(ju_TemplateCollections$AbstractImmutableList);
    function ju_Collections$3__init_0() {
        var var_0 = new ju_Collections$3();
        ju_Collections$3__init_(var_0);
        return var_0;
    }
    function ju_Collections$3__init_($this) {}
    var ju_Iterator = $rt_classWithoutFields(0);
    var ju_Collections$4 = $rt_classWithoutFields();
    function ju_Collections$4__init_0() {
        var var_0 = new ju_Collections$4();
        ju_Collections$4__init_(var_0);
        return var_0;
    }
    function ju_Collections$4__init_($this) {}
    var ju_ListIterator = $rt_classWithoutFields(0);
    var ju_Collections$5 = $rt_classWithoutFields();
    function ju_Collections$5__init_0() {
        var var_0 = new ju_Collections$5();
        ju_Collections$5__init_(var_0);
        return var_0;
    }
    function ju_Collections$5__init_($this) {}
    var ju_Collections$_clinit_$lambda$_59_0 = $rt_classWithoutFields();
    function ju_Collections$_clinit_$lambda$_59_0__init_0() {
        var var_0 = new ju_Collections$_clinit_$lambda$_59_0();
        ju_Collections$_clinit_$lambda$_59_0__init_(var_0);
        return var_0;
    }
    function ju_Collections$_clinit_$lambda$_59_0__init_(var$0) {}
    var nlei_ITextureGL = $rt_classWithoutFields(0);
    function nlei_OpenGLObjects$TextureGL() {
        var a = this; jl_Object.call(a);
        a.$ptr0 = null;
        a.$hash1 = 0;
        a.$width = 0;
        a.$height = 0;
    }
    var nlei_OpenGLObjects$TextureGL_hashGen = 0;
    function nlei_OpenGLObjects$TextureGL__clinit_() {
        nlei_OpenGLObjects$TextureGL_hashGen = 0;
    }
    var nlei_IRenderbufferGL = $rt_classWithoutFields(0);
    function nlei_OpenGLObjects$RenderbufferGL() {
        var a = this; jl_Object.call(a);
        a.$ptr3 = null;
        a.$hash4 = 0;
    }
    var nlei_OpenGLObjects$RenderbufferGL_hashGen = 0;
    function nlei_OpenGLObjects$RenderbufferGL__clinit_() {
        nlei_OpenGLObjects$RenderbufferGL_hashGen = 0;
    }
    function nlei_OpenGLObjects$BufferGL() {
        var a = this; jl_Object.call(a);
        a.$ptr = null;
        a.$hash = 0;
    }
    var nlei_OpenGLObjects$BufferGL_hashGen = 0;
    function nlei_OpenGLObjects$BufferGL__clinit_() {
        nlei_OpenGLObjects$BufferGL_hashGen = 0;
    }
    var jl_UnsupportedOperationException = $rt_classWithoutFields(jl_RuntimeException);
    function jl_UnsupportedOperationException__init_1() {
        var var_0 = new jl_UnsupportedOperationException();
        jl_UnsupportedOperationException__init_(var_0);
        return var_0;
    }
    function jl_UnsupportedOperationException__init_2(var_0) {
        var var_1 = new jl_UnsupportedOperationException();
        jl_UnsupportedOperationException__init_0(var_1, var_0);
        return var_1;
    }
    function jl_UnsupportedOperationException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function jl_UnsupportedOperationException__init_0($this, $message) {
        jl_Throwable__init_($this, $message);
    }
    var nlei_IShaderGL = $rt_classWithoutFields(0);
    function nlei_OpenGLObjects$ShaderGL() {
        var a = this; jl_Object.call(a);
        a.$ptr2 = null;
        a.$hash3 = 0;
    }
    var nlei_OpenGLObjects$ShaderGL_hashGen = 0;
    function nlei_OpenGLObjects$ShaderGL__clinit_() {
        nlei_OpenGLObjects$ShaderGL_hashGen = 0;
    }
    var nlei_IVertexArrayGL = $rt_classWithoutFields(0);
    function nlei_OpenGLObjects$VertexArrayGL() {
        var a = this; jl_Object.call(a);
        a.$ptr4 = null;
        a.$hash7 = 0;
    }
    var nlei_OpenGLObjects$VertexArrayGL_hashGen = 0;
    function nlei_OpenGLObjects$VertexArrayGL__init_(var_0) {
        var var_1 = new nlei_OpenGLObjects$VertexArrayGL();
        nlei_OpenGLObjects$VertexArrayGL__init_0(var_1, var_0);
        return var_1;
    }
    function nlei_OpenGLObjects$VertexArrayGL__init_0($this, $ptr_0) {
        var var$2;
        $this.$ptr4 = $ptr_0;
        var$2 = nlei_OpenGLObjects$VertexArrayGL_hashGen + 1 | 0;
        nlei_OpenGLObjects$VertexArrayGL_hashGen = var$2;
        $this.$hash7 = var$2;
    }
    function nlei_OpenGLObjects$VertexArrayGL__clinit_() {
        nlei_OpenGLObjects$VertexArrayGL_hashGen = 0;
    }
    var nlei_IProgramGL = $rt_classWithoutFields(0);
    function nlei_OpenGLObjects$ProgramGL() {
        var a = this; jl_Object.call(a);
        a.$ptr1 = null;
        a.$hash2 = 0;
    }
    var nlei_OpenGLObjects$ProgramGL_hashGen = 0;
    function nlei_OpenGLObjects$ProgramGL__clinit_() {
        nlei_OpenGLObjects$ProgramGL_hashGen = 0;
    }
    var nlei_IUniformGL = $rt_classWithoutFields(0);
    function nlei_OpenGLObjects$UniformGL() {
        var a = this; jl_Object.call(a);
        a.$ptr5 = null;
        a.$hash5 = 0;
    }
    var nlei_OpenGLObjects$UniformGL_hashGen = 0;
    function nlei_OpenGLObjects$UniformGL__clinit_() {
        nlei_OpenGLObjects$UniformGL_hashGen = 0;
    }
    function nleit_ArrayBufferInputStream() {
        var a = this; ji_InputStream.call(a);
        a.$mark1 = 0;
        a.$position4 = 0;
        a.$limit3 = 0;
        a.$buffer5 = null;
        a.$typed = null;
    }
    function nleit_ArrayBufferInputStream__init_0(var_0, var_1, var_2) {
        var var_3 = new nleit_ArrayBufferInputStream();
        nleit_ArrayBufferInputStream__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nleit_ArrayBufferInputStream__init_($this, $bufferIn, $off, $len) {
        var var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$len = $thread.pop();$off = $thread.pop();$bufferIn = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$mark1 = (-1);
            var$4 = $off + $len | 0;
            if (var$4 <= $bufferIn.byteLength) {
                $this.$buffer5 = $bufferIn;
                $this.$typed = new $rt_globals.Uint8Array($bufferIn);
                $this.$position4 = $off;
                $this.$limit3 = var$4;
                return;
            }
            var$5 = new jl_IllegalArgumentException;
            var$4 = $bufferIn.byteLength;
            var$6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$6);
            $bufferIn = $rt_s(894);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$6, $bufferIn);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append0(var$7, $off);
            $bufferIn = $rt_s(895);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$7, $bufferIn);
            if ($rt_suspending()) {
                break main;
            }
            $bufferIn = $tmp;
            jl_AbstractStringBuilder_append0($bufferIn, $len);
            var$7 = $rt_s(896);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append($bufferIn, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $bufferIn = $tmp;
            jl_AbstractStringBuilder_append0($bufferIn, var$4);
            var$7 = $rt_s(897);
            $ptr = 4;
        case 4:
            jl_StringBuilder_append($bufferIn, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            $bufferIn = $tmp;
            jl_Throwable__init_(var$5, $bufferIn);
            $rt_throw(var$5);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $bufferIn, $off, $len, var$4, var$5, var$6, var$7, $ptr);
    }
    function nleit_ArrayBufferInputStream_read($this) {
        var var$1, var$2;
        var$1 = $this.$position4;
        if (var$1 >= $this.$limit3)
            return (-1);
        var$2 = $this.$typed;
        $this.$position4 = var$1 + 1 | 0;
        return var$2[var$1];
    }
    function nleit_ArrayBufferInputStream_read0($this, $b, $off, $len) {
        var var$4, $avail, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$avail = $thread.pop();var$4 = $thread.pop();$len = $thread.pop();$off = $thread.pop();$b = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $b.data;
            $avail = $off + $len | 0;
            var$6 = var$4.length;
            if ($avail <= var$6) {
                $avail = $this.$limit3 - $this.$position4 | 0;
                if ($len <= $avail)
                    $avail = $len;
                if ($avail <= 0)
                    return (-1);
                var$7 = $b.data;
                var$8 = new $rt_globals.Int8Array($this.$buffer5, $this.$position4, $avail);
                var$7.set(var$8, $off);
                $this.$position4 = $this.$position4 + $avail | 0;
                return $avail;
            }
            var$9 = new jl_ArrayIndexOutOfBoundsException;
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            var$7 = $rt_s(894);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$10, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_AbstractStringBuilder_append0(var$8, $off);
            var$7 = $rt_s(895);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$8, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append0(var$7, $len);
            var$8 = $rt_s(896);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append0(var$7, var$6);
            var$8 = $rt_s(898);
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_Throwable__init_(var$9, var$7);
            $rt_throw(var$9);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $b, $off, $len, var$4, $avail, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nleit_ArrayBufferInputStream_skip($this, $n) {
        var $avail, var$3, var$4;
        $avail = $this.$limit3;
        var$3 = $this.$position4;
        var$4 = Long_fromInt($avail - var$3 | 0);
        if (Long_le($n, var$4))
            var$4 = $n;
        $this.$position4 = var$3 + Long_lo(var$4) | 0;
        return var$4;
    }
    var otjt_Uint8Array = $rt_classWithoutFields(otjt_ArrayBufferView);
    function cjj_InflaterInputStream() {
        var a = this; ji_FilterInputStream.call(a);
        a.$inflater = null;
        a.$buf0 = null;
        a.$closed1 = 0;
        a.$eof0 = 0;
        a.$close_in = 0;
        a.$myinflater = 0;
        a.$byte1 = null;
        a.$b = null;
    }
    function cjj_InflaterInputStream__init_4(var_0) {
        var var_1 = new cjj_InflaterInputStream();
        cjj_InflaterInputStream__init_(var_1, var_0);
        return var_1;
    }
    function cjj_InflaterInputStream__init_5(var_0, var_1, var_2, var_3) {
        var var_4 = new cjj_InflaterInputStream();
        cjj_InflaterInputStream__init_2(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function cjj_InflaterInputStream__init_($this, $in) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$in = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 0;
            var$3 = new cjj_Inflater;
            $ptr = 1;
        case 1:
            cjj_Inflater__init_1(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            cjj_InflaterInputStream__init_2($this, $in, var$3, 512, 1);
            $this.$myinflater = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $in, var$2, var$3, $ptr);
    }
    function cjj_InflaterInputStream__init_2($this, $in, $inflater, $size, $close_in) {
        ji_FilterInputStream__init_0($this, $in);
        $this.$closed1 = 0;
        $this.$eof0 = 0;
        $this.$close_in = 1;
        $this.$myinflater = 0;
        $this.$byte1 = $rt_createByteArray(1);
        $this.$b = $rt_createByteArray(512);
        if ($in !== null && $inflater !== null) {
            if ($size > 0) {
                $this.$inflater = $inflater;
                $this.$buf0 = $rt_createByteArray($size);
                $this.$close_in = $close_in;
                return;
            }
            $inflater = new jl_IllegalArgumentException;
            jl_Throwable__init_($inflater, $rt_s(899));
            $rt_throw($inflater);
        }
        $in = new jl_NullPointerException;
        jl_Throwable__init_0($in);
        $rt_throw($in);
    }
    function cjj_InflaterInputStream_read0($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$closed1) {
                var$1 = new ji_IOException;
                jl_Throwable__init_(var$1, $rt_s(900));
                $rt_throw(var$1);
            }
            var$2 = $this.$byte1;
            var$3 = 0;
            var$4 = 1;
            $ptr = 1;
        case 1:
            $tmp = cjj_InflaterInputStream_read($this, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3 == (-1) ? (-1) : $this.$byte1.data[0] & 255;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function cjj_InflaterInputStream_read($this, $b, $off, $len) {
        var var$4, $n, $err, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$err = $thread.pop();$n = $thread.pop();var$4 = $thread.pop();$len = $thread.pop();$off = $thread.pop();$b = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$closed1) {
                var$4 = new ji_IOException;
                jl_Throwable__init_(var$4, $rt_s(900));
                $rt_throw(var$4);
            }
            if ($b === null) {
                var$4 = new jl_NullPointerException;
                jl_Throwable__init_0(var$4);
                $rt_throw(var$4);
            }
            if ($off >= 0 && $len >= 0 && $len <= ($b.data.length - $off | 0)) {
                if (!$len)
                    return 0;
                if ($this.$eof0)
                    return (-1);
                $n = 0;
                cjj_ZStream_setOutput($this.$inflater, $b, $off, $len);
                a: {
                    while (!$this.$eof0) {
                        if (!$this.$inflater.$avail_in) {
                            $ptr = 1;
                            continue main;
                        }
                        b: {
                            $err = cjj_Inflater_inflate($this.$inflater, 0);
                            var$4 = $this.$inflater;
                            $len = var$4.$next_out_index;
                            $n = $n + ($len - $off | 0) | 0;
                            switch ($err) {
                                case -3:
                                    var$7 = new ji_IOException;
                                    jl_Throwable__init_(var$7, var$4.$msg);
                                    $rt_throw(var$7);
                                case 1:
                                case 2:
                                    break;
                                default:
                                    break b;
                            }
                            $this.$eof0 = 1;
                            if ($err == 2)
                                return (-1);
                        }
                        if (!var$4.$avail_out)
                            break a;
                        $off = $len;
                    }
                }
                return $n;
            }
            var$4 = new jl_IndexOutOfBoundsException;
            jl_Throwable__init_0(var$4);
            $rt_throw(var$4);
        case 1:
            cjj_InflaterInputStream_fill($this);
            if ($rt_suspending()) {
                break main;
            }
            c: {
                while (true) {
                    d: {
                        $err = cjj_Inflater_inflate($this.$inflater, 0);
                        var$4 = $this.$inflater;
                        $len = var$4.$next_out_index;
                        $n = $n + ($len - $off | 0) | 0;
                        switch ($err) {
                            case -3:
                                var$7 = new ji_IOException;
                                jl_Throwable__init_(var$7, var$4.$msg);
                                $rt_throw(var$7);
                            case 1:
                            case 2:
                                break;
                            default:
                                break d;
                        }
                        $this.$eof0 = 1;
                        if ($err == 2)
                            return (-1);
                    }
                    if (!var$4.$avail_out)
                        break c;
                    $off = $len;
                    if ($this.$eof0)
                        break;
                    if ($this.$inflater.$avail_in)
                        continue;
                    else {
                        continue main;
                    }
                }
            }
            return $n;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $b, $off, $len, var$4, $n, $err, var$7, $ptr);
    }
    function cjj_InflaterInputStream_skip($this, $n) {
        var var$2, var$3, $max, $total, $len, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$len = $thread.pop();$total = $thread.pop();$max = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$n = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (Long_lt($n, Long_ZERO)) {
                var$2 = new jl_IllegalArgumentException;
                jl_Throwable__init_(var$2, $rt_s(901));
                $rt_throw(var$2);
            }
            if ($this.$closed1) {
                var$2 = new ji_IOException;
                jl_Throwable__init_(var$2, $rt_s(900));
                $rt_throw(var$2);
            }
            var$3 = Long_fromInt(2147483647);
            if (Long_lt($n, var$3))
                var$3 = $n;
            $max = Long_lo(var$3);
            $total = 0;
            if ($total >= $max)
                return Long_fromInt($total);
            $len = $max - $total | 0;
            var$7 = $this.$b;
            var$8 = var$7.data.length;
            if ($len <= var$8)
                var$8 = $len;
            $len = 0;
            $ptr = 1;
        case 1:
            $tmp = cjj_InflaterInputStream_read($this, var$7, $len, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $len = $tmp;
            if ($len == (-1))
                $this.$eof0 = 1;
            else {
                $total = $total + $len | 0;
                if ($total < $max) {
                    $len = $max - $total | 0;
                    var$7 = $this.$b;
                    var$8 = var$7.data.length;
                    if ($len <= var$8)
                        var$8 = $len;
                    $len = 0;
                    continue main;
                }
            }
            return Long_fromInt($total);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $n, var$2, var$3, $max, $total, $len, var$7, var$8, $ptr);
    }
    function cjj_InflaterInputStream_close($this) {
        var var$1;
        if (!$this.$closed1) {
            if ($this.$myinflater) {
                var$1 = $this.$inflater;
                var$1.$finished = 1;
                var$1 = var$1.$istate;
                if (var$1 !== null)
                    cjj_Inflate_inflateEnd(var$1);
            }
            if ($this.$close_in)
                $this.$in.$close();
            $this.$closed1 = 1;
        }
    }
    function cjj_InflaterInputStream_fill($this) {
        var var$1, var$2, var$3, $len, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$len = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$closed1) {
                var$1 = new ji_IOException;
                jl_Throwable__init_(var$1, $rt_s(900));
                $rt_throw(var$1);
            }
            var$1 = $this.$in;
            var$2 = $this.$buf0;
            var$3 = var$2.data;
            $len = 0;
            var$5 = var$3.length;
            $ptr = 1;
        case 1:
            a: {
                $tmp = var$1.$read(var$2, $len, var$5);
                if ($rt_suspending()) {
                    break main;
                }
                $len = $tmp;
                if ($len == (-1)) {
                    var$1 = $this.$inflater.$istate;
                    if (var$1.$wrap5)
                        break a;
                    if (var$1.$mode0 != 12 ? 0 : 1)
                        break a;
                    $this.$buf0.data[0] = 0;
                    $len = 1;
                }
                cjj_ZStream_setInput($this.$inflater, $this.$buf0, 0, $len, 1);
                return;
            }
            if (Long_ne(var$1.$was, Long_fromInt(-1))) {
                var$1 = new ji_IOException;
                jl_Throwable__init_(var$1, $rt_s(902));
                $rt_throw(var$1);
            }
            var$1 = new ji_EOFException;
            jl_Throwable__init_(var$1, $rt_s(903));
            $rt_throw(var$1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $len, var$5, $ptr);
    }
    var cjj_GZIPInputStream = $rt_classWithoutFields(cjj_InflaterInputStream);
    function cjj_GZIPInputStream__init_2(var_0) {
        var var_1 = new cjj_GZIPInputStream();
        cjj_GZIPInputStream__init_(var_1, var_0);
        return var_1;
    }
    function cjj_GZIPInputStream__init_($this, $in) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$in = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 512;
            var$3 = 1;
            var$4 = new cjj_Inflater;
            var$5 = 31;
            var$6 = 0;
            $ptr = 1;
        case 1:
            cjj_Inflater__init_2(var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            cjj_InflaterInputStream__init_2($this, $in, var$4, var$2, var$3);
            $this.$myinflater = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $in, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    var cjj_Checksum = $rt_classWithoutFields(0);
    function cjj_CRC32() {
        jl_Object.call(this);
        this.$v = 0;
    }
    var cjj_CRC32_crc_table = null;
    function cjj_CRC32__init_0() {
        var var_0 = new cjj_CRC32();
        cjj_CRC32__init_(var_0);
        return var_0;
    }
    function cjj_CRC32__init_($this) {
        $this.$v = 0;
    }
    function cjj_CRC32_update($this, $buf, $index, $len) {
        var $c, var$5, var$6, var$7;
        $c = $this.$v ^ (-1);
        while (true) {
            $len = $len + (-1) | 0;
            if ($len < 0)
                break;
            var$5 = $buf.data;
            var$6 = cjj_CRC32_crc_table.data;
            var$7 = $index + 1 | 0;
            $c = var$6[($c ^ var$5[$index]) & 255] ^ ($c >>> 8 | 0);
            $index = var$7;
        }
        $this.$v = $c ^ (-1);
    }
    function cjj_CRC32_reset($this) {
        $this.$v = 0;
    }
    function cjj_CRC32_reset0($this, $vv) {
        $this.$v = Long_lo(Long_and($vv, Long_create(4294967295, 0)));
    }
    function cjj_CRC32_getValue($this) {
        return Long_and(Long_fromInt($this.$v), Long_create(4294967295, 0));
    }
    function cjj_CRC32__clinit_() {
        var var$1, var$2, $n, $k, var$5;
        cjj_CRC32_crc_table = null;
        var$1 = $rt_createIntArray(256);
        var$2 = var$1.data;
        cjj_CRC32_crc_table = var$1;
        $n = 0;
        while ($n < 256) {
            $k = 8;
            var$5 = $n;
            while (true) {
                $k = $k + (-1) | 0;
                if ($k < 0)
                    break;
                if (!(var$5 & 1)) {
                    var$5 = var$5 >>> 1 | 0;
                    continue;
                }
                var$5 = (-306674912) ^ (var$5 >>> 1 | 0);
            }
            var$2[$n] = var$5;
            $n = $n + 1 | 0;
        }
    }
    var npem_AudioUtils = $rt_classWithoutFields();
    var npem_AudioUtils_files = null;
    var npem_AudioUtils_numOfSounds = null;
    var npem_AudioUtils_rand = null;
    function npem_AudioUtils__init_0() {
        var var_0 = new npem_AudioUtils();
        npem_AudioUtils__init_(var_0);
        return var_0;
    }
    function npem_AudioUtils__init_($this) {}
    function npem_AudioUtils_addFile($name) {
        ju_ArrayList_add(npem_AudioUtils_files, $name);
    }
    function npem_AudioUtils_getRandomSound($name) {
        var $integer, $i, $num, $j, $s, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$s = $thread.pop();$j = $thread.pop();$num = $thread.pop();$i = $thread.pop();$integer = $thread.pop();$name = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $integer = npem_AudioUtils_numOfSounds;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_get($integer, $name);
            if ($rt_suspending()) {
                break main;
            }
            $integer = $tmp;
            $integer = $integer;
            if ($integer !== null) {
                $i = $integer.$value;
                if ($i == (-1))
                    return $i;
                return nle_Random_nextInt(npem_AudioUtils_rand, $i) + 1 | 0;
            }
            $num = 0;
            $i = 0;
            $j = npem_AudioUtils_files.$size0;
            while ($i < $j) {
                if (jl_String_contains(ju_ArrayList_get(npem_AudioUtils_files, $i), $name))
                    $num = $num + 1 | 0;
                $i = $i + 1 | 0;
            }
            if ($num != 1) {
                $integer = npem_AudioUtils_numOfSounds;
                $s = jl_Integer_valueOf($num);
                $ptr = 2;
                continue main;
            }
            $num = (-1);
            $integer = npem_AudioUtils_numOfSounds;
            $s = jl_Integer_valueOf($num);
            $ptr = 3;
            continue main;
        case 2:
            ju_HashMap_putImpl($integer, $name, $s);
            if ($rt_suspending()) {
                break main;
            }
            return nle_Random_nextInt(npem_AudioUtils_rand, $num) + 1 | 0;
        case 3:
            ju_HashMap_putImpl($integer, $name, $s);
            if ($rt_suspending()) {
                break main;
            }
            return $num;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($name, $integer, $i, $num, $j, $s, $ptr);
    }
    function npem_AudioUtils__clinit_() {
        npem_AudioUtils_files = ju_ArrayList__init_0();
        npem_AudioUtils_numOfSounds = ju_HashMap__init_0();
        npem_AudioUtils_rand = nle_Random__init_0();
    }
    function nleo_SoftGLVertexArray() {
        var a = this; jl_Object.call(a);
        a.$attribs0 = null;
        a.$attribDivisors = null;
        a.$hasAttribDivisorMask = 0;
        a.$enabled = 0;
        a.$enabledCnt = 0;
        a.$indexBuffer = null;
    }
    function nleo_SoftGLVertexArray__init_0() {
        var var_0 = new nleo_SoftGLVertexArray();
        nleo_SoftGLVertexArray__init_(var_0);
        return var_0;
    }
    function nleo_SoftGLVertexArray__init_($this) {
        $this.$attribs0 = $rt_createArray(nleo_SoftGLVertexArray$Attrib, 4);
        $this.$attribDivisors = null;
        $this.$hasAttribDivisorMask = 0;
        $this.$enabled = 0;
        $this.$enabledCnt = (-1);
        $this.$indexBuffer = null;
    }
    function nleo_SoftGLVertexArray_enableAttrib($this, $index, $en) {
        if ($en)
            $this.$enabled = $this.$enabled | 1 << $index;
        else
            $this.$enabled = $this.$enabled & (1 << $index ^ (-1));
        $this.$enabledCnt = 32 - jl_Integer_numberOfLeadingZeros($this.$enabled) | 0;
    }
    function nleo_SoftGLVertexArray_transitionToState($this, $previousState, $elements) {
        var $oldEnabled, $oldEnabledCnt, $oldAttribDivisors, $oldHasAttribDivisorMask, $oldAttrs, $instancingCapable, $enCnt, $en, $attrs, $divs, $hasDivs, $i, $ii, var$16, $enMax, $i_0, $ii_0, $old, $_new, $attr, $oldAttr, $newDivisor, $indexBufferL, var$26, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$26 = $thread.pop();$indexBufferL = $thread.pop();$newDivisor = $thread.pop();$oldAttr = $thread.pop();$attr = $thread.pop();$_new = $thread.pop();$old = $thread.pop();$ii_0 = $thread.pop();$i_0 = $thread.pop();$enMax = $thread.pop();var$16 = $thread.pop();$ii = $thread.pop();$i = $thread.pop();$hasDivs = $thread.pop();$divs = $thread.pop();$attrs = $thread.pop();$en = $thread.pop();$enCnt = $thread.pop();$instancingCapable = $thread.pop();$oldAttrs = $thread.pop();$oldHasAttribDivisorMask
            = $thread.pop();$oldAttribDivisors = $thread.pop();$oldEnabledCnt = $thread.pop();$oldEnabled = $thread.pop();$elements = $thread.pop();$previousState = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $oldEnabled = $previousState.$oldEnabled;
            $oldEnabledCnt = $previousState.$oldEnabledCnt;
            $oldAttribDivisors = $previousState.$attribDivisors0;
            $oldHasAttribDivisorMask = $previousState.$hasAttribDivisorMask0;
            $oldAttrs = $previousState.$attribs1;
            $ptr = 1;
        case 1:
            a: {
                b: {
                    c: {
                        nleo_EaglercraftGPU_$callClinit();
                        if ($rt_suspending()) {
                            break main;
                        }
                        $instancingCapable = nleo_EaglercraftGPU_instancingCapable;
                        $enCnt = $this.$enabledCnt;
                        $en = $this.$enabled;
                        $attrs = $this.$attribs0;
                        $divs = $this.$attribDivisors;
                        $hasDivs = $this.$hasAttribDivisorMask;
                        if ($oldEnabledCnt < 0) {
                            $i = 0;
                            while (true) {
                                if ($i >= $enCnt)
                                    break c;
                                $ii = 1 << $i;
                                if ($en & $ii)
                                    break;
                                $i = $i + 1 | 0;
                            }
                            var$16 = $attrs.data;
                            $ptr = 2;
                            continue main;
                        }
                        $enMax = jl_Math_max($enCnt, $oldEnabledCnt);
                        $i_0 = 0;
                        while ($i_0 < $enMax) {
                            $ii_0 = 1 << $i_0;
                            $old = $i_0 < $oldEnabledCnt && $oldEnabled & $ii_0 ? 1 : 0;
                            $_new = $i_0 < $enCnt && $en & $ii_0 ? 1 : 0;
                            d: {
                                if (!$_new) {
                                    if (!$old)
                                        break d;
                                    else {
                                        $ptr = 8;
                                        continue main;
                                    }
                                }
                                if (!$old) {
                                    $ptr = 9;
                                    continue main;
                                }
                                var$16 = $attrs.data;
                                $attr = $i_0 >= var$16.length ? null : var$16[$i_0];
                                if ($attr === null)
                                    $oldAttrs.data[$i_0] = null;
                                else {
                                    var$16 = $oldAttrs.data;
                                    $oldAttr = var$16[$i_0];
                                    if ($oldAttr === null)
                                        break a;
                                    e: {
                                        f: {
                                            if ($attr !== $oldAttr) {
                                                if ($attr.$hash0 != $oldAttr.$hash0)
                                                    break f;
                                                if ($attr.$buffer1 !== $oldAttr.$buffer1)
                                                    break f;
                                                if ($attr.$checkVal != $oldAttr.$checkVal)
                                                    break f;
                                                if ($attr.$stride != $oldAttr.$stride)
                                                    break f;
                                                if ($attr.$offset != $oldAttr.$offset)
                                                    break f;
                                            }
                                            $ii = 1;
                                            break e;
                                        }
                                        $ii = 0;
                                    }
                                    if (!$ii)
                                        break a;
                                }
                                g: {
                                    if ($instancingCapable) {
                                        if (!($hasDivs & $ii_0)) {
                                            if (!($oldHasAttribDivisorMask & $ii_0))
                                                break g;
                                            else {
                                                var$16 = $oldAttribDivisors.data;
                                                $ii = 0;
                                                $ptr = 12;
                                                continue main;
                                            }
                                        }
                                        $newDivisor = $divs.data[$i_0];
                                        if (!($oldHasAttribDivisorMask & $ii_0))
                                            break b;
                                        if ($newDivisor != $oldAttribDivisors.data[$i_0])
                                            break b;
                                    }
                                }
                            }
                            $i_0 = $i_0 + 1 | 0;
                        }
                    }
                    if ($elements) {
                        $indexBufferL = $this.$indexBuffer;
                        if ($indexBufferL !== null && nleo_EaglercraftGPU_currentEmulatedVAOIndexBuffer !== $indexBufferL) {
                            $elements = 34963;
                            $ptr = 5;
                            continue main;
                        }
                    }
                    $previousState.$oldEnabled = $en & ((1 << $enCnt) - 1 | 0);
                    $previousState.$oldEnabledCnt = $enCnt;
                    return;
                }
                var$16 = $oldAttribDivisors.data;
                $ptr = 13;
                continue main;
            }
            $indexBufferL = $attr.$buffer1;
            $ptr = 10;
            continue main;
        case 2:
            nlei_PlatformOpenGL__wglEnableVertexAttribArray($i);
            if ($rt_suspending()) {
                break main;
            }
            $attr = var$16[$i];
            if ($attr !== null) {
                var$16 = $oldAttrs.data;
                $indexBufferL = $attr.$buffer1;
                $ptr = 3;
                continue main;
            }
            $oldAttrs.data[$i] = null;
            if ($instancingCapable) {
                if (!($hasDivs & $ii)) {
                    var$16 = $oldAttribDivisors.data;
                    $ii = 0;
                    $ptr = 6;
                    continue main;
                }
                var$16 = $divs.data;
                var$26 = $oldAttribDivisors.data;
                $newDivisor = var$16[$i];
                $ptr = 7;
                continue main;
            }
            while (true) {
                $i = $i + 1 | 0;
                if ($i >= $enCnt) {
                    if ($elements) {
                        $indexBufferL = $this.$indexBuffer;
                        if ($indexBufferL !== null && nleo_EaglercraftGPU_currentEmulatedVAOIndexBuffer !== $indexBufferL) {
                            $elements = 34963;
                            $ptr = 5;
                            continue main;
                        }
                    }
                    $previousState.$oldEnabled = $en & ((1 << $enCnt) - 1 | 0);
                    $previousState.$oldEnabledCnt = $enCnt;
                    return;
                }
                $ii = 1 << $i;
                if (!($en & $ii))
                    continue;
                else
                    break;
            }
            var$16 = $attrs.data;
            continue main;
        case 3:
            nleo_EaglercraftGPU_bindGLArrayBuffer($indexBufferL);
            if ($rt_suspending()) {
                break main;
            }
            $oldEnabled = $attr.$size1;
            $old = $attr.$format1;
            $_new = $attr.$normalized;
            $newDivisor = $attr.$stride;
            $oldEnabledCnt = $attr.$offset;
            $ptr = 4;
        case 4:
            nlei_PlatformOpenGL__wglVertexAttribPointer($i, $oldEnabled, $old, $_new, $newDivisor, $oldEnabledCnt);
            if ($rt_suspending()) {
                break main;
            }
            var$16[$i] = $attr;
            if ($instancingCapable) {
                if (!($hasDivs & $ii)) {
                    var$16 = $oldAttribDivisors.data;
                    $ii = 0;
                    $ptr = 6;
                    continue main;
                }
                var$16 = $divs.data;
                var$26 = $oldAttribDivisors.data;
                $newDivisor = var$16[$i];
                $ptr = 7;
                continue main;
            }
            while (true) {
                $i = $i + 1 | 0;
                if ($i >= $enCnt) {
                    if ($elements) {
                        $indexBufferL = $this.$indexBuffer;
                        if ($indexBufferL !== null && nleo_EaglercraftGPU_currentEmulatedVAOIndexBuffer !== $indexBufferL) {
                            $elements = 34963;
                            $ptr = 5;
                            continue main;
                        }
                    }
                    $previousState.$oldEnabled = $en & ((1 << $enCnt) - 1 | 0);
                    $previousState.$oldEnabledCnt = $enCnt;
                    return;
                }
                $ii = 1 << $i;
                if (!($en & $ii))
                    continue;
                else
                    break;
            }
            var$16 = $attrs.data;
            $ptr = 2;
            continue main;
        case 5:
            nlei_PlatformOpenGL__wglBindBuffer($elements, $indexBufferL);
            if ($rt_suspending()) {
                break main;
            }
            nleo_EaglercraftGPU_currentEmulatedVAOIndexBuffer = $indexBufferL;
            $previousState.$oldEnabled = $en & ((1 << $enCnt) - 1 | 0);
            $previousState.$oldEnabledCnt = $enCnt;
            return;
        case 6:
            nlei_PlatformOpenGL__wglVertexAttribDivisor($i, $ii);
            if ($rt_suspending()) {
                break main;
            }
            var$16[$i] = 0;
            while (true) {
                $i = $i + 1 | 0;
                if ($i >= $enCnt) {
                    if ($elements) {
                        $indexBufferL = $this.$indexBuffer;
                        if ($indexBufferL !== null && nleo_EaglercraftGPU_currentEmulatedVAOIndexBuffer !== $indexBufferL) {
                            $elements = 34963;
                            $ptr = 5;
                            continue main;
                        }
                    }
                    $previousState.$oldEnabled = $en & ((1 << $enCnt) - 1 | 0);
                    $previousState.$oldEnabledCnt = $enCnt;
                    return;
                }
                $ii = 1 << $i;
                if (!($en & $ii))
                    continue;
                else
                    break;
            }
            var$16 = $attrs.data;
            $ptr = 2;
            continue main;
        case 7:
            nlei_PlatformOpenGL__wglVertexAttribDivisor($i, $newDivisor);
            if ($rt_suspending()) {
                break main;
            }
            var$26[$i] = $newDivisor;
            $previousState.$hasAttribDivisorMask0 = $previousState.$hasAttribDivisorMask0 | $ii;
            while (true) {
                $i = $i + 1 | 0;
                if ($i >= $enCnt) {
                    if ($elements) {
                        $indexBufferL = $this.$indexBuffer;
                        if ($indexBufferL !== null && nleo_EaglercraftGPU_currentEmulatedVAOIndexBuffer !== $indexBufferL) {
                            $elements = 34963;
                            $ptr = 5;
                            continue main;
                        }
                    }
                    $previousState.$oldEnabled = $en & ((1 << $enCnt) - 1 | 0);
                    $previousState.$oldEnabledCnt = $enCnt;
                    return;
                }
                $ii = 1 << $i;
                if (!($en & $ii))
                    continue;
                else
                    break;
            }
            var$16 = $attrs.data;
            $ptr = 2;
            continue main;
        case 8:
            nlei_PlatformOpenGL__wglDisableVertexAttribArray($i_0);
            if ($rt_suspending()) {
                break main;
            }
            b: {
                h: {
                    while (true) {
                        $i_0 = $i_0 + 1 | 0;
                        if ($i_0 >= $enMax) {
                            if ($elements) {
                                $indexBufferL = $this.$indexBuffer;
                                if ($indexBufferL !== null && nleo_EaglercraftGPU_currentEmulatedVAOIndexBuffer !== $indexBufferL) {
                                    $elements = 34963;
                                    $ptr = 5;
                                    continue main;
                                }
                            }
                            $previousState.$oldEnabled = $en & ((1 << $enCnt) - 1 | 0);
                            $previousState.$oldEnabledCnt = $enCnt;
                            return;
                        }
                        $ii_0 = 1 << $i_0;
                        $old = $i_0 < $oldEnabledCnt && $oldEnabled & $ii_0 ? 1 : 0;
                        if (!($i_0 < $enCnt && $en & $ii_0 ? 1 : 0)) {
                            if (!$old)
                                continue;
                            else {
                                continue main;
                            }
                        }
                        if (!$old)
                            break;
                        var$16 = $attrs.data;
                        $attr = $i_0 >= var$16.length ? null : var$16[$i_0];
                        if ($attr === null)
                            $oldAttrs.data[$i_0] = null;
                        else {
                            var$16 = $oldAttrs.data;
                            $oldAttr = var$16[$i_0];
                            if ($oldAttr === null)
                                break b;
                            i: {
                                j: {
                                    if ($attr !== $oldAttr) {
                                        if ($attr.$hash0 != $oldAttr.$hash0)
                                            break j;
                                        if ($attr.$buffer1 !== $oldAttr.$buffer1)
                                            break j;
                                        if ($attr.$checkVal != $oldAttr.$checkVal)
                                            break j;
                                        if ($attr.$stride != $oldAttr.$stride)
                                            break j;
                                        if ($attr.$offset != $oldAttr.$offset)
                                            break j;
                                    }
                                    $ii = 1;
                                    break i;
                                }
                                $ii = 0;
                            }
                            if (!$ii)
                                break b;
                        }
                        k: {
                            if ($instancingCapable) {
                                if (!($hasDivs & $ii_0)) {
                                    if (!($oldHasAttribDivisorMask & $ii_0))
                                        break k;
                                    else {
                                        var$16 = $oldAttribDivisors.data;
                                        $ii = 0;
                                        $ptr = 12;
                                        continue main;
                                    }
                                }
                                $newDivisor = $divs.data[$i_0];
                                if (!($oldHasAttribDivisorMask & $ii_0))
                                    break h;
                                if ($newDivisor != $oldAttribDivisors.data[$i_0])
                                    break h;
                            }
                        }
                    }
                    $ptr = 9;
                    continue main;
                }
                var$16 = $oldAttribDivisors.data;
                $ptr = 13;
                continue main;
            }
            $indexBufferL = $attr.$buffer1;
            $ptr = 10;
            continue main;
        case 9:
            nlei_PlatformOpenGL__wglEnableVertexAttribArray($i_0);
            if ($rt_suspending()) {
                break main;
            }
            b: {
                h: {
                    while (true) {
                        var$16 = $attrs.data;
                        $attr = $i_0 >= var$16.length ? null : var$16[$i_0];
                        if ($attr === null)
                            $oldAttrs.data[$i_0] = null;
                        else {
                            var$16 = $oldAttrs.data;
                            $oldAttr = var$16[$i_0];
                            if ($oldAttr === null)
                                break b;
                            l: {
                                m: {
                                    if ($attr !== $oldAttr) {
                                        if ($attr.$hash0 != $oldAttr.$hash0)
                                            break m;
                                        if ($attr.$buffer1 !== $oldAttr.$buffer1)
                                            break m;
                                        if ($attr.$checkVal != $oldAttr.$checkVal)
                                            break m;
                                        if ($attr.$stride != $oldAttr.$stride)
                                            break m;
                                        if ($attr.$offset != $oldAttr.$offset)
                                            break m;
                                    }
                                    $ii = 1;
                                    break l;
                                }
                                $ii = 0;
                            }
                            if (!$ii)
                                break b;
                        }
                        n: {
                            if ($instancingCapable) {
                                if (!($hasDivs & $ii_0)) {
                                    if (!($oldHasAttribDivisorMask & $ii_0))
                                        break n;
                                    else {
                                        var$16 = $oldAttribDivisors.data;
                                        $ii = 0;
                                        $ptr = 12;
                                        continue main;
                                    }
                                }
                                $newDivisor = $divs.data[$i_0];
                                if (!($oldHasAttribDivisorMask & $ii_0))
                                    break h;
                                if ($newDivisor != $oldAttribDivisors.data[$i_0])
                                    break h;
                            }
                        }
                        while (true) {
                            $i_0 = $i_0 + 1 | 0;
                            if ($i_0 >= $enMax) {
                                if ($elements) {
                                    $indexBufferL = $this.$indexBuffer;
                                    if ($indexBufferL !== null && nleo_EaglercraftGPU_currentEmulatedVAOIndexBuffer !== $indexBufferL) {
                                        $elements = 34963;
                                        $ptr = 5;
                                        continue main;
                                    }
                                }
                                $previousState.$oldEnabled = $en & ((1 << $enCnt) - 1 | 0);
                                $previousState.$oldEnabledCnt = $enCnt;
                                return;
                            }
                            $ii_0 = 1 << $i_0;
                            $old = $i_0 < $oldEnabledCnt && $oldEnabled & $ii_0 ? 1 : 0;
                            if ($i_0 < $enCnt && $en & $ii_0 ? 1 : 0)
                                break;
                            if (!$old)
                                continue;
                            else {
                                $ptr = 8;
                                continue main;
                            }
                        }
                        if ($old)
                            continue;
                        else
                            break;
                    }
                    continue main;
                }
                var$16 = $oldAttribDivisors.data;
                $ptr = 13;
                continue main;
            }
            $indexBufferL = $attr.$buffer1;
            $ptr = 10;
        case 10:
            nleo_EaglercraftGPU_bindGLArrayBuffer($indexBufferL);
            if ($rt_suspending()) {
                break main;
            }
            $ii = $attr.$size1;
            $old = $attr.$format1;
            $_new = $attr.$normalized;
            $newDivisor = $attr.$stride;
            $i = $attr.$offset;
            $ptr = 11;
        case 11:
            nlei_PlatformOpenGL__wglVertexAttribPointer($i_0, $ii, $old, $_new, $newDivisor, $i);
            if ($rt_suspending()) {
                break main;
            }
            var$16[$i_0] = $attr;
            b: {
                h: {
                    c: while (true) {
                        while (true) {
                            o: {
                                if ($instancingCapable) {
                                    if (!($hasDivs & $ii_0)) {
                                        if (!($oldHasAttribDivisorMask & $ii_0))
                                            break o;
                                        else {
                                            var$16 = $oldAttribDivisors.data;
                                            $ii = 0;
                                            $ptr = 12;
                                            continue main;
                                        }
                                    }
                                    $newDivisor = $divs.data[$i_0];
                                    if (!($oldHasAttribDivisorMask & $ii_0))
                                        break b;
                                    if ($newDivisor != $oldAttribDivisors.data[$i_0])
                                        break b;
                                }
                            }
                            while (true) {
                                $i_0 = $i_0 + 1 | 0;
                                if ($i_0 >= $enMax) {
                                    if ($elements) {
                                        $indexBufferL = $this.$indexBuffer;
                                        if ($indexBufferL !== null && nleo_EaglercraftGPU_currentEmulatedVAOIndexBuffer !== $indexBufferL) {
                                            $elements = 34963;
                                            $ptr = 5;
                                            continue main;
                                        }
                                    }
                                    $previousState.$oldEnabled = $en & ((1 << $enCnt) - 1 | 0);
                                    $previousState.$oldEnabledCnt = $enCnt;
                                    return;
                                }
                                $ii_0 = 1 << $i_0;
                                $old = $i_0 < $oldEnabledCnt && $oldEnabled & $ii_0 ? 1 : 0;
                                if ($i_0 < $enCnt && $en & $ii_0 ? 1 : 0)
                                    break;
                                if (!$old)
                                    continue;
                                else {
                                    $ptr = 8;
                                    continue main;
                                }
                            }
                            if (!$old)
                                break c;
                            var$16 = $attrs.data;
                            $attr = $i_0 >= var$16.length ? null : var$16[$i_0];
                            if ($attr !== null)
                                break;
                            $oldAttrs.data[$i_0] = null;
                        }
                        var$16 = $oldAttrs.data;
                        $oldAttr = var$16[$i_0];
                        if ($oldAttr === null)
                            break h;
                        k: {
                            e: {
                                if ($attr !== $oldAttr) {
                                    if ($attr.$hash0 != $oldAttr.$hash0)
                                        break e;
                                    if ($attr.$buffer1 !== $oldAttr.$buffer1)
                                        break e;
                                    if ($attr.$checkVal != $oldAttr.$checkVal)
                                        break e;
                                    if ($attr.$stride != $oldAttr.$stride)
                                        break e;
                                    if ($attr.$offset != $oldAttr.$offset)
                                        break e;
                                }
                                $ii = 1;
                                break k;
                            }
                            $ii = 0;
                        }
                        if ($ii)
                            continue;
                        else
                            break h;
                    }
                    $ptr = 9;
                    continue main;
                }
                $indexBufferL = $attr.$buffer1;
                $ptr = 10;
                continue main;
            }
            var$16 = $oldAttribDivisors.data;
            $ptr = 13;
            continue main;
        case 12:
            nlei_PlatformOpenGL__wglVertexAttribDivisor($i_0, $ii);
            if ($rt_suspending()) {
                break main;
            }
            var$16[$i_0] = 0;
            $previousState.$hasAttribDivisorMask0 = $previousState.$hasAttribDivisorMask0 & ($ii_0 ^ (-1));
            b: {
                h: {
                    while (true) {
                        while (true) {
                            $i_0 = $i_0 + 1 | 0;
                            if ($i_0 >= $enMax) {
                                if ($elements) {
                                    $indexBufferL = $this.$indexBuffer;
                                    if ($indexBufferL !== null && nleo_EaglercraftGPU_currentEmulatedVAOIndexBuffer !== $indexBufferL) {
                                        $elements = 34963;
                                        $ptr = 5;
                                        continue main;
                                    }
                                }
                                $previousState.$oldEnabled = $en & ((1 << $enCnt) - 1 | 0);
                                $previousState.$oldEnabledCnt = $enCnt;
                                return;
                            }
                            $ii_0 = 1 << $i_0;
                            $old = $i_0 < $oldEnabledCnt && $oldEnabled & $ii_0 ? 1 : 0;
                            if ($i_0 < $enCnt && $en & $ii_0 ? 1 : 0)
                                break;
                            if (!$old)
                                continue;
                            else {
                                $ptr = 8;
                                continue main;
                            }
                        }
                        if (!$old)
                            break;
                        var$16 = $attrs.data;
                        $attr = $i_0 >= var$16.length ? null : var$16[$i_0];
                        if ($attr === null)
                            $oldAttrs.data[$i_0] = null;
                        else {
                            var$16 = $oldAttrs.data;
                            $oldAttr = var$16[$i_0];
                            if ($oldAttr === null)
                                break b;
                            j: {
                                p: {
                                    if ($attr !== $oldAttr) {
                                        if ($attr.$hash0 != $oldAttr.$hash0)
                                            break p;
                                        if ($attr.$buffer1 !== $oldAttr.$buffer1)
                                            break p;
                                        if ($attr.$checkVal != $oldAttr.$checkVal)
                                            break p;
                                        if ($attr.$stride != $oldAttr.$stride)
                                            break p;
                                        if ($attr.$offset != $oldAttr.$offset)
                                            break p;
                                    }
                                    $ii = 1;
                                    break j;
                                }
                                $ii = 0;
                            }
                            if (!$ii)
                                break b;
                        }
                        if (!$instancingCapable)
                            continue;
                        if (!($hasDivs & $ii_0)) {
                            if (!($oldHasAttribDivisorMask & $ii_0))
                                continue;
                            else {
                                var$16 = $oldAttribDivisors.data;
                                $ii = 0;
                                continue main;
                            }
                        }
                        $newDivisor = $divs.data[$i_0];
                        if (!($oldHasAttribDivisorMask & $ii_0))
                            break h;
                        if ($newDivisor != $oldAttribDivisors.data[$i_0])
                            break h;
                    }
                    $ptr = 9;
                    continue main;
                }
                var$16 = $oldAttribDivisors.data;
                $ptr = 13;
                continue main;
            }
            $indexBufferL = $attr.$buffer1;
            $ptr = 10;
            continue main;
        case 13:
            nlei_PlatformOpenGL__wglVertexAttribDivisor($i_0, $newDivisor);
            if ($rt_suspending()) {
                break main;
            }
            var$16[$i_0] = $newDivisor;
            $previousState.$hasAttribDivisorMask0 = $previousState.$hasAttribDivisorMask0 | $ii_0;
            b: {
                h: {
                    c: while (true) {
                        while (true) {
                            while (true) {
                                $i_0 = $i_0 + 1 | 0;
                                if ($i_0 >= $enMax) {
                                    if ($elements) {
                                        $indexBufferL = $this.$indexBuffer;
                                        if ($indexBufferL !== null && nleo_EaglercraftGPU_currentEmulatedVAOIndexBuffer !== $indexBufferL) {
                                            $elements = 34963;
                                            $ptr = 5;
                                            continue main;
                                        }
                                    }
                                    $previousState.$oldEnabled = $en & ((1 << $enCnt) - 1 | 0);
                                    $previousState.$oldEnabledCnt = $enCnt;
                                    return;
                                }
                                $ii_0 = 1 << $i_0;
                                $old = $i_0 < $oldEnabledCnt && $oldEnabled & $ii_0 ? 1 : 0;
                                if ($i_0 < $enCnt && $en & $ii_0 ? 1 : 0)
                                    break;
                                if (!$old)
                                    continue;
                                else {
                                    $ptr = 8;
                                    continue main;
                                }
                            }
                            if (!$old)
                                break c;
                            var$16 = $attrs.data;
                            $attr = $i_0 >= var$16.length ? null : var$16[$i_0];
                            if ($attr === null)
                                $oldAttrs.data[$i_0] = null;
                            else {
                                var$16 = $oldAttrs.data;
                                $oldAttr = var$16[$i_0];
                                if ($oldAttr === null)
                                    break b;
                                p: {
                                    k: {
                                        if ($attr !== $oldAttr) {
                                            if ($attr.$hash0 != $oldAttr.$hash0)
                                                break k;
                                            if ($attr.$buffer1 !== $oldAttr.$buffer1)
                                                break k;
                                            if ($attr.$checkVal != $oldAttr.$checkVal)
                                                break k;
                                            if ($attr.$stride != $oldAttr.$stride)
                                                break k;
                                            if ($attr.$offset != $oldAttr.$offset)
                                                break k;
                                        }
                                        $ii = 1;
                                        break p;
                                    }
                                    $ii = 0;
                                }
                                if (!$ii)
                                    break b;
                            }
                            if (!$instancingCapable)
                                continue;
                            if ($hasDivs & $ii_0)
                                break;
                            if (!($oldHasAttribDivisorMask & $ii_0))
                                continue;
                            else {
                                var$16 = $oldAttribDivisors.data;
                                $ii = 0;
                                $ptr = 12;
                                continue main;
                            }
                        }
                        $newDivisor = $divs.data[$i_0];
                        if (!($oldHasAttribDivisorMask & $ii_0))
                            break h;
                        if ($newDivisor == $oldAttribDivisors.data[$i_0])
                            continue;
                        else
                            break h;
                    }
                    $ptr = 9;
                    continue main;
                }
                var$16 = $oldAttribDivisors.data;
                continue main;
            }
            $indexBufferL = $attr.$buffer1;
            $ptr = 10;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $previousState, $elements, $oldEnabled, $oldEnabledCnt, $oldAttribDivisors, $oldHasAttribDivisorMask, $oldAttrs, $instancingCapable, $enCnt, $en, $attrs, $divs, $hasDivs, $i, $ii, var$16, $enMax, $i_0, $ii_0, $old, $_new, $attr, $oldAttr, $newDivisor, $indexBufferL, var$26, $ptr);
    }
    function nleit_IndexedDBFilesystem() {
        var a = this; jl_Object.call(a);
        a.$name6 = null;
        a.$indexedDBName = null;
        a.$database = null;
    }
    function nleit_IndexedDBFilesystem_createFilesystem($dbName) {
        var $dbOpen, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$dbOpen = $thread.pop();$dbName = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $dbOpen = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($dbOpen);
            var$3 = $rt_s(904);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append($dbOpen, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$3, $dbName);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString($dbOpen);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 4;
        case 4:
            $tmp = nleit_IndexedDBFilesystem$AsyncHandlers_openDB$_asyncCall_$(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $dbOpen = $tmp;
            $dbOpen = $dbOpen;
            if ($dbOpen.$failedLocked) {
                $dbName = new nlei_PlatformFilesystem$FilesystemDatabaseLockedException;
                jl_Throwable__init_($dbName, $dbOpen.$failedError);
                $rt_throw($dbName);
            }
            if ($dbOpen.$failedInit) {
                $dbName = new nlei_PlatformFilesystem$FilesystemDatabaseInitializationException;
                jl_Throwable__init_($dbName, $dbOpen.$failedError);
                $rt_throw($dbName);
            }
            $dbOpen = $dbOpen.$database0;
            if ($dbOpen !== null) {
                var$3 = new nleit_IndexedDBFilesystem;
                var$3.$name6 = $dbName;
                var$3.$indexedDBName = var$4;
                var$3.$database = $dbOpen;
                return var$3;
            }
            $dbName = new jl_NullPointerException;
            jl_Throwable__init_($dbName, $rt_s(905));
            $rt_throw($dbName);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($dbName, $dbOpen, var$3, var$4, $ptr);
    }
    function nleit_IndexedDBFilesystem_isRamdisk($this) {
        return 0;
    }
    function nleit_IndexedDBFilesystem_eaglerDelete($this, $pathName) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$pathName = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$database;
            $ptr = 1;
        case 1:
            $tmp = nleit_IndexedDBFilesystem$AsyncHandlers_deleteFile(var$2, $pathName);
            if ($rt_suspending()) {
                break main;
            }
            $pathName = $tmp;
            return $pathName.$bool;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pathName, var$2, $ptr);
    }
    function nleit_IndexedDBFilesystem_eaglerRead($this, $pathName) {
        var $ar, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$ar = $thread.pop();$pathName = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ar = $this.$database;
            $ptr = 1;
        case 1:
            $tmp = nleit_IndexedDBFilesystem$AsyncHandlers_readWholeFile($ar, $pathName);
            if ($rt_suspending()) {
                break main;
            }
            $ar = $tmp;
            if ($ar === null)
                return null;
            return nleib_EaglerArrayBufferAllocator_wrapByteBufferTeaVM(new $rt_globals.Int8Array($ar));
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pathName, $ar, $ptr);
    }
    function nleit_IndexedDBFilesystem_eaglerWrite($this, $pathName, $data) {
        var var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$data = $thread.pop();$pathName = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$database;
            $ptr = 1;
        case 1:
            $tmp = nleib_EaglerArrayBufferAllocator_getDataView8Unsigned($data);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$4 = var$4.buffer;
            $ptr = 2;
        case 2:
            $tmp = nleit_IndexedDBFilesystem$AsyncHandlers_writeWholeFile(var$3, $pathName, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3.$bool)
                return;
            var$3 = new nleiv_EaglerFileSystemException;
            var$5 = nleib_EaglerArrayByteBuffer_remaining($data);
            $data = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($data);
            var$4 = $rt_s(906);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append($data, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_AbstractStringBuilder_append0(var$4, var$5);
            var$6 = $rt_s(907);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append(var$4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 5;
        case 5:
            jl_StringBuilder_append(var$4, $pathName);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString($data);
            if ($rt_suspending()) {
                break main;
            }
            $pathName = $tmp;
            jl_Throwable__init_(var$3, $pathName);
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pathName, $data, var$3, var$4, var$5, var$6, $ptr);
    }
    function nleit_IndexedDBFilesystem_eaglerExists($this, $pathName) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$pathName = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$database;
            $ptr = 1;
        case 1:
            $tmp = nleit_IndexedDBFilesystem$AsyncHandlers_fileExists$_asyncCall_$(var$2, $pathName);
            if ($rt_suspending()) {
                break main;
            }
            $pathName = $tmp;
            return $pathName.$bool;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pathName, var$2, $ptr);
    }
    function nleit_IndexedDBFilesystem_eaglerMove($this, $pathNameOld, $pathNameNew) {
        var $old, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$old = $thread.pop();$pathNameNew = $thread.pop();$pathNameOld = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $old = $this.$database;
            $ptr = 1;
        case 1:
            $tmp = nleit_IndexedDBFilesystem$AsyncHandlers_readWholeFile($old, $pathNameOld);
            if ($rt_suspending()) {
                break main;
            }
            $old = $tmp;
            if ($old === null)
                return 0;
            var$4 = $this.$database;
            $ptr = 2;
        case 2:
            $tmp = nleit_IndexedDBFilesystem$AsyncHandlers_writeWholeFile(var$4, $pathNameNew, $old);
            if ($rt_suspending()) {
                break main;
            }
            $pathNameNew = $tmp;
            if (!$pathNameNew.$bool)
                return 0;
            $pathNameNew = $this.$database;
            $ptr = 3;
        case 3:
            $tmp = nleit_IndexedDBFilesystem$AsyncHandlers_deleteFile($pathNameNew, $pathNameOld);
            if ($rt_suspending()) {
                break main;
            }
            $pathNameOld = $tmp;
            return !$pathNameOld.$bool ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pathNameOld, $pathNameNew, $old, var$4, $ptr);
    }
    function nleit_IndexedDBFilesystem_eaglerIterate($this, $pathName, $itr, $recursive) {
        var var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$recursive = $thread.pop();$itr = $thread.pop();$pathName = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($recursive) {
                var$4 = $this.$database;
                $recursive = 0;
                $ptr = 2;
                continue main;
            }
            var$5 = $this.$database;
            $recursive = 0;
            var$4 = nlei_VFSFilenameIteratorNonRecursive__init_($itr, nlei_VFSFilenameIteratorNonRecursive_countSlashes($pathName) + 1 | 0);
            $ptr = 1;
        case 1:
            nleit_IndexedDBFilesystem$AsyncHandlers_iterateFiles(var$5, $pathName, $recursive, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nleit_IndexedDBFilesystem$AsyncHandlers_iterateFiles(var$4, $pathName, $recursive, $itr);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pathName, $itr, $recursive, var$4, var$5, $ptr);
    }
    function nleit_IndexedDBFilesystem_safeOpen$js_body$_15(var$1, var$2, var$3, var$4) {
        try {
            return var$1.open(var$2, var$3);
        } catch (err){
            var$4("" + err);
            return null;
        }
    }
    var ju_SequencedMap = $rt_classWithoutFields(0);
    var ju_SortedMap = $rt_classWithoutFields(0);
    var ju_NavigableMap = $rt_classWithoutFields(0);
    function ju_TreeMap() {
        var a = this; ju_AbstractMap.call(a);
        a.$root = null;
        a.$comparator = null;
        a.$originalComparator = null;
        a.$modCount2 = 0;
        a.$cachedEntrySet = null;
    }
    function ju_TreeMap__init_0() {
        var var_0 = new ju_TreeMap();
        ju_TreeMap__init_(var_0);
        return var_0;
    }
    function ju_TreeMap__init_($this) {
        $this.$originalComparator = null;
        $this.$comparator = ju_Comparator$NaturalOrder_INSTANCE;
    }
    function ju_TreeMap_put($this, $key, $value) {
        var $node, $old, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$old = $thread.pop();$node = $thread.pop();$value = $thread.pop();$key = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $node = $this.$root;
            $ptr = 1;
        case 1:
            $tmp = ju_TreeMap_getOrCreateNode($this, $node, $key);
            if ($rt_suspending()) {
                break main;
            }
            $node = $tmp;
            $this.$root = $node;
            $ptr = 2;
        case 2:
            $tmp = ju_TreeMap_findExact($this, $key);
            if ($rt_suspending()) {
                break main;
            }
            $node = $tmp;
            $old = ju_AbstractMap$SimpleEntry_setValue($node, $value);
            ju_AbstractMap$SimpleEntry_setValue($node, $value);
            $this.$modCount2 = $this.$modCount2 + 1 | 0;
            return $old;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $key, $value, $node, $old, $ptr);
    }
    function ju_TreeMap_remove($this, $key) {
        var $node, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$node = $thread.pop();$key = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ju_TreeMap_findExact($this, $key);
            if ($rt_suspending()) {
                break main;
            }
            $node = $tmp;
            if ($node === null)
                return null;
            var$3 = $this.$root;
            $ptr = 2;
        case 2:
            $tmp = ju_TreeMap_deleteNode($this, var$3, $key);
            if ($rt_suspending()) {
                break main;
            }
            $key = $tmp;
            $this.$root = $key;
            $this.$modCount2 = $this.$modCount2 + 1 | 0;
            return $node.$value4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $key, $node, var$3, $ptr);
    }
    function ju_TreeMap_findExact($this, $key) {
        var $node, var$3, var$4, $cmp, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$cmp = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$node = $thread.pop();$key = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $node = $this.$root;
            var$3 = $this.$comparator;
            $ptr = 1;
        case 1:
            ju_Comparator$NaturalOrder_compare(var$3, $key, $key);
            if ($rt_suspending()) {
                break main;
            }
            if ($node === null)
                return null;
            var$3 = $this.$comparator;
            var$4 = $node.$key1;
            $ptr = 2;
        case 2:
            $tmp = ju_Comparator$NaturalOrder_compare(var$3, $key, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $cmp = $tmp;
            if (!$cmp)
                return $node;
            $node = $cmp >= 0 ? $node.$right : $node.$left;
            if ($node === null)
                return null;
            var$3 = $this.$comparator;
            var$4 = $node.$key1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $key, $node, var$3, var$4, $cmp, $ptr);
    }
    function ju_TreeMap_pathToExactOrNext($this, $key, $reverse) {
        var $path, var$4, $depth, $node, var$7, var$8, $cmp, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$cmp = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$node = $thread.pop();$depth = $thread.pop();var$4 = $thread.pop();$path = $thread.pop();$reverse = $thread.pop();$key = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $path = $rt_createArray(ju_TreeMap$TreeNode, ju_TreeMap_height($this));
            var$4 = $path.data;
            $depth = 0;
            $node = $this.$root;
            if ($node === null)
                return ju_Arrays_copyOf($path, $depth);
            var$7 = $this.$comparator;
            var$8 = $node.$key1;
            $ptr = 1;
        case 1:
            $tmp = ju_Comparator$NaturalOrder_compare(var$7, $key, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $cmp = $tmp;
            if ($reverse)
                $cmp =  -$cmp | 0;
            if (!$cmp) {
                $reverse = $depth + 1 | 0;
                var$4[$depth] = $node;
            } else {
                if ($cmp >= 0)
                    $node = ju_TreeMap$TreeNode_down($node, $reverse);
                else {
                    $cmp = $depth + 1 | 0;
                    var$4[$depth] = $node;
                    $node = ju_TreeMap$TreeNode_forward($node, $reverse);
                    $depth = $cmp;
                }
                if ($node !== null) {
                    var$7 = $this.$comparator;
                    var$8 = $node.$key1;
                    continue main;
                }
                $reverse = $depth;
            }
            return ju_Arrays_copyOf($path, $reverse);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $key, $reverse, $path, var$4, $depth, $node, var$7, var$8, $cmp, $ptr);
    }
    function ju_TreeMap_pathToNext($this, $key, $reverse) {
        var $path, var$4, $depth, $node, var$7, var$8, $cmp, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$cmp = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$node = $thread.pop();$depth = $thread.pop();var$4 = $thread.pop();$path = $thread.pop();$reverse = $thread.pop();$key = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $path = $rt_createArray(ju_TreeMap$TreeNode, ju_TreeMap_height($this));
            var$4 = $path.data;
            $depth = 0;
            $node = $this.$root;
            if ($node === null)
                return ju_Arrays_copyOf($path, $depth);
            var$7 = $this.$comparator;
            var$8 = $node.$key1;
            $ptr = 1;
        case 1:
            $tmp = ju_Comparator$NaturalOrder_compare(var$7, $key, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $cmp = $tmp;
            if ($reverse)
                $cmp =  -$cmp | 0;
            if ($cmp >= 0)
                $node = ju_TreeMap$TreeNode_down($node, $reverse);
            else {
                $cmp = $depth + 1 | 0;
                var$4[$depth] = $node;
                $node = ju_TreeMap$TreeNode_forward($node, $reverse);
                $depth = $cmp;
            }
            if ($node === null)
                return ju_Arrays_copyOf($path, $depth);
            var$7 = $this.$comparator;
            var$8 = $node.$key1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $key, $reverse, $path, var$4, $depth, $node, var$7, var$8, $cmp, $ptr);
    }
    function ju_TreeMap_pathToFirst($this, $reverse) {
        var $path, var$3, $depth, $node, var$6;
        $path = $rt_createArray(ju_TreeMap$TreeNode, ju_TreeMap_height($this));
        var$3 = $path.data;
        $depth = 0;
        $node = $this.$root;
        while ($node !== null) {
            var$6 = $depth + 1 | 0;
            var$3[$depth] = $node;
            $node = ju_TreeMap$TreeNode_forward($node, $reverse);
            $depth = var$6;
        }
        return ju_Arrays_copyOf($path, $depth);
    }
    function ju_TreeMap_getOrCreateNode($this, $root, $key) {
        var var$3, var$4, $cmp, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$cmp = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$key = $thread.pop();$root = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($root === null) {
                $root = new ju_TreeMap$TreeNode;
                var$3 = null;
                $root.$key1 = $key;
                $root.$value4 = var$3;
                $root.$height2 = 1;
                $root.$size5 = 1;
                return $root;
            }
            var$3 = $this.$comparator;
            var$4 = $root.$key1;
            $ptr = 1;
        case 1:
            $tmp = ju_Comparator$NaturalOrder_compare(var$3, $key, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $cmp = $tmp;
            if (!$cmp)
                return $root;
            if ($cmp >= 0) {
                var$3 = $root.$right;
                $ptr = 2;
                continue main;
            }
            var$3 = $root.$left;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = ju_TreeMap_getOrCreateNode($this, var$3, $key);
            if ($rt_suspending()) {
                break main;
            }
            $key = $tmp;
            $root.$right = $key;
            ju_TreeMap$TreeNode_fix($root);
            return ju_TreeMap$TreeNode_balance($root);
        case 3:
            $tmp = ju_TreeMap_getOrCreateNode($this, var$3, $key);
            if ($rt_suspending()) {
                break main;
            }
            $key = $tmp;
            $root.$left = $key;
            ju_TreeMap$TreeNode_fix($root);
            return ju_TreeMap$TreeNode_balance($root);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $root, $key, var$3, var$4, $cmp, $ptr);
    }
    function ju_TreeMap_deleteNode($this, $root, $key) {
        var $right, $left, $cmp, $pathToMin, $minDepth, $minDepth_0, $node, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$node = $thread.pop();$minDepth_0 = $thread.pop();$minDepth = $thread.pop();$pathToMin = $thread.pop();$cmp = $thread.pop();$left = $thread.pop();$right = $thread.pop();$key = $thread.pop();$root = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($root === null)
                return null;
            $right = $this.$comparator;
            $left = $root.$key1;
            $ptr = 1;
        case 1:
            $tmp = ju_Comparator$NaturalOrder_compare($right, $key, $left);
            if ($rt_suspending()) {
                break main;
            }
            $cmp = $tmp;
            if ($cmp < 0) {
                $right = $root.$left;
                $ptr = 2;
                continue main;
            }
            if ($cmp <= 0) {
                $right = $root.$right;
                if ($right === null)
                    return $root.$left;
                $left = $root.$left;
                $pathToMin = $rt_createArray(ju_TreeMap$TreeNode, $right.$height2).data;
                $minDepth = 0;
                while (true) {
                    $root = $right.$left;
                    if ($root === null)
                        break;
                    $minDepth_0 = $minDepth + 1 | 0;
                    $pathToMin[$minDepth] = $right;
                    $minDepth = $minDepth_0;
                    $right = $root;
                }
                $root = $right.$right;
                while ($minDepth > 0) {
                    $minDepth = $minDepth + (-1) | 0;
                    $node = $pathToMin[$minDepth];
                    $node.$left = $root;
                    ju_TreeMap$TreeNode_fix($node);
                    $root = ju_TreeMap$TreeNode_balance($node);
                }
                $right.$right = $root;
                $right.$left = $left;
                ju_TreeMap$TreeNode_fix($right);
                $root = $right;
                ju_TreeMap$TreeNode_fix($root);
                return ju_TreeMap$TreeNode_balance($root);
            }
            $right = $root.$right;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = ju_TreeMap_deleteNode($this, $right, $key);
            if ($rt_suspending()) {
                break main;
            }
            $key = $tmp;
            $root.$left = $key;
            ju_TreeMap$TreeNode_fix($root);
            return ju_TreeMap$TreeNode_balance($root);
        case 3:
            $tmp = ju_TreeMap_deleteNode($this, $right, $key);
            if ($rt_suspending()) {
                break main;
            }
            $key = $tmp;
            $root.$right = $key;
            ju_TreeMap$TreeNode_fix($root);
            return ju_TreeMap$TreeNode_balance($root);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $root, $key, $right, $left, $cmp, $pathToMin, $minDepth, $minDepth_0, $node, $ptr);
    }
    function ju_TreeMap_height($this) {
        var var$1;
        var$1 = $this.$root;
        return var$1 === null ? 0 : var$1.$height2;
    }
    var nlei_PlatformInput$16 = $rt_classWithoutFields();
    function nlei_PlatformInput$16__init_0() {
        var var_0 = new nlei_PlatformInput$16();
        nlei_PlatformInput$16__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$16__init_($this) {}
    function nlei_PlatformInput$16_handleEvent$exported$0(var$0, var$1) {
        if (nlei_PlatformInput_isOnMobilePressAnyKey) {
            var$1 = nlei_PlatformInput_mobilePressAnyKey;
            if (var$1 !== null)
                var$1.$call0(0);
        }
    }
    var jl_Thread$UncaughtExceptionHandler = $rt_classWithoutFields(0);
    var jl_DefaultUncaughtExceptionHandler = $rt_classWithoutFields();
    function jl_DefaultUncaughtExceptionHandler__init_0() {
        var var_0 = new jl_DefaultUncaughtExceptionHandler();
        jl_DefaultUncaughtExceptionHandler__init_(var_0);
        return var_0;
    }
    function jl_DefaultUncaughtExceptionHandler__init_($this) {}
    var oti_AsyncCallback = $rt_classWithoutFields(0);
    function otpp_AsyncCallbackWrapper() {
        jl_Object.call(this);
        this.$realAsyncCallback = null;
    }
    function otpp_AsyncCallbackWrapper_create($realAsyncCallback) {
        var var$2;
        var$2 = new otpp_AsyncCallbackWrapper;
        var$2.$realAsyncCallback = $realAsyncCallback;
        return var$2;
    }
    function otpp_AsyncCallbackWrapper_complete($this, $result) {
        $this.$realAsyncCallback.$complete($result);
    }
    function otpp_AsyncCallbackWrapper_error($this, $e) {
        $this.$realAsyncCallback.$error($e);
    }
    var otp_PlatformRunnable = $rt_classWithoutFields(0);
    var otr_EventQueue$Event = $rt_classWithoutFields(0);
    var jl_ThreadInterruptHandler = $rt_classWithoutFields(0);
    function jl_Thread$SleepHandler() {
        var a = this; jl_Object.call(a);
        a.$thread = null;
        a.$callback0 = null;
        a.$isInterrupted = 0;
        a.$scheduleId = 0;
    }
    function jl_Thread$SleepHandler_run($this) {
        var var$1;
        if (!$this.$isInterrupted) {
            var$1 = $this.$thread;
            var$1.$interruptHandler = null;
            jl_Thread_setCurrentThread(var$1);
            otpp_AsyncCallbackWrapper_complete($this.$callback0, null);
        }
    }
    var nleit_MessageChannel = $rt_classWithoutFields();
    var nlei_PlatformRuntime$6 = $rt_classWithoutFields();
    function nlei_PlatformRuntime$6__init_0() {
        var var_0 = new nlei_PlatformRuntime$6();
        nlei_PlatformRuntime$6__init_(var_0);
        return var_0;
    }
    function nlei_PlatformRuntime$6__init_($this) {}
    function nlei_PlatformRuntime$6_handleEvent$exported$0(var$0, var$1) {
        var var$2, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nlei_PlatformRuntime_immediateContLock;
            $ptr = 2;
        case 2:
            jl_Object_monitorEnter(var$1);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                try {
                    var$2 = nlei_PlatformRuntime_currentMsgChannelContinueHack;
                    nlei_PlatformRuntime_currentMsgChannelContinueHack = null;
                    jl_Object_monitorExit(var$1);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$2 = $$je;

                }
                jl_Object_monitorExit(var$1);
                $rt_throw(var$2);
            }
            if (var$2 === null)
                return;
            $ptr = 3;
        case 3:
            var$2.$run();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    function nlei_PlatformRuntime$checkImmediateContinueSupport0$lambda$_51_0() {
        jl_Object.call(this);
        this.$_021 = null;
    }
    function nlei_PlatformRuntime$checkImmediateContinueSupport0$lambda$_51_0__init_(var_0) {
        var var_1 = new nlei_PlatformRuntime$checkImmediateContinueSupport0$lambda$_51_0();
        nlei_PlatformRuntime$checkImmediateContinueSupport0$lambda$_51_0__init_0(var_1, var_0);
        return var_1;
    }
    function nlei_PlatformRuntime$checkImmediateContinueSupport0$lambda$_51_0__init_0(var$0, var$1) {
        var$0.$_021 = var$1;
    }
    function nlei_PlatformRuntime$checkImmediateContinueSupport0$lambda$_51_0_run(var$0) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = var$0.$_021.data;
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1[0] = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, $ptr);
    }
    function nle_EaglercraftUUID() {
        var a = this; jl_Object.call(a);
        a.$msb = Long_ZERO;
        a.$lsb = Long_ZERO;
    }
    function nle_EaglercraftUUID__init_0(var_0) {
        var var_1 = new nle_EaglercraftUUID();
        nle_EaglercraftUUID__init_(var_1, var_0);
        return var_1;
    }
    function nle_EaglercraftUUID__init_($this, $uuid) {
        var $msb, $lsb, $i, var$5;
        $msb = Long_ZERO;
        $lsb = Long_ZERO;
        $i = 0;
        while ($i < 8) {
            var$5 = $uuid.data;
            $msb = Long_or(Long_shl($msb, 8), Long_fromInt(var$5[$i] & 255));
            $i = $i + 1 | 0;
        }
        $i = 8;
        while ($i < 16) {
            var$5 = $uuid.data;
            $lsb = Long_or(Long_shl($lsb, 8), Long_fromInt(var$5[$i] & 255));
            $i = $i + 1 | 0;
        }
        $this.$msb = $msb;
        $this.$lsb = $lsb;
    }
    function nle_EaglercraftUUID_toString($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = nle_EaglercraftUUID_digits(Long_shr($this.$msb, 32), 8);
            var$2 = nle_EaglercraftUUID_digits(Long_shr($this.$msb, 16), 4);
            var$3 = nle_EaglercraftUUID_digits($this.$msb, 4);
            var$4 = nle_EaglercraftUUID_digits(Long_shr($this.$lsb, 48), 4);
            var$5 = nle_EaglercraftUUID_digits($this.$lsb, 12);
            var$6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$6);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$6, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$7 = 45;
            jl_AbstractStringBuilder_append(var$1, var$7);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            jl_AbstractStringBuilder_append(var$1, var$7);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            jl_AbstractStringBuilder_append(var$1, var$7);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            jl_AbstractStringBuilder_append(var$1, var$7);
            $ptr = 5;
        case 5:
            jl_StringBuilder_append(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nle_EaglercraftUUID_digits($val, $digits) {
        var $hi;
        $hi = Long_shl(Long_fromInt(1), $digits * 4 | 0);
        return jl_String_substring(otci_IntegerUtil_toUnsignedLogRadixString0(Long_or($hi, Long_and($val, Long_sub($hi, Long_fromInt(1)))), 4), 1);
    }
    function nle_EaglercraftUUID_nameUUIDFromBytes($bytes) {
        var $md5Bytes, $dg, var$4, var$5, var$6, var$7, var$8;
        $md5Bytes = $bytes.data;
        $dg = nlec_MD5Digest__init_0();
        var$4 = 0;
        var$5 = $md5Bytes.length;
        a: {
            while ($dg.$xBufOff) {
                if (var$5 <= 0)
                    break a;
                nlec_GeneralDigest_update0($dg, $md5Bytes[var$4]);
                var$4 = var$4 + 1 | 0;
                var$5 = var$5 + (-1) | 0;
            }
        }
        while (var$5 > $dg.$xBuf.data.length) {
            nlec_MD5Digest_processWord($dg, $bytes, var$4);
            var$6 = $dg.$xBuf.data.length;
            var$4 = var$4 + var$6 | 0;
            var$5 = var$5 - var$6 | 0;
            $dg.$byteCount = Long_add($dg.$byteCount, Long_fromInt(var$6));
        }
        while (var$5 > 0) {
            nlec_GeneralDigest_update0($dg, $md5Bytes[var$4]);
            var$4 = var$4 + 1 | 0;
            var$5 = var$5 + (-1) | 0;
        }
        $md5Bytes = $rt_createByteArray(16);
        var$7 = Long_shl($dg.$byteCount, 3);
        nlec_GeneralDigest_update0($dg, (-128));
        while ($dg.$xBufOff) {
            nlec_GeneralDigest_update0($dg, 0);
        }
        if ($dg.$xOff > 14)
            nlec_MD5Digest_processBlock($dg);
        $bytes = $md5Bytes.data;
        var$8 = $dg.$X.data;
        var$8[14] = Long_lo(Long_and(var$7, Long_fromInt(-1)));
        var$8[15] = Long_hi(var$7);
        nlec_MD5Digest_processBlock($dg);
        nlec_MD5Digest_unpackWord($dg, $dg.$H1, $md5Bytes, 0);
        nlec_MD5Digest_unpackWord($dg, $dg.$H2, $md5Bytes, 4);
        nlec_MD5Digest_unpackWord($dg, $dg.$H3, $md5Bytes, 8);
        nlec_MD5Digest_unpackWord($dg, $dg.$H4, $md5Bytes, 12);
        nlec_MD5Digest_reset($dg);
        $bytes[6] = ($bytes[6] & 15) << 24 >> 24;
        $bytes[6] = ($bytes[6] | 48) << 24 >> 24;
        $bytes[8] = ($bytes[8] & 63) << 24 >> 24;
        $bytes[8] = ($bytes[8] | 128) << 24 >> 24;
        return nle_EaglercraftUUID__init_0($md5Bytes);
    }
    function nle_EaglercraftUUID_randomUUID() {
        var $randomBytes, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9;
        $randomBytes = $rt_createByteArray(16);
        var$2 = $randomBytes.data;
        var$3 = nle_Random__init_0();
        var$4 = 0;
        var$5 = var$2.length;
        while (var$4 < var$5) {
            var$6 = nle_Random_next(var$3, 32);
            var$7 = jl_Math_min(var$5 - var$4 | 0, 4);
            while (true) {
                var$8 = var$7 + (-1) | 0;
                if (var$7 <= 0)
                    break;
                var$9 = var$4 + 1 | 0;
                var$2[var$4] = var$6 << 24 >> 24;
                var$6 = var$6 >> 8;
                var$7 = var$8;
                var$4 = var$9;
            }
        }
        var$2[6] = (var$2[6] & 15) << 24 >> 24;
        var$2[6] = (var$2[6] | 64) << 24 >> 24;
        var$2[8] = (var$2[8] & 63) << 24 >> 24;
        var$2[8] = (var$2[8] | 128) << 24 >> 24;
        return nle_EaglercraftUUID__init_0($randomBytes);
    }
    var nleit_ImmediateContinue = $rt_classWithoutFields(0);
    function nlei_PlatformRuntime$7() {
        var a = this; jl_Object.call(a);
        a.$val$token = null;
        a.$val$checkMe = null;
    }
    function nlei_PlatformRuntime$7__init_(var_0, var_1) {
        var var_2 = new nlei_PlatformRuntime$7();
        nlei_PlatformRuntime$7__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function nlei_PlatformRuntime$7__init_0($this, var$1, var$2) {
        $this.$val$token = var$1;
        $this.$val$checkMe = var$2;
    }
    function nlei_PlatformRuntime$7_isValidToken($this, $someObject) {
        return $this.$val$token !== $someObject ? 0 : 1;
    }
    function nlei_PlatformRuntime$7_execute($this) {
        $this.$val$checkMe.data[0] = 1;
    }
    function nleit_LegacyKeycodeTranslator$LegacyKeycode() {
        var a = this; jl_Object.call(a);
        a.$keyCode0 = 0;
        a.$location = 0;
    }
    function nleit_LegacyKeycodeTranslator$LegacyKeycode__init_(var_0, var_1) {
        var var_2 = new nleit_LegacyKeycodeTranslator$LegacyKeycode();
        nleit_LegacyKeycodeTranslator$LegacyKeycode__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function nleit_LegacyKeycodeTranslator$LegacyKeycode__init_0($this, $keyCode, $location) {
        $this.$keyCode0 = $keyCode;
        $this.$location = $location;
    }
    function nleit_LegacyKeycodeTranslator$LegacyKeycode_equals($this, $obj) {
        var $other;
        if ($this === $obj)
            return 1;
        if ($obj === null)
            return 0;
        if (!($obj instanceof nleit_LegacyKeycodeTranslator$LegacyKeycode))
            return 0;
        $other = $obj;
        if ($this.$keyCode0 != $other.$keyCode0)
            return 0;
        if ($this.$location == $other.$location)
            return 1;
        return 0;
    }
    var nms_EnumOS = $rt_classWithoutFields(jl_Enum);
    var nms_EnumOS_linux = null;
    var nms_EnumOS_solaris = null;
    var nms_EnumOS_windows = null;
    var nms_EnumOS_macos = null;
    var nms_EnumOS_unknown = null;
    var nms_EnumOS_$VALUES = null;
    function nms_EnumOS_$callClinit() {
        nms_EnumOS_$callClinit = $rt_eraseClinit(nms_EnumOS);
        nms_EnumOS__clinit_();
    }
    function nms_EnumOS__init_0(var_0, var_1) {
        var var_2 = new nms_EnumOS();
        nms_EnumOS__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_EnumOS_values() {
        nms_EnumOS_$callClinit();
        return nms_EnumOS_$VALUES.$clone();
    }
    function nms_EnumOS__init_($this, var$1, var$2) {
        nms_EnumOS_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
    }
    function nms_EnumOS__clinit_() {
        var var$1;
        nms_EnumOS_linux = nms_EnumOS__init_0($rt_s(908), 0);
        nms_EnumOS_solaris = nms_EnumOS__init_0($rt_s(909), 1);
        nms_EnumOS_windows = nms_EnumOS__init_0($rt_s(910), 2);
        nms_EnumOS_macos = nms_EnumOS__init_0($rt_s(911), 3);
        var$1 = nms_EnumOS__init_0($rt_s(193), 4);
        nms_EnumOS_unknown = var$1;
        nms_EnumOS_$VALUES = $rt_createArrayFromData(nms_EnumOS, [nms_EnumOS_linux, nms_EnumOS_solaris, nms_EnumOS_windows, nms_EnumOS_macos, var$1]);
    }
    var nleo_VSHInputLayoutParser$ShaderLayoutParseException = $rt_classWithoutFields(jl_RuntimeException);
    var jl_IllegalArgumentException = $rt_classWithoutFields(jl_RuntimeException);
    function jl_IllegalArgumentException__init_0() {
        var var_0 = new jl_IllegalArgumentException();
        jl_IllegalArgumentException__init_(var_0);
        return var_0;
    }
    function jl_IllegalArgumentException__init_2(var_0) {
        var var_1 = new jl_IllegalArgumentException();
        jl_IllegalArgumentException__init_1(var_1, var_0);
        return var_1;
    }
    function jl_IllegalArgumentException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function jl_IllegalArgumentException__init_1($this, $message) {
        jl_Throwable__init_($this, $message);
    }
    var jl_NumberFormatException = $rt_classWithoutFields(jl_IllegalArgumentException);
    function jl_NumberFormatException__init_1() {
        var var_0 = new jl_NumberFormatException();
        jl_NumberFormatException__init_(var_0);
        return var_0;
    }
    function jl_NumberFormatException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function nleo_VSHInputLayoutParser$ShaderInput() {
        var a = this; jl_Object.call(a);
        a.$index = 0;
        a.$type = null;
        a.$name5 = null;
    }
    var nlev_Matrix = $rt_classWithoutFields();
    function nlev_Matrix4f() {
        var a = this; nlev_Matrix.call(a);
        a.$m00 = 0.0;
        a.$m01 = 0.0;
        a.$m02 = 0.0;
        a.$m03 = 0.0;
        a.$m10 = 0.0;
        a.$m11 = 0.0;
        a.$m12 = 0.0;
        a.$m13 = 0.0;
        a.$m20 = 0.0;
        a.$m21 = 0.0;
        a.$m22 = 0.0;
        a.$m23 = 0.0;
        a.$m30 = 0.0;
        a.$m31 = 0.0;
        a.$m32 = 0.0;
        a.$m33 = 0.0;
    }
    function nlev_Matrix4f__init_0() {
        var var_0 = new nlev_Matrix4f();
        nlev_Matrix4f__init_(var_0);
        return var_0;
    }
    function nlev_Matrix4f__init_($this) {
        nlev_Matrix4f_setIdentity($this);
    }
    function nlev_Matrix4f_setIdentity($this) {
        $this.$m00 = 1.0;
        $this.$m01 = 0.0;
        $this.$m02 = 0.0;
        $this.$m03 = 0.0;
        $this.$m10 = 0.0;
        $this.$m11 = 1.0;
        $this.$m12 = 0.0;
        $this.$m13 = 0.0;
        $this.$m20 = 0.0;
        $this.$m21 = 0.0;
        $this.$m22 = 1.0;
        $this.$m23 = 0.0;
        $this.$m30 = 0.0;
        $this.$m31 = 0.0;
        $this.$m32 = 0.0;
        $this.$m33 = 1.0;
        return $this;
    }
    function nlev_Matrix4f_load($this, $src) {
        $this.$m00 = $src.$m00;
        $this.$m01 = $src.$m01;
        $this.$m02 = $src.$m02;
        $this.$m03 = $src.$m03;
        $this.$m10 = $src.$m10;
        $this.$m11 = $src.$m11;
        $this.$m12 = $src.$m12;
        $this.$m13 = $src.$m13;
        $this.$m20 = $src.$m20;
        $this.$m21 = $src.$m21;
        $this.$m22 = $src.$m22;
        $this.$m23 = $src.$m23;
        $this.$m30 = $src.$m30;
        $this.$m31 = $src.$m31;
        $this.$m32 = $src.$m32;
        $this.$m33 = $src.$m33;
        return $this;
    }
    function nlev_Matrix4f_store($this, $buf) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$buf = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$m00;
            $ptr = 1;
        case 1:
            nleib_EaglerArrayFloatBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$m01;
            $ptr = 2;
        case 2:
            nleib_EaglerArrayFloatBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$m02;
            $ptr = 3;
        case 3:
            nleib_EaglerArrayFloatBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$m03;
            $ptr = 4;
        case 4:
            nleib_EaglerArrayFloatBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$m10;
            $ptr = 5;
        case 5:
            nleib_EaglerArrayFloatBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$m11;
            $ptr = 6;
        case 6:
            nleib_EaglerArrayFloatBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$m12;
            $ptr = 7;
        case 7:
            nleib_EaglerArrayFloatBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$m13;
            $ptr = 8;
        case 8:
            nleib_EaglerArrayFloatBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$m20;
            $ptr = 9;
        case 9:
            nleib_EaglerArrayFloatBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$m21;
            $ptr = 10;
        case 10:
            nleib_EaglerArrayFloatBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$m22;
            $ptr = 11;
        case 11:
            nleib_EaglerArrayFloatBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$m23;
            $ptr = 12;
        case 12:
            nleib_EaglerArrayFloatBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$m30;
            $ptr = 13;
        case 13:
            nleib_EaglerArrayFloatBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$m31;
            $ptr = 14;
        case 14:
            nleib_EaglerArrayFloatBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$m32;
            $ptr = 15;
        case 15:
            nleib_EaglerArrayFloatBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$m33;
            $ptr = 16;
        case 16:
            nleib_EaglerArrayFloatBuffer_put($buf, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $buf, var$2, $ptr);
    }
    function nlev_Matrix4f_mul($left, $right, $dest) {
        var var$4, $m12, $m31, var$7, $m13, var$9, $m20, $m30, $m21, $m00, var$14, var$15, var$16, var$17, $m01, var$19, $m33, var$21, var$22, $m02, var$24, var$25, var$26, var$27, $m03, $m32, $m22, $m10, $m11, $m23, var$34, var$35;
        if ($dest === null) {
            $dest = new nlev_Matrix4f;
            nlev_Matrix4f_setIdentity($dest);
        }
        var$4 = $left.$m00;
        $m12 = $right.$m00;
        $m31 = var$4 * $m12;
        var$7 = $left.$m10;
        $m13 = $right.$m01;
        $m31 = $m31 + var$7 * $m13;
        var$9 = $left.$m20;
        $m20 = $right.$m02;
        $m31 = $m31 + var$9 * $m20;
        $m30 = $left.$m30;
        $m21 = $right.$m03;
        $m00 = $m31 + $m30 * $m21;
        var$14 = $left.$m01;
        $m31 = var$14 * $m12;
        var$15 = $left.$m11;
        $m31 = $m31 + var$15 * $m13;
        var$16 = $left.$m21;
        $m31 = $m31 + var$16 * $m20;
        var$17 = $left.$m31;
        $m01 = $m31 + var$17 * $m21;
        var$19 = $left.$m02;
        $m31 = var$19 * $m12;
        $m33 = $left.$m12;
        $m31 = $m31 + $m33 * $m13;
        var$21 = $left.$m22;
        $m31 = $m31 + var$21 * $m20;
        var$22 = $left.$m32;
        $m02 = $m31 + var$22 * $m21;
        var$24 = $left.$m03;
        $m31 = var$24 * $m12;
        var$25 = $left.$m13;
        $m31 = $m31 + var$25 * $m13;
        var$26 = $left.$m23;
        $m31 = $m31 + var$26 * $m20;
        var$27 = $left.$m33;
        $m03 = $m31 + var$27 * $m21;
        $m20 = $right.$m10;
        $m31 = var$4 * $m20;
        $m21 = $right.$m11;
        $m32 = $m31 + var$7 * $m21;
        $m22 = $right.$m12;
        $m32 = $m32 + var$9 * $m22;
        $m13 = $right.$m13;
        $m10 = $m32 + $m30 * $m13;
        $m11 = var$14 * $m20 + var$15 * $m21 + var$16 * $m22 + var$17 * $m13;
        $m12 = var$19 * $m20 + $m33 * $m21 + var$21 * $m22 + var$22 * $m13;
        $m13 = var$24 * $m20 + var$25 * $m21 + var$26 * $m22 + var$27 * $m13;
        $m31 = $right.$m20;
        $m32 = var$4 * $m31;
        $m23 = $right.$m21;
        $m32 = $m32 + var$7 * $m23;
        var$34 = $right.$m22;
        $m32 = $m32 + var$9 * var$34;
        var$35 = $right.$m23;
        $m20 = $m32 + $m30 * var$35;
        $m21 = var$14 * $m31 + var$15 * $m23 + var$16 * var$34 + var$17 * var$35;
        $m22 = var$19 * $m31 + $m33 * $m23 + var$21 * var$34 + var$22 * var$35;
        $m23 = var$24 * $m31 + var$25 * $m23 + var$26 * var$34 + var$27 * var$35;
        var$34 = $right.$m30;
        $m31 = var$4 * var$34;
        var$4 = $right.$m31;
        $m31 = $m31 + var$7 * var$4;
        var$35 = $right.$m32;
        $m31 = $m31 + var$9 * var$35;
        var$9 = $right.$m33;
        $m30 = $m31 + $m30 * var$9;
        $m31 = var$14 * var$34 + var$15 * var$4 + var$16 * var$35 + var$17 * var$9;
        $m32 = var$19 * var$34 + $m33 * var$4 + var$21 * var$35 + var$22 * var$9;
        $m33 = var$24 * var$34 + var$25 * var$4 + var$26 * var$35 + var$27 * var$9;
        $dest.$m00 = $m00;
        $dest.$m01 = $m01;
        $dest.$m02 = $m02;
        $dest.$m03 = $m03;
        $dest.$m10 = $m10;
        $dest.$m11 = $m11;
        $dest.$m12 = $m12;
        $dest.$m13 = $m13;
        $dest.$m20 = $m20;
        $dest.$m21 = $m21;
        $dest.$m22 = $m22;
        $dest.$m23 = $m23;
        $dest.$m30 = $m30;
        $dest.$m31 = $m31;
        $dest.$m32 = $m32;
        $dest.$m33 = $m33;
        return $dest;
    }
    function nlev_Matrix4f_transform($left, $right, $dest) {
        var $w, var$5, var$6, var$7, var$8, $x, $y, $z;
        if ($dest === null)
            $dest = new nlev_Vector4f;
        $w = $left.$m00;
        var$5 = $right.$x0;
        $w = $w * var$5;
        var$6 = $left.$m10;
        var$7 = $right.$y0;
        $w = $w + var$6 * var$7;
        var$6 = $left.$m20;
        var$8 = $right.$z0;
        $w = $w + var$6 * var$8;
        $x = $left.$m30;
        var$6 = $right.$w;
        $x = $w + $x * var$6;
        $y = $left.$m01 * var$5 + $left.$m11 * var$7 + $left.$m21 * var$8 + $left.$m31 * var$6;
        $z = $left.$m02 * var$5 + $left.$m12 * var$7 + $left.$m22 * var$8 + $left.$m32 * var$6;
        $w = $left.$m03 * var$5 + $left.$m13 * var$7 + $left.$m23 * var$8 + $left.$m33 * var$6;
        $dest.$x0 = $x;
        $dest.$y0 = $y;
        $dest.$z0 = $z;
        $dest.$w = $w;
        return $dest;
    }
    var nlev_ReadableVector = $rt_classWithoutFields(0);
    var nlev_Vector = $rt_classWithoutFields();
    var nlev_ReadableVector2f = $rt_classWithoutFields(0);
    var nlev_ReadableVector3f = $rt_classWithoutFields(0);
    var nlev_ReadableVector4f = $rt_classWithoutFields(0);
    var nlev_WritableVector2f = $rt_classWithoutFields(0);
    var nlev_WritableVector3f = $rt_classWithoutFields(0);
    var nlev_WritableVector4f = $rt_classWithoutFields(0);
    function nlev_Vector4f() {
        var a = this; nlev_Vector.call(a);
        a.$x0 = 0.0;
        a.$y0 = 0.0;
        a.$z0 = 0.0;
        a.$w = 0.0;
    }
    function nlev_Vector4f__init_2() {
        var var_0 = new nlev_Vector4f();
        nlev_Vector4f__init_(var_0);
        return var_0;
    }
    function nlev_Vector4f__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new nlev_Vector4f();
        nlev_Vector4f__init_1(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nlev_Vector4f__init_($this) {}
    function nlev_Vector4f__init_1($this, $x, $y, $z, $w) {
        $this.$x0 = $x;
        $this.$y0 = $y;
        $this.$z0 = $z;
        $this.$w = $w;
    }
    var otciu_CLDRHelper = $rt_classWithoutFields();
    var otciu_CLDRHelper_$$metadata$$0 = null;
    var otciu_CLDRHelper_$$metadata$$1 = null;
    var otciu_CLDRHelper_$$metadata$$2 = null;
    var otciu_CLDRHelper_$$metadata$$3 = null;
    var otciu_CLDRHelper_$$metadata$$4 = null;
    var otciu_CLDRHelper_$$metadata$$5 = null;
    var otciu_CLDRHelper_$$metadata$$6 = null;
    var otciu_CLDRHelper_$$metadata$$7 = null;
    var otciu_CLDRHelper_$$metadata$$10 = null;
    var otciu_CLDRHelper_$$metadata$$12 = null;
    var otciu_CLDRHelper_$$metadata$$13 = null;
    var otciu_CLDRHelper_$$metadata$$14 = null;
    var otciu_CLDRHelper_$$metadata$$17 = null;
    var otciu_CLDRHelper_$$metadata$$20 = null;
    function otciu_CLDRHelper__init_0() {
        var var_0 = new otciu_CLDRHelper();
        otciu_CLDRHelper__init_(var_0);
        return var_0;
    }
    function otciu_CLDRHelper__init_($this) {}
    function otciu_CLDRHelper_getCode($language, $country) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$country = $thread.pop();$language = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (jl_String_isEmpty($country))
                return $language;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$3, $language);
            if ($rt_suspending()) {
                break main;
            }
            $language = $tmp;
            jl_AbstractStringBuilder_append($language, 45);
            $ptr = 2;
        case 2:
            jl_StringBuilder_append($language, $country);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $language = $tmp;
            return $language;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($language, $country, var$3, $ptr);
    }
    function otciu_CLDRHelper_resolveCountry($subtags, $country) {
        var $index;
        if (jl_String_isEmpty($country)) {
            if (otciu_CLDRHelper_$$metadata$$0 === null)
                otciu_CLDRHelper_$$metadata$$0 = otciu_CLDRHelper_getLikelySubtagsMap$$create();
            $country = otciu_CLDRHelper_$$metadata$$0;
            if ($country.hasOwnProperty($rt_ustr($subtags)))
                $subtags = ($country[$rt_ustr($subtags)].value !== null ? $rt_str($country[$rt_ustr($subtags)].value) : null);
            $index = jl_String_lastIndexOf($subtags, 95);
            $country = $index <= 0 ? $rt_s(3) : jl_String_substring($subtags, $index + 1 | 0);
        }
        return $country;
    }
    function otciu_CLDRHelper_resolveDateFormatSymbols($map, $language, $country) {
        var $localeCode, $arrayRes, $result, var$7, $i, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();$i = $thread.pop();var$7 = $thread.pop();$result = $thread.pop();$arrayRes = $thread.pop();$localeCode = $thread.pop();$country = $thread.pop();$language = $thread.pop();$map = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = otciu_CLDRHelper_getCode($language, $country);
            if ($rt_suspending()) {
                break main;
            }
            $localeCode = $tmp;
            $arrayRes = $map.hasOwnProperty($rt_ustr($localeCode)) ? $map[$rt_ustr($localeCode)] : $map.hasOwnProperty($rt_ustr($language)) ? $map[$rt_ustr($language)] : $map.root;
            $result = $rt_createArray(jl_String, $arrayRes.length);
            var$7 = $result.data;
            $i = 0;
            var$9 = var$7.length;
            while ($i < var$9) {
                var$7[$i] = ($arrayRes[$i].value !== null ? $rt_str($arrayRes[$i].value) : null);
                $i = $i + 1 | 0;
            }
            return $result;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($map, $language, $country, $localeCode, $arrayRes, $result, var$7, $i, var$9, $ptr);
    }
    function otciu_CLDRHelper_getTimeZoneLocalizationMap() {
        if (otciu_CLDRHelper_$$metadata$$7 === null)
            otciu_CLDRHelper_$$metadata$$7 = otciu_CLDRHelper_getTimeZoneLocalizationMap$$create();
        return otciu_CLDRHelper_$$metadata$$7;
    }
    function otciu_CLDRHelper_resolveNumberFormat($language, $country) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$country = $thread.pop();$language = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (otciu_CLDRHelper_$$metadata$$17 === null)
                otciu_CLDRHelper_$$metadata$$17 = otciu_CLDRHelper_getNumberFormatMap$$create();
            var$3 = otciu_CLDRHelper_$$metadata$$17;
            $ptr = 1;
        case 1:
            $tmp = otciu_CLDRHelper_getCode($language, $country);
            if ($rt_suspending()) {
                break main;
            }
            $country = $tmp;
            return ((var$3.hasOwnProperty($rt_ustr($country)) ? var$3[$rt_ustr($country)] : var$3.hasOwnProperty($rt_ustr($language)) ? var$3[$rt_ustr($language)] : var$3.root).value !== null ? $rt_str((var$3.hasOwnProperty($rt_ustr($country)) ? var$3[$rt_ustr($country)] : var$3.hasOwnProperty($rt_ustr($language)) ? var$3[$rt_ustr($language)] : var$3.root).value) : null);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($language, $country, var$3, $ptr);
    }
    function otciu_CLDRHelper_getLikelySubtagsMap$$create() {
        return {"ksh": {"value" : "ksh-Latn-DE"}, "ksj": {"value" : "ksj-Latn-ZZ"}, "tdu": {"value" : "tdu-Latn-MY"}, "cch": {"value" : "cch-Latn-NG"}, "und-Khar": {"value" : "pra-Khar-PK"}, "gkn": {"value" : "gkn-Latn-ZZ"}, "ksr": {"value" : "ksr-Latn-ZZ"}, "und-Mani": {"value" : "xmn-Mani-CN"}, "gkp": {"value" : "gkp-Latn-ZZ"}, "xmf": {"value" : "xmf-Geor-GE"}, "ccp": {"value" : "ccp-Cakm-BD"}, "ted": {"value" : "ted-Latn-ZZ"}, "und-Mand": {"value" : "myz-Mand-IR"}, "ktb": {"value" : "ktb-Ethi-ZZ"}, "xmn":
        {"value" : "xmn-Mani-CN"}, "sd-Sind": {"value" : "sd-Sind-IN"}, "xmr": {"value" : "xmr-Merc-SD"}, "tem": {"value" : "tem-Latn-SL"}, "und-Mroo": {"value" : "mro-Mroo-BD"}, "teo": {"value" : "teo-Latn-UG"}, "tet": {"value" : "tet-Latn-TL"}, "ktm": {"value" : "ktm-Latn-ZZ"}, "glk": {"value" : "glk-Arab-IR"}, "kto": {"value" : "kto-Latn-ZZ"}, "ktr": {"value" : "ktr-Latn-MY"}, "und-Soyo": {"value" : "cmg-Soyo-MN"}, "xna": {"value" : "xna-Narb-SA"}, "tfi": {"value" : "tfi-Latn-ZZ"}, "kub": {"value" : "kub-Latn-ZZ"}
        , "kue": {"value" : "kue-Latn-ZZ"}, "kud": {"value" : "kud-Latn-ZZ"}, "xnr": {"value" : "xnr-Deva-IN"}, "ceb": {"value" : "ceb-Latn-PH"}, "kuj": {"value" : "kuj-Latn-ZZ"}, "kum": {"value" : "kum-Cyrl-RU"}, "kun": {"value" : "kun-Latn-ZZ"}, "gmm": {"value" : "gmm-Latn-ZZ"}, "kup": {"value" : "kup-Latn-ZZ"}, "kus": {"value" : "kus-Latn-ZZ"}, "gmv": {"value" : "gmv-Ethi-ZZ"}, "tgc": {"value" : "tgc-Latn-ZZ"}, "xog": {"value" : "xog-Latn-UG"}, "und-Arab-YT": {"value" : "swb-Arab-YT"}, "und-Latn-ET": {"value"
        : "en-Latn-ET"}, "xon": {"value" : "xon-Latn-ZZ"}, "ha-CM": {"value" : "ha-Arab-CM"}, "gnd": {"value" : "gnd-Latn-ZZ"}, "kvg": {"value" : "kvg-Latn-ZZ"}, "tgo": {"value" : "tgo-Latn-ZZ"}, "cfa": {"value" : "cfa-Latn-ZZ"}, "gng": {"value" : "gng-Latn-ZZ"}, "tgu": {"value" : "tgu-Latn-ZZ"}, "und-Latn-GE": {"value" : "ku-Latn-GE"}, "kvr": {"value" : "kvr-Latn-ID"}, "kvx": {"value" : "kvx-Arab-PK"}, "und-Gujr": {"value" : "gu-Gujr-IN"}, "thl": {"value" : "thl-Deva-NP"}, "xpr": {"value" : "xpr-Prti-IR"},
        "thq": {"value" : "thq-Deva-NP"}, "god": {"value" : "god-Latn-ZZ"}, "gof": {"value" : "gof-Ethi-ZZ"}, "kwj": {"value" : "kwj-Latn-ZZ"}, "ky-Arab": {"value" : "ky-Arab-CN"}, "thr": {"value" : "thr-Deva-NP"}, "goi": {"value" : "goi-Latn-ZZ"}, "cgg": {"value" : "cgg-Latn-UG"}, "kwo": {"value" : "kwo-Latn-ZZ"}, "gom": {"value" : "gom-Deva-IN"}, "kwq": {"value" : "kwq-Latn-ZZ"}, "gon": {"value" : "gon-Telu-IN"}, "gos": {"value" : "gos-Latn-NL"}, "gor": {"value" : "gor-Latn-ID"}, "und-Latn-CY": {"value" :
        "tr-Latn-CY"}, "got": {"value" : "got-Goth-UA"}, "tif": {"value" : "tif-Latn-ZZ"}, "tig": {"value" : "tig-Ethi-ER"}, "kxa": {"value" : "kxa-Latn-ZZ"}, "kxc": {"value" : "kxc-Ethi-ZZ"}, "pag": {"value" : "pag-Latn-PH"}, "tik": {"value" : "tik-Latn-ZZ"}, "kxe": {"value" : "kxe-Latn-ZZ"}, "tim": {"value" : "tim-Latn-ZZ"}, "pal": {"value" : "pal-Phli-IR"}, "tio": {"value" : "tio-Latn-ZZ"}, "pam": {"value" : "pam-Latn-PH"}, "und-Marc": {"value" : "bo-Marc-CN"}, "pap": {"value" : "pap-Latn-AW"}, "und-Latn-CN":
        {"value" : "za-Latn-CN"}, "tiv": {"value" : "tiv-Latn-NG"}, "kxm": {"value" : "kxm-Thai-TH"}, "kxp": {"value" : "kxp-Arab-PK"}, "pau": {"value" : "pau-Latn-PW"}, "chk": {"value" : "chk-Latn-FM"}, "chm": {"value" : "chm-Cyrl-RU"}, "xrb": {"value" : "xrb-Latn-ZZ"}, "chp": {"value" : "chp-Latn-CA"}, "cho": {"value" : "cho-Latn-US"}, "kxw": {"value" : "kxw-Latn-ZZ"}, "und-Latn-DZ": {"value" : "fr-Latn-DZ"}, "chr": {"value" : "chr-Cher-US"}, "kxz": {"value" : "kxz-Latn-ZZ"}, "und-Batk": {"value" : "bbc-Batk-ID"}
        , "und-Bass": {"value" : "bsq-Bass-LR"}, "kye": {"value" : "kye-Latn-ZZ"}, "pbi": {"value" : "pbi-Latn-ZZ"}, "und-Deva-MU": {"value" : "bho-Deva-MU"}, "cic": {"value" : "cic-Latn-US"}, "und-Sgnw": {"value" : "ase-Sgnw-US"}, "xsa": {"value" : "xsa-Sarb-YE"}, "kyx": {"value" : "kyx-Latn-ZZ"}, "xsi": {"value" : "xsi-Latn-ZZ"}, "pcd": {"value" : "pcd-Latn-FR"}, "und-Latn-AM": {"value" : "ku-Latn-AM"}, "xsm": {"value" : "xsm-Latn-ZZ"}, "tkl": {"value" : "tkl-Latn-TK"}, "und-Thai-CN": {"value" : "lcp-Thai-CN"}
        , "grb": {"value" : "grb-Latn-ZZ"}, "xsr": {"value" : "xsr-Deva-NP"}, "und-Latn-AF": {"value" : "tk-Latn-AF"}, "grc": {"value" : "grc-Cprt-CY"}, "kzj": {"value" : "kzj-Latn-MY"}, "tkr": {"value" : "tkr-Latn-AZ"}, "cja": {"value" : "cja-Arab-KH"}, "pcm": {"value" : "pcm-Latn-NG"}, "tkt": {"value" : "tkt-Deva-NP"}, "und-Olck": {"value" : "sat-Olck-IN"}, "kzr": {"value" : "kzr-Latn-ZZ"}, "kzt": {"value" : "kzt-Latn-MY"}, "cjm": {"value" : "cjm-Cham-VN"}, "grt": {"value" : "grt-Beng-IN"}, "und-Arab-TJ":
        {"value" : "fa-Arab-TJ"}, "und-Arab-TG": {"value" : "apd-Arab-TG"}, "und-Arab-TH": {"value" : "mfa-Arab-TH"}, "und-Deva-PK": {"value" : "btv-Deva-PK"}, "grw": {"value" : "grw-Latn-ZZ"}, "cjv": {"value" : "cjv-Latn-ZZ"}, "pdc": {"value" : "pdc-Latn-US"}, "tlf": {"value" : "tlf-Latn-ZZ"}, "und-Arab-TR": {"value" : "az-Arab-TR"}, "ckb": {"value" : "ckb-Arab-IQ"}, "tly": {"value" : "tly-Latn-AZ"}, "pdt": {"value" : "pdt-Latn-CA"}, "tlx": {"value" : "tlx-Latn-ZZ"}, "ckl": {"value" : "ckl-Latn-ZZ"}, "cko":
        {"value" : "cko-Latn-ZZ"}, "gsw": {"value" : "gsw-Latn-CH"}, "ped": {"value" : "ped-Latn-ZZ"}, "tmh": {"value" : "tmh-Latn-NE"}, "cky": {"value" : "cky-Latn-ZZ"}, "kk-Arab": {"value" : "kk-Arab-CN"}, "und-Runr": {"value" : "non-Runr-SE"}, "cla": {"value" : "cla-Latn-ZZ"}, "peo": {"value" : "peo-Xpeo-IR"}, "tmy": {"value" : "tmy-Latn-ZZ"}, "pex": {"value" : "pex-Latn-ZZ"}, "ky-TR": {"value" : "ky-Latn-TR"}, "tnh": {"value" : "tnh-Latn-ZZ"}, "guc": {"value" : "guc-Latn-CO"}, "gub": {"value" : "gub-Latn-BR"}
        , "gud": {"value" : "gud-Latn-ZZ"}, "pfl": {"value" : "pfl-Latn-DE"}, "cme": {"value" : "cme-Latn-ZZ"}, "cmg": {"value" : "cmg-Soyo-MN"}, "gur": {"value" : "gur-Latn-GH"}, "xwe": {"value" : "xwe-Latn-ZZ"}, "guw": {"value" : "guw-Latn-ZZ"}, "tof": {"value" : "tof-Latn-ZZ"}, "gux": {"value" : "gux-Latn-ZZ"}, "guz": {"value" : "guz-Latn-KE"}, "tog": {"value" : "tog-Latn-MW"}, "gvf": {"value" : "gvf-Latn-ZZ"}, "toq": {"value" : "toq-Latn-ZZ"}, "gvr": {"value" : "gvr-Deva-NP"}, "und-Guru": {"value" : "pa-Guru-IN"}
        , "gvs": {"value" : "gvs-Latn-ZZ"}, "tpi": {"value" : "tpi-Latn-PG"}, "tpm": {"value" : "tpm-Latn-ZZ"}, "und-Tfng": {"value" : "zgh-Tfng-MA"}, "gwc": {"value" : "gwc-Arab-ZZ"}, "und-Arab-PK": {"value" : "ur-Arab-PK"}, "phl": {"value" : "phl-Arab-ZZ"}, "und-Aghb": {"value" : "lez-Aghb-RU"}, "phn": {"value" : "phn-Phnx-LB"}, "gwi": {"value" : "gwi-Latn-CA"}, "tpz": {"value" : "tpz-Latn-ZZ"}, "cop": {"value" : "cop-Copt-EG"}, "gwt": {"value" : "gwt-Arab-ZZ"}, "lab": {"value" : "lab-Lina-GR"}, "lad": {"value"
        : "lad-Hebr-IL"}, "lah": {"value" : "lah-Arab-PK"}, "pil": {"value" : "pil-Latn-ZZ"}, "lag": {"value" : "lag-Latn-TZ"}, "tqo": {"value" : "tqo-Latn-ZZ"}, "laj": {"value" : "laj-Latn-UG"}, "pip": {"value" : "pip-Latn-ZZ"}, "und-Khmr": {"value" : "km-Khmr-KH"}, "las": {"value" : "las-Latn-ZZ"}, "sd-Deva": {"value" : "sd-Deva-IN"}, "und-Khoj": {"value" : "sd-Khoj-IN"}, "cps": {"value" : "cps-Latn-PH"}, "kk-AF": {"value" : "kk-Arab-AF"}, "und-Arab-MU": {"value" : "ur-Arab-MU"}, "lbe": {"value" : "lbe-Cyrl-RU"}
        , "und-Arab-NG": {"value" : "ha-Arab-NG"}, "gyi": {"value" : "gyi-Latn-ZZ"}, "tru": {"value" : "tru-Latn-TR"}, "trw": {"value" : "trw-Arab-ZZ"}, "trv": {"value" : "trv-Latn-TW"}, "lbu": {"value" : "lbu-Latn-ZZ"}, "lbw": {"value" : "lbw-Latn-ID"}, "tsd": {"value" : "tsd-Grek-GR"}, "tsf": {"value" : "tsf-Deva-NP"}, "pka": {"value" : "pka-Brah-IN"}, "tsg": {"value" : "tsg-Latn-PH"}, "tsj": {"value" : "tsj-Tibt-BT"}, "und-Deva-FJ": {"value" : "hif-Deva-FJ"}, "pko": {"value" : "pko-Latn-KE"}, "lcm": {"value"
        : "lcm-Latn-ZZ"}, "crh": {"value" : "crh-Cyrl-UA"}, "lcp": {"value" : "lcp-Thai-CN"}, "tsw": {"value" : "tsw-Latn-ZZ"}, "crj": {"value" : "crj-Cans-CA"}, "crl": {"value" : "crl-Cans-CA"}, "und-Arab-MN": {"value" : "kk-Arab-MN"}, "crk": {"value" : "crk-Cans-CA"}, "crm": {"value" : "crm-Cans-CA"}, "und-Arab-MM": {"value" : "rhg-Arab-MM"}, "pla": {"value" : "pla-Latn-ZZ"}, "tte": {"value" : "tte-Latn-ZZ"}, "crs": {"value" : "crs-Latn-SC"}, "ttd": {"value" : "ttd-Latn-ZZ"}, "ldb": {"value" : "ldb-Latn-ZZ"}
        , "ttj": {"value" : "ttj-Latn-UG"}, "kk-CN": {"value" : "kk-Arab-CN"}, "und-Yiii": {"value" : "ii-Yiii-CN"}, "tts": {"value" : "tts-Thai-TH"}, "csb": {"value" : "csb-Latn-PL"}, "ttr": {"value" : "ttr-Latn-ZZ"}, "ttt": {"value" : "ttt-Latn-AZ"}, "csw": {"value" : "csw-Cans-CA"}, "tuh": {"value" : "tuh-Latn-ZZ"}, "led": {"value" : "led-Latn-ZZ"}, "tul": {"value" : "tul-Latn-ZZ"}, "lee": {"value" : "lee-Latn-ZZ"}, "tum": {"value" : "tum-Latn-MW"}, "und-Arab-KH": {"value" : "cja-Arab-KH"}, "tuq": {"value"
        : "tuq-Latn-ZZ"}, "ctd": {"value" : "ctd-Pauc-MM"}, "lem": {"value" : "lem-Latn-ZZ"}, "lep": {"value" : "lep-Lepc-IN"}, "pms": {"value" : "pms-Latn-IT"}, "leq": {"value" : "leq-Latn-ZZ"}, "und-Pauc": {"value" : "ctd-Pauc-MM"}, "und-Sogo": {"value" : "sog-Sogo-UZ"}, "leu": {"value" : "leu-Latn-ZZ"}, "lez": {"value" : "lez-Cyrl-RU"}, "tvd": {"value" : "tvd-Latn-ZZ"}, "mn-CN": {"value" : "mn-Mong-CN"}, "sr-TR": {"value" : "sr-Latn-TR"}, "png": {"value" : "png-Latn-ZZ"}, "tvl": {"value" : "tvl-Latn-TV"}
        , "und-Brah": {"value" : "pka-Brah-IN"}, "und-Brai": {"value" : "fr-Brai-FR"}, "pnn": {"value" : "pnn-Latn-ZZ"}, "tvu": {"value" : "tvu-Latn-ZZ"}, "pnt": {"value" : "pnt-Grek-GR"}, "uz-CN": {"value" : "uz-Cyrl-CN"}, "ha-SD": {"value" : "ha-Arab-SD"}, "twh": {"value" : "twh-Latn-ZZ"}, "und-Takr": {"value" : "doi-Takr-IN"}, "lgg": {"value" : "lgg-Latn-ZZ"}, "pon": {"value" : "pon-Latn-FM"}, "twq": {"value" : "twq-Latn-NE"}, "und-Arab-ID": {"value" : "ms-Arab-ID"}, "und-Arab-IN": {"value" : "ur-Arab-IN"}
        , "ppa": {"value" : "ppa-Deva-IN"}, "txg": {"value" : "txg-Tang-CN"}, "yam": {"value" : "yam-Latn-ZZ"}, "und-Talu": {"value" : "khb-Talu-CN"}, "yao": {"value" : "yao-Latn-MZ"}, "yap": {"value" : "yap-Latn-FM"}, "yas": {"value" : "yas-Latn-ZZ"}, "yat": {"value" : "yat-Latn-ZZ"}, "ppo": {"value" : "ppo-Latn-ZZ"}, "yav": {"value" : "yav-Latn-CM"}, "yay": {"value" : "yay-Latn-ZZ"}, "yaz": {"value" : "yaz-Latn-ZZ"}, "und-Tale": {"value" : "tdd-Tale-CN"}, "ybb": {"value" : "ybb-Latn-CM"}, "yba": {"value" :
        "yba-Latn-ZZ"}, "tya": {"value" : "tya-Latn-ZZ"}, "lia": {"value" : "lia-Latn-ZZ"}, "lid": {"value" : "lid-Latn-ZZ"}, "und-Latn-TW": {"value" : "trv-Latn-TW"}, "lif": {"value" : "lif-Deva-NP"}, "lih": {"value" : "lih-Latn-ZZ"}, "lig": {"value" : "lig-Latn-ZZ"}, "lij": {"value" : "lij-Latn-IT"}, "hag": {"value" : "hag-Latn-ZZ"}, "und-Latn-TN": {"value" : "fr-Latn-TN"}, "tyv": {"value" : "tyv-Cyrl-RU"}, "yby": {"value" : "yby-Latn-ZZ"}, "und-Arab-GB": {"value" : "ks-Arab-GB"}, "hak": {"value" : "hak-Hans-CN"}
        , "und-Taml": {"value" : "ta-Taml-IN"}, "ham": {"value" : "ham-Latn-ZZ"}, "lis": {"value" : "lis-Lisu-CN"}, "und-Latn-SY": {"value" : "fr-Latn-SY"}, "ky-Latn": {"value" : "ky-Latn-TR"}, "pra": {"value" : "pra-Khar-PK"}, "haw": {"value" : "haw-Latn-US"}, "haz": {"value" : "haz-Arab-AF"}, "ku-LB": {"value" : "ku-Arab-LB"}, "prd": {"value" : "prd-Arab-IR"}, "prg": {"value" : "prg-Latn-001"}, "tzm": {"value" : "tzm-Latn-MA"}, "hbb": {"value" : "hbb-Latn-ZZ"}, "und-Latn-UA": {"value" : "pl-Latn-UA"}, "ljp":
        {"value" : "ljp-Latn-ID"}, "und-Tang": {"value" : "txg-Tang-CN"}, "yue-Hans": {"value" : "yue-Hans-CN"}, "und-Latn-RU": {"value" : "krl-Latn-RU"}, "lki": {"value" : "lki-Arab-IR"}, "pss": {"value" : "pss-Latn-ZZ"}, "lkt": {"value" : "lkt-Latn-US"}, "sr-RO": {"value" : "sr-Latn-RO"}, "und-Arab-CN": {"value" : "ug-Arab-CN"}, "lle": {"value" : "lle-Latn-ZZ"}, "und-Cyrl": {"value" : "ru-Cyrl-RU"}, "uz-AF": {"value" : "uz-Arab-AF"}, "yer": {"value" : "yer-Latn-ZZ"}, "und-Beng": {"value" : "bn-Beng-BD"}, "ptp":
        {"value" : "ptp-Latn-ZZ"}, "lln": {"value" : "lln-Latn-ZZ"}, "sr-RU": {"value" : "sr-Latn-RU"}, "hdy": {"value" : "hdy-Ethi-ZZ"}, "unr-NP": {"value" : "unr-Deva-NP"}, "und-Mend": {"value" : "men-Mend-SL"}, "lmn": {"value" : "lmn-Telu-IN"}, "lmp": {"value" : "lmp-Latn-ZZ"}, "lmo": {"value" : "lmo-Latn-IT"}, "puu": {"value" : "puu-Latn-GA"}, "und-Arab-CC": {"value" : "ms-Arab-CC"}, "pal-Phlp": {"value" : "pal-Phlp-CN"}, "ygr": {"value" : "ygr-Latn-ZZ"}, "ygw": {"value" : "ygw-Latn-ZZ"}, "lns": {"value"
        : "lns-Latn-ZZ"}, "ky-CN": {"value" : "ky-Arab-CN"}, "lnu": {"value" : "lnu-Latn-ZZ"}, "pwa": {"value" : "pwa-Latn-ZZ"}, "und-Chrs": {"value" : "xco-Chrs-UZ"}, "und-Mahj": {"value" : "hi-Mahj-IN"}, "rif-NL": {"value" : "rif-Latn-NL"}, "loj": {"value" : "loj-Latn-ZZ"}, "lol": {"value" : "lol-Latn-CD"}, "lok": {"value" : "lok-Latn-ZZ"}, "lor": {"value" : "lor-Latn-ZZ"}, "und-Sora": {"value" : "srb-Sora-IN"}, "los": {"value" : "los-Latn-ZZ"}, "loz": {"value" : "loz-Latn-ZM"}, "und-202": {"value" : "en-Latn-NG"}
        , "und-Latn-MR": {"value" : "fr-Latn-MR"}, "ku-Yezi": {"value" : "ku-Yezi-GE"}, "hhy": {"value" : "hhy-Latn-ZZ"}, "hia": {"value" : "hia-Latn-ZZ"}, "hif": {"value" : "hif-Latn-FJ"}, "dad": {"value" : "dad-Latn-ZZ"}, "hih": {"value" : "hih-Latn-ZZ"}, "hig": {"value" : "hig-Latn-ZZ"}, "daf": {"value" : "daf-Latn-ZZ"}, "ubu": {"value" : "ubu-Latn-ZZ"}, "dah": {"value" : "dah-Latn-ZZ"}, "hil": {"value" : "hil-Latn-PH"}, "dag": {"value" : "dag-Latn-ZZ"}, "und-Mero": {"value" : "xmr-Mero-SD"}, "dak": {"value"
        : "dak-Latn-US"}, "und-Merc": {"value" : "xmr-Merc-SD"}, "dar": {"value" : "dar-Cyrl-RU"}, "dav": {"value" : "dav-Latn-KE"}, "lrc": {"value" : "lrc-Arab-IR"}, "yko": {"value" : "yko-Latn-ZZ"}, "und-Latn-MK": {"value" : "sq-Latn-MK"}, "und-Latn-MM": {"value" : "kac-Latn-MM"}, "dbd": {"value" : "dbd-Latn-ZZ"}, "und-Latn-MO": {"value" : "pt-Latn-MO"}, "und-Latn-MA": {"value" : "fr-Latn-MA"}, "und-Bali": {"value" : "ban-Bali-ID"}, "und-Tavt": {"value" : "blt-Tavt-VN"}, "dbq": {"value" : "dbq-Latn-ZZ"}, "yle":
        {"value" : "yle-Latn-ZZ"}, "ylg": {"value" : "ylg-Latn-ZZ"}, "und-Maka": {"value" : "mak-Maka-ID"}, "yll": {"value" : "yll-Latn-ZZ"}, "udm": {"value" : "udm-Cyrl-RU"}, "dcc": {"value" : "dcc-Arab-IN"}, "yml": {"value" : "yml-Latn-ZZ"}, "hla": {"value" : "hla-Latn-ZZ"}, "und-Latn-IR": {"value" : "tk-Latn-IR"}, "ltg": {"value" : "ltg-Latn-LV"}, "und-Latn-KM": {"value" : "fr-Latn-KM"}, "ddn": {"value" : "ddn-Latn-ZZ"}, "hlu": {"value" : "hlu-Hluw-TR"}, "lua": {"value" : "lua-Latn-CD"}, "und-Bamu": {"value"
        : "bax-Bamu-CM"}, "hmd": {"value" : "hmd-Plrd-CN"}, "ded": {"value" : "ded-Latn-ZZ"}, "luo": {"value" : "luo-Latn-KE"}, "und-142": {"value" : "zh-Hans-CN"}, "und-143": {"value" : "uz-Latn-UZ"}, "den": {"value" : "den-Latn-CA"}, "und-Gran": {"value" : "sa-Gran-IN"}, "hmt": {"value" : "hmt-Latn-ZZ"}, "uga": {"value" : "uga-Ugar-SY"}, "luz": {"value" : "luz-Arab-IR"}, "luy": {"value" : "luy-Latn-KE"}, "und-145": {"value" : "ar-Arab-SA"}, "und-Cakm": {"value" : "ccp-Cakm-BD"}, "und-Dupl": {"value" : "fr-Dupl-FR"}
        , "yon": {"value" : "yon-Latn-ZZ"}, "ug-MN": {"value" : "ug-Cyrl-MN"}, "hne": {"value" : "hne-Deva-IN"}, "hnd": {"value" : "hnd-Arab-PK"}, "hnj": {"value" : "hnj-Hmng-LA"}, "hno": {"value" : "hno-Arab-PK"}, "hnn": {"value" : "hnn-Latn-PH"}, "ug-KZ": {"value" : "ug-Cyrl-KZ"}, "und-154": {"value" : "en-Latn-GB"}, "und-155": {"value" : "de-Latn-DE"}, "und-150": {"value" : "ru-Cyrl-RU"}, "und-151": {"value" : "ru-Cyrl-RU"}, "und-Sylo": {"value" : "syl-Sylo-BD"}, "hoc": {"value" : "hoc-Deva-IN"}, "dga": {"value"
        : "dga-Latn-ZZ"}, "lwl": {"value" : "lwl-Thai-TH"}, "und-Ital": {"value" : "ett-Ital-IT"}, "hoj": {"value" : "hoj-Deva-IN"}, "dgh": {"value" : "dgh-Latn-ZZ"}, "dgi": {"value" : "dgi-Latn-ZZ"}, "dgl": {"value" : "dgl-Arab-ZZ"}, "hot": {"value" : "hot-Latn-ZZ"}, "dgr": {"value" : "dgr-Latn-CA"}, "dgz": {"value" : "dgz-Latn-ZZ"}, "yrb": {"value" : "yrb-Latn-ZZ"}, "yre": {"value" : "yre-Latn-ZZ"}, "und-Lyci": {"value" : "xlc-Lyci-TR"}, "und-Cans": {"value" : "cr-Cans-CA"}, "und-Hluw": {"value" : "hlu-Hluw-TR"}
        , "und-Nand": {"value" : "sa-Nand-IN"}, "yrl": {"value" : "yrl-Latn-BR"}, "dia": {"value" : "dia-Latn-ZZ"}, "und-Grek": {"value" : "el-Grek-GR"}, "und-Mong": {"value" : "mn-Mong-CN"}, "und-Lydi": {"value" : "xld-Lydi-TR"}, "yss": {"value" : "yss-Latn-ZZ"}, "und-Newa": {"value" : "new-Newa-NP"}, "lzh": {"value" : "lzh-Hans-CN"}, "dje": {"value" : "dje-Latn-NE"}, "lzz": {"value" : "lzz-Latn-TR"}, "uli": {"value" : "uli-Latn-FM"}, "hsb": {"value" : "hsb-Latn-DE"}, "und-Xsux": {"value" : "akk-Xsux-IQ"},
        "hsn": {"value" : "hsn-Hans-CN"}, "und-Cari": {"value" : "xcr-Cari-TR"}, "und-Syrc": {"value" : "syr-Syrc-IQ"}, "yua": {"value" : "yua-Latn-MX"}, "yue": {"value" : "yue-Hant-HK"}, "umb": {"value" : "umb-Latn-AO"}, "yuj": {"value" : "yuj-Latn-ZZ"}, "yut": {"value" : "yut-Latn-ZZ"}, "yuw": {"value" : "yuw-Latn-ZZ"}, "und-Bopo": {"value" : "zh-Bopo-TW"}, "und-Yezi": {"value" : "ku-Yezi-GE"}, "und": {"value" : "en-Latn-US"}, "und-Egyp": {"value" : "egy-Egyp-EG"}, "und-Tglg": {"value" : "fil-Tglg-PH"}, "unr":
        {"value" : "unr-Beng-IN"}, "hui": {"value" : "hui-Latn-ZZ"}, "und-Elba": {"value" : "sq-Elba-AL"}, "unx": {"value" : "unx-Beng-IN"}, "und-Narb": {"value" : "xna-Narb-SA"}, "pa-PK": {"value" : "pa-Arab-PK"}, "und-Hebr-CA": {"value" : "yi-Hebr-CA"}, "uok": {"value" : "uok-Latn-ZZ"}, "und-Geor": {"value" : "ka-Geor-GE"}, "und-Shrd": {"value" : "sa-Shrd-IN"}, "dnj": {"value" : "dnj-Latn-CI"}, "und-Diak": {"value" : "dv-Diak-MV"}, "dob": {"value" : "dob-Latn-ZZ"}, "und-Mymr-TH": {"value" : "mnw-Mymr-TH"}
        , "doi": {"value" : "doi-Arab-IN"}, "dop": {"value" : "dop-Latn-ZZ"}, "und-Sund": {"value" : "su-Sund-ID"}, "dow": {"value" : "dow-Latn-ZZ"}, "sr-ME": {"value" : "sr-Latn-ME"}, "und-Hung": {"value" : "hu-Hung-HU"}, "mad": {"value" : "mad-Latn-ID"}, "mag": {"value" : "mag-Deva-IN"}, "maf": {"value" : "maf-Latn-CM"}, "mai": {"value" : "mai-Deva-IN"}, "mak": {"value" : "mak-Latn-ID"}, "man": {"value" : "man-Latn-GM"}, "mas": {"value" : "mas-Latn-KE"}, "maw": {"value" : "maw-Latn-ZZ"}, "maz": {"value" :
        "maz-Latn-MX"}, "uri": {"value" : "uri-Latn-ZZ"}, "mbh": {"value" : "mbh-Latn-ZZ"}, "urt": {"value" : "urt-Latn-ZZ"}, "mbo": {"value" : "mbo-Latn-ZZ"}, "urw": {"value" : "urw-Latn-ZZ"}, "mbq": {"value" : "mbq-Latn-ZZ"}, "mbu": {"value" : "mbu-Latn-ZZ"}, "und-Hebr-GB": {"value" : "yi-Hebr-GB"}, "usa": {"value" : "usa-Latn-ZZ"}, "mbw": {"value" : "mbw-Latn-ZZ"}, "mci": {"value" : "mci-Latn-ZZ"}, "dri": {"value" : "dri-Latn-ZZ"}, "mcq": {"value" : "mcq-Latn-ZZ"}, "drh": {"value" : "drh-Mong-CN"}, "mcp":
        {"value" : "mcp-Latn-ZZ"}, "mcr": {"value" : "mcr-Latn-ZZ"}, "mcu": {"value" : "mcu-Latn-ZZ"}, "drs": {"value" : "drs-Ethi-ZZ"}, "mda": {"value" : "mda-Latn-ZZ"}, "mdf": {"value" : "mdf-Cyrl-RU"}, "mde": {"value" : "mde-Arab-ZZ"}, "mdh": {"value" : "mdh-Latn-PH"}, "dsb": {"value" : "dsb-Latn-DE"}, "mdj": {"value" : "mdj-Latn-ZZ"}, "utr": {"value" : "utr-Latn-ZZ"}, "mdr": {"value" : "mdr-Latn-ID"}, "mdx": {"value" : "mdx-Ethi-ZZ"}, "mee": {"value" : "mee-Latn-ZZ"}, "med": {"value" : "med-Latn-ZZ"}, "mek":
        {"value" : "mek-Latn-ZZ"}, "men": {"value" : "men-Latn-SL"}, "az-RU": {"value" : "az-Cyrl-RU"}, "mis-Medf": {"value" : "mis-Medf-NG"}, "mer": {"value" : "mer-Latn-KE"}, "dtm": {"value" : "dtm-Latn-ML"}, "meu": {"value" : "meu-Latn-ZZ"}, "met": {"value" : "met-Latn-ZZ"}, "dtp": {"value" : "dtp-Latn-MY"}, "dts": {"value" : "dts-Latn-ZZ"}, "uvh": {"value" : "uvh-Latn-ZZ"}, "dty": {"value" : "dty-Deva-NP"}, "mfa": {"value" : "mfa-Arab-TH"}, "uvl": {"value" : "uvl-Latn-ZZ"}, "mfe": {"value" : "mfe-Latn-MU"}
        , "dua": {"value" : "dua-Latn-CM"}, "dud": {"value" : "dud-Latn-ZZ"}, "duc": {"value" : "duc-Latn-ZZ"}, "mfn": {"value" : "mfn-Latn-ZZ"}, "dug": {"value" : "dug-Latn-ZZ"}, "mfo": {"value" : "mfo-Latn-ZZ"}, "mfq": {"value" : "mfq-Latn-ZZ"}, "und-Phag": {"value" : "lzh-Phag-CN"}, "dva": {"value" : "dva-Latn-ZZ"}, "mgh": {"value" : "mgh-Latn-MZ"}, "mgl": {"value" : "mgl-Latn-ZZ"}, "mgo": {"value" : "mgo-Latn-CM"}, "mgp": {"value" : "mgp-Deva-NP"}, "mgy": {"value" : "mgy-Latn-TZ"}, "zag": {"value" : "zag-Latn-SD"}
        , "mhi": {"value" : "mhi-Latn-ZZ"}, "mhl": {"value" : "mhl-Latn-ZZ"}, "dww": {"value" : "dww-Latn-ZZ"}, "mif": {"value" : "mif-Latn-ZZ"}, "und-Mymr-IN": {"value" : "kht-Mymr-IN"}, "min": {"value" : "min-Latn-ID"}, "mis": {"value" : "mis-Hatr-IQ"}, "ian": {"value" : "ian-Latn-ZZ"}, "miw": {"value" : "miw-Latn-ZZ"}, "iar": {"value" : "iar-Latn-ZZ"}, "uz-Arab": {"value" : "uz-Arab-AF"}, "ibb": {"value" : "ibb-Latn-NG"}, "iba": {"value" : "iba-Latn-MY"}, "dyo": {"value" : "dyo-Latn-SN"}, "dyu": {"value"
        : "dyu-Latn-BF"}, "iby": {"value" : "iby-Latn-ZZ"}, "zdj": {"value" : "zdj-Arab-KM"}, "ica": {"value" : "ica-Latn-ZZ"}, "mki": {"value" : "mki-Arab-ZZ"}, "und-Wcho": {"value" : "nnp-Wcho-IN"}, "ich": {"value" : "ich-Latn-ZZ"}, "mkl": {"value" : "mkl-Latn-ZZ"}, "dzg": {"value" : "dzg-Latn-ZZ"}, "mkp": {"value" : "mkp-Latn-ZZ"}, "zea": {"value" : "zea-Latn-NL"}, "mkw": {"value" : "mkw-Latn-ZZ"}, "mle": {"value" : "mle-Latn-ZZ"}, "idd": {"value" : "idd-Latn-ZZ"}, "idi": {"value" : "idi-Latn-ZZ"}, "lif-Limb":
        {"value" : "lif-Limb-IN"}, "mlp": {"value" : "mlp-Latn-ZZ"}, "mls": {"value" : "mls-Latn-SD"}, "idu": {"value" : "idu-Latn-ZZ"}, "quc": {"value" : "quc-Latn-GT"}, "qug": {"value" : "qug-Latn-EC"}, "und-Jamo": {"value" : "ko-Jamo-KR"}, "mmo": {"value" : "mmo-Latn-ZZ"}, "mmu": {"value" : "mmu-Latn-ZZ"}, "mmx": {"value" : "mmx-Latn-ZZ"}, "zgh": {"value" : "zgh-Tfng-MA"}, "mna": {"value" : "mna-Latn-ZZ"}, "mnf": {"value" : "mnf-Latn-ZZ"}, "ife": {"value" : "ife-Latn-TG"}, "mni": {"value" : "mni-Beng-IN"}
        , "mnw": {"value" : "mnw-Mymr-MM"}, "moa": {"value" : "moa-Latn-ZZ"}, "moe": {"value" : "moe-Latn-CA"}, "igb": {"value" : "igb-Latn-ZZ"}, "ige": {"value" : "ige-Latn-ZZ"}, "moh": {"value" : "moh-Latn-CA"}, "und-Hebr-SE": {"value" : "yi-Hebr-SE"}, "zhx": {"value" : "zhx-Nshu-CN"}, "mos": {"value" : "mos-Latn-BF"}, "und-Shaw": {"value" : "en-Shaw-GB"}, "zia": {"value" : "zia-Latn-ZZ"}, "mox": {"value" : "mox-Latn-ZZ"}, "vag": {"value" : "vag-Latn-ZZ"}, "vai": {"value" : "vai-Vaii-LR"}, "van": {"value"
        : "van-Latn-ZZ"}, "mpp": {"value" : "mpp-Latn-ZZ"}, "mpt": {"value" : "mpt-Latn-ZZ"}, "mps": {"value" : "mps-Latn-ZZ"}, "mpx": {"value" : "mpx-Latn-ZZ"}, "und-Hebr-US": {"value" : "yi-Hebr-US"}, "hi-Latn": {"value" : "hi-Latn-IN"}, "mql": {"value" : "mql-Latn-ZZ"}, "und-Hebr-UA": {"value" : "yi-Hebr-UA"}, "mrd": {"value" : "mrd-Deva-NP"}, "zkt": {"value" : "zkt-Kits-CN"}, "mrj": {"value" : "mrj-Cyrl-RU"}, "ijj": {"value" : "ijj-Latn-ZZ"}, "mro": {"value" : "mro-Mroo-BD"}, "und-Modi": {"value" : "mr-Modi-IN"}
        , "ebu": {"value" : "ebu-Latn-KE"}, "zlm": {"value" : "zlm-Latn-TG"}, "arc-Palm": {"value" : "arc-Palm-SY"}, "ikk": {"value" : "ikk-Latn-ZZ"}, "ikt": {"value" : "ikt-Latn-CA"}, "ikw": {"value" : "ikw-Latn-ZZ"}, "vec": {"value" : "vec-Latn-IT"}, "ikx": {"value" : "ikx-Latn-ZZ"}, "zmi": {"value" : "zmi-Latn-MY"}, "mtc": {"value" : "mtc-Latn-ZZ"}, "mtf": {"value" : "mtf-Latn-ZZ"}, "vep": {"value" : "vep-Latn-RU"}, "zh-Bopo": {"value" : "zh-Bopo-TW"}, "mti": {"value" : "mti-Latn-ZZ"}, "und-Ethi": {"value"
        : "am-Ethi-ET"}, "mtr": {"value" : "mtr-Deva-IN"}, "und-Thai-LA": {"value" : "kdt-Thai-LA"}, "ilo": {"value" : "ilo-Latn-PH"}, "zne": {"value" : "zne-Latn-ZZ"}, "mua": {"value" : "mua-Latn-CM"}, "und-Thai-KH": {"value" : "kdt-Thai-KH"}, "imo": {"value" : "imo-Latn-ZZ"}, "mus": {"value" : "mus-Latn-US"}, "mur": {"value" : "mur-Latn-ZZ"}, "mva": {"value" : "mva-Latn-ZZ"}, "inh": {"value" : "inh-Cyrl-RU"}, "mvn": {"value" : "mvn-Latn-ZZ"}, "efi": {"value" : "efi-Latn-NG"}, "mvy": {"value" : "mvy-Arab-PK"}
        , "und-Java": {"value" : "jv-Java-ID"}, "mwk": {"value" : "mwk-Latn-ML"}, "mwr": {"value" : "mwr-Deva-IN"}, "und-021": {"value" : "en-Latn-US"}, "egl": {"value" : "egl-Latn-IT"}, "mww": {"value" : "mww-Hmnp-US"}, "mwv": {"value" : "mwv-Latn-ID"}, "iou": {"value" : "iou-Latn-ZZ"}, "und-029": {"value" : "es-Latn-CU"}, "vic": {"value" : "vic-Latn-SX"}, "egy": {"value" : "egy-Egyp-EG"}, "und-Ugar": {"value" : "uga-Ugar-SY"}, "mxc": {"value" : "mxc-Latn-ZW"}, "raj": {"value" : "raj-Deva-IN"}, "rai": {"value"
        : "rai-Latn-ZZ"}, "rao": {"value" : "rao-Latn-ZZ"}, "viv": {"value" : "viv-Latn-ZZ"}, "mxm": {"value" : "mxm-Latn-ZZ"}, "und-034": {"value" : "hi-Deva-IN"}, "und-030": {"value" : "zh-Hans-CN"}, "und-039": {"value" : "it-Latn-IT"}, "und-035": {"value" : "id-Latn-ID"}, "ug-Cyrl": {"value" : "ug-Cyrl-KZ"}, "myk": {"value" : "myk-Latn-ZZ"}, "mym": {"value" : "mym-Ethi-ZZ"}, "aai": {"value" : "aai-Latn-ZZ"}, "aak": {"value" : "aak-Latn-ZZ"}, "myw": {"value" : "myw-Latn-ZZ"}, "myv": {"value" : "myv-Cyrl-RU"}
        , "myx": {"value" : "myx-Latn-UG"}, "myz": {"value" : "myz-Mand-IR"}, "und-Sinh": {"value" : "si-Sinh-LK"}, "und-Sind": {"value" : "sd-Sind-IN"}, "aau": {"value" : "aau-Latn-ZZ"}, "rcf": {"value" : "rcf-Latn-RE"}, "und-Orkh": {"value" : "otk-Orkh-MN"}, "mzk": {"value" : "mzk-Latn-ZZ"}, "mzn": {"value" : "mzn-Arab-IR"}, "iri": {"value" : "iri-Latn-ZZ"}, "mzm": {"value" : "mzm-Latn-ZZ"}, "mzp": {"value" : "mzp-Latn-ZZ"}, "und-053": {"value" : "en-Latn-AU"}, "abi": {"value" : "abi-Latn-ZZ"}, "und-054":
        {"value" : "en-Latn-PG"}, "mzw": {"value" : "mzw-Latn-ZZ"}, "mzz": {"value" : "mzz-Latn-ZZ"}, "abr": {"value" : "abr-Latn-GH"}, "abq": {"value" : "abq-Cyrl-ZZ"}, "abt": {"value" : "abt-Latn-ZZ"}, "und-057": {"value" : "en-Latn-GU"}, "aby": {"value" : "aby-Latn-ZZ"}, "eka": {"value" : "eka-Latn-ZZ"}, "vls": {"value" : "vls-Latn-BE"}, "ace": {"value" : "ace-Latn-ID"}, "acd": {"value" : "acd-Latn-ZZ"}, "ach": {"value" : "ach-Latn-UG"}, "vmf": {"value" : "vmf-Latn-DE"}, "eky": {"value" : "eky-Kali-MM"},
        "rej": {"value" : "rej-Latn-ID"}, "rel": {"value" : "rel-Latn-ZZ"}, "ada": {"value" : "ada-Latn-GH"}, "res": {"value" : "res-Latn-ZZ"}, "vmw": {"value" : "vmw-Latn-MZ"}, "ade": {"value" : "ade-Latn-ZZ"}, "adj": {"value" : "adj-Latn-ZZ"}, "und-Hira": {"value" : "ja-Hira-JP"}, "adp": {"value" : "adp-Tibt-BT"}, "adz": {"value" : "adz-Latn-ZZ"}, "ady": {"value" : "ady-Cyrl-RU"}, "ema": {"value" : "ema-Latn-ZZ"}, "und-Deva": {"value" : "hi-Deva-IN"}, "aeb": {"value" : "aeb-Arab-TN"}, "emi": {"value" : "emi-Latn-ZZ"}
        , "und-009": {"value" : "en-Latn-AU"}, "aey": {"value" : "aey-Latn-ZZ"}, "und-002": {"value" : "en-Latn-NG"}, "und-003": {"value" : "en-Latn-US"}, "und-005": {"value" : "pt-Latn-BR"}, "rgn": {"value" : "rgn-Latn-IT"}, "vot": {"value" : "vot-Latn-RU"}, "enn": {"value" : "enn-Latn-ZZ"}, "enq": {"value" : "enq-Latn-ZZ"}, "und-011": {"value" : "en-Latn-NG"}, "rhg": {"value" : "rhg-Arab-MM"}, "und-017": {"value" : "sw-Latn-CD"}, "und-018": {"value" : "en-Latn-ZA"}, "und-019": {"value" : "en-Latn-US"}, "und-013":
        {"value" : "es-Latn-MX"}, "und-014": {"value" : "sw-Latn-TZ"}, "und-015": {"value" : "ar-Arab-EG"}, "agc": {"value" : "agc-Latn-ZZ"}, "und-Zanb": {"value" : "cmg-Zanb-MN"}, "iwm": {"value" : "iwm-Latn-ZZ"}, "agd": {"value" : "agd-Latn-ZZ"}, "agg": {"value" : "agg-Latn-ZZ"}, "iws": {"value" : "iws-Latn-ZZ"}, "agm": {"value" : "agm-Latn-ZZ"}, "ago": {"value" : "ago-Latn-ZZ"}, "agq": {"value" : "agq-Latn-CM"}, "ria": {"value" : "ria-Latn-IN"}, "rif": {"value" : "rif-Tfng-MA"}, "nac": {"value" : "nac-Latn-ZZ"}
        , "naf": {"value" : "naf-Latn-ZZ"}, "nak": {"value" : "nak-Latn-ZZ"}, "nan": {"value" : "nan-Hans-CN"}, "aha": {"value" : "aha-Latn-ZZ"}, "nap": {"value" : "nap-Latn-IT"}, "naq": {"value" : "naq-Latn-NA"}, "zza": {"value" : "zza-Latn-TR"}, "nas": {"value" : "nas-Latn-ZZ"}, "ahl": {"value" : "ahl-Latn-ZZ"}, "en-Shaw": {"value" : "en-Shaw-GB"}, "und-Copt": {"value" : "cop-Copt-EG"}, "aho": {"value" : "aho-Ahom-IN"}, "vro": {"value" : "vro-Latn-EE"}, "rjs": {"value" : "rjs-Deva-NP"}, "nca": {"value" : "nca-Latn-ZZ"}
        , "ncf": {"value" : "ncf-Latn-ZZ"}, "nce": {"value" : "nce-Latn-ZZ"}, "nch": {"value" : "nch-Latn-MX"}, "izh": {"value" : "izh-Latn-RU"}, "izi": {"value" : "izi-Latn-ZZ"}, "rkt": {"value" : "rkt-Beng-BD"}, "nco": {"value" : "nco-Latn-ZZ"}, "eri": {"value" : "eri-Latn-ZZ"}, "ajg": {"value" : "ajg-Latn-ZZ"}, "ncu": {"value" : "ncu-Latn-ZZ"}, "ndc": {"value" : "ndc-Latn-MZ"}, "esg": {"value" : "esg-Gonm-IN"}, "nds": {"value" : "nds-Latn-DE"}, "akk": {"value" : "akk-Xsux-IQ"}, "esu": {"value" : "esu-Latn-US"}
        , "neb": {"value" : "neb-Latn-ZZ"}, "rmf": {"value" : "rmf-Latn-FI"}, "und-061": {"value" : "sm-Latn-WS"}, "und-Limb": {"value" : "lif-Limb-IN"}, "vun": {"value" : "vun-Latn-TZ"}, "ff-Adlm": {"value" : "ff-Adlm-GN"}, "vut": {"value" : "vut-Latn-ZZ"}, "rmo": {"value" : "rmo-Latn-CH"}, "ala": {"value" : "ala-Latn-ZZ"}, "rmt": {"value" : "rmt-Arab-IR"}, "rmu": {"value" : "rmu-Latn-SE"}, "ali": {"value" : "ali-Latn-ZZ"}, "nex": {"value" : "nex-Latn-ZZ"}, "new": {"value" : "new-Deva-NP"}, "aln": {"value"
        : "aln-Latn-XK"}, "etr": {"value" : "etr-Latn-ZZ"}, "und-Rohg": {"value" : "rhg-Rohg-MM"}, "ett": {"value" : "ett-Ital-IT"}, "rna": {"value" : "rna-Latn-ZZ"}, "etu": {"value" : "etu-Latn-ZZ"}, "alt": {"value" : "alt-Cyrl-RU"}, "etx": {"value" : "etx-Latn-ZZ"}, "rng": {"value" : "rng-Latn-MZ"}, "und-Linb": {"value" : "grc-Linb-GR"}, "und-Lina": {"value" : "lab-Lina-GR"}, "und-Jpan": {"value" : "ja-Jpan-JP"}, "man-GN": {"value" : "man-Nkoo-GN"}, "nfr": {"value" : "nfr-Latn-ZZ"}, "amm": {"value" : "amm-Latn-ZZ"}
        , "und-Arab": {"value" : "ar-Arab-EG"}, "amo": {"value" : "amo-Latn-NG"}, "amn": {"value" : "amn-Latn-ZZ"}, "rob": {"value" : "rob-Latn-ID"}, "amp": {"value" : "amp-Latn-ZZ"}, "ngb": {"value" : "ngb-Latn-ZZ"}, "rof": {"value" : "rof-Latn-TZ"}, "nga": {"value" : "nga-Latn-ZZ"}, "ngl": {"value" : "ngl-Latn-MZ"}, "roo": {"value" : "roo-Latn-ZZ"}, "anc": {"value" : "anc-Latn-ZZ"}, "ank": {"value" : "ank-Latn-ZZ"}, "ann": {"value" : "ann-Latn-ZZ"}, "und-Bhks": {"value" : "sa-Bhks-IN"}, "nhb": {"value" : "nhb-Latn-ZZ"}
        , "nhe": {"value" : "nhe-Latn-MX"}, "any": {"value" : "any-Latn-ZZ"}, "und-Orya": {"value" : "or-Orya-IN"}, "ewo": {"value" : "ewo-Latn-CM"}, "nhw": {"value" : "nhw-Latn-MX"}, "aoj": {"value" : "aoj-Latn-ZZ"}, "aom": {"value" : "aom-Latn-ZZ"}, "zh-Hanb": {"value" : "zh-Hanb-TW"}, "und-Kits": {"value" : "zkt-Kits-CN"}, "jab": {"value" : "jab-Latn-ZZ"}, "nif": {"value" : "nif-Latn-ZZ"}, "aoz": {"value" : "aoz-Latn-ID"}, "nij": {"value" : "nij-Latn-ID"}, "nii": {"value" : "nii-Latn-ZZ"}, "zh-PH": {"value"
        : "zh-Hant-PH"}, "nin": {"value" : "nin-Latn-ZZ"}, "zh-Hant": {"value" : "zh-Hant-TW"}, "zh-PF": {"value" : "zh-Hant-PF"}, "und-Ahom": {"value" : "aho-Ahom-IN"}, "apd": {"value" : "apd-Arab-TG"}, "apc": {"value" : "apc-Arab-ZZ"}, "ape": {"value" : "ape-Latn-ZZ"}, "jam": {"value" : "jam-Latn-JM"}, "zh-PA": {"value" : "zh-Hant-PA"}, "niu": {"value" : "niu-Latn-NU"}, "niz": {"value" : "niz-Latn-ZZ"}, "niy": {"value" : "niy-Latn-ZZ"}, "ext": {"value" : "ext-Latn-ES"}, "apr": {"value" : "apr-Latn-ZZ"}, "aps":
        {"value" : "aps-Latn-ZZ"}, "apz": {"value" : "apz-Latn-ZZ"}, "rro": {"value" : "rro-Latn-ZZ"}, "njo": {"value" : "njo-Latn-IN"}, "jbo": {"value" : "jbo-Latn-001"}, "jbu": {"value" : "jbu-Latn-ZZ"}, "zh-MO": {"value" : "zh-Hant-MO"}, "nkg": {"value" : "nkg-Latn-ZZ"}, "zh-MY": {"value" : "zh-Hant-MY"}, "arc": {"value" : "arc-Armi-IR"}, "nko": {"value" : "nko-Latn-ZZ"}, "arh": {"value" : "arh-Latn-ZZ"}, "pa-Arab": {"value" : "pa-Arab-PK"}, "und-Mtei": {"value" : "mni-Mtei-IN"}, "arn": {"value" : "arn-Latn-CL"}
        , "aro": {"value" : "aro-Latn-BO"}, "und-Cyrl-RO": {"value" : "bg-Cyrl-RO"}, "arq": {"value" : "arq-Arab-DZ"}, "ars": {"value" : "ars-Arab-SA"}, "arz": {"value" : "arz-Arab-EG"}, "ary": {"value" : "ary-Arab-MA"}, "rtm": {"value" : "rtm-Latn-FJ"}, "asa": {"value" : "asa-Latn-TZ"}, "und-Grek-TR": {"value" : "bgx-Grek-TR"}, "ase": {"value" : "ase-Sgnw-US"}, "asg": {"value" : "asg-Latn-ZZ"}, "aso": {"value" : "aso-Latn-ZZ"}, "ast": {"value" : "ast-Latn-ES"}, "rue": {"value" : "rue-Cyrl-UA"}, "rug": {"value"
        : "rug-Latn-SB"}, "nmg": {"value" : "nmg-Latn-CM"}, "ata": {"value" : "ata-Latn-ZZ"}, "jen": {"value" : "jen-Latn-ZZ"}, "atg": {"value" : "atg-Latn-ZZ"}, "atj": {"value" : "atj-Latn-CA"}, "nmz": {"value" : "nmz-Latn-ZZ"}, "unr-Deva": {"value" : "unr-Deva-NP"}, "nnf": {"value" : "nnf-Latn-ZZ"}, "nnh": {"value" : "nnh-Latn-CM"}, "nnk": {"value" : "nnk-Latn-ZZ"}, "nnm": {"value" : "nnm-Latn-ZZ"}, "nnp": {"value" : "nnp-Wcho-IN"}, "az-IR": {"value" : "az-Arab-IR"}, "und-Adlm": {"value" : "ff-Adlm-GN"}, "az-IQ":
        {"value" : "az-Arab-IQ"}, "und-Nbat": {"value" : "arc-Nbat-JO"}, "sd-Khoj": {"value" : "sd-Khoj-IN"}, "nod": {"value" : "nod-Lana-TH"}, "auy": {"value" : "auy-Latn-ZZ"}, "noe": {"value" : "noe-Deva-IN"}, "rwk": {"value" : "rwk-Latn-TZ"}, "und-Cyrl-MD": {"value" : "uk-Cyrl-MD"}, "rwo": {"value" : "rwo-Latn-ZZ"}, "non": {"value" : "non-Runr-SE"}, "nop": {"value" : "nop-Latn-ZZ"}, "jgk": {"value" : "jgk-Latn-ZZ"}, "jgo": {"value" : "jgo-Latn-CM"}, "und-Vaii": {"value" : "vai-Vaii-LR"}, "nou": {"value" :
        "nou-Latn-ZZ"}, "avl": {"value" : "avl-Arab-ZZ"}, "avn": {"value" : "avn-Latn-ZZ"}, "wae": {"value" : "wae-Latn-CH"}, "avt": {"value" : "avt-Latn-ZZ"}, "avu": {"value" : "avu-Latn-ZZ"}, "waj": {"value" : "waj-Latn-ZZ"}, "wal": {"value" : "wal-Ethi-ET"}, "wan": {"value" : "wan-Latn-ZZ"}, "zh-HK": {"value" : "zh-Hant-HK"}, "war": {"value" : "war-Latn-PH"}, "awa": {"value" : "awa-Deva-IN"}, "und-Plrd": {"value" : "hmd-Plrd-CN"}, "awb": {"value" : "awb-Latn-ZZ"}, "awo": {"value" : "awo-Latn-ZZ"}, "und-Knda":
        {"value" : "kn-Knda-IN"}, "zh-ID": {"value" : "zh-Hant-ID"}, "jib": {"value" : "jib-Latn-ZZ"}, "awx": {"value" : "awx-Latn-ZZ"}, "wbp": {"value" : "wbp-Latn-AU"}, "und-Sidd": {"value" : "sa-Sidd-IN"}, "fab": {"value" : "fab-Latn-ZZ"}, "wbr": {"value" : "wbr-Deva-IN"}, "faa": {"value" : "faa-Latn-ZZ"}, "wbq": {"value" : "wbq-Telu-IN"}, "und-Kali": {"value" : "eky-Kali-MM"}, "fag": {"value" : "fag-Latn-ZZ"}, "nqo": {"value" : "nqo-Nkoo-GN"}, "fai": {"value" : "fai-Latn-ZZ"}, "ryu": {"value" : "ryu-Kana-JP"}
        , "fan": {"value" : "fan-Latn-GQ"}, "wci": {"value" : "wci-Latn-ZZ"}, "nrb": {"value" : "nrb-Latn-ZZ"}, "und-Phlp": {"value" : "pal-Phlp-CN"}, "ayb": {"value" : "ayb-Latn-ZZ"}, "und-Phli": {"value" : "pal-Phli-IR"}, "cu-Glag": {"value" : "cu-Glag-BG"}, "und-Cyrl-XK": {"value" : "sr-Cyrl-XK"}, "az-Arab": {"value" : "az-Arab-IR"}, "ks-Deva": {"value" : "ks-Deva-IN"}, "und-Thai": {"value" : "th-Thai-TH"}, "nsk": {"value" : "nsk-Cans-CA"}, "nsn": {"value" : "nsn-Latn-ZZ"}, "nso": {"value" : "nso-Latn-ZA"}
        , "und-Thaa": {"value" : "dv-Thaa-MV"}, "und-Nshu": {"value" : "zhx-Nshu-CN"}, "nss": {"value" : "nss-Latn-ZZ"}, "zh-VN": {"value" : "zh-Hant-VN"}, "und-Hmnp": {"value" : "mww-Hmnp-US"}, "und-Kana": {"value" : "ja-Kana-JP"}, "und-Hmng": {"value" : "hnj-Hmng-LA"}, "wer": {"value" : "wer-Latn-ZZ"}, "zh-TW": {"value" : "zh-Hant-TW"}, "ntm": {"value" : "ntm-Latn-ZZ"}, "ntr": {"value" : "ntr-Latn-ZZ"}, "zh-US": {"value" : "zh-Hant-US"}, "und-Xpeo": {"value" : "peo-Xpeo-IR"}, "jmc": {"value" : "jmc-Latn-TZ"}
        , "nui": {"value" : "nui-Latn-ZZ"}, "jml": {"value" : "jml-Deva-NP"}, "nup": {"value" : "nup-Latn-ZZ"}, "und-Cyrl-SK": {"value" : "uk-Cyrl-SK"}, "nus": {"value" : "nus-Latn-SS"}, "nuv": {"value" : "nuv-Latn-ZZ"}, "nux": {"value" : "nux-Latn-ZZ"}, "zh-TH": {"value" : "zh-Hant-TH"}, "wgi": {"value" : "wgi-Latn-ZZ"}, "und-Phnx": {"value" : "phn-Phnx-LB"}, "und-Cyrl-TR": {"value" : "kbd-Cyrl-TR"}, "ffi": {"value" : "ffi-Latn-ZZ"}, "und-Elym": {"value" : "arc-Elym-IR"}, "ffm": {"value" : "ffm-Latn-ML"}, "und-Rjng":
        {"value" : "rej-Rjng-ID"}, "whg": {"value" : "whg-Latn-ZZ"}, "nwb": {"value" : "nwb-Latn-ZZ"}, "zh-SR": {"value" : "zh-Hant-SR"}, "wib": {"value" : "wib-Latn-ZZ"}, "und-Hebr": {"value" : "he-Hebr-IL"}, "saf": {"value" : "saf-Latn-GH"}, "sah": {"value" : "sah-Cyrl-RU"}, "saq": {"value" : "saq-Latn-KE"}, "wiu": {"value" : "wiu-Latn-ZZ"}, "sas": {"value" : "sas-Latn-ID"}, "wiv": {"value" : "wiv-Latn-ZZ"}, "nxq": {"value" : "nxq-Latn-CN"}, "sat": {"value" : "sat-Olck-IN"}, "nxr": {"value" : "nxr-Latn-ZZ"}
        , "sav": {"value" : "sav-Latn-SN"}, "saz": {"value" : "saz-Saur-IN"}, "wja": {"value" : "wja-Latn-ZZ"}, "sba": {"value" : "sba-Latn-ZZ"}, "sbe": {"value" : "sbe-Latn-ZZ"}, "wji": {"value" : "wji-Latn-ZZ"}, "mn-Mong": {"value" : "mn-Mong-CN"}, "und-419": {"value" : "es-Latn-419"}, "fia": {"value" : "fia-Arab-SD"}, "sbp": {"value" : "sbp-Latn-TZ"}, "und-NO": {"value" : "nb-Latn-NO"}, "nyn": {"value" : "nyn-Latn-UG"}, "nym": {"value" : "nym-Latn-TZ"}, "und-NL": {"value" : "nl-Latn-NL"}, "und-NP": {"value"
        : "ne-Deva-NP"}, "fil": {"value" : "fil-Latn-PH"}, "bal": {"value" : "bal-Arab-PK"}, "ban": {"value" : "ban-Latn-ID"}, "bap": {"value" : "bap-Deva-NP"}, "fit": {"value" : "fit-Latn-SE"}, "bar": {"value" : "bar-Latn-AT"}, "bas": {"value" : "bas-Latn-CM"}, "bav": {"value" : "bav-Latn-ZZ"}, "bax": {"value" : "bax-Bamu-CM"}, "jra": {"value" : "jra-Latn-ZZ"}, "sck": {"value" : "sck-Deva-IN"}, "nzi": {"value" : "nzi-Latn-GH"}, "scl": {"value" : "scl-Arab-ZZ"}, "sco": {"value" : "sco-Latn-GB"}, "scn": {"value"
        : "scn-Latn-IT"}, "aa": {"value" : "aa-Latn-ET"}, "bba": {"value" : "bba-Latn-ZZ"}, "und-MN": {"value" : "mn-Cyrl-MN"}, "ab": {"value" : "ab-Cyrl-GE"}, "und-MM": {"value" : "my-Mymr-MM"}, "und-Osma": {"value" : "so-Osma-SO"}, "bbc": {"value" : "bbc-Latn-ID"}, "scs": {"value" : "scs-Latn-CA"}, "und-ML": {"value" : "bm-Latn-ML"}, "bbb": {"value" : "bbb-Latn-ZZ"}, "und-MK": {"value" : "mk-Cyrl-MK"}, "ae": {"value" : "ae-Avst-IR"}, "und-MR": {"value" : "ar-Arab-MR"}, "af": {"value" : "af-Latn-ZA"}, "bbd":
        {"value" : "bbd-Latn-ZZ"}, "und-MQ": {"value" : "fr-Latn-MQ"}, "und-Wara": {"value" : "hoc-Wara-IN"}, "und-MO": {"value" : "zh-Hant-MO"}, "und-MV": {"value" : "dv-Thaa-MV"}, "und-MU": {"value" : "mfe-Latn-MU"}, "ak": {"value" : "ak-Latn-GH"}, "und-MT": {"value" : "mt-Latn-MT"}, "bbj": {"value" : "bbj-Latn-CM"}, "am": {"value" : "am-Ethi-ET"}, "und-MZ": {"value" : "pt-Latn-MZ"}, "an": {"value" : "an-Latn-ES"}, "und-MY": {"value" : "ms-Latn-MY"}, "und-MX": {"value" : "es-Latn-MX"}, "ar": {"value" : "ar-Arab-EG"}
        , "bbp": {"value" : "bbp-Latn-ZZ"}, "as": {"value" : "as-Beng-IN"}, "bbr": {"value" : "bbr-Latn-ZZ"}, "sdc": {"value" : "sdc-Latn-IT"}, "und-NC": {"value" : "fr-Latn-NC"}, "av": {"value" : "av-Cyrl-RU"}, "sdh": {"value" : "sdh-Arab-IR"}, "und-NA": {"value" : "af-Latn-NA"}, "ay": {"value" : "ay-Latn-BO"}, "az": {"value" : "az-Latn-AZ"}, "und-NE": {"value" : "ha-Latn-NE"}, "und-NI": {"value" : "es-Latn-NI"}, "ba": {"value" : "ba-Cyrl-RU"}, "wls": {"value" : "wls-Latn-WF"}, "und-Kore": {"value" : "ko-Kore-KR"}
        , "und-LK": {"value" : "si-Sinh-LK"}, "be": {"value" : "be-Cyrl-BY"}, "bcf": {"value" : "bcf-Latn-ZZ"}, "bg": {"value" : "bg-Cyrl-BG"}, "bch": {"value" : "bch-Latn-ZZ"}, "bi": {"value" : "bi-Latn-VU"}, "und-LU": {"value" : "fr-Latn-LU"}, "bci": {"value" : "bci-Latn-CI"}, "und-LT": {"value" : "lt-Latn-LT"}, "und-LS": {"value" : "st-Latn-LS"}, "bm": {"value" : "bm-Latn-ML"}, "bcn": {"value" : "bcn-Latn-ZZ"}, "bn": {"value" : "bn-Beng-BD"}, "und-LY": {"value" : "ar-Arab-LY"}, "bcm": {"value" : "bcm-Latn-ZZ"}
        , "bo": {"value" : "bo-Tibt-CN"}, "bco": {"value" : "bco-Latn-ZZ"}, "und-LV": {"value" : "lv-Latn-LV"}, "br": {"value" : "br-Latn-FR"}, "bcq": {"value" : "bcq-Ethi-ZZ"}, "bs": {"value" : "bs-Latn-BA"}, "bcu": {"value" : "bcu-Latn-ZZ"}, "sef": {"value" : "sef-Latn-CI"}, "und-MA": {"value" : "ar-Arab-MA"}, "sei": {"value" : "sei-Latn-MX"}, "seh": {"value" : "seh-Latn-MZ"}, "und-MF": {"value" : "fr-Latn-MF"}, "wmo": {"value" : "wmo-Latn-ZZ"}, "und-ME": {"value" : "sr-Latn-ME"}, "und-MD": {"value" : "ro-Latn-MD"}
        , "und-MC": {"value" : "fr-Latn-MC"}, "ca": {"value" : "ca-Latn-ES"}, "und-MG": {"value" : "mg-Latn-MG"}, "ses": {"value" : "ses-Latn-ML"}, "ce": {"value" : "ce-Cyrl-RU"}, "und-Cyrl-BA": {"value" : "sr-Cyrl-BA"}, "bdd": {"value" : "bdd-Latn-ZZ"}, "und-KP": {"value" : "ko-Kore-KP"}, "ch": {"value" : "ch-Latn-GU"}, "und-KM": {"value" : "ar-Arab-KM"}, "und-KR": {"value" : "ko-Kore-KR"}, "co": {"value" : "co-Latn-FR"}, "flr": {"value" : "flr-Latn-ZZ"}, "und-KW": {"value" : "ar-Arab-KW"}, "wnc": {"value"
        : "wnc-Latn-ZZ"}, "und-Dogr": {"value" : "doi-Dogr-IN"}, "cr": {"value" : "cr-Cans-CA"}, "cs": {"value" : "cs-Latn-CZ"}, "cu": {"value" : "cu-Cyrl-RU"}, "und-KZ": {"value" : "ru-Cyrl-KZ"}, "cv": {"value" : "cv-Cyrl-RU"}, "wni": {"value" : "wni-Arab-KM"}, "und-LA": {"value" : "lo-Laoo-LA"}, "cy": {"value" : "cy-Latn-GB"}, "und-LB": {"value" : "ar-Arab-LB"}, "und-LI": {"value" : "de-Latn-LI"}, "da": {"value" : "da-Latn-DK"}, "und-Cyrl-AL": {"value" : "mk-Cyrl-AL"}, "wnu": {"value" : "wnu-Latn-ZZ"}, "de":
        {"value" : "de-Latn-DE"}, "bef": {"value" : "bef-Latn-ZZ"}, "beh": {"value" : "beh-Latn-ZZ"}, "und-JO": {"value" : "ar-Arab-JO"}, "bej": {"value" : "bej-Arab-SD"}, "fmp": {"value" : "fmp-Latn-ZZ"}, "jut": {"value" : "jut-Latn-DK"}, "bem": {"value" : "bem-Latn-ZM"}, "und-JP": {"value" : "ja-Jpan-JP"}, "wob": {"value" : "wob-Latn-ZZ"}, "sga": {"value" : "sga-Ogam-IE"}, "bet": {"value" : "bet-Latn-ZZ"}, "dv": {"value" : "dv-Thaa-MV"}, "bex": {"value" : "bex-Latn-ZZ"}, "bew": {"value" : "bew-Latn-ID"}, "bez":
        {"value" : "bez-Latn-TZ"}, "dz": {"value" : "dz-Tibt-BT"}, "ms-ID": {"value" : "ms-Latn-ID"}, "wos": {"value" : "wos-Latn-ZZ"}, "und-KH": {"value" : "km-Khmr-KH"}, "und-KG": {"value" : "ky-Cyrl-KG"}, "sgs": {"value" : "sgs-Latn-LT"}, "und-KE": {"value" : "sw-Latn-KE"}, "ee": {"value" : "ee-Latn-GH"}, "bfd": {"value" : "bfd-Latn-CM"}, "sgw": {"value" : "sgw-Ethi-ZZ"}, "und-IN": {"value" : "hi-Deva-IN"}, "und-IL": {"value" : "he-Hebr-IL"}, "el": {"value" : "el-Grek-GR"}, "sgz": {"value" : "sgz-Latn-ZZ"}
        , "und-IR": {"value" : "fa-Arab-IR"}, "en": {"value" : "en-Latn-US"}, "und-IQ": {"value" : "ar-Arab-IQ"}, "und-Perm": {"value" : "kv-Perm-RU"}, "eo": {"value" : "eo-Latn-001"}, "bfq": {"value" : "bfq-Taml-IN"}, "es": {"value" : "es-Latn-ES"}, "und-IT": {"value" : "it-Latn-IT"}, "et": {"value" : "et-Latn-EE"}, "und-IS": {"value" : "is-Latn-IS"}, "eu": {"value" : "eu-Latn-ES"}, "bft": {"value" : "bft-Arab-PK"}, "bfy": {"value" : "bfy-Deva-IN"}, "shi": {"value" : "shi-Tfng-MA"}, "shk": {"value" : "shk-Latn-ZZ"}
        , "shn": {"value" : "shn-Mymr-MM"}, "fod": {"value" : "fod-Latn-ZZ"}, "fa": {"value" : "fa-Arab-IR"}, "bgc": {"value" : "bgc-Deva-IN"}, "ff": {"value" : "ff-Latn-SN"}, "shu": {"value" : "shu-Arab-ZZ"}, "fi": {"value" : "fi-Latn-FI"}, "fj": {"value" : "fj-Latn-FJ"}, "fon": {"value" : "fon-Latn-BJ"}, "und-HM": {"value" : "und-Latn-HM"}, "und-HK": {"value" : "zh-Hant-HK"}, "bgn": {"value" : "bgn-Arab-PK"}, "for": {"value" : "for-Latn-ZZ"}, "fo": {"value" : "fo-Latn-FO"}, "und-HN": {"value" : "es-Latn-HN"}
        , "fr": {"value" : "fr-Latn-FR"}, "und-HU": {"value" : "hu-Latn-HU"}, "und-HT": {"value" : "ht-Latn-HT"}, "ku-Arab": {"value" : "ku-Arab-IQ"}, "sid": {"value" : "sid-Latn-ET"}, "und-HR": {"value" : "hr-Latn-HR"}, "sig": {"value" : "sig-Latn-ZZ"}, "bgx": {"value" : "bgx-Grek-TR"}, "fy": {"value" : "fy-Latn-NL"}, "sim": {"value" : "sim-Latn-ZZ"}, "sil": {"value" : "sil-Latn-ZZ"}, "fpe": {"value" : "fpe-Latn-ZZ"}, "ga": {"value" : "ga-Latn-IE"}, "bhb": {"value" : "bhb-Deva-IN"}, "gd": {"value" : "gd-Latn-GB"}
        , "und-ID": {"value" : "id-Latn-ID"}, "und-IC": {"value" : "es-Latn-IC"}, "bhg": {"value" : "bhg-Latn-ZZ"}, "und-GH": {"value" : "ak-Latn-GH"}, "bhi": {"value" : "bhi-Deva-IN"}, "und-GF": {"value" : "fr-Latn-GF"}, "und-GE": {"value" : "ka-Geor-GE"}, "und-GL": {"value" : "kl-Latn-GL"}, "gl": {"value" : "gl-Latn-ES"}, "bhl": {"value" : "bhl-Latn-ZZ"}, "gn": {"value" : "gn-Latn-PY"}, "bho": {"value" : "bho-Deva-IN"}, "und-GP": {"value" : "fr-Latn-GP"}, "und-GN": {"value" : "fr-Latn-GN"}, "und-GT": {"value"
        : "es-Latn-GT"}, "und-GS": {"value" : "und-Latn-GS"}, "gu": {"value" : "gu-Gujr-IN"}, "und-GR": {"value" : "el-Grek-GR"}, "gv": {"value" : "gv-Latn-IM"}, "und-GQ": {"value" : "es-Latn-GQ"}, "und-Palm": {"value" : "arc-Palm-SY"}, "und-GW": {"value" : "pt-Latn-GW"}, "bhy": {"value" : "bhy-Latn-ZZ"}, "ha": {"value" : "ha-Latn-NG"}, "wrs": {"value" : "wrs-Latn-ZZ"}, "bib": {"value" : "bib-Latn-ZZ"}, "sjr": {"value" : "sjr-Latn-ZZ"}, "he": {"value" : "he-Hebr-IL"}, "big": {"value" : "big-Latn-ZZ"}, "hi":
        {"value" : "hi-Deva-IN"}, "und-Cyrl-GE": {"value" : "ab-Cyrl-GE"}, "bik": {"value" : "bik-Latn-PH"}, "bin": {"value" : "bin-Latn-NG"}, "und-Cham": {"value" : "cjm-Cham-VN"}, "und-FI": {"value" : "fi-Latn-FI"}, "bim": {"value" : "bim-Latn-ZZ"}, "ho": {"value" : "ho-Latn-PG"}, "tg-PK": {"value" : "tg-Arab-PK"}, "und-FO": {"value" : "fo-Latn-FO"}, "bio": {"value" : "bio-Latn-ZZ"}, "fqs": {"value" : "fqs-Latn-ZZ"}, "hr": {"value" : "hr-Latn-HR"}, "skc": {"value" : "skc-Latn-ZZ"}, "wsg": {"value" : "wsg-Gong-IN"}
        , "biq": {"value" : "biq-Latn-ZZ"}, "ht": {"value" : "ht-Latn-HT"}, "hu": {"value" : "hu-Latn-HU"}, "und-FR": {"value" : "fr-Latn-FR"}, "wsk": {"value" : "wsk-Latn-ZZ"}, "hy": {"value" : "hy-Armn-AM"}, "hz": {"value" : "hz-Latn-NA"}, "frc": {"value" : "frc-Latn-US"}, "ia": {"value" : "ia-Latn-001"}, "sks": {"value" : "sks-Latn-ZZ"}, "id": {"value" : "id-Latn-ID"}, "skr": {"value" : "skr-Arab-PK"}, "ig": {"value" : "ig-Latn-NG"}, "und-GA": {"value" : "fr-Latn-GA"}, "bji": {"value" : "bji-Ethi-ZZ"}, "ii":
        {"value" : "ii-Yiii-CN"}, "bjh": {"value" : "bjh-Latn-ZZ"}, "und-EE": {"value" : "et-Latn-EE"}, "ik": {"value" : "ik-Latn-US"}, "bjj": {"value" : "bjj-Deva-IN"}, "und-EC": {"value" : "es-Latn-EC"}, "und-Cprt": {"value" : "grc-Cprt-CY"}, "frp": {"value" : "frp-Latn-FR"}, "in": {"value" : "in-Latn-ID"}, "bjo": {"value" : "bjo-Latn-ZZ"}, "frs": {"value" : "frs-Latn-DE"}, "io": {"value" : "io-Latn-001"}, "und-EH": {"value" : "ar-Arab-EH"}, "bjn": {"value" : "bjn-Latn-ID"}, "frr": {"value" : "frr-Latn-DE"}
        , "und-EG": {"value" : "ar-Arab-EG"}, "is": {"value" : "is-Latn-IS"}, "sld": {"value" : "sld-Latn-ZZ"}, "bjr": {"value" : "bjr-Latn-ZZ"}, "it": {"value" : "it-Latn-IT"}, "iu": {"value" : "iu-Cans-CA"}, "und-ER": {"value" : "ti-Ethi-ER"}, "bjt": {"value" : "bjt-Latn-SN"}, "iw": {"value" : "iw-Hebr-IL"}, "und-Tirh": {"value" : "mai-Tirh-IN"}, "sli": {"value" : "sli-Latn-PL"}, "und-EU": {"value" : "en-Latn-GB"}, "wtm": {"value" : "wtm-Deva-IN"}, "sll": {"value" : "sll-Latn-ZZ"}, "und-ET": {"value" : "am-Ethi-ET"}
        , "bjz": {"value" : "bjz-Latn-ZZ"}, "und-ES": {"value" : "es-Latn-ES"}, "und-EZ": {"value" : "de-Latn-EZ"}, "ja": {"value" : "ja-Jpan-JP"}, "zh-GF": {"value" : "zh-Hant-GF"}, "bkc": {"value" : "bkc-Latn-ZZ"}, "zh-GB": {"value" : "zh-Hant-GB"}, "und-Cyrl-GR": {"value" : "mk-Cyrl-GR"}, "ji": {"value" : "ji-Hebr-UA"}, "und-DE": {"value" : "de-Latn-DE"}, "sly": {"value" : "sly-Latn-ID"}, "bkm": {"value" : "bkm-Latn-CM"}, "sma": {"value" : "sma-Latn-SE"}, "bkq": {"value" : "bkq-Latn-ZZ"}, "und-DK": {"value"
        : "da-Latn-DK"}, "und-DJ": {"value" : "aa-Latn-DJ"}, "bkv": {"value" : "bkv-Latn-ZZ"}, "jv": {"value" : "jv-Latn-ID"}, "bku": {"value" : "bku-Latn-PH"}, "jw": {"value" : "jw-Latn-ID"}, "und-DO": {"value" : "es-Latn-DO"}, "smj": {"value" : "smj-Latn-SE"}, "smn": {"value" : "smn-Latn-FI"}, "ka": {"value" : "ka-Geor-GE"}, "smq": {"value" : "smq-Latn-ZZ"}, "wuu": {"value" : "wuu-Hans-CN"}, "smp": {"value" : "smp-Samr-IL"}, "sms": {"value" : "sms-Latn-FI"}, "wuv": {"value" : "wuv-Latn-ZZ"}, "und-DZ": {"value"
        : "ar-Arab-DZ"}, "kg": {"value" : "kg-Latn-CD"}, "und-EA": {"value" : "es-Latn-EA"}, "ki": {"value" : "ki-Latn-KE"}, "kj": {"value" : "kj-Latn-NA"}, "kk": {"value" : "kk-Cyrl-KZ"}, "man-Nkoo": {"value" : "man-Nkoo-GN"}, "und-CD": {"value" : "sw-Latn-CD"}, "kl": {"value" : "kl-Latn-GL"}, "und-Telu": {"value" : "te-Telu-IN"}, "km": {"value" : "km-Khmr-KH"}, "kn": {"value" : "kn-Knda-IN"}, "ko": {"value" : "ko-Kore-KR"}, "und-CH": {"value" : "de-Latn-CH"}, "und-CG": {"value" : "fr-Latn-CG"}, "und-CF": {"value"
        : "fr-Latn-CF"}, "kr": {"value" : "kr-Latn-ZZ"}, "ks": {"value" : "ks-Arab-IN"}, "und-CL": {"value" : "es-Latn-CL"}, "snc": {"value" : "snc-Latn-ZZ"}, "ku": {"value" : "ku-Latn-TR"}, "blt": {"value" : "blt-Tavt-VN"}, "kv": {"value" : "kv-Cyrl-RU"}, "und-CI": {"value" : "fr-Latn-CI"}, "kw": {"value" : "kw-Latn-GB"}, "und-CP": {"value" : "und-Latn-CP"}, "und-CO": {"value" : "es-Latn-CO"}, "ky": {"value" : "ky-Cyrl-KG"}, "und-CN": {"value" : "zh-Hans-CN"}, "und-CM": {"value" : "fr-Latn-CM"}, "snk": {"value"
        : "snk-Latn-ML"}, "fub": {"value" : "fub-Arab-CM"}, "und-CR": {"value" : "es-Latn-CR"}, "fud": {"value" : "fud-Latn-WF"}, "snp": {"value" : "snp-Latn-ZZ"}, "la": {"value" : "la-Latn-VA"}, "und-CW": {"value" : "pap-Latn-CW"}, "fuf": {"value" : "fuf-Latn-GN"}, "lb": {"value" : "lb-Latn-LU"}, "und-CV": {"value" : "pt-Latn-CV"}, "fue": {"value" : "fue-Latn-ZZ"}, "und-CU": {"value" : "es-Latn-CU"}, "fuh": {"value" : "fuh-Latn-ZZ"}, "und-CZ": {"value" : "cs-Latn-CZ"}, "lg": {"value" : "lg-Latn-UG"}, "und-CY":
        {"value" : "el-Grek-CY"}, "bmh": {"value" : "bmh-Latn-ZZ"}, "snx": {"value" : "snx-Latn-ZZ"}, "li": {"value" : "li-Latn-NL"}, "sny": {"value" : "sny-Latn-ZZ"}, "wwa": {"value" : "wwa-Latn-ZZ"}, "bmk": {"value" : "bmk-Latn-ZZ"}, "und-Cher": {"value" : "chr-Cher-US"}, "fur": {"value" : "fur-Latn-IT"}, "ln": {"value" : "ln-Latn-CD"}, "und-BA": {"value" : "bs-Latn-BA"}, "fuq": {"value" : "fuq-Latn-NE"}, "lo": {"value" : "lo-Laoo-LA"}, "und-BG": {"value" : "bg-Cyrl-BG"}, "und-BF": {"value" : "fr-Latn-BF"}
        , "fuv": {"value" : "fuv-Latn-NG"}, "und-BE": {"value" : "nl-Latn-BE"}, "bmq": {"value" : "bmq-Latn-ML"}, "und-BD": {"value" : "bn-Beng-BD"}, "lt": {"value" : "lt-Latn-LT"}, "lu": {"value" : "lu-Latn-CD"}, "und-BJ": {"value" : "fr-Latn-BJ"}, "lv": {"value" : "lv-Latn-LV"}, "ogc": {"value" : "ogc-Latn-ZZ"}, "sog": {"value" : "sog-Sogd-UZ"}, "und-BI": {"value" : "rn-Latn-BI"}, "bmu": {"value" : "bmu-Latn-ZZ"}, "fuy": {"value" : "fuy-Latn-ZZ"}, "und-BH": {"value" : "ar-Arab-BH"}, "und-BO": {"value" : "es-Latn-BO"}
        , "und-BN": {"value" : "ms-Latn-BN"}, "sok": {"value" : "sok-Latn-ZZ"}, "und-BL": {"value" : "fr-Latn-BL"}, "und-BR": {"value" : "pt-Latn-BR"}, "und-BQ": {"value" : "pap-Latn-BQ"}, "soq": {"value" : "soq-Latn-ZZ"}, "und-BV": {"value" : "und-Latn-BV"}, "und-BT": {"value" : "dz-Tibt-BT"}, "sou": {"value" : "sou-Thai-TH"}, "bng": {"value" : "bng-Latn-ZZ"}, "mg": {"value" : "mg-Latn-MG"}, "und-BY": {"value" : "be-Cyrl-BY"}, "und-Glag": {"value" : "cu-Glag-BG"}, "mh": {"value" : "mh-Latn-MH"}, "mi": {"value"
        : "mi-Latn-NZ"}, "soy": {"value" : "soy-Latn-ZZ"}, "mk": {"value" : "mk-Cyrl-MK"}, "ml": {"value" : "ml-Mlym-IN"}, "bnm": {"value" : "bnm-Latn-ZZ"}, "mn": {"value" : "mn-Cyrl-MN"}, "mo": {"value" : "mo-Latn-RO"}, "und-Prti": {"value" : "xpr-Prti-IR"}, "fvr": {"value" : "fvr-Latn-SD"}, "und-AF": {"value" : "fa-Arab-AF"}, "bnp": {"value" : "bnp-Latn-ZZ"}, "mr": {"value" : "mr-Deva-IN"}, "und-AE": {"value" : "ar-Arab-AE"}, "ms": {"value" : "ms-Latn-MY"}, "spd": {"value" : "spd-Latn-ZZ"}, "und-AD": {"value"
        : "ca-Latn-AD"}, "mt": {"value" : "mt-Latn-MT"}, "my": {"value" : "my-Mymr-MM"}, "zh-BN": {"value" : "zh-Hant-BN"}, "und-AM": {"value" : "hy-Armn-AM"}, "spl": {"value" : "spl-Latn-ZZ"}, "und-AL": {"value" : "sq-Latn-AL"}, "und-AR": {"value" : "es-Latn-AR"}, "und-AQ": {"value" : "und-Latn-AQ"}, "na": {"value" : "na-Latn-NR"}, "und-AO": {"value" : "pt-Latn-AO"}, "nb": {"value" : "nb-Latn-NO"}, "nd": {"value" : "nd-Latn-ZW"}, "und-AT": {"value" : "de-Latn-AT"}, "ne": {"value" : "ne-Deva-NP"}, "sps": {"value"
        : "sps-Latn-ZZ"}, "und-AS": {"value" : "sm-Latn-AS"}, "und-AZ": {"value" : "az-Latn-AZ"}, "ng": {"value" : "ng-Latn-NA"}, "und-AX": {"value" : "sv-Latn-AX"}, "und-AW": {"value" : "nl-Latn-AW"}, "boj": {"value" : "boj-Latn-ZZ"}, "nl": {"value" : "nl-Latn-NL"}, "bon": {"value" : "bon-Latn-ZZ"}, "nn": {"value" : "nn-Latn-NO"}, "bom": {"value" : "bom-Latn-ZZ"}, "no": {"value" : "no-Latn-NO"}, "nr": {"value" : "nr-Latn-ZA"}, "arc-Nbat": {"value" : "arc-Nbat-JO"}, "und-Medf": {"value" : "mis-Medf-NG"}, "nv":
        {"value" : "nv-Latn-US"}, "kaa": {"value" : "kaa-Cyrl-UZ"}, "ny": {"value" : "ny-Latn-MW"}, "kac": {"value" : "kac-Latn-MM"}, "kab": {"value" : "kab-Latn-DZ"}, "kad": {"value" : "kad-Latn-ZZ"}, "kai": {"value" : "kai-Latn-ZZ"}, "oc": {"value" : "oc-Latn-FR"}, "zh-AU": {"value" : "zh-Hant-AU"}, "kaj": {"value" : "kaj-Latn-NG"}, "kam": {"value" : "kam-Latn-KE"}, "und-Tagb": {"value" : "tbw-Tagb-PH"}, "kao": {"value" : "kao-Latn-ML"}, "und-Ogam": {"value" : "sga-Ogam-IE"}, "om": {"value" : "om-Latn-ET"}
        , "srb": {"value" : "srb-Sora-IN"}, "or": {"value" : "or-Orya-IN"}, "tg-Arab": {"value" : "tg-Arab-PK"}, "os": {"value" : "os-Cyrl-GE"}, "und-Sogd": {"value" : "sog-Sogd-UZ"}, "bpy": {"value" : "bpy-Beng-IN"}, "kbd": {"value" : "kbd-Cyrl-RU"}, "srn": {"value" : "srn-Latn-SR"}, "pa": {"value" : "pa-Guru-IN"}, "srr": {"value" : "srr-Latn-SN"}, "bqc": {"value" : "bqc-Latn-ZZ"}, "und-Kthi": {"value" : "bho-Kthi-IN"}, "kbm": {"value" : "kbm-Latn-ZZ"}, "kbp": {"value" : "kbp-Latn-ZZ"}, "srx": {"value" : "srx-Deva-IN"}
        , "bqi": {"value" : "bqi-Arab-IR"}, "kbq": {"value" : "kbq-Latn-ZZ"}, "pl": {"value" : "pl-Latn-PL"}, "bqp": {"value" : "bqp-Latn-ZZ"}, "kbx": {"value" : "kbx-Latn-ZZ"}, "kby": {"value" : "kby-Arab-NE"}, "ps": {"value" : "ps-Arab-AF"}, "pt": {"value" : "pt-Latn-BR"}, "ssd": {"value" : "ssd-Latn-ZZ"}, "und-Nkoo": {"value" : "man-Nkoo-GN"}, "bqv": {"value" : "bqv-Latn-CI"}, "ssg": {"value" : "ssg-Latn-ZZ"}, "und-Mymr": {"value" : "my-Mymr-MM"}, "kcg": {"value" : "kcg-Latn-NG"}, "bra": {"value" : "bra-Deva-IN"}
        , "kck": {"value" : "kck-Latn-ZW"}, "kcl": {"value" : "kcl-Latn-ZZ"}, "okr": {"value" : "okr-Latn-ZZ"}, "ssy": {"value" : "ssy-Latn-ER"}, "brh": {"value" : "brh-Arab-PK"}, "okv": {"value" : "okv-Latn-ZZ"}, "kct": {"value" : "kct-Latn-ZZ"}, "und-Hani": {"value" : "zh-Hani-CN"}, "und-Bugi": {"value" : "bug-Bugi-ID"}, "und-Hang": {"value" : "ko-Hang-KR"}, "qu": {"value" : "qu-Latn-PE"}, "brx": {"value" : "brx-Deva-IN"}, "und-Samr": {"value" : "smp-Samr-IL"}, "brz": {"value" : "brz-Latn-ZZ"}, "stk": {"value"
        : "stk-Latn-ZZ"}, "und-Hano": {"value" : "hnn-Hano-PH"}, "kde": {"value" : "kde-Latn-TZ"}, "kdh": {"value" : "kdh-Arab-TG"}, "stq": {"value" : "stq-Latn-DE"}, "kdl": {"value" : "kdl-Latn-ZZ"}, "bsj": {"value" : "bsj-Latn-ZZ"}, "und-Hanb": {"value" : "zh-Hanb-TW"}, "kdt": {"value" : "kdt-Thai-TH"}, "rm": {"value" : "rm-Latn-CH"}, "rn": {"value" : "rn-Latn-BI"}, "ro": {"value" : "ro-Latn-RO"}, "sua": {"value" : "sua-Latn-ZZ"}, "und-Deva-BT": {"value" : "ne-Deva-BT"}, "bsq": {"value" : "bsq-Bass-LR"}, "bst":
        {"value" : "bst-Ethi-ZZ"}, "sue": {"value" : "sue-Latn-ZZ"}, "bss": {"value" : "bss-Latn-CM"}, "ru": {"value" : "ru-Cyrl-RU"}, "und-Buhd": {"value" : "bku-Buhd-PH"}, "rw": {"value" : "rw-Latn-RW"}, "kea": {"value" : "kea-Latn-CV"}, "suk": {"value" : "suk-Latn-TZ"}, "grc-Linb": {"value" : "grc-Linb-GR"}, "sa": {"value" : "sa-Deva-IN"}, "sc": {"value" : "sc-Latn-IT"}, "sus": {"value" : "sus-Latn-GN"}, "sd": {"value" : "sd-Arab-PK"}, "sur": {"value" : "sur-Latn-ZZ"}, "se": {"value" : "se-Latn-NO"}, "sg":
        {"value" : "sg-Latn-CF"}, "ken": {"value" : "ken-Latn-CM"}, "si": {"value" : "si-Sinh-LK"}, "und-Hant": {"value" : "zh-Hant-TW"}, "und-Hans": {"value" : "zh-Hans-CN"}, "sk": {"value" : "sk-Latn-SK"}, "sl": {"value" : "sl-Latn-SI"}, "sm": {"value" : "sm-Latn-WS"}, "sn": {"value" : "sn-Latn-ZW"}, "bto": {"value" : "bto-Latn-PH"}, "so": {"value" : "so-Latn-SO"}, "sq": {"value" : "sq-Latn-AL"}, "sr": {"value" : "sr-Cyrl-RS"}, "ss": {"value" : "ss-Latn-ZA"}, "kez": {"value" : "kez-Latn-ZZ"}, "st": {"value"
        : "st-Latn-ZA"}, "su": {"value" : "su-Latn-ID"}, "btt": {"value" : "btt-Latn-ZZ"}, "sv": {"value" : "sv-Latn-SE"}, "sw": {"value" : "sw-Latn-TZ"}, "btv": {"value" : "btv-Deva-PK"}, "ong": {"value" : "ong-Latn-ZZ"}, "ta": {"value" : "ta-Taml-IN"}, "onn": {"value" : "onn-Latn-ZZ"}, "bua": {"value" : "bua-Cyrl-RU"}, "bud": {"value" : "bud-Latn-ZZ"}, "buc": {"value" : "buc-Latn-YT"}, "te": {"value" : "te-Telu-IN"}, "tg": {"value" : "tg-Cyrl-TJ"}, "th": {"value" : "th-Thai-TH"}, "und-Gong": {"value" : "wsg-Gong-IN"}
        , "bug": {"value" : "bug-Latn-ID"}, "kfo": {"value" : "kfo-Latn-CI"}, "ons": {"value" : "ons-Latn-ZZ"}, "ti": {"value" : "ti-Ethi-ET"}, "kfr": {"value" : "kfr-Deva-IN"}, "tk": {"value" : "tk-Latn-TM"}, "tl": {"value" : "tl-Latn-PH"}, "und-Lisu": {"value" : "lis-Lisu-CN"}, "buk": {"value" : "buk-Latn-ZZ"}, "tn": {"value" : "tn-Latn-ZA"}, "bum": {"value" : "bum-Latn-CM"}, "to": {"value" : "to-Latn-TO"}, "buo": {"value" : "buo-Latn-ZZ"}, "swc": {"value" : "swc-Latn-CD"}, "tr": {"value" : "tr-Latn-TR"},
        "und-Gonm": {"value" : "esg-Gonm-IN"}, "kfy": {"value" : "kfy-Deva-IN"}, "swb": {"value" : "swb-Arab-YT"}, "ts": {"value" : "ts-Latn-ZA"}, "tt": {"value" : "tt-Cyrl-RU"}, "bus": {"value" : "bus-Latn-ZZ"}, "swg": {"value" : "swg-Latn-DE"}, "buu": {"value" : "buu-Latn-ZZ"}, "ty": {"value" : "ty-Latn-PF"}, "kge": {"value" : "kge-Latn-ID"}, "kgf": {"value" : "kgf-Latn-ZZ"}, "swp": {"value" : "swp-Latn-ZZ"}, "bvb": {"value" : "bvb-Latn-GQ"}, "ug": {"value" : "ug-Arab-CN"}, "swv": {"value" : "swv-Deva-IN"}
        , "kgp": {"value" : "kgp-Latn-BR"}, "uk": {"value" : "uk-Cyrl-UA"}, "ur": {"value" : "ur-Arab-PK"}, "kk-IR": {"value" : "kk-Arab-IR"}, "khb": {"value" : "khb-Talu-CN"}, "kha": {"value" : "kha-Latn-IN"}, "uz": {"value" : "uz-Latn-UZ"}, "sxn": {"value" : "sxn-Latn-ID"}, "xav": {"value" : "xav-Latn-BR"}, "opm": {"value" : "opm-Latn-ZZ"}, "bwd": {"value" : "bwd-Latn-ZZ"}, "und-Mlym": {"value" : "ml-Mlym-IN"}, "ve": {"value" : "ve-Latn-ZA"}, "khn": {"value" : "khn-Deva-IN"}, "sxw": {"value" : "sxw-Latn-ZZ"}
        , "vi": {"value" : "vi-Latn-VN"}, "khq": {"value" : "khq-Latn-ML"}, "kht": {"value" : "kht-Mymr-IN"}, "khs": {"value" : "khs-Latn-ZZ"}, "vo": {"value" : "vo-Latn-001"}, "khw": {"value" : "khw-Arab-PK"}, "bwr": {"value" : "bwr-Latn-ZZ"}, "khz": {"value" : "khz-Latn-ZZ"}, "und-ZW": {"value" : "sn-Latn-ZW"}, "xbi": {"value" : "xbi-Latn-ZZ"}, "gaa": {"value" : "gaa-Latn-GH"}, "syl": {"value" : "syl-Beng-BD"}, "wa": {"value" : "wa-Latn-BE"}, "gag": {"value" : "gag-Latn-MD"}, "gaf": {"value" : "gaf-Latn-ZZ"}
        , "kij": {"value" : "kij-Latn-ZZ"}, "syr": {"value" : "syr-Syrc-IQ"}, "und-YE": {"value" : "ar-Arab-YE"}, "gah": {"value" : "gah-Latn-ZZ"}, "gaj": {"value" : "gaj-Latn-ZZ"}, "gam": {"value" : "gam-Latn-ZZ"}, "bxh": {"value" : "bxh-Latn-ZZ"}, "gan": {"value" : "gan-Hans-CN"}, "kiu": {"value" : "kiu-Latn-TR"}, "kiw": {"value" : "kiw-Latn-ZZ"}, "wo": {"value" : "wo-Latn-SN"}, "gaw": {"value" : "gaw-Latn-ZZ"}, "und-Sarb": {"value" : "xsa-Sarb-YE"}, "gay": {"value" : "gay-Latn-ID"}, "und-YT": {"value" : "fr-Latn-YT"}
        , "kjd": {"value" : "kjd-Latn-ZZ"}, "szl": {"value" : "szl-Latn-PL"}, "xco": {"value" : "xco-Chrs-UZ"}, "xcr": {"value" : "xcr-Cari-TR"}, "gba": {"value" : "gba-Latn-ZZ"}, "und-Mult": {"value" : "skr-Mult-PK"}, "kjg": {"value" : "kjg-Laoo-LA"}, "gbf": {"value" : "gbf-Latn-ZZ"}, "oro": {"value" : "oro-Latn-ZZ"}, "und-Hatr": {"value" : "mis-Hatr-IQ"}, "bye": {"value" : "bye-Latn-ZZ"}, "xh": {"value" : "xh-Latn-ZA"}, "gbm": {"value" : "gbm-Deva-IN"}, "oru": {"value" : "oru-Arab-ZZ"}, "kjs": {"value" : "kjs-Latn-ZZ"}
        , "byn": {"value" : "byn-Ethi-ER"}, "und-XK": {"value" : "sq-Latn-XK"}, "yue-CN": {"value" : "yue-Hans-CN"}, "und-Lepc": {"value" : "lep-Lepc-IN"}, "byr": {"value" : "byr-Latn-ZZ"}, "kjy": {"value" : "kjy-Latn-ZZ"}, "osa": {"value" : "osa-Osge-US"}, "bys": {"value" : "bys-Latn-ZZ"}, "byv": {"value" : "byv-Latn-CM"}, "gbz": {"value" : "gbz-Arab-IR"}, "gby": {"value" : "gby-Latn-ZZ"}, "byx": {"value" : "byx-Latn-ZZ"}, "kkc": {"value" : "kkc-Latn-ZZ"}, "und-VU": {"value" : "bi-Latn-VU"}, "bza": {"value"
        : "bza-Latn-ZZ"}, "und-Goth": {"value" : "got-Goth-UA"}, "kkj": {"value" : "kkj-Latn-CM"}, "bze": {"value" : "bze-Latn-ML"}, "und-Avst": {"value" : "ae-Avst-IR"}, "bzf": {"value" : "bzf-Latn-ZZ"}, "yi": {"value" : "yi-Hebr-001"}, "bzh": {"value" : "bzh-Latn-ZZ"}, "und-WF": {"value" : "fr-Latn-WF"}, "yo": {"value" : "yo-Latn-NG"}, "gcr": {"value" : "gcr-Latn-GF"}, "ota": {"value" : "ota-Arab-ZZ"}, "und-WS": {"value" : "sm-Latn-WS"}, "bzw": {"value" : "bzw-Latn-ZZ"}, "und-UZ": {"value" : "uz-Latn-UZ"}
        , "und-UY": {"value" : "es-Latn-UY"}, "otk": {"value" : "otk-Orkh-MN"}, "xes": {"value" : "xes-Latn-ZZ"}, "za": {"value" : "za-Latn-CN"}, "gde": {"value" : "gde-Latn-ZZ"}, "kln": {"value" : "kln-Latn-KE"}, "und-VA": {"value" : "it-Latn-VA"}, "zh": {"value" : "zh-Hans-CN"}, "gdn": {"value" : "gdn-Latn-ZZ"}, "klq": {"value" : "klq-Latn-ZZ"}, "und-Saur": {"value" : "saz-Saur-IN"}, "klt": {"value" : "klt-Latn-ZZ"}, "und-VE": {"value" : "es-Latn-VE"}, "gdr": {"value" : "gdr-Latn-ZZ"}, "klx": {"value" : "klx-Latn-ZZ"}
        , "und-VN": {"value" : "vi-Latn-VN"}, "kk-MN": {"value" : "kk-Arab-MN"}, "zu": {"value" : "zu-Latn-ZA"}, "und-Armn": {"value" : "hy-Armn-AM"}, "kmb": {"value" : "kmb-Latn-AO"}, "und-TR": {"value" : "tr-Latn-TR"}, "geb": {"value" : "geb-Latn-ZZ"}, "und-TW": {"value" : "zh-Hant-TW"}, "kmh": {"value" : "kmh-Latn-ZZ"}, "und-TV": {"value" : "tvl-Latn-TV"}, "und-TZ": {"value" : "sw-Latn-TZ"}, "kmo": {"value" : "kmo-Latn-ZZ"}, "gej": {"value" : "gej-Latn-ZZ"}, "und-UA": {"value" : "uk-Cyrl-UA"}, "gel": {"value"
        : "gel-Latn-ZZ"}, "kms": {"value" : "kms-Latn-ZZ"}, "kmu": {"value" : "kmu-Latn-ZZ"}, "kmw": {"value" : "kmw-Latn-ZZ"}, "und-Tibt": {"value" : "bo-Tibt-CN"}, "und-UG": {"value" : "sw-Latn-UG"}, "und-Armi": {"value" : "arc-Armi-IR"}, "gez": {"value" : "gez-Ethi-ET"}, "und-ST": {"value" : "pt-Latn-ST"}, "knf": {"value" : "knf-Latn-GW"}, "und-SR": {"value" : "nl-Latn-SR"}, "und-SV": {"value" : "es-Latn-SV"}, "und-SY": {"value" : "ar-Arab-SY"}, "knp": {"value" : "knp-Latn-ZZ"}, "gfk": {"value" : "gfk-Latn-ZZ"}
        , "und-TD": {"value" : "fr-Latn-TD"}, "und-TH": {"value" : "th-Thai-TH"}, "und-TG": {"value" : "fr-Latn-TG"}, "und-TF": {"value" : "fr-Latn-TF"}, "und-TM": {"value" : "tk-Latn-TM"}, "und-TL": {"value" : "pt-Latn-TL"}, "und-TK": {"value" : "tkl-Latn-TK"}, "und-TJ": {"value" : "tg-Cyrl-TJ"}, "und-TO": {"value" : "to-Latn-TO"}, "und-TN": {"value" : "ar-Arab-TN"}, "und-RS": {"value" : "sr-Cyrl-RS"}, "koi": {"value" : "koi-Cyrl-RU"}, "und-RW": {"value" : "rw-Latn-RW"}, "kok": {"value" : "kok-Deva-IN"}, "und-RU":
        {"value" : "ru-Cyrl-RU"}, "kol": {"value" : "kol-Latn-ZZ"}, "kos": {"value" : "kos-Latn-FM"}, "ggn": {"value" : "ggn-Deva-NP"}, "und-SD": {"value" : "ar-Arab-SD"}, "und-SC": {"value" : "fr-Latn-SC"}, "und-SA": {"value" : "ar-Arab-SA"}, "koz": {"value" : "koz-Latn-ZZ"}, "und-SE": {"value" : "sv-Latn-SE"}, "und-SK": {"value" : "sk-Latn-SK"}, "und-SJ": {"value" : "nb-Latn-SJ"}, "und-SI": {"value" : "sl-Latn-SI"}, "taj": {"value" : "taj-Deva-NP"}, "und-SO": {"value" : "so-Latn-SO"}, "tal": {"value" : "tal-Latn-ZZ"}
        , "und-SN": {"value" : "fr-Latn-SN"}, "und-Osge": {"value" : "osa-Osge-US"}, "und-SM": {"value" : "it-Latn-SM"}, "kpf": {"value" : "kpf-Latn-ZZ"}, "tan": {"value" : "tan-Latn-ZZ"}, "kpe": {"value" : "kpe-Latn-LR"}, "und-QO": {"value" : "en-Latn-DG"}, "taq": {"value" : "taq-Latn-ZZ"}, "kpo": {"value" : "kpo-Latn-ZZ"}, "kpr": {"value" : "kpr-Latn-ZZ"}, "kpx": {"value" : "kpx-Latn-ZZ"}, "ghs": {"value" : "ghs-Latn-ZZ"}, "und-Lana": {"value" : "nod-Lana-TH"}, "tbc": {"value" : "tbc-Latn-ZZ"}, "und-RE": {"value"
        : "fr-Latn-RE"}, "tbd": {"value" : "tbd-Latn-ZZ"}, "tbg": {"value" : "tbg-Latn-ZZ"}, "tbf": {"value" : "tbf-Latn-ZZ"}, "und-RO": {"value" : "ro-Latn-RO"}, "kqb": {"value" : "kqb-Latn-ZZ"}, "tbo": {"value" : "tbo-Latn-ZZ"}, "kqf": {"value" : "kqf-Latn-ZZ"}, "und-PT": {"value" : "pt-Latn-PT"}, "und-PS": {"value" : "ar-Arab-PS"}, "cad": {"value" : "cad-Latn-US"}, "und-PR": {"value" : "es-Latn-PR"}, "tbw": {"value" : "tbw-Latn-PH"}, "und-PY": {"value" : "gn-Latn-PY"}, "gim": {"value" : "gim-Latn-ZZ"}, "und-PW":
        {"value" : "pau-Latn-PW"}, "gil": {"value" : "gil-Latn-KI"}, "kqs": {"value" : "kqs-Latn-ZZ"}, "tbz": {"value" : "tbz-Latn-ZZ"}, "und-Laoo": {"value" : "lo-Laoo-LA"}, "can": {"value" : "can-Latn-ZZ"}, "und-QA": {"value" : "ar-Arab-QA"}, "kqy": {"value" : "kqy-Ethi-ZZ"}, "ms-CC": {"value" : "ms-Arab-CC"}, "tci": {"value" : "tci-Latn-ZZ"}, "krc": {"value" : "krc-Cyrl-RU"}, "krj": {"value" : "krj-Latn-PH"}, "kri": {"value" : "kri-Latn-SL"}, "ozm": {"value" : "ozm-Latn-ZZ"}, "und-OM": {"value" : "ar-Arab-OM"}
        , "krl": {"value" : "krl-Latn-RU"}, "gjk": {"value" : "gjk-Arab-PK"}, "cbj": {"value" : "cbj-Latn-ZZ"}, "gjn": {"value" : "gjn-Latn-ZZ"}, "tcy": {"value" : "tcy-Knda-IN"}, "xla": {"value" : "xla-Latn-ZZ"}, "krs": {"value" : "krs-Latn-ZZ"}, "xlc": {"value" : "xlc-Lyci-TR"}, "kru": {"value" : "kru-Deva-IN"}, "und-PA": {"value" : "es-Latn-PA"}, "xld": {"value" : "xld-Lydi-TR"}, "gju": {"value" : "gju-Arab-PK"}, "und-PE": {"value" : "es-Latn-PE"}, "tdd": {"value" : "tdd-Tale-CN"}, "tdg": {"value" : "tdg-Deva-NP"}
        , "tdh": {"value" : "tdh-Deva-NP"}, "und-PH": {"value" : "fil-Latn-PH"}, "und-PG": {"value" : "tpi-Latn-PG"}, "ksb": {"value" : "ksb-Latn-TZ"}, "und-PF": {"value" : "fr-Latn-PF"}, "und-PM": {"value" : "fr-Latn-PM"}, "ksd": {"value" : "ksd-Latn-ZZ"}, "und-PL": {"value" : "pl-Latn-PL"}, "und-PK": {"value" : "ur-Arab-PK"}, "ksf": {"value" : "ksf-Latn-CM"}};
    }
    function otciu_CLDRHelper_getErasMap$$create() {
        return {"root": [{"value" : "BCE"}, {"value" : "CE"}], "en": [{"value" : "BC"}, {"value" : "AD"}]};
    }
    function otciu_CLDRHelper_getAmPmMap$$create() {
        return {"root": [{"value" : "AM"}, {"value" : "PM"}], "en": [{"value" : "AM"}, {"value" : "PM"}]};
    }
    function otciu_CLDRHelper_getMonthMap$$create() {
        return {"root": [{"value" : "M01"}, {"value" : "M02"}, {"value" : "M03"}, {"value" : "M04"}, {"value" : "M05"}, {"value" : "M06"}, {"value" : "M07"}, {"value" : "M08"}, {"value" : "M09"}, {"value" : "M10"}, {"value" : "M11"}, {"value" : "M12"}], "en": [{"value" : "January"}, {"value" : "February"}, {"value" : "March"}, {"value" : "April"}, {"value" : "May"}, {"value" : "June"}, {"value" : "July"}, {"value" : "August"}, {"value" : "September"}, {"value" : "October"}, {"value" : "November"}, {"value" :
        "December"}]};
    }
    function otciu_CLDRHelper_getShortMonthMap$$create() {
        return {"root": [{"value" : "M01"}, {"value" : "M02"}, {"value" : "M03"}, {"value" : "M04"}, {"value" : "M05"}, {"value" : "M06"}, {"value" : "M07"}, {"value" : "M08"}, {"value" : "M09"}, {"value" : "M10"}, {"value" : "M11"}, {"value" : "M12"}], "en": [{"value" : "Jan"}, {"value" : "Feb"}, {"value" : "Mar"}, {"value" : "Apr"}, {"value" : "May"}, {"value" : "Jun"}, {"value" : "Jul"}, {"value" : "Aug"}, {"value" : "Sep"}, {"value" : "Oct"}, {"value" : "Nov"}, {"value" : "Dec"}]};
    }
    function otciu_CLDRHelper_getWeekdayMap$$create() {
        return {"root": [{"value" : "Sun"}, {"value" : "Mon"}, {"value" : "Tue"}, {"value" : "Wed"}, {"value" : "Thu"}, {"value" : "Fri"}, {"value" : "Sat"}], "en": [{"value" : "Sunday"}, {"value" : "Monday"}, {"value" : "Tuesday"}, {"value" : "Wednesday"}, {"value" : "Thursday"}, {"value" : "Friday"}, {"value" : "Saturday"}]};
    }
    function otciu_CLDRHelper_getShortWeekdayMap$$create() {
        return {"root": [{"value" : "Sun"}, {"value" : "Mon"}, {"value" : "Tue"}, {"value" : "Wed"}, {"value" : "Thu"}, {"value" : "Fri"}, {"value" : "Sat"}], "en": [{"value" : "Sun"}, {"value" : "Mon"}, {"value" : "Tue"}, {"value" : "Wed"}, {"value" : "Thu"}, {"value" : "Fri"}, {"value" : "Sat"}]};
    }
    function otciu_CLDRHelper_getTimeZoneLocalizationMap$$create() {
        return {"root": {"timeZones" : {"Asia": {"Gaza": {"value" : "Gaza"}, "Makassar": {"value" : "Makassar"}, "Ulaanbaatar": {"value" : "Ulaanbaatar"}, "Vladivostok": {"value" : "Vladivostok"}, "Tashkent": {"value" : "Tashkent"}, "Beirut": {"value" : "Beirut"}, "Qyzylorda": {"value" : "Qyzylorda"}, "Hong_Kong": {"value" : "Hong Kong"}, "Phnom_Penh": {"value" : "Phnom Penh"}, "Kabul": {"value" : "Kabul"}, "Riyadh": {"value" : "Riyadh"}, "Ashgabat": {"value" : "Ashgabat"}, "Chita": {"value" : "Chita"}, "Aqtau":
        {"value" : "Aqtau"}, "Tokyo": {"value" : "Tokyo"}, "Baku": {"value" : "Baku"}, "Aqtobe": {"value" : "Aqtobe"}, "Novosibirsk": {"value" : "Novosibirsk"}, "Kamchatka": {"value" : "Kamchatka"}, "Nicosia": {"value" : "Nicosia"}, "Pontianak": {"value" : "Pontianak"}, "Qostanay": {"value" : "Qostanay"}, "Barnaul": {"value" : "Barnaul"}, "Jerusalem": {"value" : "Jerusalem"}, "Kuala_Lumpur": {"value" : "Kuala Lumpur"}, "Novokuznetsk": {"value" : "Novokuznetsk"}, "Bahrain": {"value" : "Bahrain"}, "Kuching": {"value"
        : "Kuching"}, "Bangkok": {"value" : "Bangkok"}, "Srednekolymsk": {"value" : "Srednekolymsk"}, "Karachi": {"value" : "Karachi"}, "Aden": {"value" : "Aden"}, "Irkutsk": {"value" : "Irkutsk"}, "Hovd": {"value" : "Hovd"}, "Katmandu": {"value" : "Kathmandu"}, "Baghdad": {"value" : "Baghdad"}, "Samarkand": {"value" : "Samarkand"}, "Thimphu": {"value" : "Thimphu"}, "Dhaka": {"value" : "Dhaka"}, "Yerevan": {"value" : "Yerevan"}, "Muscat": {"value" : "Muscat"}, "Saigon": {"value" : "Ho Chi Minh"}, "Dili": {"value"
        : "Dili"}, "Singapore": {"value" : "Singapore"}, "Rangoon": {"value" : "Yangon"}, "Damascus": {"value" : "Damascus"}, "Taipei": {"value" : "Taipei"}, "Amman": {"value" : "Amman"}, "Choibalsan": {"value" : "Choibalsan"}, "Macau": {"value" : "Macao"}, "Jayapura": {"value" : "Jayapura"}, "Manila": {"value" : "Manila"}, "Oral": {"value" : "Oral"}, "Dubai": {"value" : "Dubai"}, "Yakutsk": {"value" : "Yakutsk"}, "Seoul": {"value" : "Seoul"}, "Hebron": {"value" : "Hebron"}, "Qatar": {"value" : "Qatar"}, "Bishkek":
        {"value" : "Bishkek"}, "Tomsk": {"value" : "Tomsk"}, "Colombo": {"value" : "Colombo"}, "Khandyga": {"value" : "Khandyga"}, "Yekaterinburg": {"value" : "Yekaterinburg"}, "Dushanbe": {"value" : "Dushanbe"}, "Famagusta": {"value" : "Famagusta"}, "Kuwait": {"value" : "Kuwait"}, "Magadan": {"value" : "Magadan"}, "Pyongyang": {"value" : "Pyongyang"}, "Tehran": {"value" : "Tehran"}, "Sakhalin": {"value" : "Sakhalin"}, "Calcutta": {"value" : "Kolkata"}, "Urumqi": {"value" : "Urumqi"}, "Shanghai": {"value" :
        "Shanghai"}, "Atyrau": {"value" : "Atyrau"}, "Almaty": {"value" : "Almaty"}, "Tbilisi": {"value" : "Tbilisi"}, "Anadyr": {"value" : "Anadyr"}, "Brunei": {"value" : "Brunei"}, "Krasnoyarsk": {"value" : "Krasnoyarsk"}, "Vientiane": {"value" : "Vientiane"}, "Omsk": {"value" : "Omsk"}, "Jakarta": {"value" : "Jakarta"}, "Ust-Nera": {"value" : "Ust-Nera"}}, "Pacific": {"Easter": {"value" : "Easter"}, "Fiji": {"value" : "Fiji"}, "Port_Moresby": {"value" : "Port Moresby"}, "Kiritimati": {"value" : "Kiritimati"}
        , "Kosrae": {"value" : "Kosrae"}, "Kwajalein": {"value" : "Kwajalein"}, "Auckland": {"value" : "Auckland"}, "Efate": {"value" : "Efate"}, "Johnston": {"value" : "Johnston"}, "Niue": {"value" : "Niue"}, "Majuro": {"value" : "Majuro"}, "Truk": {"value" : "Chuuk"}, "Ponape": {"value" : "Pohnpei"}, "Guadalcanal": {"value" : "Guadalcanal"}, "Guam": {"value" : "Guam"}, "Chatham": {"value" : "Chatham"}, "Midway": {"value" : "Midway"}, "Tahiti": {"value" : "Tahiti"}, "Pago_Pago": {"value" : "Pago Pago"}, "Galapagos":
        {"value" : "Galapagos"}, "Funafuti": {"value" : "Funafuti"}, "Marquesas": {"value" : "Marquesas"}, "Rarotonga": {"value" : "Rarotonga"}, "Tarawa": {"value" : "Tarawa"}, "Saipan": {"value" : "Saipan"}, "Gambier": {"value" : "Gambier"}, "Tongatapu": {"value" : "Tongatapu"}, "Wallis": {"value" : "Wallis"}, "Fakaofo": {"value" : "Fakaofo"}, "Wake": {"value" : "Wake"}, "Enderbury": {"value" : "Enderbury"}, "Pitcairn": {"value" : "Pitcairn"}, "Apia": {"value" : "Apia"}, "Noumea": {"value" : "Noumea"}, "Palau":
        {"value" : "Palau"}, "Nauru": {"value" : "Nauru"}, "Bougainville": {"value" : "Bougainville"}, "Norfolk": {"value" : "Norfolk"}}, "Etc": {"Unknown": {"value" : "Unknown"}}, "Europe": {"Belgrade": {"value" : "Belgrade"}, "Saratov": {"value" : "Saratov"}, "Gibraltar": {"value" : "Gibraltar"}, "Bucharest": {"value" : "Bucharest"}, "Dublin": {"value" : "Dublin"}, "Zaporozhye": {"value" : "Zaporozhye"}, "Kiev": {"value" : "Kiev"}, "Zurich": {"value" : "Zurich"}, "Copenhagen": {"value" : "Copenhagen"}, "Rome":
        {"value" : "Rome"}, "Zagreb": {"value" : "Zagreb"}, "Monaco": {"value" : "Monaco"}, "Luxembourg": {"value" : "Luxembourg"}, "Jersey": {"value" : "Jersey"}, "Istanbul": {"value" : "Istanbul"}, "Ulyanovsk": {"value" : "Ulyanovsk"}, "Samara": {"value" : "Samara"}, "Sarajevo": {"value" : "Sarajevo"}, "Chisinau": {"value" : "Chisinau"}, "Vatican": {"value" : "Vatican"}, "Brussels": {"value" : "Brussels"}, "Oslo": {"value" : "Oslo"}, "Warsaw": {"value" : "Warsaw"}, "Berlin": {"value" : "Berlin"}, "Lisbon":
        {"value" : "Lisbon"}, "Athens": {"value" : "Athens"}, "Podgorica": {"value" : "Podgorica"}, "San_Marino": {"value" : "San Marino"}, "Simferopol": {"value" : "Simferopol"}, "Bratislava": {"value" : "Bratislava"}, "Stockholm": {"value" : "Stockholm"}, "Prague": {"value" : "Prague"}, "Uzhgorod": {"value" : "Uzhgorod"}, "Astrakhan": {"value" : "Astrakhan"}, "Budapest": {"value" : "Budapest"}, "Madrid": {"value" : "Madrid"}, "Vaduz": {"value" : "Vaduz"}, "London": {"value" : "London"}, "Vilnius": {"value"
        : "Vilnius"}, "Isle_of_Man": {"value" : "Isle of Man"}, "Sofia": {"value" : "Sofia"}, "Kirov": {"value" : "Kirov"}, "Tallinn": {"value" : "Tallinn"}, "Moscow": {"value" : "Moscow"}, "Malta": {"value" : "Malta"}, "Busingen": {"value" : "Busingen"}, "Amsterdam": {"value" : "Amsterdam"}, "Andorra": {"value" : "Andorra"}, "Riga": {"value" : "Riga"}, "Vienna": {"value" : "Vienna"}, "Helsinki": {"value" : "Helsinki"}, "Minsk": {"value" : "Minsk"}, "Kaliningrad": {"value" : "Kaliningrad"}, "Ljubljana": {"value"
        : "Ljubljana"}, "Mariehamn": {"value" : "Mariehamn"}, "Skopje": {"value" : "Skopje"}, "Tirane": {"value" : "Tirane"}, "Guernsey": {"value" : "Guernsey"}, "Volgograd": {"value" : "Volgograd"}, "Paris": {"value" : "Paris"}}, "America": {"Belem": {"value" : "Belem"}, "Guayaquil": {"value" : "Guayaquil"}, "Costa_Rica": {"value" : "Costa Rica"}, "Hermosillo": {"value" : "Hermosillo"}, "Punta_Arenas": {"value" : "Punta Arenas"}, "Iqaluit": {"value" : "Iqaluit"}, "Godthab": {"value" : "Nuuk"}, "Jujuy": {"value"
        : "Jujuy"}, "El_Salvador": {"value" : "El Salvador"}, "Monterrey": {"value" : "Monterrey"}, "Bahia": {"value" : "Bahia"}, "Sao_Paulo": {"value" : "Sao Paulo"}, "Grenada": {"value" : "Grenada"}, "Grand_Turk": {"value" : "Grand Turk"}, "Montserrat": {"value" : "Montserrat"}, "Guadeloupe": {"value" : "Guadeloupe"}, "Panama": {"value" : "Panama"}, "Guatemala": {"value" : "Guatemala"}, "Guyana": {"value" : "Guyana"}, "Swift_Current": {"value" : "Swift Current"}, "Puerto_Rico": {"value" : "Puerto Rico"}, "Moncton":
        {"value" : "Moncton"}, "Danmarkshavn": {"value" : "Danmarkshavn"}, "Nome": {"value" : "Nome"}, "Porto_Velho": {"value" : "Porto Velho"}, "Cuiaba": {"value" : "Cuiaba"}, "Pangnirtung": {"value" : "Pangnirtung"}, "Kralendijk": {"value" : "Kralendijk"}, "Belize": {"value" : "Belize"}, "Anguilla": {"value" : "Anguilla"}, "Santiago": {"value" : "Santiago"}, "Boise": {"value" : "Boise"}, "Creston": {"value" : "Creston"}, "Miquelon": {"value" : "Miquelon"}, "Jamaica": {"value" : "Jamaica"}, "Buenos_Aires":
        {"value" : "Buenos Aires"}, "Rankin_Inlet": {"value" : "Rankin Inlet"}, "Toronto": {"value" : "Toronto"}, "Eirunepe": {"value" : "Eirunepe"}, "Dawson": {"value" : "Dawson"}, "Nassau": {"value" : "Nassau"}, "Vancouver": {"value" : "Vancouver"}, "Noronha": {"value" : "Noronha"}, "Regina": {"value" : "Regina"}, "St_Vincent": {"value" : "St. Vincent"}, "Scoresbysund": {"value" : "Ittoqqortoormiit"}, "Louisville": {"value" : "Louisville"}, "Aruba": {"value" : "Aruba"}, "Thule": {"value" : "Thule"}, "Rio_Branco":
        {"value" : "Rio Branco"}, "Los_Angeles": {"value" : "Los Angeles"}, "St_Thomas": {"value" : "St. Thomas"}, "Cordoba": {"value" : "Cordoba"}, "Cancun": {"value" : "Cancun"}, "Coral_Harbour": {"value" : "Atikokan"}, "Maceio": {"value" : "Maceio"}, "Sitka": {"value" : "Sitka"}, "Denver": {"value" : "Denver"}, "Cayman": {"value" : "Cayman"}, "Nipigon": {"value" : "Nipigon"}, "Thunder_Bay": {"value" : "Thunder Bay"}, "Havana": {"value" : "Havana"}, "Campo_Grande": {"value" : "Campo Grande"}, "Cambridge_Bay":
        {"value" : "Cambridge Bay"}, "Fortaleza": {"value" : "Fortaleza"}, "Managua": {"value" : "Managua"}, "Menominee": {"value" : "Menominee"}, "Halifax": {"value" : "Halifax"}, "Ojinaga": {"value" : "Ojinaga"}, "Glace_Bay": {"value" : "Glace Bay"}, "Lower_Princes": {"value" : "Lower Prince’s Quarter"}, "Mendoza": {"value" : "Mendoza"}, "Yakutat": {"value" : "Yakutat"}, "Detroit": {"value" : "Detroit"}, "Merida": {"value" : "Merida"}, "Bahia_Banderas": {"value" : "Bahia Banderas"}, "Matamoros": {"value" :
        "Matamoros"}, "St_Barthelemy": {"value" : "St. Barthelemy"}, "Boa_Vista": {"value" : "Boa Vista"}, "Metlakatla": {"value" : "Metlakatla"}, "Tortola": {"value" : "Tortola"}, "Inuvik": {"value" : "Inuvik"}, "Port_of_Spain": {"value" : "Port of Spain"}, "New_York": {"value" : "New York"}, "Paramaribo": {"value" : "Paramaribo"}, "Manaus": {"value" : "Manaus"}, "Resolute": {"value" : "Resolute"}, "Curacao": {"value" : "Curacao"}, "Bogota": {"value" : "Bogota"}, "Adak": {"value" : "Adak"}, "Caracas": {"value"
        : "Caracas"}, "Mazatlan": {"value" : "Mazatlan"}, "St_Kitts": {"value" : "St. Kitts"}, "Mexico_City": {"value" : "Mexico City"}, "Edmonton": {"value" : "Edmonton"}, "Araguaina": {"value" : "Araguaina"}, "Santo_Domingo": {"value" : "Santo Domingo"}, "Indianapolis": {"value" : "Indianapolis"}, "Whitehorse": {"value" : "Whitehorse"}, "Yellowknife": {"value" : "Yellowknife"}, "Asuncion": {"value" : "Asuncion"}, "Santarem": {"value" : "Santarem"}, "Antigua": {"value" : "Antigua"}, "Winnipeg": {"value" : "Winnipeg"}
        , "Recife": {"value" : "Recife"}, "Lima": {"value" : "Lima"}, "Martinique": {"value" : "Martinique"}, "Phoenix": {"value" : "Phoenix"}, "Goose_Bay": {"value" : "Goose Bay"}, "St_Johns": {"value" : "St. John’s"}, "Montevideo": {"value" : "Montevideo"}, "St_Lucia": {"value" : "St. Lucia"}, "Chicago": {"value" : "Chicago"}, "Chihuahua": {"value" : "Chihuahua"}, "La_Paz": {"value" : "La Paz"}, "Blanc-Sablon": {"value" : "Blanc-Sablon"}, "Catamarca": {"value" : "Catamarca"}, "Tijuana": {"value" : "Tijuana"}
        , "Barbados": {"value" : "Barbados"}, "Anchorage": {"value" : "Anchorage"}, "Port-au-Prince": {"value" : "Port-au-Prince"}, "Rainy_River": {"value" : "Rainy River"}, "Cayenne": {"value" : "Cayenne"}, "Tegucigalpa": {"value" : "Tegucigalpa"}, "Juneau": {"value" : "Juneau"}, "Marigot": {"value" : "Marigot"}, "Dawson_Creek": {"value" : "Dawson Creek"}, "Dominica": {"value" : "Dominica"}, "Fort_Nelson": {"value" : "Fort Nelson"}}, "Africa": {"Tunis": {"value" : "Tunis"}, "Maputo": {"value" : "Maputo"}, "Casablanca":
        {"value" : "Casablanca"}, "Johannesburg": {"value" : "Johannesburg"}, "Addis_Ababa": {"value" : "Addis Ababa"}, "Lagos": {"value" : "Lagos"}, "Accra": {"value" : "Accra"}, "Nairobi": {"value" : "Nairobi"}, "Brazzaville": {"value" : "Brazzaville"}, "Lubumbashi": {"value" : "Lubumbashi"}, "Banjul": {"value" : "Banjul"}, "Porto-Novo": {"value" : "Porto-Novo"}, "Lusaka": {"value" : "Lusaka"}, "Kigali": {"value" : "Kigali"}, "Ouagadougou": {"value" : "Ouagadougou"}, "Freetown": {"value" : "Freetown"}, "Ndjamena":
        {"value" : "Ndjamena"}, "Conakry": {"value" : "Conakry"}, "Niamey": {"value" : "Niamey"}, "Maseru": {"value" : "Maseru"}, "El_Aaiun": {"value" : "El Aaiun"}, "Sao_Tome": {"value" : "Sao Tome"}, "Ceuta": {"value" : "Ceuta"}, "Khartoum": {"value" : "Khartoum"}, "Algiers": {"value" : "Algiers"}, "Bangui": {"value" : "Bangui"}, "Bujumbura": {"value" : "Bujumbura"}, "Gaborone": {"value" : "Gaborone"}, "Juba": {"value" : "Juba"}, "Dar_es_Salaam": {"value" : "Dar es Salaam"}, "Windhoek": {"value" : "Windhoek"}
        , "Harare": {"value" : "Harare"}, "Tripoli": {"value" : "Tripoli"}, "Libreville": {"value" : "Libreville"}, "Malabo": {"value" : "Malabo"}, "Abidjan": {"value" : "Abidjan"}, "Luanda": {"value" : "Luanda"}, "Lome": {"value" : "Lome"}, "Nouakchott": {"value" : "Nouakchott"}, "Bissau": {"value" : "Bissau"}, "Kinshasa": {"value" : "Kinshasa"}, "Asmera": {"value" : "Asmara"}, "Mogadishu": {"value" : "Mogadishu"}, "Djibouti": {"value" : "Djibouti"}, "Douala": {"value" : "Douala"}, "Kampala": {"value" : "Kampala"}
        , "Dakar": {"value" : "Dakar"}, "Cairo": {"value" : "Cairo"}, "Blantyre": {"value" : "Blantyre"}, "Monrovia": {"value" : "Monrovia"}, "Mbabane": {"value" : "Mbabane"}, "Bamako": {"value" : "Bamako"}}, "Indian": {"Reunion": {"value" : "Reunion"}, "Maldives": {"value" : "Maldives"}, "Christmas": {"value" : "Christmas"}, "Antananarivo": {"value" : "Antananarivo"}, "Chagos": {"value" : "Chagos"}, "Mahe": {"value" : "Mahe"}, "Mayotte": {"value" : "Mayotte"}, "Kerguelen": {"value" : "Kerguelen"}, "Mauritius":
        {"value" : "Mauritius"}, "Cocos": {"value" : "Cocos"}, "Comoro": {"value" : "Comoro"}}, "Antarctica": {"Macquarie": {"value" : "Macquarie"}, "Palmer": {"value" : "Palmer"}, "Casey": {"value" : "Casey"}, "Troll": {"value" : "Troll"}, "Vostok": {"value" : "Vostok"}, "DumontDUrville": {"value" : "Dumont d’Urville"}, "Syowa": {"value" : "Syowa"}, "Mawson": {"value" : "Mawson"}, "McMurdo": {"value" : "McMurdo"}, "Davis": {"value" : "Davis"}, "Rothera": {"value" : "Rothera"}}, "Australia": {"Broken_Hill":
        {"value" : "Broken Hill"}, "Darwin": {"value" : "Darwin"}, "Brisbane": {"value" : "Brisbane"}, "Currie": {"value" : "Currie"}, "Lord_Howe": {"value" : "Lord Howe"}, "Lindeman": {"value" : "Lindeman"}, "Adelaide": {"value" : "Adelaide"}, "Perth": {"value" : "Perth"}, "Eucla": {"value" : "Eucla"}, "Melbourne": {"value" : "Melbourne"}, "Sydney": {"value" : "Sydney"}, "Hobart": {"value" : "Hobart"}}, "Arctic": {"Longyearbyen": {"value" : "Longyearbyen"}}, "Atlantic": {"St_Helena": {"value" : "St. Helena"}
        , "Reykjavik": {"value" : "Reykjavik"}, "Stanley": {"value" : "Stanley"}, "Madeira": {"value" : "Madeira"}, "Canary": {"value" : "Canary"}, "Faeroe": {"value" : "Faroe"}, "Bermuda": {"value" : "Bermuda"}, "Azores": {"value" : "Azores"}, "South_Georgia": {"value" : "South Georgia"}, "Cape_Verde": {"value" : "Cape Verde"}}}}, "en": {"timeZones" : {"Asia": {"Gaza": {"value" : "Gaza"}, "Makassar": {"value" : "Makassar"}, "Ulaanbaatar": {"value" : "Ulaanbaatar"}, "Vladivostok": {"value" : "Vladivostok"},
        "Tashkent": {"value" : "Tashkent"}, "Beirut": {"value" : "Beirut"}, "Qyzylorda": {"value" : "Qyzylorda"}, "Hong_Kong": {"value" : "Hong Kong"}, "Phnom_Penh": {"value" : "Phnom Penh"}, "Kabul": {"value" : "Kabul"}, "Riyadh": {"value" : "Riyadh"}, "Ashgabat": {"value" : "Ashgabat"}, "Chita": {"value" : "Chita"}, "Aqtau": {"value" : "Aqtau"}, "Tokyo": {"value" : "Tokyo"}, "Baku": {"value" : "Baku"}, "Aqtobe": {"value" : "Aqtobe"}, "Novosibirsk": {"value" : "Novosibirsk"}, "Kamchatka": {"value" : "Kamchatka"}
        , "Nicosia": {"value" : "Nicosia"}, "Pontianak": {"value" : "Pontianak"}, "Qostanay": {"value" : "Kostanay"}, "Barnaul": {"value" : "Barnaul"}, "Jerusalem": {"value" : "Jerusalem"}, "Kuala_Lumpur": {"value" : "Kuala Lumpur"}, "Novokuznetsk": {"value" : "Novokuznetsk"}, "Bahrain": {"value" : "Bahrain"}, "Kuching": {"value" : "Kuching"}, "Bangkok": {"value" : "Bangkok"}, "Srednekolymsk": {"value" : "Srednekolymsk"}, "Karachi": {"value" : "Karachi"}, "Aden": {"value" : "Aden"}, "Irkutsk": {"value" : "Irkutsk"}
        , "Hovd": {"value" : "Hovd"}, "Katmandu": {"value" : "Kathmandu"}, "Baghdad": {"value" : "Baghdad"}, "Samarkand": {"value" : "Samarkand"}, "Thimphu": {"value" : "Thimphu"}, "Dhaka": {"value" : "Dhaka"}, "Yerevan": {"value" : "Yerevan"}, "Muscat": {"value" : "Muscat"}, "Saigon": {"value" : "Ho Chi Minh City"}, "Dili": {"value" : "Dili"}, "Singapore": {"value" : "Singapore"}, "Rangoon": {"value" : "Yangon"}, "Damascus": {"value" : "Damascus"}, "Taipei": {"value" : "Taipei"}, "Amman": {"value" : "Amman"}
        , "Choibalsan": {"value" : "Choibalsan"}, "Macau": {"value" : "Macao"}, "Jayapura": {"value" : "Jayapura"}, "Manila": {"value" : "Manila"}, "Oral": {"value" : "Oral"}, "Dubai": {"value" : "Dubai"}, "Yakutsk": {"value" : "Yakutsk"}, "Seoul": {"value" : "Seoul"}, "Hebron": {"value" : "Hebron"}, "Qatar": {"value" : "Qatar"}, "Bishkek": {"value" : "Bishkek"}, "Tomsk": {"value" : "Tomsk"}, "Colombo": {"value" : "Colombo"}, "Khandyga": {"value" : "Khandyga"}, "Yekaterinburg": {"value" : "Yekaterinburg"}, "Dushanbe":
        {"value" : "Dushanbe"}, "Famagusta": {"value" : "Famagusta"}, "Kuwait": {"value" : "Kuwait"}, "Magadan": {"value" : "Magadan"}, "Pyongyang": {"value" : "Pyongyang"}, "Tehran": {"value" : "Tehran"}, "Sakhalin": {"value" : "Sakhalin"}, "Calcutta": {"value" : "Kolkata"}, "Urumqi": {"value" : "Urumqi"}, "Shanghai": {"value" : "Shanghai"}, "Atyrau": {"value" : "Atyrau"}, "Almaty": {"value" : "Almaty"}, "Tbilisi": {"value" : "Tbilisi"}, "Anadyr": {"value" : "Anadyr"}, "Brunei": {"value" : "Brunei"}, "Krasnoyarsk":
        {"value" : "Krasnoyarsk"}, "Vientiane": {"value" : "Vientiane"}, "Omsk": {"value" : "Omsk"}, "Jakarta": {"value" : "Jakarta"}, "Ust-Nera": {"value" : "Ust-Nera"}}, "Pacific": {"Easter": {"value" : "Easter"}, "Fiji": {"value" : "Fiji"}, "Port_Moresby": {"value" : "Port Moresby"}, "Kiritimati": {"value" : "Kiritimati"}, "Kosrae": {"value" : "Kosrae"}, "Kwajalein": {"value" : "Kwajalein"}, "Auckland": {"value" : "Auckland"}, "Efate": {"value" : "Efate"}, "Johnston": {"value" : "Johnston"}, "Niue": {"value"
        : "Niue"}, "Majuro": {"value" : "Majuro"}, "Truk": {"value" : "Chuuk"}, "Ponape": {"value" : "Pohnpei"}, "Guadalcanal": {"value" : "Guadalcanal"}, "Guam": {"value" : "Guam"}, "Chatham": {"value" : "Chatham"}, "Midway": {"value" : "Midway"}, "Tahiti": {"value" : "Tahiti"}, "Pago_Pago": {"value" : "Pago Pago"}, "Galapagos": {"value" : "Galapagos"}, "Funafuti": {"value" : "Funafuti"}, "Marquesas": {"value" : "Marquesas"}, "Rarotonga": {"value" : "Rarotonga"}, "Tarawa": {"value" : "Tarawa"}, "Saipan": {"value"
        : "Saipan"}, "Gambier": {"value" : "Gambier"}, "Tongatapu": {"value" : "Tongatapu"}, "Wallis": {"value" : "Wallis"}, "Fakaofo": {"value" : "Fakaofo"}, "Wake": {"value" : "Wake"}, "Enderbury": {"value" : "Enderbury"}, "Pitcairn": {"value" : "Pitcairn"}, "Apia": {"value" : "Apia"}, "Noumea": {"value" : "Noumea"}, "Palau": {"value" : "Palau"}, "Nauru": {"value" : "Nauru"}, "Bougainville": {"value" : "Bougainville"}, "Norfolk": {"value" : "Norfolk"}}, "Etc": {"Unknown": {"value" : "Unknown City"}}, "Europe":
        {"Belgrade": {"value" : "Belgrade"}, "Saratov": {"value" : "Saratov"}, "Gibraltar": {"value" : "Gibraltar"}, "Bucharest": {"value" : "Bucharest"}, "Dublin": {"value" : "Dublin"}, "Zaporozhye": {"value" : "Zaporozhye"}, "Kiev": {"value" : "Kiev"}, "Zurich": {"value" : "Zurich"}, "Copenhagen": {"value" : "Copenhagen"}, "Rome": {"value" : "Rome"}, "Zagreb": {"value" : "Zagreb"}, "Monaco": {"value" : "Monaco"}, "Luxembourg": {"value" : "Luxembourg"}, "Jersey": {"value" : "Jersey"}, "Istanbul": {"value" :
        "Istanbul"}, "Ulyanovsk": {"value" : "Ulyanovsk"}, "Samara": {"value" : "Samara"}, "Sarajevo": {"value" : "Sarajevo"}, "Chisinau": {"value" : "Chisinau"}, "Vatican": {"value" : "Vatican"}, "Brussels": {"value" : "Brussels"}, "Oslo": {"value" : "Oslo"}, "Warsaw": {"value" : "Warsaw"}, "Berlin": {"value" : "Berlin"}, "Lisbon": {"value" : "Lisbon"}, "Athens": {"value" : "Athens"}, "Podgorica": {"value" : "Podgorica"}, "San_Marino": {"value" : "San Marino"}, "Simferopol": {"value" : "Simferopol"}, "Bratislava":
        {"value" : "Bratislava"}, "Stockholm": {"value" : "Stockholm"}, "Prague": {"value" : "Prague"}, "Uzhgorod": {"value" : "Uzhhorod"}, "Astrakhan": {"value" : "Astrakhan"}, "Budapest": {"value" : "Budapest"}, "Madrid": {"value" : "Madrid"}, "Vaduz": {"value" : "Vaduz"}, "London": {"value" : "London"}, "Vilnius": {"value" : "Vilnius"}, "Isle_of_Man": {"value" : "Isle of Man"}, "Sofia": {"value" : "Sofia"}, "Kirov": {"value" : "Kirov"}, "Tallinn": {"value" : "Tallinn"}, "Moscow": {"value" : "Moscow"}, "Malta":
        {"value" : "Malta"}, "Busingen": {"value" : "Busingen"}, "Amsterdam": {"value" : "Amsterdam"}, "Andorra": {"value" : "Andorra"}, "Riga": {"value" : "Riga"}, "Vienna": {"value" : "Vienna"}, "Helsinki": {"value" : "Helsinki"}, "Minsk": {"value" : "Minsk"}, "Kaliningrad": {"value" : "Kaliningrad"}, "Ljubljana": {"value" : "Ljubljana"}, "Mariehamn": {"value" : "Mariehamn"}, "Skopje": {"value" : "Skopje"}, "Tirane": {"value" : "Tirane"}, "Guernsey": {"value" : "Guernsey"}, "Volgograd": {"value" : "Volgograd"}
        , "Paris": {"value" : "Paris"}}, "America": {"Belem": {"value" : "Belem"}, "Guayaquil": {"value" : "Guayaquil"}, "Costa_Rica": {"value" : "Costa Rica"}, "Hermosillo": {"value" : "Hermosillo"}, "Punta_Arenas": {"value" : "Punta Arenas"}, "Iqaluit": {"value" : "Iqaluit"}, "Godthab": {"value" : "Nuuk"}, "Jujuy": {"value" : "Jujuy"}, "El_Salvador": {"value" : "El Salvador"}, "Monterrey": {"value" : "Monterrey"}, "Bahia": {"value" : "Bahia"}, "Sao_Paulo": {"value" : "Sao Paulo"}, "Grenada": {"value" : "Grenada"}
        , "Grand_Turk": {"value" : "Grand Turk"}, "Montserrat": {"value" : "Montserrat"}, "Guadeloupe": {"value" : "Guadeloupe"}, "Panama": {"value" : "Panama"}, "Guatemala": {"value" : "Guatemala"}, "Guyana": {"value" : "Guyana"}, "Swift_Current": {"value" : "Swift Current"}, "Puerto_Rico": {"value" : "Puerto Rico"}, "Moncton": {"value" : "Moncton"}, "Danmarkshavn": {"value" : "Danmarkshavn"}, "Nome": {"value" : "Nome"}, "Porto_Velho": {"value" : "Porto Velho"}, "Cuiaba": {"value" : "Cuiaba"}, "Pangnirtung":
        {"value" : "Pangnirtung"}, "Kralendijk": {"value" : "Kralendijk"}, "Belize": {"value" : "Belize"}, "Anguilla": {"value" : "Anguilla"}, "Santiago": {"value" : "Santiago"}, "Boise": {"value" : "Boise"}, "Creston": {"value" : "Creston"}, "Miquelon": {"value" : "Miquelon"}, "Jamaica": {"value" : "Jamaica"}, "Buenos_Aires": {"value" : "Buenos Aires"}, "Rankin_Inlet": {"value" : "Rankin Inlet"}, "Toronto": {"value" : "Toronto"}, "Eirunepe": {"value" : "Eirunepe"}, "Dawson": {"value" : "Dawson"}, "Nassau":
        {"value" : "Nassau"}, "Vancouver": {"value" : "Vancouver"}, "Noronha": {"value" : "Noronha"}, "Regina": {"value" : "Regina"}, "St_Vincent": {"value" : "St. Vincent"}, "Scoresbysund": {"value" : "Ittoqqortoormiit"}, "Louisville": {"value" : "Louisville"}, "Aruba": {"value" : "Aruba"}, "Thule": {"value" : "Thule"}, "Rio_Branco": {"value" : "Rio Branco"}, "Los_Angeles": {"value" : "Los Angeles"}, "St_Thomas": {"value" : "St. Thomas"}, "Cordoba": {"value" : "Cordoba"}, "Cancun": {"value" : "Cancun"}, "Coral_Harbour":
        {"value" : "Atikokan"}, "Maceio": {"value" : "Maceio"}, "Sitka": {"value" : "Sitka"}, "Denver": {"value" : "Denver"}, "Cayman": {"value" : "Cayman"}, "Nipigon": {"value" : "Nipigon"}, "Thunder_Bay": {"value" : "Thunder Bay"}, "Havana": {"value" : "Havana"}, "Campo_Grande": {"value" : "Campo Grande"}, "Cambridge_Bay": {"value" : "Cambridge Bay"}, "Fortaleza": {"value" : "Fortaleza"}, "Managua": {"value" : "Managua"}, "Menominee": {"value" : "Menominee"}, "Halifax": {"value" : "Halifax"}, "Ojinaga": {"value"
        : "Ojinaga"}, "Glace_Bay": {"value" : "Glace Bay"}, "Lower_Princes": {"value" : "Lower Prince’s Quarter"}, "Mendoza": {"value" : "Mendoza"}, "Yakutat": {"value" : "Yakutat"}, "Detroit": {"value" : "Detroit"}, "Merida": {"value" : "Merida"}, "Bahia_Banderas": {"value" : "Bahia Banderas"}, "Matamoros": {"value" : "Matamoros"}, "St_Barthelemy": {"value" : "St. Barthélemy"}, "Boa_Vista": {"value" : "Boa Vista"}, "Metlakatla": {"value" : "Metlakatla"}, "Tortola": {"value" : "Tortola"}, "Inuvik": {"value"
        : "Inuvik"}, "Port_of_Spain": {"value" : "Port of Spain"}, "New_York": {"value" : "New York"}, "Paramaribo": {"value" : "Paramaribo"}, "Manaus": {"value" : "Manaus"}, "Resolute": {"value" : "Resolute"}, "Curacao": {"value" : "Curaçao"}, "Bogota": {"value" : "Bogota"}, "Adak": {"value" : "Adak"}, "Caracas": {"value" : "Caracas"}, "Mazatlan": {"value" : "Mazatlan"}, "St_Kitts": {"value" : "St. Kitts"}, "Mexico_City": {"value" : "Mexico City"}, "Edmonton": {"value" : "Edmonton"}, "Araguaina": {"value" :
        "Araguaina"}, "Santo_Domingo": {"value" : "Santo Domingo"}, "Indianapolis": {"value" : "Indianapolis"}, "Whitehorse": {"value" : "Whitehorse"}, "Yellowknife": {"value" : "Yellowknife"}, "Asuncion": {"value" : "Asunción"}, "Santarem": {"value" : "Santarem"}, "Antigua": {"value" : "Antigua"}, "Winnipeg": {"value" : "Winnipeg"}, "Recife": {"value" : "Recife"}, "Lima": {"value" : "Lima"}, "Martinique": {"value" : "Martinique"}, "Phoenix": {"value" : "Phoenix"}, "Goose_Bay": {"value" : "Goose Bay"}, "St_Johns":
        {"value" : "St. John’s"}, "Montevideo": {"value" : "Montevideo"}, "St_Lucia": {"value" : "St. Lucia"}, "Chicago": {"value" : "Chicago"}, "Chihuahua": {"value" : "Chihuahua"}, "La_Paz": {"value" : "La Paz"}, "Blanc-Sablon": {"value" : "Blanc-Sablon"}, "Catamarca": {"value" : "Catamarca"}, "Tijuana": {"value" : "Tijuana"}, "Barbados": {"value" : "Barbados"}, "Anchorage": {"value" : "Anchorage"}, "Port-au-Prince": {"value" : "Port-au-Prince"}, "Rainy_River": {"value" : "Rainy River"}, "Cayenne": {"value"
        : "Cayenne"}, "Tegucigalpa": {"value" : "Tegucigalpa"}, "Juneau": {"value" : "Juneau"}, "Marigot": {"value" : "Marigot"}, "Dawson_Creek": {"value" : "Dawson Creek"}, "Dominica": {"value" : "Dominica"}, "Fort_Nelson": {"value" : "Fort Nelson"}}, "Africa": {"Tunis": {"value" : "Tunis"}, "Maputo": {"value" : "Maputo"}, "Casablanca": {"value" : "Casablanca"}, "Johannesburg": {"value" : "Johannesburg"}, "Addis_Ababa": {"value" : "Addis Ababa"}, "Lagos": {"value" : "Lagos"}, "Accra": {"value" : "Accra"}, "Nairobi":
        {"value" : "Nairobi"}, "Brazzaville": {"value" : "Brazzaville"}, "Lubumbashi": {"value" : "Lubumbashi"}, "Banjul": {"value" : "Banjul"}, "Porto-Novo": {"value" : "Porto-Novo"}, "Lusaka": {"value" : "Lusaka"}, "Kigali": {"value" : "Kigali"}, "Ouagadougou": {"value" : "Ouagadougou"}, "Freetown": {"value" : "Freetown"}, "Ndjamena": {"value" : "Ndjamena"}, "Conakry": {"value" : "Conakry"}, "Niamey": {"value" : "Niamey"}, "Maseru": {"value" : "Maseru"}, "El_Aaiun": {"value" : "El Aaiun"}, "Sao_Tome": {"value"
        : "São Tomé"}, "Ceuta": {"value" : "Ceuta"}, "Khartoum": {"value" : "Khartoum"}, "Algiers": {"value" : "Algiers"}, "Bangui": {"value" : "Bangui"}, "Bujumbura": {"value" : "Bujumbura"}, "Gaborone": {"value" : "Gaborone"}, "Juba": {"value" : "Juba"}, "Dar_es_Salaam": {"value" : "Dar es Salaam"}, "Windhoek": {"value" : "Windhoek"}, "Harare": {"value" : "Harare"}, "Tripoli": {"value" : "Tripoli"}, "Libreville": {"value" : "Libreville"}, "Malabo": {"value" : "Malabo"}, "Abidjan": {"value" : "Abidjan"}, "Luanda":
        {"value" : "Luanda"}, "Lome": {"value" : "Lome"}, "Nouakchott": {"value" : "Nouakchott"}, "Bissau": {"value" : "Bissau"}, "Kinshasa": {"value" : "Kinshasa"}, "Asmera": {"value" : "Asmara"}, "Mogadishu": {"value" : "Mogadishu"}, "Djibouti": {"value" : "Djibouti"}, "Douala": {"value" : "Douala"}, "Kampala": {"value" : "Kampala"}, "Dakar": {"value" : "Dakar"}, "Cairo": {"value" : "Cairo"}, "Blantyre": {"value" : "Blantyre"}, "Monrovia": {"value" : "Monrovia"}, "Mbabane": {"value" : "Mbabane"}, "Bamako":
        {"value" : "Bamako"}}, "Indian": {"Reunion": {"value" : "Réunion"}, "Maldives": {"value" : "Maldives"}, "Christmas": {"value" : "Christmas"}, "Antananarivo": {"value" : "Antananarivo"}, "Chagos": {"value" : "Chagos"}, "Mahe": {"value" : "Mahe"}, "Mayotte": {"value" : "Mayotte"}, "Kerguelen": {"value" : "Kerguelen"}, "Mauritius": {"value" : "Mauritius"}, "Cocos": {"value" : "Cocos"}, "Comoro": {"value" : "Comoro"}}, "Antarctica": {"Macquarie": {"value" : "Macquarie"}, "Palmer": {"value" : "Palmer"}, "Casey":
        {"value" : "Casey"}, "Troll": {"value" : "Troll"}, "Vostok": {"value" : "Vostok"}, "DumontDUrville": {"value" : "Dumont d’Urville"}, "Syowa": {"value" : "Syowa"}, "Mawson": {"value" : "Mawson"}, "McMurdo": {"value" : "McMurdo"}, "Davis": {"value" : "Davis"}, "Rothera": {"value" : "Rothera"}}, "Australia": {"Broken_Hill": {"value" : "Broken Hill"}, "Darwin": {"value" : "Darwin"}, "Brisbane": {"value" : "Brisbane"}, "Currie": {"value" : "Currie"}, "Lord_Howe": {"value" : "Lord Howe"}, "Lindeman": {"value"
        : "Lindeman"}, "Adelaide": {"value" : "Adelaide"}, "Perth": {"value" : "Perth"}, "Eucla": {"value" : "Eucla"}, "Melbourne": {"value" : "Melbourne"}, "Sydney": {"value" : "Sydney"}, "Hobart": {"value" : "Hobart"}}, "Arctic": {"Longyearbyen": {"value" : "Longyearbyen"}}, "Atlantic": {"St_Helena": {"value" : "St. Helena"}, "Reykjavik": {"value" : "Reykjavik"}, "Stanley": {"value" : "Stanley"}, "Madeira": {"value" : "Madeira"}, "Canary": {"value" : "Canary"}, "Faeroe": {"value" : "Faroe"}, "Bermuda": {"value"
        : "Bermuda"}, "Azores": {"value" : "Azores"}, "South_Georgia": {"value" : "South Georgia"}, "Cape_Verde": {"value" : "Cape Verde"}}}}};
    }
    function otciu_CLDRHelper_getDefaultLocale$$create() {
        return {"value" : "en_GB"};
    }
    function otciu_CLDRHelper_getMinimalDaysInFirstWeek$$create() {
        return {"DE": {"value" : 4}, "PT": {"value" : 4}, "DK": {"value" : 4}, "LT": {"value" : 4}, "LU": {"value" : 4}, "HU": {"value" : 4}, "MC": {"value" : 4}, "UM": {"value" : 1}, "IE": {"value" : 4}, "US": {"value" : 1}, "EE": {"value" : 4}, "AD": {"value" : 4}, "IM": {"value" : 4}, "MQ": {"value" : 4}, "IS": {"value" : 4}, "IT": {"value" : 4}, "VA": {"value" : 4}, "AN": {"value" : 4}, "ES": {"value" : 4}, "001": {"value" : 1}, "AT": {"value" : 4}, "RE": {"value" : 4}, "VI": {"value" : 1}, "AX": {"value"
        : 4}, "JE": {"value" : 4}, "NL": {"value" : 4}, "NO": {"value" : 4}, "BE": {"value" : 4}, "FI": {"value" : 4}, "RU": {"value" : 4}, "FJ": {"value" : 4}, "BG": {"value" : 4}, "FO": {"value" : 4}, "FR": {"value" : 4}, "SE": {"value" : 4}, "SJ": {"value" : 4}, "SK": {"value" : 4}, "SM": {"value" : 4}, "GB": {"value" : 4}, "GF": {"value" : 4}, "GG": {"value" : 4}, "GI": {"value" : 4}, "CH": {"value" : 4}, "GP": {"value" : 4}, "GR": {"value" : 4}, "GU": {"value" : 1}, "CZ": {"value" : 4}, "PL": {"value" :
        4}, "LI": {"value" : 4}};
    }
    function otciu_CLDRHelper_getFirstDayOfWeek$$create() {
        return {"PR": {"value" : 1}, "HK": {"value" : 1}, "PT": {"value" : 1}, "HN": {"value" : 1}, "PY": {"value" : 1}, "HR": {"value" : 2}, "YE": {"value" : 1}, "HU": {"value" : 2}, "QA": {"value" : 7}, "ID": {"value" : 1}, "IE": {"value" : 2}, "AD": {"value" : 2}, "IL": {"value" : 1}, "AE": {"value" : 7}, "AF": {"value" : 7}, "IN": {"value" : 1}, "AG": {"value" : 1}, "ZA": {"value" : 1}, "AI": {"value" : 2}, "IQ": {"value" : 7}, "IR": {"value" : 7}, "IS": {"value" : 2}, "AL": {"value" : 2}, "IT": {"value"
        : 2}, "AM": {"value" : 2}, "AN": {"value" : 2}, "001": {"value" : 2}, "AR": {"value" : 2}, "AS": {"value" : 1}, "AT": {"value" : 2}, "RE": {"value" : 2}, "AU": {"value" : 1}, "AX": {"value" : 2}, "AZ": {"value" : 2}, "RO": {"value" : 2}, "ZW": {"value" : 1}, "BA": {"value" : 2}, "RS": {"value" : 2}, "BD": {"value" : 1}, "BE": {"value" : 2}, "JM": {"value" : 1}, "RU": {"value" : 2}, "BG": {"value" : 2}, "JO": {"value" : 7}, "BH": {"value" : 7}, "JP": {"value" : 1}, "BM": {"value" : 2}, "BN": {"value"
        : 2}, "SA": {"value" : 1}, "BR": {"value" : 1}, "BS": {"value" : 1}, "SD": {"value" : 7}, "BT": {"value" : 1}, "SE": {"value" : 2}, "SG": {"value" : 1}, "BW": {"value" : 1}, "SI": {"value" : 2}, "BY": {"value" : 2}, "BZ": {"value" : 1}, "SK": {"value" : 2}, "KE": {"value" : 1}, "SM": {"value" : 2}, "KG": {"value" : 2}, "KH": {"value" : 1}, "CA": {"value" : 1}, "SV": {"value" : 1}, "CH": {"value" : 2}, "SY": {"value" : 7}, "KR": {"value" : 1}, "CL": {"value" : 2}, "CM": {"value" : 2}, "CN": {"value" :
        1}, "CO": {"value" : 1}, "KW": {"value" : 7}, "CR": {"value" : 2}, "KZ": {"value" : 2}, "TH": {"value" : 1}, "LA": {"value" : 1}, "CY": {"value" : 2}, "LB": {"value" : 2}, "TJ": {"value" : 2}, "CZ": {"value" : 2}, "TM": {"value" : 2}, "LI": {"value" : 2}, "TR": {"value" : 2}, "LK": {"value" : 2}, "TT": {"value" : 1}, "DE": {"value" : 2}, "TW": {"value" : 1}, "DJ": {"value" : 7}, "DK": {"value" : 2}, "LT": {"value" : 2}, "DM": {"value" : 1}, "LU": {"value" : 2}, "LV": {"value" : 2}, "DO": {"value" : 1}
        , "UA": {"value" : 2}, "LY": {"value" : 7}, "DZ": {"value" : 7}, "MC": {"value" : 2}, "MD": {"value" : 2}, "ME": {"value" : 2}, "UM": {"value" : 1}, "MH": {"value" : 1}, "EC": {"value" : 2}, "MK": {"value" : 2}, "US": {"value" : 1}, "EE": {"value" : 2}, "MM": {"value" : 1}, "MN": {"value" : 2}, "EG": {"value" : 7}, "MO": {"value" : 1}, "MQ": {"value" : 2}, "UY": {"value" : 2}, "UZ": {"value" : 2}, "MT": {"value" : 1}, "MV": {"value" : 6}, "MX": {"value" : 1}, "VA": {"value" : 2}, "MY": {"value" : 2}
        , "MZ": {"value" : 1}, "ES": {"value" : 2}, "ET": {"value" : 1}, "VE": {"value" : 1}, "GB-alt-variant": {"value" : 1}, "VI": {"value" : 1}, "VN": {"value" : 2}, "NI": {"value" : 1}, "NL": {"value" : 2}, "NO": {"value" : 2}, "NP": {"value" : 1}, "FI": {"value" : 2}, "FJ": {"value" : 2}, "FO": {"value" : 2}, "FR": {"value" : 2}, "NZ": {"value" : 2}, "GB": {"value" : 2}, "WS": {"value" : 1}, "GE": {"value" : 2}, "OM": {"value" : 7}, "GF": {"value" : 2}, "GP": {"value" : 2}, "GR": {"value" : 2}, "GT": {"value"
        : 1}, "GU": {"value" : 1}, "PA": {"value" : 1}, "XK": {"value" : 2}, "PE": {"value" : 1}, "PH": {"value" : 1}, "PK": {"value" : 1}, "PL": {"value" : 2}};
    }
    function otciu_CLDRHelper_getDateFormatMap$$create() {
        return {"root": {"fullFormat" : "y MMMM d, EEEE", "mediumFormat" : "y MMM d", "longFormat" : "y MMMM d", "shortFormat" : "y-MM-dd"}, "en": {"fullFormat" : "EEEE, MMMM d, y", "mediumFormat" : "MMM d, y", "longFormat" : "MMMM d, y", "shortFormat" : "M/d/yy"}};
    }
    function otciu_CLDRHelper_getNumberFormatMap$$create() {
        return {"root": {"value" : "#,##0.###"}, "en": {"value" : "#,##0.###"}};
    }
    function otciu_CLDRHelper_getDecimalDataMap$$create() {
        return {"root": {"exponentSeparator" : "E", "minusSign" : 45, "perMille" : 8240, "decimalSeparator" : 46, "listSeparator" : 59, "naN" : "NaN", "infinity" : "∞", "groupingSeparator" : 44, "percent" : 37}, "en": {"exponentSeparator" : "E", "minusSign" : 45, "perMille" : 8240, "decimalSeparator" : 46, "listSeparator" : 59, "naN" : "NaN", "infinity" : "∞", "groupingSeparator" : 44, "percent" : 37}};
    }
    var otpp_ResourceAccessor = $rt_classWithoutFields();
    function otpp_ResourceAccessor__init_0() {
        var var_0 = new otpp_ResourceAccessor();
        otpp_ResourceAccessor__init_(var_0);
        return var_0;
    }
    function otpp_ResourceAccessor__init_($this) {}
    function otpp_ResourceAccessor_keys(var$1) {
        var result = [];
        for (var key in var$1) {
            result.push(key);
        }
        return result;
    }
    function otpp_ResourceAccessor_keysToStrings($keys) {
        var $sz, $result, var$4, $i;
        $sz = $keys.length;
        $result = $rt_createArray(jl_String, $sz);
        var$4 = $result.data;
        $i = 0;
        while ($i < $sz) {
            var$4[$i] = ($keys[$i] !== null ? $rt_str($keys[$i]) : null);
            $i = $i + 1 | 0;
        }
        return $result;
    }
    function nms_StepSound() {
        var a = this; jl_Object.call(a);
        a.$field_1678_a = null;
        a.$field_1677_b = 0.0;
        a.$field_1679_c = 0.0;
    }
    function nms_StepSound__init_(var_0, var_1, var_2) {
        var var_3 = new nms_StepSound();
        nms_StepSound__init_0(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_StepSound__init_0($this, $var1, $var2, $var3) {
        $this.$field_1678_a = $var1;
        $this.$field_1677_b = $var2;
        $this.$field_1679_c = $var3;
    }
    function nms_StepSound_func_1147_b($this) {
        return $this.$field_1677_b;
    }
    function nms_StepSound_func_1144_c($this) {
        return $this.$field_1679_c;
    }
    function nms_StepSound_func_1146_a($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$field_1678_a;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(912);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_StepSound_func_1145_d($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$field_1678_a;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(912);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    var nms_StepSoundStone = $rt_classWithoutFields(nms_StepSound);
    function nms_StepSoundStone__init_(var_0, var_1, var_2) {
        var var_3 = new nms_StepSoundStone();
        nms_StepSoundStone__init_0(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_StepSoundStone__init_0($this, $var1, $var2, $var3) {
        nms_StepSound__init_0($this, $var1, $var2, $var3);
    }
    function nms_StepSoundStone_func_1146_a($this) {
        return $rt_s(913);
    }
    var nms_StepSoundSand = $rt_classWithoutFields(nms_StepSound);
    function nms_StepSoundSand__init_(var_0, var_1, var_2) {
        var var_3 = new nms_StepSoundSand();
        nms_StepSoundSand__init_0(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_StepSoundSand__init_0($this, $var1, $var2, $var3) {
        nms_StepSound__init_0($this, $var1, $var2, $var3);
    }
    function nms_StepSoundSand_func_1146_a($this) {
        return $rt_s(914);
    }
    var nms_BlockStone = $rt_classWithoutFields(nms_Block);
    function nms_BlockStone__init_0(var_0, var_1) {
        var var_2 = new nms_BlockStone();
        nms_BlockStone__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockStone__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_rock;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockStone_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Block_cobblestone.$blockID;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    var nms_BlockGrass = $rt_classWithoutFields(nms_Block);
    function nms_BlockGrass__init_0(var_0) {
        var var_1 = new nms_BlockGrass();
        nms_BlockGrass__init_(var_1, var_0);
        return var_1;
    }
    function nms_BlockGrass__init_($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$2 = nms_Material_ground;
            $ptr = 1;
        case 1:
            nms_Block__init_0($this, $var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$blockIndexInTexture = 3;
            $var1 = 1;
            $ptr = 2;
        case 2:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_BlockGrass_getBlockTexture($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var5 == 1)
                return 0;
            if (!$var5)
                return 2;
            $var3 = $var3 + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockMaterial($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            nms_Material_$callClinit();
            return $var6 !== nms_Material_snow && $var6 !== nms_Material_builtSnow ? 3 : 68;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockGrass_colorMultiplier($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, $var5, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var1.$getWorldChunkManager();
            $var3 = 1;
            var$6 = 1;
            $ptr = 1;
        case 1:
            var$5.$func_4069_a($var2, $var4, $var3, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = ($var1.$getWorldChunkManager()).$temperature.data[0];
            $var7 = ($var1.$getWorldChunkManager()).$humidity.data[0];
            $ptr = 2;
        case 2:
            nms_ColorizerGrass_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var7 * $var5;
            $var2 = (1.0 - $var5) * 255.0 | 0;
            $var3 = (1.0 - $var7) * 255.0 | 0;
            return nms_ColorizerGrass_grassBuffer.data[$var3 << 8 | $var2];
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $var5, $var7, $ptr);
    }
    function nms_BlockGrass_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var $var7, $var6, $var8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return;
            $var7 = $var3 + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockLightValue($var1, $var2, $var7, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 >= 4) {
                $ptr = 2;
                continue main;
            }
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_World_getBlockLightValue($var1, $var2, $var7, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 < 9)
                return;
            $var6 = ($var2 + ju_Random_nextInt($var5, 3) | 0) - 1 | 0;
            $var7 = ($var3 + ju_Random_nextInt($var5, 5) | 0) - 3 | 0;
            $var8 = ($var4 + ju_Random_nextInt($var5, 3) | 0) - 1 | 0;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var7, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (!var$9.$getCanBlockGrass()) {
                $ptr = 2;
                continue main;
            }
            if (ju_Random_nextInt($var5, 4))
                return;
            $ptr = 7;
            continue main;
        case 4:
            $tmp = nms_World_getBlockId($var1, $var6, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 5;
        case 5:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var2 != nms_Block_dirt.$blockID)
                return;
            $var2 = $var7 + 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = nms_World_getBlockLightValue($var1, $var6, $var2, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3 < 4)
                return;
            $ptr = 9;
            continue main;
        case 7:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var6 = nms_Block_dirt.$blockID;
            $ptr = 8;
        case 8:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 9:
            $tmp = nms_World_getBlockMaterial($var1, $var6, $var2, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5.$getCanBlockGrass())
                return;
            $var2 = nms_Block_grass.$blockID;
            $ptr = 10;
        case 10:
            nms_World_setBlockWithNotify($var1, $var6, $var7, $var8, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var7, $var6, $var8, var$9, $ptr);
    }
    function nms_BlockGrass_idDropped($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nms_Block_dirt;
            $var1 = 0;
            $ptr = 2;
        case 2:
            $tmp = var$3.$idDropped($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    var nms_BlockDirt = $rt_classWithoutFields(nms_Block);
    function nms_BlockDirt__init_0(var_0, var_1) {
        var var_2 = new nms_BlockDirt();
        nms_BlockDirt__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockDirt__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_ground;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_Material() {
        jl_Object.call(this);
        this.$canBurn = 0;
    }
    var nms_Material_air = null;
    var nms_Material_ground = null;
    var nms_Material_wood = null;
    var nms_Material_rock = null;
    var nms_Material_iron = null;
    var nms_Material_water = null;
    var nms_Material_lava = null;
    var nms_Material_leaves = null;
    var nms_Material_plants = null;
    var nms_Material_sponge = null;
    var nms_Material_cloth = null;
    var nms_Material_fire = null;
    var nms_Material_sand = null;
    var nms_Material_circuits = null;
    var nms_Material_glass = null;
    var nms_Material_tnt = null;
    var nms_Material_field_4262_q = null;
    var nms_Material_ice = null;
    var nms_Material_snow = null;
    var nms_Material_builtSnow = null;
    var nms_Material_cactus = null;
    var nms_Material_clay = null;
    var nms_Material_pumpkin = null;
    var nms_Material_portal = null;
    var nms_Material_cakeMaterial = null;
    function nms_Material_$callClinit() {
        nms_Material_$callClinit = $rt_eraseClinit(nms_Material);
        nms_Material__clinit_();
    }
    function nms_Material__init_0() {
        var var_0 = new nms_Material();
        nms_Material__init_(var_0);
        return var_0;
    }
    function nms_Material__init_($this) {
        nms_Material_$callClinit();
    }
    function nms_Material_getIsLiquid($this) {
        return 0;
    }
    function nms_Material_isSolid($this) {
        return 1;
    }
    function nms_Material_getCanBlockGrass($this) {
        return 1;
    }
    function nms_Material_getIsSolid($this) {
        return 1;
    }
    function nms_Material_setBurning($this) {
        $this.$canBurn = 1;
        return $this;
    }
    function nms_Material_getBurning($this) {
        return $this.$canBurn;
    }
    function nms_Material__clinit_() {
        var var$1;
        var$1 = new nms_MaterialTransparent;
        nms_Material__init_(var$1);
        nms_Material_air = var$1;
        nms_Material_ground = nms_Material__init_0();
        nms_Material_wood = nms_Material_setBurning(nms_Material__init_0());
        nms_Material_rock = nms_Material__init_0();
        nms_Material_iron = nms_Material__init_0();
        var$1 = new nms_MaterialLiquid;
        nms_Material__init_(var$1);
        nms_Material_water = var$1;
        var$1 = new nms_MaterialLiquid;
        nms_Material__init_(var$1);
        nms_Material_lava = var$1;
        nms_Material_leaves = nms_Material_setBurning(nms_Material__init_0());
        var$1 = new nms_MaterialLogic;
        nms_Material__init_(var$1);
        nms_Material_plants = var$1;
        nms_Material_sponge = nms_Material__init_0();
        nms_Material_cloth = nms_Material_setBurning(nms_Material__init_0());
        var$1 = new nms_MaterialTransparent;
        nms_Material__init_(var$1);
        nms_Material_fire = var$1;
        nms_Material_sand = nms_Material__init_0();
        var$1 = new nms_MaterialLogic;
        nms_Material__init_(var$1);
        nms_Material_circuits = var$1;
        nms_Material_glass = nms_Material__init_0();
        nms_Material_tnt = nms_Material_setBurning(nms_Material__init_0());
        nms_Material_field_4262_q = nms_Material__init_0();
        nms_Material_ice = nms_Material__init_0();
        var$1 = new nms_MaterialLogic;
        nms_Material__init_(var$1);
        nms_Material_snow = var$1;
        nms_Material_builtSnow = nms_Material__init_0();
        nms_Material_cactus = nms_Material__init_0();
        nms_Material_clay = nms_Material__init_0();
        nms_Material_pumpkin = nms_Material__init_0();
        nms_Material_portal = nms_Material__init_0();
        nms_Material_cakeMaterial = nms_Material__init_0();
    }
    var nms_BlockFlower = $rt_classWithoutFields(nms_Block);
    function nms_BlockFlower__init_0(var_0, var_1) {
        var var_2 = new nms_BlockFlower();
        nms_BlockFlower__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockFlower__init_($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_plants;
            $ptr = 1;
        case 1:
            nms_Block__init_0($this, $var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$blockIndexInTexture = $var2;
            $var1 = 1;
            $ptr = 2;
        case 2:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.30000001192092896;
            var$5 = 0.0;
            var$6 = 0.699999988079071;
            var$7 = 0.6000000238418579;
            $ptr = 3;
        case 3:
            nms_Block_setBlockBounds($this, var$4, var$5, var$4, var$6, var$7, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_BlockFlower_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = $this.$canThisPlantGrowOnThisBlockID($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_BlockFlower_canThisPlantGrowOnThisBlockID($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return $var1 != nms_Block_grass.$blockID && $var1 != nms_Block_dirt.$blockID && $var1 != nms_Block_tilledField.$blockID ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_BlockFlower_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockFlower_func_268_h($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockFlower_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockFlower_func_268_h($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockFlower_func_268_h($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $this.$canBlockStay($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 0;
            $ptr = 4;
        case 4:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockFlower_canBlockStay($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockLightValue($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 < 8) {
                $ptr = 4;
                continue main;
            }
            $var3 = $var3 - 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = $this.$canThisPlantGrowOnThisBlockID($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return !$var2 ? 0 : 1;
        case 4:
            $tmp = nms_World_canBlockSeeTheSky($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6)
                return 0;
            $var3 = $var3 - 1 | 0;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $ptr);
    }
    function nms_BlockFlower_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return null;
    }
    function nms_BlockFlower_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockFlower_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockFlower_getRenderType($this) {
        return 1;
    }
    var nms_BlockSapling = $rt_classWithoutFields(nms_BlockFlower);
    function nms_BlockSapling__init_0(var_0, var_1) {
        var var_2 = new nms_BlockSapling();
        nms_BlockSapling__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockSapling__init_($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockFlower__init_($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 0.09999999403953552;
            var$4 = 0.0;
            var$5 = 0.8999999761581421;
            var$6 = 0.800000011920929;
            $ptr = 2;
        case 2:
            nms_Block_setBlockBounds($this, var$3, var$4, var$3, var$5, var$6, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_BlockSapling_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockFlower_func_268_h($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var3 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockLightValue($var1, $var2, $var6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 >= 9 && !ju_Random_nextInt($var5, 5)) {
                $ptr = 3;
                continue main;
            }
            return;
        case 3:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 >= 15) {
                $ptr = 4;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            $ptr = 5;
            continue main;
        case 4:
            nms_BlockSapling_growTree($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockSapling_growTree($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = 0;
            $ptr = 1;
        case 1:
            $var1.$setBlock($var2, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = new nms_WorldGenTrees;
            if (!ju_Random_nextInt($var5, 10))
                $var6 = nms_WorldGenBigTree__init_0();
            $ptr = 2;
        case 2:
            $tmp = $var6.$generate($var1, $var5, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6)
                return;
            var$6 = $this.$blockID;
            $ptr = 3;
        case 3:
            $var1.$setBlock($var2, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, $ptr);
    }
    var nms_BlockFluids = $rt_classWithoutFields(nms_Block);
    function nms_BlockFluids__init_($this, $var1, $var2) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = (($var2 !== nms_Material_lava ? 12 : 14) * 16 | 0) + 13 | 0;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, var$3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            var$5 = 1.0;
            $ptr = 2;
        case 2:
            nms_Block_setBlockBounds($this, var$4, var$4, var$4, var$5, var$5, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 1;
            $ptr = 3;
        case 3:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, $ptr);
    }
    function nms_BlockFluids_getPercentAir($var0) {
        if ($var0 >= 8)
            $var0 = 0;
        return ($var0 + 1 | 0) / 9.0;
    }
    function nms_BlockFluids_getBlockTextureFromSide($this, $var1) {
        return $var1 && $var1 != 1 ? $this.$blockIndexInTexture + 1 | 0 : $this.$blockIndexInTexture;
    }
    function nms_BlockFluids_getFlowDecay($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 !== $this.$blockMaterial)
                return (-1);
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockFluids_getEffectiveFlowDecay($this, $var1, $var2, $var3, $var4) {
        var var$5, $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockMaterial($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 !== $this.$blockMaterial)
                return (-1);
            $ptr = 2;
        case 2:
            $tmp = $var1.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 >= 8)
                $var5 = 0;
            return $var5;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $var5, $ptr);
    }
    function nms_BlockFluids_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockFluids_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockFluids_canCollideCheck($this, $var1, $var2) {
        return $var2 && !$var1 ? 1 : 0;
    }
    function nms_BlockFluids_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockMaterial($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 === $this.$blockMaterial)
                $var2 = 0;
            else {
                nms_Material_$callClinit();
                if ($var6 === nms_Material_ice)
                    $var2 = 0;
                else {
                    if ($var5 != 1) {
                        $ptr = 2;
                        continue main;
                    }
                    $var2 = 1;
                }
            }
            return $var2;
        case 2:
            $tmp = nms_Block_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockFluids_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return null;
    }
    function nms_BlockFluids_getRenderType($this) {
        return 4;
    }
    function nms_BlockFluids_idDropped($this, $var1, $var2) {
        return 0;
    }
    function nms_BlockFluids_quantityDropped($this, $var1) {
        return 0;
    }
    function nms_BlockFluids_getFlowVector($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, $var7, var$8, var$9, var$10, $var13, var$12, var$13, var$14, $var12, $var11, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();$var11 = $thread.pop();$var12 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var13 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = nms_Vec3D_createVector(0.0, 0.0, 0.0);
            $ptr = 1;
        case 1:
            $tmp = nms_BlockFluids_getEffectiveFlowDecay($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = 0;
            var$8 = $var2 - 1 | 0;
            var$9 = $var4 - 1 | 0;
            var$10 = $var3 - 1 | 0;
            $var13 = $var6 - 8 | 0;
            var$12 = $var3 - $var3 | 0;
            if ($var7 >= 4) {
                $ptr = 2;
                continue main;
            }
            var$13 = !$var7 ? var$8 : $var2;
            var$14 = $var7 == 1 ? var$9 : $var4;
            if ($var7 == 2)
                var$13 = var$13 + 1 | 0;
            if ($var7 == 3)
                var$14 = var$14 + 1 | 0;
            $ptr = 7;
            continue main;
        case 2:
            $tmp = $var1.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (var$13 < 8)
                return nms_Vec3D_normalize($var5);
            $var13 = 0;
            var$13 = 2;
            $ptr = 3;
        case 3:
            $tmp = nms_BlockFluids_shouldSideBeRendered($this, $var1, $var2, $var3, var$9, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (var$13)
                $var13 = 1;
            if (!$var13) {
                var$13 = $var4 + 1 | 0;
                $var12 = 3;
                $ptr = 4;
                continue main;
            }
            $var13 = 1;
            if (!$var13) {
                var$13 = 4;
                $ptr = 5;
                continue main;
            }
            $var13 = 1;
            if (!$var13) {
                var$13 = $var2 + 1 | 0;
                $var12 = 5;
                $ptr = 6;
                continue main;
            }
            $var13 = 1;
            if (!$var13) {
                var$13 = $var3 + 1 | 0;
                $var12 = 2;
                $ptr = 9;
                continue main;
            }
            $var13 = 1;
            if (!$var13) {
                var$13 = $var3 + 1 | 0;
                $var12 = $var4 + 1 | 0;
                var$10 = 3;
                $ptr = 11;
                continue main;
            }
            $var13 = 1;
            if (!$var13) {
                var$13 = $var3 + 1 | 0;
                $var12 = 4;
                $ptr = 12;
                continue main;
            }
            $var13 = 1;
            if ($var13) {
                $var13 = 1;
                if ($var13)
                    $var5 = nms_Vec3D_addVector(nms_Vec3D_normalize($var5), 0.0, (-6.0), 0.0);
                return nms_Vec3D_normalize($var5);
            }
            $var2 = $var2 + 1 | 0;
            $var3 = $var3 + 1 | 0;
            var$13 = 5;
            $ptr = 13;
            continue main;
        case 4:
            $tmp = nms_BlockFluids_shouldSideBeRendered($this, $var1, $var2, $var3, var$13, $var12);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (var$13)
                $var13 = 1;
            if (!$var13) {
                var$13 = 4;
                $ptr = 5;
                continue main;
            }
            $var13 = 1;
            if (!$var13) {
                var$13 = $var2 + 1 | 0;
                $var12 = 5;
                $ptr = 6;
                continue main;
            }
            $var13 = 1;
            if (!$var13) {
                var$13 = $var3 + 1 | 0;
                $var12 = 2;
                $ptr = 9;
                continue main;
            }
            $var13 = 1;
            if (!$var13) {
                var$13 = $var3 + 1 | 0;
                $var12 = $var4 + 1 | 0;
                var$10 = 3;
                $ptr = 11;
                continue main;
            }
            $var13 = 1;
            if (!$var13) {
                var$13 = $var3 + 1 | 0;
                $var12 = 4;
                $ptr = 12;
                continue main;
            }
            $var13 = 1;
            if ($var13) {
                $var13 = 1;
                if ($var13)
                    $var5 = nms_Vec3D_addVector(nms_Vec3D_normalize($var5), 0.0, (-6.0), 0.0);
                return nms_Vec3D_normalize($var5);
            }
            $var2 = $var2 + 1 | 0;
            $var3 = $var3 + 1 | 0;
            var$13 = 5;
            $ptr = 13;
            continue main;
        case 5:
            $tmp = nms_BlockFluids_shouldSideBeRendered($this, $var1, var$8, $var3, $var4, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (var$13)
                $var13 = 1;
            if (!$var13) {
                var$13 = $var2 + 1 | 0;
                $var12 = 5;
                $ptr = 6;
                continue main;
            }
            $var13 = 1;
            if (!$var13) {
                var$13 = $var3 + 1 | 0;
                $var12 = 2;
                $ptr = 9;
                continue main;
            }
            $var13 = 1;
            if (!$var13) {
                var$13 = $var3 + 1 | 0;
                $var12 = $var4 + 1 | 0;
                var$10 = 3;
                $ptr = 11;
                continue main;
            }
            $var13 = 1;
            if (!$var13) {
                var$13 = $var3 + 1 | 0;
                $var12 = 4;
                $ptr = 12;
                continue main;
            }
            $var13 = 1;
            if ($var13) {
                $var13 = 1;
                if ($var13)
                    $var5 = nms_Vec3D_addVector(nms_Vec3D_normalize($var5), 0.0, (-6.0), 0.0);
                return nms_Vec3D_normalize($var5);
            }
            $var2 = $var2 + 1 | 0;
            $var3 = $var3 + 1 | 0;
            var$13 = 5;
            $ptr = 13;
            continue main;
        case 6:
            $tmp = nms_BlockFluids_shouldSideBeRendered($this, $var1, var$13, $var3, $var4, $var12);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (var$13)
                $var13 = 1;
            if (!$var13) {
                var$13 = $var3 + 1 | 0;
                $var12 = 2;
                $ptr = 9;
                continue main;
            }
            $var13 = 1;
            if (!$var13) {
                var$13 = $var3 + 1 | 0;
                $var12 = $var4 + 1 | 0;
                var$10 = 3;
                $ptr = 11;
                continue main;
            }
            $var13 = 1;
            if (!$var13) {
                var$13 = $var3 + 1 | 0;
                $var12 = 4;
                $ptr = 12;
                continue main;
            }
            $var13 = 1;
            if ($var13) {
                $var13 = 1;
                if ($var13)
                    $var5 = nms_Vec3D_addVector(nms_Vec3D_normalize($var5), 0.0, (-6.0), 0.0);
                return nms_Vec3D_normalize($var5);
            }
            $var2 = $var2 + 1 | 0;
            $var3 = $var3 + 1 | 0;
            var$13 = 5;
            $ptr = 13;
            continue main;
        case 7:
            $tmp = nms_BlockFluids_getEffectiveFlowDecay($this, $var1, var$13, $var3, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            if ($var11 < 0) {
                $ptr = 8;
                continue main;
            }
            if ($var11 >= 0) {
                $var12 = $var11 - $var6 | 0;
                $var5 = nms_Vec3D_addVector($var5, $rt_imul(var$13 - $var2 | 0, $var12), $rt_imul(var$12, $var12), $rt_imul(var$14 - $var4 | 0, $var12));
            }
            $var7 = $var7 + 1 | 0;
            if ($var7 >= 4) {
                $ptr = 2;
                continue main;
            }
            var$13 = !$var7 ? var$8 : $var2;
            var$14 = $var7 == 1 ? var$9 : $var4;
            if ($var7 == 2)
                var$13 = var$13 + 1 | 0;
            if ($var7 == 3)
                var$14 = var$14 + 1 | 0;
            continue main;
        case 8:
            $tmp = $var1.$getBlockMaterial(var$13, $var3, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$17 = $tmp;
            if (!var$17.$getIsSolid()) {
                $ptr = 10;
                continue main;
            }
            $var7 = $var7 + 1 | 0;
            if ($var7 >= 4) {
                $ptr = 2;
                continue main;
            }
            var$13 = !$var7 ? var$8 : $var2;
            var$14 = $var7 == 1 ? var$9 : $var4;
            if ($var7 == 2)
                var$13 = var$13 + 1 | 0;
            if ($var7 == 3)
                var$14 = var$14 + 1 | 0;
            $ptr = 7;
            continue main;
        case 9:
            $tmp = nms_BlockFluids_shouldSideBeRendered($this, $var1, $var2, var$13, var$9, $var12);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (var$13)
                $var13 = 1;
            if (!$var13) {
                var$13 = $var3 + 1 | 0;
                $var12 = $var4 + 1 | 0;
                var$10 = 3;
                $ptr = 11;
                continue main;
            }
            $var13 = 1;
            if (!$var13) {
                var$13 = $var3 + 1 | 0;
                $var12 = 4;
                $ptr = 12;
                continue main;
            }
            $var13 = 1;
            if ($var13) {
                $var13 = 1;
                if ($var13)
                    $var5 = nms_Vec3D_addVector(nms_Vec3D_normalize($var5), 0.0, (-6.0), 0.0);
                return nms_Vec3D_normalize($var5);
            }
            $var2 = $var2 + 1 | 0;
            $var3 = $var3 + 1 | 0;
            var$13 = 5;
            $ptr = 13;
            continue main;
        case 10:
            $tmp = nms_BlockFluids_getEffectiveFlowDecay($this, $var1, var$13, var$10, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if ($var12 >= 0) {
                $var12 = $var12 - $var13 | 0;
                $var5 = nms_Vec3D_addVector($var5, $rt_imul(var$13 - $var2 | 0, $var12), $rt_imul(var$12, $var12), $rt_imul(var$14 - $var4 | 0, $var12));
            }
            $var7 = $var7 + 1 | 0;
            if ($var7 >= 4) {
                $ptr = 2;
                continue main;
            }
            var$13 = !$var7 ? var$8 : $var2;
            var$14 = $var7 == 1 ? var$9 : $var4;
            if ($var7 == 2)
                var$13 = var$13 + 1 | 0;
            if ($var7 == 3)
                var$14 = var$14 + 1 | 0;
            $ptr = 7;
            continue main;
        case 11:
            $tmp = nms_BlockFluids_shouldSideBeRendered($this, $var1, $var2, var$13, $var12, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (var$13)
                $var13 = 1;
            if (!$var13) {
                var$13 = $var3 + 1 | 0;
                $var12 = 4;
                $ptr = 12;
                continue main;
            }
            $var13 = 1;
            if ($var13) {
                $var13 = 1;
                if ($var13)
                    $var5 = nms_Vec3D_addVector(nms_Vec3D_normalize($var5), 0.0, (-6.0), 0.0);
                return nms_Vec3D_normalize($var5);
            }
            $var2 = $var2 + 1 | 0;
            $var3 = $var3 + 1 | 0;
            var$13 = 5;
            $ptr = 13;
            continue main;
        case 12:
            $tmp = nms_BlockFluids_shouldSideBeRendered($this, $var1, var$8, var$13, $var4, $var12);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (var$13)
                $var13 = 1;
            if ($var13) {
                $var13 = 1;
                if ($var13)
                    $var5 = nms_Vec3D_addVector(nms_Vec3D_normalize($var5), 0.0, (-6.0), 0.0);
                return nms_Vec3D_normalize($var5);
            }
            $var2 = $var2 + 1 | 0;
            $var3 = $var3 + 1 | 0;
            var$13 = 5;
            $ptr = 13;
        case 13:
            $tmp = nms_BlockFluids_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2)
                $var13 = 1;
            if ($var13)
                $var5 = nms_Vec3D_addVector(nms_Vec3D_normalize($var5), 0.0, (-6.0), 0.0);
            return nms_Vec3D_normalize($var5);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, var$9, var$10, $var13, var$12, var$13, var$14, $var12, $var11, var$17, $ptr);
    }
    function nms_BlockFluids_velocityToAddToEntity($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_BlockFluids_getFlowVector($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var6.$xCoord = $var6.$xCoord + $var7.$xCoord;
            $var6.$yCoord = $var6.$yCoord + $var7.$yCoord;
            $var6.$zCoord = $var6.$zCoord + $var7.$zCoord;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_BlockFluids_tickRate($this) {
        var var$1;
        var$1 = $this.$blockMaterial;
        nms_Material_$callClinit();
        return var$1 === nms_Material_water ? 5 : var$1 !== nms_Material_lava ? 0 : 30;
    }
    function nms_BlockFluids_getBlockBrightness($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$getLightBrightness($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var3 = $var3 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = $var1.$getLightBrightness($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var5 > $var6)
                $var6 = $var5;
            return $var6;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockFluids_getRenderBlockPass($this) {
        var var$1;
        var$1 = $this.$blockMaterial;
        nms_Material_$callClinit();
        return var$1 !== nms_Material_water ? 0 : 1;
    }
    function nms_BlockFluids_randomDisplayTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var6, var$8, $var12, $var8, var$11, var$12, var$13, $var10, var$15, var$16, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();$var10 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var8 = $thread.pop();$var12 = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $this.$blockMaterial;
            nms_Material_$callClinit();
            if (var$6 === nms_Material_water && !ju_Random_nextInt($var5, 64)) {
                $ptr = 2;
                continue main;
            }
            if ($this.$blockMaterial !== nms_Material_lava)
                return;
            $var6 = $var3 + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8 !== nms_Material_air)
                return;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 > 0 && $var6 < 8) {
                $var12 = $var2 + 0.5;
                $var8 = $var3 + 0.5;
                var$11 = $var4 + 0.5;
                var$8 = $rt_s(915);
                var$12 = ju_Random_nextFloat($var5) * 0.25 + 0.75;
                var$13 = ju_Random_nextFloat($var5) * 1.0 + 0.5;
                $ptr = 4;
                continue main;
            }
            if ($this.$blockMaterial !== nms_Material_lava)
                return;
            $var6 = $var3 + 1 | 0;
            $ptr = 1;
            continue main;
        case 3:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$var6 && !ju_Random_nextInt($var5, 100)) {
                $var12 = $var2 + ju_Random_nextFloat($var5);
                $var8 = $var3 + $this.$maxY;
                $var10 = $var4 + ju_Random_nextFloat($var5);
                $var5 = $rt_s(603);
                var$11 = 0.0;
                var$15 = 0.0;
                var$16 = 0.0;
                $ptr = 5;
                continue main;
            }
            return;
        case 4:
            nms_World_playSoundEffect($var1, $var12, $var8, var$11, var$8, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$blockMaterial !== nms_Material_lava)
                return;
            $var6 = $var3 + 1 | 0;
            $ptr = 1;
            continue main;
        case 5:
            nms_World_spawnParticle($var1, $var5, $var12, $var8, $var10, var$11, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, var$8, $var12, $var8, var$11, var$12, var$13, $var10, var$15, var$16, $ptr);
    }
    function nms_BlockFluids_func_293_a($var0, $var1, $var2, $var3, $var4) {
        var $var5, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = null;
            nms_Material_$callClinit();
            if ($var4 === nms_Material_water) {
                $ptr = 1;
                continue main;
            }
            if ($var4 !== nms_Material_lava) {
                var$7 = $var5.$xCoord;
                return var$7 === 0.0 && $var5.$zCoord === 0.0 ? (-1000.0) : jl_Math_atan2($var5.$zCoord, var$7) - 1.5707963267948966;
            }
            $ptr = 3;
            continue main;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = nms_Block_waterMoving;
            $ptr = 2;
        case 2:
            $tmp = nms_BlockFluids_getFlowVector($var5, $var0, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var4 !== nms_Material_lava) {
                var$7 = $var5.$xCoord;
                return var$7 === 0.0 && $var5.$zCoord === 0.0 ? (-1000.0) : jl_Math_atan2($var5.$zCoord, var$7) - 1.5707963267948966;
            }
            $ptr = 3;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = nms_Block_lavaMoving;
            $ptr = 4;
        case 4:
            $tmp = nms_BlockFluids_getFlowVector($var4, $var0, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            var$7 = $var5.$xCoord;
            return var$7 === 0.0 && $var5.$zCoord === 0.0 ? (-1000.0) : jl_Math_atan2($var5.$zCoord, var$7) - 1.5707963267948966;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $var2, $var3, $var4, $var5, var$7, $ptr);
    }
    function nms_BlockFluids_onBlockAdded($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockFluids_checkForHarden($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_BlockFluids_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockFluids_checkForHarden($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockFluids_checkForHarden($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 == $this.$blockID) {
                var$6 = $this.$blockMaterial;
                nms_Material_$callClinit();
                if (var$6 === nms_Material_lava) {
                    $var5 = 0;
                    $var6 = $var4 - 1 | 0;
                    $ptr = 2;
                    continue main;
                }
            }
            return;
        case 2:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 === nms_Material_water)
                $var5 = 1;
            if (!$var5) {
                $var6 = $var4 + 1 | 0;
                $ptr = 3;
                continue main;
            }
            $var5 = 1;
            if (!$var5) {
                $var6 = $var2 - 1 | 0;
                $ptr = 4;
                continue main;
            }
            $var5 = 1;
            if (!$var5) {
                $var6 = $var2 + 1 | 0;
                $ptr = 5;
                continue main;
            }
            $var5 = 1;
            if (!$var5) {
                $var6 = $var3 + 1 | 0;
                $ptr = 6;
                continue main;
            }
            $var5 = 1;
            if (!$var5)
                return;
            $ptr = 7;
            continue main;
        case 3:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 === nms_Material_water)
                $var5 = 1;
            if (!$var5) {
                $var6 = $var2 - 1 | 0;
                $ptr = 4;
                continue main;
            }
            $var5 = 1;
            if (!$var5) {
                $var6 = $var2 + 1 | 0;
                $ptr = 5;
                continue main;
            }
            $var5 = 1;
            if (!$var5) {
                $var6 = $var3 + 1 | 0;
                $ptr = 6;
                continue main;
            }
            $var5 = 1;
            if (!$var5)
                return;
            $ptr = 7;
            continue main;
        case 4:
            $tmp = nms_World_getBlockMaterial($var1, $var6, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 === nms_Material_water)
                $var5 = 1;
            if (!$var5) {
                $var6 = $var2 + 1 | 0;
                $ptr = 5;
                continue main;
            }
            $var5 = 1;
            if (!$var5) {
                $var6 = $var3 + 1 | 0;
                $ptr = 6;
                continue main;
            }
            $var5 = 1;
            if (!$var5)
                return;
            $ptr = 7;
            continue main;
        case 5:
            $tmp = nms_World_getBlockMaterial($var1, $var6, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 === nms_Material_water)
                $var5 = 1;
            if (!$var5) {
                $var6 = $var3 + 1 | 0;
                $ptr = 6;
                continue main;
            }
            $var5 = 1;
            if (!$var5)
                return;
            $ptr = 7;
            continue main;
        case 6:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 === nms_Material_water)
                $var5 = 1;
            if (!$var5)
                return;
            $ptr = 7;
        case 7:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$var6) {
                $ptr = 8;
                continue main;
            }
            if ($var6 > 4) {
                $ptr = 10;
                continue main;
            }
            $ptr = 11;
            continue main;
        case 8:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = nms_Block_obsidian.$blockID;
            $ptr = 9;
        case 9:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            nms_BlockFluids_triggerLavaMixEffects($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 11:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = nms_Block_cobblestone.$blockID;
            $ptr = 12;
        case 12:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, $ptr);
    }
    function nms_BlockFluids_triggerLavaMixEffects($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, var$7, var$8, var$9, var$10, $var5, var$12, var$13, var$14, var$15, var$16, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var5 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var2 + 0.5;
            var$6 = $var3 + 0.5;
            var$7 = $var4 + 0.5;
            var$8 = $rt_s(916);
            var$9 = 0.5;
            var$10 = 2.5999999046325684 + (ju_Random_nextFloat($var1.$rand2) - ju_Random_nextFloat($var1.$rand2)) * 0.800000011920929;
            $ptr = 1;
        case 1:
            nms_World_playSoundEffect($var1, var$5, var$6, var$7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            var$5 = $var2;
            var$12 = $var3 + 1.2;
            var$13 = $var4;
            if ($var5 >= 8)
                return;
            var$8 = $rt_s(917);
            var$7 = var$5 + jl_Math_random();
            var$14 = var$13 + jl_Math_random();
            var$15 = 0.0;
            var$16 = 0.0;
            var$6 = 0.0;
            $ptr = 2;
        case 2:
            nms_World_spawnParticle($var1, var$8, var$7, var$12, var$14, var$15, var$16, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $var5 + 1 | 0;
            if ($var5 >= 8)
                return;
            var$8 = $rt_s(917);
            var$7 = var$5 + jl_Math_random();
            var$14 = var$13 + jl_Math_random();
            var$15 = 0.0;
            var$16 = 0.0;
            var$6 = 0.0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, var$10, $var5, var$12, var$13, var$14, var$15, var$16, $ptr);
    }
    function nms_BlockFlowing() {
        var a = this; nms_BlockFluids.call(a);
        a.$numAdjacentSources = 0;
        a.$isOptimalFlowDirection = null;
        a.$flowCost = null;
    }
    function nms_BlockFlowing__init_0(var_0, var_1) {
        var var_2 = new nms_BlockFlowing();
        nms_BlockFlowing__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockFlowing__init_($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockFluids__init_($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$numAdjacentSources = 0;
            $this.$isOptimalFlowDirection = $rt_createBooleanArray(4);
            $this.$flowCost = $rt_createIntArray(4);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockFlowing_func_22034_j($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            var$6 = $this.$blockID + 1 | 0;
            $ptr = 2;
        case 2:
            $var1.$setBlockAndMetadata($var2, $var3, $var4, var$6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_World_markBlocksDirty($var1, $var2, $var3, $var4, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_World_markBlockNeedsUpdate($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockFlowing_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, var$8, $var8, $var9, $var12, $var10, $var11, var$14, var$15, $var13, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();$var13 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var12 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_BlockFluids_getFlowDecay($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = 1;
            var$8 = $this.$blockMaterial;
            nms_Material_$callClinit();
            if (var$8 === nms_Material_lava && !$var1.$worldProvider.$isHellWorld)
                $var7 = 2;
            $var8 = 1;
            if ($var6 <= 0) {
                $ptr = 2;
                continue main;
            }
            $var9 = (-100);
            $this.$numAdjacentSources = 0;
            $var12 = $var2 - 1 | 0;
            $ptr = 3;
            continue main;
        case 2:
            nms_BlockFlowing_func_22034_j($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $var3 - 1 | 0;
            $ptr = 7;
            continue main;
        case 3:
            $tmp = nms_BlockFlowing_getSmallestFlowDecay($this, $var1, $var12, $var3, $var4, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            $var9 = $var2 + 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_BlockFlowing_getSmallestFlowDecay($this, $var1, $var9, $var3, $var4, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $var12 = $var4 - 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = nms_BlockFlowing_getSmallestFlowDecay($this, $var1, $var2, $var3, $var12, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $var12 = $var4 + 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = nms_BlockFlowing_getSmallestFlowDecay($this, $var1, $var2, $var3, $var12, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $var11 = $var9 + $var7 | 0;
            if (!($var11 < 8 && $var9 >= 0))
                $var11 = (-1);
            $var9 = $var3 + 1 | 0;
            $ptr = 8;
            continue main;
        case 7:
            $tmp = nms_BlockFlowing_liquidCanDisplaceBlock($this, $var1, $var2, $var10, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var9) {
                if ($var6 >= 8) {
                    $var3 = $this.$blockID;
                    $ptr = 10;
                    continue main;
                }
                $var9 = $this.$blockID;
                $var3 = $var6 + 8 | 0;
                $ptr = 9;
                continue main;
            }
            if ($var6 >= 0) {
                if ($var6) {
                    $ptr = 12;
                    continue main;
                }
                var$14 = 0;
                var$15 = $var2 - 1 | 0;
                $var8 = $var4 - 1 | 0;
                if (var$14 < 4) {
                    $this.$flowCost.data[var$14] = 1000;
                    $var9 = !var$14 ? var$15 : $var2;
                    if (var$14 == 1)
                        $var9 = $var9 + 1 | 0;
                    $var12 = var$14 == 2 ? $var8 : $var4;
                    if (var$14 == 3)
                        $var12 = $var12 + 1 | 0;
                    $ptr = 23;
                    continue main;
                }
                $var13 = $this.$flowCost.data;
                $var9 = $var13[0];
                $var12 = 1;
                while ($var12 < 4) {
                    if ($var13[$var12] < $var9)
                        $var9 = $var13[$var12];
                    $var12 = $var12 + 1 | 0;
                }
                $var12 = 0;
                while ($var12 < 4) {
                    var$17 = $this.$isOptimalFlowDirection;
                    var$17.data[$var12] = $var13[$var12] != $var9 ? 0 : 1;
                    $var12 = $var12 + 1 | 0;
                }
                $var13 = $this.$isOptimalFlowDirection;
                $var10 = $var6 + $var7 | 0;
                if ($var6 >= 8)
                    $var10 = 1;
                if ($var10 >= 8)
                    return;
                $var13 = $var13.data;
                if ($var13[0]) {
                    $ptr = 22;
                    continue main;
                }
                if ($var13[1]) {
                    $var9 = $var2 + 1 | 0;
                    $ptr = 24;
                    continue main;
                }
                if ($var13[2]) {
                    $ptr = 26;
                    continue main;
                }
                if ($var13[3]) {
                    $var4 = $var4 + 1 | 0;
                    $ptr = 29;
                    continue main;
                }
            }
            return;
        case 8:
            $tmp = nms_BlockFluids_getFlowDecay($this, $var1, $var2, $var9, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if ($var12 >= 0) {
                $ptr = 11;
                continue main;
            }
            if ($this.$numAdjacentSources >= 2 && $this.$blockMaterial === nms_Material_water) {
                $var9 = $var3 - 1 | 0;
                $ptr = 13;
                continue main;
            }
            if ($this.$blockMaterial === nms_Material_lava && $var6 < 8 && $var11 < 8 && $var11 > $var6 && ju_Random_nextInt($var5, 4)) {
                $var8 = 0;
                $var11 = $var6;
            }
            if ($var11 != $var6) {
                if ($var11 >= 0) {
                    $ptr = 17;
                    continue main;
                }
                $var9 = 0;
                $ptr = 21;
                continue main;
            }
            if ($var8) {
                $ptr = 16;
                continue main;
            }
            $var11 = $var6;
            $var6 = $var11;
            $var10 = $var3 - 1 | 0;
            $ptr = 7;
            continue main;
        case 9:
            nms_World_setBlockAndMetadataWithNotify($var1, $var2, $var10, $var4, $var9, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 10:
            nms_World_setBlockAndMetadataWithNotify($var1, $var2, $var10, $var4, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 11:
            $tmp = nms_BlockFluids_getFlowDecay($this, $var1, $var2, $var9, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            if ($var11 < 8)
                $var11 = $var11 + 8 | 0;
            if ($this.$numAdjacentSources >= 2 && $this.$blockMaterial === nms_Material_water) {
                $var9 = $var3 - 1 | 0;
                $ptr = 13;
                continue main;
            }
            if ($this.$blockMaterial === nms_Material_lava && $var6 < 8 && $var11 < 8 && $var11 > $var6 && ju_Random_nextInt($var5, 4)) {
                $var8 = 0;
                $var11 = $var6;
            }
            if ($var11 != $var6) {
                if ($var11 >= 0) {
                    $ptr = 17;
                    continue main;
                }
                $var9 = 0;
                $ptr = 21;
                continue main;
            }
            if ($var8) {
                $ptr = 16;
                continue main;
            }
            $var11 = $var6;
            $var6 = $var11;
            $var10 = $var3 - 1 | 0;
            $ptr = 7;
            continue main;
        case 12:
            $tmp = nms_BlockFlowing_blockBlocksFlow($this, $var1, $var2, $var10, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var9) {
                var$14 = 0;
                var$15 = $var2 - 1 | 0;
                $var8 = $var4 - 1 | 0;
                if (var$14 < 4) {
                    $this.$flowCost.data[var$14] = 1000;
                    $var9 = !var$14 ? var$15 : $var2;
                    if (var$14 == 1)
                        $var9 = $var9 + 1 | 0;
                    $var12 = var$14 == 2 ? $var8 : $var4;
                    if (var$14 == 3)
                        $var12 = $var12 + 1 | 0;
                    $ptr = 23;
                    continue main;
                }
                $var13 = $this.$flowCost.data;
                $var9 = $var13[0];
                $var12 = 1;
                while ($var12 < 4) {
                    if ($var13[$var12] < $var9)
                        $var9 = $var13[$var12];
                    $var12 = $var12 + 1 | 0;
                }
                $var12 = 0;
                while ($var12 < 4) {
                    var$17 = $this.$isOptimalFlowDirection;
                    var$17.data[$var12] = $var13[$var12] != $var9 ? 0 : 1;
                    $var12 = $var12 + 1 | 0;
                }
                $var13 = $this.$isOptimalFlowDirection;
                $var10 = $var6 + $var7 | 0;
                if ($var6 >= 8)
                    $var10 = 1;
                if ($var10 >= 8)
                    return;
                $var13 = $var13.data;
                if ($var13[0]) {
                    $ptr = 22;
                    continue main;
                }
                if ($var13[1]) {
                    $var9 = $var2 + 1 | 0;
                    $ptr = 24;
                    continue main;
                }
                if ($var13[2]) {
                    $ptr = 26;
                    continue main;
                }
                if ($var13[3]) {
                    $var4 = $var4 + 1 | 0;
                    $ptr = 29;
                    continue main;
                }
            }
            return;
        case 13:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var9, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if (!$var12) {
                $ptr = 14;
                continue main;
            }
            $var11 = 0;
            if ($this.$blockMaterial === nms_Material_lava && $var6 < 8 && $var11 < 8 && $var11 > $var6 && ju_Random_nextInt($var5, 4)) {
                $var8 = 0;
                $var11 = $var6;
            }
            if ($var11 != $var6) {
                if ($var11 >= 0) {
                    $ptr = 17;
                    continue main;
                }
                $var9 = 0;
                $ptr = 21;
                continue main;
            }
            if ($var8) {
                $ptr = 16;
                continue main;
            }
            $var11 = $var6;
            $var6 = $var11;
            $var10 = $var3 - 1 | 0;
            $ptr = 7;
            continue main;
        case 14:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var9, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8 === $this.$blockMaterial) {
                $ptr = 15;
                continue main;
            }
            if ($this.$blockMaterial === nms_Material_lava && $var6 < 8 && $var11 < 8 && $var11 > $var6 && ju_Random_nextInt($var5, 4)) {
                $var8 = 0;
                $var11 = $var6;
            }
            if ($var11 != $var6) {
                if ($var11 >= 0) {
                    $ptr = 17;
                    continue main;
                }
                $var9 = 0;
                $ptr = 21;
                continue main;
            }
            if ($var8) {
                $ptr = 16;
                continue main;
            }
            $var11 = $var6;
            $var6 = $var11;
            $var10 = $var3 - 1 | 0;
            $ptr = 7;
            continue main;
        case 15:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if (!$var9)
                $var11 = 0;
            if ($this.$blockMaterial === nms_Material_lava && $var6 < 8 && $var11 < 8 && $var11 > $var6 && ju_Random_nextInt($var5, 4)) {
                $var8 = 0;
                $var11 = $var6;
            }
            if ($var11 != $var6) {
                if ($var11 >= 0) {
                    $ptr = 17;
                    continue main;
                }
                $var9 = 0;
                $ptr = 21;
                continue main;
            }
            if ($var8) {
                $ptr = 16;
                continue main;
            }
            $var11 = $var6;
            $var6 = $var11;
            $var10 = $var3 - 1 | 0;
            $ptr = 7;
            continue main;
        case 16:
            nms_BlockFlowing_func_22034_j($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $var6;
            $var6 = $var11;
            $var10 = $var3 - 1 | 0;
            $ptr = 7;
            continue main;
        case 17:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $this.$blockID;
            $ptr = 18;
        case 18:
            $tmp = nms_BlockFluids_tickRate($this);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            $ptr = 19;
        case 19:
            $var1.$scheduleBlockUpdate($var2, $var3, $var4, $var9, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $this.$blockID;
            $ptr = 20;
        case 20:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var11;
            $var10 = $var3 - 1 | 0;
            $ptr = 7;
            continue main;
        case 21:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var11;
            $var10 = $var3 - 1 | 0;
            $ptr = 7;
            continue main;
        case 22:
            nms_BlockFlowing_flowIntoBlock($this, $var1, var$15, $var3, $var4, $var10);
            if ($rt_suspending()) {
                break main;
            }
            if ($var13[1]) {
                $var9 = $var2 + 1 | 0;
                $ptr = 24;
                continue main;
            }
            if ($var13[2]) {
                $ptr = 26;
                continue main;
            }
            if (!$var13[3])
                return;
            $var4 = $var4 + 1 | 0;
            $ptr = 29;
            continue main;
        case 23:
            $tmp = nms_BlockFlowing_blockBlocksFlow($this, $var1, $var9, $var3, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            if (!$var11) {
                $ptr = 25;
                continue main;
            }
            var$14 = var$14 + 1 | 0;
            if (var$14 >= 4) {
                $var13 = $this.$flowCost.data;
                $var9 = $var13[0];
                $var12 = 1;
                while ($var12 < 4) {
                    if ($var13[$var12] < $var9)
                        $var9 = $var13[$var12];
                    $var12 = $var12 + 1 | 0;
                }
                $var12 = 0;
                while ($var12 < 4) {
                    var$17 = $this.$isOptimalFlowDirection;
                    var$17.data[$var12] = $var13[$var12] != $var9 ? 0 : 1;
                    $var12 = $var12 + 1 | 0;
                }
                $var13 = $this.$isOptimalFlowDirection;
                $var10 = $var6 + $var7 | 0;
                if ($var6 >= 8)
                    $var10 = 1;
                if ($var10 >= 8)
                    return;
                $var13 = $var13.data;
                if ($var13[0]) {
                    $ptr = 22;
                    continue main;
                }
                if ($var13[1]) {
                    $var9 = $var2 + 1 | 0;
                    $ptr = 24;
                    continue main;
                }
                if ($var13[2]) {
                    $ptr = 26;
                    continue main;
                }
                if (!$var13[3])
                    return;
                $var4 = $var4 + 1 | 0;
                $ptr = 29;
                continue main;
            }
            $this.$flowCost.data[var$14] = 1000;
            $var9 = !var$14 ? var$15 : $var2;
            if (var$14 == 1)
                $var9 = $var9 + 1 | 0;
            $var12 = var$14 == 2 ? $var8 : $var4;
            if (var$14 == 3)
                $var12 = $var12 + 1 | 0;
            continue main;
        case 24:
            nms_BlockFlowing_flowIntoBlock($this, $var1, $var9, $var3, $var4, $var10);
            if ($rt_suspending()) {
                break main;
            }
            if ($var13[2]) {
                $ptr = 26;
                continue main;
            }
            if (!$var13[3])
                return;
            $var4 = $var4 + 1 | 0;
            $ptr = 29;
            continue main;
        case 25:
            $tmp = nms_World_getBlockMaterial($var1, $var9, $var3, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 !== $this.$blockMaterial) {
                $ptr = 27;
                continue main;
            }
            $ptr = 28;
            continue main;
        case 26:
            nms_BlockFlowing_flowIntoBlock($this, $var1, $var2, $var3, $var8, $var10);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var13[3])
                return;
            $var4 = $var4 + 1 | 0;
            $ptr = 29;
            continue main;
        case 27:
            $tmp = nms_BlockFlowing_blockBlocksFlow($this, $var1, $var9, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            if ($var11) {
                $var13 = $this.$flowCost.data;
                $var11 = 1;
                $ptr = 30;
                continue main;
            }
            $this.$flowCost.data[var$14] = 0;
            var$14 = var$14 + 1 | 0;
            if (var$14 >= 4) {
                $var13 = $this.$flowCost.data;
                $var9 = $var13[0];
                $var12 = 1;
                while ($var12 < 4) {
                    if ($var13[$var12] < $var9)
                        $var9 = $var13[$var12];
                    $var12 = $var12 + 1 | 0;
                }
                $var12 = 0;
                while ($var12 < 4) {
                    var$17 = $this.$isOptimalFlowDirection;
                    var$17.data[$var12] = $var13[$var12] != $var9 ? 0 : 1;
                    $var12 = $var12 + 1 | 0;
                }
                $var13 = $this.$isOptimalFlowDirection;
                $var10 = $var6 + $var7 | 0;
                if ($var6 >= 8)
                    $var10 = 1;
                if ($var10 >= 8)
                    return;
                $var13 = $var13.data;
                if ($var13[0]) {
                    $ptr = 22;
                    continue main;
                }
                if ($var13[1]) {
                    $var9 = $var2 + 1 | 0;
                    $ptr = 24;
                    continue main;
                }
                if ($var13[2]) {
                    $ptr = 26;
                    continue main;
                }
                if (!$var13[3])
                    return;
                $var4 = $var4 + 1 | 0;
                $ptr = 29;
                continue main;
            }
            $this.$flowCost.data[var$14] = 1000;
            $var9 = !var$14 ? var$15 : $var2;
            if (var$14 == 1)
                $var9 = $var9 + 1 | 0;
            $var12 = var$14 == 2 ? $var8 : $var4;
            if (var$14 == 3)
                $var12 = $var12 + 1 | 0;
            $ptr = 23;
            continue main;
        case 28:
            $tmp = nms_World_getBlockMetadata($var1, $var9, $var3, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            if ($var11) {
                $ptr = 27;
                continue main;
            }
            var$14 = var$14 + 1 | 0;
            if (var$14 >= 4) {
                $var13 = $this.$flowCost.data;
                $var9 = $var13[0];
                $var12 = 1;
                while ($var12 < 4) {
                    if ($var13[$var12] < $var9)
                        $var9 = $var13[$var12];
                    $var12 = $var12 + 1 | 0;
                }
                $var12 = 0;
                while ($var12 < 4) {
                    var$17 = $this.$isOptimalFlowDirection;
                    var$17.data[$var12] = $var13[$var12] != $var9 ? 0 : 1;
                    $var12 = $var12 + 1 | 0;
                }
                $var13 = $this.$isOptimalFlowDirection;
                $var10 = $var6 + $var7 | 0;
                if ($var6 >= 8)
                    $var10 = 1;
                if ($var10 >= 8)
                    return;
                $var13 = $var13.data;
                if ($var13[0]) {
                    $ptr = 22;
                    continue main;
                }
                if ($var13[1]) {
                    $var9 = $var2 + 1 | 0;
                    $ptr = 24;
                    continue main;
                }
                if ($var13[2]) {
                    $ptr = 26;
                    continue main;
                }
                if (!$var13[3])
                    return;
                $var4 = $var4 + 1 | 0;
                $ptr = 29;
                continue main;
            }
            $this.$flowCost.data[var$14] = 1000;
            $var9 = !var$14 ? var$15 : $var2;
            if (var$14 == 1)
                $var9 = $var9 + 1 | 0;
            $var12 = var$14 == 2 ? $var8 : $var4;
            if (var$14 == 3)
                $var12 = $var12 + 1 | 0;
            $ptr = 23;
            continue main;
        case 29:
            nms_BlockFlowing_flowIntoBlock($this, $var1, $var2, $var3, $var4, $var10);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 30:
            $tmp = nms_BlockFlowing_calculateFlowCost($this, $var1, $var9, $var3, $var12, $var11, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $var13[var$14] = $var9;
            var$14 = var$14 + 1 | 0;
            if (var$14 >= 4) {
                $var13 = $this.$flowCost.data;
                $var9 = $var13[0];
                $var12 = 1;
                while ($var12 < 4) {
                    if ($var13[$var12] < $var9)
                        $var9 = $var13[$var12];
                    $var12 = $var12 + 1 | 0;
                }
                $var12 = 0;
                while ($var12 < 4) {
                    var$17 = $this.$isOptimalFlowDirection;
                    var$17.data[$var12] = $var13[$var12] != $var9 ? 0 : 1;
                    $var12 = $var12 + 1 | 0;
                }
                $var13 = $this.$isOptimalFlowDirection;
                $var10 = $var6 + $var7 | 0;
                if ($var6 >= 8)
                    $var10 = 1;
                if ($var10 >= 8)
                    return;
                $var13 = $var13.data;
                if ($var13[0]) {
                    $ptr = 22;
                    continue main;
                }
                if ($var13[1]) {
                    $var9 = $var2 + 1 | 0;
                    $ptr = 24;
                    continue main;
                }
                if ($var13[2]) {
                    $ptr = 26;
                    continue main;
                }
                if (!$var13[3])
                    return;
                $var4 = $var4 + 1 | 0;
                $ptr = 29;
                continue main;
            }
            $this.$flowCost.data[var$14] = 1000;
            $var9 = !var$14 ? var$15 : $var2;
            if (var$14 == 1)
                $var9 = $var9 + 1 | 0;
            $var12 = var$14 == 2 ? $var8 : $var4;
            if (var$14 == 3)
                $var12 = $var12 + 1 | 0;
            $ptr = 23;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, $var8, $var9, $var12, $var10, $var11, var$14, var$15, $var13, var$17, $ptr);
    }
    function nms_BlockFlowing_flowIntoBlock($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_BlockFlowing_liquidCanDisplaceBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$var6)
                return;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 <= 0) {
                $var6 = $this.$blockID;
                $ptr = 3;
                continue main;
            }
            var$7 = $this.$blockMaterial;
            nms_Material_$callClinit();
            if (var$7 !== nms_Material_lava) {
                $ptr = 4;
                continue main;
            }
            $ptr = 7;
            continue main;
        case 3:
            nms_World_setBlockAndMetadataWithNotify($var1, $var2, $var3, $var4, $var6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = nms_Block_blocksList.data[$var6];
            $ptr = 5;
        case 5:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 6;
        case 6:
            var$7.$dropBlockAsItem($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $this.$blockID;
            $ptr = 3;
            continue main;
        case 7:
            nms_BlockFluids_triggerLavaMixEffects($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $this.$blockID;
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
    }
    function nms_BlockFlowing_calculateFlowCost($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var7, $var8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, $var12, var$20, var$21, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();$var12 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var7 = 1000;
            $var8 = 0;
            var$9 = $rt_compare($var6, 1);
            var$10 = $rt_compare($var6, 3);
            var$11 = $rt_compare($var6, 2);
            var$12 = $var2 - 1 | 0;
            var$13 = $var4 - 1 | 0;
            var$14 = $var3 - 1 | 0;
            var$15 = $rt_compare($var5, 4);
            var$16 = $var5 + 1 | 0;
            a: {
                while ($var8 < 4) {
                    if (!(!$var8 && !var$9)) {
                        var$17 = $rt_compare($var8, 1);
                        if (!(!var$17 && !$var6)) {
                            var$18 = $rt_compare($var8, 2);
                            if (!(!var$18 && !var$10)) {
                                $var12 = $rt_compare($var8, 3);
                                if ($var12)
                                    break a;
                                if (var$11)
                                    break a;
                            }
                        }
                    }
                    $var8 = $var8 + 1 | 0;
                }
                return $var7;
            }
            var$20 = !$var8 ? var$12 : $var2;
            if (!var$17)
                var$20 = var$20 + 1 | 0;
            var$17 = !var$18 ? var$13 : $var4;
            if (!$var12)
                var$17 = var$17 + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_BlockFlowing_blockBlocksFlow($this, $var1, var$20, $var3, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if (!$var12) {
                $ptr = 2;
                continue main;
            }
            b: {
                while (true) {
                    $var8 = $var8 + 1 | 0;
                    if ($var8 >= 4)
                        break;
                    if (!$var8 && !var$9)
                        continue;
                    var$17 = $rt_compare($var8, 1);
                    if (!var$17 && !$var6)
                        continue;
                    var$18 = $rt_compare($var8, 2);
                    if (!var$18 && !var$10)
                        continue;
                    $var12 = $rt_compare($var8, 3);
                    if ($var12)
                        break b;
                    if (var$11)
                        break b;
                }
                return $var7;
            }
            var$20 = !$var8 ? var$12 : $var2;
            if (!var$17)
                var$20 = var$20 + 1 | 0;
            var$17 = !var$18 ? var$13 : $var4;
            if (!$var12)
                var$17 = var$17 + 1 | 0;
            continue main;
        case 2:
            $tmp = nms_World_getBlockMaterial($var1, var$20, $var3, var$17);
            if ($rt_suspending()) {
                break main;
            }
            var$21 = $tmp;
            if (var$21 !== $this.$blockMaterial) {
                $ptr = 3;
                continue main;
            }
            $ptr = 4;
            continue main;
        case 3:
            $tmp = nms_BlockFlowing_blockBlocksFlow($this, $var1, var$20, var$14, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if (!$var12)
                return $var5;
            if (var$15 < 0) {
                $ptr = 5;
                continue main;
            }
            c: {
                while (true) {
                    $var8 = $var8 + 1 | 0;
                    if ($var8 >= 4)
                        break;
                    if (!$var8 && !var$9)
                        continue;
                    var$17 = $rt_compare($var8, 1);
                    if (!var$17 && !$var6)
                        continue;
                    var$18 = $rt_compare($var8, 2);
                    if (!var$18 && !var$10)
                        continue;
                    $var12 = $rt_compare($var8, 3);
                    if ($var12)
                        break c;
                    if (var$11)
                        break c;
                }
                return $var7;
            }
            var$20 = !$var8 ? var$12 : $var2;
            if (!var$17)
                var$20 = var$20 + 1 | 0;
            var$17 = !var$18 ? var$13 : $var4;
            if (!$var12)
                var$17 = var$17 + 1 | 0;
            $ptr = 1;
            continue main;
        case 4:
            $tmp = nms_World_getBlockMetadata($var1, var$20, $var3, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if ($var12) {
                $ptr = 3;
                continue main;
            }
            b: {
                while (true) {
                    $var8 = $var8 + 1 | 0;
                    if ($var8 >= 4)
                        break;
                    if (!$var8 && !var$9)
                        continue;
                    var$17 = $rt_compare($var8, 1);
                    if (!var$17 && !$var6)
                        continue;
                    var$18 = $rt_compare($var8, 2);
                    if (!var$18 && !var$10)
                        continue;
                    $var12 = $rt_compare($var8, 3);
                    if ($var12)
                        break b;
                    if (var$11)
                        break b;
                }
                return $var7;
            }
            var$20 = !$var8 ? var$12 : $var2;
            if (!var$17)
                var$20 = var$20 + 1 | 0;
            var$17 = !var$18 ? var$13 : $var4;
            if (!$var12)
                var$17 = var$17 + 1 | 0;
            $ptr = 1;
            continue main;
        case 5:
            $tmp = nms_BlockFlowing_calculateFlowCost($this, $var1, var$20, $var3, var$17, var$16, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if ($var12 < $var7)
                $var7 = $var12;
            c: {
                while (true) {
                    $var8 = $var8 + 1 | 0;
                    if ($var8 >= 4)
                        break;
                    if (!$var8 && !var$9)
                        continue;
                    var$17 = $rt_compare($var8, 1);
                    if (!var$17 && !$var6)
                        continue;
                    var$18 = $rt_compare($var8, 2);
                    if (!var$18 && !var$10)
                        continue;
                    $var12 = $rt_compare($var8, 3);
                    if ($var12)
                        break c;
                    if (var$11)
                        break c;
                }
                return $var7;
            }
            var$20 = !$var8 ? var$12 : $var2;
            if (!var$17)
                var$20 = var$20 + 1 | 0;
            var$17 = !var$18 ? var$13 : $var4;
            if (!$var12)
                var$17 = var$17 + 1 | 0;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, $var12, var$20, var$21, $ptr);
    }
    function nms_BlockFlowing_blockBlocksFlow($this, $var1, $var2, $var3, $var4) {
        var $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 != nms_Block_doorWood.$blockID && $var5 != nms_Block_doorSteel.$blockID && $var5 != nms_Block_signPost.$blockID && $var5 != nms_Block_ladder.$blockID && $var5 != nms_Block_reed.$blockID) {
                if (!$var5)
                    return 0;
                return nms_Block_blocksList.data[$var5].$blockMaterial.$isSolid();
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockFlowing_getSmallestFlowDecay($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_BlockFluids_getFlowDecay($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 < 0)
                return $var5;
            if (!$var6)
                $this.$numAdjacentSources = $this.$numAdjacentSources + 1 | 0;
            if ($var6 >= 8)
                $var6 = 0;
            if ($var5 >= 0 && $var6 >= $var5)
                $var6 = $var5;
            return $var6;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockFlowing_liquidCanDisplaceBlock($this, $var1, $var2, $var3, $var4) {
        var $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 === $this.$blockMaterial)
                $var2 = 0;
            else {
                nms_Material_$callClinit();
                if ($var5 !== nms_Material_lava) {
                    $ptr = 2;
                    continue main;
                }
                $var2 = 0;
            }
            return $var2;
        case 2:
            $tmp = nms_BlockFlowing_blockBlocksFlow($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockFlowing_onBlockAdded($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockFluids_checkForHarden($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            var$6 = $this.$blockID;
            if (var$5 != var$6)
                return;
            $ptr = 3;
        case 3:
            $tmp = nms_BlockFluids_tickRate($this);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 4;
        case 4:
            $var1.$scheduleBlockUpdate($var2, $var3, $var4, var$6, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $ptr);
    }
    var nms_BlockStationary = $rt_classWithoutFields(nms_BlockFluids);
    function nms_BlockStationary__init_0(var_0, var_1) {
        var var_2 = new nms_BlockStationary();
        nms_BlockStationary__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockStationary__init_($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockFluids__init_($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0;
            $ptr = 2;
        case 2:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            nms_Material_$callClinit();
            if ($var2 !== nms_Material_lava)
                return;
            $var1 = 1;
            $ptr = 3;
        case 3:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockStationary_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockFluids_checkForHarden($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 != $this.$blockID)
                return;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var1.$editingBlocks = 1;
            var$6 = $this.$blockID - 1 | 0;
            $ptr = 4;
        case 4:
            $var1.$setBlockAndMetadata($var2, $var3, $var4, var$6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_World_markBlocksDirty($var1, $var2, $var3, $var4, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$blockID - 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = nms_BlockFluids_tickRate($this);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 7;
        case 7:
            $var1.$scheduleBlockUpdate($var2, $var3, $var4, $var5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$editingBlocks = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockStationary_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var6, $var7, $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $this.$blockMaterial;
            nms_Material_$callClinit();
            if (var$6 === nms_Material_lava) {
                $var6 = ju_Random_nextInt($var5, 3);
                $var7 = 0;
                if ($var7 < $var6) {
                    $var2 = $var2 + (ju_Random_nextInt($var5, 3) - 1 | 0) | 0;
                    $var3 = $var3 + 1 | 0;
                    $var4 = $var4 + (ju_Random_nextInt($var5, 3) - 1 | 0) | 0;
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8) {
                $ptr = 2;
                continue main;
            }
            $var8 = $var2 - 1 | 0;
            $ptr = 3;
            continue main;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nms_Block_blocksList.data[$var8].$blockMaterial.$getIsSolid())
                return;
            $var7 = $var7 + 1 | 0;
            if ($var7 >= $var6)
                return;
            $var2 = $var2 + (ju_Random_nextInt($var5, 3) - 1 | 0) | 0;
            $var3 = $var3 + 1 | 0;
            $var4 = $var4 + (ju_Random_nextInt($var5, 3) - 1 | 0) | 0;
            $ptr = 1;
            continue main;
        case 3:
            $tmp = nms_BlockStationary_func_301_k($this, $var1, $var8, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8) {
                $ptr = 4;
                continue main;
            }
            $var8 = $var2 + 1 | 0;
            $ptr = 6;
            continue main;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var6 = nms_Block_fire.$blockID;
            $ptr = 5;
        case 5:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            $tmp = nms_BlockStationary_func_301_k($this, $var1, $var8, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8) {
                $ptr = 4;
                continue main;
            }
            $var8 = $var4 - 1 | 0;
            $ptr = 7;
        case 7:
            $tmp = nms_BlockStationary_func_301_k($this, $var1, $var2, $var3, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8) {
                $ptr = 4;
                continue main;
            }
            $var8 = $var4 + 1 | 0;
            $ptr = 8;
        case 8:
            $tmp = nms_BlockStationary_func_301_k($this, $var1, $var2, $var3, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8) {
                $ptr = 4;
                continue main;
            }
            $var8 = $var3 - 1 | 0;
            $ptr = 9;
        case 9:
            $tmp = nms_BlockStationary_func_301_k($this, $var1, $var2, $var8, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8) {
                $ptr = 4;
                continue main;
            }
            $var8 = $var3 + 1 | 0;
            $ptr = 10;
        case 10:
            $tmp = nms_BlockStationary_func_301_k($this, $var1, $var2, $var8, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8) {
                $ptr = 4;
                continue main;
            }
            $var7 = $var7 + 1 | 0;
            if ($var7 >= $var6)
                return;
            $var2 = $var2 + (ju_Random_nextInt($var5, 3) - 1 | 0) | 0;
            $var3 = $var3 + 1 | 0;
            $var4 = $var4 + (ju_Random_nextInt($var5, 3) - 1 | 0) | 0;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, $var7, $var8, $ptr);
    }
    function nms_BlockStationary_func_301_k($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1.$canBurn;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    var nms_BlockSand = $rt_classWithoutFields(nms_Block);
    var nms_BlockSand_fallInstantly = 0;
    function nms_BlockSand__init_0(var_0, var_1) {
        var var_2 = new nms_BlockSand();
        nms_BlockSand__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockSand__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_sand;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockSand_onBlockAdded($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $this.$blockID;
            var$6 = 3;
            $ptr = 1;
        case 1:
            $var1.$scheduleBlockUpdate($var2, $var3, $var4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $ptr);
    }
    function nms_BlockSand_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $this.$blockID;
            $var5 = 3;
            $ptr = 1;
        case 1:
            $var1.$scheduleBlockUpdate($var2, $var3, $var4, var$6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockSand_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_BlockSand_canFallBelow($var1, $var2, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 && $var3 >= 0) {
                if (nms_BlockSand_fallInstantly) {
                    var$6 = 0;
                    $ptr = 2;
                    continue main;
                }
                var$7 = $var2 - 32 | 0;
                var$8 = $var3 - 32 | 0;
                var$9 = $var4 - 32 | 0;
                var$10 = $var2 + 32 | 0;
                var$11 = $var3 + 32 | 0;
                var$6 = $var4 + 32 | 0;
                $ptr = 3;
                continue main;
            }
            return;
        case 2:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $var3 - 1 | 0;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = nms_World_checkChunksExist($var1, var$7, var$8, var$9, var$10, var$11, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6) {
                var$6 = 0;
                $ptr = 2;
                continue main;
            }
            $var5 = new nms_EntityFallingSand;
            var$12 = $var2 + 0.5;
            var$13 = $var3 + 0.5;
            var$14 = $var4 + 0.5;
            $var2 = $this.$blockID;
            $ptr = 5;
            continue main;
        case 4:
            $tmp = nms_BlockSand_canFallBelow($var1, $var2, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 && $var3 > 0) {
                $var3 = $var3 + (-1) | 0;
                var$6 = $var3 - 1 | 0;
                continue main;
            }
            if ($var3 <= 0)
                return;
            var$6 = $this.$blockID;
            $ptr = 7;
            continue main;
        case 5:
            nms_EntityFallingSand__init_($var5, $var1, var$12, var$13, var$14, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $var1.$entityJoinedWorld($var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr);
    }
    function nms_BlockSand_tickRate($this) {
        return 3;
    }
    function nms_BlockSand_canFallBelow($var0, $var1, $var2, $var3) {
        var $var4, $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var0, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4)
                return 1;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var4 == nms_Block_fire.$blockID)
                return 1;
            $var5 = nms_Block_blocksList.data[$var4].$blockMaterial;
            nms_Material_$callClinit();
            return $var5 === nms_Material_water ? 1 : $var5 !== nms_Material_lava ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockSand__clinit_() {
        nms_BlockSand_fallInstantly = 0;
    }
    var nms_BlockGravel = $rt_classWithoutFields(nms_BlockSand);
    function nms_BlockGravel__init_0(var_0, var_1) {
        var var_2 = new nms_BlockGravel();
        nms_BlockGravel__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockGravel__init_($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockSand__init_($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockGravel_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (ju_Random_nextInt($var2, 10))
                return $this.$blockID;
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_flint.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    var nms_BlockOre = $rt_classWithoutFields(nms_Block);
    function nms_BlockOre__init_0(var_0, var_1) {
        var var_2 = new nms_BlockOre();
        nms_BlockOre__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockOre__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_rock;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockOre_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $this.$blockID;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var1 == nms_Block_oreCoal.$blockID) {
                $ptr = 2;
                continue main;
            }
            if ($var1 == nms_Block_oreDiamond.$blockID) {
                $ptr = 3;
                continue main;
            }
            if ($var1 != nms_Block_oreLapis.$blockID)
                return $var1;
            $ptr = 4;
            continue main;
        case 2:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Item_coal.$shiftedIndex;
            return $var1;
        case 3:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Item_diamond.$shiftedIndex;
            return $var1;
        case 4:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Item_dyePowder.$shiftedIndex;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockOre_quantityDropped($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$blockID;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return var$2 != nms_Block_oreLapis.$blockID ? 1 : 4 + ju_Random_nextInt($var1, 5) | 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_BlockOre_damageDropped($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $this.$blockID;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return $var1 != nms_Block_oreLapis.$blockID ? 0 : 4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    var nms_BlockLog = $rt_classWithoutFields(nms_Block);
    function nms_BlockLog__init_0(var_0) {
        var var_1 = new nms_BlockLog();
        nms_BlockLog__init_(var_1, var_0);
        return var_1;
    }
    function nms_BlockLog__init_($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$2 = nms_Material_wood;
            $ptr = 1;
        case 1:
            nms_Block__init_0($this, $var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$blockIndexInTexture = 20;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_BlockLog_quantityDropped($this, $var1) {
        return 1;
    }
    function nms_BlockLog_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Block_wood.$blockID;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockLog_harvestBlock($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_harvestBlock($this, $var1, $var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_AchievementList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockLog_onBlockRemoval($this, $var1, $var2, $var3, $var4) {
        var $var5, $var11, var$7, $var10, $var7, var$10, $var6, $var8, $var9, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();var$10 = $thread.pop();$var7 = $thread.pop();$var10 = $thread.pop();var$7 = $thread.pop();$var11 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = 4;
            $var11 = $var2 - 5 | 0;
            var$7 = $var3 - 5 | 0;
            $var10 = $var4 - 5 | 0;
            $var7 = $var2 + 5 | 0;
            var$10 = $var3 + 5 | 0;
            $var6 = $var4 + 5 | 0;
            $ptr = 1;
        case 1:
            a: {
                $tmp = nms_World_checkChunksExist($var1, $var11, var$7, $var10, $var7, var$10, $var6);
                if ($rt_suspending()) {
                    break main;
                }
                var$7 = $tmp;
                if (var$7) {
                    var$7 = (-4);
                    $var7 = var$7;
                    while (true) {
                        if ($var7 > $var5)
                            break a;
                        $var8 = var$7;
                        while ($var8 <= $var5) {
                            $var9 = var$7;
                            if ($var9 <= $var5) {
                                var$14 = $var2 + $var7 | 0;
                                var$10 = $var3 + $var8 | 0;
                                $var6 = $var4 + $var9 | 0;
                                $ptr = 2;
                                continue main;
                            }
                            $var8 = $var8 + 1 | 0;
                        }
                        $var7 = $var7 + 1 | 0;
                    }
                }
            }
            return;
        case 2:
            $tmp = nms_World_getBlockId($var1, var$14, var$10, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var10 == nms_Block_leaves.$blockID) {
                $ptr = 4;
                continue main;
            }
            $var9 = $var9 + 1 | 0;
            b: while (true) {
                if ($var9 <= $var5) {
                    var$14 = $var2 + $var7 | 0;
                    var$10 = $var3 + $var8 | 0;
                    $var6 = $var4 + $var9 | 0;
                    $ptr = 2;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
                while ($var8 > $var5) {
                    $var7 = $var7 + 1 | 0;
                    if ($var7 > $var5)
                        break b;
                    $var8 = var$7;
                }
                $var9 = var$7;
            }
            return;
        case 4:
            $tmp = nms_World_getBlockMetadata($var1, var$14, var$10, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            if (!($var11 & 4)) {
                $var10 = $var11 | 4;
                $ptr = 5;
                continue main;
            }
            $var9 = $var9 + 1 | 0;
            b: while (true) {
                if ($var9 <= $var5) {
                    var$14 = $var2 + $var7 | 0;
                    var$10 = $var3 + $var8 | 0;
                    $var6 = $var4 + $var9 | 0;
                    $ptr = 2;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
                while ($var8 > $var5) {
                    $var7 = $var7 + 1 | 0;
                    if ($var7 > $var5)
                        break b;
                    $var8 = var$7;
                }
                $var9 = var$7;
            }
            return;
        case 5:
            $var1.$setBlockMetadata(var$14, var$10, $var6, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $var9 + 1 | 0;
            a: while (true) {
                if ($var9 <= $var5) {
                    var$14 = $var2 + $var7 | 0;
                    var$10 = $var3 + $var8 | 0;
                    $var6 = $var4 + $var9 | 0;
                    $ptr = 2;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
                while ($var8 > $var5) {
                    $var7 = $var7 + 1 | 0;
                    if ($var7 > $var5)
                        break a;
                    $var8 = var$7;
                }
                $var9 = var$7;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var11, var$7, $var10, $var7, var$10, $var6, $var8, $var9, var$14, $ptr);
    }
    function nms_BlockLog_getBlockTextureFromSideAndMetadata($this, $var1, $var2) {
        return $var1 == 1 ? 21 : !$var1 ? 21 : $var2 == 1 ? 116 : $var2 != 2 ? 20 : 117;
    }
    function nms_BlockLog_damageDropped($this, $var1) {
        return $var1;
    }
    function nms_BlockLeavesBase() {
        nms_Block.call(this);
        this.$graphicsLevel = 0;
    }
    function nms_BlockLeavesBase_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockId($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$this.$graphicsLevel && $var6 == $this.$blockID)
                return 0;
            $ptr = 2;
        case 2:
            $tmp = nms_Block_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockLeaves() {
        var a = this; nms_BlockLeavesBase.call(a);
        a.$baseIndexInPNG = 0;
        a.$adjacentTreeBlocks = null;
    }
    function nms_BlockLeaves__init_0(var_0, var_1) {
        var var_2 = new nms_BlockLeaves();
        nms_BlockLeaves__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockLeaves__init_($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_leaves;
            var$4 = 0;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$graphicsLevel = var$4;
            $this.$baseIndexInPNG = $var2;
            $var1 = 1;
            $ptr = 2;
        case 2:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_BlockLeaves_colorMultiplier($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, $var6, $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (($var5 & 1) == 1) {
                $ptr = 2;
                continue main;
            }
            if (($var5 & 2) == 2) {
                $ptr = 5;
                continue main;
            }
            var$6 = $var1.$getWorldChunkManager();
            $var5 = 1;
            $var3 = 1;
            $ptr = 3;
            continue main;
        case 2:
            nms_ColorizerFoliage_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return 6396257;
        case 3:
            var$6.$func_4069_a($var2, $var4, $var5, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = ($var1.$getWorldChunkManager()).$temperature.data[0];
            $var8 = ($var1.$getWorldChunkManager()).$humidity.data[0];
            $ptr = 4;
        case 4:
            nms_ColorizerFoliage_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var8 * $var6;
            $var2 = (1.0 - $var6) * 255.0 | 0;
            $var3 = (1.0 - $var8) * 255.0 | 0;
            return nms_ColorizerFoliage_foliageBuffer.data[$var3 << 8 | $var2];
        case 5:
            nms_ColorizerFoliage_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return 8431445;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, $var8, $ptr);
    }
    function nms_BlockLeaves_onBlockRemoval($this, $var1, $var2, $var3, $var4) {
        var $var5, $var8, var$7, $var11, $var10, $var7, $var6, $var9, var$13, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var9 = $thread.pop();$var6 = $thread.pop();$var7 = $thread.pop();$var10 = $thread.pop();$var11 = $thread.pop();var$7 = $thread.pop();$var8 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = 1;
            $var8 = $var2 - 2 | 0;
            var$7 = $var3 - 2 | 0;
            $var11 = $var4 - 2 | 0;
            $var10 = $var2 + 2 | 0;
            $var7 = $var3 + 2 | 0;
            $var6 = $var4 + 2 | 0;
            $ptr = 1;
        case 1:
            a: {
                $tmp = nms_World_checkChunksExist($var1, $var8, var$7, $var11, $var10, $var7, $var6);
                if ($rt_suspending()) {
                    break main;
                }
                var$7 = $tmp;
                if (var$7) {
                    var$7 = (-1);
                    $var7 = var$7;
                    while (true) {
                        if ($var7 > $var5)
                            break a;
                        $var8 = var$7;
                        while ($var8 <= $var5) {
                            $var9 = var$7;
                            if ($var9 <= $var5) {
                                var$13 = $var2 + $var7 | 0;
                                var$14 = $var3 + $var8 | 0;
                                $var6 = $var4 + $var9 | 0;
                                $ptr = 2;
                                continue main;
                            }
                            $var8 = $var8 + 1 | 0;
                        }
                        $var7 = $var7 + 1 | 0;
                    }
                }
            }
            return;
        case 2:
            $tmp = nms_World_getBlockId($var1, var$13, var$14, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var10 == nms_Block_leaves.$blockID) {
                $ptr = 4;
                continue main;
            }
            $var9 = $var9 + 1 | 0;
            b: while (true) {
                if ($var9 <= $var5) {
                    var$13 = $var2 + $var7 | 0;
                    var$14 = $var3 + $var8 | 0;
                    $var6 = $var4 + $var9 | 0;
                    $ptr = 2;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
                while ($var8 > $var5) {
                    $var7 = $var7 + 1 | 0;
                    if ($var7 > $var5)
                        break b;
                    $var8 = var$7;
                }
                $var9 = var$7;
            }
            return;
        case 4:
            $tmp = nms_World_getBlockMetadata($var1, var$13, var$14, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var11 = $var11 | 4;
            $ptr = 5;
        case 5:
            $var1.$setBlockMetadata(var$13, var$14, $var6, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $var9 + 1 | 0;
            a: while (true) {
                if ($var9 <= $var5) {
                    var$13 = $var2 + $var7 | 0;
                    var$14 = $var3 + $var8 | 0;
                    $var6 = $var4 + $var9 | 0;
                    $ptr = 2;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
                while ($var8 > $var5) {
                    $var7 = $var7 + 1 | 0;
                    if ($var7 > $var5)
                        break a;
                    $var8 = var$7;
                }
                $var9 = var$7;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var8, var$7, $var11, $var10, $var7, $var6, $var9, var$13, var$14, $ptr);
    }
    function nms_BlockLeaves_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var9, $var10, $var11, $var13, $var14, $var15, $var12, $var12_0, $var8, var$17, var$18, $var13_0, $var14_0, var$21, var$22, var$23, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();$var14_0 = $thread.pop();$var13_0 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();$var8 = $thread.pop();$var12_0 = $thread.pop();$var12 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2
            = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!($var6 & 4))
                return;
            $var7 = 4;
            $var9 = 32;
            $var10 = 1024;
            $var11 = 16;
            if ($this.$adjacentTreeBlocks === null)
                $this.$adjacentTreeBlocks = $rt_createIntArray(32768);
            $var13 = $var2 - 5 | 0;
            $var14 = $var3 - 5 | 0;
            $var15 = $var4 - 5 | 0;
            $var12 = $var2 + 5 | 0;
            $var12_0 = $var3 + 5 | 0;
            $var8 = $var4 + 5 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_checkChunksExist($var1, $var13, $var14, $var15, $var12, $var12_0, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8) {
                var$17 = (-4);
                $var12_0 = var$17;
                while ($var12_0 <= $var7) {
                    $var13 = var$17;
                    while ($var13 <= $var7) {
                        $var14 = var$17;
                        if ($var14 <= $var7) {
                            $var8 = $var2 + $var12_0 | 0;
                            $var15 = $var3 + $var13 | 0;
                            $var12 = $var4 + $var14 | 0;
                            $ptr = 7;
                            continue main;
                        }
                        $var13 = $var13 + 1 | 0;
                    }
                    $var12_0 = $var12_0 + 1 | 0;
                }
                var$18 = 1;
                while (var$18 <= 4) {
                    $var13_0 = var$17;
                    while ($var13_0 <= $var7) {
                        $var14_0 = var$17;
                        while ($var14_0 <= $var7) {
                            $var15 = var$17;
                            while ($var15 <= $var7) {
                                var$21 = $this.$adjacentTreeBlocks.data;
                                $var8 = $var13_0 + $var11 | 0;
                                $var13 = $rt_imul($var8, $var10);
                                $var14 = $var14_0 + $var11 | 0;
                                $var12 = $rt_imul($var14, $var9);
                                $var12_0 = $var13 + $var12 | 0;
                                var$22 = ($var12_0 + $var15 | 0) + $var11 | 0;
                                if (var$21[var$22] == (var$18 - 1 | 0)) {
                                    var$23 = (($rt_imul($var8 - 1 | 0, $var10) + $var12 | 0) + $var15 | 0) + $var11 | 0;
                                    if (var$21[var$23] == (-2))
                                        var$21[var$23] = var$18;
                                    $var8 = (($rt_imul($var8 + 1 | 0, $var10) + $var12 | 0) + $var15 | 0) + $var11 | 0;
                                    if (var$21[$var8] == (-2))
                                        var$21[$var8] = var$18;
                                    $var8 = (($var13 + $rt_imul($var14 - 1 | 0, $var9) | 0) + $var15 | 0) + $var11 | 0;
                                    if (var$21[$var8] == (-2))
                                        var$21[$var8] = var$18;
                                    $var8 = (($var13 + $rt_imul($var14 + 1 | 0, $var9) | 0) + $var15 | 0) + $var11 | 0;
                                    if (var$21[$var8] == (-2))
                                        var$21[$var8] = var$18;
                                    $var8 = $var12_0 + (($var15 + $var11 | 0) - 1 | 0) | 0;
                                    if (var$21[$var8] == (-2))
                                        var$21[$var8] = var$18;
                                    $var8 = var$22 + 1 | 0;
                                    if (var$21[$var8] == (-2))
                                        var$21[$var8] = var$18;
                                }
                                $var15 = $var15 + 1 | 0;
                            }
                            $var14_0 = $var14_0 + 1 | 0;
                        }
                        $var13_0 = $var13_0 + 1 | 0;
                    }
                    var$18 = var$18 + 1 | 0;
                }
            }
            if ($this.$adjacentTreeBlocks.data[16912] < 0) {
                $ptr = 3;
                continue main;
            }
            $var8 = $var6 & (-5);
            $ptr = 6;
            continue main;
        case 3:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $ptr = 4;
        case 4:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 0;
            $ptr = 5;
        case 5:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            $tmp = nms_World_getBlockId($var1, $var8, $var15, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $tmp;
            $ptr = 8;
        case 8:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var15 == nms_Block_wood.$blockID)
                $this.$adjacentTreeBlocks.data[(($rt_imul($var12_0 + $var11 | 0, $var10) + $rt_imul($var13 + $var11 | 0, $var9) | 0) + $var14 | 0) + $var11 | 0] = 0;
            else if ($var15 != nms_Block_leaves.$blockID)
                $this.$adjacentTreeBlocks.data[(($rt_imul($var12_0 + $var11 | 0, $var10) + $rt_imul($var13 + $var11 | 0, $var9) | 0) + $var14 | 0) + $var11 | 0] = (-1);
            else
                $this.$adjacentTreeBlocks.data[(($rt_imul($var12_0 + $var11 | 0, $var10) + $rt_imul($var13 + $var11 | 0, $var9) | 0) + $var14 | 0) + $var11 | 0] = (-2);
            $var14 = $var14 + 1 | 0;
            while ($var14 > $var7) {
                $var13 = $var13 + 1 | 0;
                while ($var13 > $var7) {
                    $var12_0 = $var12_0 + 1 | 0;
                    if ($var12_0 > $var7) {
                        var$18 = 1;
                        while (var$18 <= 4) {
                            $var13_0 = var$17;
                            while ($var13_0 <= $var7) {
                                $var14_0 = var$17;
                                while ($var14_0 <= $var7) {
                                    $var15 = var$17;
                                    while ($var15 <= $var7) {
                                        var$21 = $this.$adjacentTreeBlocks.data;
                                        $var8 = $var13_0 + $var11 | 0;
                                        $var13 = $rt_imul($var8, $var10);
                                        $var14 = $var14_0 + $var11 | 0;
                                        $var12 = $rt_imul($var14, $var9);
                                        $var12_0 = $var13 + $var12 | 0;
                                        var$22 = ($var12_0 + $var15 | 0) + $var11 | 0;
                                        if (var$21[var$22] == (var$18 - 1 | 0)) {
                                            var$23 = (($rt_imul($var8 - 1 | 0, $var10) + $var12 | 0) + $var15 | 0) + $var11 | 0;
                                            if (var$21[var$23] == (-2))
                                                var$21[var$23] = var$18;
                                            $var8 = (($rt_imul($var8 + 1 | 0, $var10) + $var12 | 0) + $var15 | 0) + $var11 | 0;
                                            if (var$21[$var8] == (-2))
                                                var$21[$var8] = var$18;
                                            $var8 = (($var13 + $rt_imul($var14 - 1 | 0, $var9) | 0) + $var15 | 0) + $var11 | 0;
                                            if (var$21[$var8] == (-2))
                                                var$21[$var8] = var$18;
                                            $var8 = (($var13 + $rt_imul($var14 + 1 | 0, $var9) | 0) + $var15 | 0) + $var11 | 0;
                                            if (var$21[$var8] == (-2))
                                                var$21[$var8] = var$18;
                                            $var8 = $var12_0 + (($var15 + $var11 | 0) - 1 | 0) | 0;
                                            if (var$21[$var8] == (-2))
                                                var$21[$var8] = var$18;
                                            $var8 = var$22 + 1 | 0;
                                            if (var$21[$var8] == (-2))
                                                var$21[$var8] = var$18;
                                        }
                                        $var15 = $var15 + 1 | 0;
                                    }
                                    $var14_0 = $var14_0 + 1 | 0;
                                }
                                $var13_0 = $var13_0 + 1 | 0;
                            }
                            var$18 = var$18 + 1 | 0;
                        }
                        if ($this.$adjacentTreeBlocks.data[16912] < 0) {
                            $ptr = 3;
                            continue main;
                        }
                        $var8 = $var6 & (-5);
                        $ptr = 6;
                        continue main;
                    }
                    $var13 = var$17;
                }
                $var14 = var$17;
            }
            $var8 = $var2 + $var12_0 | 0;
            $var15 = $var3 + $var13 | 0;
            $var12 = $var4 + $var14 | 0;
            $ptr = 7;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var9, $var10, $var11, $var13, $var14, $var15, $var12, $var12_0, $var8, var$17, var$18, $var13_0, $var14_0, var$21, var$22, var$23, $ptr);
    }
    function nms_BlockLeaves_quantityDropped($this, $var1) {
        return ju_Random_nextInt($var1, 16) ? 0 : 1;
    }
    function nms_BlockLeaves_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Block_sapling.$blockID;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockLeaves_isOpaqueCube($this) {
        return $this.$graphicsLevel ? 0 : 1;
    }
    function nms_BlockLeaves_getBlockTextureFromSideAndMetadata($this, $var1, $var2) {
        return ($var2 & 3) != 1 ? $this.$blockIndexInTexture : $this.$blockIndexInTexture + 80 | 0;
    }
    function nms_BlockLeaves_onEntityWalking($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    var nms_BlockSponge = $rt_classWithoutFields(nms_Block);
    function nms_BlockSponge__init_0(var_0) {
        var var_1 = new nms_BlockSponge();
        nms_BlockSponge__init_(var_1, var_0);
        return var_1;
    }
    function nms_BlockSponge__init_($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$2 = nms_Material_sponge;
            $ptr = 1;
        case 1:
            nms_Block__init_0($this, $var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$blockIndexInTexture = 48;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_BlockSponge_onBlockAdded($this, $var1, $var2, $var3, $var4) {
        var $var6, var$6, var$7, var$8, $var7, $var8, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = $var2 - 2 | 0;
            var$6 = $var2 + 2 | 0;
            var$7 = $var3 - 2 | 0;
            $var3 = $var3 + 2 | 0;
            var$8 = $var4 - 2 | 0;
            $var4 = $var4 + 2 | 0;
            while ($var6 <= var$6) {
                $var7 = var$7;
                while ($var7 <= $var3) {
                    $var8 = var$8;
                    if ($var8 <= $var4) {
                        $ptr = 1;
                        continue main;
                    }
                    $var7 = $var7 + 1 | 0;
                }
                $var6 = $var6 + 1 | 0;
            }
            return;
        case 1:
            $tmp = nms_World_getBlockMaterial($var1, $var6, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            nms_Material_$callClinit();
            $var8 = $var8 + 1 | 0;
            a: while (true) {
                if ($var8 <= $var4) {
                    continue main;
                }
                $var7 = $var7 + 1 | 0;
                while ($var7 > $var3) {
                    $var6 = $var6 + 1 | 0;
                    if ($var6 > var$6)
                        break a;
                    $var7 = var$7;
                }
                $var8 = var$8;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var6, var$6, var$7, var$8, $var7, $var8, var$11, $ptr);
    }
    function nms_BlockSponge_onBlockRemoval($this, $var1, $var2, $var3, $var4) {
        var $var6, var$6, var$7, var$8, var$9, $var7, $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = $var2 - 2 | 0;
            var$6 = $var2 + 2 | 0;
            var$7 = $var3 - 2 | 0;
            var$8 = $var3 + 2 | 0;
            var$9 = $var4 - 2 | 0;
            $var2 = $var4 + 2 | 0;
            while ($var6 <= var$6) {
                $var7 = var$7;
                while ($var7 <= var$8) {
                    $var8 = var$9;
                    if ($var8 <= $var2) {
                        $ptr = 1;
                        continue main;
                    }
                    $var7 = $var7 + 1 | 0;
                }
                $var6 = $var6 + 1 | 0;
            }
            return;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var6, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $ptr = 2;
        case 2:
            nms_World_notifyBlocksOfNeighborChange($var1, $var6, $var7, $var8, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var8 + 1 | 0;
            a: while (true) {
                if ($var8 <= $var2) {
                    $ptr = 1;
                    continue main;
                }
                $var7 = $var7 + 1 | 0;
                while ($var7 > var$8) {
                    $var6 = $var6 + 1 | 0;
                    if ($var6 > var$6)
                        break a;
                    $var7 = var$7;
                }
                $var8 = var$9;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var6, var$6, var$7, var$8, var$9, $var7, $var8, $ptr);
    }
    function nms_BlockBreakable() {
        nms_Block.call(this);
        this.$field_6363_a = 0;
    }
    function nms_BlockBreakable__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_BlockBreakable();
        nms_BlockBreakable__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_BlockBreakable__init_($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_6363_a = $var4;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_BlockBreakable_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockBreakable_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockId($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$this.$field_6363_a && $var6 == $this.$blockID)
                return 0;
            $ptr = 2;
        case 2:
            $tmp = nms_Block_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    var nms_BlockGlass = $rt_classWithoutFields(nms_BlockBreakable);
    function nms_BlockGlass__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_BlockGlass();
        nms_BlockGlass__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_BlockGlass__init_($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockBreakable__init_($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_BlockGlass_quantityDropped($this, $var1) {
        return 0;
    }
    var nms_BlockContainer = $rt_classWithoutFields(nms_Block);
    function nms_BlockContainer__init_($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block__init_0($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            nms_Block_isBlockContainer.data[$var1] = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockContainer__init_0($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            nms_Block_isBlockContainer.data[$var1] = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_BlockContainer_onBlockAdded($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $this.$getBlockEntity();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 2;
        case 2:
            nms_World_setBlockTileEntity($var1, $var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockContainer_onBlockRemoval($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_World_removeBlockTileEntity($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    var nms_BlockDispenser = $rt_classWithoutFields(nms_BlockContainer);
    function nms_BlockDispenser__init_0(var_0) {
        var var_1 = new nms_BlockDispenser();
        nms_BlockDispenser__init_(var_1, var_0);
        return var_1;
    }
    function nms_BlockDispenser__init_($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$2 = nms_Material_rock;
            $ptr = 1;
        case 1:
            nms_BlockContainer__init_($this, $var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$blockIndexInTexture = 45;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_BlockDispenser_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Block_dispenser.$blockID;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockDispenser_onBlockAdded($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockContainer_onBlockAdded($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var4 - 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$5 = $var4 + 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            var$7 = $var2 - 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockId($var1, var$7, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$8 = $var2 + 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = nms_World_getBlockId($var1, var$8, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            var$9 = 3;
            $ptr = 6;
        case 6:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$10 = nms_Block_opaqueCubeLookup.data;
            if (var$10[var$6] && !var$10[var$5])
                var$9 = 3;
            if (var$10[var$5] && !var$10[var$6])
                var$9 = 2;
            if (var$10[var$7] && !var$10[var$8])
                var$9 = 5;
            if (var$10[var$8] && !var$10[var$7])
                var$9 = 4;
            $ptr = 7;
        case 7:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_BlockDispenser_getBlockTexture($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var5 == 1)
                return $this.$blockIndexInTexture + 17 | 0;
            if (!$var5)
                return $this.$blockIndexInTexture + 17 | 0;
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            return $var5 != $var6 ? $this.$blockIndexInTexture : $this.$blockIndexInTexture + 1 | 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockDispenser_getBlockTextureFromSide($this, $var1) {
        return $var1 == 1 ? $this.$blockIndexInTexture + 17 | 0 : !$var1 ? $this.$blockIndexInTexture + 17 | 0 : $var1 != 3 ? $this.$blockIndexInTexture : $this.$blockIndexInTexture + 1 | 0;
    }
    function nms_BlockDispenser_blockActivated($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return 1;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockTileEntity($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var6 = $var1;
            $ptr = 2;
        case 2:
            nms_EntityPlayerSP_displayGUIDispenser($var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockDispenser_dispenseItem($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var9, $var10, $var35, $var11, $var37, var$12, var$13, $var12, $var22, var$16, $var13, $var24, $var15, $var26, var$21, $var17, $var19, $var34, $var36, $var20, var$27, $var20_0, $var28, $var30, $var32, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var32 = $thread.pop();$var30 = $thread.pop();$var28 = $thread.pop();$var20_0 = $thread.pop();var$27 = $thread.pop();$var20 = $thread.pop();$var36 = $thread.pop();$var34 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();var$21 = $thread.pop();$var26 = $thread.pop();$var15 = $thread.pop();$var24 = $thread.pop();$var13 = $thread.pop();var$16 = $thread.pop();$var22 = $thread.pop();$var12 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var37 = $thread.pop();$var11
            = $thread.pop();$var35 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var9 = 0.0;
            $var10 = 0.0;
            if ($var6 == 3)
                $var10 = 1.0;
            else if ($var6 == 2)
                $var10 = (-1.0);
            else
                $var9 = $var6 != 5 ? (-1.0) : 1.0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockTileEntity($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var35 = $tmp;
            $var11 = $var35;
            $var37 = (-1);
            $var6 = 1;
            var$12 = 0;
            while (true) {
                var$13 = $var11.$dispenserContents.data;
                if (var$12 >= var$13.length)
                    break;
                if (var$13[var$12] !== null && !ju_Random_nextInt($var11.$dispenserRandom, $var6)) {
                    $var6 = $var6 + 1 | 0;
                    $var37 = var$12;
                }
                var$12 = var$12 + 1 | 0;
            }
            if ($var37 >= 0) {
                $var6 = 1;
                $ptr = 3;
                continue main;
            }
            $var12 = null;
            $var22 = $var2;
            var$16 = $var9;
            $var13 = $var22 + var$16 * 0.5 + 0.5;
            $var24 = $var3;
            $var15 = $var24 + 0.5;
            $var26 = $var4;
            var$21 = $var10;
            $var17 = $var26 + var$21 * 0.5 + 0.5;
            if ($var12 !== null) {
                $var3 = $var12.$itemID;
                $ptr = 4;
                continue main;
            }
            $var5 = $rt_s(918);
            $var9 = 1.0;
            $var10 = 1.2000000476837158;
            $ptr = 5;
            continue main;
        case 3:
            $tmp = nms_TileEntityDispenser_decrStackSize($var11, $var37, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            $var22 = $var2;
            var$16 = $var9;
            $var13 = $var22 + var$16 * 0.5 + 0.5;
            $var24 = $var3;
            $var15 = $var24 + 0.5;
            $var26 = $var4;
            var$21 = $var10;
            $var17 = $var26 + var$21 * 0.5 + 0.5;
            if ($var12 !== null) {
                $var3 = $var12.$itemID;
                $ptr = 4;
                continue main;
            }
            $var5 = $rt_s(918);
            $var9 = 1.0;
            $var10 = 1.2000000476837158;
            $ptr = 5;
            continue main;
        case 4:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var3 == nms_Item_arrow.$shiftedIndex) {
                $var19 = new nms_EntityArrow;
                $ptr = 6;
                continue main;
            }
            if ($var3 == nms_Item_egg.$shiftedIndex) {
                $var34 = new nms_EntityEgg;
                $ptr = 9;
                continue main;
            }
            if ($var3 == nms_Item_snowball.$shiftedIndex) {
                $var35 = new nms_EntitySnowball;
                $ptr = 15;
                continue main;
            }
            $var36 = new nms_EntityItem;
            $var20 = $var15 - 0.3;
            $ptr = 12;
            continue main;
        case 5:
            nms_World_playSoundEffect($var1, $var22, $var24, $var26, $var5, $var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nms_EntityArrow__init_($var19, $var1, $var13, $var15, $var17);
            if ($rt_suspending()) {
                break main;
            }
            nms_EntityArrow_setArrowHeading($var19, var$16, 0.10000000149011612, var$21, 1.100000023841858, 6.0);
            $ptr = 7;
        case 7:
            $var1.$entityJoinedWorld($var19);
            if ($rt_suspending()) {
                break main;
            }
            $var35 = $rt_s(919);
            $var9 = 1.0;
            $var10 = 1.2000000476837158;
            $ptr = 8;
        case 8:
            nms_World_playSoundEffect($var1, $var22, $var24, $var26, $var35, $var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var37 = 0;
            $var20 = $var13 + var$16 * 0.01;
            var$27 = $var17 + var$21 * 0.01;
            if ($var37 >= 10)
                return;
            $var20_0 = ju_Random_nextDouble($var5) * 0.2 + 0.01;
            $var22 = $var20 + (ju_Random_nextDouble($var5) - 0.5) * var$21 * 0.5;
            $var24 = $var15 + (ju_Random_nextDouble($var5) - 0.5) * 0.5;
            $var26 = var$27 + (ju_Random_nextDouble($var5) - 0.5) * var$16 * 0.5;
            $var28 = var$16 * $var20_0 + ju_Random_nextGaussian($var5) * 0.01;
            $var30 = (-0.03) + ju_Random_nextGaussian($var5) * 0.01;
            $var32 = var$21 * $var20_0 + ju_Random_nextGaussian($var5) * 0.01;
            $var35 = $rt_s(920);
            $ptr = 18;
            continue main;
        case 9:
            nms_EntityEgg__init_($var34, $var1, $var13, $var15, $var17);
            if ($rt_suspending()) {
                break main;
            }
            nms_EntityEgg_func_20048_a($var34, var$16, 0.10000000149011612, var$21, 1.100000023841858, 6.0);
            $ptr = 10;
        case 10:
            $var1.$entityJoinedWorld($var34);
            if ($rt_suspending()) {
                break main;
            }
            $var35 = $rt_s(919);
            $var9 = 1.0;
            $var10 = 1.2000000476837158;
            $ptr = 11;
        case 11:
            nms_World_playSoundEffect($var1, $var22, $var24, $var26, $var35, $var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var37 = 0;
            $var20 = $var13 + var$16 * 0.01;
            var$27 = $var17 + var$21 * 0.01;
            if ($var37 >= 10)
                return;
            $var20_0 = ju_Random_nextDouble($var5) * 0.2 + 0.01;
            $var22 = $var20 + (ju_Random_nextDouble($var5) - 0.5) * var$21 * 0.5;
            $var24 = $var15 + (ju_Random_nextDouble($var5) - 0.5) * 0.5;
            $var26 = var$27 + (ju_Random_nextDouble($var5) - 0.5) * var$16 * 0.5;
            $var28 = var$16 * $var20_0 + ju_Random_nextGaussian($var5) * 0.01;
            $var30 = (-0.03) + ju_Random_nextGaussian($var5) * 0.01;
            $var32 = var$21 * $var20_0 + ju_Random_nextGaussian($var5) * 0.01;
            $var35 = $rt_s(920);
            $ptr = 18;
            continue main;
        case 12:
            nms_EntityItem__init_($var36, $var1, $var13, $var20, $var17, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var20 = ju_Random_nextDouble($var5) * 0.1 + 0.2;
            $var20_0 = var$16 * $var20;
            $var36.$motionX = $var20_0;
            $var36.$motionY = 0.20000000298023224;
            $var36.$motionZ = var$21 * $var20;
            $var36.$motionX = $var20_0 + ju_Random_nextGaussian($var5) * 0.007499999832361937 * 6.0;
            $var36.$motionY = $var36.$motionY + ju_Random_nextGaussian($var5) * 0.007499999832361937 * 6.0;
            $var36.$motionZ = $var36.$motionZ + ju_Random_nextGaussian($var5) * 0.007499999832361937 * 6.0;
            $ptr = 13;
        case 13:
            $var1.$entityJoinedWorld($var36);
            if ($rt_suspending()) {
                break main;
            }
            $var35 = $rt_s(918);
            $var10 = 1.0;
            $var9 = 1.0;
            $ptr = 14;
        case 14:
            nms_World_playSoundEffect($var1, $var22, $var24, $var26, $var35, $var10, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var37 = 0;
            $var20 = $var13 + var$16 * 0.01;
            var$27 = $var17 + var$21 * 0.01;
            if ($var37 >= 10)
                return;
            $var20_0 = ju_Random_nextDouble($var5) * 0.2 + 0.01;
            $var22 = $var20 + (ju_Random_nextDouble($var5) - 0.5) * var$21 * 0.5;
            $var24 = $var15 + (ju_Random_nextDouble($var5) - 0.5) * 0.5;
            $var26 = var$27 + (ju_Random_nextDouble($var5) - 0.5) * var$16 * 0.5;
            $var28 = var$16 * $var20_0 + ju_Random_nextGaussian($var5) * 0.01;
            $var30 = (-0.03) + ju_Random_nextGaussian($var5) * 0.01;
            $var32 = var$21 * $var20_0 + ju_Random_nextGaussian($var5) * 0.01;
            $var35 = $rt_s(920);
            $ptr = 18;
            continue main;
        case 15:
            nms_EntitySnowball__init_($var35, $var1, $var13, $var15, $var17);
            if ($rt_suspending()) {
                break main;
            }
            nms_EntitySnowball_func_467_a($var35, var$16, 0.10000000149011612, var$21, 1.100000023841858, 6.0);
            $ptr = 16;
        case 16:
            $var1.$entityJoinedWorld($var35);
            if ($rt_suspending()) {
                break main;
            }
            $var35 = $rt_s(919);
            $var9 = 1.0;
            $var10 = 1.2000000476837158;
            $ptr = 17;
        case 17:
            nms_World_playSoundEffect($var1, $var22, $var24, $var26, $var35, $var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var37 = 0;
            $var20 = $var13 + var$16 * 0.01;
            var$27 = $var17 + var$21 * 0.01;
            if ($var37 >= 10)
                return;
            $var20_0 = ju_Random_nextDouble($var5) * 0.2 + 0.01;
            $var22 = $var20 + (ju_Random_nextDouble($var5) - 0.5) * var$21 * 0.5;
            $var24 = $var15 + (ju_Random_nextDouble($var5) - 0.5) * 0.5;
            $var26 = var$27 + (ju_Random_nextDouble($var5) - 0.5) * var$16 * 0.5;
            $var28 = var$16 * $var20_0 + ju_Random_nextGaussian($var5) * 0.01;
            $var30 = (-0.03) + ju_Random_nextGaussian($var5) * 0.01;
            $var32 = var$21 * $var20_0 + ju_Random_nextGaussian($var5) * 0.01;
            $var35 = $rt_s(920);
            $ptr = 18;
        case 18:
            nms_World_spawnParticle($var1, $var35, $var22, $var24, $var26, $var28, $var30, $var32);
            if ($rt_suspending()) {
                break main;
            }
            $var37 = $var37 + 1 | 0;
            if ($var37 >= 10)
                return;
            $var20_0 = ju_Random_nextDouble($var5) * 0.2 + 0.01;
            $var22 = $var20 + (ju_Random_nextDouble($var5) - 0.5) * var$21 * 0.5;
            $var24 = $var15 + (ju_Random_nextDouble($var5) - 0.5) * 0.5;
            $var26 = var$27 + (ju_Random_nextDouble($var5) - 0.5) * var$16 * 0.5;
            $var28 = var$16 * $var20_0 + ju_Random_nextGaussian($var5) * 0.01;
            $var30 = (-0.03) + ju_Random_nextGaussian($var5) * 0.01;
            $var32 = var$21 * $var20_0 + ju_Random_nextGaussian($var5) * 0.01;
            $var35 = $rt_s(920);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var9, $var10, $var35, $var11, $var37, var$12, var$13, $var12, $var22, var$16, $var13, $var24, $var15, $var26, var$21, $var17, $var19, $var34, $var36, $var20, var$27, $var20_0, $var28, $var30, $var32, $ptr);
    }
    function nms_BlockDispenser_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var5 <= 0)
                return;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_Block_blocksList.data[$var5];
            $ptr = 2;
        case 2:
            $tmp = var$6.$canProvidePower();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5)
                return;
            $ptr = 3;
        case 3:
            $tmp = nms_World_isBlockIndirectlyGettingPowered($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5) {
                $var5 = $var3 + 1 | 0;
                $ptr = 4;
                continue main;
            }
            if (!1)
                return;
            $var5 = $this.$blockID;
            $var6 = 4;
            $ptr = 5;
            continue main;
        case 4:
            $tmp = nms_World_isBlockIndirectlyGettingPowered($var1, $var2, $var5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!($var5 ? 1 : 0))
                return;
            $var5 = $this.$blockID;
            $var6 = 4;
            $ptr = 5;
        case 5:
            $var1.$scheduleBlockUpdate($var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, $ptr);
    }
    function nms_BlockDispenser_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockIndirectlyGettingPowered($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6) {
                $ptr = 2;
                continue main;
            }
            var$6 = $var3 + 1 | 0;
            $ptr = 3;
            continue main;
        case 2:
            nms_BlockDispenser_dispenseItem($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            $tmp = nms_World_isBlockIndirectlyGettingPowered($var1, $var2, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6)
                return;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockDispenser_getBlockEntity($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nms_TileEntityDispenser;
            $ptr = 1;
        case 1:
            nms_TileEntityDispenser__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_BlockDispenser_onBlockPlacedBy($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = nms_MathHelper_floor_double($var5.$rotationYaw * 4.0 / 360.0 + 0.5) & 3;
            if (!$var6) {
                var$7 = 2;
                $ptr = 1;
                continue main;
            }
            if ($var6 == 1) {
                var$7 = 5;
                $ptr = 2;
                continue main;
            }
            if ($var6 == 2) {
                var$7 = 3;
                $ptr = 3;
                continue main;
            }
            if ($var6 != 3)
                return;
            $var6 = 4;
            $ptr = 4;
            continue main;
        case 1:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var6 == 1) {
                var$7 = 5;
                $ptr = 2;
                continue main;
            }
            if ($var6 == 2) {
                var$7 = 3;
                $ptr = 3;
                continue main;
            }
            if ($var6 != 3)
                return;
            $var6 = 4;
            $ptr = 4;
            continue main;
        case 2:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var6 == 2) {
                var$7 = 3;
                $ptr = 3;
                continue main;
            }
            if ($var6 != 3)
                return;
            $var6 = 4;
            $ptr = 4;
            continue main;
        case 3:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var6 != 3)
                return;
            $var6 = 4;
            $ptr = 4;
        case 4:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
    }
    var nms_BlockSandStone = $rt_classWithoutFields(nms_Block);
    function nms_BlockSandStone__init_0(var_0) {
        var var_1 = new nms_BlockSandStone();
        nms_BlockSandStone__init_(var_1, var_0);
        return var_1;
    }
    function nms_BlockSandStone__init_($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 192;
            nms_Material_$callClinit();
            var$3 = nms_Material_rock;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_BlockSandStone_getBlockTextureFromSide($this, $var1) {
        return $var1 == 1 ? $this.$blockIndexInTexture - 16 | 0 : $var1 ? $this.$blockIndexInTexture : $this.$blockIndexInTexture + 16 | 0;
    }
    var nms_BlockNote = $rt_classWithoutFields(nms_BlockContainer);
    function nms_BlockNote__init_0(var_0) {
        var var_1 = new nms_BlockNote();
        nms_BlockNote__init_(var_1, var_0);
        return var_1;
    }
    function nms_BlockNote__init_($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 74;
            nms_Material_$callClinit();
            var$3 = nms_Material_wood;
            $ptr = 1;
        case 1:
            nms_BlockContainer__init_0($this, $var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_BlockNote_getBlockTextureFromSide($this, $var1) {
        return $this.$blockIndexInTexture;
    }
    function nms_BlockNote_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $var7, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var5 <= 0)
                return;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var7 = nms_Block_blocksList.data[$var5];
            $ptr = 2;
        case 2:
            $tmp = $var7.$canProvidePower();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5)
                return;
            $ptr = 3;
        case 3:
            $tmp = nms_World_isBlockGettingPowered($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockTileEntity($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var7 = $var7;
            if ($var7.$previousRedstoneState != $var6) {
                if ($var6) {
                    $ptr = 5;
                    continue main;
                }
                $var7.$previousRedstoneState = $var6;
            }
            return;
        case 5:
            nms_TileEntityNote_triggerNote($var7, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7.$previousRedstoneState = $var6;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var7, $var6, $ptr);
    }
    function nms_BlockNote_blockActivated($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return 1;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockTileEntity($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = $var5;
            $var6.$note = (($var6.$note + 1 | 0) % 25 | 0) << 24 >> 24;
            $ptr = 2;
        case 2:
            nms_TileEntity_onInventoryChanged($var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_TileEntityNote_triggerNote($var6, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockNote_onBlockClicked($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockTileEntity($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = $var5;
            $ptr = 2;
        case 2:
            nms_TileEntityNote_triggerNote($var6, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockNote_getBlockEntity($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nms_TileEntityNote;
            $ptr = 1;
        case 1:
            nms_TileEntityNote__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_BlockNote_playBlock($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var7, $var8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var7 = jl_Math_pow(2.0, ($var6 - 12 | 0) / 12.0);
            $var8 = $rt_s(921);
            if ($var5 == 1)
                $var8 = $rt_s(922);
            if ($var5 == 2)
                $var8 = $rt_s(923);
            if ($var5 == 3)
                $var8 = $rt_s(924);
            if ($var5 == 4)
                $var8 = $rt_s(925);
            var$9 = $var2 + 0.5;
            var$10 = $var3;
            var$11 = var$10 + 0.5;
            var$12 = $var4 + 0.5;
            var$13 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$13);
            var$14 = $rt_s(926);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$14, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            var$15 = 3.0;
            $ptr = 4;
        case 4:
            nms_World_playSoundEffect($var1, var$9, var$11, var$12, $var8, var$15, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $rt_s(927);
            var$10 = var$10 + 1.2;
            var$11 = $var6 / 24.0;
            var$16 = 0.0;
            var$17 = 0.0;
            $ptr = 5;
        case 5:
            nms_World_spawnParticle($var1, $var8, var$9, var$10, var$12, var$11, var$16, var$17);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr);
    }
    var nms_BlockBed = $rt_classWithoutFields(nms_Block);
    var nms_BlockBed_headBlockToFootBlockMap = null;
    function nms_BlockBed__init_0(var_0) {
        var var_1 = new nms_BlockBed();
        nms_BlockBed__init_(var_1, var_0);
        return var_1;
    }
    function nms_BlockBed__init_($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 134;
            nms_Material_$callClinit();
            var$3 = nms_Material_cloth;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_BlockBed_setBounds($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_BlockBed_blockActivated($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, var$8, $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (nms_BlockBed_isBlockFootOfBed($var6)) {
                if (!(!($var6 & 4) ? 0 : 1)) {
                    $ptr = 4;
                    continue main;
                }
                $var1 = $rt_s(928);
                $ptr = 5;
                continue main;
            }
            $var7 = nms_BlockBed_getDirectionFromMetadata($var6);
            var$8 = nms_BlockBed_headBlockToFootBlockMap.data;
            $var2 = $var2 + var$8[$var7].data[0] | 0;
            $var4 = $var4 + var$8[$var7].data[1] | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 != $this.$blockID)
                return 1;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!(!($var6 & 4) ? 0 : 1)) {
                $ptr = 4;
                continue main;
            }
            $var1 = $rt_s(928);
            $ptr = 5;
            continue main;
        case 4:
            $tmp = nms_EntityPlayer_sleepInBedAt($var5, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            nms_EnumStatus_$callClinit();
            if ($var8 === nms_EnumStatus_OK) {
                $var6 = 1;
                $ptr = 6;
                continue main;
            }
            if ($var8 !== nms_EnumStatus_NOT_POSSIBLE_NOW)
                return 1;
            $var1 = $rt_s(929);
            $ptr = 7;
            continue main;
        case 5:
            nms_EntityPlayerSP_addChatMessage($var5, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 6:
            nms_BlockBed_setBedOccupied($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 7:
            nms_EntityPlayerSP_addChatMessage($var5, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, $var8, $ptr);
    }
    function nms_BlockBed_getBlockTextureFromSideAndMetadata($this, $var1, $var2) {
        var $var3, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1) {
                $var3 = nms_BlockBed_getDirectionFromMetadata($var2);
                $var4 = nms_ModelBed_bedDirection.data[$var3].data[$var1];
                return !nms_BlockBed_isBlockFootOfBed($var2) ? ($var4 == 3 ? ($this.$blockIndexInTexture - 1 | 0) + 16 | 0 : $var4 != 5 && $var4 != 4 ? $this.$blockIndexInTexture : $this.$blockIndexInTexture + 16 | 0) : $var4 == 2 ? ($this.$blockIndexInTexture + 2 | 0) + 16 | 0 : $var4 != 5 && $var4 != 4 ? $this.$blockIndexInTexture + 1 | 0 : ($this.$blockIndexInTexture + 1 | 0) + 16 | 0;
            }
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Block_planks.$blockIndexInTexture;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_BlockBed_getRenderType($this) {
        return 14;
    }
    function nms_BlockBed_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockBed_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockBed_setBlockBoundsBasedOnState($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockBed_setBounds($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_BlockBed_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = nms_BlockBed_getDirectionFromMetadata($var6);
            if (!nms_BlockBed_isBlockFootOfBed($var6)) {
                var$8 = nms_BlockBed_headBlockToFootBlockMap.data;
                $var5 = $var2 + var$8[$var7].data[0] | 0;
                $var7 = $var4 + var$8[$var7].data[1] | 0;
                $ptr = 2;
                continue main;
            }
            var$9 = nms_BlockBed_headBlockToFootBlockMap.data;
            $var5 = $var2 - var$9[$var7].data[0] | 0;
            $var7 = $var4 - var$9[$var7].data[1] | 0;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var5, $var3, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 == $this.$blockID)
                return;
            $var5 = 0;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = nms_World_getBlockId($var1, $var5, $var3, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 == $this.$blockID)
                return;
            $var5 = 0;
            $ptr = 5;
            continue main;
        case 4:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$multiplayerWorld)
                return;
            $ptr = 6;
            continue main;
        case 5:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, var$9, $ptr);
    }
    function nms_BlockBed_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (nms_BlockBed_isBlockFootOfBed($var1))
                return 0;
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_bed.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockBed_setBounds($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 0.0;
            var$2 = 0.0;
            var$3 = 0.0;
            var$4 = 1.0;
            var$5 = 0.5625;
            var$6 = 1.0;
            $ptr = 1;
        case 1:
            nms_Block_setBlockBounds($this, var$1, var$2, var$3, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_BlockBed_getDirectionFromMetadata($var0) {
        return $var0 & 3;
    }
    function nms_BlockBed_isBlockFootOfBed($var0) {
        return !($var0 & 8) ? 0 : 1;
    }
    function nms_BlockBed_setBedOccupied($var0, $var1, $var2, $var3, $var4) {
        var $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var0, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var4 = !$var4 ? $var5 & (-5) : $var5 | 4;
            $ptr = 2;
        case 2:
            nms_World_setBlockMetadataWithNotify($var0, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockBed_getNearestEmptyChunkCoordinates($var0, $var1, $var2, $var3, $var4) {
        var $var5, $var6, $var7, var$9, var$10, var$11, $var12, $var9, $var10, $var11, $var13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var0, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = nms_BlockBed_getDirectionFromMetadata($var5);
            $var7 = 0;
            var$9 = $var2 - 1 | 0;
            var$10 = $var2 + 1 | 0;
            while ($var7 <= 1) {
                var$11 = nms_BlockBed_headBlockToFootBlockMap.data;
                $var12 = ($var1 - $rt_imul(var$11[$var6].data[0], $var7) | 0) - 1 | 0;
                $var9 = ($var3 - $rt_imul(var$11[$var6].data[1], $var7) | 0) - 1 | 0;
                $var10 = $var12 + 2 | 0;
                $var11 = $var9 + 2 | 0;
                while ($var12 <= $var10) {
                    $var13 = $var9;
                    if ($var13 <= $var11) {
                        $ptr = 2;
                        continue main;
                    }
                    $var12 = $var12 + 1 | 0;
                }
                $var7 = $var7 + 1 | 0;
            }
            return null;
        case 2:
            $tmp = nms_World_isBlockOpaqueCube($var0, $var12, var$9, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5) {
                $ptr = 3;
                continue main;
            }
            $var13 = $var13 + 1 | 0;
            a: while (true) {
                if ($var13 <= $var11) {
                    continue main;
                }
                $var12 = $var12 + 1 | 0;
                while ($var12 > $var10) {
                    $var7 = $var7 + 1 | 0;
                    if ($var7 > 1)
                        break a;
                    var$11 = nms_BlockBed_headBlockToFootBlockMap.data;
                    $var12 = ($var1 - $rt_imul(var$11[$var6].data[0], $var7) | 0) - 1 | 0;
                    $var9 = ($var3 - $rt_imul(var$11[$var6].data[1], $var7) | 0) - 1 | 0;
                    $var10 = $var12 + 2 | 0;
                    $var11 = $var9 + 2 | 0;
                }
                $var13 = $var9;
            }
            return null;
        case 3:
            $tmp = nms_World_isAirBlock($var0, $var12, $var2, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5) {
                $ptr = 4;
                continue main;
            }
            $var13 = $var13 + 1 | 0;
            a: while (true) {
                if ($var13 <= $var11) {
                    $ptr = 2;
                    continue main;
                }
                $var12 = $var12 + 1 | 0;
                while ($var12 > $var10) {
                    $var7 = $var7 + 1 | 0;
                    if ($var7 > 1)
                        break a;
                    var$11 = nms_BlockBed_headBlockToFootBlockMap.data;
                    $var12 = ($var1 - $rt_imul(var$11[$var6].data[0], $var7) | 0) - 1 | 0;
                    $var9 = ($var3 - $rt_imul(var$11[$var6].data[1], $var7) | 0) - 1 | 0;
                    $var10 = $var12 + 2 | 0;
                    $var11 = $var9 + 2 | 0;
                }
                $var13 = $var9;
            }
            return null;
        case 4:
            $tmp = nms_World_isAirBlock($var0, $var12, var$10, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5) {
                if ($var4 <= 0)
                    return nms_ChunkCoordinates__init_2($var12, $var2, $var13);
                $var4 = $var4 + (-1) | 0;
            }
            $var13 = $var13 + 1 | 0;
            b: while (true) {
                if ($var13 <= $var11) {
                    $ptr = 2;
                    continue main;
                }
                $var12 = $var12 + 1 | 0;
                while ($var12 > $var10) {
                    $var7 = $var7 + 1 | 0;
                    if ($var7 > 1)
                        break b;
                    var$11 = nms_BlockBed_headBlockToFootBlockMap.data;
                    $var12 = ($var1 - $rt_imul(var$11[$var6].data[0], $var7) | 0) - 1 | 0;
                    $var9 = ($var3 - $rt_imul(var$11[$var6].data[1], $var7) | 0) - 1 | 0;
                    $var10 = $var12 + 2 | 0;
                    $var11 = $var9 + 2 | 0;
                }
                $var13 = $var9;
            }
            return null;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$9, var$10, var$11, $var12, $var9, $var10, $var11, $var13, $ptr);
    }
    function nms_BlockBed__clinit_() {
        nms_BlockBed_headBlockToFootBlockMap = $rt_createArrayFromData($rt_arraycls($rt_intcls()), [$rt_createIntArrayFromData([0, 1]), $rt_createIntArrayFromData([(-1), 0]), $rt_createIntArrayFromData([0, (-1)]), $rt_createIntArrayFromData([1, 0])]);
    }
    var nms_BlockCloth = $rt_classWithoutFields(nms_Block);
    function nms_BlockCloth__init_0() {
        var var_0 = new nms_BlockCloth();
        nms_BlockCloth__init_(var_0);
        return var_0;
    }
    function nms_BlockCloth__init_($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 35;
            var$2 = 64;
            nms_Material_$callClinit();
            var$3 = nms_Material_cloth;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_BlockCloth_getBlockTextureFromSideAndMetadata($this, $var1, $var2) {
        if (!$var2)
            return $this.$blockIndexInTexture;
        $var2 = $var2 & 15 ^ (-1);
        return (113 + (($var2 & 8) >> 3) | 0) + (($var2 & 7) * 16 | 0) | 0;
    }
    function nms_BlockCloth_damageDropped($this, $var1) {
        return $var1;
    }
    function nms_BlockCloth_func_21034_c($var0) {
        return ($var0 ^ (-1)) & 15;
    }
    function nms_BlockCloth_func_21035_d($var0) {
        return ($var0 ^ (-1)) & 15;
    }
    var nms_BlockMushroom = $rt_classWithoutFields(nms_BlockFlower);
    function nms_BlockMushroom__init_0(var_0, var_1) {
        var var_2 = new nms_BlockMushroom();
        nms_BlockMushroom__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockMushroom__init_($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockFlower__init_($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 0.30000001192092896;
            var$4 = 0.0;
            var$5 = 0.699999988079071;
            var$6 = 0.4000000059604645;
            $ptr = 2;
        case 2:
            nms_Block_setBlockBounds($this, var$3, var$4, var$3, var$5, var$6, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_BlockMushroom_canThisPlantGrowOnThisBlockID($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Block_opaqueCubeLookup.data[$var1];
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_BlockMushroom_canBlockStay($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockLightValue($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 > 13)
                return 0;
            $var3 = $var3 - 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = nms_BlockMushroom_canThisPlantGrowOnThisBlockID($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return !$var2 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    var nms_BlockOreBlock = $rt_classWithoutFields(nms_Block);
    function nms_BlockOreBlock__init_0(var_0, var_1) {
        var var_2 = new nms_BlockOreBlock();
        nms_BlockOreBlock__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockOreBlock__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_iron;
            $ptr = 1;
        case 1:
            nms_Block__init_0($this, $var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$blockIndexInTexture = $var2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockOreBlock_getBlockTextureFromSide($this, $var1) {
        return $this.$blockIndexInTexture;
    }
    function nms_BlockStep() {
        nms_Block.call(this);
        this.$blockType = 0;
    }
    var nms_BlockStep_field_22037_a = null;
    function nms_BlockStep_$callClinit() {
        nms_BlockStep_$callClinit = $rt_eraseClinit(nms_BlockStep);
        nms_BlockStep__clinit_();
    }
    function nms_BlockStep__init_0(var_0, var_1) {
        var var_2 = new nms_BlockStep();
        nms_BlockStep__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockStep__init_($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_BlockStep_$callClinit();
            var$3 = 6;
            nms_Material_$callClinit();
            var$4 = nms_Material_rock;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$blockType = $var2;
            if ($var2) {
                $var1 = 255;
                $ptr = 2;
                continue main;
            }
            var$5 = 0.0;
            var$6 = 0.0;
            var$7 = 0.0;
            var$8 = 1.0;
            var$9 = 0.5;
            var$10 = 1.0;
            $ptr = 3;
            continue main;
        case 2:
            nms_Block_setLightOpacity($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_Block_setBlockBounds($this, var$5, var$6, var$7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 255;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_BlockStep_getBlockTextureFromSideAndMetadata($this, $var1, $var2) {
        return !$var2 ? ($var1 > 1 ? 5 : 6) : $var2 == 1 ? (!$var1 ? 208 : $var1 != 1 ? 192 : 176) : $var2 == 2 ? 4 : $var2 != 3 ? 6 : 16;
    }
    function nms_BlockStep_getBlockTextureFromSide($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 0;
            $ptr = 1;
        case 1:
            $tmp = nms_BlockStep_getBlockTextureFromSideAndMetadata($this, $var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_BlockStep_isOpaqueCube($this) {
        return $this.$blockType;
    }
    function nms_BlockStep_onBlockAdded($this, $var1, $var2, $var3, $var4) {
        var var$5, $var5, $var6, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var3 - 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var2, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockMetadata($var1, $var2, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ($var6 == $var7 && $var5 == nms_Block_stairSingle.$blockID) {
                $var5 = 0;
                $ptr = 5;
                continue main;
            }
            return;
        case 5:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_Block_stairDouble.$blockID;
            $ptr = 6;
        case 6:
            nms_World_setBlockAndMetadataWithNotify($var1, $var2, var$5, $var4, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $var5, $var6, $var7, $ptr);
    }
    function nms_BlockStep_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Block_stairSingle.$blockID;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockStep_quantityDropped($this, $var1) {
        return !$this.$blockType ? 1 : 2;
    }
    function nms_BlockStep_damageDropped($this, $var1) {
        return $var1;
    }
    function nms_BlockStep_renderAsNormalBlock($this) {
        return $this.$blockType;
    }
    function nms_BlockStep_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($this !== nms_Block_stairSingle) {
                $ptr = 2;
                continue main;
            }
            if ($var5 == 1)
                return 1;
            $ptr = 3;
            continue main;
        case 2:
            nms_Block_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 == 1)
                return 1;
            $ptr = 3;
        case 3:
            $tmp = nms_Block_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6)
                $var2 = 0;
            else {
                if ($var5) {
                    $ptr = 4;
                    continue main;
                }
                $var2 = 1;
            }
            return $var2;
        case 4:
            $tmp = $var1.$getBlockId($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2 == $this.$blockID ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockStep__clinit_() {
        nms_BlockStep_field_22037_a = $rt_createArrayFromData(jl_String, [$rt_s(592), $rt_s(597), $rt_s(593), $rt_s(930)]);
    }
    var nms_BlockTNT = $rt_classWithoutFields(nms_Block);
    function nms_BlockTNT__init_0(var_0, var_1) {
        var var_2 = new nms_BlockTNT();
        nms_BlockTNT__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockTNT__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_tnt;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockTNT_getBlockTextureFromSide($this, $var1) {
        return !$var1 ? $this.$blockIndexInTexture + 2 | 0 : $var1 != 1 ? $this.$blockIndexInTexture : $this.$blockIndexInTexture + 1 | 0;
    }
    function nms_BlockTNT_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var5 <= 0)
                return;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_Block_blocksList.data[$var5];
            $ptr = 2;
        case 2:
            $tmp = var$6.$canProvidePower();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5)
                return;
            $ptr = 3;
        case 3:
            $tmp = nms_World_isBlockIndirectlyGettingPowered($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5)
                return;
            $var5 = 0;
            $ptr = 4;
        case 4:
            nms_BlockTNT_onBlockDestroyedByPlayer($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            $ptr = 5;
        case 5:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockTNT_quantityDropped($this, $var1) {
        return 0;
    }
    function nms_BlockTNT_onBlockDestroyedByExplosion($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = new nms_EntityTNTPrimed;
            var$6 = $var2 + 0.5;
            var$7 = $var3 + 0.5;
            var$8 = $var4 + 0.5;
            $ptr = 1;
        case 1:
            nms_EntityTNTPrimed__init_($var5, $var1, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var5.$fuse = ju_Random_nextInt($var1.$rand2, $var5.$fuse / 4 | 0) + ($var5.$fuse / 8 | 0) | 0;
            $ptr = 2;
        case 2:
            $var1.$entityJoinedWorld($var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, $ptr);
    }
    function nms_BlockTNT_onBlockDestroyedByPlayer($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return;
            $var6 = new nms_EntityTNTPrimed;
            var$7 = $var2 + 0.5;
            var$8 = $var3 + 0.5;
            var$9 = $var4 + 0.5;
            $ptr = 1;
        case 1:
            nms_EntityTNTPrimed__init_($var6, $var1, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $var1.$entityJoinedWorld($var6);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $rt_s(931);
            var$11 = 1.0;
            var$12 = 1.0;
            $ptr = 3;
        case 3:
            nms_World_playSoundAtEntity($var1, $var6, var$10, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    var nms_BlockBookshelf = $rt_classWithoutFields(nms_Block);
    function nms_BlockBookshelf__init_0(var_0, var_1) {
        var var_2 = new nms_BlockBookshelf();
        nms_BlockBookshelf__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockBookshelf__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_wood;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockBookshelf_getBlockTextureFromSide($this, $var1) {
        return $var1 > 1 ? $this.$blockIndexInTexture : 4;
    }
    function nms_BlockBookshelf_quantityDropped($this, $var1) {
        return 0;
    }
    var nms_BlockObsidian = $rt_classWithoutFields(nms_BlockStone);
    function nms_BlockObsidian__init_0(var_0, var_1) {
        var var_2 = new nms_BlockObsidian();
        nms_BlockObsidian__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockObsidian__init_($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockStone__init_($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockObsidian_quantityDropped($this, $var1) {
        return 1;
    }
    function nms_BlockObsidian_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Block_obsidian.$blockID;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    var nms_BlockTorch = $rt_classWithoutFields(nms_Block);
    function nms_BlockTorch__init_0(var_0, var_1) {
        var var_2 = new nms_BlockTorch();
        nms_BlockTorch__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockTorch__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_circuits;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 1;
            $ptr = 2;
        case 2:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockTorch_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return null;
    }
    function nms_BlockTorch_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockTorch_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockTorch_getRenderType($this) {
        return 2;
    }
    function nms_BlockTorch_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var2 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var2 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var4 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var4 + 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            $var3 = $var3 - 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockTorch_onBlockPlaced($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var5 == 1) {
                var$7 = $var3 - 1 | 0;
                $ptr = 2;
                continue main;
            }
            if ($var5 == 2) {
                var$7 = $var4 + 1 | 0;
                $ptr = 3;
                continue main;
            }
            if ($var5 == 3) {
                var$7 = $var4 - 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($var5 == 4) {
                var$7 = $var2 + 1 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var5 != 5) {
                $ptr = 7;
                continue main;
            }
            $var5 = $var2 - 1 | 0;
            $ptr = 6;
            continue main;
        case 2:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, var$7, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7)
                $var6 = 5;
            if ($var5 == 2) {
                var$7 = $var4 + 1 | 0;
                $ptr = 3;
                continue main;
            }
            if ($var5 == 3) {
                var$7 = $var4 - 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($var5 == 4) {
                var$7 = $var2 + 1 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var5 != 5) {
                $ptr = 7;
                continue main;
            }
            $var5 = $var2 - 1 | 0;
            $ptr = 6;
            continue main;
        case 3:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7)
                $var6 = 4;
            if ($var5 == 3) {
                var$7 = $var4 - 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($var5 == 4) {
                var$7 = $var2 + 1 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var5 != 5) {
                $ptr = 7;
                continue main;
            }
            $var5 = $var2 - 1 | 0;
            $ptr = 6;
            continue main;
        case 4:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7)
                $var6 = 3;
            if ($var5 == 4) {
                var$7 = $var2 + 1 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var5 != 5) {
                $ptr = 7;
                continue main;
            }
            $var5 = $var2 - 1 | 0;
            $ptr = 6;
            continue main;
        case 5:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$7, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7)
                $var6 = 2;
            if ($var5 != 5) {
                $ptr = 7;
                continue main;
            }
            $var5 = $var2 - 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                $var6 = 1;
            $ptr = 7;
        case 7:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
    }
    function nms_BlockTorch_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6)
                return;
            $ptr = 2;
        case 2:
            $this.$onBlockAdded($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockTorch_onBlockAdded($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var2 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5) {
                var$5 = 1;
                $ptr = 3;
                continue main;
            }
            var$5 = $var2 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5) {
                var$5 = 2;
                $ptr = 5;
                continue main;
            }
            var$5 = $var4 - 1 | 0;
            $ptr = 4;
            continue main;
        case 3:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
            continue main;
        case 4:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5) {
                var$5 = 3;
                $ptr = 8;
                continue main;
            }
            var$5 = $var4 + 1 | 0;
            $ptr = 7;
            continue main;
        case 5:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            nms_BlockTorch_dropTorchIfCantStay($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5) {
                var$5 = 4;
                $ptr = 10;
                continue main;
            }
            var$5 = $var3 - 1 | 0;
            $ptr = 9;
            continue main;
        case 8:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
            continue main;
        case 9:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (!var$5) {
                $ptr = 6;
                continue main;
            }
            var$5 = 5;
            $ptr = 11;
            continue main;
        case 10:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
            continue main;
        case 11:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockTorch_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_BlockTorch_dropTorchIfCantStay($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5)
                return;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = 0;
            $var5 = $var2 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5 && $var6 == 1)
                $var7 = 1;
            $var5 = $var2 + 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5 && $var6 == 2)
                $var7 = 1;
            $var5 = $var4 - 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5 && $var6 == 3)
                $var7 = 1;
            $var5 = $var4 + 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5 && $var6 == 4)
                $var7 = 1;
            $var5 = $var3 - 1 | 0;
            $ptr = 7;
        case 7:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5 && $var6 == 5)
                $var7 = 1;
            if (!$var7)
                return;
            $ptr = 8;
        case 8:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 9;
        case 9:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            $ptr = 10;
        case 10:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_BlockTorch_dropTorchIfCantStay($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_BlockTorch_canPlaceBlockAt($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 0;
            $ptr = 4;
        case 4:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockTorch_collisionRayTrace($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, $var7, var$9, var$10, var$11, var$12, var$13, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var7 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $var7 = var$7 & 7;
            if ($var7 == 1) {
                var$9 = 0.0;
                var$10 = 0.20000000298023224;
                var$11 = 0.3499999940395355;
                var$12 = 0.30000001192092896;
                var$13 = 0.800000011920929;
                var$14 = 0.6499999761581421;
                $ptr = 2;
                continue main;
            }
            if ($var7 == 2) {
                var$9 = 0.699999988079071;
                var$10 = 0.20000000298023224;
                var$11 = 0.3499999940395355;
                var$12 = 1.0;
                var$13 = 0.800000011920929;
                var$14 = 0.6499999761581421;
                $ptr = 3;
                continue main;
            }
            if ($var7 == 3) {
                var$13 = 0.3499999940395355;
                var$14 = 0.20000000298023224;
                var$9 = 0.0;
                var$10 = 0.6499999761581421;
                var$11 = 0.800000011920929;
                var$12 = 0.30000001192092896;
                $ptr = 5;
                continue main;
            }
            if ($var7 != 4) {
                var$9 = 0.4000000059604645;
                var$10 = 0.0;
                var$11 = 0.6000000238418579;
                var$12 = 0.6000000238418579;
                $ptr = 6;
                continue main;
            }
            var$9 = 0.3499999940395355;
            var$10 = 0.20000000298023224;
            var$11 = 0.699999988079071;
            var$12 = 0.6499999761581421;
            var$13 = 0.800000011920929;
            var$14 = 1.0;
            $ptr = 7;
            continue main;
        case 2:
            nms_Block_setBlockBounds($this, var$9, var$10, var$11, var$12, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
            continue main;
        case 3:
            nms_Block_setBlockBounds($this, var$9, var$10, var$11, var$12, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = nms_Block_collisionRayTrace($this, $var1, $var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        case 5:
            nms_Block_setBlockBounds($this, var$13, var$14, var$9, var$10, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
            continue main;
        case 6:
            nms_Block_setBlockBounds($this, var$9, var$10, var$9, var$11, var$12, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
            continue main;
        case 7:
            nms_Block_setBlockBounds($this, var$9, var$10, var$11, var$12, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $var7, var$9, var$10, var$11, var$12, var$13, var$14, $ptr);
    }
    function nms_BlockTorch_randomDisplayTick($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var9, $var11, $var15, $var13, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();$var13 = $thread.pop();$var15 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = $var2 + 0.5;
            $var9 = $var3 + 0.699999988079071;
            $var11 = $var4 + 0.5;
            if ($var6 == 1) {
                $var5 = $rt_s(920);
                $var15 = $var7 - 0.27000001072883606;
                $var13 = $var9 + 0.2199999988079071;
                var$12 = 0.0;
                $var7 = 0.0;
                $var9 = 0.0;
                $ptr = 2;
                continue main;
            }
            if ($var6 == 2) {
                $var5 = $rt_s(920);
                $var15 = $var7 + 0.27000001072883606;
                $var13 = $var9 + 0.2199999988079071;
                var$12 = 0.0;
                $var7 = 0.0;
                $var9 = 0.0;
                $ptr = 4;
                continue main;
            }
            if ($var6 == 3) {
                $var5 = $rt_s(920);
                $var13 = $var9 + 0.2199999988079071;
                $var15 = $var11 - 0.27000001072883606;
                var$12 = 0.0;
                $var9 = 0.0;
                $var11 = 0.0;
                $ptr = 6;
                continue main;
            }
            if ($var6 != 4) {
                $var5 = $rt_s(920);
                $var13 = 0.0;
                $var15 = 0.0;
                var$12 = 0.0;
                $ptr = 8;
                continue main;
            }
            $var5 = $rt_s(920);
            $var13 = $var9 + 0.2199999988079071;
            $var15 = $var11 + 0.27000001072883606;
            var$12 = 0.0;
            $var9 = 0.0;
            $var11 = 0.0;
            $ptr = 10;
            continue main;
        case 2:
            nms_World_spawnParticle($var1, $var5, $var15, $var13, $var11, var$12, $var7, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $rt_s(932);
            var$12 = 0.0;
            $var7 = 0.0;
            $var9 = 0.0;
            $ptr = 3;
        case 3:
            nms_World_spawnParticle($var1, $var5, $var15, $var13, $var11, var$12, $var7, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nms_World_spawnParticle($var1, $var5, $var15, $var13, $var11, var$12, $var7, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $rt_s(932);
            var$12 = 0.0;
            $var7 = 0.0;
            $var9 = 0.0;
            $ptr = 5;
        case 5:
            nms_World_spawnParticle($var1, $var5, $var15, $var13, $var11, var$12, $var7, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nms_World_spawnParticle($var1, $var5, $var7, $var13, $var15, var$12, $var9, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $rt_s(932);
            var$12 = 0.0;
            $var9 = 0.0;
            $var11 = 0.0;
            $ptr = 7;
        case 7:
            nms_World_spawnParticle($var1, $var5, $var7, $var13, $var15, var$12, $var9, $var11);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            nms_World_spawnParticle($var1, $var5, $var7, $var9, $var11, $var13, $var15, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $rt_s(932);
            $var13 = 0.0;
            $var15 = 0.0;
            var$12 = 0.0;
            $ptr = 9;
        case 9:
            nms_World_spawnParticle($var1, $var5, $var7, $var9, $var11, $var13, $var15, var$12);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 10:
            nms_World_spawnParticle($var1, $var5, $var7, $var13, $var15, var$12, $var9, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $rt_s(932);
            var$12 = 0.0;
            $var9 = 0.0;
            $var11 = 0.0;
            $ptr = 11;
        case 11:
            nms_World_spawnParticle($var1, $var5, $var7, $var13, $var15, var$12, $var9, $var11);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var9, $var11, $var15, $var13, var$12, $ptr);
    }
    function nms_BlockFire() {
        var a = this; nms_Block.call(a);
        a.$chanceToEncourageFire = null;
        a.$abilityToCatchFire = null;
    }
    function nms_BlockFire__init_0(var_0, var_1) {
        var var_2 = new nms_BlockFire();
        nms_BlockFire__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockFire__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_fire;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$chanceToEncourageFire = $rt_createIntArray(256);
            $this.$abilityToCatchFire = $rt_createIntArray(256);
            nms_BlockFire_setBurnRate($this, nms_Block_planks.$blockID, 5, 20);
            nms_BlockFire_setBurnRate($this, nms_Block_wood.$blockID, 5, 5);
            nms_BlockFire_setBurnRate($this, nms_Block_leaves.$blockID, 30, 60);
            nms_BlockFire_setBurnRate($this, nms_Block_bookShelf.$blockID, 30, 20);
            nms_BlockFire_setBurnRate($this, nms_Block_tnt.$blockID, 15, 100);
            nms_BlockFire_setBurnRate($this, nms_Block_cloth.$blockID, 30, 60);
            $var1 = 1;
            $ptr = 2;
        case 2:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockFire_setBurnRate($this, $var1, $var2, $var3) {
        $this.$chanceToEncourageFire.data[$var1] = $var2;
        $this.$abilityToCatchFire.data[$var1] = $var3;
    }
    function nms_BlockFire_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return null;
    }
    function nms_BlockFire_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockFire_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockFire_getRenderType($this) {
        return 3;
    }
    function nms_BlockFire_quantityDropped($this, $var1) {
        return 0;
    }
    function nms_BlockFire_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var6, $var7, var$9, $var9, var$11, $var10, $var8, var$14, var$15, $var11, $var12, var$18, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$18 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var8 = $thread.pop();$var10 = $thread.pop();var$11 = $thread.pop();$var9 = $thread.pop();var$9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var2, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 != nms_Block_bloodStone.$blockID ? 0 : 1;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            var$9 = $rt_compare($var7, 15);
            if (var$9 < 0) {
                $var9 = $var7 + 1 | 0;
                $ptr = 4;
                continue main;
            }
            if (!$var6) {
                $ptr = 6;
                continue main;
            }
            if (!$var6) {
                $ptr = 7;
                continue main;
            }
            if (!($var7 % 2 | 0) && $var7 > 2) {
                var$11 = $var2 + 1 | 0;
                $var6 = 300;
                $ptr = 16;
                continue main;
            }
            if (var$9)
                return;
            $var6 = $var2 + 1 | 0;
            $var7 = 1;
            $ptr = 10;
            continue main;
        case 4:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $this.$blockID;
            $var10 = 10;
            $ptr = 5;
        case 5:
            $var1.$scheduleBlockUpdate($var2, $var3, $var4, $var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var6) {
                $ptr = 6;
                continue main;
            }
            if (!$var6) {
                $ptr = 7;
                continue main;
            }
            if (!($var7 % 2 | 0) && $var7 > 2) {
                var$11 = $var2 + 1 | 0;
                $var6 = 300;
                $ptr = 16;
                continue main;
            }
            if (var$9)
                return;
            $var6 = $var2 + 1 | 0;
            $var7 = 1;
            $ptr = 10;
            continue main;
        case 6:
            $tmp = nms_BlockFire_func_263_h($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if (!$var9) {
                $ptr = 8;
                continue main;
            }
            if (!$var6) {
                $ptr = 7;
                continue main;
            }
            if (!($var7 % 2 | 0) && $var7 > 2) {
                var$11 = $var2 + 1 | 0;
                $var6 = 300;
                $ptr = 16;
                continue main;
            }
            if (var$9)
                return;
            $var6 = $var2 + 1 | 0;
            $var7 = 1;
            $ptr = 10;
            continue main;
        case 7:
            $tmp = nms_BlockFire_canBlockCatchFire($this, $var1, $var2, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$var6 && !var$9 && !ju_Random_nextInt($var5, 4)) {
                $var6 = 0;
                $ptr = 22;
                continue main;
            }
            if (!($var7 % 2 | 0) && $var7 > 2) {
                var$11 = $var2 + 1 | 0;
                $var6 = 300;
                $ptr = 16;
                continue main;
            }
            if (var$9)
                return;
            $var6 = $var2 + 1 | 0;
            $var7 = 1;
            $ptr = 10;
            continue main;
        case 8:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 && $var7 <= 3)
                return;
            $var6 = 0;
            $ptr = 9;
        case 9:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 10:
            nms_BlockFire_tryToCatchBlockOnFire($this, $var1, $var6, $var3, $var4, $var7, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var2 - 1 | 0;
            $var7 = 1;
            $ptr = 11;
        case 11:
            nms_BlockFire_tryToCatchBlockOnFire($this, $var1, $var6, $var3, $var4, $var7, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = 1;
            $ptr = 12;
        case 12:
            nms_BlockFire_tryToCatchBlockOnFire($this, $var1, $var2, var$6, $var4, $var6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var3 + 1 | 0;
            $var7 = 1;
            $ptr = 13;
        case 13:
            nms_BlockFire_tryToCatchBlockOnFire($this, $var1, $var2, $var6, $var4, $var7, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var4 - 1 | 0;
            $var7 = 1;
            $ptr = 14;
        case 14:
            nms_BlockFire_tryToCatchBlockOnFire($this, $var1, $var2, $var3, $var6, $var7, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $var4 + 1 | 0;
            $var6 = 1;
            $ptr = 15;
        case 15:
            nms_BlockFire_tryToCatchBlockOnFire($this, $var1, $var2, $var3, $var4, $var6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 16:
            nms_BlockFire_tryToCatchBlockOnFire($this, $var1, var$11, $var3, $var4, $var6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var2 - 1 | 0;
            $var6 = 300;
            $ptr = 17;
        case 17:
            nms_BlockFire_tryToCatchBlockOnFire($this, $var1, $var8, $var3, $var4, $var6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = 250;
            $ptr = 18;
        case 18:
            nms_BlockFire_tryToCatchBlockOnFire($this, $var1, $var2, var$6, $var4, $var6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $var3 + 1 | 0;
            $var6 = 250;
            $ptr = 19;
        case 19:
            nms_BlockFire_tryToCatchBlockOnFire($this, $var1, $var2, var$14, $var4, $var6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var4 - 1 | 0;
            $var7 = 300;
            $ptr = 20;
        case 20:
            nms_BlockFire_tryToCatchBlockOnFire($this, $var1, $var2, $var3, $var6, $var7, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var4 + 1 | 0;
            $var9 = 300;
            $ptr = 21;
        case 21:
            nms_BlockFire_tryToCatchBlockOnFire($this, $var1, $var2, $var3, $var7, $var9, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $var3 + 4 | 0;
            a: {
                while ($var8 <= var$11) {
                    $var9 = $var6;
                    while ($var9 <= $var7) {
                        $var10 = var$6;
                        while ($var10 <= var$15) {
                            if ($var8 != $var2)
                                break a;
                            if ($var10 != $var3)
                                break a;
                            if ($var9 != $var4)
                                break a;
                            $var10 = $var10 + 1 | 0;
                        }
                        $var9 = $var9 + 1 | 0;
                    }
                    $var8 = $var8 + 1 | 0;
                }
                if (var$9)
                    return;
                $var6 = $var2 + 1 | 0;
                $var7 = 1;
                $ptr = 10;
                continue main;
            }
            $var11 = 100;
            if ($var10 > var$14)
                $var11 = $var11 + (($var10 - var$14 | 0) * 100 | 0) | 0;
            $var12 = 0;
            $ptr = 23;
            continue main;
        case 22:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 23:
            $tmp = nms_World_isAirBlock($var1, $var8, $var10, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $tmp;
            if (var$18) {
                var$18 = $var8 + 1 | 0;
                $ptr = 24;
                continue main;
            }
            if (0 > 0 && ju_Random_nextInt($var5, $var11) <= 0) {
                $var11 = $this.$blockID;
                $ptr = 30;
                continue main;
            }
            b: {
                c: while (true) {
                    $var10 = $var10 + 1 | 0;
                    while ($var10 > var$15) {
                        $var9 = $var9 + 1 | 0;
                        while ($var9 > $var7) {
                            $var8 = $var8 + 1 | 0;
                            if ($var8 > var$11)
                                break c;
                            $var9 = $var6;
                        }
                        $var10 = var$6;
                    }
                    if ($var8 != $var2)
                        break b;
                    if ($var10 != $var3)
                        break b;
                    if ($var9 == $var4)
                        continue;
                    else
                        break b;
                }
                if (var$9)
                    return;
                $var6 = $var2 + 1 | 0;
                $var7 = 1;
                $ptr = 10;
                continue main;
            }
            $var11 = 100;
            if ($var10 > var$14)
                $var11 = $var11 + (($var10 - var$14 | 0) * 100 | 0) | 0;
            $var12 = 0;
            continue main;
        case 24:
            $tmp = nms_BlockFire_getChanceToEncourageFire($this, $var1, var$18, $var10, $var9, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            var$18 = $var8 - 1 | 0;
            $ptr = 25;
        case 25:
            $tmp = nms_BlockFire_getChanceToEncourageFire($this, $var1, var$18, $var10, $var9, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            var$18 = $var10 - 1 | 0;
            $ptr = 26;
        case 26:
            $tmp = nms_BlockFire_getChanceToEncourageFire($this, $var1, $var8, var$18, $var9, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            var$18 = $var10 + 1 | 0;
            $ptr = 27;
        case 27:
            $tmp = nms_BlockFire_getChanceToEncourageFire($this, $var1, $var8, var$18, $var9, $var12);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $tmp;
            $var12 = $var9 - 1 | 0;
            $ptr = 28;
        case 28:
            $tmp = nms_BlockFire_getChanceToEncourageFire($this, $var1, $var8, $var10, $var12, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            var$18 = $var9 + 1 | 0;
            $ptr = 29;
        case 29:
            $tmp = nms_BlockFire_getChanceToEncourageFire($this, $var1, $var8, $var10, var$18, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if ($var12 > 0 && ju_Random_nextInt($var5, $var11) <= $var12) {
                $var11 = $this.$blockID;
                $ptr = 30;
                continue main;
            }
            d: {
                b: while (true) {
                    $var10 = $var10 + 1 | 0;
                    while ($var10 > var$15) {
                        $var9 = $var9 + 1 | 0;
                        while ($var9 > $var7) {
                            $var8 = $var8 + 1 | 0;
                            if ($var8 > var$11)
                                break b;
                            $var9 = $var6;
                        }
                        $var10 = var$6;
                    }
                    if ($var8 != $var2)
                        break d;
                    if ($var10 != $var3)
                        break d;
                    if ($var9 == $var4)
                        continue;
                    else
                        break d;
                }
                if (var$9)
                    return;
                $var6 = $var2 + 1 | 0;
                $var7 = 1;
                $ptr = 10;
                continue main;
            }
            $var11 = 100;
            if ($var10 > var$14)
                $var11 = $var11 + (($var10 - var$14 | 0) * 100 | 0) | 0;
            $var12 = 0;
            $ptr = 23;
            continue main;
        case 30:
            nms_World_setBlockWithNotify($var1, $var8, $var10, $var9, $var11);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                d: while (true) {
                    $var10 = $var10 + 1 | 0;
                    while ($var10 > var$15) {
                        $var9 = $var9 + 1 | 0;
                        while ($var9 > $var7) {
                            $var8 = $var8 + 1 | 0;
                            if ($var8 > var$11)
                                break d;
                            $var9 = $var6;
                        }
                        $var10 = var$6;
                    }
                    if ($var8 != $var2)
                        break a;
                    if ($var10 != $var3)
                        break a;
                    if ($var9 == $var4)
                        continue;
                    else
                        break a;
                }
                if (var$9)
                    return;
                $var6 = $var2 + 1 | 0;
                $var7 = 1;
                $ptr = 10;
                continue main;
            }
            $var11 = 100;
            if ($var10 > var$14)
                $var11 = $var11 + (($var10 - var$14 | 0) * 100 | 0) | 0;
            $var12 = 0;
            $ptr = 23;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, $var7, var$9, $var9, var$11, $var10, $var8, var$14, var$15, $var11, $var12, var$18, $ptr);
    }
    function nms_BlockFire_tryToCatchBlockOnFire($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, $var8, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$7 = $this.$abilityToCatchFire.data;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var7 = var$7[$var8];
            if (ju_Random_nextInt($var6, $var5) >= $var7)
                return;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var5 != nms_Block_tnt.$blockID ? 0 : 1;
            if (ju_Random_nextInt($var6, 2)) {
                $var5 = 0;
                $ptr = 4;
                continue main;
            }
            $var5 = $this.$blockID;
            $ptr = 5;
            continue main;
        case 4:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var8)
                return;
            $var6 = nms_Block_tnt;
            $var5 = 0;
            $ptr = 6;
            continue main;
        case 5:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var8)
                return;
            $var6 = nms_Block_tnt;
            $var5 = 0;
            $ptr = 6;
        case 6:
            $var6.$onBlockDestroyedByPlayer($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $var8, $var7, $ptr);
    }
    function nms_BlockFire_func_263_h($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var2 + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_BlockFire_canBlockCatchFire($this, $var1, var$5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var2 - 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_BlockFire_canBlockCatchFire($this, $var1, var$5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var3 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_BlockFire_canBlockCatchFire($this, $var1, $var2, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var3 + 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_BlockFire_canBlockCatchFire($this, $var1, $var2, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var4 - 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = nms_BlockFire_canBlockCatchFire($this, $var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            $var4 = $var4 + 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = nms_BlockFire_canBlockCatchFire($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockFire_isCollidable($this) {
        return 0;
    }
    function nms_BlockFire_canBlockCatchFire($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $this.$chanceToEncourageFire.data;
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockId($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return var$5[$var2] <= 0 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockFire_getChanceToEncourageFire($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $this.$chanceToEncourageFire.data;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var6 = var$6[$var2];
            if ($var6 > $var5)
                $var5 = $var6;
            return $var5;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, $ptr);
    }
    function nms_BlockFire_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            $ptr = 2;
        case 2:
            $tmp = nms_BlockFire_func_263_h($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2 ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockFire_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                return;
            $ptr = 2;
        case 2:
            $tmp = nms_BlockFire_func_263_h($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                return;
            $var5 = 0;
            $ptr = 3;
        case 3:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockFire_onBlockAdded($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var2, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$6 != nms_Block_obsidian.$blockID) {
                $ptr = 3;
                continue main;
            }
            var$7 = nms_Block_portal;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6) {
                $ptr = 6;
                continue main;
            }
            var$6 = $this.$blockID;
            var$5 = 10;
            $ptr = 5;
            continue main;
        case 4:
            $tmp = nms_BlockPortal_tryToCreatePortal(var$7, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6)
                return;
            $ptr = 3;
            continue main;
        case 5:
            $var1.$scheduleBlockUpdate($var2, $var3, $var4, var$6, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            $tmp = nms_BlockFire_func_263_h($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6) {
                var$6 = 0;
                $ptr = 7;
                continue main;
            }
            var$6 = $this.$blockID;
            var$5 = 10;
            $ptr = 5;
            continue main;
        case 7:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, $ptr);
    }
    function nms_BlockFire_randomDisplayTick($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, var$7, var$8, var$9, var$10, $var8, $var7, $var6_0, $var8_0, $var7_0, $var8_1, $var9, var$18, var$19, var$20, $var9_0, var$22, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$22 = $thread.pop();$var9_0 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();$var9 = $thread.pop();$var8_1 = $thread.pop();$var7_0 = $thread.pop();$var8_0 = $thread.pop();$var6_0 = $thread.pop();$var7 = $thread.pop();$var8 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1
            = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (ju_Random_nextInt($var5, 24)) {
                $var6 = $var3 - 1 | 0;
                $ptr = 1;
                continue main;
            }
            var$7 = $var2 + 0.5;
            var$8 = $var3 + 0.5;
            var$9 = $var4 + 0.5;
            var$10 = $rt_s(933);
            $var8 = 1.0 + ju_Random_nextFloat($var5);
            $var7 = ju_Random_nextFloat($var5) * 0.699999988079071 + 0.30000001192092896;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6_0 = $tmp;
            if (!$var6_0) {
                $ptr = 3;
                continue main;
            }
            $var6 = 0;
            $var8 = $var2;
            $var7 = $var3;
            $var8_0 = $var4;
            if ($var6 >= 3)
                return;
            $var7_0 = $var8 + ju_Random_nextFloat($var5);
            $var8_1 = $var7 + ju_Random_nextFloat($var5) * 0.5 + 0.5;
            $var9 = $var8_0 + ju_Random_nextFloat($var5);
            var$10 = $rt_s(917);
            var$18 = $var7_0;
            var$19 = $var8_1;
            var$20 = $var9;
            var$7 = 0.0;
            var$8 = 0.0;
            var$9 = 0.0;
            $ptr = 6;
            continue main;
        case 2:
            nms_World_playSoundEffect($var1, var$7, var$8, var$9, var$10, $var8, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var3 - 1 | 0;
            $ptr = 1;
            continue main;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$10 = nms_Block_fire;
            $ptr = 4;
        case 4:
            $tmp = nms_BlockFire_canBlockCatchFire(var$10, $var1, $var2, $var6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$var6) {
                var$10 = nms_Block_fire;
                $var6 = $var2 - 1 | 0;
                $ptr = 5;
                continue main;
            }
            $var6 = 0;
            $var8 = $var2;
            $var7 = $var3;
            $var8_0 = $var4;
            if ($var6 >= 3)
                return;
            $var7_0 = $var8 + ju_Random_nextFloat($var5);
            $var8_1 = $var7 + ju_Random_nextFloat($var5) * 0.5 + 0.5;
            $var9 = $var8_0 + ju_Random_nextFloat($var5);
            var$10 = $rt_s(917);
            var$18 = $var7_0;
            var$19 = $var8_1;
            var$20 = $var9;
            var$7 = 0.0;
            var$8 = 0.0;
            var$9 = 0.0;
            $ptr = 6;
            continue main;
        case 5:
            $tmp = nms_BlockFire_canBlockCatchFire(var$10, $var1, $var6, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6) {
                $var6 = 0;
                $var8 = $var2;
                $var8_1 = $var3;
                $var9 = $var4;
                if ($var6 < 2) {
                    $var7 = $var8 + ju_Random_nextFloat($var5) * 0.10000000149011612;
                    $var8_0 = $var8_1 + ju_Random_nextFloat($var5);
                    $var9_0 = $var9 + ju_Random_nextFloat($var5);
                    var$10 = $rt_s(917);
                    var$7 = $var7;
                    var$8 = $var8_0;
                    var$9 = $var9_0;
                    var$18 = 0.0;
                    var$19 = 0.0;
                    var$20 = 0.0;
                    $ptr = 10;
                    continue main;
                }
            }
            var$10 = nms_Block_fire;
            $var6_0 = $var2 + 1 | 0;
            $ptr = 7;
            continue main;
        case 6:
            nms_World_spawnParticle($var1, var$10, var$18, var$19, var$20, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 3)
                return;
            $var7_0 = $var8 + ju_Random_nextFloat($var5);
            $var8_1 = $var7 + ju_Random_nextFloat($var5) * 0.5 + 0.5;
            $var9 = $var8_0 + ju_Random_nextFloat($var5);
            var$10 = $rt_s(917);
            var$18 = $var7_0;
            var$19 = $var8_1;
            var$20 = $var9;
            var$7 = 0.0;
            var$8 = 0.0;
            var$9 = 0.0;
            continue main;
        case 7:
            $tmp = nms_BlockFire_canBlockCatchFire(var$10, $var1, $var6_0, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6) {
                $var6 = 0;
                $var8 = $var6_0;
                $var8_1 = $var3;
                $var9 = $var4;
                if ($var6 < 2) {
                    $var7 = $var8 - ju_Random_nextFloat($var5) * 0.10000000149011612;
                    $var8_0 = $var8_1 + ju_Random_nextFloat($var5);
                    $var9_0 = $var9 + ju_Random_nextFloat($var5);
                    var$10 = $rt_s(917);
                    var$7 = $var7;
                    var$8 = $var8_0;
                    var$9 = $var9_0;
                    var$18 = 0.0;
                    var$19 = 0.0;
                    var$20 = 0.0;
                    $ptr = 12;
                    continue main;
                }
            }
            var$10 = nms_Block_fire;
            $var6 = $var4 - 1 | 0;
            $ptr = 8;
        case 8:
            $tmp = nms_BlockFire_canBlockCatchFire(var$10, $var1, $var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6) {
                $var6 = 0;
                $var8 = $var2;
                $var8_0 = $var3;
                $var9 = $var4;
                if ($var6 < 2) {
                    $var7 = $var8 + ju_Random_nextFloat($var5);
                    $var8_1 = $var8_0 + ju_Random_nextFloat($var5);
                    $var9_0 = $var9 + ju_Random_nextFloat($var5) * 0.10000000149011612;
                    var$10 = $rt_s(917);
                    var$7 = $var7;
                    var$8 = $var8_1;
                    var$9 = $var9_0;
                    var$18 = 0.0;
                    var$19 = 0.0;
                    var$20 = 0.0;
                    $ptr = 13;
                    continue main;
                }
            }
            var$10 = nms_Block_fire;
            $var6 = $var4 + 1 | 0;
            $ptr = 9;
        case 9:
            $tmp = nms_BlockFire_canBlockCatchFire(var$10, $var1, $var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6_0 = $tmp;
            if ($var6_0) {
                $var6_0 = 0;
                $var9_0 = $var2;
                var$22 = $var3;
                $var7 = $var6;
                if ($var6_0 < 2) {
                    $var7_0 = $var9_0 + ju_Random_nextFloat($var5);
                    $var8 = var$22 + ju_Random_nextFloat($var5);
                    $var9 = $var7 - ju_Random_nextFloat($var5) * 0.10000000149011612;
                    var$10 = $rt_s(917);
                    var$19 = $var7_0;
                    var$20 = $var8;
                    var$7 = $var9;
                    var$8 = 0.0;
                    var$9 = 0.0;
                    var$18 = 0.0;
                    $ptr = 14;
                    continue main;
                }
            }
            var$10 = nms_Block_fire;
            $var3 = $var3 + 1 | 0;
            $ptr = 11;
            continue main;
        case 10:
            nms_World_spawnParticle($var1, var$10, var$7, var$8, var$9, var$18, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 2) {
                var$10 = nms_Block_fire;
                $var6_0 = $var2 + 1 | 0;
                $ptr = 7;
                continue main;
            }
            $var7 = $var8 + ju_Random_nextFloat($var5) * 0.10000000149011612;
            $var8_0 = $var8_1 + ju_Random_nextFloat($var5);
            $var9_0 = $var9 + ju_Random_nextFloat($var5);
            var$10 = $rt_s(917);
            var$7 = $var7;
            var$8 = $var8_0;
            var$9 = $var9_0;
            var$18 = 0.0;
            var$19 = 0.0;
            var$20 = 0.0;
            continue main;
        case 11:
            $tmp = nms_BlockFire_canBlockCatchFire(var$10, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6) {
                $var6 = 0;
                $var8 = $var2;
                $var7 = $var3;
                $var9 = $var4;
                if ($var6 < 2) {
                    $var7_0 = $var8 + ju_Random_nextFloat($var5);
                    $var8_0 = $var7 - ju_Random_nextFloat($var5) * 0.10000000149011612;
                    $var9_0 = $var9 + ju_Random_nextFloat($var5);
                    var$10 = $rt_s(917);
                    var$7 = $var7_0;
                    var$8 = $var8_0;
                    var$9 = $var9_0;
                    var$18 = 0.0;
                    var$19 = 0.0;
                    var$20 = 0.0;
                    $ptr = 15;
                    continue main;
                }
            }
            return;
        case 12:
            nms_World_spawnParticle($var1, var$10, var$7, var$8, var$9, var$18, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 2) {
                var$10 = nms_Block_fire;
                $var6 = $var4 - 1 | 0;
                $ptr = 8;
                continue main;
            }
            $var7 = $var8 - ju_Random_nextFloat($var5) * 0.10000000149011612;
            $var8_0 = $var8_1 + ju_Random_nextFloat($var5);
            $var9_0 = $var9 + ju_Random_nextFloat($var5);
            var$10 = $rt_s(917);
            var$7 = $var7;
            var$8 = $var8_0;
            var$9 = $var9_0;
            var$18 = 0.0;
            var$19 = 0.0;
            var$20 = 0.0;
            continue main;
        case 13:
            nms_World_spawnParticle($var1, var$10, var$7, var$8, var$9, var$18, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 2) {
                var$10 = nms_Block_fire;
                $var6 = $var4 + 1 | 0;
                $ptr = 9;
                continue main;
            }
            $var7 = $var8 + ju_Random_nextFloat($var5);
            $var8_1 = $var8_0 + ju_Random_nextFloat($var5);
            $var9_0 = $var9 + ju_Random_nextFloat($var5) * 0.10000000149011612;
            var$10 = $rt_s(917);
            var$7 = $var7;
            var$8 = $var8_1;
            var$9 = $var9_0;
            var$18 = 0.0;
            var$19 = 0.0;
            var$20 = 0.0;
            continue main;
        case 14:
            nms_World_spawnParticle($var1, var$10, var$19, var$20, var$7, var$8, var$9, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $var6_0 = $var6_0 + 1 | 0;
            if ($var6_0 >= 2) {
                var$10 = nms_Block_fire;
                $var3 = $var3 + 1 | 0;
                $ptr = 11;
                continue main;
            }
            $var7_0 = $var9_0 + ju_Random_nextFloat($var5);
            $var8 = var$22 + ju_Random_nextFloat($var5);
            $var9 = $var7 - ju_Random_nextFloat($var5) * 0.10000000149011612;
            var$10 = $rt_s(917);
            var$19 = $var7_0;
            var$20 = $var8;
            var$7 = $var9;
            var$8 = 0.0;
            var$9 = 0.0;
            var$18 = 0.0;
            continue main;
        case 15:
            nms_World_spawnParticle($var1, var$10, var$7, var$8, var$9, var$18, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 2)
                return;
            $var7_0 = $var8 + ju_Random_nextFloat($var5);
            $var8_0 = $var7 - ju_Random_nextFloat($var5) * 0.10000000149011612;
            $var9_0 = $var9 + ju_Random_nextFloat($var5);
            var$10 = $rt_s(917);
            var$7 = $var7_0;
            var$8 = $var8_0;
            var$9 = $var9_0;
            var$18 = 0.0;
            var$19 = 0.0;
            var$20 = 0.0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, var$9, var$10, $var8, $var7, $var6_0, $var8_0, $var7_0, $var8_1, $var9, var$18, var$19, var$20, $var9_0, var$22, $ptr);
    }
    var nms_BlockMobSpawner = $rt_classWithoutFields(nms_BlockContainer);
    function nms_BlockMobSpawner__init_0(var_0, var_1) {
        var var_2 = new nms_BlockMobSpawner();
        nms_BlockMobSpawner__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockMobSpawner__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_rock;
            $ptr = 1;
        case 1:
            nms_BlockContainer__init_0($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockMobSpawner_getBlockEntity($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nms_TileEntityMobSpawner;
            $ptr = 1;
        case 1:
            nms_TileEntityMobSpawner__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_BlockMobSpawner_idDropped($this, $var1, $var2) {
        return 0;
    }
    function nms_BlockMobSpawner_quantityDropped($this, $var1) {
        return 0;
    }
    function nms_BlockMobSpawner_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockStairs() {
        nms_Block.call(this);
        this.$modelBlock = null;
    }
    function nms_BlockStairs__init_0(var_0, var_1) {
        var var_2 = new nms_BlockStairs();
        nms_BlockStairs__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockStairs__init_($this, $var1, $var2) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $var2.$blockIndexInTexture;
            var$4 = $var2.$blockMaterial;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$modelBlock = $var2;
            var$5 = $var2.$blockHardness;
            $ptr = 2;
        case 2:
            nms_Block_setHardness($this, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var2.$blockResistance / 3.0;
            $ptr = 3;
        case 3:
            nms_Block_setResistance($this, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $this.$stepSound = $var2.$stepSound;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, $ptr);
    }
    function nms_BlockStairs_setBlockBoundsBasedOnState($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = 0.0;
            var$6 = 0.0;
            var$7 = 0.0;
            var$8 = 1.0;
            var$9 = 1.0;
            var$10 = 1.0;
            $ptr = 1;
        case 1:
            nms_Block_setBlockBounds($this, var$5, var$6, var$7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_BlockStairs_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_Block_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_BlockStairs_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockStairs_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockStairs_getRenderType($this) {
        return 10;
    }
    function nms_BlockStairs_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_Block_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockStairs_getCollidingBoundingBoxes($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if (!$var7) {
                var$8 = 0.0;
                var$9 = 0.0;
                var$10 = 0.0;
                var$11 = 0.5;
                var$12 = 0.5;
                var$13 = 1.0;
                $ptr = 2;
                continue main;
            }
            if ($var7 == 1) {
                var$8 = 0.0;
                var$9 = 0.0;
                var$10 = 0.0;
                var$11 = 0.5;
                var$12 = 1.0;
                var$13 = 1.0;
                $ptr = 6;
                continue main;
            }
            if ($var7 == 2) {
                var$8 = 0.0;
                var$9 = 0.0;
                var$10 = 0.0;
                var$11 = 1.0;
                var$12 = 0.5;
                var$13 = 0.5;
                $ptr = 11;
                continue main;
            }
            if ($var7 != 3) {
                var$8 = 0.0;
                var$9 = 0.0;
                var$10 = 0.0;
                var$11 = 1.0;
                var$12 = 1.0;
                var$13 = 1.0;
                $ptr = 10;
                continue main;
            }
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.0;
            var$11 = 1.0;
            var$12 = 1.0;
            var$13 = 0.5;
            $ptr = 15;
            continue main;
        case 2:
            nms_Block_setBlockBounds($this, var$8, var$9, var$10, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_Block_getCollidingBoundingBoxes($this, $var1, $var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.5;
            var$9 = 0.0;
            var$10 = 0.0;
            var$11 = 1.0;
            var$12 = 1.0;
            var$13 = 1.0;
            $ptr = 4;
        case 4:
            nms_Block_setBlockBounds($this, var$8, var$9, var$10, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Block_getCollidingBoundingBoxes($this, $var1, $var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.0;
            var$11 = 1.0;
            var$12 = 1.0;
            var$13 = 1.0;
            $ptr = 10;
            continue main;
        case 6:
            nms_Block_setBlockBounds($this, var$8, var$9, var$10, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_Block_getCollidingBoundingBoxes($this, $var1, $var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.5;
            var$9 = 0.0;
            var$10 = 0.0;
            var$11 = 1.0;
            var$12 = 0.5;
            var$13 = 1.0;
            $ptr = 8;
        case 8:
            nms_Block_setBlockBounds($this, var$8, var$9, var$10, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Block_getCollidingBoundingBoxes($this, $var1, $var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.0;
            var$11 = 1.0;
            var$12 = 1.0;
            var$13 = 1.0;
            $ptr = 10;
        case 10:
            nms_Block_setBlockBounds($this, var$8, var$9, var$10, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 11:
            nms_Block_setBlockBounds($this, var$8, var$9, var$10, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nms_Block_getCollidingBoundingBoxes($this, $var1, $var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.5;
            var$11 = 1.0;
            var$12 = 1.0;
            var$13 = 1.0;
            $ptr = 13;
        case 13:
            nms_Block_setBlockBounds($this, var$8, var$9, var$10, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            nms_Block_getCollidingBoundingBoxes($this, $var1, $var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.0;
            var$11 = 1.0;
            var$12 = 1.0;
            var$13 = 1.0;
            $ptr = 10;
            continue main;
        case 15:
            nms_Block_setBlockBounds($this, var$8, var$9, var$10, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
        case 16:
            nms_Block_getCollidingBoundingBoxes($this, $var1, $var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.5;
            var$11 = 1.0;
            var$12 = 0.5;
            var$13 = 1.0;
            $ptr = 17;
        case 17:
            nms_Block_setBlockBounds($this, var$8, var$9, var$10, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 18;
        case 18:
            nms_Block_getCollidingBoundingBoxes($this, $var1, $var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.0;
            var$11 = 1.0;
            var$12 = 1.0;
            var$13 = 1.0;
            $ptr = 10;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
    }
    function nms_BlockStairs_randomDisplayTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            var$6.$randomDisplayTick($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockStairs_onBlockClicked($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            var$6.$onBlockClicked($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockStairs_onBlockDestroyedByPlayer($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            var$6.$onBlockDestroyedByPlayer($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockStairs_getBlockBrightness($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            $tmp = var$5.$getBlockBrightness($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            return var$6;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $ptr);
    }
    function nms_BlockStairs_getExplosionResistance($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            $tmp = var$2.$getExplosionResistance($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_BlockStairs_getRenderBlockPass($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            $tmp = var$1.$getRenderBlockPass();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_BlockStairs_idDropped($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            $tmp = var$3.$idDropped($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockStairs_quantityDropped($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            $tmp = var$2.$quantityDropped($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_BlockStairs_getBlockTextureFromSideAndMetadata($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            $tmp = var$3.$getBlockTextureFromSideAndMetadata($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockStairs_getBlockTextureFromSide($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            $tmp = var$2.$getBlockTextureFromSide($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_BlockStairs_getBlockTexture($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            $tmp = var$6.$getBlockTexture($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockStairs_getSelectedBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            $tmp = var$5.$getSelectedBoundingBoxFromPool($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockStairs_velocityToAddToEntity($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$7 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            var$7.$velocityToAddToEntity($var1, $var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
    }
    function nms_BlockStairs_isCollidable($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            $tmp = var$1.$isCollidable();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_BlockStairs_canCollideCheck($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            $tmp = var$3.$canCollideCheck($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockStairs_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            $tmp = var$5.$canPlaceBlockAt($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockStairs_onBlockAdded($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            var$5.$onBlockAdded($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockStairs_onBlockRemoval($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            var$5.$onBlockRemoval($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockStairs_dropBlockAsItemWithChance($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$7 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            var$7.$dropBlockAsItemWithChance($var1, $var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
    }
    function nms_BlockStairs_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            var$6.$dropBlockAsItem($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockStairs_onEntityWalking($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            var$6.$onEntityWalking($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockStairs_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            var$6.$updateTick0($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockStairs_blockActivated($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            $tmp = var$6.$blockActivated($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockStairs_onBlockDestroyedByExplosion($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $this.$modelBlock;
            $ptr = 1;
        case 1:
            var$5.$onBlockDestroyedByExplosion($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockStairs_onBlockPlacedBy($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = nms_MathHelper_floor_double($var5.$rotationYaw * 4.0 / 360.0 + 0.5) & 3;
            if (!$var6) {
                var$7 = 2;
                $ptr = 1;
                continue main;
            }
            if ($var6 == 1) {
                var$7 = 1;
                $ptr = 2;
                continue main;
            }
            if ($var6 == 2) {
                var$7 = 3;
                $ptr = 3;
                continue main;
            }
            if ($var6 != 3)
                return;
            $var6 = 0;
            $ptr = 4;
            continue main;
        case 1:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var6 == 1) {
                var$7 = 1;
                $ptr = 2;
                continue main;
            }
            if ($var6 == 2) {
                var$7 = 3;
                $ptr = 3;
                continue main;
            }
            if ($var6 != 3)
                return;
            $var6 = 0;
            $ptr = 4;
            continue main;
        case 2:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var6 == 2) {
                var$7 = 3;
                $ptr = 3;
                continue main;
            }
            if ($var6 != 3)
                return;
            $var6 = 0;
            $ptr = 4;
            continue main;
        case 3:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var6 != 3)
                return;
            $var6 = 0;
            $ptr = 4;
        case 4:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
    }
    function nms_BlockChest() {
        nms_BlockContainer.call(this);
        this.$random1 = null;
    }
    function nms_BlockChest__init_0(var_0) {
        var var_1 = new nms_BlockChest();
        nms_BlockChest__init_(var_1, var_0);
        return var_1;
    }
    function nms_BlockChest__init_($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$2 = nms_Material_wood;
            $ptr = 1;
        case 1:
            nms_BlockContainer__init_($this, $var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$random1 = new ju_Random;
            $this.$blockIndexInTexture = 26;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_BlockChest_getBlockTexture($this, $var1, $var2, $var3, $var4, $var5) {
        var $var11, $var6, $var12, $var7, $var13, $var8, $var14, $var9, $var10, var$15, $var11_0, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var11_0 = $thread.pop();var$15 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var14 = $thread.pop();$var8 = $thread.pop();$var13 = $thread.pop();$var7 = $thread.pop();$var12 = $thread.pop();$var6 = $thread.pop();$var11 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var5 == 1)
                return $this.$blockIndexInTexture - 1 | 0;
            if (!$var5)
                return $this.$blockIndexInTexture - 1 | 0;
            $var11 = $var4 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockId($var2, $var3, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var12 = $var4 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = $var1.$getBlockId($var2, $var3, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var13 = $var2 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = $var1.$getBlockId($var13, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var14 = $var2 + 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = $var1.$getBlockId($var14, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $var2 = $this.$blockID;
            $var4 = $rt_compare($var6, $var2);
            if ($var4 && $var7 != $var2) {
                $var4 = $rt_compare($var8, $var2);
                if ($var4 && $var9 != $var2) {
                    $var14 = 3;
                    $ptr = 5;
                    continue main;
                }
                if ($var5 != 4 && $var5 != 5) {
                    $var10 = 0;
                    if (!$var4)
                        $var10 = (-1);
                    $var2 = $var4 ? $var14 : $var13;
                    $ptr = 8;
                    continue main;
                }
                return $this.$blockIndexInTexture;
            }
            if ($var5 != 2 && $var5 != 3) {
                $var10 = 0;
                if (!$var4)
                    $var10 = (-1);
                $var2 = $var4 ? $var12 : $var11;
                $ptr = 6;
                continue main;
            }
            return $this.$blockIndexInTexture;
        case 5:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$15 = nms_Block_opaqueCubeLookup.data;
            if (var$15[$var6] && !var$15[$var7])
                $var14 = 3;
            if (var$15[$var7] && !var$15[$var6])
                $var14 = 2;
            if (var$15[$var8] && !var$15[$var9])
                $var14 = 5;
            if (var$15[$var9] && !var$15[$var8])
                $var14 = 4;
            return $var5 != $var14 ? $this.$blockIndexInTexture : $this.$blockIndexInTexture + 1 | 0;
        case 6:
            $tmp = $var1.$getBlockId($var13, $var3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var11_0 = $tmp;
            if ($var6 == $this.$blockID)
                $var12 = $var11;
            $ptr = 7;
        case 7:
            $tmp = $var1.$getBlockId($var14, $var3, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if ($var5 == 4)
                $var10 = (-1) - $var10 | 0;
            $var13 = 5;
            $ptr = 9;
            continue main;
        case 8:
            $tmp = $var1.$getBlockId($var2, $var3, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            if ($var8 == $this.$blockID)
                $var14 = $var13;
            $ptr = 10;
            continue main;
        case 9:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$15 = nms_Block_opaqueCubeLookup.data;
            if (!(!var$15[$var8] && !var$15[$var11_0]) && !var$15[$var9] && !var$15[$var12])
                $var13 = 5;
            if (!(!var$15[$var9] && !var$15[$var12]) && !var$15[$var8] && !var$15[$var11_0])
                $var13 = 4;
            return ($var5 != $var13 ? $this.$blockIndexInTexture + 32 | 0 : $this.$blockIndexInTexture + 16 | 0) + $var10 | 0;
        case 10:
            $tmp = $var1.$getBlockId($var14, $var3, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if ($var5 == 3)
                $var10 = (-1) - $var10 | 0;
            $var13 = 3;
            $ptr = 11;
        case 11:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$15 = nms_Block_opaqueCubeLookup.data;
            if (!(!var$15[$var6] && !var$15[$var11]) && !var$15[$var7] && !var$15[$var12])
                $var13 = 3;
            if (!(!var$15[$var7] && !var$15[$var12]) && !var$15[$var6] && !var$15[$var11])
                $var13 = 2;
            return ($var5 != $var13 ? $this.$blockIndexInTexture + 32 | 0 : $this.$blockIndexInTexture + 16 | 0) + $var10 | 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var11, $var6, $var12, $var7, $var13, $var8, $var14, $var9, $var10, var$15, $var11_0, $ptr);
    }
    function nms_BlockChest_getBlockTextureFromSide($this, $var1) {
        return $var1 == 1 ? $this.$blockIndexInTexture - 1 | 0 : !$var1 ? $this.$blockIndexInTexture - 1 | 0 : $var1 != 3 ? $this.$blockIndexInTexture : $this.$blockIndexInTexture + 1 | 0;
    }
    function nms_BlockChest_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = 0;
            var$6 = $var2 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, var$6, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7 == $this.$blockID)
                $var5 = 1;
            var$7 = $var2 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, var$7, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8 == $this.$blockID)
                $var5 = $var5 + 1 | 0;
            var$8 = $var4 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9 == $this.$blockID)
                $var5 = $var5 + 1 | 0;
            var$10 = $var4 + 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            if (var$11 == $this.$blockID)
                $var5 = $var5 + 1 | 0;
            if ($var5 > 1)
                return 0;
            $ptr = 5;
        case 5:
            $tmp = nms_BlockChest_isThereANeighborChest($this, $var1, var$6, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9)
                return 0;
            $ptr = 6;
        case 6:
            $tmp = nms_BlockChest_isThereANeighborChest($this, $var1, var$7, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4)
                return 0;
            $ptr = 7;
        case 7:
            $tmp = nms_BlockChest_isThereANeighborChest($this, $var1, $var2, $var3, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4)
                return 0;
            $ptr = 8;
        case 8:
            $tmp = nms_BlockChest_isThereANeighborChest($this, $var1, $var2, $var3, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    function nms_BlockChest_isThereANeighborChest($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 != $this.$blockID)
                return 0;
            var$5 = $var2 - 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, var$5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 == $this.$blockID)
                return 1;
            var$5 = $var2 + 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId($var1, var$5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 == $this.$blockID)
                return 1;
            var$5 = $var4 - 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 == $this.$blockID)
                return 1;
            $var4 = $var4 + 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2 != $this.$blockID ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockChest_onBlockRemoval($this, $var1, $var2, $var3, $var4) {
        var $var7, $var5, $var6, var$8, var$9, var$10, var$11, $var8, $var9, $var10, var$15, var$16, var$17, $var11, var$19, $var12, var$21, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$21 = $thread.pop();$var12 = $thread.pop();var$19 = $thread.pop();$var11 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var7 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this =
            $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockTileEntity($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var5 = $var7;
            $var6 = 0;
            var$8 = 27;
            var$9 = $var2;
            var$10 = $var3;
            var$11 = $var4;
            while ($var6 < var$8) {
                $var7 = nms_TileEntityChest_getStackInSlot($var5, $var6);
                if ($var7 !== null) {
                    $var8 = ju_Random_nextFloat($this.$random1) * 0.800000011920929 + 0.10000000149011612;
                    $var9 = ju_Random_nextFloat($this.$random1) * 0.800000011920929 + 0.10000000149011612;
                    $var10 = ju_Random_nextFloat($this.$random1) * 0.800000011920929 + 0.10000000149011612;
                    var$15 = var$9 + $var8;
                    var$16 = var$10 + $var9;
                    var$17 = var$11 + $var10;
                    if ($var7.$stackSize > 0) {
                        $var11 = ju_Random_nextInt($this.$random1, 21) + 10 | 0;
                        var$19 = $var7.$stackSize;
                        if ($var11 > var$19)
                            $var11 = var$19;
                        $var7.$stackSize = var$19 - $var11 | 0;
                        $var12 = new nms_EntityItem;
                        var$21 = nms_ItemStack__init_7($var7.$itemID, $var11, $var7.$itemDamage);
                        $ptr = 3;
                        continue main;
                    }
                }
                $var6 = $var6 + 1 | 0;
            }
            $ptr = 2;
        case 2:
            nms_BlockContainer_onBlockRemoval($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_EntityItem__init_($var12, $var1, var$15, var$16, var$17, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $var12.$motionX = ju_Random_nextGaussian($this.$random1) * 0.05000000074505806;
            $var12.$motionY = ju_Random_nextGaussian($this.$random1) * 0.05000000074505806 + 0.20000000298023224;
            $var12.$motionZ = ju_Random_nextGaussian($this.$random1) * 0.05000000074505806;
            $ptr = 4;
        case 4:
            $var1.$entityJoinedWorld($var12);
            if ($rt_suspending()) {
                break main;
            }
            a: while (true) {
                if ($var7.$stackSize > 0) {
                    $var11 = ju_Random_nextInt($this.$random1, 21) + 10 | 0;
                    var$19 = $var7.$stackSize;
                    if ($var11 > var$19)
                        $var11 = var$19;
                    $var7.$stackSize = var$19 - $var11 | 0;
                    $var12 = new nms_EntityItem;
                    var$21 = nms_ItemStack__init_7($var7.$itemID, $var11, $var7.$itemDamage);
                    $ptr = 3;
                    continue main;
                }
                while (true) {
                    $var6 = $var6 + 1 | 0;
                    if ($var6 >= var$8)
                        break a;
                    $var7 = nms_TileEntityChest_getStackInSlot($var5, $var6);
                    if ($var7 === null)
                        continue;
                    else
                        break;
                }
                $var8 = ju_Random_nextFloat($this.$random1) * 0.800000011920929 + 0.10000000149011612;
                $var9 = ju_Random_nextFloat($this.$random1) * 0.800000011920929 + 0.10000000149011612;
                $var10 = ju_Random_nextFloat($this.$random1) * 0.800000011920929 + 0.10000000149011612;
                var$15 = var$9 + $var8;
                var$16 = var$10 + $var9;
                var$17 = var$11 + $var10;
            }
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var7, $var5, $var6, var$8, var$9, var$10, var$11, $var8, $var9, $var10, var$15, var$16, var$17, $var11, var$19, $var12, var$21, $ptr);
    }
    function nms_BlockChest_blockActivated($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var6, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockTileEntity($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $var6 = var$6;
            var$8 = $var3 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, var$8, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9)
                return 1;
            var$10 = $var2 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId($var1, var$10, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9 == $this.$blockID) {
                $ptr = 5;
                continue main;
            }
            var$11 = $var2 + 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockId($var1, var$11, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9 == $this.$blockID) {
                $ptr = 7;
                continue main;
            }
            var$12 = $var4 - 1 | 0;
            $ptr = 6;
            continue main;
        case 5:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$10, var$8, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9)
                return 1;
            var$11 = $var2 + 1 | 0;
            $ptr = 4;
            continue main;
        case 6:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9 == $this.$blockID) {
                $ptr = 9;
                continue main;
            }
            var$13 = $var4 + 1 | 0;
            $ptr = 8;
            continue main;
        case 7:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$11, var$8, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9)
                return 1;
            var$12 = $var4 - 1 | 0;
            $ptr = 6;
            continue main;
        case 8:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9 != $this.$blockID) {
                $ptr = 10;
                continue main;
            }
            $ptr = 11;
            continue main;
        case 9:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, var$8, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9)
                return 1;
            var$13 = $var4 + 1 | 0;
            $ptr = 8;
            continue main;
        case 10:
            $tmp = nms_World_getBlockId($var1, var$10, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9 == $this.$blockID) {
                var$6 = new nms_InventoryLargeChest;
                var$14 = $rt_s(934);
                $ptr = 12;
                continue main;
            }
            var$6 = $var6;
            $ptr = 13;
            continue main;
        case 11:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, var$8, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9)
                return 1;
            $ptr = 10;
            continue main;
        case 12:
            $tmp = nms_World_getBlockTileEntity($var1, var$10, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            nms_InventoryLargeChest__init_(var$6, var$14, var$15, $var6);
            $ptr = 13;
        case 13:
            $tmp = nms_World_getBlockId($var1, var$11, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9 == $this.$blockID) {
                $var6 = new nms_InventoryLargeChest;
                var$14 = $rt_s(934);
                $ptr = 14;
                continue main;
            }
            $var6 = var$6;
            $ptr = 15;
            continue main;
        case 14:
            $tmp = nms_World_getBlockTileEntity($var1, var$11, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            nms_InventoryLargeChest__init_($var6, var$14, var$6, var$15);
            $ptr = 15;
        case 15:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4 == $this.$blockID) {
                var$6 = new nms_InventoryLargeChest;
                var$14 = $rt_s(934);
                $ptr = 16;
                continue main;
            }
            var$6 = $var6;
            $ptr = 17;
            continue main;
        case 16:
            $tmp = nms_World_getBlockTileEntity($var1, $var2, $var3, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            nms_InventoryLargeChest__init_(var$6, var$14, var$15, $var6);
            $ptr = 17;
        case 17:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4 == $this.$blockID) {
                $var6 = new nms_InventoryLargeChest;
                var$14 = $rt_s(934);
                $ptr = 18;
                continue main;
            }
            $var6 = var$6;
            if ($var1.$multiplayerWorld)
                return 1;
            $ptr = 19;
            continue main;
        case 18:
            $tmp = nms_World_getBlockTileEntity($var1, $var2, $var3, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            nms_InventoryLargeChest__init_($var6, var$14, var$6, var$15);
            if ($var1.$multiplayerWorld)
                return 1;
            $ptr = 19;
        case 19:
            nms_EntityPlayerSP_displayGUIChest($var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr);
    }
    function nms_BlockChest_getBlockEntity($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nms_TileEntityChest;
            $ptr = 1;
        case 1:
            nms_TileEntityChest__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_BlockRedstoneWire() {
        var a = this; nms_Block.call(a);
        a.$wiresProvidePower = 0;
        a.$field_21031_b = null;
    }
    function nms_BlockRedstoneWire__init_0(var_0, var_1) {
        var var_2 = new nms_BlockRedstoneWire();
        nms_BlockRedstoneWire__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockRedstoneWire__init_($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_circuits;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$wiresProvidePower = 1;
            $this.$field_21031_b = ju_HashSet__init_0();
            var$4 = 0.0;
            var$5 = 0.0;
            var$6 = 0.0;
            var$7 = 1.0;
            var$8 = 0.0625;
            var$9 = 1.0;
            $ptr = 2;
        case 2:
            nms_Block_setBlockBounds($this, var$4, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_BlockRedstoneWire_getBlockTextureFromSideAndMetadata($this, $var1, $var2) {
        return $this.$blockIndexInTexture;
    }
    function nms_BlockRedstoneWire_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return null;
    }
    function nms_BlockRedstoneWire_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockRedstoneWire_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockRedstoneWire_getRenderType($this) {
        return 5;
    }
    function nms_BlockRedstoneWire_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_BlockRedstoneWire_updateAndPropagateCurrentStrength($this, $var1, $var2, $var3, $var4) {
        var $var5, $var7, $var6, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockRedstoneWire_func_21030_a($this, $var1, $var2, $var3, $var4, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = new ju_ArrayList;
            $var7 = $this.$field_21031_b;
            $ptr = 2;
        case 2:
            ju_ArrayList__init_4($var5, $var7);
            if ($rt_suspending()) {
                break main;
            }
            ju_HashSet_clear($this.$field_21031_b);
            $var6 = 0;
            if ($var6 >= $var5.$size0)
                return;
            $var7 = ju_ArrayList_get($var5, $var6);
            $var2 = $var7.$x1;
            $var3 = $var7.$y1;
            $var4 = $var7.$z1;
            var$8 = $this.$blockID;
            $ptr = 3;
        case 3:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= $var5.$size0)
                return;
            $var7 = ju_ArrayList_get($var5, $var6);
            $var2 = $var7.$x1;
            $var3 = $var7.$y1;
            $var4 = $var7.$z1;
            var$8 = $this.$blockID;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var7, $var6, var$8, $ptr);
    }
    function nms_BlockRedstoneWire_func_21030_a($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, $var9, $var10, $var16, $var11, var$13, var$14, var$15, var$16, var$17, $var14, var$19, var$20, var$21, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();$var14 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var11 = $thread.pop();$var16 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var9 = 0;
            $this.$wiresProvidePower = 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_isBlockIndirectlyGettingPowered($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $this.$wiresProvidePower = 1;
            if ($var10)
                $var16 = 15;
            else {
                $var11 = 0;
                var$13 = $var2 - 1 | 0;
                var$14 = $var4 - 1 | 0;
                $var10 = $var3 + 1 | 0;
                var$15 = $rt_compare($var10, $var6);
                var$16 = $var3 - 1 | 0;
                $var16 = $rt_compare(var$16, $var6);
                var$17 = $rt_compare($var3, $var6);
                if ($var11 < 4) {
                    $var14 = !$var11 ? var$13 : $var2;
                    if ($var11 == 1)
                        $var14 = $var14 + 1 | 0;
                    var$19 = $var11 == 2 ? var$14 : $var4;
                    if ($var11 == 3)
                        var$19 = var$19 + 1 | 0;
                    var$20 = $rt_compare($var14, $var5);
                    if (!var$20 && !var$17 && var$19 == $var7) {
                        $ptr = 13;
                        continue main;
                    }
                    $ptr = 12;
                    continue main;
                }
                $var16 = $var9 <= 0 ? 0 : $var9 + (-1) | 0;
            }
            if ($var8 == $var16)
                return;
            $var1.$editingBlocks = 1;
            $ptr = 3;
        case 3:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_World_markBlocksDirty($var1, $var2, $var3, $var4, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$editingBlocks = 0;
            $var11 = 0;
            $var14 = $var3 - 1 | 0;
            $var9 = $var2 - 1 | 0;
            var$15 = $var4 - 1 | 0;
            $var10 = $var14 + 2 | 0;
            if ($var11 >= 4) {
                if ($var8 && $var16)
                    return;
                $var1 = $this.$field_21031_b;
                var$21 = nms_ChunkPosition__init_0($var2, $var3, $var4);
                $ptr = 5;
                continue main;
            }
            var$19 = !$var11 ? $var9 : $var2;
            if ($var11 == 1)
                var$19 = var$19 + 1 | 0;
            var$20 = $var11 == 2 ? var$15 : $var4;
            if ($var11 == 3)
                var$20 = var$20 + 1 | 0;
            $ptr = 14;
            continue main;
        case 5:
            ju_HashSet_add($var1, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$field_21031_b;
            var$21 = nms_ChunkPosition__init_0($var9, $var3, $var4);
            $ptr = 6;
        case 6:
            ju_HashSet_add($var1, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$field_21031_b;
            var$21 = nms_ChunkPosition__init_0($var2 + 1 | 0, $var3, $var4);
            $ptr = 7;
        case 7:
            ju_HashSet_add($var1, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$field_21031_b;
            var$21 = nms_ChunkPosition__init_0($var2, $var14, $var4);
            $ptr = 8;
        case 8:
            ju_HashSet_add($var1, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$field_21031_b;
            var$21 = nms_ChunkPosition__init_0($var2, $var3 + 1 | 0, $var4);
            $ptr = 9;
        case 9:
            ju_HashSet_add($var1, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$field_21031_b;
            var$21 = nms_ChunkPosition__init_0($var2, $var3, var$15);
            $ptr = 10;
        case 10:
            ju_HashSet_add($var1, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$field_21031_b;
            var$21 = nms_ChunkPosition__init_0($var2, $var3, $var4 + 1 | 0);
            $ptr = 11;
        case 11:
            ju_HashSet_add($var1, var$21);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 12:
            $tmp = nms_BlockRedstoneWire_getMaxCurrentStrength($this, $var1, $var14, $var3, var$19, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $ptr = 13;
        case 13:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var14, $var3, var$19);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$var6) {
                $ptr = 15;
                continue main;
            }
            $ptr = 16;
            continue main;
        case 14:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$19, $var3, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var5 = $var5 ? $var10 : $var14;
            $var6 = (-1);
            $ptr = 17;
            continue main;
        case 15:
            a: {
                $tmp = nms_World_isBlockOpaqueCube($var1, $var14, $var3, var$19);
                if ($rt_suspending()) {
                    break main;
                }
                $var6 = $tmp;
                if (!$var6) {
                    if (var$20)
                        break a;
                    if ($var16)
                        break a;
                    if (var$19 != $var7)
                        break a;
                }
                $var11 = $var11 + 1 | 0;
                if ($var11 >= 4) {
                    $var16 = $var9 <= 0 ? 0 : $var9 + (-1) | 0;
                    if ($var8 == $var16)
                        return;
                    $var1.$editingBlocks = 1;
                    $ptr = 3;
                    continue main;
                }
                $var14 = !$var11 ? var$13 : $var2;
                if ($var11 == 1)
                    $var14 = $var14 + 1 | 0;
                var$19 = $var11 == 2 ? var$14 : $var4;
                if ($var11 == 3)
                    var$19 = var$19 + 1 | 0;
                var$20 = $rt_compare($var14, $var5);
                if (!var$20 && !var$17 && var$19 == $var7) {
                    $ptr = 13;
                    continue main;
                }
                $ptr = 12;
                continue main;
            }
            $ptr = 19;
            continue main;
        case 16:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var10, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6) {
                $ptr = 15;
                continue main;
            }
            if (!var$20 && !var$15 && var$19 == $var7) {
                $var11 = $var11 + 1 | 0;
                if ($var11 >= 4) {
                    $var16 = $var9 <= 0 ? 0 : $var9 + (-1) | 0;
                    if ($var8 == $var16)
                        return;
                    $var1.$editingBlocks = 1;
                    $ptr = 3;
                    continue main;
                }
                $var14 = !$var11 ? var$13 : $var2;
                if ($var11 == 1)
                    $var14 = $var14 + 1 | 0;
                var$19 = $var11 == 2 ? var$14 : $var4;
                if ($var11 == 3)
                    var$19 = var$19 + 1 | 0;
                var$20 = $rt_compare($var14, $var5);
                if (!var$20 && !var$17 && var$19 == $var7) {
                    $ptr = 13;
                    continue main;
                }
                $ptr = 12;
                continue main;
            }
            $ptr = 20;
            continue main;
        case 17:
            $tmp = nms_BlockRedstoneWire_getMaxCurrentStrength($this, $var1, var$19, $var3, var$20, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            $ptr = 18;
        case 18:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 > 0)
                $var6 = $var6 + (-1) | 0;
            if ($var16 >= 0 && $var16 != $var6) {
                $ptr = 23;
                continue main;
            }
            $var6 = (-1);
            $ptr = 21;
            continue main;
        case 19:
            $tmp = nms_BlockRedstoneWire_getMaxCurrentStrength($this, $var1, $var14, var$16, var$19, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $var11 = $var11 + 1 | 0;
            if ($var11 >= 4) {
                $var16 = $var9 <= 0 ? 0 : $var9 + (-1) | 0;
                if ($var8 == $var16)
                    return;
                $var1.$editingBlocks = 1;
                $ptr = 3;
                continue main;
            }
            $var14 = !$var11 ? var$13 : $var2;
            if ($var11 == 1)
                $var14 = $var14 + 1 | 0;
            var$19 = $var11 == 2 ? var$14 : $var4;
            if ($var11 == 3)
                var$19 = var$19 + 1 | 0;
            var$20 = $rt_compare($var14, $var5);
            if (!var$20 && !var$17 && var$19 == $var7) {
                $ptr = 13;
                continue main;
            }
            $ptr = 12;
            continue main;
        case 20:
            $tmp = nms_BlockRedstoneWire_getMaxCurrentStrength($this, $var1, $var14, $var10, var$19, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $var11 = $var11 + 1 | 0;
            if ($var11 >= 4) {
                $var16 = $var9 <= 0 ? 0 : $var9 + (-1) | 0;
                if ($var8 == $var16)
                    return;
                $var1.$editingBlocks = 1;
                $ptr = 3;
                continue main;
            }
            $var14 = !$var11 ? var$13 : $var2;
            if ($var11 == 1)
                $var14 = $var14 + 1 | 0;
            var$19 = $var11 == 2 ? var$14 : $var4;
            if ($var11 == 3)
                var$19 = var$19 + 1 | 0;
            var$20 = $rt_compare($var14, $var5);
            if (!var$20 && !var$17 && var$19 == $var7) {
                $ptr = 13;
                continue main;
            }
            $ptr = 12;
            continue main;
        case 21:
            $tmp = nms_BlockRedstoneWire_getMaxCurrentStrength($this, $var1, var$19, $var5, var$20, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 22;
        case 22:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            if ($var16 > 0)
                $var16 = $var16 + (-1) | 0;
            if ($var6 >= 0 && $var6 != $var16) {
                $ptr = 24;
                continue main;
            }
            $var11 = $var11 + 1 | 0;
            if ($var11 >= 4) {
                if ($var8 && $var16)
                    return;
                $var1 = $this.$field_21031_b;
                var$21 = nms_ChunkPosition__init_0($var2, $var3, $var4);
                $ptr = 5;
                continue main;
            }
            var$19 = !$var11 ? $var9 : $var2;
            if ($var11 == 1)
                var$19 = var$19 + 1 | 0;
            var$20 = $var11 == 2 ? var$15 : $var4;
            if ($var11 == 3)
                var$20 = var$20 + 1 | 0;
            $ptr = 14;
            continue main;
        case 23:
            nms_BlockRedstoneWire_func_21030_a($this, $var1, var$19, $var3, var$20, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = (-1);
            $ptr = 21;
            continue main;
        case 24:
            nms_BlockRedstoneWire_func_21030_a($this, $var1, var$19, $var5, var$20, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $var11 + 1 | 0;
            if ($var11 >= 4) {
                if ($var8 && $var16)
                    return;
                $var1 = $this.$field_21031_b;
                var$21 = nms_ChunkPosition__init_0($var2, $var3, $var4);
                $ptr = 5;
                continue main;
            }
            var$19 = !$var11 ? $var9 : $var2;
            if ($var11 == 1)
                var$19 = var$19 + 1 | 0;
            var$20 = $var11 == 2 ? var$15 : $var4;
            if ($var11 == 3)
                var$20 = var$20 + 1 | 0;
            $ptr = 14;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var16, $var11, var$13, var$14, var$15, var$16, var$17, $var14, var$19, var$20, var$21, $ptr);
    }
    function nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            var$6 = $this.$blockID;
            if (var$5 != var$6)
                return;
            $ptr = 2;
        case 2:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var2 - 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 3;
        case 3:
            nms_World_notifyBlocksOfNeighborChange($var1, var$5, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var2 + 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 4;
        case 4:
            nms_World_notifyBlocksOfNeighborChange($var1, var$5, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var4 - 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 5;
        case 5:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var4 + 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 6;
        case 6:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var3 - 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 7;
        case 7:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, var$5, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var3 + 1 | 0;
            var$5 = $this.$blockID;
            $ptr = 8;
        case 8:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $ptr);
    }
    function nms_BlockRedstoneWire_onBlockAdded($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return;
            $ptr = 1;
        case 1:
            nms_BlockRedstoneWire_updateAndPropagateCurrentStrength($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var3 + 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 2;
        case 2:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, var$5, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $var3 - 1 | 0;
            var$7 = $this.$blockID;
            $ptr = 3;
        case 3:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, var$6, $var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $var2 - 1 | 0;
            $ptr = 4;
        case 4:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, var$8, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $var2 + 1 | 0;
            $ptr = 5;
        case 5:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, var$7, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $var4 - 1 | 0;
            $ptr = 6;
        case 6:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, $var2, $var3, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $var4 + 1 | 0;
            $ptr = 7;
        case 7:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, $var2, $var3, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$8, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            if (!var$11) {
                $ptr = 9;
                continue main;
            }
            $ptr = 10;
            continue main;
        case 9:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, var$8, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
            continue main;
        case 10:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, var$8, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$7, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (!var$8) {
                $ptr = 12;
                continue main;
            }
            $ptr = 13;
            continue main;
        case 12:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, var$7, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
            continue main;
        case 13:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, var$7, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4) {
                $ptr = 15;
                continue main;
            }
            $ptr = 16;
            continue main;
        case 15:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, $var2, var$6, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
            continue main;
        case 16:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, $var2, var$5, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if (!$var3) {
                $ptr = 18;
                continue main;
            }
            $ptr = 19;
            continue main;
        case 18:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, $var2, var$6, var$10);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 19:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, $var2, var$5, var$10);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    function nms_BlockRedstoneWire_onBlockRemoval($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return;
            var$5 = $var3 + 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 1;
        case 1:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, var$5, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $var3 - 1 | 0;
            var$7 = $this.$blockID;
            $ptr = 2;
        case 2:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, var$6, $var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_BlockRedstoneWire_updateAndPropagateCurrentStrength($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $var2 - 1 | 0;
            $ptr = 4;
        case 4:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, var$8, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $var2 + 1 | 0;
            $ptr = 5;
        case 5:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, var$7, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $var4 - 1 | 0;
            $ptr = 6;
        case 6:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, $var2, $var3, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $var4 + 1 | 0;
            $ptr = 7;
        case 7:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, $var2, $var3, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$8, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            if (!var$11) {
                $ptr = 9;
                continue main;
            }
            $ptr = 10;
            continue main;
        case 9:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, var$8, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
            continue main;
        case 10:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, var$8, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$7, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (!var$8) {
                $ptr = 12;
                continue main;
            }
            $ptr = 13;
            continue main;
        case 12:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, var$7, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
            continue main;
        case 13:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, var$7, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4) {
                $ptr = 15;
                continue main;
            }
            $ptr = 16;
            continue main;
        case 15:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, $var2, var$6, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
            continue main;
        case 16:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, $var2, var$5, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if (!$var3) {
                $ptr = 18;
                continue main;
            }
            $ptr = 19;
            continue main;
        case 18:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, $var2, var$6, var$10);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 19:
            nms_BlockRedstoneWire_notifyWireNeighborsOfNeighborChange($this, $var1, $var2, var$5, var$10);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    function nms_BlockRedstoneWire_getMaxCurrentStrength($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 != $this.$blockID)
                return $var5;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 > $var5)
                $var5 = $var6;
            return $var5;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, $ptr);
    }
    function nms_BlockRedstoneWire_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = nms_BlockRedstoneWire_canPlaceBlockAt($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ($var7) {
                $ptr = 3;
                continue main;
            }
            $ptr = 4;
            continue main;
        case 3:
            nms_BlockRedstoneWire_updateAndPropagateCurrentStrength($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            $ptr = 5;
        case 5:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_BlockRedstoneWire_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_redstone.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockRedstoneWire_isIndirectlyPoweringTo($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$wiresProvidePower)
                return 0;
            $ptr = 1;
        case 1:
            $tmp = nms_BlockRedstoneWire_isPoweringTo($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockRedstoneWire_isPoweringTo($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, var$7, $var6, var$9, $var7, var$11, $var8, var$13, $var9, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();$var9 = $thread.pop();var$13 = $thread.pop();$var8 = $thread.pop();var$11 = $thread.pop();$var7 = $thread.pop();var$9 = $thread.pop();$var6 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$wiresProvidePower)
                return 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6)
                return 0;
            if ($var5 == 1)
                return 1;
            var$7 = $var2 - 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, var$7, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6) {
                $ptr = 3;
                continue main;
            }
            $var6 = 1;
            var$9 = $var2 + 1 | 0;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$7, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6) {
                var$6 = $var3 - 1 | 0;
                $ptr = 5;
                continue main;
            }
            $var6 = 0;
            var$9 = $var2 + 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, var$9, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6) {
                $ptr = 6;
                continue main;
            }
            $var7 = 1;
            var$11 = $var4 - 1 | 0;
            $ptr = 7;
            continue main;
        case 5:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, var$7, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $var6 = var$6 ? 1 : 0;
            var$9 = $var2 + 1 | 0;
            $ptr = 4;
            continue main;
        case 6:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$9, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6) {
                var$6 = $var3 - 1 | 0;
                $ptr = 8;
                continue main;
            }
            $var7 = 0;
            var$11 = $var4 - 1 | 0;
            $ptr = 7;
        case 7:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, $var2, $var3, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6) {
                $ptr = 9;
                continue main;
            }
            $var8 = 1;
            var$13 = $var4 + 1 | 0;
            $ptr = 10;
            continue main;
        case 8:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, var$9, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $var7 = var$6 ? 1 : 0;
            var$11 = $var4 - 1 | 0;
            $ptr = 7;
            continue main;
        case 9:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6) {
                var$6 = $var3 - 1 | 0;
                $ptr = 11;
                continue main;
            }
            $var8 = 0;
            var$13 = $var4 + 1 | 0;
            $ptr = 10;
        case 10:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, $var2, $var3, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6) {
                $ptr = 12;
                continue main;
            }
            $var9 = 1;
            var$6 = $var3 + 1 | 0;
            $ptr = 13;
            continue main;
        case 11:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, $var2, var$6, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $var8 = var$6 ? 1 : 0;
            var$13 = $var4 + 1 | 0;
            $ptr = 10;
            continue main;
        case 12:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6) {
                var$6 = $var3 - 1 | 0;
                $ptr = 14;
                continue main;
            }
            $var9 = 0;
            var$6 = $var3 + 1 | 0;
            $ptr = 13;
        case 13:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            if (var$15)
                return !$var8 && !$var7 && !$var6 && !$var9 && $var5 >= 2 && $var5 <= 5 ? 1 : $var5 == 2 && $var8 && !$var6 && !$var7 ? 1 : $var5 == 3 && $var9 && !$var6 && !$var7 ? 1 : $var5 == 4 && $var6 && !$var8 && !$var9 ? 1 : $var5 == 5 && $var7 && !$var8 && !$var9 ? 1 : 0;
            $ptr = 15;
            continue main;
        case 14:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, $var2, var$6, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $var9 = var$6 ? 1 : 0;
            var$6 = $var3 + 1 | 0;
            $ptr = 13;
            continue main;
        case 15:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$7, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            if (var$15) {
                $ptr = 16;
                continue main;
            }
            $ptr = 17;
            continue main;
        case 16:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, var$7, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            if (var$15)
                $var6 = 1;
            $ptr = 17;
        case 17:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$9, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            if (var$15) {
                $ptr = 18;
                continue main;
            }
            $ptr = 19;
            continue main;
        case 18:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, var$9, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4)
                $var7 = 1;
            $ptr = 19;
        case 19:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4) {
                $ptr = 20;
                continue main;
            }
            $ptr = 21;
            continue main;
        case 20:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, $var2, var$6, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4)
                $var8 = 1;
            $ptr = 21;
        case 21:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if (!$var3)
                return !$var8 && !$var7 && !$var6 && !$var9 && $var5 >= 2 && $var5 <= 5 ? 1 : $var5 == 2 && $var8 && !$var6 && !$var7 ? 1 : $var5 == 3 && $var9 && !$var6 && !$var7 ? 1 : $var5 == 4 && $var6 && !$var8 && !$var9 ? 1 : $var5 == 5 && $var7 && !$var8 && !$var9 ? 1 : 0;
            $ptr = 22;
        case 22:
            $tmp = nms_BlockRedstoneWire_isPowerProviderOrWire($var1, $var2, var$6, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2)
                $var9 = 1;
            return !$var8 && !$var7 && !$var6 && !$var9 && $var5 >= 2 && $var5 <= 5 ? 1 : $var5 == 2 && $var8 && !$var6 && !$var7 ? 1 : $var5 == 3 && $var9 && !$var6 && !$var7 ? 1 : $var5 == 4 && $var6 && !$var8 && !$var9 ? 1 : $var5 == 5 && $var7 && !$var8 && !$var9 ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, $var6, var$9, $var7, var$11, $var8, var$13, $var9, var$15, $ptr);
    }
    function nms_BlockRedstoneWire_canProvidePower($this) {
        return $this.$wiresProvidePower;
    }
    function nms_BlockRedstoneWire_randomDisplayTick($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var9, $var11, $var13, $var14, $var16, $var15, var$14, var$15, var$16, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var15 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 <= 0)
                return;
            $var7 = $var2 + 0.5 + (ju_Random_nextFloat($var5) - 0.5) * 0.2;
            $var9 = $var3 + 0.0625;
            $var11 = $var4 + 0.5 + (ju_Random_nextFloat($var5) - 0.5) * 0.2;
            $var13 = $var6 / 15.0;
            $var14 = $var13 * 0.6000000238418579 + 0.4000000059604645;
            if (!$var6)
                $var14 = 0.0;
            $var16 = $var13 * $var13;
            $var15 = $var16 * 0.699999988079071 - 0.5;
            $var16 = $var16 * 0.6000000238418579 - 0.699999988079071;
            if ($var15 < 0.0)
                $var15 = 0.0;
            if ($var16 < 0.0)
                $var16 = 0.0;
            $var5 = $rt_s(935);
            var$14 = $var14;
            var$15 = $var15;
            var$16 = $var16;
            $ptr = 2;
        case 2:
            nms_World_spawnParticle($var1, $var5, $var7, $var9, $var11, var$14, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var9, $var11, $var13, $var14, $var16, $var15, var$14, var$15, var$16, $ptr);
    }
    function nms_BlockRedstoneWire_isPowerProviderOrWire($var0, $var1, $var2, $var3) {
        var $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var0.$getBlockId($var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var4 == nms_Block_redstoneWire.$blockID)
                $var1 = 1;
            else {
                if ($var4) {
                    $var0 = nms_Block_blocksList.data[$var4];
                    $ptr = 3;
                    continue main;
                }
                $var1 = 0;
            }
            return $var1;
        case 3:
            $tmp = $var0.$canProvidePower();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $var2, $var3, $var4, $ptr);
    }
    var nms_BlockWorkbench = $rt_classWithoutFields(nms_Block);
    function nms_BlockWorkbench__init_0(var_0) {
        var var_1 = new nms_BlockWorkbench();
        nms_BlockWorkbench__init_(var_1, var_0);
        return var_1;
    }
    function nms_BlockWorkbench__init_($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$2 = nms_Material_wood;
            $ptr = 1;
        case 1:
            nms_Block__init_0($this, $var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$blockIndexInTexture = 59;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_BlockWorkbench_getBlockTextureFromSide($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 == 1)
                $var1 = $this.$blockIndexInTexture - 16 | 0;
            else {
                if (!$var1) {
                    $ptr = 1;
                    continue main;
                }
                $var1 = $var1 != 2 && $var1 != 4 ? $this.$blockIndexInTexture : $this.$blockIndexInTexture + 1 | 0;
            }
            return $var1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Block_planks;
            $var1 = 0;
            $ptr = 2;
        case 2:
            $tmp = var$2.$getBlockTextureFromSide($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_BlockWorkbench_blockActivated($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return 1;
            $ptr = 1;
        case 1:
            nms_EntityPlayerSP_displayWorkbenchGUI($var5, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    var nms_BlockCrops = $rt_classWithoutFields(nms_BlockFlower);
    function nms_BlockCrops__init_0(var_0, var_1) {
        var var_2 = new nms_BlockCrops();
        nms_BlockCrops__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockCrops__init_($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockFlower__init_($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$blockIndexInTexture = $var2;
            $var1 = 1;
            $ptr = 2;
        case 2:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 0.0;
            var$4 = 0.0;
            var$5 = 1.0;
            var$6 = 0.25;
            $ptr = 3;
        case 3:
            nms_Block_setBlockBounds($this, var$3, var$4, var$3, var$5, var$6, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_BlockCrops_canThisPlantGrowOnThisBlockID($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return $var1 != nms_Block_tilledField.$blockID ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_BlockCrops_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var6, $var7, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockFlower_func_268_h($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $var3 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockLightValue($var1, $var2, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 < 9)
                return;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 >= 7)
                return;
            $var7 = 1.0;
            var$9 = $var4 - 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$10 = $var4 + 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            var$12 = $var2 - 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = nms_World_getBlockId($var1, var$12, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            var$14 = $var2 + 1 | 0;
            $ptr = 7;
        case 7:
            $tmp = nms_World_getBlockId($var1, var$14, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $ptr = 8;
        case 8:
            $tmp = nms_World_getBlockId($var1, var$12, $var3, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = $tmp;
            $ptr = 9;
        case 9:
            $tmp = nms_World_getBlockId($var1, var$14, $var3, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$17 = $tmp;
            $ptr = 10;
        case 10:
            $tmp = nms_World_getBlockId($var1, var$14, $var3, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $tmp;
            $ptr = 11;
        case 11:
            $tmp = nms_World_getBlockId($var1, var$12, $var3, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = $tmp;
            var$20 = $this.$blockID;
            var$13 = var$13 != var$20 && var$15 != var$20 ? 0 : 1;
            var$11 = var$6 != var$20 && var$11 != var$20 ? 0 : 1;
            var$6 = var$16 != var$20 && var$17 != var$20 && var$18 != var$20 && var$19 != var$20 ? 0 : 1;
            var$15 = $var3 - 1 | 0;
            while (true) {
                if (var$12 > var$14) {
                    a: {
                        if (!var$6) {
                            if (!var$13)
                                break a;
                            if (!var$11)
                                break a;
                        }
                        $var7 = $var7 / 2.0;
                    }
                    if (ju_Random_nextInt($var5, 100.0 / $var7 | 0))
                        return;
                    var$6 = $var6 + 1 | 0;
                    $ptr = 14;
                    continue main;
                }
                var$19 = var$9;
                if (var$19 <= var$10)
                    break;
                var$12 = var$12 + 1 | 0;
            }
            $ptr = 12;
        case 12:
            $tmp = nms_World_getBlockId($var1, var$12, var$15, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = $tmp;
            var$21 = 0.0;
            $ptr = 13;
        case 13:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$20 == nms_Block_tilledField.$blockID) {
                var$21 = 1.0;
                $ptr = 15;
                continue main;
            }
            if (!(var$12 == $var2 && var$19 == $var4))
                var$21 = var$21 / 4.0;
            $var7 = $var7 + var$21;
            var$19 = var$19 + 1 | 0;
            while (var$19 > var$10) {
                var$12 = var$12 + 1 | 0;
                if (var$12 > var$14) {
                    b: {
                        if (!var$6) {
                            if (!var$13)
                                break b;
                            if (!var$11)
                                break b;
                        }
                        $var7 = $var7 / 2.0;
                    }
                    if (ju_Random_nextInt($var5, 100.0 / $var7 | 0))
                        return;
                    var$6 = $var6 + 1 | 0;
                    $ptr = 14;
                    continue main;
                }
                var$19 = var$9;
            }
            $ptr = 12;
            continue main;
        case 14:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 15:
            $tmp = nms_World_getBlockMetadata($var1, var$12, var$15, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = $tmp;
            if (var$20 > 0)
                var$21 = 3.0;
            if (!(var$12 == $var2 && var$19 == $var4))
                var$21 = var$21 / 4.0;
            $var7 = $var7 + var$21;
            var$19 = var$19 + 1 | 0;
            while (var$19 > var$10) {
                var$12 = var$12 + 1 | 0;
                if (var$12 > var$14) {
                    c: {
                        if (!var$6) {
                            if (!var$13)
                                break c;
                            if (!var$11)
                                break c;
                        }
                        $var7 = $var7 / 2.0;
                    }
                    if (ju_Random_nextInt($var5, 100.0 / $var7 | 0))
                        return;
                    var$6 = $var6 + 1 | 0;
                    $ptr = 14;
                    continue main;
                }
                var$19 = var$9;
            }
            $ptr = 12;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, $var7, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, $ptr);
    }
    function nms_BlockCrops_getBlockTextureFromSideAndMetadata($this, $var1, $var2) {
        if ($var2 < 0)
            $var2 = 7;
        return $this.$blockIndexInTexture + $var2 | 0;
    }
    function nms_BlockCrops_getRenderType($this) {
        return 6;
    }
    function nms_BlockCrops_onBlockDestroyedByPlayer($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, var$7, var$8, var$9, $var8, $var9, $var10, $var11, var$14, var$15, var$16, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                if (!$var1.$multiplayerWorld) {
                    $var6 = 0;
                    var$7 = $var2;
                    var$8 = $var3;
                    var$9 = $var4;
                    while (true) {
                        if ($var6 >= 3)
                            break a;
                        if (ju_Random_nextInt($var1.$rand2, 15) <= $var5) {
                            $var8 = ju_Random_nextFloat($var1.$rand2) * 0.699999988079071 + 0.15000000596046448;
                            $var9 = ju_Random_nextFloat($var1.$rand2) * 0.699999988079071 + 0.15000000596046448;
                            $var10 = ju_Random_nextFloat($var1.$rand2) * 0.699999988079071 + 0.15000000596046448;
                            $var11 = new nms_EntityItem;
                            var$14 = var$7 + $var8;
                            var$15 = var$8 + $var9;
                            var$16 = var$9 + $var10;
                            var$17 = new nms_ItemStack;
                            $ptr = 1;
                            continue main;
                        }
                        $var6 = $var6 + 1 | 0;
                    }
                }
            }
            return;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_(var$17, nms_Item_seeds);
            $ptr = 2;
        case 2:
            nms_EntityItem__init_($var11, $var1, var$14, var$15, var$16, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var11.$delayBeforeCanPickup = 10;
            $ptr = 3;
        case 3:
            $var1.$entityJoinedWorld($var11);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var6 = $var6 + 1 | 0;
                if ($var6 >= 3)
                    break;
                if (ju_Random_nextInt($var1.$rand2, 15) > $var5)
                    continue;
                else {
                    $var8 = ju_Random_nextFloat($var1.$rand2) * 0.699999988079071 + 0.15000000596046448;
                    $var9 = ju_Random_nextFloat($var1.$rand2) * 0.699999988079071 + 0.15000000596046448;
                    $var10 = ju_Random_nextFloat($var1.$rand2) * 0.699999988079071 + 0.15000000596046448;
                    $var11 = new nms_EntityItem;
                    var$14 = var$7 + $var8;
                    var$15 = var$8 + $var9;
                    var$16 = var$9 + $var10;
                    var$17 = new nms_ItemStack;
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, var$9, $var8, $var9, $var10, $var11, var$14, var$15, var$16, var$17, $ptr);
    }
    function nms_BlockCrops_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 != 7)
                return (-1);
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_wheat.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockCrops_quantityDropped($this, $var1) {
        return 1;
    }
    var nms_BlockSoil = $rt_classWithoutFields(nms_Block);
    function nms_BlockSoil__init_0(var_0) {
        var var_1 = new nms_BlockSoil();
        nms_BlockSoil__init_(var_1, var_0);
        return var_1;
    }
    function nms_BlockSoil__init_($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$2 = nms_Material_ground;
            $ptr = 1;
        case 1:
            nms_Block__init_0($this, $var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$blockIndexInTexture = 87;
            $var1 = 1;
            $ptr = 2;
        case 2:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 0.0;
            var$4 = 0.0;
            var$5 = 0.0;
            var$6 = 1.0;
            var$7 = 0.9375;
            var$8 = 1.0;
            $ptr = 3;
        case 3:
            nms_Block_setBlockBounds($this, var$3, var$4, var$5, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 255;
            $ptr = 4;
        case 4:
            nms_Block_setLightOpacity($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_BlockSoil_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return nms_AxisAlignedBB_getBoundingBoxFromPool($var2 + 0 | 0, $var3 + 0 | 0, $var4 + 0 | 0, $var2 + 1 | 0, $var3 + 1 | 0, $var4 + 1 | 0);
    }
    function nms_BlockSoil_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockSoil_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockSoil_getBlockTextureFromSideAndMetadata($this, $var1, $var2) {
        $var1 = $rt_compare($var1, 1);
        return !$var1 && $var2 > 0 ? $this.$blockIndexInTexture - 1 | 0 : $var1 ? 2 : $this.$blockIndexInTexture;
    }
    function nms_BlockSoil_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var6, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (ju_Random_nextInt($var5, 5))
                return;
            var$6 = $var2 - 4 | 0;
            $var6 = $var2 + 4 | 0;
            var$8 = $var3 + 1 | 0;
            var$9 = $var4 - 4 | 0;
            var$10 = $var4 + 4 | 0;
            a: while (true) {
                if (var$6 > $var6) {
                    if (!0) {
                        $ptr = 1;
                        continue main;
                    }
                    var$6 = 7;
                    $ptr = 2;
                    continue main;
                }
                var$11 = $var3;
                while (var$11 <= var$8) {
                    var$12 = var$9;
                    if (var$12 <= var$10)
                        break a;
                    var$11 = var$11 + 1 | 0;
                }
                var$6 = var$6 + 1 | 0;
            }
            $ptr = 4;
            continue main;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 > 0) {
                var$6 = $var6 - 1 | 0;
                $ptr = 3;
                continue main;
            }
            var$6 = $var2 - 0 | 0;
            $var6 = $var2 + 0 | 0;
            var$12 = $var4 - 0 | 0;
            var$9 = $var4 + 0 | 0;
            while (true) {
                if (var$6 > $var6) {
                    if (0)
                        return;
                    $ptr = 5;
                    continue main;
                }
                var$11 = var$12;
                if (var$11 <= var$9)
                    break;
                var$6 = var$6 + 1 | 0;
            }
            $ptr = 7;
            continue main;
        case 2:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            $tmp = nms_World_getBlockMaterial($var1, var$6, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            nms_Material_$callClinit();
            if ($var5 === nms_Material_water)
                var$6 = 1;
            else {
                var$12 = var$12 + 1 | 0;
                b: while (true) {
                    if (var$12 <= var$10) {
                        continue main;
                    }
                    var$11 = var$11 + 1 | 0;
                    while (var$11 > var$8) {
                        var$6 = var$6 + 1 | 0;
                        if (var$6 > $var6)
                            break b;
                        var$11 = $var3;
                    }
                    var$12 = var$9;
                }
                var$6 = 0;
            }
            if (!var$6) {
                $ptr = 1;
                continue main;
            }
            var$6 = 7;
            $ptr = 2;
            continue main;
        case 5:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_Block_dirt.$blockID;
            $ptr = 6;
        case 6:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            $tmp = nms_World_getBlockId($var1, var$6, var$8, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            $ptr = 8;
        case 8:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$13 == nms_Block_crops.$blockID)
                var$6 = 1;
            else {
                var$11 = var$11 + 1 | 0;
                while (true) {
                    if (var$11 <= var$9) {
                        $ptr = 7;
                        continue main;
                    }
                    var$6 = var$6 + 1 | 0;
                    if (var$6 > $var6)
                        break;
                    var$11 = var$12;
                }
                var$6 = 0;
            }
            if (var$6)
                return;
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
    }
    function nms_BlockSoil_onEntityWalking($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (ju_Random_nextInt($var1.$rand2, 4))
                return;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_Block_dirt.$blockID;
            $ptr = 2;
        case 2:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockSoil_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = $var3 + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$var6.$isSolid())
                return;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = nms_Block_dirt.$blockID;
            $ptr = 3;
        case 3:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockSoil_idDropped($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nms_Block_dirt;
            $var1 = 0;
            $ptr = 2;
        case 2:
            $tmp = var$3.$idDropped($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockFurnace() {
        nms_BlockContainer.call(this);
        this.$isActive0 = 0;
    }
    function nms_BlockFurnace__init_0(var_0, var_1) {
        var var_2 = new nms_BlockFurnace();
        nms_BlockFurnace__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockFurnace__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_rock;
            $ptr = 1;
        case 1:
            nms_BlockContainer__init_($this, $var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isActive0 = $var2;
            $this.$blockIndexInTexture = 45;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockFurnace_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Block_stoneOvenIdle.$blockID;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockFurnace_onBlockAdded($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockContainer_onBlockAdded($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var4 - 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$5 = $var4 + 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            var$7 = $var2 - 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockId($var1, var$7, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$8 = $var2 + 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = nms_World_getBlockId($var1, var$8, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            var$9 = 3;
            $ptr = 6;
        case 6:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$10 = nms_Block_opaqueCubeLookup.data;
            if (var$10[var$6] && !var$10[var$5])
                var$9 = 3;
            if (var$10[var$5] && !var$10[var$6])
                var$9 = 2;
            if (var$10[var$7] && !var$10[var$8])
                var$9 = 5;
            if (var$10[var$8] && !var$10[var$7])
                var$9 = 4;
            $ptr = 7;
        case 7:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_BlockFurnace_getBlockTexture($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var5 == 1)
                return $this.$blockIndexInTexture + 17 | 0;
            if (!$var5)
                return $this.$blockIndexInTexture + 17 | 0;
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            return $var5 != $var6 ? $this.$blockIndexInTexture : !$this.$isActive0 ? $this.$blockIndexInTexture - 1 | 0 : $this.$blockIndexInTexture + 16 | 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockFurnace_randomDisplayTick($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var8, $var9, $var11, var$11, var$12, var$13, var$14, var$15, var$16, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$isActive0)
                return;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = $var2 + 0.5;
            $var8 = $var3 + 0.0 + ju_Random_nextFloat($var5) * 6.0 / 16.0;
            $var9 = $var4 + 0.5;
            $var11 = ju_Random_nextFloat($var5) * 0.6000000238418579 - 0.30000001192092896;
            if ($var6 == 4) {
                $var5 = $rt_s(920);
                var$11 = $var7 - 0.5199999809265137;
                var$12 = $var8;
                var$13 = $var9 + $var11;
                var$14 = 0.0;
                var$15 = 0.0;
                var$16 = 0.0;
                $ptr = 2;
                continue main;
            }
            if ($var6 == 5) {
                $var5 = $rt_s(920);
                var$11 = $var7 + 0.5199999809265137;
                var$12 = $var8;
                var$13 = $var9 + $var11;
                var$14 = 0.0;
                var$15 = 0.0;
                var$16 = 0.0;
                $ptr = 4;
                continue main;
            }
            if ($var6 == 2) {
                $var5 = $rt_s(920);
                var$11 = $var7 + $var11;
                var$12 = $var8;
                var$13 = $var9 - 0.5199999809265137;
                var$14 = 0.0;
                var$15 = 0.0;
                var$16 = 0.0;
                $ptr = 6;
                continue main;
            }
            if ($var6 != 3)
                return;
            $var5 = $rt_s(920);
            var$14 = $var7 + $var11;
            var$15 = $var8;
            var$16 = $var9 + 0.5199999809265137;
            var$11 = 0.0;
            var$12 = 0.0;
            var$13 = 0.0;
            $ptr = 8;
            continue main;
        case 2:
            nms_World_spawnParticle($var1, $var5, var$11, var$12, var$13, var$14, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $rt_s(932);
            var$14 = 0.0;
            var$15 = 0.0;
            var$16 = 0.0;
            $ptr = 3;
        case 3:
            nms_World_spawnParticle($var1, $var5, var$11, var$12, var$13, var$14, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nms_World_spawnParticle($var1, $var5, var$11, var$12, var$13, var$14, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $rt_s(932);
            var$14 = 0.0;
            var$15 = 0.0;
            var$16 = 0.0;
            $ptr = 5;
        case 5:
            nms_World_spawnParticle($var1, $var5, var$11, var$12, var$13, var$14, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nms_World_spawnParticle($var1, $var5, var$11, var$12, var$13, var$14, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $rt_s(932);
            var$14 = 0.0;
            var$15 = 0.0;
            var$16 = 0.0;
            $ptr = 7;
        case 7:
            nms_World_spawnParticle($var1, $var5, var$11, var$12, var$13, var$14, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            nms_World_spawnParticle($var1, $var5, var$14, var$15, var$16, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $rt_s(932);
            var$11 = 0.0;
            var$12 = 0.0;
            var$13 = 0.0;
            $ptr = 9;
        case 9:
            nms_World_spawnParticle($var1, $var5, var$14, var$15, var$16, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var11, var$11, var$12, var$13, var$14, var$15, var$16, $ptr);
    }
    function nms_BlockFurnace_getBlockTextureFromSide($this, $var1) {
        return $var1 == 1 ? $this.$blockIndexInTexture + 17 | 0 : !$var1 ? $this.$blockIndexInTexture + 17 | 0 : $var1 != 3 ? $this.$blockIndexInTexture : $this.$blockIndexInTexture - 1 | 0;
    }
    function nms_BlockFurnace_blockActivated($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return 1;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockTileEntity($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var6 = $var1;
            $ptr = 2;
        case 2:
            nms_EntityPlayerSP_displayGUIFurnace($var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockFurnace_getBlockEntity($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nms_TileEntityFurnace;
            $ptr = 1;
        case 1:
            nms_TileEntityFurnace__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_BlockFurnace_onBlockPlacedBy($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = nms_MathHelper_floor_double($var5.$rotationYaw * 4.0 / 360.0 + 0.5) & 3;
            if (!$var6) {
                var$7 = 2;
                $ptr = 1;
                continue main;
            }
            if ($var6 == 1) {
                var$7 = 5;
                $ptr = 2;
                continue main;
            }
            if ($var6 == 2) {
                var$7 = 3;
                $ptr = 3;
                continue main;
            }
            if ($var6 != 3)
                return;
            $var6 = 4;
            $ptr = 4;
            continue main;
        case 1:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var6 == 1) {
                var$7 = 5;
                $ptr = 2;
                continue main;
            }
            if ($var6 == 2) {
                var$7 = 3;
                $ptr = 3;
                continue main;
            }
            if ($var6 != 3)
                return;
            $var6 = 4;
            $ptr = 4;
            continue main;
        case 2:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var6 == 2) {
                var$7 = 3;
                $ptr = 3;
                continue main;
            }
            if ($var6 != 3)
                return;
            $var6 = 4;
            $ptr = 4;
            continue main;
        case 3:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var6 != 3)
                return;
            $var6 = 4;
            $ptr = 4;
        case 4:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
    }
    function nms_BlockSign() {
        var a = this; nms_BlockContainer.call(a);
        a.$signEntityClass = null;
        a.$isFreestanding = 0;
    }
    function nms_BlockSign__init_0(var_0, var_1, var_2) {
        var var_3 = new nms_BlockSign();
        nms_BlockSign__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_BlockSign__init_($this, $var1, $var2, $var3) {
        var var$4, $var5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$4 = nms_Material_wood;
            $ptr = 1;
        case 1:
            nms_BlockContainer__init_($this, $var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isFreestanding = $var3;
            $this.$blockIndexInTexture = 4;
            $this.$signEntityClass = $var2;
            $var5 = 1.0;
            var$6 = 0.25;
            var$7 = 0.0;
            var$8 = 0.75;
            $ptr = 2;
        case 2:
            nms_Block_setBlockBounds($this, var$6, var$7, var$6, var$8, $var5, var$8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $var5, var$6, var$7, var$8, $ptr);
    }
    function nms_BlockSign_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return null;
    }
    function nms_BlockSign_getSelectedBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockSign_setBlockBoundsBasedOnState($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_Block_getSelectedBoundingBoxFromPool($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_BlockSign_setBlockBoundsBasedOnState($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, $var7, $var8, $var9, $var10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$isFreestanding)
                return;
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = 0.28125;
            $var7 = 0.78125;
            $var8 = 0.0;
            $var9 = 1.0;
            $var10 = 0.125;
            var$11 = 0.0;
            var$12 = 0.0;
            var$13 = 0.0;
            var$14 = 1.0;
            var$15 = 1.0;
            var$16 = 1.0;
            $ptr = 2;
        case 2:
            nms_Block_setBlockBounds($this, var$11, var$12, var$13, var$14, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 == 2) {
                var$14 = 0.875;
                var$15 = 1.0;
                $ptr = 3;
                continue main;
            }
            if ($var5 == 3) {
                var$14 = 0.0;
                $ptr = 4;
                continue main;
            }
            if ($var5 == 4) {
                var$14 = 0.875;
                var$15 = 1.0;
                $ptr = 5;
                continue main;
            }
            if ($var5 != 5)
                return;
            var$14 = 0.0;
            $ptr = 6;
            continue main;
        case 3:
            nms_Block_setBlockBounds($this, $var8, $var6, var$14, $var9, $var7, var$15);
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 == 3) {
                var$14 = 0.0;
                $ptr = 4;
                continue main;
            }
            if ($var5 == 4) {
                var$14 = 0.875;
                var$15 = 1.0;
                $ptr = 5;
                continue main;
            }
            if ($var5 != 5)
                return;
            var$14 = 0.0;
            $ptr = 6;
            continue main;
        case 4:
            nms_Block_setBlockBounds($this, $var8, $var6, var$14, $var9, $var7, $var10);
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 == 4) {
                var$14 = 0.875;
                var$15 = 1.0;
                $ptr = 5;
                continue main;
            }
            if ($var5 != 5)
                return;
            var$14 = 0.0;
            $ptr = 6;
            continue main;
        case 5:
            nms_Block_setBlockBounds($this, var$14, $var6, $var8, var$15, $var7, $var9);
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 != 5)
                return;
            var$14 = 0.0;
            $ptr = 6;
        case 6:
            nms_Block_setBlockBounds($this, var$14, $var6, $var8, $var10, $var7, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr);
    }
    function nms_BlockSign_getRenderType($this) {
        return (-1);
    }
    function nms_BlockSign_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockSign_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockSign_getBlockEntity($this) {
        var $var2, var$2, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var2 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            try {
                $var2 = $this.$signEntityClass;
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var2 = $$je;
                } else {
                    throw $$e;
                }
            }
            var$2 = new jl_RuntimeException;
            jl_Throwable__init_6(var$2, $var2);
            $rt_throw(var$2);
        case 1:
            a: {
                try {
                    $tmp = jl_Class_newInstance($var2);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $var2 = $tmp;
                    $var2 = $var2;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var2 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $var2;
            }
            var$2 = new jl_RuntimeException;
            jl_Throwable__init_6(var$2, $var2);
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var2, var$2, $ptr);
    }
    function nms_BlockSign_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_sign.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockSign_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = 0;
            if (!$this.$isFreestanding) {
                $ptr = 1;
                continue main;
            }
            $var5 = $var3 - 1 | 0;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var6 = 1;
            if ($var7 == 2) {
                $var5 = $var4 + 1 | 0;
                $ptr = 3;
                continue main;
            }
            if ($var7 == 3) {
                $var5 = $var4 - 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($var7 == 4) {
                $var5 = $var2 + 1 | 0;
                $ptr = 8;
                continue main;
            }
            if ($var7 == 5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 9;
                continue main;
            }
            if (!$var6)
                return;
            $ptr = 5;
            continue main;
        case 2:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (!var$8.$isSolid())
                $var6 = 1;
            if (!$var6)
                return;
            $ptr = 5;
            continue main;
        case 3:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8.$isSolid())
                $var6 = 0;
            if ($var7 == 3) {
                $var5 = $var4 - 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($var7 == 4) {
                $var5 = $var2 + 1 | 0;
                $ptr = 8;
                continue main;
            }
            if ($var7 == 5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 9;
                continue main;
            }
            if (!$var6)
                return;
            $ptr = 5;
            continue main;
        case 4:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8.$isSolid())
                $var6 = 0;
            if ($var7 == 4) {
                $var5 = $var2 + 1 | 0;
                $ptr = 8;
                continue main;
            }
            if ($var7 == 5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 9;
                continue main;
            }
            if (!$var6)
                return;
            $ptr = 5;
        case 5:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 6;
        case 6:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            $ptr = 7;
        case 7:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            $tmp = nms_World_getBlockMaterial($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8.$isSolid())
                $var6 = 0;
            if ($var7 == 5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 9;
                continue main;
            }
            if (!$var6)
                return;
            $ptr = 5;
            continue main;
        case 9:
            $tmp = nms_World_getBlockMaterial($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8.$isSolid())
                $var6 = 0;
            if (!$var6)
                return;
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, $ptr);
    }
    function nms_TileEntity() {
        var a = this; jl_Object.call(a);
        a.$worldObj3 = null;
        a.$xCoord0 = 0;
        a.$yCoord0 = 0;
        a.$zCoord0 = 0;
    }
    var nms_TileEntity_nameToClassMap = null;
    var nms_TileEntity_classToNameMap = null;
    var nms_TileEntity_$clinitCalled = false;
    function nms_TileEntity_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_TileEntity_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_TileEntity_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_TileEntity__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_TileEntity_$callClinit = $rt_eraseClinit(nms_TileEntity);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_TileEntity__init_0() {
        var var_0 = new nms_TileEntity();
        nms_TileEntity__init_(var_0);
        return var_0;
    }
    function nms_TileEntity__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_TileEntity_addMapping($var0, $var1) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nms_TileEntity_classToNameMap;
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_containsKey(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (!var$4) {
                var$3 = nms_TileEntity_nameToClassMap;
                $ptr = 3;
                continue main;
            }
            $var0 = new jl_IllegalArgumentException;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$5 = $rt_s(936);
            $ptr = 5;
            continue main;
        case 3:
            ju_HashMap_putImpl(var$3, $var1, $var0);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nms_TileEntity_classToNameMap;
            $ptr = 4;
        case 4:
            ju_HashMap_putImpl(var$3, $var0, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            $tmp = jl_StringBuilder_append(var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 6;
        case 6:
            jl_StringBuilder_append(var$5, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            jl_Throwable__init_($var0, $var1);
            $rt_throw($var0);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, var$3, var$4, var$5, $ptr);
    }
    function nms_TileEntity_readFromNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(937);
            $ptr = 1;
        case 1:
            $tmp = nms_NBTTagCompound_getInteger($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$xCoord0 = var$3;
            var$2 = $rt_s(938);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getInteger($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$yCoord0 = var$3;
            var$2 = $rt_s(939);
            $ptr = 3;
        case 3:
            $tmp = nms_NBTTagCompound_getInteger($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$zCoord0 = var$3;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_TileEntity_writeToNBT($this, $var1) {
        var $var2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_TileEntity_classToNameMap;
            var$3 = jl_Object_getClass($this);
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get($var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var2 = $var2;
            if ($var2 !== null) {
                var$3 = $rt_s(940);
                $ptr = 3;
                continue main;
            }
            $var1 = new jl_RuntimeException;
            $var2 = jl_Object_getClass($this);
            $ptr = 7;
            continue main;
        case 3:
            nms_NBTTagCompound_setString($var1, var$3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $rt_s(937);
            var$4 = $this.$xCoord0;
            $ptr = 4;
        case 4:
            nms_NBTTagCompound_setInteger($var1, $var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $rt_s(938);
            var$4 = $this.$yCoord0;
            $ptr = 5;
        case 5:
            nms_NBTTagCompound_setInteger($var1, $var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $rt_s(939);
            var$4 = $this.$zCoord0;
            $ptr = 6;
        case 6:
            nms_NBTTagCompound_setInteger($var1, $var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            $tmp = jl_String_valueOf($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            $ptr = 8;
        case 8:
            $tmp = jl_StringBuilder_append(var$3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$5 = $rt_s(941);
            $ptr = 9;
        case 9:
            jl_StringBuilder_append($var2, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            jl_Throwable__init_($var1, $var2);
            $rt_throw($var1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, $ptr);
    }
    function nms_TileEntity_updateEntity($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_TileEntity_getBlockMetadata($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$worldObj3;
            var$2 = $this.$xCoord0;
            var$3 = $this.$yCoord0;
            var$4 = $this.$zCoord0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata(var$1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_TileEntity_onInventoryChanged($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$worldObj3;
            if (var$1 === null)
                return;
            var$2 = $this.$xCoord0;
            var$3 = $this.$yCoord0;
            var$4 = $this.$zCoord0;
            $ptr = 1;
        case 1:
            nms_World_func_698_b(var$1, var$2, var$3, var$4, $this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_TileEntity_getDistanceFrom($this, $var1, $var3, $var5) {
        var $var7, $var9, $var11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var7 = $this.$xCoord0 + 0.5 - $var1;
            $var9 = $this.$yCoord0 + 0.5 - $var3;
            $var11 = $this.$zCoord0 + 0.5 - $var5;
            return $var7 * $var7 + $var9 * $var9 + $var11 * $var11;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, $var7, $var9, $var11, $ptr);
    }
    function nms_TileEntity_getBlockType($this) {
        var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Block_blocksList.data;
            var$2 = $this.$worldObj3;
            var$3 = $this.$xCoord0;
            var$4 = $this.$yCoord0;
            var$5 = $this.$zCoord0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId(var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$1[var$3];
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_TileEntity__clinit_() {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_TileEntity_nameToClassMap = ju_HashMap__init_0();
            nms_TileEntity_classToNameMap = ju_HashMap__init_0();
            var$1 = $rt_cls(nms_TileEntityFurnace);
            var$2 = $rt_s(942);
            $ptr = 1;
        case 1:
            nms_TileEntity_addMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_TileEntityChest);
            var$2 = $rt_s(943);
            $ptr = 2;
        case 2:
            nms_TileEntity_addMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_TileEntityDispenser);
            var$2 = $rt_s(944);
            $ptr = 3;
        case 3:
            nms_TileEntity_addMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_TileEntitySign);
            var$2 = $rt_s(945);
            $ptr = 4;
        case 4:
            nms_TileEntity_addMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_TileEntityMobSpawner);
            var$2 = $rt_s(946);
            $ptr = 5;
        case 5:
            nms_TileEntity_addMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_TileEntityNote);
            var$2 = $rt_s(947);
            $ptr = 6;
        case 6:
            nms_TileEntity_addMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nms_TileEntitySign() {
        var a = this; nms_TileEntity.call(a);
        a.$signText = null;
        a.$lineBeingEdited = 0;
        a.$field_25062_c = 0;
    }
    function nms_TileEntitySign__init_0() {
        var var_0 = new nms_TileEntitySign();
        nms_TileEntitySign__init_(var_0);
        return var_0;
    }
    function nms_TileEntitySign__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$signText = $rt_createArrayFromData(jl_String, [$rt_s(3), $rt_s(3), $rt_s(3), $rt_s(3)]);
            $this.$lineBeingEdited = (-1);
            $this.$field_25062_c = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_TileEntitySign_writeToNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity_writeToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(948);
            var$3 = $this.$signText.data[0];
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setString($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(949);
            var$3 = $this.$signText.data[1];
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setString($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(950);
            var$3 = $this.$signText.data[2];
            $ptr = 4;
        case 4:
            nms_NBTTagCompound_setString($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(951);
            var$3 = $this.$signText.data[3];
            $ptr = 5;
        case 5:
            nms_NBTTagCompound_setString($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_TileEntitySign_readFromNBT($this, $var1) {
        var $var2, var$3, $var2_0, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var2_0 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$field_25062_c = 0;
            $ptr = 1;
        case 1:
            nms_TileEntity_readFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 0;
            if ($var2 >= 4)
                return;
            var$3 = $this.$signText.data;
            $var2_0 = $var2 + 1 | 0;
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            var$6 = $rt_s(952);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_AbstractStringBuilder_append0(var$6, $var2_0);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 4;
        case 4:
            $tmp = nms_NBTTagCompound_getString($var1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            var$3[$var2] = var$5;
            if (jl_String_length($this.$signText.data[$var2]) > 15) {
                var$3 = $this.$signText.data;
                var$3[$var2] = jl_String_substring0(var$3[$var2], 0, 15);
            }
            $var2 = $var2_0;
            if ($var2 >= 4)
                return;
            var$3 = $this.$signText.data;
            $var2_0 = $var2 + 1 | 0;
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            var$6 = $rt_s(952);
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var2_0, var$5, var$6, $ptr);
    }
    var nms_BlockDoor = $rt_classWithoutFields(nms_Block);
    function nms_BlockDoor__init_0(var_0, var_1) {
        var var_2 = new nms_BlockDoor();
        nms_BlockDoor__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockDoor__init_($this, $var1, $var2) {
        var $var4, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block__init_0($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$blockIndexInTexture = 97;
            nms_Material_$callClinit();
            if ($var2 === nms_Material_iron)
                $this.$blockIndexInTexture = 98;
            $var4 = 1.0;
            var$4 = 0.0;
            var$5 = 0.0;
            var$6 = 1.0;
            $ptr = 2;
        case 2:
            nms_Block_setBlockBounds($this, var$4, var$5, var$4, var$6, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, var$4, var$5, var$6, $ptr);
    }
    function nms_BlockDoor_getBlockTextureFromSideAndMetadata($this, $var1, $var2) {
        var $var3, $var5;
        if ($var1 && $var1 != 1) {
            $var3 = nms_BlockDoor_getState($this, $var2);
            if (($var3 && $var3 != 2 ? 0 : 1) ^ ($var1 > 3 ? 0 : 1))
                return $this.$blockIndexInTexture;
            $var1 = (($var3 / 2 | 0) + ($var1 & 1 ^ $var3) | 0) + (($var2 & 4) / 4 | 0) | 0;
            $var5 = $this.$blockIndexInTexture - (($var2 & 8) * 2 | 0) | 0;
            if ($var1 & 1)
                $var5 =  -$var5 | 0;
            return $var5;
        }
        return $this.$blockIndexInTexture;
    }
    function nms_BlockDoor_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockDoor_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockDoor_getRenderType($this) {
        return 7;
    }
    function nms_BlockDoor_getSelectedBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockDoor_setBlockBoundsBasedOnState($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_Block_getSelectedBoundingBoxFromPool($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_BlockDoor_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockDoor_setBlockBoundsBasedOnState($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_Block_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_BlockDoor_setBlockBoundsBasedOnState($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var2 = nms_BlockDoor_getState($this, $var2);
            var$5 = 0.1875;
            var$6 = 0.0;
            var$7 = 0.0;
            var$8 = 0.0;
            var$9 = 1.0;
            var$10 = 2.0;
            var$11 = 1.0;
            $ptr = 2;
        case 2:
            nms_Block_setBlockBounds($this, var$6, var$7, var$8, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var2) {
                var$6 = 0.0;
                var$7 = 0.0;
                var$8 = 0.0;
                var$9 = 1.0;
                var$10 = 1.0;
                $ptr = 3;
                continue main;
            }
            if ($var2 == 1) {
                var$6 = 0.8125;
                var$7 = 0.0;
                var$8 = 0.0;
                var$9 = 1.0;
                var$10 = 1.0;
                var$11 = 1.0;
                $ptr = 4;
                continue main;
            }
            if ($var2 == 2) {
                var$6 = 0.0;
                var$7 = 0.0;
                var$8 = 0.8125;
                var$9 = 1.0;
                var$10 = 1.0;
                var$11 = 1.0;
                $ptr = 5;
                continue main;
            }
            if ($var2 != 3)
                return;
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.0;
            var$6 = 1.0;
            var$7 = 1.0;
            $ptr = 6;
            continue main;
        case 3:
            nms_Block_setBlockBounds($this, var$6, var$7, var$8, var$9, var$10, var$5);
            if ($rt_suspending()) {
                break main;
            }
            if ($var2 == 1) {
                var$6 = 0.8125;
                var$7 = 0.0;
                var$8 = 0.0;
                var$9 = 1.0;
                var$10 = 1.0;
                var$11 = 1.0;
                $ptr = 4;
                continue main;
            }
            if ($var2 == 2) {
                var$6 = 0.0;
                var$7 = 0.0;
                var$8 = 0.8125;
                var$9 = 1.0;
                var$10 = 1.0;
                var$11 = 1.0;
                $ptr = 5;
                continue main;
            }
            if ($var2 != 3)
                return;
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.0;
            var$6 = 1.0;
            var$7 = 1.0;
            $ptr = 6;
            continue main;
        case 4:
            nms_Block_setBlockBounds($this, var$6, var$7, var$8, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            if ($var2 == 2) {
                var$6 = 0.0;
                var$7 = 0.0;
                var$8 = 0.8125;
                var$9 = 1.0;
                var$10 = 1.0;
                var$11 = 1.0;
                $ptr = 5;
                continue main;
            }
            if ($var2 != 3)
                return;
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.0;
            var$6 = 1.0;
            var$7 = 1.0;
            $ptr = 6;
            continue main;
        case 5:
            nms_Block_setBlockBounds($this, var$6, var$7, var$8, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            if ($var2 != 3)
                return;
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.0;
            var$6 = 1.0;
            var$7 = 1.0;
            $ptr = 6;
        case 6:
            nms_Block_setBlockBounds($this, var$8, var$9, var$10, var$5, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    function nms_BlockDoor_onBlockClicked($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockDoor_blockActivated($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockDoor_blockActivated($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var6, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $this.$blockMaterial;
            nms_Material_$callClinit();
            if (var$6 === nms_Material_iron)
                return 1;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!($var6 & 8)) {
                var$8 = $var3 + 1 | 0;
                $ptr = 2;
                continue main;
            }
            $var3 = $var3 - 1 | 0;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var2, var$8, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9 != $this.$blockID) {
                var$8 = $var6 ^ 4;
                $ptr = 4;
                continue main;
            }
            var$9 = ($var6 ^ 4) + 8 | 0;
            $ptr = 6;
            continue main;
        case 3:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8 != $this.$blockID)
                return 1;
            $ptr = 7;
            continue main;
        case 4:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $var3 - 1 | 0;
            $ptr = 5;
        case 5:
            nms_World_markBlocksDirty($var1, $var2, var$8, $var4, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            if (jl_Math_random() >= 0.5) {
                var$10 = $var2 + 0.5;
                var$11 = $var3 + 0.5;
                var$12 = $var4 + 0.5;
                $var5 = $rt_s(953);
                var$13 = 1.0;
                var$14 = ju_Random_nextFloat($var1.$rand2) * 0.10000000149011612 + 0.8999999761581421;
                $ptr = 8;
                continue main;
            }
            var$10 = $var2 + 0.5;
            var$11 = $var3 + 0.5;
            var$12 = $var4 + 0.5;
            $var5 = $rt_s(954);
            var$13 = 1.0;
            var$14 = ju_Random_nextFloat($var1.$rand2) * 0.10000000149011612 + 0.8999999761581421;
            $ptr = 9;
            continue main;
        case 6:
            nms_World_setBlockMetadataWithNotify($var1, $var2, var$8, $var4, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $var6 ^ 4;
            $ptr = 4;
            continue main;
        case 7:
            nms_BlockDoor_blockActivated($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 8:
            nms_World_playSoundEffect($var1, var$10, var$11, var$12, $var5, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 9:
            nms_World_playSoundEffect($var1, var$10, var$11, var$12, $var5, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr);
    }
    function nms_BlockDoor_func_311_a($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!($var6 & 8)) {
                $ptr = 2;
                continue main;
            }
            $var3 = $var3 - 1 | 0;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ((($var7 & 4) <= 0 ? 0 : 1) == $var5)
                return;
            var$8 = $var3 + 1 | 0;
            $ptr = 5;
            continue main;
        case 3:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ($var7 != $this.$blockID)
                return;
            $ptr = 4;
        case 4:
            nms_BlockDoor_func_311_a($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            $tmp = nms_World_getBlockId($var1, $var2, var$8, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 != $this.$blockID) {
                $var5 = $var6 ^ 4;
                $ptr = 6;
                continue main;
            }
            $var5 = ($var6 ^ 4) + 8 | 0;
            $ptr = 8;
            continue main;
        case 6:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $var3 - 1 | 0;
            $ptr = 7;
        case 7:
            nms_World_markBlocksDirty($var1, $var2, $var5, $var4, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            if (jl_Math_random() >= 0.5) {
                var$9 = $var2 + 0.5;
                var$10 = $var3 + 0.5;
                var$11 = $var4 + 0.5;
                var$12 = $rt_s(953);
                var$13 = 1.0;
                var$14 = ju_Random_nextFloat($var1.$rand2) * 0.10000000149011612 + 0.8999999761581421;
                $ptr = 9;
                continue main;
            }
            var$9 = $var2 + 0.5;
            var$11 = $var3 + 0.5;
            var$10 = $var4 + 0.5;
            var$12 = $rt_s(954);
            var$13 = 1.0;
            var$14 = ju_Random_nextFloat($var1.$rand2) * 0.10000000149011612 + 0.8999999761581421;
            $ptr = 10;
            continue main;
        case 8:
            nms_World_setBlockMetadataWithNotify($var1, $var2, var$8, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $var6 ^ 4;
            $ptr = 6;
            continue main;
        case 9:
            nms_World_playSoundEffect($var1, var$9, var$10, var$11, var$12, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 10:
            nms_World_playSoundEffect($var1, var$9, var$11, var$10, var$12, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr);
    }
    function nms_BlockDoor_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 & 8) {
                $var7 = $var3 - 1 | 0;
                $ptr = 3;
                continue main;
            }
            $var7 = 0;
            $var8 = $var3 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var2, $var8, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9 != $this.$blockID) {
                $var7 = 0;
                $ptr = 4;
                continue main;
            }
            var$9 = $var3 - 1 | 0;
            $ptr = 6;
            continue main;
        case 3:
            $tmp = nms_World_getBlockId($var1, $var2, $var7, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8 != $this.$blockID) {
                $var8 = 0;
                $ptr = 5;
                continue main;
            }
            if ($var5 <= 0)
                return;
            $ptr = 7;
            continue main;
        case 4:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 1;
            var$9 = $var3 - 1 | 0;
            $ptr = 6;
            continue main;
        case 5:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var8);
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 <= 0)
                return;
            $ptr = 7;
            continue main;
        case 6:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, var$9, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (!var$9) {
                $var7 = 0;
                $ptr = 9;
                continue main;
            }
            a: {
                if (!$var7) {
                    if ($var5 <= 0)
                        break a;
                    $ptr = 13;
                    continue main;
                }
                if (!$var1.$multiplayerWorld) {
                    $ptr = 15;
                    continue main;
                }
            }
            return;
        case 7:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$10 = nms_Block_blocksList.data[$var5];
            $ptr = 8;
        case 8:
            $tmp = var$10.$canProvidePower();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if (!$var3)
                return;
            $ptr = 11;
            continue main;
        case 9:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 1;
            $ptr = 10;
        case 10:
            $tmp = nms_World_getBlockId($var1, $var2, $var8, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            if (var$11 == $this.$blockID) {
                var$9 = 0;
                $ptr = 12;
                continue main;
            }
            a: {
                if (!$var7) {
                    if ($var5 <= 0)
                        break a;
                    $ptr = 13;
                    continue main;
                }
                if (!$var1.$multiplayerWorld) {
                    $ptr = 15;
                    continue main;
                }
            }
            return;
        case 11:
            nms_BlockDoor_onNeighborBlockChange($this, $var1, $var2, $var7, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 12:
            nms_World_setBlockWithNotify($var1, $var2, $var8, $var4, var$9);
            if ($rt_suspending()) {
                break main;
            }
            b: {
                if (!$var7) {
                    if ($var5 <= 0)
                        break b;
                    $ptr = 13;
                    continue main;
                }
                if (!$var1.$multiplayerWorld) {
                    $ptr = 15;
                    continue main;
                }
            }
            return;
        case 13:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$10 = nms_Block_blocksList.data[$var5];
            $ptr = 14;
        case 14:
            $tmp = var$10.$canProvidePower();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5)
                return;
            $ptr = 16;
            continue main;
        case 15:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 16:
            $tmp = nms_World_isBlockIndirectlyGettingPowered($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5) {
                $ptr = 17;
                continue main;
            }
            $var8 = 1;
            $ptr = 18;
            continue main;
        case 17:
            $tmp = nms_World_isBlockIndirectlyGettingPowered($var1, $var2, $var8, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var8 = $var5 ? 1 : 0;
            $ptr = 18;
        case 18:
            nms_BlockDoor_func_311_a($this, $var1, $var2, $var3, $var4, $var8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, var$9, var$10, var$11, $ptr);
    }
    function nms_BlockDoor_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 & 8)
                return 0;
            $var2 = $this.$blockMaterial;
            nms_Material_$callClinit();
            if ($var2 !== nms_Material_iron) {
                $ptr = 1;
                continue main;
            }
            $ptr = 2;
            continue main;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_doorWood.$shiftedIndex;
        case 2:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_doorSteel.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockDoor_collisionRayTrace($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockDoor_setBlockBoundsBasedOnState($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_Block_collisionRayTrace($this, $var1, $var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockDoor_getState($this, $var1) {
        return $var1 & 4 ? $var1 & 3 : ($var1 - 1 | 0) & 3;
    }
    function nms_BlockDoor_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var3 >= 127)
                return 0;
            var$5 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (!var$5)
                return 0;
            $ptr = 2;
        case 2:
            $tmp = nms_Block_canPlaceBlockAt($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (!var$5)
                return 0;
            $var3 = $var3 + 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_Block_canPlaceBlockAt($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return !$var2 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    var nms_BlockLadder = $rt_classWithoutFields(nms_Block);
    function nms_BlockLadder__init_0(var_0, var_1) {
        var var_2 = new nms_BlockLadder();
        nms_BlockLadder__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockLadder__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_circuits;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockLadder_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = 0.125;
            if ($var5 == 2) {
                var$7 = 0.0;
                var$8 = 0.0;
                var$9 = 0.875;
                var$10 = 1.0;
                var$11 = 1.0;
                var$12 = 1.0;
                $ptr = 2;
                continue main;
            }
            if ($var5 == 3) {
                var$7 = 0.0;
                var$11 = 0.0;
                var$10 = 0.0;
                var$8 = 1.0;
                var$9 = 1.0;
                $ptr = 3;
                continue main;
            }
            if ($var5 == 4) {
                var$7 = 0.875;
                var$11 = 0.0;
                var$8 = 0.0;
                var$9 = 1.0;
                var$10 = 1.0;
                var$12 = 1.0;
                $ptr = 4;
                continue main;
            }
            if ($var5 != 5) {
                $ptr = 5;
                continue main;
            }
            var$7 = 0.0;
            var$11 = 0.0;
            var$8 = 0.0;
            var$9 = 1.0;
            var$10 = 1.0;
            $ptr = 6;
            continue main;
        case 2:
            nms_Block_setBlockBounds($this, var$7, var$8, var$9, var$10, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 == 3) {
                var$7 = 0.0;
                var$11 = 0.0;
                var$10 = 0.0;
                var$8 = 1.0;
                var$9 = 1.0;
                $ptr = 3;
                continue main;
            }
            if ($var5 == 4) {
                var$7 = 0.875;
                var$11 = 0.0;
                var$8 = 0.0;
                var$9 = 1.0;
                var$10 = 1.0;
                var$12 = 1.0;
                $ptr = 4;
                continue main;
            }
            if ($var5 != 5) {
                $ptr = 5;
                continue main;
            }
            var$7 = 0.0;
            var$11 = 0.0;
            var$8 = 0.0;
            var$9 = 1.0;
            var$10 = 1.0;
            $ptr = 6;
            continue main;
        case 3:
            nms_Block_setBlockBounds($this, var$7, var$11, var$10, var$8, var$9, $var6);
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 == 4) {
                var$7 = 0.875;
                var$11 = 0.0;
                var$8 = 0.0;
                var$9 = 1.0;
                var$10 = 1.0;
                var$12 = 1.0;
                $ptr = 4;
                continue main;
            }
            if ($var5 != 5) {
                $ptr = 5;
                continue main;
            }
            var$7 = 0.0;
            var$11 = 0.0;
            var$8 = 0.0;
            var$9 = 1.0;
            var$10 = 1.0;
            $ptr = 6;
            continue main;
        case 4:
            nms_Block_setBlockBounds($this, var$7, var$11, var$8, var$9, var$10, var$12);
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 != 5) {
                $ptr = 5;
                continue main;
            }
            var$7 = 0.0;
            var$11 = 0.0;
            var$8 = 0.0;
            var$9 = 1.0;
            var$10 = 1.0;
            $ptr = 6;
            continue main;
        case 5:
            $tmp = nms_Block_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        case 6:
            nms_Block_setBlockBounds($this, var$7, var$11, var$8, $var6, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function nms_BlockLadder_getSelectedBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = 0.125;
            if ($var5 == 2) {
                var$7 = 0.0;
                var$8 = 0.0;
                var$9 = 0.875;
                var$10 = 1.0;
                var$11 = 1.0;
                var$12 = 1.0;
                $ptr = 2;
                continue main;
            }
            if ($var5 == 3) {
                var$7 = 0.0;
                var$11 = 0.0;
                var$10 = 0.0;
                var$8 = 1.0;
                var$9 = 1.0;
                $ptr = 3;
                continue main;
            }
            if ($var5 == 4) {
                var$7 = 0.875;
                var$11 = 0.0;
                var$8 = 0.0;
                var$9 = 1.0;
                var$10 = 1.0;
                var$12 = 1.0;
                $ptr = 4;
                continue main;
            }
            if ($var5 != 5) {
                $ptr = 5;
                continue main;
            }
            var$7 = 0.0;
            var$11 = 0.0;
            var$8 = 0.0;
            var$9 = 1.0;
            var$10 = 1.0;
            $ptr = 6;
            continue main;
        case 2:
            nms_Block_setBlockBounds($this, var$7, var$8, var$9, var$10, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 == 3) {
                var$7 = 0.0;
                var$11 = 0.0;
                var$10 = 0.0;
                var$8 = 1.0;
                var$9 = 1.0;
                $ptr = 3;
                continue main;
            }
            if ($var5 == 4) {
                var$7 = 0.875;
                var$11 = 0.0;
                var$8 = 0.0;
                var$9 = 1.0;
                var$10 = 1.0;
                var$12 = 1.0;
                $ptr = 4;
                continue main;
            }
            if ($var5 != 5) {
                $ptr = 5;
                continue main;
            }
            var$7 = 0.0;
            var$11 = 0.0;
            var$8 = 0.0;
            var$9 = 1.0;
            var$10 = 1.0;
            $ptr = 6;
            continue main;
        case 3:
            nms_Block_setBlockBounds($this, var$7, var$11, var$10, var$8, var$9, $var6);
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 == 4) {
                var$7 = 0.875;
                var$11 = 0.0;
                var$8 = 0.0;
                var$9 = 1.0;
                var$10 = 1.0;
                var$12 = 1.0;
                $ptr = 4;
                continue main;
            }
            if ($var5 != 5) {
                $ptr = 5;
                continue main;
            }
            var$7 = 0.0;
            var$11 = 0.0;
            var$8 = 0.0;
            var$9 = 1.0;
            var$10 = 1.0;
            $ptr = 6;
            continue main;
        case 4:
            nms_Block_setBlockBounds($this, var$7, var$11, var$8, var$9, var$10, var$12);
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 != 5) {
                $ptr = 5;
                continue main;
            }
            var$7 = 0.0;
            var$11 = 0.0;
            var$8 = 0.0;
            var$9 = 1.0;
            var$10 = 1.0;
            $ptr = 6;
            continue main;
        case 5:
            $tmp = nms_Block_getSelectedBoundingBoxFromPool($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        case 6:
            nms_Block_setBlockBounds($this, var$7, var$11, var$8, $var6, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function nms_BlockLadder_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockLadder_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockLadder_getRenderType($this) {
        return 8;
    }
    function nms_BlockLadder_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var2 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var2 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var4 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            $var4 = $var4 + 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockLadder_onBlockPlaced($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 && $var5 != 2) {
                if ($var6 && $var5 != 3) {
                    if ($var6 && $var5 != 4) {
                        if ($var6 && $var5 != 5) {
                            $ptr = 6;
                            continue main;
                        }
                        $var5 = $var2 - 1 | 0;
                        $ptr = 5;
                        continue main;
                    }
                    var$7 = $var2 + 1 | 0;
                    $ptr = 4;
                    continue main;
                }
                var$7 = $var4 - 1 | 0;
                $ptr = 3;
                continue main;
            }
            var$7 = $var4 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7)
                $var6 = 2;
            if ($var6 && $var5 != 3) {
                if ($var6 && $var5 != 4) {
                    if ($var6 && $var5 != 5) {
                        $ptr = 6;
                        continue main;
                    }
                    $var5 = $var2 - 1 | 0;
                    $ptr = 5;
                    continue main;
                }
                var$7 = $var2 + 1 | 0;
                $ptr = 4;
                continue main;
            }
            var$7 = $var4 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7)
                $var6 = 3;
            if ($var6 && $var5 != 4) {
                if ($var6 && $var5 != 5) {
                    $ptr = 6;
                    continue main;
                }
                $var5 = $var2 - 1 | 0;
                $ptr = 5;
                continue main;
            }
            var$7 = $var2 + 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$7, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7)
                $var6 = 4;
            if ($var6 && $var5 != 5) {
                $ptr = 6;
                continue main;
            }
            $var5 = $var2 - 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                $var6 = 5;
            $ptr = 6;
        case 6:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
    }
    function nms_BlockLadder_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = 0;
            if ($var6 == 2) {
                $var5 = $var4 + 1 | 0;
                $ptr = 2;
                continue main;
            }
            if ($var6 == 3) {
                $var5 = $var4 - 1 | 0;
                $ptr = 3;
                continue main;
            }
            if ($var6 == 4) {
                $var5 = $var2 + 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($var6 == 5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var7)
                return;
            $ptr = 6;
            continue main;
        case 2:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                $var7 = 1;
            if ($var6 == 3) {
                $var5 = $var4 - 1 | 0;
                $ptr = 3;
                continue main;
            }
            if ($var6 == 4) {
                $var5 = $var2 + 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($var6 == 5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var7)
                return;
            $ptr = 6;
            continue main;
        case 3:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                $var7 = 1;
            if ($var6 == 4) {
                $var5 = $var2 + 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($var6 == 5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var7)
                return;
            $ptr = 6;
            continue main;
        case 4:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                $var7 = 1;
            if ($var6 == 5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var7)
                return;
            $ptr = 6;
            continue main;
        case 5:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                $var7 = 1;
            if ($var7)
                return;
            $ptr = 6;
        case 6:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            $ptr = 7;
        case 7:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_BlockLadder_quantityDropped($this, $var1) {
        return 1;
    }
    var nms_BlockMinecartTrack = $rt_classWithoutFields(nms_Block);
    function nms_BlockMinecartTrack__init_0(var_0, var_1) {
        var var_2 = new nms_BlockMinecartTrack();
        nms_BlockMinecartTrack__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockMinecartTrack__init_($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_circuits;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            var$5 = 0.0;
            var$6 = 0.0;
            var$7 = 1.0;
            var$8 = 0.125;
            var$9 = 1.0;
            $ptr = 2;
        case 2:
            nms_Block_setBlockBounds($this, var$4, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_BlockMinecartTrack_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return null;
    }
    function nms_BlockMinecartTrack_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockMinecartTrack_collisionRayTrace($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockMinecartTrack_setBlockBoundsBasedOnState($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_Block_collisionRayTrace($this, $var1, $var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockMinecartTrack_setBlockBoundsBasedOnState($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 >= 2 && $var5 <= 5) {
                var$6 = 0.0;
                var$7 = 0.0;
                var$8 = 0.0;
                var$9 = 1.0;
                var$10 = 0.625;
                var$11 = 1.0;
                $ptr = 3;
                continue main;
            }
            var$9 = 0.0;
            var$10 = 0.0;
            var$11 = 0.0;
            var$6 = 1.0;
            var$7 = 0.125;
            var$8 = 1.0;
            $ptr = 2;
        case 2:
            nms_Block_setBlockBounds($this, var$9, var$10, var$11, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_Block_setBlockBounds($this, var$6, var$7, var$8, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    function nms_BlockMinecartTrack_getBlockTextureFromSideAndMetadata($this, $var1, $var2) {
        return $var2 < 6 ? $this.$blockIndexInTexture : $this.$blockIndexInTexture - 16 | 0;
    }
    function nms_BlockMinecartTrack_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockMinecartTrack_getRenderType($this) {
        return 9;
    }
    function nms_BlockMinecartTrack_quantityDropped($this, $var1) {
        return 1;
    }
    function nms_BlockMinecartTrack_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_BlockMinecartTrack_onBlockAdded($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return;
            var$5 = 15;
            $ptr = 1;
        case 1:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_BlockMinecartTrack_func_4031_h($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockMinecartTrack_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = 0;
            var$8 = $var3 - 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, var$8, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (!var$8)
                $var7 = 1;
            if ($var6 == 2) {
                var$8 = $var2 + 1 | 0;
                $ptr = 3;
                continue main;
            }
            if ($var6 == 3) {
                var$8 = $var2 - 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($var6 == 4) {
                var$8 = $var4 - 1 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var6 == 5) {
                var$8 = $var4 + 1 | 0;
                $ptr = 6;
                continue main;
            }
            if ($var7) {
                $ptr = 7;
                continue main;
            }
            if ($var5 <= 0)
                return;
            $ptr = 10;
            continue main;
        case 3:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$8, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (!var$8)
                $var7 = 1;
            if ($var6 == 3) {
                var$8 = $var2 - 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($var6 == 4) {
                var$8 = $var4 - 1 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var6 == 5) {
                var$8 = $var4 + 1 | 0;
                $ptr = 6;
                continue main;
            }
            if ($var7) {
                $ptr = 7;
                continue main;
            }
            if ($var5 <= 0)
                return;
            $ptr = 10;
            continue main;
        case 4:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$8, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (!var$8)
                $var7 = 1;
            if ($var6 == 4) {
                var$8 = $var4 - 1 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var6 == 5) {
                var$8 = $var4 + 1 | 0;
                $ptr = 6;
                continue main;
            }
            if ($var7) {
                $ptr = 7;
                continue main;
            }
            if ($var5 <= 0)
                return;
            $ptr = 10;
            continue main;
        case 5:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (!var$8)
                $var7 = 1;
            if ($var6 == 5) {
                var$8 = $var4 + 1 | 0;
                $ptr = 6;
                continue main;
            }
            if ($var7) {
                $ptr = 7;
                continue main;
            }
            if ($var5 <= 0)
                return;
            $ptr = 10;
            continue main;
        case 6:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (!var$8)
                $var7 = 1;
            if ($var7) {
                $ptr = 7;
                continue main;
            }
            if ($var5 <= 0)
                return;
            $ptr = 10;
            continue main;
        case 7:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 8;
        case 8:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            $ptr = 9;
        case 9:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 10:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$9 = nms_Block_blocksList.data[$var5];
            $ptr = 11;
        case 11:
            $tmp = var$9.$canProvidePower();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5)
                return;
            var$9 = new nms_MinecartTrackLogic;
            $ptr = 12;
        case 12:
            nms_MinecartTrackLogic__init_(var$9, $this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0;
            $var7 = var$9.$trackX;
            var$10 = var$9.$trackY;
            $var5 = var$9.$trackZ - 1 | 0;
            $ptr = 13;
        case 13:
            $tmp = nms_MinecartTrackLogic_isMinecartTrack(var$9, $var7, var$10, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                var$8 = 1;
            $var6 = var$9.$trackX;
            $var7 = var$9.$trackY;
            $var5 = var$9.$trackZ + 1 | 0;
            $ptr = 14;
        case 14:
            $tmp = nms_MinecartTrackLogic_isMinecartTrack(var$9, $var6, $var7, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                var$8 = var$8 + 1 | 0;
            $var5 = var$9.$trackX - 1 | 0;
            $var6 = var$9.$trackY;
            $var7 = var$9.$trackZ;
            $ptr = 15;
        case 15:
            $tmp = nms_MinecartTrackLogic_isMinecartTrack(var$9, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                var$8 = var$8 + 1 | 0;
            $var5 = var$9.$trackX + 1 | 0;
            $var6 = var$9.$trackY;
            $var7 = var$9.$trackZ;
            $ptr = 16;
        case 16:
            $tmp = nms_MinecartTrackLogic_isMinecartTrack(var$9, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                var$8 = var$8 + 1 | 0;
            if (var$8 != 3)
                return;
            $ptr = 17;
        case 17:
            nms_BlockMinecartTrack_func_4031_h($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, var$9, var$10, $ptr);
    }
    function nms_BlockMinecartTrack_func_4031_h($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return;
            var$5 = new nms_MinecartTrackLogic;
            $ptr = 1;
        case 1:
            nms_MinecartTrackLogic__init_(var$5, $this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_World_isBlockIndirectlyGettingPowered($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 3;
        case 3:
            nms_MinecartTrackLogic_func_792_a(var$5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    var nms_BlockLever = $rt_classWithoutFields(nms_Block);
    function nms_BlockLever__init_0(var_0, var_1) {
        var var_2 = new nms_BlockLever();
        nms_BlockLever__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockLever__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_circuits;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockLever_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return null;
    }
    function nms_BlockLever_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockLever_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockLever_getRenderType($this) {
        return 12;
    }
    function nms_BlockLever_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var2 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var2 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var4 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var4 + 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            $var3 = $var3 - 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockLever_onBlockPlaced($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = $var6 & 8;
            var$8 = $var6 & 7;
            if ($var5 == 1) {
                $var6 = $var3 - 1 | 0;
                $ptr = 2;
                continue main;
            }
            if ($var5 == 2) {
                $var6 = $var4 + 1 | 0;
                $ptr = 3;
                continue main;
            }
            if ($var5 == 3) {
                $var6 = $var4 - 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($var5 == 4) {
                $var6 = $var2 + 1 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var5 == 5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 6;
                continue main;
            }
            $var5 = var$8 + $var7 | 0;
            $ptr = 7;
            continue main;
        case 2:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6)
                var$8 = 5 + ju_Random_nextInt($var1.$rand2, 2) | 0;
            if ($var5 == 2) {
                $var6 = $var4 + 1 | 0;
                $ptr = 3;
                continue main;
            }
            if ($var5 == 3) {
                $var6 = $var4 - 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($var5 == 4) {
                $var6 = $var2 + 1 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var5 == 5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 6;
                continue main;
            }
            $var5 = var$8 + $var7 | 0;
            $ptr = 7;
            continue main;
        case 3:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6)
                var$8 = 4;
            if ($var5 == 3) {
                $var6 = $var4 - 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($var5 == 4) {
                $var6 = $var2 + 1 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var5 == 5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 6;
                continue main;
            }
            $var5 = var$8 + $var7 | 0;
            $ptr = 7;
            continue main;
        case 4:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6)
                var$8 = 3;
            if ($var5 == 4) {
                $var6 = $var2 + 1 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var5 == 5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 6;
                continue main;
            }
            $var5 = var$8 + $var7 | 0;
            $ptr = 7;
            continue main;
        case 5:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var6, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6)
                var$8 = 2;
            if ($var5 == 5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 6;
                continue main;
            }
            $var5 = var$8 + $var7 | 0;
            $ptr = 7;
            continue main;
        case 6:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                var$8 = 1;
            $var5 = var$8 + $var7 | 0;
            $ptr = 7;
        case 7:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, $ptr);
    }
    function nms_BlockLever_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_BlockLever_canPlaceBlockAt($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5) {
                $ptr = 2;
                continue main;
            }
            if (!1)
                return;
            $ptr = 5;
            continue main;
        case 2:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            $ptr = 4;
        case 4:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            if (!0)
                return;
            $ptr = 5;
        case 5:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = $var5 & 7;
            $var7 = 0;
            $var5 = $var2 - 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5 && $var6 == 1)
                $var7 = 1;
            $var5 = $var2 + 1 | 0;
            $ptr = 7;
        case 7:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5 && $var6 == 2)
                $var7 = 1;
            $var5 = $var4 - 1 | 0;
            $ptr = 8;
        case 8:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5 && $var6 == 3)
                $var7 = 1;
            $var5 = $var4 + 1 | 0;
            $ptr = 9;
        case 9:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5 && $var6 == 4)
                $var7 = 1;
            $var5 = $var3 - 1 | 0;
            $ptr = 10;
        case 10:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5 && $var6 == 5)
                $var7 = 1;
            if (!$var7)
                return;
            $ptr = 11;
        case 11:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 12;
        case 12:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            $ptr = 13;
        case 13:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_BlockLever_setBlockBoundsBasedOnState($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var5 = $var2 & 7;
            if ($var5 == 1) {
                var$6 = 0.0;
                var$7 = 0.20000000298023224;
                var$8 = 0.3125;
                var$9 = 0.375;
                var$10 = 0.800000011920929;
                var$11 = 0.6875;
                $ptr = 2;
                continue main;
            }
            if ($var5 == 2) {
                var$6 = 0.625;
                var$7 = 0.20000000298023224;
                var$8 = 0.3125;
                var$9 = 1.0;
                var$10 = 0.800000011920929;
                var$11 = 0.6875;
                $ptr = 3;
                continue main;
            }
            if ($var5 == 3) {
                var$6 = 0.3125;
                var$7 = 0.20000000298023224;
                var$8 = 0.0;
                var$9 = 0.6875;
                var$10 = 0.800000011920929;
                var$11 = 0.375;
                $ptr = 4;
                continue main;
            }
            if ($var5 != 4) {
                var$6 = 0.25;
                var$7 = 0.0;
                var$8 = 0.75;
                var$9 = 0.6000000238418579;
                $ptr = 5;
                continue main;
            }
            var$6 = 0.3125;
            var$7 = 0.20000000298023224;
            var$8 = 0.625;
            var$9 = 0.6875;
            var$10 = 0.800000011920929;
            var$11 = 1.0;
            $ptr = 6;
            continue main;
        case 2:
            nms_Block_setBlockBounds($this, var$6, var$7, var$8, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_Block_setBlockBounds($this, var$6, var$7, var$8, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nms_Block_setBlockBounds($this, var$6, var$7, var$8, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            nms_Block_setBlockBounds($this, var$6, var$7, var$6, var$8, var$9, var$8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nms_Block_setBlockBounds($this, var$6, var$7, var$8, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    function nms_BlockLever_onBlockClicked($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockLever_blockActivated($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockLever_blockActivated($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return 1;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = $var6 & 7;
            $var8 = 8 - ($var6 & 8) | 0;
            $var6 = $var7 + $var8 | 0;
            $ptr = 2;
        case 2:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_World_markBlocksDirty($var1, $var2, $var3, $var4, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $var2 + 0.5;
            var$10 = $var3 + 0.5;
            var$11 = $var4 + 0.5;
            $var5 = $rt_s(918);
            var$12 = 0.30000001192092896;
            var$13 = $var8 <= 0 ? 0.5 : 0.6000000238418579;
            $ptr = 4;
        case 4:
            nms_World_playSoundEffect($var1, var$9, var$10, var$11, $var5, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $this.$blockID;
            $ptr = 5;
        case 5:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            if ($var7 == 1) {
                $var2 = $var2 - 1 | 0;
                $var6 = $this.$blockID;
                $ptr = 6;
                continue main;
            }
            if ($var7 == 2) {
                $var2 = $var2 + 1 | 0;
                $var6 = $this.$blockID;
                $ptr = 7;
                continue main;
            }
            if ($var7 == 3) {
                $var4 = $var4 - 1 | 0;
                $var6 = $this.$blockID;
                $ptr = 8;
                continue main;
            }
            if ($var7 != 4) {
                $var3 = $var3 - 1 | 0;
                $var6 = $this.$blockID;
                $ptr = 9;
                continue main;
            }
            $var4 = $var4 + 1 | 0;
            $var6 = $this.$blockID;
            $ptr = 10;
            continue main;
        case 6:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 7:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 8:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 9:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 10:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, var$9, var$10, var$11, var$12, var$13, $ptr);
    }
    function nms_BlockLever_onBlockRemoval($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (($var5 & 8) <= 0)
                return;
            $var6 = $this.$blockID;
            $ptr = 2;
        case 2:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var5 & 7;
            if ($var6 == 1) {
                $var2 = $var2 - 1 | 0;
                $var5 = $this.$blockID;
                $ptr = 3;
                continue main;
            }
            if ($var6 == 2) {
                $var2 = $var2 + 1 | 0;
                $var5 = $this.$blockID;
                $ptr = 4;
                continue main;
            }
            if ($var6 == 3) {
                $var4 = $var4 - 1 | 0;
                $var5 = $this.$blockID;
                $ptr = 5;
                continue main;
            }
            if ($var6 != 4) {
                $var3 = $var3 - 1 | 0;
                $var5 = $this.$blockID;
                $ptr = 6;
                continue main;
            }
            $var4 = $var4 + 1 | 0;
            $var5 = $this.$blockID;
            $ptr = 7;
            continue main;
        case 3:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockLever_isPoweringTo($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return ($var2 & 8) <= 0 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockLever_isIndirectlyPoweringTo($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!($var6 & 8))
                return 0;
            $var7 = $var6 & 7;
            return $var7 == 5 && $var5 == 1 ? 1 : $var7 == 4 && $var5 == 2 ? 1 : $var7 == 3 && $var5 == 3 ? 1 : $var7 == 2 && $var5 == 4 ? 1 : $var7 == 1 && $var5 == 5 ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_BlockLever_canProvidePower($this) {
        return 1;
    }
    function nms_BlockPressurePlate() {
        nms_Block.call(this);
        this.$triggerMobType = null;
    }
    function nms_BlockPressurePlate__init_0(var_0, var_1, var_2) {
        var var_3 = new nms_BlockPressurePlate();
        nms_BlockPressurePlate__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_BlockPressurePlate__init_($this, $var1, $var2, $var3) {
        var var$4, $var4, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$4 = nms_Material_rock;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$triggerMobType = $var3;
            $var1 = 1;
            $ptr = 2;
        case 2:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 0.0625;
            var$6 = 0.0;
            var$7 = 0.9375;
            var$8 = 0.03125;
            $ptr = 3;
        case 3:
            nms_Block_setBlockBounds($this, $var4, var$6, $var4, var$7, var$8, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $var4, var$6, var$7, var$8, $ptr);
    }
    function nms_BlockPressurePlate_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return null;
    }
    function nms_BlockPressurePlate_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockPressurePlate_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockPressurePlate_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_BlockPressurePlate_onBlockAdded($this, $var1, $var2, $var3, $var4) {}
    function nms_BlockPressurePlate_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = 0;
            $var5 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5)
                $var6 = 1;
            if (!$var6)
                return;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            $ptr = 4;
        case 4:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockPressurePlate_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6)
                return;
            $ptr = 2;
        case 2:
            nms_BlockPressurePlate_setStateIfMobInteractsWithPlate($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockPressurePlate_onEntityCollidedWithBlock($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 == 1)
                return;
            $ptr = 2;
        case 2:
            nms_BlockPressurePlate_setStateIfMobInteractsWithPlate($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockPressurePlate_setStateIfMobInteractsWithPlate($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, $var7, $var8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var5 = $var5 != 1 ? 0 : 1;
            $var6 = 0;
            $var7 = 0.125;
            $var8 = null;
            var$9 = $this.$triggerMobType;
            nms_EnumMobType_$callClinit();
            if (var$9 === nms_EnumMobType_everything) {
                var$9 = null;
                var$10 = $var2 + $var7;
                var$11 = $var3;
                $var8 = nms_AxisAlignedBB_getBoundingBoxFromPool(var$10, var$11, $var4 + $var7, ($var2 + 1 | 0) - $var7, var$11 + 0.25, ($var4 + 1 | 0) - $var7);
                $ptr = 2;
                continue main;
            }
            if ($this.$triggerMobType === nms_EnumMobType_mobs) {
                var$9 = $rt_cls(nms_EntityLiving);
                var$11 = $var2 + $var7;
                var$12 = $var3;
                $var8 = nms_AxisAlignedBB_getBoundingBoxFromPool(var$11, var$12, $var4 + $var7, ($var2 + 1 | 0) - $var7, var$12 + 0.25, ($var4 + 1 | 0) - $var7);
                $ptr = 3;
                continue main;
            }
            if ($this.$triggerMobType === nms_EnumMobType_players) {
                var$9 = $rt_cls(nms_EntityPlayer);
                var$10 = $var2 + $var7;
                var$11 = $var3;
                $var8 = nms_AxisAlignedBB_getBoundingBoxFromPool(var$10, var$11, $var4 + $var7, ($var2 + 1 | 0) - $var7, var$11 + 0.25, ($var4 + 1 | 0) - $var7);
                $ptr = 4;
                continue main;
            }
            if ($var8.$size0 > 0)
                $var6 = 1;
            if ($var6 && !$var5) {
                var$13 = 1;
                $ptr = 5;
                continue main;
            }
            if (!$var6 && $var5) {
                $var5 = 0;
                $ptr = 11;
                continue main;
            }
            if (!$var6)
                return;
            $var5 = $this.$blockID;
            $var6 = 20;
            $ptr = 10;
            continue main;
        case 2:
            $tmp = nms_World_getEntitiesWithinAABBExcludingEntity($var1, var$9, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($this.$triggerMobType === nms_EnumMobType_mobs) {
                var$9 = $rt_cls(nms_EntityLiving);
                var$11 = $var2 + $var7;
                var$12 = $var3;
                $var8 = nms_AxisAlignedBB_getBoundingBoxFromPool(var$11, var$12, $var4 + $var7, ($var2 + 1 | 0) - $var7, var$12 + 0.25, ($var4 + 1 | 0) - $var7);
                $ptr = 3;
                continue main;
            }
            if ($this.$triggerMobType === nms_EnumMobType_players) {
                var$9 = $rt_cls(nms_EntityPlayer);
                var$10 = $var2 + $var7;
                var$11 = $var3;
                $var8 = nms_AxisAlignedBB_getBoundingBoxFromPool(var$10, var$11, $var4 + $var7, ($var2 + 1 | 0) - $var7, var$11 + 0.25, ($var4 + 1 | 0) - $var7);
                $ptr = 4;
                continue main;
            }
            if ($var8.$size0 > 0)
                $var6 = 1;
            if ($var6 && !$var5) {
                var$13 = 1;
                $ptr = 5;
                continue main;
            }
            if (!$var6 && $var5) {
                $var5 = 0;
                $ptr = 11;
                continue main;
            }
            if (!$var6)
                return;
            $var5 = $this.$blockID;
            $var6 = 20;
            $ptr = 10;
            continue main;
        case 3:
            $tmp = nms_World_getEntitiesWithinAABB($var1, var$9, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($this.$triggerMobType === nms_EnumMobType_players) {
                var$9 = $rt_cls(nms_EntityPlayer);
                var$10 = $var2 + $var7;
                var$11 = $var3;
                $var8 = nms_AxisAlignedBB_getBoundingBoxFromPool(var$10, var$11, $var4 + $var7, ($var2 + 1 | 0) - $var7, var$11 + 0.25, ($var4 + 1 | 0) - $var7);
                $ptr = 4;
                continue main;
            }
            if ($var8.$size0 > 0)
                $var6 = 1;
            if ($var6 && !$var5) {
                var$13 = 1;
                $ptr = 5;
                continue main;
            }
            if (!$var6 && $var5) {
                $var5 = 0;
                $ptr = 11;
                continue main;
            }
            if (!$var6)
                return;
            $var5 = $this.$blockID;
            $var6 = 20;
            $ptr = 10;
            continue main;
        case 4:
            $tmp = nms_World_getEntitiesWithinAABB($var1, var$9, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8.$size0 > 0)
                $var6 = 1;
            if ($var6 && !$var5) {
                var$13 = 1;
                $ptr = 5;
                continue main;
            }
            if (!$var6 && $var5) {
                $var5 = 0;
                $ptr = 11;
                continue main;
            }
            if (!$var6)
                return;
            $var5 = $this.$blockID;
            $var6 = 20;
            $ptr = 10;
            continue main;
        case 5:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $this.$blockID;
            $ptr = 6;
        case 6:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $var3 - 1 | 0;
            var$14 = $this.$blockID;
            $ptr = 7;
        case 7:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, var$13, $var4, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            nms_World_markBlocksDirty($var1, $var2, $var3, $var4, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $var2 + 0.5;
            var$11 = $var3 + 0.1;
            var$12 = $var4 + 0.5;
            var$9 = $rt_s(918);
            var$15 = 0.30000001192092896;
            $var7 = 0.6000000238418579;
            $ptr = 9;
        case 9:
            nms_World_playSoundEffect($var1, var$10, var$11, var$12, var$9, var$15, $var7);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var6 && $var5) {
                $var5 = 0;
                $ptr = 11;
                continue main;
            }
            if (!$var6)
                return;
            $var5 = $this.$blockID;
            $var6 = 20;
            $ptr = 10;
        case 10:
            $var1.$scheduleBlockUpdate($var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 11:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$blockID;
            $ptr = 12;
        case 12:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $var3 - 1 | 0;
            var$13 = $this.$blockID;
            $ptr = 13;
        case 13:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var5, $var4, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            nms_World_markBlocksDirty($var1, $var2, $var3, $var4, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $var2 + 0.5;
            var$12 = $var3 + 0.1;
            var$10 = $var4 + 0.5;
            var$9 = $rt_s(918);
            var$15 = 0.30000001192092896;
            $var7 = 0.5;
            $ptr = 15;
        case 15:
            nms_World_playSoundEffect($var1, var$11, var$12, var$10, var$9, var$15, $var7);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var6)
                return;
            $var5 = $this.$blockID;
            $var6 = 20;
            $ptr = 10;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr);
    }
    function nms_BlockPressurePlate_onBlockRemoval($this, $var1, $var2, $var3, $var4) {
        var $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 <= 0)
                return;
            $var5 = $this.$blockID;
            $ptr = 2;
        case 2:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var3 - 1 | 0;
            $var5 = $this.$blockID;
            $ptr = 3;
        case 3:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockPressurePlate_setBlockBoundsBasedOnState($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var5 = $var2 != 1 ? 0 : 1;
            $var6 = 0.0625;
            if (!$var5) {
                var$7 = 0.0;
                var$8 = 0.9375;
                var$9 = 0.0625;
                $ptr = 2;
                continue main;
            }
            var$7 = 0.0;
            var$8 = 0.9375;
            var$9 = 0.03125;
            $ptr = 3;
            continue main;
        case 2:
            nms_Block_setBlockBounds($this, $var6, var$7, $var6, var$8, var$9, var$8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_Block_setBlockBounds($this, $var6, var$7, $var6, var$8, var$9, var$8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, var$9, $ptr);
    }
    function nms_BlockPressurePlate_isPoweringTo($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2 <= 0 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockPressurePlate_isIndirectlyPoweringTo($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return !$var2 ? 0 : $var5 != 1 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockPressurePlate_canProvidePower($this) {
        return 1;
    }
    function nms_BlockPressurePlate_setBlockBoundsForItemRender($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 0.0;
            var$2 = 0.375;
            var$3 = 1.0;
            var$4 = 0.625;
            $ptr = 1;
        case 1:
            nms_Block_setBlockBounds($this, var$1, var$2, var$1, var$3, var$4, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    var nms_EnumMobType = $rt_classWithoutFields(jl_Enum);
    var nms_EnumMobType_everything = null;
    var nms_EnumMobType_mobs = null;
    var nms_EnumMobType_players = null;
    var nms_EnumMobType_$VALUES = null;
    function nms_EnumMobType_$callClinit() {
        nms_EnumMobType_$callClinit = $rt_eraseClinit(nms_EnumMobType);
        nms_EnumMobType__clinit_();
    }
    function nms_EnumMobType__init_0(var_0, var_1) {
        var var_2 = new nms_EnumMobType();
        nms_EnumMobType__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_EnumMobType_values() {
        nms_EnumMobType_$callClinit();
        return nms_EnumMobType_$VALUES.$clone();
    }
    function nms_EnumMobType__init_($this, var$1, var$2) {
        nms_EnumMobType_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
    }
    function nms_EnumMobType__clinit_() {
        var var$1;
        nms_EnumMobType_everything = nms_EnumMobType__init_0($rt_s(955), 0);
        nms_EnumMobType_mobs = nms_EnumMobType__init_0($rt_s(956), 1);
        var$1 = nms_EnumMobType__init_0($rt_s(957), 2);
        nms_EnumMobType_players = var$1;
        nms_EnumMobType_$VALUES = $rt_createArrayFromData(nms_EnumMobType, [nms_EnumMobType_everything, nms_EnumMobType_mobs, var$1]);
    }
    function nms_BlockRedstoneOre() {
        nms_Block.call(this);
        this.$field_468_a = 0;
    }
    function nms_BlockRedstoneOre__init_0(var_0, var_1, var_2) {
        var var_3 = new nms_BlockRedstoneOre();
        nms_BlockRedstoneOre__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_BlockRedstoneOre__init_($this, $var1, $var2, $var3) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$4 = nms_Material_rock;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var3) {
                $this.$field_468_a = $var3;
                return;
            }
            $var1 = 1;
            $ptr = 2;
        case 2:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_468_a = $var3;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_BlockRedstoneOre_onBlockClicked($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockRedstoneOre_func_320_h($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockRedstoneOre_onEntityWalking($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockRedstoneOre_func_320_h($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockRedstoneOre_blockActivated($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockRedstoneOre_func_320_h($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockRedstoneOre_func_320_h($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockRedstoneOre_func_319_i($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$blockID;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$5 != nms_Block_oreRedstone.$blockID)
                return;
            var$5 = nms_Block_oreRedstoneGlowing.$blockID;
            $ptr = 3;
        case 3:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockRedstoneOre_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $this.$blockID;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$6 != nms_Block_oreRedstoneGlowing.$blockID)
                return;
            var$6 = nms_Block_oreRedstone.$blockID;
            $ptr = 2;
        case 2:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockRedstoneOre_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_redstone.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockRedstoneOre_quantityDropped($this, $var1) {
        return 4 + ju_Random_nextInt($var1, 2) | 0;
    }
    function nms_BlockRedstoneOre_randomDisplayTick($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$field_468_a)
                return;
            $ptr = 1;
        case 1:
            nms_BlockRedstoneOre_func_319_i($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockRedstoneOre_func_319_i($this, $var1, $var2, $var3, $var4) {
        var $var5, $var8, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, var$25, var$26, $var9, $var11, $var13, var$30, var$31, var$32, $var6, var$34, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$34 = $thread.pop();$var6 = $thread.pop();var$32 = $thread.pop();var$31 = $thread.pop();var$30 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();var$26 = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13
            = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var8 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = $var1.$rand2;
            $var8 = 0;
            var$7 = $var2;
            var$8 = $var3;
            var$9 = $var4;
            var$10 = $var3 + 1 | 0;
            var$11 = var$10;
            var$12 = var$11 + 0.0625;
            var$13 = $var3 - 1 | 0;
            var$14 = ($var3 + 0 | 0) - 0.0625;
            var$15 = $var4 + 1 | 0;
            var$16 = var$15;
            var$17 = var$16 + 0.0625;
            var$18 = $var4 - 1 | 0;
            var$19 = ($var4 + 0 | 0) - 0.0625;
            var$20 = $var2 + 1 | 0;
            var$21 = var$20;
            var$22 = var$21 + 0.0625;
            var$23 = $var2 - 1 | 0;
            var$24 = ($var2 + 0 | 0) - 0.0625;
            var$25 = $var2;
            var$26 = $var4;
            a: {
                while ($var8 < 6) {
                    $var9 = var$7 + ju_Random_nextFloat($var5);
                    $var11 = var$8 + ju_Random_nextFloat($var5);
                    $var13 = var$9 + ju_Random_nextFloat($var5);
                    if (!$var8) {
                        $ptr = 1;
                        continue main;
                    }
                    if ($var8 == 1) {
                        $ptr = 2;
                        continue main;
                    }
                    if ($var8 == 2) {
                        $ptr = 3;
                        continue main;
                    }
                    if ($var8 == 3) {
                        $ptr = 4;
                        continue main;
                    }
                    if ($var8 == 4) {
                        $ptr = 5;
                        continue main;
                    }
                    if ($var8 == 5) {
                        $ptr = 6;
                        continue main;
                    }
                    if ($var9 < var$25)
                        break a;
                    if ($var9 > var$21)
                        break a;
                    if ($var11 < 0.0)
                        break a;
                    if ($var11 > var$11)
                        break a;
                    if ($var13 < var$26)
                        break a;
                    if ($var13 > var$16)
                        break a;
                    $var8 = $var8 + 1 | 0;
                }
                return;
            }
            var$30 = $rt_s(935);
            var$31 = 0.0;
            var$32 = 0.0;
            $var6 = 0.0;
            $ptr = 7;
            continue main;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, var$10, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$34 = $tmp;
            if (!var$34)
                $var11 = var$12;
            b: {
                while (true) {
                    if ($var8 == 1) {
                        $ptr = 2;
                        continue main;
                    }
                    if ($var8 == 2) {
                        $ptr = 3;
                        continue main;
                    }
                    if ($var8 == 3) {
                        $ptr = 4;
                        continue main;
                    }
                    if ($var8 == 4) {
                        $ptr = 5;
                        continue main;
                    }
                    if ($var8 == 5) {
                        $ptr = 6;
                        continue main;
                    }
                    if ($var9 < var$25)
                        break b;
                    if ($var9 > var$21)
                        break b;
                    if ($var11 < 0.0)
                        break b;
                    if ($var11 > var$11)
                        break b;
                    if ($var13 < var$26)
                        break b;
                    if ($var13 > var$16)
                        break b;
                    $var8 = $var8 + 1 | 0;
                    if ($var8 >= 6)
                        break;
                    $var9 = var$7 + ju_Random_nextFloat($var5);
                    $var11 = var$8 + ju_Random_nextFloat($var5);
                    $var13 = var$9 + ju_Random_nextFloat($var5);
                    if (!$var8) {
                        continue main;
                    }
                }
                return;
            }
            var$30 = $rt_s(935);
            var$31 = 0.0;
            var$32 = 0.0;
            $var6 = 0.0;
            $ptr = 7;
            continue main;
        case 2:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, var$13, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$34 = $tmp;
            if (!var$34)
                $var11 = var$14;
            b: {
                while (true) {
                    if ($var8 == 2) {
                        $ptr = 3;
                        continue main;
                    }
                    if ($var8 == 3) {
                        $ptr = 4;
                        continue main;
                    }
                    if ($var8 == 4) {
                        $ptr = 5;
                        continue main;
                    }
                    if ($var8 == 5) {
                        $ptr = 6;
                        continue main;
                    }
                    if ($var9 < var$25)
                        break b;
                    if ($var9 > var$21)
                        break b;
                    if ($var11 < 0.0)
                        break b;
                    if ($var11 > var$11)
                        break b;
                    if ($var13 < var$26)
                        break b;
                    if ($var13 > var$16)
                        break b;
                    $var8 = $var8 + 1 | 0;
                    if ($var8 >= 6)
                        break;
                    $var9 = var$7 + ju_Random_nextFloat($var5);
                    $var11 = var$8 + ju_Random_nextFloat($var5);
                    $var13 = var$9 + ju_Random_nextFloat($var5);
                    if (!$var8) {
                        $ptr = 1;
                        continue main;
                    }
                    if ($var8 == 1) {
                        continue main;
                    }
                }
                return;
            }
            var$30 = $rt_s(935);
            var$31 = 0.0;
            var$32 = 0.0;
            $var6 = 0.0;
            $ptr = 7;
            continue main;
        case 3:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$34 = $tmp;
            if (!var$34)
                $var13 = var$17;
            b: {
                while (true) {
                    if ($var8 == 3) {
                        $ptr = 4;
                        continue main;
                    }
                    if ($var8 == 4) {
                        $ptr = 5;
                        continue main;
                    }
                    if ($var8 == 5) {
                        $ptr = 6;
                        continue main;
                    }
                    if ($var9 < var$25)
                        break b;
                    if ($var9 > var$21)
                        break b;
                    if ($var11 < 0.0)
                        break b;
                    if ($var11 > var$11)
                        break b;
                    if ($var13 < var$26)
                        break b;
                    if ($var13 > var$16)
                        break b;
                    $var8 = $var8 + 1 | 0;
                    if ($var8 >= 6)
                        break;
                    $var9 = var$7 + ju_Random_nextFloat($var5);
                    $var11 = var$8 + ju_Random_nextFloat($var5);
                    $var13 = var$9 + ju_Random_nextFloat($var5);
                    if (!$var8) {
                        $ptr = 1;
                        continue main;
                    }
                    if ($var8 == 1) {
                        $ptr = 2;
                        continue main;
                    }
                    if ($var8 == 2) {
                        continue main;
                    }
                }
                return;
            }
            var$30 = $rt_s(935);
            var$31 = 0.0;
            var$32 = 0.0;
            $var6 = 0.0;
            $ptr = 7;
            continue main;
        case 4:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$34 = $tmp;
            if (!var$34)
                $var13 = var$19;
            b: {
                while (true) {
                    if ($var8 == 4) {
                        $ptr = 5;
                        continue main;
                    }
                    if ($var8 == 5) {
                        $ptr = 6;
                        continue main;
                    }
                    if ($var9 < var$25)
                        break b;
                    if ($var9 > var$21)
                        break b;
                    if ($var11 < 0.0)
                        break b;
                    if ($var11 > var$11)
                        break b;
                    if ($var13 < var$26)
                        break b;
                    if ($var13 > var$16)
                        break b;
                    $var8 = $var8 + 1 | 0;
                    if ($var8 >= 6)
                        break;
                    $var9 = var$7 + ju_Random_nextFloat($var5);
                    $var11 = var$8 + ju_Random_nextFloat($var5);
                    $var13 = var$9 + ju_Random_nextFloat($var5);
                    if (!$var8) {
                        $ptr = 1;
                        continue main;
                    }
                    if ($var8 == 1) {
                        $ptr = 2;
                        continue main;
                    }
                    if ($var8 == 2) {
                        $ptr = 3;
                        continue main;
                    }
                    if ($var8 == 3) {
                        continue main;
                    }
                }
                return;
            }
            var$30 = $rt_s(935);
            var$31 = 0.0;
            var$32 = 0.0;
            $var6 = 0.0;
            $ptr = 7;
            continue main;
        case 5:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$20, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$34 = $tmp;
            if (!var$34)
                $var9 = var$22;
            b: {
                while (true) {
                    if ($var8 == 5) {
                        $ptr = 6;
                        continue main;
                    }
                    if ($var9 < var$25)
                        break b;
                    if ($var9 > var$21)
                        break b;
                    if ($var11 < 0.0)
                        break b;
                    if ($var11 > var$11)
                        break b;
                    if ($var13 < var$26)
                        break b;
                    if ($var13 > var$16)
                        break b;
                    $var8 = $var8 + 1 | 0;
                    if ($var8 >= 6)
                        break;
                    $var9 = var$7 + ju_Random_nextFloat($var5);
                    $var11 = var$8 + ju_Random_nextFloat($var5);
                    $var13 = var$9 + ju_Random_nextFloat($var5);
                    if (!$var8) {
                        $ptr = 1;
                        continue main;
                    }
                    if ($var8 == 1) {
                        $ptr = 2;
                        continue main;
                    }
                    if ($var8 == 2) {
                        $ptr = 3;
                        continue main;
                    }
                    if ($var8 == 3) {
                        $ptr = 4;
                        continue main;
                    }
                    if ($var8 == 4) {
                        continue main;
                    }
                }
                return;
            }
            var$30 = $rt_s(935);
            var$31 = 0.0;
            var$32 = 0.0;
            $var6 = 0.0;
            $ptr = 7;
            continue main;
        case 6:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$23, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$34 = $tmp;
            if (!var$34)
                $var9 = var$24;
            b: {
                while (true) {
                    if ($var9 < var$25)
                        break b;
                    if ($var9 > var$21)
                        break b;
                    if ($var11 < 0.0)
                        break b;
                    if ($var11 > var$11)
                        break b;
                    if ($var13 < var$26)
                        break b;
                    if ($var13 > var$16)
                        break b;
                    $var8 = $var8 + 1 | 0;
                    if ($var8 >= 6)
                        break;
                    $var9 = var$7 + ju_Random_nextFloat($var5);
                    $var11 = var$8 + ju_Random_nextFloat($var5);
                    $var13 = var$9 + ju_Random_nextFloat($var5);
                    if (!$var8) {
                        $ptr = 1;
                        continue main;
                    }
                    if ($var8 == 1) {
                        $ptr = 2;
                        continue main;
                    }
                    if ($var8 == 2) {
                        $ptr = 3;
                        continue main;
                    }
                    if ($var8 == 3) {
                        $ptr = 4;
                        continue main;
                    }
                    if ($var8 == 4) {
                        $ptr = 5;
                        continue main;
                    }
                    if ($var8 == 5) {
                        continue main;
                    }
                }
                return;
            }
            var$30 = $rt_s(935);
            var$31 = 0.0;
            var$32 = 0.0;
            $var6 = 0.0;
            $ptr = 7;
        case 7:
            nms_World_spawnParticle($var1, var$30, $var9, $var11, $var13, var$31, var$32, $var6);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                while (true) {
                    $var8 = $var8 + 1 | 0;
                    if ($var8 >= 6)
                        break;
                    $var9 = var$7 + ju_Random_nextFloat($var5);
                    $var11 = var$8 + ju_Random_nextFloat($var5);
                    $var13 = var$9 + ju_Random_nextFloat($var5);
                    if (!$var8) {
                        $ptr = 1;
                        continue main;
                    }
                    if ($var8 == 1) {
                        $ptr = 2;
                        continue main;
                    }
                    if ($var8 == 2) {
                        $ptr = 3;
                        continue main;
                    }
                    if ($var8 == 3) {
                        $ptr = 4;
                        continue main;
                    }
                    if ($var8 == 4) {
                        $ptr = 5;
                        continue main;
                    }
                    if ($var8 == 5) {
                        $ptr = 6;
                        continue main;
                    }
                    if ($var9 < var$25)
                        break a;
                    if ($var9 > var$21)
                        break a;
                    if ($var11 < 0.0)
                        break a;
                    if ($var11 > var$11)
                        break a;
                    if ($var13 < var$26)
                        break a;
                    if ($var13 <= var$16)
                        continue;
                    else
                        break a;
                }
                return;
            }
            var$30 = $rt_s(935);
            var$31 = 0.0;
            var$32 = 0.0;
            $var6 = 0.0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var8, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, var$25, var$26, $var9, $var11, $var13, var$30, var$31, var$32, $var6, var$34, $ptr);
    }
    function nms_BlockRedstoneTorch() {
        nms_BlockTorch.call(this);
        this.$torchActive = 0;
    }
    var nms_BlockRedstoneTorch_torchUpdates = null;
    function nms_BlockRedstoneTorch__init_0(var_0, var_1, var_2) {
        var var_3 = new nms_BlockRedstoneTorch();
        nms_BlockRedstoneTorch__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_BlockRedstoneTorch_getBlockTextureFromSideAndMetadata($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 == 1) {
                $ptr = 2;
                continue main;
            }
            $ptr = 1;
        case 1:
            $tmp = $this.$getBlockTextureFromSide($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nms_Block_redstoneWire;
            $ptr = 3;
        case 3:
            $tmp = var$3.$getBlockTextureFromSideAndMetadata($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockRedstoneTorch_checkForBurnout($this, $var1, $var2, $var3, $var4, $var5) {
        var $var8, var$7, var$8, $var6, $var7;
        if ($var5) {
            $var8 = nms_BlockRedstoneTorch_torchUpdates;
            var$7 = new nms_RedstoneUpdateInfo;
            var$8 = nms_World_getWorldTime($var1);
            var$7.$x2 = $var2;
            var$7.$y2 = $var3;
            var$7.$z2 = $var4;
            var$7.$updateTime = var$8;
            ju_ArrayList_add($var8, var$7);
        }
        $var6 = 0;
        $var7 = 0;
        while (true) {
            $var1 = nms_BlockRedstoneTorch_torchUpdates;
            if ($var7 >= $var1.$size0)
                break;
            $var8 = ju_ArrayList_get($var1, $var7);
            if ($var8.$x2 == $var2 && $var8.$y2 == $var3 && $var8.$z2 == $var4) {
                $var6 = $var6 + 1 | 0;
                if ($var6 >= 8)
                    return 1;
            }
            $var7 = $var7 + 1 | 0;
        }
        return 0;
    }
    function nms_BlockRedstoneTorch__init_($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockTorch__init_($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$torchActive = 0;
            $this.$torchActive = $var3;
            $var1 = 1;
            $ptr = 2;
        case 2:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_BlockRedstoneTorch_onBlockAdded($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (!var$5) {
                $ptr = 2;
                continue main;
            }
            if (!$this.$torchActive)
                return;
            var$6 = $var3 - 1 | 0;
            var$5 = $this.$blockID;
            $ptr = 3;
            continue main;
        case 2:
            nms_BlockTorch_onBlockAdded($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$torchActive)
                return;
            var$6 = $var3 - 1 | 0;
            var$5 = $this.$blockID;
            $ptr = 3;
        case 3:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, var$6, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var3 + 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 4;
        case 4:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, var$5, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var2 - 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 5;
        case 5:
            nms_World_notifyBlocksOfNeighborChange($var1, var$5, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var2 + 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 6;
        case 6:
            nms_World_notifyBlocksOfNeighborChange($var1, var$5, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var4 - 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 7;
        case 7:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $var4 + 1 | 0;
            var$5 = $this.$blockID;
            $ptr = 8;
        case 8:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $ptr);
    }
    function nms_BlockRedstoneTorch_onBlockRemoval($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$torchActive)
                return;
            var$5 = $var3 - 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 1;
        case 1:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, var$5, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var3 + 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 2;
        case 2:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, var$5, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var2 - 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 3;
        case 3:
            nms_World_notifyBlocksOfNeighborChange($var1, var$5, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var2 + 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 4;
        case 4:
            nms_World_notifyBlocksOfNeighborChange($var1, var$5, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var4 - 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 5;
        case 5:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $var4 + 1 | 0;
            var$5 = $this.$blockID;
            $ptr = 6;
        case 6:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $ptr);
    }
    function nms_BlockRedstoneTorch_isPoweringTo($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$torchActive)
                return 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            return $var6 == 5 && $var5 == 1 ? 0 : $var6 == 3 && $var5 == 3 ? 0 : $var6 == 4 && $var5 == 2 ? 0 : $var6 == 1 && $var5 == 5 ? 0 : $var6 == 2 && $var5 == 4 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockRedstoneTorch_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var6, $var7, var$9, $var8, $var10, var$12, var$13, var$14, var$15, var$16, $var12, var$18, var$19, var$20, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();$var12 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();var$9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 == 5) {
                $var6 = $var3 - 1 | 0;
                $var7 = 0;
                $ptr = 2;
                continue main;
            }
            if (var$6 == 3) {
                $var6 = $var4 - 1 | 0;
                $var7 = 2;
                $ptr = 3;
                continue main;
            }
            if (var$6 == 4) {
                $var6 = $var4 + 1 | 0;
                $var7 = 3;
                $ptr = 4;
                continue main;
            }
            if (var$6 == 1) {
                $var6 = $var2 - 1 | 0;
                $var7 = 4;
                $ptr = 5;
                continue main;
            }
            if (var$6 == 2) {
                $var6 = $var2 + 1 | 0;
                $var7 = 5;
                $ptr = 6;
                continue main;
            }
            while (nms_BlockRedstoneTorch_torchUpdates.$size0 > 0 && Long_gt(Long_sub(nms_World_getWorldTime($var1), (ju_ArrayList_get(nms_BlockRedstoneTorch_torchUpdates, 0)).$updateTime), Long_fromInt(100))) {
                ju_ArrayList_remove(nms_BlockRedstoneTorch_torchUpdates, 0);
            }
            a: {
                if ($this.$torchActive) {
                    if (!0)
                        break a;
                    $ptr = 7;
                    continue main;
                }
                if (!0 && !nms_BlockRedstoneTorch_checkForBurnout($this, $var1, $var2, $var3, $var4, 0)) {
                    $ptr = 10;
                    continue main;
                }
            }
            return;
        case 2:
            $tmp = nms_World_isBlockIndirectlyProvidingPowerTo($var1, $var2, $var6, $var4, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6)
                $var6 = 1;
            else {
                if (var$6 == 3) {
                    $var6 = $var4 - 1 | 0;
                    $var7 = 2;
                    $ptr = 3;
                    continue main;
                }
                if (var$6 == 4) {
                    $var6 = $var4 + 1 | 0;
                    $var7 = 3;
                    $ptr = 4;
                    continue main;
                }
                if (var$6 == 1) {
                    $var6 = $var2 - 1 | 0;
                    $var7 = 4;
                    $ptr = 5;
                    continue main;
                }
                if (var$6 == 2) {
                    $var6 = $var2 + 1 | 0;
                    $var7 = 5;
                    $ptr = 6;
                    continue main;
                }
                $var6 = 0;
            }
            while (nms_BlockRedstoneTorch_torchUpdates.$size0 > 0 && Long_gt(Long_sub(nms_World_getWorldTime($var1), (ju_ArrayList_get(nms_BlockRedstoneTorch_torchUpdates, 0)).$updateTime), Long_fromInt(100))) {
                ju_ArrayList_remove(nms_BlockRedstoneTorch_torchUpdates, 0);
            }
            b: {
                if ($this.$torchActive) {
                    if (!$var6)
                        break b;
                    $ptr = 7;
                    continue main;
                }
                if (!$var6 && !nms_BlockRedstoneTorch_checkForBurnout($this, $var1, $var2, $var3, $var4, 0)) {
                    $ptr = 10;
                    continue main;
                }
            }
            return;
        case 3:
            $tmp = nms_World_isBlockIndirectlyProvidingPowerTo($var1, $var2, $var3, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6)
                $var6 = 1;
            else {
                if (var$6 == 4) {
                    $var6 = $var4 + 1 | 0;
                    $var7 = 3;
                    $ptr = 4;
                    continue main;
                }
                if (var$6 == 1) {
                    $var6 = $var2 - 1 | 0;
                    $var7 = 4;
                    $ptr = 5;
                    continue main;
                }
                if (var$6 == 2) {
                    $var6 = $var2 + 1 | 0;
                    $var7 = 5;
                    $ptr = 6;
                    continue main;
                }
                $var6 = 0;
            }
            while (nms_BlockRedstoneTorch_torchUpdates.$size0 > 0 && Long_gt(Long_sub(nms_World_getWorldTime($var1), (ju_ArrayList_get(nms_BlockRedstoneTorch_torchUpdates, 0)).$updateTime), Long_fromInt(100))) {
                ju_ArrayList_remove(nms_BlockRedstoneTorch_torchUpdates, 0);
            }
            a: {
                if ($this.$torchActive) {
                    if (!$var6)
                        break a;
                    $ptr = 7;
                    continue main;
                }
                if (!$var6 && !nms_BlockRedstoneTorch_checkForBurnout($this, $var1, $var2, $var3, $var4, 0)) {
                    $ptr = 10;
                    continue main;
                }
            }
            return;
        case 4:
            $tmp = nms_World_isBlockIndirectlyProvidingPowerTo($var1, $var2, $var3, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6)
                $var6 = 1;
            else {
                if (var$6 == 1) {
                    $var6 = $var2 - 1 | 0;
                    $var7 = 4;
                    $ptr = 5;
                    continue main;
                }
                if (var$6 == 2) {
                    $var6 = $var2 + 1 | 0;
                    $var7 = 5;
                    $ptr = 6;
                    continue main;
                }
                $var6 = 0;
            }
            while (nms_BlockRedstoneTorch_torchUpdates.$size0 > 0 && Long_gt(Long_sub(nms_World_getWorldTime($var1), (ju_ArrayList_get(nms_BlockRedstoneTorch_torchUpdates, 0)).$updateTime), Long_fromInt(100))) {
                ju_ArrayList_remove(nms_BlockRedstoneTorch_torchUpdates, 0);
            }
            c: {
                if ($this.$torchActive) {
                    if (!$var6)
                        break c;
                    $ptr = 7;
                    continue main;
                }
                if (!$var6 && !nms_BlockRedstoneTorch_checkForBurnout($this, $var1, $var2, $var3, $var4, 0)) {
                    $ptr = 10;
                    continue main;
                }
            }
            return;
        case 5:
            $tmp = nms_World_isBlockIndirectlyProvidingPowerTo($var1, $var6, $var3, $var4, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6)
                $var6 = 1;
            else {
                if (var$6 == 2) {
                    $var6 = $var2 + 1 | 0;
                    $var7 = 5;
                    $ptr = 6;
                    continue main;
                }
                $var6 = 0;
            }
            while (nms_BlockRedstoneTorch_torchUpdates.$size0 > 0 && Long_gt(Long_sub(nms_World_getWorldTime($var1), (ju_ArrayList_get(nms_BlockRedstoneTorch_torchUpdates, 0)).$updateTime), Long_fromInt(100))) {
                ju_ArrayList_remove(nms_BlockRedstoneTorch_torchUpdates, 0);
            }
            d: {
                if ($this.$torchActive) {
                    if (!$var6)
                        break d;
                    $ptr = 7;
                    continue main;
                }
                if (!$var6 && !nms_BlockRedstoneTorch_checkForBurnout($this, $var1, $var2, $var3, $var4, 0)) {
                    $ptr = 10;
                    continue main;
                }
            }
            return;
        case 6:
            $tmp = nms_World_isBlockIndirectlyProvidingPowerTo($var1, $var6, $var3, $var4, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var6 = !$var6 ? 0 : 1;
            while (nms_BlockRedstoneTorch_torchUpdates.$size0 > 0 && Long_gt(Long_sub(nms_World_getWorldTime($var1), (ju_ArrayList_get(nms_BlockRedstoneTorch_torchUpdates, 0)).$updateTime), Long_fromInt(100))) {
                ju_ArrayList_remove(nms_BlockRedstoneTorch_torchUpdates, 0);
            }
            e: {
                if ($this.$torchActive) {
                    if (!$var6)
                        break e;
                    $ptr = 7;
                    continue main;
                }
                if (!$var6 && !nms_BlockRedstoneTorch_checkForBurnout($this, $var1, $var2, $var3, $var4, 0)) {
                    $ptr = 10;
                    continue main;
                }
            }
            return;
        case 7:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var6 = nms_Block_torchRedstoneIdle.$blockID;
            $ptr = 8;
        case 8:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $ptr = 9;
        case 9:
            nms_World_setBlockAndMetadataWithNotify($var1, $var2, $var3, $var4, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            if (!nms_BlockRedstoneTorch_checkForBurnout($this, $var1, $var2, $var3, $var4, 1))
                return;
            var$9 = $var2 + 0.5;
            $var8 = $var3 + 0.5;
            $var10 = $var4 + 0.5;
            var$12 = $rt_s(916);
            var$13 = 0.5;
            var$14 = 2.5999999046325684 + (ju_Random_nextFloat($var1.$rand2) - ju_Random_nextFloat($var1.$rand2)) * 0.800000011920929;
            $ptr = 13;
            continue main;
        case 10:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var6 = nms_Block_torchRedstoneActive.$blockID;
            $ptr = 11;
        case 11:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $ptr = 12;
        case 12:
            nms_World_setBlockAndMetadataWithNotify($var1, $var2, $var3, $var4, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 13:
            nms_World_playSoundEffect($var1, var$9, $var8, $var10, var$12, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 0;
            var$9 = $var2;
            var$15 = $var3;
            var$16 = $var4;
            if ($var7 >= 5)
                return;
            $var8 = var$9 + ju_Random_nextDouble($var5) * 0.6 + 0.2;
            $var10 = var$15 + ju_Random_nextDouble($var5) * 0.6 + 0.2;
            $var12 = var$16 + ju_Random_nextDouble($var5) * 0.6 + 0.2;
            var$12 = $rt_s(920);
            var$18 = 0.0;
            var$19 = 0.0;
            var$20 = 0.0;
            $ptr = 14;
        case 14:
            nms_World_spawnParticle($var1, var$12, $var8, $var10, $var12, var$18, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var7 + 1 | 0;
            if ($var7 >= 5)
                return;
            $var8 = var$9 + ju_Random_nextDouble($var5) * 0.6 + 0.2;
            $var10 = var$15 + ju_Random_nextDouble($var5) * 0.6 + 0.2;
            $var12 = var$16 + ju_Random_nextDouble($var5) * 0.6 + 0.2;
            var$12 = $rt_s(920);
            var$18 = 0.0;
            var$19 = 0.0;
            var$20 = 0.0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, $var7, var$9, $var8, $var10, var$12, var$13, var$14, var$15, var$16, $var12, var$18, var$19, var$20, $ptr);
    }
    function nms_BlockRedstoneTorch_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockTorch_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $this.$blockID;
            $var5 = 2;
            $ptr = 2;
        case 2:
            $var1.$scheduleBlockUpdate($var2, $var3, $var4, var$6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockRedstoneTorch_isIndirectlyPoweringTo($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var5)
                return 0;
            $ptr = 1;
        case 1:
            $tmp = nms_BlockRedstoneTorch_isPoweringTo($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockRedstoneTorch_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Block_torchRedstoneActive.$blockID;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockRedstoneTorch_canProvidePower($this) {
        return 1;
    }
    function nms_BlockRedstoneTorch_randomDisplayTick($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var9, $var11, $var15, $var13, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();$var13 = $thread.pop();$var15 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$torchActive)
                return;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = $var2 + 0.5 + (ju_Random_nextFloat($var5) - 0.5) * 0.2;
            $var9 = $var3 + 0.699999988079071 + (ju_Random_nextFloat($var5) - 0.5) * 0.2;
            $var11 = $var4 + 0.5 + (ju_Random_nextFloat($var5) - 0.5) * 0.2;
            if ($var6 == 1) {
                $var5 = $rt_s(935);
                $var15 = $var7 - 0.27000001072883606;
                $var13 = $var9 + 0.2199999988079071;
                var$12 = 0.0;
                $var7 = 0.0;
                $var9 = 0.0;
                $ptr = 2;
                continue main;
            }
            if ($var6 == 2) {
                $var5 = $rt_s(935);
                $var15 = $var7 + 0.27000001072883606;
                $var13 = $var9 + 0.2199999988079071;
                var$12 = 0.0;
                $var7 = 0.0;
                $var9 = 0.0;
                $ptr = 3;
                continue main;
            }
            if ($var6 == 3) {
                $var5 = $rt_s(935);
                $var13 = $var9 + 0.2199999988079071;
                $var15 = $var11 - 0.27000001072883606;
                var$12 = 0.0;
                $var11 = 0.0;
                $var9 = 0.0;
                $ptr = 4;
                continue main;
            }
            if ($var6 != 4) {
                $var5 = $rt_s(935);
                $var13 = 0.0;
                $var15 = 0.0;
                var$12 = 0.0;
                $ptr = 5;
                continue main;
            }
            $var5 = $rt_s(935);
            $var13 = $var9 + 0.2199999988079071;
            $var15 = $var11 + 0.27000001072883606;
            var$12 = 0.0;
            $var11 = 0.0;
            $var9 = 0.0;
            $ptr = 6;
            continue main;
        case 2:
            nms_World_spawnParticle($var1, $var5, $var15, $var13, $var11, var$12, $var7, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_World_spawnParticle($var1, $var5, $var15, $var13, $var11, var$12, $var7, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nms_World_spawnParticle($var1, $var5, $var7, $var13, $var15, var$12, $var11, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            nms_World_spawnParticle($var1, $var5, $var7, $var9, $var11, $var13, $var15, var$12);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nms_World_spawnParticle($var1, $var5, $var7, $var13, $var15, var$12, $var11, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var9, $var11, $var15, $var13, var$12, $ptr);
    }
    function nms_BlockRedstoneTorch__clinit_() {
        nms_BlockRedstoneTorch_torchUpdates = ju_ArrayList__init_0();
    }
    var nms_BlockButton = $rt_classWithoutFields(nms_Block);
    function nms_BlockButton__init_0(var_0, var_1) {
        var var_2 = new nms_BlockButton();
        nms_BlockButton__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockButton__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_circuits;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 1;
            $ptr = 2;
        case 2:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockButton_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return null;
    }
    function nms_BlockButton_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockButton_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockButton_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var2 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var2 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var4 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            $var4 = $var4 + 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockButton_onBlockPlaced($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = $var6 & 8;
            if ($var5 == 2) {
                $var6 = $var4 + 1 | 0;
                $ptr = 2;
                continue main;
            }
            if ($var5 == 3) {
                $var6 = $var4 - 1 | 0;
                $ptr = 3;
                continue main;
            }
            if ($var5 == 4) {
                $var6 = $var2 + 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($var5 == 5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 7;
                continue main;
            }
            $var5 = $var2 - 1 | 0;
            $ptr = 6;
            continue main;
        case 2:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6) {
                $var5 = 4 + $var7 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var5 == 3) {
                $var6 = $var4 - 1 | 0;
                $ptr = 3;
                continue main;
            }
            if ($var5 == 4) {
                $var6 = $var2 + 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($var5 == 5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 7;
                continue main;
            }
            $var5 = $var2 - 1 | 0;
            $ptr = 6;
            continue main;
        case 3:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6) {
                $var5 = 3 + $var7 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var5 == 4) {
                $var6 = $var2 + 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($var5 == 5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 7;
                continue main;
            }
            $var5 = $var2 - 1 | 0;
            $ptr = 6;
            continue main;
        case 4:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var6, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6) {
                $var5 = 2 + $var7 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var5 == 5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 7;
                continue main;
            }
            $var5 = $var2 - 1 | 0;
            $ptr = 6;
            continue main;
        case 5:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5) {
                $var5 = $var2 + 1 | 0;
                $ptr = 8;
                continue main;
            }
            $var5 = 1 + $var7 | 0;
            $ptr = 5;
            continue main;
        case 7:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5) {
                $var5 = $var2 - 1 | 0;
                $ptr = 6;
                continue main;
            }
            $var5 = 1 + $var7 | 0;
            $ptr = 5;
            continue main;
        case 8:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5) {
                $var5 = $var4 - 1 | 0;
                $ptr = 9;
                continue main;
            }
            $var5 = 2 + $var7 | 0;
            $ptr = 5;
            continue main;
        case 9:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5) {
                $var5 = $var4 + 1 | 0;
                $ptr = 10;
                continue main;
            }
            $var5 = 3 + $var7 | 0;
            $ptr = 5;
            continue main;
        case 10:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var5 = (!$var5 ? 1 : 4) + $var7 | 0;
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_BlockButton_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_BlockButton_canPlaceBlockAt($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5) {
                $ptr = 2;
                continue main;
            }
            if (!1)
                return;
            $ptr = 5;
            continue main;
        case 2:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            $ptr = 4;
        case 4:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            if (!0)
                return;
            $ptr = 5;
        case 5:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = $var5 & 7;
            $var7 = 0;
            $var5 = $var2 - 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5 && $var6 == 1)
                $var7 = 1;
            $var5 = $var2 + 1 | 0;
            $ptr = 7;
        case 7:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5 && $var6 == 2)
                $var7 = 1;
            $var5 = $var4 - 1 | 0;
            $ptr = 8;
        case 8:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5 && $var6 == 3)
                $var7 = 1;
            $var5 = $var4 + 1 | 0;
            $ptr = 9;
        case 9:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5 && $var6 == 4)
                $var7 = 1;
            if (!$var7)
                return;
            $ptr = 10;
        case 10:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 11;
        case 11:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            $ptr = 12;
        case 12:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_BlockButton_setBlockBoundsBasedOnState($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, $var7, $var8, $var9, $var11, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = $var5 & 7;
            $var7 = ($var5 & 8) <= 0 ? 0 : 1;
            $var8 = 0.375;
            $var9 = 0.625;
            $var11 = 0.125;
            if ($var7)
                $var11 = 0.0625;
            if ($var6 == 1) {
                var$11 = 0.0;
                var$12 = 0.3125;
                var$13 = 0.6875;
                $ptr = 2;
                continue main;
            }
            if ($var6 == 2) {
                var$12 = 1.0 - $var11;
                var$13 = 0.3125;
                $var11 = 1.0;
                var$11 = 0.6875;
                $ptr = 3;
                continue main;
            }
            if ($var6 == 3) {
                var$11 = 0.3125;
                var$12 = 0.0;
                var$13 = 0.6875;
                $ptr = 4;
                continue main;
            }
            if ($var6 != 4)
                return;
            var$12 = 0.3125;
            var$13 = 1.0 - $var11;
            $var11 = 0.6875;
            var$11 = 1.0;
            $ptr = 5;
            continue main;
        case 2:
            nms_Block_setBlockBounds($this, var$11, $var8, var$12, $var11, $var9, var$13);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_Block_setBlockBounds($this, var$12, $var8, var$13, $var11, $var9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nms_Block_setBlockBounds($this, var$11, $var8, var$12, var$13, $var9, $var11);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            nms_Block_setBlockBounds($this, var$12, $var8, var$13, $var11, $var9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var11, var$11, var$12, var$13, $ptr);
    }
    function nms_BlockButton_onBlockClicked($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockButton_blockActivated($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockButton_blockActivated($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = $var6 & 7;
            $var8 = 8 - ($var6 & 8) | 0;
            if (!$var8)
                return 1;
            $var8 = $var7 + $var8 | 0;
            $ptr = 2;
        case 2:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_World_markBlocksDirty($var1, $var2, $var3, $var4, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $var2 + 0.5;
            var$10 = $var3 + 0.5;
            var$11 = $var4 + 0.5;
            $var5 = $rt_s(918);
            var$12 = 0.30000001192092896;
            var$13 = 0.6000000238418579;
            $ptr = 4;
        case 4:
            nms_World_playSoundEffect($var1, var$9, var$10, var$11, $var5, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $this.$blockID;
            $ptr = 5;
        case 5:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var8);
            if ($rt_suspending()) {
                break main;
            }
            if ($var7 == 1) {
                $var8 = $var2 - 1 | 0;
                $var6 = $this.$blockID;
                $ptr = 6;
                continue main;
            }
            if ($var7 == 2) {
                $var8 = $var2 + 1 | 0;
                $var6 = $this.$blockID;
                $ptr = 7;
                continue main;
            }
            if ($var7 == 3) {
                $var8 = $var4 - 1 | 0;
                $var6 = $this.$blockID;
                $ptr = 9;
                continue main;
            }
            if ($var7 != 4) {
                $var8 = $var3 - 1 | 0;
                $var6 = $this.$blockID;
                $ptr = 10;
                continue main;
            }
            $var8 = $var4 + 1 | 0;
            $var6 = $this.$blockID;
            $ptr = 11;
            continue main;
        case 6:
            nms_World_notifyBlocksOfNeighborChange($var1, $var8, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $this.$blockID;
            $var6 = 20;
            $ptr = 8;
            continue main;
        case 7:
            nms_World_notifyBlocksOfNeighborChange($var1, $var8, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $this.$blockID;
            $var6 = 20;
            $ptr = 8;
        case 8:
            $var1.$scheduleBlockUpdate($var2, $var3, $var4, $var8, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 9:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var8, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $this.$blockID;
            $var6 = 20;
            $ptr = 8;
            continue main;
        case 10:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var8, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $this.$blockID;
            $var6 = 20;
            $ptr = 8;
            continue main;
        case 11:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var8, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $this.$blockID;
            $var6 = 20;
            $ptr = 8;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, var$9, var$10, var$11, var$12, var$13, $ptr);
    }
    function nms_BlockButton_onBlockRemoval($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (($var5 & 8) <= 0)
                return;
            $var6 = $this.$blockID;
            $ptr = 2;
        case 2:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var5 & 7;
            if ($var6 == 1) {
                $var2 = $var2 - 1 | 0;
                $var5 = $this.$blockID;
                $ptr = 3;
                continue main;
            }
            if ($var6 == 2) {
                $var2 = $var2 + 1 | 0;
                $var5 = $this.$blockID;
                $ptr = 4;
                continue main;
            }
            if ($var6 == 3) {
                $var4 = $var4 - 1 | 0;
                $var5 = $this.$blockID;
                $ptr = 5;
                continue main;
            }
            if ($var6 != 4) {
                $var3 = $var3 - 1 | 0;
                $var5 = $this.$blockID;
                $ptr = 6;
                continue main;
            }
            $var4 = $var4 + 1 | 0;
            $var5 = $this.$blockID;
            $ptr = 7;
            continue main;
        case 3:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockButton_isPoweringTo($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return ($var2 & 8) <= 0 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockButton_isIndirectlyPoweringTo($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!($var6 & 8))
                return 0;
            $var7 = $var6 & 7;
            return $var7 == 5 && $var5 == 1 ? 1 : $var7 == 4 && $var5 == 2 ? 1 : $var7 == 3 && $var5 == 3 ? 1 : $var7 == 2 && $var5 == 4 ? 1 : $var7 == 1 && $var5 == 5 ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_BlockButton_canProvidePower($this) {
        return 1;
    }
    function nms_BlockButton_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!($var6 & 8))
                return;
            $var6 = $var6 & 7;
            $ptr = 2;
        case 2:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$blockID;
            $ptr = 3;
        case 3:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var6 == 1) {
                $var6 = $var2 - 1 | 0;
                var$7 = $this.$blockID;
                $ptr = 4;
                continue main;
            }
            if ($var6 == 2) {
                $var6 = $var2 + 1 | 0;
                var$7 = $this.$blockID;
                $ptr = 5;
                continue main;
            }
            if ($var6 == 3) {
                $var6 = $var4 - 1 | 0;
                var$7 = $this.$blockID;
                $ptr = 8;
                continue main;
            }
            if ($var6 != 4) {
                $var6 = $var3 - 1 | 0;
                var$7 = $this.$blockID;
                $ptr = 9;
                continue main;
            }
            $var6 = $var4 + 1 | 0;
            var$7 = $this.$blockID;
            $ptr = 10;
            continue main;
        case 4:
            nms_World_notifyBlocksOfNeighborChange($var1, $var6, $var3, $var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $var2 + 0.5;
            var$9 = $var3 + 0.5;
            var$10 = $var4 + 0.5;
            $var5 = $rt_s(918);
            var$11 = 0.30000001192092896;
            var$12 = 0.5;
            $ptr = 6;
            continue main;
        case 5:
            nms_World_notifyBlocksOfNeighborChange($var1, $var6, $var3, $var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $var2 + 0.5;
            var$9 = $var3 + 0.5;
            var$10 = $var4 + 0.5;
            $var5 = $rt_s(918);
            var$11 = 0.30000001192092896;
            var$12 = 0.5;
            $ptr = 6;
        case 6:
            nms_World_playSoundEffect($var1, var$8, var$9, var$10, $var5, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_World_markBlocksDirty($var1, $var2, $var3, $var4, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $var2 + 0.5;
            var$9 = $var3 + 0.5;
            var$10 = $var4 + 0.5;
            $var5 = $rt_s(918);
            var$11 = 0.30000001192092896;
            var$12 = 0.5;
            $ptr = 6;
            continue main;
        case 9:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var6, $var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $var2 + 0.5;
            var$9 = $var3 + 0.5;
            var$10 = $var4 + 0.5;
            $var5 = $rt_s(918);
            var$11 = 0.30000001192092896;
            var$12 = 0.5;
            $ptr = 6;
            continue main;
        case 10:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $var2 + 0.5;
            var$9 = $var3 + 0.5;
            var$10 = $var4 + 0.5;
            $var5 = $rt_s(918);
            var$11 = 0.30000001192092896;
            var$12 = 0.5;
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function nms_BlockButton_setBlockBoundsForItemRender($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 0.3125;
            var$2 = 0.375;
            var$3 = 0.6875;
            var$4 = 0.625;
            $ptr = 1;
        case 1:
            nms_Block_setBlockBounds($this, var$1, var$2, var$2, var$3, var$4, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    var nms_BlockSnow = $rt_classWithoutFields(nms_Block);
    function nms_BlockSnow__init_0(var_0, var_1) {
        var var_2 = new nms_BlockSnow();
        nms_BlockSnow__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockSnow__init_($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_snow;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 0.0;
            var$5 = 0.0;
            var$6 = 0.0;
            var$7 = 1.0;
            var$8 = 0.125;
            var$9 = 1.0;
            $ptr = 2;
        case 2:
            nms_Block_setBlockBounds($this, var$4, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 1;
            $ptr = 3;
        case 3:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_BlockSnow_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return null;
    }
    function nms_BlockSnow_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockSnow_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockSnow_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5)
                return 0;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_Block_blocksList.data[$var5];
            $ptr = 3;
        case 3:
            $tmp = var$6.$isOpaqueCube();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5)
                return 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1.$getIsSolid();
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockSnow_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_BlockSnow_canPlaceBlockAt($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                return;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            $ptr = 4;
        case 4:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockSnow_harvestBlock($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var7, $var9, $var11, $var13, $var15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var7 = nms_Item_snowball.$shiftedIndex;
            $var9 = ju_Random_nextFloat($var1.$rand2) * 0.699999988079071 + 0.15000000596046448;
            $var11 = ju_Random_nextFloat($var1.$rand2) * 0.699999988079071 + 0.15000000596046448;
            $var13 = ju_Random_nextFloat($var1.$rand2) * 0.699999988079071 + 0.15000000596046448;
            $var15 = new nms_EntityItem;
            $var9 = $var3 + $var9;
            $var11 = $var4 + $var11;
            $var13 = $var5 + $var13;
            $var2 = nms_ItemStack__init_7($var7, 1, 0);
            $ptr = 2;
        case 2:
            nms_EntityItem__init_($var15, $var1, $var9, $var11, $var13, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var15.$delayBeforeCanPickup = 10;
            $ptr = 3;
        case 3:
            $var1.$entityJoinedWorld($var15);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = 0;
            $ptr = 4;
        case 4:
            nms_World_setBlockWithNotify($var1, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var9, $var11, $var13, $var15, $ptr);
    }
    function nms_BlockSnow_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_snowball.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockSnow_quantityDropped($this, $var1) {
        return 0;
    }
    function nms_BlockSnow_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_EnumSkyBlock_$callClinit();
            $var5 = nms_EnumSkyBlock_Block;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getSavedLightValue($var1, $var5, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 <= 11)
                return;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 0;
            $ptr = 4;
        case 4:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockSnow_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockMaterial($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var5 == 1)
                $var2 = 1;
            else {
                if ($var6 !== $this.$blockMaterial) {
                    $ptr = 2;
                    continue main;
                }
                $var2 = 0;
            }
            return $var2;
        case 2:
            $tmp = nms_Block_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    var nms_BlockIce = $rt_classWithoutFields(nms_BlockBreakable);
    function nms_BlockIce__init_0(var_0, var_1) {
        var var_2 = new nms_BlockIce();
        nms_BlockIce__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockIce__init_($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_ice;
            var$4 = 0;
            $ptr = 1;
        case 1:
            nms_BlockBreakable__init_($this, $var1, $var2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$slipperiness = 0.9800000190734863;
            $var1 = 1;
            $ptr = 2;
        case 2:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_BlockIce_getRenderBlockPass($this) {
        return 1;
    }
    function nms_BlockIce_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = 1 - $var5 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_BlockBreakable_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockIce_onBlockRemoval($this, $var1, $var2, $var3, $var4) {
        var var$5, $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMaterial($var1, $var2, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5.$getIsSolid() && !$var5.$getIsLiquid())
                return;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = nms_Block_waterMoving.$blockID;
            $ptr = 3;
        case 3:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $var5, $ptr);
    }
    function nms_BlockIce_quantityDropped($this, $var1) {
        return 0;
    }
    function nms_BlockIce_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_EnumSkyBlock_$callClinit();
            $var5 = nms_EnumSkyBlock_Block;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getSavedLightValue($var1, $var5, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$7 = 11;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$6 <= (var$7 - nms_Block_lightOpacity.data[$this.$blockID] | 0))
                return;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 4;
        case 4:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = nms_Block_waterStill.$blockID;
            $ptr = 5;
        case 5:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, var$8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, $ptr);
    }
    var nms_BlockSnowBlock = $rt_classWithoutFields(nms_Block);
    function nms_BlockSnowBlock__init_0(var_0, var_1) {
        var var_2 = new nms_BlockSnowBlock();
        nms_BlockSnowBlock__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockSnowBlock__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_builtSnow;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 1;
            $ptr = 2;
        case 2:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockSnowBlock_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_snowball.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockSnowBlock_quantityDropped($this, $var1) {
        return 4;
    }
    function nms_BlockSnowBlock_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_EnumSkyBlock_$callClinit();
            $var5 = nms_EnumSkyBlock_Block;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getSavedLightValue($var1, $var5, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 <= 11)
                return;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 0;
            $ptr = 4;
        case 4:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    var nms_BlockCactus = $rt_classWithoutFields(nms_Block);
    function nms_BlockCactus__init_0(var_0, var_1) {
        var var_2 = new nms_BlockCactus();
        nms_BlockCactus__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockCactus__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_cactus;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 1;
            $ptr = 2;
        case 2:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockCactus_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var7, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $var3 + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isAirBlock($var1, $var2, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if (!$var7)
                return;
            $var6 = 1;
            $var7 = $var3 - $var6 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var2, $var7, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ($var7 != $this.$blockID) {
                if ($var6 >= 3)
                    return;
                $ptr = 3;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            $var7 = $var3 - $var6 | 0;
            continue main;
        case 3:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ($var7 == 15) {
                $var7 = $this.$blockID;
                $ptr = 5;
                continue main;
            }
            $var7 = $var7 + 1 | 0;
            $ptr = 4;
        case 4:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            nms_World_setBlockWithNotify($var1, $var2, var$6, $var4, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 0;
            $ptr = 6;
        case 6:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var7, $var6, $ptr);
    }
    function nms_BlockCactus_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return nms_AxisAlignedBB_getBoundingBoxFromPool($var2 + 0.0625, $var3, $var4 + 0.0625, ($var2 + 1 | 0) - 0.0625, ($var3 + 1 | 0) - 0.0625, ($var4 + 1 | 0) - 0.0625);
    }
    function nms_BlockCactus_getSelectedBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return nms_AxisAlignedBB_getBoundingBoxFromPool($var2 + 0.0625, $var3, $var4 + 0.0625, ($var2 + 1 | 0) - 0.0625, $var3 + 1 | 0, ($var4 + 1 | 0) - 0.0625);
    }
    function nms_BlockCactus_getBlockTextureFromSide($this, $var1) {
        return $var1 == 1 ? $this.$blockIndexInTexture - 1 | 0 : $var1 ? $this.$blockIndexInTexture : $this.$blockIndexInTexture + 1 | 0;
    }
    function nms_BlockCactus_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockCactus_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockCactus_getRenderType($this) {
        return 13;
    }
    function nms_BlockCactus_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_Block_canPlaceBlockAt($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (!var$5)
                return 0;
            $ptr = 2;
        case 2:
            $tmp = nms_BlockCactus_canBlockStay($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockCactus_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_BlockCactus_canBlockStay($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                return;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            $ptr = 4;
        case 4:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockCactus_canBlockStay($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = $var2 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMaterial($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6.$isSolid())
                return 0;
            $var5 = $var2 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMaterial($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6.$isSolid())
                return 0;
            $var5 = $var4 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6.$isSolid())
                return 0;
            $var5 = $var4 + 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6.$isSolid())
                return 0;
            $var3 = $var3 - 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 6;
        case 6:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return $var5 != nms_Block_cactus.$blockID && $var5 != nms_Block_sand.$blockID ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_BlockCactus_onEntityCollidedWithBlock($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = null;
            $var2 = 1;
            $ptr = 1;
        case 1:
            $var5.$attackEntityFrom($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    var nms_BlockClay = $rt_classWithoutFields(nms_Block);
    function nms_BlockClay__init_0(var_0, var_1) {
        var var_2 = new nms_BlockClay();
        nms_BlockClay__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockClay__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_clay;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockClay_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_clay.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockClay_quantityDropped($this, $var1) {
        return 4;
    }
    var nms_BlockReed = $rt_classWithoutFields(nms_Block);
    function nms_BlockReed__init_0(var_0, var_1) {
        var var_2 = new nms_BlockReed();
        nms_BlockReed__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockReed__init_($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_plants;
            $ptr = 1;
        case 1:
            nms_Block__init_0($this, $var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$blockIndexInTexture = $var2;
            var$4 = 0.125;
            var$5 = 0.0;
            var$6 = 0.875;
            var$7 = 1.0;
            $ptr = 2;
        case 2:
            nms_Block_setBlockBounds($this, var$4, var$5, var$4, var$6, var$7, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 1;
            $ptr = 3;
        case 3:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_BlockReed_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var7, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $var3 + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isAirBlock($var1, $var2, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if (!$var7)
                return;
            $var6 = 1;
            $var7 = $var3 - $var6 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var2, $var7, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ($var7 != $this.$blockID) {
                if ($var6 >= 3)
                    return;
                $ptr = 3;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            $var7 = $var3 - $var6 | 0;
            continue main;
        case 3:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ($var7 == 15) {
                $var7 = $this.$blockID;
                $ptr = 5;
                continue main;
            }
            $var7 = $var7 + 1 | 0;
            $ptr = 4;
        case 4:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            nms_World_setBlockWithNotify($var1, $var2, var$6, $var4, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 0;
            $ptr = 6;
        case 6:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var7, $var6, $ptr);
    }
    function nms_BlockReed_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var var$5, $var5, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var2, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 == $this.$blockID)
                return 1;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 != nms_Block_grass.$blockID && $var5 != nms_Block_dirt.$blockID)
                return 0;
            $var3 = $var2 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockMaterial($var1, $var3, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            nms_Material_$callClinit();
            if (var$7 === nms_Material_water)
                return 1;
            $var3 = $var2 + 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockMaterial($var1, $var3, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7 === nms_Material_water)
                return 1;
            $var3 = $var4 - 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = nms_World_getBlockMaterial($var1, $var2, var$5, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7 === nms_Material_water)
                return 1;
            $var3 = $var4 + 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = nms_World_getBlockMaterial($var1, $var2, var$5, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1 !== nms_Material_water ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $var5, var$7, $ptr);
    }
    function nms_BlockReed_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_BlockReed_canPlaceBlockAt($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                return;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            $ptr = 4;
        case 4:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockReed_canBlockStay($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_BlockReed_canPlaceBlockAt($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_BlockReed_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return null;
    }
    function nms_BlockReed_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_reed.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockReed_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockReed_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockReed_getRenderType($this) {
        return 1;
    }
    var nms_BlockJukeBox = $rt_classWithoutFields(nms_Block);
    function nms_BlockJukeBox__init_0(var_0, var_1) {
        var var_2 = new nms_BlockJukeBox();
        nms_BlockJukeBox__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockJukeBox__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_wood;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockJukeBox_getBlockTextureFromSide($this, $var1) {
        return $this.$blockIndexInTexture + ($var1 != 1 ? 0 : 1) | 0;
    }
    function nms_BlockJukeBox_blockActivated($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 <= 0)
                return 0;
            $ptr = 2;
        case 2:
            nms_BlockJukeBox_ejectRecord($this, $var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockJukeBox_ejectRecord($this, $var1, $var2, $var3, $var4, $var5) {
        var $var14, $var6, $var8, $var10, $var12, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var14 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var14 = null;
            $ptr = 1;
        case 1:
            nms_World_playRecord($var1, $var14, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = 0;
            $ptr = 2;
        case 2:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var6 = (nms_Item_record13.$shiftedIndex + $var5 | 0) - 1 | 0;
            $var8 = ju_Random_nextFloat($var1.$rand2) * 0.699999988079071 + 0.15000000596046448;
            $var10 = ju_Random_nextFloat($var1.$rand2) * 0.699999988079071 + 0.06000000238418579 + 0.6;
            $var12 = ju_Random_nextFloat($var1.$rand2) * 0.699999988079071 + 0.15000000596046448;
            $var14 = new nms_EntityItem;
            $var8 = $var2 + $var8;
            $var10 = $var3 + $var10;
            $var12 = $var4 + $var12;
            var$11 = nms_ItemStack__init_7($var6, 1, 0);
            $ptr = 4;
        case 4:
            nms_EntityItem__init_($var14, $var1, $var8, $var10, $var12, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var14.$delayBeforeCanPickup = 10;
            $ptr = 5;
        case 5:
            $var1.$entityJoinedWorld($var14);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var14, $var6, $var8, $var10, $var12, var$11, $ptr);
    }
    function nms_BlockJukeBox_dropBlockAsItemWithChance($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$multiplayerWorld)
                return;
            if ($var5 <= 0) {
                $ptr = 1;
                continue main;
            }
            $ptr = 2;
            continue main;
        case 1:
            nms_Block_dropBlockAsItemWithChance($this, $var1, $var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nms_BlockJukeBox_ejectRecord($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    var nms_BlockFence = $rt_classWithoutFields(nms_Block);
    function nms_BlockFence__init_0(var_0, var_1) {
        var var_2 = new nms_BlockFence();
        nms_BlockFence__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockFence__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_wood;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockFence_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var2, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 == $this.$blockID)
                return 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMaterial($var1, $var2, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (!var$7.$isSolid())
                return 0;
            $ptr = 3;
        case 3:
            $tmp = nms_Block_canPlaceBlockAt($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, $ptr);
    }
    function nms_BlockFence_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return nms_AxisAlignedBB_getBoundingBoxFromPool($var2, $var3, $var4, $var2 + 1 | 0, $var3 + 1.5, $var4 + 1 | 0);
    }
    function nms_BlockFence_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockFence_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockFence_getRenderType($this) {
        return 11;
    }
    function nms_BlockPumpkin() {
        nms_Block.call(this);
        this.$blockType0 = 0;
    }
    function nms_BlockPumpkin__init_0(var_0, var_1, var_2) {
        var var_3 = new nms_BlockPumpkin();
        nms_BlockPumpkin__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_BlockPumpkin__init_($this, $var1, $var2, $var3) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$4 = nms_Material_pumpkin;
            $ptr = 1;
        case 1:
            nms_Block__init_0($this, $var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$blockIndexInTexture = $var2;
            $var1 = 1;
            $ptr = 2;
        case 2:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$blockType0 = $var3;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_BlockPumpkin_getBlockTextureFromSideAndMetadata($this, $var1, $var2) {
        var var$3, $var3;
        if ($var1 == 1)
            return $this.$blockIndexInTexture;
        if (!$var1)
            return $this.$blockIndexInTexture;
        var$3 = $this.$blockIndexInTexture;
        $var3 = (var$3 + 1 | 0) + 16 | 0;
        if ($this.$blockType0)
            $var3 = $var3 + 1 | 0;
        if (!(!$var2 && $var1 == 2) && !($var2 == 1 && $var1 == 5) && !($var2 == 2 && $var1 == 3) && !($var2 == 3 && $var1 == 4))
            $var3 = var$3 + 16 | 0;
        return $var3;
    }
    function nms_BlockPumpkin_getBlockTextureFromSide($this, $var1) {
        return $var1 == 1 ? $this.$blockIndexInTexture : !$var1 ? $this.$blockIndexInTexture : $var1 != 3 ? $this.$blockIndexInTexture + 16 | 0 : ($this.$blockIndexInTexture + 1 | 0) + 16 | 0;
    }
    function nms_BlockPumpkin_onBlockAdded($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_BlockPumpkin_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5) {
                $ptr = 3;
                continue main;
            }
            $var3 = $var3 - 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return !$var2 ? 0 : 1;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nms_Block_blocksList.data[$var5].$blockMaterial.$getIsLiquid())
                return 0;
            $var3 = $var3 - 1 | 0;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockPumpkin_onBlockPlacedBy($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = nms_MathHelper_floor_double($var5.$rotationYaw * 4.0 / 360.0 + 0.5) & 3;
            $ptr = 1;
        case 1:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    var nms_BlockBloodStone = $rt_classWithoutFields(nms_Block);
    function nms_BlockBloodStone__init_0(var_0, var_1) {
        var var_2 = new nms_BlockBloodStone();
        nms_BlockBloodStone__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockBloodStone__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_rock;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    var nms_BlockSlowSand = $rt_classWithoutFields(nms_Block);
    function nms_BlockSlowSand__init_0(var_0, var_1) {
        var var_2 = new nms_BlockSlowSand();
        nms_BlockSlowSand__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockSlowSand__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_sand;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockSlowSand_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return nms_AxisAlignedBB_getBoundingBoxFromPool($var2, $var3, $var4, $var2 + 1 | 0, ($var3 + 1 | 0) - 0.125, $var4 + 1 | 0);
    }
    function nms_BlockSlowSand_onEntityCollidedWithBlock($this, $var1, $var2, $var3, $var4, $var5) {
        $var5.$motionX = $var5.$motionX * 0.4;
        $var5.$motionZ = $var5.$motionZ * 0.4;
    }
    var nms_BlockLightStone = $rt_classWithoutFields(nms_Block);
    function nms_BlockLightStone__init_0(var_0, var_1, var_2) {
        var var_3 = new nms_BlockLightStone();
        nms_BlockLightStone__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_BlockLightStone__init_($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_BlockLightStone_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_lightStoneDust.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    var nms_BlockPortal = $rt_classWithoutFields(nms_BlockBreakable);
    function nms_BlockPortal__init_0(var_0, var_1) {
        var var_2 = new nms_BlockPortal();
        nms_BlockPortal__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockPortal__init_($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_portal;
            var$4 = 0;
            $ptr = 1;
        case 1:
            nms_BlockBreakable__init_($this, $var1, $var2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_BlockPortal_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        return null;
    }
    function nms_BlockPortal_setBlockBoundsBasedOnState($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var2 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockId(var$5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 != $this.$blockID) {
                $var2 = $var2 + 1 | 0;
                $ptr = 3;
                continue main;
            }
            var$6 = 0.0;
            var$7 = 0.0;
            var$8 = 0.375;
            var$9 = 1.0;
            var$10 = 1.0;
            var$11 = 0.625;
            $ptr = 2;
        case 2:
            nms_Block_setBlockBounds($this, var$6, var$7, var$8, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            $tmp = $var1.$getBlockId($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 == $this.$blockID) {
                var$6 = 0.0;
                var$7 = 0.0;
                var$8 = 0.375;
                var$9 = 1.0;
                var$10 = 1.0;
                var$11 = 0.625;
                $ptr = 2;
                continue main;
            }
            var$6 = 0.375;
            var$7 = 0.0;
            var$8 = 0.0;
            var$9 = 0.625;
            var$10 = 1.0;
            var$11 = 1.0;
            $ptr = 4;
        case 4:
            nms_Block_setBlockBounds($this, var$6, var$7, var$8, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    function nms_BlockPortal_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockPortal_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockPortal_tryToCreatePortal($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, $var9, var$8, var$9, var$10, var$11, var$12, $var7, $var8, $var10, $var8_0, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8_0 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var9 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = 0;
            $var6 = 0;
            $var9 = $var2 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var9, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var9 != nms_Block_obsidian.$blockID) {
                $var9 = $var2 + 1 | 0;
                $ptr = 3;
                continue main;
            }
            $var5 = 1;
            $var9 = $var4 - 1 | 0;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = nms_World_getBlockId($var1, $var9, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var9 == nms_Block_obsidian.$blockID)
                $var5 = 1;
            $var9 = $var4 - 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var9 != nms_Block_obsidian.$blockID) {
                $var9 = $var4 + 1 | 0;
                $ptr = 5;
                continue main;
            }
            $var6 = 1;
            var$8 = jl_System_out();
            var$9 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$9);
            jl_AbstractStringBuilder_append0(var$9, $var5 << 24 >> 24);
            var$10 = $rt_s(107);
            $ptr = 6;
            continue main;
        case 5:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var9 == nms_Block_obsidian.$blockID)
                $var6 = 1;
            var$8 = jl_System_out();
            var$9 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$9);
            jl_AbstractStringBuilder_append0(var$9, $var5 << 24 >> 24);
            var$10 = $rt_s(107);
            $ptr = 6;
        case 6:
            $tmp = jl_StringBuilder_append(var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            jl_AbstractStringBuilder_append0(var$10, $var6 << 24 >> 24);
            $ptr = 7;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString(var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            $ptr = 8;
        case 8:
            ji_PrintStream_println0(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 == $var6)
                return 0;
            var$11 = $var2 - $var5 | 0;
            var$12 = $var4 - $var6 | 0;
            $ptr = 9;
        case 9:
            $tmp = nms_World_getBlockId($var1, var$11, $var3, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var9) {
                var$11 = $var2;
                var$12 = $var4;
            }
            $var7 = (-1);
            a: while (true) {
                $var8 = $rt_compare($var7, 2);
                if ($var8 > 0) {
                    $var1.$editingBlocks = 1;
                    $var2 = 0;
                    while ($var2 < 2) {
                        $var8 = 0;
                        if ($var8 < 3) {
                            $var4 = var$11 + $rt_imul($var5, $var2) | 0;
                            $var9 = $var3 + $var8 | 0;
                            $var10 = var$12 + $rt_imul($var6, $var2) | 0;
                            $var7 = nms_Block_portal.$blockID;
                            $ptr = 10;
                            continue main;
                        }
                        $var2 = $var2 + 1 | 0;
                    }
                    $var1.$editingBlocks = 0;
                    return 1;
                }
                $var8_0 = (-1);
                while (true) {
                    $var10 = $rt_compare($var8_0, 3);
                    if ($var10 > 0)
                        break;
                    $var2 = $rt_compare($var7, (-1));
                    $var9 = $var2 && $var8 && $var8_0 != (-1) && $var10 ? 0 : 1;
                    if ($var2 && $var8)
                        break a;
                    if ($var8_0 != (-1) && $var10)
                        break a;
                    $var8_0 = $var8_0 + 1 | 0;
                }
                $var7 = $var7 + 1 | 0;
            }
            $var2 = var$11 + $rt_imul($var5, $var7) | 0;
            $var4 = $var3 + $var8_0 | 0;
            $var10 = var$12 + $rt_imul($var6, $var7) | 0;
            $ptr = 11;
            continue main;
        case 10:
            nms_World_setBlockWithNotify($var1, $var4, $var9, $var10, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var8 + 1 | 0;
            while (true) {
                if ($var8 < 3) {
                    $var4 = var$11 + $rt_imul($var5, $var2) | 0;
                    $var9 = $var3 + $var8 | 0;
                    $var10 = var$12 + $rt_imul($var6, $var2) | 0;
                    $var7 = nms_Block_portal.$blockID;
                    continue main;
                }
                $var2 = $var2 + 1 | 0;
                if ($var2 >= 2)
                    break;
                $var8 = 0;
            }
            $var1.$editingBlocks = 0;
            return 1;
        case 11:
            b: {
                $tmp = nms_World_getBlockId($var1, $var2, $var4, $var10);
                if ($rt_suspending()) {
                    break main;
                }
                $var10 = $tmp;
                if ($var9) {
                    if ($var10 == nms_Block_obsidian.$blockID)
                        break b;
                    return 0;
                }
                if ($var10 && $var10 != nms_Block_fire.$blockID)
                    return 0;
            }
            while (true) {
                $var8_0 = $var8_0 + 1 | 0;
                while (true) {
                    $var10 = $rt_compare($var8_0, 3);
                    if ($var10 <= 0)
                        break;
                    $var7 = $var7 + 1 | 0;
                    $var8 = $rt_compare($var7, 2);
                    if ($var8 > 0) {
                        $var1.$editingBlocks = 1;
                        $var2 = 0;
                        while ($var2 < 2) {
                            $var8 = 0;
                            if ($var8 < 3) {
                                $var4 = var$11 + $rt_imul($var5, $var2) | 0;
                                $var9 = $var3 + $var8 | 0;
                                $var10 = var$12 + $rt_imul($var6, $var2) | 0;
                                $var7 = nms_Block_portal.$blockID;
                                $ptr = 10;
                                continue main;
                            }
                            $var2 = $var2 + 1 | 0;
                        }
                        $var1.$editingBlocks = 0;
                        return 1;
                    }
                    $var8_0 = (-1);
                }
                $var2 = $rt_compare($var7, (-1));
                $var9 = $var2 && $var8 && $var8_0 != (-1) && $var10 ? 0 : 1;
                if ($var2 && $var8)
                    break;
                if ($var8_0 == (-1))
                    continue;
                if (!$var10)
                    continue;
                else
                    break;
            }
            $var2 = var$11 + $rt_imul($var5, $var7) | 0;
            $var4 = $var3 + $var8_0 | 0;
            $var10 = var$12 + $rt_imul($var6, $var7) | 0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var9, var$8, var$9, var$10, var$11, var$12, $var7, $var8, $var10, $var8_0, $ptr);
    }
    function nms_BlockPortal_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var11, $var8, $var9, $var10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var11 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = 0;
            $var7 = 1;
            $var11 = $var2 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var11, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 != $this.$blockID) {
                $var5 = $var2 + 1 | 0;
                $ptr = 2;
                continue main;
            }
            $var6 = 1;
            $var7 = 0;
            $var8 = $var3;
            $var5 = $var8 - 1 | 0;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 == $this.$blockID) {
                $var6 = 1;
                $var7 = 0;
            }
            $var8 = $var3;
            $var5 = $var8 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId($var1, $var2, $var5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var9 != $this.$blockID) {
                $ptr = 4;
                continue main;
            }
            $var8 = $var8 + (-1) | 0;
            $var5 = $var8 - 1 | 0;
            continue main;
        case 4:
            $tmp = nms_World_getBlockId($var1, $var2, $var5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 5;
        case 5:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 != nms_Block_obsidian.$blockID) {
                $var5 = 0;
                $ptr = 6;
                continue main;
            }
            $var9 = 1;
            if ($var9 < 4) {
                $var5 = $var8 + $var9 | 0;
                $ptr = 7;
                continue main;
            }
            if ($var9 != 3) {
                $var5 = 0;
                $ptr = 8;
                continue main;
            }
            $var5 = $var8 + $var9 | 0;
            $ptr = 9;
            continue main;
        case 6:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            $tmp = nms_World_getBlockId($var1, $var2, $var5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 == $this.$blockID) {
                $var9 = $var9 + 1 | 0;
                if ($var9 < 4) {
                    $var5 = $var8 + $var9 | 0;
                    continue main;
                }
            }
            if ($var9 != 3) {
                $var5 = 0;
                $ptr = 8;
                continue main;
            }
            $var5 = $var8 + $var9 | 0;
            $ptr = 9;
            continue main;
        case 8:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 9:
            $tmp = nms_World_getBlockId($var1, $var2, $var5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 == nms_Block_obsidian.$blockID) {
                $ptr = 10;
                continue main;
            }
            $var5 = 0;
            $ptr = 8;
            continue main;
        case 10:
            $tmp = nms_World_getBlockId($var1, $var11, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 != $this.$blockID) {
                $var5 = $var2 + 1 | 0;
                $ptr = 11;
                continue main;
            }
            $var10 = 1;
            $var5 = $var4 - 1 | 0;
            $ptr = 12;
            continue main;
        case 11:
            $tmp = nms_World_getBlockId($var1, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var10 = $var5 == $this.$blockID ? 1 : 0;
            $var5 = $var4 - 1 | 0;
            $ptr = 12;
        case 12:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 != $this.$blockID) {
                $var5 = $var4 + 1 | 0;
                $ptr = 13;
                continue main;
            }
            if ($var10 && 1) {
                $var5 = 0;
                $ptr = 17;
                continue main;
            }
            $var9 = $var2 + $var6 | 0;
            $var10 = $var4 + $var7 | 0;
            $ptr = 14;
            continue main;
        case 13:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var11 = $var5 == $this.$blockID ? 1 : 0;
            if ($var10 && $var11) {
                $var5 = 0;
                $ptr = 17;
                continue main;
            }
            $var9 = $var2 + $var6 | 0;
            $var10 = $var4 + $var7 | 0;
            $ptr = 14;
        case 14:
            $tmp = nms_World_getBlockId($var1, $var9, $var3, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8 != nms_Block_obsidian.$blockID) {
                $var5 = $var2 - $var6 | 0;
                $var8 = $var4 - $var7 | 0;
                $ptr = 15;
                continue main;
            }
            $var5 = $var2 - $var6 | 0;
            $var8 = $var4 - $var7 | 0;
            $ptr = 16;
            continue main;
        case 15:
            $tmp = nms_World_getBlockId($var1, $var5, $var3, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 == nms_Block_obsidian.$blockID) {
                $ptr = 19;
                continue main;
            }
            $var5 = 0;
            $ptr = 18;
            continue main;
        case 16:
            $tmp = nms_World_getBlockId($var1, $var5, $var3, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 == $this.$blockID)
                return;
            $var5 = $var2 - $var6 | 0;
            $var8 = $var4 - $var7 | 0;
            $ptr = 15;
            continue main;
        case 17:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 18:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 19:
            $tmp = nms_World_getBlockId($var1, $var9, $var3, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 == $this.$blockID)
                return;
            $var5 = 0;
            $ptr = 18;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var11, $var8, $var9, $var10, $ptr);
    }
    function nms_BlockPortal_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5) {
        return 1;
    }
    function nms_BlockPortal_quantityDropped($this, $var1) {
        return 0;
    }
    function nms_BlockPortal_getRenderBlockPass($this) {
        return 1;
    }
    function nms_BlockPortal_onEntityCollidedWithBlock($this, $var1, $var2, $var3, $var4, $var5) {
        if (!$var1.$multiplayerWorld)
            $var5.$setInPortal();
    }
    function nms_BlockPortal_randomDisplayTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, var$7, var$8, var$9, var$10, var$11, $var6, var$13, var$14, var$15, var$16, var$17, $var7, $var9, $var11, $var19, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var19 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var6 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!ju_Random_nextInt($var5, 100)) {
                var$6 = $var2 + 0.5;
                var$7 = $var3 + 0.5;
                var$8 = $var4 + 0.5;
                var$9 = $rt_s(958);
                var$10 = 1.0;
                var$11 = ju_Random_nextFloat($var5) * 0.4000000059604645 + 0.800000011920929;
                $ptr = 1;
                continue main;
            }
            $var6 = 0;
            var$10 = $var2;
            var$11 = $var3;
            var$13 = $var4;
            var$14 = $var2 - 1 | 0;
            var$15 = $var2 + 1 | 0;
            var$16 = $var2 + 0.5;
            var$17 = $var4 + 0.5;
            if ($var6 >= 4)
                return;
            $var7 = var$10 + ju_Random_nextFloat($var5);
            $var9 = var$11 + ju_Random_nextFloat($var5);
            $var11 = var$13 + ju_Random_nextFloat($var5);
            $var19 = (ju_Random_nextInt($var5, 2) * 2 | 0) - 1 | 0;
            var$8 = (ju_Random_nextFloat($var5) - 0.5) * 0.5;
            var$6 = (ju_Random_nextFloat($var5) - 0.5) * 0.5;
            var$7 = (ju_Random_nextFloat($var5) - 0.5) * 0.5;
            $ptr = 2;
            continue main;
        case 1:
            nms_World_playSoundEffect($var1, var$6, var$7, var$8, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = 0;
            var$10 = $var2;
            var$11 = $var3;
            var$13 = $var4;
            var$14 = $var2 - 1 | 0;
            var$15 = $var2 + 1 | 0;
            var$16 = $var2 + 0.5;
            var$17 = $var4 + 0.5;
            if ($var6 >= 4)
                return;
            $var7 = var$10 + ju_Random_nextFloat($var5);
            $var9 = var$11 + ju_Random_nextFloat($var5);
            $var11 = var$13 + ju_Random_nextFloat($var5);
            $var19 = (ju_Random_nextInt($var5, 2) * 2 | 0) - 1 | 0;
            var$8 = (ju_Random_nextFloat($var5) - 0.5) * 0.5;
            var$6 = (ju_Random_nextFloat($var5) - 0.5) * 0.5;
            var$7 = (ju_Random_nextFloat($var5) - 0.5) * 0.5;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, var$14, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 != $this.$blockID) {
                $ptr = 3;
                continue main;
            }
            $var11 = var$17 + 0.25 * $var19;
            var$7 = ju_Random_nextFloat($var5) * 2.0 * $var19;
            var$9 = $rt_s(662);
            $ptr = 4;
            continue main;
        case 3:
            $tmp = nms_World_getBlockId($var1, var$15, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 == $this.$blockID) {
                $var11 = var$17 + 0.25 * $var19;
                var$7 = ju_Random_nextFloat($var5) * 2.0 * $var19;
            } else {
                $var7 = var$16 + 0.25 * $var19;
                var$8 = ju_Random_nextFloat($var5) * 2.0 * $var19;
            }
            var$9 = $rt_s(662);
            $ptr = 4;
        case 4:
            nms_World_spawnParticle($var1, var$9, $var7, $var9, $var11, var$8, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 4)
                return;
            $var7 = var$10 + ju_Random_nextFloat($var5);
            $var9 = var$11 + ju_Random_nextFloat($var5);
            $var11 = var$13 + ju_Random_nextFloat($var5);
            $var19 = (ju_Random_nextInt($var5, 2) * 2 | 0) - 1 | 0;
            var$8 = (ju_Random_nextFloat($var5) - 0.5) * 0.5;
            var$6 = (ju_Random_nextFloat($var5) - 0.5) * 0.5;
            var$7 = (ju_Random_nextFloat($var5) - 0.5) * 0.5;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, var$9, var$10, var$11, $var6, var$13, var$14, var$15, var$16, var$17, $var7, $var9, $var11, $var19, $ptr);
    }
    var nms_BlockCake = $rt_classWithoutFields(nms_Block);
    function nms_BlockCake__init_0(var_0, var_1) {
        var var_2 = new nms_BlockCake();
        nms_BlockCake__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockCake__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$3 = nms_Material_cakeMaterial;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 1;
            $ptr = 2;
        case 2:
            nms_Block_setTickOnLoad($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_BlockCake_setBlockBoundsBasedOnState($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, $var7, $var8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockMetadata($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = 0.0625;
            $var7 = (1 + ($var5 * 2 | 0) | 0) / 16.0;
            $var8 = 0.5;
            var$9 = 0.0;
            var$10 = 0.9375;
            $ptr = 2;
        case 2:
            nms_Block_setBlockBounds($this, $var7, var$9, $var6, var$10, $var8, var$10);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, var$9, var$10, $ptr);
    }
    function nms_BlockCake_setBlockBoundsForItemRender($this) {
        var $var1, $var2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = 0.0625;
            $var2 = 0.5;
            var$3 = 0.0;
            var$4 = 0.9375;
            $ptr = 1;
        case 1:
            nms_Block_setBlockBounds($this, $var1, var$3, $var1, var$4, $var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_BlockCake_getCollisionBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        var $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            return nms_AxisAlignedBB_getBoundingBoxFromPool($var2 + (1 + ($var5 * 2 | 0) | 0) / 16.0, $var3, $var4 + 0.0625, ($var2 + 1 | 0) - 0.0625, $var3 + 0.5 - 0.0625, ($var4 + 1 | 0) - 0.0625);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockCake_getSelectedBoundingBoxFromPool($this, $var1, $var2, $var3, $var4) {
        var $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            return nms_AxisAlignedBB_getBoundingBoxFromPool($var2 + (1 + ($var5 * 2 | 0) | 0) / 16.0, $var3, $var4 + 0.0625, ($var2 + 1 | 0) - 0.0625, $var3 + 0.5, ($var4 + 1 | 0) - 0.0625);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockCake_getBlockTextureFromSideAndMetadata($this, $var1, $var2) {
        return $var1 == 1 ? $this.$blockIndexInTexture : !$var1 ? $this.$blockIndexInTexture + 3 | 0 : $var2 > 0 && $var1 == 4 ? $this.$blockIndexInTexture + 2 | 0 : $this.$blockIndexInTexture + 1 | 0;
    }
    function nms_BlockCake_getBlockTextureFromSide($this, $var1) {
        return $var1 == 1 ? $this.$blockIndexInTexture : $var1 ? $this.$blockIndexInTexture + 1 | 0 : $this.$blockIndexInTexture + 3 | 0;
    }
    function nms_BlockCake_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockCake_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockCake_blockActivated($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockCake_eatCakeSlice($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockCake_onBlockClicked($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_BlockCake_eatCakeSlice($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockCake_eatCakeSlice($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var5.$health >= 20)
                return;
            $var5.$heal(3);
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var6 = $var6 + 1 | 0;
            if ($var6 < 6) {
                $ptr = 2;
                continue main;
            }
            $var6 = 0;
            $ptr = 4;
            continue main;
        case 2:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_World_markBlockAsNeedsUpdate($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockCake_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_Block_canPlaceBlockAt($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (!var$5)
                return 0;
            $ptr = 2;
        case 2:
            $tmp = nms_BlockCake_canBlockStay($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockCake_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_BlockCake_canBlockStay($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                return;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            $ptr = 4;
        case 4:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockCake_canBlockStay($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1.$isSolid();
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_BlockCake_quantityDropped($this, $var1) {
        return 0;
    }
    function nms_BlockCake_idDropped($this, $var1, $var2) {
        return 0;
    }
    function nms_BlockRedstoneRepeater() {
        nms_Block.call(this);
        this.$field_22025_c = 0;
    }
    var nms_BlockRedstoneRepeater_field_22024_a = null;
    var nms_BlockRedstoneRepeater_field_22023_b = null;
    function nms_BlockRedstoneRepeater__init_0(var_0, var_1) {
        var var_2 = new nms_BlockRedstoneRepeater();
        nms_BlockRedstoneRepeater__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_BlockRedstoneRepeater__init_($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = 102;
            nms_Material_$callClinit();
            var$4 = nms_Material_circuits;
            $ptr = 1;
        case 1:
            nms_Block__init_2($this, $var1, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_22025_c = $var2;
            var$5 = 0.0;
            var$6 = 0.0;
            var$7 = 0.0;
            var$8 = 1.0;
            var$9 = 0.125;
            var$10 = 1.0;
            $ptr = 2;
        case 2:
            nms_Block_setBlockBounds($this, var$5, var$6, var$7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_BlockRedstoneRepeater_renderAsNormalBlock($this) {
        return 0;
    }
    function nms_BlockRedstoneRepeater_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (!var$5)
                return 0;
            $ptr = 2;
        case 2:
            $tmp = nms_Block_canPlaceBlockAt($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_BlockRedstoneRepeater_canBlockStay($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return !$var2 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_BlockRedstoneRepeater_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = nms_BlockRedstoneRepeater_func_22022_g($this, $var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var8 = $this.$field_22025_c;
            if ($var8 && !$var7) {
                $ptr = 5;
                continue main;
            }
            if ($var8)
                return;
            $ptr = 3;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = nms_Block_redstoneRepeaterActive.$blockID;
            $ptr = 4;
        case 4:
            nms_World_setBlockAndMetadataWithNotify($var1, $var2, $var3, $var4, $var8, $var6);
            if ($rt_suspending()) {
                break main;
            }
            if ($var7)
                return;
            $var8 = ($var6 & 12) >> 2;
            $var6 = nms_Block_redstoneRepeaterActive.$blockID;
            $var7 = nms_BlockRedstoneRepeater_field_22023_b.data[$var8] * 2 | 0;
            $ptr = 7;
            continue main;
        case 5:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var7 = nms_Block_redstoneRepeaterIdle.$blockID;
            $ptr = 6;
        case 6:
            nms_World_setBlockAndMetadataWithNotify($var1, $var2, $var3, $var4, $var7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            $var1.$scheduleBlockUpdate($var2, $var3, $var4, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $ptr);
    }
    function nms_BlockRedstoneRepeater_getBlockTextureFromSideAndMetadata($this, $var1, $var2) {
        return !$var1 ? (!$this.$field_22025_c ? 115 : 99) : $var1 != 1 ? 5 : !$this.$field_22025_c ? 131 : 147;
    }
    function nms_BlockRedstoneRepeater_shouldSideBeRendered($this, $var1, $var2, $var3, $var4, $var5) {
        return $var5 && $var5 != 1 ? 1 : 0;
    }
    function nms_BlockRedstoneRepeater_getRenderType($this) {
        return 15;
    }
    function nms_BlockRedstoneRepeater_getBlockTextureFromSide($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 0;
            $ptr = 1;
        case 1:
            $tmp = nms_BlockRedstoneRepeater_getBlockTextureFromSideAndMetadata($this, $var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_BlockRedstoneRepeater_isIndirectlyPoweringTo($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_BlockRedstoneRepeater_isPoweringTo($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockRedstoneRepeater_isPoweringTo($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$field_22025_c)
                return 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var6 = $var2 & 3;
            return !$var6 && $var5 == 3 ? 1 : $var6 == 1 && $var5 == 4 ? 1 : $var6 == 2 && $var5 == 2 ? 1 : $var6 == 3 && $var5 == 5 ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_BlockRedstoneRepeater_onNeighborBlockChange($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_BlockRedstoneRepeater_canBlockStay($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5) {
                $ptr = 2;
                continue main;
            }
            $ptr = 4;
            continue main;
        case 2:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = nms_BlockRedstoneRepeater_func_22022_g($this, $var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var8 = ($var6 & 12) >> 2;
            $var5 = $this.$field_22025_c;
            if ($var5 && !$var7) {
                $var6 = $this.$blockID;
                $var5 = nms_BlockRedstoneRepeater_field_22023_b.data[$var8] * 2 | 0;
                $ptr = 7;
                continue main;
            }
            if (!$var5 && $var7) {
                $var5 = $this.$blockID;
                $var8 = nms_BlockRedstoneRepeater_field_22023_b.data[$var8] * 2 | 0;
                $ptr = 8;
                continue main;
            }
            return;
        case 4:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 5;
        case 5:
            nms_Block_dropBlockAsItem($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0;
            $ptr = 6;
        case 6:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            $var1.$scheduleBlockUpdate($var2, $var3, $var4, $var6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            $var1.$scheduleBlockUpdate($var2, $var3, $var4, $var5, $var8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $ptr);
    }
    function nms_BlockRedstoneRepeater_func_22022_g($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            switch ($var5 & 3) {
                case 0:
                    $var4 = $var4 + 1 | 0;
                    $var5 = 3;
                    $ptr = 1;
                    continue main;
                case 1:
                    $var2 = $var2 - 1 | 0;
                    $var5 = 4;
                    $ptr = 2;
                    continue main;
                case 2:
                    $var4 = $var4 - 1 | 0;
                    $var5 = 2;
                    $ptr = 3;
                    continue main;
                case 3:
                    $var2 = $var2 + 1 | 0;
                    $var5 = 5;
                    $ptr = 4;
                    continue main;
                default:
            }
            return 0;
        case 1:
            $tmp = nms_World_isBlockIndirectlyProvidingPowerTo($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        case 2:
            $tmp = nms_World_isBlockIndirectlyProvidingPowerTo($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        case 3:
            $tmp = nms_World_isBlockIndirectlyProvidingPowerTo($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        case 4:
            $tmp = nms_World_isBlockIndirectlyProvidingPowerTo($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_BlockRedstoneRepeater_blockActivated($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = ((($var6 & 12) >> 2) + 1 | 0) << 2 & 12 | $var6 & 3;
            $ptr = 2;
        case 2:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_BlockRedstoneRepeater_canProvidePower($this) {
        return 0;
    }
    function nms_BlockRedstoneRepeater_onBlockPlacedBy($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = ((nms_MathHelper_floor_double($var5.$rotationYaw * 4.0 / 360.0 + 0.5) & 3) + 2 | 0) % 4 | 0;
            $ptr = 1;
        case 1:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_BlockRedstoneRepeater_func_22022_g($this, $var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if (!$var7)
                return;
            $var6 = $this.$blockID;
            $var7 = 1;
            $ptr = 3;
        case 3:
            $var1.$scheduleBlockUpdate($var2, $var3, $var4, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_BlockRedstoneRepeater_onBlockAdded($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var2 + 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 1;
        case 1:
            nms_World_notifyBlocksOfNeighborChange($var1, var$5, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var2 - 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 2;
        case 2:
            nms_World_notifyBlocksOfNeighborChange($var1, var$5, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var4 + 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 3;
        case 3:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var4 - 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 4;
        case 4:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var3 - 1 | 0;
            var$6 = $this.$blockID;
            $ptr = 5;
        case 5:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, var$5, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var3 + 1 | 0;
            var$5 = $this.$blockID;
            $ptr = 6;
        case 6:
            nms_World_notifyBlocksOfNeighborChange($var1, $var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $ptr);
    }
    function nms_BlockRedstoneRepeater_isOpaqueCube($this) {
        return 0;
    }
    function nms_BlockRedstoneRepeater_idDropped($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_redstoneRepeater.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_BlockRedstoneRepeater_randomDisplayTick($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var9, $var11, $var13, $var15, $var17, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$field_22025_c)
                return;
            $ptr = 1;
        case 1:
            a: {
                $tmp = nms_World_getBlockMetadata($var1, $var2, $var3, $var4);
                if ($rt_suspending()) {
                    break main;
                }
                $var6 = $tmp;
                $var7 = $var2 + 0.5 + (ju_Random_nextFloat($var5) - 0.5) * 0.2;
                $var9 = $var3 + 0.4000000059604645 + (ju_Random_nextFloat($var5) - 0.5) * 0.2;
                $var11 = $var4 + 0.5 + (ju_Random_nextFloat($var5) - 0.5) * 0.2;
                $var13 = 0.0;
                $var15 = 0.0;
                if (!ju_Random_nextInt($var5, 2))
                    b: {
                        switch ($var6 & 3) {
                            case 0:
                                $var15 = (-0.3125);
                                break b;
                            case 1:
                                $var13 = 0.3125;
                                break b;
                            case 2:
                                $var15 = 0.3125;
                                break b;
                            case 3:
                                $var13 = (-0.3125);
                                break b;
                            default:
                        }
                    }
                else {
                    $var17 = ($var6 & 12) >> 2;
                    switch ($var6 & 3) {
                        case 0:
                            $var15 = nms_BlockRedstoneRepeater_field_22024_a.data[$var17];
                            break a;
                        case 1:
                            $var13 =  -nms_BlockRedstoneRepeater_field_22024_a.data[$var17];
                            break a;
                        case 2:
                            $var15 =  -nms_BlockRedstoneRepeater_field_22024_a.data[$var17];
                            break a;
                        case 3:
                            $var13 = nms_BlockRedstoneRepeater_field_22024_a.data[$var17];
                            break a;
                        default:
                    }
                }
            }
            $var5 = $rt_s(935);
            $var7 = $var7 + $var13;
            $var15 = $var11 + $var15;
            var$13 = 0.0;
            $var11 = 0.0;
            $var13 = 0.0;
            $ptr = 2;
        case 2:
            nms_World_spawnParticle($var1, $var5, $var7, $var9, $var15, var$13, $var11, $var13);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var9, $var11, $var13, $var15, $var17, var$13, $ptr);
    }
    function nms_BlockRedstoneRepeater__clinit_() {
        nms_BlockRedstoneRepeater_field_22024_a = $rt_createDoubleArrayFromData([(-0.0625), 0.0625, 0.1875, 0.3125]);
        nms_BlockRedstoneRepeater_field_22023_b = $rt_createIntArrayFromData([1, 2, 3, 4]);
    }
    var nms_BlockLockedChest = $rt_classWithoutFields(nms_Block);
    function nms_BlockLockedChest__init_0(var_0) {
        var var_1 = new nms_BlockLockedChest();
        nms_BlockLockedChest__init_(var_1, var_0);
        return var_1;
    }
    function nms_BlockLockedChest__init_($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Material_$callClinit();
            var$2 = nms_Material_wood;
            $ptr = 1;
        case 1:
            nms_Block__init_0($this, $var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$blockIndexInTexture = 26;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_BlockLockedChest_getBlockTexture($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var8, $var9, $var10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var5 == 1)
                return $this.$blockIndexInTexture - 1 | 0;
            if (!$var5)
                return $this.$blockIndexInTexture - 1 | 0;
            $var6 = $var4 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = $var1.$getBlockId($var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = $var4 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = $var1.$getBlockId($var2, $var3, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var8 = $var2 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = $var1.$getBlockId($var8, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var2 = $var2 + 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = $var1.$getBlockId($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $var10 = 3;
            $ptr = 5;
        case 5:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$11 = nms_Block_opaqueCubeLookup.data;
            if (var$11[$var6] && !var$11[$var7])
                $var10 = 3;
            if (var$11[$var7] && !var$11[$var6])
                $var10 = 2;
            if (var$11[$var8] && !var$11[$var9])
                $var10 = 5;
            if (var$11[$var9] && !var$11[$var8])
                $var10 = 4;
            return $var5 != $var10 ? $this.$blockIndexInTexture : $this.$blockIndexInTexture + 1 | 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, var$11, $ptr);
    }
    function nms_BlockLockedChest_getBlockTextureFromSide($this, $var1) {
        return $var1 == 1 ? $this.$blockIndexInTexture - 1 | 0 : !$var1 ? $this.$blockIndexInTexture - 1 | 0 : $var1 != 3 ? $this.$blockIndexInTexture : $this.$blockIndexInTexture + 1 | 0;
    }
    function nms_BlockLockedChest_canPlaceBlockAt($this, $var1, $var2, $var3, $var4) {
        return 1;
    }
    function nms_BlockLockedChest_updateTick($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = 0;
            $ptr = 1;
        case 1:
            nms_World_setBlockWithNotify($var1, $var2, $var3, $var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_Item() {
        var a = this; jl_Object.call(a);
        a.$shiftedIndex = 0;
        a.$maxStackSize = 0;
        a.$maxDamage = 0;
        a.$iconIndex0 = 0;
        a.$bFull3D = 0;
        a.$hasSubtypes = 0;
        a.$containerItem = null;
        a.$itemName = null;
    }
    var nms_Item_itemRand = null;
    var nms_Item_itemsList = null;
    var nms_Item_shovelSteel = null;
    var nms_Item_pickaxeSteel = null;
    var nms_Item_axeSteel = null;
    var nms_Item_flintAndSteel = null;
    var nms_Item_appleRed = null;
    var nms_Item_bow = null;
    var nms_Item_arrow = null;
    var nms_Item_coal = null;
    var nms_Item_diamond = null;
    var nms_Item_ingotIron = null;
    var nms_Item_ingotGold = null;
    var nms_Item_swordSteel = null;
    var nms_Item_swordWood = null;
    var nms_Item_shovelWood = null;
    var nms_Item_pickaxeWood = null;
    var nms_Item_axeWood = null;
    var nms_Item_swordStone = null;
    var nms_Item_shovelStone = null;
    var nms_Item_pickaxeStone = null;
    var nms_Item_axeStone = null;
    var nms_Item_swordDiamond = null;
    var nms_Item_shovelDiamond = null;
    var nms_Item_pickaxeDiamond = null;
    var nms_Item_axeDiamond = null;
    var nms_Item_stick = null;
    var nms_Item_bowlEmpty = null;
    var nms_Item_bowlSoup = null;
    var nms_Item_swordGold = null;
    var nms_Item_shovelGold = null;
    var nms_Item_pickaxeGold = null;
    var nms_Item_axeGold = null;
    var nms_Item_silk = null;
    var nms_Item_feather = null;
    var nms_Item_gunpowder = null;
    var nms_Item_hoeWood = null;
    var nms_Item_hoeStone = null;
    var nms_Item_hoeSteel = null;
    var nms_Item_hoeDiamond = null;
    var nms_Item_hoeGold = null;
    var nms_Item_seeds = null;
    var nms_Item_wheat = null;
    var nms_Item_bread = null;
    var nms_Item_helmetLeather = null;
    var nms_Item_plateLeather = null;
    var nms_Item_legsLeather = null;
    var nms_Item_bootsLeather = null;
    var nms_Item_helmetChain = null;
    var nms_Item_plateChain = null;
    var nms_Item_legsChain = null;
    var nms_Item_bootsChain = null;
    var nms_Item_helmetSteel = null;
    var nms_Item_plateSteel = null;
    var nms_Item_legsSteel = null;
    var nms_Item_bootsSteel = null;
    var nms_Item_helmetDiamond = null;
    var nms_Item_plateDiamond = null;
    var nms_Item_legsDiamond = null;
    var nms_Item_bootsDiamond = null;
    var nms_Item_helmetGold = null;
    var nms_Item_plateGold = null;
    var nms_Item_legsGold = null;
    var nms_Item_bootsGold = null;
    var nms_Item_flint = null;
    var nms_Item_porkRaw = null;
    var nms_Item_porkCooked = null;
    var nms_Item_painting = null;
    var nms_Item_appleGold = null;
    var nms_Item_sign = null;
    var nms_Item_doorWood = null;
    var nms_Item_bucketEmpty = null;
    var nms_Item_bucketWater = null;
    var nms_Item_bucketLava = null;
    var nms_Item_minecartEmpty = null;
    var nms_Item_saddle = null;
    var nms_Item_doorSteel = null;
    var nms_Item_redstone = null;
    var nms_Item_snowball = null;
    var nms_Item_boat = null;
    var nms_Item_leather = null;
    var nms_Item_bucketMilk = null;
    var nms_Item_brick = null;
    var nms_Item_clay = null;
    var nms_Item_reed = null;
    var nms_Item_paper = null;
    var nms_Item_book = null;
    var nms_Item_slimeBall = null;
    var nms_Item_minecartCrate = null;
    var nms_Item_minecartPowered = null;
    var nms_Item_egg = null;
    var nms_Item_compass = null;
    var nms_Item_fishingRod = null;
    var nms_Item_pocketSundial = null;
    var nms_Item_lightStoneDust = null;
    var nms_Item_fishRaw = null;
    var nms_Item_fishCooked = null;
    var nms_Item_dyePowder = null;
    var nms_Item_bone = null;
    var nms_Item_sugar = null;
    var nms_Item_cake = null;
    var nms_Item_bed = null;
    var nms_Item_redstoneRepeater = null;
    var nms_Item_cookie = null;
    var nms_Item_record13 = null;
    var nms_Item_recordCat = null;
    var nms_Item_$clinitCalled = false;
    function nms_Item_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_Item_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Item_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_Item__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_Item_$callClinit = $rt_eraseClinit(nms_Item);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_Item__init_0(var_0) {
        var var_1 = new nms_Item();
        nms_Item__init_(var_1, var_0);
        return var_1;
    }
    function nms_Item__init_($this, $var1) {
        var var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxStackSize = 64;
            $this.$maxDamage = 0;
            $this.$bFull3D = 0;
            $this.$hasSubtypes = 0;
            $this.$containerItem = null;
            var$2 = 256 + $var1 | 0;
            $this.$shiftedIndex = var$2;
            if (nms_Item_itemsList.data[var$2] === null) {
                nms_Item_itemsList.data[var$2] = $this;
                return;
            }
            var$3 = jl_System_out();
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            var$5 = $rt_s(959);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            jl_AbstractStringBuilder_append0(var$5, $var1);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 4;
        case 4:
            ji_PrintStream_println0(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            nms_Item_itemsList.data[var$2] = $this;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_Item_setIconIndex($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$iconIndex0 = $var1;
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Item_setMaxStackSize($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$maxStackSize = $var1;
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Item_setIconCoord($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$iconIndex0 = $var1 + ($var2 * 16 | 0) | 0;
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_Item_getIconIndex($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$iconIndex0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Item_onItemUse($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_Item_getStrVsBlock($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 1.0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_Item_onItemRightClick($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_Item_getItemStackLimit($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$maxStackSize;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Item_func_21012_a($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Item_getHasSubtypes($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$hasSubtypes;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Item_getMaxDamage($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$maxDamage;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Item_setMaxDamage($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$maxDamage = $var1;
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Item_func_25007_g($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$maxDamage > 0 && !$this.$hasSubtypes ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Item_hitEntity($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_Item_func_25008_a($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_Item_getDamageVsEntity($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Item_canHarvestBlock($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Item_saddleEntity($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_Item_setFull3D($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$bFull3D = 1;
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Item_isFull3D($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$bFull3D;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Item_shouldRotateAroundWhenRendering($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Item_setItemName($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(960);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$itemName = $var1;
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_Item_getItemName($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$itemName;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Item_getItemNameIS($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$itemName;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Item_setContainerItem($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$maxStackSize <= 1) {
                $this.$containerItem = $var1;
                return $this;
            }
            var$2 = new jl_IllegalArgumentException;
            jl_Throwable__init_(var$2, $rt_s(961));
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Item_getContainerItem($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$containerItem;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Item_hasContainerItem($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$containerItem === null ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Item_func_25009_k($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $this.$getItemName();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$3 = $rt_s(591);
            $ptr = 3;
        case 3:
            jl_StringBuilder_append(var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 5;
        case 5:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_Item__clinit_() {
        var var$1, var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Item_itemRand = ju_Random__init_0();
            nms_Item_itemsList = $rt_createArray(nms_Item, 32000);
            var$1 = new nms_ItemSpade;
            var$2 = 0;
            nms_EnumToolMaterial_$callClinit();
            var$3 = nms_EnumToolMaterial_IRON;
            $ptr = 1;
        case 1:
            nms_ItemSpade__init_(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 2;
            var$4 = 5;
            $ptr = 2;
        case 2:
            $tmp = nms_Item_setIconCoord(var$1, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(962);
            $ptr = 3;
        case 3:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_shovelSteel = var$3;
            var$3 = new nms_ItemPickaxe;
            var$2 = 1;
            var$1 = nms_EnumToolMaterial_IRON;
            $ptr = 4;
        case 4:
            nms_ItemPickaxe__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 2;
            var$4 = 6;
            $ptr = 5;
        case 5:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(963);
            $ptr = 6;
        case 6:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_pickaxeSteel = var$3;
            var$3 = new nms_ItemAxe;
            var$2 = 2;
            var$1 = nms_EnumToolMaterial_IRON;
            $ptr = 7;
        case 7:
            nms_ItemAxe__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 2;
            var$4 = 7;
            $ptr = 8;
        case 8:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(964);
            $ptr = 9;
        case 9:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_axeSteel = var$3;
            var$3 = new nms_ItemFlintAndSteel;
            var$2 = 3;
            $ptr = 10;
        case 10:
            nms_ItemFlintAndSteel__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 5;
            var$4 = 0;
            $ptr = 11;
        case 11:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(965);
            $ptr = 12;
        case 12:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_flintAndSteel = var$3;
            var$3 = new nms_ItemFood;
            var$4 = 4;
            var$5 = 4;
            var$2 = 0;
            $ptr = 13;
        case 13:
            nms_ItemFood__init_(var$3, var$4, var$5, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 10;
            var$4 = 0;
            $ptr = 14;
        case 14:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(966);
            $ptr = 15;
        case 15:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_appleRed = var$3;
            var$3 = new nms_ItemBow;
            var$2 = 5;
            $ptr = 16;
        case 16:
            nms_ItemBow__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 5;
            var$4 = 1;
            $ptr = 17;
        case 17:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(967);
            $ptr = 18;
        case 18:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_bow = var$3;
            var$3 = new nms_Item;
            var$2 = 6;
            $ptr = 19;
        case 19:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 5;
            var$4 = 2;
            $ptr = 20;
        case 20:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(968);
            $ptr = 21;
        case 21:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_arrow = var$3;
            var$3 = new nms_ItemCoal;
            var$2 = 7;
            $ptr = 22;
        case 22:
            nms_ItemCoal__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 7;
            var$4 = 0;
            $ptr = 23;
        case 23:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(969);
            $ptr = 24;
        case 24:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_coal = var$3;
            var$3 = new nms_Item;
            var$2 = 8;
            $ptr = 25;
        case 25:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 7;
            var$4 = 3;
            $ptr = 26;
        case 26:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(970);
            $ptr = 27;
        case 27:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_diamond = var$3;
            var$3 = new nms_Item;
            var$2 = 9;
            $ptr = 28;
        case 28:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 7;
            var$4 = 1;
            $ptr = 29;
        case 29:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(971);
            $ptr = 30;
        case 30:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_ingotIron = var$3;
            var$3 = new nms_Item;
            var$2 = 10;
            $ptr = 31;
        case 31:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 7;
            var$4 = 2;
            $ptr = 32;
        case 32:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(972);
            $ptr = 33;
        case 33:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_ingotGold = var$3;
            var$3 = new nms_ItemSword;
            var$2 = 11;
            var$1 = nms_EnumToolMaterial_IRON;
            $ptr = 34;
        case 34:
            nms_ItemSword__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 2;
            var$4 = 4;
            $ptr = 35;
        case 35:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(973);
            $ptr = 36;
        case 36:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_swordSteel = var$3;
            var$3 = new nms_ItemSword;
            var$2 = 12;
            var$1 = nms_EnumToolMaterial_WOOD;
            $ptr = 37;
        case 37:
            nms_ItemSword__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            var$4 = 4;
            $ptr = 38;
        case 38:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(974);
            $ptr = 39;
        case 39:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_swordWood = var$3;
            var$3 = new nms_ItemSpade;
            var$2 = 13;
            var$1 = nms_EnumToolMaterial_WOOD;
            $ptr = 40;
        case 40:
            nms_ItemSpade__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            var$4 = 5;
            $ptr = 41;
        case 41:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(975);
            $ptr = 42;
        case 42:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_shovelWood = var$3;
            var$3 = new nms_ItemPickaxe;
            var$2 = 14;
            var$1 = nms_EnumToolMaterial_WOOD;
            $ptr = 43;
        case 43:
            nms_ItemPickaxe__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            var$4 = 6;
            $ptr = 44;
        case 44:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(976);
            $ptr = 45;
        case 45:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_pickaxeWood = var$3;
            var$3 = new nms_ItemAxe;
            var$2 = 15;
            var$1 = nms_EnumToolMaterial_WOOD;
            $ptr = 46;
        case 46:
            nms_ItemAxe__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            var$4 = 7;
            $ptr = 47;
        case 47:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(977);
            $ptr = 48;
        case 48:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_axeWood = var$3;
            var$3 = new nms_ItemSword;
            var$2 = 16;
            var$1 = nms_EnumToolMaterial_STONE;
            $ptr = 49;
        case 49:
            nms_ItemSword__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 1;
            var$4 = 4;
            $ptr = 50;
        case 50:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(978);
            $ptr = 51;
        case 51:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_swordStone = var$3;
            var$3 = new nms_ItemSpade;
            var$2 = 17;
            var$1 = nms_EnumToolMaterial_STONE;
            $ptr = 52;
        case 52:
            nms_ItemSpade__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 1;
            var$4 = 5;
            $ptr = 53;
        case 53:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(979);
            $ptr = 54;
        case 54:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_shovelStone = var$3;
            var$3 = new nms_ItemPickaxe;
            var$2 = 18;
            var$1 = nms_EnumToolMaterial_STONE;
            $ptr = 55;
        case 55:
            nms_ItemPickaxe__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 1;
            var$4 = 6;
            $ptr = 56;
        case 56:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(980);
            $ptr = 57;
        case 57:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_pickaxeStone = var$3;
            var$3 = new nms_ItemAxe;
            var$2 = 19;
            var$1 = nms_EnumToolMaterial_STONE;
            $ptr = 58;
        case 58:
            nms_ItemAxe__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 1;
            var$4 = 7;
            $ptr = 59;
        case 59:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(981);
            $ptr = 60;
        case 60:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_axeStone = var$3;
            var$3 = new nms_ItemSword;
            var$2 = 20;
            var$1 = nms_EnumToolMaterial_EMERALD;
            $ptr = 61;
        case 61:
            nms_ItemSword__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 3;
            var$4 = 4;
            $ptr = 62;
        case 62:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(982);
            $ptr = 63;
        case 63:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_swordDiamond = var$3;
            var$3 = new nms_ItemSpade;
            var$2 = 21;
            var$1 = nms_EnumToolMaterial_EMERALD;
            $ptr = 64;
        case 64:
            nms_ItemSpade__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 3;
            var$4 = 5;
            $ptr = 65;
        case 65:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(983);
            $ptr = 66;
        case 66:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_shovelDiamond = var$3;
            var$3 = new nms_ItemPickaxe;
            var$2 = 22;
            var$1 = nms_EnumToolMaterial_EMERALD;
            $ptr = 67;
        case 67:
            nms_ItemPickaxe__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 3;
            var$4 = 6;
            $ptr = 68;
        case 68:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(984);
            $ptr = 69;
        case 69:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_pickaxeDiamond = var$3;
            var$3 = new nms_ItemAxe;
            var$2 = 23;
            var$1 = nms_EnumToolMaterial_EMERALD;
            $ptr = 70;
        case 70:
            nms_ItemAxe__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 3;
            var$4 = 7;
            $ptr = 71;
        case 71:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(985);
            $ptr = 72;
        case 72:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_axeDiamond = var$3;
            var$3 = new nms_Item;
            var$2 = 24;
            $ptr = 73;
        case 73:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 5;
            var$4 = 3;
            $ptr = 74;
        case 74:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 75;
        case 75:
            $tmp = nms_Item_setFull3D(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(986);
            $ptr = 76;
        case 76:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_stick = var$3;
            var$3 = new nms_Item;
            var$2 = 25;
            $ptr = 77;
        case 77:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 7;
            var$4 = 4;
            $ptr = 78;
        case 78:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(987);
            $ptr = 79;
        case 79:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_bowlEmpty = var$3;
            var$3 = new nms_ItemSoup;
            var$2 = 26;
            var$4 = 10;
            $ptr = 80;
        case 80:
            nms_ItemSoup__init_(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 8;
            var$4 = 4;
            $ptr = 81;
        case 81:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(988);
            $ptr = 82;
        case 82:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_bowlSoup = var$3;
            var$3 = new nms_ItemSword;
            var$2 = 27;
            var$1 = nms_EnumToolMaterial_GOLD;
            $ptr = 83;
        case 83:
            nms_ItemSword__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 4;
            var$4 = 4;
            $ptr = 84;
        case 84:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(989);
            $ptr = 85;
        case 85:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_swordGold = var$3;
            var$3 = new nms_ItemSpade;
            var$2 = 28;
            var$1 = nms_EnumToolMaterial_GOLD;
            $ptr = 86;
        case 86:
            nms_ItemSpade__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 4;
            var$4 = 5;
            $ptr = 87;
        case 87:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(990);
            $ptr = 88;
        case 88:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_shovelGold = var$3;
            var$3 = new nms_ItemPickaxe;
            var$2 = 29;
            var$1 = nms_EnumToolMaterial_GOLD;
            $ptr = 89;
        case 89:
            nms_ItemPickaxe__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 4;
            var$4 = 6;
            $ptr = 90;
        case 90:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(991);
            $ptr = 91;
        case 91:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_pickaxeGold = var$3;
            var$3 = new nms_ItemAxe;
            var$2 = 30;
            var$1 = nms_EnumToolMaterial_GOLD;
            $ptr = 92;
        case 92:
            nms_ItemAxe__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 4;
            var$4 = 7;
            $ptr = 93;
        case 93:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(992);
            $ptr = 94;
        case 94:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_axeGold = var$3;
            var$3 = new nms_Item;
            var$2 = 31;
            $ptr = 95;
        case 95:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 8;
            var$4 = 0;
            $ptr = 96;
        case 96:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(203);
            $ptr = 97;
        case 97:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_silk = var$3;
            var$3 = new nms_Item;
            var$2 = 32;
            $ptr = 98;
        case 98:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 8;
            var$4 = 1;
            $ptr = 99;
        case 99:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(993);
            $ptr = 100;
        case 100:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_feather = var$3;
            var$3 = new nms_Item;
            var$2 = 33;
            $ptr = 101;
        case 101:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 8;
            var$4 = 2;
            $ptr = 102;
        case 102:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(994);
            $ptr = 103;
        case 103:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_gunpowder = var$3;
            var$3 = new nms_ItemHoe;
            var$2 = 34;
            var$1 = nms_EnumToolMaterial_WOOD;
            $ptr = 104;
        case 104:
            nms_ItemHoe__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            var$4 = 8;
            $ptr = 105;
        case 105:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(995);
            $ptr = 106;
        case 106:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_hoeWood = var$3;
            var$3 = new nms_ItemHoe;
            var$2 = 35;
            var$1 = nms_EnumToolMaterial_STONE;
            $ptr = 107;
        case 107:
            nms_ItemHoe__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 1;
            var$4 = 8;
            $ptr = 108;
        case 108:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(996);
            $ptr = 109;
        case 109:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_hoeStone = var$3;
            var$3 = new nms_ItemHoe;
            var$2 = 36;
            var$1 = nms_EnumToolMaterial_IRON;
            $ptr = 110;
        case 110:
            nms_ItemHoe__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 2;
            var$4 = 8;
            $ptr = 111;
        case 111:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(997);
            $ptr = 112;
        case 112:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_hoeSteel = var$3;
            var$3 = new nms_ItemHoe;
            var$2 = 37;
            var$1 = nms_EnumToolMaterial_EMERALD;
            $ptr = 113;
        case 113:
            nms_ItemHoe__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 3;
            var$4 = 8;
            $ptr = 114;
        case 114:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(998);
            $ptr = 115;
        case 115:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_hoeDiamond = var$3;
            var$3 = new nms_ItemHoe;
            var$2 = 38;
            var$1 = nms_EnumToolMaterial_GOLD;
            $ptr = 116;
        case 116:
            nms_ItemHoe__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 4;
            var$4 = 8;
            $ptr = 117;
        case 117:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(999);
            $ptr = 118;
        case 118:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_hoeGold = var$3;
            var$3 = new nms_ItemSeeds;
            var$2 = 39;
            $ptr = 119;
        case 119:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_Block_crops.$blockID;
            $ptr = 120;
        case 120:
            nms_ItemSeeds__init_(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 9;
            var$4 = 0;
            $ptr = 121;
        case 121:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1000);
            $ptr = 122;
        case 122:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_seeds = var$3;
            var$3 = new nms_Item;
            var$2 = 40;
            $ptr = 123;
        case 123:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 9;
            var$4 = 1;
            $ptr = 124;
        case 124:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1001);
            $ptr = 125;
        case 125:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_wheat = var$3;
            var$3 = new nms_ItemFood;
            var$2 = 41;
            var$4 = 5;
            var$5 = 0;
            $ptr = 126;
        case 126:
            nms_ItemFood__init_(var$3, var$2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 9;
            var$4 = 2;
            $ptr = 127;
        case 127:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1002);
            $ptr = 128;
        case 128:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_bread = var$3;
            var$3 = new nms_ItemArmor;
            var$4 = 42;
            var$5 = 0;
            var$6 = 0;
            var$2 = 0;
            $ptr = 129;
        case 129:
            nms_ItemArmor__init_(var$3, var$4, var$5, var$6, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            var$4 = 0;
            $ptr = 130;
        case 130:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1003);
            $ptr = 131;
        case 131:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_helmetLeather = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 43;
            var$4 = 0;
            var$5 = 0;
            var$6 = 1;
            $ptr = 132;
        case 132:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            var$4 = 1;
            $ptr = 133;
        case 133:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1004);
            $ptr = 134;
        case 134:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_plateLeather = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 44;
            var$4 = 0;
            var$5 = 0;
            var$6 = 2;
            $ptr = 135;
        case 135:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            var$4 = 2;
            $ptr = 136;
        case 136:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1005);
            $ptr = 137;
        case 137:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_legsLeather = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 45;
            var$4 = 0;
            var$5 = 0;
            var$6 = 3;
            $ptr = 138;
        case 138:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            var$4 = 3;
            $ptr = 139;
        case 139:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1006);
            $ptr = 140;
        case 140:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_bootsLeather = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 46;
            var$4 = 1;
            var$5 = 1;
            var$6 = 0;
            $ptr = 141;
        case 141:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 1;
            var$4 = 0;
            $ptr = 142;
        case 142:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1007);
            $ptr = 143;
        case 143:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_helmetChain = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 47;
            var$4 = 1;
            var$5 = 1;
            var$6 = 1;
            $ptr = 144;
        case 144:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 1;
            var$4 = 1;
            $ptr = 145;
        case 145:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1008);
            $ptr = 146;
        case 146:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_plateChain = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 48;
            var$4 = 1;
            var$5 = 1;
            var$6 = 2;
            $ptr = 147;
        case 147:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 1;
            var$4 = 2;
            $ptr = 148;
        case 148:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1009);
            $ptr = 149;
        case 149:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_legsChain = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 49;
            var$4 = 1;
            var$5 = 1;
            var$6 = 3;
            $ptr = 150;
        case 150:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 1;
            var$4 = 3;
            $ptr = 151;
        case 151:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1010);
            $ptr = 152;
        case 152:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_bootsChain = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 50;
            var$4 = 2;
            var$5 = 2;
            var$6 = 0;
            $ptr = 153;
        case 153:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 2;
            var$4 = 0;
            $ptr = 154;
        case 154:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1011);
            $ptr = 155;
        case 155:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_helmetSteel = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 51;
            var$4 = 2;
            var$5 = 2;
            var$6 = 1;
            $ptr = 156;
        case 156:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 2;
            var$4 = 1;
            $ptr = 157;
        case 157:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1012);
            $ptr = 158;
        case 158:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_plateSteel = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 52;
            var$4 = 2;
            var$5 = 2;
            var$6 = 2;
            $ptr = 159;
        case 159:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 2;
            var$4 = 2;
            $ptr = 160;
        case 160:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1013);
            $ptr = 161;
        case 161:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_legsSteel = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 53;
            var$4 = 2;
            var$5 = 2;
            var$6 = 3;
            $ptr = 162;
        case 162:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 2;
            var$4 = 3;
            $ptr = 163;
        case 163:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1014);
            $ptr = 164;
        case 164:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_bootsSteel = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 54;
            var$4 = 3;
            var$5 = 3;
            var$6 = 0;
            $ptr = 165;
        case 165:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 3;
            var$4 = 0;
            $ptr = 166;
        case 166:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1015);
            $ptr = 167;
        case 167:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_helmetDiamond = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 55;
            var$4 = 3;
            var$5 = 3;
            var$6 = 1;
            $ptr = 168;
        case 168:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 3;
            var$4 = 1;
            $ptr = 169;
        case 169:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1016);
            $ptr = 170;
        case 170:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_plateDiamond = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 56;
            var$4 = 3;
            var$5 = 3;
            var$6 = 2;
            $ptr = 171;
        case 171:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 3;
            var$4 = 2;
            $ptr = 172;
        case 172:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1017);
            $ptr = 173;
        case 173:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_legsDiamond = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 57;
            var$4 = 3;
            var$5 = 3;
            var$6 = 3;
            $ptr = 174;
        case 174:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 3;
            var$4 = 3;
            $ptr = 175;
        case 175:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1018);
            $ptr = 176;
        case 176:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_bootsDiamond = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 58;
            var$4 = 1;
            var$5 = 4;
            var$6 = 0;
            $ptr = 177;
        case 177:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 4;
            var$4 = 0;
            $ptr = 178;
        case 178:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1019);
            $ptr = 179;
        case 179:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_helmetGold = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 59;
            var$4 = 1;
            var$5 = 4;
            var$6 = 1;
            $ptr = 180;
        case 180:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 4;
            var$4 = 1;
            $ptr = 181;
        case 181:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1020);
            $ptr = 182;
        case 182:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_plateGold = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 60;
            var$4 = 1;
            var$5 = 4;
            var$6 = 2;
            $ptr = 183;
        case 183:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 4;
            var$4 = 2;
            $ptr = 184;
        case 184:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1021);
            $ptr = 185;
        case 185:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_legsGold = var$3;
            var$3 = new nms_ItemArmor;
            var$2 = 61;
            var$4 = 1;
            var$5 = 4;
            var$6 = 3;
            $ptr = 186;
        case 186:
            nms_ItemArmor__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 4;
            var$4 = 3;
            $ptr = 187;
        case 187:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1022);
            $ptr = 188;
        case 188:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_bootsGold = var$3;
            var$3 = new nms_Item;
            var$2 = 62;
            $ptr = 189;
        case 189:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 6;
            var$4 = 0;
            $ptr = 190;
        case 190:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1023);
            $ptr = 191;
        case 191:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_flint = var$3;
            var$3 = new nms_ItemFood;
            var$2 = 63;
            var$4 = 3;
            var$5 = 1;
            $ptr = 192;
        case 192:
            nms_ItemFood__init_(var$3, var$2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 7;
            var$4 = 5;
            $ptr = 193;
        case 193:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1024);
            $ptr = 194;
        case 194:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_porkRaw = var$3;
            var$3 = new nms_ItemFood;
            var$2 = 64;
            var$4 = 8;
            var$5 = 1;
            $ptr = 195;
        case 195:
            nms_ItemFood__init_(var$3, var$2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 8;
            var$4 = 5;
            $ptr = 196;
        case 196:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1025);
            $ptr = 197;
        case 197:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_porkCooked = var$3;
            var$3 = new nms_ItemPainting;
            var$2 = 65;
            $ptr = 198;
        case 198:
            nms_ItemPainting__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 10;
            var$4 = 1;
            $ptr = 199;
        case 199:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1026);
            $ptr = 200;
        case 200:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_painting = var$3;
            var$3 = new nms_ItemFood;
            var$2 = 66;
            var$4 = 42;
            var$5 = 0;
            $ptr = 201;
        case 201:
            nms_ItemFood__init_(var$3, var$2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 11;
            var$4 = 0;
            $ptr = 202;
        case 202:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1027);
            $ptr = 203;
        case 203:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_appleGold = var$3;
            var$3 = new nms_ItemSign;
            var$2 = 67;
            $ptr = 204;
        case 204:
            nms_ItemSign__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 10;
            var$4 = 2;
            $ptr = 205;
        case 205:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(640);
            $ptr = 206;
        case 206:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_sign = var$3;
            var$3 = new nms_ItemDoor;
            var$2 = 68;
            nms_Material_$callClinit();
            var$1 = nms_Material_wood;
            $ptr = 207;
        case 207:
            nms_ItemDoor__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 11;
            var$4 = 2;
            $ptr = 208;
        case 208:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(641);
            $ptr = 209;
        case 209:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_doorWood = var$3;
            var$3 = new nms_ItemBucket;
            var$2 = 69;
            var$4 = 0;
            $ptr = 210;
        case 210:
            nms_ItemBucket__init_(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 10;
            var$4 = 4;
            $ptr = 211;
        case 211:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1028);
            $ptr = 212;
        case 212:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_bucketEmpty = var$3;
            var$3 = new nms_ItemBucket;
            var$2 = 70;
            var$4 = nms_Block_waterMoving.$blockID;
            $ptr = 213;
        case 213:
            nms_ItemBucket__init_(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 11;
            var$4 = 4;
            $ptr = 214;
        case 214:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1029);
            $ptr = 215;
        case 215:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = nms_Item_bucketEmpty;
            $ptr = 216;
        case 216:
            $tmp = nms_Item_setContainerItem(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_bucketWater = var$3;
            var$3 = new nms_ItemBucket;
            var$2 = 71;
            var$4 = nms_Block_lavaMoving.$blockID;
            $ptr = 217;
        case 217:
            nms_ItemBucket__init_(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 12;
            var$4 = 4;
            $ptr = 218;
        case 218:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1030);
            $ptr = 219;
        case 219:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = nms_Item_bucketEmpty;
            $ptr = 220;
        case 220:
            $tmp = nms_Item_setContainerItem(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_bucketLava = var$3;
            var$3 = new nms_ItemMinecart;
            var$2 = 72;
            var$4 = 0;
            $ptr = 221;
        case 221:
            nms_ItemMinecart__init_(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 7;
            var$4 = 8;
            $ptr = 222;
        case 222:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1031);
            $ptr = 223;
        case 223:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_minecartEmpty = var$3;
            var$3 = new nms_ItemSaddle;
            var$2 = 73;
            $ptr = 224;
        case 224:
            nms_ItemSaddle__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 8;
            var$4 = 6;
            $ptr = 225;
        case 225:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1032);
            $ptr = 226;
        case 226:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_saddle = var$3;
            var$3 = new nms_ItemDoor;
            var$2 = 74;
            var$1 = nms_Material_iron;
            $ptr = 227;
        case 227:
            nms_ItemDoor__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 12;
            var$4 = 2;
            $ptr = 228;
        case 228:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(647);
            $ptr = 229;
        case 229:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_doorSteel = var$3;
            var$3 = new nms_ItemRedstone;
            var$2 = 75;
            $ptr = 230;
        case 230:
            nms_ItemRedstone__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 8;
            var$4 = 3;
            $ptr = 231;
        case 231:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1033);
            $ptr = 232;
        case 232:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_redstone = var$3;
            var$3 = new nms_ItemSnowball;
            var$2 = 76;
            $ptr = 233;
        case 233:
            nms_ItemSnowball__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 14;
            var$4 = 0;
            $ptr = 234;
        case 234:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1034);
            $ptr = 235;
        case 235:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_snowball = var$3;
            var$3 = new nms_ItemBoat;
            var$2 = 77;
            $ptr = 236;
        case 236:
            nms_ItemBoat__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 8;
            var$4 = 8;
            $ptr = 237;
        case 237:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1035);
            $ptr = 238;
        case 238:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_boat = var$3;
            var$3 = new nms_Item;
            var$2 = 78;
            $ptr = 239;
        case 239:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 7;
            var$4 = 6;
            $ptr = 240;
        case 240:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1036);
            $ptr = 241;
        case 241:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_leather = var$3;
            var$3 = new nms_ItemBucket;
            var$2 = 79;
            var$4 = (-1);
            $ptr = 242;
        case 242:
            nms_ItemBucket__init_(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 13;
            var$4 = 4;
            $ptr = 243;
        case 243:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1037);
            $ptr = 244;
        case 244:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = nms_Item_bucketEmpty;
            $ptr = 245;
        case 245:
            $tmp = nms_Item_setContainerItem(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_bucketMilk = var$3;
            var$3 = new nms_Item;
            var$2 = 80;
            $ptr = 246;
        case 246:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 6;
            var$4 = 1;
            $ptr = 247;
        case 247:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(623);
            $ptr = 248;
        case 248:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_brick = var$3;
            var$3 = new nms_Item;
            var$2 = 81;
            $ptr = 249;
        case 249:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 9;
            var$4 = 3;
            $ptr = 250;
        case 250:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(654);
            $ptr = 251;
        case 251:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_clay = var$3;
            var$3 = new nms_ItemReed;
            var$2 = 82;
            var$1 = nms_Block_reed;
            $ptr = 252;
        case 252:
            nms_ItemReed__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 11;
            var$4 = 1;
            $ptr = 253;
        case 253:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(655);
            $ptr = 254;
        case 254:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_reed = var$3;
            var$3 = new nms_Item;
            var$2 = 83;
            $ptr = 255;
        case 255:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 10;
            var$4 = 3;
            $ptr = 256;
        case 256:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1038);
            $ptr = 257;
        case 257:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_paper = var$3;
            var$3 = new nms_Item;
            var$2 = 84;
            $ptr = 258;
        case 258:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 11;
            var$4 = 3;
            $ptr = 259;
        case 259:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1039);
            $ptr = 260;
        case 260:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_book = var$3;
            var$3 = new nms_Item;
            var$2 = 85;
            $ptr = 261;
        case 261:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 14;
            var$4 = 1;
            $ptr = 262;
        case 262:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1040);
            $ptr = 263;
        case 263:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_slimeBall = var$3;
            var$3 = new nms_ItemMinecart;
            var$2 = 86;
            var$4 = 1;
            $ptr = 264;
        case 264:
            nms_ItemMinecart__init_(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 7;
            var$4 = 9;
            $ptr = 265;
        case 265:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1041);
            $ptr = 266;
        case 266:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_minecartCrate = var$3;
            var$3 = new nms_ItemMinecart;
            var$2 = 87;
            var$4 = 2;
            $ptr = 267;
        case 267:
            nms_ItemMinecart__init_(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 7;
            var$4 = 10;
            $ptr = 268;
        case 268:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1042);
            $ptr = 269;
        case 269:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_minecartPowered = var$3;
            var$3 = new nms_ItemEgg;
            var$2 = 88;
            $ptr = 270;
        case 270:
            nms_ItemEgg__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 12;
            var$4 = 0;
            $ptr = 271;
        case 271:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1043);
            $ptr = 272;
        case 272:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_egg = var$3;
            var$3 = new nms_Item;
            var$2 = 89;
            $ptr = 273;
        case 273:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 6;
            var$4 = 3;
            $ptr = 274;
        case 274:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1044);
            $ptr = 275;
        case 275:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_compass = var$3;
            var$3 = new nms_ItemFishingRod;
            var$2 = 90;
            $ptr = 276;
        case 276:
            nms_ItemFishingRod__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 5;
            var$4 = 4;
            $ptr = 277;
        case 277:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1045);
            $ptr = 278;
        case 278:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_fishingRod = var$3;
            var$3 = new nms_Item;
            var$2 = 91;
            $ptr = 279;
        case 279:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 6;
            var$4 = 4;
            $ptr = 280;
        case 280:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1046);
            $ptr = 281;
        case 281:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_pocketSundial = var$3;
            var$3 = new nms_Item;
            var$2 = 92;
            $ptr = 282;
        case 282:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 9;
            var$4 = 4;
            $ptr = 283;
        case 283:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1047);
            $ptr = 284;
        case 284:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_lightStoneDust = var$3;
            var$3 = new nms_ItemFood;
            var$2 = 93;
            var$4 = 2;
            var$5 = 0;
            $ptr = 285;
        case 285:
            nms_ItemFood__init_(var$3, var$2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 9;
            var$4 = 5;
            $ptr = 286;
        case 286:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1048);
            $ptr = 287;
        case 287:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_fishRaw = var$3;
            var$3 = new nms_ItemFood;
            var$2 = 94;
            var$4 = 5;
            var$5 = 0;
            $ptr = 288;
        case 288:
            nms_ItemFood__init_(var$3, var$2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 10;
            var$4 = 5;
            $ptr = 289;
        case 289:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1049);
            $ptr = 290;
        case 290:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_fishCooked = var$3;
            var$3 = new nms_ItemDye;
            var$2 = 95;
            $ptr = 291;
        case 291:
            nms_ItemDye__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 14;
            var$4 = 4;
            $ptr = 292;
        case 292:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1050);
            $ptr = 293;
        case 293:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_dyePowder = var$3;
            var$3 = new nms_Item;
            var$2 = 96;
            $ptr = 294;
        case 294:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 12;
            var$4 = 1;
            $ptr = 295;
        case 295:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1051);
            $ptr = 296;
        case 296:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 297;
        case 297:
            $tmp = nms_Item_setFull3D(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_bone = var$3;
            var$3 = new nms_Item;
            var$2 = 97;
            $ptr = 298;
        case 298:
            nms_Item__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 13;
            var$4 = 0;
            $ptr = 299;
        case 299:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1052);
            $ptr = 300;
        case 300:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 301;
        case 301:
            $tmp = nms_Item_setFull3D(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_sugar = var$3;
            var$3 = new nms_ItemReed;
            var$2 = 98;
            var$1 = nms_Block_cake;
            $ptr = 302;
        case 302:
            nms_ItemReed__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 1;
            $ptr = 303;
        case 303:
            $tmp = nms_Item_setMaxStackSize(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$2 = 13;
            var$4 = 1;
            $ptr = 304;
        case 304:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(664);
            $ptr = 305;
        case 305:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_cake = var$3;
            var$3 = new nms_ItemBed;
            var$2 = 99;
            $ptr = 306;
        case 306:
            nms_ItemBed__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 1;
            $ptr = 307;
        case 307:
            $tmp = nms_Item_setMaxStackSize(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$2 = 13;
            var$4 = 2;
            $ptr = 308;
        case 308:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(616);
            $ptr = 309;
        case 309:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_bed = var$3;
            var$3 = new nms_ItemReed;
            var$2 = 100;
            var$1 = nms_Block_redstoneRepeaterIdle;
            $ptr = 310;
        case 310:
            nms_ItemReed__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 6;
            var$4 = 5;
            $ptr = 311;
        case 311:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(665);
            $ptr = 312;
        case 312:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_redstoneRepeater = var$3;
            var$3 = new nms_ItemCookie;
            var$2 = 101;
            var$4 = 1;
            var$5 = 0;
            var$6 = 8;
            $ptr = 313;
        case 313:
            nms_ItemCookie__init_(var$3, var$2, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 12;
            var$4 = 5;
            $ptr = 314;
        case 314:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1053);
            $ptr = 315;
        case 315:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_cookie = var$3;
            var$3 = new nms_ItemRecord;
            var$2 = 2000;
            var$1 = $rt_s(1054);
            $ptr = 316;
        case 316:
            nms_ItemRecord__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 0;
            var$4 = 15;
            $ptr = 317;
        case 317:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1055);
            $ptr = 318;
        case 318:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_record13 = var$3;
            var$3 = new nms_ItemRecord;
            var$2 = 2001;
            var$1 = $rt_s(1056);
            $ptr = 319;
        case 319:
            nms_ItemRecord__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 1;
            var$4 = 15;
            $ptr = 320;
        case 320:
            $tmp = nms_Item_setIconCoord(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$1 = $rt_s(1055);
            $ptr = 321;
        case 321:
            $tmp = nms_Item_setItemName(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Item_recordCat = var$3;
            $ptr = 322;
        case 322:
            nms_StatList_func_25151_b();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_ItemBlock() {
        nms_Item.call(this);
        this.$blockID0 = 0;
    }
    function nms_ItemBlock__init_0(var_0) {
        var var_1 = new nms_ItemBlock();
        nms_ItemBlock__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemBlock__init_($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var1 + 256 | 0;
            $this.$blockID0 = $var1;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Block_blocksList.data[$var1];
            $var1 = 2;
            $ptr = 3;
        case 3:
            $tmp = var$2.$getBlockTextureFromSide($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$iconIndex0 = $var1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_ItemBlock_onItemUse($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var var$8, var$9, var$10, $var8, var$12, var$13, var$14, var$15, var$16, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var8 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$8 == nms_Block_snow.$blockID)
                $var7 = 0;
            else {
                if (!$var7)
                    $var5 = $var5 + (-1) | 0;
                if ($var7 == 1)
                    $var5 = $var5 + 1 | 0;
                if ($var7 == 2)
                    $var6 = $var6 + (-1) | 0;
                if ($var7 == 3)
                    $var6 = $var6 + 1 | 0;
                if ($var7 == 4)
                    $var4 = $var4 + (-1) | 0;
                if ($var7 == 5)
                    $var4 = $var4 + 1 | 0;
            }
            if (!$var1.$stackSize)
                return 0;
            var$9 = $this.$blockID0;
            var$8 = 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_canBlockBePlacedAt($var3, var$9, $var4, $var5, $var6, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (!var$8)
                return 0;
            var$10 = nms_Block_blocksList.data;
            var$9 = $this.$blockID0;
            $var8 = var$10[var$9];
            var$8 = $var1.$itemDamage;
            $ptr = 4;
        case 4:
            $tmp = $this.$func_21012_a(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 5;
        case 5:
            $tmp = nms_World_setBlockAndMetadataWithNotify($var3, $var4, $var5, $var6, var$9, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (!var$8)
                return 1;
            var$12 = nms_Block_blocksList.data[$this.$blockID0];
            $ptr = 6;
        case 6:
            var$12.$onBlockPlaced($var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = nms_Block_blocksList.data[$this.$blockID0];
            $ptr = 7;
        case 7:
            var$12.$onBlockPlacedBy($var3, $var4, $var5, $var6, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $var4 + 0.5;
            var$14 = $var5 + 0.5;
            var$15 = $var6 + 0.5;
            $var2 = $var8.$stepSound;
            $ptr = 8;
        case 8:
            $tmp = nms_StepSound_func_1145_d($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$12 = $var8.$stepSound;
            var$16 = (var$12.$field_1677_b + 1.0) / 2.0;
            var$17 = var$12.$field_1679_c * 0.800000011920929;
            $ptr = 9;
        case 9:
            nms_World_playSoundEffect($var3, var$13, var$14, var$15, $var2, var$16, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, var$9, var$10, $var8, var$12, var$13, var$14, var$15, var$16, var$17, $ptr);
    }
    function nms_ItemBlock_getItemNameIS($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Block_blocksList.data[$this.$blockID0].$blockName;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemBlock_getItemName($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Block_blocksList.data[$this.$blockID0].$blockName;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    var nms_ItemCloth = $rt_classWithoutFields(nms_ItemBlock);
    function nms_ItemCloth__init_0(var_0) {
        var var_1 = new nms_ItemCloth();
        nms_ItemCloth__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemCloth__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_ItemBlock__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxDamage = 0;
            $this.$hasSubtypes = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemCloth_getIconIndex($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Block_cloth;
            var$3 = 2;
            var$4 = nms_BlockCloth_func_21034_c($var1.$itemDamage);
            $ptr = 2;
        case 2:
            $tmp = var$2.$getBlockTextureFromSideAndMetadata(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_ItemCloth_func_21012_a($this, $var1) {
        return $var1;
    }
    function nms_ItemCloth_getItemNameIS($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_ItemBlock_getItemName($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            nms_ItemDye_$callClinit();
            $var1 = nms_ItemDye_dyeColors.data[nms_BlockCloth_func_21034_c($var1.$itemDamage)];
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            jl_AbstractStringBuilder_append(var$2, 46);
            $ptr = 3;
        case 3:
            jl_StringBuilder_append(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    var nms_ItemLog = $rt_classWithoutFields(nms_ItemBlock);
    function nms_ItemLog__init_0(var_0) {
        var var_1 = new nms_ItemLog();
        nms_ItemLog__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemLog__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_ItemBlock__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxDamage = 0;
            $this.$hasSubtypes = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemLog_getIconIndex($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Block_wood;
            var$3 = 2;
            var$4 = $var1.$itemDamage;
            $ptr = 2;
        case 2:
            $tmp = var$2.$getBlockTextureFromSideAndMetadata(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_ItemLog_func_21012_a($this, $var1) {
        return $var1;
    }
    var nms_ItemSlab = $rt_classWithoutFields(nms_ItemBlock);
    function nms_ItemSlab__init_0(var_0) {
        var var_1 = new nms_ItemSlab();
        nms_ItemSlab__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemSlab__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_ItemBlock__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxDamage = 0;
            $this.$hasSubtypes = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemSlab_getIconIndex($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Block_stairSingle;
            var$3 = 2;
            var$4 = $var1.$itemDamage;
            $ptr = 2;
        case 2:
            $tmp = var$2.$getBlockTextureFromSideAndMetadata(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_ItemSlab_func_21012_a($this, $var1) {
        return $var1;
    }
    function nms_ItemSlab_getItemNameIS($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_ItemBlock_getItemName($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            nms_BlockStep_$callClinit();
            $var1 = nms_BlockStep_field_22037_a.data[$var1.$itemDamage];
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            jl_AbstractStringBuilder_append(var$2, 46);
            $ptr = 3;
        case 3:
            jl_StringBuilder_append(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    var nms_StatList = $rt_classWithoutFields();
    var nms_StatList_field_25169_C = null;
    var nms_StatList_field_25188_a = null;
    var nms_StatList_field_25187_b = null;
    var nms_StatList_field_25186_c = null;
    var nms_StatList_field_25185_d = null;
    var nms_StatList_field_25184_e = null;
    var nms_StatList_field_25183_f = null;
    var nms_StatList_field_25182_g = null;
    var nms_StatList_field_25181_h = null;
    var nms_StatList_field_25180_i = null;
    var nms_StatList_field_25179_j = null;
    var nms_StatList_field_25178_k = null;
    var nms_StatList_field_25177_l = null;
    var nms_StatList_field_25176_m = null;
    var nms_StatList_field_25175_n = null;
    var nms_StatList_field_25174_o = null;
    var nms_StatList_field_25173_p = null;
    var nms_StatList_field_25171_q = null;
    var nms_StatList_field_25168_r = null;
    var nms_StatList_field_25167_s = null;
    var nms_StatList_field_25165_t = null;
    var nms_StatList_field_25163_u = null;
    var nms_StatList_field_25162_v = null;
    var nms_StatList_field_25161_w = null;
    var nms_StatList_field_25160_x = null;
    var nms_StatList_field_25159_y = null;
    var nms_StatList_field_25158_z = null;
    var nms_StatList_field_25172_A = null;
    var nms_StatList_field_25170_B = null;
    var nms_StatList_field_25166_D = 0;
    var nms_StatList_field_25164_E = 0;
    var nms_StatList_$clinitCalled = false;
    function nms_StatList_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_StatList_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_StatList_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_StatList__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_StatList_$callClinit = $rt_eraseClinit(nms_StatList);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_StatList__init_0() {
        var var_0 = new nms_StatList();
        nms_StatList__init_(var_0);
        return var_0;
    }
    function nms_StatList__init_($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = jl_System_out();
            var$2 = nms_StatList_field_25188_a.$size0;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$4 = $rt_s(1057);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_AbstractStringBuilder_append0(var$4, var$2);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 4;
        case 4:
            ji_PrintStream_println0(var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_StatList_func_25154_a() {
        var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_StatList_field_25172_A;
            var$2 = $rt_s(1058);
            var$3 = 16908288;
            var$4 = 0;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = nms_Block_blocksList.data.length;
            $ptr = 3;
        case 3:
            $tmp = nms_StatList_func_25155_a(var$1, var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_StatList_field_25172_A = var$1;
            var$1 = nms_StatList_field_25170_B;
            var$2 = $rt_s(1059);
            var$3 = 16973824;
            var$4 = 0;
            var$5 = nms_Block_blocksList.data.length;
            $ptr = 4;
        case 4:
            $tmp = nms_StatList_func_25149_b(var$1, var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_StatList_field_25170_B = var$1;
            nms_StatList_field_25166_D = 1;
            $ptr = 5;
        case 5:
            nms_StatList_func_25157_c();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_StatList_func_25151_b() {
        var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_StatList_field_25172_A;
            var$2 = $rt_s(1058);
            var$3 = 16908288;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_Block_blocksList.data.length;
            var$5 = 32000;
            $ptr = 3;
        case 3:
            $tmp = nms_StatList_func_25155_a(var$1, var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_StatList_field_25172_A = var$1;
            var$1 = nms_StatList_field_25170_B;
            var$2 = $rt_s(1059);
            var$3 = 16973824;
            var$5 = nms_Block_blocksList.data.length;
            var$4 = 32000;
            $ptr = 4;
        case 4:
            $tmp = nms_StatList_func_25149_b(var$1, var$2, var$3, var$5, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_StatList_field_25170_B = var$1;
            nms_StatList_field_25164_E = 1;
            $ptr = 5;
        case 5:
            nms_StatList_func_25157_c();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_StatList_func_25157_c() {
        var $var0, $var5, $var1, var$4, $var3, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var3 = $thread.pop();var$4 = $thread.pop();$var1 = $thread.pop();$var5 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nms_StatList_field_25166_D && nms_StatList_field_25164_E) {
                $var0 = ju_HashSet__init_0();
                $ptr = 2;
                continue main;
            }
            return;
        case 2:
            $tmp = nms_CraftingManager_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var5 = $var5.$recipes;
            $ptr = 3;
        case 3:
            $tmp = ju_AbstractList_iterator($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!ju_AbstractList$1_hasNext($var1)) {
                $ptr = 4;
                continue main;
            }
            $ptr = 6;
            continue main;
        case 4:
            $tmp = nms_FurnaceRecipes_smelting();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var5 = ju_HashMap_values($var5.$smeltingList);
            $ptr = 5;
        case 5:
            $tmp = ju_HashMap$2_iterator($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (ju_HashMap$AbstractMapIterator_hasNext($var5)) {
                $ptr = 9;
                continue main;
            }
            nms_StatList_field_25158_z = $rt_createArray(nms_StatBasic, 32000);
            $ptr = 8;
            continue main;
        case 6:
            $tmp = ju_AbstractList$1_next($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var5 = jl_Integer_valueOf(($var5.$func_25117_b()).$itemID);
            $ptr = 7;
        case 7:
            ju_HashSet_add($var0, $var5);
            if ($rt_suspending()) {
                break main;
            }
            if (!ju_AbstractList$1_hasNext($var1)) {
                $ptr = 4;
                continue main;
            }
            $ptr = 6;
            continue main;
        case 8:
            $tmp = ju_HashSet_iterator($var0);
            if ($rt_suspending()) {
                break main;
            }
            $var0 = $tmp;
            if ($var0.$hasNext()) {
                $ptr = 12;
                continue main;
            }
            var$4 = nms_StatList_field_25158_z;
            $ptr = 11;
            continue main;
        case 9:
            $tmp = ju_HashMap$ValueIterator_next($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var3 = jl_Integer_valueOf($var3.$itemID);
            $ptr = 10;
        case 10:
            ju_HashSet_add($var0, $var3);
            if ($rt_suspending()) {
                break main;
            }
            if (ju_HashMap$AbstractMapIterator_hasNext($var5)) {
                $ptr = 9;
                continue main;
            }
            nms_StatList_field_25158_z = $rt_createArray(nms_StatBasic, 32000);
            $ptr = 8;
            continue main;
        case 11:
            nms_StatList_func_25150_a(var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 12:
            $tmp = $var0.$next();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var5 = $var5;
            $ptr = 13;
        case 13:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_Item_itemsList.data;
            var$6 = $var5.$value;
            if (var$4[var$6] === null) {
                if ($var0.$hasNext()) {
                    $ptr = 12;
                    continue main;
                }
                var$4 = nms_StatList_field_25158_z;
                $ptr = 11;
                continue main;
            }
            $var3 = $rt_s(1060);
            var$7 = $rt_createArray(jl_Object, 1);
            var$8 = var$7.data;
            var$9 = 0;
            $var1 = var$4[var$6];
            $ptr = 14;
        case 14:
            $tmp = nms_Item_func_25009_k($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$8[var$9] = $var1;
            $ptr = 15;
        case 15:
            $tmp = nms_StatCollector_func_25199_a($var3, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            var$4 = nms_StatList_field_25158_z.data;
            var$6 = $var5.$value;
            $var5 = nms_StatCrafting__init_0(16842752 + var$6 | 0, $var3, var$6);
            $ptr = 16;
        case 16:
            $tmp = nms_StatBasic_func_25068_c($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            var$4[var$6] = $var5;
            if ($var0.$hasNext()) {
                $ptr = 12;
                continue main;
            }
            var$4 = nms_StatList_field_25158_z;
            $ptr = 11;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var5, $var1, var$4, $var3, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_StatList_func_25155_a($var0, $var1, $var2, $var5, $var4) {
        var var$6, var$7, var$8, var$9, var$10, $var6, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();$var6 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();$var5 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var0 === null)
                $var0 = $rt_createArray(nms_StatBasic, 32000);
            if ($var5 >= $var4) {
                $ptr = 2;
                continue main;
            }
            $ptr = 3;
            continue main;
        case 2:
            nms_StatList_func_25150_a($var0);
            if ($rt_suspending()) {
                break main;
            }
            return $var0;
        case 3:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_Item_itemsList.data;
            if (var$6[$var5] === null) {
                $var5 = $var5 + 1 | 0;
                if ($var5 >= $var4) {
                    $ptr = 2;
                    continue main;
                }
                continue main;
            }
            var$7 = $var0.data;
            var$8 = $rt_createArray(jl_Object, 1);
            var$9 = var$8.data;
            var$10 = 0;
            $var6 = var$6[$var5];
            $ptr = 4;
        case 4:
            $tmp = nms_Item_func_25009_k($var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            var$9[var$10] = $var6;
            $ptr = 5;
        case 5:
            $tmp = nms_StatCollector_func_25199_a($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            var$12 = nms_StatCrafting__init_0($var2 + $var5 | 0, $var6, $var5);
            $ptr = 6;
        case 6:
            $tmp = nms_StatBasic_func_25068_c(var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            var$7[$var5] = $var6;
            $var5 = $var5 + 1 | 0;
            if ($var5 >= $var4) {
                $ptr = 2;
                continue main;
            }
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $var2, $var5, $var4, var$6, var$7, var$8, var$9, var$10, $var6, var$12, $ptr);
    }
    function nms_StatList_func_25149_b($var0, $var1, $var2, $var5, $var4) {
        var var$6, $var6, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();$var5 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var0 === null)
                $var0 = $rt_createArray(nms_StatBasic, 32000);
            if ($var5 >= $var4) {
                $ptr = 2;
                continue main;
            }
            $ptr = 3;
            continue main;
        case 2:
            nms_StatList_func_25150_a($var0);
            if ($rt_suspending()) {
                break main;
            }
            return $var0;
        case 3:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_Item_itemsList.data;
            if (var$6[$var5] !== null) {
                $var6 = var$6[$var5];
                $ptr = 4;
                continue main;
            }
            $var5 = $var5 + 1 | 0;
            if ($var5 >= $var4) {
                $ptr = 2;
                continue main;
            }
            continue main;
        case 4:
            $tmp = nms_Item_func_25007_g($var6);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (!var$8) {
                $var5 = $var5 + 1 | 0;
                if ($var5 >= $var4) {
                    $ptr = 2;
                    continue main;
                }
                $ptr = 3;
                continue main;
            }
            var$9 = $var0.data;
            var$6 = $rt_createArray(jl_Object, 1);
            var$10 = var$6.data;
            var$8 = 0;
            $var6 = nms_Item_itemsList.data[$var5];
            $ptr = 5;
        case 5:
            $tmp = nms_Item_func_25009_k($var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            var$10[var$8] = $var6;
            $ptr = 6;
        case 6:
            $tmp = nms_StatCollector_func_25199_a($var1, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            var$11 = nms_StatCrafting__init_0($var2 + $var5 | 0, $var6, $var5);
            $ptr = 7;
        case 7:
            $tmp = nms_StatBasic_func_25068_c(var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            var$9[$var5] = $var6;
            $var5 = $var5 + 1 | 0;
            if ($var5 >= $var4) {
                $ptr = 2;
                continue main;
            }
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $var2, $var5, $var4, var$6, $var6, var$8, var$9, var$10, var$11, $ptr);
    }
    function nms_StatList_func_25150_a($var0) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Block_waterStill.$blockID;
            var$3 = nms_Block_waterMoving.$blockID;
            $ptr = 3;
        case 3:
            nms_StatList_func_25156_a($var0, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Block_lavaStill.$blockID;
            $ptr = 4;
        case 4:
            nms_StatList_func_25156_a($var0, var$2, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Block_pumpkinLantern.$blockID;
            var$3 = nms_Block_pumpkin.$blockID;
            $ptr = 5;
        case 5:
            nms_StatList_func_25156_a($var0, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Block_stoneOvenActive.$blockID;
            var$3 = nms_Block_stoneOvenIdle.$blockID;
            $ptr = 6;
        case 6:
            nms_StatList_func_25156_a($var0, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Block_oreRedstoneGlowing.$blockID;
            var$3 = nms_Block_oreRedstone.$blockID;
            $ptr = 7;
        case 7:
            nms_StatList_func_25156_a($var0, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Block_redstoneRepeaterActive.$blockID;
            var$3 = nms_Block_redstoneRepeaterIdle.$blockID;
            $ptr = 8;
        case 8:
            nms_StatList_func_25156_a($var0, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Block_torchRedstoneActive.$blockID;
            var$3 = nms_Block_torchRedstoneIdle.$blockID;
            $ptr = 9;
        case 9:
            nms_StatList_func_25156_a($var0, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Block_mushroomRed.$blockID;
            var$3 = nms_Block_mushroomBrown.$blockID;
            $ptr = 10;
        case 10:
            nms_StatList_func_25156_a($var0, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Block_stairSingle.$blockID;
            var$3 = nms_Block_stairDouble.$blockID;
            $ptr = 11;
        case 11:
            nms_StatList_func_25156_a($var0, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, var$2, var$3, $ptr);
    }
    function nms_StatList_func_25156_a($var0, $var1, $var2) {
        var var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var0 = $var0.data;
            $var0[$var1] = $var0[$var2];
            var$4 = nms_StatList_field_25188_a;
            var$5 = $var0[$var1];
            $ptr = 2;
        case 2:
            ju_ArrayList_remove0(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_StatList_field_25187_b;
            var$5 = $var0[$var1];
            $ptr = 3;
        case 3:
            ju_ArrayList_remove0(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $var2, var$4, var$5, $ptr);
    }
    function nms_StatList__clinit_() {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_StatList_field_25169_C = ju_HashMap__init_0();
            nms_StatList_field_25188_a = ju_ArrayList__init_0();
            nms_StatList_field_25187_b = ju_ArrayList__init_0();
            nms_StatList_field_25186_c = ju_ArrayList__init_0();
            nms_StatList_field_25185_d = ju_ArrayList__init_0();
            var$1 = new nms_StatBasic;
            var$2 = 1000;
            var$3 = $rt_s(1061);
            $ptr = 1;
        case 1:
            $tmp = nms_StatCollector_func_25200_a(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatBasic__init_(var$1, var$2, var$3);
            $ptr = 2;
        case 2:
            $tmp = nms_StatBasic_func_25068_c(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25184_e = var$3;
            var$3 = new nms_StatBasic;
            var$2 = 1001;
            var$1 = $rt_s(1062);
            $ptr = 3;
        case 3:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_StatBasic__init_(var$3, var$2, var$1);
            $ptr = 4;
        case 4:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25183_f = var$3;
            var$3 = new nms_StatBasic;
            var$2 = 1002;
            var$1 = $rt_s(1063);
            $ptr = 5;
        case 5:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_StatBasic__init_(var$3, var$2, var$1);
            $ptr = 6;
        case 6:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25182_g = var$3;
            var$3 = new nms_StatBasic;
            var$2 = 1003;
            var$1 = $rt_s(1064);
            $ptr = 7;
        case 7:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_StatBasic__init_(var$3, var$2, var$1);
            $ptr = 8;
        case 8:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25181_h = var$3;
            var$3 = new nms_StatBasic;
            var$2 = 1004;
            var$1 = $rt_s(1065);
            $ptr = 9;
        case 9:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_StatBasic__init_(var$3, var$2, var$1);
            $ptr = 10;
        case 10:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25180_i = var$3;
            var$3 = new nms_StatTime;
            var$2 = 1100;
            var$1 = $rt_s(1066);
            $ptr = 11;
        case 11:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 12;
        case 12:
            nms_StatTime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_StatBasic__init_(var$3, var$2, var$1);
            $ptr = 13;
        case 13:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25179_j = var$3;
            var$3 = new nms_StatDistance;
            var$2 = 2000;
            var$1 = $rt_s(1067);
            $ptr = 14;
        case 14:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 15;
        case 15:
            nms_StatDistance__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
        case 16:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25178_k = var$3;
            var$3 = new nms_StatDistance;
            var$2 = 2001;
            var$1 = $rt_s(1068);
            $ptr = 17;
        case 17:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 18;
        case 18:
            nms_StatDistance__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 19;
        case 19:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25177_l = var$3;
            var$3 = new nms_StatDistance;
            var$2 = 2002;
            var$1 = $rt_s(1069);
            $ptr = 20;
        case 20:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 21;
        case 21:
            nms_StatDistance__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 22;
        case 22:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25176_m = var$3;
            var$3 = new nms_StatDistance;
            var$2 = 2003;
            var$1 = $rt_s(1070);
            $ptr = 23;
        case 23:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 24;
        case 24:
            nms_StatDistance__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 25;
        case 25:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25175_n = var$3;
            var$3 = new nms_StatDistance;
            var$2 = 2004;
            var$1 = $rt_s(1071);
            $ptr = 26;
        case 26:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 27;
        case 27:
            nms_StatDistance__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 28;
        case 28:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25174_o = var$3;
            var$3 = new nms_StatDistance;
            var$2 = 2005;
            var$1 = $rt_s(1072);
            $ptr = 29;
        case 29:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 30;
        case 30:
            nms_StatDistance__init_(var$3, var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 31;
        case 31:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25173_p = var$3;
            var$3 = new nms_StatBasic;
            var$2 = 2010;
            var$1 = $rt_s(1073);
            $ptr = 32;
        case 32:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_StatBasic__init_(var$3, var$2, var$1);
            $ptr = 33;
        case 33:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25171_q = var$3;
            var$3 = new nms_StatBasic;
            var$2 = 2011;
            var$1 = $rt_s(1074);
            $ptr = 34;
        case 34:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_StatBasic__init_(var$3, var$2, var$1);
            $ptr = 35;
        case 35:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25168_r = var$3;
            var$3 = new nms_StatBasic;
            var$2 = 2020;
            var$1 = $rt_s(1075);
            $ptr = 36;
        case 36:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_StatBasic__init_(var$3, var$2, var$1);
            $ptr = 37;
        case 37:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25167_s = var$3;
            var$3 = new nms_StatBasic;
            var$2 = 2021;
            var$1 = $rt_s(1076);
            $ptr = 38;
        case 38:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_StatBasic__init_(var$3, var$2, var$1);
            $ptr = 39;
        case 39:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25165_t = var$3;
            var$3 = new nms_StatBasic;
            var$2 = 2022;
            var$1 = $rt_s(1077);
            $ptr = 40;
        case 40:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_StatBasic__init_(var$3, var$2, var$1);
            $ptr = 41;
        case 41:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25163_u = var$3;
            var$3 = new nms_StatBasic;
            var$2 = 2023;
            var$1 = $rt_s(1078);
            $ptr = 42;
        case 42:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_StatBasic__init_(var$3, var$2, var$1);
            $ptr = 43;
        case 43:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25162_v = var$3;
            var$3 = new nms_StatBasic;
            var$2 = 2024;
            var$1 = $rt_s(1079);
            $ptr = 44;
        case 44:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_StatBasic__init_(var$3, var$2, var$1);
            $ptr = 45;
        case 45:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25161_w = var$3;
            var$3 = new nms_StatBasic;
            var$2 = 2025;
            var$1 = $rt_s(1080);
            $ptr = 46;
        case 46:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_StatBasic__init_(var$3, var$2, var$1);
            $ptr = 47;
        case 47:
            $tmp = nms_StatBasic_func_25068_c(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_StatList_field_25160_x = var$3;
            var$3 = $rt_s(1081);
            var$2 = 16777216;
            $ptr = 48;
        case 48:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $rt_createArray(nms_StatBasic, 256);
            var$5 = var$4.data;
            var$6 = 0;
            if (var$6 >= 256) {
                $ptr = 49;
                continue main;
            }
            $ptr = 50;
            continue main;
        case 49:
            nms_StatList_func_25150_a(var$4);
            if ($rt_suspending()) {
                break main;
            }
            nms_StatList_field_25159_y = var$4;
            nms_StatList_field_25158_z = null;
            nms_StatList_field_25172_A = null;
            nms_StatList_field_25170_B = null;
            nms_StatList_field_25166_D = 0;
            nms_StatList_field_25164_E = 0;
            return;
        case 50:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = nms_Block_blocksList.data;
            if (var$7[var$6] !== null) {
                var$8 = $rt_createArray(jl_Object, 1);
                var$9 = var$8.data;
                var$10 = 0;
                var$1 = var$7[var$6];
                $ptr = 51;
                continue main;
            }
            var$6 = var$6 + 1 | 0;
            if (var$6 >= 256) {
                $ptr = 49;
                continue main;
            }
            continue main;
        case 51:
            $tmp = nms_Block_func_25016_i(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$9[var$10] = var$1;
            $ptr = 52;
        case 52:
            $tmp = nms_StatCollector_func_25199_a(var$3, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$11 = nms_StatCrafting__init_0(var$2 + var$6 | 0, var$1, var$6);
            $ptr = 53;
        case 53:
            $tmp = nms_StatBasic_func_25068_c(var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5[var$6] = var$1;
            var$6 = var$6 + 1 | 0;
            if (var$6 >= 256) {
                $ptr = 49;
                continue main;
            }
            $ptr = 50;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    var otp_PlatformQueue = $rt_classWithoutFields();
    function otp_PlatformQueue_isEmpty$static($this) {
        return $this.length ? 0 : 1;
    }
    function jl_Object$monitorExit$lambda$_8_0() {
        jl_Object.call(this);
        this.$_00 = null;
    }
    function jl_Object$monitorExit$lambda$_8_0_run(var$0) {
        var var$1, var$2, var$3, var$4;
        var$1 = var$0.$_00;
        if (!jl_Object_isEmptyMonitor(var$1)) {
            var$2 = var$1.$monitor;
            if (var$2.$owner === null) {
                var$1 = var$2.$enteringThreads;
                if (var$1 !== null && !otp_PlatformQueue_isEmpty$static(var$1)) {
                    var$1 = var$2.$enteringThreads.shift();
                    otji_JSWrapper_$callClinit();
                    if (var$1 !== null && !(var$1 instanceof $rt_objcls()))
                        var$1 = otji_JSWrapper_wrap(var$1);
                    var$3 = var$1;
                    var$2.$enteringThreads = null;
                    var$1 = var$3.$_0;
                    var$2 = var$3.$_1;
                    var$4 = var$3.$_2;
                    var$3 = var$3.$_3;
                    jl_Thread_setCurrentThread(var$1);
                    var$2 = var$2.$monitor;
                    var$2.$owner = var$1;
                    var$2.$count = var$2.$count + var$4 | 0;
                    otpp_AsyncCallbackWrapper_complete(var$3, null);
                }
            }
        }
    }
    function ju_Arrays$ArrayAsList() {
        ju_AbstractList.call(this);
        this.$array2 = null;
    }
    function ju_Arrays$ArrayAsList_get($this, $index) {
        return $this.$array2.data[$index];
    }
    function ju_Arrays$ArrayAsList_set($this, $index, $element) {
        var var$3, $old;
        var$3 = $this.$array2.data;
        $old = var$3[$index];
        var$3[$index] = $element;
        return $old;
    }
    function ju_Arrays$ArrayAsList_size($this) {
        return $this.$array2.data.length;
    }
    function nleit_TeaVMRuntimeDeobfuscator$DeobfNameEntry() {
        var a = this; jl_Object.call(a);
        a.$className = null;
        a.$functionName = null;
    }
    function ju_GenericEnumSet() {
        var a = this; ju_EnumSet.call(a);
        a.$cls = null;
        a.$bits = null;
    }
    function ju_GenericEnumSet_getConstants($cls) {
        var $platformClass;
        $platformClass = $cls.$platformClass;
        $platformClass.$clinit();
        return otp_Platform_getEnumConstants($platformClass);
    }
    function ju_GenericEnumSet_iterator($this) {
        var var$1;
        var$1 = new ju_GenericEnumSet$1;
        var$1.$this$05 = $this;
        var$1.$indexToRemove = (-1);
        var$1.$count2 = ju_GenericEnumSet_size($this);
        return var$1;
    }
    function ju_GenericEnumSet_size($this) {
        var $result, var$2, var$3, var$4;
        $result = 0;
        var$2 = $this.$bits.data;
        var$3 = var$2.length;
        var$4 = 0;
        while (var$4 < var$3) {
            $result = $result + jl_Integer_bitCount(var$2[var$4]) | 0;
            var$4 = var$4 + 1 | 0;
        }
        return $result;
    }
    var nleit_TeaVMBlobURLManager$SameOriginSupportCallback = $rt_classWithoutFields(0);
    function nleit_TeaVMBlobURLManager$checkSameOriginSupport$lambda$_3_0() {
        jl_Object.call(this);
        this.$_022 = null;
    }
    function nleit_TeaVMBlobURLManager$checkSameOriginSupport$lambda$_3_0__init_(var_0) {
        var var_1 = new nleit_TeaVMBlobURLManager$checkSameOriginSupport$lambda$_3_0();
        nleit_TeaVMBlobURLManager$checkSameOriginSupport$lambda$_3_0__init_0(var_1, var_0);
        return var_1;
    }
    function nleit_TeaVMBlobURLManager$checkSameOriginSupport$lambda$_3_0__init_0(var$0, var$1) {
        var$0.$_022 = var$1;
    }
    function nleit_TeaVMBlobURLManager$checkSameOriginSupport$lambda$_3_0_call$exported$0(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = var$1 ? 1 : 0;
            var$1 = var$0.$_022;
            $ptr = 1;
        case 1:
            nleit_TeaVMBlobURLManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            otpp_AsyncCallbackWrapper_complete(var$1, jl_Boolean_valueOf(var$2));
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nleib_IntBuffer = $rt_classWithoutFields();
    function nleib_EaglerArrayIntBuffer() {
        var a = this; nleib_IntBuffer.call(a);
        a.$typedArray = null;
        a.$capacity0 = 0;
        a.$position1 = 0;
        a.$limit1 = 0;
        a.$mark2 = 0;
    }
    function nleib_EaglerArrayIntBuffer__init_(var_0) {
        var var_1 = new nleib_EaglerArrayIntBuffer();
        nleib_EaglerArrayIntBuffer__init_0(var_1, var_0);
        return var_1;
    }
    function nleib_EaglerArrayIntBuffer__init_0($this, $typedArray) {
        var var$2;
        $this.$typedArray = $typedArray;
        var$2 = $typedArray.length;
        $this.$capacity0 = var$2;
        $this.$position1 = 0;
        $this.$limit1 = var$2;
        $this.$mark2 = (-1);
    }
    function nleib_EaglerArrayIntBuffer_remaining($this) {
        return $this.$limit1 - $this.$position1 | 0;
    }
    function nleib_EaglerArrayIntBuffer_hasRemaining($this) {
        return $this.$position1 >= $this.$limit1 ? 0 : 1;
    }
    function nleib_EaglerArrayIntBuffer_get0($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$position1;
            if (var$1 < $this.$limit1) {
                var$2 = $this.$typedArray;
                $this.$position1 = var$1 + 1 | 0;
                return var$2[var$1];
            }
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nleib_EaglerArrayIntBuffer_put($this, $b) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$b = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$position1;
            if (var$2 < $this.$limit1) {
                var$3 = $this.$typedArray;
                $this.$position1 = var$2 + 1 | 0;
                var$2;
                var$3[var$2] = $b;
                return $this;
            }
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $b, var$2, var$3, $ptr);
    }
    function nleib_EaglerArrayIntBuffer_get($this, $index) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$index = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($index >= 0 && $index < $this.$limit1)
                return $this.$typedArray[$index];
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE($index);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $index, var$2, $ptr);
    }
    function nleib_EaglerArrayIntBuffer_put0($this, $src) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$src = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $src.data;
            var$3 = $this.$position1;
            var$4 = var$2.length;
            var$3 = var$3 + var$4 | 0;
            if (var$3 <= $this.$limit1) {
                var$5 = $this.$typedArray;
                var$6 = $src.data;
                var$3 = $this.$position1;
                var$5.set(var$6, var$3);
                $this.$position1 = $this.$position1 + var$4 | 0;
                return $this;
            }
            var$3 = var$3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $rt_throw(var$5);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $src, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nleib_EaglerArrayIntBuffer_clear($this) {
        $this.$position1 = 0;
        $this.$limit1 = $this.$capacity0;
        $this.$mark2 = (-1);
        return $this;
    }
    function nleib_EaglerArrayIntBuffer_flip($this) {
        $this.$limit1 = $this.$position1;
        $this.$position1 = 0;
        $this.$mark2 = (-1);
        return $this;
    }
    var otjt_Int32Array = $rt_classWithoutFields(otjt_ArrayBufferView);
    var nleib_FloatBuffer = $rt_classWithoutFields();
    function nleib_EaglerArrayFloatBuffer() {
        var a = this; nleib_FloatBuffer.call(a);
        a.$typedArray1 = null;
        a.$capacity2 = 0;
        a.$position0 = 0;
        a.$limit0 = 0;
        a.$mark3 = 0;
    }
    function nleib_EaglerArrayFloatBuffer__init_(var_0) {
        var var_1 = new nleib_EaglerArrayFloatBuffer();
        nleib_EaglerArrayFloatBuffer__init_0(var_1, var_0);
        return var_1;
    }
    function nleib_EaglerArrayFloatBuffer__init_0($this, $typedArray) {
        var var$2;
        $this.$typedArray1 = $typedArray;
        var$2 = $typedArray.length;
        $this.$capacity2 = var$2;
        $this.$position0 = 0;
        $this.$limit0 = var$2;
        $this.$mark3 = (-1);
    }
    function nleib_EaglerArrayFloatBuffer_get($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$position0;
            if (var$1 < $this.$limit0) {
                var$2 = $this.$typedArray1;
                $this.$position0 = var$1 + 1 | 0;
                return var$2[var$1];
            }
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nleib_EaglerArrayFloatBuffer_put($this, $b) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$b = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$position0;
            if (var$2 < $this.$limit0) {
                var$3 = $this.$typedArray1;
                $this.$position0 = var$2 + 1 | 0;
                var$2;
                var$3[var$2] = $b;
                return $this;
            }
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $b, var$2, var$3, $ptr);
    }
    function nleib_EaglerArrayFloatBuffer_get0($this, $dst) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$dst = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $dst.data;
            var$3 = $this.$position0;
            var$4 = var$2.length;
            var$3 = var$3 + var$4 | 0;
            if (var$3 <= $this.$limit0) {
                var$5 = $dst.data;
                var$6 = new $rt_globals.Float32Array($this.$typedArray1.buffer, $this.$typedArray1.byteOffset + ($this.$position0 << 2) | 0, var$4);
                var$5.set(var$6);
                $this.$position0 = $this.$position0 + var$4 | 0;
                return $this;
            }
            var$3 = var$3 - 1 | 0;
            $ptr = 1;
        case 1:
            nleib_Buffer_makeIOOBE(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $dst.data;
            var$6 = new $rt_globals.Float32Array($this.$typedArray1.buffer, $this.$typedArray1.byteOffset + ($this.$position0 << 2) | 0, var$4);
            var$5.set(var$6);
            $this.$position0 = $this.$position0 + var$4 | 0;
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $dst, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nleib_EaglerArrayFloatBuffer_put0($this, $src) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$src = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $src.data;
            var$3 = $this.$position0;
            var$4 = var$2.length;
            var$3 = var$3 + var$4 | 0;
            if (var$3 <= $this.$limit0) {
                var$5 = $this.$typedArray1;
                var$6 = $src.data;
                var$3 = $this.$position0;
                var$5.set(var$6, var$3);
                $this.$position0 = $this.$position0 + var$4 | 0;
                return $this;
            }
            var$3 = var$3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $rt_throw(var$5);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $src, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nleib_EaglerArrayFloatBuffer_clear($this) {
        $this.$position0 = 0;
        $this.$limit0 = $this.$capacity2;
        $this.$mark3 = (-1);
        return $this;
    }
    function nleib_EaglerArrayFloatBuffer_flip($this) {
        $this.$limit0 = $this.$position0;
        $this.$position0 = 0;
        $this.$mark3 = (-1);
        return $this;
    }
    function nleib_EaglerArrayFloatBuffer_limit($this, $newLimit) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$newLimit = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($newLimit >= 0 && $newLimit <= $this.$capacity2) {
                $this.$limit0 = $newLimit;
                return $this;
            }
            $ptr = 1;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE($newLimit);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $newLimit, var$2, $ptr);
    }
    var otjt_Float32Array = $rt_classWithoutFields(otjt_ArrayBufferView);
    var otjt_DataView = $rt_classWithoutFields(otjt_ArrayBufferView);
    var nleit_TeaVMFetchJS$FetchHandler = $rt_classWithoutFields(0);
    function nleit_TeaVMDataURLManager$checkDataURLSupport0$lambda$_1_0() {
        var a = this; jl_Object.call(a);
        a.$_010 = null;
        a.$_15 = null;
    }
    function nleit_TeaVMDataURLManager$checkDataURLSupport0$lambda$_1_0_onFetch$exported$0(var$0, var$1) {
        var var$2, var$3;
        var$2 = var$0.$_010;
        var$3 = var$0.$_15;
        if (var$1 !== null && (!!var$1 ? 1 : 0) && var$1.byteLength == 1024)
            otpp_AsyncCallbackWrapper_complete(var$2, jl_Boolean_valueOf(ju_Arrays_equals(nleit_TeaVMUtils_wrapByteArrayBuffer(var$1), var$3)));
        else
            otpp_AsyncCallbackWrapper_complete(var$2, jl_Boolean_valueOf(0));
    }
    var otjc_JSArray = $rt_classWithoutFields();
    function otjc_JSArray_get$exported$0(var$0, var$1) {
        return otji_JSWrapper_javaToJs(var$0.$get2(var$1));
    }
    function otjc_JSArray_getLength$exported$1(var$0) {
        return var$0.$getLength0();
    }
    var otjc_JSNumber = $rt_classWithoutFields();
    function jur_Pattern() {
        var a = this; jl_Object.call(a);
        a.$lexemes = null;
        a.$flags = 0;
        a.$backRefs = null;
        a.$needsBackRefReplacement = 0;
        a.$globalGroupIndex = 0;
        a.$compCount = 0;
        a.$consCount = 0;
        a.$start1 = null;
    }
    function jur_Pattern__init_0() {
        var var_0 = new jur_Pattern();
        jur_Pattern__init_(var_0);
        return var_0;
    }
    function jur_Pattern_matcher($this, $input) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9;
        var$2 = new jur_Matcher;
        var$2.$leftBound = (-1);
        var$2.$rightBound = (-1);
        var$2.$pat = $this;
        var$2.$start2 = $this.$start1;
        var$2.$string = $input;
        var$2.$leftBound = 0;
        var$3 = jl_String_length($input);
        var$2.$rightBound = var$3;
        var$4 = new jur_MatchResultImpl;
        var$5 = var$2.$leftBound;
        var$6 = $this.$globalGroupIndex;
        var$7 = $this.$compCount + 1 | 0;
        var$8 = $this.$consCount + 1 | 0;
        var$4.$previousMatch = (-1);
        var$6 = var$6 + 1 | 0;
        var$4.$groupCount = var$6;
        var$4.$groupBounds = $rt_createIntArray(var$6 * 2 | 0);
        var$9 = $rt_createIntArray(var$8);
        var$4.$consumers = var$9;
        ju_Arrays_fill1(var$9, (-1));
        if (var$7 > 0)
            var$4.$compQuantCounters = $rt_createIntArray(var$7);
        ju_Arrays_fill1(var$4.$groupBounds, (-1));
        jur_MatchResultImpl_reset(var$4, $input, var$5, var$3);
        var$2.$matchResult = var$4;
        var$4.$anchoringBounds = 1;
        return var$2;
    }
    function jur_Pattern_split0($this, $inputSeq, $limit) {
        var $res, $mat, $index, $curPos, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$curPos = $thread.pop();$index = $thread.pop();$mat = $thread.pop();$res = $thread.pop();$limit = $thread.pop();$inputSeq = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $res = ju_ArrayList__init_0();
            $mat = jur_Pattern_matcher($this, $inputSeq);
            $index = 0;
            $curPos = 0;
            if (!jl_String_length($inputSeq)) {
                var$7 = $rt_createArray(jl_String, 1);
                var$7.data[0] = $rt_s(3);
                return var$7;
            }
            $ptr = 1;
        case 1:
            a: {
                $tmp = jur_Matcher_find($mat);
                if ($rt_suspending()) {
                    break main;
                }
                var$8 = $tmp;
                if (var$8) {
                    var$8 = $index + 1 | 0;
                    if (var$8 < $limit)
                        break a;
                    if ($limit <= 0)
                        break a;
                }
                $inputSeq = jl_String_substring0($inputSeq, $curPos, jl_String_length($inputSeq));
                $ptr = 2;
                continue main;
            }
            $ptr = 3;
            continue main;
        case 2:
            a: {
                ju_ArrayList_add($res, $inputSeq);
                if ($rt_suspending()) {
                    break main;
                }
                $index = $index + 1 | 0;
                if (!$limit)
                    while (true) {
                        $index = $index + (-1) | 0;
                        if ($index < 0)
                            break;
                        if (jl_String_length(ju_ArrayList_get($res, $index)))
                            break a;
                        ju_ArrayList_remove($res, $index);
                    }
            }
            if ($index < 0)
                $index = 0;
            return ju_AbstractCollection_toArray($res, $rt_createArray(jl_String, $index));
        case 3:
            $tmp = jur_Matcher_start($mat);
            if ($rt_suspending()) {
                break main;
            }
            $index = $tmp;
            var$9 = jl_String_substring0($inputSeq, $curPos, $index);
            $ptr = 4;
        case 4:
            ju_ArrayList_add($res, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jur_Matcher_end($mat);
            if ($rt_suspending()) {
                break main;
            }
            $curPos = $tmp;
            $index = var$8;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $inputSeq, $limit, $res, $mat, $index, $curPos, var$7, var$8, var$9, $ptr);
    }
    function jur_Pattern_split($this, $input) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$input = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 0;
            $ptr = 1;
        case 1:
            $tmp = jur_Pattern_split0($this, $input, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $input, var$2, var$3, $ptr);
    }
    function jur_Pattern_pattern($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$lexemes.$orig;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function jur_Pattern_processExpression($this, $ch, $newFlags, $last) {
        var $children, $saveFlags, $saveChangedFlags, $fSet, $child, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();$child = $thread.pop();$fSet = $thread.pop();$saveChangedFlags = $thread.pop();$saveFlags = $thread.pop();$children = $thread.pop();$last = $thread.pop();$newFlags = $thread.pop();$ch = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $children = ju_ArrayList__init_0();
            $saveFlags = $this.$flags;
            $saveChangedFlags = 0;
            if ($newFlags != $saveFlags)
                $this.$flags = $newFlags;
            switch ($ch) {
                case -1073741784:
                    $fSet = new jur_NonCapFSet;
                    $newFlags = $this.$consCount + 1 | 0;
                    $this.$consCount = $newFlags;
                    $ptr = 1;
                    continue main;
                case -536870872:
                case -268435416:
                    break;
                case -134217688:
                case -67108824:
                    $fSet = new jur_BehindFSet;
                    $newFlags = $this.$consCount + 1 | 0;
                    $this.$consCount = $newFlags;
                    $ptr = 3;
                    continue main;
                case -33554392:
                    $fSet = new jur_AtomicFSet;
                    $newFlags = $this.$consCount + 1 | 0;
                    $this.$consCount = $newFlags;
                    $ptr = 4;
                    continue main;
                default:
                    $newFlags = $this.$globalGroupIndex + 1 | 0;
                    $this.$globalGroupIndex = $newFlags;
                    if ($last !== null) {
                        $fSet = new jur_FSet;
                        $ptr = 5;
                        continue main;
                    }
                    $fSet = new jur_FinalSet;
                    $ptr = 6;
                    continue main;
            }
            $fSet = new jur_AheadFSet;
            $ptr = 2;
            continue main;
        case 1:
            jur_FSet__init_($fSet, $newFlags);
            if ($rt_suspending()) {
                break main;
            }
            if (jur_Lexer_isLetter($this.$lexemes) && $this.$lexemes.$lookAhead == (-536870788)) {
                $last = jur_CharClass__init_2(jur_Pattern_hasFlag($this, 2), jur_Pattern_hasFlag($this, 64));
                a: {
                    if (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
                        $child = $this.$lexemes;
                        var$9 = $child.$lookAhead;
                        if (!var$9)
                            break a;
                        if (var$9 == (-536870788))
                            break a;
                        if (var$9 == (-536870871))
                            break a;
                    }
                    $ptr = 12;
                    continue main;
                }
                $ptr = 15;
                continue main;
            }
            if ($this.$lexemes.$ch != (-536870788)) {
                $ptr = 7;
                continue main;
            }
            $child = new jur_EmptySet;
            $ptr = 8;
            continue main;
        case 2:
            jur_AheadFSet__init_($fSet);
            if ($rt_suspending()) {
                break main;
            }
            if (jur_Lexer_isLetter($this.$lexemes) && $this.$lexemes.$lookAhead == (-536870788)) {
                $last = jur_CharClass__init_2(jur_Pattern_hasFlag($this, 2), jur_Pattern_hasFlag($this, 64));
                a: {
                    if (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
                        $child = $this.$lexemes;
                        var$9 = $child.$lookAhead;
                        if (!var$9)
                            break a;
                        if (var$9 == (-536870788))
                            break a;
                        if (var$9 == (-536870871))
                            break a;
                    }
                    $ptr = 12;
                    continue main;
                }
                $ptr = 15;
                continue main;
            }
            if ($this.$lexemes.$ch != (-536870788)) {
                $ptr = 7;
                continue main;
            }
            $child = new jur_EmptySet;
            $ptr = 8;
            continue main;
        case 3:
            jur_FSet__init_($fSet, $newFlags);
            if ($rt_suspending()) {
                break main;
            }
            if (jur_Lexer_isLetter($this.$lexemes) && $this.$lexemes.$lookAhead == (-536870788)) {
                $last = jur_CharClass__init_2(jur_Pattern_hasFlag($this, 2), jur_Pattern_hasFlag($this, 64));
                a: {
                    if (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
                        $child = $this.$lexemes;
                        var$9 = $child.$lookAhead;
                        if (!var$9)
                            break a;
                        if (var$9 == (-536870788))
                            break a;
                        if (var$9 == (-536870871))
                            break a;
                    }
                    $ptr = 12;
                    continue main;
                }
                $ptr = 15;
                continue main;
            }
            if ($this.$lexemes.$ch != (-536870788)) {
                $ptr = 7;
                continue main;
            }
            $child = new jur_EmptySet;
            $ptr = 8;
            continue main;
        case 4:
            jur_FSet__init_($fSet, $newFlags);
            if ($rt_suspending()) {
                break main;
            }
            if (jur_Lexer_isLetter($this.$lexemes) && $this.$lexemes.$lookAhead == (-536870788)) {
                $last = jur_CharClass__init_2(jur_Pattern_hasFlag($this, 2), jur_Pattern_hasFlag($this, 64));
                a: {
                    if (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
                        $child = $this.$lexemes;
                        var$9 = $child.$lookAhead;
                        if (!var$9)
                            break a;
                        if (var$9 == (-536870788))
                            break a;
                        if (var$9 == (-536870871))
                            break a;
                    }
                    $ptr = 12;
                    continue main;
                }
                $ptr = 15;
                continue main;
            }
            if ($this.$lexemes.$ch != (-536870788)) {
                $ptr = 7;
                continue main;
            }
            $child = new jur_EmptySet;
            $ptr = 8;
            continue main;
        case 5:
            jur_FSet__init_($fSet, $newFlags);
            if ($rt_suspending()) {
                break main;
            }
            $newFlags = $this.$globalGroupIndex;
            if ($newFlags > (-1) && $newFlags < 10)
                $this.$backRefs.data[$newFlags] = $fSet;
            if (jur_Lexer_isLetter($this.$lexemes) && $this.$lexemes.$lookAhead == (-536870788)) {
                $last = jur_CharClass__init_2(jur_Pattern_hasFlag($this, 2), jur_Pattern_hasFlag($this, 64));
                b: {
                    if (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
                        $child = $this.$lexemes;
                        var$9 = $child.$lookAhead;
                        if (!var$9)
                            break b;
                        if (var$9 == (-536870788))
                            break b;
                        if (var$9 == (-536870871))
                            break b;
                    }
                    $ptr = 12;
                    continue main;
                }
                $ptr = 15;
                continue main;
            }
            if ($this.$lexemes.$ch != (-536870788)) {
                $ptr = 7;
                continue main;
            }
            $child = new jur_EmptySet;
            $ptr = 8;
            continue main;
        case 6:
            jur_FinalSet__init_($fSet);
            if ($rt_suspending()) {
                break main;
            }
            $saveChangedFlags = 1;
            $newFlags = $this.$globalGroupIndex;
            if ($newFlags > (-1) && $newFlags < 10)
                $this.$backRefs.data[$newFlags] = $fSet;
            if (jur_Lexer_isLetter($this.$lexemes) && $this.$lexemes.$lookAhead == (-536870788)) {
                $last = jur_CharClass__init_2(jur_Pattern_hasFlag($this, 2), jur_Pattern_hasFlag($this, 64));
                b: {
                    if (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
                        $child = $this.$lexemes;
                        var$9 = $child.$lookAhead;
                        if (!var$9)
                            break b;
                        if (var$9 == (-536870788))
                            break b;
                        if (var$9 == (-536870871))
                            break b;
                    }
                    $ptr = 12;
                    continue main;
                }
                $ptr = 15;
                continue main;
            }
            if ($this.$lexemes.$ch != (-536870788)) {
                $ptr = 7;
                continue main;
            }
            $child = new jur_EmptySet;
            $ptr = 8;
            continue main;
        case 7:
            $tmp = jur_Pattern_processSubExpression($this, $fSet);
            if ($rt_suspending()) {
                break main;
            }
            $child = $tmp;
            $last = $this.$lexemes;
            if ($last.$ch == (-536870788)) {
                $ptr = 10;
                continue main;
            }
            if ($child !== null) {
                $ptr = 11;
                continue main;
            }
            if (!jur_Lexer_isEmpty($this.$lexemes) && $this.$lexemes.$ch != (-536870871)) {
                if (jur_Lexer_isLetter($this.$lexemes) && $this.$lexemes.$lookAhead == (-536870788)) {
                    $last = jur_CharClass__init_2(jur_Pattern_hasFlag($this, 2), jur_Pattern_hasFlag($this, 64));
                    b: {
                        if (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
                            $child = $this.$lexemes;
                            var$9 = $child.$lookAhead;
                            if (!var$9)
                                break b;
                            if (var$9 == (-536870788))
                                break b;
                            if (var$9 == (-536870871))
                                break b;
                        }
                        $ptr = 12;
                        continue main;
                    }
                    $ptr = 15;
                    continue main;
                }
                if ($this.$lexemes.$ch != (-536870788)) {
                    continue main;
                }
                $child = new jur_EmptySet;
                $ptr = 8;
                continue main;
            }
            if ($this.$lexemes.$lookBack == (-536870788)) {
                $last = new jur_EmptySet;
                $ptr = 13;
                continue main;
            }
            if ($this.$flags != $saveFlags && !$saveChangedFlags) {
                $this.$flags = $saveFlags;
                $last = $this.$lexemes;
                $last.$flags0 = $saveFlags;
                $last.$lookAhead = $last.$ch;
                $last.$lookAheadST = $last.$curST;
                var$9 = $last.$curToc;
                $last.$index0 = var$9 + 1 | 0;
                $last.$lookAheadToc = var$9;
                $ptr = 23;
                continue main;
            }
            switch ($ch) {
                case -1073741784:
                    break;
                case -536870872:
                    $last = new jur_PositiveLookAhead;
                    $ptr = 18;
                    continue main;
                case -268435416:
                    $last = new jur_NegativeLookAhead;
                    $ptr = 19;
                    continue main;
                case -134217688:
                    $last = new jur_PositiveLookBehind;
                    $ptr = 20;
                    continue main;
                case -67108824:
                    $last = new jur_NegativeLookBehind;
                    $ptr = 21;
                    continue main;
                case -33554392:
                    $last = new jur_AtomicJointSet;
                    $ptr = 22;
                    continue main;
                default:
                    switch ($children.$size0) {
                        case 0:
                            break;
                        case 1:
                            $last = new jur_SingleSet;
                            $children = ju_ArrayList_get($children, 0);
                            $ptr = 25;
                            continue main;
                        default:
                            $last = new jur_JointSet;
                            $ptr = 26;
                            continue main;
                    }
                    $last = new jur_EmptySet;
                    $ptr = 24;
                    continue main;
            }
            $last = new jur_NonCapJointSet;
            $ptr = 17;
            continue main;
        case 8:
            jur_EmptySet__init_($child, $fSet);
            if ($rt_suspending()) {
                break main;
            }
            $last = $this.$lexemes;
            $ptr = 9;
        case 9:
            jur_Lexer_next($last);
            if ($rt_suspending()) {
                break main;
            }
            if ($child !== null) {
                $ptr = 11;
                continue main;
            }
            if (!jur_Lexer_isEmpty($this.$lexemes) && $this.$lexemes.$ch != (-536870871)) {
                if (jur_Lexer_isLetter($this.$lexemes) && $this.$lexemes.$lookAhead == (-536870788)) {
                    $last = jur_CharClass__init_2(jur_Pattern_hasFlag($this, 2), jur_Pattern_hasFlag($this, 64));
                    c: {
                        if (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
                            $child = $this.$lexemes;
                            var$9 = $child.$lookAhead;
                            if (!var$9)
                                break c;
                            if (var$9 == (-536870788))
                                break c;
                            if (var$9 == (-536870871))
                                break c;
                        }
                        $ptr = 12;
                        continue main;
                    }
                    $ptr = 15;
                    continue main;
                }
                if ($this.$lexemes.$ch != (-536870788)) {
                    $ptr = 7;
                    continue main;
                }
                $child = new jur_EmptySet;
                $ptr = 8;
                continue main;
            }
            if ($this.$lexemes.$lookBack == (-536870788)) {
                $last = new jur_EmptySet;
                $ptr = 13;
                continue main;
            }
            if ($this.$flags != $saveFlags && !$saveChangedFlags) {
                $this.$flags = $saveFlags;
                $last = $this.$lexemes;
                $last.$flags0 = $saveFlags;
                $last.$lookAhead = $last.$ch;
                $last.$lookAheadST = $last.$curST;
                var$9 = $last.$curToc;
                $last.$index0 = var$9 + 1 | 0;
                $last.$lookAheadToc = var$9;
                $ptr = 23;
                continue main;
            }
            switch ($ch) {
                case -1073741784:
                    break;
                case -536870872:
                    $last = new jur_PositiveLookAhead;
                    $ptr = 18;
                    continue main;
                case -268435416:
                    $last = new jur_NegativeLookAhead;
                    $ptr = 19;
                    continue main;
                case -134217688:
                    $last = new jur_PositiveLookBehind;
                    $ptr = 20;
                    continue main;
                case -67108824:
                    $last = new jur_NegativeLookBehind;
                    $ptr = 21;
                    continue main;
                case -33554392:
                    $last = new jur_AtomicJointSet;
                    $ptr = 22;
                    continue main;
                default:
                    switch ($children.$size0) {
                        case 0:
                            break;
                        case 1:
                            $last = new jur_SingleSet;
                            $children = ju_ArrayList_get($children, 0);
                            $ptr = 25;
                            continue main;
                        default:
                            $last = new jur_JointSet;
                            $ptr = 26;
                            continue main;
                    }
                    $last = new jur_EmptySet;
                    $ptr = 24;
                    continue main;
            }
            $last = new jur_NonCapJointSet;
            $ptr = 17;
            continue main;
        case 10:
            jur_Lexer_next($last);
            if ($rt_suspending()) {
                break main;
            }
            if ($child !== null) {
                $ptr = 11;
                continue main;
            }
            if (!jur_Lexer_isEmpty($this.$lexemes) && $this.$lexemes.$ch != (-536870871)) {
                if (jur_Lexer_isLetter($this.$lexemes) && $this.$lexemes.$lookAhead == (-536870788)) {
                    $last = jur_CharClass__init_2(jur_Pattern_hasFlag($this, 2), jur_Pattern_hasFlag($this, 64));
                    c: {
                        if (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
                            $child = $this.$lexemes;
                            var$9 = $child.$lookAhead;
                            if (!var$9)
                                break c;
                            if (var$9 == (-536870788))
                                break c;
                            if (var$9 == (-536870871))
                                break c;
                        }
                        $ptr = 12;
                        continue main;
                    }
                    $ptr = 15;
                    continue main;
                }
                if ($this.$lexemes.$ch != (-536870788)) {
                    $ptr = 7;
                    continue main;
                }
                $child = new jur_EmptySet;
                $ptr = 8;
                continue main;
            }
            if ($this.$lexemes.$lookBack == (-536870788)) {
                $last = new jur_EmptySet;
                $ptr = 13;
                continue main;
            }
            if ($this.$flags != $saveFlags && !$saveChangedFlags) {
                $this.$flags = $saveFlags;
                $last = $this.$lexemes;
                $last.$flags0 = $saveFlags;
                $last.$lookAhead = $last.$ch;
                $last.$lookAheadST = $last.$curST;
                var$9 = $last.$curToc;
                $last.$index0 = var$9 + 1 | 0;
                $last.$lookAheadToc = var$9;
                $ptr = 23;
                continue main;
            }
            switch ($ch) {
                case -1073741784:
                    break;
                case -536870872:
                    $last = new jur_PositiveLookAhead;
                    $ptr = 18;
                    continue main;
                case -268435416:
                    $last = new jur_NegativeLookAhead;
                    $ptr = 19;
                    continue main;
                case -134217688:
                    $last = new jur_PositiveLookBehind;
                    $ptr = 20;
                    continue main;
                case -67108824:
                    $last = new jur_NegativeLookBehind;
                    $ptr = 21;
                    continue main;
                case -33554392:
                    $last = new jur_AtomicJointSet;
                    $ptr = 22;
                    continue main;
                default:
                    switch ($children.$size0) {
                        case 0:
                            break;
                        case 1:
                            $last = new jur_SingleSet;
                            $children = ju_ArrayList_get($children, 0);
                            $ptr = 25;
                            continue main;
                        default:
                            $last = new jur_JointSet;
                            $ptr = 26;
                            continue main;
                    }
                    $last = new jur_EmptySet;
                    $ptr = 24;
                    continue main;
            }
            $last = new jur_NonCapJointSet;
            $ptr = 17;
            continue main;
        case 11:
            ju_ArrayList_add($children, $child);
            if ($rt_suspending()) {
                break main;
            }
            if (!jur_Lexer_isEmpty($this.$lexemes) && $this.$lexemes.$ch != (-536870871)) {
                if (jur_Lexer_isLetter($this.$lexemes) && $this.$lexemes.$lookAhead == (-536870788)) {
                    $last = jur_CharClass__init_2(jur_Pattern_hasFlag($this, 2), jur_Pattern_hasFlag($this, 64));
                    d: {
                        if (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
                            $child = $this.$lexemes;
                            var$9 = $child.$lookAhead;
                            if (!var$9)
                                break d;
                            if (var$9 == (-536870788))
                                break d;
                            if (var$9 == (-536870871))
                                break d;
                        }
                        $ptr = 12;
                        continue main;
                    }
                    $ptr = 15;
                    continue main;
                }
                if ($this.$lexemes.$ch != (-536870788)) {
                    $ptr = 7;
                    continue main;
                }
                $child = new jur_EmptySet;
                $ptr = 8;
                continue main;
            }
            if ($this.$lexemes.$lookBack == (-536870788)) {
                $last = new jur_EmptySet;
                $ptr = 13;
                continue main;
            }
            if ($this.$flags != $saveFlags && !$saveChangedFlags) {
                $this.$flags = $saveFlags;
                $last = $this.$lexemes;
                $last.$flags0 = $saveFlags;
                $last.$lookAhead = $last.$ch;
                $last.$lookAheadST = $last.$curST;
                var$9 = $last.$curToc;
                $last.$index0 = var$9 + 1 | 0;
                $last.$lookAheadToc = var$9;
                $ptr = 23;
                continue main;
            }
            switch ($ch) {
                case -1073741784:
                    break;
                case -536870872:
                    $last = new jur_PositiveLookAhead;
                    $ptr = 18;
                    continue main;
                case -268435416:
                    $last = new jur_NegativeLookAhead;
                    $ptr = 19;
                    continue main;
                case -134217688:
                    $last = new jur_PositiveLookBehind;
                    $ptr = 20;
                    continue main;
                case -67108824:
                    $last = new jur_NegativeLookBehind;
                    $ptr = 21;
                    continue main;
                case -33554392:
                    $last = new jur_AtomicJointSet;
                    $ptr = 22;
                    continue main;
                default:
                    switch ($children.$size0) {
                        case 0:
                            break;
                        case 1:
                            $last = new jur_SingleSet;
                            $children = ju_ArrayList_get($children, 0);
                            $ptr = 25;
                            continue main;
                        default:
                            $last = new jur_JointSet;
                            $ptr = 26;
                            continue main;
                    }
                    $last = new jur_EmptySet;
                    $ptr = 24;
                    continue main;
            }
            $last = new jur_NonCapJointSet;
            $ptr = 17;
            continue main;
        case 12:
            $tmp = jur_Pattern_processRangeSet($this, $last);
            if ($rt_suspending()) {
                break main;
            }
            $child = $tmp;
            $child.$setNext($fSet);
            if ($child !== null) {
                $ptr = 11;
                continue main;
            }
            if (!jur_Lexer_isEmpty($this.$lexemes) && $this.$lexemes.$ch != (-536870871)) {
                if (jur_Lexer_isLetter($this.$lexemes) && $this.$lexemes.$lookAhead == (-536870788)) {
                    $last = jur_CharClass__init_2(jur_Pattern_hasFlag($this, 2), jur_Pattern_hasFlag($this, 64));
                    c: {
                        if (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
                            $child = $this.$lexemes;
                            var$9 = $child.$lookAhead;
                            if (!var$9)
                                break c;
                            if (var$9 == (-536870788))
                                break c;
                            if (var$9 == (-536870871))
                                break c;
                        }
                        continue main;
                    }
                    $ptr = 15;
                    continue main;
                }
                if ($this.$lexemes.$ch != (-536870788)) {
                    $ptr = 7;
                    continue main;
                }
                $child = new jur_EmptySet;
                $ptr = 8;
                continue main;
            }
            if ($this.$lexemes.$lookBack == (-536870788)) {
                $last = new jur_EmptySet;
                $ptr = 13;
                continue main;
            }
            if ($this.$flags != $saveFlags && !$saveChangedFlags) {
                $this.$flags = $saveFlags;
                $last = $this.$lexemes;
                $last.$flags0 = $saveFlags;
                $last.$lookAhead = $last.$ch;
                $last.$lookAheadST = $last.$curST;
                var$9 = $last.$curToc;
                $last.$index0 = var$9 + 1 | 0;
                $last.$lookAheadToc = var$9;
                $ptr = 23;
                continue main;
            }
            switch ($ch) {
                case -1073741784:
                    break;
                case -536870872:
                    $last = new jur_PositiveLookAhead;
                    $ptr = 18;
                    continue main;
                case -268435416:
                    $last = new jur_NegativeLookAhead;
                    $ptr = 19;
                    continue main;
                case -134217688:
                    $last = new jur_PositiveLookBehind;
                    $ptr = 20;
                    continue main;
                case -67108824:
                    $last = new jur_NegativeLookBehind;
                    $ptr = 21;
                    continue main;
                case -33554392:
                    $last = new jur_AtomicJointSet;
                    $ptr = 22;
                    continue main;
                default:
                    switch ($children.$size0) {
                        case 0:
                            break;
                        case 1:
                            $last = new jur_SingleSet;
                            $children = ju_ArrayList_get($children, 0);
                            $ptr = 25;
                            continue main;
                        default:
                            $last = new jur_JointSet;
                            $ptr = 26;
                            continue main;
                    }
                    $last = new jur_EmptySet;
                    $ptr = 24;
                    continue main;
            }
            $last = new jur_NonCapJointSet;
            $ptr = 17;
            continue main;
        case 13:
            jur_EmptySet__init_($last, $fSet);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            ju_ArrayList_add($children, $last);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$flags != $saveFlags && !$saveChangedFlags) {
                $this.$flags = $saveFlags;
                $last = $this.$lexemes;
                $last.$flags0 = $saveFlags;
                $last.$lookAhead = $last.$ch;
                $last.$lookAheadST = $last.$curST;
                var$9 = $last.$curToc;
                $last.$index0 = var$9 + 1 | 0;
                $last.$lookAheadToc = var$9;
                $ptr = 23;
                continue main;
            }
            switch ($ch) {
                case -1073741784:
                    break;
                case -536870872:
                    $last = new jur_PositiveLookAhead;
                    $ptr = 18;
                    continue main;
                case -268435416:
                    $last = new jur_NegativeLookAhead;
                    $ptr = 19;
                    continue main;
                case -134217688:
                    $last = new jur_PositiveLookBehind;
                    $ptr = 20;
                    continue main;
                case -67108824:
                    $last = new jur_NegativeLookBehind;
                    $ptr = 21;
                    continue main;
                case -33554392:
                    $last = new jur_AtomicJointSet;
                    $ptr = 22;
                    continue main;
                default:
                    switch ($children.$size0) {
                        case 0:
                            break;
                        case 1:
                            $last = new jur_SingleSet;
                            $children = ju_ArrayList_get($children, 0);
                            $ptr = 25;
                            continue main;
                        default:
                            $last = new jur_JointSet;
                            $ptr = 26;
                            continue main;
                    }
                    $last = new jur_EmptySet;
                    $ptr = 24;
                    continue main;
            }
            $last = new jur_NonCapJointSet;
            $ptr = 17;
            continue main;
        case 15:
            $tmp = jur_Lexer_next($child);
            if ($rt_suspending()) {
                break main;
            }
            $newFlags = $tmp;
            jur_CharClass_add($last, $newFlags);
            $child = $this.$lexemes;
            if ($child.$ch == (-536870788)) {
                $ptr = 16;
                continue main;
            }
            e: {
                if (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
                    $child = $this.$lexemes;
                    var$9 = $child.$lookAhead;
                    if (!var$9)
                        break e;
                    if (var$9 == (-536870788))
                        break e;
                    if (var$9 == (-536870871))
                        break e;
                }
                $ptr = 12;
                continue main;
            }
            continue main;
        case 16:
            jur_Lexer_next($child);
            if ($rt_suspending()) {
                break main;
            }
            f: {
                if (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
                    $child = $this.$lexemes;
                    var$9 = $child.$lookAhead;
                    if (!var$9)
                        break f;
                    if (var$9 == (-536870788))
                        break f;
                    if (var$9 == (-536870871))
                        break f;
                }
                $ptr = 12;
                continue main;
            }
            $ptr = 15;
            continue main;
        case 17:
            jur_JointSet__init_0($last, $children, $fSet);
            if ($rt_suspending()) {
                break main;
            }
            return $last;
        case 18:
            jur_JointSet__init_0($last, $children, $fSet);
            if ($rt_suspending()) {
                break main;
            }
            return $last;
        case 19:
            jur_JointSet__init_0($last, $children, $fSet);
            if ($rt_suspending()) {
                break main;
            }
            return $last;
        case 20:
            jur_JointSet__init_0($last, $children, $fSet);
            if ($rt_suspending()) {
                break main;
            }
            return $last;
        case 21:
            jur_JointSet__init_0($last, $children, $fSet);
            if ($rt_suspending()) {
                break main;
            }
            return $last;
        case 22:
            jur_JointSet__init_0($last, $children, $fSet);
            if ($rt_suspending()) {
                break main;
            }
            return $last;
        case 23:
            jur_Lexer_movePointer($last);
            if ($rt_suspending()) {
                break main;
            }
            switch ($ch) {
                case -1073741784:
                    break;
                case -536870872:
                    $last = new jur_PositiveLookAhead;
                    $ptr = 18;
                    continue main;
                case -268435416:
                    $last = new jur_NegativeLookAhead;
                    $ptr = 19;
                    continue main;
                case -134217688:
                    $last = new jur_PositiveLookBehind;
                    $ptr = 20;
                    continue main;
                case -67108824:
                    $last = new jur_NegativeLookBehind;
                    $ptr = 21;
                    continue main;
                case -33554392:
                    $last = new jur_AtomicJointSet;
                    $ptr = 22;
                    continue main;
                default:
                    switch ($children.$size0) {
                        case 0:
                            break;
                        case 1:
                            $last = new jur_SingleSet;
                            $children = ju_ArrayList_get($children, 0);
                            $ptr = 25;
                            continue main;
                        default:
                            $last = new jur_JointSet;
                            $ptr = 26;
                            continue main;
                    }
                    $last = new jur_EmptySet;
                    $ptr = 24;
                    continue main;
            }
            $last = new jur_NonCapJointSet;
            $ptr = 17;
            continue main;
        case 24:
            jur_EmptySet__init_($last, $fSet);
            if ($rt_suspending()) {
                break main;
            }
            return $last;
        case 25:
            jur_SingleSet__init_($last, $children, $fSet);
            if ($rt_suspending()) {
                break main;
            }
            return $last;
        case 26:
            jur_JointSet__init_0($last, $children, $fSet);
            if ($rt_suspending()) {
                break main;
            }
            return $last;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ch, $newFlags, $last, $children, $saveFlags, $saveChangedFlags, $fSet, $child, var$9, $ptr);
    }
    function jur_Pattern_processDecomposedChar($this) {
        var $codePoints, $readCodePoints, $codePointsHangul, var$4, var$5, $curSymb, $curSymbIndex, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$curSymbIndex = $thread.pop();$curSymb = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$codePointsHangul = $thread.pop();$readCodePoints = $thread.pop();$codePoints = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $codePoints = $rt_createIntArray(4);
            $readCodePoints = 0;
            if (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
                $codePointsHangul = $codePoints.data;
                var$4 = $this.$lexemes;
                $ptr = 1;
                continue main;
            }
            if ((-1) >= 0 && (-1) < 19) {
                $codePointsHangul = $rt_createCharArray(3);
                $codePoints = $codePointsHangul.data;
                $codePoints[$readCodePoints] = (-1) & 65535;
                var$4 = $this.$lexemes;
                var$5 = var$4.$ch;
                $readCodePoints = var$5 - 4449 | 0;
                if ($readCodePoints >= 0 && $readCodePoints < 21) {
                    $readCodePoints = 2;
                    $codePoints[1] = var$5 & 65535;
                    $ptr = 3;
                    continue main;
                }
                if (!jur_Pattern_hasFlag($this, 2)) {
                    var$4 = new jur_CharSet;
                    $readCodePoints = $codePoints[0];
                    $ptr = 2;
                    continue main;
                }
                if (jur_Pattern_hasFlag($this, 64)) {
                    var$4 = new jur_UCICharSet;
                    $readCodePoints = $codePoints[0];
                    $ptr = 6;
                    continue main;
                }
                var$4 = new jur_CICharSet;
                $readCodePoints = $codePoints[0];
                $ptr = 7;
                continue main;
            }
            $codePointsHangul = $codePoints.data;
            $curSymb = 1;
            if ($curSymb < 4 && !jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
                $readCodePoints = $curSymb + 1 | 0;
                var$4 = $this.$lexemes;
                $ptr = 5;
                continue main;
            }
            if ($curSymb == 1) {
                $readCodePoints = $codePointsHangul[0];
                if (!(jur_Lexer_singleDecompTable.$get7($readCodePoints) == jur_Lexer_singleDecompTableSize ? 0 : 1)) {
                    $readCodePoints = $codePointsHangul[0];
                    $ptr = 13;
                    continue main;
                }
            }
            if (!jur_Pattern_hasFlag($this, 2)) {
                var$4 = new jur_DecomposedCharSet;
                $ptr = 4;
                continue main;
            }
            if (jur_Pattern_hasFlag($this, 64)) {
                var$4 = new jur_UCIDecomposedCharSet;
                $ptr = 9;
                continue main;
            }
            var$4 = new jur_CIDecomposedCharSet;
            $ptr = 10;
            continue main;
        case 1:
            $tmp = jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $curSymb = $tmp;
            $codePointsHangul[$readCodePoints] = $curSymb;
            $curSymbIndex = $curSymb - 4352 | 0;
            if ($curSymbIndex >= 0 && $curSymbIndex < 19) {
                $codePointsHangul = $rt_createCharArray(3);
                $codePoints = $codePointsHangul.data;
                $codePoints[$readCodePoints] = $curSymb & 65535;
                var$4 = $this.$lexemes;
                var$5 = var$4.$ch;
                $readCodePoints = var$5 - 4449 | 0;
                if ($readCodePoints >= 0 && $readCodePoints < 21) {
                    $readCodePoints = 2;
                    $codePoints[1] = var$5 & 65535;
                    $ptr = 3;
                    continue main;
                }
                if (!jur_Pattern_hasFlag($this, 2)) {
                    var$4 = new jur_CharSet;
                    $readCodePoints = $codePoints[0];
                    $ptr = 2;
                    continue main;
                }
                if (jur_Pattern_hasFlag($this, 64)) {
                    var$4 = new jur_UCICharSet;
                    $readCodePoints = $codePoints[0];
                    $ptr = 6;
                    continue main;
                }
                var$4 = new jur_CICharSet;
                $readCodePoints = $codePoints[0];
                $ptr = 7;
                continue main;
            }
            $codePointsHangul = $codePoints.data;
            $curSymb = 1;
            if ($curSymb < 4 && !jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
                $readCodePoints = $curSymb + 1 | 0;
                var$4 = $this.$lexemes;
                $ptr = 5;
                continue main;
            }
            if ($curSymb == 1) {
                $readCodePoints = $codePointsHangul[0];
                if (!(jur_Lexer_singleDecompTable.$get7($readCodePoints) == jur_Lexer_singleDecompTableSize ? 0 : 1)) {
                    $readCodePoints = $codePointsHangul[0];
                    $ptr = 13;
                    continue main;
                }
            }
            if (!jur_Pattern_hasFlag($this, 2)) {
                var$4 = new jur_DecomposedCharSet;
                $ptr = 4;
                continue main;
            }
            if (jur_Pattern_hasFlag($this, 64)) {
                var$4 = new jur_UCIDecomposedCharSet;
                $ptr = 9;
                continue main;
            }
            var$4 = new jur_CIDecomposedCharSet;
            $ptr = 10;
            continue main;
        case 2:
            jur_CharSet__init_(var$4, $readCodePoints);
            if ($rt_suspending()) {
                break main;
            }
            return var$4;
        case 3:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$lexemes;
            var$5 = var$4.$ch;
            $curSymb = var$5 - 4519 | 0;
            if ($curSymb >= 0 && $curSymb < 28) {
                $codePoints[$readCodePoints] = var$5 & 65535;
                $ptr = 11;
                continue main;
            }
            var$4 = new jur_HangulDecomposedCharSet;
            $readCodePoints = 2;
            $ptr = 8;
            continue main;
        case 4:
            jur_DecomposedCharSet__init_(var$4, $codePoints, $curSymb);
            if ($rt_suspending()) {
                break main;
            }
            return var$4;
        case 5:
            $tmp = jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $curSymbIndex = $tmp;
            $codePointsHangul[$curSymb] = $curSymbIndex;
            $curSymb = $readCodePoints;
            if ($curSymb < 4 && !jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
                $readCodePoints = $curSymb + 1 | 0;
                var$4 = $this.$lexemes;
                continue main;
            }
            if ($curSymb == 1) {
                $readCodePoints = $codePointsHangul[0];
                if (!(jur_Lexer_singleDecompTable.$get7($readCodePoints) == jur_Lexer_singleDecompTableSize ? 0 : 1)) {
                    $readCodePoints = $codePointsHangul[0];
                    $ptr = 13;
                    continue main;
                }
            }
            if (!jur_Pattern_hasFlag($this, 2)) {
                var$4 = new jur_DecomposedCharSet;
                $ptr = 4;
                continue main;
            }
            if (jur_Pattern_hasFlag($this, 64)) {
                var$4 = new jur_UCIDecomposedCharSet;
                $ptr = 9;
                continue main;
            }
            var$4 = new jur_CIDecomposedCharSet;
            $ptr = 10;
            continue main;
        case 6:
            jur_UCICharSet__init_(var$4, $readCodePoints);
            if ($rt_suspending()) {
                break main;
            }
            return var$4;
        case 7:
            jur_CICharSet__init_(var$4, $readCodePoints);
            if ($rt_suspending()) {
                break main;
            }
            return var$4;
        case 8:
            jur_HangulDecomposedCharSet__init_(var$4, $codePointsHangul, $readCodePoints);
            if ($rt_suspending()) {
                break main;
            }
            return var$4;
        case 9:
            jur_DecomposedCharSet__init_(var$4, $codePoints, $curSymb);
            if ($rt_suspending()) {
                break main;
            }
            return var$4;
        case 10:
            jur_DecomposedCharSet__init_(var$4, $codePoints, $curSymb);
            if ($rt_suspending()) {
                break main;
            }
            return var$4;
        case 11:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = new jur_HangulDecomposedCharSet;
            $readCodePoints = 3;
            $ptr = 12;
        case 12:
            jur_HangulDecomposedCharSet__init_(var$4, $codePointsHangul, $readCodePoints);
            if ($rt_suspending()) {
                break main;
            }
            return var$4;
        case 13:
            $tmp = jur_Pattern_processCharSet($this, $readCodePoints);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return var$4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $codePoints, $readCodePoints, $codePointsHangul, var$4, var$5, $curSymb, $curSymbIndex, $ptr);
    }
    function jur_Pattern_processSubExpression($this, $last) {
        var $next, var$3, $cur, $term, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$term = $thread.pop();$cur = $thread.pop();var$3 = $thread.pop();$next = $thread.pop();$last = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (jur_Lexer_isLetter($this.$lexemes) && !jur_Lexer_isNextSpecial($this.$lexemes) && jur_Lexer_isLetter0($this.$lexemes.$lookAhead)) {
                if (jur_Pattern_hasFlag($this, 128)) {
                    $ptr = 4;
                    continue main;
                }
                if (!jur_Lexer_isHighSurrogate($this.$lexemes) && !jur_Lexer_isLowSurrogate($this.$lexemes)) {
                    $next = new jl_StringBuffer;
                    jl_AbstractStringBuilder__init_($next);
                    a: {
                        if (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes) && !jur_Lexer_isHighSurrogate($this.$lexemes) && !jur_Lexer_isLowSurrogate($this.$lexemes)) {
                            if (!jur_Lexer_isNextSpecial($this.$lexemes) && !$this.$lexemes.$lookAhead)
                                break a;
                            if (!jur_Lexer_isNextSpecial($this.$lexemes) && jur_Lexer_isLetter0($this.$lexemes.$lookAhead))
                                break a;
                            var$3 = $this.$lexemes.$lookAhead;
                            if (var$3 == (-536870871))
                                break a;
                            if ((var$3 & (-2147418113)) == (-2147483608))
                                break a;
                            if (var$3 == (-536870788))
                                break a;
                            if (var$3 == (-536870876))
                                break a;
                        }
                        if (!jur_Pattern_hasFlag($this, 2)) {
                            $cur = new jur_SequenceSet;
                            $ptr = 9;
                            continue main;
                        }
                        if (jur_Pattern_hasFlag($this, 64)) {
                            $cur = new jur_UCISequenceSet;
                            $ptr = 12;
                            continue main;
                        }
                        $cur = new jur_CISequenceSet;
                        $ptr = 13;
                        continue main;
                    }
                    $term = $this.$lexemes;
                    $ptr = 16;
                    continue main;
                }
                $ptr = 5;
                continue main;
            }
            $term = $this.$lexemes;
            if ($term.$ch != (-536870871)) {
                $ptr = 1;
                continue main;
            }
            if ($last instanceof jur_FinalSet)
                $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $term.$orig, jur_Lexer_getIndex($term)));
            $cur = new jur_EmptySet;
            $ptr = 3;
            continue main;
        case 1:
            $tmp = jur_Pattern_processTerminal($this, $last);
            if ($rt_suspending()) {
                break main;
            }
            $term = $tmp;
            $ptr = 2;
        case 2:
            $tmp = jur_Pattern_processQuantifier($this, $last, $term);
            if ($rt_suspending()) {
                break main;
            }
            $cur = $tmp;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                var$6 = $this.$lexemes.$ch;
                if (!(var$6 == (-536870871) && !($last instanceof jur_FinalSet)) && var$6 != (-536870788)) {
                    $ptr = 7;
                    continue main;
                }
            }
            if ($cur === null)
                return null;
            $cur.$setNext($last);
            if (($cur.$getType1() & 65535) != 43)
                return $cur;
            return $cur.$innerSet;
        case 3:
            jur_EmptySet__init_($cur, $last);
            if ($rt_suspending()) {
                break main;
            }
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                var$6 = $this.$lexemes.$ch;
                if (!(var$6 == (-536870871) && !($last instanceof jur_FinalSet)) && var$6 != (-536870788)) {
                    $ptr = 7;
                    continue main;
                }
            }
            if ($cur === null)
                return null;
            $cur.$setNext($last);
            if (($cur.$getType1() & 65535) != 43)
                return $cur;
            return $cur.$innerSet;
        case 4:
            $tmp = jur_Pattern_processDecomposedChar($this);
            if ($rt_suspending()) {
                break main;
            }
            $cur = $tmp;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                $term = $this.$lexemes;
                var$6 = $term.$ch;
                if (!(var$6 == (-536870871) && !($last instanceof jur_FinalSet)) && var$6 != (-536870788) && !jur_Lexer_isLetter($term)) {
                    $ptr = 8;
                    continue main;
                }
            }
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                var$6 = $this.$lexemes.$ch;
                if (!(var$6 == (-536870871) && !($last instanceof jur_FinalSet)) && var$6 != (-536870788)) {
                    $ptr = 7;
                    continue main;
                }
            }
            if ($cur === null)
                return null;
            $cur.$setNext($last);
            if (($cur.$getType1() & 65535) != 43)
                return $cur;
            return $cur.$innerSet;
        case 5:
            $tmp = jur_Pattern_processTerminal($this, $last);
            if ($rt_suspending()) {
                break main;
            }
            $term = $tmp;
            $ptr = 6;
        case 6:
            $tmp = jur_Pattern_processQuantifier($this, $last, $term);
            if ($rt_suspending()) {
                break main;
            }
            $cur = $tmp;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                var$6 = $this.$lexemes.$ch;
                if (!(var$6 == (-536870871) && !($last instanceof jur_FinalSet)) && var$6 != (-536870788)) {
                    $ptr = 7;
                    continue main;
                }
            }
            if ($cur === null)
                return null;
            $cur.$setNext($last);
            if (($cur.$getType1() & 65535) != 43)
                return $cur;
            return $cur.$innerSet;
        case 7:
            $tmp = jur_Pattern_processSubExpression($this, $last);
            if ($rt_suspending()) {
                break main;
            }
            $next = $tmp;
            if ($cur instanceof jur_LeafQuantifierSet && !($cur instanceof jur_CompositeQuantifierSet) && !($cur instanceof jur_GroupQuantifierSet) && !($cur instanceof jur_AltQuantifierSet)) {
                var$7 = $cur;
                $last = var$7.$innerSet;
                $ptr = 11;
                continue main;
            }
            if (($next.$getType1() & 65535) != 43)
                $cur.$setNext($next);
            else
                $cur.$setNext($next.$innerSet);
            if (($cur.$getType1() & 65535) != 43)
                return $cur;
            return $cur.$innerSet;
        case 8:
            $tmp = jur_Pattern_processQuantifier($this, $last, $cur);
            if ($rt_suspending()) {
                break main;
            }
            $cur = $tmp;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                var$6 = $this.$lexemes.$ch;
                if (!(var$6 == (-536870871) && !($last instanceof jur_FinalSet)) && var$6 != (-536870788)) {
                    $ptr = 7;
                    continue main;
                }
            }
            if ($cur === null)
                return null;
            $cur.$setNext($last);
            if (($cur.$getType1() & 65535) != 43)
                return $cur;
            return $cur.$innerSet;
        case 9:
            jur_LeafSet__init_0($cur);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            $tmp = jl_AbstractStringBuilder_toString($next);
            if ($rt_suspending()) {
                break main;
            }
            $term = $tmp;
            $cur.$string0 = $term;
            var$6 = $next.$length0;
            $cur.$charCount = var$6;
            $cur.$leftToRight = jur_SequenceSet$IntHash__init_0(var$6);
            $cur.$rightToLeft = jur_SequenceSet$IntHash__init_0($cur.$charCount);
            var$8 = 0;
            while (var$8 < ($cur.$charCount - 1 | 0)) {
                jur_SequenceSet$IntHash_put($cur.$leftToRight, jl_String_charAt($cur.$string0, var$8), ($cur.$charCount - var$8 | 0) - 1 | 0);
                jur_SequenceSet$IntHash_put($cur.$rightToLeft, jl_String_charAt($cur.$string0, ($cur.$charCount - var$8 | 0) - 1 | 0), ($cur.$charCount - var$8 | 0) - 1 | 0);
                var$8 = var$8 + 1 | 0;
            }
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                var$6 = $this.$lexemes.$ch;
                if (!(var$6 == (-536870871) && !($last instanceof jur_FinalSet)) && var$6 != (-536870788)) {
                    $ptr = 7;
                    continue main;
                }
            }
            if ($cur === null)
                return null;
            $cur.$setNext($last);
            if (($cur.$getType1() & 65535) != 43)
                return $cur;
            return $cur.$innerSet;
        case 11:
            $tmp = $next.$first($last);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6) {
                if (($next.$getType1() & 65535) != 43)
                    $cur.$setNext($next);
                else
                    $cur.$setNext($next.$innerSet);
                if (($cur.$getType1() & 65535) != 43)
                    return $cur;
                return $cur.$innerSet;
            }
            $cur = new jur_UnifiedQuantifierSet;
            $last = var$7.$innerSet;
            $term = var$7.$next6;
            var$6 = var$7.$type0;
            $ptr = 15;
            continue main;
        case 12:
            jur_UCISequenceSet__init_($cur, $next);
            if ($rt_suspending()) {
                break main;
            }
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                var$6 = $this.$lexemes.$ch;
                if (!(var$6 == (-536870871) && !($last instanceof jur_FinalSet)) && var$6 != (-536870788)) {
                    $ptr = 7;
                    continue main;
                }
            }
            if ($cur === null)
                return null;
            $cur.$setNext($last);
            if (($cur.$getType1() & 65535) != 43)
                return $cur;
            return $cur.$innerSet;
        case 13:
            jur_LeafSet__init_0($cur);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            $tmp = jl_AbstractStringBuilder_toString($next);
            if ($rt_suspending()) {
                break main;
            }
            $term = $tmp;
            $cur.$string1 = $term;
            $cur.$charCount = $next.$length0;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                var$6 = $this.$lexemes.$ch;
                if (!(var$6 == (-536870871) && !($last instanceof jur_FinalSet)) && var$6 != (-536870788)) {
                    $ptr = 7;
                    continue main;
                }
            }
            if ($cur === null)
                return null;
            $cur.$setNext($last);
            if (($cur.$getType1() & 65535) != 43)
                return $cur;
            return $cur.$innerSet;
        case 15:
            jur_LeafQuantifierSet__init_($cur, $last, $term, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $cur.$innerSet.$setNext($cur);
            if (($next.$getType1() & 65535) != 43)
                $cur.$setNext($next);
            else
                $cur.$setNext($next.$innerSet);
            if (($cur.$getType1() & 65535) != 43)
                return $cur;
            return $cur.$innerSet;
        case 16:
            $tmp = jur_Lexer_next($term);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!jl_Character_isSupplementaryCodePoint(var$6))
                jl_AbstractStringBuilder_append($next, var$6 & 65535);
            else
                jl_AbstractStringBuilder_append6($next, jl_Character_toChars(var$6));
            b: {
                if (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes) && !jur_Lexer_isHighSurrogate($this.$lexemes) && !jur_Lexer_isLowSurrogate($this.$lexemes)) {
                    if (!jur_Lexer_isNextSpecial($this.$lexemes) && !$this.$lexemes.$lookAhead)
                        break b;
                    if (!jur_Lexer_isNextSpecial($this.$lexemes) && jur_Lexer_isLetter0($this.$lexemes.$lookAhead))
                        break b;
                    var$3 = $this.$lexemes.$lookAhead;
                    if (var$3 == (-536870871))
                        break b;
                    if ((var$3 & (-2147418113)) == (-2147483608))
                        break b;
                    if (var$3 == (-536870788))
                        break b;
                    if (var$3 == (-536870876))
                        break b;
                }
                if (!jur_Pattern_hasFlag($this, 2)) {
                    $cur = new jur_SequenceSet;
                    $ptr = 9;
                    continue main;
                }
                if (jur_Pattern_hasFlag($this, 64)) {
                    $cur = new jur_UCISequenceSet;
                    $ptr = 12;
                    continue main;
                }
                $cur = new jur_CISequenceSet;
                $ptr = 13;
                continue main;
            }
            $term = $this.$lexemes;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $last, $next, var$3, $cur, $term, var$6, var$7, var$8, $ptr);
    }
    function jur_Pattern_processQuantifier($this, $last, $term) {
        var $q, $quant, $leaf, $q_0, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$q_0 = $thread.pop();$leaf = $thread.pop();$quant = $thread.pop();$q = $thread.pop();$term = $thread.pop();$last = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $q = $this.$lexemes;
            $quant = $q.$ch;
            if ($term !== null && !($term instanceof jur_LeafSet)) {
                switch ($quant) {
                    case -2147483606:
                        $ptr = 1;
                        continue main;
                    case -2147483605:
                        $ptr = 4;
                        continue main;
                    case -2147483585:
                        $ptr = 7;
                        continue main;
                    case -2147483525:
                        $leaf = new jur_PosCompositeGroupQuantifierSet;
                        $ptr = 10;
                        continue main;
                    case -1073741782:
                    case -1073741781:
                        $ptr = 13;
                        continue main;
                    case -1073741761:
                        $ptr = 15;
                        continue main;
                    case -1073741701:
                        $q_0 = new jur_RelCompositeGroupQuantifierSet;
                        $ptr = 17;
                        continue main;
                    case -536870870:
                    case -536870869:
                        $ptr = 19;
                        continue main;
                    case -536870849:
                        $ptr = 20;
                        continue main;
                    case -536870789:
                        $q_0 = new jur_CompositeGroupQuantifierSet;
                        $ptr = 22;
                        continue main;
                    default:
                }
                return $term;
            }
            $leaf = null;
            if ($term !== null)
                $leaf = $term;
            switch ($quant) {
                case -2147483606:
                case -2147483605:
                    $ptr = 24;
                    continue main;
                case -2147483585:
                    $ptr = 26;
                    continue main;
                case -2147483525:
                    $term = new jur_PossessiveCompositeQuantifierSet;
                    $ptr = 28;
                    continue main;
                case -1073741782:
                case -1073741781:
                    $ptr = 30;
                    continue main;
                case -1073741761:
                    $ptr = 32;
                    continue main;
                case -1073741701:
                    $term = new jur_ReluctantCompositeQuantifierSet;
                    $ptr = 34;
                    continue main;
                case -536870870:
                case -536870869:
                    $ptr = 36;
                    continue main;
                case -536870849:
                    $ptr = 38;
                    continue main;
                case -536870789:
                    $term = new jur_CompositeQuantifierSet;
                    $ptr = 40;
                    continue main;
                default:
            }
            return $term;
        case 1:
            jur_Lexer_next($q);
            if ($rt_suspending()) {
                break main;
            }
            $q = new jur_PossessiveGroupQuantifierSet;
            $ptr = 2;
        case 2:
            jur_QuantifierSet__init_($q, $term, $last, $quant);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            jur_FSet_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $term.$setNext(jur_FSet_posFSet);
            return $q;
        case 4:
            jur_Lexer_next($q);
            if ($rt_suspending()) {
                break main;
            }
            $q = new jur_PosPlusGroupQuantifierSet;
            var$7 = (-2147483606);
            $ptr = 5;
        case 5:
            jur_QuantifierSet__init_($q, $term, $last, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            jur_FSet_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $term.$setNext(jur_FSet_posFSet);
            return $q;
        case 7:
            jur_Lexer_next($q);
            if ($rt_suspending()) {
                break main;
            }
            $q = new jur_PosAltGroupQuantifierSet;
            var$7 = (-536870849);
            $ptr = 8;
        case 8:
            jur_QuantifierSet__init_($q, $term, $last, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            jur_FSet_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $term.$setNext(jur_FSet_posFSet);
            return $q;
        case 10:
            $tmp = jur_Lexer_nextSpecial($q);
            if ($rt_suspending()) {
                break main;
            }
            $q = $tmp;
            $q = $q;
            $quant = (-536870849);
            var$7 = $this.$compCount + 1 | 0;
            $this.$compCount = var$7;
            $ptr = 11;
        case 11:
            jur_CompositeGroupQuantifierSet__init_($leaf, $q, $term, $last, $quant, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            jur_FSet_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $term.$setNext(jur_FSet_posFSet);
            return $leaf;
        case 13:
            jur_Lexer_next($q);
            if ($rt_suspending()) {
                break main;
            }
            $q = new jur_ReluctantGroupQuantifierSet;
            $ptr = 14;
        case 14:
            jur_QuantifierSet__init_($q, $term, $last, $quant);
            if ($rt_suspending()) {
                break main;
            }
            $term.$setNext($q);
            return $q;
        case 15:
            jur_Lexer_next($q);
            if ($rt_suspending()) {
                break main;
            }
            $q = new jur_RelAltGroupQuantifierSet;
            var$7 = (-536870849);
            $ptr = 16;
        case 16:
            jur_QuantifierSet__init_($q, $term, $last, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $term.$setNext($last);
            return $q;
        case 17:
            $tmp = jur_Lexer_nextSpecial($q);
            if ($rt_suspending()) {
                break main;
            }
            $q = $tmp;
            $q = $q;
            var$7 = (-536870849);
            $quant = $this.$compCount + 1 | 0;
            $this.$compCount = $quant;
            $ptr = 18;
        case 18:
            jur_CompositeGroupQuantifierSet__init_($q_0, $q, $term, $last, var$7, $quant);
            if ($rt_suspending()) {
                break main;
            }
            $term.$setNext($q_0);
            return $q_0;
        case 19:
            jur_Lexer_next($q);
            if ($rt_suspending()) {
                break main;
            }
            if ($term.$getType1() != (-2147483602)) {
                $q = new jur_GroupQuantifierSet;
                $ptr = 42;
                continue main;
            }
            if (jur_Pattern_hasFlag($this, 32)) {
                $q = new jur_DotAllQuantifierSet;
                $ptr = 43;
                continue main;
            }
            $q = new jur_DotQuantifierSet;
            $leaf = jur_AbstractLineTerminator_getInstance($this.$flags);
            $ptr = 44;
            continue main;
        case 20:
            jur_Lexer_next($q);
            if ($rt_suspending()) {
                break main;
            }
            $q = new jur_AltGroupQuantifierSet;
            var$7 = (-536870849);
            $ptr = 21;
        case 21:
            jur_QuantifierSet__init_($q, $term, $last, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $term.$setNext($last);
            return $q;
        case 22:
            $tmp = jur_Lexer_nextSpecial($q);
            if ($rt_suspending()) {
                break main;
            }
            $q = $tmp;
            $q = $q;
            var$7 = (-536870849);
            $quant = $this.$compCount + 1 | 0;
            $this.$compCount = $quant;
            $ptr = 23;
        case 23:
            jur_CompositeGroupQuantifierSet__init_($q_0, $q, $term, $last, var$7, $quant);
            if ($rt_suspending()) {
                break main;
            }
            $term.$setNext($q_0);
            return $q_0;
        case 24:
            jur_Lexer_next($q);
            if ($rt_suspending()) {
                break main;
            }
            $q = new jur_PossessiveQuantifierSet;
            $ptr = 25;
        case 25:
            jur_LeafQuantifierSet__init_($q, $leaf, $last, $quant);
            if ($rt_suspending()) {
                break main;
            }
            $leaf.$next6 = $q;
            return $q;
        case 26:
            jur_Lexer_next($q);
            if ($rt_suspending()) {
                break main;
            }
            $term = new jur_PossessiveAltQuantifierSet;
            var$7 = (-2147483585);
            $ptr = 27;
        case 27:
            jur_LeafQuantifierSet__init_($term, $leaf, $last, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return $term;
        case 28:
            $tmp = jur_Lexer_nextSpecial($q);
            if ($rt_suspending()) {
                break main;
            }
            $q = $tmp;
            $q = $q;
            var$7 = (-2147483525);
            $ptr = 29;
        case 29:
            jur_CompositeQuantifierSet__init_($term, $q, $leaf, $last, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return $term;
        case 30:
            jur_Lexer_next($q);
            if ($rt_suspending()) {
                break main;
            }
            $q = new jur_ReluctantQuantifierSet;
            $ptr = 31;
        case 31:
            jur_LeafQuantifierSet__init_($q, $leaf, $last, $quant);
            if ($rt_suspending()) {
                break main;
            }
            $leaf.$next6 = $q;
            return $q;
        case 32:
            jur_Lexer_next($q);
            if ($rt_suspending()) {
                break main;
            }
            $term = new jur_ReluctantAltQuantifierSet;
            var$7 = (-1073741761);
            $ptr = 33;
        case 33:
            jur_LeafQuantifierSet__init_($term, $leaf, $last, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return $term;
        case 34:
            $tmp = jur_Lexer_nextSpecial($q);
            if ($rt_suspending()) {
                break main;
            }
            $q = $tmp;
            $q = $q;
            var$7 = (-1073741701);
            $ptr = 35;
        case 35:
            jur_CompositeQuantifierSet__init_($term, $q, $leaf, $last, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return $term;
        case 36:
            jur_Lexer_next($q);
            if ($rt_suspending()) {
                break main;
            }
            $q = new jur_LeafQuantifierSet;
            $ptr = 37;
        case 37:
            jur_LeafQuantifierSet__init_($q, $leaf, $last, $quant);
            if ($rt_suspending()) {
                break main;
            }
            $leaf.$next6 = $q;
            return $q;
        case 38:
            jur_Lexer_next($q);
            if ($rt_suspending()) {
                break main;
            }
            $term = new jur_AltQuantifierSet;
            var$7 = (-536870849);
            $ptr = 39;
        case 39:
            jur_LeafQuantifierSet__init_($term, $leaf, $last, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return $term;
        case 40:
            $tmp = jur_Lexer_nextSpecial($q);
            if ($rt_suspending()) {
                break main;
            }
            $q = $tmp;
            $q = $q;
            var$7 = (-536870789);
            $ptr = 41;
        case 41:
            jur_CompositeQuantifierSet__init_($term, $q, $leaf, $last, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return $term;
        case 42:
            jur_QuantifierSet__init_($q, $term, $last, $quant);
            if ($rt_suspending()) {
                break main;
            }
            $term.$setNext($q);
            return $q;
        case 43:
            jur_QuantifierSet__init_($q, $term, $last, $quant);
            if ($rt_suspending()) {
                break main;
            }
            $term.$setNext($q);
            return $q;
        case 44:
            jur_QuantifierSet__init_($q, $term, $last, $quant);
            if ($rt_suspending()) {
                break main;
            }
            $q.$lt = $leaf;
            $term.$setNext($q);
            return $q;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $last, $term, $q, $quant, $leaf, $q_0, var$7, $ptr);
    }
    function jur_Pattern_processTerminal($this, $last) {
        var $term, var$3, var$4, $ch, $number, $cc, $newFlags, $negative, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$negative = $thread.pop();$newFlags = $thread.pop();$cc = $thread.pop();$number = $thread.pop();$ch = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$term = $thread.pop();$last = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $term = null;
            var$3 = $last instanceof jur_FinalSet;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 1:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $newFlags = ($ch & 16711680) >> 16;
            $ch = $ch & (-16711681);
            if ($ch != (-16777176)) {
                if ($ch != (-1073741784))
                    $newFlags = $this.$flags;
                $ptr = 39;
                continue main;
            }
            $this.$flags = $newFlags;
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
        case 2:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $term = new jur_SOLSet;
            $ptr = 3;
        case 3:
            jur_AbstractSet__init_($term);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 4:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $term = new jur_WordBoundary;
            $number = 0;
            $ptr = 5;
        case 5:
            jur_WordBoundary__init_($term, $number);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 6:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $term = new jur_PreviousMatch;
            $ptr = 7;
        case 7:
            jur_AbstractSet__init_($term);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 8:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $term = new jur_EOLSet;
            $number = $this.$consCount + 1 | 0;
            $this.$consCount = $number;
            $ptr = 9;
        case 9:
            jur_EOLSet__init_($term, $number);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 10:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $term = new jur_WordBoundary;
            $number = 1;
            $ptr = 11;
        case 11:
            jur_WordBoundary__init_($term, $number);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 12:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $term = new jur_EOISet;
            $ptr = 13;
        case 13:
            jur_AbstractSet__init_($term);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 14:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$consCount = $this.$consCount + 1 | 0;
            if (jur_Pattern_hasFlag($this, 8)) {
                if (jur_Pattern_hasFlag($this, 1)) {
                    $term = new jur_UMultiLineEOLSet;
                    $number = $this.$consCount;
                    $ptr = 27;
                    continue main;
                }
                $term = new jur_MultiLineEOLSet;
                $number = $this.$consCount;
                $ptr = 28;
                continue main;
            }
            if (jur_Pattern_hasFlag($this, 1)) {
                $term = new jur_UEOLSet;
                $number = $this.$consCount;
                $ptr = 29;
                continue main;
            }
            $term = new jur_EOLSet;
            $number = $this.$consCount;
            $ptr = 30;
            continue main;
        case 15:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            if (jur_Pattern_hasFlag($this, 32)) {
                $term = new jur_DotAllSet;
                $ptr = 20;
                continue main;
            }
            $term = new jur_DotSet;
            var$4 = jur_AbstractLineTerminator_getInstance($this.$flags);
            $ptr = 21;
            continue main;
        case 16:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $negative = 0;
            $term = $this.$lexemes;
            if ($term.$ch == (-536870818)) {
                $negative = 1;
                $ptr = 22;
                continue main;
            }
            $ptr = 31;
            continue main;
        case 17:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$consCount = $this.$consCount + 1 | 0;
            if (!jur_Pattern_hasFlag($this, 8)) {
                $term = new jur_SOLSet;
                $ptr = 24;
                continue main;
            }
            $term = new jur_MultiLineSOLSet;
            var$4 = jur_AbstractLineTerminator_getInstance($this.$flags);
            $ptr = 23;
            continue main;
        case 18:
            $tmp = jur_Lexer_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jur_PatternSyntaxException__init_($term, $last, var$4, jur_Lexer_getIndex($this.$lexemes));
            $rt_throw($term);
        case 19:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$consCount = $this.$consCount + 1 | 0;
            if (!jur_Pattern_hasFlag($this, 2)) {
                $term = new jur_BackReferenceSet;
                $negative = $this.$consCount;
                $ptr = 26;
                continue main;
            }
            if (jur_Pattern_hasFlag($this, 64)) {
                $term = new jur_UCIBackReferenceSet;
                $negative = $this.$consCount;
                $ptr = 40;
                continue main;
            }
            $term = new jur_CIBackReferenceSet;
            $negative = $this.$consCount;
            $ptr = 41;
            continue main;
        case 20:
            jur_DotAllSet__init_($term);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 21:
            jur_DotSet__init_($term, var$4);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 22:
            jur_Lexer_next($term);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 31;
            continue main;
        case 23:
            jur_AbstractSet__init_($term);
            if ($rt_suspending()) {
                break main;
            }
            $term.$lt0 = var$4;
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 24:
            jur_AbstractSet__init_($term);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 25:
            $tmp = jur_Pattern_processRangeSet($this, $cc);
            if ($rt_suspending()) {
                break main;
            }
            $term = $tmp;
            var$4 = $this.$lexemes;
            $ptr = 35;
            continue main;
        case 26:
            jur_BackReferenceSet__init_($term, $number, $negative);
            if ($rt_suspending()) {
                break main;
            }
            $this.$backRefs.data[$number].$isBackReferenced = 1;
            $this.$needsBackRefReplacement = 1;
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 27:
            jur_UMultiLineEOLSet__init_($term, $number);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 28:
            jur_MultiLineEOLSet__init_($term, $number);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 29:
            jur_UEOLSet__init_($term, $number);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 30:
            jur_EOLSet__init_($term, $number);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 31:
            $tmp = jur_Pattern_processRangeExpression($this, $negative);
            if ($rt_suspending()) {
                break main;
            }
            $term = $tmp;
            $ptr = 32;
        case 32:
            $tmp = jur_Pattern_processRangeSet($this, $term);
            if ($rt_suspending()) {
                break main;
            }
            $term = $tmp;
            $term.$setNext($last);
            var$4 = $this.$lexemes;
            if (var$4.$ch != (-536870819))
                $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), var$4.$orig, var$4.$curToc));
            $number = 1;
            $ptr = 42;
            continue main;
        case 33:
            jur_EmptySet__init_($term, $last);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 34:
            jur_CharSet__init_($term, $number);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$lexemes;
            $ptr = 35;
        case 35:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 36:
            jur_EmptySet__init_($term, $last);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 37:
            $tmp = jur_Pattern_processCharSet($this, $ch);
            if ($rt_suspending()) {
                break main;
            }
            $term = $tmp;
            var$4 = $this.$lexemes;
            $ptr = 38;
        case 38:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 39:
            $tmp = jur_Pattern_processExpression($this, $ch, $newFlags, $last);
            if ($rt_suspending()) {
                break main;
            }
            $term = $tmp;
            var$4 = $this.$lexemes;
            if (var$4.$ch != (-536870871))
                $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), var$4.$orig, var$4.$curToc));
            $ptr = 44;
            continue main;
        case 40:
            jur_UCIBackReferenceSet__init_($term, $number, $negative);
            if ($rt_suspending()) {
                break main;
            }
            $this.$backRefs.data[$number].$isBackReferenced = 1;
            $this.$needsBackRefReplacement = 1;
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 41:
            jur_CIBackReferenceSet__init_($term, $number, $negative);
            if ($rt_suspending()) {
                break main;
            }
            $this.$backRefs.data[$number].$isBackReferenced = 1;
            $this.$needsBackRefReplacement = 1;
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 42:
            jur_Lexer_setMode(var$4, $number);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$lexemes;
            $ptr = 43;
        case 43:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 44:
            jur_Lexer_next(var$4);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        $ptr = 46;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        case 45:
            $tmp = $term.$toString();
            if ($rt_suspending()) {
                break main;
            }
            $term = $tmp;
            var$4 = $this.$lexemes;
            jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
            $rt_throw($last);
        case 46:
            jur_EmptySet__init_($term, $last);
            if ($rt_suspending()) {
                break main;
            }
            if ($ch != (-16777176))
                return $term;
            var$4 = $this.$lexemes;
            $ch = var$4.$ch;
            if (($ch & (-2147418113)) == (-2147483608)) {
                $ptr = 1;
                continue main;
            }
            switch ($ch) {
                case -2147483599:
                case -2147483598:
                case -2147483597:
                case -2147483596:
                case -2147483595:
                case -2147483594:
                case -2147483593:
                case -2147483592:
                case -2147483591:
                    $number = ($ch & 2147483647) - 48 | 0;
                    if ($this.$globalGroupIndex >= $number) {
                        $ptr = 19;
                        continue main;
                    }
                    $term = new jur_PatternSyntaxException;
                    $last = $rt_s(3);
                    $ptr = 18;
                    continue main;
                case -2147483583:
                    break;
                case -2147483582:
                    $ptr = 4;
                    continue main;
                case -2147483577:
                    $ptr = 6;
                    continue main;
                case -2147483558:
                    $ptr = 8;
                    continue main;
                case -2147483550:
                    $ptr = 10;
                    continue main;
                case -2147483526:
                    $ptr = 12;
                    continue main;
                case -536870876:
                    $ptr = 14;
                    continue main;
                case -536870866:
                    $ptr = 15;
                    continue main;
                case -536870821:
                    $ptr = 16;
                    continue main;
                case -536870818:
                    $ptr = 17;
                    continue main;
                case 0:
                    $cc = var$4.$curST;
                    if ($cc !== null) {
                        $ptr = 25;
                        continue main;
                    }
                    if (jur_Lexer_isEmpty(var$4)) {
                        $term = new jur_EmptySet;
                        $ptr = 33;
                        continue main;
                    }
                    $term = new jur_CharSet;
                    $number = $ch & 65535;
                    $ptr = 34;
                    continue main;
                default:
                    if ($ch >= 0 && !jur_Lexer_isSpecial(var$4)) {
                        $ptr = 37;
                        continue main;
                    }
                    if ($ch == (-536870788)) {
                        $term = new jur_EmptySet;
                        $ptr = 36;
                        continue main;
                    }
                    if ($ch == (-536870871)) {
                        if (var$3) {
                            $last = new jur_PatternSyntaxException;
                            var$4 = $this.$lexemes;
                            jur_PatternSyntaxException__init_($last, $rt_s(3), var$4.$orig, var$4.$curToc);
                            $rt_throw($last);
                        }
                        $term = new jur_EmptySet;
                        continue main;
                    }
                    $last = new jur_PatternSyntaxException;
                    if (!jur_Lexer_isSpecial($this.$lexemes)) {
                        $term = jl_Character_toString0($ch & 65535);
                        var$4 = $this.$lexemes;
                        jur_PatternSyntaxException__init_($last, $term, var$4.$orig, var$4.$curToc);
                        $rt_throw($last);
                    }
                    $term = $this.$lexemes.$curST;
                    $ptr = 45;
                    continue main;
            }
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $last, $term, var$3, var$4, $ch, $number, $cc, $newFlags, $negative, $ptr);
    }
    function jur_Pattern_processRangeExpression($this, $alt) {
        var $res, $buffer, $intersection, $notClosed, $firstInClass, $cs, var$8, $negative, $cur, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$cur = $thread.pop();$negative = $thread.pop();var$8 = $thread.pop();$cs = $thread.pop();$firstInClass = $thread.pop();$notClosed = $thread.pop();$intersection = $thread.pop();$buffer = $thread.pop();$res = $thread.pop();$alt = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $res = jur_CharClass__init_2(jur_Pattern_hasFlag($this, 2), jur_Pattern_hasFlag($this, 64));
            jur_AbstractCharClass_setNegative($res, $alt);
            $buffer = (-1);
            $intersection = 0;
            $notClosed = 0;
            $firstInClass = 1;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                $cs = $this.$lexemes;
                $alt = $cs.$ch;
                $notClosed = $alt == (-536870819) && !$firstInClass ? 0 : 1;
                if ($notClosed) {
                    switch ($alt) {
                        case -536870874:
                            break;
                        case -536870867:
                            if (!$firstInClass) {
                                $alt = $cs.$lookAhead;
                                if ($alt != (-536870819) && $alt != (-536870821) && $buffer >= 0) {
                                    $ptr = 13;
                                    continue main;
                                }
                            }
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 45;
                            $cs = $this.$lexemes;
                            $ptr = 6;
                            continue main;
                        case -536870821:
                            if ($buffer >= 0) {
                                jur_CharClass_add($res, $buffer);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 7;
                            continue main;
                        case -536870819:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 93;
                            $cs = $this.$lexemes;
                            $ptr = 3;
                            continue main;
                        case -536870818:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 94;
                            $cs = $this.$lexemes;
                            $ptr = 4;
                            continue main;
                        case 0:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes.$curST;
                            if ($cs === null)
                                $buffer = 0;
                            else {
                                jur_CharClass_add0($res, $cs);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 11;
                            continue main;
                        default:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes;
                            $ptr = 5;
                            continue main;
                    }
                    if ($buffer >= 0)
                        jur_CharClass_add($res, $buffer);
                    $cs = $this.$lexemes;
                    $ptr = 2;
                    continue main;
                }
            }
            if (!$notClosed) {
                if ($buffer >= 0)
                    jur_CharClass_add($res, $buffer);
                return $res;
            }
            $res = new jur_PatternSyntaxException;
            $cs = $rt_s(3);
            $ptr = 1;
        case 1:
            $tmp = jur_Pattern_pattern($this);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jur_PatternSyntaxException__init_($res, $cs, var$8, $this.$lexemes.$curToc - 1 | 0);
            $rt_throw($res);
        case 2:
            $tmp = jur_Lexer_next($cs);
            if ($rt_suspending()) {
                break main;
            }
            $buffer = $tmp;
            $cs = $this.$lexemes;
            if ($cs.$ch == (-536870874)) {
                if ($cs.$lookAhead != (-536870821)) {
                    $ptr = 8;
                    continue main;
                }
                $ptr = 9;
                continue main;
            }
            $buffer = 38;
            $firstInClass = 0;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                $cs = $this.$lexemes;
                $alt = $cs.$ch;
                $notClosed = $alt == (-536870819) && !$firstInClass ? 0 : 1;
                if ($notClosed) {
                    switch ($alt) {
                        case -536870874:
                            break;
                        case -536870867:
                            if (!$firstInClass) {
                                $alt = $cs.$lookAhead;
                                if ($alt != (-536870819) && $alt != (-536870821) && $buffer >= 0) {
                                    $ptr = 13;
                                    continue main;
                                }
                            }
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 45;
                            $cs = $this.$lexemes;
                            $ptr = 6;
                            continue main;
                        case -536870821:
                            if ($buffer >= 0) {
                                jur_CharClass_add($res, $buffer);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 7;
                            continue main;
                        case -536870819:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 93;
                            $cs = $this.$lexemes;
                            $ptr = 3;
                            continue main;
                        case -536870818:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 94;
                            $cs = $this.$lexemes;
                            $ptr = 4;
                            continue main;
                        case 0:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes.$curST;
                            if ($cs === null)
                                $buffer = 0;
                            else {
                                jur_CharClass_add0($res, $cs);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 11;
                            continue main;
                        default:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes;
                            $ptr = 5;
                            continue main;
                    }
                    if ($buffer >= 0)
                        jur_CharClass_add($res, $buffer);
                    $cs = $this.$lexemes;
                    continue main;
                }
            }
            if (!$notClosed) {
                if ($buffer >= 0)
                    jur_CharClass_add($res, $buffer);
                return $res;
            }
            $res = new jur_PatternSyntaxException;
            $cs = $rt_s(3);
            $ptr = 1;
            continue main;
        case 3:
            jur_Lexer_next($cs);
            if ($rt_suspending()) {
                break main;
            }
            $firstInClass = 0;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                $cs = $this.$lexemes;
                $alt = $cs.$ch;
                $notClosed = $alt == (-536870819) && !$firstInClass ? 0 : 1;
                if ($notClosed) {
                    switch ($alt) {
                        case -536870874:
                            break;
                        case -536870867:
                            if (!$firstInClass) {
                                $alt = $cs.$lookAhead;
                                if ($alt != (-536870819) && $alt != (-536870821) && $buffer >= 0) {
                                    $ptr = 13;
                                    continue main;
                                }
                            }
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 45;
                            $cs = $this.$lexemes;
                            $ptr = 6;
                            continue main;
                        case -536870821:
                            if ($buffer >= 0) {
                                jur_CharClass_add($res, $buffer);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 7;
                            continue main;
                        case -536870819:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 93;
                            $cs = $this.$lexemes;
                            continue main;
                        case -536870818:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 94;
                            $cs = $this.$lexemes;
                            $ptr = 4;
                            continue main;
                        case 0:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes.$curST;
                            if ($cs === null)
                                $buffer = 0;
                            else {
                                jur_CharClass_add0($res, $cs);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 11;
                            continue main;
                        default:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes;
                            $ptr = 5;
                            continue main;
                    }
                    if ($buffer >= 0)
                        jur_CharClass_add($res, $buffer);
                    $cs = $this.$lexemes;
                    $ptr = 2;
                    continue main;
                }
            }
            if (!$notClosed) {
                if ($buffer >= 0)
                    jur_CharClass_add($res, $buffer);
                return $res;
            }
            $res = new jur_PatternSyntaxException;
            $cs = $rt_s(3);
            $ptr = 1;
            continue main;
        case 4:
            jur_Lexer_next($cs);
            if ($rt_suspending()) {
                break main;
            }
            $firstInClass = 0;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                $cs = $this.$lexemes;
                $alt = $cs.$ch;
                $notClosed = $alt == (-536870819) && !$firstInClass ? 0 : 1;
                if ($notClosed) {
                    switch ($alt) {
                        case -536870874:
                            break;
                        case -536870867:
                            if (!$firstInClass) {
                                $alt = $cs.$lookAhead;
                                if ($alt != (-536870819) && $alt != (-536870821) && $buffer >= 0) {
                                    $ptr = 13;
                                    continue main;
                                }
                            }
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 45;
                            $cs = $this.$lexemes;
                            $ptr = 6;
                            continue main;
                        case -536870821:
                            if ($buffer >= 0) {
                                jur_CharClass_add($res, $buffer);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 7;
                            continue main;
                        case -536870819:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 93;
                            $cs = $this.$lexemes;
                            $ptr = 3;
                            continue main;
                        case -536870818:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 94;
                            $cs = $this.$lexemes;
                            continue main;
                        case 0:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes.$curST;
                            if ($cs === null)
                                $buffer = 0;
                            else {
                                jur_CharClass_add0($res, $cs);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 11;
                            continue main;
                        default:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes;
                            $ptr = 5;
                            continue main;
                    }
                    if ($buffer >= 0)
                        jur_CharClass_add($res, $buffer);
                    $cs = $this.$lexemes;
                    $ptr = 2;
                    continue main;
                }
            }
            if (!$notClosed) {
                if ($buffer >= 0)
                    jur_CharClass_add($res, $buffer);
                return $res;
            }
            $res = new jur_PatternSyntaxException;
            $cs = $rt_s(3);
            $ptr = 1;
            continue main;
        case 5:
            $tmp = jur_Lexer_next($cs);
            if ($rt_suspending()) {
                break main;
            }
            $buffer = $tmp;
            $firstInClass = 0;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                $cs = $this.$lexemes;
                $alt = $cs.$ch;
                $notClosed = $alt == (-536870819) && !$firstInClass ? 0 : 1;
                if ($notClosed) {
                    switch ($alt) {
                        case -536870874:
                            break;
                        case -536870867:
                            if (!$firstInClass) {
                                $alt = $cs.$lookAhead;
                                if ($alt != (-536870819) && $alt != (-536870821) && $buffer >= 0) {
                                    $ptr = 13;
                                    continue main;
                                }
                            }
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 45;
                            $cs = $this.$lexemes;
                            $ptr = 6;
                            continue main;
                        case -536870821:
                            if ($buffer >= 0) {
                                jur_CharClass_add($res, $buffer);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 7;
                            continue main;
                        case -536870819:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 93;
                            $cs = $this.$lexemes;
                            $ptr = 3;
                            continue main;
                        case -536870818:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 94;
                            $cs = $this.$lexemes;
                            $ptr = 4;
                            continue main;
                        case 0:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes.$curST;
                            if ($cs === null)
                                $buffer = 0;
                            else {
                                jur_CharClass_add0($res, $cs);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 11;
                            continue main;
                        default:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes;
                            continue main;
                    }
                    if ($buffer >= 0)
                        jur_CharClass_add($res, $buffer);
                    $cs = $this.$lexemes;
                    $ptr = 2;
                    continue main;
                }
            }
            if (!$notClosed) {
                if ($buffer >= 0)
                    jur_CharClass_add($res, $buffer);
                return $res;
            }
            $res = new jur_PatternSyntaxException;
            $cs = $rt_s(3);
            $ptr = 1;
            continue main;
        case 6:
            jur_Lexer_next($cs);
            if ($rt_suspending()) {
                break main;
            }
            $firstInClass = 0;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                $cs = $this.$lexemes;
                $alt = $cs.$ch;
                $notClosed = $alt == (-536870819) && !$firstInClass ? 0 : 1;
                if ($notClosed) {
                    switch ($alt) {
                        case -536870874:
                            break;
                        case -536870867:
                            if (!$firstInClass) {
                                $alt = $cs.$lookAhead;
                                if ($alt != (-536870819) && $alt != (-536870821) && $buffer >= 0) {
                                    $ptr = 13;
                                    continue main;
                                }
                            }
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 45;
                            $cs = $this.$lexemes;
                            continue main;
                        case -536870821:
                            if ($buffer >= 0) {
                                jur_CharClass_add($res, $buffer);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 7;
                            continue main;
                        case -536870819:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 93;
                            $cs = $this.$lexemes;
                            $ptr = 3;
                            continue main;
                        case -536870818:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 94;
                            $cs = $this.$lexemes;
                            $ptr = 4;
                            continue main;
                        case 0:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes.$curST;
                            if ($cs === null)
                                $buffer = 0;
                            else {
                                jur_CharClass_add0($res, $cs);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 11;
                            continue main;
                        default:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes;
                            $ptr = 5;
                            continue main;
                    }
                    if ($buffer >= 0)
                        jur_CharClass_add($res, $buffer);
                    $cs = $this.$lexemes;
                    $ptr = 2;
                    continue main;
                }
            }
            if (!$notClosed) {
                if ($buffer >= 0)
                    jur_CharClass_add($res, $buffer);
                return $res;
            }
            $res = new jur_PatternSyntaxException;
            $cs = $rt_s(3);
            $ptr = 1;
            continue main;
        case 7:
            jur_Lexer_next($cs);
            if ($rt_suspending()) {
                break main;
            }
            $negative = 0;
            $cs = $this.$lexemes;
            if ($cs.$ch == (-536870818)) {
                $ptr = 10;
                continue main;
            }
            if (!$intersection) {
                $ptr = 16;
                continue main;
            }
            $ptr = 17;
            continue main;
        case 8:
            jur_Lexer_next($cs);
            if ($rt_suspending()) {
                break main;
            }
            if ($firstInClass) {
                $alt = 0;
                $ptr = 12;
                continue main;
            }
            if ($this.$lexemes.$ch != (-536870819)) {
                $alt = 0;
                $ptr = 14;
                continue main;
            }
            $firstInClass = 0;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                $cs = $this.$lexemes;
                $alt = $cs.$ch;
                $notClosed = $alt == (-536870819) && !$firstInClass ? 0 : 1;
                if ($notClosed) {
                    switch ($alt) {
                        case -536870874:
                            break;
                        case -536870867:
                            if (!$firstInClass) {
                                $alt = $cs.$lookAhead;
                                if ($alt != (-536870819) && $alt != (-536870821) && $buffer >= 0) {
                                    $ptr = 13;
                                    continue main;
                                }
                            }
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 45;
                            $cs = $this.$lexemes;
                            $ptr = 6;
                            continue main;
                        case -536870821:
                            if ($buffer >= 0) {
                                jur_CharClass_add($res, $buffer);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 7;
                            continue main;
                        case -536870819:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 93;
                            $cs = $this.$lexemes;
                            $ptr = 3;
                            continue main;
                        case -536870818:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 94;
                            $cs = $this.$lexemes;
                            $ptr = 4;
                            continue main;
                        case 0:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes.$curST;
                            if ($cs === null)
                                $buffer = 0;
                            else {
                                jur_CharClass_add0($res, $cs);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 11;
                            continue main;
                        default:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes;
                            $ptr = 5;
                            continue main;
                    }
                    if ($buffer >= 0)
                        jur_CharClass_add($res, $buffer);
                    $cs = $this.$lexemes;
                    $ptr = 2;
                    continue main;
                }
            }
            if (!$notClosed) {
                if ($buffer >= 0)
                    jur_CharClass_add($res, $buffer);
                return $res;
            }
            $res = new jur_PatternSyntaxException;
            $cs = $rt_s(3);
            $ptr = 1;
            continue main;
        case 9:
            jur_Lexer_next($cs);
            if ($rt_suspending()) {
                break main;
            }
            $intersection = 1;
            $buffer = (-1);
            $firstInClass = 0;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                $cs = $this.$lexemes;
                $alt = $cs.$ch;
                $notClosed = $alt == (-536870819) && !$firstInClass ? 0 : 1;
                if ($notClosed) {
                    switch ($alt) {
                        case -536870874:
                            break;
                        case -536870867:
                            if (!$firstInClass) {
                                $alt = $cs.$lookAhead;
                                if ($alt != (-536870819) && $alt != (-536870821) && $buffer >= 0) {
                                    $ptr = 13;
                                    continue main;
                                }
                            }
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 45;
                            $cs = $this.$lexemes;
                            $ptr = 6;
                            continue main;
                        case -536870821:
                            if ($buffer >= 0) {
                                jur_CharClass_add($res, $buffer);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 7;
                            continue main;
                        case -536870819:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 93;
                            $cs = $this.$lexemes;
                            $ptr = 3;
                            continue main;
                        case -536870818:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 94;
                            $cs = $this.$lexemes;
                            $ptr = 4;
                            continue main;
                        case 0:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes.$curST;
                            if ($cs === null)
                                $buffer = 0;
                            else {
                                jur_CharClass_add0($res, $cs);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 11;
                            continue main;
                        default:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes;
                            $ptr = 5;
                            continue main;
                    }
                    if ($buffer >= 0)
                        jur_CharClass_add($res, $buffer);
                    $cs = $this.$lexemes;
                    $ptr = 2;
                    continue main;
                }
            }
            if (!$notClosed) {
                if ($buffer >= 0)
                    jur_CharClass_add($res, $buffer);
                return $res;
            }
            $res = new jur_PatternSyntaxException;
            $cs = $rt_s(3);
            $ptr = 1;
            continue main;
        case 10:
            jur_Lexer_next($cs);
            if ($rt_suspending()) {
                break main;
            }
            $negative = 1;
            if (!$intersection) {
                $ptr = 16;
                continue main;
            }
            $ptr = 17;
            continue main;
        case 11:
            jur_Lexer_next($cs);
            if ($rt_suspending()) {
                break main;
            }
            $firstInClass = 0;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                $cs = $this.$lexemes;
                $alt = $cs.$ch;
                $notClosed = $alt == (-536870819) && !$firstInClass ? 0 : 1;
                if ($notClosed) {
                    switch ($alt) {
                        case -536870874:
                            break;
                        case -536870867:
                            if (!$firstInClass) {
                                $alt = $cs.$lookAhead;
                                if ($alt != (-536870819) && $alt != (-536870821) && $buffer >= 0) {
                                    $ptr = 13;
                                    continue main;
                                }
                            }
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 45;
                            $cs = $this.$lexemes;
                            $ptr = 6;
                            continue main;
                        case -536870821:
                            if ($buffer >= 0) {
                                jur_CharClass_add($res, $buffer);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 7;
                            continue main;
                        case -536870819:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 93;
                            $cs = $this.$lexemes;
                            $ptr = 3;
                            continue main;
                        case -536870818:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 94;
                            $cs = $this.$lexemes;
                            $ptr = 4;
                            continue main;
                        case 0:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes.$curST;
                            if ($cs === null)
                                $buffer = 0;
                            else {
                                jur_CharClass_add0($res, $cs);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            continue main;
                        default:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes;
                            $ptr = 5;
                            continue main;
                    }
                    if ($buffer >= 0)
                        jur_CharClass_add($res, $buffer);
                    $cs = $this.$lexemes;
                    $ptr = 2;
                    continue main;
                }
            }
            if (!$notClosed) {
                if ($buffer >= 0)
                    jur_CharClass_add($res, $buffer);
                return $res;
            }
            $res = new jur_PatternSyntaxException;
            $cs = $rt_s(3);
            $ptr = 1;
            continue main;
        case 12:
            $tmp = jur_Pattern_processRangeExpression($this, $alt);
            if ($rt_suspending()) {
                break main;
            }
            $res = $tmp;
            $firstInClass = 0;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                $cs = $this.$lexemes;
                $alt = $cs.$ch;
                $notClosed = $alt == (-536870819) && !$firstInClass ? 0 : 1;
                if ($notClosed) {
                    switch ($alt) {
                        case -536870874:
                            break;
                        case -536870867:
                            if (!$firstInClass) {
                                $alt = $cs.$lookAhead;
                                if ($alt != (-536870819) && $alt != (-536870821) && $buffer >= 0) {
                                    $ptr = 13;
                                    continue main;
                                }
                            }
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 45;
                            $cs = $this.$lexemes;
                            $ptr = 6;
                            continue main;
                        case -536870821:
                            if ($buffer >= 0) {
                                jur_CharClass_add($res, $buffer);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 7;
                            continue main;
                        case -536870819:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 93;
                            $cs = $this.$lexemes;
                            $ptr = 3;
                            continue main;
                        case -536870818:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 94;
                            $cs = $this.$lexemes;
                            $ptr = 4;
                            continue main;
                        case 0:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes.$curST;
                            if ($cs === null)
                                $buffer = 0;
                            else {
                                jur_CharClass_add0($res, $cs);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 11;
                            continue main;
                        default:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes;
                            $ptr = 5;
                            continue main;
                    }
                    if ($buffer >= 0)
                        jur_CharClass_add($res, $buffer);
                    $cs = $this.$lexemes;
                    $ptr = 2;
                    continue main;
                }
            }
            if (!$notClosed) {
                if ($buffer >= 0)
                    jur_CharClass_add($res, $buffer);
                return $res;
            }
            $res = new jur_PatternSyntaxException;
            $cs = $rt_s(3);
            $ptr = 1;
            continue main;
        case 13:
            a: {
                jur_Lexer_next($cs);
                if ($rt_suspending()) {
                    break main;
                }
                $cs = $this.$lexemes;
                $cur = $cs.$ch;
                if (!jur_Lexer_isSpecial($cs)) {
                    if ($cur >= 0)
                        break a;
                    $negative = $this.$lexemes.$lookAhead;
                    if ($negative == (-536870819))
                        break a;
                    if ($negative == (-536870821))
                        break a;
                    if ($buffer < 0)
                        break a;
                }
                $res = new jur_PatternSyntaxException;
                $cs = $rt_s(3);
                $ptr = 15;
                continue main;
            }
            b: {
                try {
                    if (!jur_Lexer_isLetter0($cur))
                        $cur = $cur & 65535;
                    jur_CharClass_add1($res, $buffer, $cur);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        break b;
                    } else {
                        throw $$e;
                    }
                }
                $cs = $this.$lexemes;
                $ptr = 20;
                continue main;
            }
            $res = new jur_PatternSyntaxException;
            $cs = $rt_s(3);
            $ptr = 19;
            continue main;
        case 14:
            $tmp = jur_Pattern_processRangeExpression($this, $alt);
            if ($rt_suspending()) {
                break main;
            }
            $cs = $tmp;
            jur_CharClass_intersection($res, $cs);
            $firstInClass = 0;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                $cs = $this.$lexemes;
                $alt = $cs.$ch;
                $notClosed = $alt == (-536870819) && !$firstInClass ? 0 : 1;
                if ($notClosed) {
                    switch ($alt) {
                        case -536870874:
                            break;
                        case -536870867:
                            if (!$firstInClass) {
                                $alt = $cs.$lookAhead;
                                if ($alt != (-536870819) && $alt != (-536870821) && $buffer >= 0) {
                                    $ptr = 13;
                                    continue main;
                                }
                            }
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 45;
                            $cs = $this.$lexemes;
                            $ptr = 6;
                            continue main;
                        case -536870821:
                            if ($buffer >= 0) {
                                jur_CharClass_add($res, $buffer);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 7;
                            continue main;
                        case -536870819:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 93;
                            $cs = $this.$lexemes;
                            $ptr = 3;
                            continue main;
                        case -536870818:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 94;
                            $cs = $this.$lexemes;
                            $ptr = 4;
                            continue main;
                        case 0:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes.$curST;
                            if ($cs === null)
                                $buffer = 0;
                            else {
                                jur_CharClass_add0($res, $cs);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 11;
                            continue main;
                        default:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes;
                            $ptr = 5;
                            continue main;
                    }
                    if ($buffer >= 0)
                        jur_CharClass_add($res, $buffer);
                    $cs = $this.$lexemes;
                    $ptr = 2;
                    continue main;
                }
            }
            if (!$notClosed) {
                if ($buffer >= 0)
                    jur_CharClass_add($res, $buffer);
                return $res;
            }
            $res = new jur_PatternSyntaxException;
            $cs = $rt_s(3);
            $ptr = 1;
            continue main;
        case 15:
            $tmp = jur_Pattern_pattern($this);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jur_PatternSyntaxException__init_($res, $cs, var$8, $this.$lexemes.$curToc);
            $rt_throw($res);
        case 16:
            $tmp = jur_Pattern_processRangeExpression($this, $negative);
            if ($rt_suspending()) {
                break main;
            }
            $cs = $tmp;
            jur_CharClass_union($res, $cs);
            $intersection = 0;
            $cs = $this.$lexemes;
            $ptr = 18;
            continue main;
        case 17:
            $tmp = jur_Pattern_processRangeExpression($this, $negative);
            if ($rt_suspending()) {
                break main;
            }
            $cs = $tmp;
            jur_CharClass_intersection($res, $cs);
            $intersection = 0;
            $cs = $this.$lexemes;
            $ptr = 18;
        case 18:
            jur_Lexer_next($cs);
            if ($rt_suspending()) {
                break main;
            }
            $firstInClass = 0;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                $cs = $this.$lexemes;
                $alt = $cs.$ch;
                $notClosed = $alt == (-536870819) && !$firstInClass ? 0 : 1;
                if ($notClosed) {
                    switch ($alt) {
                        case -536870874:
                            break;
                        case -536870867:
                            if (!$firstInClass) {
                                $alt = $cs.$lookAhead;
                                if ($alt != (-536870819) && $alt != (-536870821) && $buffer >= 0) {
                                    $ptr = 13;
                                    continue main;
                                }
                            }
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 45;
                            $cs = $this.$lexemes;
                            $ptr = 6;
                            continue main;
                        case -536870821:
                            if ($buffer >= 0) {
                                jur_CharClass_add($res, $buffer);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 7;
                            continue main;
                        case -536870819:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 93;
                            $cs = $this.$lexemes;
                            $ptr = 3;
                            continue main;
                        case -536870818:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 94;
                            $cs = $this.$lexemes;
                            $ptr = 4;
                            continue main;
                        case 0:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes.$curST;
                            if ($cs === null)
                                $buffer = 0;
                            else {
                                jur_CharClass_add0($res, $cs);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 11;
                            continue main;
                        default:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes;
                            $ptr = 5;
                            continue main;
                    }
                    if ($buffer >= 0)
                        jur_CharClass_add($res, $buffer);
                    $cs = $this.$lexemes;
                    $ptr = 2;
                    continue main;
                }
            }
            if (!$notClosed) {
                if ($buffer >= 0)
                    jur_CharClass_add($res, $buffer);
                return $res;
            }
            $res = new jur_PatternSyntaxException;
            $cs = $rt_s(3);
            $ptr = 1;
            continue main;
        case 19:
            $tmp = jur_Pattern_pattern($this);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jur_PatternSyntaxException__init_($res, $cs, var$8, $this.$lexemes.$curToc);
            $rt_throw($res);
        case 20:
            jur_Lexer_next($cs);
            if ($rt_suspending()) {
                break main;
            }
            $buffer = (-1);
            $firstInClass = 0;
            if (!jur_Lexer_isEmpty($this.$lexemes)) {
                $cs = $this.$lexemes;
                $alt = $cs.$ch;
                $notClosed = $alt == (-536870819) && !$firstInClass ? 0 : 1;
                if ($notClosed) {
                    switch ($alt) {
                        case -536870874:
                            break;
                        case -536870867:
                            if (!$firstInClass) {
                                $alt = $cs.$lookAhead;
                                if ($alt != (-536870819) && $alt != (-536870821) && $buffer >= 0) {
                                    $ptr = 13;
                                    continue main;
                                }
                            }
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 45;
                            $cs = $this.$lexemes;
                            $ptr = 6;
                            continue main;
                        case -536870821:
                            if ($buffer >= 0) {
                                jur_CharClass_add($res, $buffer);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 7;
                            continue main;
                        case -536870819:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 93;
                            $cs = $this.$lexemes;
                            $ptr = 3;
                            continue main;
                        case -536870818:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 94;
                            $cs = $this.$lexemes;
                            $ptr = 4;
                            continue main;
                        case 0:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes.$curST;
                            if ($cs === null)
                                $buffer = 0;
                            else {
                                jur_CharClass_add0($res, $cs);
                                $buffer = (-1);
                            }
                            $cs = $this.$lexemes;
                            $ptr = 11;
                            continue main;
                        default:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes;
                            $ptr = 5;
                            continue main;
                    }
                    if ($buffer >= 0)
                        jur_CharClass_add($res, $buffer);
                    $cs = $this.$lexemes;
                    $ptr = 2;
                    continue main;
                }
            }
            if (!$notClosed) {
                if ($buffer >= 0)
                    jur_CharClass_add($res, $buffer);
                return $res;
            }
            $res = new jur_PatternSyntaxException;
            $cs = $rt_s(3);
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $alt, $res, $buffer, $intersection, $notClosed, $firstInClass, $cs, var$8, $negative, $cur, $ptr);
    }
    function jur_Pattern_processCharSet($this, $ch) {
        var $isSupplCodePoint, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$isSupplCodePoint = $thread.pop();$ch = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $isSupplCodePoint = jl_Character_isSupplementaryCodePoint($ch);
            if (jur_Pattern_hasFlag($this, 2)) {
                a: {
                    if (!($ch >= 97 && $ch <= 122)) {
                        if ($ch < 65)
                            break a;
                        if ($ch > 90)
                            break a;
                    }
                    var$3 = new jur_CICharSet;
                    $ch = $ch & 65535;
                    $ptr = 3;
                    continue main;
                }
                if (jur_Pattern_hasFlag($this, 64) && $ch > 128) {
                    if ($isSupplCodePoint) {
                        var$3 = new jur_UCISupplCharSet;
                        $ptr = 6;
                        continue main;
                    }
                    if (jur_Lexer_isLowSurrogate0($ch)) {
                        var$3 = new jur_LowSurrogateCharSet;
                        $ch = $ch & 65535;
                        $ptr = 7;
                        continue main;
                    }
                    if (!jur_Lexer_isHighSurrogate0($ch)) {
                        var$3 = new jur_UCICharSet;
                        $ch = $ch & 65535;
                        $ptr = 8;
                        continue main;
                    }
                    var$3 = new jur_HighSurrogateCharSet;
                    $ch = $ch & 65535;
                    $ptr = 9;
                    continue main;
                }
            }
            if ($isSupplCodePoint) {
                var$3 = new jur_SupplCharSet;
                $ptr = 1;
                continue main;
            }
            if (jur_Lexer_isLowSurrogate0($ch)) {
                var$3 = new jur_LowSurrogateCharSet;
                $ch = $ch & 65535;
                $ptr = 2;
                continue main;
            }
            if (!jur_Lexer_isHighSurrogate0($ch)) {
                var$3 = new jur_CharSet;
                $ch = $ch & 65535;
                $ptr = 4;
                continue main;
            }
            var$3 = new jur_HighSurrogateCharSet;
            $ch = $ch & 65535;
            $ptr = 5;
            continue main;
        case 1:
            jur_LeafSet__init_0(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3.$charCount = 2;
            var$3.$ch0 = $ch;
            var$4 = (jl_Character_toChars($ch)).data;
            var$3.$high = var$4[0];
            var$3.$low = var$4[1];
            return var$3;
        case 2:
            jur_LowSurrogateCharSet__init_(var$3, $ch);
            if ($rt_suspending()) {
                break main;
            }
            return var$3;
        case 3:
            jur_CICharSet__init_(var$3, $ch);
            if ($rt_suspending()) {
                break main;
            }
            return var$3;
        case 4:
            jur_CharSet__init_(var$3, $ch);
            if ($rt_suspending()) {
                break main;
            }
            return var$3;
        case 5:
            jur_HighSurrogateCharSet__init_(var$3, $ch);
            if ($rt_suspending()) {
                break main;
            }
            return var$3;
        case 6:
            jur_LeafSet__init_0(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3.$charCount = 2;
            var$3.$ch1 = jl_Character_toLowerCase0(jl_Character_toUpperCase0($ch));
            return var$3;
        case 7:
            jur_LowSurrogateCharSet__init_(var$3, $ch);
            if ($rt_suspending()) {
                break main;
            }
            return var$3;
        case 8:
            jur_UCICharSet__init_(var$3, $ch);
            if ($rt_suspending()) {
                break main;
            }
            return var$3;
        case 9:
            jur_HighSurrogateCharSet__init_(var$3, $ch);
            if ($rt_suspending()) {
                break main;
            }
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ch, $isSupplCodePoint, var$3, var$4, $ptr);
    }
    function jur_Pattern_processRangeSet($this, $charClass) {
        var $surrogates, $lowHighSurrRangeSet, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$lowHighSurrRangeSet = $thread.pop();$surrogates = $thread.pop();$charClass = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (jur_AbstractCharClass_hasLowHighSurrogates($charClass)) {
                $surrogates = jur_AbstractCharClass_getSurrogates($charClass);
                $lowHighSurrRangeSet = new jur_LowHighSurrogateRangeSet;
                $ptr = 1;
                continue main;
            }
            if (!$charClass.$mayContainSupplCodepoints) {
                if ($charClass.$hasUCI()) {
                    $surrogates = new jur_UCIRangeSet;
                    $ptr = 2;
                    continue main;
                }
                $surrogates = new jur_RangeSet;
                $ptr = 3;
                continue main;
            }
            if (!$charClass.$hasUCI()) {
                $surrogates = new jur_SupplRangeSet;
                $ptr = 5;
                continue main;
            }
            $surrogates = new jur_UCISupplRangeSet;
            $ptr = 4;
            continue main;
        case 1:
            jur_AbstractSet__init_($lowHighSurrRangeSet);
            if ($rt_suspending()) {
                break main;
            }
            $lowHighSurrRangeSet.$surrChars = $surrogates;
            $lowHighSurrRangeSet.$alt = $surrogates.$alt0;
            if (!$charClass.$mayContainSupplCodepoints) {
                if ($charClass.$hasUCI()) {
                    $surrogates = new jur_CompositeRangeSet;
                    var$4 = new jur_UCIRangeSet;
                    $charClass = jur_AbstractCharClass_getWithoutSurrogates($charClass);
                    $ptr = 6;
                    continue main;
                }
                $surrogates = new jur_CompositeRangeSet;
                var$4 = new jur_RangeSet;
                $charClass = jur_AbstractCharClass_getWithoutSurrogates($charClass);
                $ptr = 8;
                continue main;
            }
            if (!$charClass.$hasUCI()) {
                $surrogates = new jur_CompositeRangeSet;
                var$4 = new jur_SupplRangeSet;
                $charClass = jur_AbstractCharClass_getWithoutSurrogates($charClass);
                $ptr = 12;
                continue main;
            }
            $surrogates = new jur_CompositeRangeSet;
            var$4 = new jur_UCISupplRangeSet;
            $charClass = jur_AbstractCharClass_getWithoutSurrogates($charClass);
            $ptr = 10;
            continue main;
        case 2:
            jur_UCIRangeSet__init_($surrogates, $charClass);
            if ($rt_suspending()) {
                break main;
            }
            return $surrogates;
        case 3:
            jur_RangeSet__init_($surrogates, $charClass);
            if ($rt_suspending()) {
                break main;
            }
            return $surrogates;
        case 4:
            jur_SupplRangeSet__init_($surrogates, $charClass);
            if ($rt_suspending()) {
                break main;
            }
            return $surrogates;
        case 5:
            jur_SupplRangeSet__init_($surrogates, $charClass);
            if ($rt_suspending()) {
                break main;
            }
            return $surrogates;
        case 6:
            jur_UCIRangeSet__init_(var$4, $charClass);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            jur_CompositeRangeSet__init_($surrogates, var$4, $lowHighSurrRangeSet);
            if ($rt_suspending()) {
                break main;
            }
            return $surrogates;
        case 8:
            jur_RangeSet__init_(var$4, $charClass);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            jur_CompositeRangeSet__init_($surrogates, var$4, $lowHighSurrRangeSet);
            if ($rt_suspending()) {
                break main;
            }
            return $surrogates;
        case 10:
            jur_SupplRangeSet__init_(var$4, $charClass);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            jur_CompositeRangeSet__init_($surrogates, var$4, $lowHighSurrRangeSet);
            if ($rt_suspending()) {
                break main;
            }
            return $surrogates;
        case 12:
            jur_SupplRangeSet__init_(var$4, $charClass);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            jur_CompositeRangeSet__init_($surrogates, var$4, $lowHighSurrRangeSet);
            if ($rt_suspending()) {
                break main;
            }
            return $surrogates;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $charClass, $surrogates, $lowHighSurrRangeSet, var$4, $ptr);
    }
    function jur_Pattern_compile($pattern) {
        var var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$pattern = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 0;
            if ($pattern === null) {
                $pattern = new jl_NullPointerException;
                jl_Throwable__init_($pattern, $rt_s(1082));
                $rt_throw($pattern);
            }
            jur_AbstractSet_counter = 1;
            var$3 = jur_Pattern__init_0();
            var$4 = new jur_Lexer;
            var$4.$mode1 = 1;
            var$4.$orig = $pattern;
            var$4.$pattern1 = $rt_createCharArray(jl_String_length($pattern) + 2 | 0);
            jl_System_fastArraycopy(jl_String_toCharArray($pattern), 0, var$4.$pattern1, 0, jl_String_length($pattern));
            var$5 = var$4.$pattern1.data;
            var$6 = var$5.length;
            var$5[var$6 - 1 | 0] = 0;
            var$5[var$6 - 2 | 0] = 0;
            var$4.$patternFullLength = var$6;
            var$4.$flags0 = var$2;
            $ptr = 1;
        case 1:
            jur_Lexer_movePointer(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            jur_Lexer_movePointer(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3.$lexemes = var$4;
            var$3.$flags = var$2;
            var$7 = (-1);
            $pattern = null;
            $ptr = 3;
        case 3:
            $tmp = jur_Pattern_processExpression(var$3, var$7, var$2, $pattern);
            if ($rt_suspending()) {
                break main;
            }
            $pattern = $tmp;
            var$3.$start1 = $pattern;
            if (!jur_Lexer_isEmpty(var$3.$lexemes)) {
                $pattern = new jur_PatternSyntaxException;
                var$3 = var$3.$lexemes;
                jur_PatternSyntaxException__init_($pattern, $rt_s(3), var$3.$orig, var$3.$curToc);
                $rt_throw($pattern);
            }
            if (!var$3.$needsBackRefReplacement)
                return var$3;
            $pattern = var$3.$start1;
            $ptr = 4;
        case 4:
            $pattern.$processSecondPass();
            if ($rt_suspending()) {
                break main;
            }
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($pattern, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function jur_Pattern_getSupplement($ch) {
        if ($ch >= 97 && $ch <= 122)
            $ch = ($ch - 32 | 0) & 65535;
        else if ($ch >= 65 && $ch <= 90)
            $ch = ($ch + 32 | 0) & 65535;
        return $ch;
    }
    function jur_Pattern_hasFlag($this, $flag) {
        return ($this.$flags & $flag) != $flag ? 0 : 1;
    }
    function jur_Pattern__init_($this) {
        $this.$backRefs = $rt_createArray(jur_FSet, 10);
        $this.$globalGroupIndex = (-1);
        $this.$compCount = (-1);
        $this.$consCount = (-1);
    }
    var jnci_AsciiCharset = $rt_classWithoutFields(jnc_Charset);
    function jnci_AsciiCharset__init_0() {
        var var_0 = new jnci_AsciiCharset();
        jnci_AsciiCharset__init_(var_0);
        return var_0;
    }
    function jnci_AsciiCharset__init_($this) {
        jnc_Charset__init_($this, $rt_s(1083), $rt_createArray(jl_String, 0));
    }
    function jnci_AsciiCharset_newDecoder($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new jnci_AsciiDecoder;
            var$2 = 1.0;
            var$3 = 1.0;
            $ptr = 1;
        case 1:
            jnci_BufferedDecoder__init_(var$1, $this, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function jnci_AsciiCharset_newEncoder($this) {
        var var$1;
        var$1 = new jnci_AsciiEncoder;
        jnci_BufferedEncoder__init_(var$1, $this, 1.0, 1.0);
        return var$1;
    }
    var jnci_Iso8859Charset = $rt_classWithoutFields(jnc_Charset);
    function jnci_Iso8859Charset__init_0() {
        var var_0 = new jnci_Iso8859Charset();
        jnci_Iso8859Charset__init_(var_0);
        return var_0;
    }
    function jnci_Iso8859Charset__init_($this) {
        jnc_Charset__init_($this, $rt_s(1084), $rt_createArray(jl_String, 0));
    }
    function jnci_Iso8859Charset_newDecoder($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new jnci_Iso8859Decoder;
            var$2 = 1.0;
            var$3 = 1.0;
            $ptr = 1;
        case 1:
            jnci_BufferedDecoder__init_(var$1, $this, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function jnci_Iso8859Charset_newEncoder($this) {
        var var$1;
        var$1 = new jnci_Iso8859Encoder;
        jnci_BufferedEncoder__init_(var$1, $this, 1.0, 1.0);
        return var$1;
    }
    function jnci_UTF16Charset() {
        var a = this; jnc_Charset.call(a);
        a.$bom = 0;
        a.$littleEndian = 0;
    }
    function jnci_UTF16Charset__init_(var_0, var_1, var_2) {
        var var_3 = new jnci_UTF16Charset();
        jnci_UTF16Charset__init_0(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function jnci_UTF16Charset__init_0($this, $canonicalName, $bom, $littleEndian) {
        jnc_Charset__init_($this, $canonicalName, $rt_createArray(jl_String, 0));
        $this.$bom = $bom;
        $this.$littleEndian = $littleEndian;
    }
    function jnci_UTF16Charset_newDecoder($this) {
        var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new jnci_UTF16Decoder;
            var$2 = $this.$bom;
            var$3 = $this.$littleEndian;
            var$4 = 0.5;
            var$5 = 0.5;
            $ptr = 1;
        case 1:
            jnci_BufferedDecoder__init_(var$1, $this, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$bom0 = var$2;
            var$1.$littleEndian0 = var$3;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function jnci_UTF16Charset_newEncoder($this) {
        var var$1, var$2, var$3;
        var$1 = new jnci_UTF16Encoder;
        var$2 = $this.$bom;
        var$3 = $this.$littleEndian;
        jnci_BufferedEncoder__init_(var$1, $this, 2.0, 4.0);
        var$1.$bom1 = var$2;
        var$1.$littleEndian1 = var$3;
        return var$1;
    }
    var nleit_IndexedDBFilesystem$AsyncHandlers = $rt_classWithoutFields();
    function nleit_IndexedDBFilesystem$AsyncHandlers__init_0() {
        var var_0 = new nleit_IndexedDBFilesystem$AsyncHandlers();
        nleit_IndexedDBFilesystem$AsyncHandlers__init_(var_0);
        return var_0;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers__init_($this) {}
    function nleit_IndexedDBFilesystem$AsyncHandlers_openDB0($name, $cb) {
        var $i, $errorHolder, var$5, var$6, $f;
        $i = typeof $rt_globals.indexedDB !== 'undefined' ? $rt_globals.indexedDB : null;
        if ($i === null) {
            otpp_AsyncCallbackWrapper_complete($cb, nleit_IndexedDBFilesystem$DatabaseOpen__init_0(1, 0, $rt_s(1085), null));
            return;
        }
        $errorHolder = $rt_createArray(jl_String, 1);
        var$5 = $errorHolder.data;
        var$5[0] = null;
        var$6 = new nleit_IndexedDBFilesystem$AsyncHandlers$openDB$lambda$_2_0;
        var$6.$_023 = $errorHolder;
        $f = nleit_IndexedDBFilesystem_safeOpen$js_body$_15($i, $rt_ustr($name), 1, otji_JS_function(var$6, "call"));
        if ($f !== null && !(!$f ? 1 : 0)) {
            var$6 = new nleit_IndexedDBFilesystem$AsyncHandlers$1;
            var$6.$val$cb2 = $cb;
            $f.addEventListener("blocked", var$6);
            var$6 = new nleit_IndexedDBFilesystem$AsyncHandlers$2;
            var$6.$val$cb3 = $cb;
            var$6.$val$f = $f;
            $f.addEventListener("success", var$6);
            var$6 = new nleit_IndexedDBFilesystem$AsyncHandlers$3;
            var$6.$val$cb4 = $cb;
            $f.addEventListener("error", var$6);
            $cb = new nleit_IndexedDBFilesystem$AsyncHandlers$4;
            $cb.$val$f0 = $f;
            $f.addEventListener("upgradeneeded", $cb);
            return;
        }
        otpp_AsyncCallbackWrapper_complete($cb, nleit_IndexedDBFilesystem$DatabaseOpen__init_0(1, 0, var$5[0] === null ? $rt_s(1086) : var$5[0], null));
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_deleteFile(var$1, var$2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nleit_IndexedDBFilesystem$AsyncHandlers_deleteFile$_asyncCall_$(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_deleteFile0($db, $name, $cb) {
        var $r;
        $db = $db.transaction("filesystem", "readwrite").objectStore("filesystem");
        $name = nleit_IndexedDBFilesystem$AsyncHandlers_makeTheFuckingKeyWork$js_body$_6($rt_ustr($name));
        $r = $db.delete($name);
        $name = new nleit_IndexedDBFilesystem$AsyncHandlers$5;
        $name.$val$cb5 = $cb;
        $r.addEventListener("success", $name);
        $name = new nleit_IndexedDBFilesystem$AsyncHandlers$6;
        $name.$val$cb6 = $cb;
        $r.addEventListener("error", $name);
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_readWholeFile(var$1, var$2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nleit_IndexedDBFilesystem$AsyncHandlers_readWholeFile$_asyncCall_$(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return otji_JSWrapper_unwrap(var$1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_readWholeFile0($db, $name, $cb) {
        var $r;
        $db = $db.transaction("filesystem", "readonly").objectStore("filesystem");
        $name = nleit_IndexedDBFilesystem$AsyncHandlers_makeTheFuckingKeyWork$js_body$_6($rt_ustr($name));
        $r = $db.get($name);
        $name = new nleit_IndexedDBFilesystem$AsyncHandlers$7;
        $name.$val$cb7 = $cb;
        $name.$val$r = $r;
        $r.addEventListener("success", $name);
        $name = new nleit_IndexedDBFilesystem$AsyncHandlers$8;
        $name.$val$cb8 = $cb;
        $r.addEventListener("error", $name);
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_iterateFiles(var$1, var$2, var$3, var$4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nleit_IndexedDBFilesystem$AsyncHandlers_iterateFiles$_asyncCall_$(var$1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, $ptr);
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_iterateFiles0($db, $prefix, $rw, $itr, $cb) {
        var var$6, $r, $res, $b, $tx;
        var$6 = !$rw ? $rt_s(1087) : $rt_s(1088);
        $r = $db.transaction("filesystem", $rt_ustr(var$6)).objectStore("filesystem").openCursor();
        $res = $rt_createIntArray(1);
        $b = jl_String_length($prefix) ? 0 : 1;
        $tx = new nleit_IndexedDBFilesystem$AsyncHandlers$9;
        $tx.$val$r0 = $r;
        $tx.$val$cb9 = $cb;
        $tx.$val$res = $res;
        $tx.$val$b = $b;
        $tx.$val$prefix = $prefix;
        $tx.$val$itr = $itr;
        $r.addEventListener("success", $tx);
        $prefix = new nleit_IndexedDBFilesystem$AsyncHandlers$10;
        $prefix.$val$cb10 = $cb;
        $prefix.$val$res0 = $res;
        $r.addEventListener("error", $prefix);
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_fileExists0($db, $name, $cb) {
        var $r;
        $db = $db.transaction("filesystem", "readonly").objectStore("filesystem");
        $name = nleit_IndexedDBFilesystem$AsyncHandlers_makeTheFuckingKeyWork$js_body$_6($rt_ustr($name));
        $r = $db.count($name);
        $name = new nleit_IndexedDBFilesystem$AsyncHandlers$11;
        $name.$val$cb11 = $cb;
        $name.$val$r1 = $r;
        $r.addEventListener("success", $name);
        $name = new nleit_IndexedDBFilesystem$AsyncHandlers$12;
        $name.$val$cb12 = $cb;
        $r.addEventListener("error", $name);
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_writeWholeFile(var$1, var$2, var$3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nleit_IndexedDBFilesystem$AsyncHandlers_writeWholeFile$_asyncCall_$(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, $ptr);
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_writeWholeFile0($db, $name, $data, $cb) {
        var $r;
        $r = $db.transaction("filesystem", "readwrite").objectStore("filesystem");
        $name = nleit_IndexedDBFilesystem$AsyncHandlers_writeRow$js_body$_14($rt_ustr($name), $data);
        $r = $r.put($name);
        $name = new nleit_IndexedDBFilesystem$AsyncHandlers$13;
        $name.$val$cb13 = $cb;
        $r.addEventListener("success", $name);
        $name = new nleit_IndexedDBFilesystem$AsyncHandlers$14;
        $name.$val$cb14 = $cb;
        $r.addEventListener("error", $name);
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_openDB$_asyncCall_$(var$1) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nleit_IndexedDBFilesystem$AsyncHandlers_openDB0(var$1, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_deleteFile$_asyncCall_$(var$1, var$2) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nleit_IndexedDBFilesystem$AsyncHandlers_deleteFile0(var$1, var$2, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_readWholeFile$_asyncCall_$(var$1, var$2) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nleit_IndexedDBFilesystem$AsyncHandlers_readWholeFile0(var$1, var$2, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_iterateFiles$_asyncCall_$(var$1, var$2, var$3, var$4) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nleit_IndexedDBFilesystem$AsyncHandlers_iterateFiles0(var$1, var$2, var$3, var$4, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_fileExists$_asyncCall_$(var$1, var$2) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nleit_IndexedDBFilesystem$AsyncHandlers_fileExists0(var$1, var$2, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_writeWholeFile$_asyncCall_$(var$1, var$2, var$3) {
        var thread = $rt_nativeThread();
        var javaThread = $rt_getThread();
        if (thread.isResuming()) {
            thread.status = 0;
            var result = thread.attribute;
            if (result instanceof Error) {
                throw result;
            }
            return result;
        }
        var callback = function() {};
        callback.$complete = function(val) {
            thread.attribute = val;
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback.$error = function(e) {
            thread.attribute = $rt_exception(e);
            $rt_setThread(javaThread);
            thread.resume();
        };
        callback = otpp_AsyncCallbackWrapper_create(callback);
        thread.suspend(function() {
            try {
                nleit_IndexedDBFilesystem$AsyncHandlers_writeWholeFile0(var$1, var$2, var$3, callback);
            } catch($e) {
                callback.$error($rt_exception($e));
            }
        });
        return null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_readRow$js_body$_5(var$1) {
        return typeof var$1 === "undefined" ? null : typeof var$1.data === "undefined" ? null : var$1.data;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_makeTheFuckingKeyWork$js_body$_6(var$1) {
        return [var$1];
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_readKey$js_body$_9(var$1) {
        return typeof var$1 === "string" ? var$1 : typeof var$1 === "undefined" ? null : typeof var$1[0] === "string" ? var$1[0] : null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers_writeRow$js_body$_14(var$1, var$2) {
        return { path : var$1, data : var$2 };
    }
    function nleit_IndexedDBFilesystem$DatabaseOpen() {
        var a = this; jl_Object.call(a);
        a.$failedInit = 0;
        a.$failedLocked = 0;
        a.$failedError = null;
        a.$database0 = null;
    }
    function nleit_IndexedDBFilesystem$DatabaseOpen__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new nleit_IndexedDBFilesystem$DatabaseOpen();
        nleit_IndexedDBFilesystem$DatabaseOpen__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nleit_IndexedDBFilesystem$DatabaseOpen__init_($this, $init, $locked, $error, $db) {
        $this.$failedInit = $init;
        $this.$failedLocked = $locked;
        $this.$failedError = $error;
        $this.$database0 = $db;
    }
    var nleiv_EaglerFileSystemException = $rt_classWithoutFields(jl_RuntimeException);
    function nleiv_EaglerFileSystemException__init_1() {
        var var_0 = new nleiv_EaglerFileSystemException();
        nleiv_EaglerFileSystemException__init_(var_0);
        return var_0;
    }
    function nleiv_EaglerFileSystemException__init_($this) {
        jl_Throwable__init_0($this);
    }
    var nlei_PlatformFilesystem$FilesystemDatabaseLockedException = $rt_classWithoutFields(nleiv_EaglerFileSystemException);
    var nlei_PlatformFilesystem$FilesystemDatabaseInitializationException = $rt_classWithoutFields(nleiv_EaglerFileSystemException);
    function nlei_PlatformRuntime$DumbSleepHandler() {
        jl_Object.call(this);
        this.$callback = null;
    }
    function nlei_PlatformRuntime$DumbSleepHandler_run($this) {
        otpp_AsyncCallbackWrapper_complete($this.$callback, null);
    }
    var otjb_AnimationFrameCallback = $rt_classWithoutFields(0);
    function nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_0() {
        var a = this; jl_Object.call(a);
        a.$_012 = null;
        a.$_16 = null;
        a.$_22 = null;
    }
    function nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_0_onAnimationFrame$exported$0(var$0, var$1) {
        var var$2, var$3, var$4, $$je;
        var$1;
        var$2 = var$0.$_012.data;
        var$3 = var$0.$_16;
        var$1 = var$0.$_22;
        if (!var$2[0]) {
            var$2[0] = 1;
            if (Long_ne(nlei_PlatformInput_vsyncWaiting, Long_fromInt(-1))) {
                nlei_PlatformInput_vsyncWaiting = Long_fromInt(-1);
                var$4 = nlei_PlatformInput_vsyncTimeout;
                if (var$4 != (-1) && var$4 == var$3.data[0]) {
                    a: {
                        try {
                            $rt_globals.clearTimeout(var$4);
                            break a;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                            } else {
                                throw $$e;
                            }
                        }
                    }
                    nlei_PlatformInput_vsyncTimeout = (-1);
                }
                nlei_PlatformInput_vsyncAsyncCallback = null;
                otpp_AsyncCallbackWrapper_complete(var$1, null);
            }
        }
    }
    function nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_1() {
        var a = this; jl_Object.call(a);
        a.$_013 = null;
        a.$_17 = null;
    }
    function nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_1_onTimer$exported$0(var$0) {
        var var$1, var$2;
        var$1 = var$0.$_013.data;
        var$2 = var$0.$_17;
        if (!var$1[0]) {
            var$1[0] = 1;
            if (Long_ne(nlei_PlatformInput_vsyncWaiting, Long_fromInt(-1))) {
                nlei_PlatformInput_vsyncTimeout = (-1);
                nlei_PlatformInput_vsyncWaiting = Long_fromInt(-1);
                nlei_PlatformInput_vsyncAsyncCallback = null;
                otpp_AsyncCallbackWrapper_complete(var$2, null);
            }
        }
    }
    var nlei_PlatformInput$KeyboardLayoutDone = $rt_classWithoutFields(0);
    function nlei_PlatformInput$iterateKeyboardLayout$lambda$_6_0() {
        jl_Object.call(this);
        this.$_011 = null;
    }
    function nlei_PlatformInput$iterateKeyboardLayout$lambda$_6_0_call$exported$0(var$0) {
        otpp_AsyncCallbackWrapper_complete(var$0.$_011, null);
    }
    function ju_ArrayDeque() {
        ju_AbstractCollection.call(this);
        this.$array3 = null;
    }
    function ju_ArrayDeque__init_2() {
        var var_0 = new ju_ArrayDeque();
        ju_ArrayDeque__init_(var_0);
        return var_0;
    }
    function ju_ArrayDeque__init_0(var_0) {
        var var_1 = new ju_ArrayDeque();
        ju_ArrayDeque__init_1(var_1, var_0);
        return var_1;
    }
    function ju_ArrayDeque__init_($this) {
        ju_ArrayDeque__init_1($this, 8);
    }
    function ju_ArrayDeque__init_1($this, $numElements) {
        $this.$array3 = $rt_createArray(jl_Object, $numElements + 1 | 0);
    }
    function ju_Calendar() {
        var a = this; jl_Object.call(a);
        a.$areFieldsSet = 0;
        a.$fields = null;
        a.$isSet = null;
        a.$isTimeSet = 0;
        a.$time = Long_ZERO;
        a.$lastTimeFieldSet = 0;
        a.$lastDateFieldSet = 0;
        a.$lenient = 0;
        a.$firstDayOfWeek = 0;
        a.$minimalDaysInFirstWeek = 0;
        a.$zone = null;
    }
    var ju_Calendar_fieldNames = null;
    var ju_Calendar_firstDayOfWeekCache = 0;
    var ju_Calendar_minimalDaysInFirstWeekCache = 0;
    var ju_Calendar_cacheFor = null;
    function ju_Calendar_$callClinit() {
        ju_Calendar_$callClinit = $rt_eraseClinit(ju_Calendar);
        ju_Calendar__clinit_();
    }
    function ju_Calendar_complete($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$isTimeSet) {
                $ptr = 1;
                continue main;
            }
            if ($this.$areFieldsSet)
                return;
            $ptr = 2;
            continue main;
        case 1:
            ju_GregorianCalendar_computeTime($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isTimeSet = 1;
            if ($this.$areFieldsSet)
                return;
            $ptr = 2;
        case 2:
            ju_GregorianCalendar_computeFields($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$areFieldsSet = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function ju_Calendar_get($this, $field) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$field = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            ju_Calendar_complete($this);
            if ($rt_suspending()) {
                break main;
            }
            return $this.$fields.data[$field];
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $field, $ptr);
    }
    function ju_Calendar_getFirstDayOfWeek($this) {
        return $this.$firstDayOfWeek;
    }
    function ju_Calendar_getInstance() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            ju_Calendar_$callClinit();
            var$1 = new ju_GregorianCalendar;
            $ptr = 1;
        case 1:
            ju_GregorianCalendar__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function ju_Calendar_getMinimalDaysInFirstWeek($this) {
        return $this.$minimalDaysInFirstWeek;
    }
    function ju_Calendar_getTimeInMillis($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$isTimeSet)
                return $this.$time;
            $ptr = 1;
        case 1:
            ju_GregorianCalendar_computeTime($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isTimeSet = 1;
            return $this.$time;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function ju_Calendar_setTimeZone($this, $timezone) {
        $this.$zone = $timezone;
        $this.$areFieldsSet = 0;
    }
    function ju_Calendar_isLenient($this) {
        return $this.$lenient;
    }
    function ju_Calendar_set($this, $field, $value) {
        $this.$fields.data[$field] = $value;
        $this.$isSet.data[$field] = 1;
        $this.$areFieldsSet = 0;
        $this.$isTimeSet = 0;
        if ($field > 2 && $field < 9)
            $this.$lastDateFieldSet = $field;
        if (!($field != 10 && $field != 11))
            $this.$lastTimeFieldSet = $field;
        if ($field == 9)
            $this.$lastTimeFieldSet = 10;
    }
    function ju_Calendar_setTime($this, $date) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$date = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $date.$value1;
            $ptr = 1;
        case 1:
            ju_Calendar_setTimeInMillis($this, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $date, var$2, $ptr);
    }
    function ju_Calendar_setTimeInMillis($this, $milliseconds) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$milliseconds = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$isTimeSet && $this.$areFieldsSet && Long_eq($this.$time, $milliseconds))
                return;
            $this.$time = $milliseconds;
            $this.$isTimeSet = 1;
            $this.$areFieldsSet = 0;
            $ptr = 1;
        case 1:
            ju_Calendar_complete($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $milliseconds, $ptr);
    }
    function ju_Calendar__clinit_() {
        ju_Calendar_fieldNames = $rt_createArrayFromData(jl_String, [$rt_s(1089), $rt_s(1090), $rt_s(1091), $rt_s(1092), $rt_s(1093), $rt_s(1094), $rt_s(1095), $rt_s(1096), $rt_s(1097), $rt_s(1098), $rt_s(1099), $rt_s(1100), $rt_s(1101), $rt_s(1102), $rt_s(1103), $rt_s(1104), $rt_s(1105)]);
        ju_Calendar_firstDayOfWeekCache = (-1);
        ju_Calendar_minimalDaysInFirstWeekCache = (-1);
    }
    var otjc_JSObjects = $rt_classWithoutFields();
    function otjc_JSObjects__init_0() {
        var var_0 = new otjc_JSObjects();
        otjc_JSObjects__init_(var_0);
        return var_0;
    }
    function otjc_JSObjects__init_($this) {}
    var jl_StackTraceElement = $rt_classWithoutFields();
    function jl_Long() {
        jl_Number.call(this);
        this.$value5 = Long_ZERO;
    }
    var jl_Long_TYPE = null;
    function jl_Long_valueOf($value) {
        var var$2;
        var$2 = new jl_Long;
        var$2.$value5 = $value;
        return var$2;
    }
    function jl_Long_parseLong($s) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$s = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 10;
            if ($s === null) {
                $s = new jl_NumberFormatException;
                jl_Throwable__init_($s, $rt_s(10));
                $rt_throw($s);
            }
            var$3 = jl_String_length($s);
            if (0 == var$3) {
                $s = new jl_NumberFormatException;
                jl_Throwable__init_($s, $rt_s(11));
                $rt_throw($s);
            }
            a: {
                var$4 = 0;
                switch (jl_String_charAt($s, 0)) {
                    case 43:
                        break;
                    case 45:
                        var$4 = 1;
                        var$5 = 1;
                        break a;
                    default:
                        var$5 = 0;
                        break a;
                }
                var$5 = 1;
            }
            var$6 = Long_ZERO;
            b: {
                c: {
                    while (var$5 < var$3) {
                        var$7 = var$5 + 1 | 0;
                        var$5 = jl_Character_getNumericValue(jl_String_charAt($s, var$5));
                        if (var$5 < 0) {
                            var$8 = new jl_NumberFormatException;
                            var$9 = jl_String_substring0($s, 0, var$3);
                            $s = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_($s);
                            var$10 = $rt_s(12);
                            $ptr = 1;
                            continue main;
                        }
                        if (var$5 >= var$2) {
                            var$8 = new jl_NumberFormatException;
                            var$11 = jl_String_substring0($s, 0, var$3);
                            $s = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_($s);
                            var$10 = $rt_s(13);
                            $ptr = 4;
                            continue main;
                        }
                        var$6 = Long_add(Long_mul(Long_fromInt(10), var$6), Long_fromInt(var$5));
                        if (Long_lt(var$6, Long_ZERO)) {
                            if (var$7 != var$3)
                                break b;
                            if (Long_ne(var$6, Long_create(0, 2147483648)))
                                break b;
                            if (!var$4)
                                break b;
                            var$6 = Long_create(0, 2147483648);
                            break c;
                        }
                        var$5 = var$7;
                    }
                    if (var$4)
                        var$6 = Long_neg(var$6);
                }
                return var$6;
            }
            var$8 = new jl_NumberFormatException;
            var$9 = jl_String_substring0($s, 0, var$3);
            $s = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($s);
            var$10 = $rt_s(14);
            $ptr = 8;
            continue main;
        case 1:
            $tmp = jl_StringBuilder_append($s, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$10, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString($s);
            if ($rt_suspending()) {
                break main;
            }
            $s = $tmp;
            jl_Throwable__init_(var$8, $s);
            $rt_throw(var$8);
        case 4:
            $tmp = jl_StringBuilder_append($s, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            jl_AbstractStringBuilder_append0(var$10, var$2);
            var$9 = $rt_s(6);
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append(var$10, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 6;
        case 6:
            jl_StringBuilder_append(var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString($s);
            if ($rt_suspending()) {
                break main;
            }
            $s = $tmp;
            jl_Throwable__init_(var$8, $s);
            $rt_throw(var$8);
        case 8:
            $tmp = jl_StringBuilder_append($s, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 9;
        case 9:
            jl_StringBuilder_append(var$10, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            $tmp = jl_AbstractStringBuilder_toString($s);
            if ($rt_suspending()) {
                break main;
            }
            $s = $tmp;
            jl_Throwable__init_(var$8, $s);
            $rt_throw(var$8);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($s, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    function jl_Long_toString0($value) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$value = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$2 = jl_StringBuilder_append2(var$2, $value);
            $ptr = 1;
        case 1:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($value, var$2, $ptr);
    }
    function jl_Long_toString($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$value5;
            $ptr = 1;
        case 1:
            $tmp = jl_Long_toString0(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function jl_Long_hashCode($this) {
        var var$1;
        var$1 = $this.$value5;
        return Long_lo(var$1) ^ Long_hi(var$1);
    }
    function jl_Long_equals($this, $other) {
        if ($this === $other)
            return 1;
        return $other instanceof jl_Long && Long_eq($other.$value5, $this.$value5) ? 1 : 0;
    }
    function jl_Long_compareTo0($this, $other) {
        return Long_compare($this.$value5, $other.$value5);
    }
    function jl_Long_divideUnsigned(var$1, var$2) {
        return Long_udiv(var$1, var$2);
    }
    function jl_Long_remainderUnsigned(var$1, var$2) {
        return Long_urem(var$1, var$2);
    }
    function jl_Long_compareUnsigned(var$1, var$2) {
        return Long_ucompare(var$1, var$2);
    }
    function jl_Long_compareTo($this, var$1) {
        return jl_Long_compareTo0($this, var$1);
    }
    function jl_Long__clinit_() {
        jl_Long_TYPE = $rt_cls($rt_longcls());
    }
    var nleit_Base64VarIntArray = $rt_classWithoutFields();
    function nleit_Base64VarIntArray__init_0() {
        var var_0 = new nleit_Base64VarIntArray();
        nleit_Base64VarIntArray__init_(var_0);
        return var_0;
    }
    function nleit_Base64VarIntArray__init_($this) {}
    function nleit_Base64VarIntArray_decodeVarIntArray($values) {
        var $ret, $o, $i, $l, $k, $m, var$8, var$9, $j, $newRet;
        $ret = $rt_createIntArray(8);
        $o = 0;
        $i = 0;
        $l = $values.length;
        a: while (true) {
            if ($i >= $l) {
                if ($o != $ret.data.length)
                    $ret = ju_Arrays_copyOf2($ret, $o);
                return $ret;
            }
            $k = 0;
            $m = 0;
            while (true) {
                var$8 = $i + 1 | 0;
                var$9 = $values.charCodeAt($i) & 65535;
                $j = var$9 >= 123 ? (-1) : nle_Base64_DECODE_TABLE.data[var$9];
                if ($j == (-1))
                    break a;
                $k = $k | ($j & 31) << $m;
                if ($j <= 31)
                    break;
                if (var$8 >= $l)
                    return null;
                $m = $m + 5 | 0;
                $i = var$8;
            }
            $m = $ret.data.length;
            if ($o >= $m) {
                $newRet = $rt_createIntArray($m << 1);
                jl_System_fastArraycopy($ret, 0, $newRet, 0, $m);
                $ret = $newRet;
            }
            $newRet = $ret.data;
            var$9 = $o + 1 | 0;
            $newRet[$o] = $k;
            $i = var$8;
            $o = var$9;
        }
        return null;
    }
    var jl_CloneNotSupportedException = $rt_classWithoutFields(jl_Exception);
    function jl_CloneNotSupportedException__init_0() {
        var var_0 = new jl_CloneNotSupportedException();
        jl_CloneNotSupportedException__init_(var_0);
        return var_0;
    }
    function jl_CloneNotSupportedException__init_($this) {
        jl_Throwable__init_0($this);
    }
    var nleib_EaglerArrayBufferAllocator$WrongBufferClassType = $rt_classWithoutFields(jl_RuntimeException);
    var nleit_TeaVMBlobURLHandle = $rt_classWithoutFields(0);
    function nlei_PlatformAssets$1() {
        var a = this; jl_Object.call(a);
        a.$val$doc = null;
        a.$val$toLoad = null;
        a.$val$src = null;
        a.$val$ret = null;
    }
    function nlei_PlatformAssets$1_handleEvent($this, $evt) {
        var $pxlsDat, $pxls, var$4, var$5, $totalPixels, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$totalPixels = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$pxls = $thread.pop();$pxlsDat = $thread.pop();$evt = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (nlei_PlatformAssets_imageLoadCanvas === null)
                nlei_PlatformAssets_imageLoadCanvas = $this.$val$doc.createElement("canvas");
            if (nlei_PlatformAssets_imageLoadCanvas.width < $this.$val$toLoad.width) {
                $evt = nlei_PlatformAssets_imageLoadCanvas;
                $pxlsDat = $this.$val$toLoad.width;
                $evt.width = $pxlsDat;
            }
            if (nlei_PlatformAssets_imageLoadCanvas.height < $this.$val$toLoad.height) {
                $evt = nlei_PlatformAssets_imageLoadCanvas;
                $pxlsDat = $this.$val$toLoad.height;
                $evt.height = $pxlsDat;
            }
            if (nlei_PlatformAssets_imageLoadContext === null) {
                $evt = nlei_PlatformAssets_imageLoadCanvas;
                $pxls = nlei_PlatformAssets_youEagler$js_body$_6();
                $evt = $evt.getContext("2d", $pxls);
                nlei_PlatformAssets_imageLoadContext = $evt;
                $evt.imageSmoothingEnabled = false;
            }
            $evt = nlei_PlatformAssets_imageLoadContext;
            var$4 = $this.$val$toLoad.width;
            var$5 = $this.$val$toLoad.height;
            $evt.clearRect(0.0, 0.0, var$4, var$5);
            $evt = nlei_PlatformAssets_imageLoadContext;
            $pxlsDat = $this.$val$toLoad;
            var$4 = $pxlsDat.width;
            var$5 = $this.$val$toLoad.height;
            $evt.drawImage($pxlsDat, 0.0, 0.0, var$4, var$5);
            $evt = nlei_PlatformAssets_imageLoadContext;
            var$4 = $this.$val$toLoad.width;
            var$5 = $this.$val$toLoad.height;
            $pxlsDat = $evt.getImageData(0.0, 0.0, var$4, var$5);
            $pxls = $pxlsDat.data;
            $totalPixels = $rt_imul($pxlsDat.width, $pxlsDat.height);
            $evt = $this.$val$src.data[0];
            $ptr = 1;
        case 1:
            nleit_TeaVMBlobURLManager_releaseURL($evt);
            if ($rt_suspending()) {
                break main;
            }
            if ($pxls.byteLength < $totalPixels << 2) {
                otpp_AsyncCallbackWrapper_complete($this.$val$ret, null);
                return;
            }
            $evt = $this.$val$ret;
            var$7 = new nleo_ImageData;
            $totalPixels = $pxlsDat.width;
            var$8 = $pxlsDat.height;
            var$9 = nleit_TeaVMUtils_wrapIntArrayBuffer($pxls.buffer);
            var$7.$width0 = $totalPixels;
            var$7.$height0 = var$8;
            var$7.$pixels = var$9;
            var$7.$alpha = 1;
            otpp_AsyncCallbackWrapper_complete($evt, var$7);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $evt, $pxlsDat, $pxls, var$4, var$5, $totalPixels, var$7, var$8, var$9, $ptr);
    }
    function nlei_PlatformAssets$1_handleEvent$exported$0(var$0, var$1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformAssets$1_handleEvent(var$0, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, $ptr);
    }
    function nlei_PlatformAssets$2() {
        var a = this; jl_Object.call(a);
        a.$val$src0 = null;
        a.$val$ret0 = null;
    }
    function nlei_PlatformAssets$2_handleEvent$exported$0(var$0, var$1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = var$0.$val$src0.data[0];
            $ptr = 1;
        case 1:
            nleit_TeaVMBlobURLManager_releaseURL(var$1);
            if ($rt_suspending()) {
                break main;
            }
            otpp_AsyncCallbackWrapper_complete(var$0.$val$ret0, null);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, $ptr);
    }
    function nlec_GeneralDigest() {
        var a = this; jl_Object.call(a);
        a.$xBuf = null;
        a.$xBufOff = 0;
        a.$byteCount = Long_ZERO;
    }
    function nlec_GeneralDigest_update0($this, $in) {
        var var$2, var$3, var$4, var$5;
        var$2 = $this.$xBuf;
        var$3 = var$2.data;
        var$4 = $this.$xBufOff;
        var$5 = var$4 + 1 | 0;
        $this.$xBufOff = var$5;
        var$3[var$4] = $in;
        if (var$5 == var$3.length) {
            nlec_MD5Digest_processWord($this, var$2, 0);
            $this.$xBufOff = 0;
        }
        $this.$byteCount = Long_add($this.$byteCount, Long_fromInt(1));
    }
    function nlec_MD5Digest() {
        var a = this; nlec_GeneralDigest.call(a);
        a.$H1 = 0;
        a.$H2 = 0;
        a.$H3 = 0;
        a.$H4 = 0;
        a.$X = null;
        a.$xOff = 0;
    }
    function nlec_MD5Digest__init_0() {
        var var_0 = new nlec_MD5Digest();
        nlec_MD5Digest__init_(var_0);
        return var_0;
    }
    function nlec_MD5Digest__init_($this) {
        $this.$xBuf = $rt_createByteArray(4);
        $this.$xBufOff = 0;
        $this.$X = $rt_createIntArray(16);
        nlec_MD5Digest_reset($this);
    }
    function nlec_MD5Digest_processWord($this, $in, $inOff) {
        var var$3, var$4, var$5;
        var$3 = $in.data;
        $in = $this.$X.data;
        var$4 = $this.$xOff;
        var$5 = var$4 + 1 | 0;
        $this.$xOff = var$5;
        $in[var$4] = var$3[$inOff] & 255 | (var$3[$inOff + 1 | 0] & 255) << 8 | (var$3[$inOff + 2 | 0] & 255) << 16 | (var$3[$inOff + 3 | 0] & 255) << 24;
        if (var$5 == 16)
            nlec_MD5Digest_processBlock($this);
    }
    function nlec_MD5Digest_unpackWord($this, $word, $out, $outOff) {
        $out = $out.data;
        $out[$outOff] = $word << 24 >> 24;
        $out[$outOff + 1 | 0] = ($word >>> 8 | 0) << 24 >> 24;
        $out[$outOff + 2 | 0] = ($word >>> 16 | 0) << 24 >> 24;
        $out[$outOff + 3 | 0] = ($word >>> 24 | 0) << 24 >> 24;
    }
    function nlec_MD5Digest_reset($this) {
        var $i, var$2;
        $this.$byteCount = Long_ZERO;
        $this.$xBufOff = 0;
        $i = 0;
        while (true) {
            var$2 = $this.$xBuf.data;
            if ($i >= var$2.length)
                break;
            var$2[$i] = 0;
            $i = $i + 1 | 0;
        }
        $this.$H1 = 1732584193;
        $this.$H2 = (-271733879);
        $this.$H3 = (-1732584194);
        $this.$H4 = 271733878;
        $this.$xOff = 0;
        $i = 0;
        while (true) {
            var$2 = $this.$X.data;
            if ($i == var$2.length)
                break;
            var$2[$i] = 0;
            $i = $i + 1 | 0;
        }
    }
    function nlec_MD5Digest_rotateLeft($this, $x, $n) {
        return $x << $n | ($x >>> (32 - $n | 0) | 0);
    }
    function nlec_MD5Digest_F($this, $u, $v, $w) {
        return $u & $v | ($u ^ (-1)) & $w;
    }
    function nlec_MD5Digest_G($this, $u, $v, $w) {
        return $u & $w | $v & ($w ^ (-1));
    }
    function nlec_MD5Digest_H($this, $u, $v, $w) {
        return $u ^ $v ^ $w;
    }
    function nlec_MD5Digest_K($this, $u, $v, $w) {
        return $v ^ ($u | $w ^ (-1));
    }
    function nlec_MD5Digest_processBlock($this) {
        var $a, $b, $c, $d, $i, var$6;
        $a = $this.$H1;
        $b = $this.$H2;
        $c = $this.$H3;
        $d = $this.$H4;
        $a = nlec_MD5Digest_rotateLeft($this, (($a + nlec_MD5Digest_F($this, $b, $c, $d) | 0) + $this.$X.data[0] | 0) + (-680876936) | 0, 7) + $b | 0;
        $d = nlec_MD5Digest_rotateLeft($this, (($d + nlec_MD5Digest_F($this, $a, $b, $c) | 0) + $this.$X.data[1] | 0) + (-389564586) | 0, 12) + $a | 0;
        $c = nlec_MD5Digest_rotateLeft($this, (($c + nlec_MD5Digest_F($this, $d, $a, $b) | 0) + $this.$X.data[2] | 0) + 606105819 | 0, 17) + $d | 0;
        $b = nlec_MD5Digest_rotateLeft($this, (($b + nlec_MD5Digest_F($this, $c, $d, $a) | 0) + $this.$X.data[3] | 0) + (-1044525330) | 0, 22) + $c | 0;
        $a = nlec_MD5Digest_rotateLeft($this, (($a + nlec_MD5Digest_F($this, $b, $c, $d) | 0) + $this.$X.data[4] | 0) + (-176418897) | 0, 7) + $b | 0;
        $d = nlec_MD5Digest_rotateLeft($this, (($d + nlec_MD5Digest_F($this, $a, $b, $c) | 0) + $this.$X.data[5] | 0) + 1200080426 | 0, 12) + $a | 0;
        $c = nlec_MD5Digest_rotateLeft($this, (($c + nlec_MD5Digest_F($this, $d, $a, $b) | 0) + $this.$X.data[6] | 0) + (-1473231341) | 0, 17) + $d | 0;
        $b = nlec_MD5Digest_rotateLeft($this, (($b + nlec_MD5Digest_F($this, $c, $d, $a) | 0) + $this.$X.data[7] | 0) + (-45705983) | 0, 22) + $c | 0;
        $a = nlec_MD5Digest_rotateLeft($this, (($a + nlec_MD5Digest_F($this, $b, $c, $d) | 0) + $this.$X.data[8] | 0) + 1770035416 | 0, 7) + $b | 0;
        $d = nlec_MD5Digest_rotateLeft($this, (($d + nlec_MD5Digest_F($this, $a, $b, $c) | 0) + $this.$X.data[9] | 0) + (-1958414417) | 0, 12) + $a | 0;
        $c = nlec_MD5Digest_rotateLeft($this, (($c + nlec_MD5Digest_F($this, $d, $a, $b) | 0) + $this.$X.data[10] | 0) + (-42063) | 0, 17) + $d | 0;
        $b = nlec_MD5Digest_rotateLeft($this, (($b + nlec_MD5Digest_F($this, $c, $d, $a) | 0) + $this.$X.data[11] | 0) + (-1990404162) | 0, 22) + $c | 0;
        $a = nlec_MD5Digest_rotateLeft($this, (($a + nlec_MD5Digest_F($this, $b, $c, $d) | 0) + $this.$X.data[12] | 0) + 1804603682 | 0, 7) + $b | 0;
        $d = nlec_MD5Digest_rotateLeft($this, (($d + nlec_MD5Digest_F($this, $a, $b, $c) | 0) + $this.$X.data[13] | 0) + (-40341101) | 0, 12) + $a | 0;
        $c = nlec_MD5Digest_rotateLeft($this, (($c + nlec_MD5Digest_F($this, $d, $a, $b) | 0) + $this.$X.data[14] | 0) + (-1502002290) | 0, 17) + $d | 0;
        $b = nlec_MD5Digest_rotateLeft($this, (($b + nlec_MD5Digest_F($this, $c, $d, $a) | 0) + $this.$X.data[15] | 0) + 1236535329 | 0, 22) + $c | 0;
        $a = nlec_MD5Digest_rotateLeft($this, (($a + nlec_MD5Digest_G($this, $b, $c, $d) | 0) + $this.$X.data[1] | 0) + (-165796510) | 0, 5) + $b | 0;
        $d = nlec_MD5Digest_rotateLeft($this, (($d + nlec_MD5Digest_G($this, $a, $b, $c) | 0) + $this.$X.data[6] | 0) + (-1069501632) | 0, 9) + $a | 0;
        $c = nlec_MD5Digest_rotateLeft($this, (($c + nlec_MD5Digest_G($this, $d, $a, $b) | 0) + $this.$X.data[11] | 0) + 643717713 | 0, 14) + $d | 0;
        $b = nlec_MD5Digest_rotateLeft($this, (($b + nlec_MD5Digest_G($this, $c, $d, $a) | 0) + $this.$X.data[0] | 0) + (-373897302) | 0, 20) + $c | 0;
        $a = nlec_MD5Digest_rotateLeft($this, (($a + nlec_MD5Digest_G($this, $b, $c, $d) | 0) + $this.$X.data[5] | 0) + (-701558691) | 0, 5) + $b | 0;
        $d = nlec_MD5Digest_rotateLeft($this, (($d + nlec_MD5Digest_G($this, $a, $b, $c) | 0) + $this.$X.data[10] | 0) + 38016083 | 0, 9) + $a | 0;
        $c = nlec_MD5Digest_rotateLeft($this, (($c + nlec_MD5Digest_G($this, $d, $a, $b) | 0) + $this.$X.data[15] | 0) + (-660478335) | 0, 14) + $d | 0;
        $i = nlec_MD5Digest_rotateLeft($this, (($b + nlec_MD5Digest_G($this, $c, $d, $a) | 0) + $this.$X.data[4] | 0) + (-405537848) | 0, 20) + $c | 0;
        $a = nlec_MD5Digest_rotateLeft($this, (($a + nlec_MD5Digest_G($this, $i, $c, $d) | 0) + $this.$X.data[9] | 0) + 568446438 | 0, 5) + $i | 0;
        $b = nlec_MD5Digest_rotateLeft($this, (($d + nlec_MD5Digest_G($this, $a, $i, $c) | 0) + $this.$X.data[14] | 0) + (-1019803690) | 0, 9) + $a | 0;
        $c = nlec_MD5Digest_rotateLeft($this, (($c + nlec_MD5Digest_G($this, $b, $a, $i) | 0) + $this.$X.data[3] | 0) + (-187363961) | 0, 14) + $b | 0;
        $d = nlec_MD5Digest_rotateLeft($this, (($i + nlec_MD5Digest_G($this, $c, $b, $a) | 0) + $this.$X.data[8] | 0) + 1163531501 | 0, 20) + $c | 0;
        $a = nlec_MD5Digest_rotateLeft($this, (($a + nlec_MD5Digest_G($this, $d, $c, $b) | 0) + $this.$X.data[13] | 0) + (-1444681467) | 0, 5) + $d | 0;
        $b = nlec_MD5Digest_rotateLeft($this, (($b + nlec_MD5Digest_G($this, $a, $d, $c) | 0) + $this.$X.data[2] | 0) + (-51403784) | 0, 9) + $a | 0;
        $c = nlec_MD5Digest_rotateLeft($this, (($c + nlec_MD5Digest_G($this, $b, $a, $d) | 0) + $this.$X.data[7] | 0) + 1735328473 | 0, 14) + $b | 0;
        $d = nlec_MD5Digest_rotateLeft($this, (($d + nlec_MD5Digest_G($this, $c, $b, $a) | 0) + $this.$X.data[12] | 0) + (-1926607734) | 0, 20) + $c | 0;
        $a = nlec_MD5Digest_rotateLeft($this, (($a + nlec_MD5Digest_H($this, $d, $c, $b) | 0) + $this.$X.data[5] | 0) + (-378558) | 0, 4) + $d | 0;
        $b = nlec_MD5Digest_rotateLeft($this, (($b + nlec_MD5Digest_H($this, $a, $d, $c) | 0) + $this.$X.data[8] | 0) + (-2022574463) | 0, 11) + $a | 0;
        $c = nlec_MD5Digest_rotateLeft($this, (($c + nlec_MD5Digest_H($this, $b, $a, $d) | 0) + $this.$X.data[11] | 0) + 1839030562 | 0, 16) + $b | 0;
        $d = nlec_MD5Digest_rotateLeft($this, (($d + nlec_MD5Digest_H($this, $c, $b, $a) | 0) + $this.$X.data[14] | 0) + (-35309556) | 0, 23) + $c | 0;
        $a = nlec_MD5Digest_rotateLeft($this, (($a + nlec_MD5Digest_H($this, $d, $c, $b) | 0) + $this.$X.data[1] | 0) + (-1530992060) | 0, 4) + $d | 0;
        $b = nlec_MD5Digest_rotateLeft($this, (($b + nlec_MD5Digest_H($this, $a, $d, $c) | 0) + $this.$X.data[4] | 0) + 1272893353 | 0, 11) + $a | 0;
        $c = nlec_MD5Digest_rotateLeft($this, (($c + nlec_MD5Digest_H($this, $b, $a, $d) | 0) + $this.$X.data[7] | 0) + (-155497632) | 0, 16) + $b | 0;
        $d = nlec_MD5Digest_rotateLeft($this, (($d + nlec_MD5Digest_H($this, $c, $b, $a) | 0) + $this.$X.data[10] | 0) + (-1094730640) | 0, 23) + $c | 0;
        $a = nlec_MD5Digest_rotateLeft($this, (($a + nlec_MD5Digest_H($this, $d, $c, $b) | 0) + $this.$X.data[13] | 0) + 681279174 | 0, 4) + $d | 0;
        $b = nlec_MD5Digest_rotateLeft($this, (($b + nlec_MD5Digest_H($this, $a, $d, $c) | 0) + $this.$X.data[0] | 0) + (-358537222) | 0, 11) + $a | 0;
        $c = nlec_MD5Digest_rotateLeft($this, (($c + nlec_MD5Digest_H($this, $b, $a, $d) | 0) + $this.$X.data[3] | 0) + (-722521979) | 0, 16) + $b | 0;
        $d = nlec_MD5Digest_rotateLeft($this, (($d + nlec_MD5Digest_H($this, $c, $b, $a) | 0) + $this.$X.data[6] | 0) + 76029189 | 0, 23) + $c | 0;
        $a = nlec_MD5Digest_rotateLeft($this, (($a + nlec_MD5Digest_H($this, $d, $c, $b) | 0) + $this.$X.data[9] | 0) + (-640364487) | 0, 4) + $d | 0;
        $b = nlec_MD5Digest_rotateLeft($this, (($b + nlec_MD5Digest_H($this, $a, $d, $c) | 0) + $this.$X.data[12] | 0) + (-421815835) | 0, 11) + $a | 0;
        $c = nlec_MD5Digest_rotateLeft($this, (($c + nlec_MD5Digest_H($this, $b, $a, $d) | 0) + $this.$X.data[15] | 0) + 530742520 | 0, 16) + $b | 0;
        $d = nlec_MD5Digest_rotateLeft($this, (($d + nlec_MD5Digest_H($this, $c, $b, $a) | 0) + $this.$X.data[2] | 0) + (-995338651) | 0, 23) + $c | 0;
        $a = nlec_MD5Digest_rotateLeft($this, (($a + nlec_MD5Digest_K($this, $d, $c, $b) | 0) + $this.$X.data[0] | 0) + (-198630844) | 0, 6) + $d | 0;
        $b = nlec_MD5Digest_rotateLeft($this, (($b + nlec_MD5Digest_K($this, $a, $d, $c) | 0) + $this.$X.data[7] | 0) + 1126891415 | 0, 10) + $a | 0;
        $c = nlec_MD5Digest_rotateLeft($this, (($c + nlec_MD5Digest_K($this, $b, $a, $d) | 0) + $this.$X.data[14] | 0) + (-1416354905) | 0, 15) + $b | 0;
        $d = nlec_MD5Digest_rotateLeft($this, (($d + nlec_MD5Digest_K($this, $c, $b, $a) | 0) + $this.$X.data[5] | 0) + (-57434055) | 0, 21) + $c | 0;
        $a = nlec_MD5Digest_rotateLeft($this, (($a + nlec_MD5Digest_K($this, $d, $c, $b) | 0) + $this.$X.data[12] | 0) + 1700485571 | 0, 6) + $d | 0;
        $b = nlec_MD5Digest_rotateLeft($this, (($b + nlec_MD5Digest_K($this, $a, $d, $c) | 0) + $this.$X.data[3] | 0) + (-1894986606) | 0, 10) + $a | 0;
        $c = nlec_MD5Digest_rotateLeft($this, (($c + nlec_MD5Digest_K($this, $b, $a, $d) | 0) + $this.$X.data[10] | 0) + (-1051523) | 0, 15) + $b | 0;
        $d = nlec_MD5Digest_rotateLeft($this, (($d + nlec_MD5Digest_K($this, $c, $b, $a) | 0) + $this.$X.data[1] | 0) + (-2054922799) | 0, 21) + $c | 0;
        $a = nlec_MD5Digest_rotateLeft($this, (($a + nlec_MD5Digest_K($this, $d, $c, $b) | 0) + $this.$X.data[8] | 0) + 1873313359 | 0, 6) + $d | 0;
        $b = nlec_MD5Digest_rotateLeft($this, (($b + nlec_MD5Digest_K($this, $a, $d, $c) | 0) + $this.$X.data[15] | 0) + (-30611744) | 0, 10) + $a | 0;
        $c = nlec_MD5Digest_rotateLeft($this, (($c + nlec_MD5Digest_K($this, $b, $a, $d) | 0) + $this.$X.data[6] | 0) + (-1560198380) | 0, 15) + $b | 0;
        $d = nlec_MD5Digest_rotateLeft($this, (($d + nlec_MD5Digest_K($this, $c, $b, $a) | 0) + $this.$X.data[13] | 0) + 1309151649 | 0, 21) + $c | 0;
        $a = nlec_MD5Digest_rotateLeft($this, (($a + nlec_MD5Digest_K($this, $d, $c, $b) | 0) + $this.$X.data[4] | 0) + (-145523070) | 0, 6) + $d | 0;
        $b = nlec_MD5Digest_rotateLeft($this, (($b + nlec_MD5Digest_K($this, $a, $d, $c) | 0) + $this.$X.data[11] | 0) + (-1120210379) | 0, 10) + $a | 0;
        $c = nlec_MD5Digest_rotateLeft($this, (($c + nlec_MD5Digest_K($this, $b, $a, $d) | 0) + $this.$X.data[2] | 0) + 718787259 | 0, 15) + $b | 0;
        $d = nlec_MD5Digest_rotateLeft($this, (($d + nlec_MD5Digest_K($this, $c, $b, $a) | 0) + $this.$X.data[9] | 0) + (-343485551) | 0, 21) + $c | 0;
        $this.$H1 = $this.$H1 + $a | 0;
        $this.$H2 = $this.$H2 + $d | 0;
        $this.$H3 = $this.$H3 + $c | 0;
        $this.$H4 = $this.$H4 + $b | 0;
        $this.$xOff = 0;
        $i = 0;
        while (true) {
            var$6 = $this.$X.data;
            if ($i == var$6.length)
                break;
            var$6[$i] = 0;
            $i = $i + 1 | 0;
        }
    }
    function nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_0() {
        jl_Object.call(this);
        this.$_01 = null;
    }
    function nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_0_onFetch$exported$0(var$0, var$1) {
        otpp_AsyncCallbackWrapper_complete(var$0.$_01, otji_JSWrapper_wrap(var$1));
    }
    function nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_1() {
        var a = this; jl_Object.call(a);
        a.$_02 = null;
        a.$_10 = null;
    }
    function nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_1_onFetch$exported$0(var$0, var$1) {
        var var$2, var$3, var$4, var$5, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = var$0.$_02;
            var$3 = var$0.$_10;
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$1 !== null) {
                otpp_AsyncCallbackWrapper_complete(var$2, otji_JSWrapper_wrap(var$1));
                return;
            }
            var$4 = nlei_PlatformRuntime_logger;
            var$1 = $rt_s(1106);
            $ptr = 2;
        case 2:
            oall_Logger_error0(var$4, var$1);
            if ($rt_suspending()) {
                break main;
            }
            try {
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    var$1 = $$je;
                } else {
                    throw $$e;
                }
            }
            var$3 = nlei_PlatformRuntime_logger;
            var$4 = $rt_s(1107);
            var$5 = $rt_createArray(jl_Object, 1);
            var$5.data[0] = var$1;
            $ptr = 4;
            continue main;
        case 3:
            a: {
                try {
                    $tmp = nleit_TeaVMDataURLManager_decodeDataURLFallback(var$3);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$5 = $tmp;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$1 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                b: {
                    c: {
                        try {
                            if (var$5 === null)
                                break c;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                var$1 = $$je;
                                break a;
                            } else {
                                throw $$e;
                            }
                        }
                        var$1 = var$5.data.buffer;
                        break b;
                    }
                    var$1 = null;
                }
                otpp_AsyncCallbackWrapper_complete(var$2, otji_JSWrapper_wrap(var$1));
                return;
            }
            var$3 = nlei_PlatformRuntime_logger;
            var$4 = $rt_s(1107);
            var$5 = $rt_createArray(jl_Object, 1);
            var$5.data[0] = var$1;
            $ptr = 4;
        case 4:
            oall_Logger_error(var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            otpp_AsyncCallbackWrapper_complete(var$2, null);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_0() {
        jl_Object.call(this);
        this.$_03 = null;
    }
    function nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_0_onFetch$exported$0(var$0, var$1) {
        otpp_AsyncCallbackWrapper_complete(var$0.$_03, otji_JSWrapper_wrap(var$1));
    }
    function nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_1() {
        var a = this; jl_Object.call(a);
        a.$_04 = null;
        a.$_11 = null;
    }
    function nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_1_onFetch$exported$0(var$0, var$1) {
        var var$2, var$3, var$4, var$5, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = var$0.$_04;
            var$3 = var$0.$_11;
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$1 !== null) {
                otpp_AsyncCallbackWrapper_complete(var$2, otji_JSWrapper_wrap(var$1));
                return;
            }
            var$4 = nlei_PlatformRuntime_logger;
            var$1 = $rt_s(1108);
            $ptr = 2;
        case 2:
            oall_Logger_error0(var$4, var$1);
            if ($rt_suspending()) {
                break main;
            }
            try {
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    var$1 = $$je;
                } else {
                    throw $$e;
                }
            }
            var$3 = nlei_PlatformRuntime_logger;
            var$4 = $rt_s(1107);
            var$5 = $rt_createArray(jl_Object, 1);
            var$5.data[0] = var$1;
            $ptr = 4;
            continue main;
        case 3:
            a: {
                try {
                    $tmp = nleit_TeaVMDataURLManager_decodeDataURLFallback(var$3);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$5 = $tmp;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$1 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                b: {
                    c: {
                        try {
                            if (var$5 === null)
                                break c;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                var$1 = $$je;
                                break a;
                            } else {
                                throw $$e;
                            }
                        }
                        var$1 = var$5.data.buffer;
                        break b;
                    }
                    var$1 = null;
                }
                otpp_AsyncCallbackWrapper_complete(var$2, otji_JSWrapper_wrap(var$1));
                return;
            }
            var$3 = nlei_PlatformRuntime_logger;
            var$4 = $rt_s(1107);
            var$5 = $rt_createArray(jl_Object, 1);
            var$5.data[0] = var$1;
            $ptr = 4;
        case 4:
            oall_Logger_error(var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            otpp_AsyncCallbackWrapper_complete(var$2, null);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function jn_Buffer() {
        var a = this; jl_Object.call(a);
        a.$capacity = 0;
        a.$position = 0;
        a.$limit = 0;
        a.$mark4 = 0;
    }
    function jn_Buffer__init_($this, $capacity) {
        $this.$mark4 = (-1);
        $this.$capacity = $capacity;
        $this.$limit = $capacity;
    }
    function jn_Buffer_position($this) {
        return $this.$position;
    }
    function jn_Buffer_position0($this, $newPosition) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$newPosition = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($newPosition >= 0 && $newPosition <= $this.$limit) {
                $this.$position = $newPosition;
                if ($newPosition < $this.$mark4)
                    $this.$mark4 = 0;
                return $this;
            }
            var$2 = new jl_IllegalArgumentException;
            var$3 = $this.$limit;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            var$5 = $rt_s(1109);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            jl_AbstractStringBuilder_append0(var$5, $newPosition);
            var$6 = $rt_s(1110);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            jl_AbstractStringBuilder_append0(var$5, var$3);
            jl_AbstractStringBuilder_append(var$5, 93);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_Throwable__init_(var$2, var$4);
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $newPosition, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function jn_Buffer_flip($this) {
        $this.$limit = $this.$position;
        $this.$position = 0;
        $this.$mark4 = (-1);
        return $this;
    }
    function jn_Buffer_remaining($this) {
        return $this.$limit - $this.$position | 0;
    }
    function jn_Buffer_hasRemaining($this) {
        return $this.$position >= $this.$limit ? 0 : 1;
    }
    function jn_ByteBuffer() {
        var a = this; jn_Buffer.call(a);
        a.$start3 = 0;
        a.$array0 = null;
        a.$order = null;
    }
    function jn_ByteBuffer_allocate($capacity) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$capacity = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($capacity >= 0)
                return jn_ByteBufferImpl__init_1(0, $capacity, $rt_createByteArray($capacity), 0, $capacity, 0, 0);
            var$2 = new jl_IllegalArgumentException;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$4 = $rt_s(1111);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_AbstractStringBuilder_append0(var$4, $capacity);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_Throwable__init_(var$2, var$3);
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($capacity, var$2, var$3, var$4, $ptr);
    }
    function jn_ByteBuffer_wrap($array, $offset, $length) {
        return jn_ByteBufferImpl__init_1(0, $array.data.length, $array, $offset, $offset + $length | 0, 0, 0);
    }
    function jn_ByteBuffer_wrap0($array) {
        return jn_ByteBuffer_wrap($array, 0, $array.data.length);
    }
    function jn_ByteBuffer_get($this, $dst, $offset, $length) {
        var var$4, var$5, var$6, var$7, var$8, var$9, $pos, $i, var$12, var$13, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$i = $thread.pop();$pos = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$length = $thread.pop();$offset = $thread.pop();$dst = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($offset >= 0) {
                var$4 = $dst.data;
                var$5 = var$4.length;
                if ($offset <= var$5) {
                    var$6 = $offset + $length | 0;
                    if (var$6 > var$5) {
                        var$7 = new jl_IndexOutOfBoundsException;
                        var$8 = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_(var$8);
                        var$9 = $rt_s(1112);
                        $ptr = 4;
                        continue main;
                    }
                    if (jn_Buffer_remaining($this) < $length) {
                        var$7 = new jn_BufferUnderflowException;
                        jl_Throwable__init_0(var$7);
                        $rt_throw(var$7);
                    }
                    if ($length >= 0) {
                        var$6 = $this.$position;
                        $pos = var$6 + $this.$start3 | 0;
                        $i = 0;
                        while ($i < $length) {
                            var$12 = $offset + 1 | 0;
                            $dst = $this.$array0.data;
                            var$13 = $pos + 1 | 0;
                            var$4[$offset] = $dst[$pos];
                            $i = $i + 1 | 0;
                            $offset = var$12;
                            $pos = var$13;
                        }
                        $this.$position = var$6 + $length | 0;
                        return $this;
                    }
                    var$7 = new jl_IndexOutOfBoundsException;
                    var$8 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$8);
                    var$9 = $rt_s(1113);
                    $ptr = 7;
                    continue main;
                }
            }
            $dst = $dst.data;
            var$7 = new jl_IndexOutOfBoundsException;
            $length = $dst.length;
            var$8 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$8);
            var$9 = $rt_s(1114);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $offset);
            var$14 = $rt_s(1110);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$9, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $length);
            jl_AbstractStringBuilder_append(var$9, 41);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_(var$7, var$8);
            $rt_throw(var$7);
        case 4:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, var$6);
            var$14 = $rt_s(1115);
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append(var$9, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, var$5);
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_(var$7, var$8);
            $rt_throw(var$7);
        case 7:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $length);
            var$14 = $rt_s(1116);
            $ptr = 8;
        case 8:
            jl_StringBuilder_append(var$9, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_(var$7, var$8);
            $rt_throw(var$7);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $dst, $offset, $length, var$4, var$5, var$6, var$7, var$8, var$9, $pos, $i, var$12, var$13, var$14, $ptr);
    }
    function jn_ByteBuffer_put0($this, $src, $offset, $length) {
        var var$4, var$5, var$6, var$7, var$8, var$9, var$10, $pos, $i, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();$i = $thread.pop();$pos = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$length = $thread.pop();$offset = $thread.pop();$src = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$length)
                return $this;
            if ($this.$readOnly) {
                var$4 = new jn_ReadOnlyBufferException;
                jl_Throwable__init_0(var$4);
                $rt_throw(var$4);
            }
            if (jn_Buffer_remaining($this) < $length) {
                var$4 = new jn_BufferOverflowException;
                jl_Throwable__init_0(var$4);
                $rt_throw(var$4);
            }
            if ($offset >= 0) {
                var$5 = $src.data;
                var$6 = var$5.length;
                if ($offset <= var$6) {
                    var$7 = $offset + $length | 0;
                    if (var$7 > var$6) {
                        var$4 = new jl_IndexOutOfBoundsException;
                        var$8 = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_(var$8);
                        var$9 = $rt_s(1117);
                        $ptr = 4;
                        continue main;
                    }
                    if ($length >= 0) {
                        var$10 = $this.$position;
                        $pos = var$10 + $this.$start3 | 0;
                        $i = 0;
                        while ($i < $length) {
                            $src = $this.$array0.data;
                            var$7 = $pos + 1 | 0;
                            var$6 = $offset + 1 | 0;
                            $src[$pos] = var$5[$offset];
                            $i = $i + 1 | 0;
                            $pos = var$7;
                            $offset = var$6;
                        }
                        $this.$position = var$10 + $length | 0;
                        return $this;
                    }
                    var$4 = new jl_IndexOutOfBoundsException;
                    var$8 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$8);
                    var$9 = $rt_s(1113);
                    $ptr = 7;
                    continue main;
                }
            }
            $src = $src.data;
            var$4 = new jl_IndexOutOfBoundsException;
            $length = $src.length;
            var$8 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$8);
            var$9 = $rt_s(1114);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $offset);
            var$13 = $rt_s(1110);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$9, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $length);
            jl_AbstractStringBuilder_append(var$9, 41);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_(var$4, var$8);
            $rt_throw(var$4);
        case 4:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, var$7);
            var$13 = $rt_s(1115);
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append(var$9, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, var$6);
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_(var$4, var$8);
            $rt_throw(var$4);
        case 7:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $length);
            var$13 = $rt_s(1116);
            $ptr = 8;
        case 8:
            jl_StringBuilder_append(var$9, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_(var$4, var$8);
            $rt_throw(var$4);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $src, $offset, $length, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $pos, $i, var$13, $ptr);
    }
    function jn_ByteBuffer_clear($this) {
        $this.$position = 0;
        $this.$limit = $this.$capacity;
        $this.$mark4 = (-1);
        return $this;
    }
    var jnc_Charset$Charsets = $rt_classWithoutFields();
    var jnc_Charset$Charsets_value = null;
    var jnc_Charset$Charsets_$clinitCalled = false;
    function jnc_Charset$Charsets_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (jnc_Charset$Charsets_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            jnc_Charset$Charsets_$clinitCalled = true;
            $ptr = 1;
        case 1:
            jnc_Charset$Charsets__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            jnc_Charset$Charsets_$callClinit = $rt_eraseClinit(jnc_Charset$Charsets);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function jnc_Charset$Charsets__init_0() {
        var var_0 = new jnc_Charset$Charsets();
        jnc_Charset$Charsets__init_(var_0);
        return var_0;
    }
    function jnc_Charset$Charsets__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jnc_Charset$Charsets_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function jnc_Charset$Charsets__clinit_() {
        var $charsets, var$2, var$3, $charset, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$charset = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$charsets = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            jnc_Charset$Charsets_value = ju_HashMap__init_0();
            $charsets = $rt_createArray(jnc_Charset, 6).data;
            jnc_StandardCharsets_$callClinit();
            $charsets[0] = jnc_StandardCharsets_UTF_8;
            $charsets[1] = jnc_StandardCharsets_US_ASCII;
            $charsets[2] = jnc_StandardCharsets_ISO_8859_1;
            $charsets[3] = jnc_StandardCharsets_UTF_16;
            $charsets[4] = jnc_StandardCharsets_UTF_16BE;
            $charsets[5] = jnc_StandardCharsets_UTF_16LE;
            var$2 = $charsets.length;
            var$3 = 0;
            if (var$3 >= var$2)
                return;
            $charset = $charsets[var$3];
            var$5 = jnc_Charset$Charsets_value;
            var$6 = $charset.$canonicalName;
            $ptr = 1;
        case 1:
            ju_HashMap_putImpl(var$5, var$6, $charset);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = var$3 + 1 | 0;
            if (var$3 >= var$2)
                return;
            $charset = $charsets[var$3];
            var$5 = jnc_Charset$Charsets_value;
            var$6 = $charset.$canonicalName;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($charsets, var$2, var$3, $charset, var$5, var$6, $ptr);
    }
    function jnc_UnsupportedCharsetException() {
        jl_IllegalArgumentException.call(this);
        this.$charsetName = null;
    }
    function cjj_ZStream() {
        var a = this; jl_Object.call(a);
        a.$next_in = null;
        a.$next_in_index = 0;
        a.$avail_in = 0;
        a.$total_in = Long_ZERO;
        a.$next_out = null;
        a.$next_out_index = 0;
        a.$avail_out = 0;
        a.$total_out = Long_ZERO;
        a.$msg = null;
        a.$istate = null;
        a.$adler = null;
    }
    function cjj_ZStream__init_1() {
        var var_0 = new cjj_ZStream();
        cjj_ZStream__init_(var_0);
        return var_0;
    }
    function cjj_ZStream__init_($this) {
        $this.$adler = cjj_Adler32__init_0();
    }
    function cjj_ZStream_setOutput($this, $buf, $off, $len) {
        $this.$next_out = $buf;
        $this.$next_out_index = $off;
        $this.$avail_out = $len;
    }
    function cjj_ZStream_setInput($this, $buf, $off, $len, $append) {
        var var$5, $tmp_0;
        if ($len <= 0 && $append && $this.$next_in !== null)
            return;
        var$5 = $this.$avail_in;
        if (var$5 > 0 && $append) {
            $tmp_0 = $rt_createByteArray(var$5 + $len | 0);
            jl_System_fastArraycopy($this.$next_in, $this.$next_in_index, $tmp_0, 0, var$5);
            jl_System_fastArraycopy($buf, $off, $tmp_0, $this.$avail_in, $len);
            $this.$next_in = $tmp_0;
            $this.$next_in_index = 0;
            $this.$avail_in = $this.$avail_in + $len | 0;
        } else {
            $this.$next_in = $buf;
            $this.$next_in_index = $off;
            $this.$avail_in = $len;
        }
    }
    function cjj_Inflater() {
        cjj_ZStream.call(this);
        this.$finished = 0;
    }
    function cjj_Inflater__init_3() {
        var var_0 = new cjj_Inflater();
        cjj_Inflater__init_(var_0);
        return var_0;
    }
    function cjj_Inflater__init_4(var_0) {
        var var_1 = new cjj_Inflater();
        cjj_Inflater__init_1(var_1, var_0);
        return var_1;
    }
    function cjj_Inflater__init_5(var_0, var_1) {
        var var_2 = new cjj_Inflater();
        cjj_Inflater__init_2(var_2, var_0, var_1);
        return var_2;
    }
    function cjj_Inflater__init_($this) {
        cjj_ZStream__init_($this);
        $this.$finished = 0;
        cjj_Inflater_init($this, 15, 0);
    }
    function cjj_Inflater__init_1($this, $nowrap) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$nowrap = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 15;
            $ptr = 1;
        case 1:
            cjj_Inflater__init_2($this, var$2, $nowrap);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $nowrap, var$2, $ptr);
    }
    function cjj_Inflater__init_2($this, $w, $nowrap) {
        var $ret, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$ret = $thread.pop();$nowrap = $thread.pop();$w = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            cjj_ZStream__init_($this);
            $this.$finished = 0;
            $ret = cjj_Inflater_init($this, $w, $nowrap);
            if (!$ret)
                return;
            var$4 = new cjj_GZIPException;
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            jl_AbstractStringBuilder_append0(var$5, $ret);
            jl_AbstractStringBuilder_append2(var$5, $rt_s(6));
            jl_AbstractStringBuilder_append2(var$5, $this.$msg);
            $ptr = 1;
        case 1:
            $tmp = jl_AbstractStringBuilder_toString(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            jl_Throwable__init_(var$4, var$5);
            $rt_throw(var$4);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $w, $nowrap, $ret, var$4, var$5, $ptr);
    }
    function cjj_Inflater_init($this, $w, $nowrap) {
        var var$3, var$4, var$5;
        $this.$finished = 0;
        var$3 = new cjj_Inflate;
        var$3.$was = Long_fromInt(-1);
        var$3.$need_bytes = (-1);
        var$3.$crcbuf = $rt_createByteArray(4);
        var$3.$gheader = null;
        var$3.$tmp_string = null;
        var$3.$z3 = $this;
        $this.$istate = var$3;
        if ($nowrap)
            $w =  -$w | 0;
        $this.$msg = null;
        var$3.$blocks = null;
        var$3.$wrap5 = 0;
        if ($w < 0)
            $w =  -$w | 0;
        else if ($w & 1073741824) {
            var$3.$wrap5 = 4;
            $w = $w & (-1073741825);
            if ($w < 48)
                $w = $w & 15;
        } else if ($w & (-32)) {
            var$3.$wrap5 = 4;
            $w = $w & 15;
        } else {
            var$3.$wrap5 = ($w >> 4) + 1 | 0;
            if ($w < 48)
                $w = $w & 15;
        }
        if ($w >= 8 && $w <= 15) {
            var$3.$wbits = $w;
            var$4 = new cjj_InfBlocks;
            $nowrap = 1 << $w;
            var$4.$bb = $rt_createIntArray(1);
            var$4.$tb = $rt_createIntArray(1);
            var$4.$bl = $rt_createIntArray(1);
            var$4.$bd = $rt_createIntArray(1);
            var$4.$tl = $rt_createArray($rt_arraycls($rt_intcls()), 1);
            var$4.$td = $rt_createArray($rt_arraycls($rt_intcls()), 1);
            var$4.$tli = $rt_createIntArray(1);
            var$4.$tdi = $rt_createIntArray(1);
            var$4.$inftree = cjj_InfTree__init_0();
            var$4.$z4 = $this;
            var$5 = new cjj_InfCodes;
            var$5.$tree_index = 0;
            var$5.$z5 = $this;
            var$5.$s = var$4;
            var$4.$codes = var$5;
            var$4.$hufts = $rt_createIntArray(4320);
            var$4.$window = $rt_createByteArray($nowrap);
            var$4.$end1 = $nowrap;
            var$4.$check = $this.$istate.$wrap5 ? 1 : 0;
            var$4.$mode2 = 0;
            cjj_InfBlocks_reset(var$4);
            var$3.$blocks = var$4;
            var$5 = var$3.$z3;
            if (var$5 !== null) {
                var$5.$total_out = Long_ZERO;
                var$5.$total_in = Long_ZERO;
                var$5.$msg = null;
                var$3.$mode0 = 14;
                var$3.$need_bytes = (-1);
                cjj_InfBlocks_reset(var$4);
            }
            $w = 0;
        } else {
            cjj_Inflate_inflateEnd(var$3);
            $w = (-2);
        }
        return $w;
    }
    function cjj_Inflater_inflate($this, $f) {
        var var$2, $ret;
        var$2 = $this.$istate;
        if (var$2 === null)
            return (-2);
        $ret = cjj_Inflate_inflate(var$2, $f);
        if ($ret == 1)
            $this.$finished = 1;
        return $ret;
    }
    var otjw_DecodeSuccessCallback = $rt_classWithoutFields(0);
    function nlei_PlatformAudio$1() {
        jl_Object.call(this);
        this.$val$cb0 = null;
    }
    function nlei_PlatformAudio$1_onSuccess$exported$0(var$0, var$1) {
        otpp_AsyncCallbackWrapper_complete(var$0.$val$cb0, otji_JSWrapper_wrap(var$1));
    }
    var otjw_DecodeErrorCallback = $rt_classWithoutFields(0);
    function nlei_PlatformAudio$2() {
        var a = this; jl_Object.call(a);
        a.$val$errorFileName = null;
        a.$val$cb1 = null;
    }
    function nlei_PlatformAudio$2_onError$exported$0(var$0, var$1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = var$0.$val$errorFileName;
            if (var$1 === null) {
                otpp_AsyncCallbackWrapper_complete(var$0.$val$cb1, null);
                return;
            }
            $ptr = 1;
        case 1:
            nlei_PlatformAudio_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nlei_PlatformAudio_logger;
            var$3 = $rt_s(1118);
            var$4 = $rt_createArray(jl_Object, 1);
            var$4.data[0] = var$1;
            $ptr = 2;
        case 2:
            oall_Logger_error(var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            otpp_AsyncCallbackWrapper_complete(var$0.$val$cb1, null);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, $ptr);
    }
    var cch_HashContainers = $rt_classWithoutFields();
    var cch_HashContainers_ITERATION_SEED = null;
    var cch_HashContainers_$assertionsDisabled = 0;
    function cch_HashContainers__init_0() {
        var var_0 = new cch_HashContainers();
        cch_HashContainers__init_(var_0);
        return var_0;
    }
    function cch_HashContainers__init_($this) {}
    function cch_HashContainers_minBufferSize($elements, $loadFactor) {
        var var$3, var$4, var$5, $length, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$length = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$loadFactor = $thread.pop();$elements = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($elements < 0) {
                var$3 = new jl_IllegalArgumentException;
                var$4 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$4);
                var$5 = $rt_s(1119);
                $ptr = 1;
                continue main;
            }
            $length = Long_fromNumber(jl_Math_ceil($elements / $loadFactor));
            if (Long_eq($length, Long_fromInt($elements)))
                $length = Long_add($length, Long_fromInt(1));
            $length = Long_sub($length, Long_fromInt(1));
            $length = Long_or($length, Long_shr($length, 1));
            $length = Long_or($length, Long_shr($length, 2));
            $length = Long_or($length, Long_shr($length, 4));
            $length = Long_or($length, Long_shr($length, 8));
            $length = Long_or($length, Long_shr($length, 16));
            var$7 = Long_add(Long_or($length, Long_shr($length, 32)), Long_fromInt(1));
            if (Long_gt(Long_fromInt(4), var$7))
                var$7 = Long_fromInt(4);
            if (Long_le(var$7, Long_fromInt(1073741824)))
                return Long_lo(var$7);
            var$3 = new cch_BufferAllocationException;
            var$4 = $rt_s(1120);
            var$8 = $rt_createArrayFromData(jl_Object, [jl_Integer_valueOf($elements), jl_Double_valueOf($loadFactor)]);
            $ptr = 3;
            continue main;
        case 1:
            $tmp = jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            jl_AbstractStringBuilder_append0(var$5, $elements);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_Throwable__init_(var$3, var$4);
            $rt_throw(var$3);
        case 3:
            cch_BufferAllocationException__init_0(var$3, var$4, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($elements, $loadFactor, var$3, var$4, var$5, $length, var$7, var$8, $ptr);
    }
    function cch_HashContainers_nextBufferSize($arraySize, $elements, $loadFactor) {
        var var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$loadFactor = $thread.pop();$elements = $thread.pop();$arraySize = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!cch_HashContainers_$assertionsDisabled && !cch_HashContainers_checkPowerOfTwo($arraySize)) {
                var$4 = new jl_AssertionError;
                jl_Throwable__init_0(var$4);
                $rt_throw(var$4);
            }
            if ($arraySize != 1073741824)
                return $arraySize << 1;
            var$5 = new cch_BufferAllocationException;
            var$4 = $rt_s(1120);
            var$6 = $rt_createArrayFromData(jl_Object, [jl_Integer_valueOf($elements), jl_Double_valueOf($loadFactor)]);
            $ptr = 1;
        case 1:
            cch_BufferAllocationException__init_0(var$5, var$4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw(var$5);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($arraySize, $elements, $loadFactor, var$4, var$5, var$6, $ptr);
    }
    function cch_HashContainers_expandAtCount($arraySize, $loadFactor) {
        var var$3;
        if (!cch_HashContainers_$assertionsDisabled && !cch_HashContainers_checkPowerOfTwo($arraySize)) {
            var$3 = new jl_AssertionError;
            jl_Throwable__init_0(var$3);
            $rt_throw(var$3);
        }
        return jl_Math_min($arraySize - 1 | 0, jl_Math_ceil($arraySize * $loadFactor) | 0);
    }
    function cch_HashContainers_checkLoadFactor($loadFactor, $minAllowedInclusive, $maxAllowedInclusive) {
        var var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$maxAllowedInclusive = $thread.pop();$minAllowedInclusive = $thread.pop();$loadFactor = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($loadFactor >= $minAllowedInclusive && $loadFactor <= $maxAllowedInclusive)
                return;
            var$4 = new cch_BufferAllocationException;
            var$5 = $rt_s(1121);
            var$6 = $rt_createArrayFromData(jl_Object, [jl_Double_valueOf($minAllowedInclusive), jl_Double_valueOf($maxAllowedInclusive), jl_Double_valueOf($loadFactor)]);
            $ptr = 1;
        case 1:
            cch_BufferAllocationException__init_0(var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw(var$4);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($loadFactor, $minAllowedInclusive, $maxAllowedInclusive, var$4, var$5, var$6, $ptr);
    }
    function cch_HashContainers_checkPowerOfTwo($arraySize) {
        var var$2, var$3, var$4;
        var$2 = cch_HashContainers_$assertionsDisabled;
        if (!var$2 && $arraySize <= 1) {
            var$3 = new jl_AssertionError;
            jl_Throwable__init_0(var$3);
            $rt_throw(var$3);
        }
        if (!var$2) {
            var$4 = $arraySize + (-1) | 0;
            var$2 = var$4 | var$4 >> 1;
            var$2 = var$2 | var$2 >> 2;
            var$2 = var$2 | var$2 >> 4;
            var$2 = var$2 | var$2 >> 8;
            if (((var$2 | var$2 >> 16) + 1 | 0) != $arraySize) {
                var$3 = new jl_AssertionError;
                jl_Throwable__init_0(var$3);
                $rt_throw(var$3);
            }
        }
        return 1;
    }
    function cch_HashContainers_nextIterationSeed() {
        var var$1, var$2;
        var$1 = cch_HashContainers_ITERATION_SEED;
        var$1.$version0 = var$1.$version0 + 1 | 0;
        var$2 = var$1.$value6 + 1 | 0;
        var$1.$value6 = var$2;
        return var$2;
    }
    function cch_HashContainers__clinit_() {
        cch_HashContainers_$assertionsDisabled = 0;
        cch_HashContainers_ITERATION_SEED = new juca_AtomicInteger;
    }
    function ju_GregorianCalendar() {
        var a = this; ju_Calendar.call(a);
        a.$gregorianCutover = Long_ZERO;
        a.$changeYear = 0;
        a.$julianSkew = 0;
        a.$isCached = 0;
        a.$cachedFields = null;
        a.$nextMidnightMillis = Long_ZERO;
        a.$lastMidnightMillis = Long_ZERO;
        a.$currentYearSkew = 0;
        a.$lastYearSkew = 0;
    }
    var ju_GregorianCalendar_daysInMonth0 = null;
    var ju_GregorianCalendar_daysInYear1 = null;
    var ju_GregorianCalendar_maximums = null;
    var ju_GregorianCalendar_minimums = null;
    var ju_GregorianCalendar_leastMaximums = null;
    function ju_GregorianCalendar__init_3() {
        var var_0 = new ju_GregorianCalendar();
        ju_GregorianCalendar__init_(var_0);
        return var_0;
    }
    function ju_GregorianCalendar__init_4(var_0) {
        var var_1 = new ju_GregorianCalendar();
        ju_GregorianCalendar__init_0(var_1, var_0);
        return var_1;
    }
    function ju_GregorianCalendar__init_5(var_0) {
        var var_1 = new ju_GregorianCalendar();
        ju_GregorianCalendar__init_2(var_1, var_0);
        return var_1;
    }
    function ju_GregorianCalendar__init_6(var_0, var_1) {
        var var_2 = new ju_GregorianCalendar();
        ju_GregorianCalendar__init_1(var_2, var_0, var_1);
        return var_2;
    }
    function ju_GregorianCalendar__init_($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = ju_Locale_getDefault();
            $ptr = 1;
        case 1:
            ju_GregorianCalendar__init_0($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function ju_GregorianCalendar__init_0($this, $locale) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$locale = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            ju_TimeZone_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (ju_TimeZone_defaultTz === null) {
                $ptr = 4;
                continue main;
            }
            var$2 = ju_TimeZone_defaultTz;
            $ptr = 2;
        case 2:
            $tmp = ju_IANATimeZone_clone(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 3;
        case 3:
            ju_GregorianCalendar__init_1($this, var$2, $locale);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            $tmp = otcit_DateTimeZoneProvider_detectTimezone();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (var$2 !== null) {
                var$3 = new ju_IANATimeZone;
                $ptr = 5;
                continue main;
            }
            var$3 = null;
            ju_TimeZone_defaultTz = var$3;
            if (var$3 === null)
                ju_TimeZone_defaultTz = ju_TimeZone_GMT;
            var$2 = ju_TimeZone_defaultTz;
            $ptr = 2;
            continue main;
        case 5:
            ju_IANATimeZone__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            ju_TimeZone_defaultTz = var$3;
            if (var$3 === null)
                ju_TimeZone_defaultTz = ju_TimeZone_GMT;
            var$2 = ju_TimeZone_defaultTz;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $locale, var$2, var$3, $ptr);
    }
    function ju_GregorianCalendar__init_2($this, $zone) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$zone = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = ju_Locale_getDefault();
            $ptr = 1;
        case 1:
            ju_GregorianCalendar__init_1($this, $zone, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $zone, var$2, $ptr);
    }
    function ju_GregorianCalendar__init_1($this, $timezone, $locale) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$locale = $thread.pop();$timezone = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                ju_Calendar_$callClinit();
                $this.$fields = $rt_createIntArray(17);
                $this.$isSet = $rt_createBooleanArray(17);
                $this.$areFieldsSet = 0;
                $this.$isTimeSet = 0;
                $this.$lenient = 1;
                ju_Calendar_setTimeZone($this, $timezone);
                $this.$fields = $rt_createIntArray(17);
                $this.$isSet = $rt_createBooleanArray(17);
                $this.$areFieldsSet = 0;
                $this.$isTimeSet = 0;
                $this.$lenient = 1;
                if ($locale === ju_Calendar_cacheFor) {
                    var$3 = ju_Calendar_firstDayOfWeekCache;
                    if (var$3 >= 0)
                        break a;
                }
                $timezone = otciu_CLDRHelper_resolveCountry($locale.$languageCode, $locale.$countryCode);
                if (otciu_CLDRHelper_$$metadata$$13 === null)
                    otciu_CLDRHelper_$$metadata$$13 = otciu_CLDRHelper_getFirstDayOfWeek$$create();
                var$4 = otciu_CLDRHelper_$$metadata$$13;
                var$3 = var$4.hasOwnProperty($rt_ustr($timezone)) ? var$4[$rt_ustr($timezone)].value : var$4[$rt_ustr($rt_s(1122))].value;
                ju_Calendar_firstDayOfWeekCache = var$3;
            }
            b: {
                $this.$firstDayOfWeek = var$3;
                $this.$isCached = 0;
                if ($locale === ju_Calendar_cacheFor) {
                    var$3 = ju_Calendar_minimalDaysInFirstWeekCache;
                    if (var$3 >= 0)
                        break b;
                }
                $timezone = otciu_CLDRHelper_resolveCountry($locale.$languageCode, $locale.$countryCode);
                if (otciu_CLDRHelper_$$metadata$$12 === null)
                    otciu_CLDRHelper_$$metadata$$12 = otciu_CLDRHelper_getMinimalDaysInFirstWeek$$create();
                var$4 = otciu_CLDRHelper_$$metadata$$12;
                var$3 = var$4.hasOwnProperty($rt_ustr($timezone)) ? var$4[$rt_ustr($timezone)].value : var$4[$rt_ustr($rt_s(1122))].value;
                ju_Calendar_minimalDaysInFirstWeekCache = var$3;
            }
            $this.$minimalDaysInFirstWeek = var$3;
            $this.$isCached = 0;
            ju_Calendar_cacheFor = $locale;
            $this.$gregorianCutover = Long_create(4184124416, 4294964450);
            $this.$changeYear = 1582;
            $this.$julianSkew = ((-1) + ju_GregorianCalendar_julianError($this) | 0) - (($this.$changeYear - 2000 | 0) / 100 | 0) | 0;
            $this.$cachedFields = $rt_createIntArrayFromData([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
            $this.$currentYearSkew = 10;
            var$5 = jl_System_currentTimeMillis();
            $ptr = 1;
        case 1:
            ju_Calendar_setTimeInMillis($this, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $timezone, $locale, var$3, var$4, var$5, $ptr);
    }
    function ju_GregorianCalendar_add($this, $field, $value) {
        var $multiplier, var$4, $month, $days, var$7, $offset, $newOffset, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$newOffset = $thread.pop();$offset = $thread.pop();var$7 = $thread.pop();$days = $thread.pop();$month = $thread.pop();var$4 = $thread.pop();$multiplier = $thread.pop();$value = $thread.pop();$field = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$value)
                return;
            if ($field >= 0 && $field < 15) {
                $this.$isCached = 0;
                if (!$field) {
                    $ptr = 1;
                    continue main;
                }
                if ($field != 1 && $field != 2) {
                    $multiplier = Long_ZERO;
                    $ptr = 3;
                    continue main;
                }
                $ptr = 2;
                continue main;
            }
            var$4 = new jl_IllegalArgumentException;
            jl_Throwable__init_0(var$4);
            $rt_throw(var$4);
        case 1:
            ju_Calendar_complete($this);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$fields.data[0] != 1) {
                if ($value <= 0)
                    return;
                ju_Calendar_set($this, 0, 1);
            } else {
                if ($value >= 0)
                    return;
                ju_Calendar_set($this, 0, 0);
            }
            $ptr = 4;
            continue main;
        case 2:
            ju_Calendar_complete($this);
            if ($rt_suspending()) {
                break main;
            }
            if ($field == 2) {
                $month = $this.$fields.data[2] + $value | 0;
                if ($month >= 0)
                    $value = $month / 12 | 0;
                else {
                    $value = ($month - 11 | 0) / 12 | 0;
                    $month = 12 + ($month % 12 | 0) | 0;
                }
                ju_Calendar_set($this, 2, $month % 12 | 0);
            }
            ju_Calendar_set($this, 1, $this.$fields.data[1] + $value | 0);
            $days = ju_GregorianCalendar_daysInMonth($this, ju_GregorianCalendar_isLeapYear($this, $this.$fields.data[1]), $this.$fields.data[2]);
            if ($this.$fields.data[5] > $days)
                ju_Calendar_set($this, 5, $days);
            $ptr = 5;
            continue main;
        case 3:
            a: {
                ju_Calendar_getTimeInMillis($this);
                if ($rt_suspending()) {
                    break main;
                }
                switch ($field) {
                    case 3:
                    case 4:
                    case 8:
                        $multiplier = Long_fromInt(604800000);
                        break a;
                    case 5:
                    case 6:
                    case 7:
                        $multiplier = Long_fromInt(86400000);
                        break a;
                    case 9:
                        $multiplier = Long_fromInt(43200000);
                        break a;
                    case 10:
                    case 11:
                        $this.$time = Long_add($this.$time, Long_mul(Long_fromInt($value), Long_fromInt(3600000)));
                        break a;
                    case 12:
                        $this.$time = Long_add($this.$time, Long_mul(Long_fromInt($value), Long_fromInt(60000)));
                        break a;
                    case 13:
                        $this.$time = Long_add($this.$time, Long_mul(Long_fromInt($value), Long_fromInt(1000)));
                        break a;
                    case 14:
                        $this.$time = Long_add($this.$time, Long_fromInt($value));
                        break a;
                    default:
                }
            }
            if (Long_gt($multiplier, Long_ZERO)) {
                var$7 = $this.$time;
                $ptr = 7;
                continue main;
            }
            $this.$areFieldsSet = 0;
            $ptr = 6;
            continue main;
        case 4:
            ju_Calendar_complete($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            ju_Calendar_complete($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            ju_Calendar_complete($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            $tmp = ju_GregorianCalendar_getTimeZoneOffset($this, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $offset = $tmp;
            var$7 = Long_add($this.$time, Long_mul(Long_fromInt($value), $multiplier));
            $this.$time = var$7;
            $ptr = 8;
        case 8:
            $tmp = ju_GregorianCalendar_getTimeZoneOffset($this, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $newOffset = $tmp;
            if ($newOffset != $offset)
                $this.$time = Long_add($this.$time, Long_fromInt($offset - $newOffset | 0));
            $this.$areFieldsSet = 0;
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $field, $value, $multiplier, var$4, $month, $days, var$7, $offset, $newOffset, $ptr);
    }
    function ju_GregorianCalendar_fullFieldsCalc($this, $timeVal, $millis, $zoneOffset) {
        var $days, var$5, var$6, $dayOfYear, var$8, $month, $leapYear, $date, $dstOffset, var$13, $daysFromStart, $week, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$week = $thread.pop();$daysFromStart = $thread.pop();var$13 = $thread.pop();$dstOffset = $thread.pop();$date = $thread.pop();$leapYear = $thread.pop();$month = $thread.pop();var$8 = $thread.pop();$dayOfYear = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$days = $thread.pop();$zoneOffset = $thread.pop();$millis = $thread.pop();$timeVal = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $days = Long_div($timeVal, Long_fromInt(86400000));
            if ($millis < 0) {
                $millis = $millis + 86400000 | 0;
                $days = Long_sub($days, Long_fromInt(1));
            }
            $millis = $millis + $zoneOffset | 0;
            while ($millis < 0) {
                $millis = $millis + 86400000 | 0;
                $days = Long_sub($days, Long_fromInt(1));
            }
            while ($millis >= 86400000) {
                $millis = $millis - 86400000 | 0;
                $days = Long_add($days, Long_fromInt(1));
            }
            var$5 = Long_fromInt($zoneOffset);
            var$6 = Long_add($timeVal, var$5);
            $dayOfYear = ju_GregorianCalendar_computeYearAndDay($this, $days, var$6);
            var$8 = $this.$fields.data;
            var$8[6] = $dayOfYear;
            if (var$8[1] == $this.$changeYear && Long_le($this.$gregorianCutover, var$6))
                $dayOfYear = $dayOfYear + $this.$currentYearSkew | 0;
            $month = $dayOfYear / 32 | 0;
            $leapYear = ju_GregorianCalendar_isLeapYear($this, var$8[1]);
            $date = $dayOfYear - ju_GregorianCalendar_daysInYear($this, $leapYear, $month) | 0;
            if ($date > ju_GregorianCalendar_daysInMonth($this, $leapYear, $month)) {
                $date = $date - ju_GregorianCalendar_daysInMonth($this, $leapYear, $month) | 0;
                $month = $month + 1 | 0;
            }
            $this.$fields.data[7] = ju_GregorianCalendar_mod7($this, Long_sub($days, Long_fromInt(3))) + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = ju_GregorianCalendar_getTimeZoneOffset($this, $timeVal);
            if ($rt_suspending()) {
                break main;
            }
            $dstOffset = $tmp;
            var$8 = $this.$fields.data;
            if (var$8[1] > 0)
                $dstOffset = $dstOffset - $zoneOffset | 0;
            var$8[16] = $dstOffset;
            if (!$dstOffset)
                var$13 = $days;
            else {
                $millis = $millis + $dstOffset | 0;
                if ($millis < 0) {
                    $millis = $millis + 86400000 | 0;
                    var$13 = Long_sub($days, Long_fromInt(1));
                } else if ($millis < 86400000)
                    var$13 = $days;
                else {
                    $millis = $millis - 86400000 | 0;
                    var$13 = Long_add($days, Long_fromInt(1));
                }
                if (Long_ne($days, var$13)) {
                    $days = Long_add(Long_sub($timeVal, var$5), Long_fromInt($dstOffset));
                    $dstOffset = ju_GregorianCalendar_computeYearAndDay($this, var$13, $days);
                    var$8 = $this.$fields.data;
                    var$8[6] = $dstOffset;
                    if (var$8[1] == $this.$changeYear && Long_le($this.$gregorianCutover, $days))
                        $dstOffset = $dstOffset + $this.$currentYearSkew | 0;
                    $month = $dstOffset / 32 | 0;
                    $leapYear = ju_GregorianCalendar_isLeapYear($this, var$8[1]);
                    $date = $dstOffset - ju_GregorianCalendar_daysInYear($this, $leapYear, $month) | 0;
                    if ($date > ju_GregorianCalendar_daysInMonth($this, $leapYear, $month)) {
                        $date = $date - ju_GregorianCalendar_daysInMonth($this, $leapYear, $month) | 0;
                        $month = $month + 1 | 0;
                    }
                    $this.$fields.data[7] = ju_GregorianCalendar_mod7($this, Long_sub(var$13, Long_fromInt(3))) + 1 | 0;
                }
            }
            var$8 = $this.$fields.data;
            var$8[14] = $millis % 1000 | 0;
            $millis = $millis / 1000 | 0;
            var$8[13] = $millis % 60 | 0;
            $millis = $millis / 60 | 0;
            var$8[12] = $millis % 60 | 0;
            var$8[11] = ($millis / 60 | 0) % 24 | 0;
            var$8[9] = var$8[11] <= 11 ? 0 : 1;
            var$8[10] = var$8[11] % 12 | 0;
            if (var$8[1] > 0)
                var$8[0] = 1;
            else {
                var$8[0] = 0;
                var$8[1] = ( -var$8[1] | 0) + 1 | 0;
            }
            var$8[2] = $month;
            var$8[5] = $date;
            $zoneOffset = $date - 1 | 0;
            var$8[8] = ($zoneOffset / 7 | 0) + 1 | 0;
            var$8[4] = (($zoneOffset + ju_GregorianCalendar_mod7($this, Long_sub(Long_sub(Long_sub(var$13, Long_fromInt($date)), Long_fromInt(2)), Long_fromInt(ju_Calendar_getFirstDayOfWeek($this) - 1 | 0))) | 0) / 7 | 0) + 1 | 0;
            $daysFromStart = ju_GregorianCalendar_mod7($this, Long_sub(Long_sub(Long_sub(var$13, Long_fromInt(3)), Long_fromInt($this.$fields.data[6] - 1 | 0)), Long_fromInt(ju_Calendar_getFirstDayOfWeek($this) - 1 | 0)));
            $week = ((($this.$fields.data[6] - 1 | 0) + $daysFromStart | 0) / 7 | 0) + ((7 - $daysFromStart | 0) < ju_Calendar_getMinimalDaysInFirstWeek($this) ? 0 : 1) | 0;
            if (!$week) {
                var$8 = $this.$fields.data;
                $dstOffset = !ju_GregorianCalendar_isLeapYear($this, var$8[1] - 1 | 0) ? 1 : 2;
                var$8[3] = (7 - ju_GregorianCalendar_mod7($this, Long_fromInt($daysFromStart - $dstOffset | 0)) | 0) < ju_Calendar_getMinimalDaysInFirstWeek($this) ? 52 : 53;
            } else {
                $millis = $this.$fields.data[6];
                $zoneOffset = !$leapYear ? 366 : 367;
                $dstOffset = !$leapYear ? 1 : 2;
                if ($millis < ($zoneOffset - ju_GregorianCalendar_mod7($this, Long_fromInt($daysFromStart + $dstOffset | 0)) | 0))
                    $this.$fields.data[3] = $week;
                else {
                    var$8 = $this.$fields;
                    $dstOffset = !$leapYear ? 1 : 2;
                    if ((7 - ju_GregorianCalendar_mod7($this, Long_fromInt($daysFromStart + $dstOffset | 0)) | 0) >= ju_Calendar_getMinimalDaysInFirstWeek($this))
                        $week = 1;
                    var$8.data[3] = $week;
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $timeVal, $millis, $zoneOffset, $days, var$5, var$6, $dayOfYear, var$8, $month, $leapYear, $date, $dstOffset, var$13, $daysFromStart, $week, $ptr);
    }
    function ju_GregorianCalendar_cachedFieldsCheckAndGet($this, $timeVal, $newTimeMillis, $newTimeMillisAdjusted, $millis, $zoneOffset) {
        var var$6, $dstOffset, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$dstOffset = $thread.pop();var$6 = $thread.pop();$zoneOffset = $thread.pop();$millis = $thread.pop();$newTimeMillisAdjusted = $thread.pop();$newTimeMillis = $thread.pop();$timeVal = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $this.$fields.data;
            $dstOffset = var$6[16];
            if ($this.$isCached) {
                var$8 = $this.$nextMidnightMillis;
                if (Long_lt($newTimeMillis, var$8)) {
                    var$9 = $this.$lastMidnightMillis;
                    if (Long_gt($newTimeMillis, var$9)) {
                        var$10 = $this.$cachedFields.data;
                        if (var$10[4] == $zoneOffset && !(!$dstOffset && Long_ge($newTimeMillisAdjusted, var$8)) && !($dstOffset && Long_le($newTimeMillisAdjusted, var$9))) {
                            var$6[1] = var$10[0];
                            var$6[2] = var$10[1];
                            var$6[5] = var$10[2];
                            var$6[7] = var$10[3];
                            var$6[0] = var$10[5];
                            var$6[3] = var$10[6];
                            var$6[4] = var$10[7];
                            var$6[6] = var$10[8];
                            var$6[8] = var$10[9];
                            return;
                        }
                    }
                }
            }
            $ptr = 1;
        case 1:
            ju_GregorianCalendar_fullFieldsCalc($this, $timeVal, $millis, $zoneOffset);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isCached = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $timeVal, $newTimeMillis, $newTimeMillisAdjusted, $millis, $zoneOffset, var$6, $dstOffset, var$8, var$9, var$10, $ptr);
    }
    function ju_GregorianCalendar_getTimeZoneOffset($this, $localTime) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$localTime = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$zone;
            $ptr = 1;
        case 1:
            $tmp = ju_IANATimeZone_getOffset(var$2, $localTime);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $localTime, var$2, var$3, $ptr);
    }
    function ju_GregorianCalendar_computeFields($this) {
        var var$1, $zoneOffset, var$3, $millis, var$5, $dstOffset, $offset, $newTime, $i, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();$i = $thread.pop();$newTime = $thread.pop();$offset = $thread.pop();$dstOffset = $thread.pop();var$5 = $thread.pop();$millis = $thread.pop();var$3 = $thread.pop();$zoneOffset = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$time;
            $ptr = 1;
        case 1:
            $tmp = ju_GregorianCalendar_getTimeZoneOffset($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $zoneOffset = $tmp;
            if (!$this.$isSet.data[15])
                $this.$fields.data[15] = $zoneOffset;
            var$3 = $this.$time;
            $millis = Long_lo(Long_rem(var$3, Long_fromInt(86400000)));
            var$5 = $this.$fields.data;
            $dstOffset = var$5[16];
            $offset = $zoneOffset + $dstOffset | 0;
            $newTime = Long_add(var$3, Long_fromInt($offset));
            $i = Long_compare(var$3, Long_ZERO);
            if ($i > 0 && Long_lt($newTime, Long_ZERO) && $offset > 0)
                $newTime = Long_create(4294967295, 2147483647);
            else if ($i < 0 && Long_gt($newTime, Long_ZERO) && $offset < 0)
                $newTime = Long_create(0, 2147483648);
            if (!$this.$isCached) {
                $ptr = 2;
                continue main;
            }
            $i = (($millis >= 0 ? $millis : $millis + 86400000 | 0) + $zoneOffset | 0) + $dstOffset | 0;
            if ($i < 0)
                $i = $i + 86400000 | 0;
            else if ($i >= 86400000)
                $i = $i - 86400000 | 0;
            var$5[14] = $i % 1000 | 0;
            $offset = $i / 1000 | 0;
            var$5[13] = $offset % 60 | 0;
            $offset = $offset / 60 | 0;
            var$5[12] = $offset % 60 | 0;
            var$5[11] = ($offset / 60 | 0) % 24 | 0;
            var$5[9] = var$5[11] <= 11 ? 0 : 1;
            var$5[10] = var$5[11] % 12 | 0;
            $offset = Long_compare($newTime, Long_ZERO);
            var$1 = $offset > 0 && $offset < 0 && !$dstOffset ? Long_create(4294967295, 2147483647) : $offset >= 0 ? $newTime : $offset <= 0 ? $newTime : $dstOffset ? Long_create(0, 2147483648) : $newTime;
            $ptr = 3;
            continue main;
        case 2:
            ju_GregorianCalendar_fullFieldsCalc($this, var$3, $millis, $zoneOffset);
            if ($rt_suspending()) {
                break main;
            }
            $i = 0;
            while ($i < 17) {
                $this.$isSet.data[$i] = 1;
                $i = $i + 1 | 0;
            }
            if (!$this.$isCached && Long_ne($newTime, Long_create(4294967295, 2147483647)) && Long_ne($newTime, Long_create(0, 2147483648))) {
                var$10 = $this.$cachedFields.data;
                var$5 = $this.$fields.data;
                var$10[0] = var$5[1];
                var$10[1] = var$5[2];
                var$10[2] = var$5[5];
                var$10[3] = var$5[7];
                var$10[4] = $zoneOffset;
                var$10[5] = var$5[0];
                var$10[6] = var$5[3];
                var$10[7] = var$5[4];
                var$10[8] = var$5[6];
                var$10[9] = var$5[8];
                $this.$nextMidnightMillis = Long_add($newTime, Long_fromInt(((0 + ((((23 - var$5[11] | 0) * 60 | 0) * 60 | 0) * 1000 | 0) | 0) + (((59 - var$5[12] | 0) * 60 | 0) * 1000 | 0) | 0) + ((59 - var$5[13] | 0) * 1000 | 0) | 0));
                $this.$lastMidnightMillis = Long_sub($newTime, Long_fromInt(((((var$5[11] * 60 | 0) * 60 | 0) * 1000 | 0) + ((var$5[12] * 60 | 0) * 1000 | 0) | 0) + (var$5[13] * 1000 | 0) | 0));
                $this.$isCached = 1;
            }
            return;
        case 3:
            ju_GregorianCalendar_cachedFieldsCheckAndGet($this, var$3, $newTime, var$1, $millis, $zoneOffset);
            if ($rt_suspending()) {
                break main;
            }
            $i = 0;
            while ($i < 17) {
                $this.$isSet.data[$i] = 1;
                $i = $i + 1 | 0;
            }
            if (!$this.$isCached && Long_ne($newTime, Long_create(4294967295, 2147483647)) && Long_ne($newTime, Long_create(0, 2147483648))) {
                var$10 = $this.$cachedFields.data;
                var$5 = $this.$fields.data;
                var$10[0] = var$5[1];
                var$10[1] = var$5[2];
                var$10[2] = var$5[5];
                var$10[3] = var$5[7];
                var$10[4] = $zoneOffset;
                var$10[5] = var$5[0];
                var$10[6] = var$5[3];
                var$10[7] = var$5[4];
                var$10[8] = var$5[6];
                var$10[9] = var$5[8];
                $this.$nextMidnightMillis = Long_add($newTime, Long_fromInt(((0 + ((((23 - var$5[11] | 0) * 60 | 0) * 60 | 0) * 1000 | 0) | 0) + (((59 - var$5[12] | 0) * 60 | 0) * 1000 | 0) | 0) + ((59 - var$5[13] | 0) * 1000 | 0) | 0));
                $this.$lastMidnightMillis = Long_sub($newTime, Long_fromInt(((((var$5[11] * 60 | 0) * 60 | 0) * 1000 | 0) + ((var$5[12] * 60 | 0) * 1000 | 0) | 0) + (var$5[13] * 1000 | 0) | 0));
                $this.$isCached = 1;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $zoneOffset, var$3, $millis, var$5, $dstOffset, $offset, $newTime, $i, var$10, $ptr);
    }
    function ju_GregorianCalendar_computeTime($this) {
        var var$1, var$2, $hour, $timeVal, $year, $weekMonthSet, $useMonth, $skew, $useWeekYear, $days, $dayOfWeek, $month, $leapYear, $useDate, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$useDate = $thread.pop();$leapYear = $thread.pop();$month = $thread.pop();$dayOfWeek = $thread.pop();$days = $thread.pop();$useWeekYear = $thread.pop();$skew = $thread.pop();$useMonth = $thread.pop();$weekMonthSet = $thread.pop();$year = $thread.pop();$timeVal = $thread.pop();$hour = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                if (!ju_Calendar_isLenient($this)) {
                    b: {
                        var$1 = $this.$isSet.data;
                        if (!var$1[11]) {
                            if (!var$1[10])
                                break b;
                            var$2 = $this.$fields.data;
                            if (var$2[10] >= 0 && var$2[10] <= 11)
                                break b;
                            $rt_throw(jl_IllegalArgumentException__init_0());
                        }
                        var$2 = $this.$fields.data;
                        if (!(var$2[11] >= 0 && var$2[11] <= 23))
                            $rt_throw(jl_IllegalArgumentException__init_0());
                    }
                    if (var$1[12]) {
                        var$2 = $this.$fields.data;
                        if (!(var$2[12] >= 0 && var$2[12] <= 59))
                            $rt_throw(jl_IllegalArgumentException__init_0());
                    }
                    c: {
                        if (var$1[13]) {
                            var$2 = $this.$fields.data;
                            if (var$2[13] < 0)
                                break c;
                            if (var$2[13] > 59)
                                break c;
                        }
                        d: {
                            if (var$1[14]) {
                                var$2 = $this.$fields.data;
                                if (var$2[14] < 0)
                                    break d;
                                if (var$2[14] > 999)
                                    break d;
                            }
                            e: {
                                if (var$1[3]) {
                                    var$2 = $this.$fields.data;
                                    if (var$2[3] < 1)
                                        break e;
                                    if (var$2[3] > 53)
                                        break e;
                                }
                                f: {
                                    if (var$1[7]) {
                                        var$2 = $this.$fields.data;
                                        if (var$2[7] < 1)
                                            break f;
                                        if (var$2[7] > 7)
                                            break f;
                                    }
                                    if (var$1[8]) {
                                        var$2 = $this.$fields.data;
                                        if (!(var$2[8] >= 1 && var$2[8] <= 6))
                                            $rt_throw(jl_IllegalArgumentException__init_0());
                                    }
                                    if (var$1[4]) {
                                        var$2 = $this.$fields.data;
                                        if (!(var$2[4] >= 1 && var$2[4] <= 6))
                                            $rt_throw(jl_IllegalArgumentException__init_0());
                                    }
                                    if (var$1[9]) {
                                        var$2 = $this.$fields.data;
                                        if (var$2[9] && var$2[9] != 1)
                                            $rt_throw(jl_IllegalArgumentException__init_0());
                                    }
                                    g: {
                                        if (var$1[10]) {
                                            var$2 = $this.$fields.data;
                                            if (var$2[10] < 0)
                                                break g;
                                            if (var$2[10] > 11)
                                                break g;
                                        }
                                        if (var$1[1]) {
                                            if (var$1[0]) {
                                                var$2 = $this.$fields.data;
                                                if (!var$2[0] && !(var$2[1] >= 1 && var$2[1] <= 292269054))
                                                    $rt_throw(jl_IllegalArgumentException__init_0());
                                            }
                                            var$2 = $this.$fields.data;
                                            if (!(var$2[1] >= 1 && var$2[1] <= 292278994))
                                                $rt_throw(jl_IllegalArgumentException__init_0());
                                        }
                                        if (!var$1[2])
                                            break a;
                                        var$1 = $this.$fields.data;
                                        if (var$1[2] >= 0 && var$1[2] <= 11)
                                            break a;
                                        $rt_throw(jl_IllegalArgumentException__init_0());
                                    }
                                    $rt_throw(jl_IllegalArgumentException__init_0());
                                }
                                $rt_throw(jl_IllegalArgumentException__init_0());
                            }
                            $rt_throw(jl_IllegalArgumentException__init_0());
                        }
                        $rt_throw(jl_IllegalArgumentException__init_0());
                    }
                    $rt_throw(jl_IllegalArgumentException__init_0());
                }
            }
            $hour = Long_ZERO;
            var$1 = $this.$isSet.data;
            if (var$1[11] && $this.$lastTimeFieldSet != 10)
                $hour = Long_fromInt($this.$fields.data[11]);
            else if (var$1[10]) {
                var$2 = $this.$fields.data;
                $hour = Long_fromInt((var$2[9] * 12 | 0) + var$2[10] | 0);
            }
            $timeVal = Long_mul($hour, Long_fromInt(3600000));
            if (var$1[12])
                $timeVal = Long_add($timeVal, Long_mul(Long_fromInt($this.$fields.data[12]), Long_fromInt(60000)));
            if (var$1[13])
                $timeVal = Long_add($timeVal, Long_mul(Long_fromInt($this.$fields.data[13]), Long_fromInt(1000)));
            if (var$1[14])
                $timeVal = Long_add($timeVal, Long_fromInt($this.$fields.data[14]));
            $year = !var$1[1] ? 1970 : $this.$fields.data[1];
            if (var$1[0]) {
                var$2 = $this.$fields.data;
                if (var$2[0] && var$2[0] != 1)
                    $rt_throw(jl_IllegalArgumentException__init_0());
                if (!var$2[0])
                    $year = 1 - $year | 0;
            }
            $weekMonthSet = !var$1[4] && !var$1[8] ? 0 : 1;
            $useMonth = !(!var$1[5] && !var$1[2] && !$weekMonthSet) && $this.$lastDateFieldSet != 6 ? 1 : 0;
            if ($useMonth) {
                $skew = $this.$lastDateFieldSet;
                if (!($skew != 7 && $skew != 3)) {
                    if (var$1[3] && var$1[7])
                        $useMonth = $skew != 3 && $weekMonthSet && var$1[7] ? 1 : 0;
                    else if (var$1[6])
                        $useMonth = var$1[5] && var$1[2] ? 1 : 0;
                }
            }
            if (!$useMonth) {
                $useWeekYear = var$1[3] && $this.$lastDateFieldSet != 6 ? 1 : 0;
                if ($useWeekYear && var$1[6])
                    $useWeekYear = var$1[7];
                $days = ju_GregorianCalendar_daysFromBaseYear($this, $year);
                if ($useWeekYear) {
                    $dayOfWeek = !$this.$isSet.data[7] ? ju_Calendar_getFirstDayOfWeek($this) - 1 | 0 : $this.$fields.data[7] - 1 | 0;
                    $hour = Long_sub($days, Long_fromInt(3));
                    $skew = ju_GregorianCalendar_mod7($this, Long_sub($hour, Long_fromInt(ju_Calendar_getFirstDayOfWeek($this) - 1 | 0)));
                    $days = Long_add($days, Long_fromInt(((($this.$fields.data[3] - 1 | 0) * 7 | 0) + ju_GregorianCalendar_mod7($this, Long_sub(Long_fromInt($skew + $dayOfWeek | 0), $hour)) | 0) - $skew | 0));
                    if ((7 - $skew | 0) < ju_Calendar_getMinimalDaysInFirstWeek($this))
                        $days = Long_add($days, Long_fromInt(7));
                } else {
                    var$1 = $this.$isSet.data;
                    if (var$1[6]) {
                        if (!ju_Calendar_isLenient($this)) {
                            var$1 = $this.$fields.data;
                            if (!(var$1[6] >= 1 && var$1[6] <= (365 + (!ju_GregorianCalendar_isLeapYear($this, $year) ? 0 : 1) | 0)))
                                $rt_throw(jl_IllegalArgumentException__init_0());
                        }
                        $days = Long_add($days, Long_fromInt($this.$fields.data[6] - 1 | 0));
                    } else if (var$1[7])
                        $days = Long_add($days, Long_fromInt(ju_GregorianCalendar_mod7($this, Long_sub(Long_fromInt($this.$fields.data[7] - 1 | 0), Long_sub($days, Long_fromInt(3))))));
                }
            } else {
                $month = $this.$fields.data[2];
                $year = $year + ($month / 12 | 0) | 0;
                $useMonth = $month % 12 | 0;
                if ($useMonth < 0) {
                    $year = $year + (-1) | 0;
                    $useMonth = $useMonth + 12 | 0;
                }
                $leapYear = ju_GregorianCalendar_isLeapYear($this, $year);
                $days = Long_add(ju_GregorianCalendar_daysFromBaseYear($this, $year), Long_fromInt(ju_GregorianCalendar_daysInYear($this, $leapYear, $useMonth)));
                var$1 = $this.$isSet.data;
                $useDate = var$1[5];
                if ($useDate) {
                    $skew = $this.$lastDateFieldSet;
                    if (!($skew != 7 && $skew != 4 && $skew != 8))
                        $useDate = var$1[7] && $weekMonthSet ? 0 : 1;
                }
                if ($useDate) {
                    if (!ju_Calendar_isLenient($this)) {
                        var$1 = $this.$fields.data;
                        if (!(var$1[5] >= 1 && var$1[5] <= ju_GregorianCalendar_daysInMonth($this, $leapYear, $useMonth)))
                            $rt_throw(jl_IllegalArgumentException__init_0());
                    }
                    $days = Long_add($days, Long_fromInt($this.$fields.data[5] - 1 | 0));
                } else {
                    $dayOfWeek = !var$1[7] ? ju_Calendar_getFirstDayOfWeek($this) - 1 | 0 : $this.$fields.data[7] - 1 | 0;
                    var$1 = $this.$isSet.data;
                    if (var$1[4] && $this.$lastDateFieldSet != 8) {
                        $skew = ju_GregorianCalendar_mod7($this, Long_sub(Long_sub($days, Long_fromInt(3)), Long_fromInt(ju_Calendar_getFirstDayOfWeek($this) - 1 | 0)));
                        $days = Long_add($days, Long_fromInt(((($this.$fields.data[4] - 1 | 0) * 7 | 0) + ju_GregorianCalendar_mod7($this, Long_sub(Long_fromInt($skew + $dayOfWeek | 0), Long_sub($days, Long_fromInt(2)))) | 0) - $skew | 0));
                    } else if (var$1[8])
                        $days = $this.$fields.data[8] >= 0 ? Long_add($days, Long_fromInt(ju_GregorianCalendar_mod7($this, Long_sub(Long_fromInt($dayOfWeek), Long_sub($days, Long_fromInt(3)))) + (($this.$fields.data[8] - 1 | 0) * 7 | 0) | 0)) : Long_add($days, Long_fromInt((ju_GregorianCalendar_daysInMonth($this, $leapYear, $useMonth) + ju_GregorianCalendar_mod7($this, Long_sub(Long_fromInt($dayOfWeek), Long_sub(Long_add($days, Long_fromInt(ju_GregorianCalendar_daysInMonth($this, $leapYear, $useMonth))), Long_fromInt(3))))
                        | 0) + ($this.$fields.data[8] * 7 | 0) | 0));
                    else if (var$1[7]) {
                        $hour = Long_sub($days, Long_fromInt(3));
                        $skew = ju_GregorianCalendar_mod7($this, Long_sub($hour, Long_fromInt(ju_Calendar_getFirstDayOfWeek($this) - 1 | 0)));
                        $days = Long_add($days, Long_fromInt(ju_GregorianCalendar_mod7($this, Long_fromInt(ju_GregorianCalendar_mod7($this, Long_sub(Long_fromInt($skew + $dayOfWeek | 0), $hour)) - $skew | 0))));
                    }
                }
            }
            $this.$lastDateFieldSet = 0;
            $hour = Long_add($timeVal, Long_mul($days, Long_fromInt(86400000)));
            if ($year == $this.$changeYear && Long_ge($hour, Long_add($this.$gregorianCutover, Long_mul(Long_fromInt(ju_GregorianCalendar_julianError($this)), Long_fromInt(86400000)))))
                $hour = Long_sub($hour, Long_mul(Long_fromInt(ju_GregorianCalendar_julianError($this)), Long_fromInt(86400000)));
            $ptr = 1;
        case 1:
            $tmp = ju_GregorianCalendar_getTimeZoneOffset($this, $hour);
            if ($rt_suspending()) {
                break main;
            }
            $skew = $tmp;
            $this.$time = Long_sub($hour, Long_fromInt($skew));
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $hour, $timeVal, $year, $weekMonthSet, $useMonth, $skew, $useWeekYear, $days, $dayOfWeek, $month, $leapYear, $useDate, $ptr);
    }
    function ju_GregorianCalendar_computeYearAndDay($this, $dayCount, $localTime) {
        var $year, var$4, var$5, var$6;
        $year = 1970;
        $localTime = Long_ge($localTime, $this.$gregorianCutover) ? $dayCount : Long_sub($dayCount, Long_fromInt($this.$julianSkew));
        while (true) {
            var$4 = Long_lo(Long_div($localTime, Long_fromInt(365)));
            if (!var$4)
                break;
            $year = $year + var$4 | 0;
            $localTime = Long_sub($dayCount, ju_GregorianCalendar_daysFromBaseYear($this, $year));
        }
        if (Long_lt($localTime, Long_ZERO)) {
            $year = $year - 1 | 0;
            var$5 = !ju_GregorianCalendar_isLeapYear($this, $year) ? 365 : 366;
            var$6 = $this.$changeYear;
            if ($year == var$6)
                var$5 = var$5 - $this.$currentYearSkew | 0;
            if ($year == (var$6 - 1 | 0))
                var$5 = var$5 - $this.$lastYearSkew | 0;
            $localTime = Long_add($localTime, Long_fromInt(var$5));
        }
        $this.$fields.data[1] = $year;
        return Long_lo($localTime) + 1 | 0;
    }
    function ju_GregorianCalendar_daysFromBaseYear($this, $iyear) {
        var $year, $days, var$4;
        $year = Long_fromInt($iyear);
        if (Long_lt($year, Long_fromInt(1970))) {
            if (Long_le($year, Long_fromInt($this.$changeYear)))
                return Long_add(Long_add(Long_mul(Long_sub($year, Long_fromInt(1970)), Long_fromInt(365)), Long_div(Long_sub($year, Long_fromInt(1972)), Long_fromInt(4))), Long_fromInt($this.$julianSkew));
            $days = Long_add(Long_mul(Long_sub($year, Long_fromInt(1970)), Long_fromInt(365)), Long_div(Long_sub($year, Long_fromInt(1972)), Long_fromInt(4)));
            $year = Long_sub($year, Long_fromInt(2000));
            return Long_add(Long_sub($days, Long_div($year, Long_fromInt(100))), Long_div($year, Long_fromInt(400)));
        }
        $days = Long_add(Long_mul(Long_sub($year, Long_fromInt(1970)), Long_fromInt(365)), Long_div(Long_sub($year, Long_fromInt(1969)), Long_fromInt(4)));
        var$4 = $this.$changeYear;
        $iyear = Long_compare($year, Long_fromInt(var$4));
        return $iyear > 0 ? Long_sub($days, Long_sub(Long_div(Long_sub($year, Long_fromInt(1901)), Long_fromInt(100)), Long_div(Long_sub($year, Long_fromInt(1601)), Long_fromInt(400)))) : !$iyear ? Long_add($days, Long_fromInt($this.$currentYearSkew)) : Long_ne($year, Long_fromInt(var$4 - 1 | 0)) ? Long_add($days, Long_fromInt($this.$julianSkew)) : Long_add($days, Long_fromInt($this.$lastYearSkew));
    }
    function ju_GregorianCalendar_daysInMonth($this, $leapYear, $month) {
        if ($leapYear && $month == 1)
            return ju_GregorianCalendar_daysInMonth0.data[$month] + 1 | 0;
        return ju_GregorianCalendar_daysInMonth0.data[$month];
    }
    function ju_GregorianCalendar_daysInYear($this, $leapYear, $month) {
        if ($leapYear && $month > 1)
            return ju_GregorianCalendar_daysInYear1.data[$month] + 1 | 0;
        return ju_GregorianCalendar_daysInYear1.data[$month];
    }
    function ju_GregorianCalendar_isLeapYear($this, $year) {
        if ($year <= $this.$changeYear)
            return $year % 4 | 0 ? 0 : 1;
        a: {
            b: {
                if (!($year % 4 | 0)) {
                    if ($year % 100 | 0)
                        break b;
                    if (!($year % 400 | 0))
                        break b;
                }
                $year = 0;
                break a;
            }
            $year = 1;
        }
        return $year;
    }
    function ju_GregorianCalendar_julianError($this) {
        var var$1;
        var$1 = $this.$changeYear;
        return ((var$1 / 100 | 0) - (var$1 / 400 | 0) | 0) - 2 | 0;
    }
    function ju_GregorianCalendar_mod7($this, $num1) {
        var $rem;
        $rem = Long_lo(Long_rem($num1, Long_fromInt(7)));
        if (Long_lt($num1, Long_ZERO) && $rem < 0)
            return $rem + 7 | 0;
        return $rem;
    }
    function ju_GregorianCalendar__clinit_() {
        ju_GregorianCalendar_daysInMonth0 = $rt_createByteArrayFromData([31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]);
        ju_GregorianCalendar_daysInYear1 = $rt_createIntArrayFromData([0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]);
        ju_GregorianCalendar_maximums = $rt_createIntArrayFromData([1, 292278994, 11, 53, 6, 31, 366, 7, 6, 1, 11, 23, 59, 59, 999, 50400000, 7200000]);
        ju_GregorianCalendar_minimums = $rt_createIntArrayFromData([0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, (-46800000), 0]);
        ju_GregorianCalendar_leastMaximums = $rt_createIntArrayFromData([1, 292269054, 11, 50, 3, 28, 355, 7, 3, 1, 11, 23, 59, 59, 999, 50400000, 1200000]);
    }
    var nms_MaterialTransparent = $rt_classWithoutFields(nms_Material);
    function nms_MaterialTransparent__init_0() {
        var var_0 = new nms_MaterialTransparent();
        nms_MaterialTransparent__init_(var_0);
        return var_0;
    }
    function nms_MaterialTransparent__init_($this) {
        nms_Material__init_($this);
    }
    function nms_MaterialTransparent_isSolid($this) {
        return 0;
    }
    function nms_MaterialTransparent_getCanBlockGrass($this) {
        return 0;
    }
    function nms_MaterialTransparent_getIsSolid($this) {
        return 0;
    }
    var nms_MaterialLiquid = $rt_classWithoutFields(nms_Material);
    function nms_MaterialLiquid__init_0() {
        var var_0 = new nms_MaterialLiquid();
        nms_MaterialLiquid__init_(var_0);
        return var_0;
    }
    function nms_MaterialLiquid__init_($this) {
        nms_Material__init_($this);
    }
    function nms_MaterialLiquid_getIsLiquid($this) {
        return 1;
    }
    function nms_MaterialLiquid_getIsSolid($this) {
        return 0;
    }
    function nms_MaterialLiquid_isSolid($this) {
        return 0;
    }
    var nms_MaterialLogic = $rt_classWithoutFields(nms_Material);
    function nms_MaterialLogic__init_0() {
        var var_0 = new nms_MaterialLogic();
        nms_MaterialLogic__init_(var_0);
        return var_0;
    }
    function nms_MaterialLogic__init_($this) {
        nms_Material__init_($this);
    }
    function nms_MaterialLogic_isSolid($this) {
        return 0;
    }
    function nms_MaterialLogic_getCanBlockGrass($this) {
        return 0;
    }
    function nms_MaterialLogic_getIsSolid($this) {
        return 0;
    }
    function nms_ItemTool() {
        var a = this; nms_Item.call(a);
        a.$blocksEffectiveAgainst = null;
        a.$efficiencyOnProperMaterial = 0.0;
        a.$damageVsEntity = 0;
        a.$toolMaterial = null;
    }
    function nms_ItemTool__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_ItemTool();
        nms_ItemTool__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_ItemTool__init_($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$efficiencyOnProperMaterial = 4.0;
            $this.$toolMaterial = $var3;
            $this.$blocksEffectiveAgainst = $var4;
            $this.$maxStackSize = 1;
            $this.$maxDamage = $var3.$maxUses;
            $this.$efficiencyOnProperMaterial = $var3.$efficiencyOnProperMaterial0;
            $this.$damageVsEntity = $var2 + $var3.$damageVsEntity0 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_ItemTool_getStrVsBlock($this, $var1, $var2) {
        var $var3, var$4;
        $var3 = 0;
        while (true) {
            var$4 = $this.$blocksEffectiveAgainst.data;
            if ($var3 >= var$4.length)
                break;
            if (var$4[$var3] === $var2)
                return $this.$efficiencyOnProperMaterial;
            $var3 = $var3 + 1 | 0;
        }
        return 1.0;
    }
    function nms_ItemTool_hitEntity($this, $var1, $var2, $var3) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = 2;
            $ptr = 1;
        case 1:
            nms_ItemStack_func_25190_a($var1, var$4, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_ItemTool_func_25008_a($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = 1;
            $ptr = 1;
        case 1:
            nms_ItemStack_func_25190_a($var1, $var2, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_ItemTool_getDamageVsEntity($this, $var1) {
        return $this.$damageVsEntity;
    }
    function nms_ItemTool_isFull3D($this) {
        return 1;
    }
    var nms_ItemSpade = $rt_classWithoutFields(nms_ItemTool);
    var nms_ItemSpade_blocksEffectiveAgainst = null;
    var nms_ItemSpade_$clinitCalled = false;
    function nms_ItemSpade_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_ItemSpade_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_ItemSpade_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_ItemSpade__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemSpade_$callClinit = $rt_eraseClinit(nms_ItemSpade);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_ItemSpade__init_0(var_0, var_1) {
        var var_2 = new nms_ItemSpade();
        nms_ItemSpade__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ItemSpade__init_($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_ItemSpade_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 1;
            var$4 = nms_ItemSpade_blocksEffectiveAgainst;
            $ptr = 2;
        case 2:
            nms_ItemTool__init_($this, $var1, var$3, $var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_ItemSpade_canHarvestBlock($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return $var1 === nms_Block_snow ? 1 : $var1 !== nms_Block_blockSnow ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemSpade__clinit_() {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_createArray(nms_Block, 7);
            var$2 = var$1.data;
            var$3 = 0;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2[var$3] = nms_Block_grass;
            var$2[1] = nms_Block_dirt;
            var$2[2] = nms_Block_sand;
            var$2[3] = nms_Block_gravel;
            var$2[4] = nms_Block_snow;
            var$2[5] = nms_Block_blockSnow;
            var$2[6] = nms_Block_blockClay;
            nms_ItemSpade_blocksEffectiveAgainst = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, $ptr);
    }
    function nms_EnumToolMaterial() {
        var a = this; jl_Enum.call(a);
        a.$harvestLevel = 0;
        a.$maxUses = 0;
        a.$efficiencyOnProperMaterial0 = 0.0;
        a.$damageVsEntity0 = 0;
    }
    var nms_EnumToolMaterial_WOOD = null;
    var nms_EnumToolMaterial_STONE = null;
    var nms_EnumToolMaterial_IRON = null;
    var nms_EnumToolMaterial_EMERALD = null;
    var nms_EnumToolMaterial_GOLD = null;
    var nms_EnumToolMaterial_$VALUES = null;
    function nms_EnumToolMaterial_$callClinit() {
        nms_EnumToolMaterial_$callClinit = $rt_eraseClinit(nms_EnumToolMaterial);
        nms_EnumToolMaterial__clinit_();
    }
    function nms_EnumToolMaterial__init_0(var_0, var_1, var_2, var_3, var_4, var_5) {
        var var_6 = new nms_EnumToolMaterial();
        nms_EnumToolMaterial__init_(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
        return var_6;
    }
    function nms_EnumToolMaterial_values() {
        nms_EnumToolMaterial_$callClinit();
        return nms_EnumToolMaterial_$VALUES.$clone();
    }
    function nms_EnumToolMaterial__init_($this, var$1, var$2, $var3, $var4, $var5, $var6) {
        nms_EnumToolMaterial_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
        $this.$harvestLevel = $var3;
        $this.$maxUses = $var4;
        $this.$efficiencyOnProperMaterial0 = $var5;
        $this.$damageVsEntity0 = $var6;
    }
    function nms_EnumToolMaterial__clinit_() {
        var var$1;
        nms_EnumToolMaterial_WOOD = nms_EnumToolMaterial__init_0($rt_s(1123), 0, 0, 59, 2.0, 0);
        nms_EnumToolMaterial_STONE = nms_EnumToolMaterial__init_0($rt_s(1124), 1, 1, 131, 4.0, 1);
        nms_EnumToolMaterial_IRON = nms_EnumToolMaterial__init_0($rt_s(1125), 2, 2, 250, 6.0, 2);
        nms_EnumToolMaterial_EMERALD = nms_EnumToolMaterial__init_0($rt_s(1126), 3, 3, 1561, 8.0, 3);
        var$1 = nms_EnumToolMaterial__init_0($rt_s(1127), 4, 0, 32, 12.0, 0);
        nms_EnumToolMaterial_GOLD = var$1;
        nms_EnumToolMaterial_$VALUES = $rt_createArrayFromData(nms_EnumToolMaterial, [nms_EnumToolMaterial_WOOD, nms_EnumToolMaterial_STONE, nms_EnumToolMaterial_IRON, nms_EnumToolMaterial_EMERALD, var$1]);
    }
    var nms_ItemPickaxe = $rt_classWithoutFields(nms_ItemTool);
    var nms_ItemPickaxe_blocksEffectiveAgainst = null;
    var nms_ItemPickaxe_$clinitCalled = false;
    function nms_ItemPickaxe_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_ItemPickaxe_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_ItemPickaxe_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_ItemPickaxe__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemPickaxe_$callClinit = $rt_eraseClinit(nms_ItemPickaxe);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_ItemPickaxe__init_0(var_0, var_1) {
        var var_2 = new nms_ItemPickaxe();
        nms_ItemPickaxe__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ItemPickaxe__init_($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_ItemPickaxe_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 2;
            var$4 = nms_ItemPickaxe_blocksEffectiveAgainst;
            $ptr = 2;
        case 2:
            nms_ItemTool__init_($this, $var1, var$3, $var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_ItemPickaxe_canHarvestBlock($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var1 === nms_Block_obsidian)
                var$2 = $this.$toolMaterial.$harvestLevel != 3 ? 0 : 1;
            else if ($var1 !== nms_Block_blockDiamond && $var1 !== nms_Block_oreDiamond) {
                if ($var1 !== nms_Block_blockGold && $var1 !== nms_Block_oreGold) {
                    if ($var1 !== nms_Block_blockSteel && $var1 !== nms_Block_oreIron) {
                        if ($var1 !== nms_Block_blockLapis && $var1 !== nms_Block_oreLapis) {
                            if ($var1 !== nms_Block_oreRedstone && $var1 !== nms_Block_oreRedstoneGlowing) {
                                $var1 = $var1.$blockMaterial;
                                nms_Material_$callClinit();
                                var$2 = $var1 === nms_Material_rock ? 1 : $var1 !== nms_Material_iron ? 0 : 1;
                            } else
                                var$2 = $this.$toolMaterial.$harvestLevel < 2 ? 0 : 1;
                        } else
                            var$2 = $this.$toolMaterial.$harvestLevel < 1 ? 0 : 1;
                    } else
                        var$2 = $this.$toolMaterial.$harvestLevel < 1 ? 0 : 1;
                } else
                    var$2 = $this.$toolMaterial.$harvestLevel < 2 ? 0 : 1;
            } else
                var$2 = $this.$toolMaterial.$harvestLevel < 2 ? 0 : 1;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_ItemPickaxe__clinit_() {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_createArray(nms_Block, 17);
            var$2 = var$1.data;
            var$3 = 0;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2[var$3] = nms_Block_cobblestone;
            var$2[1] = nms_Block_stairDouble;
            var$2[2] = nms_Block_stairSingle;
            var$2[3] = nms_Block_stone;
            var$2[4] = nms_Block_sandStone;
            var$2[5] = nms_Block_cobblestoneMossy;
            var$2[6] = nms_Block_oreIron;
            var$2[7] = nms_Block_blockSteel;
            var$2[8] = nms_Block_oreCoal;
            var$2[9] = nms_Block_blockGold;
            var$2[10] = nms_Block_oreGold;
            var$2[11] = nms_Block_oreDiamond;
            var$2[12] = nms_Block_blockDiamond;
            var$2[13] = nms_Block_ice;
            var$2[14] = nms_Block_bloodStone;
            var$2[15] = nms_Block_oreLapis;
            var$2[16] = nms_Block_blockLapis;
            nms_ItemPickaxe_blocksEffectiveAgainst = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, $ptr);
    }
    var nms_ItemAxe = $rt_classWithoutFields(nms_ItemTool);
    var nms_ItemAxe_blocksEffectiveAgainst = null;
    var nms_ItemAxe_$clinitCalled = false;
    function nms_ItemAxe_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_ItemAxe_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_ItemAxe_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_ItemAxe__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemAxe_$callClinit = $rt_eraseClinit(nms_ItemAxe);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_ItemAxe__init_0(var_0, var_1) {
        var var_2 = new nms_ItemAxe();
        nms_ItemAxe__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ItemAxe__init_($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_ItemAxe_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 3;
            var$4 = nms_ItemAxe_blocksEffectiveAgainst;
            $ptr = 2;
        case 2:
            nms_ItemTool__init_($this, $var1, var$3, $var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_ItemAxe__clinit_() {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_createArray(nms_Block, 4);
            var$2 = var$1.data;
            var$3 = 0;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2[var$3] = nms_Block_planks;
            var$2[1] = nms_Block_bookShelf;
            var$2[2] = nms_Block_wood;
            var$2[3] = nms_Block_crate;
            nms_ItemAxe_blocksEffectiveAgainst = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, $ptr);
    }
    var nms_ItemFlintAndSteel = $rt_classWithoutFields(nms_Item);
    function nms_ItemFlintAndSteel__init_0(var_0) {
        var var_1 = new nms_ItemFlintAndSteel();
        nms_ItemFlintAndSteel__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemFlintAndSteel__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxStackSize = 1;
            $this.$maxDamage = 64;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemFlintAndSteel_onItemUse($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$var7)
                $var5 = $var5 + (-1) | 0;
            if ($var7 == 1)
                $var5 = $var5 + 1 | 0;
            if ($var7 == 2)
                $var6 = $var6 + (-1) | 0;
            if ($var7 == 3)
                $var6 = $var6 + 1 | 0;
            if ($var7 == 4)
                $var4 = $var4 + (-1) | 0;
            if ($var7 == 5)
                $var4 = $var4 + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8) {
                $var4 = 1;
                $ptr = 2;
                continue main;
            }
            var$9 = $var4 + 0.5;
            var$10 = $var5 + 0.5;
            var$11 = $var6 + 0.5;
            var$12 = $rt_s(1128);
            var$13 = 1.0;
            $ptr = 3;
            continue main;
        case 2:
            nms_ItemStack_func_25190_a($var1, $var4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 3:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$14 = ju_Random_nextFloat(nms_Item_itemRand) * 0.4000000059604645 + 0.800000011920929;
            $ptr = 4;
        case 4:
            nms_World_playSoundEffect($var3, var$9, var$10, var$11, var$12, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var7 = nms_Block_fire.$blockID;
            $ptr = 6;
        case 6:
            nms_World_setBlockWithNotify($var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 1;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr);
    }
    function nms_ItemFood() {
        var a = this; nms_Item.call(a);
        a.$healAmount = 0;
        a.$isWolfsFavoriteMeat = 0;
    }
    function nms_ItemFood__init_0(var_0, var_1, var_2) {
        var var_3 = new nms_ItemFood();
        nms_ItemFood__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_ItemFood__init_($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$healAmount = $var2;
            $this.$isWolfsFavoriteMeat = $var3;
            $this.$maxStackSize = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_ItemFood_onItemRightClick($this, $var1, $var2, $var3) {
        $var1.$stackSize = $var1.$stackSize - 1 | 0;
        $var3.$heal($this.$healAmount);
        return $var1;
    }
    function nms_ItemFood_getHealAmount($this) {
        return $this.$healAmount;
    }
    function nms_ItemFood_getIsWolfsFavoriteMeat($this) {
        return $this.$isWolfsFavoriteMeat;
    }
    var nms_ItemBow = $rt_classWithoutFields(nms_Item);
    function nms_ItemBow__init_0(var_0) {
        var var_1 = new nms_ItemBow();
        nms_ItemBow__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemBow__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxStackSize = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemBow_onItemRightClick($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $var3.$inventory;
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = nms_InventoryPlayer_getInventorySlotContainItem(var$4, nms_Item_arrow.$shiftedIndex);
            if (var$5 < 0)
                var$6 = 0;
            else {
                var$7 = var$4.$mainInventory.data;
                var$4 = var$7[var$5];
                var$6 = var$4.$stackSize - 1 | 0;
                var$4.$stackSize = var$6;
                if (var$6 <= 0)
                    var$7[var$5] = null;
                var$6 = 1;
            }
            if (!var$6)
                return $var1;
            var$4 = $rt_s(919);
            var$8 = 1.0;
            var$9 = 1.0 / (ju_Random_nextFloat(nms_Item_itemRand) * 0.4000000059604645 + 0.800000011920929);
            $ptr = 2;
        case 2:
            nms_World_playSoundAtEntity($var2, $var3, var$4, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            if ($var2.$multiplayerWorld)
                return $var1;
            var$4 = new nms_EntityArrow;
            $ptr = 3;
        case 3:
            nms_EntityArrow__init_1(var$4, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $var2.$entityJoinedWorld(var$4);
            if ($rt_suspending()) {
                break main;
            }
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    var nms_ItemCoal = $rt_classWithoutFields(nms_Item);
    function nms_ItemCoal__init_0(var_0) {
        var var_1 = new nms_ItemCoal();
        nms_ItemCoal__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemCoal__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$hasSubtypes = 1;
            $this.$maxDamage = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemCoal_getItemNameIS($this, $var1) {
        return $var1.$itemDamage != 1 ? $rt_s(1129) : $rt_s(1130);
    }
    function nms_ItemSword() {
        nms_Item.call(this);
        this.$weaponDamage = 0;
    }
    function nms_ItemSword__init_0(var_0, var_1) {
        var var_2 = new nms_ItemSword();
        nms_ItemSword__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ItemSword__init_($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxStackSize = 1;
            $this.$maxDamage = $var2.$maxUses;
            $this.$weaponDamage = 4 + ($var2.$damageVsEntity0 * 2 | 0) | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_ItemSword_getStrVsBlock($this, $var1, $var2) {
        return 1.5;
    }
    function nms_ItemSword_hitEntity($this, $var1, $var2, $var3) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = 1;
            $ptr = 1;
        case 1:
            nms_ItemStack_func_25190_a($var1, var$4, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_ItemSword_func_25008_a($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = 2;
            $ptr = 1;
        case 1:
            nms_ItemStack_func_25190_a($var1, $var2, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_ItemSword_getDamageVsEntity($this, $var1) {
        return $this.$weaponDamage;
    }
    function nms_ItemSword_isFull3D($this) {
        return 1;
    }
    var nms_ItemSoup = $rt_classWithoutFields(nms_ItemFood);
    function nms_ItemSoup__init_0(var_0, var_1) {
        var var_2 = new nms_ItemSoup();
        nms_ItemSoup__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ItemSoup__init_($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = 0;
            $ptr = 1;
        case 1:
            nms_ItemFood__init_($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_ItemSoup_onItemRightClick($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_ItemFood_onItemRightClick($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = new nms_ItemStack;
            $ptr = 2;
        case 2:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_($var1, nms_Item_bowlEmpty);
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    var nms_ItemHoe = $rt_classWithoutFields(nms_Item);
    function nms_ItemHoe__init_0(var_0, var_1) {
        var var_2 = new nms_ItemHoe();
        nms_ItemHoe__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ItemHoe__init_($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxStackSize = 1;
            $this.$maxDamage = $var2.$maxUses;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_ItemHoe_onItemUse($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, $var9, $var10, var$11, var$12, $var16, var$14, var$15, var$16, $var17, $var14, $var15, $var11, $var12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var16 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var7 = $var5 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMaterial($var3, $var4, $var7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var9.$isSolid()) {
                $ptr = 3;
                continue main;
            }
            $ptr = 4;
            continue main;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var8 != nms_Block_dirt.$blockID)
                return 0;
            $ptr = 5;
            continue main;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var8 != nms_Block_grass.$blockID) {
                $ptr = 3;
                continue main;
            }
            $ptr = 5;
        case 5:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var10 = nms_Block_tilledField;
            var$11 = $var4;
            var$12 = var$11 + 0.5;
            $var16 = $var5;
            var$14 = $var16 + 0.5;
            var$15 = $var6;
            var$16 = var$15 + 0.5;
            $var17 = $var10.$stepSound;
            $ptr = 6;
        case 6:
            $tmp = nms_StepSound_func_1145_d($var17);
            if ($rt_suspending()) {
                break main;
            }
            $var17 = $tmp;
            $var9 = $var10.$stepSound;
            $var14 = ($var9.$field_1677_b + 1.0) / 2.0;
            $var15 = $var9.$field_1679_c * 0.800000011920929;
            $ptr = 7;
        case 7:
            nms_World_playSoundEffect($var3, var$12, var$14, var$16, $var17, $var14, $var15);
            if ($rt_suspending()) {
                break main;
            }
            if ($var3.$multiplayerWorld)
                return 1;
            $var7 = $var10.$blockID;
            $ptr = 8;
        case 8:
            nms_World_setBlockWithNotify($var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 1;
            $ptr = 9;
        case 9:
            nms_ItemStack_func_25190_a($var1, $var4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            if (!ju_Random_nextInt($var3.$rand2, 8) && $var8 == nms_Block_grass.$blockID) {
                $var11 = 1;
                $var12 = 0;
                var$14 = $var16 + 1.2000000476837158;
                if ($var12 < $var11) {
                    $var14 = ju_Random_nextFloat($var3.$rand2) * 0.699999988079071 + 0.15000000596046448;
                    $var16 = ju_Random_nextFloat($var3.$rand2) * 0.699999988079071 + 0.15000000596046448;
                    $var17 = new nms_EntityItem;
                    var$12 = var$11 + $var14;
                    var$16 = var$15 + $var16;
                    $var1 = new nms_ItemStack;
                    $ptr = 10;
                    continue main;
                }
            }
            return 1;
        case 10:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_($var1, nms_Item_seeds);
            $ptr = 11;
        case 11:
            nms_EntityItem__init_($var17, $var3, var$12, var$14, var$16, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var17.$delayBeforeCanPickup = 10;
            $ptr = 12;
        case 12:
            $var3.$entityJoinedWorld($var17);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $var12 + 1 | 0;
            if ($var12 >= $var11)
                return 1;
            $var14 = ju_Random_nextFloat($var3.$rand2) * 0.699999988079071 + 0.15000000596046448;
            $var16 = ju_Random_nextFloat($var3.$rand2) * 0.699999988079071 + 0.15000000596046448;
            $var17 = new nms_EntityItem;
            var$12 = var$11 + $var14;
            var$16 = var$15 + $var16;
            $var1 = new nms_ItemStack;
            $ptr = 10;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, var$11, var$12, $var16, var$14, var$15, var$16, $var17, $var14, $var15, $var11, $var12, $ptr);
    }
    function nms_ItemHoe_isFull3D($this) {
        return 1;
    }
    function nms_ItemSeeds() {
        nms_Item.call(this);
        this.$field_318_a = 0;
    }
    function nms_ItemSeeds__init_0(var_0, var_1) {
        var var_2 = new nms_ItemSeeds();
        nms_ItemSeeds__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ItemSeeds__init_($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_318_a = $var2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_ItemSeeds_onItemUse($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var7 != 1)
                return 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var8 != nms_Block_tilledField.$blockID)
                return 0;
            $var5 = $var5 + 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_isAirBlock($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if (!$var7)
                return 0;
            $var7 = $this.$field_318_a;
            $ptr = 4;
        case 4:
            nms_World_setBlockWithNotify($var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $ptr);
    }
    function nms_ItemArmor() {
        var a = this; nms_Item.call(a);
        a.$armorLevel = 0;
        a.$armorType = 0;
        a.$damageReduceAmount = 0;
        a.$renderIndex = 0;
    }
    var nms_ItemArmor_damageReduceAmountArray = null;
    var nms_ItemArmor_maxDamageArray = null;
    function nms_ItemArmor__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_ItemArmor();
        nms_ItemArmor__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_ItemArmor__init_($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$armorLevel = $var2;
            $this.$armorType = $var4;
            $this.$renderIndex = $var3;
            $this.$damageReduceAmount = nms_ItemArmor_damageReduceAmountArray.data[$var4];
            $this.$maxDamage = (nms_ItemArmor_maxDamageArray.data[$var4] * 3 | 0) << $var2;
            $this.$maxStackSize = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_ItemArmor__clinit_() {
        nms_ItemArmor_damageReduceAmountArray = $rt_createIntArrayFromData([3, 8, 6, 3]);
        nms_ItemArmor_maxDamageArray = $rt_createIntArrayFromData([11, 16, 15, 13]);
    }
    var nms_ItemPainting = $rt_classWithoutFields(nms_Item);
    function nms_ItemPainting__init_0(var_0) {
        var var_1 = new nms_ItemPainting();
        nms_ItemPainting__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemPainting__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemPainting_onItemUse($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, $var9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$var7)
                return 0;
            if ($var7 == 1)
                return 0;
            $var8 = 0;
            if ($var7 == 4)
                $var8 = 1;
            if ($var7 == 3)
                $var8 = 2;
            if ($var7 == 5)
                $var8 = 3;
            $var9 = new nms_EntityPainting;
            $ptr = 1;
        case 1:
            nms_EntityPainting__init_0($var9, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var9.$xPosition0 = $var4;
            $var9.$yPosition0 = $var5;
            $var9.$zPosition0 = $var6;
            $var2 = ju_ArrayList__init_0();
            var$10 = (nms_EnumArt_values()).data;
            $var4 = var$10.length;
            $var5 = 0;
            if ($var5 < $var4) {
                var$11 = var$10[$var5];
                $var9.$art = var$11;
                nms_EntityPainting_func_412_b($var9, $var8);
                $ptr = 2;
                continue main;
            }
            $var4 = $var2.$size0;
            if ($var4 > 0)
                $var9.$art = ju_ArrayList_get($var2, ju_Random_nextInt($var9.$rand3, $var4));
            nms_EntityPainting_func_412_b($var9, $var8);
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_EntityPainting_func_410_i($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6) {
                $ptr = 4;
                continue main;
            }
            $var5 = $var5 + 1 | 0;
            if ($var5 < $var4) {
                var$11 = var$10[$var5];
                $var9.$art = var$11;
                nms_EntityPainting_func_412_b($var9, $var8);
                continue main;
            }
            $var4 = $var2.$size0;
            if ($var4 > 0)
                $var9.$art = ju_ArrayList_get($var2, ju_Random_nextInt($var9.$rand3, $var4));
            nms_EntityPainting_func_412_b($var9, $var8);
            $ptr = 3;
        case 3:
            $tmp = nms_EntityPainting_func_410_i($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4) {
                if (!$var3.$multiplayerWorld) {
                    $ptr = 5;
                    continue main;
                }
                $var1.$stackSize = $var1.$stackSize - 1 | 0;
            }
            return 1;
        case 4:
            ju_ArrayList_add($var2, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $var5 + 1 | 0;
            if ($var5 < $var4) {
                var$11 = var$10[$var5];
                $var9.$art = var$11;
                nms_EntityPainting_func_412_b($var9, $var8);
                $ptr = 2;
                continue main;
            }
            $var4 = $var2.$size0;
            if ($var4 > 0)
                $var9.$art = ju_ArrayList_get($var2, ju_Random_nextInt($var9.$rand3, $var4));
            nms_EntityPainting_func_412_b($var9, $var8);
            $ptr = 3;
            continue main;
        case 5:
            $var3.$entityJoinedWorld($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, var$10, var$11, $ptr);
    }
    var nms_ItemSign = $rt_classWithoutFields(nms_Item);
    function nms_ItemSign__init_0(var_0) {
        var var_1 = new nms_ItemSign();
        nms_ItemSign__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemSign__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxStackSize = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemSign_onItemUse($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$var7)
                return 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMaterial($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if (!$var8.$isSolid())
                return 0;
            var$9 = $rt_compare($var7, 1);
            if (!var$9)
                $var5 = $var5 + 1 | 0;
            if ($var7 == 2)
                $var6 = $var6 + (-1) | 0;
            if ($var7 == 3)
                $var6 = $var6 + 1 | 0;
            if ($var7 == 4)
                $var4 = $var4 + (-1) | 0;
            if ($var7 == 5)
                $var4 = $var4 + 1 | 0;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = nms_Block_signPost;
            $ptr = 3;
        case 3:
            $tmp = $var8.$canPlaceBlockAt($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            if (!var$10)
                return 0;
            if (var$9) {
                var$10 = nms_Block_signWall.$blockID;
                $ptr = 4;
                continue main;
            }
            $var7 = nms_Block_signPost.$blockID;
            var$10 = nms_MathHelper_floor_double(($var2.$rotationYaw + 180.0) * 16.0 / 360.0 + 0.5) & 15;
            $ptr = 5;
            continue main;
        case 4:
            nms_World_setBlockAndMetadataWithNotify($var3, $var4, $var5, $var6, var$10, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            $ptr = 6;
            continue main;
        case 5:
            nms_World_setBlockAndMetadataWithNotify($var3, $var4, $var5, $var6, $var7, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = nms_World_getBlockTileEntity($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var8 = $var1;
            if ($var8 === null)
                return 1;
            $ptr = 7;
        case 7:
            nms_EntityPlayerSP_displayGUIEditSign($var2, $var8);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, var$9, var$10, $ptr);
    }
    function nms_ItemDoor() {
        nms_Item.call(this);
        this.$field_321_a = null;
    }
    function nms_ItemDoor__init_0(var_0, var_1) {
        var var_2 = new nms_ItemDoor();
        nms_ItemDoor__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ItemDoor__init_($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_321_a = $var2;
            $this.$maxStackSize = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_ItemDoor_onItemUse($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var var$8, $var8, $var9, $var10, $var11, $var16, var$14, var$15, $var12, $var13, $var14, $var15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var16 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var7 != 1)
                return 0;
            var$8 = $var5 + 1 | 0;
            $var8 = $this.$field_321_a;
            nms_Material_$callClinit();
            if ($var8 !== nms_Material_wood) {
                $ptr = 1;
                continue main;
            }
            $ptr = 2;
            continue main;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = nms_Block_doorSteel;
            $ptr = 3;
            continue main;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = nms_Block_doorWood;
            $ptr = 3;
        case 3:
            $tmp = $var8.$canPlaceBlockAt($var3, $var4, var$8, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5)
                return 0;
            $var9 = nms_MathHelper_floor_double(($var2.$rotationYaw + 180.0) * 4.0 / 360.0 - 0.5) & 3;
            $var10 = 0;
            $var11 = 0;
            if (!$var9)
                $var11 = 1;
            if ($var9 == 1)
                $var10 = (-1);
            if ($var9 == 2)
                $var11 = (-1);
            if ($var9 == 3)
                $var10 = 1;
            $var16 = $var4 - $var10 | 0;
            var$14 = $var6 - $var11 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_isBlockOpaqueCube($var3, $var16, var$8, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var5 = !$var5 ? 0 : 1;
            var$15 = var$8 + 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = nms_World_isBlockOpaqueCube($var3, $var16, var$15, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var12 = $var5 + (!$var7 ? 0 : 1) | 0;
            $var5 = $var4 + $var10 | 0;
            $var7 = $var6 + $var11 | 0;
            $ptr = 6;
        case 6:
            $tmp = nms_World_isBlockOpaqueCube($var3, $var5, var$8, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = $tmp;
            $var13 = !$var13 ? 0 : 1;
            $ptr = 7;
        case 7:
            $tmp = nms_World_isBlockOpaqueCube($var3, $var5, var$15, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            $var13 = $var13 + (!$var14 ? 0 : 1) | 0;
            $ptr = 8;
        case 8:
            $tmp = nms_World_getBlockId($var3, $var16, var$8, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if ($var14 != $var8.$blockID) {
                $ptr = 9;
                continue main;
            }
            $var14 = 1;
            $ptr = 10;
            continue main;
        case 9:
            $tmp = nms_World_getBlockId($var3, $var16, var$15, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            $var14 = $var14 == $var8.$blockID ? 1 : 0;
            $ptr = 10;
        case 10:
            $tmp = nms_World_getBlockId($var3, $var5, var$8, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $tmp;
            if ($var15 != $var8.$blockID) {
                $ptr = 11;
                continue main;
            }
            $var16 = 0;
            if ($var14 && !1)
                $var16 = 1;
            else if ($var13 > $var12)
                $var16 = 1;
            if ($var16)
                $var9 = (($var9 - 1 | 0) & 3) + 4 | 0;
            $var5 = $var8.$blockID;
            $ptr = 12;
            continue main;
        case 11:
            $tmp = nms_World_getBlockId($var3, $var5, var$15, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var15 = $var5 == $var8.$blockID ? 1 : 0;
            $var16 = 0;
            if ($var14 && !$var15)
                $var16 = 1;
            else if ($var13 > $var12)
                $var16 = 1;
            if ($var16)
                $var9 = (($var9 - 1 | 0) & 3) + 4 | 0;
            $var5 = $var8.$blockID;
            $ptr = 12;
        case 12:
            nms_World_setBlockWithNotify($var3, $var4, var$8, $var6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_World_setBlockMetadataWithNotify($var3, $var4, var$8, $var6, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $var8.$blockID;
            $ptr = 14;
        case 14:
            nms_World_setBlockWithNotify($var3, $var4, var$15, $var6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $var9 + 8 | 0;
            $ptr = 15;
        case 15:
            nms_World_setBlockMetadataWithNotify($var3, $var4, var$15, $var6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, $var8, $var9, $var10, $var11, $var16, var$14, var$15, $var12, $var13, $var14, $var15, $ptr);
    }
    function nms_ItemBucket() {
        nms_Item.call(this);
        this.$isFull = 0;
    }
    function nms_ItemBucket__init_0(var_0, var_1) {
        var var_2 = new nms_ItemBucket();
        nms_ItemBucket__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ItemBucket__init_($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxStackSize = 1;
            $this.$isFull = $var2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_ItemBucket_onItemRightClick($this, $var1, $var2, $var3) {
        var $var17, $var5, $var6, $var7, var$8, $var9, $var11, $var13, $var14, $var15, $var16, $var23, var$16, $var24, $var25, $var26, $var27, $var28, $var21, var$23, var$24, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();$var21 = $thread.pop();$var28 = $thread.pop();$var27 = $thread.pop();$var26 = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();var$16 = $thread.pop();$var23 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var17 = $thread.pop();$var3
            = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var17 = $var3.$prevRotationPitch;
            $var5 = $var17 + ($var3.$rotationPitch - $var17) * 1.0;
            $var17 = $var3.$prevRotationYaw;
            $var6 = $var17 + ($var3.$rotationYaw - $var17) * 1.0;
            $var7 = $var3.$prevPosX;
            $var7 = $var7 + ($var3.$posX - $var7) * 1.0;
            var$8 = $var3.$prevPosY;
            $var9 = var$8 + ($var3.$posY - var$8) * 1.0 + 1.62 - $var3.$yOffset;
            var$8 = $var3.$prevPosZ;
            $var11 = var$8 + ($var3.$posZ - var$8) * 1.0;
            $var13 = nms_Vec3D_createVector($var7, $var9, $var11);
            $var17 =  -$var6 * 0.01745329238474369 - 3.1415927410125732;
            $var14 = nms_MathHelper_cos($var17);
            $var15 = nms_MathHelper_sin($var17);
            $var17 =  -$var5 * 0.01745329238474369;
            $var16 =  -nms_MathHelper_cos($var17);
            $var23 = nms_Vec3D_addVector($var13, $var15 * $var16 * 5.0, nms_MathHelper_sin($var17) * 5.0, $var14 * $var16 * 5.0);
            var$16 = $this.$isFull ? 0 : 1;
            $ptr = 1;
        case 1:
            $tmp = nms_World_rayTraceBlocks_do($var2, $var13, $var23, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $var24 = $tmp;
            if ($var24 === null)
                return $var1;
            $var3 = $var24.$typeOfHit;
            nms_EnumMovingObjectType_$callClinit();
            if ($var3 !== nms_EnumMovingObjectType_TILE) {
                if (!$this.$isFull && $var24.$entityHit instanceof nms_EntityCow) {
                    $var1 = new nms_ItemStack;
                    $ptr = 3;
                    continue main;
                }
                return $var1;
            }
            $var25 = $var24.$blockX;
            $var26 = $var24.$blockY;
            $var27 = $var24.$blockZ;
            var$16 = $this.$isFull;
            if (!var$16) {
                $ptr = 2;
                continue main;
            }
            if (var$16 < 0) {
                $var1 = new nms_ItemStack;
                $ptr = 4;
                continue main;
            }
            $var28 = $var24.$sideHit;
            if (!$var28)
                $var26 = $var26 + (-1) | 0;
            if ($var28 == 1)
                $var26 = $var26 + 1 | 0;
            if ($var28 == 2)
                $var27 = $var27 + (-1) | 0;
            if ($var28 == 3)
                $var27 = $var27 + 1 | 0;
            if ($var28 == 4)
                $var25 = $var25 + (-1) | 0;
            if ($var28 == 5)
                $var25 = $var25 + 1 | 0;
            $ptr = 12;
            continue main;
        case 2:
            $tmp = nms_World_getBlockMaterial($var2, $var25, $var26, $var27);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            nms_Material_$callClinit();
            if ($var3 !== nms_Material_water) {
                $ptr = 5;
                continue main;
            }
            $ptr = 6;
            continue main;
        case 3:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_($var1, nms_Item_bucketMilk);
            return $var1;
        case 4:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_($var1, nms_Item_bucketEmpty);
            return $var1;
        case 5:
            $tmp = nms_World_getBlockMaterial($var2, $var25, $var26, $var27);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3 !== nms_Material_lava)
                return $var1;
            $ptr = 7;
            continue main;
        case 6:
            $tmp = nms_World_getBlockMetadata($var2, $var25, $var26, $var27);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = $tmp;
            if (var$16) {
                $ptr = 5;
                continue main;
            }
            var$16 = 0;
            $ptr = 8;
            continue main;
        case 7:
            $tmp = nms_World_getBlockMetadata($var2, $var25, $var26, $var27);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = $tmp;
            if (var$16)
                return $var1;
            var$16 = 0;
            $ptr = 10;
            continue main;
        case 8:
            nms_World_setBlockWithNotify($var2, $var25, $var26, $var27, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = new nms_ItemStack;
            $ptr = 9;
        case 9:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_($var1, nms_Item_bucketWater);
            return $var1;
        case 10:
            nms_World_setBlockWithNotify($var2, $var25, $var26, $var27, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = new nms_ItemStack;
            $ptr = 11;
        case 11:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_($var1, nms_Item_bucketLava);
            return $var1;
        case 12:
            $tmp = nms_World_isAirBlock($var2, $var25, $var26, $var27);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = $tmp;
            if (!var$16) {
                $ptr = 13;
                continue main;
            }
            if ($var2.$worldProvider.$isHellWorld) {
                var$16 = $this.$isFull;
                $ptr = 15;
                continue main;
            }
            var$16 = $this.$isFull;
            $var28 = 0;
            $ptr = 14;
            continue main;
        case 13:
            $tmp = nms_World_getBlockMaterial($var2, $var25, $var26, $var27);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3.$isSolid())
                return $var1;
            if ($var2.$worldProvider.$isHellWorld) {
                var$16 = $this.$isFull;
                $ptr = 15;
                continue main;
            }
            var$16 = $this.$isFull;
            $var28 = 0;
            $ptr = 14;
        case 14:
            nms_World_setBlockAndMetadataWithNotify($var2, $var25, $var26, $var27, var$16, $var28);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = new nms_ItemStack;
            $ptr = 16;
            continue main;
        case 15:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$16 != nms_Block_waterMoving.$blockID) {
                var$16 = $this.$isFull;
                $var28 = 0;
                $ptr = 14;
                continue main;
            }
            $var7 = $var7 + 0.5;
            $var21 = $var9 + 0.5;
            var$8 = $var11 + 0.5;
            $var1 = $rt_s(916);
            $var17 = 0.5;
            $var16 = 2.5999999046325684 + (ju_Random_nextFloat($var2.$rand2) - ju_Random_nextFloat($var2.$rand2)) * 0.800000011920929;
            $ptr = 17;
            continue main;
        case 16:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_($var1, nms_Item_bucketEmpty);
            return $var1;
        case 17:
            nms_World_playSoundEffect($var2, $var7, $var21, var$8, $var1, $var17, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = 0;
            if ($var28 >= 8) {
                $var1 = new nms_ItemStack;
                $ptr = 16;
                continue main;
            }
            $var1 = $rt_s(917);
            var$23 = $var25 + jl_Math_random();
            $var9 = $var26 + jl_Math_random();
            $var7 = $var27 + jl_Math_random();
            $var21 = 0.0;
            var$8 = 0.0;
            var$24 = 0.0;
            $ptr = 18;
        case 18:
            nms_World_spawnParticle($var2, $var1, var$23, $var9, $var7, $var21, var$8, var$24);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $var28 + 1 | 0;
            if ($var28 >= 8) {
                $var1 = new nms_ItemStack;
                $ptr = 16;
                continue main;
            }
            $var1 = $rt_s(917);
            var$23 = $var25 + jl_Math_random();
            $var9 = $var26 + jl_Math_random();
            $var7 = $var27 + jl_Math_random();
            $var21 = 0.0;
            var$8 = 0.0;
            var$24 = 0.0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var17, $var5, $var6, $var7, var$8, $var9, $var11, $var13, $var14, $var15, $var16, $var23, var$16, $var24, $var25, $var26, $var27, $var28, $var21, var$23, var$24, $ptr);
    }
    function nms_ItemMinecart() {
        nms_Item.call(this);
        this.$minecartType = 0;
    }
    function nms_ItemMinecart__init_0(var_0, var_1) {
        var var_2 = new nms_ItemMinecart();
        nms_ItemMinecart__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ItemMinecart__init_($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxStackSize = 1;
            $this.$minecartType = $var2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_ItemMinecart_onItemUse($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var8 != nms_Block_minecartTrack.$blockID)
                return 0;
            if ($var3.$multiplayerWorld) {
                $var1.$stackSize = $var1.$stackSize - 1 | 0;
                return 1;
            }
            $var2 = new nms_EntityMinecart;
            var$9 = $var4 + 0.5;
            var$10 = $var5 + 0.5;
            var$11 = $var6 + 0.5;
            $var4 = $this.$minecartType;
            $ptr = 3;
        case 3:
            nms_EntityMinecart__init_($var2, $var3, var$9, var$10, var$11, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $var3.$entityJoinedWorld($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, var$9, var$10, var$11, $ptr);
    }
    var nms_ItemSaddle = $rt_classWithoutFields(nms_Item);
    function nms_ItemSaddle__init_0(var_0) {
        var var_1 = new nms_ItemSaddle();
        nms_ItemSaddle__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemSaddle__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxStackSize = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemSaddle_saddleEntity($this, $var1, $var2) {
        var $var3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!($var2 instanceof nms_EntityPig))
                return;
            $var3 = $var2;
            $ptr = 1;
        case 1:
            $tmp = nms_EntityPig_getSaddled($var3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4)
                return;
            var$4 = 1;
            $ptr = 2;
        case 2:
            nms_EntityPig_setSaddled($var3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_ItemSaddle_hitEntity($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_ItemSaddle_saddleEntity($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    var nms_ItemRedstone = $rt_classWithoutFields(nms_Item);
    function nms_ItemRedstone__init_0(var_0) {
        var var_1 = new nms_ItemRedstone();
        nms_ItemRedstone__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemRedstone__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemRedstone_onItemUse($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$var7)
                $var5 = $var5 + (-1) | 0;
            if ($var7 == 1)
                $var5 = $var5 + 1 | 0;
            if ($var7 == 2)
                $var6 = $var6 + (-1) | 0;
            if ($var7 == 3)
                $var6 = $var6 + 1 | 0;
            if ($var7 == 4)
                $var4 = $var4 + (-1) | 0;
            if ($var7 == 5)
                $var4 = $var4 + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isAirBlock($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if (!$var7)
                return 0;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_Block_redstoneWire;
            $ptr = 3;
        case 3:
            $tmp = $var2.$canPlaceBlockAt($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if (!$var7)
                return 1;
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            $var7 = nms_Block_redstoneWire.$blockID;
            $ptr = 4;
        case 4:
            nms_World_setBlockWithNotify($var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $ptr);
    }
    var nms_ItemSnowball = $rt_classWithoutFields(nms_Item);
    function nms_ItemSnowball__init_0(var_0) {
        var var_1 = new nms_ItemSnowball();
        nms_ItemSnowball__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemSnowball__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxStackSize = 16;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemSnowball_onItemRightClick($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            var$4 = $rt_s(919);
            var$5 = 0.5;
            var$6 = 0.4000000059604645;
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = var$6 / (ju_Random_nextFloat(nms_Item_itemRand) * 0.4000000059604645 + 0.800000011920929);
            $ptr = 2;
        case 2:
            nms_World_playSoundAtEntity($var2, $var3, var$4, var$5, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var2.$multiplayerWorld)
                return $var1;
            var$4 = new nms_EntitySnowball;
            $ptr = 3;
        case 3:
            nms_EntitySnowball__init_1(var$4, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $var2.$entityJoinedWorld(var$4);
            if ($rt_suspending()) {
                break main;
            }
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, $ptr);
    }
    var nms_ItemBoat = $rt_classWithoutFields(nms_Item);
    function nms_ItemBoat__init_0(var_0) {
        var var_1 = new nms_ItemBoat();
        nms_ItemBoat__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemBoat__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxStackSize = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemBoat_onItemRightClick($this, $var1, $var2, $var3) {
        var $var6, $var5, $var14, $var7, $var9, $var21, $var13, $var15, $var16, $var17, $var18, $var20, $var23, $var25, $var24, $var26, $var27, $var11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var11 = $thread.pop();$var27 = $thread.pop();$var26 = $thread.pop();$var24 = $thread.pop();$var25 = $thread.pop();$var23 = $thread.pop();$var20 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var21 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var14 = $thread.pop();$var5 = $thread.pop();$var6 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = $var3.$prevRotationPitch;
            $var5 = $var6 + ($var3.$rotationPitch - $var6) * 1.0;
            $var14 = $var3.$prevRotationYaw;
            $var6 = $var14 + ($var3.$rotationYaw - $var14) * 1.0;
            $var7 = $var3.$prevPosX;
            $var7 = $var7 + ($var3.$posX - $var7) * 1.0;
            $var9 = $var3.$prevPosY;
            $var9 = $var9 + ($var3.$posY - $var9) * 1.0 + 1.62 - $var3.$yOffset;
            $var21 = $var3.$prevPosZ;
            $var13 = nms_Vec3D_createVector($var7, $var9, $var21 + ($var3.$posZ - $var21) * 1.0);
            $var6 =  -$var6 * 0.01745329238474369 - 3.1415927410125732;
            $var14 = nms_MathHelper_cos($var6);
            $var15 = nms_MathHelper_sin($var6);
            $var6 =  -$var5 * 0.01745329238474369;
            $var16 =  -nms_MathHelper_cos($var6);
            $var17 = nms_MathHelper_sin($var6);
            $var18 = $var15 * $var16;
            $var20 = $var14 * $var16;
            $var23 = nms_Vec3D_addVector($var13, $var18 * 5.0, $var17 * 5.0, $var20 * 5.0);
            $var25 = 1;
            $ptr = 1;
        case 1:
            $tmp = nms_World_rayTraceBlocks_do($var2, $var13, $var23, $var25);
            if ($rt_suspending()) {
                break main;
            }
            $var24 = $tmp;
            if ($var24 === null)
                return $var1;
            $var3 = $var24.$typeOfHit;
            nms_EnumMovingObjectType_$callClinit();
            if ($var3 === nms_EnumMovingObjectType_TILE) {
                $var25 = $var24.$blockX;
                $var26 = $var24.$blockY;
                $var27 = $var24.$blockZ;
                if (!$var2.$multiplayerWorld) {
                    $var3 = new nms_EntityBoat;
                    $var7 = $var25 + 0.5;
                    $var9 = $var26 + 1.5;
                    $var11 = $var27 + 0.5;
                    $ptr = 2;
                    continue main;
                }
                $var1.$stackSize = $var1.$stackSize - 1 | 0;
            }
            return $var1;
        case 2:
            nms_EntityBoat__init_($var3, $var2, $var7, $var9, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $var2.$entityJoinedWorld($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var6, $var5, $var14, $var7, $var9, $var21, $var13, $var15, $var16, $var17, $var18, $var20, $var23, $var25, $var24, $var26, $var27, $var11, $ptr);
    }
    function nms_ItemReed() {
        nms_Item.call(this);
        this.$field_320_a = 0;
    }
    function nms_ItemReed__init_0(var_0, var_1) {
        var var_2 = new nms_ItemReed();
        nms_ItemReed__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ItemReed__init_($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_320_a = $var2.$blockID;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_ItemReed_onItemUse($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var var$8, var$9, var$10, $var8, var$12, var$13, var$14, var$15, var$16, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var8 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$8 == nms_Block_snow.$blockID)
                $var7 = 0;
            else {
                if (!$var7)
                    $var5 = $var5 + (-1) | 0;
                if ($var7 == 1)
                    $var5 = $var5 + 1 | 0;
                if ($var7 == 2)
                    $var6 = $var6 + (-1) | 0;
                if ($var7 == 3)
                    $var6 = $var6 + 1 | 0;
                if ($var7 == 4)
                    $var4 = $var4 + (-1) | 0;
                if ($var7 == 5)
                    $var4 = $var4 + 1 | 0;
            }
            if (!$var1.$stackSize)
                return 0;
            var$9 = $this.$field_320_a;
            var$8 = 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_canBlockBePlacedAt($var3, var$9, $var4, $var5, $var6, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (!var$8)
                return 1;
            var$10 = nms_Block_blocksList.data;
            var$8 = $this.$field_320_a;
            $var8 = var$10[var$8];
            $ptr = 4;
        case 4:
            $tmp = nms_World_setBlockWithNotify($var3, $var4, $var5, $var6, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (!var$8)
                return 1;
            var$12 = nms_Block_blocksList.data[$this.$field_320_a];
            $ptr = 5;
        case 5:
            var$12.$onBlockPlaced($var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = nms_Block_blocksList.data[$this.$field_320_a];
            $ptr = 6;
        case 6:
            var$12.$onBlockPlacedBy($var3, $var4, $var5, $var6, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $var4 + 0.5;
            var$14 = $var5 + 0.5;
            var$15 = $var6 + 0.5;
            $var2 = $var8.$stepSound;
            $ptr = 7;
        case 7:
            $tmp = nms_StepSound_func_1145_d($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$12 = $var8.$stepSound;
            var$16 = (var$12.$field_1677_b + 1.0) / 2.0;
            var$17 = var$12.$field_1679_c * 0.800000011920929;
            $ptr = 8;
        case 8:
            nms_World_playSoundEffect($var3, var$13, var$14, var$15, $var2, var$16, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, var$9, var$10, $var8, var$12, var$13, var$14, var$15, var$16, var$17, $ptr);
    }
    var nms_ItemEgg = $rt_classWithoutFields(nms_Item);
    function nms_ItemEgg__init_0(var_0) {
        var var_1 = new nms_ItemEgg();
        nms_ItemEgg__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemEgg__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxStackSize = 16;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemEgg_onItemRightClick($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            var$4 = $rt_s(919);
            var$5 = 0.5;
            var$6 = 0.4000000059604645;
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = var$6 / (ju_Random_nextFloat(nms_Item_itemRand) * 0.4000000059604645 + 0.800000011920929);
            $ptr = 2;
        case 2:
            nms_World_playSoundAtEntity($var2, $var3, var$4, var$5, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var2.$multiplayerWorld)
                return $var1;
            var$4 = new nms_EntityEgg;
            $ptr = 3;
        case 3:
            nms_EntityEgg__init_0(var$4, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $var2.$entityJoinedWorld(var$4);
            if ($rt_suspending()) {
                break main;
            }
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, $ptr);
    }
    var nms_ItemFishingRod = $rt_classWithoutFields(nms_Item);
    function nms_ItemFishingRod__init_0(var_0) {
        var var_1 = new nms_ItemFishingRod();
        nms_ItemFishingRod__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemFishingRod__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxDamage = 64;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemFishingRod_isFull3D($this) {
        return 1;
    }
    function nms_ItemFishingRod_shouldRotateAroundWhenRendering($this) {
        return 1;
    }
    function nms_ItemFishingRod_onItemRightClick($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $var3.$fishEntity;
            if (var$4 !== null) {
                $ptr = 3;
                continue main;
            }
            var$4 = $rt_s(919);
            var$5 = 0.5;
            var$6 = 0.4000000059604645;
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = var$6 / (ju_Random_nextFloat(nms_Item_itemRand) * 0.4000000059604645 + 0.800000011920929);
            $ptr = 2;
        case 2:
            nms_World_playSoundAtEntity($var2, $var3, var$4, var$5, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var2.$multiplayerWorld) {
                $ptr = 6;
                continue main;
            }
            var$4 = new nms_EntityFish;
            $ptr = 7;
            continue main;
        case 3:
            $tmp = nms_EntityFish_catchFish(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $ptr = 4;
        case 4:
            nms_ItemStack_func_25190_a($var1, $var4, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $var3.$swingItem();
            if ($rt_suspending()) {
                break main;
            }
            return $var1;
        case 6:
            $var3.$swingItem();
            if ($rt_suspending()) {
                break main;
            }
            return $var1;
        case 7:
            nms_EntityFish__init_1(var$4, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $var2.$entityJoinedWorld(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, $var4, $ptr);
    }
    var nms_ItemDye = $rt_classWithoutFields(nms_Item);
    var nms_ItemDye_dyeColors = null;
    function nms_ItemDye_$callClinit() {
        nms_ItemDye_$callClinit = $rt_eraseClinit(nms_ItemDye);
        nms_ItemDye__clinit_();
    }
    function nms_ItemDye__init_0(var_0) {
        var var_1 = new nms_ItemDye();
        nms_ItemDye__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemDye__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_ItemDye_$callClinit();
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$hasSubtypes = 1;
            $this.$maxDamage = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemDye_getIconIndex($this, $var1) {
        var $var2;
        $var2 = $var1.$itemDamage;
        return ($this.$iconIndex0 + (($var2 % 8 | 0) * 16 | 0) | 0) + ($var2 / 8 | 0) | 0;
    }
    function nms_ItemDye_getItemNameIS($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$itemName;
            nms_ItemDye_$callClinit();
            $var1 = nms_ItemDye_dyeColors.data[$var1.$itemDamage];
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            jl_AbstractStringBuilder_append(var$2, 46);
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_ItemDye_onItemUse($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$itemDamage != 15)
                return 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_Block_sapling;
            if ($var8 == $var2.$blockID) {
                $var2 = $var2;
                var$9 = $var3.$rand2;
                $ptr = 3;
                continue main;
            }
            if ($var8 != nms_Block_crops.$blockID)
                return 0;
            $var7 = 7;
            $ptr = 4;
            continue main;
        case 3:
            nms_BlockSapling_growTree($var2, $var3, $var4, $var5, $var6, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            return 1;
        case 4:
            nms_World_setBlockMetadataWithNotify($var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, var$9, $ptr);
    }
    function nms_ItemDye_saddleEntity($this, $var1, $var2) {
        var $var3, $var4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!($var2 instanceof nms_EntitySheep))
                return;
            $var3 = $var2;
            $var4 = nms_BlockCloth_func_21034_c($var1.$itemDamage);
            $ptr = 1;
        case 1:
            $tmp = nms_EntitySheep_getSheared($var3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return;
            $ptr = 2;
        case 2:
            $tmp = nms_EntitySheep_getFleeceColor($var3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 == $var4)
                return;
            $ptr = 3;
        case 3:
            nms_EntitySheep_setFleeceColor($var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_ItemDye__clinit_() {
        nms_ItemDye_dyeColors = $rt_createArrayFromData(jl_String, [$rt_s(1131), $rt_s(1132), $rt_s(1133), $rt_s(1134), $rt_s(1135), $rt_s(1136), $rt_s(1137), $rt_s(1138), $rt_s(1139), $rt_s(1140), $rt_s(1141), $rt_s(1142), $rt_s(1143), $rt_s(1144), $rt_s(1145), $rt_s(1146)]);
    }
    var nms_ItemBed = $rt_classWithoutFields(nms_Item);
    function nms_ItemBed__init_0(var_0) {
        var var_1 = new nms_ItemBed();
        nms_ItemBed__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemBed__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_ItemBed_onItemUse($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, $var9, $var10, $var11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var7 != 1)
                return 0;
            $var5 = $var5 + 1 | 0;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = nms_Block_blockBed;
            $var9 = nms_MathHelper_floor_double($var2.$rotationYaw * 4.0 / 360.0 + 0.5) & 3;
            $var10 = 0;
            $var11 = 0;
            if (!$var9)
                $var11 = 1;
            if ($var9 == 1)
                $var10 = (-1);
            if ($var9 == 2)
                $var11 = (-1);
            if ($var9 == 3)
                $var10 = 1;
            $ptr = 2;
        case 2:
            $tmp = nms_World_isAirBlock($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if (!$var7)
                return 0;
            $var10 = $var4 + $var10 | 0;
            $var11 = $var6 + $var11 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_isAirBlock($var3, $var10, $var5, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if (!$var7)
                return 0;
            $var7 = $var5 - 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_isBlockOpaqueCube($var3, $var4, $var7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            if (!var$12)
                return 0;
            $ptr = 5;
        case 5:
            $tmp = nms_World_isBlockOpaqueCube($var3, $var10, $var7, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if (!$var7)
                return 0;
            $var7 = $var8.$blockID;
            $ptr = 6;
        case 6:
            nms_World_setBlockAndMetadataWithNotify($var3, $var4, $var5, $var6, $var7, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $var8.$blockID;
            $var6 = $var9 + 8 | 0;
            $ptr = 7;
        case 7:
            nms_World_setBlockAndMetadataWithNotify($var3, $var10, $var5, $var11, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, var$12, $ptr);
    }
    var nms_ItemCookie = $rt_classWithoutFields(nms_ItemFood);
    function nms_ItemCookie__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_ItemCookie();
        nms_ItemCookie__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_ItemCookie__init_($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_ItemFood__init_($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxStackSize = $var4;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_ItemRecord() {
        nms_Item.call(this);
        this.$recordName = null;
    }
    function nms_ItemRecord__init_0(var_0, var_1) {
        var var_2 = new nms_ItemRecord();
        nms_ItemRecord__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ItemRecord__init_($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$recordName = $var2;
            $this.$maxStackSize = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_ItemRecord_onItemUse($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var7 != nms_Block_jukebox.$blockID)
                return 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockMetadata($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ($var7)
                return 0;
            $var7 = $this.$shiftedIndex;
            $ptr = 4;
        case 4:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var7 = ($var7 - nms_Item_record13.$shiftedIndex | 0) + 1 | 0;
            $ptr = 5;
        case 5:
            nms_World_setBlockMetadataWithNotify($var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$recordName;
            $ptr = 6;
        case 6:
            nms_World_playRecord($var3, $var2, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_StatBasic() {
        var a = this; jl_Object.call(a);
        a.$field_25071_d = 0;
        a.$field_25070_e = null;
        a.$field_25069_f = null;
    }
    function nms_StatBasic__init_0(var_0, var_1) {
        var var_2 = new nms_StatBasic();
        nms_StatBasic__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_StatBasic__init_($this, $var1, $var2) {
        $this.$field_25071_d = $var1;
        $this.$field_25070_e = $var2;
    }
    function nms_StatBasic_func_25068_c($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_StatList_field_25169_C;
            var$2 = jl_Integer_valueOf($this.$field_25071_d);
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_containsKey(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3) {
                var$3 = $this.$field_25071_d;
                $ptr = 3;
                continue main;
            }
            var$2 = new jl_RuntimeException;
            var$1 = nms_StatList_field_25169_C;
            var$4 = jl_Integer_valueOf($this.$field_25071_d);
            $ptr = 6;
            continue main;
        case 3:
            nms_AchievementMap_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_AchievementMap_field_25210_a.$field_25209_b;
            var$2 = jl_Integer_valueOf(var$3);
            $ptr = 4;
        case 4:
            $tmp = ju_HashMap_get(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $this.$field_25069_f = var$1;
            var$1 = nms_StatList_field_25188_a;
            $ptr = 5;
        case 5:
            ju_ArrayList_add(var$1, $this);
            if ($rt_suspending()) {
                break main;
            }
            if (!($this instanceof nms_StatCrafting)) {
                var$1 = nms_StatList_field_25187_b;
                $ptr = 13;
                continue main;
            }
            var$1 = $this;
            var$5 = var$1.$field_25073_a;
            $ptr = 14;
            continue main;
        case 6:
            $tmp = ju_HashMap_get(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$1 = var$1.$field_25070_e;
            var$4 = $this.$field_25070_e;
            var$3 = $this.$field_25071_d;
            var$6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$6);
            var$7 = $rt_s(1147);
            $ptr = 7;
        case 7:
            $tmp = jl_StringBuilder_append(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $ptr = 8;
        case 8:
            $tmp = jl_StringBuilder_append(var$7, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$7 = $rt_s(1148);
            $ptr = 9;
        case 9:
            $tmp = jl_StringBuilder_append(var$1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 10;
        case 10:
            $tmp = jl_StringBuilder_append(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = $rt_s(1149);
            $ptr = 11;
        case 11:
            $tmp = jl_StringBuilder_append(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            jl_AbstractStringBuilder_append0(var$1, var$3);
            $ptr = 12;
        case 12:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            jl_Throwable__init_(var$2, var$1);
            $rt_throw(var$2);
        case 13:
            ju_ArrayList_add(var$1, $this);
            if ($rt_suspending()) {
                break main;
            }
            return $this;
        case 14:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$5 >= nms_Block_blocksList.data.length) {
                var$2 = nms_StatList_field_25185_d;
                $ptr = 15;
                continue main;
            }
            var$2 = nms_StatList_field_25186_c;
            $ptr = 16;
            continue main;
        case 15:
            ju_ArrayList_add(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return $this;
        case 16:
            ju_ArrayList_add(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_StatBasic_func_25067_a($this) {
        return 0;
    }
    var nms_StatCollector = $rt_classWithoutFields();
    var nms_StatCollector_field_25201_a = null;
    var nms_StatCollector_$clinitCalled = false;
    function nms_StatCollector_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_StatCollector_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_StatCollector_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_StatCollector__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_StatCollector_$callClinit = $rt_eraseClinit(nms_StatCollector);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_StatCollector__init_0() {
        var var_0 = new nms_StatCollector();
        nms_StatCollector__init_(var_0);
        return var_0;
    }
    function nms_StatCollector__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_StatCollector_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_StatCollector_func_25200_a($var0) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_StatCollector_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_StatCollector_field_25201_a;
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_translateKey(var$2, $var0);
            if ($rt_suspending()) {
                break main;
            }
            $var0 = $tmp;
            return $var0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, var$2, $ptr);
    }
    function nms_StatCollector_func_25199_a($var0, $var1) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_StatCollector_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nms_StatCollector_field_25201_a;
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_translateKeyFormat(var$3, $var0, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var0 = $tmp;
            return $var0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, var$3, $ptr);
    }
    function nms_StatCollector__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_StatCollector_field_25201_a = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    var nms_StatTime = $rt_classWithoutFields(nms_StatBasic);
    var nms_StatTime_field_25078_a = null;
    var nms_StatTime_$clinitCalled = false;
    function nms_StatTime_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_StatTime_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_StatTime_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_StatTime__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_StatTime_$callClinit = $rt_eraseClinit(nms_StatTime);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_StatTime__clinit_() {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new jt_DecimalFormat;
            var$2 = $rt_s(1150);
            $ptr = 1;
        case 1:
            jt_DecimalFormat__init_0(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            nms_StatTime_field_25078_a = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    var nms_StatDistance = $rt_classWithoutFields(nms_StatBasic);
    var nms_StatDistance_field_25077_a = null;
    var nms_StatDistance_$clinitCalled = false;
    function nms_StatDistance_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_StatDistance_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_StatDistance_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_StatDistance__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_StatDistance_$callClinit = $rt_eraseClinit(nms_StatDistance);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_StatDistance__init_0(var_0, var_1) {
        var var_2 = new nms_StatDistance();
        nms_StatDistance__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_StatDistance__init_($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_StatDistance_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_StatBasic__init_($this, $var1, $var2);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_StatDistance__clinit_() {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new jt_DecimalFormat;
            var$2 = $rt_s(1150);
            $ptr = 1;
        case 1:
            jt_DecimalFormat__init_0(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            nms_StatDistance_field_25077_a = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nms_StatCrafting() {
        nms_StatBasic.call(this);
        this.$field_25073_a = 0;
    }
    function nms_StatCrafting__init_0(var_0, var_1, var_2) {
        var var_3 = new nms_StatCrafting();
        nms_StatCrafting__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_StatCrafting__init_($this, $var1, $var2, $var3) {
        nms_StatBasic__init_($this, $var1, $var2);
        $this.$field_25073_a = $var3;
    }
    function nms_CraftingManager() {
        jl_Object.call(this);
        this.$recipes = null;
    }
    var nms_CraftingManager_instance = null;
    var nms_CraftingManager_$clinitCalled = false;
    function nms_CraftingManager_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_CraftingManager_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_CraftingManager_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_CraftingManager__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_CraftingManager_$callClinit = $rt_eraseClinit(nms_CraftingManager);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_CraftingManager__init_0() {
        var var_0 = new nms_CraftingManager();
        nms_CraftingManager__init_(var_0);
        return var_0;
    }
    function nms_CraftingManager_getInstance() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_CraftingManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_CraftingManager_instance;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_CraftingManager__init_($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_CraftingManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            jl_Object__init_0($this);
            $this.$recipes = ju_ArrayList__init_0();
            var$1 = new nms_RecipesTools;
            $ptr = 2;
        case 2:
            nms_RecipesTools__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_RecipesTools_addRecipes(var$1, $this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = new nms_RecipesWeapons;
            $ptr = 4;
        case 4:
            nms_RecipesWeapons__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_RecipesWeapons_addRecipes(var$1, $this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = new nms_RecipesIngots;
            $ptr = 6;
        case 6:
            nms_RecipesIngots__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_RecipesIngots_addRecipes(var$1, $this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_RecipesFood__init_0();
            $ptr = 8;
        case 8:
            nms_RecipesFood_addRecipes(var$1, $this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_RecipesCrafting__init_0();
            $ptr = 9;
        case 9:
            nms_RecipesCrafting_addRecipes(var$1, $this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = new nms_RecipesArmor;
            $ptr = 10;
        case 10:
            nms_RecipesArmor__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_RecipesArmor_addRecipes(var$1, $this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_RecipesDyes__init_0();
            $ptr = 12;
        case 12:
            nms_RecipesDyes_addRecipes(var$1, $this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = new nms_ItemStack;
            $ptr = 13;
        case 13:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_1(var$2, nms_Item_paper, 3);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), jl_Character_valueOf(35), nms_Item_reed]);
            $ptr = 14;
        case 14:
            nms_CraftingManager_addRecipe($this, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_book, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(464), $rt_s(464), $rt_s(464), jl_Character_valueOf(35), nms_Item_paper]);
            $ptr = 15;
        case 15:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = new nms_ItemStack;
            $ptr = 16;
        case 16:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_2(var$1, nms_Block_fence, 2);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), $rt_s(1151), jl_Character_valueOf(35), nms_Item_stick]);
            $ptr = 17;
        case 17:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_jukebox, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), $rt_s(1152), $rt_s(1151), jl_Character_valueOf(35), nms_Block_planks, jl_Character_valueOf(88), nms_Item_diamond]);
            $ptr = 18;
        case 18:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_musicBlock, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), $rt_s(1152), $rt_s(1151), jl_Character_valueOf(35), nms_Block_planks, jl_Character_valueOf(88), nms_Item_redstone]);
            $ptr = 19;
        case 19:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_bookShelf, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), $rt_s(1153), $rt_s(1151), jl_Character_valueOf(35), nms_Block_planks, jl_Character_valueOf(88), nms_Item_book]);
            $ptr = 20;
        case 20:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_blockSnow, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1154), $rt_s(1154), jl_Character_valueOf(35), nms_Item_snowball]);
            $ptr = 21;
        case 21:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_blockClay, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1154), $rt_s(1154), jl_Character_valueOf(35), nms_Item_clay]);
            $ptr = 22;
        case 22:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_brick, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1154), $rt_s(1154), jl_Character_valueOf(35), nms_Item_brick]);
            $ptr = 23;
        case 23:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_lightStone, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), $rt_s(1151), $rt_s(1151), jl_Character_valueOf(35), nms_Item_lightStoneDust]);
            $ptr = 24;
        case 24:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_cloth, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), $rt_s(1151), $rt_s(1151), jl_Character_valueOf(35), nms_Item_silk]);
            $ptr = 25;
        case 25:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_tnt, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1155), $rt_s(1152), $rt_s(1155), jl_Character_valueOf(88), nms_Item_gunpowder, jl_Character_valueOf(35), nms_Block_sand]);
            $ptr = 26;
        case 26:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_10(nms_Block_stairSingle, 3, 3);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), jl_Character_valueOf(35), nms_Block_cobblestone]);
            $ptr = 27;
        case 27:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_10(nms_Block_stairSingle, 3, 0);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), jl_Character_valueOf(35), nms_Block_stone]);
            $ptr = 28;
        case 28:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_10(nms_Block_stairSingle, 3, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), jl_Character_valueOf(35), nms_Block_sandStone]);
            $ptr = 29;
        case 29:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_10(nms_Block_stairSingle, 3, 2);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), jl_Character_valueOf(35), nms_Block_planks]);
            $ptr = 30;
        case 30:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_ladder, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1156), $rt_s(1151), $rt_s(1156), jl_Character_valueOf(35), nms_Item_stick]);
            $ptr = 31;
        case 31:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_doorWood, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1154), $rt_s(1154), $rt_s(1154), jl_Character_valueOf(35), nms_Block_planks]);
            $ptr = 32;
        case 32:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_doorSteel, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1154), $rt_s(1154), $rt_s(1154), jl_Character_valueOf(35), nms_Item_ingotIron]);
            $ptr = 33;
        case 33:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_sign, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), $rt_s(1151), $rt_s(1157), jl_Character_valueOf(35), nms_Block_planks, jl_Character_valueOf(88), nms_Item_stick]);
            $ptr = 34;
        case 34:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_cake, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1158), $rt_s(1159), $rt_s(1160), jl_Character_valueOf(65), nms_Item_bucketMilk, jl_Character_valueOf(66), nms_Item_sugar, jl_Character_valueOf(67), nms_Item_wheat, jl_Character_valueOf(69), nms_Item_egg]);
            $ptr = 35;
        case 35:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_sugar, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(464), jl_Character_valueOf(35), nms_Item_reed]);
            $ptr = 36;
        case 36:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_planks, 4);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(464), jl_Character_valueOf(35), nms_Block_wood]);
            $ptr = 37;
        case 37:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_stick, 4);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(464), $rt_s(464), jl_Character_valueOf(35), nms_Block_planks]);
            $ptr = 38;
        case 38:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_torchWood, 4);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1161), $rt_s(464), jl_Character_valueOf(88), nms_Item_coal, jl_Character_valueOf(35), nms_Item_stick]);
            $ptr = 39;
        case 39:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_ItemStack__init_9(nms_Block_torchWood, 4);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1161), $rt_s(464), jl_Character_valueOf(88), nms_ItemStack__init_11(nms_Item_coal, 1, 1), jl_Character_valueOf(35), nms_Item_stick]);
            $ptr = 40;
        case 40:
            nms_CraftingManager_addRecipe($this, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_bowlEmpty, 4);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1156), $rt_s(1162), jl_Character_valueOf(35), nms_Block_planks]);
            $ptr = 41;
        case 41:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_minecartTrack, 16);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1163), $rt_s(1155), $rt_s(1163), jl_Character_valueOf(88), nms_Item_ingotIron, jl_Character_valueOf(35), nms_Item_stick]);
            $ptr = 42;
        case 42:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_minecartEmpty, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1156), $rt_s(1151), jl_Character_valueOf(35), nms_Item_ingotIron]);
            $ptr = 43;
        case 43:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_pumpkinLantern, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1164), $rt_s(1165), jl_Character_valueOf(65), nms_Block_pumpkin, jl_Character_valueOf(66), nms_Block_torchWood]);
            $ptr = 44;
        case 44:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_minecartCrate, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1164), $rt_s(1165), jl_Character_valueOf(65), nms_Block_crate, jl_Character_valueOf(66), nms_Item_minecartEmpty]);
            $ptr = 45;
        case 45:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_minecartPowered, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1164), $rt_s(1165), jl_Character_valueOf(65), nms_Block_stoneOvenIdle, jl_Character_valueOf(66), nms_Item_minecartEmpty]);
            $ptr = 46;
        case 46:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_boat, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1156), $rt_s(1151), jl_Character_valueOf(35), nms_Block_planks]);
            $ptr = 47;
        case 47:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_bucketEmpty, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1156), $rt_s(1162), jl_Character_valueOf(35), nms_Item_ingotIron]);
            $ptr = 48;
        case 48:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_flintAndSteel, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1166), $rt_s(1167), jl_Character_valueOf(65), nms_Item_ingotIron, jl_Character_valueOf(66), nms_Item_flint]);
            $ptr = 49;
        case 49:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_bread, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), jl_Character_valueOf(35), nms_Item_wheat]);
            $ptr = 50;
        case 50:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_stairCompactPlanks, 4);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1168), $rt_s(1169), $rt_s(1151), jl_Character_valueOf(35), nms_Block_planks]);
            $ptr = 51;
        case 51:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_fishingRod, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1170), $rt_s(1171), $rt_s(1172), jl_Character_valueOf(35), nms_Item_stick, jl_Character_valueOf(88), nms_Item_silk]);
            $ptr = 52;
        case 52:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_stairCompactCobblestone, 4);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1168), $rt_s(1169), $rt_s(1151), jl_Character_valueOf(35), nms_Block_cobblestone]);
            $ptr = 53;
        case 53:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_painting, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), $rt_s(1152), $rt_s(1151), jl_Character_valueOf(35), nms_Item_stick, jl_Character_valueOf(88), nms_Block_cloth]);
            $ptr = 54;
        case 54:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_appleGold, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), $rt_s(1152), $rt_s(1151), jl_Character_valueOf(35), nms_Block_blockGold, jl_Character_valueOf(88), nms_Item_appleRed]);
            $ptr = 55;
        case 55:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_lever, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1161), $rt_s(464), jl_Character_valueOf(35), nms_Block_cobblestone, jl_Character_valueOf(88), nms_Item_stick]);
            $ptr = 56;
        case 56:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_torchRedstoneActive, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1161), $rt_s(464), jl_Character_valueOf(35), nms_Item_stick, jl_Character_valueOf(88), nms_Item_redstone]);
            $ptr = 57;
        case 57:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_redstoneRepeater, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1152), $rt_s(1173), jl_Character_valueOf(35), nms_Block_torchRedstoneActive, jl_Character_valueOf(88), nms_Item_redstone, jl_Character_valueOf(73), nms_Block_stone]);
            $ptr = 58;
        case 58:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_pocketSundial, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1162), $rt_s(1152), $rt_s(1162), jl_Character_valueOf(35), nms_Item_ingotGold, jl_Character_valueOf(88), nms_Item_redstone]);
            $ptr = 59;
        case 59:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_compass, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1162), $rt_s(1152), $rt_s(1162), jl_Character_valueOf(35), nms_Item_ingotIron, jl_Character_valueOf(88), nms_Item_redstone]);
            $ptr = 60;
        case 60:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_button, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(464), $rt_s(464), jl_Character_valueOf(35), nms_Block_stone]);
            $ptr = 61;
        case 61:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_pressurePlateStone, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1154), jl_Character_valueOf(35), nms_Block_stone]);
            $ptr = 62;
        case 62:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_pressurePlatePlanks, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1154), jl_Character_valueOf(35), nms_Block_planks]);
            $ptr = 63;
        case 63:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_9(nms_Block_dispenser, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), $rt_s(1152), $rt_s(1174), jl_Character_valueOf(35), nms_Block_cobblestone, jl_Character_valueOf(88), nms_Item_bow, jl_Character_valueOf(82), nms_Item_redstone]);
            $ptr = 64;
        case 64:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ItemStack__init_8(nms_Item_bed, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), $rt_s(1153), jl_Character_valueOf(35), nms_Block_cloth, jl_Character_valueOf(88), nms_Block_planks]);
            $ptr = 65;
        case 65:
            nms_CraftingManager_addRecipe($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$recipes;
            var$2 = nms_RecipeSorter__init_0($this);
            $ptr = 66;
        case 66:
            ju_Collections_sort0(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = jl_System_out();
            var$4 = ju_ArrayList_size($this.$recipes);
            var$2 = jl_StringBuilder__init_0();
            var$5 = jl_StringBuilder_append1(var$2, var$4);
            var$6 = $rt_s(1175);
            $ptr = 67;
        case 67:
            jl_StringBuilder_append(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 68;
        case 68:
            $tmp = jl_StringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 69;
        case 69:
            ji_PrintStream_println0(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_CraftingManager_addRecipe($this, $var1, $var2) {
        var $var14, $var3, $var5, $var6, $var10, $var7, $var9, $var11, $var8, $var12, $var16, $var13, $var15, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var16 = $thread.pop();$var12 = $thread.pop();$var8 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var10 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var14 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                $var14 = $var2.data;
                $var3 = $rt_s(3);
                $var5 = 0;
                $var6 = 0;
                if (!$rt_isInstance($var14[0], $rt_arraycls(jl_String))) {
                    if (!($var14[0] instanceof jl_String)) {
                        $var10 = 0;
                        break a;
                    }
                    $var10 = 0 + 1 | 0;
                    $var7 = $var14[0];
                    $var6 = $var6 + 1 | 0;
                    $var5 = jl_String_length($var7);
                    $var9 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($var9);
                    $ptr = 1;
                    continue main;
                }
                $var10 = 1;
                $var11 = $var14[0];
                $var8 = 0;
                $var2 = $var11.data;
                if ($var8 < $var2.length) {
                    $var9 = $var2[$var8];
                    $var6 = $var6 + 1 | 0;
                    $var5 = jl_String_length($var9);
                    $var7 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($var7);
                    $ptr = 4;
                    continue main;
                }
            }
            $var12 = ju_HashMap__init_0();
            if ($var10 >= $var14.length) {
                $var8 = $rt_imul($var5, $var6);
                $var14 = $rt_createArray(nms_ItemStack, $var8);
                $var2 = $var14.data;
                $var16 = 0;
                if ($var16 < $var8) {
                    $var10 = jl_String_charAt($var3, $var16);
                    $var7 = jl_Character_valueOf($var10);
                    $ptr = 8;
                    continue main;
                }
                $var3 = $this.$recipes;
                $var7 = new nms_ShapedRecipes;
                $var7.$recipeOutputItemID = $var1.$itemID;
                $var7.$recipeWidth = $var5;
                $var7.$recipeHeight = $var6;
                $var7.$recipeItems = $var14;
                $var7.$recipeOutput = $var1;
                $ptr = 7;
                continue main;
            }
            $var13 = $var14[$var10];
            $var15 = null;
            $var8 = $var10 + 1 | 0;
            if ($var14[$var8] instanceof nms_Item)
                $var15 = nms_ItemStack__init_12($var14[$var8]);
            else if ($var14[$var8] instanceof nms_Block)
                $var15 = nms_ItemStack__init_10($var14[$var8], 1, (-1));
            else if ($var14[$var8] instanceof nms_ItemStack)
                $var15 = $var14[$var8];
            $ptr = 9;
            continue main;
        case 1:
            $tmp = jl_StringBuilder_append($var9, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append($var3, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var4 = $var10;
            if ($var14[$var4] instanceof jl_String) {
                $var10 = $var4 + 1 | 0;
                $var7 = $var14[$var4];
                $var6 = $var6 + 1 | 0;
                $var5 = jl_String_length($var7);
                $var9 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var9);
                $ptr = 1;
                continue main;
            }
            $var10 = $var4;
            $var12 = ju_HashMap__init_0();
            if ($var10 >= $var14.length) {
                $var8 = $rt_imul($var5, $var6);
                $var14 = $rt_createArray(nms_ItemStack, $var8);
                $var2 = $var14.data;
                $var16 = 0;
                if ($var16 < $var8) {
                    $var10 = jl_String_charAt($var3, $var16);
                    $var7 = jl_Character_valueOf($var10);
                    $ptr = 8;
                    continue main;
                }
                $var3 = $this.$recipes;
                $var7 = new nms_ShapedRecipes;
                $var7.$recipeOutputItemID = $var1.$itemID;
                $var7.$recipeWidth = $var5;
                $var7.$recipeHeight = $var6;
                $var7.$recipeItems = $var14;
                $var7.$recipeOutput = $var1;
                $ptr = 7;
                continue main;
            }
            $var13 = $var14[$var10];
            $var15 = null;
            $var8 = $var10 + 1 | 0;
            if ($var14[$var8] instanceof nms_Item)
                $var15 = nms_ItemStack__init_12($var14[$var8]);
            else if ($var14[$var8] instanceof nms_Block)
                $var15 = nms_ItemStack__init_10($var14[$var8], 1, (-1));
            else if ($var14[$var8] instanceof nms_ItemStack)
                $var15 = $var14[$var8];
            $ptr = 9;
            continue main;
        case 4:
            $tmp = jl_StringBuilder_append($var7, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $ptr = 5;
        case 5:
            jl_StringBuilder_append($var3, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString($var7);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var8 = $var8 + 1 | 0;
            $var2 = $var11.data;
            if ($var8 < $var2.length) {
                $var9 = $var2[$var8];
                $var6 = $var6 + 1 | 0;
                $var5 = jl_String_length($var9);
                $var7 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var7);
                $ptr = 4;
                continue main;
            }
            $var12 = ju_HashMap__init_0();
            if ($var10 >= $var14.length) {
                $var8 = $rt_imul($var5, $var6);
                $var14 = $rt_createArray(nms_ItemStack, $var8);
                $var2 = $var14.data;
                $var16 = 0;
                if ($var16 < $var8) {
                    $var10 = jl_String_charAt($var3, $var16);
                    $var7 = jl_Character_valueOf($var10);
                    $ptr = 8;
                    continue main;
                }
                $var3 = $this.$recipes;
                $var7 = new nms_ShapedRecipes;
                $var7.$recipeOutputItemID = $var1.$itemID;
                $var7.$recipeWidth = $var5;
                $var7.$recipeHeight = $var6;
                $var7.$recipeItems = $var14;
                $var7.$recipeOutput = $var1;
                $ptr = 7;
                continue main;
            }
            $var13 = $var14[$var10];
            $var15 = null;
            $var8 = $var10 + 1 | 0;
            if ($var14[$var8] instanceof nms_Item)
                $var15 = nms_ItemStack__init_12($var14[$var8]);
            else if ($var14[$var8] instanceof nms_Block)
                $var15 = nms_ItemStack__init_10($var14[$var8], 1, (-1));
            else if ($var14[$var8] instanceof nms_ItemStack)
                $var15 = $var14[$var8];
            $ptr = 9;
            continue main;
        case 7:
            ju_ArrayList_add($var3, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            $tmp = ju_HashMap_containsKey($var12, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4) {
                $var7 = jl_Character_valueOf($var10);
                $ptr = 10;
                continue main;
            }
            $var2[$var16] = null;
            $var16 = $var16 + 1 | 0;
            if ($var16 < $var8) {
                $var10 = jl_String_charAt($var3, $var16);
                $var7 = jl_Character_valueOf($var10);
                continue main;
            }
            $var3 = $this.$recipes;
            $var7 = new nms_ShapedRecipes;
            $var7.$recipeOutputItemID = $var1.$itemID;
            $var7.$recipeWidth = $var5;
            $var7.$recipeHeight = $var6;
            $var7.$recipeItems = $var14;
            $var7.$recipeOutput = $var1;
            $ptr = 7;
            continue main;
        case 9:
            ju_HashMap_putImpl($var12, $var13, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $var10 + 2 | 0;
            if ($var10 >= $var14.length) {
                $var8 = $rt_imul($var5, $var6);
                $var14 = $rt_createArray(nms_ItemStack, $var8);
                $var2 = $var14.data;
                $var16 = 0;
                if ($var16 < $var8) {
                    $var10 = jl_String_charAt($var3, $var16);
                    $var7 = jl_Character_valueOf($var10);
                    $ptr = 8;
                    continue main;
                }
                $var3 = $this.$recipes;
                $var7 = new nms_ShapedRecipes;
                $var7.$recipeOutputItemID = $var1.$itemID;
                $var7.$recipeWidth = $var5;
                $var7.$recipeHeight = $var6;
                $var7.$recipeItems = $var14;
                $var7.$recipeOutput = $var1;
                $ptr = 7;
                continue main;
            }
            $var13 = $var14[$var10];
            $var15 = null;
            $var8 = $var10 + 1 | 0;
            if ($var14[$var8] instanceof nms_Item)
                $var15 = nms_ItemStack__init_12($var14[$var8]);
            else if ($var14[$var8] instanceof nms_Block)
                $var15 = nms_ItemStack__init_10($var14[$var8], 1, (-1));
            else if ($var14[$var8] instanceof nms_ItemStack)
                $var15 = $var14[$var8];
            continue main;
        case 10:
            $tmp = ju_HashMap_get($var12, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var2[$var16] = nms_ItemStack_copy($var7);
            $var16 = $var16 + 1 | 0;
            if ($var16 < $var8) {
                $var10 = jl_String_charAt($var3, $var16);
                $var7 = jl_Character_valueOf($var10);
                $ptr = 8;
                continue main;
            }
            $var3 = $this.$recipes;
            $var7 = new nms_ShapedRecipes;
            $var7.$recipeOutputItemID = $var1.$itemID;
            $var7.$recipeWidth = $var5;
            $var7.$recipeHeight = $var6;
            $var7.$recipeItems = $var14;
            $var7.$recipeOutput = $var1;
            $ptr = 7;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var14, $var3, $var5, $var6, $var10, $var7, $var9, $var11, $var8, $var12, $var16, $var13, $var15, $var4, $ptr);
    }
    function nms_CraftingManager_addShapelessRecipe($this, $var1, $var2) {
        var $var3, $var5, $var6, var$6, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();var$6 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $var2.data;
            $var3 = ju_ArrayList__init_0();
            $var5 = $var2.length;
            $var6 = 0;
            if ($var6 >= $var5) {
                var$6 = $this.$recipes;
                $var7 = new nms_ShapelessRecipes;
                $var7.$recipeOutput0 = $var1;
                $var7.$recipeItems0 = $var3;
                $ptr = 1;
                continue main;
            }
            $var7 = $var2[$var6];
            if ($var7 instanceof nms_ItemStack) {
                var$6 = nms_ItemStack_copy($var7);
                $ptr = 2;
                continue main;
            }
            if ($var7 instanceof nms_Item) {
                var$6 = nms_ItemStack__init_12($var7);
                $ptr = 3;
                continue main;
            }
            if (!($var7 instanceof nms_Block)) {
                $var1 = new jl_RuntimeException;
                jl_Throwable__init_($var1, $rt_s(1176));
                $rt_throw($var1);
            }
            var$6 = nms_ItemStack__init_13($var7);
            $ptr = 4;
            continue main;
        case 1:
            ju_ArrayList_add(var$6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            ju_ArrayList_add($var3, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= $var5) {
                var$6 = $this.$recipes;
                $var7 = new nms_ShapelessRecipes;
                $var7.$recipeOutput0 = $var1;
                $var7.$recipeItems0 = $var3;
                $ptr = 1;
                continue main;
            }
            $var7 = $var2[$var6];
            if ($var7 instanceof nms_ItemStack) {
                var$6 = nms_ItemStack_copy($var7);
                continue main;
            }
            if ($var7 instanceof nms_Item) {
                var$6 = nms_ItemStack__init_12($var7);
                $ptr = 3;
                continue main;
            }
            if (!($var7 instanceof nms_Block)) {
                $var1 = new jl_RuntimeException;
                jl_Throwable__init_($var1, $rt_s(1176));
                $rt_throw($var1);
            }
            var$6 = nms_ItemStack__init_13($var7);
            $ptr = 4;
            continue main;
        case 3:
            ju_ArrayList_add($var3, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= $var5) {
                var$6 = $this.$recipes;
                $var7 = new nms_ShapelessRecipes;
                $var7.$recipeOutput0 = $var1;
                $var7.$recipeItems0 = $var3;
                $ptr = 1;
                continue main;
            }
            $var7 = $var2[$var6];
            if ($var7 instanceof nms_ItemStack) {
                var$6 = nms_ItemStack_copy($var7);
                $ptr = 2;
                continue main;
            }
            if ($var7 instanceof nms_Item) {
                var$6 = nms_ItemStack__init_12($var7);
                continue main;
            }
            if (!($var7 instanceof nms_Block)) {
                $var1 = new jl_RuntimeException;
                jl_Throwable__init_($var1, $rt_s(1176));
                $rt_throw($var1);
            }
            var$6 = nms_ItemStack__init_13($var7);
            $ptr = 4;
        case 4:
            ju_ArrayList_add($var3, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= $var5) {
                var$6 = $this.$recipes;
                $var7 = new nms_ShapelessRecipes;
                $var7.$recipeOutput0 = $var1;
                $var7.$recipeItems0 = $var3;
                $ptr = 1;
                continue main;
            }
            $var7 = $var2[$var6];
            if ($var7 instanceof nms_ItemStack) {
                var$6 = nms_ItemStack_copy($var7);
                $ptr = 2;
                continue main;
            }
            if ($var7 instanceof nms_Item) {
                var$6 = nms_ItemStack__init_12($var7);
                $ptr = 3;
                continue main;
            }
            if (!($var7 instanceof nms_Block)) {
                $var1 = new jl_RuntimeException;
                jl_Throwable__init_($var1, $rt_s(1176));
                $rt_throw($var1);
            }
            var$6 = nms_ItemStack__init_13($var7);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var5, $var6, var$6, $var7, $ptr);
    }
    function nms_CraftingManager_findMatchingRecipe($this, $var1) {
        var $var2, $var3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = 0;
            $var3 = $this.$recipes;
            if ($var2 >= $var3.$size0)
                return null;
            $var3 = ju_ArrayList_get($var3, $var2);
            $ptr = 1;
        case 1:
            $tmp = $var3.$matches($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4)
                return $var3.$getCraftingResult($var1);
            $var2 = $var2 + 1 | 0;
            $var3 = $this.$recipes;
            if ($var2 >= $var3.$size0)
                return null;
            $var3 = ju_ArrayList_get($var3, $var2);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_CraftingManager__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nms_CraftingManager;
            $ptr = 1;
        case 1:
            nms_CraftingManager__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nms_CraftingManager_instance = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nms_FurnaceRecipes() {
        jl_Object.call(this);
        this.$smeltingList = null;
    }
    var nms_FurnaceRecipes_smeltingBase = null;
    var nms_FurnaceRecipes_$clinitCalled = false;
    function nms_FurnaceRecipes_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_FurnaceRecipes_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_FurnaceRecipes_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_FurnaceRecipes__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_FurnaceRecipes_$callClinit = $rt_eraseClinit(nms_FurnaceRecipes);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_FurnaceRecipes__init_0() {
        var var_0 = new nms_FurnaceRecipes();
        nms_FurnaceRecipes__init_(var_0);
        return var_0;
    }
    function nms_FurnaceRecipes_smelting() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_FurnaceRecipes_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_FurnaceRecipes_smeltingBase;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_FurnaceRecipes__init_($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_FurnaceRecipes_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$smeltingList = ju_HashMap__init_0();
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Block_oreIron.$blockID;
            var$2 = new nms_ItemStack;
            $ptr = 3;
        case 3:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_(var$2, nms_Item_ingotIron);
            $ptr = 4;
        case 4:
            nms_FurnaceRecipes_addSmelting($this, var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Block_oreGold.$blockID;
            var$3 = nms_ItemStack__init_12(nms_Item_ingotGold);
            $ptr = 5;
        case 5:
            nms_FurnaceRecipes_addSmelting($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Block_oreDiamond.$blockID;
            var$3 = nms_ItemStack__init_12(nms_Item_diamond);
            $ptr = 6;
        case 6:
            nms_FurnaceRecipes_addSmelting($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Block_sand.$blockID;
            var$3 = nms_ItemStack__init_13(nms_Block_glass);
            $ptr = 7;
        case 7:
            nms_FurnaceRecipes_addSmelting($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Item_porkRaw.$shiftedIndex;
            var$3 = nms_ItemStack__init_12(nms_Item_porkCooked);
            $ptr = 8;
        case 8:
            nms_FurnaceRecipes_addSmelting($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Item_fishRaw.$shiftedIndex;
            var$3 = nms_ItemStack__init_12(nms_Item_fishCooked);
            $ptr = 9;
        case 9:
            nms_FurnaceRecipes_addSmelting($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Block_cobblestone.$blockID;
            var$3 = nms_ItemStack__init_13(nms_Block_stone);
            $ptr = 10;
        case 10:
            nms_FurnaceRecipes_addSmelting($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Item_clay.$shiftedIndex;
            var$3 = nms_ItemStack__init_12(nms_Item_brick);
            $ptr = 11;
        case 11:
            nms_FurnaceRecipes_addSmelting($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_Block_cactus.$blockID;
            var$3 = nms_ItemStack__init_11(nms_Item_dyePowder, 1, 2);
            $ptr = 12;
        case 12:
            nms_FurnaceRecipes_addSmelting($this, var$4, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Block_wood.$blockID;
            var$3 = nms_ItemStack__init_11(nms_Item_coal, 1, 1);
            $ptr = 13;
        case 13:
            nms_FurnaceRecipes_addSmelting($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_FurnaceRecipes_addSmelting($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$smeltingList;
            var$4 = jl_Integer_valueOf($var1);
            $ptr = 1;
        case 1:
            ju_HashMap_putImpl(var$3, var$4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_FurnaceRecipes_getSmeltingResult($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$smeltingList;
            var$3 = jl_Integer_valueOf($var1);
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_get(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_FurnaceRecipes__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nms_FurnaceRecipes;
            $ptr = 1;
        case 1:
            nms_FurnaceRecipes__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nms_FurnaceRecipes_smeltingBase = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    var nms_IRecipe = $rt_classWithoutFields(0);
    function nms_ItemStack() {
        var a = this; jl_Object.call(a);
        a.$stackSize = 0;
        a.$animationsToGo = 0;
        a.$itemID = 0;
        a.$itemDamage = 0;
    }
    function nms_ItemStack__init_13(var_0) {
        var var_1 = new nms_ItemStack();
        nms_ItemStack__init_5(var_1, var_0);
        return var_1;
    }
    function nms_ItemStack__init_9(var_0, var_1) {
        var var_2 = new nms_ItemStack();
        nms_ItemStack__init_2(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ItemStack__init_10(var_0, var_1, var_2) {
        var var_3 = new nms_ItemStack();
        nms_ItemStack__init_3(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_ItemStack__init_12(var_0) {
        var var_1 = new nms_ItemStack();
        nms_ItemStack__init_(var_1, var_0);
        return var_1;
    }
    function nms_ItemStack__init_8(var_0, var_1) {
        var var_2 = new nms_ItemStack();
        nms_ItemStack__init_1(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ItemStack__init_11(var_0, var_1, var_2) {
        var var_3 = new nms_ItemStack();
        nms_ItemStack__init_4(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_ItemStack__init_7(var_0, var_1, var_2) {
        var var_3 = new nms_ItemStack();
        nms_ItemStack__init_0(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_ItemStack__init_14(var_0) {
        var var_1 = new nms_ItemStack();
        nms_ItemStack__init_6(var_1, var_0);
        return var_1;
    }
    function nms_ItemStack__init_5($this, $var1) {
        nms_ItemStack__init_2($this, $var1, 1);
    }
    function nms_ItemStack__init_2($this, $var1, $var2) {
        nms_ItemStack__init_0($this, $var1.$blockID, $var2, 0);
    }
    function nms_ItemStack__init_3($this, $var1, $var2, $var3) {
        nms_ItemStack__init_0($this, $var1.$blockID, $var2, $var3);
    }
    function nms_ItemStack__init_($this, $var1) {
        nms_ItemStack__init_0($this, $var1.$shiftedIndex, 1, 0);
    }
    function nms_ItemStack__init_1($this, $var1, $var2) {
        nms_ItemStack__init_0($this, $var1.$shiftedIndex, $var2, 0);
    }
    function nms_ItemStack__init_4($this, $var1, $var2, $var3) {
        nms_ItemStack__init_0($this, $var1.$shiftedIndex, $var2, $var3);
    }
    function nms_ItemStack__init_0($this, $var1, $var2, $var3) {
        $this.$stackSize = 0;
        $this.$itemID = $var1;
        $this.$stackSize = $var2;
        $this.$itemDamage = $var3;
    }
    function nms_ItemStack__init_6($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$stackSize = 0;
            var$2 = $rt_s(940);
            $ptr = 1;
        case 1:
            $tmp = nms_NBTTagCompound_getShort($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$itemID = var$3;
            var$2 = $rt_s(1177);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getByte($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$stackSize = var$3;
            var$2 = $rt_s(1178);
            $ptr = 3;
        case 3:
            $tmp = nms_NBTTagCompound_getShort($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$itemDamage = var$3;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_ItemStack_splitStack($this, $var1) {
        $this.$stackSize = $this.$stackSize - $var1 | 0;
        return nms_ItemStack__init_7($this.$itemID, $var1, $this.$itemDamage);
    }
    function nms_ItemStack_getItem($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_itemsList.data[$this.$itemID];
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_ItemStack_getIconIndex($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_ItemStack_getItem($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = var$1.$getIconIndex0($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_ItemStack_writeToNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(940);
            var$3 = $this.$itemID << 16 >> 16;
            $ptr = 1;
        case 1:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1177);
            var$3 = $this.$stackSize << 24 >> 24;
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1178);
            var$3 = $this.$itemDamage << 16 >> 16;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_ItemStack_getMaxStackSize($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_ItemStack_getItem($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1.$maxStackSize;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_ItemStack_isItemStackDamageable($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_itemsList.data[$this.$itemID].$maxDamage <= 0 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_ItemStack_getHasSubtypes($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_itemsList.data[$this.$itemID].$hasSubtypes;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_ItemStack_isItemDamaged($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_ItemStack_isItemStackDamageable($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1 && $this.$itemDamage > 0 ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_ItemStack_getMaxDamage($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_itemsList.data[$this.$itemID].$maxDamage;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_ItemStack_func_25190_a($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_ItemStack_isItemStackDamageable($this);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return;
            $var1 = $this.$itemDamage + $var1 | 0;
            $this.$itemDamage = $var1;
            $ptr = 2;
        case 2:
            $tmp = nms_ItemStack_getMaxDamage($this);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if ($var1 > var$3) {
                if ($var2 instanceof nms_EntityPlayer) {
                    $ptr = 3;
                    continue main;
                }
                $var1 = $this.$stackSize - 1 | 0;
                $this.$stackSize = $var1;
                if ($var1 < 0)
                    $this.$stackSize = 0;
                $this.$itemDamage = 0;
            }
            return;
        case 3:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2.$addStat(nms_StatList_field_25170_B.data[$this.$itemID], 1);
            $var1 = $this.$stackSize - 1 | 0;
            $this.$stackSize = $var1;
            if ($var1 < 0)
                $this.$stackSize = 0;
            $this.$itemDamage = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_ItemStack_func_25191_a($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_Item_itemsList.data[$this.$itemID];
            $ptr = 2;
        case 2:
            $tmp = var$6.$func_25008_a($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$var6)
                return;
            $ptr = 3;
        case 3:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, $ptr);
    }
    function nms_ItemStack_copy($this) {
        return nms_ItemStack__init_7($this.$itemID, $this.$stackSize, $this.$itemDamage);
    }
    function nms_ItemStack_toString($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$stackSize;
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Item_itemsList.data[$this.$itemID];
            $ptr = 2;
        case 2:
            $tmp = var$2.$getItemName();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$3 = $this.$itemDamage;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            jl_AbstractStringBuilder_append0(var$4, var$1);
            jl_AbstractStringBuilder_append(var$4, 120);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$4, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            jl_AbstractStringBuilder_append(var$2, 64);
            jl_AbstractStringBuilder_append0(var$2, var$3);
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function jl_Object$monitorEnterWait$lambda$_6_0() {
        var a = this; jl_Object.call(a);
        a.$_0 = null;
        a.$_1 = null;
        a.$_2 = 0;
        a.$_3 = null;
    }
    function nleit_TeaVMBlobURLManager$HandleFakeBlobURL() {
        var a = this; jl_Object.call(a);
        a.$blobData = null;
        a.$blobMIME = null;
    }
    function nleit_TeaVMBlobURLManager$HandleFakeBlobURL_toExternalForm($this) {
        var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$blobMIME;
            var$2 = $this.$blobData;
            $ptr = 1;
        case 1:
            $tmp = nle_Base64_encodeBase64String(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            var$5 = $rt_s(169);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$5 = $rt_s(1179);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append(var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 5;
        case 5:
            jl_StringBuilder_append(var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nleit_TeaVMBlobURLManager$HandleFakeBlobURL_release($this) {}
    function nleit_TeaVMBlobURLManager$HandleRealBlobURL() {
        jl_Object.call(this);
        this.$blobURL = null;
    }
    function nleit_TeaVMBlobURLManager$HandleRealBlobURL_toExternalForm($this) {
        return $this.$blobURL;
    }
    function nleit_TeaVMBlobURLManager$HandleRealBlobURL_release($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_ustr($this.$blobURL);
            $ptr = 1;
        case 1:
            $rt_globals.URL.revokeObjectURL(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function jur_AbstractSet() {
        var a = this; jl_Object.call(a);
        a.$next6 = null;
        a.$isSecondPassVisited = 0;
        a.$index1 = null;
        a.$type0 = 0;
    }
    var jur_AbstractSet_counter = 0;
    function jur_AbstractSet__init_($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = jur_AbstractSet_counter;
            jur_AbstractSet_counter = var$1 + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = jl_Integer_toString(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$index1 = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function jur_AbstractSet__init_0($this, $n) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$n = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = jur_AbstractSet_counter;
            jur_AbstractSet_counter = var$2 + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = jl_Integer_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$index1 = var$3;
            $this.$next6 = $n;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $n, var$2, var$3, $ptr);
    }
    function jur_AbstractSet_find($this, $stringIndex, $testString, $matchResult) {
        var $length, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$length = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $length = $matchResult.$rightBound0;
            if ($stringIndex > $length)
                return (-1);
            $ptr = 1;
        case 1:
            $tmp = $this.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 >= 0)
                return $stringIndex;
            $stringIndex = $stringIndex + 1 | 0;
            if ($stringIndex > $length)
                return (-1);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $length, var$5, $ptr);
    }
    function jur_AbstractSet_findBack($this, $stringIndex, $startSearch, $testString, $matchResult) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$startSearch = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($startSearch < $stringIndex)
                return (-1);
            $ptr = 1;
        case 1:
            $tmp = $this.$matches0($startSearch, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 >= 0)
                return $startSearch;
            $startSearch = $startSearch + (-1) | 0;
            if ($startSearch < $stringIndex)
                return (-1);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $startSearch, $testString, $matchResult, var$5, $ptr);
    }
    function jur_AbstractSet_setType($this, $type) {
        $this.$type0 = $type;
    }
    function jur_AbstractSet_getType($this) {
        return $this.$type0;
    }
    function jur_AbstractSet_getQualifiedName($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$index1;
            $ptr = 1;
        case 1:
            $tmp = $this.$getName();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            jl_AbstractStringBuilder_append(var$3, 60);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            jl_AbstractStringBuilder_append(var$1, 58);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            jl_AbstractStringBuilder_append(var$1, 62);
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function jur_AbstractSet_toString($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = jur_AbstractSet_getQualifiedName($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function jur_AbstractSet_getNext($this) {
        return $this.$next6;
    }
    function jur_AbstractSet_setNext($this, $next) {
        $this.$next6 = $next;
    }
    function jur_AbstractSet_first($this, $set) {
        return 1;
    }
    function jur_AbstractSet_processBackRefReplacement($this) {
        return null;
    }
    function jur_AbstractSet_processSecondPass($this) {
        var $set, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$set = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$isSecondPassVisited = 1;
            $set = $this.$next6;
            if ($set !== null) {
                if (!$set.$isSecondPassVisited) {
                    $ptr = 1;
                    continue main;
                }
                if ($set instanceof jur_SingleSet && $set.$fSet.$isBackReferenced)
                    $this.$next6 = $set.$next6;
            }
            return;
        case 1:
            $tmp = $set.$processBackRefReplacement();
            if ($rt_suspending()) {
                break main;
            }
            $set = $tmp;
            if ($set !== null) {
                $this.$next6.$isSecondPassVisited = 1;
                $this.$next6 = $set;
            }
            $set = $this.$next6;
            $ptr = 2;
        case 2:
            $set.$processSecondPass();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $set, $ptr);
    }
    function jur_AbstractSet__clinit_() {
        jur_AbstractSet_counter = 1;
    }
    function jn_ByteBufferImpl() {
        var a = this; jn_ByteBuffer.call(a);
        a.$direct = 0;
        a.$readOnly = 0;
    }
    function jn_ByteBufferImpl__init_1(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
        var var_7 = new jn_ByteBufferImpl();
        jn_ByteBufferImpl__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
        return var_7;
    }
    function jn_ByteBufferImpl__init_($this, $start, $capacity, $array, $position, $limit, $direct, $readOnly) {
        jn_Buffer__init_($this, $capacity);
        jn_ByteOrder_$callClinit();
        $this.$order = jn_ByteOrder_BIG_ENDIAN;
        $this.$start3 = $start;
        $this.$array0 = $array;
        $this.$position = $position;
        $this.$limit = $limit;
        $this.$direct = $direct;
        $this.$readOnly = $readOnly;
    }
    var jl_Readable = $rt_classWithoutFields(0);
    var jn_CharBuffer = $rt_classWithoutFields(jn_Buffer);
    function jn_CharBuffer_allocate($capacity) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$capacity = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($capacity >= 0)
                return jn_CharBufferOverArray__init_1(0, $capacity, $rt_createCharArray($capacity), 0, $capacity, 0);
            var$2 = new jl_IllegalArgumentException;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$4 = $rt_s(1111);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_AbstractStringBuilder_append0(var$4, $capacity);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_Throwable__init_(var$2, var$3);
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($capacity, var$2, var$3, var$4, $ptr);
    }
    function jn_CharBuffer_wrap0($array, $offset, $length) {
        return jn_CharBufferOverArray__init_1(0, $array.data.length, $array, $offset, $offset + $length | 0, 0);
    }
    function jn_CharBuffer_wrap($array) {
        return jn_CharBuffer_wrap0($array, 0, $array.data.length);
    }
    function jn_CharBuffer_get($this, $dst, $offset, $length) {
        var var$4, var$5, $pos, var$7, var$8, var$9, $i, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$i = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$pos = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$length = $thread.pop();$offset = $thread.pop();$dst = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($offset >= 0) {
                var$4 = $dst.data;
                var$5 = var$4.length;
                if ($offset <= var$5) {
                    $pos = $offset + $length | 0;
                    if ($pos > var$5) {
                        var$7 = new jl_IndexOutOfBoundsException;
                        var$8 = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_(var$8);
                        var$9 = $rt_s(1180);
                        $ptr = 4;
                        continue main;
                    }
                    if (jn_Buffer_remaining($this) < $length) {
                        var$8 = new jn_BufferUnderflowException;
                        jl_Throwable__init_0(var$8);
                        $rt_throw(var$8);
                    }
                    if ($length >= 0) {
                        $pos = $this.$position;
                        $i = 0;
                        while ($i < $length) {
                            var$11 = $offset + 1 | 0;
                            var$5 = $pos + 1 | 0;
                            var$4[$offset] = jn_CharBufferOverArray_getChar($this, $pos);
                            $i = $i + 1 | 0;
                            $offset = var$11;
                            $pos = var$5;
                        }
                        $this.$position = $this.$position + $length | 0;
                        return $this;
                    }
                    var$8 = new jl_IndexOutOfBoundsException;
                    var$7 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$7);
                    var$9 = $rt_s(1113);
                    $ptr = 7;
                    continue main;
                }
            }
            $dst = $dst.data;
            var$8 = new jl_IndexOutOfBoundsException;
            $length = $dst.length;
            var$7 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$7);
            var$9 = $rt_s(1114);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$7, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $offset);
            var$12 = $rt_s(1110);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$9, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $length);
            jl_AbstractStringBuilder_append(var$9, 41);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_Throwable__init_(var$8, var$7);
            $rt_throw(var$8);
        case 4:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $pos);
            var$12 = $rt_s(1115);
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append(var$9, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, var$5);
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_(var$7, var$8);
            $rt_throw(var$7);
        case 7:
            $tmp = jl_StringBuilder_append(var$7, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $length);
            var$12 = $rt_s(1116);
            $ptr = 8;
        case 8:
            jl_StringBuilder_append(var$9, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            $tmp = jl_AbstractStringBuilder_toString(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_Throwable__init_(var$8, var$7);
            $rt_throw(var$8);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $dst, $offset, $length, var$4, var$5, $pos, var$7, var$8, var$9, $i, var$11, var$12, $ptr);
    }
    function jn_CharBuffer_put($this, $src) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$src = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 0;
            var$3 = jl_String_length($src);
            if ($this.$readOnly0) {
                $src = new jn_ReadOnlyBufferException;
                jl_Throwable__init_0($src);
                $rt_throw($src);
            }
            var$4 = var$3 - var$2 | 0;
            if (jn_Buffer_remaining($this) < var$4) {
                $src = new jn_BufferOverflowException;
                jl_Throwable__init_0($src);
                $rt_throw($src);
            }
            if (var$2 > jl_String_length($src)) {
                var$5 = new jl_IndexOutOfBoundsException;
                var$3 = jl_String_length($src);
                $src = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($src);
                var$6 = $rt_s(1181);
                $ptr = 1;
                continue main;
            }
            if (var$3 > jl_String_length($src)) {
                var$5 = new jl_IndexOutOfBoundsException;
                var$2 = jl_String_length($src);
                $src = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($src);
                var$6 = $rt_s(1182);
                $ptr = 4;
                continue main;
            }
            if (var$2 <= var$3) {
                var$7 = $this.$position;
                while (var$2 < var$3) {
                    var$8 = var$7 + 1 | 0;
                    var$9 = var$2 + 1 | 0;
                    jn_CharBufferOverArray_putChar($this, var$7, jl_String_charAt($src, var$2));
                    var$7 = var$8;
                    var$2 = var$9;
                }
                $this.$position = $this.$position + var$4 | 0;
                return $this;
            }
            $src = new jl_IndexOutOfBoundsException;
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            var$6 = $rt_s(1181);
            $ptr = 7;
            continue main;
        case 1:
            $tmp = jl_StringBuilder_append($src, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_AbstractStringBuilder_append0(var$6, var$2);
            var$10 = $rt_s(1110);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$6, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_AbstractStringBuilder_append0(var$6, var$3);
            jl_AbstractStringBuilder_append(var$6, 41);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString($src);
            if ($rt_suspending()) {
                break main;
            }
            $src = $tmp;
            jl_Throwable__init_(var$5, $src);
            $rt_throw(var$5);
        case 4:
            $tmp = jl_StringBuilder_append($src, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_AbstractStringBuilder_append0(var$6, var$3);
            var$10 = $rt_s(1183);
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append(var$6, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_AbstractStringBuilder_append0(var$6, var$2);
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString($src);
            if ($rt_suspending()) {
                break main;
            }
            $src = $tmp;
            jl_Throwable__init_(var$5, $src);
            $rt_throw(var$5);
        case 7:
            $tmp = jl_StringBuilder_append(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_AbstractStringBuilder_append0(var$6, var$2);
            var$10 = $rt_s(1184);
            $ptr = 8;
        case 8:
            $tmp = jl_StringBuilder_append(var$6, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_AbstractStringBuilder_append0(var$6, var$3);
            $ptr = 9;
        case 9:
            $tmp = jl_AbstractStringBuilder_toString(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            jl_Throwable__init_($src, var$5);
            $rt_throw($src);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $src, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function jnc_IllegalCharsetNameException() {
        jl_IllegalArgumentException.call(this);
        this.$charsetName0 = null;
    }
    function jnc_IllegalCharsetNameException__init_(var_0) {
        var var_1 = new jnc_IllegalCharsetNameException();
        jnc_IllegalCharsetNameException__init_0(var_1, var_0);
        return var_1;
    }
    function jnc_IllegalCharsetNameException__init_0($this, $charsetName) {
        jl_Throwable__init_0($this);
        $this.$charsetName0 = $charsetName;
    }
    function nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_0() {
        jl_Object.call(this);
        this.$_024 = null;
    }
    function nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_0__init_(var_0) {
        var var_1 = new nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_0();
        nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_0__init_0(var_1, var_0);
        return var_1;
    }
    function nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_0__init_0(var$0, var$1) {
        var$0.$_024 = var$1;
    }
    function nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_0_run(var$0) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = var$0.$_024;
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            otpp_AsyncCallbackWrapper_complete(var$1, null);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, $ptr);
    }
    function nlei_PlatformRuntime$5() {
        var a = this; jl_Object.call(a);
        a.$val$token0 = null;
        a.$val$cb15 = null;
    }
    function nlei_PlatformRuntime$5__init_(var_0, var_1) {
        var var_2 = new nlei_PlatformRuntime$5();
        nlei_PlatformRuntime$5__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function nlei_PlatformRuntime$5__init_0($this, var$1, var$2) {
        $this.$val$token0 = var$1;
        $this.$val$cb15 = var$2;
    }
    function nlei_PlatformRuntime$5_isValidToken($this, $someObject) {
        return $this.$val$token0 !== $someObject ? 0 : 1;
    }
    function nlei_PlatformRuntime$5_execute($this) {
        otpp_AsyncCallbackWrapper_complete($this.$val$cb15, null);
    }
    function nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_1() {
        jl_Object.call(this);
        this.$_025 = null;
    }
    function nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_1__init_(var_0) {
        var var_1 = new nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_1();
        nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_1__init_0(var_1, var_0);
        return var_1;
    }
    function nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_1__init_0(var$0, var$1) {
        var$0.$_025 = var$1;
    }
    function nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_1_onTimer$exported$0(var$0) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = var$0.$_025;
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            otpp_AsyncCallbackWrapper_complete(var$1, null);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, $ptr);
    }
    function nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_2() {
        jl_Object.call(this);
        this.$_026 = null;
    }
    function nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_2__init_(var_0) {
        var var_1 = new nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_2();
        nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_2__init_0(var_1, var_0);
        return var_1;
    }
    function nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_2__init_0(var$0, var$1) {
        var$0.$_026 = var$1;
    }
    function nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_2_onTimer$exported$0(var$0) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = var$0.$_026;
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            otpp_AsyncCallbackWrapper_complete(var$1, null);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, $ptr);
    }
    var nleit_IndexedDBFilesystem$OpenErrorCallback = $rt_classWithoutFields(0);
    function nleit_IndexedDBFilesystem$AsyncHandlers$openDB$lambda$_2_0() {
        jl_Object.call(this);
        this.$_023 = null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$openDB$lambda$_2_0_call$exported$0(var$0, var$1) {
        var$1 = $rt_str(var$1);
        var$0.$_023.data[0] = var$1;
    }
    var otji_EventHandler = $rt_classWithoutFields(0);
    function nleit_IndexedDBFilesystem$AsyncHandlers$1() {
        jl_Object.call(this);
        this.$val$cb2 = null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$1_handleEvent$exported$0(var$0) {
        otpp_AsyncCallbackWrapper_complete(var$0.$val$cb2, nleit_IndexedDBFilesystem$DatabaseOpen__init_0(0, 1, $rt_s(1185), null));
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$2() {
        var a = this; jl_Object.call(a);
        a.$val$cb3 = null;
        a.$val$f = null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$2_handleEvent$exported$0(var$0) {
        otpp_AsyncCallbackWrapper_complete(var$0.$val$cb3, nleit_IndexedDBFilesystem$DatabaseOpen__init_0(0, 0, null, var$0.$val$f.result));
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$3() {
        jl_Object.call(this);
        this.$val$cb4 = null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$3_handleEvent$exported$0(var$0) {
        otpp_AsyncCallbackWrapper_complete(var$0.$val$cb4, nleit_IndexedDBFilesystem$DatabaseOpen__init_0(1, 0, $rt_s(1186), null));
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$4() {
        jl_Object.call(this);
        this.$val$f0 = null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$4_handleEvent$exported$0(var$0, var$1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8;
        var$2 = var$0.$val$f0.result;
        var$3 = otji_IDBObjectStoreParameters_create$js_body$_1();
        var$4 = $rt_createArray(jl_String, 1).data;
        var$4[0] = $rt_s(1187);
        var$5 = var$4.length;
        var$6 = new $rt_globals.Array(var$5);
        var$7 = 0;
        while (var$7 < var$5) {
            var$8 = $rt_ustr(var$4[var$7]);
            var$7;
            var$6[var$7] = var$8;
            var$7 = var$7 + 1 | 0;
        }
        var$3.keyPath = var$6;
        var$2.createObjectStore("filesystem", var$3);
    }
    var nle_BaseNCodec$CodecPolicy = $rt_classWithoutFields(jl_Enum);
    var nle_BaseNCodec$CodecPolicy_STRICT = null;
    var nle_BaseNCodec$CodecPolicy_LENIANT = null;
    var nle_BaseNCodec$CodecPolicy_$VALUES = null;
    function nle_BaseNCodec$CodecPolicy_$callClinit() {
        nle_BaseNCodec$CodecPolicy_$callClinit = $rt_eraseClinit(nle_BaseNCodec$CodecPolicy);
        nle_BaseNCodec$CodecPolicy__clinit_();
    }
    function nle_BaseNCodec$CodecPolicy__init_0(var_0, var_1) {
        var var_2 = new nle_BaseNCodec$CodecPolicy();
        nle_BaseNCodec$CodecPolicy__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nle_BaseNCodec$CodecPolicy_values() {
        nle_BaseNCodec$CodecPolicy_$callClinit();
        return nle_BaseNCodec$CodecPolicy_$VALUES.$clone();
    }
    function nle_BaseNCodec$CodecPolicy__init_($this, var$1, var$2) {
        nle_BaseNCodec$CodecPolicy_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
    }
    function nle_BaseNCodec$CodecPolicy__clinit_() {
        var var$1;
        nle_BaseNCodec$CodecPolicy_STRICT = nle_BaseNCodec$CodecPolicy__init_0($rt_s(1188), 0);
        var$1 = nle_BaseNCodec$CodecPolicy__init_0($rt_s(1189), 1);
        nle_BaseNCodec$CodecPolicy_LENIANT = var$1;
        nle_BaseNCodec$CodecPolicy_$VALUES = $rt_createArrayFromData(nle_BaseNCodec$CodecPolicy, [nle_BaseNCodec$CodecPolicy_STRICT, var$1]);
    }
    function jur_FSet() {
        var a = this; jur_AbstractSet.call(a);
        a.$isBackReferenced = 0;
        a.$groupIndex = 0;
    }
    var jur_FSet_posFSet = null;
    var jur_FSet_$clinitCalled = false;
    function jur_FSet_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (jur_FSet_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            jur_FSet_$clinitCalled = true;
            $ptr = 1;
        case 1:
            jur_FSet__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            jur_FSet_$callClinit = $rt_eraseClinit(jur_FSet);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function jur_FSet__init_0(var_0) {
        var var_1 = new jur_FSet();
        jur_FSet__init_(var_1, var_0);
        return var_1;
    }
    function jur_FSet__init_($this, $groupIndex) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$groupIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_FSet_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$groupIndex = $groupIndex;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $groupIndex, $ptr);
    }
    function jur_FSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $end, var$5, $shift, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$shift = $thread.pop();var$5 = $thread.pop();$end = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $end = jur_MatchResultImpl_getEnd($matchResult, $this.$groupIndex);
            jur_MatchResultImpl_setEnd($matchResult, $this.$groupIndex, $stringIndex);
            var$5 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$5.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $shift = $tmp;
            if ($shift < 0)
                jur_MatchResultImpl_setEnd($matchResult, $this.$groupIndex, $end);
            return $shift;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $end, var$5, $shift, $ptr);
    }
    function jur_FSet_getGroupIndex($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$groupIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function jur_FSet_getName($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $rt_s(1190);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function jur_FSet_hasConsumed($this, $mr) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$mr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $mr, $ptr);
    }
    function jur_FSet__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new jur_FSet$PossessiveFSet;
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            jur_FSet_posFSet = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function jur_Lexer() {
        var a = this; jl_Object.call(a);
        a.$pattern1 = null;
        a.$flags0 = 0;
        a.$mode1 = 0;
        a.$savedMode = 0;
        a.$lookBack = 0;
        a.$ch = 0;
        a.$lookAhead = 0;
        a.$patternFullLength = 0;
        a.$curST = null;
        a.$lookAheadST = null;
        a.$index0 = 0;
        a.$prevNW = 0;
        a.$curToc = 0;
        a.$lookAheadToc = 0;
        a.$orig = null;
    }
    var jur_Lexer_decompTable = null;
    var jur_Lexer_singleDecompTable = null;
    var jur_Lexer_singleDecompTableSize = 0;
    function jur_Lexer_setMode($this, $mode) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$mode = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($mode > 0 && $mode < 3)
                $this.$mode1 = $mode;
            if ($mode != 1)
                return;
            $this.$lookAhead = $this.$ch;
            $this.$lookAheadST = $this.$curST;
            $this.$index0 = $this.$lookAheadToc;
            $this.$lookAheadToc = $this.$curToc;
            $ptr = 1;
        case 1:
            jur_Lexer_movePointer($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $mode, $ptr);
    }
    function jur_Lexer_isSpecial($this) {
        return $this.$curST === null ? 0 : 1;
    }
    function jur_Lexer_isNextSpecial($this) {
        return $this.$lookAheadST === null ? 0 : 1;
    }
    function jur_Lexer_next($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_Lexer_movePointer($this);
            if ($rt_suspending()) {
                break main;
            }
            return $this.$lookBack;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function jur_Lexer_nextSpecial($this) {
        var $res, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$res = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $res = $this.$curST;
            $ptr = 1;
        case 1:
            jur_Lexer_movePointer($this);
            if ($rt_suspending()) {
                break main;
            }
            return $res;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $res, $ptr);
    }
    function jur_Lexer_movePointer($this) {
        var $reread, $nonCap, var$3, $behind, $cs, var$6, var$7, $negative, $mod, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$mod = $thread.pop();$negative = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$cs = $thread.pop();$behind = $thread.pop();var$3 = $thread.pop();$nonCap = $thread.pop();$reread = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$lookBack = $this.$ch;
            $this.$ch = $this.$lookAhead;
            $this.$curST = $this.$lookAheadST;
            $this.$curToc = $this.$lookAheadToc;
            $this.$lookAheadToc = $this.$index0;
            while (true) {
                $reread = 0;
                $nonCap = $this.$index0 >= $this.$pattern1.data.length ? 0 : jur_Lexer_nextCodePoint($this);
                $this.$lookAhead = $nonCap;
                $this.$lookAheadST = null;
                if ($this.$mode1 == 4) {
                    if ($nonCap != 92)
                        return;
                    $nonCap = $this.$index0;
                    var$3 = $this.$pattern1.data;
                    $nonCap = $nonCap >= var$3.length ? 0 : var$3[jur_Lexer_nextIndex($this)];
                    $this.$lookAhead = $nonCap;
                    switch ($nonCap) {
                        case 69:
                            break;
                        default:
                            $this.$lookAhead = 92;
                            $this.$index0 = $this.$prevNW;
                            return;
                    }
                    $this.$mode1 = $this.$savedMode;
                    $this.$lookAhead = $this.$index0 > ($this.$pattern1.data.length - 2 | 0) ? 0 : jur_Lexer_nextCodePoint($this);
                }
                a: {
                    $nonCap = $this.$lookAhead;
                    if ($nonCap != 92) {
                        $behind = $this.$mode1;
                        if ($behind == 1)
                            switch ($nonCap) {
                                case 36:
                                    $this.$lookAhead = (-536870876);
                                    break a;
                                case 40:
                                    if ($this.$pattern1.data[$this.$index0] != 63) {
                                        $this.$lookAhead = (-2147483608);
                                        break a;
                                    }
                                    jur_Lexer_nextIndex($this);
                                    $nonCap = $this.$pattern1.data[$this.$index0];
                                    $behind = 0;
                                    while (true) {
                                        b: {
                                            if ($behind) {
                                                $behind = 0;
                                                switch ($nonCap) {
                                                    case 33:
                                                        break;
                                                    case 61:
                                                        $this.$lookAhead = (-134217688);
                                                        jur_Lexer_nextIndex($this);
                                                        break b;
                                                    default:
                                                        $cs = new jur_PatternSyntaxException;
                                                        var$6 = $rt_s(3);
                                                        $ptr = 10;
                                                        continue main;
                                                }
                                                $this.$lookAhead = (-67108824);
                                                jur_Lexer_nextIndex($this);
                                            } else {
                                                switch ($nonCap) {
                                                    case 33:
                                                        break;
                                                    case 60:
                                                        jur_Lexer_nextIndex($this);
                                                        $nonCap = $this.$pattern1.data[$this.$index0];
                                                        $behind = 1;
                                                        break b;
                                                    case 61:
                                                        $this.$lookAhead = (-536870872);
                                                        jur_Lexer_nextIndex($this);
                                                        break b;
                                                    case 62:
                                                        $this.$lookAhead = (-33554392);
                                                        jur_Lexer_nextIndex($this);
                                                        break b;
                                                    default:
                                                        $ptr = 11;
                                                        continue main;
                                                }
                                                $this.$lookAhead = (-268435416);
                                                jur_Lexer_nextIndex($this);
                                            }
                                        }
                                        if (!$behind)
                                            break;
                                    }
                                    break a;
                                case 41:
                                    $this.$lookAhead = (-536870871);
                                    break a;
                                case 42:
                                case 43:
                                case 63:
                                    $behind = $this.$index0;
                                    var$3 = $this.$pattern1.data;
                                    switch ($behind >= var$3.length ? 42 : var$3[$behind]) {
                                        case 43:
                                            $this.$lookAhead = $nonCap | (-2147483648);
                                            jur_Lexer_nextIndex($this);
                                            break a;
                                        case 63:
                                            $this.$lookAhead = $nonCap | (-1073741824);
                                            jur_Lexer_nextIndex($this);
                                            break a;
                                        default:
                                    }
                                    $this.$lookAhead = $nonCap | (-536870912);
                                    break a;
                                case 46:
                                    $this.$lookAhead = (-536870866);
                                    break a;
                                case 91:
                                    $this.$lookAhead = (-536870821);
                                    $nonCap = 2;
                                    $ptr = 1;
                                    continue main;
                                case 93:
                                    if ($behind != 2)
                                        break a;
                                    $this.$lookAhead = (-536870819);
                                    break a;
                                case 94:
                                    $this.$lookAhead = (-536870818);
                                    break a;
                                case 123:
                                    $ptr = 2;
                                    continue main;
                                case 124:
                                    $this.$lookAhead = (-536870788);
                                    break a;
                                default:
                            }
                        else if ($behind == 2)
                            switch ($nonCap) {
                                case 38:
                                    $this.$lookAhead = (-536870874);
                                    break a;
                                case 45:
                                    $this.$lookAhead = (-536870867);
                                    break a;
                                case 91:
                                    $this.$lookAhead = (-536870821);
                                    break a;
                                case 93:
                                    $this.$lookAhead = (-536870819);
                                    break a;
                                case 94:
                                    $this.$lookAhead = (-536870818);
                                    break a;
                                default:
                            }
                    } else {
                        $nonCap = $this.$index0 >= ($this.$pattern1.data.length - 2 | 0) ? (-1) : jur_Lexer_nextCodePoint($this);
                        $this.$lookAhead = $nonCap;
                        switch ($nonCap) {
                            case -1:
                                $cs = new jur_PatternSyntaxException;
                                var$6 = $rt_s(3);
                                $ptr = 3;
                                continue main;
                            case 0:
                            case 1:
                            case 2:
                            case 3:
                            case 4:
                            case 5:
                            case 6:
                            case 7:
                            case 8:
                            case 9:
                            case 10:
                            case 11:
                            case 12:
                            case 13:
                            case 14:
                            case 15:
                            case 16:
                            case 17:
                            case 18:
                            case 19:
                            case 20:
                            case 21:
                            case 22:
                            case 23:
                            case 24:
                            case 25:
                            case 26:
                            case 27:
                            case 28:
                            case 29:
                            case 30:
                            case 31:
                            case 32:
                            case 33:
                            case 34:
                            case 35:
                            case 36:
                            case 37:
                            case 38:
                            case 39:
                            case 40:
                            case 41:
                            case 42:
                            case 43:
                            case 44:
                            case 45:
                            case 46:
                            case 47:
                            case 58:
                            case 59:
                            case 60:
                            case 61:
                            case 62:
                            case 63:
                            case 64:
                            case 91:
                            case 92:
                            case 93:
                            case 94:
                            case 95:
                            case 96:
                            case 118:
                                break;
                            case 48:
                                $ptr = 4;
                                continue main;
                            case 49:
                            case 50:
                            case 51:
                            case 52:
                            case 53:
                            case 54:
                            case 55:
                            case 56:
                            case 57:
                                if ($this.$mode1 != 1)
                                    break a;
                                $this.$lookAhead = (-2147483648) | $nonCap;
                                break a;
                            case 65:
                                $this.$lookAhead = (-2147483583);
                                break a;
                            case 66:
                                $this.$lookAhead = (-2147483582);
                                break a;
                            case 67:
                            case 69:
                            case 70:
                            case 72:
                            case 73:
                            case 74:
                            case 75:
                            case 76:
                            case 77:
                            case 78:
                            case 79:
                            case 82:
                            case 84:
                            case 85:
                            case 86:
                            case 88:
                            case 89:
                            case 103:
                            case 104:
                            case 105:
                            case 106:
                            case 107:
                            case 108:
                            case 109:
                            case 111:
                            case 113:
                            case 121:
                                $cs = new jur_PatternSyntaxException;
                                var$6 = $rt_s(3);
                                $ptr = 5;
                                continue main;
                            case 68:
                            case 83:
                            case 87:
                            case 100:
                            case 115:
                            case 119:
                                $this.$lookAheadST = jur_AbstractCharClass_getPredefinedClass(jl_String__init_3($this.$pattern1, $this.$prevNW, 1), 0);
                                $this.$lookAhead = 0;
                                break a;
                            case 71:
                                $this.$lookAhead = (-2147483577);
                                break a;
                            case 80:
                            case 112:
                                $ptr = 6;
                                continue main;
                            case 81:
                                $this.$savedMode = $this.$mode1;
                                $this.$mode1 = 4;
                                $reread = 1;
                                break a;
                            case 90:
                                $this.$lookAhead = (-2147483558);
                                break a;
                            case 97:
                                $this.$lookAhead = 7;
                                break a;
                            case 98:
                                $this.$lookAhead = (-2147483550);
                                break a;
                            case 99:
                                $nonCap = $this.$index0;
                                var$3 = $this.$pattern1.data;
                                if ($nonCap >= (var$3.length - 2 | 0)) {
                                    $cs = new jur_PatternSyntaxException;
                                    var$6 = $rt_s(3);
                                    $ptr = 9;
                                    continue main;
                                }
                                $this.$lookAhead = var$3[jur_Lexer_nextIndex($this)] & 31;
                                break a;
                            case 101:
                                $this.$lookAhead = 27;
                                break a;
                            case 102:
                                $this.$lookAhead = 12;
                                break a;
                            case 110:
                                $this.$lookAhead = 10;
                                break a;
                            case 114:
                                $this.$lookAhead = 13;
                                break a;
                            case 116:
                                $this.$lookAhead = 9;
                                break a;
                            case 117:
                                $nonCap = 4;
                                $ptr = 7;
                                continue main;
                            case 120:
                                $nonCap = 2;
                                $ptr = 8;
                                continue main;
                            case 122:
                                $this.$lookAhead = (-2147483526);
                                break a;
                            default:
                        }
                    }
                }
                if ($reread)
                    continue;
                else
                    break;
            }
            return;
        case 1:
            jur_Lexer_setMode($this, $nonCap);
            if ($rt_suspending()) {
                break main;
            }
            c: while ($reread) {
                $reread = 0;
                $nonCap = $this.$index0 >= $this.$pattern1.data.length ? 0 : jur_Lexer_nextCodePoint($this);
                $this.$lookAhead = $nonCap;
                $this.$lookAheadST = null;
                if ($this.$mode1 == 4) {
                    if ($nonCap != 92)
                        return;
                    $nonCap = $this.$index0;
                    var$3 = $this.$pattern1.data;
                    $nonCap = $nonCap >= var$3.length ? 0 : var$3[jur_Lexer_nextIndex($this)];
                    $this.$lookAhead = $nonCap;
                    switch ($nonCap) {
                        case 69:
                            break;
                        default:
                            $this.$lookAhead = 92;
                            $this.$index0 = $this.$prevNW;
                            return;
                    }
                    $this.$mode1 = $this.$savedMode;
                    $this.$lookAhead = $this.$index0 > ($this.$pattern1.data.length - 2 | 0) ? 0 : jur_Lexer_nextCodePoint($this);
                }
                $nonCap = $this.$lookAhead;
                if ($nonCap != 92) {
                    $behind = $this.$mode1;
                    if ($behind != 1) {
                        if ($behind != 2)
                            continue;
                        switch ($nonCap) {
                            case 38:
                                $this.$lookAhead = (-536870874);
                                continue c;
                            case 45:
                                $this.$lookAhead = (-536870867);
                                continue c;
                            case 91:
                                $this.$lookAhead = (-536870821);
                                continue c;
                            case 93:
                                $this.$lookAhead = (-536870819);
                                continue c;
                            case 94:
                                $this.$lookAhead = (-536870818);
                                continue c;
                            default:
                        }
                        continue;
                    }
                    switch ($nonCap) {
                        case 36:
                            $this.$lookAhead = (-536870876);
                            continue c;
                        case 40:
                            if ($this.$pattern1.data[$this.$index0] != 63) {
                                $this.$lookAhead = (-2147483608);
                                continue c;
                            }
                            jur_Lexer_nextIndex($this);
                            $nonCap = $this.$pattern1.data[$this.$index0];
                            $behind = 0;
                            while (true) {
                                d: {
                                    if ($behind) {
                                        $behind = 0;
                                        switch ($nonCap) {
                                            case 33:
                                                break;
                                            case 61:
                                                $this.$lookAhead = (-134217688);
                                                jur_Lexer_nextIndex($this);
                                                break d;
                                            default:
                                                $cs = new jur_PatternSyntaxException;
                                                var$6 = $rt_s(3);
                                                $ptr = 10;
                                                continue main;
                                        }
                                        $this.$lookAhead = (-67108824);
                                        jur_Lexer_nextIndex($this);
                                    } else {
                                        switch ($nonCap) {
                                            case 33:
                                                break;
                                            case 60:
                                                jur_Lexer_nextIndex($this);
                                                $nonCap = $this.$pattern1.data[$this.$index0];
                                                $behind = 1;
                                                break d;
                                            case 61:
                                                $this.$lookAhead = (-536870872);
                                                jur_Lexer_nextIndex($this);
                                                break d;
                                            case 62:
                                                $this.$lookAhead = (-33554392);
                                                jur_Lexer_nextIndex($this);
                                                break d;
                                            default:
                                                $ptr = 11;
                                                continue main;
                                        }
                                        $this.$lookAhead = (-268435416);
                                        jur_Lexer_nextIndex($this);
                                    }
                                }
                                if (!$behind)
                                    break;
                            }
                            continue c;
                        case 41:
                            $this.$lookAhead = (-536870871);
                            continue c;
                        case 42:
                        case 43:
                        case 63:
                            $behind = $this.$index0;
                            var$3 = $this.$pattern1.data;
                            switch ($behind >= var$3.length ? 42 : var$3[$behind]) {
                                case 43:
                                    $this.$lookAhead = $nonCap | (-2147483648);
                                    jur_Lexer_nextIndex($this);
                                    continue c;
                                case 63:
                                    $this.$lookAhead = $nonCap | (-1073741824);
                                    jur_Lexer_nextIndex($this);
                                    continue c;
                                default:
                            }
                            $this.$lookAhead = $nonCap | (-536870912);
                            continue c;
                        case 46:
                            $this.$lookAhead = (-536870866);
                            continue c;
                        case 91:
                            $this.$lookAhead = (-536870821);
                            $nonCap = 2;
                            continue main;
                        case 93:
                            if ($behind != 2)
                                continue c;
                            $this.$lookAhead = (-536870819);
                            continue c;
                        case 94:
                            $this.$lookAhead = (-536870818);
                            continue c;
                        case 123:
                            $ptr = 2;
                            continue main;
                        case 124:
                            $this.$lookAhead = (-536870788);
                            continue c;
                        default:
                    }
                    continue;
                }
                $nonCap = $this.$index0 >= ($this.$pattern1.data.length - 2 | 0) ? (-1) : jur_Lexer_nextCodePoint($this);
                $this.$lookAhead = $nonCap;
                switch ($nonCap) {
                    case -1:
                        $cs = new jur_PatternSyntaxException;
                        var$6 = $rt_s(3);
                        $ptr = 3;
                        continue main;
                    case 0:
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                    case 6:
                    case 7:
                    case 8:
                    case 9:
                    case 10:
                    case 11:
                    case 12:
                    case 13:
                    case 14:
                    case 15:
                    case 16:
                    case 17:
                    case 18:
                    case 19:
                    case 20:
                    case 21:
                    case 22:
                    case 23:
                    case 24:
                    case 25:
                    case 26:
                    case 27:
                    case 28:
                    case 29:
                    case 30:
                    case 31:
                    case 32:
                    case 33:
                    case 34:
                    case 35:
                    case 36:
                    case 37:
                    case 38:
                    case 39:
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 118:
                        break;
                    case 48:
                        $ptr = 4;
                        continue main;
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                        if ($this.$mode1 != 1)
                            continue c;
                        $this.$lookAhead = (-2147483648) | $nonCap;
                        continue c;
                    case 65:
                        $this.$lookAhead = (-2147483583);
                        continue c;
                    case 66:
                        $this.$lookAhead = (-2147483582);
                        continue c;
                    case 67:
                    case 69:
                    case 70:
                    case 72:
                    case 73:
                    case 74:
                    case 75:
                    case 76:
                    case 77:
                    case 78:
                    case 79:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 88:
                    case 89:
                    case 103:
                    case 104:
                    case 105:
                    case 106:
                    case 107:
                    case 108:
                    case 109:
                    case 111:
                    case 113:
                    case 121:
                        $cs = new jur_PatternSyntaxException;
                        var$6 = $rt_s(3);
                        $ptr = 5;
                        continue main;
                    case 68:
                    case 83:
                    case 87:
                    case 100:
                    case 115:
                    case 119:
                        $this.$lookAheadST = jur_AbstractCharClass_getPredefinedClass(jl_String__init_3($this.$pattern1, $this.$prevNW, 1), 0);
                        $this.$lookAhead = 0;
                        continue c;
                    case 71:
                        $this.$lookAhead = (-2147483577);
                        continue c;
                    case 80:
                    case 112:
                        $ptr = 6;
                        continue main;
                    case 81:
                        $this.$savedMode = $this.$mode1;
                        $this.$mode1 = 4;
                        $reread = 1;
                        continue c;
                    case 90:
                        $this.$lookAhead = (-2147483558);
                        continue c;
                    case 97:
                        $this.$lookAhead = 7;
                        continue c;
                    case 98:
                        $this.$lookAhead = (-2147483550);
                        continue c;
                    case 99:
                        $nonCap = $this.$index0;
                        var$3 = $this.$pattern1.data;
                        if ($nonCap >= (var$3.length - 2 | 0)) {
                            $cs = new jur_PatternSyntaxException;
                            var$6 = $rt_s(3);
                            $ptr = 9;
                            continue main;
                        }
                        $this.$lookAhead = var$3[jur_Lexer_nextIndex($this)] & 31;
                        continue c;
                    case 101:
                        $this.$lookAhead = 27;
                        continue c;
                    case 102:
                        $this.$lookAhead = 12;
                        continue c;
                    case 110:
                        $this.$lookAhead = 10;
                        continue c;
                    case 114:
                        $this.$lookAhead = 13;
                        continue c;
                    case 116:
                        $this.$lookAhead = 9;
                        continue c;
                    case 117:
                        $nonCap = 4;
                        $ptr = 7;
                        continue main;
                    case 120:
                        $nonCap = 2;
                        $ptr = 8;
                        continue main;
                    case 122:
                        $this.$lookAhead = (-2147483526);
                        continue c;
                    default:
                }
            }
            return;
        case 2:
            $tmp = jur_Lexer_processQuantifier($this, $nonCap);
            if ($rt_suspending()) {
                break main;
            }
            $cs = $tmp;
            $this.$lookAheadST = $cs;
            c: while ($reread) {
                $reread = 0;
                $nonCap = $this.$index0 >= $this.$pattern1.data.length ? 0 : jur_Lexer_nextCodePoint($this);
                $this.$lookAhead = $nonCap;
                $this.$lookAheadST = null;
                if ($this.$mode1 == 4) {
                    if ($nonCap != 92)
                        return;
                    $nonCap = $this.$index0;
                    var$3 = $this.$pattern1.data;
                    $nonCap = $nonCap >= var$3.length ? 0 : var$3[jur_Lexer_nextIndex($this)];
                    $this.$lookAhead = $nonCap;
                    switch ($nonCap) {
                        case 69:
                            break;
                        default:
                            $this.$lookAhead = 92;
                            $this.$index0 = $this.$prevNW;
                            return;
                    }
                    $this.$mode1 = $this.$savedMode;
                    $this.$lookAhead = $this.$index0 > ($this.$pattern1.data.length - 2 | 0) ? 0 : jur_Lexer_nextCodePoint($this);
                }
                $nonCap = $this.$lookAhead;
                if ($nonCap != 92) {
                    $behind = $this.$mode1;
                    if ($behind != 1) {
                        if ($behind != 2)
                            continue;
                        switch ($nonCap) {
                            case 38:
                                $this.$lookAhead = (-536870874);
                                continue c;
                            case 45:
                                $this.$lookAhead = (-536870867);
                                continue c;
                            case 91:
                                $this.$lookAhead = (-536870821);
                                continue c;
                            case 93:
                                $this.$lookAhead = (-536870819);
                                continue c;
                            case 94:
                                $this.$lookAhead = (-536870818);
                                continue c;
                            default:
                        }
                        continue;
                    }
                    switch ($nonCap) {
                        case 36:
                            $this.$lookAhead = (-536870876);
                            continue c;
                        case 40:
                            if ($this.$pattern1.data[$this.$index0] != 63) {
                                $this.$lookAhead = (-2147483608);
                                continue c;
                            }
                            jur_Lexer_nextIndex($this);
                            $nonCap = $this.$pattern1.data[$this.$index0];
                            $behind = 0;
                            while (true) {
                                d: {
                                    if ($behind) {
                                        $behind = 0;
                                        switch ($nonCap) {
                                            case 33:
                                                break;
                                            case 61:
                                                $this.$lookAhead = (-134217688);
                                                jur_Lexer_nextIndex($this);
                                                break d;
                                            default:
                                                $cs = new jur_PatternSyntaxException;
                                                var$6 = $rt_s(3);
                                                $ptr = 10;
                                                continue main;
                                        }
                                        $this.$lookAhead = (-67108824);
                                        jur_Lexer_nextIndex($this);
                                    } else {
                                        switch ($nonCap) {
                                            case 33:
                                                break;
                                            case 60:
                                                jur_Lexer_nextIndex($this);
                                                $nonCap = $this.$pattern1.data[$this.$index0];
                                                $behind = 1;
                                                break d;
                                            case 61:
                                                $this.$lookAhead = (-536870872);
                                                jur_Lexer_nextIndex($this);
                                                break d;
                                            case 62:
                                                $this.$lookAhead = (-33554392);
                                                jur_Lexer_nextIndex($this);
                                                break d;
                                            default:
                                                $ptr = 11;
                                                continue main;
                                        }
                                        $this.$lookAhead = (-268435416);
                                        jur_Lexer_nextIndex($this);
                                    }
                                }
                                if (!$behind)
                                    break;
                            }
                            continue c;
                        case 41:
                            $this.$lookAhead = (-536870871);
                            continue c;
                        case 42:
                        case 43:
                        case 63:
                            $behind = $this.$index0;
                            var$3 = $this.$pattern1.data;
                            switch ($behind >= var$3.length ? 42 : var$3[$behind]) {
                                case 43:
                                    $this.$lookAhead = $nonCap | (-2147483648);
                                    jur_Lexer_nextIndex($this);
                                    continue c;
                                case 63:
                                    $this.$lookAhead = $nonCap | (-1073741824);
                                    jur_Lexer_nextIndex($this);
                                    continue c;
                                default:
                            }
                            $this.$lookAhead = $nonCap | (-536870912);
                            continue c;
                        case 46:
                            $this.$lookAhead = (-536870866);
                            continue c;
                        case 91:
                            $this.$lookAhead = (-536870821);
                            $nonCap = 2;
                            $ptr = 1;
                            continue main;
                        case 93:
                            if ($behind != 2)
                                continue c;
                            $this.$lookAhead = (-536870819);
                            continue c;
                        case 94:
                            $this.$lookAhead = (-536870818);
                            continue c;
                        case 123:
                            continue main;
                        case 124:
                            $this.$lookAhead = (-536870788);
                            continue c;
                        default:
                    }
                    continue;
                }
                $nonCap = $this.$index0 >= ($this.$pattern1.data.length - 2 | 0) ? (-1) : jur_Lexer_nextCodePoint($this);
                $this.$lookAhead = $nonCap;
                switch ($nonCap) {
                    case -1:
                        $cs = new jur_PatternSyntaxException;
                        var$6 = $rt_s(3);
                        $ptr = 3;
                        continue main;
                    case 0:
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                    case 6:
                    case 7:
                    case 8:
                    case 9:
                    case 10:
                    case 11:
                    case 12:
                    case 13:
                    case 14:
                    case 15:
                    case 16:
                    case 17:
                    case 18:
                    case 19:
                    case 20:
                    case 21:
                    case 22:
                    case 23:
                    case 24:
                    case 25:
                    case 26:
                    case 27:
                    case 28:
                    case 29:
                    case 30:
                    case 31:
                    case 32:
                    case 33:
                    case 34:
                    case 35:
                    case 36:
                    case 37:
                    case 38:
                    case 39:
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 118:
                        break;
                    case 48:
                        $ptr = 4;
                        continue main;
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                        if ($this.$mode1 != 1)
                            continue c;
                        $this.$lookAhead = (-2147483648) | $nonCap;
                        continue c;
                    case 65:
                        $this.$lookAhead = (-2147483583);
                        continue c;
                    case 66:
                        $this.$lookAhead = (-2147483582);
                        continue c;
                    case 67:
                    case 69:
                    case 70:
                    case 72:
                    case 73:
                    case 74:
                    case 75:
                    case 76:
                    case 77:
                    case 78:
                    case 79:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 88:
                    case 89:
                    case 103:
                    case 104:
                    case 105:
                    case 106:
                    case 107:
                    case 108:
                    case 109:
                    case 111:
                    case 113:
                    case 121:
                        $cs = new jur_PatternSyntaxException;
                        var$6 = $rt_s(3);
                        $ptr = 5;
                        continue main;
                    case 68:
                    case 83:
                    case 87:
                    case 100:
                    case 115:
                    case 119:
                        $this.$lookAheadST = jur_AbstractCharClass_getPredefinedClass(jl_String__init_3($this.$pattern1, $this.$prevNW, 1), 0);
                        $this.$lookAhead = 0;
                        continue c;
                    case 71:
                        $this.$lookAhead = (-2147483577);
                        continue c;
                    case 80:
                    case 112:
                        $ptr = 6;
                        continue main;
                    case 81:
                        $this.$savedMode = $this.$mode1;
                        $this.$mode1 = 4;
                        $reread = 1;
                        continue c;
                    case 90:
                        $this.$lookAhead = (-2147483558);
                        continue c;
                    case 97:
                        $this.$lookAhead = 7;
                        continue c;
                    case 98:
                        $this.$lookAhead = (-2147483550);
                        continue c;
                    case 99:
                        $nonCap = $this.$index0;
                        var$3 = $this.$pattern1.data;
                        if ($nonCap >= (var$3.length - 2 | 0)) {
                            $cs = new jur_PatternSyntaxException;
                            var$6 = $rt_s(3);
                            $ptr = 9;
                            continue main;
                        }
                        $this.$lookAhead = var$3[jur_Lexer_nextIndex($this)] & 31;
                        continue c;
                    case 101:
                        $this.$lookAhead = 27;
                        continue c;
                    case 102:
                        $this.$lookAhead = 12;
                        continue c;
                    case 110:
                        $this.$lookAhead = 10;
                        continue c;
                    case 114:
                        $this.$lookAhead = 13;
                        continue c;
                    case 116:
                        $this.$lookAhead = 9;
                        continue c;
                    case 117:
                        $nonCap = 4;
                        $ptr = 7;
                        continue main;
                    case 120:
                        $nonCap = 2;
                        $ptr = 8;
                        continue main;
                    case 122:
                        $this.$lookAhead = (-2147483526);
                        continue c;
                    default:
                }
            }
            return;
        case 3:
            $tmp = jur_Lexer_toString($this);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jur_PatternSyntaxException__init_($cs, var$6, var$7, $this.$index0);
            $rt_throw($cs);
        case 4:
            $tmp = jur_Lexer_readOctals($this);
            if ($rt_suspending()) {
                break main;
            }
            $nonCap = $tmp;
            $this.$lookAhead = $nonCap;
            c: while ($reread) {
                $reread = 0;
                $nonCap = $this.$index0 >= $this.$pattern1.data.length ? 0 : jur_Lexer_nextCodePoint($this);
                $this.$lookAhead = $nonCap;
                $this.$lookAheadST = null;
                if ($this.$mode1 == 4) {
                    if ($nonCap != 92)
                        return;
                    $nonCap = $this.$index0;
                    var$3 = $this.$pattern1.data;
                    $nonCap = $nonCap >= var$3.length ? 0 : var$3[jur_Lexer_nextIndex($this)];
                    $this.$lookAhead = $nonCap;
                    switch ($nonCap) {
                        case 69:
                            break;
                        default:
                            $this.$lookAhead = 92;
                            $this.$index0 = $this.$prevNW;
                            return;
                    }
                    $this.$mode1 = $this.$savedMode;
                    $this.$lookAhead = $this.$index0 > ($this.$pattern1.data.length - 2 | 0) ? 0 : jur_Lexer_nextCodePoint($this);
                }
                $nonCap = $this.$lookAhead;
                if ($nonCap != 92) {
                    $behind = $this.$mode1;
                    if ($behind != 1) {
                        if ($behind != 2)
                            continue;
                        switch ($nonCap) {
                            case 38:
                                $this.$lookAhead = (-536870874);
                                continue c;
                            case 45:
                                $this.$lookAhead = (-536870867);
                                continue c;
                            case 91:
                                $this.$lookAhead = (-536870821);
                                continue c;
                            case 93:
                                $this.$lookAhead = (-536870819);
                                continue c;
                            case 94:
                                $this.$lookAhead = (-536870818);
                                continue c;
                            default:
                        }
                        continue;
                    }
                    switch ($nonCap) {
                        case 36:
                            $this.$lookAhead = (-536870876);
                            continue c;
                        case 40:
                            if ($this.$pattern1.data[$this.$index0] != 63) {
                                $this.$lookAhead = (-2147483608);
                                continue c;
                            }
                            jur_Lexer_nextIndex($this);
                            $nonCap = $this.$pattern1.data[$this.$index0];
                            $behind = 0;
                            while (true) {
                                d: {
                                    if ($behind) {
                                        $behind = 0;
                                        switch ($nonCap) {
                                            case 33:
                                                break;
                                            case 61:
                                                $this.$lookAhead = (-134217688);
                                                jur_Lexer_nextIndex($this);
                                                break d;
                                            default:
                                                $cs = new jur_PatternSyntaxException;
                                                var$6 = $rt_s(3);
                                                $ptr = 10;
                                                continue main;
                                        }
                                        $this.$lookAhead = (-67108824);
                                        jur_Lexer_nextIndex($this);
                                    } else {
                                        switch ($nonCap) {
                                            case 33:
                                                break;
                                            case 60:
                                                jur_Lexer_nextIndex($this);
                                                $nonCap = $this.$pattern1.data[$this.$index0];
                                                $behind = 1;
                                                break d;
                                            case 61:
                                                $this.$lookAhead = (-536870872);
                                                jur_Lexer_nextIndex($this);
                                                break d;
                                            case 62:
                                                $this.$lookAhead = (-33554392);
                                                jur_Lexer_nextIndex($this);
                                                break d;
                                            default:
                                                $ptr = 11;
                                                continue main;
                                        }
                                        $this.$lookAhead = (-268435416);
                                        jur_Lexer_nextIndex($this);
                                    }
                                }
                                if (!$behind)
                                    break;
                            }
                            continue c;
                        case 41:
                            $this.$lookAhead = (-536870871);
                            continue c;
                        case 42:
                        case 43:
                        case 63:
                            $behind = $this.$index0;
                            var$3 = $this.$pattern1.data;
                            switch ($behind >= var$3.length ? 42 : var$3[$behind]) {
                                case 43:
                                    $this.$lookAhead = $nonCap | (-2147483648);
                                    jur_Lexer_nextIndex($this);
                                    continue c;
                                case 63:
                                    $this.$lookAhead = $nonCap | (-1073741824);
                                    jur_Lexer_nextIndex($this);
                                    continue c;
                                default:
                            }
                            $this.$lookAhead = $nonCap | (-536870912);
                            continue c;
                        case 46:
                            $this.$lookAhead = (-536870866);
                            continue c;
                        case 91:
                            $this.$lookAhead = (-536870821);
                            $nonCap = 2;
                            $ptr = 1;
                            continue main;
                        case 93:
                            if ($behind != 2)
                                continue c;
                            $this.$lookAhead = (-536870819);
                            continue c;
                        case 94:
                            $this.$lookAhead = (-536870818);
                            continue c;
                        case 123:
                            $ptr = 2;
                            continue main;
                        case 124:
                            $this.$lookAhead = (-536870788);
                            continue c;
                        default:
                    }
                    continue;
                }
                $nonCap = $this.$index0 >= ($this.$pattern1.data.length - 2 | 0) ? (-1) : jur_Lexer_nextCodePoint($this);
                $this.$lookAhead = $nonCap;
                switch ($nonCap) {
                    case -1:
                        $cs = new jur_PatternSyntaxException;
                        var$6 = $rt_s(3);
                        $ptr = 3;
                        continue main;
                    case 0:
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                    case 6:
                    case 7:
                    case 8:
                    case 9:
                    case 10:
                    case 11:
                    case 12:
                    case 13:
                    case 14:
                    case 15:
                    case 16:
                    case 17:
                    case 18:
                    case 19:
                    case 20:
                    case 21:
                    case 22:
                    case 23:
                    case 24:
                    case 25:
                    case 26:
                    case 27:
                    case 28:
                    case 29:
                    case 30:
                    case 31:
                    case 32:
                    case 33:
                    case 34:
                    case 35:
                    case 36:
                    case 37:
                    case 38:
                    case 39:
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 118:
                        break;
                    case 48:
                        continue main;
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                        if ($this.$mode1 != 1)
                            continue c;
                        $this.$lookAhead = (-2147483648) | $nonCap;
                        continue c;
                    case 65:
                        $this.$lookAhead = (-2147483583);
                        continue c;
                    case 66:
                        $this.$lookAhead = (-2147483582);
                        continue c;
                    case 67:
                    case 69:
                    case 70:
                    case 72:
                    case 73:
                    case 74:
                    case 75:
                    case 76:
                    case 77:
                    case 78:
                    case 79:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 88:
                    case 89:
                    case 103:
                    case 104:
                    case 105:
                    case 106:
                    case 107:
                    case 108:
                    case 109:
                    case 111:
                    case 113:
                    case 121:
                        $cs = new jur_PatternSyntaxException;
                        var$6 = $rt_s(3);
                        $ptr = 5;
                        continue main;
                    case 68:
                    case 83:
                    case 87:
                    case 100:
                    case 115:
                    case 119:
                        $this.$lookAheadST = jur_AbstractCharClass_getPredefinedClass(jl_String__init_3($this.$pattern1, $this.$prevNW, 1), 0);
                        $this.$lookAhead = 0;
                        continue c;
                    case 71:
                        $this.$lookAhead = (-2147483577);
                        continue c;
                    case 80:
                    case 112:
                        $ptr = 6;
                        continue main;
                    case 81:
                        $this.$savedMode = $this.$mode1;
                        $this.$mode1 = 4;
                        $reread = 1;
                        continue c;
                    case 90:
                        $this.$lookAhead = (-2147483558);
                        continue c;
                    case 97:
                        $this.$lookAhead = 7;
                        continue c;
                    case 98:
                        $this.$lookAhead = (-2147483550);
                        continue c;
                    case 99:
                        $nonCap = $this.$index0;
                        var$3 = $this.$pattern1.data;
                        if ($nonCap >= (var$3.length - 2 | 0)) {
                            $cs = new jur_PatternSyntaxException;
                            var$6 = $rt_s(3);
                            $ptr = 9;
                            continue main;
                        }
                        $this.$lookAhead = var$3[jur_Lexer_nextIndex($this)] & 31;
                        continue c;
                    case 101:
                        $this.$lookAhead = 27;
                        continue c;
                    case 102:
                        $this.$lookAhead = 12;
                        continue c;
                    case 110:
                        $this.$lookAhead = 10;
                        continue c;
                    case 114:
                        $this.$lookAhead = 13;
                        continue c;
                    case 116:
                        $this.$lookAhead = 9;
                        continue c;
                    case 117:
                        $nonCap = 4;
                        $ptr = 7;
                        continue main;
                    case 120:
                        $nonCap = 2;
                        $ptr = 8;
                        continue main;
                    case 122:
                        $this.$lookAhead = (-2147483526);
                        continue c;
                    default:
                }
            }
            return;
        case 5:
            $tmp = jur_Lexer_toString($this);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jur_PatternSyntaxException__init_($cs, var$6, var$7, $this.$index0);
            $rt_throw($cs);
        case 6:
            $tmp = jur_Lexer_parseCharClassName($this);
            if ($rt_suspending()) {
                break main;
            }
            $cs = $tmp;
            $negative = 0;
            if ($this.$lookAhead == 80)
                $negative = 1;
            e: {
                try {
                    $this.$lookAheadST = jur_AbstractCharClass_getPredefinedClass($cs, $negative);
                    break e;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ju_MissingResourceException) {
                    } else {
                        throw $$e;
                    }
                }
                $cs = new jur_PatternSyntaxException;
                var$6 = $rt_s(3);
                $ptr = 12;
                continue main;
            }
            $this.$lookAhead = 0;
            f: while ($reread) {
                $reread = 0;
                $nonCap = $this.$index0 >= $this.$pattern1.data.length ? 0 : jur_Lexer_nextCodePoint($this);
                $this.$lookAhead = $nonCap;
                $this.$lookAheadST = null;
                if ($this.$mode1 == 4) {
                    if ($nonCap != 92)
                        return;
                    $nonCap = $this.$index0;
                    var$3 = $this.$pattern1.data;
                    $nonCap = $nonCap >= var$3.length ? 0 : var$3[jur_Lexer_nextIndex($this)];
                    $this.$lookAhead = $nonCap;
                    switch ($nonCap) {
                        case 69:
                            break;
                        default:
                            $this.$lookAhead = 92;
                            $this.$index0 = $this.$prevNW;
                            return;
                    }
                    $this.$mode1 = $this.$savedMode;
                    $this.$lookAhead = $this.$index0 > ($this.$pattern1.data.length - 2 | 0) ? 0 : jur_Lexer_nextCodePoint($this);
                }
                $nonCap = $this.$lookAhead;
                if ($nonCap != 92) {
                    $behind = $this.$mode1;
                    if ($behind != 1) {
                        if ($behind != 2)
                            continue;
                        switch ($nonCap) {
                            case 38:
                                $this.$lookAhead = (-536870874);
                                continue f;
                            case 45:
                                $this.$lookAhead = (-536870867);
                                continue f;
                            case 91:
                                $this.$lookAhead = (-536870821);
                                continue f;
                            case 93:
                                $this.$lookAhead = (-536870819);
                                continue f;
                            case 94:
                                $this.$lookAhead = (-536870818);
                                continue f;
                            default:
                        }
                        continue;
                    }
                    switch ($nonCap) {
                        case 36:
                            $this.$lookAhead = (-536870876);
                            continue f;
                        case 40:
                            if ($this.$pattern1.data[$this.$index0] != 63) {
                                $this.$lookAhead = (-2147483608);
                                continue f;
                            }
                            jur_Lexer_nextIndex($this);
                            $nonCap = $this.$pattern1.data[$this.$index0];
                            $behind = 0;
                            while (true) {
                                g: {
                                    if ($behind) {
                                        $behind = 0;
                                        switch ($nonCap) {
                                            case 33:
                                                break;
                                            case 61:
                                                $this.$lookAhead = (-134217688);
                                                jur_Lexer_nextIndex($this);
                                                break g;
                                            default:
                                                $cs = new jur_PatternSyntaxException;
                                                var$6 = $rt_s(3);
                                                $ptr = 10;
                                                continue main;
                                        }
                                        $this.$lookAhead = (-67108824);
                                        jur_Lexer_nextIndex($this);
                                    } else {
                                        switch ($nonCap) {
                                            case 33:
                                                break;
                                            case 60:
                                                jur_Lexer_nextIndex($this);
                                                $nonCap = $this.$pattern1.data[$this.$index0];
                                                $behind = 1;
                                                break g;
                                            case 61:
                                                $this.$lookAhead = (-536870872);
                                                jur_Lexer_nextIndex($this);
                                                break g;
                                            case 62:
                                                $this.$lookAhead = (-33554392);
                                                jur_Lexer_nextIndex($this);
                                                break g;
                                            default:
                                                $ptr = 11;
                                                continue main;
                                        }
                                        $this.$lookAhead = (-268435416);
                                        jur_Lexer_nextIndex($this);
                                    }
                                }
                                if (!$behind)
                                    break;
                            }
                            continue f;
                        case 41:
                            $this.$lookAhead = (-536870871);
                            continue f;
                        case 42:
                        case 43:
                        case 63:
                            $behind = $this.$index0;
                            var$3 = $this.$pattern1.data;
                            switch ($behind >= var$3.length ? 42 : var$3[$behind]) {
                                case 43:
                                    $this.$lookAhead = $nonCap | (-2147483648);
                                    jur_Lexer_nextIndex($this);
                                    continue f;
                                case 63:
                                    $this.$lookAhead = $nonCap | (-1073741824);
                                    jur_Lexer_nextIndex($this);
                                    continue f;
                                default:
                            }
                            $this.$lookAhead = $nonCap | (-536870912);
                            continue f;
                        case 46:
                            $this.$lookAhead = (-536870866);
                            continue f;
                        case 91:
                            $this.$lookAhead = (-536870821);
                            $nonCap = 2;
                            $ptr = 1;
                            continue main;
                        case 93:
                            if ($behind != 2)
                                continue f;
                            $this.$lookAhead = (-536870819);
                            continue f;
                        case 94:
                            $this.$lookAhead = (-536870818);
                            continue f;
                        case 123:
                            $ptr = 2;
                            continue main;
                        case 124:
                            $this.$lookAhead = (-536870788);
                            continue f;
                        default:
                    }
                    continue;
                }
                $nonCap = $this.$index0 >= ($this.$pattern1.data.length - 2 | 0) ? (-1) : jur_Lexer_nextCodePoint($this);
                $this.$lookAhead = $nonCap;
                switch ($nonCap) {
                    case -1:
                        $cs = new jur_PatternSyntaxException;
                        var$6 = $rt_s(3);
                        $ptr = 3;
                        continue main;
                    case 0:
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                    case 6:
                    case 7:
                    case 8:
                    case 9:
                    case 10:
                    case 11:
                    case 12:
                    case 13:
                    case 14:
                    case 15:
                    case 16:
                    case 17:
                    case 18:
                    case 19:
                    case 20:
                    case 21:
                    case 22:
                    case 23:
                    case 24:
                    case 25:
                    case 26:
                    case 27:
                    case 28:
                    case 29:
                    case 30:
                    case 31:
                    case 32:
                    case 33:
                    case 34:
                    case 35:
                    case 36:
                    case 37:
                    case 38:
                    case 39:
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 118:
                        break;
                    case 48:
                        $ptr = 4;
                        continue main;
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                        if ($this.$mode1 != 1)
                            continue f;
                        $this.$lookAhead = (-2147483648) | $nonCap;
                        continue f;
                    case 65:
                        $this.$lookAhead = (-2147483583);
                        continue f;
                    case 66:
                        $this.$lookAhead = (-2147483582);
                        continue f;
                    case 67:
                    case 69:
                    case 70:
                    case 72:
                    case 73:
                    case 74:
                    case 75:
                    case 76:
                    case 77:
                    case 78:
                    case 79:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 88:
                    case 89:
                    case 103:
                    case 104:
                    case 105:
                    case 106:
                    case 107:
                    case 108:
                    case 109:
                    case 111:
                    case 113:
                    case 121:
                        $cs = new jur_PatternSyntaxException;
                        var$6 = $rt_s(3);
                        $ptr = 5;
                        continue main;
                    case 68:
                    case 83:
                    case 87:
                    case 100:
                    case 115:
                    case 119:
                        $this.$lookAheadST = jur_AbstractCharClass_getPredefinedClass(jl_String__init_3($this.$pattern1, $this.$prevNW, 1), 0);
                        $this.$lookAhead = 0;
                        continue f;
                    case 71:
                        $this.$lookAhead = (-2147483577);
                        continue f;
                    case 80:
                    case 112:
                        continue main;
                    case 81:
                        $this.$savedMode = $this.$mode1;
                        $this.$mode1 = 4;
                        $reread = 1;
                        continue f;
                    case 90:
                        $this.$lookAhead = (-2147483558);
                        continue f;
                    case 97:
                        $this.$lookAhead = 7;
                        continue f;
                    case 98:
                        $this.$lookAhead = (-2147483550);
                        continue f;
                    case 99:
                        $nonCap = $this.$index0;
                        var$3 = $this.$pattern1.data;
                        if ($nonCap >= (var$3.length - 2 | 0)) {
                            $cs = new jur_PatternSyntaxException;
                            var$6 = $rt_s(3);
                            $ptr = 9;
                            continue main;
                        }
                        $this.$lookAhead = var$3[jur_Lexer_nextIndex($this)] & 31;
                        continue f;
                    case 101:
                        $this.$lookAhead = 27;
                        continue f;
                    case 102:
                        $this.$lookAhead = 12;
                        continue f;
                    case 110:
                        $this.$lookAhead = 10;
                        continue f;
                    case 114:
                        $this.$lookAhead = 13;
                        continue f;
                    case 116:
                        $this.$lookAhead = 9;
                        continue f;
                    case 117:
                        $nonCap = 4;
                        $ptr = 7;
                        continue main;
                    case 120:
                        $nonCap = 2;
                        $ptr = 8;
                        continue main;
                    case 122:
                        $this.$lookAhead = (-2147483526);
                        continue f;
                    default:
                }
            }
            return;
        case 7:
            $tmp = jur_Lexer_readHex($this, $nonCap);
            if ($rt_suspending()) {
                break main;
            }
            $nonCap = $tmp;
            $this.$lookAhead = $nonCap;
            c: while ($reread) {
                $reread = 0;
                $nonCap = $this.$index0 >= $this.$pattern1.data.length ? 0 : jur_Lexer_nextCodePoint($this);
                $this.$lookAhead = $nonCap;
                $this.$lookAheadST = null;
                if ($this.$mode1 == 4) {
                    if ($nonCap != 92)
                        return;
                    $nonCap = $this.$index0;
                    var$3 = $this.$pattern1.data;
                    $nonCap = $nonCap >= var$3.length ? 0 : var$3[jur_Lexer_nextIndex($this)];
                    $this.$lookAhead = $nonCap;
                    switch ($nonCap) {
                        case 69:
                            break;
                        default:
                            $this.$lookAhead = 92;
                            $this.$index0 = $this.$prevNW;
                            return;
                    }
                    $this.$mode1 = $this.$savedMode;
                    $this.$lookAhead = $this.$index0 > ($this.$pattern1.data.length - 2 | 0) ? 0 : jur_Lexer_nextCodePoint($this);
                }
                $nonCap = $this.$lookAhead;
                if ($nonCap != 92) {
                    $behind = $this.$mode1;
                    if ($behind != 1) {
                        if ($behind != 2)
                            continue;
                        switch ($nonCap) {
                            case 38:
                                $this.$lookAhead = (-536870874);
                                continue c;
                            case 45:
                                $this.$lookAhead = (-536870867);
                                continue c;
                            case 91:
                                $this.$lookAhead = (-536870821);
                                continue c;
                            case 93:
                                $this.$lookAhead = (-536870819);
                                continue c;
                            case 94:
                                $this.$lookAhead = (-536870818);
                                continue c;
                            default:
                        }
                        continue;
                    }
                    switch ($nonCap) {
                        case 36:
                            $this.$lookAhead = (-536870876);
                            continue c;
                        case 40:
                            if ($this.$pattern1.data[$this.$index0] != 63) {
                                $this.$lookAhead = (-2147483608);
                                continue c;
                            }
                            jur_Lexer_nextIndex($this);
                            $nonCap = $this.$pattern1.data[$this.$index0];
                            $behind = 0;
                            while (true) {
                                d: {
                                    if ($behind) {
                                        $behind = 0;
                                        switch ($nonCap) {
                                            case 33:
                                                break;
                                            case 61:
                                                $this.$lookAhead = (-134217688);
                                                jur_Lexer_nextIndex($this);
                                                break d;
                                            default:
                                                $cs = new jur_PatternSyntaxException;
                                                var$6 = $rt_s(3);
                                                $ptr = 10;
                                                continue main;
                                        }
                                        $this.$lookAhead = (-67108824);
                                        jur_Lexer_nextIndex($this);
                                    } else {
                                        switch ($nonCap) {
                                            case 33:
                                                break;
                                            case 60:
                                                jur_Lexer_nextIndex($this);
                                                $nonCap = $this.$pattern1.data[$this.$index0];
                                                $behind = 1;
                                                break d;
                                            case 61:
                                                $this.$lookAhead = (-536870872);
                                                jur_Lexer_nextIndex($this);
                                                break d;
                                            case 62:
                                                $this.$lookAhead = (-33554392);
                                                jur_Lexer_nextIndex($this);
                                                break d;
                                            default:
                                                $ptr = 11;
                                                continue main;
                                        }
                                        $this.$lookAhead = (-268435416);
                                        jur_Lexer_nextIndex($this);
                                    }
                                }
                                if (!$behind)
                                    break;
                            }
                            continue c;
                        case 41:
                            $this.$lookAhead = (-536870871);
                            continue c;
                        case 42:
                        case 43:
                        case 63:
                            $behind = $this.$index0;
                            var$3 = $this.$pattern1.data;
                            switch ($behind >= var$3.length ? 42 : var$3[$behind]) {
                                case 43:
                                    $this.$lookAhead = $nonCap | (-2147483648);
                                    jur_Lexer_nextIndex($this);
                                    continue c;
                                case 63:
                                    $this.$lookAhead = $nonCap | (-1073741824);
                                    jur_Lexer_nextIndex($this);
                                    continue c;
                                default:
                            }
                            $this.$lookAhead = $nonCap | (-536870912);
                            continue c;
                        case 46:
                            $this.$lookAhead = (-536870866);
                            continue c;
                        case 91:
                            $this.$lookAhead = (-536870821);
                            $nonCap = 2;
                            $ptr = 1;
                            continue main;
                        case 93:
                            if ($behind != 2)
                                continue c;
                            $this.$lookAhead = (-536870819);
                            continue c;
                        case 94:
                            $this.$lookAhead = (-536870818);
                            continue c;
                        case 123:
                            $ptr = 2;
                            continue main;
                        case 124:
                            $this.$lookAhead = (-536870788);
                            continue c;
                        default:
                    }
                    continue;
                }
                $nonCap = $this.$index0 >= ($this.$pattern1.data.length - 2 | 0) ? (-1) : jur_Lexer_nextCodePoint($this);
                $this.$lookAhead = $nonCap;
                switch ($nonCap) {
                    case -1:
                        $cs = new jur_PatternSyntaxException;
                        var$6 = $rt_s(3);
                        $ptr = 3;
                        continue main;
                    case 0:
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                    case 6:
                    case 7:
                    case 8:
                    case 9:
                    case 10:
                    case 11:
                    case 12:
                    case 13:
                    case 14:
                    case 15:
                    case 16:
                    case 17:
                    case 18:
                    case 19:
                    case 20:
                    case 21:
                    case 22:
                    case 23:
                    case 24:
                    case 25:
                    case 26:
                    case 27:
                    case 28:
                    case 29:
                    case 30:
                    case 31:
                    case 32:
                    case 33:
                    case 34:
                    case 35:
                    case 36:
                    case 37:
                    case 38:
                    case 39:
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 118:
                        break;
                    case 48:
                        $ptr = 4;
                        continue main;
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                        if ($this.$mode1 != 1)
                            continue c;
                        $this.$lookAhead = (-2147483648) | $nonCap;
                        continue c;
                    case 65:
                        $this.$lookAhead = (-2147483583);
                        continue c;
                    case 66:
                        $this.$lookAhead = (-2147483582);
                        continue c;
                    case 67:
                    case 69:
                    case 70:
                    case 72:
                    case 73:
                    case 74:
                    case 75:
                    case 76:
                    case 77:
                    case 78:
                    case 79:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 88:
                    case 89:
                    case 103:
                    case 104:
                    case 105:
                    case 106:
                    case 107:
                    case 108:
                    case 109:
                    case 111:
                    case 113:
                    case 121:
                        $cs = new jur_PatternSyntaxException;
                        var$6 = $rt_s(3);
                        $ptr = 5;
                        continue main;
                    case 68:
                    case 83:
                    case 87:
                    case 100:
                    case 115:
                    case 119:
                        $this.$lookAheadST = jur_AbstractCharClass_getPredefinedClass(jl_String__init_3($this.$pattern1, $this.$prevNW, 1), 0);
                        $this.$lookAhead = 0;
                        continue c;
                    case 71:
                        $this.$lookAhead = (-2147483577);
                        continue c;
                    case 80:
                    case 112:
                        $ptr = 6;
                        continue main;
                    case 81:
                        $this.$savedMode = $this.$mode1;
                        $this.$mode1 = 4;
                        $reread = 1;
                        continue c;
                    case 90:
                        $this.$lookAhead = (-2147483558);
                        continue c;
                    case 97:
                        $this.$lookAhead = 7;
                        continue c;
                    case 98:
                        $this.$lookAhead = (-2147483550);
                        continue c;
                    case 99:
                        $nonCap = $this.$index0;
                        var$3 = $this.$pattern1.data;
                        if ($nonCap >= (var$3.length - 2 | 0)) {
                            $cs = new jur_PatternSyntaxException;
                            var$6 = $rt_s(3);
                            $ptr = 9;
                            continue main;
                        }
                        $this.$lookAhead = var$3[jur_Lexer_nextIndex($this)] & 31;
                        continue c;
                    case 101:
                        $this.$lookAhead = 27;
                        continue c;
                    case 102:
                        $this.$lookAhead = 12;
                        continue c;
                    case 110:
                        $this.$lookAhead = 10;
                        continue c;
                    case 114:
                        $this.$lookAhead = 13;
                        continue c;
                    case 116:
                        $this.$lookAhead = 9;
                        continue c;
                    case 117:
                        $nonCap = 4;
                        continue main;
                    case 120:
                        $nonCap = 2;
                        $ptr = 8;
                        continue main;
                    case 122:
                        $this.$lookAhead = (-2147483526);
                        continue c;
                    default:
                }
            }
            return;
        case 8:
            $tmp = jur_Lexer_readHex($this, $nonCap);
            if ($rt_suspending()) {
                break main;
            }
            $nonCap = $tmp;
            $this.$lookAhead = $nonCap;
            c: while ($reread) {
                $reread = 0;
                $nonCap = $this.$index0 >= $this.$pattern1.data.length ? 0 : jur_Lexer_nextCodePoint($this);
                $this.$lookAhead = $nonCap;
                $this.$lookAheadST = null;
                if ($this.$mode1 == 4) {
                    if ($nonCap != 92)
                        return;
                    $nonCap = $this.$index0;
                    var$3 = $this.$pattern1.data;
                    $nonCap = $nonCap >= var$3.length ? 0 : var$3[jur_Lexer_nextIndex($this)];
                    $this.$lookAhead = $nonCap;
                    switch ($nonCap) {
                        case 69:
                            break;
                        default:
                            $this.$lookAhead = 92;
                            $this.$index0 = $this.$prevNW;
                            return;
                    }
                    $this.$mode1 = $this.$savedMode;
                    $this.$lookAhead = $this.$index0 > ($this.$pattern1.data.length - 2 | 0) ? 0 : jur_Lexer_nextCodePoint($this);
                }
                $nonCap = $this.$lookAhead;
                if ($nonCap != 92) {
                    $behind = $this.$mode1;
                    if ($behind != 1) {
                        if ($behind != 2)
                            continue;
                        switch ($nonCap) {
                            case 38:
                                $this.$lookAhead = (-536870874);
                                continue c;
                            case 45:
                                $this.$lookAhead = (-536870867);
                                continue c;
                            case 91:
                                $this.$lookAhead = (-536870821);
                                continue c;
                            case 93:
                                $this.$lookAhead = (-536870819);
                                continue c;
                            case 94:
                                $this.$lookAhead = (-536870818);
                                continue c;
                            default:
                        }
                        continue;
                    }
                    switch ($nonCap) {
                        case 36:
                            $this.$lookAhead = (-536870876);
                            continue c;
                        case 40:
                            if ($this.$pattern1.data[$this.$index0] != 63) {
                                $this.$lookAhead = (-2147483608);
                                continue c;
                            }
                            jur_Lexer_nextIndex($this);
                            $nonCap = $this.$pattern1.data[$this.$index0];
                            $behind = 0;
                            while (true) {
                                d: {
                                    if ($behind) {
                                        $behind = 0;
                                        switch ($nonCap) {
                                            case 33:
                                                break;
                                            case 61:
                                                $this.$lookAhead = (-134217688);
                                                jur_Lexer_nextIndex($this);
                                                break d;
                                            default:
                                                $cs = new jur_PatternSyntaxException;
                                                var$6 = $rt_s(3);
                                                $ptr = 10;
                                                continue main;
                                        }
                                        $this.$lookAhead = (-67108824);
                                        jur_Lexer_nextIndex($this);
                                    } else {
                                        switch ($nonCap) {
                                            case 33:
                                                break;
                                            case 60:
                                                jur_Lexer_nextIndex($this);
                                                $nonCap = $this.$pattern1.data[$this.$index0];
                                                $behind = 1;
                                                break d;
                                            case 61:
                                                $this.$lookAhead = (-536870872);
                                                jur_Lexer_nextIndex($this);
                                                break d;
                                            case 62:
                                                $this.$lookAhead = (-33554392);
                                                jur_Lexer_nextIndex($this);
                                                break d;
                                            default:
                                                $ptr = 11;
                                                continue main;
                                        }
                                        $this.$lookAhead = (-268435416);
                                        jur_Lexer_nextIndex($this);
                                    }
                                }
                                if (!$behind)
                                    break;
                            }
                            continue c;
                        case 41:
                            $this.$lookAhead = (-536870871);
                            continue c;
                        case 42:
                        case 43:
                        case 63:
                            $behind = $this.$index0;
                            var$3 = $this.$pattern1.data;
                            switch ($behind >= var$3.length ? 42 : var$3[$behind]) {
                                case 43:
                                    $this.$lookAhead = $nonCap | (-2147483648);
                                    jur_Lexer_nextIndex($this);
                                    continue c;
                                case 63:
                                    $this.$lookAhead = $nonCap | (-1073741824);
                                    jur_Lexer_nextIndex($this);
                                    continue c;
                                default:
                            }
                            $this.$lookAhead = $nonCap | (-536870912);
                            continue c;
                        case 46:
                            $this.$lookAhead = (-536870866);
                            continue c;
                        case 91:
                            $this.$lookAhead = (-536870821);
                            $nonCap = 2;
                            $ptr = 1;
                            continue main;
                        case 93:
                            if ($behind != 2)
                                continue c;
                            $this.$lookAhead = (-536870819);
                            continue c;
                        case 94:
                            $this.$lookAhead = (-536870818);
                            continue c;
                        case 123:
                            $ptr = 2;
                            continue main;
                        case 124:
                            $this.$lookAhead = (-536870788);
                            continue c;
                        default:
                    }
                    continue;
                }
                $nonCap = $this.$index0 >= ($this.$pattern1.data.length - 2 | 0) ? (-1) : jur_Lexer_nextCodePoint($this);
                $this.$lookAhead = $nonCap;
                switch ($nonCap) {
                    case -1:
                        $cs = new jur_PatternSyntaxException;
                        var$6 = $rt_s(3);
                        $ptr = 3;
                        continue main;
                    case 0:
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                    case 6:
                    case 7:
                    case 8:
                    case 9:
                    case 10:
                    case 11:
                    case 12:
                    case 13:
                    case 14:
                    case 15:
                    case 16:
                    case 17:
                    case 18:
                    case 19:
                    case 20:
                    case 21:
                    case 22:
                    case 23:
                    case 24:
                    case 25:
                    case 26:
                    case 27:
                    case 28:
                    case 29:
                    case 30:
                    case 31:
                    case 32:
                    case 33:
                    case 34:
                    case 35:
                    case 36:
                    case 37:
                    case 38:
                    case 39:
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 118:
                        break;
                    case 48:
                        $ptr = 4;
                        continue main;
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                        if ($this.$mode1 != 1)
                            continue c;
                        $this.$lookAhead = (-2147483648) | $nonCap;
                        continue c;
                    case 65:
                        $this.$lookAhead = (-2147483583);
                        continue c;
                    case 66:
                        $this.$lookAhead = (-2147483582);
                        continue c;
                    case 67:
                    case 69:
                    case 70:
                    case 72:
                    case 73:
                    case 74:
                    case 75:
                    case 76:
                    case 77:
                    case 78:
                    case 79:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 88:
                    case 89:
                    case 103:
                    case 104:
                    case 105:
                    case 106:
                    case 107:
                    case 108:
                    case 109:
                    case 111:
                    case 113:
                    case 121:
                        $cs = new jur_PatternSyntaxException;
                        var$6 = $rt_s(3);
                        $ptr = 5;
                        continue main;
                    case 68:
                    case 83:
                    case 87:
                    case 100:
                    case 115:
                    case 119:
                        $this.$lookAheadST = jur_AbstractCharClass_getPredefinedClass(jl_String__init_3($this.$pattern1, $this.$prevNW, 1), 0);
                        $this.$lookAhead = 0;
                        continue c;
                    case 71:
                        $this.$lookAhead = (-2147483577);
                        continue c;
                    case 80:
                    case 112:
                        $ptr = 6;
                        continue main;
                    case 81:
                        $this.$savedMode = $this.$mode1;
                        $this.$mode1 = 4;
                        $reread = 1;
                        continue c;
                    case 90:
                        $this.$lookAhead = (-2147483558);
                        continue c;
                    case 97:
                        $this.$lookAhead = 7;
                        continue c;
                    case 98:
                        $this.$lookAhead = (-2147483550);
                        continue c;
                    case 99:
                        $nonCap = $this.$index0;
                        var$3 = $this.$pattern1.data;
                        if ($nonCap >= (var$3.length - 2 | 0)) {
                            $cs = new jur_PatternSyntaxException;
                            var$6 = $rt_s(3);
                            $ptr = 9;
                            continue main;
                        }
                        $this.$lookAhead = var$3[jur_Lexer_nextIndex($this)] & 31;
                        continue c;
                    case 101:
                        $this.$lookAhead = 27;
                        continue c;
                    case 102:
                        $this.$lookAhead = 12;
                        continue c;
                    case 110:
                        $this.$lookAhead = 10;
                        continue c;
                    case 114:
                        $this.$lookAhead = 13;
                        continue c;
                    case 116:
                        $this.$lookAhead = 9;
                        continue c;
                    case 117:
                        $nonCap = 4;
                        $ptr = 7;
                        continue main;
                    case 120:
                        $nonCap = 2;
                        continue main;
                    case 122:
                        $this.$lookAhead = (-2147483526);
                        continue c;
                    default:
                }
            }
            return;
        case 9:
            $tmp = jur_Lexer_toString($this);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jur_PatternSyntaxException__init_($cs, var$6, var$7, $this.$index0);
            $rt_throw($cs);
        case 10:
            $tmp = jur_Lexer_toString($this);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jur_PatternSyntaxException__init_($cs, var$6, var$7, $this.$index0);
            $rt_throw($cs);
        case 11:
            $tmp = jur_Lexer_readFlags($this);
            if ($rt_suspending()) {
                break main;
            }
            $mod = $tmp;
            $this.$lookAhead = $mod;
            if ($mod < 256) {
                $this.$flags0 = $mod;
                $mod = $mod << 16;
                $this.$lookAhead = $mod;
                $this.$lookAhead = (-1073741784) | $mod;
            } else {
                $mod = $mod & 255;
                $this.$lookAhead = $mod;
                $this.$flags0 = $mod;
                $mod = $mod << 16;
                $this.$lookAhead = $mod;
                $this.$lookAhead = (-16777176) | $mod;
            }
            h: while (true) {
                if (!$behind) {
                    i: while (true) {
                        if (!$reread)
                            return;
                        $reread = 0;
                        $nonCap = $this.$index0 >= $this.$pattern1.data.length ? 0 : jur_Lexer_nextCodePoint($this);
                        $this.$lookAhead = $nonCap;
                        $this.$lookAheadST = null;
                        if ($this.$mode1 == 4) {
                            if ($nonCap != 92)
                                break h;
                            $nonCap = $this.$index0;
                            var$3 = $this.$pattern1.data;
                            $nonCap = $nonCap >= var$3.length ? 0 : var$3[jur_Lexer_nextIndex($this)];
                            $this.$lookAhead = $nonCap;
                            switch ($nonCap) {
                                case 69:
                                    break;
                                default:
                                    $this.$lookAhead = 92;
                                    $this.$index0 = $this.$prevNW;
                                    return;
                            }
                            $this.$mode1 = $this.$savedMode;
                            $this.$lookAhead = $this.$index0 > ($this.$pattern1.data.length - 2 | 0) ? 0 : jur_Lexer_nextCodePoint($this);
                        }
                        $nonCap = $this.$lookAhead;
                        if ($nonCap != 92) {
                            $behind = $this.$mode1;
                            if ($behind != 1) {
                                if ($behind != 2)
                                    continue;
                                switch ($nonCap) {
                                    case 38:
                                        $this.$lookAhead = (-536870874);
                                        continue i;
                                    case 45:
                                        $this.$lookAhead = (-536870867);
                                        continue i;
                                    case 91:
                                        $this.$lookAhead = (-536870821);
                                        continue i;
                                    case 93:
                                        $this.$lookAhead = (-536870819);
                                        continue i;
                                    case 94:
                                        $this.$lookAhead = (-536870818);
                                        continue i;
                                    default:
                                }
                                continue;
                            }
                            switch ($nonCap) {
                                case 36:
                                    $this.$lookAhead = (-536870876);
                                    continue i;
                                case 40:
                                    if ($this.$pattern1.data[$this.$index0] == 63)
                                        break i;
                                    $this.$lookAhead = (-2147483608);
                                    continue i;
                                case 41:
                                    $this.$lookAhead = (-536870871);
                                    continue i;
                                case 42:
                                case 43:
                                case 63:
                                    $behind = $this.$index0;
                                    var$3 = $this.$pattern1.data;
                                    switch ($behind >= var$3.length ? 42 : var$3[$behind]) {
                                        case 43:
                                            $this.$lookAhead = $nonCap | (-2147483648);
                                            jur_Lexer_nextIndex($this);
                                            continue i;
                                        case 63:
                                            $this.$lookAhead = $nonCap | (-1073741824);
                                            jur_Lexer_nextIndex($this);
                                            continue i;
                                        default:
                                    }
                                    $this.$lookAhead = $nonCap | (-536870912);
                                    continue i;
                                case 46:
                                    $this.$lookAhead = (-536870866);
                                    continue i;
                                case 91:
                                    $this.$lookAhead = (-536870821);
                                    $nonCap = 2;
                                    $ptr = 1;
                                    continue main;
                                case 93:
                                    if ($behind != 2)
                                        continue i;
                                    $this.$lookAhead = (-536870819);
                                    continue i;
                                case 94:
                                    $this.$lookAhead = (-536870818);
                                    continue i;
                                case 123:
                                    $ptr = 2;
                                    continue main;
                                case 124:
                                    $this.$lookAhead = (-536870788);
                                    continue i;
                                default:
                            }
                            continue;
                        }
                        $nonCap = $this.$index0 >= ($this.$pattern1.data.length - 2 | 0) ? (-1) : jur_Lexer_nextCodePoint($this);
                        $this.$lookAhead = $nonCap;
                        switch ($nonCap) {
                            case -1:
                                $cs = new jur_PatternSyntaxException;
                                var$6 = $rt_s(3);
                                $ptr = 3;
                                continue main;
                            case 0:
                            case 1:
                            case 2:
                            case 3:
                            case 4:
                            case 5:
                            case 6:
                            case 7:
                            case 8:
                            case 9:
                            case 10:
                            case 11:
                            case 12:
                            case 13:
                            case 14:
                            case 15:
                            case 16:
                            case 17:
                            case 18:
                            case 19:
                            case 20:
                            case 21:
                            case 22:
                            case 23:
                            case 24:
                            case 25:
                            case 26:
                            case 27:
                            case 28:
                            case 29:
                            case 30:
                            case 31:
                            case 32:
                            case 33:
                            case 34:
                            case 35:
                            case 36:
                            case 37:
                            case 38:
                            case 39:
                            case 40:
                            case 41:
                            case 42:
                            case 43:
                            case 44:
                            case 45:
                            case 46:
                            case 47:
                            case 58:
                            case 59:
                            case 60:
                            case 61:
                            case 62:
                            case 63:
                            case 64:
                            case 91:
                            case 92:
                            case 93:
                            case 94:
                            case 95:
                            case 96:
                            case 118:
                                break;
                            case 48:
                                $ptr = 4;
                                continue main;
                            case 49:
                            case 50:
                            case 51:
                            case 52:
                            case 53:
                            case 54:
                            case 55:
                            case 56:
                            case 57:
                                if ($this.$mode1 != 1)
                                    continue i;
                                $this.$lookAhead = (-2147483648) | $nonCap;
                                continue i;
                            case 65:
                                $this.$lookAhead = (-2147483583);
                                continue i;
                            case 66:
                                $this.$lookAhead = (-2147483582);
                                continue i;
                            case 67:
                            case 69:
                            case 70:
                            case 72:
                            case 73:
                            case 74:
                            case 75:
                            case 76:
                            case 77:
                            case 78:
                            case 79:
                            case 82:
                            case 84:
                            case 85:
                            case 86:
                            case 88:
                            case 89:
                            case 103:
                            case 104:
                            case 105:
                            case 106:
                            case 107:
                            case 108:
                            case 109:
                            case 111:
                            case 113:
                            case 121:
                                $cs = new jur_PatternSyntaxException;
                                var$6 = $rt_s(3);
                                $ptr = 5;
                                continue main;
                            case 68:
                            case 83:
                            case 87:
                            case 100:
                            case 115:
                            case 119:
                                $this.$lookAheadST = jur_AbstractCharClass_getPredefinedClass(jl_String__init_3($this.$pattern1, $this.$prevNW, 1), 0);
                                $this.$lookAhead = 0;
                                continue i;
                            case 71:
                                $this.$lookAhead = (-2147483577);
                                continue i;
                            case 80:
                            case 112:
                                $ptr = 6;
                                continue main;
                            case 81:
                                $this.$savedMode = $this.$mode1;
                                $this.$mode1 = 4;
                                $reread = 1;
                                continue i;
                            case 90:
                                $this.$lookAhead = (-2147483558);
                                continue i;
                            case 97:
                                $this.$lookAhead = 7;
                                continue i;
                            case 98:
                                $this.$lookAhead = (-2147483550);
                                continue i;
                            case 99:
                                $nonCap = $this.$index0;
                                var$3 = $this.$pattern1.data;
                                if ($nonCap >= (var$3.length - 2 | 0)) {
                                    $cs = new jur_PatternSyntaxException;
                                    var$6 = $rt_s(3);
                                    $ptr = 9;
                                    continue main;
                                }
                                $this.$lookAhead = var$3[jur_Lexer_nextIndex($this)] & 31;
                                continue i;
                            case 101:
                                $this.$lookAhead = 27;
                                continue i;
                            case 102:
                                $this.$lookAhead = 12;
                                continue i;
                            case 110:
                                $this.$lookAhead = 10;
                                continue i;
                            case 114:
                                $this.$lookAhead = 13;
                                continue i;
                            case 116:
                                $this.$lookAhead = 9;
                                continue i;
                            case 117:
                                $nonCap = 4;
                                $ptr = 7;
                                continue main;
                            case 120:
                                $nonCap = 2;
                                $ptr = 8;
                                continue main;
                            case 122:
                                $this.$lookAhead = (-2147483526);
                                continue i;
                            default:
                        }
                    }
                    jur_Lexer_nextIndex($this);
                    $nonCap = $this.$pattern1.data[$this.$index0];
                    $behind = 0;
                }
                if ($behind) {
                    $behind = 0;
                    switch ($nonCap) {
                        case 33:
                            break;
                        case 61:
                            $this.$lookAhead = (-134217688);
                            jur_Lexer_nextIndex($this);
                            continue h;
                        default:
                            $cs = new jur_PatternSyntaxException;
                            var$6 = $rt_s(3);
                            $ptr = 10;
                            continue main;
                    }
                    $this.$lookAhead = (-67108824);
                    jur_Lexer_nextIndex($this);
                    continue;
                }
                switch ($nonCap) {
                    case 33:
                        break;
                    case 60:
                        jur_Lexer_nextIndex($this);
                        $nonCap = $this.$pattern1.data[$this.$index0];
                        $behind = 1;
                        continue h;
                    case 61:
                        $this.$lookAhead = (-536870872);
                        jur_Lexer_nextIndex($this);
                        continue h;
                    case 62:
                        $this.$lookAhead = (-33554392);
                        jur_Lexer_nextIndex($this);
                        continue h;
                    default:
                        continue main;
                }
                $this.$lookAhead = (-268435416);
                jur_Lexer_nextIndex($this);
            }
            return;
        case 12:
            $tmp = jur_Lexer_toString($this);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jur_PatternSyntaxException__init_($cs, var$6, var$7, $this.$index0);
            $rt_throw($cs);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $reread, $nonCap, var$3, $behind, $cs, var$6, var$7, $negative, $mod, $ptr);
    }
    function jur_Lexer_parseCharClassName($this) {
        var $sb, $ch, var$3, var$4, $res, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$res = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$ch = $thread.pop();$sb = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $sb = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_2($sb, 10);
            $ch = $this.$index0;
            var$3 = $this.$pattern1;
            var$4 = var$3.data;
            if ($ch < (var$4.length - 2 | 0)) {
                if (var$4[$ch] != 123) {
                    $sb = jl_String__init_3(var$3, jur_Lexer_nextIndex($this), 1);
                    $res = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($res);
                    var$6 = $rt_s(1191);
                    $ptr = 2;
                    continue main;
                }
                jur_Lexer_nextIndex($this);
                $ch = 0;
                a: {
                    while (true) {
                        var$7 = $this.$index0;
                        var$3 = $this.$pattern1.data;
                        if (var$7 >= (var$3.length - 2 | 0))
                            break;
                        $ch = var$3[jur_Lexer_nextIndex($this)];
                        if ($ch == 125)
                            break a;
                        jl_AbstractStringBuilder_append($sb, $ch);
                    }
                }
                if ($ch != 125)
                    $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
            }
            if (!$sb.$length0)
                $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
            $ptr = 1;
        case 1:
            $tmp = jl_AbstractStringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            $res = $tmp;
            if (jl_String_length($res) != 1) {
                b: {
                    a: {
                        if (jl_String_length($res) > 3) {
                            if (jl_String_startsWith($res, $rt_s(1191)))
                                break a;
                            if (jl_String_startsWith($res, $rt_s(1192)))
                                break a;
                        }
                        break b;
                    }
                    $res = jl_String_substring($res, 2);
                }
                return $res;
            }
            $sb = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($sb);
            var$6 = $rt_s(1191);
            $ptr = 5;
            continue main;
        case 2:
            $tmp = jl_StringBuilder_append($res, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 3;
        case 3:
            jl_StringBuilder_append(var$6, $sb);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString($res);
            if ($rt_suspending()) {
                break main;
            }
            $sb = $tmp;
            return $sb;
        case 5:
            $tmp = jl_StringBuilder_append($sb, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 6;
        case 6:
            jl_StringBuilder_append(var$6, $res);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            $sb = $tmp;
            return $sb;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $sb, $ch, var$3, var$4, $res, var$6, var$7, $ptr);
    }
    function jur_Lexer_processQuantifier($this, $ch) {
        var $sb, $min, $max, $mod, var$6, var$7, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$mod = $thread.pop();$max = $thread.pop();$min = $thread.pop();$sb = $thread.pop();$ch = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $sb = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_2($sb, 4);
            $min = (-1);
            $max = 2147483647;
            a: {
                b: {
                    while (true) {
                        $mod = $this.$index0;
                        var$6 = $this.$pattern1.data;
                        if ($mod >= var$6.length)
                            break;
                        $ch = var$6[jur_Lexer_nextIndex($this)];
                        if ($ch == 125)
                            break b;
                        if ($ch == 44 && $min < 0)
                            break a;
                        jl_AbstractStringBuilder_append($sb, $ch & 65535);
                    }
                }
                if ($ch != 125)
                    $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
                if ($sb.$length0 <= 0) {
                    if ($min < 0)
                        $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
                    if (($min | $max | ($max - $min | 0)) < 0)
                        $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
                    $ch = $this.$index0;
                    var$6 = $this.$pattern1.data;
                    $mod = $ch >= var$6.length ? 42 : var$6[$ch];
                    c: {
                        switch ($mod) {
                            case 43:
                                $this.$lookAhead = (-2147483525);
                                jur_Lexer_nextIndex($this);
                                break c;
                            case 63:
                                $this.$lookAhead = (-1073741701);
                                jur_Lexer_nextIndex($this);
                                break c;
                            default:
                        }
                        $this.$lookAhead = (-536870789);
                    }
                    $sb = new jur_Quantifier;
                    $sb.$min0 = $min;
                    $sb.$max1 = $max;
                    return $sb;
                }
                try {
                    $ptr = 1;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_NumberFormatException) {
                    } else {
                        throw $$e;
                    }
                }
                $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
            }
            try {
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_NumberFormatException) {
                } else {
                    throw $$e;
                }
            }
            $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
        case 1:
            try {
                $tmp = jl_StringBuilder_toString($sb);
                if ($rt_suspending()) {
                    break main;
                }
                $sb = $tmp;
                $ch = 10;
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_NumberFormatException) {
                } else {
                    throw $$e;
                }
            }
            $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
        case 2:
            a: {
                try {
                    $tmp = jl_Integer_parseInt($sb, $ch);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $max = $tmp;
                    if ($min >= 0)
                        break a;
                    $min = $max;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_NumberFormatException) {
                    } else {
                        throw $$e;
                    }
                }
                $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
            }
            if (($min | $max | ($max - $min | 0)) < 0)
                $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
            $ch = $this.$index0;
            var$6 = $this.$pattern1.data;
            $mod = $ch >= var$6.length ? 42 : var$6[$ch];
            d: {
                switch ($mod) {
                    case 43:
                        $this.$lookAhead = (-2147483525);
                        jur_Lexer_nextIndex($this);
                        break d;
                    case 63:
                        $this.$lookAhead = (-1073741701);
                        jur_Lexer_nextIndex($this);
                        break d;
                    default:
                }
                $this.$lookAhead = (-536870789);
            }
            $sb = new jur_Quantifier;
            $sb.$min0 = $min;
            $sb.$max1 = $max;
            return $sb;
        case 3:
            try {
                $tmp = jl_StringBuilder_toString($sb);
                if ($rt_suspending()) {
                    break main;
                }
                var$7 = $tmp;
                $min = 10;
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_NumberFormatException) {
                } else {
                    throw $$e;
                }
            }
            $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
        case 4:
            a: {
                try {
                    $tmp = jl_Integer_parseInt(var$7, $min);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $min = $tmp;
                    jl_StringBuilder_delete($sb, 0, jl_StringBuilder_length($sb));
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_NumberFormatException) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                b: {
                    e: {
                        while (true) {
                            $mod = $this.$index0;
                            var$6 = $this.$pattern1.data;
                            if ($mod >= var$6.length)
                                break;
                            $ch = var$6[jur_Lexer_nextIndex($this)];
                            if ($ch == 125)
                                break e;
                            if ($ch == 44 && $min < 0)
                                break b;
                            jl_AbstractStringBuilder_append($sb, $ch & 65535);
                        }
                    }
                    if ($ch != 125)
                        $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
                    if ($sb.$length0 <= 0) {
                        if ($min < 0)
                            $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
                        if (($min | $max | ($max - $min | 0)) < 0)
                            $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
                        $ch = $this.$index0;
                        var$6 = $this.$pattern1.data;
                        $mod = $ch >= var$6.length ? 42 : var$6[$ch];
                        f: {
                            switch ($mod) {
                                case 43:
                                    $this.$lookAhead = (-2147483525);
                                    jur_Lexer_nextIndex($this);
                                    break f;
                                case 63:
                                    $this.$lookAhead = (-1073741701);
                                    jur_Lexer_nextIndex($this);
                                    break f;
                                default:
                            }
                            $this.$lookAhead = (-536870789);
                        }
                        $sb = new jur_Quantifier;
                        $sb.$min0 = $min;
                        $sb.$max1 = $max;
                        return $sb;
                    }
                    try {
                        $ptr = 1;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_NumberFormatException) {
                        } else {
                            throw $$e;
                        }
                    }
                    $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
                }
                try {
                    $ptr = 3;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_NumberFormatException) {
                    } else {
                        throw $$e;
                    }
                }
            }
            $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ch, $sb, $min, $max, $mod, var$6, var$7, $ptr);
    }
    function jur_Lexer_toString($this) {
        return $this.$orig;
    }
    function jur_Lexer_isEmpty($this) {
        return !$this.$ch && !$this.$lookAhead && $this.$index0 == $this.$patternFullLength && !jur_Lexer_isSpecial($this) ? 1 : 0;
    }
    function jur_Lexer_isLetter0($ch) {
        return $ch < 0 ? 0 : 1;
    }
    function jur_Lexer_isLetter($this) {
        return !jur_Lexer_isEmpty($this) && !jur_Lexer_isSpecial($this) && jur_Lexer_isLetter0($this.$ch) ? 1 : 0;
    }
    function jur_Lexer_isHighSurrogate($this) {
        var var$1;
        var$1 = $this.$ch;
        return var$1 <= 56319 && var$1 >= 55296 ? 1 : 0;
    }
    function jur_Lexer_isLowSurrogate($this) {
        var var$1;
        var$1 = $this.$ch;
        return var$1 <= 57343 && var$1 >= 56320 ? 1 : 0;
    }
    function jur_Lexer_isHighSurrogate0($ch) {
        return $ch <= 56319 && $ch >= 55296 ? 1 : 0;
    }
    function jur_Lexer_isLowSurrogate0($ch) {
        return $ch <= 57343 && $ch >= 56320 ? 1 : 0;
    }
    function jur_Lexer_readHex($this, $max) {
        var $st, $length, $i, var$5, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$i = $thread.pop();$length = $thread.pop();$st = $thread.pop();$max = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $st = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_2($st, $max);
            $length = $this.$pattern1.data.length - 2 | 0;
            $i = 0;
            while (true) {
                var$5 = $rt_compare($i, $max);
                if (var$5 >= 0)
                    break;
                if ($this.$index0 >= $length)
                    break;
                jl_AbstractStringBuilder_append($st, $this.$pattern1.data[jur_Lexer_nextIndex($this)]);
                $i = $i + 1 | 0;
            }
            if (!var$5)
                try {
                    $ptr = 1;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_NumberFormatException) {
                    } else {
                        throw $$e;
                    }
                }
            $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
        case 1:
            try {
                $tmp = jl_StringBuilder_toString($st);
                if ($rt_suspending()) {
                    break main;
                }
                $st = $tmp;
                $max = 16;
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_NumberFormatException) {
                } else {
                    throw $$e;
                }
            }
            $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
        case 2:
            a: {
                try {
                    $tmp = jl_Integer_parseInt($st, $max);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $max = $tmp;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_NumberFormatException) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $max;
            }
            $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $max, $st, $length, $i, var$5, $ptr);
    }
    function jur_Lexer_readOctals($this) {
        var $max, $i, var$3, $length, $res, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$res = $thread.pop();$length = $thread.pop();var$3 = $thread.pop();$i = $thread.pop();$max = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $max = 3;
            $i = 1;
            var$3 = $this.$pattern1.data;
            $length = var$3.length - 2 | 0;
            $res = jl_Character_digit(var$3[$this.$index0], 8);
            switch ($res) {
                case -1:
                    break;
                default:
                    if ($res > 3)
                        $max = 2;
                    jur_Lexer_nextIndex($this);
                    a: {
                        while (true) {
                            if ($i >= $max)
                                break a;
                            var$6 = $this.$index0;
                            if (var$6 >= $length)
                                break a;
                            var$6 = jl_Character_digit($this.$pattern1.data[var$6], 8);
                            if (var$6 < 0)
                                break;
                            $res = ($res * 8 | 0) + var$6 | 0;
                            jur_Lexer_nextIndex($this);
                            $i = $i + 1 | 0;
                        }
                    }
                    return $res;
            }
            $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, $this.$index0));
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $max, $i, var$3, $length, $res, var$6, $ptr);
    }
    function jur_Lexer_readFlags($this) {
        var $pos, $res, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$res = $thread.pop();$pos = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $pos = 1;
            $res = $this.$flags0;
            a: while (true) {
                var$3 = $this.$index0;
                var$4 = $this.$pattern1.data;
                if (var$3 >= var$4.length)
                    $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, var$3));
                b: {
                    c: {
                        switch (var$4[var$3]) {
                            case 41:
                                jur_Lexer_nextIndex($this);
                                return $res | 256;
                            case 45:
                                if (!$pos)
                                    $rt_throw(jur_PatternSyntaxException__init_0($rt_s(3), $this.$orig, var$3));
                                $pos = 0;
                                break b;
                            case 58:
                                break a;
                            case 100:
                                break c;
                            case 105:
                                $res = $pos ? $res | 2 : ($res ^ 2) & $res;
                                break b;
                            case 109:
                                $res = $pos ? $res | 8 : ($res ^ 8) & $res;
                                break b;
                            case 115:
                                $res = $pos ? $res | 32 : ($res ^ 32) & $res;
                                break b;
                            case 117:
                                $res = $pos ? $res | 64 : ($res ^ 64) & $res;
                                break b;
                            case 120:
                                $res = $pos ? $res | 4 : ($res ^ 4) & $res;
                                break b;
                            default:
                        }
                        break b;
                    }
                    $res = $pos ? $res | 1 : ($res ^ 1) & $res;
                }
                jur_Lexer_nextIndex($this);
            }
            jur_Lexer_nextIndex($this);
            return $res;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pos, $res, var$3, var$4, $ptr);
    }
    function jur_Lexer_nextIndex($this) {
        var var$1, var$2, var$3, var$4, var$5;
        var$1 = $this.$index0;
        $this.$prevNW = var$1;
        if (!($this.$flags0 & 4))
            $this.$index0 = var$1 + 1 | 0;
        else {
            var$2 = $this.$pattern1.data.length - 2 | 0;
            $this.$index0 = var$1 + 1 | 0;
            a: while (true) {
                var$3 = $this.$index0;
                if (var$3 < var$2 && jl_Character_isWhitespace($this.$pattern1.data[var$3])) {
                    $this.$index0 = $this.$index0 + 1 | 0;
                    continue;
                }
                var$3 = $this.$index0;
                if (var$3 >= var$2)
                    break;
                var$4 = $this.$pattern1.data;
                if (var$4[var$3] != 35)
                    break;
                $this.$index0 = var$3 + 1 | 0;
                while (true) {
                    var$5 = $this.$index0;
                    if (var$5 >= var$2)
                        continue a;
                    var$1 = var$4[var$5];
                    if (var$1 != 10 && var$1 != 13 && var$1 != 133 && (var$1 | 1) != 8233 ? 0 : 1)
                        continue a;
                    $this.$index0 = var$5 + 1 | 0;
                }
            }
        }
        return $this.$prevNW;
    }
    function jur_Lexer_getDecomposition($ch) {
        return jur_Lexer_decompTable.$get8($ch);
    }
    function jur_Lexer_nextCodePoint($this) {
        var $high, $lowExpectedIndex, var$3, $low;
        $high = $this.$pattern1.data[jur_Lexer_nextIndex($this)];
        if (jl_Character_isHighSurrogate($high)) {
            $lowExpectedIndex = $this.$prevNW + 1 | 0;
            var$3 = $this.$pattern1.data;
            if ($lowExpectedIndex < var$3.length) {
                $low = var$3[$lowExpectedIndex];
                if (jl_Character_isLowSurrogate($low)) {
                    jur_Lexer_nextIndex($this);
                    return jl_Character_toCodePoint($high, $low);
                }
            }
        }
        return $high;
    }
    function jur_Lexer_getIndex($this) {
        return $this.$curToc;
    }
    function jur_PatternSyntaxException() {
        var a = this; jl_IllegalArgumentException.call(a);
        a.$desc = null;
        a.$pattern2 = null;
        a.$index2 = 0;
    }
    function jur_PatternSyntaxException__init_0(var_0, var_1, var_2) {
        var var_3 = new jur_PatternSyntaxException();
        jur_PatternSyntaxException__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function jur_PatternSyntaxException__init_($this, $description, $pattern, $index) {
        jl_Throwable__init_0($this);
        $this.$index2 = (-1);
        $this.$desc = $description;
        $this.$pattern2 = $pattern;
        $this.$index2 = $index;
    }
    function jur_PatternSyntaxException_getMessage($this) {
        var $filler, var$2, $temp, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$temp = $thread.pop();var$2 = $thread.pop();$filler = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $filler = $rt_s(3);
            var$2 = $this.$index2;
            if (var$2 >= 1) {
                $temp = $rt_createCharArray(var$2);
                var$4 = $temp.data;
                var$2 = 0;
                var$5 = var$4.length;
                if (var$2 > var$5) {
                    $filler = new jl_IllegalArgumentException;
                    jl_Throwable__init_0($filler);
                    $rt_throw($filler);
                }
                while (var$2 < var$5) {
                    var$6 = var$2 + 1 | 0;
                    var$4[var$2] = 32;
                    var$2 = var$6;
                }
                $filler = jl_String__init_($temp);
            }
            var$7 = $this.$desc;
            var$8 = $this.$pattern2;
            if (var$8 !== null && jl_String_length(var$8)) {
                var$9 = $this.$index2;
                var$8 = $this.$pattern2;
                var$10 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$10);
                jl_AbstractStringBuilder_append0(var$10, var$9);
                var$11 = $rt_s(107);
                $ptr = 4;
                continue main;
            }
            $filler = $rt_s(3);
            var$8 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$8);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$8, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$7, $filler);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            $filler = $tmp;
            return $filler;
        case 4:
            $tmp = jl_StringBuilder_append(var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append(var$11, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            var$11 = $rt_s(107);
            $ptr = 6;
        case 6:
            $tmp = jl_StringBuilder_append(var$8, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 7;
        case 7:
            jl_StringBuilder_append(var$8, $filler);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $tmp = jl_AbstractStringBuilder_toString(var$10);
            if ($rt_suspending()) {
                break main;
            }
            $filler = $tmp;
            var$8 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$8);
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $filler, var$2, $temp, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    var cjj_GZIPException = $rt_classWithoutFields(ji_IOException);
    function cjj_GZIPException__init_1() {
        var var_0 = new cjj_GZIPException();
        cjj_GZIPException__init_(var_0);
        return var_0;
    }
    function cjj_GZIPException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function juca_AtomicInteger() {
        var a = this; jl_Number.call(a);
        a.$value6 = 0;
        a.$version0 = 0;
    }
    function juca_AtomicInteger__init_0() {
        var var_0 = new juca_AtomicInteger();
        juca_AtomicInteger__init_(var_0);
        return var_0;
    }
    function juca_AtomicInteger__init_($this) {}
    function ju_TimeZone() {
        jl_Object.call(this);
        this.$id1 = null;
    }
    var ju_TimeZone_defaultTz = null;
    var ju_TimeZone_GMT = null;
    var ju_TimeZone_$clinitCalled = false;
    function ju_TimeZone_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (ju_TimeZone_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            ju_TimeZone_$clinitCalled = true;
            $ptr = 1;
        case 1:
            ju_TimeZone__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            ju_TimeZone_$callClinit = $rt_eraseClinit(ju_TimeZone);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function ju_TimeZone_parseNumber($string, $offset, $position) {
        var $length, $result, var$6, $digit, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$digit = $thread.pop();var$6 = $thread.pop();$result = $thread.pop();$length = $thread.pop();$position = $thread.pop();$offset = $thread.pop();$string = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            ju_TimeZone_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $length = jl_String_length($string);
            $result = 0;
            var$6 = $offset;
            a: {
                while (true) {
                    if (var$6 >= $length)
                        break a;
                    $digit = jl_Character_digit(jl_String_charAt($string, var$6), 10);
                    if ($digit == (-1))
                        break;
                    var$6 = var$6 + 1 | 0;
                    $result = ($result * 10 | 0) + $digit | 0;
                }
            }
            if (var$6 == $offset)
                var$6 = (-1);
            $position.data[0] = var$6;
            return $result;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($string, $offset, $position, $length, $result, var$6, $digit, $ptr);
    }
    function ju_TimeZone__clinit_() {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new ju_IANATimeZone;
            var$2 = otcit_FixedDateTimeZone__init_0($rt_s(1193), 0, 0);
            $ptr = 1;
        case 1:
            ju_IANATimeZone__init_(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            ju_TimeZone_GMT = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nms_StringTranslate() {
        jl_Object.call(this);
        this.$translateTable = null;
    }
    var nms_StringTranslate_instance = null;
    var nms_StringTranslate_$clinitCalled = false;
    function nms_StringTranslate_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_StringTranslate_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_StringTranslate_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_StringTranslate__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_StringTranslate_$callClinit = $rt_eraseClinit(nms_StringTranslate);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_StringTranslate__init_0() {
        var var_0 = new nms_StringTranslate();
        nms_StringTranslate__init_(var_0);
        return var_0;
    }
    function nms_StringTranslate__init_($this) {
        var $var2, var$2, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var2 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_StringTranslate_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = new ju_Properties;
            ju_Hashtable__init_($var2);
            $this.$translateTable = $var2;
            try {
                var$2 = $rt_s(1194);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var2 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 6;
            continue main;
        case 2:
            try {
                $tmp = nle_EagRuntime_getRequiredResourceStream(var$2);
                if ($rt_suspending()) {
                    break main;
                }
                var$2 = $tmp;
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var2 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 6;
            continue main;
        case 3:
            try {
                ju_Properties_load($var2, var$2);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $this.$translateTable;
                var$2 = $rt_s(1195);
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var2 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 6;
            continue main;
        case 4:
            try {
                $tmp = nle_EagRuntime_getRequiredResourceStream(var$2);
                if ($rt_suspending()) {
                    break main;
                }
                var$2 = $tmp;
                $ptr = 5;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var2 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 6;
            continue main;
        case 5:
            a: {
                try {
                    ju_Properties_load($var2, var$2);
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        $var2 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return;
            }
            $ptr = 6;
        case 6:
            jl_Throwable_printStackTrace($var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var2, var$2, $ptr);
    }
    function nms_StringTranslate_getInstance() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_StringTranslate_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_StringTranslate_instance;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_StringTranslate_translateKey($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$translateTable;
            $ptr = 1;
        case 1:
            $tmp = ju_Properties_getProperty(var$2, $var1, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_StringTranslate_translateKeyFormat($this, $var1, $var2) {
        var $var3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $this.$translateTable;
            $ptr = 1;
        case 1:
            $tmp = ju_Properties_getProperty($var3, $var1, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            jl_String_$callClinit();
            $var1 = ju_Formatter__init_3();
            $ptr = 2;
        case 2:
            $tmp = ju_Formatter_format($var1, $var3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = ju_Formatter_toString($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_StringTranslate__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nms_StringTranslate;
            $ptr = 1;
        case 1:
            nms_StringTranslate__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nms_StringTranslate_instance = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function jt_NumberFormat() {
        var a = this; jt_Format.call(a);
        a.$groupingUsed = 0;
        a.$maximumIntegerDigits = 0;
        a.$minimumIntegerDigits = 0;
        a.$maximumFractionDigits = 0;
        a.$minimumFractionDigits = 0;
        a.$roundingMode = null;
        a.$currency = null;
    }
    function jt_NumberFormat_setMaximumFractionDigits($this, $value) {
        if ($value < 0)
            $value = 0;
        $this.$maximumFractionDigits = $value;
        if ($value < $this.$minimumFractionDigits)
            $this.$minimumFractionDigits = $value;
    }
    function jt_NumberFormat_setMaximumIntegerDigits($this, $value) {
        if ($value < 0)
            $value = 0;
        $this.$maximumIntegerDigits = $value;
        if ($value < $this.$minimumIntegerDigits)
            $this.$minimumIntegerDigits = $value;
    }
    function jt_NumberFormat_setMinimumFractionDigits($this, $value) {
        if ($value < 0)
            $value = 0;
        $this.$minimumFractionDigits = $value;
        if ($this.$maximumFractionDigits < $value)
            $this.$maximumFractionDigits = $value;
    }
    function jt_NumberFormat_setMinimumIntegerDigits($this, $value) {
        if ($value < 0)
            $value = 0;
        $this.$minimumIntegerDigits = $value;
        if ($this.$maximumIntegerDigits < $value)
            $this.$maximumIntegerDigits = $value;
    }
    function jt_DecimalFormat() {
        var a = this; jt_NumberFormat.call(a);
        a.$symbols0 = null;
        a.$positivePrefix = null;
        a.$negativePrefix = null;
        a.$positiveSuffix = null;
        a.$negativeSuffix = null;
        a.$multiplier = 0;
        a.$groupingSize = 0;
        a.$decimalSeparatorAlwaysShown = 0;
        a.$exponentDigits = 0;
        a.$pattern3 = null;
    }
    var jt_DecimalFormat_POW10_ARRAY = null;
    var jt_DecimalFormat_POW10_INT_ARRAY = null;
    function jt_DecimalFormat__init_2() {
        var var_0 = new jt_DecimalFormat();
        jt_DecimalFormat__init_(var_0);
        return var_0;
    }
    function jt_DecimalFormat__init_3(var_0) {
        var var_1 = new jt_DecimalFormat();
        jt_DecimalFormat__init_0(var_1, var_0);
        return var_1;
    }
    function jt_DecimalFormat__init_4(var_0, var_1) {
        var var_2 = new jt_DecimalFormat();
        jt_DecimalFormat__init_1(var_2, var_0, var_1);
        return var_2;
    }
    function jt_DecimalFormat__init_($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = (ju_Locale_getDefault()).$languageCode;
            var$2 = (ju_Locale_getDefault()).$countryCode;
            $ptr = 1;
        case 1:
            $tmp = otciu_CLDRHelper_resolveNumberFormat(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 2;
        case 2:
            jt_DecimalFormat__init_0($this, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function jt_DecimalFormat__init_0($this, $pattern) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$pattern = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new jt_DecimalFormatSymbols;
            $ptr = 1;
        case 1:
            jt_DecimalFormatSymbols__init_(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            jt_DecimalFormat__init_1($this, $pattern, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pattern, var$2, $ptr);
    }
    function jt_DecimalFormat__init_1($this, $pattern, $value) {
        var var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$value = $thread.pop();$pattern = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$groupingUsed = 1;
            $this.$maximumIntegerDigits = 40;
            $this.$minimumIntegerDigits = 1;
            $this.$maximumFractionDigits = 3;
            jm_RoundingMode_$callClinit();
            $this.$roundingMode = jm_RoundingMode_HALF_EVEN;
            var$3 = ju_Locale_getDefault();
            if (var$3 === null) {
                $pattern = new jl_NullPointerException;
                jl_Throwable__init_0($pattern);
                $rt_throw($pattern);
            }
            var$4 = otciu_CLDRHelper_resolveCountry(var$3.$languageCode, var$3.$countryCode);
            if (otcic_CurrencyHelper_$$metadata$$1 === null)
                otcic_CurrencyHelper_$$metadata$$1 = otcic_CurrencyHelper_getCountryToCurrencyMap$$create();
            var$3 = otcic_CurrencyHelper_$$metadata$$1;
            if (!var$3.hasOwnProperty($rt_ustr(var$4))) {
                $this.$currency = null;
                $this.$positivePrefix = $rt_createArray(jt_DecimalFormat$FormatField, 0);
                var$5 = $rt_createArray(jt_DecimalFormat$FormatField, 1);
                var$5.data[0] = jt_DecimalFormat$TextField__init_0($rt_s(247));
                $this.$negativePrefix = var$5;
                $this.$positiveSuffix = $rt_createArray(jt_DecimalFormat$FormatField, 0);
                $this.$negativeSuffix = $rt_createArray(jt_DecimalFormat$FormatField, 0);
                $this.$multiplier = 1;
                try {
                    $ptr = 1;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_CloneNotSupportedException) {
                        $value = $$je;
                    } else {
                        throw $$e;
                    }
                }
                var$3 = new jl_AssertionError;
                jl_Throwable__init_4(var$3, $rt_s(1196), $value);
                $rt_throw(var$3);
            }
            var$4 = (var$3[$rt_ustr(var$4)].value !== null ? $rt_str(var$3[$rt_ustr(var$4)].value) : null);
            if (var$4 === null) {
                $pattern = new jl_NullPointerException;
                jl_Throwable__init_0($pattern);
                $rt_throw($pattern);
            }
            if (ju_Currency_currencies === null) {
                ju_Currency_currencies = ju_HashMap__init_0();
                if (otcic_CurrencyHelper_$$metadata$$0 === null)
                    otcic_CurrencyHelper_$$metadata$$0 = otcic_CurrencyHelper_getCurrencies$$create();
                var$3 = otcic_CurrencyHelper_$$metadata$$0;
                var$6 = 0;
                if (var$6 < var$3.length) {
                    var$7 = var$3[var$6];
                    var$8 = ju_Currency_currencies;
                    var$9 = (var$7.code !== null ? $rt_str(var$7.code) : null);
                    var$10 = new ju_Currency;
                    var$10.$resource = var$7;
                    $ptr = 11;
                    continue main;
                }
            }
            var$3 = ju_Currency_currencies;
            $ptr = 2;
            continue main;
        case 1:
            a: {
                try {
                    $tmp = jl_Object_clone($value);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $value = $tmp;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_CloneNotSupportedException) {
                        $value = $$je;
                    } else {
                        throw $$e;
                    }
                }
                var$3 = new jl_AssertionError;
                jl_Throwable__init_4(var$3, $rt_s(1196), $value);
                $rt_throw(var$3);
            }
            $this.$symbols0 = $value;
            $value = new jt_DecimalFormatParser;
            $value.$groupSize = 0;
            $value.$minimumFracLength = 0;
            $value.$fracLength = 0;
            $value.$exponentLength = 0;
            $value.$decimalSeparatorRequired = 0;
            $value.$multiplier0 = 1;
            $value.$string2 = $pattern;
            $value.$index3 = 0;
            var$6 = 0;
            var$11 = 0;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = ju_HashMap_get(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$3 = var$3;
            if (var$3 !== null) {
                $this.$currency = var$3;
                $this.$positivePrefix = $rt_createArray(jt_DecimalFormat$FormatField, 0);
                var$5 = $rt_createArray(jt_DecimalFormat$FormatField, 1);
                var$5.data[0] = jt_DecimalFormat$TextField__init_0($rt_s(247));
                $this.$negativePrefix = var$5;
                $this.$positiveSuffix = $rt_createArray(jt_DecimalFormat$FormatField, 0);
                $this.$negativeSuffix = $rt_createArray(jt_DecimalFormat$FormatField, 0);
                $this.$multiplier = 1;
                try {
                    $ptr = 1;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_CloneNotSupportedException) {
                        $value = $$je;
                    } else {
                        throw $$e;
                    }
                }
                var$3 = new jl_AssertionError;
                jl_Throwable__init_4(var$3, $rt_s(1196), $value);
                $rt_throw(var$3);
            }
            $pattern = new jl_IllegalArgumentException;
            $value = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($value);
            var$3 = $rt_s(1197);
            $ptr = 4;
            continue main;
        case 3:
            $tmp = jt_DecimalFormatParser_parseText($value, var$6, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $value.$positivePrefix0 = var$5;
            if ($value.$index3 != jl_String_length($pattern)) {
                var$6 = 1;
                $ptr = 7;
                continue main;
            }
            $value = new jl_IllegalArgumentException;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$10 = $rt_s(1198);
            $ptr = 8;
            continue main;
        case 4:
            $tmp = jl_StringBuilder_append($value, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 5;
        case 5:
            jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString($value);
            if ($rt_suspending()) {
                break main;
            }
            $value = $tmp;
            jl_Throwable__init_($pattern, $value);
            $rt_throw($pattern);
        case 7:
            jt_DecimalFormatParser_parseNumber($value, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $value.$negativePrefix0 = null;
            $value.$negativeSuffix0 = null;
            if ($value.$index3 < jl_String_length($pattern) && jl_String_charAt($pattern, $value.$index3) != 59) {
                var$6 = 1;
                var$11 = 0;
                $ptr = 12;
                continue main;
            }
            if ($value.$index3 >= jl_String_length($pattern)) {
                var$5 = $value.$positivePrefix0;
                $this.$positivePrefix = var$5;
                $this.$positiveSuffix = $value.$positiveSuffix0;
                var$12 = $value.$negativePrefix0;
                if (var$12 !== null)
                    $this.$negativePrefix = var$12;
                else {
                    var$11 = var$5.data.length;
                    var$12 = $rt_createArray(jt_DecimalFormat$FormatField, var$11 + 1 | 0);
                    $this.$negativePrefix = var$12;
                    jl_System_fastArraycopy(var$5, 0, var$12, 1, var$11);
                    $this.$negativePrefix.data[0] = new jt_DecimalFormat$MinusField;
                }
                var$5 = $value.$negativeSuffix0;
                if (var$5 === null)
                    var$5 = $value.$positiveSuffix0;
                $this.$negativeSuffix = var$5;
                var$6 = $value.$groupSize;
                $this.$groupingSize = var$6;
                $this.$groupingUsed = var$6 <= 0 ? 0 : 1;
                jt_NumberFormat_setMinimumIntegerDigits($this, !$value.$decimalSeparatorRequired ? $value.$minimumIntLength : jl_Math_max(1, $value.$minimumIntLength));
                jt_NumberFormat_setMaximumIntegerDigits($this, $value.$intLength);
                jt_NumberFormat_setMinimumFractionDigits($this, $value.$minimumFracLength);
                jt_NumberFormat_setMaximumFractionDigits($this, $value.$fracLength);
                $this.$decimalSeparatorAlwaysShown = $value.$decimalSeparatorRequired;
                $this.$exponentDigits = $value.$exponentLength;
                $this.$multiplier = $value.$multiplier0;
                $this.$pattern3 = $pattern;
                return;
            }
            var$11 = $value.$index3;
            $value.$index3 = var$11 + 1 | 0;
            if (jl_String_charAt($pattern, var$11) == 59) {
                var$6 = 0;
                var$11 = 1;
                $ptr = 13;
                continue main;
            }
            var$3 = new jl_IllegalArgumentException;
            var$6 = $value.$index3;
            $value = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($value);
            var$10 = $rt_s(1199);
            $ptr = 16;
            continue main;
        case 8:
            $tmp = jl_StringBuilder_append(var$3, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 9;
        case 9:
            jl_StringBuilder_append(var$10, $pattern);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $pattern = $tmp;
            jl_Throwable__init_($value, $pattern);
            $rt_throw($value);
        case 11:
            ju_HashMap_putImpl(var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = var$6 + 1 | 0;
            if (var$6 >= var$3.length) {
                var$3 = ju_Currency_currencies;
                $ptr = 2;
                continue main;
            }
            var$7 = var$3[var$6];
            var$8 = ju_Currency_currencies;
            var$9 = (var$7.code !== null ? $rt_str(var$7.code) : null);
            var$10 = new ju_Currency;
            var$10.$resource = var$7;
            continue main;
        case 12:
            $tmp = jt_DecimalFormatParser_parseText($value, var$6, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $value.$positiveSuffix0 = var$5;
            if ($value.$index3 >= jl_String_length($pattern)) {
                var$5 = $value.$positivePrefix0;
                $this.$positivePrefix = var$5;
                $this.$positiveSuffix = $value.$positiveSuffix0;
                var$12 = $value.$negativePrefix0;
                if (var$12 !== null)
                    $this.$negativePrefix = var$12;
                else {
                    var$11 = var$5.data.length;
                    var$12 = $rt_createArray(jt_DecimalFormat$FormatField, var$11 + 1 | 0);
                    $this.$negativePrefix = var$12;
                    jl_System_fastArraycopy(var$5, 0, var$12, 1, var$11);
                    $this.$negativePrefix.data[0] = new jt_DecimalFormat$MinusField;
                }
                var$5 = $value.$negativeSuffix0;
                if (var$5 === null)
                    var$5 = $value.$positiveSuffix0;
                $this.$negativeSuffix = var$5;
                var$6 = $value.$groupSize;
                $this.$groupingSize = var$6;
                $this.$groupingUsed = var$6 <= 0 ? 0 : 1;
                jt_NumberFormat_setMinimumIntegerDigits($this, !$value.$decimalSeparatorRequired ? $value.$minimumIntLength : jl_Math_max(1, $value.$minimumIntLength));
                jt_NumberFormat_setMaximumIntegerDigits($this, $value.$intLength);
                jt_NumberFormat_setMinimumFractionDigits($this, $value.$minimumFracLength);
                jt_NumberFormat_setMaximumFractionDigits($this, $value.$fracLength);
                $this.$decimalSeparatorAlwaysShown = $value.$decimalSeparatorRequired;
                $this.$exponentDigits = $value.$exponentLength;
                $this.$multiplier = $value.$multiplier0;
                $this.$pattern3 = $pattern;
                return;
            }
            var$11 = $value.$index3;
            $value.$index3 = var$11 + 1 | 0;
            if (jl_String_charAt($pattern, var$11) == 59) {
                var$6 = 0;
                var$11 = 1;
                $ptr = 13;
                continue main;
            }
            var$3 = new jl_IllegalArgumentException;
            var$6 = $value.$index3;
            $value = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($value);
            var$10 = $rt_s(1199);
            $ptr = 16;
            continue main;
        case 13:
            $tmp = jt_DecimalFormatParser_parseText($value, var$6, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $value.$negativePrefix0 = var$5;
            var$6 = 0;
            $ptr = 14;
        case 14:
            jt_DecimalFormatParser_parseNumber($value, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 1;
            var$11 = 1;
            $ptr = 15;
        case 15:
            $tmp = jt_DecimalFormatParser_parseText($value, var$6, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $value.$negativeSuffix0 = var$5;
            var$5 = $value.$positivePrefix0;
            $this.$positivePrefix = var$5;
            $this.$positiveSuffix = $value.$positiveSuffix0;
            var$12 = $value.$negativePrefix0;
            if (var$12 !== null)
                $this.$negativePrefix = var$12;
            else {
                var$11 = var$5.data.length;
                var$12 = $rt_createArray(jt_DecimalFormat$FormatField, var$11 + 1 | 0);
                $this.$negativePrefix = var$12;
                jl_System_fastArraycopy(var$5, 0, var$12, 1, var$11);
                $this.$negativePrefix.data[0] = new jt_DecimalFormat$MinusField;
            }
            var$5 = $value.$negativeSuffix0;
            if (var$5 === null)
                var$5 = $value.$positiveSuffix0;
            $this.$negativeSuffix = var$5;
            var$6 = $value.$groupSize;
            $this.$groupingSize = var$6;
            $this.$groupingUsed = var$6 <= 0 ? 0 : 1;
            jt_NumberFormat_setMinimumIntegerDigits($this, !$value.$decimalSeparatorRequired ? $value.$minimumIntLength : jl_Math_max(1, $value.$minimumIntLength));
            jt_NumberFormat_setMaximumIntegerDigits($this, $value.$intLength);
            jt_NumberFormat_setMinimumFractionDigits($this, $value.$minimumFracLength);
            jt_NumberFormat_setMaximumFractionDigits($this, $value.$fracLength);
            $this.$decimalSeparatorAlwaysShown = $value.$decimalSeparatorRequired;
            $this.$exponentDigits = $value.$exponentLength;
            $this.$multiplier = $value.$multiplier0;
            $this.$pattern3 = $pattern;
            return;
        case 16:
            $tmp = jl_StringBuilder_append($value, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            jl_AbstractStringBuilder_append0(var$10, var$6);
            var$4 = $rt_s(1200);
            $ptr = 17;
        case 17:
            $tmp = jl_StringBuilder_append(var$10, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 18;
        case 18:
            jl_StringBuilder_append(var$10, $pattern);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 19;
        case 19:
            $tmp = jl_AbstractStringBuilder_toString($value);
            if ($rt_suspending()) {
                break main;
            }
            $pattern = $tmp;
            jl_Throwable__init_(var$3, $pattern);
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pattern, $value, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function jt_DecimalFormat__clinit_() {
        jt_DecimalFormat_POW10_ARRAY = $rt_createLongArrayFromData([Long_fromInt(1), Long_fromInt(10), Long_fromInt(100), Long_fromInt(1000), Long_fromInt(10000), Long_fromInt(100000), Long_fromInt(1000000), Long_fromInt(10000000), Long_fromInt(100000000), Long_fromInt(1000000000), Long_create(1410065408, 2), Long_create(1215752192, 23), Long_create(3567587328, 232), Long_create(1316134912, 2328), Long_create(276447232, 23283), Long_create(2764472320, 232830), Long_create(1874919424, 2328306), Long_create(1569325056, 23283064),
        Long_create(2808348672, 232830643)]);
        jt_DecimalFormat_POW10_INT_ARRAY = $rt_createIntArrayFromData([1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000]);
    }
    var jur_NonCapFSet = $rt_classWithoutFields(jur_FSet);
    function jur_NonCapFSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $gr, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$gr = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $gr = $this.$groupIndex;
            jur_MatchResultImpl_setConsumed($matchResult, $gr, $stringIndex - jur_MatchResultImpl_getConsumed($matchResult, $gr) | 0);
            var$5 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$5.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $gr, var$5, $ptr);
    }
    function jur_NonCapFSet_getName($this) {
        return $rt_s(1201);
    }
    function jur_NonCapFSet_hasConsumed($this, $mr) {
        return 0;
    }
    var jur_AheadFSet = $rt_classWithoutFields(jur_FSet);
    function jur_AheadFSet__init_0() {
        var var_0 = new jur_AheadFSet();
        jur_AheadFSet__init_(var_0);
        return var_0;
    }
    function jur_AheadFSet__init_($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = (-1);
            $ptr = 1;
        case 1:
            jur_FSet__init_($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function jur_AheadFSet_matches($this, $stringIndex, $testString, $matchResult) {
        return $stringIndex;
    }
    function jur_AheadFSet_getName($this) {
        return $rt_s(1202);
    }
    var jur_BehindFSet = $rt_classWithoutFields(jur_FSet);
    function jur_BehindFSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (jur_MatchResultImpl_getConsumed($matchResult, $this.$groupIndex) != $stringIndex)
                $stringIndex = (-1);
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $ptr);
    }
    function jur_BehindFSet_getName($this) {
        return $rt_s(1203);
    }
    function jur_AtomicFSet() {
        jur_FSet.call(this);
        this.$index4 = 0;
    }
    function jur_AtomicFSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $gr, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$gr = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $gr = $this.$groupIndex;
            jur_MatchResultImpl_setConsumed($matchResult, $gr, $stringIndex - jur_MatchResultImpl_getConsumed($matchResult, $gr) | 0);
            $this.$index4 = $stringIndex;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $gr, $ptr);
    }
    function jur_AtomicFSet_getName($this) {
        return $rt_s(1204);
    }
    function jur_AtomicFSet_hasConsumed($this, $mr) {
        return 0;
    }
    var jur_FinalSet = $rt_classWithoutFields(jur_FSet);
    function jur_FinalSet__init_0() {
        var var_0 = new jur_FinalSet();
        jur_FinalSet__init_(var_0);
        return var_0;
    }
    function jur_FinalSet__init_($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 0;
            $ptr = 1;
        case 1:
            jur_FSet__init_($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function jur_FinalSet_matches($this, $stringIndex, $testString, $matchResult) {
        if ($matchResult.$mode3 != 1 && $stringIndex != $matchResult.$rightBound0)
            return (-1);
        $matchResult.$valid = 1;
        jur_MatchResultImpl_setEnd($matchResult, 0, $stringIndex);
        return $stringIndex;
    }
    function jur_FinalSet_getName($this) {
        return $rt_s(1205);
    }
    function jur_LeafSet() {
        jur_AbstractSet.call(this);
        this.$charCount = 0;
    }
    function jur_LeafSet__init_0($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$charCount = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function jur_LeafSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $shift, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$shift = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (($stringIndex + $this.$charCount0() | 0) > $matchResult.$rightBound0) {
                $matchResult.$hitEnd = 1;
                return (-1);
            }
            $shift = $this.$accepts($stringIndex, $testString);
            if ($shift < 0)
                return (-1);
            var$5 = $this.$next6;
            $stringIndex = $stringIndex + $shift | 0;
            $ptr = 1;
        case 1:
            $tmp = var$5.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $shift, var$5, $ptr);
    }
    function jur_LeafSet_charCount($this) {
        return $this.$charCount;
    }
    function jur_LeafSet_hasConsumed($this, $mr) {
        return 1;
    }
    var jur_EmptySet = $rt_classWithoutFields(jur_LeafSet);
    function jur_EmptySet__init_0(var_0) {
        var var_1 = new jur_EmptySet();
        jur_EmptySet__init_(var_1, var_0);
        return var_1;
    }
    function jur_EmptySet__init_($this, $next) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$next = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_0($this, $next);
            if ($rt_suspending()) {
                break main;
            }
            $this.$charCount = 1;
            $this.$type0 = 1;
            $this.$charCount = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $next, $ptr);
    }
    function jur_EmptySet_accepts($this, $stringIndex, $testString) {
        return 0;
    }
    function jur_EmptySet_find($this, $stringIndex, $testString, $matchResult) {
        var $strLength, $startStr, $high, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$high = $thread.pop();$startStr = $thread.pop();$strLength = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $strLength = $matchResult.$rightBound0;
            $startStr = $matchResult.$leftBound0;
            a: {
                while (true) {
                    $high = $rt_compare($stringIndex, $strLength);
                    if ($high > 0)
                        break;
                    if ($high >= 0)
                        break a;
                    if (!jl_Character_isLowSurrogate(jl_String_charAt($testString, $stringIndex)))
                        break a;
                    if ($stringIndex <= $startStr)
                        break a;
                    if (!jl_Character_isHighSurrogate(jl_String_charAt($testString, $stringIndex - 1 | 0)))
                        break a;
                    $stringIndex = $stringIndex + 1 | 0;
                }
                return (-1);
            }
            var$7 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$7.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $high = $tmp;
            if ($high >= 0)
                return $stringIndex;
            $stringIndex = $stringIndex + 1 | 0;
            b: {
                while (true) {
                    $high = $rt_compare($stringIndex, $strLength);
                    if ($high > 0)
                        break;
                    if ($high >= 0)
                        break b;
                    if (!jl_Character_isLowSurrogate(jl_String_charAt($testString, $stringIndex)))
                        break b;
                    if ($stringIndex <= $startStr)
                        break b;
                    if (!jl_Character_isHighSurrogate(jl_String_charAt($testString, $stringIndex - 1 | 0)))
                        break b;
                    $stringIndex = $stringIndex + 1 | 0;
                }
                return (-1);
            }
            var$7 = $this.$next6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $strLength, $startStr, $high, var$7, $ptr);
    }
    function jur_EmptySet_findBack($this, $stringIndex, $startSearch, $testString, $matchResult) {
        var $strLength, $startStr, var$7, $low, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$low = $thread.pop();var$7 = $thread.pop();$startStr = $thread.pop();$strLength = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$startSearch = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $strLength = $matchResult.$rightBound0;
            $startStr = $matchResult.$leftBound0;
            a: {
                while ($startSearch >= $stringIndex) {
                    if ($startSearch >= $strLength)
                        break a;
                    if (!jl_Character_isLowSurrogate(jl_String_charAt($testString, $startSearch)))
                        break a;
                    if ($startSearch <= $startStr)
                        break a;
                    if (!jl_Character_isHighSurrogate(jl_String_charAt($testString, $startSearch - 1 | 0)))
                        break a;
                    $startSearch = $startSearch + (-1) | 0;
                }
                return (-1);
            }
            var$7 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$7.$matches0($startSearch, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $low = $tmp;
            if ($low >= 0)
                return $startSearch;
            $startSearch = $startSearch + (-1) | 0;
            b: {
                while ($startSearch >= $stringIndex) {
                    if ($startSearch >= $strLength)
                        break b;
                    if (!jl_Character_isLowSurrogate(jl_String_charAt($testString, $startSearch)))
                        break b;
                    if ($startSearch <= $startStr)
                        break b;
                    if (!jl_Character_isHighSurrogate(jl_String_charAt($testString, $startSearch - 1 | 0)))
                        break b;
                    $startSearch = $startSearch + (-1) | 0;
                }
                return (-1);
            }
            var$7 = $this.$next6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $startSearch, $testString, $matchResult, $strLength, $startStr, var$7, $low, $ptr);
    }
    function jur_EmptySet_getName($this) {
        return $rt_s(1206);
    }
    function jur_EmptySet_hasConsumed($this, $mr) {
        return 0;
    }
    function jur_JointSet() {
        var a = this; jur_AbstractSet.call(a);
        a.$children = null;
        a.$fSet = null;
        a.$groupIndex0 = 0;
    }
    function jur_JointSet__init_1() {
        var var_0 = new jur_JointSet();
        jur_JointSet__init_(var_0);
        return var_0;
    }
    function jur_JointSet__init_2(var_0, var_1) {
        var var_2 = new jur_JointSet();
        jur_JointSet__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function jur_JointSet__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function jur_JointSet__init_0($this, $children, $fSet) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$fSet = $thread.pop();$children = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$children = $children;
            $this.$fSet = $fSet;
            $this.$groupIndex0 = $fSet.$groupIndex;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $children, $fSet, $ptr);
    }
    function jur_JointSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $start, $size, $i, $e, $shift, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$shift = $thread.pop();$e = $thread.pop();$i = $thread.pop();$size = $thread.pop();$start = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$children === null)
                return (-1);
            $start = jur_MatchResultImpl_getStart($matchResult, $this.$groupIndex0);
            jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $stringIndex);
            $size = $this.$children.$size0;
            $i = 0;
            if ($i >= $size) {
                jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $start);
                return (-1);
            }
            $e = ju_ArrayList_get($this.$children, $i);
            $ptr = 1;
        case 1:
            $tmp = $e.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $shift = $tmp;
            if ($shift >= 0)
                return $shift;
            $i = $i + 1 | 0;
            if ($i >= $size) {
                jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $start);
                return (-1);
            }
            $e = ju_ArrayList_get($this.$children, $i);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $start, $size, $i, $e, $shift, $ptr);
    }
    function jur_JointSet_setNext($this, $next) {
        $this.$fSet.$next6 = $next;
    }
    function jur_JointSet_getName($this) {
        return $rt_s(1207);
    }
    function jur_JointSet_first($this, $set) {
        var $i, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$i = $thread.pop();$set = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $i = $this.$children;
            if ($i === null)
                return 0;
            $ptr = 1;
        case 1:
            $tmp = ju_AbstractList_iterator($i);
            if ($rt_suspending()) {
                break main;
            }
            $i = $tmp;
            if (!ju_AbstractList$1_hasNext($i))
                return 0;
            $ptr = 2;
        case 2:
            $tmp = ju_AbstractList$1_next($i);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$3 = var$3;
            $ptr = 3;
        case 3:
            $tmp = var$3.$first($set);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4)
                return 1;
            if (!ju_AbstractList$1_hasNext($i))
                return 0;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $set, $i, var$3, var$4, $ptr);
    }
    function jur_JointSet_hasConsumed($this, $matchResult) {
        return jur_MatchResultImpl_getEnd($matchResult, $this.$groupIndex0) >= 0 && jur_MatchResultImpl_getStart($matchResult, $this.$groupIndex0) == jur_MatchResultImpl_getEnd($matchResult, $this.$groupIndex0) ? 0 : 1;
    }
    function jur_JointSet_processSecondPass($this) {
        var $child, $childrenSize, $i, $set, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$set = $thread.pop();$i = $thread.pop();$childrenSize = $thread.pop();$child = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$isSecondPassVisited = 1;
            $child = $this.$fSet;
            if ($child !== null && !$child.$isSecondPassVisited) {
                $ptr = 1;
                continue main;
            }
            $child = $this.$children;
            if ($child !== null) {
                $childrenSize = $child.$size0;
                $i = 0;
                if ($i < $childrenSize) {
                    $child = ju_ArrayList_get($this.$children, $i);
                    $ptr = 3;
                    continue main;
                }
            }
            if ($this.$next6 === null)
                return;
            $ptr = 2;
            continue main;
        case 1:
            jur_AbstractSet_processSecondPass($child);
            if ($rt_suspending()) {
                break main;
            }
            $child = $this.$children;
            if ($child !== null) {
                $childrenSize = $child.$size0;
                $i = 0;
                if ($i < $childrenSize) {
                    $child = ju_ArrayList_get($this.$children, $i);
                    $ptr = 3;
                    continue main;
                }
            }
            if ($this.$next6 === null)
                return;
            $ptr = 2;
        case 2:
            jur_AbstractSet_processSecondPass($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            $tmp = $child.$processBackRefReplacement();
            if ($rt_suspending()) {
                break main;
            }
            $set = $tmp;
            if ($set === null)
                $set = $child;
            else {
                $child.$isSecondPassVisited = 1;
                ju_ArrayList_remove($this.$children, $i);
                ju_ArrayList_add0($this.$children, $i, $set);
            }
            if (!$set.$isSecondPassVisited) {
                $ptr = 4;
                continue main;
            }
            $i = $i + 1 | 0;
            if ($i >= $childrenSize) {
                if ($this.$next6 === null)
                    return;
                $ptr = 2;
                continue main;
            }
            $child = ju_ArrayList_get($this.$children, $i);
            continue main;
        case 4:
            $set.$processSecondPass();
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            if ($i >= $childrenSize) {
                if ($this.$next6 === null)
                    return;
                $ptr = 2;
                continue main;
            }
            $child = ju_ArrayList_get($this.$children, $i);
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $child, $childrenSize, $i, $set, $ptr);
    }
    var jur_NonCapJointSet = $rt_classWithoutFields(jur_JointSet);
    function jur_NonCapJointSet__init_1() {
        var var_0 = new jur_NonCapJointSet();
        jur_NonCapJointSet__init_(var_0);
        return var_0;
    }
    function jur_NonCapJointSet__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function jur_NonCapJointSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $start, $size, $i, $e, $shift, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$shift = $thread.pop();$e = $thread.pop();$i = $thread.pop();$size = $thread.pop();$start = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $start = jur_MatchResultImpl_getConsumed($matchResult, $this.$groupIndex0);
            jur_MatchResultImpl_setConsumed($matchResult, $this.$groupIndex0, $stringIndex);
            $size = $this.$children.$size0;
            $i = 0;
            if ($i >= $size) {
                jur_MatchResultImpl_setConsumed($matchResult, $this.$groupIndex0, $start);
                return (-1);
            }
            $e = ju_ArrayList_get($this.$children, $i);
            $ptr = 1;
        case 1:
            $tmp = $e.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $shift = $tmp;
            if ($shift >= 0)
                return $shift;
            $i = $i + 1 | 0;
            if ($i >= $size) {
                jur_MatchResultImpl_setConsumed($matchResult, $this.$groupIndex0, $start);
                return (-1);
            }
            $e = ju_ArrayList_get($this.$children, $i);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $start, $size, $i, $e, $shift, $ptr);
    }
    function jur_NonCapJointSet_getName($this) {
        return $rt_s(1208);
    }
    function jur_NonCapJointSet_hasConsumed($this, $matchResult) {
        return !jur_MatchResultImpl_getConsumed($matchResult, $this.$groupIndex0) ? 0 : 1;
    }
    var jur_AtomicJointSet = $rt_classWithoutFields(jur_NonCapJointSet);
    function jur_AtomicJointSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $start, $size, $i, $e, $shift, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$shift = $thread.pop();$e = $thread.pop();$i = $thread.pop();$size = $thread.pop();$start = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $start = jur_MatchResultImpl_getConsumed($matchResult, $this.$groupIndex0);
            jur_MatchResultImpl_setConsumed($matchResult, $this.$groupIndex0, $stringIndex);
            $size = $this.$children.$size0;
            $i = 0;
            if ($i >= $size) {
                jur_MatchResultImpl_setConsumed($matchResult, $this.$groupIndex0, $start);
                return (-1);
            }
            $e = ju_ArrayList_get($this.$children, $i);
            $ptr = 1;
        case 1:
            $tmp = $e.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $shift = $tmp;
            if ($shift >= 0) {
                $e = $this.$next6;
                $stringIndex = $this.$fSet.$index4;
                $ptr = 2;
                continue main;
            }
            $i = $i + 1 | 0;
            if ($i >= $size) {
                jur_MatchResultImpl_setConsumed($matchResult, $this.$groupIndex0, $start);
                return (-1);
            }
            $e = ju_ArrayList_get($this.$children, $i);
            continue main;
        case 2:
            $tmp = $e.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $start, $size, $i, $e, $shift, $ptr);
    }
    function jur_AtomicJointSet_setNext($this, $next) {
        $this.$next6 = $next;
    }
    function jur_AtomicJointSet_getName($this) {
        return $rt_s(1208);
    }
    var jur_PositiveLookAhead = $rt_classWithoutFields(jur_AtomicJointSet);
    function jur_PositiveLookAhead_matches($this, $stringIndex, $testString, $matchResult) {
        var $size, $i, $e, $shift, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$shift = $thread.pop();$e = $thread.pop();$i = $thread.pop();$size = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $size = $this.$children.$size0;
            $i = 0;
            if ($i >= $size)
                return (-1);
            $e = ju_ArrayList_get($this.$children, $i);
            $ptr = 1;
        case 1:
            $tmp = $e.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $shift = $tmp;
            if ($shift >= 0) {
                $e = $this.$next6;
                $ptr = 2;
                continue main;
            }
            $i = $i + 1 | 0;
            if ($i >= $size)
                return (-1);
            $e = ju_ArrayList_get($this.$children, $i);
            continue main;
        case 2:
            $tmp = $e.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $size, $i, $e, $shift, $ptr);
    }
    function jur_PositiveLookAhead_hasConsumed($this, $matchResult) {
        return 0;
    }
    function jur_PositiveLookAhead_getName($this) {
        return $rt_s(1209);
    }
    var jur_NegativeLookAhead = $rt_classWithoutFields(jur_AtomicJointSet);
    function jur_NegativeLookAhead_matches($this, $stringIndex, $testString, $matchResult) {
        var $size, $i, $e, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$e = $thread.pop();$i = $thread.pop();$size = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $size = $this.$children.$size0;
            $i = 0;
            if ($i >= $size) {
                $e = $this.$next6;
                $ptr = 1;
                continue main;
            }
            $e = ju_ArrayList_get($this.$children, $i);
            $ptr = 2;
            continue main;
        case 1:
            $tmp = $e.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        case 2:
            $tmp = $e.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7 >= 0)
                return (-1);
            $i = $i + 1 | 0;
            if ($i >= $size) {
                $e = $this.$next6;
                $ptr = 1;
                continue main;
            }
            $e = ju_ArrayList_get($this.$children, $i);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $size, $i, $e, var$7, $ptr);
    }
    function jur_NegativeLookAhead_hasConsumed($this, $matchResult) {
        return 0;
    }
    function jur_NegativeLookAhead_getName($this) {
        return $rt_s(1210);
    }
    var jur_PositiveLookBehind = $rt_classWithoutFields(jur_AtomicJointSet);
    function jur_PositiveLookBehind_matches($this, $stringIndex, $testString, $matchResult) {
        var $size, $leftBound, $e, $shift, $i, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();$i = $thread.pop();$shift = $thread.pop();$e = $thread.pop();$leftBound = $thread.pop();$size = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $size = $this.$children.$size0;
            $leftBound = $matchResult.$transparentBounds ? 0 : $matchResult.$leftBound0;
            $e = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = $e.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $shift = $tmp;
            if ($shift >= 0) {
                jur_MatchResultImpl_setConsumed($matchResult, $this.$groupIndex0, $stringIndex);
                $i = 0;
                if ($i < $size) {
                    $e = ju_ArrayList_get($this.$children, $i);
                    $ptr = 2;
                    continue main;
                }
            }
            return (-1);
        case 2:
            $tmp = $e.$findBack($leftBound, $stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9 >= 0) {
                jur_MatchResultImpl_setConsumed($matchResult, $this.$groupIndex0, (-1));
                return $shift;
            }
            $i = $i + 1 | 0;
            if ($i >= $size)
                return (-1);
            $e = ju_ArrayList_get($this.$children, $i);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $size, $leftBound, $e, $shift, $i, var$9, $ptr);
    }
    function jur_PositiveLookBehind_hasConsumed($this, $matchResult) {
        return 0;
    }
    function jur_PositiveLookBehind_getName($this) {
        return $rt_s(1211);
    }
    var jur_NegativeLookBehind = $rt_classWithoutFields(jur_AtomicJointSet);
    function jur_NegativeLookBehind_matches($this, $stringIndex, $testString, $matchResult) {
        var $size, $i, $e, $shift, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$shift = $thread.pop();$e = $thread.pop();$i = $thread.pop();$size = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $size = $this.$children.$size0;
            jur_MatchResultImpl_setConsumed($matchResult, $this.$groupIndex0, $stringIndex);
            $i = 0;
            if ($i >= $size) {
                $e = $this.$next6;
                $ptr = 1;
                continue main;
            }
            $e = ju_ArrayList_get($this.$children, $i);
            $shift = 0;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = $e.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        case 2:
            $tmp = $e.$findBack($shift, $stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $shift = $tmp;
            if ($shift >= 0)
                return (-1);
            $i = $i + 1 | 0;
            if ($i >= $size) {
                $e = $this.$next6;
                $ptr = 1;
                continue main;
            }
            $e = ju_ArrayList_get($this.$children, $i);
            $shift = 0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $size, $i, $e, $shift, $ptr);
    }
    function jur_NegativeLookBehind_hasConsumed($this, $matchResult) {
        return 0;
    }
    function jur_NegativeLookBehind_getName($this) {
        return $rt_s(1212);
    }
    function jur_SingleSet() {
        jur_JointSet.call(this);
        this.$kid = null;
    }
    function jur_SingleSet__init_0(var_0, var_1) {
        var var_2 = new jur_SingleSet();
        jur_SingleSet__init_(var_2, var_0, var_1);
        return var_2;
    }
    function jur_SingleSet__init_($this, $child, $fSet) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$fSet = $thread.pop();$child = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$kid = $child;
            $this.$fSet = $fSet;
            $this.$groupIndex0 = $fSet.$groupIndex;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $child, $fSet, $ptr);
    }
    function jur_SingleSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $start, var$5, $shift, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$shift = $thread.pop();var$5 = $thread.pop();$start = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $start = jur_MatchResultImpl_getStart($matchResult, $this.$groupIndex0);
            jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $stringIndex);
            var$5 = $this.$kid;
            $ptr = 1;
        case 1:
            $tmp = var$5.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $shift = $tmp;
            if ($shift >= 0)
                return $shift;
            jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $start);
            return (-1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $start, var$5, $shift, $ptr);
    }
    function jur_SingleSet_find($this, $stringIndex, $testString, $matchResult) {
        var var$4, $res, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$res = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$kid;
            $ptr = 1;
        case 1:
            $tmp = var$4.$find0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $res = $tmp;
            if ($res >= 0)
                jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $res);
            return $res;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $res, $ptr);
    }
    function jur_SingleSet_findBack($this, $stringIndex, $lastIndex, $testString, $matchResult) {
        var var$5, $res, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$res = $thread.pop();var$5 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$lastIndex = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $this.$kid;
            $ptr = 1;
        case 1:
            $tmp = var$5.$findBack($stringIndex, $lastIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $res = $tmp;
            if ($res >= 0)
                jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $res);
            return $res;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $lastIndex, $testString, $matchResult, var$5, $res, $ptr);
    }
    function jur_SingleSet_first($this, $set) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$set = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$kid;
            $ptr = 1;
        case 1:
            $tmp = var$2.$first($set);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $set, var$2, var$3, $ptr);
    }
    function jur_SingleSet_processBackRefReplacement($this) {
        var $set, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$set = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $set = new jur_BackReferencedSingleSet;
            var$2 = $this.$kid;
            var$3 = $this.$fSet;
            $ptr = 1;
        case 1:
            jur_SingleSet__init_($set, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$next6 = $set;
            return $set;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $set, var$2, var$3, $ptr);
    }
    function jur_SingleSet_processSecondPass($this) {
        var $set, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$set = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$isSecondPassVisited = 1;
            $set = $this.$fSet;
            if ($set !== null && !$set.$isSecondPassVisited) {
                $ptr = 1;
                continue main;
            }
            $set = $this.$kid;
            if ($set !== null && !$set.$isSecondPassVisited) {
                $ptr = 2;
                continue main;
            }
            return;
        case 1:
            jur_AbstractSet_processSecondPass($set);
            if ($rt_suspending()) {
                break main;
            }
            $set = $this.$kid;
            if ($set !== null && !$set.$isSecondPassVisited) {
                $ptr = 2;
                continue main;
            }
            return;
        case 2:
            $tmp = $set.$processBackRefReplacement();
            if ($rt_suspending()) {
                break main;
            }
            $set = $tmp;
            if ($set !== null) {
                $this.$kid.$isSecondPassVisited = 1;
                $this.$kid = $set;
            }
            $set = $this.$kid;
            $ptr = 3;
        case 3:
            $set.$processSecondPass();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $set, $ptr);
    }
    function jn_ByteOrder() {
        jl_Object.call(this);
        this.$name7 = null;
    }
    var jn_ByteOrder_BIG_ENDIAN = null;
    var jn_ByteOrder_LITTLE_ENDIAN = null;
    var jn_ByteOrder_nativeOrder0 = null;
    function jn_ByteOrder_$callClinit() {
        jn_ByteOrder_$callClinit = $rt_eraseClinit(jn_ByteOrder);
        jn_ByteOrder__clinit_();
    }
    function jn_ByteOrder__init_0(var_0) {
        var var_1 = new jn_ByteOrder();
        jn_ByteOrder__init_(var_1, var_0);
        return var_1;
    }
    function jn_ByteOrder__init_($this, $name) {
        jn_ByteOrder_$callClinit();
        $this.$name7 = $name;
    }
    function jn_ByteOrder__clinit_() {
        jn_ByteOrder_BIG_ENDIAN = jn_ByteOrder__init_0($rt_s(1213));
        jn_ByteOrder_LITTLE_ENDIAN = jn_ByteOrder__init_0($rt_s(1214));
    }
    function cjj_Adler32() {
        var a = this; jl_Object.call(a);
        a.$s1 = Long_ZERO;
        a.$s2 = Long_ZERO;
    }
    function cjj_Adler32__init_0() {
        var var_0 = new cjj_Adler32();
        cjj_Adler32__init_(var_0);
        return var_0;
    }
    function cjj_Adler32__init_($this) {
        $this.$s1 = Long_fromInt(1);
        $this.$s2 = Long_ZERO;
    }
    function cjj_Adler32_reset0($this, $init) {
        $this.$s1 = Long_and($init, Long_fromInt(65535));
        $this.$s2 = Long_and(Long_shr($init, 16), Long_fromInt(65535));
    }
    function cjj_Adler32_reset($this) {
        $this.$s1 = Long_fromInt(1);
        $this.$s2 = Long_ZERO;
    }
    function cjj_Adler32_getValue($this) {
        return Long_or(Long_shl($this.$s2, 16), $this.$s1);
    }
    function cjj_Adler32_update($this, $buf, $index, $len) {
        var var$4, var$5, $len1, $len2, var$8, $k, var$10;
        if ($len == 1) {
            $buf = $buf.data;
            var$4 = Long_add($this.$s1, Long_fromInt($buf[$index] & 255));
            $this.$s1 = var$4;
            var$5 = Long_add($this.$s2, var$4);
            $this.$s2 = var$5;
            $this.$s1 = Long_rem(var$4, Long_fromInt(65521));
            $this.$s2 = Long_rem(var$5, Long_fromInt(65521));
            return;
        }
        $len1 = $len / 5552 | 0;
        $len2 = $len % 5552 | 0;
        while (true) {
            var$8 = $len1 + (-1) | 0;
            if ($len1 <= 0)
                break;
            $k = 5552;
            while (true) {
                $len1 = $k + (-1) | 0;
                if ($k <= 0)
                    break;
                var$10 = $buf.data;
                var$4 = $this.$s1;
                $len = $index + 1 | 0;
                var$4 = Long_add(var$4, Long_fromInt(var$10[$index] & 255));
                $this.$s1 = var$4;
                $this.$s2 = Long_add($this.$s2, var$4);
                $k = $len1;
                $index = $len;
            }
            $this.$s1 = Long_rem($this.$s1, Long_fromInt(65521));
            $this.$s2 = Long_rem($this.$s2, Long_fromInt(65521));
            $len1 = var$8;
        }
        while (true) {
            $len = $len2 + (-1) | 0;
            if ($len2 <= 0)
                break;
            var$10 = $buf.data;
            var$4 = $this.$s1;
            var$8 = $index + 1 | 0;
            var$4 = Long_add(var$4, Long_fromInt(var$10[$index] & 255));
            $this.$s1 = var$4;
            $this.$s2 = Long_add($this.$s2, var$4);
            $len2 = $len;
            $index = var$8;
        }
        $this.$s1 = Long_rem($this.$s1, Long_fromInt(65521));
        $this.$s2 = Long_rem($this.$s2, Long_fromInt(65521));
    }
    function jt_DecimalFormatSymbols() {
        var a = this; jl_Object.call(a);
        a.$locale2 = null;
        a.$zeroDigit = 0;
        a.$groupingSeparator = 0;
        a.$decimalSeparator = 0;
        a.$perMill = 0;
        a.$percent = 0;
        a.$digit0 = 0;
        a.$patternSeparator = 0;
        a.$nan = null;
        a.$infinity = null;
        a.$minusSign = 0;
        a.$monetaryDecimalSeparator = 0;
        a.$exponentSeparator = null;
    }
    function jt_DecimalFormatSymbols__init_1() {
        var var_0 = new jt_DecimalFormatSymbols();
        jt_DecimalFormatSymbols__init_(var_0);
        return var_0;
    }
    function jt_DecimalFormatSymbols__init_2(var_0) {
        var var_1 = new jt_DecimalFormatSymbols();
        jt_DecimalFormatSymbols__init_0(var_1, var_0);
        return var_1;
    }
    function jt_DecimalFormatSymbols__init_($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = ju_Locale_getDefault();
            $ptr = 1;
        case 1:
            jt_DecimalFormatSymbols__init_0($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function jt_DecimalFormatSymbols__init_0($this, $locale) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$locale = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$locale2 = $locale;
            var$2 = $locale.$languageCode;
            var$3 = $locale.$countryCode;
            if (otciu_CLDRHelper_$$metadata$$20 === null)
                otciu_CLDRHelper_$$metadata$$20 = otciu_CLDRHelper_getDecimalDataMap$$create();
            var$4 = otciu_CLDRHelper_$$metadata$$20;
            $ptr = 1;
        case 1:
            $tmp = otciu_CLDRHelper_getCode(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $locale = $tmp;
            var$4 = var$4.hasOwnProperty($rt_ustr($locale)) ? var$4[$rt_ustr($locale)] : var$4.hasOwnProperty($rt_ustr(var$2)) ? var$4[$rt_ustr(var$2)] : var$4.root;
            $this.$zeroDigit = 48;
            $this.$groupingSeparator = var$4.groupingSeparator & 65535;
            $this.$decimalSeparator = var$4.decimalSeparator & 65535;
            $this.$perMill = var$4.perMille & 65535;
            $this.$percent = var$4.percent & 65535;
            $this.$digit0 = 35;
            $this.$patternSeparator = 59;
            $this.$nan = (var$4.naN !== null ? $rt_str(var$4.naN) : null);
            $this.$infinity = (var$4.infinity !== null ? $rt_str(var$4.infinity) : null);
            $this.$minusSign = var$4.minusSign & 65535;
            $this.$monetaryDecimalSeparator = var$4.decimalSeparator & 65535;
            $this.$exponentSeparator = (var$4.exponentSeparator !== null ? $rt_str(var$4.exponentSeparator) : null);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $locale, var$2, var$3, var$4, $ptr);
    }
    function nms_RecipesTools() {
        var a = this; jl_Object.call(a);
        a.$recipePatterns = null;
        a.$recipeItems1 = null;
    }
    function nms_RecipesTools__init_0() {
        var var_0 = new nms_RecipesTools();
        nms_RecipesTools__init_(var_0);
        return var_0;
    }
    function nms_RecipesTools__init_($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$recipePatterns = $rt_createArrayFromData($rt_arraycls(jl_String), [$rt_createArrayFromData(jl_String, [$rt_s(1153), $rt_s(1162), $rt_s(1162)]), $rt_createArrayFromData(jl_String, [$rt_s(1161), $rt_s(464), $rt_s(464)]), $rt_createArrayFromData(jl_String, [$rt_s(1215), $rt_s(1216), $rt_s(1217)]), $rt_createArrayFromData(jl_String, [$rt_s(1215), $rt_s(1217), $rt_s(1217)])]);
            var$1 = $rt_createArray($rt_arraycls(jl_Object), 5);
            var$2 = var$1.data;
            var$3 = 0;
            var$4 = $rt_createArray(jl_Object, 5);
            var$5 = var$4.data;
            var$6 = 0;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5[var$6] = nms_Block_planks;
            var$5[1] = nms_Block_cobblestone;
            var$6 = 2;
            $ptr = 2;
        case 2:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5[var$6] = nms_Item_ingotIron;
            var$5[3] = nms_Item_diamond;
            var$5[4] = nms_Item_ingotGold;
            var$2[var$3] = var$4;
            var$2[1] = $rt_createArrayFromData(jl_Object, [nms_Item_pickaxeWood, nms_Item_pickaxeStone, nms_Item_pickaxeSteel, nms_Item_pickaxeDiamond, nms_Item_pickaxeGold]);
            var$2[2] = $rt_createArrayFromData(jl_Object, [nms_Item_shovelWood, nms_Item_shovelStone, nms_Item_shovelSteel, nms_Item_shovelDiamond, nms_Item_shovelGold]);
            var$2[3] = $rt_createArrayFromData(jl_Object, [nms_Item_axeWood, nms_Item_axeStone, nms_Item_axeSteel, nms_Item_axeDiamond, nms_Item_axeGold]);
            var$2[4] = $rt_createArrayFromData(jl_Object, [nms_Item_hoeWood, nms_Item_hoeStone, nms_Item_hoeSteel, nms_Item_hoeDiamond, nms_Item_hoeGold]);
            $this.$recipeItems1 = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_RecipesTools_addRecipes($this, $var1) {
        var $var2, var$3, $var3, var$5, $var4, var$7, var$8, $var4_0, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4_0 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var4 = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = 0;
            while (true) {
                var$3 = $this.$recipeItems1.data;
                if ($var2 >= var$3[0].data.length)
                    break;
                $var3 = var$3[0].data[$var2];
                var$5 = $this.$recipeItems1.data;
                if (0 < (var$5.length - 1 | 0)) {
                    $var4 = 0 + 1 | 0;
                    var$7 = nms_ItemStack__init_12(var$5[$var4].data[$var2]);
                    var$8 = $rt_createArray(jl_Object, 5);
                    var$3 = var$8.data;
                    var$3[0] = $this.$recipePatterns.data[0];
                    var$3[1] = jl_Character_valueOf(35);
                    $var4_0 = 2;
                    $ptr = 1;
                    continue main;
                }
                $var2 = $var2 + 1 | 0;
            }
            return;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3[$var4_0] = nms_Item_stick;
            var$3[3] = jl_Character_valueOf(88);
            var$3[4] = $var3;
            $ptr = 2;
        case 2:
            nms_CraftingManager_addRecipe($var1, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var4_0 = $var4;
            while (true) {
                var$5 = $this.$recipeItems1.data;
                if ($var4_0 < (var$5.length - 1 | 0)) {
                    $var4 = $var4_0 + 1 | 0;
                    var$7 = nms_ItemStack__init_12(var$5[$var4].data[$var2]);
                    var$8 = $rt_createArray(jl_Object, 5);
                    var$3 = var$8.data;
                    var$3[0] = $this.$recipePatterns.data[$var4_0];
                    var$3[1] = jl_Character_valueOf(35);
                    $var4_0 = 2;
                    $ptr = 1;
                    continue main;
                }
                $var2 = $var2 + 1 | 0;
                var$3 = $this.$recipeItems1.data;
                if ($var2 >= var$3[0].data.length)
                    break;
                $var3 = var$3[0].data[$var2];
                $var4_0 = 0;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, var$5, $var4, var$7, var$8, $var4_0, $ptr);
    }
    function nms_RecipesWeapons() {
        var a = this; jl_Object.call(a);
        a.$recipePatterns0 = null;
        a.$recipeItems2 = null;
    }
    function nms_RecipesWeapons__init_0() {
        var var_0 = new nms_RecipesWeapons();
        nms_RecipesWeapons__init_(var_0);
        return var_0;
    }
    function nms_RecipesWeapons__init_($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_createArray($rt_arraycls(jl_String), 1);
            var$1.data[0] = $rt_createArrayFromData(jl_String, [$rt_s(1161), $rt_s(1161), $rt_s(464)]);
            $this.$recipePatterns0 = var$1;
            var$1 = $rt_createArray($rt_arraycls(jl_Object), 2);
            var$2 = var$1.data;
            var$3 = 0;
            var$4 = $rt_createArray(jl_Object, 5);
            var$5 = var$4.data;
            var$6 = 0;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5[var$6] = nms_Block_planks;
            var$5[1] = nms_Block_cobblestone;
            var$6 = 2;
            $ptr = 2;
        case 2:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5[var$6] = nms_Item_ingotIron;
            var$5[3] = nms_Item_diamond;
            var$5[4] = nms_Item_ingotGold;
            var$2[var$3] = var$4;
            var$2[1] = $rt_createArrayFromData(jl_Object, [nms_Item_swordWood, nms_Item_swordStone, nms_Item_swordSteel, nms_Item_swordDiamond, nms_Item_swordGold]);
            $this.$recipeItems2 = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_RecipesWeapons_addRecipes($this, $var1) {
        var $var2, var$3, $var3, $var4, var$6, var$7, var$8, $var4_0, $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4_0 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = 0;
            while (true) {
                var$3 = $this.$recipeItems2.data;
                if ($var2 >= var$3[0].data.length)
                    break;
                $var3 = var$3[0].data[$var2];
                var$3 = $this.$recipeItems2.data;
                if (0 < (var$3.length - 1 | 0)) {
                    $var4 = 0 + 1 | 0;
                    var$6 = nms_ItemStack__init_12(var$3[$var4].data[$var2]);
                    var$7 = $rt_createArray(jl_Object, 5);
                    var$8 = var$7.data;
                    var$8[0] = $this.$recipePatterns0.data[0];
                    var$8[1] = jl_Character_valueOf(35);
                    $var4_0 = 2;
                    $ptr = 4;
                    continue main;
                }
                $var2 = $var2 + 1 | 0;
            }
            $var5 = new nms_ItemStack;
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_1($var5, nms_Item_bow, 1);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1171), $rt_s(1172), $rt_s(1171), jl_Character_valueOf(88), nms_Item_silk, jl_Character_valueOf(35), nms_Item_stick]);
            $ptr = 2;
        case 2:
            nms_CraftingManager_addRecipe($var1, $var5, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_ItemStack__init_8(nms_Item_arrow, 4);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1161), $rt_s(464), $rt_s(1218), jl_Character_valueOf(89), nms_Item_feather, jl_Character_valueOf(88), nms_Item_flint, jl_Character_valueOf(35), nms_Item_stick]);
            $ptr = 3;
        case 3:
            nms_CraftingManager_addRecipe($var1, $var3, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$8[$var4_0] = nms_Item_stick;
            var$8[3] = jl_Character_valueOf(88);
            var$8[4] = $var3;
            $ptr = 5;
        case 5:
            nms_CraftingManager_addRecipe($var1, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var4_0 = $var4;
            while (true) {
                var$3 = $this.$recipeItems2.data;
                if ($var4_0 < (var$3.length - 1 | 0)) {
                    $var4 = $var4_0 + 1 | 0;
                    var$6 = nms_ItemStack__init_12(var$3[$var4].data[$var2]);
                    var$7 = $rt_createArray(jl_Object, 5);
                    var$8 = var$7.data;
                    var$8[0] = $this.$recipePatterns0.data[$var4_0];
                    var$8[1] = jl_Character_valueOf(35);
                    $var4_0 = 2;
                    $ptr = 4;
                    continue main;
                }
                $var2 = $var2 + 1 | 0;
                var$3 = $this.$recipeItems2.data;
                if ($var2 >= var$3[0].data.length)
                    break;
                $var3 = var$3[0].data[$var2];
                $var4_0 = 0;
            }
            $var5 = new nms_ItemStack;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, $var4, var$6, var$7, var$8, $var4_0, $var5, $ptr);
    }
    function nms_RecipesIngots() {
        jl_Object.call(this);
        this.$recipeItems3 = null;
    }
    function nms_RecipesIngots__init_0() {
        var var_0 = new nms_RecipesIngots();
        nms_RecipesIngots__init_(var_0);
        return var_0;
    }
    function nms_RecipesIngots__init_($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_createArray($rt_arraycls(jl_Object), 4);
            var$2 = var$1.data;
            var$3 = 0;
            var$4 = $rt_createArray(jl_Object, 2);
            var$5 = var$4.data;
            var$6 = 0;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5[var$6] = nms_Block_blockGold;
            var$7 = 1;
            var$8 = new nms_ItemStack;
            $ptr = 2;
        case 2:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_1(var$8, nms_Item_ingotGold, 9);
            var$5[var$7] = var$8;
            var$2[var$3] = var$4;
            var$2[1] = $rt_createArrayFromData(jl_Object, [nms_Block_blockSteel, nms_ItemStack__init_8(nms_Item_ingotIron, 9)]);
            var$2[2] = $rt_createArrayFromData(jl_Object, [nms_Block_blockDiamond, nms_ItemStack__init_8(nms_Item_diamond, 9)]);
            var$2[3] = $rt_createArrayFromData(jl_Object, [nms_Block_blockLapis, nms_ItemStack__init_11(nms_Item_dyePowder, 9, 4)]);
            $this.$recipeItems3 = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_RecipesIngots_addRecipes($this, $var1) {
        var $var2, var$3, $var3, $var4, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = 0;
            var$3 = $this.$recipeItems3.data;
            if ($var2 >= var$3.length)
                return;
            $var3 = var$3[$var2].data[0];
            $var4 = var$3[$var2].data[1];
            var$6 = nms_ItemStack__init_13($var3);
            var$7 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), $rt_s(1151), $rt_s(1151), jl_Character_valueOf(35), $var4]);
            $ptr = 1;
        case 1:
            nms_CraftingManager_addRecipe($var1, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $rt_createArrayFromData(jl_Object, [$rt_s(464), jl_Character_valueOf(35), $var3]);
            $ptr = 2;
        case 2:
            nms_CraftingManager_addRecipe($var1, $var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            var$3 = $this.$recipeItems3.data;
            if ($var2 >= var$3.length)
                return;
            $var3 = var$3[$var2].data[0];
            $var4 = var$3[$var2].data[1];
            var$6 = nms_ItemStack__init_13($var3);
            var$7 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), $rt_s(1151), $rt_s(1151), jl_Character_valueOf(35), $var4]);
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, $var4, var$6, var$7, $ptr);
    }
    var nms_RecipesFood = $rt_classWithoutFields();
    function nms_RecipesFood__init_0() {
        var var_0 = new nms_RecipesFood();
        nms_RecipesFood__init_(var_0);
        return var_0;
    }
    function nms_RecipesFood__init_($this) {}
    function nms_RecipesFood_addRecipes($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_ItemStack;
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_(var$2, nms_Item_bowlSoup);
            var$3 = $rt_createArray(jl_Object, 9);
            var$4 = var$3.data;
            var$4[0] = $rt_s(1218);
            var$4[1] = $rt_s(1161);
            var$4[2] = $rt_s(464);
            var$4[3] = jl_Character_valueOf(88);
            var$5 = 4;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4[var$5] = nms_Block_mushroomBrown;
            var$4[5] = jl_Character_valueOf(89);
            var$4[6] = nms_Block_mushroomRed;
            var$4[7] = jl_Character_valueOf(35);
            var$4[8] = nms_Item_bowlEmpty;
            $ptr = 3;
        case 3:
            nms_CraftingManager_addRecipe($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_ItemStack__init_12(nms_Item_bowlSoup);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1218), $rt_s(1161), $rt_s(464), jl_Character_valueOf(88), nms_Block_mushroomRed, jl_Character_valueOf(89), nms_Block_mushroomBrown, jl_Character_valueOf(35), nms_Item_bowlEmpty]);
            $ptr = 4;
        case 4:
            nms_CraftingManager_addRecipe($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_ItemStack__init_8(nms_Item_cookie, 8);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1152), jl_Character_valueOf(88), nms_ItemStack__init_11(nms_Item_dyePowder, 1, 3), jl_Character_valueOf(35), nms_Item_wheat]);
            $ptr = 5;
        case 5:
            nms_CraftingManager_addRecipe($var1, var$6, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    var nms_RecipesCrafting = $rt_classWithoutFields();
    function nms_RecipesCrafting__init_0() {
        var var_0 = new nms_RecipesCrafting();
        nms_RecipesCrafting__init_(var_0);
        return var_0;
    }
    function nms_RecipesCrafting__init_($this) {}
    function nms_RecipesCrafting_addRecipes($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_ItemStack;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_5(var$2, nms_Block_crate);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), $rt_s(1156), $rt_s(1151), jl_Character_valueOf(35), nms_Block_planks]);
            $ptr = 2;
        case 2:
            nms_CraftingManager_addRecipe($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_ItemStack__init_13(nms_Block_stoneOvenIdle);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1151), $rt_s(1156), $rt_s(1151), jl_Character_valueOf(35), nms_Block_cobblestone]);
            $ptr = 3;
        case 3:
            nms_CraftingManager_addRecipe($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_ItemStack__init_13(nms_Block_workbench);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1154), $rt_s(1154), jl_Character_valueOf(35), nms_Block_planks]);
            $ptr = 4;
        case 4:
            nms_CraftingManager_addRecipe($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_ItemStack__init_13(nms_Block_sandStone);
            var$3 = $rt_createArrayFromData(jl_Object, [$rt_s(1154), $rt_s(1154), jl_Character_valueOf(35), nms_Block_sand]);
            $ptr = 5;
        case 5:
            nms_CraftingManager_addRecipe($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_RecipesArmor() {
        var a = this; jl_Object.call(a);
        a.$recipePatterns1 = null;
        a.$recipeItems4 = null;
    }
    function nms_RecipesArmor__init_0() {
        var var_0 = new nms_RecipesArmor();
        nms_RecipesArmor__init_(var_0);
        return var_0;
    }
    function nms_RecipesArmor__init_($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$recipePatterns1 = $rt_createArrayFromData($rt_arraycls(jl_String), [$rt_createArrayFromData(jl_String, [$rt_s(1153), $rt_s(1163)]), $rt_createArrayFromData(jl_String, [$rt_s(1163), $rt_s(1153), $rt_s(1153)]), $rt_createArrayFromData(jl_String, [$rt_s(1153), $rt_s(1163), $rt_s(1163)]), $rt_createArrayFromData(jl_String, [$rt_s(1163), $rt_s(1163)])]);
            var$1 = $rt_createArray($rt_arraycls(jl_Object), 5);
            var$2 = var$1.data;
            var$3 = 0;
            var$4 = $rt_createArray(jl_Object, 5);
            var$5 = var$4.data;
            var$6 = 0;
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5[var$6] = nms_Item_leather;
            var$6 = 1;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5[var$6] = nms_Block_fire;
            var$5[2] = nms_Item_ingotIron;
            var$5[3] = nms_Item_diamond;
            var$5[4] = nms_Item_ingotGold;
            var$2[var$3] = var$4;
            var$2[1] = $rt_createArrayFromData(jl_Object, [nms_Item_helmetLeather, nms_Item_helmetChain, nms_Item_helmetSteel, nms_Item_helmetDiamond, nms_Item_helmetGold]);
            var$2[2] = $rt_createArrayFromData(jl_Object, [nms_Item_plateLeather, nms_Item_plateChain, nms_Item_plateSteel, nms_Item_plateDiamond, nms_Item_plateGold]);
            var$2[3] = $rt_createArrayFromData(jl_Object, [nms_Item_legsLeather, nms_Item_legsChain, nms_Item_legsSteel, nms_Item_legsDiamond, nms_Item_legsGold]);
            var$2[4] = $rt_createArrayFromData(jl_Object, [nms_Item_bootsLeather, nms_Item_bootsChain, nms_Item_bootsSteel, nms_Item_bootsDiamond, nms_Item_bootsGold]);
            $this.$recipeItems4 = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_RecipesArmor_addRecipes($this, $var1) {
        var $var2, var$3, $var3, var$5, $var4, var$7, var$8, $var4_0, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4_0 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var4 = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = 0;
            while (true) {
                var$3 = $this.$recipeItems4.data;
                if ($var2 >= var$3[0].data.length)
                    break;
                $var3 = var$3[0].data[$var2];
                var$5 = $this.$recipeItems4.data;
                if (0 < (var$5.length - 1 | 0)) {
                    $var4 = 0 + 1 | 0;
                    var$7 = nms_ItemStack__init_12(var$5[$var4].data[$var2]);
                    var$8 = $rt_createArrayFromData(jl_Object, [$this.$recipePatterns1.data[0], jl_Character_valueOf(88), $var3]);
                    $ptr = 1;
                    continue main;
                }
                $var2 = $var2 + 1 | 0;
            }
            return;
        case 1:
            nms_CraftingManager_addRecipe($var1, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var4_0 = $var4;
            while (true) {
                var$5 = $this.$recipeItems4.data;
                if ($var4_0 < (var$5.length - 1 | 0)) {
                    $var4 = $var4_0 + 1 | 0;
                    var$7 = nms_ItemStack__init_12(var$5[$var4].data[$var2]);
                    var$8 = $rt_createArrayFromData(jl_Object, [$this.$recipePatterns1.data[$var4_0], jl_Character_valueOf(88), $var3]);
                    continue main;
                }
                $var2 = $var2 + 1 | 0;
                var$3 = $this.$recipeItems4.data;
                if ($var2 >= var$3[0].data.length)
                    break;
                $var3 = var$3[0].data[$var2];
                $var4_0 = 0;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, var$5, $var4, var$7, var$8, $var4_0, $ptr);
    }
    var nms_RecipesDyes = $rt_classWithoutFields();
    function nms_RecipesDyes__init_0() {
        var var_0 = new nms_RecipesDyes();
        nms_RecipesDyes__init_(var_0);
        return var_0;
    }
    function nms_RecipesDyes__init_($this) {}
    function nms_RecipesDyes_addRecipes($this, $var1) {
        var $var2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = 0;
            if ($var2 >= 16) {
                var$3 = new nms_ItemStack;
                $ptr = 1;
                continue main;
            }
            var$4 = new nms_ItemStack;
            $ptr = 18;
            continue main;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_4(var$3, nms_Item_dyePowder, 2, 11);
            var$5 = $rt_createArray(jl_Object, 1);
            var$6 = var$5.data;
            $var2 = 0;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6[$var2] = nms_Block_plantYellow;
            $ptr = 3;
        case 3:
            nms_CraftingManager_addShapelessRecipe($var1, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_ItemStack__init_11(nms_Item_dyePowder, 2, 1);
            var$5 = $rt_createArray(jl_Object, 1);
            var$5.data[0] = nms_Block_plantRed;
            $ptr = 4;
        case 4:
            nms_CraftingManager_addShapelessRecipe($var1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_ItemStack__init_11(nms_Item_dyePowder, 3, 15);
            var$5 = $rt_createArray(jl_Object, 1);
            var$5.data[0] = nms_Item_bone;
            $ptr = 5;
        case 5:
            nms_CraftingManager_addShapelessRecipe($var1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nms_ItemStack__init_11(nms_Item_dyePowder, 2, 9);
            var$5 = $rt_createArrayFromData(jl_Object, [nms_ItemStack__init_11(nms_Item_dyePowder, 1, 1), nms_ItemStack__init_11(nms_Item_dyePowder, 1, 15)]);
            $ptr = 6;
        case 6:
            nms_CraftingManager_addShapelessRecipe($var1, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_ItemStack__init_11(nms_Item_dyePowder, 2, 14);
            var$5 = $rt_createArrayFromData(jl_Object, [nms_ItemStack__init_11(nms_Item_dyePowder, 1, 1), nms_ItemStack__init_11(nms_Item_dyePowder, 1, 11)]);
            $ptr = 7;
        case 7:
            nms_CraftingManager_addShapelessRecipe($var1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_ItemStack__init_11(nms_Item_dyePowder, 2, 10);
            var$5 = $rt_createArrayFromData(jl_Object, [nms_ItemStack__init_11(nms_Item_dyePowder, 1, 2), nms_ItemStack__init_11(nms_Item_dyePowder, 1, 15)]);
            $ptr = 8;
        case 8:
            nms_CraftingManager_addShapelessRecipe($var1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_ItemStack__init_11(nms_Item_dyePowder, 2, 8);
            var$5 = $rt_createArrayFromData(jl_Object, [nms_ItemStack__init_11(nms_Item_dyePowder, 1, 0), nms_ItemStack__init_11(nms_Item_dyePowder, 1, 15)]);
            $ptr = 9;
        case 9:
            nms_CraftingManager_addShapelessRecipe($var1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_ItemStack__init_11(nms_Item_dyePowder, 2, 7);
            var$5 = $rt_createArrayFromData(jl_Object, [nms_ItemStack__init_11(nms_Item_dyePowder, 1, 8), nms_ItemStack__init_11(nms_Item_dyePowder, 1, 15)]);
            $ptr = 10;
        case 10:
            nms_CraftingManager_addShapelessRecipe($var1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_ItemStack__init_11(nms_Item_dyePowder, 3, 7);
            var$5 = $rt_createArrayFromData(jl_Object, [nms_ItemStack__init_11(nms_Item_dyePowder, 1, 0), nms_ItemStack__init_11(nms_Item_dyePowder, 1, 15), nms_ItemStack__init_11(nms_Item_dyePowder, 1, 15)]);
            $ptr = 11;
        case 11:
            nms_CraftingManager_addShapelessRecipe($var1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_ItemStack__init_11(nms_Item_dyePowder, 2, 12);
            var$5 = $rt_createArrayFromData(jl_Object, [nms_ItemStack__init_11(nms_Item_dyePowder, 1, 4), nms_ItemStack__init_11(nms_Item_dyePowder, 1, 15)]);
            $ptr = 12;
        case 12:
            nms_CraftingManager_addShapelessRecipe($var1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_ItemStack__init_11(nms_Item_dyePowder, 2, 6);
            var$5 = $rt_createArrayFromData(jl_Object, [nms_ItemStack__init_11(nms_Item_dyePowder, 1, 4), nms_ItemStack__init_11(nms_Item_dyePowder, 1, 2)]);
            $ptr = 13;
        case 13:
            nms_CraftingManager_addShapelessRecipe($var1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_ItemStack__init_11(nms_Item_dyePowder, 2, 5);
            var$5 = $rt_createArrayFromData(jl_Object, [nms_ItemStack__init_11(nms_Item_dyePowder, 1, 4), nms_ItemStack__init_11(nms_Item_dyePowder, 1, 1)]);
            $ptr = 14;
        case 14:
            nms_CraftingManager_addShapelessRecipe($var1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_ItemStack__init_11(nms_Item_dyePowder, 2, 13);
            var$5 = $rt_createArrayFromData(jl_Object, [nms_ItemStack__init_11(nms_Item_dyePowder, 1, 5), nms_ItemStack__init_11(nms_Item_dyePowder, 1, 9)]);
            $ptr = 15;
        case 15:
            nms_CraftingManager_addShapelessRecipe($var1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_ItemStack__init_11(nms_Item_dyePowder, 3, 13);
            var$5 = $rt_createArrayFromData(jl_Object, [nms_ItemStack__init_11(nms_Item_dyePowder, 1, 4), nms_ItemStack__init_11(nms_Item_dyePowder, 1, 1), nms_ItemStack__init_11(nms_Item_dyePowder, 1, 9)]);
            $ptr = 16;
        case 16:
            nms_CraftingManager_addShapelessRecipe($var1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_ItemStack__init_11(nms_Item_dyePowder, 4, 13);
            var$5 = $rt_createArrayFromData(jl_Object, [nms_ItemStack__init_11(nms_Item_dyePowder, 1, 4), nms_ItemStack__init_11(nms_Item_dyePowder, 1, 1), nms_ItemStack__init_11(nms_Item_dyePowder, 1, 1), nms_ItemStack__init_11(nms_Item_dyePowder, 1, 15)]);
            $ptr = 17;
        case 17:
            nms_CraftingManager_addShapelessRecipe($var1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 18:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_3(var$4, nms_Block_cloth, 1, nms_BlockCloth_func_21035_d($var2));
            var$5 = $rt_createArray(jl_Object, 2);
            var$6 = var$5.data;
            var$7 = 0;
            var$3 = new nms_ItemStack;
            $ptr = 19;
        case 19:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_4(var$3, nms_Item_dyePowder, 1, $var2);
            var$6[var$7] = var$3;
            var$6[1] = nms_ItemStack__init_11(nms_Item_itemsList.data[nms_Block_cloth.$blockID], 1, 0);
            $ptr = 20;
        case 20:
            nms_CraftingManager_addShapelessRecipe($var1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 >= 16) {
                var$3 = new nms_ItemStack;
                $ptr = 1;
                continue main;
            }
            var$4 = new nms_ItemStack;
            $ptr = 18;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_RecipeSorter() {
        jl_Object.call(this);
        this.$craftingManager = null;
    }
    function nms_RecipeSorter__init_0(var_0) {
        var var_1 = new nms_RecipeSorter();
        nms_RecipeSorter__init_(var_1, var_0);
        return var_1;
    }
    function nms_RecipeSorter__init_($this, $var1) {
        $this.$craftingManager = $var1;
    }
    function nms_RecipeSorter_compare($this, $var1, $var2) {
        $var1 = $var1;
        $var2 = $var2;
        return $var1 instanceof nms_ShapelessRecipes && $var2 instanceof nms_ShapedRecipes ? 1 : $var2 instanceof nms_ShapelessRecipes && $var1 instanceof nms_ShapedRecipes ? (-1) : $var2.$getRecipeSize() < $var1.$getRecipeSize() ? (-1) : $var2.$getRecipeSize() <= $var1.$getRecipeSize() ? 0 : 1;
    }
    var jur_SpecialToken = $rt_classWithoutFields();
    function jur_AbstractCharClass() {
        var a = this; jur_SpecialToken.call(a);
        a.$alt0 = 0;
        a.$altSurrogates = 0;
        a.$lowHighSurrogates = null;
        a.$charClassWithoutSurrogates = null;
        a.$charClassWithSurrogates = null;
        a.$mayContainSupplCodepoints = 0;
    }
    var jur_AbstractCharClass_charClasses = null;
    function jur_AbstractCharClass_$callClinit() {
        jur_AbstractCharClass_$callClinit = $rt_eraseClinit(jur_AbstractCharClass);
        jur_AbstractCharClass__clinit_();
    }
    function jur_AbstractCharClass__init_($this) {
        var var$1;
        jur_AbstractCharClass_$callClinit();
        var$1 = new ju_BitSet;
        var$1.$data0 = $rt_createIntArray(64);
        $this.$lowHighSurrogates = var$1;
    }
    function jur_AbstractCharClass_getBits($this) {
        return null;
    }
    function jur_AbstractCharClass_getLowHighSurrogates($this) {
        return $this.$lowHighSurrogates;
    }
    function jur_AbstractCharClass_hasLowHighSurrogates($this) {
        var var$1, var$2, var$3, var$4, var$5;
        if (!$this.$altSurrogates)
            var$1 = ju_BitSet_nextSetBit($this.$lowHighSurrogates, 0) >= 2048 ? 0 : 1;
        else {
            a: {
                var$2 = $this.$lowHighSurrogates;
                var$1 = 0;
                var$3 = var$2.$length1;
                if (var$1 < var$3) {
                    var$4 = var$2.$data0.data;
                    var$5 = (var$4[0] ^ (-1)) >>> 0 | 0;
                    if (var$5)
                        var$1 = jl_Integer_numberOfTrailingZeros(var$5) + var$1 | 0;
                    else {
                        var$1 = (var$3 + 31 | 0) / 32 | 0;
                        var$5 = 1;
                        while (var$5 < var$1) {
                            if (var$4[var$5] != (-1)) {
                                var$1 = (var$5 * 32 | 0) + jl_Integer_numberOfTrailingZeros(var$4[var$5] ^ (-1)) | 0;
                                break a;
                            }
                            var$5 = var$5 + 1 | 0;
                        }
                        var$1 = var$3;
                    }
                }
            }
            var$1 = var$1 >= 2048 ? 0 : 1;
        }
        return var$1;
    }
    function jur_AbstractCharClass_mayContainSupplCodepoints($this) {
        return $this.$mayContainSupplCodepoints;
    }
    function jur_AbstractCharClass_getInstance($this) {
        return $this;
    }
    function jur_AbstractCharClass_getSurrogates($this) {
        var $lHS, var$2;
        if ($this.$charClassWithSurrogates === null) {
            $lHS = $this.$getLowHighSurrogates();
            var$2 = new jur_AbstractCharClass$1;
            var$2.$this$06 = $this;
            var$2.$val$lHS = $lHS;
            jur_AbstractCharClass__init_(var$2);
            $this.$charClassWithSurrogates = var$2;
            jur_AbstractCharClass_setNegative(var$2, $this.$altSurrogates);
        }
        return $this.$charClassWithSurrogates;
    }
    function jur_AbstractCharClass_getWithoutSurrogates($this) {
        var $lHS, var$2;
        if ($this.$charClassWithoutSurrogates === null) {
            $lHS = $this.$getLowHighSurrogates();
            var$2 = new jur_AbstractCharClass$2;
            var$2.$this$07 = $this;
            var$2.$val$lHS0 = $lHS;
            var$2.$val$thisClass = $this;
            jur_AbstractCharClass__init_(var$2);
            $this.$charClassWithoutSurrogates = var$2;
            jur_AbstractCharClass_setNegative(var$2, $this.$alt0);
            $this.$charClassWithoutSurrogates.$mayContainSupplCodepoints = $this.$mayContainSupplCodepoints;
        }
        return $this.$charClassWithoutSurrogates;
    }
    function jur_AbstractCharClass_hasUCI($this) {
        return 0;
    }
    function jur_AbstractCharClass_setNegative($this, $value) {
        var var$2;
        var$2 = $this.$alt0;
        if (var$2 ^ $value) {
            $this.$alt0 = var$2 ? 0 : 1;
            $this.$altSurrogates = $this.$altSurrogates ? 0 : 1;
        }
        if (!$this.$mayContainSupplCodepoints)
            $this.$mayContainSupplCodepoints = 1;
        return $this;
    }
    function jur_AbstractCharClass_isNegative($this) {
        return $this.$alt0;
    }
    function jur_AbstractCharClass_intersects($cc, $ch) {
        jur_AbstractCharClass_$callClinit();
        return $cc.$contains1($ch);
    }
    function jur_AbstractCharClass_intersects0($cc1, $cc2) {
        var var$3, var$4;
        jur_AbstractCharClass_$callClinit();
        if ($cc1.$getBits() !== null && $cc2.$getBits() !== null) {
            $cc1 = $cc1.$getBits();
            $cc2 = $cc2.$getBits();
            var$3 = jl_Math_min($cc1.$data0.data.length, $cc2.$data0.data.length);
            var$4 = 0;
            a: {
                while (var$4 < var$3) {
                    if ($cc1.$data0.data[var$4] & $cc2.$data0.data[var$4]) {
                        var$3 = 1;
                        break a;
                    }
                    var$4 = var$4 + 1 | 0;
                }
                var$3 = 0;
            }
            return var$3;
        }
        return 1;
    }
    function jur_AbstractCharClass_getPredefinedClass($name, $negative) {
        var var$3, var$4, var$5;
        jur_AbstractCharClass_$callClinit();
        var$3 = 0;
        while (true) {
            jur_AbstractCharClass$PredefinedCharacterClasses_$callClinit();
            var$4 = jur_AbstractCharClass$PredefinedCharacterClasses_contents.data;
            if (var$3 >= var$4.length) {
                var$5 = new ju_MissingResourceException;
                jl_Throwable__init_(var$5, $rt_s(3));
                var$5.$className0 = $rt_s(3);
                var$5.$key2 = $name;
                $rt_throw(var$5);
            }
            var$4 = var$4[var$3].data;
            if (jl_String_equals($name, var$4[0]))
                break;
            var$3 = var$3 + 1 | 0;
        }
        return jur_AbstractCharClass$LazyCharClass_getValue(var$4[1], $negative);
    }
    function jur_AbstractCharClass__clinit_() {
        var var$1;
        var$1 = new jur_AbstractCharClass$PredefinedCharacterClasses;
        jur_AbstractCharClass$PredefinedCharacterClasses_$callClinit();
        jur_AbstractCharClass_charClasses = var$1;
    }
    function jur_CharClass() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$ci = 0;
        a.$uci = 0;
        a.$hasUCI0 = 0;
        a.$invertedSurrogates = 0;
        a.$inverted = 0;
        a.$hideBits = 0;
        a.$bits0 = null;
        a.$nonBitSet = null;
    }
    function jur_CharClass__init_3() {
        var var_0 = new jur_CharClass();
        jur_CharClass__init_(var_0);
        return var_0;
    }
    function jur_CharClass__init_2(var_0, var_1) {
        var var_2 = new jur_CharClass();
        jur_CharClass__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function jur_CharClass__init_($this) {
        jur_AbstractCharClass__init_($this);
        $this.$bits0 = ju_BitSet__init_1();
    }
    function jur_CharClass__init_0($this, $ci, $uci) {
        jur_AbstractCharClass__init_($this);
        $this.$bits0 = ju_BitSet__init_1();
        $this.$ci = $ci;
        $this.$uci = $uci;
    }
    function jur_CharClass_add($this, $ch) {
        a: {
            if ($this.$ci) {
                b: {
                    if (!($ch >= 97 && $ch <= 122)) {
                        if ($ch < 65)
                            break b;
                        if ($ch > 90)
                            break b;
                    }
                    if ($this.$inverted) {
                        ju_BitSet_clear($this.$bits0, jur_Pattern_getSupplement($ch & 65535));
                        break a;
                    }
                    ju_BitSet_set($this.$bits0, jur_Pattern_getSupplement($ch & 65535));
                    break a;
                }
                if ($this.$uci && $ch > 128) {
                    $this.$hasUCI0 = 1;
                    $ch = jl_Character_toLowerCase0(jl_Character_toUpperCase0($ch));
                }
            }
        }
        if (!(!jur_Lexer_isHighSurrogate0($ch) && !jur_Lexer_isLowSurrogate0($ch))) {
            if ($this.$invertedSurrogates)
                ju_BitSet_clear($this.$lowHighSurrogates, $ch - 55296 | 0);
            else
                ju_BitSet_set($this.$lowHighSurrogates, $ch - 55296 | 0);
        }
        if ($this.$inverted)
            ju_BitSet_clear($this.$bits0, $ch);
        else
            ju_BitSet_set($this.$bits0, $ch);
        if (!$this.$mayContainSupplCodepoints && jl_Character_isSupplementaryCodePoint($ch))
            $this.$mayContainSupplCodepoints = 1;
        return $this;
    }
    function jur_CharClass_add0($this, $cc) {
        var $curAlt, $nb, var$4;
        if (!$this.$mayContainSupplCodepoints && $cc.$mayContainSupplCodepoints)
            $this.$mayContainSupplCodepoints = 1;
        if ($this.$invertedSurrogates) {
            if (!$cc.$altSurrogates)
                ju_BitSet_andNot($this.$lowHighSurrogates, $cc.$getLowHighSurrogates());
            else
                ju_BitSet_and($this.$lowHighSurrogates, $cc.$getLowHighSurrogates());
        } else if (!$cc.$altSurrogates)
            ju_BitSet_or($this.$lowHighSurrogates, $cc.$getLowHighSurrogates());
        else {
            ju_BitSet_xor($this.$lowHighSurrogates, $cc.$getLowHighSurrogates());
            ju_BitSet_and($this.$lowHighSurrogates, $cc.$getLowHighSurrogates());
            $this.$altSurrogates = $this.$altSurrogates ? 0 : 1;
            $this.$invertedSurrogates = 1;
        }
        if (!$this.$hideBits && $cc.$getBits() !== null) {
            if ($this.$inverted) {
                if (!$cc.$alt0)
                    ju_BitSet_andNot($this.$bits0, $cc.$getBits());
                else
                    ju_BitSet_and($this.$bits0, $cc.$getBits());
            } else if (!$cc.$alt0)
                ju_BitSet_or($this.$bits0, $cc.$getBits());
            else {
                ju_BitSet_xor($this.$bits0, $cc.$getBits());
                ju_BitSet_and($this.$bits0, $cc.$getBits());
                $this.$alt0 = $this.$alt0 ? 0 : 1;
                $this.$inverted = 1;
            }
        } else {
            $curAlt = $this.$alt0;
            $nb = $this.$nonBitSet;
            if ($nb !== null) {
                if (!$curAlt) {
                    var$4 = new jur_CharClass$5;
                    var$4.$this$08 = $this;
                    var$4.$val$curAlt = $curAlt;
                    var$4.$val$nb = $nb;
                    var$4.$val$cc = $cc;
                    jur_AbstractCharClass__init_(var$4);
                    $this.$nonBitSet = var$4;
                } else {
                    var$4 = new jur_CharClass$4;
                    var$4.$this$09 = $this;
                    var$4.$val$curAlt0 = $curAlt;
                    var$4.$val$nb0 = $nb;
                    var$4.$val$cc0 = $cc;
                    jur_AbstractCharClass__init_(var$4);
                    $this.$nonBitSet = var$4;
                }
            } else {
                if ($curAlt && !$this.$inverted && ju_BitSet_isEmpty($this.$bits0)) {
                    $nb = new jur_CharClass$1;
                    $nb.$this$010 = $this;
                    $nb.$val$cc1 = $cc;
                    jur_AbstractCharClass__init_($nb);
                    $this.$nonBitSet = $nb;
                } else if (!$curAlt) {
                    $nb = new jur_CharClass$3;
                    $nb.$this$011 = $this;
                    $nb.$val$curAlt1 = $curAlt;
                    $nb.$val$cc2 = $cc;
                    jur_AbstractCharClass__init_($nb);
                    $this.$nonBitSet = $nb;
                } else {
                    $nb = new jur_CharClass$2;
                    $nb.$this$012 = $this;
                    $nb.$val$curAlt2 = $curAlt;
                    $nb.$val$cc3 = $cc;
                    jur_AbstractCharClass__init_($nb);
                    $this.$nonBitSet = $nb;
                }
                $this.$hideBits = 1;
            }
        }
        return $this;
    }
    function jur_CharClass_add1($this, $i, $end) {
        var var$3, var$4, var$5, var$6, var$7;
        if ($i > $end) {
            var$3 = new jl_IllegalArgumentException;
            jl_Throwable__init_0(var$3);
            $rt_throw(var$3);
        }
        a: {
            b: {
                if (!$this.$ci) {
                    if ($end < 55296)
                        break b;
                    if ($i > 57343)
                        break b;
                }
                $end = $end + 1 | 0;
                while (true) {
                    if ($i >= $end)
                        break a;
                    jur_CharClass_add($this, $i);
                    $i = $i + 1 | 0;
                }
            }
            if (!$this.$inverted)
                ju_BitSet_set0($this.$bits0, $i, $end + 1 | 0);
            else {
                var$3 = $this.$bits0;
                $end = $end + 1 | 0;
                if ($i >= 0 && $i <= $end) {
                    var$4 = var$3.$length1;
                    if ($i < var$4) {
                        var$5 = jl_Math_min(var$4, $end);
                        if ($i != var$5) {
                            var$6 = $i / 32 | 0;
                            $end = var$5 / 32 | 0;
                            if (var$6 == $end) {
                                var$7 = var$3.$data0.data;
                                var$7[var$6] = var$7[var$6] & (ju_BitSet_trailingOneBits(var$3, $i) | ju_BitSet_trailingZeroBits(var$3, var$5));
                            } else {
                                var$7 = var$3.$data0.data;
                                var$7[var$6] = var$7[var$6] & ju_BitSet_trailingOneBits(var$3, $i);
                                var$4 = var$6 + 1 | 0;
                                while (var$4 < $end) {
                                    var$3.$data0.data[var$4] = 0;
                                    var$4 = var$4 + 1 | 0;
                                }
                                if (var$5 & 31) {
                                    var$7 = var$3.$data0.data;
                                    var$7[$end] = var$7[$end] & ju_BitSet_trailingZeroBits(var$3, var$5);
                                }
                            }
                            ju_BitSet_recalculateLength(var$3);
                        }
                    }
                } else {
                    var$3 = new jl_IndexOutOfBoundsException;
                    jl_Throwable__init_0(var$3);
                    $rt_throw(var$3);
                }
            }
        }
        return $this;
    }
    function jur_CharClass_union($this, $clazz) {
        var $curAlt, $nb, var$4;
        if (!$this.$mayContainSupplCodepoints && $clazz.$mayContainSupplCodepoints)
            $this.$mayContainSupplCodepoints = 1;
        if ($clazz.$hasUCI0)
            $this.$hasUCI0 = 1;
        $curAlt = $this.$altSurrogates;
        if (!($curAlt ^ $clazz.$altSurrogates)) {
            if (!$curAlt)
                ju_BitSet_or($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
            else
                ju_BitSet_and($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
        } else if ($curAlt)
            ju_BitSet_andNot($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
        else {
            ju_BitSet_xor($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
            ju_BitSet_and($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
            $this.$altSurrogates = 1;
        }
        if (!$this.$hideBits && jur_CharClass_getBits($clazz) !== null) {
            $curAlt = $this.$alt0;
            if (!($curAlt ^ $clazz.$alt0)) {
                if (!$curAlt)
                    ju_BitSet_or($this.$bits0, jur_CharClass_getBits($clazz));
                else
                    ju_BitSet_and($this.$bits0, jur_CharClass_getBits($clazz));
            } else if ($curAlt)
                ju_BitSet_andNot($this.$bits0, jur_CharClass_getBits($clazz));
            else {
                ju_BitSet_xor($this.$bits0, jur_CharClass_getBits($clazz));
                ju_BitSet_and($this.$bits0, jur_CharClass_getBits($clazz));
                $this.$alt0 = 1;
            }
        } else {
            $curAlt = $this.$alt0;
            $nb = $this.$nonBitSet;
            if ($nb !== null) {
                if (!$curAlt) {
                    var$4 = new jur_CharClass$11;
                    var$4.$this$013 = $this;
                    var$4.$val$curAlt3 = $curAlt;
                    var$4.$val$nb1 = $nb;
                    var$4.$val$clazz = $clazz;
                    jur_AbstractCharClass__init_(var$4);
                    $this.$nonBitSet = var$4;
                } else {
                    var$4 = new jur_CharClass$10;
                    var$4.$this$014 = $this;
                    var$4.$val$curAlt4 = $curAlt;
                    var$4.$val$nb2 = $nb;
                    var$4.$val$clazz0 = $clazz;
                    jur_AbstractCharClass__init_(var$4);
                    $this.$nonBitSet = var$4;
                }
            } else {
                if (!$this.$inverted && ju_BitSet_isEmpty($this.$bits0)) {
                    if (!$curAlt) {
                        $nb = new jur_CharClass$7;
                        $nb.$this$015 = $this;
                        $nb.$val$clazz1 = $clazz;
                        jur_AbstractCharClass__init_($nb);
                        $this.$nonBitSet = $nb;
                    } else {
                        $nb = new jur_CharClass$6;
                        $nb.$this$016 = $this;
                        $nb.$val$clazz2 = $clazz;
                        jur_AbstractCharClass__init_($nb);
                        $this.$nonBitSet = $nb;
                    }
                } else if (!$curAlt) {
                    $nb = new jur_CharClass$9;
                    $nb.$this$017 = $this;
                    $nb.$val$clazz3 = $clazz;
                    $nb.$val$curAlt5 = $curAlt;
                    jur_AbstractCharClass__init_($nb);
                    $this.$nonBitSet = $nb;
                } else {
                    $nb = new jur_CharClass$8;
                    $nb.$this$018 = $this;
                    $nb.$val$clazz4 = $clazz;
                    $nb.$val$curAlt6 = $curAlt;
                    jur_AbstractCharClass__init_($nb);
                    $this.$nonBitSet = $nb;
                }
                $this.$hideBits = 1;
            }
        }
    }
    function jur_CharClass_intersection($this, $clazz) {
        var $curAlt, $nb, var$4;
        if (!$this.$mayContainSupplCodepoints && $clazz.$mayContainSupplCodepoints)
            $this.$mayContainSupplCodepoints = 1;
        if ($clazz.$hasUCI0)
            $this.$hasUCI0 = 1;
        $curAlt = $this.$altSurrogates;
        if (!($curAlt ^ $clazz.$altSurrogates)) {
            if (!$curAlt)
                ju_BitSet_and($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
            else
                ju_BitSet_or($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
        } else if (!$curAlt)
            ju_BitSet_andNot($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
        else {
            ju_BitSet_xor($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
            ju_BitSet_and($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
            $this.$altSurrogates = 0;
        }
        if (!$this.$hideBits && jur_CharClass_getBits($clazz) !== null) {
            $curAlt = $this.$alt0;
            if (!($curAlt ^ $clazz.$alt0)) {
                if (!$curAlt)
                    ju_BitSet_and($this.$bits0, jur_CharClass_getBits($clazz));
                else
                    ju_BitSet_or($this.$bits0, jur_CharClass_getBits($clazz));
            } else if (!$curAlt)
                ju_BitSet_andNot($this.$bits0, jur_CharClass_getBits($clazz));
            else {
                ju_BitSet_xor($this.$bits0, jur_CharClass_getBits($clazz));
                ju_BitSet_and($this.$bits0, jur_CharClass_getBits($clazz));
                $this.$alt0 = 0;
            }
        } else {
            $curAlt = $this.$alt0;
            $nb = $this.$nonBitSet;
            if ($nb !== null) {
                if (!$curAlt) {
                    var$4 = new jur_CharClass$17;
                    var$4.$this$019 = $this;
                    var$4.$val$curAlt7 = $curAlt;
                    var$4.$val$nb3 = $nb;
                    var$4.$val$clazz5 = $clazz;
                    jur_AbstractCharClass__init_(var$4);
                    $this.$nonBitSet = var$4;
                } else {
                    var$4 = new jur_CharClass$16;
                    var$4.$this$020 = $this;
                    var$4.$val$curAlt8 = $curAlt;
                    var$4.$val$nb4 = $nb;
                    var$4.$val$clazz6 = $clazz;
                    jur_AbstractCharClass__init_(var$4);
                    $this.$nonBitSet = var$4;
                }
            } else {
                if (!$this.$inverted && ju_BitSet_isEmpty($this.$bits0)) {
                    if (!$curAlt) {
                        $nb = new jur_CharClass$13;
                        $nb.$this$021 = $this;
                        $nb.$val$clazz7 = $clazz;
                        jur_AbstractCharClass__init_($nb);
                        $this.$nonBitSet = $nb;
                    } else {
                        $nb = new jur_CharClass$12;
                        $nb.$this$022 = $this;
                        $nb.$val$clazz8 = $clazz;
                        jur_AbstractCharClass__init_($nb);
                        $this.$nonBitSet = $nb;
                    }
                } else if (!$curAlt) {
                    $nb = new jur_CharClass$15;
                    $nb.$this$023 = $this;
                    $nb.$val$clazz9 = $clazz;
                    $nb.$val$curAlt9 = $curAlt;
                    jur_AbstractCharClass__init_($nb);
                    $this.$nonBitSet = $nb;
                } else {
                    $nb = new jur_CharClass$14;
                    $nb.$this$024 = $this;
                    $nb.$val$clazz10 = $clazz;
                    $nb.$val$curAlt10 = $curAlt;
                    jur_AbstractCharClass__init_($nb);
                    $this.$nonBitSet = $nb;
                }
                $this.$hideBits = 1;
            }
        }
    }
    function jur_CharClass_contains($this, $ch) {
        var var$2;
        var$2 = $this.$nonBitSet;
        if (var$2 !== null)
            return $this.$alt0 ^ var$2.$contains1($ch);
        return $this.$alt0 ^ ju_BitSet_get($this.$bits0, $ch);
    }
    function jur_CharClass_getBits($this) {
        if (!$this.$hideBits)
            return $this.$bits0;
        return null;
    }
    function jur_CharClass_getLowHighSurrogates($this) {
        return $this.$lowHighSurrogates;
    }
    function jur_CharClass_getInstance($this) {
        var $bs, $res;
        if ($this.$nonBitSet !== null)
            return $this;
        $bs = jur_CharClass_getBits($this);
        $res = new jur_CharClass$18;
        $res.$this$025 = $this;
        $res.$val$bs = $bs;
        jur_AbstractCharClass__init_($res);
        return jur_AbstractCharClass_setNegative($res, $this.$alt0);
    }
    function jur_CharClass_toString($this) {
        var $temp, $i, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$i = $thread.pop();$temp = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $temp = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($temp);
            $i = ju_BitSet_nextSetBit($this.$bits0, 0);
            while ($i >= 0) {
                jl_AbstractStringBuilder_append6($temp, jl_Character_toChars($i));
                jl_AbstractStringBuilder_append($temp, 124);
                $i = ju_BitSet_nextSetBit($this.$bits0, $i + 1 | 0);
            }
            var$3 = $temp.$length0;
            if (var$3 > 0)
                jl_StringBuilder_deleteCharAt($temp, var$3 - 1 | 0);
            $ptr = 1;
        case 1:
            $tmp = jl_AbstractStringBuilder_toString($temp);
            if ($rt_suspending()) {
                break main;
            }
            $temp = $tmp;
            return $temp;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $temp, $i, var$3, $ptr);
    }
    function jur_CharClass_hasUCI($this) {
        return $this.$hasUCI0;
    }
    function ju_MissingResourceException() {
        var a = this; jl_RuntimeException.call(a);
        a.$className0 = null;
        a.$key2 = null;
    }
    function jur_QuantifierSet() {
        jur_AbstractSet.call(this);
        this.$innerSet = null;
    }
    function jur_QuantifierSet__init_($this, $innerSet, $next, $type) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$type = $thread.pop();$next = $thread.pop();$innerSet = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_0($this, $next);
            if ($rt_suspending()) {
                break main;
            }
            $this.$innerSet = $innerSet;
            $this.$type0 = $type;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $innerSet, $next, $type, $ptr);
    }
    function jur_QuantifierSet_getInnerSet($this) {
        return $this.$innerSet;
    }
    function jur_QuantifierSet_first($this, $set) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$set = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$innerSet;
            $ptr = 1;
        case 1:
            $tmp = var$2.$first($set);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3)
                return 1;
            var$2 = $this.$next6;
            $ptr = 2;
        case 2:
            $tmp = var$2.$first($set);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3 ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $set, var$2, var$3, $ptr);
    }
    function jur_QuantifierSet_hasConsumed($this, $mr) {
        return 1;
    }
    function jur_QuantifierSet_processSecondPass($this) {
        var $set, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$set = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$isSecondPassVisited = 1;
            $set = $this.$next6;
            if ($set !== null && !$set.$isSecondPassVisited) {
                $ptr = 1;
                continue main;
            }
            $set = $this.$innerSet;
            if ($set !== null) {
                if (!$set.$isSecondPassVisited) {
                    $ptr = 2;
                    continue main;
                }
                if ($set instanceof jur_SingleSet && $set.$fSet.$isBackReferenced)
                    $this.$innerSet = $set.$next6;
            }
            return;
        case 1:
            $tmp = $set.$processBackRefReplacement();
            if ($rt_suspending()) {
                break main;
            }
            $set = $tmp;
            if ($set !== null) {
                $this.$next6.$isSecondPassVisited = 1;
                $this.$next6 = $set;
            }
            $set = $this.$next6;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = $set.$processBackRefReplacement();
            if ($rt_suspending()) {
                break main;
            }
            $set = $tmp;
            if ($set !== null) {
                $this.$innerSet.$isSecondPassVisited = 1;
                $this.$innerSet = $set;
            }
            $set = $this.$innerSet;
            $ptr = 4;
            continue main;
        case 3:
            $set.$processSecondPass();
            if ($rt_suspending()) {
                break main;
            }
            $set = $this.$innerSet;
            if ($set !== null) {
                if (!$set.$isSecondPassVisited) {
                    $ptr = 2;
                    continue main;
                }
                if ($set instanceof jur_SingleSet && $set.$fSet.$isBackReferenced)
                    $this.$innerSet = $set.$next6;
            }
            return;
        case 4:
            $set.$processSecondPass();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $set, $ptr);
    }
    function jur_LeafQuantifierSet() {
        jur_QuantifierSet.call(this);
        this.$leaf = null;
    }
    function jur_LeafQuantifierSet__init_0(var_0, var_1, var_2) {
        var var_3 = new jur_LeafQuantifierSet();
        jur_LeafQuantifierSet__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function jur_LeafQuantifierSet__init_($this, $innerSet, $next, $type) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$type = $thread.pop();$next = $thread.pop();$innerSet = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_QuantifierSet__init_($this, $innerSet, $next, $type);
            if ($rt_suspending()) {
                break main;
            }
            $this.$leaf = $innerSet;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $innerSet, $next, $type, $ptr);
    }
    function jur_LeafQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $i, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$i = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $i = 0;
            a: {
                while (($stringIndex + $this.$leaf.$charCount0() | 0) <= $matchResult.$rightBound0) {
                    var$5 = $this.$leaf.$accepts($stringIndex, $testString);
                    if (var$5 <= 0)
                        break a;
                    $stringIndex = $stringIndex + var$5 | 0;
                    $i = $i + 1 | 0;
                }
            }
            if ($i < 0)
                return (-1);
            var$6 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$6.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 >= 0)
                return var$5;
            $stringIndex = $stringIndex - $this.$leaf.$charCount0() | 0;
            $i = $i + (-1) | 0;
            if ($i < 0)
                return (-1);
            var$6 = $this.$next6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $i, var$5, var$6, $ptr);
    }
    function jur_LeafQuantifierSet_getName($this) {
        return $rt_s(1219);
    }
    function jur_CompositeQuantifierSet() {
        jur_LeafQuantifierSet.call(this);
        this.$quantifier = null;
    }
    function jur_CompositeQuantifierSet__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new jur_CompositeQuantifierSet();
        jur_CompositeQuantifierSet__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function jur_CompositeQuantifierSet__init_($this, $quant, $innerSet, $next, $type) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$type = $thread.pop();$next = $thread.pop();$innerSet = $thread.pop();$quant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_LeafQuantifierSet__init_($this, $innerSet, $next, $type);
            if ($rt_suspending()) {
                break main;
            }
            $this.$quantifier = $quant;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $quant, $innerSet, $next, $type, $ptr);
    }
    function jur_CompositeQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, $min, $max, $i, $shift, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$shift = $thread.pop();$i = $thread.pop();$max = $thread.pop();$min = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$quantifier;
            $min = var$4.$min0;
            $max = var$4.$max1;
            $i = 0;
            while (true) {
                if ($i >= $min) {
                    a: {
                        while ($i < $max) {
                            if (($stringIndex + $this.$leaf.$charCount0() | 0) > $matchResult.$rightBound0)
                                break a;
                            $shift = $this.$leaf.$accepts($stringIndex, $testString);
                            if ($shift < 1)
                                break a;
                            $stringIndex = $stringIndex + $shift | 0;
                            $i = $i + 1 | 0;
                        }
                    }
                    if ($i < $min)
                        return (-1);
                    var$4 = $this.$next6;
                    $ptr = 1;
                    continue main;
                }
                if (($stringIndex + $this.$leaf.$charCount0() | 0) > $matchResult.$rightBound0) {
                    $matchResult.$hitEnd = 1;
                    return (-1);
                }
                $shift = $this.$leaf.$accepts($stringIndex, $testString);
                if ($shift < 1)
                    break;
                $stringIndex = $stringIndex + $shift | 0;
                $i = $i + 1 | 0;
            }
            return (-1);
        case 1:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $shift = $tmp;
            if ($shift >= 0)
                return $shift;
            $stringIndex = $stringIndex - $this.$leaf.$charCount0() | 0;
            $i = $i + (-1) | 0;
            if ($i < $min)
                return (-1);
            var$4 = $this.$next6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $min, $max, $i, $shift, $ptr);
    }
    function jur_CompositeQuantifierSet_getName($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$quantifier;
            $ptr = 1;
        case 1:
            $tmp = jur_Quantifier_toString(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    var jur_GroupQuantifierSet = $rt_classWithoutFields(jur_QuantifierSet);
    function jur_GroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, $nextIndex, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$nextIndex = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$innerSet;
            $ptr = 1;
        case 1:
            $tmp = var$4.$hasConsumed($matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $nextIndex = $tmp;
            if ($nextIndex) {
                var$4 = $this.$innerSet;
                $ptr = 2;
                continue main;
            }
            var$4 = $this.$next6;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $nextIndex = $tmp;
            if ($nextIndex >= 0)
                return $nextIndex;
            var$4 = $this.$next6;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        case 4:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $nextIndex, $ptr);
    }
    function jur_GroupQuantifierSet_getName($this) {
        return $rt_s(1220);
    }
    var jur_AltQuantifierSet = $rt_classWithoutFields(jur_LeafQuantifierSet);
    function jur_AltQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, $shift, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$shift = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$innerSet;
            $ptr = 1;
        case 1:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $shift = $tmp;
            if ($shift >= 0)
                return $shift;
            var$4 = $this.$next6;
            $ptr = 2;
        case 2:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $shift = $tmp;
            return $shift;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $shift, $ptr);
    }
    function jur_AltQuantifierSet_setNext($this, $next) {
        $this.$next6 = $next;
        $this.$innerSet.$setNext($next);
    }
    var jur_UnifiedQuantifierSet = $rt_classWithoutFields(jur_LeafQuantifierSet);
    function jur_UnifiedQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            while (($stringIndex + $this.$leaf.$charCount0() | 0) <= $matchResult.$rightBound0 && $this.$leaf.$accepts($stringIndex, $testString) > 0) {
                $stringIndex = $stringIndex + $this.$leaf.$charCount0() | 0;
            }
            var$4 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $ptr);
    }
    function jur_UnifiedQuantifierSet_find($this, $stringIndex, $testString, $matchResult) {
        var var$4, $startSearch, $newSearch, $newSearch_0, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$newSearch_0 = $thread.pop();$newSearch = $thread.pop();$startSearch = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$4.$find0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $startSearch = $tmp;
            if ($startSearch < 0)
                return (-1);
            $newSearch = $startSearch - $this.$leaf.$charCount0() | 0;
            while ($newSearch >= $stringIndex && $this.$leaf.$accepts($newSearch, $testString) > 0) {
                $newSearch_0 = $newSearch - $this.$leaf.$charCount0() | 0;
                $startSearch = $newSearch;
                $newSearch = $newSearch_0;
            }
            return $startSearch;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $startSearch, $newSearch, $newSearch_0, $ptr);
    }
    var otciu_UnicodeHelper = $rt_classWithoutFields();
    function otciu_UnicodeHelper__init_0() {
        var var_0 = new otciu_UnicodeHelper();
        otciu_UnicodeHelper__init_(var_0);
        return var_0;
    }
    function otciu_UnicodeHelper__init_($this) {}
    function otciu_UnicodeHelper_decodeCaseMapping($text) {
        var $flow, $sz, $data, var$5, $last, $i, var$8;
        $flow = otci_CharFlow__init_(jl_String_toCharArray($text));
        $sz = otci_Base46_decodeUnsigned($flow);
        $data = $rt_createIntArray($sz * 2 | 0);
        var$5 = $data.data;
        $last = 0;
        $i = 0;
        while ($i < $sz) {
            $last = $last + otci_Base46_decodeUnsigned($flow) | 0;
            var$8 = $i * 2 | 0;
            var$5[var$8] = $last;
            var$5[var$8 + 1 | 0] = otci_Base46_decode($flow);
            $i = $i + 1 | 0;
        }
        return $data;
    }
    function otciu_UnicodeHelper_createCharMapping($data) {
        var $result, var$3, $last, $lastValue, $i, var$7, $key, $value, var$10, var$11;
        $result = $rt_createIntArray(65536);
        var$3 = $result.data;
        $last = 0;
        $lastValue = 0;
        $i = 0;
        a: {
            while (true) {
                var$7 = $data.data;
                if ($i >= var$7.length)
                    break a;
                $key = var$7[$i];
                $value = var$7[$i + 1 | 0];
                var$10 = var$3.length;
                if ($key < var$10)
                    var$10 = $key;
                else if ($key == $last)
                    break;
                ju_Arrays_fill0($result, $last, var$10, $lastValue);
                $i = $i + 2 | 0;
                $last = var$10;
                $lastValue = $value;
            }
        }
        var$11 = new otciu_CharMapping;
        var$11.$binarySearchTable = $data;
        var$11.$fastTable = $result;
        return var$11;
    }
    function otciu_UnicodeHelper_decodeByte($c) {
        if ($c > 92)
            return (($c - 32 | 0) - 2 | 0) << 24 >> 24;
        if ($c <= 34)
            return ($c - 32 | 0) << 24 >> 24;
        return (($c - 32 | 0) - 1 | 0) << 24 >> 24;
    }
    function ju_IANATimeZone() {
        var a = this; ju_TimeZone.call(a);
        a.$underlyingZone = null;
        a.$rawOffset = 0;
        a.$diff = 0;
    }
    function ju_IANATimeZone__init_0(var_0) {
        var var_1 = new ju_IANATimeZone();
        ju_IANATimeZone__init_(var_1, var_0);
        return var_1;
    }
    function ju_IANATimeZone__init_($this, $underlyingZone) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$underlyingZone = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $underlyingZone.$iID;
            $ptr = 1;
        case 1:
            ju_TimeZone_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$id1 = var$2;
            $this.$underlyingZone = $underlyingZone;
            var$3 = jl_System_currentTimeMillis();
            $ptr = 2;
        case 2:
            $tmp = $underlyingZone.$getStandardOffset(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $this.$rawOffset = var$4;
            $this.$diff =  -var$4 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $underlyingZone, var$2, var$3, var$4, $ptr);
    }
    function ju_IANATimeZone_getOffset($this, $time) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$time = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$rawOffset + $this.$diff | 0;
            var$3 = $this.$underlyingZone;
            $ptr = 1;
        case 1:
            $tmp = var$3.$getOffset($time);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return var$2 + var$4 | 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $time, var$2, var$3, var$4, $ptr);
    }
    function ju_IANATimeZone_clone($this) {
        var var$1, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            try {
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_CloneNotSupportedException) {
                } else {
                    throw $$e;
                }
            }
            var$1 = null;
            var$1.$rawOffset = $this.$rawOffset;
            var$1.$underlyingZone = $this.$underlyingZone;
            return var$1;
        case 1:
            a: {
                try {
                    $tmp = jl_Object_clone($this);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$1 = $tmp;
                    var$1 = var$1;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_CloneNotSupportedException) {
                    } else {
                        throw $$e;
                    }
                }
                var$1 = null;
            }
            var$1.$rawOffset = $this.$rawOffset;
            var$1.$underlyingZone = $this.$underlyingZone;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function otcit_DateTimeZone() {
        jl_Object.call(this);
        this.$iID = null;
    }
    function otcit_DateTimeZone_getID($this) {
        return $this.$iID;
    }
    var otcit_StorableDateTimeZone = $rt_classWithoutFields(otcit_DateTimeZone);
    function otcit_StorableDateTimeZone__init_($this, $id) {
        var var$2;
        if ($id !== null) {
            $this.$iID = $id;
            return;
        }
        var$2 = new jl_IllegalArgumentException;
        jl_Throwable__init_(var$2, $rt_s(1221));
        $rt_throw(var$2);
    }
    function otcit_StorableDateTimeZone_readTime($flow) {
        var var$2, $value;
        var$2 = Long_fromInt(otci_Base46_decodeUnsigned($flow));
        $value = Long_div(var$2, Long_fromInt(2));
        if (Long_ne(Long_rem(var$2, Long_fromInt(2)), Long_ZERO))
            $value = Long_neg($value);
        if (Long_ne(Long_and($value, Long_fromInt(1)), Long_ZERO))
            return Long_shr($value, 1);
        return Long_mul(Long_shr($value, 1), Long_fromInt(1800000));
    }
    function otcit_StorableDateTimeZone_readTimeArray($flow, $array) {
        var $index, var$4, $count, $t, var$7, var$8;
        $index = 0;
        while (true) {
            var$4 = $array.data;
            if ($index >= var$4.length)
                break;
            $count = otci_Base46_decode($flow);
            if ($count >= 0) {
                $t = Long_lo((otcit_StorableDateTimeZone_readTime($flow)));
                while (true) {
                    var$7 = $count + (-1) | 0;
                    if ($count <= 0)
                        break;
                    var$8 = $index + 1 | 0;
                    var$4[$index] = $t;
                    $count = var$7;
                    $index = var$8;
                }
            } else {
                var$8 = $count ^ (-1);
                while (true) {
                    $t = var$8 + (-1) | 0;
                    if (var$8 <= 0)
                        break;
                    var$7 = $index + 1 | 0;
                    var$4[$index] = Long_lo((otcit_StorableDateTimeZone_readTime($flow)));
                    var$8 = $t;
                    $index = var$7;
                }
            }
        }
    }
    function otcit_FixedDateTimeZone() {
        var a = this; otcit_StorableDateTimeZone.call(a);
        a.$iWallOffset = 0;
        a.$iStandardOffset = 0;
    }
    function otcit_FixedDateTimeZone__init_0(var_0, var_1, var_2) {
        var var_3 = new otcit_FixedDateTimeZone();
        otcit_FixedDateTimeZone__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function otcit_FixedDateTimeZone__init_($this, $id, $wallOffset, $standardOffset) {
        otcit_StorableDateTimeZone__init_($this, $id);
        $this.$iWallOffset = $wallOffset;
        $this.$iStandardOffset = $standardOffset;
    }
    function otcit_FixedDateTimeZone_getOffset($this, $instant) {
        return $this.$iWallOffset;
    }
    function otcit_FixedDateTimeZone_getStandardOffset($this, $instant) {
        return $this.$iStandardOffset;
    }
    function otcit_FixedDateTimeZone_previousTransition($this, $instant) {
        return $instant;
    }
    var otcit_DateTimeZoneProvider = $rt_classWithoutFields();
    var otcit_DateTimeZoneProvider_cache = null;
    var otcit_DateTimeZoneProvider_$$metadata$$0 = null;
    function otcit_DateTimeZoneProvider__init_0() {
        var var_0 = new otcit_DateTimeZoneProvider();
        otcit_DateTimeZoneProvider__init_(var_0);
        return var_0;
    }
    function otcit_DateTimeZoneProvider__init_($this) {}
    function otcit_DateTimeZoneProvider_getTimeZone($id) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$id = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = otcit_DateTimeZoneProvider_cache;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_containsKey(var$2, $id);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3) {
                var$2 = otcit_DateTimeZoneProvider_cache;
                $ptr = 2;
                continue main;
            }
            var$2 = otcit_DateTimeZoneProvider_cache;
            var$3 = jl_String_indexOf0($id, 47);
            if (var$3 < 0) {
                var$4 = $rt_s(3);
                var$5 = $id;
            } else {
                var$4 = jl_String_substring0($id, 0, var$3);
                var$5 = jl_String_substring($id, var$3 + 1 | 0);
            }
            if (!(otcit_DateTimeZoneProvider_getResource()).hasOwnProperty($rt_ustr(var$4)))
                var$4 = null;
            else {
                var$4 = (otcit_DateTimeZoneProvider_getResource())[$rt_ustr(var$4)];
                var$4 = !var$4.hasOwnProperty($rt_ustr(var$5)) ? null : var$4[$rt_ustr(var$5)];
            }
            if (var$4 === null)
                var$4 = null;
            else {
                var$4 = (var$4.data !== null ? $rt_str(var$4.data) : null);
                var$5 = otci_CharFlow__init_(jl_String_toCharArray(var$4));
                if (otci_Base46_decodeUnsigned(var$5) == 4) {
                    var$5 = jl_String_substring(var$4, var$5.$pointer);
                    var$4 = new otcit_AliasDateTimeZone;
                    $ptr = 3;
                    continue main;
                }
                a: {
                    b: {
                        var$5 = otci_CharFlow__init_(jl_String_toCharArray(var$4));
                        var$3 = otci_Base46_decodeUnsigned(var$5);
                        switch (var$3) {
                            case 0:
                                var$6 = otci_Base46_decodeUnsigned(var$5);
                                var$3 = !(var$6 & 1) ? 0 : 1;
                                c: {
                                    var$6 = var$6 >>> 1 | 0;
                                    var$7 = $rt_createLongArray(var$6);
                                    var$8 = $rt_createIntArray(var$6);
                                    var$9 = $rt_createIntArray(var$6);
                                    if (!var$3) {
                                        var$10 = var$7.data;
                                        var$10[0] = otcit_StorableDateTimeZone_readTime(var$5);
                                        var$11 = 1;
                                        while (true) {
                                            if (var$11 >= var$6)
                                                break c;
                                            var$10[var$11] = Long_add(Long_add(var$10[var$11 - 1 | 0], otcit_StorableDateTimeZone_readTime(var$5)), Long_fromInt(657000000));
                                            var$11 = var$11 + 1 | 0;
                                        }
                                    }
                                    var$10 = var$7.data;
                                    var$10[0] = Long_create(0, 2147483648);
                                    if (var$10.length > 1) {
                                        var$10[1] = otcit_StorableDateTimeZone_readTime(var$5);
                                        var$3 = 2;
                                        while (var$3 < var$6) {
                                            var$10[var$3] = Long_add(Long_add(var$10[var$3 - 1 | 0], otcit_StorableDateTimeZone_readTime(var$5)), Long_fromInt(657000000));
                                            var$3 = var$3 + 1 | 0;
                                        }
                                    }
                                }
                                otcit_StorableDateTimeZone_readTimeArray(var$5, var$8);
                                otcit_StorableDateTimeZone_readTimeArray(var$5, var$9);
                                var$10 = var$5.$characters0.data;
                                var$3 = var$5.$pointer;
                                var$6 = var$3 + 1 | 0;
                                var$5.$pointer = var$6;
                                if (var$10[var$3] == 121) {
                                    var$5.$pointer = var$6 + 1 | 0;
                                    $ptr = 9;
                                    continue main;
                                }
                                var$4 = otcit_DateTimeZoneBuilder$PrecalculatedZone__init_0($id, var$7, var$8, var$9, null);
                                if (otcit_DateTimeZoneBuilder$PrecalculatedZone_isCachable(var$4))
                                    var$4 = otcit_CachedDateTimeZone_forZone(var$4);
                                break a;
                            case 1:
                                break;
                            case 2:
                            case 4:
                                break b;
                            case 3:
                                $ptr = 7;
                                continue main;
                            case 5:
                                var$12 = otcit_DateTimeZoneBuilder__init_0();
                                var$13 = otci_Base46_decodeUnsigned(var$5);
                                var$14 = (-2147483648);
                                var$15 = 0;
                                if (var$15 >= var$13) {
                                    var$4 = new otcit_DateTimeZoneBuilder$RuleBasedZone;
                                    otcit_StorableDateTimeZone__init_(var$4, $id);
                                    var$4.$builder = var$12;
                                    break a;
                                }
                                var$16 = new otcit_DateTimeZoneBuilder$RuleSet;
                                $ptr = 8;
                                continue main;
                            default:
                                break b;
                        }
                        var$4 = otcit_FixedDateTimeZone__init_0($id, Long_lo((otcit_StorableDateTimeZone_readTime(var$5))), Long_lo((otcit_StorableDateTimeZone_readTime(var$5))));
                        break a;
                    }
                    $id = new jl_IllegalArgumentException;
                    var$2 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$2);
                    var$4 = $rt_s(1222);
                    $ptr = 5;
                    continue main;
                }
            }
            $ptr = 4;
            continue main;
        case 2:
            $tmp = ju_HashMap_get(var$2, $id);
            if ($rt_suspending()) {
                break main;
            }
            $id = $tmp;
            return $id;
        case 3:
            $tmp = otcit_DateTimeZoneProvider_getTimeZone(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            otcit_StorableDateTimeZone__init_(var$4, $id);
            var$4.$innerZone = var$5;
            $ptr = 4;
        case 4:
            ju_HashMap_putImpl(var$2, $id, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = otcit_DateTimeZoneProvider_cache;
            $ptr = 2;
            continue main;
        case 5:
            $tmp = jl_StringBuilder_append(var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_AbstractStringBuilder_append0(var$4, var$3);
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            jl_Throwable__init_($id, var$2);
            $rt_throw($id);
        case 7:
            $tmp = otcit_DateTimeZoneBuilder$DSTZone_readZone($id, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 4;
            continue main;
        case 8:
            otcit_DateTimeZoneBuilder$RuleSet__init_(var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$16.$iInitialSaveMillis = Long_lo((otcit_StorableDateTimeZone_readTime(var$5)));
            var$16.$iStandardOffset0 = Long_lo((otcit_StorableDateTimeZone_readTime(var$5)));
            var$3 = otci_Base46_decodeUnsigned(var$5);
            if (var$3 & 1)
                var$16.$iInitialNameKey = $rt_s(178);
            var$17 = var$3 >>> 1 | 0;
            var$3 = 0;
            if (var$3 >= var$17) {
                var$3 = otci_Base46_decodeUnsigned(var$5);
                if (!var$3) {
                    var$16.$iUpperYear = 2147483647;
                    var$4 = var$12.$iRuleSets;
                    $ptr = 10;
                    continue main;
                }
                var$3 = var$3 + (-1) | 0;
                var$3 = !(var$3 & 1) ? var$3 >>> 1 | 0 : ( -(var$3 >>> 1 | 0) | 0) - 1 | 0;
                var$14 = var$14 != (-2147483648) ? var$3 + var$14 | 0 : var$3;
                var$16.$iUpperYear = var$14;
                $ptr = 13;
                continue main;
            }
            var$6 = otci_Base46_decode(var$5);
            if (var$14 != (-2147483648))
                var$6 = var$6 + var$14 | 0;
            var$11 = otci_Base46_decodeUnsigned(var$5);
            if (!var$11) {
                var$11 = 2147483647;
                var$14 = var$6;
            } else {
                var$11 = var$11 + (-1) | 0;
                var$14 = !(var$11 & 1) ? var$11 >>> 1 | 0 : ( -(var$11 >>> 1 | 0) | 0) - 1 | 0;
                if (var$6 != (-2147483648))
                    var$14 = var$14 + var$6 | 0;
                var$11 = var$14;
            }
            $ptr = 11;
            continue main;
        case 9:
            $tmp = otcit_DateTimeZoneBuilder$DSTZone_readZone($id, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            var$4 = otcit_DateTimeZoneBuilder$PrecalculatedZone__init_0($id, var$7, var$8, var$9, var$5);
            if (otcit_DateTimeZoneBuilder$PrecalculatedZone_isCachable(var$4))
                var$4 = otcit_CachedDateTimeZone_forZone(var$4);
            $ptr = 4;
            continue main;
        case 10:
            ju_ArrayList_add(var$4, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = var$15 + 1 | 0;
            if (var$15 < var$13) {
                var$16 = new otcit_DateTimeZoneBuilder$RuleSet;
                $ptr = 8;
                continue main;
            }
            var$4 = new otcit_DateTimeZoneBuilder$RuleBasedZone;
            otcit_StorableDateTimeZone__init_(var$4, $id);
            var$4.$builder = var$12;
            $ptr = 4;
            continue main;
        case 11:
            $tmp = otcit_DateTimeZoneBuilder$Recurrence_read(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$18 = var$16.$iRules;
            var$19 = new otcit_DateTimeZoneBuilder$Rule;
            var$19.$iRecurrence = var$4;
            var$19.$iFromYear = var$6;
            var$19.$iToYear = var$11;
            $ptr = 12;
        case 12:
            ju_ArrayList_add(var$18, var$19);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = var$3 + 1 | 0;
            if (var$3 >= var$17) {
                var$3 = otci_Base46_decodeUnsigned(var$5);
                if (!var$3) {
                    var$16.$iUpperYear = 2147483647;
                    var$4 = var$12.$iRuleSets;
                    $ptr = 10;
                    continue main;
                }
                var$3 = var$3 + (-1) | 0;
                var$3 = !(var$3 & 1) ? var$3 >>> 1 | 0 : ( -(var$3 >>> 1 | 0) | 0) - 1 | 0;
                var$14 = var$14 != (-2147483648) ? var$3 + var$14 | 0 : var$3;
                var$16.$iUpperYear = var$14;
                $ptr = 13;
                continue main;
            }
            var$6 = otci_Base46_decode(var$5);
            if (var$14 != (-2147483648))
                var$6 = var$6 + var$14 | 0;
            var$11 = otci_Base46_decodeUnsigned(var$5);
            if (!var$11) {
                var$11 = 2147483647;
                var$14 = var$6;
            } else {
                var$11 = var$11 + (-1) | 0;
                var$14 = !(var$11 & 1) ? var$11 >>> 1 | 0 : ( -(var$11 >>> 1 | 0) | 0) - 1 | 0;
                if (var$6 != (-2147483648))
                    var$14 = var$14 + var$6 | 0;
                var$11 = var$14;
            }
            $ptr = 11;
            continue main;
        case 13:
            $tmp = otcit_DateTimeZoneBuilder$OfYear_read(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$16.$iUpperOfYear = var$4;
            var$4 = var$12.$iRuleSets;
            $ptr = 10;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($id, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, $ptr);
    }
    function otcit_DateTimeZoneProvider_detectTimezone() {
        var $zones, $time, $offset, $score, var$5, $tzOffset, $tzOffset_0, var$8, $id, $scoreTable, var$11, $tzOffset_1, $i, $prevZones, $timeInQueue, $zoneMap, $queue, var$18, $tz, $prev, $j, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$j = $thread.pop();$prev = $thread.pop();$tz = $thread.pop();var$18 = $thread.pop();$queue = $thread.pop();$zoneMap = $thread.pop();$timeInQueue = $thread.pop();$prevZones = $thread.pop();$i = $thread.pop();$tzOffset_1 = $thread.pop();var$11 = $thread.pop();$scoreTable = $thread.pop();$id = $thread.pop();var$8 = $thread.pop();$tzOffset_0 = $thread.pop();$tzOffset = $thread.pop();var$5 = $thread.pop();$score = $thread.pop();$offset = $thread.pop();$time = $thread.pop();$zones
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $zones = ju_ArrayList__init_0();
            $time = jl_System_currentTimeMillis();
            $offset =  -(new $rt_globals.Date(Long_toNumber(jl_System_currentTimeMillis()))).getTimezoneOffset() | 0;
            $score = ju_ArrayList__init_0();
            var$5 = (otpp_ResourceAccessor_keysToStrings(otpp_ResourceAccessor_keys(otcit_DateTimeZoneProvider_getResource()))).data;
            $tzOffset = var$5.length;
            $tzOffset_0 = 0;
            var$8 = 47;
            while (true) {
                if ($tzOffset_0 >= $tzOffset) {
                    var$5 = (ju_AbstractCollection_toArray($score, $rt_createArray(jl_String, $score.$size0))).data;
                    $tzOffset = var$5.length;
                    $tzOffset_0 = 0;
                    if ($tzOffset_0 < $tzOffset) {
                        $id = var$5[$tzOffset_0];
                        $ptr = 5;
                        continue main;
                    }
                    $scoreTable = ju_ArrayList__init_0();
                    $ptr = 1;
                    continue main;
                }
                $scoreTable = var$5[$tzOffset_0];
                var$11 = (otpp_ResourceAccessor_keysToStrings(otpp_ResourceAccessor_keys((otcit_DateTimeZoneProvider_getResource())[$rt_ustr($scoreTable)]))).data;
                $tzOffset_1 = var$11.length;
                $i = 0;
                if ($i < $tzOffset_1)
                    break;
                $tzOffset_0 = $tzOffset_0 + 1 | 0;
            }
            $prevZones = var$11[$i];
            if (jl_String_isEmpty($scoreTable)) {
                $ptr = 11;
                continue main;
            }
            $timeInQueue = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($timeInQueue);
            $ptr = 7;
            continue main;
        case 1:
            ju_AbstractCollection_addAll($scoreTable, $zones);
            if ($rt_suspending()) {
                break main;
            }
            $zoneMap = ju_HashMap__init_0();
            $queue = ju_PriorityQueue__init_2($zones.$size0, new otcit_DateTimeZoneProvider$1);
            $timeInQueue = ju_HashSet__init_0();
            $score = jl_Long_valueOf($time);
            $ptr = 2;
        case 2:
            ju_AbstractQueue_add($queue, $score);
            if ($rt_suspending()) {
                break main;
            }
            $score = jl_Long_valueOf($time);
            $prevZones = new ju_ArrayList;
            $ptr = 3;
        case 3:
            ju_ArrayList__init_4($prevZones, $zones);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            ju_HashMap_putImpl($zoneMap, $score, $prevZones);
            if ($rt_suspending()) {
                break main;
            }
            if (!ju_AbstractCollection_isEmpty($queue) && $scoreTable.$size0 > 1) {
                if (ju_AbstractCollection_isEmpty($queue)) {
                    $zones = new ju_NoSuchElementException;
                    jl_Throwable__init_0($zones);
                    $rt_throw($zones);
                }
                if ($queue.$size6) {
                    $zones = $queue.$data1.data[0];
                    $offset = 0;
                    $ptr = 13;
                    continue main;
                }
                $zones = null;
                var$18 = $zones.$value5;
                $zones = jl_Long_valueOf(var$18);
                $ptr = 14;
                continue main;
            }
            return (ju_ArrayList_get($scoreTable, 0)).$tz;
        case 5:
            $tmp = otcit_DateTimeZoneProvider_getTimeZone($id);
            if ($rt_suspending()) {
                break main;
            }
            $tz = $tmp;
            if (!($tz instanceof otcit_AliasDateTimeZone)) {
                $ptr = 6;
                continue main;
            }
            $tzOffset_0 = $tzOffset_0 + 1 | 0;
            if ($tzOffset_0 < $tzOffset) {
                $id = var$5[$tzOffset_0];
                continue main;
            }
            $scoreTable = ju_ArrayList__init_0();
            $ptr = 1;
            continue main;
        case 6:
            $tmp = $tz.$getOffset($time);
            if ($rt_suspending()) {
                break main;
            }
            $tzOffset_1 = $tmp;
            if (jl_Math_abs(($tzOffset_1 / 60000 | 0) - $offset | 0) <= 120) {
                $ptr = 10;
                continue main;
            }
            $tzOffset_0 = $tzOffset_0 + 1 | 0;
            if ($tzOffset_0 < $tzOffset) {
                $id = var$5[$tzOffset_0];
                $ptr = 5;
                continue main;
            }
            $scoreTable = ju_ArrayList__init_0();
            $ptr = 1;
            continue main;
        case 7:
            $tmp = jl_StringBuilder_append($timeInQueue, $scoreTable);
            if ($rt_suspending()) {
                break main;
            }
            $zoneMap = $tmp;
            jl_AbstractStringBuilder_append($zoneMap, var$8);
            $ptr = 8;
        case 8:
            jl_StringBuilder_append($zoneMap, $prevZones);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            $tmp = jl_AbstractStringBuilder_toString($timeInQueue);
            if ($rt_suspending()) {
                break main;
            }
            $prevZones = $tmp;
            $ptr = 11;
            continue main;
        case 10:
            $tmp = $tz.$previousTransition($time);
            if ($rt_suspending()) {
                break main;
            }
            $prev = $tmp;
            if (Long_ne($prev, $time)) {
                $score = new otcit_DateTimeZoneProvider$Score;
                $score.$tz = $tz;
                $ptr = 12;
                continue main;
            }
            $tzOffset_0 = $tzOffset_0 + 1 | 0;
            if ($tzOffset_0 < $tzOffset) {
                $id = var$5[$tzOffset_0];
                $ptr = 5;
                continue main;
            }
            $scoreTable = ju_ArrayList__init_0();
            $ptr = 1;
            continue main;
        case 11:
            ju_ArrayList_add($score, $prevZones);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            while ($i >= $tzOffset_1) {
                $tzOffset_0 = $tzOffset_0 + 1 | 0;
                if ($tzOffset_0 >= $tzOffset) {
                    var$5 = (ju_AbstractCollection_toArray($score, $rt_createArray(jl_String, $score.$size0))).data;
                    $tzOffset = var$5.length;
                    $tzOffset_0 = 0;
                    if ($tzOffset_0 < $tzOffset) {
                        $id = var$5[$tzOffset_0];
                        $ptr = 5;
                        continue main;
                    }
                    $scoreTable = ju_ArrayList__init_0();
                    $ptr = 1;
                    continue main;
                }
                $scoreTable = var$5[$tzOffset_0];
                var$11 = (otpp_ResourceAccessor_keysToStrings(otpp_ResourceAccessor_keys((otcit_DateTimeZoneProvider_getResource())[$rt_ustr($scoreTable)]))).data;
                $tzOffset_1 = var$11.length;
                $i = 0;
            }
            $prevZones = var$11[$i];
            if (jl_String_isEmpty($scoreTable)) {
                continue main;
            }
            $timeInQueue = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($timeInQueue);
            $ptr = 7;
            continue main;
        case 12:
            ju_ArrayList_add($zones, $score);
            if ($rt_suspending()) {
                break main;
            }
            $tzOffset_0 = $tzOffset_0 + 1 | 0;
            if ($tzOffset_0 < $tzOffset) {
                $id = var$5[$tzOffset_0];
                $ptr = 5;
                continue main;
            }
            $scoreTable = ju_ArrayList__init_0();
            $ptr = 1;
            continue main;
        case 13:
            ju_PriorityQueue_removeAt($queue, $offset);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $zones.$value5;
            $zones = jl_Long_valueOf(var$18);
            $ptr = 14;
        case 14:
            ju_HashSet_remove($timeInQueue, $zones);
            if ($rt_suspending()) {
                break main;
            }
            $zones = jl_Long_valueOf(var$18);
            $ptr = 15;
        case 15:
            $tmp = ju_HashMap_remove($zoneMap, $zones);
            if ($rt_suspending()) {
                break main;
            }
            $zones = $tmp;
            $score = $zones;
            $tzOffset_1 =  -(new $rt_globals.Date(Long_toNumber(var$18))).getTimezoneOffset() | 0;
            $ptr = 16;
        case 16:
            $tmp = ju_AbstractList_iterator($score);
            if ($rt_suspending()) {
                break main;
            }
            $id = $tmp;
            if (ju_AbstractList$1_hasNext($id)) {
                $ptr = 17;
                continue main;
            }
            if ($scoreTable.$size0 == 1)
                return (ju_ArrayList_get($scoreTable, 0)).$tz;
            $zones = (ju_ArrayList_get($scoreTable, 0)).$tz;
            $ptr = 19;
            continue main;
        case 17:
            $tmp = ju_AbstractList$1_next($id);
            if ($rt_suspending()) {
                break main;
            }
            $zones = $tmp;
            $score = $zones;
            $zones = $score.$tz;
            $ptr = 18;
        case 18:
            $tmp = $zones.$previousTransition(var$18);
            if ($rt_suspending()) {
                break main;
            }
            $prev = $tmp;
            if (Long_ne($prev, var$18)) {
                $zones = $score.$tz;
                $ptr = 20;
                continue main;
            }
            if (ju_ArrayList_get($scoreTable, 0) === $score)
                return $score.$tz;
            $ptr = 23;
            continue main;
        case 19:
            $tmp = $zones.$previousTransition(var$18);
            if ($rt_suspending()) {
                break main;
            }
            $prev = $tmp;
            if (Long_eq($prev, var$18))
                return (ju_ArrayList_get($scoreTable, 0)).$tz;
            if ($scoreTable.$size0 > 1 && ((ju_ArrayList_get($scoreTable, 0)).$value7 + 2880 | 0) < (ju_ArrayList_get($scoreTable, 1)).$value7)
                return (ju_ArrayList_get($scoreTable, 0)).$tz;
            $i = $scoreTable.$size0 - 1 | 0;
            if ($i >= 0) {
                $score = ju_ArrayList_get($scoreTable, $i);
                $zones = $score.$tz;
                $ptr = 27;
                continue main;
            }
            $time = var$18;
            if (!ju_AbstractCollection_isEmpty($queue) && $scoreTable.$size0 > 1) {
                if (ju_AbstractCollection_isEmpty($queue)) {
                    $zones = new ju_NoSuchElementException;
                    jl_Throwable__init_0($zones);
                    $rt_throw($zones);
                }
                if ($queue.$size6) {
                    $zones = $queue.$data1.data[0];
                    $offset = 0;
                    $ptr = 13;
                    continue main;
                }
                $zones = null;
                var$18 = $zones.$value5;
                $zones = jl_Long_valueOf(var$18);
                $ptr = 14;
                continue main;
            }
            return (ju_ArrayList_get($scoreTable, 0)).$tz;
        case 20:
            $tmp = $zones.$getOffset(var$18);
            if ($rt_suspending()) {
                break main;
            }
            $offset = $tmp;
            if (jl_Math_abs(($offset / 60000 | 0) - $tzOffset_1 | 0) > 120) {
                $ptr = 22;
                continue main;
            }
            $zones = jl_Long_valueOf($prev);
            ju_Objects_requireNonNull(new otcit_DateTimeZoneProvider$detectTimezone$lambda$_4_0);
            $ptr = 21;
        case 21:
            $tmp = ju_HashMap_get($zoneMap, $zones);
            if ($rt_suspending()) {
                break main;
            }
            $prevZones = $tmp;
            if ($prevZones !== null) {
                $prevZones = $prevZones;
                $ptr = 25;
                continue main;
            }
            $prevZones = ju_ArrayList__init_0();
            $ptr = 24;
            continue main;
        case 22:
            ju_ArrayList_remove0($scoreTable, $score);
            if ($rt_suspending()) {
                break main;
            }
            if (ju_AbstractList$1_hasNext($id)) {
                $ptr = 17;
                continue main;
            }
            if ($scoreTable.$size0 == 1)
                return (ju_ArrayList_get($scoreTable, 0)).$tz;
            $zones = (ju_ArrayList_get($scoreTable, 0)).$tz;
            $ptr = 19;
            continue main;
        case 23:
            ju_ArrayList_remove0($scoreTable, $score);
            if ($rt_suspending()) {
                break main;
            }
            if (ju_AbstractList$1_hasNext($id)) {
                $ptr = 17;
                continue main;
            }
            if ($scoreTable.$size0 == 1)
                return (ju_ArrayList_get($scoreTable, 0)).$tz;
            $zones = (ju_ArrayList_get($scoreTable, 0)).$tz;
            $ptr = 19;
            continue main;
        case 24:
            ju_HashMap_putImpl($zoneMap, $zones, $prevZones);
            if ($rt_suspending()) {
                break main;
            }
            $prevZones = $prevZones;
            $ptr = 25;
        case 25:
            ju_ArrayList_add($prevZones, $score);
            if ($rt_suspending()) {
                break main;
            }
            $zones = jl_Long_valueOf($prev);
            $ptr = 26;
        case 26:
            $tmp = ju_HashSet_add($timeInQueue, $zones);
            if ($rt_suspending()) {
                break main;
            }
            $offset = $tmp;
            if ($offset) {
                $zones = jl_Long_valueOf($prev);
                $ptr = 28;
                continue main;
            }
            if (ju_AbstractList$1_hasNext($id)) {
                $ptr = 17;
                continue main;
            }
            if ($scoreTable.$size0 == 1)
                return (ju_ArrayList_get($scoreTable, 0)).$tz;
            $zones = (ju_ArrayList_get($scoreTable, 0)).$tz;
            $ptr = 19;
            continue main;
        case 27:
            $tmp = $zones.$getOffset(var$18);
            if ($rt_suspending()) {
                break main;
            }
            $offset = $tmp;
            $tzOffset_0 = $offset / 60000 | 0;
            if ($tzOffset_0 != $tzOffset_1)
                $score.$value7 = $score.$value7 + ($rt_imul(Long_lo(Long_div(Long_sub($time, var$18), Long_fromInt(60000))), jl_Math_abs($tzOffset_0 - $tzOffset_1 | 0)) / 30 | 0) | 0;
            $j = $i + 1 | 0;
            while ($j < $scoreTable.$size0 && $score.$value7 > (ju_ArrayList_get($scoreTable, $j)).$value7) {
                ju_ArrayList_set($scoreTable, $j - 1 | 0, ju_ArrayList_get($scoreTable, $j));
                $j = $j + 1 | 0;
            }
            ju_ArrayList_set($scoreTable, $j - 1 | 0, $score);
            $i = $i + (-1) | 0;
            if ($i >= 0) {
                $score = ju_ArrayList_get($scoreTable, $i);
                $zones = $score.$tz;
                continue main;
            }
            $time = var$18;
            if (!ju_AbstractCollection_isEmpty($queue) && $scoreTable.$size0 > 1) {
                if (ju_AbstractCollection_isEmpty($queue)) {
                    $zones = new ju_NoSuchElementException;
                    jl_Throwable__init_0($zones);
                    $rt_throw($zones);
                }
                if ($queue.$size6) {
                    $zones = $queue.$data1.data[0];
                    $offset = 0;
                    $ptr = 13;
                    continue main;
                }
                $zones = null;
                var$18 = $zones.$value5;
                $zones = jl_Long_valueOf(var$18);
                $ptr = 14;
                continue main;
            }
            return (ju_ArrayList_get($scoreTable, 0)).$tz;
        case 28:
            ju_AbstractQueue_add($queue, $zones);
            if ($rt_suspending()) {
                break main;
            }
            if (ju_AbstractList$1_hasNext($id)) {
                $ptr = 17;
                continue main;
            }
            if ($scoreTable.$size0 == 1)
                return (ju_ArrayList_get($scoreTable, 0)).$tz;
            $zones = (ju_ArrayList_get($scoreTable, 0)).$tz;
            $ptr = 19;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($zones, $time, $offset, $score, var$5, $tzOffset, $tzOffset_0, var$8, $id, $scoreTable, var$11, $tzOffset_1, $i, $prevZones, $timeInQueue, $zoneMap, $queue, var$18, $tz, $prev, $j, $ptr);
    }
    function otcit_DateTimeZoneProvider_getResource() {
        if (otcit_DateTimeZoneProvider_$$metadata$$0 === null)
            otcit_DateTimeZoneProvider_$$metadata$$0 = otcit_DateTimeZoneProvider_getResource$$create();
        return otcit_DateTimeZoneProvider_$$metadata$$0;
    }
    function otcit_DateTimeZoneProvider__clinit_() {
        otcit_DateTimeZoneProvider_cache = ju_HashMap__init_0();
    }
    function otcit_DateTimeZoneProvider_getResource$$create() {
        return {"": {"PRC": {"data" : ")Asia/Shanghai"}, "Singapore": {"data" : ")Asia/Singapore"}, "UTC": {"data" : ")Etc/UTC"}, "Hongkong": {"data" : ")Asia/Hong_Kong"}, "Egypt": {"data" : ")Africa/Cairo"}, "UCT": {"data" : ")Etc/UTC"}, "WET": {"data" : "+#  9{q#/\')%=)1/#%3\'=) %# 5%) %d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Kwajalein": {"data" : ")Pacific/Kwajalein"}, "NZ": {"data" : ")Pacific/Auckland"}, "Libya": {"data" : ")Africa/Tripoli"}, "Portugal": {"data" : ")Europe/Lisbon"}, "Iceland": {"data" : ")Atlantic/Reykjavik"}
        , "Zulu": {"data" : ")Etc/UTC"}, "EST5EDT": {"data" : "+# tUFm#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}, "Iran": {"data" : ")Asia/Tehran"}, "PST8PDT": {"data" : "+# H#UFm#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}, "Eire": {"data" : ")Europe/Dublin"}, "Poland": {"data" : ")Europe/Warsaw"}, "GB": {"data" : ")Europe/London"}, "CST6CDT": {"data" : "+# (#UFm#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}
        , "GMT-0": {"data" : ")Etc/GMT"}, "GMT+0": {"data" : ")Etc/GMT"}, "Universal": {"data" : ")Etc/UTC"}, "GMT0": {"data" : ")Etc/GMT"}, "Japan": {"data" : ")Asia/Tokyo"}, "EST": {"data" : "+# t# "}, "ROC": {"data" : ")Asia/Taipei"}, "HST": {"data" : "+# i## "}, "NZ-CHAT": {"data" : ")Pacific/Chatham"}, "Navajo": {"data" : ")America/Denver"}, "GMT": {"data" : ")Etc/GMT"}, "Greenwich": {"data" : ")Etc/GMT"}, "MST": {"data" : "+# 8## "}, "MST7MDT": {"data" : "+# 8#UFm#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}
        , "ROK": {"data" : ")Asia/Seoul"}, "W-SU": {"data" : ")Europe/Moscow"}, "Cuba": {"data" : ")America/Havana"}, "CET": {"data" : "+# 1f>m##))>#!%1 #)5%) %\'7)^%11\'\'73^%1 z#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 %#13b1 F#/7)%=11/#53\'=1 %#15%1 %d53\'=1 [ 5\'\'=11^ 55\'=1  "}, "Turkey": {"data" : ")Europe/Istanbul"}, "EET": {"data" : "+# A9{q#/\')%=)1/#%3\'=) %# 5%) %d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Israel": {"data" : ")Asia/Jerusalem"}, "GB-Eire": {"data" : ")Europe/London"}, "Jamaica": {"data"
        : ")America/Jamaica"}, "MET": {"data" : "+# 1f>m##))>#!%1 #)5%) %\'7)^%11\'\'73^%1 z#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 %#13b1 F#/7)%=11/#53\'=1 %#15%1 %d53\'=1 [ 5\'\'=11^ 55\'=1  "}}, "Europe": {"Belgrade": {"data" : "+/ .V2F)#yi#)#%  1#P%))j!% 1=\'#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 %#13b1 #)#%  1##1+A111##13b1 1#]#)72#  117/\')%=)1\'d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Saratov": {"data" : "+3 :XHs3#Lm# /%  Q#O)-v  bAG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11z1\'2#1 Q-?/))% 1 O53\'=1 K,#5\'\'=11n1\'B#1 b#\'1\':#1 Q1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 b#/15.#1 Q#+1911 b# "}
        , "Gibraltar": {"data" : "+) 06i.##ii#)1)   B%V##1+v11 #15%1 %#1)A11 #13f1 %#1\'&#11 #13>#1 %#1\'>#11 #13:#1 %#1\'6#11 #15*#1 %#1)-11 #15-1 %#1\'.#11 #15A1 %#7)b=11 \'73b=1  #7)E=11%\'7)b=11\'W75)=1 O#7)E=11%\'7)b=11%#7)E=11%\'7)b=11%#7)E=11%#7)b=11%#7)E=11%\'7)b=11%#7)E=11%#7)b=11 #77b=1 %#7%!#=11%#7+)=)A +71E=)1\'+7))=)A #73b=)1%#7))%)A #7/E=)1 \'75)=1  #7)E=11%#1\'b11 #1)U)A #11I)1 #17)1 %#1\'Y11 #15B#1 %#1)-11 #15>#1 %+7)Y=11++75v=1 %#7)b=11 ?75)=1 ;#7)E=11%\'7)b=11%#7)E=11#))Y1 1#,#)#%  117/\')%=)1\'d%3\'=) [ %\'\'=)1^ %5\'=)  "}
        , "Bucharest": {"data" : "+/ c4HX+#8k#)5%  c4HX+#i#)/&#  A=%#1+v 1 ?75%=  ;;7))= 1g##)+2# 1 #-3\'=  %#))5!%1 #-3\'=) \'1\':#1 A-3/7)%=11\'d53\'=1 [ 5\'\'=11K)#%  A1O#))5!%1 #-3\'=) M+5\'\'= 1++53\'=  \')#%  A1h//)%= 1\'d-3\'=  [ -\'\'= 1^ -5\'=  \')#%  A-ld%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Dublin": {"data" : "+7 q6PB##ii#)1)  q6PB##X#1+v11q6PB###15%1  Q #1+v11 #15%1 %#1)A11 #13f1 %#1\'&#11 #13>#1 %#1\'>#11 #13:#1 %#1\'6#11 #15*#1 %#1)-11 #15-1 #)99   !#\'#1\'6#11 #15*#1 %#1)-11 #15-1 %#1\'.#11 #15A1 %#7)b=11 \'73b=1  #7)E=11%\'7)b=11\'W75)=1 O#7)E=11%\'7)b=11%#7)E=11%\'7)b=11%#7)E=11%#7)b=11%#7)E=11%\'7)b=11%#7)E=11%#7)b=11 #77b=1 %#7%!#=11#1%*#11 #;1591  #\'1\'b11 ##17)1  #\'1)j1  v\'#1\'b11 #1)U)A #11I)1 #17)1 %#1\'Y11 #15B#1 %#1)-11 #15>#1 %+7)Y=11++75v=1 %#7)b=11 ?75)=1 ;#7)E=11%\'7)b=11%#7)E=11%\'7)b=11%#7)E=11%+5\'\'=11+?75!#=1"
        + " 3/7\'n=11%#1%j11#)52#  1=-# 5B#13%C\'\'b=1 CC\'5!#=13% %\'\'=)  C\'5!#=)3%7\'5z=)3% %5\'=)3 "}, "Zaporozhye": {"data" : ")Europe/Kyiv"}, "Kiev": {"data" : ")Europe/Kyiv"}, "Zurich": {"data" : "+) !L0o##Xg#)/b  F2FX##m#)-%  1)&%\'/+%%)1\'\'/5%%1 e#)#%  113/\')%=)1\'d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Copenhagen": {"data" : ")Europe/Berlin"}, "Belfast": {"data" : ")Europe/London"}, "Rome": {"data" : "+- kP,a%#0i#)9Q  kP,a%#4# 5B#!% 1U!##)-1 1 \')5%   #))% 1%#)\'I 1 #)5=  %#)\') 1 #)55  %#)\'v 1 #)3n  r#)-^ 1)#17)1 %#1\':#11 #1511 #)3I  15\'#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 #)-1  1>#\'#1\':#11 #1511 %#1))11 #13f1 %#)))11 #)3^) %#1\'f11 #1591 %#1\'b 1 #155  %#1%:#11 #15-1 j+7+z= 1+#)3*#  %+73z=   #1-% 1%#1+B# 1 #53\'=  %\'7+z= 1\'#53\'=  %#15%  %#1-- 1 \'53\'=   #1+.# 1%#1-% 1 +53\'=  \'#1+># 1%+7+z= 1\'#15%  %#13>#  \')#%  15//\')%=)1+# 5%) %d%3\'=) [ %\'\'=)1^ %5\'=)  "}
        , "Zagreb": {"data" : ")Europe/Belgrade"}, "Monaco": {"data" : ")Europe/Paris"}, "Luxembourg": {"data" : ")Europe/Brussels"}, "Kyiv": {"data" : "+3 Z}{R-#ii#)#%  Z}{R-#y#)+)  A#;)-v  Q#O)3r  11\'#1)%11)#17)1 %#1\':#11 #1511 #)79  QA|#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11r)/%11A#\')3:#9 A1[/7)%=11\'d53\'=1 [ 5\'\'=11^ 55\'=1 #)+U  A-hd%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Tiraspol": {"data" : ")Europe/Chisinau"}, "Jersey": {"data" : ")Europe/London"}, "Istanbul": {"data" : "+; kia4-#ii#)#%  !i>:-#@#)5%  AV#9#)+% 1 #)5%  1#)\'6# 1 #)5*#  %#))- 1 #)5-  %#)\'.# 1 #)5A  )#)+U 1 \')5%   #)+% 1^#)/% 1 #)59   #)9% 1%#)3v  %#))% 1-#)5A  %#)-% 1 #)5%  %\'/)b= 1\'3/5)=  +#))I 1%#))b 1%#))z 1M#)/^ 1%#)5>#  %#)+^ 1 #)5%  E#)--)1 //5B#=1 +#)\'B#11%#)\'z11%#)\'v11%\'/)%=11\'\'/5^=1  #)-:#  #)-:#  Q=7//5B#=1  #)\'v11%\'/)%=11\'\'/5^=1  #)-:#  5#)/B#11 #)5)1 \')7%1 AE\'#)/B#11 #)5)1 )#1)r)1 #136#) %?5\'\'=)1?G53\'=) \'#1\'r)1%O5\'\'=)1KK55\'=) \')#%  A-8#d%3\'=) [ %\'\'=)1^ %5\'=) ` \'2#) A## \'6#) A-H#d%3\'=) [ %\'\'=)1^ %5\'="
        + ") l \'>#) A## \'B#) A-T#d%3\'=) [ %\'\'=)1^ %5\'=) p 5*#)1A## 7A) A-X#d%3\'=) [ %\'\'=)1^ %5\'=) t)3=  Q# "}, "Ulyanovsk": {"data" : "+3 !HBD5#Lm# /%  Q#O)-v  bAG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11v1\'.#1 Q-C/))% 1 O53\'=1 K,#5\'\'=11n1\'B#1 A-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 Q1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 b#/15.#1 Q#+1\'2#1 b# "}, "Samara": {"data" : "+5 J,{e5#Lm# /%  Q#O)-v  b#7)#2#  bA[#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11v1\'.#1 Q-C/))% 1 O53\'=1 K,#5\'\'=11n1\'B#1 A-K/))% 1 O53\'=1 K,#5\'\'=11n13:#1 Q##)5r9 b1K/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 #1\'6#1 Q-0#O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 b# "}
        , "Nicosia": {"data" : ")Asia/Nicosia"}, "Sarajevo": {"data" : ")Europe/Belgrade"}, "Chisinau": {"data" : "+5 2<D2-#ii#)#%  &NT0-#a#)%^  c4HX+#W)/&#  A-%#1+v 1 ?75%=  ;;7))= 1\')1^ 1A#\')/f  19\'#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 #)1&#  QA$##)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11r)+91 A-G/))% 1 O53\'=1 K,#5\'\'=11j)#%  A1`//)%= 1\'d-3\'=  [ -\'\'= 1^ -5\'=  \')#%  A)  -\'\'=11  -5\'=9  "}, "Vatican": {"data" : ")Europe/Rome"}, "Brussels": {"data" : "+3 Fs.x#ii#)#%  Fs.x#S)+%4JVK  #|)7A  1#+)+%  11 #))>#!%1 #)5%) %\'7)^%11\'\'73^%1 # 7Mz  :# #1\'E 1 \'75%9!%  #1\'%!%1%#1%Y!%1 #15!#!% %#1\'Y!%1 #15*#!% %#1\'*#!%1 775%9!% 3#1)v!%1%#1\':#!%1%#1)1!%1%#1)f!%1%#1)E!%1%#1)Y!%1 K75)=1 G#1)v11%#1)U11%#1)n11%#1)-11%#1\'.#11%#1)A11%#1\'B#11%#1)n11%#1)111%#1\'2#11%#1)b11 #17n1 %#1%*#11#1+r1 1A$#\'7)^%11\'\'73^%1 z#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 #)3-  193#1%*#111#13f1 %#1))11 #13b1 %#1+n11 #15=1 D#)#%  19 /\')%=)1/#%3\'=) %# 5%) %d%3\'=) [ %\'\'=)1^ %5\'=)  "}
        , "Oslo": {"data" : ")Europe/Berlin"}, "Warsaw": {"data" : "+3 wF,P)#ii#)#%  wF,P)#T#)15  11%#))>#!%1 #)5%) %\'7)^%11\'\'73^%1 #)3b9 A) \'13b1  #1)^11/)-%  1)3\'13b1  #1)^11x)-!#1 1A$#\'7)^%11\'\'73^%1 z#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 #)5%  1r0#\'13b1  #1)^11*##1)-11 #)511 %#)):# 1 #)7%  %#1)Y 1 #15=1 %#1+111 +75%=1 \'#1)j11%#1)I11A#1-))1 \'53\'=)  #1\'>#)1%#1+B#)1 +75%=) \'#1)-)1%/5+\'=)1++53\'=) W)#%  15 /7)%=)1/#53\'=) %#15%) %d53\'=) [ 5\'\'=)1?)#%  11O/\')%=)1\'d%3\'=) [ %\'\'=)1^ %5\'=)  "}
        , "Berlin": {"data" : "++ V:oq%#@k#))%  1M!##))>#!%1 #)5%) %\'7)^%11\'\'73^%1 z#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 %#13b1 #)+&#1 1- #)+&#1A #)3&#91 #17j1 \')#%  1A #1)Y11 #15=1 %+75%=1 +#1)991 #1+M1A #)-:#91%#1)j11%#1)I11D#)#%  15//\')%=)1+# 5%) %d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Lisbon": {"data" : "+1 ,8Z{##yi#)#%  ,8Z{##8# #%   g#1#)-f!%1 #)7%) %#1%6#!%1 315Y!% /#1\'%!%1%#1%6#!%1%#1%:#!%1%#1%6#!%1-#1)b!%1 #15Y!% )#1)f!%1 /75%9!% +#1)E!%1%#1)Y!%1%#1)r!%1)#1)j!%1 \'75%9!%  #1))!%1)#1)=!%1 375%9!% /#1\'>#!%1%#1)j!%1%#1)-!%1%#1\'.#!%1%#1)^!%1 #17j!% %#1%&#!%1 \'155!%  #1)5!%1%/7\'A9!%1/#1)*#w#A #11^w#1 /75&#9!% +#1)fw#A +71*#9w#1\'\'7)v9w#A%#7)%9!%1 #75%9!% %l7)%=11ll75%=1 \'))-1 1#K)3.#)  I<#l7)%=11ll75%=1 Q#1\'2# 1 #13*#  %\'7)%= 1\'#15%  %/53\'=) +#5\'\'= 1%\'5\'\'=)1%#5\'\'=11#13*#)  -;/7)%=)1\'d53\'=) [ 5\'\'=)1O132#) 11`/"
        + "\')%=)1\'d%3\'=) [ %\'\'=)1^ %5\'=) # \'B#)  -hd%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Athens": {"data" : "+- Vwu(+#Hk#)3Y  Vwu(+#x)/6#ec6# A-b#)/= 1 #)3%  E#))= 1#))>#  19G#)/= 1 #)3%  E#))= 1%#)7)9 %#)\'># 1 #)51  \'))1  A^\'#)\'># 1 #)51  E#)/% 1 #)7)  !##1)Q 1 #17.#  %#1)M11 #15I1 %\'7)%=11\'#13.#1 %#)3&#A %#))%j1 #)3:#1 %#))% 1 #)36#  \')#%  A13/\')%=)1\'d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Podgorica": {"data" : ")Europe/Belgrade"}, "San_Marino": {"data" : ")Europe/Rome"}, "Simferopol": {"data" : "+? 6c>>/#ii#)#%  :@@</#y#)+)  A#;)-v  Q#O)7%  19\'#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 #))U  QA$##)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11r)#%  Q##)/%1 A#+)\'r  A-`/7)%=11\'d53\'=1 [ 5\'\'=11W)+%  Q1h/7)%=11\'d53\'=1 [ 5\'\'=11^ 55\'=1 #1\'B# 1Q##152#9 Q#\'%\'\'=) A-ld%3\'=) [ %\'\'=)1^ %5\'=) l)\'>#1 b##15.#1 Q# "}
        , "Bratislava": {"data" : ")Europe/Prague"}, "Stockholm": {"data" : ")Europe/Berlin"}, "Prague": {"data" : "+/ J4B*\'#Lg#)#%  J4B*\'#m#)5%  1M*##))>#!%1 #)5%) %\'7)^%11\'\'73^%1 z#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 %#13b1 #)+E  11 #7)%%11 #15%1 %#1+911 /75%=1 -)9%931#\')%!#1 11\'#1+911 /75%=1 +\'7)^=11%#1)E11@#)#%  15+/\')%=)1+# 5%) %d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Uzhgorod": {"data" : ")Europe/Kyiv"}, "Astrakhan": {"data" : "+3 _Zu<5#am#)+%  Q#;)-v  bAG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11v1\'.#1 Q-C/))% 1 O53\'=1 K,#5\'\'=11n1\'B#1 b#\'1\':#1 Q1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 b#/15.#1 Q#+1\'2#1 b# "}
        , "Budapest": {"data" : "+- wo4*)#4k#)7%  11.##))>#!%1 #)5%) %\'7)^%11\'\'73^%1 #)#%  1- \'))^11\'+/3^%9  #))511x))=!% 1=\'#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 %#13b1 #)#%  1j4#+/3^%9  #))511*##)+%!%1 #)7%) %#1\'B#11 #)5=1 %+7)1=11++75%=1 5#)+!# 1 #)5-  %#)+z11 #)5)9 %\'/-%=11\'\'-3\'=9 !##))9 1 #)36#) %+-\'\'= 1++-3\'=) \')#%  11?/\')%=)1\'d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Madrid": {"data" : "+) T(@j#ak# #%   bf#))^!%1 \'159*%  #))9!%15#))b!%1 #151*% )#))f!%1 /75%9*% +#))E!%1%#))^ 1%#))r!%1A#)-b!%1 #15)*% %#)))!%1 #))>#!%A #)5- 1%#15=*% \')\'b!% 1^\'#15=*% -#)+)!%1 #)3%) %//)U9!%1/\'/5%=) %\'-3\'=) -#))>#!%1 #)5)) *#\'/)Q9!%1\'\'/5%=) %#)\'2#!%1 \'-3\'=)  #)))!%1%#1))11 #15%1 \')#%  15+/\')%=)1+# 5%) %d%3\'=) [ %\'\'=)1^ %5\'=)  "}
        , "Vaduz": {"data" : ")Europe/Zurich"}, "London": {"data" : "++ ei(\'#@g#)9%   Z%!\'#1+v11 #15%1 %#1)A11 #13f1 %#1\'&#11 #13>#1 %#1\'>#11 #13:#1 %#1\'6#11 #15*#1 %#1)-11 #15-1 %#1\'.#11 #15A1 %#7)b=11 \'73b=1  #7)E=11%\'7)b=11\'W75)=1 O#7)E=11%\'7)b=11%#7)E=11%\'7)b=11%#7)E=11%#7)b=11%#7)E=11%\'7)b=11%#7)E=11%#7)b=11 #77b=1 %#7%!#=11%#7+)=)A +71E=)1\'+7))=)A #73b=)1%#7))%)A #7/E=)1 \'75)=1  #7)E=11%#1\'b11 #1)U)A #11I)1 #17)1 %#1\'Y11 #15B#1 %#1)-11 #15>#1 %+7)Y=11++75v=1 %#7)b=11 ?75)=1 ;#7)E=11%\'7)b=11%#7)E=11%\'7)b=11%#7)E=11%+5\'\'=11+?75!#=1 3/7\'n=11%#1%j11#)52#  1#/ 5B#1  =K?75!#"
        + "=1  #1%j111C7\'b=11CC75!#=1 %[%\'\'=)1[C\'5!#=) %7\'5z=) \')#%   -hd%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Vilnius": {"data" : "+? smaH+#ii#)#%  wF,P)#]#)#%  _*e,+#+)5I  1#\')/Q  A##)5E  1#t)1-  Q#\')-&#  19\'#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 #)1%  QA$##)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11v1\'.#1 A-C/))% 1 O53\'=1 K,#5\'\'=11n13:#1 A1[/7)%=11\'d53\'=1 [ 5\'\'=11^ 55\'=1 +)#%  A## \':#) 1-pd%3\'=) [ %\'\'=)1^ %5\'=) / 5B#) A#3)#%  A-(#d%3\'=) [ %\'\'=)1^ %5\'=)  "}
        , "Isle_of_Man": {"data" : ")Europe/London"}, "Sofia": {"data" : "+5 gJ{})#ii#)#%  !i>:-#[)7>#  A#,%)7)9 1=+#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 %#13b1 #)#%  1##)))9 A#P#)\'B#!% A5 #)\'B#!%1 #)5%) %+/)%9!%1+#)3:#) %#)32#1 \')3.#9 A-7/7)%=11\'d53\'=1 [ 5\'\'=11K)#%  A1[//)%= 1\'d-3\'=  [ -\'\'= 1^ -5\'=  \')#%  A-ld%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Kirov": {"data" : "+1 J42_5#Lm# /%  Q#O)-v  bAG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11v1\'.#1 Q-C/))% 1 O53\'=1 K,#5\'\'=11n1\'B#1 b#\'1\':#1 Q1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 b#/15.#1 Q# "}
        , "Tallinn": {"data" : "+; ke*>+#ii#)#%  ke*>+#a#)%%  11+#))>#!%1 #)5%) %\'7)^%11\'\'73^%1 \')/%  ke*>+#+)+%  A#p)19  Q#\')3^  19\'#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 #)3z  QA$##)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11v1\'.#11A##13&#1 A1S/7)%=11\'d53\'=1 [ 5\'\'=11^ 55\'=1 +)3z  A-pd%3\'=) [ %\'\'=)1^ %5\'=) /)5B#A A#/)%v  A-$#d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Moscow": {"data" : "+7 !DT&1#ii#)#%  !DT&1#X#)/-  >V*,1=%#)/%!%1 #)96#  %#)+B#w#A #)3b)1%#)+B#!%A # /% 1 #)1b  # /%  QE\'#)+B#w#A #)3b)1%#)+B#!%A # /% 1 #)1b  )#)%Y!%1 #)\'r!%A #)3% 1 #)5%  #)5%  Q=+#)+B#!%A # /% 1 #)1b  )#)%Y!%1 #)\'r!%A #)3% 1 #)5%  \')5%  A#C)-v  QAG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 A-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 Q1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 b#/15.#1 Q# "}
        , "Malta": {"data" : "+) V!2,\'#@k#)7)  1N#!##)-1 1 \')5%   #))% 1%#)\'I 1 #)5=  %#)\') 1 #)55  %#)\'v 1 #)3n  r#)-^ 1)#17)1 %#1\':#11 #1511 %#1))11 #13f1 %#)))11 #)3^) %#1\'f11 #1591 %#1\'b 1 #155  %#1%:#11 #15-1 j+7+z= 1+#)3*#  %+73z=   #1-% 1%#1+B# 1 #53\'=  %\'7+z= 1\'#53\'=  %#15%  %#1-- 1 \'53\'=  %)\'B#  1= #1\'B# 1 #13:#  %#1)v 1 #13b  %3/)^=1137/3^=1  #)\'B#11\')#%  113/\')%=)1\'d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Busingen": {"data" : ")Europe/Zurich"}, "Amsterdam": {"data" : ")Europe/Brussels"}
        , "Andorra": {"data" : "+) 6*{=#ak#)#%   #}#)3>#  1#e#)\'B#1 11C/\')%=)1\'d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Riga": {"data" : "+? .g*2+#ii#)#%  .g*2+#a#))^11.g*2+##)3b9 .g*2+#\'))%11.g*2+##)+z9 .g*2+#?)+M  A#[)15  Q#\')/%  19\'#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 #)5U  QA$##)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11v5\'\'=11A##53\'=1 A) ?5\'\'=11??53\'=1 \')#v  A-ld%3\'=) [ %\'\'=)1^ %5\'=) 3)%:#  A#\')#)  A-|d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Vienna": {"data" : "+1 V*.P\'#@k#))%  11!##))>#!%1 #)5%) %\'7)^%11\'\'73^%1 +)#%  1) #1)511 #13U1 t1)%1 1E$#\'7)^%11\'\'73^%1 z#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 %#13b1 #1))111##1)Q1 1#\')#%  1E0##1)511 #13U1 .##1)Y11 #15=1 %\'75%=1 \'#1)911%#1)j11F##))9 1 #)36#  \')#%  113/\')%=)1\'d%3\'=) [ %\'\'=)1^ %5\'=)  "}
        , "Helsinki": {"data" : "+) _B,B+#ai#)+B#  _B,B+#u#)+%  A1v#))- 1 #)51) c#\'-\'\'=11\'\'-3\'=9 \')#%  A1;/\')%=)1\'d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Minsk": {"data" : "+3 FZsu+#ii#)#%  *D6u+#y#)+)  A#;)-v  Q#O)-6#  19\'#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 #)/-  QA$##)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11r)#%  Q#\'1\'B#1 A1K/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 Q# "}, "Kaliningrad": {"data" : "+/ .V2F)#@k#))%  1M!##))>#!%1 #)5%) %\'7)^%11\'\'73^%1 z#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 %#13b1 #))I  A9\'#1)-11 #)511 %#)):# 1 #)7%  %#1)Y 1 #15=1 #))=  QA,##)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11v1\'.#1 A1C/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 Q#/15.#1 A# "}
        , "Ljubljana": {"data" : ")Europe/Belgrade"}, "Mariehamn": {"data" : ")Europe/Helsinki"}, "Skopje": {"data" : ")Europe/Belgrade"}, "Tirane": {"data" : "+) *,Z8)#8m#)#%  1#0#)-b  1*# #)-b 1)#)7)9 %#)\':#11 #))I9 B##)+1 1 #)5)  %#)+% 1 #)5)  %#)+) 1 #)5-  %#)+A 1 #)5)  %#)+9 1 #)5%  %#)+5 1 #)3>#  %#)+- 1 #)51  %#)).# 1 #)32#  %#)+) 1 #)5-  %#))j 1 #)5%  %#))% 1#)/%  11?/\')%=)1\'d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Guernsey": {"data" : ")Europe/London"}, "Volgograd": {"data" : "+7 V6(R3#Pm#)#-  Q#K)-v  b#D#)7M  bAi##)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11z1\'2#1 Q-?/))% 1 O53\'=1 K,#5\'\'=11n1\'B#1 b#\'1\':#1 Q1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 b#/15.#1 Q#3156#1 b#+192#1 Q# "}
        , "Paris": {"data" : "+/ _N&O#8k#)\'b  _N&O#t)\'M   >#5#1-Y!%1 /75%=!% +#1\'&#!%1%#1\'E!%1%#1\'%!%1%#1%Y!%1 #15!#!% %#1\'Y!%1 #15*#!% %#1\'*#!%1 d75%9!% `#1+.#!%1%#1\':#!%1%#1)1!%1%#1)f!%1%#1)E!%1%#1)Y!%1%#1)r!%1%#1)Q!%1%#1)j!%1%#1))!%1%#1\'*#!%1%#1)=!%1%#1\'>#!%1%#1)j!%1%#1)-!%1%#1\'.#!%1%#1)^!%1 #17j!% %#)%*#11#)-Y!% 1A$#\'7)^%11\'\'73^%1 z#1)%11)#17)1 %#1\':#11 #1511 %\'7)%%11\'#15)1 #)1*#   9\'#)\':#1A #)5191%#))-1A #)5A)1%#)))1A #)3b9 #)3b9 19\'#))-1A #)5A)1%#)))1A #)3b9 B##)\'6#)1 #)3.#) \')#%  19 /\')%=)1/#%3\'=) %# 5%) %d%3\'=) [ %\'\'=)1^ %5\'=)  "}
        }, "Africa": {"Tunis": {"data" : "+\' k$J2%#mi#)+Q  _N&O#@#)\'M  1*#6##1)^!%1 #17j!% %#1%*#!%1%#)59  %#)\'E 1 #)7)9 %#)\':#11 #))f1  #))*#11 #)511 %\'/)%%11\'#)5A  %#)3b  F##1)># 1 #13&#  %#1+% 1 #15%  I#1-% 1 +53\'=  \'#1\'.# 1%#1+% 1^#1+% 1 #13>#) %+5\'\'=11++55\'=1  "}, "Maputo": {"data" : "+% &ZB}-#ik#)\'%  A# "}, "Casablanca": {"data" : "++ qJkZ##4m#)5.#   ^.##)3Q 1 #)7n  %#)%*# 15#)7j  5#)-M 1 #)5:#  f#)--&#1 #)5%  =#)-&# 1 #)3%  )\')+% 1\'#)1%  %#)36#  %#)-% 1 #)11  ;)\'b  1#+)#%   6#C#)-% 1 #)11  >##)-% 1 #)3%  %#)-% 1 #)1v  %#)+) 1 #)1A  %#))- 1 #)/B#  %\'-)\'=11\'#)/r9  #)1r11 #)3>#9 %#)/=9  #)1I11 7-5\'=9 33-\'\'=113#)-6#9  #)1)11%#)-Y9  #)/n11%#)-59  #)/I11%#)+v9  #)/)11%#)+U9  #)-f11#)56#9 1J-77-5\'=9 33-\'\'=11\'#)+v9  #)/)11%#)+U9  #)-f11%#)+593 #)-E1 %#))n93 #)+B#1 %#))M93 #)+b1 %#)\'2#93 #)+A1 %#)\'n93 #))!#1 %#)\'I93 #))Y1 %#)%!#93 #))91 %#)%^"
        + "93 #)\'z1 %#)%=93 #)\'Y1 %#)#!#93 #)\'51 %#)#Y93 #)%j1  #)9>#93%#)%I1  #)9z93%#)#.#1  #)9Y93%#)#j1  #)76#93%#)#E1  #)7r93 #)9*#1 %#)7593 #)9f1 %#)56#93 #)9E1 %#)5n93 #)7!#1 %#)5193 #)7^1 %#)3.#93 #)5B#1 %#)3j93 #)5!#1 %#)3)93 #)5Y1 %#)1*#93 #)3:#1 %#)1I93 #)3v1 %#)1)93 #)3U1 %#)/&#93 #)16#1 %#)/E93 #)1r1 %#)/%93 #)151 %#)-!#93 #)/6#1 %#)-=93 #)/n1 %#)+>#93 #)/11 %#)+^93 #)-.#1 %#)+=93 #)-j1 %#))6#93 #)-)1 %#))U93 #)+*#1 %#))593 #)+I1 %#)\'6#93 #)+)1 %#)\'Q93 #))!#1 %#)\'193 #))A1 %#)%f93 #)\'B#1 %#)%E93 #)\'!#1 %#)"
        + "%%93 #)\'=1 %#)#b93 #)%2#1 %#)#A93 #)%Q1  #)9B#93%#)%11  #)9b93%#)#2#1  #)9=93%#)#M1  #)7z93%#)#-1  #)7Y93 #)9.#1 %#)7993 #)9M1 %#)5v93 #)9)1 %#)5U93 #)7f1 %#)5593 #)7E1 %#)3r93 #)7%1 %#)3M93 #)5b1 %#)12#93 #)5A1 %#)1n93 #)3>#1 %#)1M93 #)3^1 %#)/.#93 #)391 %#)/j93 #)1z1 %#)/I93 #)1Y1 %#)-*#93 #)191 %#)-b93 #)/v1 %#)-%93 #)/U1 %#)+&#93 #)-6#1 %#)+b93 #)-r1 %#))>#93 #)-M1 %#))z93 #)+2#1 %#))Y93 #)+n1 %#)\'>#93 #)+M1  "}, "Johannesburg": {"data" : "+\' s40!-#<k#)%A  9#O)\'%  A)c#\'/3^=11 \'/\'^=1  "}
        , "Addis_Ababa": {"data" : ")Africa/Nairobi"}, "Lagos": {"data" : "++ Z]Nd#qk#)/%   #/)/%  Z]Nd#;)#%  )#7)3%  1# "}, "Accra": {"data" : ")Africa/Abidjan"}, "Nairobi": {"data" : "+- s4,u/#}k#)+%  I#t)/%  Q#+)#5  I#;)9B#eP<Xn ZToo1#;)1%  Q# "}, "Brazzaville": {"data" : ")Africa/Lagos"}, "Lubumbashi": {"data" : ")Africa/Maputo"}, "Banjul": {"data" : ")Africa/Abidjan"}, "Porto-Novo": {"data" : ")Africa/Lagos"}, "Lusaka": {"data" : ")Africa/Maputo"}, "Kigali": {"data" : ")Africa/Maputo"}, "Ouagadougou": {"data"
        : ")Africa/Abidjan"}, "Freetown": {"data" : ")Africa/Abidjan"}, "Ndjamena": {"data" : "+) !}H6\'#0m#)#%  1#y%)5Y 11#\')\'A  1# "}, "Conakry": {"data" : ")Africa/Abidjan"}, "Niamey": {"data" : ")Africa/Lagos"}, "Maseru": {"data" : ")Africa/Johannesburg"}, "El_Aaiun": {"data" : "+) 8_2o%#,o#)#%  3#q#))Y   J#+#)-&# 1 #)3%  )\')+% 1\'#)1%  %#)36#  %#)-% 1 #)11  >##)-% 1 #)3%  %#)-% 1 #)1v  %#)+) 1 #)1A  %#))- 1 #)/B#  %\'-)\'=11\'#)/r9  #)1r11 #)3>#9 %#)/=9  #)1I11 7-5\'=9 33-\'\'=113#)-6#9  #)1)11%#)-Y9  #)/n11%#)-59  #)/I11%#)+v9  #)/)11%#)+U9  #)-f11#)56#9 1J-77-5\'=9 33-\'\'=11\'#)+v9  #)/)11%#)+U9  #)-f11%#)+593 #)-E1 %#))n93 #)+B#1 %#))M93 #)+b1 %#)\'2#93 #)+A1 %#)\'n93 #))!#1 %#)\'I93 #))Y1 %#)%!#93 #))91 %#)%^93 #)\'z1 %#)%=93 #)\'Y1 %#)#!#93 #)\'51 %#)#Y93 #)%j1  #)9>#93%#)%I1  #)9z93%#)#.#1 "
        + " #)9Y93%#)#j1  #)76#93%#)#E1  #)7r93 #)9*#1 %#)7593 #)9f1 %#)56#93 #)9E1 %#)5n93 #)7!#1 %#)5193 #)7^1 %#)3.#93 #)5B#1 %#)3j93 #)5!#1 %#)3)93 #)5Y1 %#)1*#93 #)3:#1 %#)1I93 #)3v1 %#)1)93 #)3U1 %#)/&#93 #)16#1 %#)/E93 #)1r1 %#)/%93 #)151 %#)-!#93 #)/6#1 %#)-=93 #)/n1 %#)+>#93 #)/11 %#)+^93 #)-.#1 %#)+=93 #)-j1 %#))6#93 #)-)1 %#))U93 #)+*#1 %#))593 #)+I1 %#)\'6#93 #)+)1 %#)\'Q93 #))!#1 %#)\'193 #))A1 %#)%f93 #)\'B#1 %#)%E93 #)\'!#1 %#)%%93 #)\'=1 %#)#b93 #)%2#1 %#)#A93 #)%Q1  #)9B#93%#)%11  #)9b93%#)#2#1  #)9=93%#)#M"
        + "1  #)7z93%#)#-1  #)7Y93 #)9.#1 %#)7993 #)9M1 %#)5v93 #)9)1 %#)5U93 #)7f1 %#)5593 #)7E1 %#)3r93 #)7%1 %#)3M93 #)5b1 %#)12#93 #)5A1 %#)1n93 #)3>#1 %#)1M93 #)3^1 %#)/.#93 #)391 %#)/j93 #)1z1 %#)/I93 #)1Y1 %#)-*#93 #)191 %#)-b93 #)/v1 %#)-%93 #)/U1 %#)+&#93 #)-6#1 %#)+b93 #)-r1 %#))>#93 #)-M1 %#))z93 #)+2#1 %#))Y93 #)+n1 %#)\'>#93 #)+M1  "}, "Sao_Tome": {"data" : "++ kmFJ##yi#)#%  ,8Z{##8# #%   #]))#%) 1#\')#%1  # "}, "Ceuta": {"data" : "+3 P*J.##ak# #%   #h)+9!%1 ##)5=!%  #;)#%   E;\'159*%  #))9!%15#))b!%1 #151*% )#))f!%1 /75%9*% +#))E!%1%#))^ 1%#))r!%1#)#%   #a#)#%   E #)--&#1 #)5%  =#)-&# 1 #)3%  )\')+% 1\'#)1%  %#)36#  %#)-% 1 #)11  ;)\'b  1#+)#%  11G/\')%=)1\'d%3\'=) [ %\'\'=)1^ %5\'=)  "}
        , "Khartoum": {"data" : "+) Vwq{-#}m#)#%  A1c##)+% 1 `)5^  [#))># 1%W-)\'= 1`)#^&# Q#h)7%  A# "}, "Algiers": {"data" : "+5 6g(^#8k#)\'b  _N&O#t)\'M   M5#1-Y!%1 /75%=!% +#1\'&#!%1%#1\'E!%1%#1\'%!%1%#1%Y!%1 #15!#!% %#1\'Y!%1 #1-v!% j#13M!%1 #)7n) \')%*#1 15\'#13M!%1 #)7n) 5\'/)%%11\'#)5A1 %#)3b) \')5=   #K)#:#  1#?))Y   9p\'/)%%11 #)3b) .##1)*#!%1 #13.#!% 9#)+9 1 #)5v  #)5v  19;#1)*#!%1 #13.#!% 9#)+9 1 #)5v  %#)\'&#)1 #)3z9 \')5.#   1\'#)\'&#)1 #)3z9 )#))*# 1 #)5B#1 \')+%  1# "}, "Bangui": {"data" : ")Africa/Lagos"}
        , "Bujumbura": {"data" : ")Africa/Maputo"}, "Gaborone": {"data" : ")Africa/Maputo"}, "Juba": {"data" : "+) .&oi-#}m#)#%  A1c##)+% 1 `)5^  [#))># 1%W-)\'= 1`)#^&# Q#x)%%  A# "}, "Dar_es_Salaam": {"data" : ")Africa/Nairobi"}, "Windhoek": {"data" : "+- Z$__\'#<k#)%A  9#O)\'%  A#e#)3r11A#\')\'v1 A#(%)\'v  A-1#)\'v 3 $#/3%=1 ||/)%=13 "}, "Harare": {"data" : ")Africa/Maputo"}, "Tripoli": {"data" : "+3 N*$o%#Pm#)#%  19B##)5Y11%#)#%  %#)5E11%#)#%  %#)3># 1%#)#%  /)#%  A#$#)#%  1A0##)#%  .#+))% 1+/)5%   #))9 1%#))1 1 #)5-  %+))% 1++)5%  \')+1  A#;)3>#  11G+))% 1++)5%  A#))1 1 #)51  #)51  A#`)7I1 11`#))1 1 #)51  b#-\'\'5)1 #-5\'51 #)5*#1 A# "}
        , "Libreville": {"data" : ")Africa/Lagos"}, "Malabo": {"data" : ")Africa/Lagos"}, "Abidjan": {"data" : "+% uqip#0m#)#%   # "}, "Luanda": {"data" : ")Africa/Lagos"}, "Lome": {"data" : ")Africa/Abidjan"}, "Nouakchott": {"data" : ")Africa/Abidjan"}, "Bissau": {"data" : "+\' Dya@\'#0m# #%) 3#i%)#%   # "}, "Asmara": {"data" : ")Africa/Nairobi"}, "Kinshasa": {"data" : ")Africa/Lagos"}, "Asmera": {"data" : ")Africa/Asmara"}, "Timbuktu": {"data" : ")Africa/Abidjan"}, "Mogadishu": {"data" : ")Africa/Nairobi"}
        , "Djibouti": {"data" : ")Africa/Nairobi"}, "Douala": {"data" : ")Africa/Lagos"}, "Kampala": {"data" : ")Africa/Nairobi"}, "Dakar": {"data" : ")Africa/Abidjan"}, "Cairo": {"data" : "+% VcVc-#]k#)5%  AN#g##)/^ 1 #)5%  %#))^ 1 #)3b  %+))% 1+#)52#  %+)7%   #))b 1Q#)+I 1 \')5%   #)+% 1%|)+%)1|;)3>#9 %8#)5%9 S#)/*#)1%#)/Q)1%3)+%)1%#)+9)1%3)+%)1%`5)\'5 1`K-5%5  %#)3z  %#/3)5  %#-3%5  %#)1v  %#)1M   #)3I 1 #-5%5  1#)+b 1 #)-2#   #)1% 1 #-5%5  E -)\'5 1  -7%5   "}, "Blantyre": {"data" : ")Africa/Maputo"}, "Monrovia":
        {"data" : "+) L8B>%#qi#)#%  L8B>%#]#)\'%  u8eD%#@%)#=   # "}, "Mbabane": {"data" : ")Africa/Johannesburg"}, "Bamako": {"data" : ")Africa/Abidjan"}}, "Canada": {"Yukon": {"data" : ")America/Whitehorse"}, "Mountain": {"data" : ")America/Edmonton"}, "Pacific": {"data" : ")America/Vancouver"}, "Central": {"data" : ")America/Winnipeg"}, "Eastern": {"data" : ")America/Toronto"}, "Newfoundland": {"data" : ")America/St_Johns"}, "Saskatchewan": {"data" : ")America/Regina"}, "Atlantic": {"data" : ")America/Halifax"}
        }, "Asia": {"Tashkent": {"data" : "++ {TJq=#am#)+)  r#;)-v  &#16%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n)\'B#1 r-K/))% 1 O53\'=1 K,#5\'\'=11j)#%  r# "}, "Beirut": {"data" : "+% Zq,Z/#ii#)#%  A&#g##)\'6# 1 #)5*#  %#))- 1 #)5-  %#)\'.# 1 #)5A  %#))z 1 #)3b  N#3)+% 133)5%  M#)-z 1 7)5%  33)+% 1%#))># 1 #)3>#  9/)+% 1/?)5b  /#)-% 1%#)+I 1%+)+% 1 #)51  % -\'\'= 1 7-3\'=  % -5\'=   "}, "Hong_Kong": {"data" : "+- _Z(NQ#mk# 5:#N# F##]#)-^91F###)5%A)F###)9*#  V##3)7j1 F#Y%#))v 1 #19%= %#1)U=1 #17>#= %#1+)=1 3756#== /3/)%==1 O/5B#== KK/\'j==1%O/)b==1OO/5b== /#)9>#=19#)+U=1 #)5v=  "}
        , "Kabul": {"data" : "+\' {(Po=#4k#)#%  b#H%)#%  j# "}, "Chita": {"data" : "+1 &:*@Q#Lm#)9^  F##O)-v  V#AG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 F#-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 V#1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 g##/15.#1 F##+)\'2#1 V## "}, "Baku": {"data" : "+/ s8_a5#am#)+)  Q#L#)\'%  b1&#/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 Q-K/))% 1 O53\'=1 K,#5\'\'=11j53\'=1 b#3)#%  b-` %\'\'=)1+d%3\'=) % %5\'=) \')#%  b) l-\'\'=A1ll-5\'=I  "}, "Kathmandu": {"data"
        : "+\' k}J<E#Pm#)#%  z#u%)#%  &J_NE# "}, "Aqtobe": {"data" : "+3 Rem89#am#)+)  b#;)-v  r#8%))% 1r##)5%  &##\'))%  r1\'/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 b-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 r1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 915B#1 r# "}, "Kamchatka": {"data" : "+/ V>e!f#Xm#)7I  w##C)-v  *%AG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 w#-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 *%1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 #1\'6#1 w#-0#O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 *%# "}
        , "Istanbul": {"data" : ")Europe/Istanbul"}, "Nicosia": {"data" : "+\' s}(0/#Tm#)7Y  AEB%#))U 1 #)5Q  %#)+^ 1 #)5M  %//)%= 1/#)3*#  %#)5)  %l-3\'=  dh-\'\'= 1#)3%  A-h %\'\'=)1+d%3\'=) % %5\'=)  "}, "Pontianak": {"data" : "+3 2$@JO#}k#)+%  2$@JO#(#)7%  >##K)#:#  V##/)3!#  >##/)+%  F##+)+%  >##[)#%  F##(#)#%  6## "}, "Qostanay": {"data" : "+3 6!J];#am#)+)  b#;)-v  r#8%))% 1r##)5%  &##\'))%  r1\'/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 b-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 r1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 915B#1 &## "}
        , "Kuala_Lumpur": {"data" : ")Asia/Singapore"}, "Hanoi": {"data" : "+1 Ra{aM#uk#)/%  J<ZqM#7)+%  6##D#)9B#!% F##/)\'Y!% V###)3)  6##+))%  F##?)5%  6## "}, "Novokuznetsk": {"data" : "+/ .J$cE#am#)+%  &##;)-v  6#AG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 &#-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 6#1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 #1\'6#1 &#-0#O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 6## "}, "Bahrain": {"data" : ")Asia/Qatar"}, "Bangkok": {"data" : "+\' 2$DTK#ii#)#%  2$DTK#i#))%  6## "}
        , "Srednekolymsk": {"data" : "+/ &.({b#am#)+)  g##;)-v  w#AG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 g#-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 w#1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 *%#/15.#1 w## "}, "Karachi": {"data" : "+- F_<D=#yk#)#%  z#T#)3% 1z#/)5^  z#;)3>#  r#t)\'.#  r5B##/))= 1 #/5)=  9#)-% 1 \')7%   #))^ 1 "}, "Aden": {"data" : ")Asia/Riyadh"}, "Irkutsk": {"data" : "+1 !8FBM#ii#)#%  !8FBM#i#)#*#  6##K)-v  F#AG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 6#-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 F#1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 V##/15.#1 F## "}
        , "Hovd": {"data" : "+\' c@w]G#qk#)1%  &##4\')#%  6#E5\'))% 1\'#)5%  )W-\'\'= 1[[-3\'=  -#-)\'911 7-3\'91 33-\'\'911E\'-\'\'911\'\'-3\'9   "}, "Katmandu": {"data" : ")Asia/Kathmandu"}, "Ashkhabad": {"data" : ")Asia/Ashgabat"}, "Samarkand": {"data" : "+/ 6gPB=#am#)+)  b#;)-v  r#8%))% 1r##)5%  &##\'))%  r1\'/))% 1/+)5%  %O53\'=1 K,#5\'\'=11j)#%  r# "}, "Thimphu": {"data" : "+\' V{26G#ao#)1^  z#i#)5%  &## "}, "Ujung_Pandang": {"data" : ")Asia/Makassar"}, "Muscat": {"data" : ")Asia/Dubai"}, "Amman": {"data"
        : "+\' *LFc/#}m#)#%  AF#o##)-9 1 +)5%  \'/)+% 1\'#)7%  %#)5%  %#))># 1 #)3>#  =#))% 1 #)5%  %+/)%5 1+3/5%5  \'#)+A 1%#))2# 1%#))f 1 #)32#  %#))I 1 \'/5%5   7/)%5 13#/3^5  %/73^5  %#1/% 1 /53\'5  +\'5\'\'1 1%K-)%5 1G#15&#  %#15^  %#53\'5  %755\'5  )#)9r  %?-)%5 1?C55\'5   #-\'%5 1#156#  Q# "}, "Choibalsan": {"data" : "++ :(<TQ#qk#)1%  6##4\')#%  F##7))%  V#= \'))% 1\'#)5%  )W-\'\'= 1[[-3\'=  -#-)\'911 7-3\'91 33-\'\'911+)\'B#  F#1?7-3\'91 33-\'\'911E\'-\'\'911\'\'-3\'9   "}, "Thimbu": {"data" : ")Asia/Thimphu"}
        , "Jayapura": {"data" : "+) s]a0^#$o#)7%  V##S)3%  _##t)#%  V## "}, "Oral": {"data" : "+5 6kJ!7#am#)+)  Q#;)-v  r#8%))% 1r##)5%  &##\'))%  r1\'/))% 1/+)5%  %O53\'=1 K,#5\'\'=11v1\'.#1 b-C/))% 1 O53\'=1 K,#5\'\'=11j1#n1 r-O/))% 1 O53\'=1 K,#5\'\'=11j1\':#1 b1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 915B#1 r# "}, "Dubai": {"data" : "+% !qFq7#Pm#)#%  b# "}, "Chungking": {"data" : ")Asia/Chongqing"}, "Yakutsk": {"data" : "+/ 6!ZmW#Lm#)9^  F##O)-v  V#AG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 F#-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 V#1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 g##/15.#1 V## "}
        , "Seoul": {"data" : "+- 2$86W#}k#))%  N##3)#%  V##L#)3A  V#9-#)-% 1 #)3U  %#))- 1 +/3A=  \'#))% 1%#)+9 1/)\'v  N#A7+/3A=   #)+9 11#)+5 1 #)3E  %#)+r 1 #)3>#  %//+%= 1///3j=  \')1I  V#13//+%= 1///3j=  2#\'/+A=11\'\'/5A=9  "}, "Hebron": {"data" : "+- oN.R/#]k#)5%  AEg## +B#*%1 # 3>#*%  # 7b*%1)3 5B#*% /\' \'B#*%1%\' )^*%1)# +z*%A # 1B#*%1 \' 5B#*% %)+^  A9E#)+I 1 \')5%   #)+% 1%C)+%)1C;)3>#9 %#)5%9 \')-5  AN#K# )2#*%1 # 3v*% f#)/= 1 #)5U  %#))r 1 #)1B#  5#11)*%1 #13U*% 1#1+5*%1 #11*#*% %#))Y 1 #)3%  %#)+j 1 #)3=  %#))^ 1 #)3U  %#))I 1 #)31  %#))># 1 #)3-  %#)\'*# 1 #)1.#  %#)\'&# 1 #)3%  %#)\':# 1 #)39  %#))) 1 #)35  %#))% 1 #)16#  %#)\'B# 1 #)3-  %#)\'^ 1 #)3b  #)#%  A5/7/)%5 13#/3^5  %/73^5  %#1/% 1 /53\'5  -)#%  Ak) ;/)^5 1;3/5^5  %#)5%) %#)511 %\'))% 1\'#)3z  "
        + "%#)3U1 %\'-\'\'5 1\'#)3%  %#)31) %#)\'.# 1 #)1M  %#))%ec6#1 #)1%   #)1># 1 #)3>#  %+-)%5 1+#)3v) %#)32#  %#)5&#  %#)\'6# 1 #)5!#) %+-\'>#9)1++-5>#9) %#)\':# 1 #-5>#9  %\'-\'>#9 1\'#)5&#) %#)5:#) %#)\'2# 1 W-5>#91 S#)):#11%#))U11%#))511%8#-\'>#911l#)5j1 %#)5I1 %#)3*#1 %#)3f1  #)5z11 8#-5>#91 4##)3%1  #)5U11%#)1&#1  #)36#11%#)1b1  #)3r11%#)1%1  #)3Q11%#)/!#1  #)12#11%#)/^1  #)1n11%#)->#1  #)1M11%#)-z1  #)/2#11%#)-91  #)/j11%#)+:#1  #)/-11%#)+v1  #)-*#11%#)+91  #)-f11%#))2#1  #)-%11%#))Q1  #)+&#11%#))11  #)+b11%#)+%11%#))z"
        + "11%#))=11% -\'>#911I#)5r1 %#)5Q1 %#)511 %#)3n1 %#)3I1  #)5^11%#)3)1  #)5=11%#)1j1  #)3:#11%#)1I1  #)3Y11  -5>#91 %#)/*#1  #)3511%#)/f1  #)16#11%#)/E1  #)1U11%#)-&#1  #)1511%#)-^1  #)/r11%#)-=1  #)/Q11%#)+!#1  #)/111%#)+^1  #)-n11%#)):#1  #)-I11%#))v1  #)-)11%#))U1  #)+j11 "}, "Yekaterinburg": {"data" : "+1 >F&!;#@m#)/-  s<}&9#/)/^A b#O)-v  rAG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 b-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 r1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 &##/15.#1 r# "}
        , "Famagusta": {"data" : "++ k]o:/#Tm#)7Y  AEB%#))U 1 #)5Q  %#)+^ 1 #)5M  %//)%= 1/#)3*#  %#)5)  %l-3\'=  dh-\'\'= 1#)3%  A-h %\'\'=)1+d%3\'=) % %5\'=) t)3A  Q#\' 5:#) A-X# %\'\'=)1+d%3\'=) % %5\'=)  "}, "Tel_Aviv": {"data" : ")Asia/Jerusalem"}, "Kuwait": {"data" : ")Asia/Riyadh"}, "Calcutta": {"data" : ")Asia/Kolkata"}, "Urumqi": {"data" : "+% .BmiE#qm#)#%  &## "}, "Shanghai": {"data" : "+\' {eZ$U#ak#)#%  F#Yj#))U 1 #)5%  v#)-% 1 #)5U  %#)\'^ 1 #)7)  %#)#B# 1-#)3)  %#)+^ 1 #)5%  %#))^ 1 #)7%  %\')+% 1\'\')5%  #)+6#  F#-Z##)+111 7/3M=1 33/)M=11 "}
        , "Atyrau": {"data" : "+3 .J4.7#am#)+)  Q#;)-v  r#8%)5%  &##\'))%  r1\'/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 b-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 r1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 M1\'6#1 b-`O53\'=1 K,#5\'\'=11[[55\'=1 915B#1 r# "}, "Tbilisi": {"data" : "+7 Z8mX3#ii#)#%  Z8mX3#y#)+)  Q#L#)\'%  b1&#/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 Q-K/))% 1 O53\'=1 K,#5\'\'=11j)#%  Q)O -\'\'= 1+d-3\'=  %-3\'=  b-W -\'\'= 1+d-3\'=  % -5\'=  #-5\'= 1b#\'-\'\'=  b-d -\'\'= 1+d-3\'=  % -5\'=  C)-2#  Q-tO53\'=1 K,#5\'\'=11[[55\'=1 5-\'\'=1 b# "}
        , "Anadyr": {"data" : "+1 &gL&n#am#)+)  *%#;)-v  :%9G#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %1)%  *%Aa%#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 w#-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 *%1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 #1\'6#1 w#-0#O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 *%# "}, "Brunei": {"data" : ")Asia/Kuching"}, "Vientiane": {"data" : ")Asia/Bangkok"}, "Jakarta": {"data" : "+3 Za@uM#4i#)1I  Za@uM#L% 9B#aiokU 6NuVO#G)7%  >##K)\'!#  V##/)3!#  >##/)+%  F##+)+%  >##[)#%  6## "}
        , "Gaza": {"data" : "+9 F&yD/#]k#)5%  AEg## +B#*%1 # 3>#*%  # 7b*%1)3 5B#*% /\' \'B#*%1%\' )^*%1)# +z*%A # 1B#*%1 \' 5B#*% %)+^  A9E#)+I 1 \')5%   #)+% 1%C)+%)1C;)3>#9 %#)5%9 \')-5  AN#K# )2#*%1 # 3v*% f#)/= 1 #)5U  %#))r 1 #)1B#  5#11)*%1 #13U*% 1#1+5*%1 #11*#*% %#))Y 1 #)3%  %#)+j 1 #)3=  %#))^ 1 #)3U  %#))I 1 #)31  %#))># 1 #)3-  %#)\'*# 1 #)1.#  %#)\'&# 1 #)3%  %#)\':# 1 #)39  %#))) 1 #)35  %#))% 1 #)16#  %#)\'B# 1 #)3-  %#)\'^ 1 #)3b  #)#%  A5/7/)%5 13#/3^5  %/73^5  %#1/% 1 /53\'5  -)#%  AE ;/)^5 1;3/5^5  %#)5%) %#)511 %\'))% 1\'#)3z  %"
        + "#)3U1 %\'-\'\'5 1\'#)3%  #)1:#  A##)3%  A=+\'))% 1 #)3U1 %\'-\'\'5 1\'#)3%  %#)31) %#)\'.# 1 #)1M  #)#%  A##)\'2#ec6# AA+\'-\'\'5 1 #)31) %#)\'.# 1 #)1M  %#))%ec6#1 #)1%   #)1># 1 #)3>#  #)1%  A#\')#%  A:)\'#))%ec6#1 #)1%   #)1># 1 #)3>#  %+-)%5 1+#)3v) %#)32#  %#)5&#  %#)\'6# 1 #)5!#) %+-\'>#9)1++-5>#9) %#)\':# 1 #-5>#9  %\'-\'>#9 1\'#)5&#) %#)5:#) %#)\'2# 1 W-5>#91 S#)):#11%#))U11%#))511%8#-\'>#911l#)5j1 %#)5I1 %#)3*#1 %#)3f1  #)5z11 8#-5>#91 4##)3%1  #)5U11%#)1&#1  #)36#11%#)1b1  #)3r11%#)1%1  #)3Q11%#)/!#1  #)12#11%#)/^1  #)1n1"
        + "1%#)->#1  #)1M11%#)-z1  #)/2#11%#)-91  #)/j11%#)+:#1  #)/-11%#)+v1  #)-*#11%#)+91  #)-f11%#))2#1  #)-%11%#))Q1  #)+&#11%#))11  #)+b11%#)+%11%#))z11%#))=11% -\'>#911I#)5r1 %#)5Q1 %#)511 %#)3n1 %#)3I1  #)5^11%#)3)1  #)5=11%#)1j1  #)3:#11%#)1I1  #)3Y11  -5>#91 %#)/*#1  #)3511%#)/f1  #)16#11%#)/E1  #)1U11%#)-&#1  #)1511%#)-^1  #)/r11%#)-=1  #)/Q11%#)+!#1  #)/111%#)+^1  #)-n11%#)):#1  #)-I11%#))v1  #)-)11%#))U1  #)+j11 "}, "Makassar": {"data" : "++ ..ZXS#Pm#)#%  ..ZXS#S)7%  F##K)%E  V##/)3!#  F## "}, "Ulaanbaatar":
        {"data" : "+\' gN0wM#qk#)1%  6##4\')#%  F#E5\'))% 1\'#)5%  )W-\'\'= 1[[-3\'=  -#-)\'911 7-3\'91 33-\'\'911E\'-\'\'911\'\'-3\'9   "}, "Harbin": {"data" : ")Asia/Shanghai"}, "Vladivostok": {"data" : "+/ wga:Y#Xm#)7^  V##C)-v  g#AG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 V#-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 g#1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 w##/15.#1 g## "}, "Qyzylorda": {"data" : "+9 w>a$=#am#)+)  b#;)-v  r#8%))% 1r##)5%  &##\'))%  r1\'/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 b-K/))% 1 O53\'=1 K,#5\'\'=11n13:#1 r-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 &#-O/))% 1 O53\'=1 K,#5\'\'=11j1\':#1 r1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 915B#1 &##[)9v  r# "}
        , "Phnom_Penh": {"data" : ")Asia/Bangkok"}, "Riyadh": {"data" : "+% Vcg!5#ao#)\'Y  Q# "}, "Ashgabat": {"data" : "++ ocmP9#am#)+)  b#;)-v  r16%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n)\'B#1 b-K/))% 1 O53\'=1 K,#5\'\'=11j)#n1 r# "}, "Aqtau": {"data" : "+3 R<ii5#am#)+)  b#;)-v  r#8%)5%  &##\'))%  r1\'/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 b-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 r-O/))% 1 O53\'=1 K,#5\'\'=11b13*#1 b1W/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 915B#1 r# "}, "Tokyo": {"data" : "+% og:{[#(k# 9B#># V#1_%#/+)= 1 //3A92% +#/))= 1%\'/+)= 1 "}
        , "Novosibirsk": {"data" : "+3 o.kiC#Lm#)9YQ &##O)-v  6#AG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 &#-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 6#-O/))% 1 O53\'=1 K,#5\'\'=11f)+!#  &#1S/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 6##/15.#1 &##+1/&#1 6## "}, "Barnaul": {"data" : "+3 .6!{C#Lm#)9I  &##O)-v  6#AG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 &#-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 6#-O/))% 1 O53\'=1 K,#5\'\'=11^)+6#  &#1[/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 6##/15.#1 &##+1\'2#1 6## "}
        , "Jerusalem": {"data" : "+\' N*HT/#ii#)#%  *]oR/#a#)#%  Ac\'z# +B#*%1 # 3>#*%  # 7b*%1)3 5B#*% /\' \'B#*%1%\' )^*%1)# +z*%A # 1B#*%1 \' 5B#*%  # )>#*%1%# )^*%1 # 3Y*% %# \'B#*%1 # 7I*% %# )n*%1 # 5j*% %# )M*%1 # 3Q*% %# -Q*%1 # 3M*% %# -M*%1 # 3I*% %# -)*%1 # 3:#*% %# )2#*%1 # 3v*% f#)/= 1 #)5U  %#))r 1 #)1B#  5#11)*%1 #13U*% 1#1+5*%1 #11*#*% %#))Y 1 #)3%  %#)+j 1 #)3=  %#))^ 1 #)3U  %#))I 1 #)31  %#))># 1 #)3-  %#)\'*# 1 #)1.#  %#)\'&# 1 #)3%  %#)\':# 1 #)39  %#))) 1 #)35  %#))% 1 #)16#  %#)\'B# 1 #)3-  %#)\'^ 1 #)3b  %#)\'v 1 #)3Y  %#)\'r 1 #)"
        + "39  %#)))11 #)3-1 %#))Y11 #)59) %#))E)1 #)3&#) %#)\':#)1 #)5=) %#)\'6#)1 #)5-) %#))=)1 #)3z) %?-)%511?#)5E1 %#)5%1 %#)3b1 %#)551 %#)32#1 %#)3Q1 %#)5)1 %#)3!#1 % /\'!#511  -5\'=1  "}, "Kolkata": {"data" : "+1 {eRyE#]g#)-6#  >Z4yE#d)#%  66u4C#X#)#%  z#T#)5% 1z#\')+^  z##)3% 1z#/)5^  z# "}, "Kuching": {"data" : "++ gc2_O#im#)\'%  >##?)#%  F#));)3Y sH>(#;;)9Y  \')%b  V##/)3Q  F## "}, "Dacca": {"data" : ")Asia/Dhaka"}, "Baghdad": {"data" : "+) V6(R3#4k#)#%  g_uP3#8#)#%  Q#m%)+%  QA #)+% 1 +)5%  \'#)\'B# 1%\'))% 1 753\'=) 335\'\'=)1%d1)%91dd15%9  "}
        , "Dhaka": {"data" : "+/ VkgDG#4k#)#%  >Z4yE#8%)5%  .##\')+^  z##)3%  .##G)3>#  &##T%)#%  &#) #)-n!%1 #)9B#eP<Xn  "}, "Yerevan": {"data" : "+/ c$uR3#am#)+)  Q#L#)\'%  b1&#/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 Q-K/))% 1 O53\'=1 K,#5\'\'=11^13&#1 b#+)#%  b-WO53\'=1 K,#5\'\'=11[[55\'=1 \')#%  b) #5\'\'=11 #55\'=1  "}, "Saigon": {"data" : ")Asia/Ho_Chi_Minh"}, "Dili": {"data" : "++ ZHXwU#0m#)#%  F##@#)%v!% V##P#)+-  F##(#)3f  V## "}, "Singapore": {"data" : "+3 B4<:M#ak#)#%  B4<:M#3)-%  6##8#)#% sH>(#6##/)#%  6NuVO#7)3%  >##\')%b  V##/)3Q  >##X# 9B#F# F## "}
        , "Rangoon": {"data" : ")Asia/Yangon"}, "Damascus": {"data" : "+\' :m!k/#Pm#)#%  Ak# //)^=11///5%=1 c##)):#11 #)5%1 %+)+%11+#)3>#1 %#)5%1 %#)3>#1 %#))&#11 K)5%1 GO)+%11\'\')3%1 5\'))E11\'\')5%1 )#)%b11 #)5E1 %#)\'%11 \')5B#1  #)\'^11%#)\'B#11 #)5%1 %#))%11 #)3>#1 %#))% 1 \')5%   #))A 1%#)\'.# 1 #)3*#  %+))% 1+O)5%  C\'-\'\'% 1%?))% 1 #)3z  %#-\'\'5 1 #/7%5  %#/)%5 1 #)7%  %#-\'\'5 1%\'/)%5 1%K-\'\'5 1WW-5\'5  #)56#  Q# "}, "Taipei": {"data" : "+) 6s>&U#Lk#)#%  F##m#)5%  V##C)3v) F#^%#)+^ 1 #)5%  %#))^ 1 #)7%  %/)+% 1//)5%  %#)\'% 1 +)7%  \';))% 13;)5%  \'\')-% 1U\'))% 1\'\')5%  1#)/% 1 #)5%   "}
        , "Macau": {"data" : "+) :<o@Q#mk#)5>#  F##]#)9v!% V#-%\'))>#!%1\'#)7f!% %#)3>#!% +)5%  F#.#/\'))>#!%1 #)3>#!% -#1)>#!%1 #13>#!% %#1)n!%1 #17>#!% %#1+)!%1 #15B#!% %\'7)%9!%1\'\'55\'9!% %#1\'B#!%1 #156#!% %\'7)%9!%1\'#17%!% %\'55\'9!%  +7\'f9!%1\'#175!% %C/7%== ??/\'j==1%C/)b==1C\'/5b=5 %G/5b== /#)9>#=1)\'/)b==1-#)+U=1 #/5b==  "}, "Manila": {"data" : "++ (!48,##4g#)9B#  J$FyS#H%)+M  F#)Z##)7% 1%#)%%  7)+%  V##+)7%  F#5?#)%%  f#))Q 1 #)/%  &##)\'z 1 #)3v   "}, "Ulan_Bator": {"data" : ")Asia/Ulaanbaatar"}
        , "Kashgar": {"data" : ")Asia/Urumqi"}, "Qatar": {"data" : "+\' >{8&7#Pm#)#%  b#<%)-%  Q# "}, "Bishkek": {"data" : "+- Z}g}?#am#)+)  r#;)-v  &#16%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 r-K/))% 1 O53\'=1 K,#5\'\'=11n)1B#1 r1%37)== 133-3\'=  %C-\'\'=51C?-5\'=5 \')1Q  &## "}, "Chongqing": {"data" : ")Asia/Shanghai"}, "Tomsk": {"data" : "+3 N>{4E#Lm#)9z  &##O)-v  6#AG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 &#-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 6#1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 A)+%9 &#-lO53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 6##/15.#1 &##+1+:#1 6## "}
        , "Colombo": {"data" : "+3 ooR,C#ii#)#%  N{q,C#0#)#%  z#X#)#5 )z##)3% 1z#/)5b1 z#8%)+*#  .###)5.#% &##K))^% z# "}, "Khandyga": {"data" : "+3 V&y&[#Lm#)9^  F##O)-v  V#AG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 F#-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 V#1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 9)#%  g#-tO53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 w###13U  g##/15.#1 V## "}, "Dushanbe": {"data" : "++ .ZTg=#am#)+)  r#;)-v  &#16%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#11r##13E1 r# "}, "Magadan":
        {"data" : "+1 Ns<@b#am#)+)  g##;)-v  w#AG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 g#-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 w#1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 *%#/15.#1 g##+1)&#1 w## "}, "Pyongyang": {"data" : "+- s$8{U#}k#))%  N##3)#%  V##L#)1&#  V##(\')1^  N##/)+1&% V## "}, "Tehran": {"data" : "++ BX:$7#@m#)#%  BX:$7#p)-U  Y-,##)#%  w%#)\'v!%1 #)5v  #)5v  b=y%#)#%  w%#)\'v!%1 #)5v  %#)\'*# 1 #)15) %#)+2# 1 #)3n  #)#%  YZ#\'#)\'*# 1 #)15) %#)+2# 1 #)3n  %#)\'v 1 #)3!#  M#)+- 1%/)\'z 133)3z  %#)\'v 1 #)3v  %+)\'z 1++)3z  %#)\'v 1 #)3v  %+)\'z 1++)3z  %#)\'v 1 #)3v  %#)\'z 1 #)3z  -#)\'v 1 #)3v  %+)\'z 1++)3z  %#)\'v 1 #)3v  %+)\'z 1++)3z  %#)\'v 1 #)3v  %+)\'z 1++)3z  %#)\'v 1 #)3v  %\')\'z 1\'\')3z   "}
        , "Sakhalin": {"data" : "+3 !$HX^#qk#)1!#  V##i#)1*#  w#A(##)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 g#-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 w#1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 U5\'\'=1 g#-WO53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 w##/15.#1 g##+1\'2#1 w## "}, "Yangon": {"data" : "++ :egZI#ii#)#%  :egZI#i#)#%  .##|)+%  V##/)+-  .## "}, "Almaty": {"data" : "+- *0yNA#am#)+)  r#;)-v  &#16%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 r-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 &#1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 915B#1 &## "}
        , "Krasnoyarsk": {"data" : "+/ *TouG#Pm#)#9  &##K)-v  6#AG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 &#-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 6#1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 F##/15.#1 6## "}, "Omsk": {"data" : "+/ F6ae?#Lm#)7Y  r#O)-v  &#AG#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 r-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 &#1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 6##/15.#1 &## "}, "Macao": {"data" : ")Asia/Macau"}, "Ho_Chi_Minh":
        {"data" : "+5 J<ZqM#uk#)/%  J<ZqM#7)+%  6##D#)9B#!% F##/)\'Y!% V###)3)  6##+))%  F##C)/%  6##3)9B#!% F##d)-U  6## "}, "Ust-Nera": {"data" : "+3 R4Xc^#Lm#)9^  F##O)-v  V#9G#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  )))%  w#A]%#)%Y!%1 #)\'r!%A #)3% 1 #)5%  Z%/))% 1/+)5%  %O53\'=1 K,#5\'\'=11n1\'B#1 g#-K/))% 1 O53\'=1 K,#5\'\'=11j1#n1 w#1O/))% 1 O53\'=1 K,#5\'\'=11[[55\'=1 \'1\'2#1 *%##13U  w##/15.#1 g## "}}, "Etc": {"UTC": {"data" : "+#  # "}, "UCT": {"data" : ")Etc/UTC"}, "Zulu": {"data" : ")Etc/UTC"}
        , "GMT+9": {"data" : "+# X## "}, "GMT-10": {"data" : "+# g## "}, "GMT-11": {"data" : "+# w## "}, "GMT+5": {"data" : "+# t# "}, "GMT-7": {"data" : "+# 6## "}, "GMT+12": {"data" : "+# ,%# "}, "GMT+6": {"data" : "+# (## "}, "GMT-8": {"data" : "+# F## "}, "GMT+11": {"data" : "+# y## "}, "GMT+7": {"data" : "+# 8## "}, "GMT-9": {"data" : "+# V## "}, "GMT+10": {"data" : "+# i## "}, "GMT+8": {"data" : "+# H## "}, "GMT+1": {"data" : "+# 3# "}, "GMT-3": {"data" : "+# Q# "}, "GMT+2": {"data" : "+# C# "}, "GMT-4":
        {"data" : "+# b# "}, "GMT+3": {"data" : "+# S# "}, "GMT-5": {"data" : "+# r# "}, "GMT+4": {"data" : "+# d# "}, "GMT-6": {"data" : "+# &## "}, "GMT-0": {"data" : ")Etc/GMT"}, "GMT-1": {"data" : "+# 1# "}, "GMT+0": {"data" : ")Etc/GMT"}, "GMT-2": {"data" : "+# A# "}, "Universal": {"data" : ")Etc/UTC"}, "GMT0": {"data" : ")Etc/GMT"}, "GMT-12": {"data" : "+# *%# "}, "GMT-13": {"data" : "+# :%# "}, "GMT-14": {"data" : "+# J%# "}, "GMT": {"data" : "+#  # "}, "Greenwich": {"data" : ")Etc/GMT"}}, "Pacific":
        {"Easter": {"data" : "+) i._JO#4k#)#%  i._JO#q#)3%  8#M73)3% 1/3))%  V## 7-A1%# \'>#9  # 7!#A1%# \':#9 %# \'Y9 \'+\'5E=A1 [\'\'E=9 W# 3>#A1%W\'5E=A15 \'Y9 (#6#K[\'\'E=9 W# 3>#A1%W\'5E=A1 # )Q9 %+\'\'E=9 +\'\'5E=A1%# 3bA1%7\'\'E=9 7;\'5E=A1 # \'>#9 %#\'\'E=9  # 32#A1%# )19  O\'5E=A1K?\'\'E=9 %# \'>#9 %#\'\'E=9 %#\')%=9 %#\'+)=9  #\'1b=A1%+\')!#=9 ++\'3)=A1)+\'+E=9 ++\'1E=A1% \'))=9  +\'3)=A1%#\'3E=A1% \'3)=A1 "}, "Fiji": {"data" : "+% wViBn#<m#)5.#  *%QZ\'\'/7%=11 \'-%\'=9 E#)7:#11%#-\'\'=9  //5v=11+#/\'%=9 %\'/#j=9 %#/#j=1  3/7%=11/;/#Q=9 +#/7A=11%#)9r11 "}
        , "Port_Moresby": {"data" : "+\' FNLT`#ii#)#%  gB.T`#`)#%  g## "}, "Kiritimati": {"data" : "+) 8{eed#ak#)#%  Hk$>f#H\')5%  i##`)9B#  J%# "}, "Pohnpei": {"data" : ")Pacific/Guadalcanal"}, "Chuuk": {"data" : ")Pacific/Port_Moresby"}, "Yap": {"data" : ")Pacific/Chuuk"}, "Kosrae": {"data" : "+5 0g,8v#4g#)9B#  B<Lyf#P%)#%  w##W)5%  V##7)%%  w##l)#%  g##3))%  V##3)1%  w##(#)5%  *%#@#)#%  w## "}, "Kwajalein": {"data" : "+/ {mBsh#ak#)#%  w##X#)#%  g##3))%  V##/)%9  w##,#)5%  ,%#(#)1v  *%# "}, "Auckland": {"data"
        : "+\' F6aLl#8i#)7)  !%=V%#)7911%#)\'11  7/5A=1)33/\'^=1 %;-)\'=1 ;;-3\'=1)9#)#%  #)#%  *%QS;-)\'=1 ;;-3\'=1)9#)#%  6##77%=11%#5%\'=1  W55\'=11SW7\'%=1  #75A=11%d75%=11dh7\'^=1   53\'=11% 7)%=1  "}, "Efate": {"data" : "+% cy&*j#0m#)#U  w#9_%# 9z&#1%# \'>#&# EC/3!#= 1??/\'!#=  %\'/#!#=  \'#/5!#= 1 "}, "Johnston": {"data" : ")Pacific/Honolulu"}, "Niue": {"data" : "+\' yooHj#uo#)5b  (__Jj#S)/%  y## "}, "Majuro": {"data" : ")Pacific/Tarawa"}, "Truk": {"data" : ")Pacific/Chuuk"}, "Ponape": {"data" : ")Pacific/Pohnpei"}
        , "Guadalcanal": {"data" : "+% !,T<f#0m#)5%  w## "}, "Honolulu": {"data" : "++ i.wod#Lk#)#U&# q##]#))>#11q###)+v&# q#5`\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 +)-A1 i## "}, "Guam": {"data" : "+- uyy.!##4g#)9B#  Z(]$`#P%)#%  g##i#)9I  V##/)/B#  g#Y^#)-2#11)#)#:#1 9#)3%11)#)#.#ec6#  #)-z11 #)1B#1 %\'-)\'=11\'\'/3%=1 )#)9b11%#)%&#1 )#)+.#11 #)1z4!28\' %#))&#11 #)16#1 $#)9!#  g## "}, "Chatham": {"data" : "+\' ke>@p#8i#)7)  _o:Fp#H\')#%  FN8!tE6##77%=m:HH)1%#5%\'=m:HH)  W55\'=m:HH)1SW7\'%=m:HH)  #75A=m:HH)1%d75%=m:HH)1dh7\'^=m:HH)   53\'=m:HH)1% 7)%=m:HH)  "}
        , "Midway": {"data" : ")Pacific/Pago_Pago"}, "Kanton": {"data" : "+)  #8o#)1B#  ,%#q#)5%  y##`)9B#  :%# "}, "Tahiti": {"data" : "+% <@.(b#0m#)5%  i## "}, "Pago_Pago": {"data" : "+\' gk!Xr#<k#)/5  i6VXj#p)#%  y## "}, "Galapagos": {"data" : "+\' $<c4G#}m#)#%  t#H%)#%  (#)9#)76# 1%#)%5   "}, "Funafuti": {"data" : ")Pacific/Tarawa"}, "Marquesas": {"data" : "+% @6qu[#0m#)5%  a## "}, "Rarotonga": {"data" : "+) _*qwv#Xk#)9.#  qwe8f#@%)5b  q##0#)7Q  i#- #)7Q )%S/\'%=  SO-5\'= ) "}, "Tarawa": {"data" : "+% _:H*l#ak#)#%  *%# "}
        , "Saipan": {"data" : ")Pacific/Guam"}, "Gambier": {"data" : "+% my{wY#0m#)5%  X## "}, "Tongatapu": {"data" : "+) c4]Zp#Xo#)3I  ZyX_p#d)#%  :%#a#)#%  :%9 #15=11%#1\'n1  \'/7%=11 \'-#\'=1 Y#/7%=11%#/#^=9  "}, "Wallis": {"data" : ")Pacific/Tarawa"}, "Fakaofo": {"data" : "+\' 44ocj#ak#)#%  y##m))9>#  :%# "}, "Wake": {"data" : ")Pacific/Tarawa"}, "Samoa": {"data" : ")Pacific/Pago_Pago"}, "Enderbury": {"data" : ")Pacific/Kanton"}, "Pitcairn": {"data" : "+\' X!}sW#ak#)#%  P##8)))2#  H## "}, "Apia": {"data"
        : "++ R}mBr#<k#)/5  }$imj#p)#%  $%#e#)#%  y#-Z%#-3\'= 1%#/)%9A  #-3\'991#)9>#  :%5\'#-3\'= 1%#/)%9A  #-3\'991%G/)%=A GC-3\'=91 "}, "Noumea": {"data" : "+% 2(_ah#0m#)#U  w#1o%\'/9%= 1 \')%2#  f#19%11%#1\')1  "}, "Palau": {"data" : "+\' ik4B&##4g#)9B#  g6DoY#P%)#%  V## "}, "Nauru": {"data" : "++ >k8kh#Tm#)#^  !%#x)1:#  V##/)3A  !%#P#)%I1 *%# "}, "Bougainville": {"data" : "+- gJ>Bd#ii#)#%  gB.T`#`)#%  g##(%)/%  V##/)1v  g##$\')96#1 w## "}, "Norfolk": {"data" : "+/ B0Z!j#ak#)#%  !<y!j#4%)#%  !%#$#152#11!%#\'1\')1 !%#i#1511 w##3)/%  w#1l;55\'=11 #5\'\'=1 % 7)%=1   75%=11 "}
        }, "America": {"Belem": {"data" : "+\' (62F5#8m#)#%  Svf#)5-z1%\'))%  \'#)5- 1f/)9% 1+#))b) %\'))%  %#)\'%  I#)9E 1%#)\'%  %#)#B# 1 #)\'B#   #)9% 1%+)\'%  +\')7% 1j#)7) 1%#)\'^   #)5*# 1%#)%Y   #)5*# 1%#)%=   #)5b 1#)3Q  S# "}, "Guayaquil": {"data" : "+\' y:D,C#4k#)#%  qB6oA#m#)#%  t)_%#)76# 1%#)%5   "}, "Argentina/Buenos_Aires": {"data" : "+/ ({LR9#Dk#)5B#  (_2i;#0#)+%  d#K)9%  dn #)9% 1%#))%   #)5^ 1%C)\'%  C?)7% 1%#)/% 1%#)-^   #)5^ 1)#)1%   #)5^ 1-#)\'%   #)5% 1f#)5%   #)9^ 1%+)\'%  ++)5^ 1%#)))   \'/5%= 1 \'/)%=  #)55  SA+\'/5%= 1 \'/)%=  5#)#!# 1 #)+%  Y#)9% 1%3/\'%=  3//5^= 1=#/5%= 1#)5-  d-K3/\'%=  9#/5%= 1%#)\'-  #)\'-  S5\'#/5%= 1%#)\'-  =#)9># 1%\'/\'^=  \'#/5^= 1 "}
        , "Costa_Rica": {"data" : "+\' u4!$E#4k#)#%  u4!$E#D#)#^  (#5R%\'-%\'= 1\'\'/-%=  M\'/#^9 1\'#)/%  %#)\'^   "}, "Hermosillo": {"data" : "+3 (&JkO#Xm# #%Y 8##7)-I!% (##/)7^  8#)%#)+%!%1 #)5%  \'))%  (##K))&#  8##?)#Y  H##x)#%  8#1t#)%Q 1 #)/>#  !%3/)%=1133-5\'=1 %)#%  8## "}, "Punta_Arenas": {"data" : "+= }uH4?#4k#)#%  Dy00?#t)#I  t#;)/%  Dy00?#+)3I  d#\')/%  Dy00?#C)3%  t) 3)3% 1/3))%  #)3%  d#K)-%  t##)1%  d#3)1:# 1t#\'))%  t##)+v!% dB#p3))%  V## 7-A1%# \'>#9  # 7!#A1%# \':#9 %# \'Y9 \'+\'5E=A1 [\'\'E=9 W# 3>#A1%W\'5E=A1 # )Q9 %+\'\'E=9 +\'\'5E=A1%# 3bA1%7\'\'E=9 7;\'5E=A1 # \'>#9 %#\'\'E=9  # 32#A1%# )19  O\'5E=A1K?\'\'E=9 %# \'>#9 %#\'\'E=9 %#\')%=9 %#\'+)=9  #\'1b=A1%+\')!#=9 ++\'3)=A1)+\'+E=9 ++\'1E=A1))91  S# "}
        , "Iqaluit": {"data" : "+)  #Lo#)1%  tA$##)+*#11 #)7%  !##)%E11-# 1Y!%1 #)3>#1 2#[-)\'=11[P#-5\'=1 pp/)%=11=)5B#1 (#-,#S-)\'=11SH#-5\'=1 pp/)%=119)5:#1 t50#S-)\'=11SH#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}, "Godthab": {"data" : ")America/Nuuk"}, "Jujuy": {"data" : ")America/Argentina/Jujuy"}, "El_Salvador": {"data" : "+% 4mg,G#Tm#)#%  (#)s%\'/+%= 1\'\'-3\'=   "}, "Monterrey": {"data" : "+) 4<FPK#Xm# #%Q (##u%)#%  (#-xe#-5\'=1 @#K-)\'=11%p/)%=11f)#%  (#Ae##)%Q 1 #)/>#  !%3/)%=1133-5\'=1 %#/+%=11 #-3\'=1 %t/)%=11tt-5\'=1  "}
        , "Bahia": {"data" : "++ (Ns81#8m#)#%  S{#f#)5-z1%\'))%  \'#)5- 1f/)9% 1+#))b) %\'))%  %#)\'%  I#)9E 1%#)\'%  %#)#B# 1 #)\'B#   #)9% 1%+)\'%  +\')7% 1j#)7) 1%#)\'^   #)5*# 1%#)%Y   #)5*# 1%#)%=   #)5b 1%#)#:#   #)5^ 1%#)%M   #)5v 1%#)%f   #)5r 1%#)%E   #)5*# 1%#)#B#   +/5M= 1\'\'/%^=  %#)%M   #)59 1%#)%b   #)59 1%#)\'%   #)5M 1%#)%v   #)5- 1%#)%2#   \'/5A= 1 7/%^=  3#)7- 1%#)5n 1#)3&#  S#C)5b  S53#)%*#   #/5A= 1%G/5^= 1G//%^=  %#/%z=  #)5v  S# "}, "Indiana/Winamac": {"data" : "+1 <,0VE#ui# 7jV# (#5R#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  (#1 [-)\'=11[C-3\'=1 %\'-5\'=1 %/-3\'=1 \'))>#1 t#C)#%  t1(## 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11))#%  t#T#)))1 (#5e#e#-5\'=1 @#K-)\'=11%p/)%=11% /\'A=11  /7%=1 #)\'M1 t1i#e#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}
        , "Sao_Paulo": {"data" : "+) T@i}3#8m#)#%  SAf#)5-z1%\'))%  \'#)5- 1f/)9% 1+#))b) %\'))%  %#)\'%  I#)9E 1#)5!# 1S#\')#%  S2%\'#)9E 1%#)\'%  %#)#B# 1 #)\'B#   #)9% 1%+)\'%  +\')7% 1j#)7) 1%#)\'^   #)5*# 1%#)%Y   #)5*# 1%#)%=   #)5b 1%#)#:#   #)5^ 1%#)%M   #)5v 1%#)%f   #)5r 1%#)%E   #)5*# 1%#)#B#   +/5M= 1\'\'/%^=  %#)%M   #)59 1%#)%b   #)59 1%#)\'%   #)5M 1%#)%v   #)5- 1%#)%2#   \'/5A= 1 7/%^=  3#)7- 1%#)5n 1%#)7) 1%#)5b 1%#)75 1%#)%*#   #/5A= 1%G/5^= 1G//%^=  %#/%z=  %\'/%^=  %#/%z=  %//%^=  \'#/7%= 1 "}
        , "Grenada": {"data" : ")America/Puerto_Rico"}, "Grand_Turk": {"data" : "+- e4V8?#4k#)#%  a>DLA#|)%%  t#y%)#%  t9Se#-5\'=1 D##-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1 C)\'A1 d#/)\'M9 t18%e#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}, "Montserrat": {"data" : ")America/Puerto_Rico"}, "Guadeloupe": {"data" : ")America/Puerto_Rico"}, "Panama": {"data" : "+\' (2H&C#4k#)#%  8R$.C#l))z  t# "}, "Guatemala": {"data" : "+% L0gFG#Hm#)55  (#AF%#)7*# 1%#)%&#  E#)+v 1 #)3z  A#)\'!# 1 #)3=  ^#))># 1 #)5%   "}, "Guyana": {"data"
        : "++ (R]L9#,m#)1%  d#3)\'%  $qi&9#]%)1%  S#h)\':#) d# "}, "Swift_Current": {"data" : "++ iNR,O#qk#)3%  8#5U#))Y11 #)52#1 &##)%E11-# 1Y!%1 #)3>#1 \'-)\'=1 8#9\'# 1Y!%1 #-3\'=1 %#/)A=11 #/5A=1 %K-)\'=11KK-3\'=1 =)#%  8#5=#-)\'=11 #-5\'=1 )+-)\'=11+#-5\'=1 %\'-3\'=1 O-)\'=1 (## "}, "Puerto_Rico": {"data" : "+) 4T{0=#Xk#)\'6#&# d#u#)+-  d5(#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  d# "}, "Moncton": {"data" : "+3 }<ys;#ui#)9E  t#p)-^  d)b#))Y11 #)52#1 `)#%  dA +/-A=)1++/3A=) %+/-%=)1++/3%=) %#)+2#)1 +/3v9) \'#)+n)1%#)+1)1\')#%  d5(##))Y11 #)52#1 &##)%E11-# 1Y!%1 #)3>#1 \')#%  d5?+/3v9)  #)+1)150#-)\'=110#K-3\'=1 %`-5\'=1 \')#%  d58## 1Y!%1 #)3>#1 :#S-)\'=11SH#-5\'=1 pp/)%=11U)#%  d1(%0#-)\'=11``-5\'=1 vW/)%=ec6#1WW-5\'=ec6# \')#%  d1L#H#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}
        , "Danmarkshavn": {"data" : "+) 4m*!)#@m#)/6#  S#m%))91 S5//\')%=)1+# 5%) %d%3\'=) [ %\'\'=)1^ %5\'=) #)#%   # "}, "Fort_Wayne": {"data" : ")America/Indiana/Indianapolis"}, "Nome": {"data" : "+3 RT4et#4i#)5nT**cK }LDLh#L#)1r&# y##q#)#%  y#5(#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  y##x))%  y##+)#%  y#=(## 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11-)5>#1 X#-de#-5\'=1 D##-%\'=11%K-)\'=11-)7>#  X#9de#-5\'=1 D##-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}, "Porto_Velho": {"data"
        : "+\' 4T6c;#8m#)#%  dvf#)5-z1%\'))%  \'#)5- 1f/)9% 1+#))b) %\'))%  %#)\'%  I#)9E 1%#)\'%  %#)#B# 1 #)\'B#   #)9% 1%+)\'%  +\')7% 1j#)7) 1%#)\'^   #)5*# 1%#)%Y   #)5*# 1%#)%=   #)5b 1#)3Q  d# "}, "Cuiaba": {"data" : "+) i6.$9#8m#)#%  d{#f#)5-z1%\'))%  \'#)5- 1f/)9% 1+#))b) %\'))%  %#)\'%  I#)9E 1%#)\'%  %#)#B# 1 #)\'B#   #)9% 1%+)\'%  +\')7% 1j#)7) 1%#)\'^   #)5*# 1%#)%Y   #)5*# 1%#)%=   #)5b 1%#)#:#   #)5^ 1%#)%M   #)5v 1%#)%f   #)5r 1%#)%E   #)5*# 1%#)#B#   +/5M= 1\'\'/%^=  %#)%M   #)59 1%#)%b   #)59 1%#)\'%   #)5M 1%#)%v   #)5- 1%#)%2#   \'/5A= 1 7/%^=  3#)7- 1%#)5n 1#)3&#  d#\')5%  dY/7/%^=  /#)5n 1%#)7) 1%#)5b 1%#)75 1%#)%*#   #/5A= 1%G/5^= 1G//%^=  %#/%z=  %\'/%^=  %#/%z=  %//%^=  \'#/7%= 1 "}
        , "Pangnirtung": {"data" : ")America/Iqaluit"}, "Kralendijk": {"data" : ")America/Curacao"}, "Indiana/Vincennes": {"data" : "+1 ]i:iE#ui# 7jV# (#5R#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  (#E #-)\'=11 #-3\'=1 =\'-)\'=11\';-3\'=1 3#)+% 1%?-)\'=11/#-5\'=1 %#-3\'=1 %\'-5\'=1 \')).#1 t#7)#%  t1(## 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11))#%  t#T#)))1 (#5e#e#-5\'=1 @#K-)\'=11%p/)%=11% /\'A=11  /7%=1 #)711 t1i#e#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}, "Indiana/Indianapolis": {"data" : "+7 yogLE#ui# 7jV# (#)R#\'-\'\'=11\'\'-5\'=1 \')#%  (#)v#)-z11 W-3\'=1 Q)#%  (#5(#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  (#-7#)-z11 W-3\'=1 CC-)\'=11\'))&#1 t#+)3:#1 (##\'))2#1 t#O)#%  t1(## 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11))#%  t#T#)#%  t5e#e#-5\'=1 @#K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}
        , "Belize": {"data" : "+% ],uuE#0m#))%  (#M9$#/5)= )|$#/%E=   #)-6# 1-# 1Y!%1 #)9b  )t/5)= )pt/%E=  5#)95 1%#)%E  A#)9j 1%#)%Q   "}, "Indiana/Marengo": {"data" : "+3 }uXPE#ui# 7jV# (#5R#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 ;)#%  (#1 #-)\'=11 #-3\'=1 -;-)\'=11;;-3\'=1 \'))>#1 t#C)#%  t5(## 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911#)#911(###)52#1 t5?e#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11I)#%  t#@#)#%  t5e#e#-5\'=1 @#K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}, "Anguilla": {"data" : ")America/Puerto_Rico"}
        , "Argentina/Ushuaia": {"data" : "+5 <iZ]=#Dk#)5B#  (_2i;#0#)+%  d#K)9%  dn #)9% 1%#))%   #)5^ 1%C)\'%  C?)7% 1%#)/% 1%#)-^   #)5^ 1)#)1%   #)5^ 1-#)\'%   #)5% 1f#)5%   #)9^ 1%+)\'%  ++)5^ 1%#)))   \'/5%= 1 \'/)%=  #)55  SA+\'/5%= 1 \'/)%=  5#)#!# 1 #)+%  Y#)9% 1%3/\'%=  3//5^= 1=#/5%= 1#)5-  d-K3/\'%=  9#/5%= 1%#)\'-  #)\'-  S#3)+>#  d##)-r  S13#)\'-  =#)9># 1%\'/\'^=  \'#/5^= 1#)5j  S# "}, "Santiago": {"data" : "+= Dy00?#4k#)#%  Dy00?#t)#I  t#;)/%  Dy00?#+)3I  d#\')/%  Dy00?#C)3%  t) 3)3% 1/3))%  #)3%  d#K)-%  t##)1%  d#3)/^ 1d##)1:# 1t#\'))%  t##)+v!% dR#p3))%  V## 7-A1%# \'>#9  # 7!#A1%# \':#9 %# \'Y9 \'+\'5E=A1 [\'\'E=9 W# 3>#A1%W\'5E=A1 # )Q9 %+\'\'E=9 +\'\'5E=A1%# 3bA1%7\'\'E=9 7;\'5E=A1 # \'>#9 %#\'\'E=9  # 32#A1%# )19  O\'5E=A1K?\'\'E=9 %# \'>#9 %#\'\'E=9 %#\')%=9 %#\'+)=9  #\'1b=A1%+\')!#=9 ++\'3)=A1)+\'+E=9 ++\'1E=A1% \'))=9  +\'3)=A1%#\'3E=A1% \'3)=A1 "}
        , "Argentina/Catamarca": {"data" : "+9 T}k*=#Dk#)5B#  (_2i;#0#)+%  d#K)9%  dn #)9% 1%#))%   #)5^ 1%C)\'%  C?)7% 1%#)/% 1%#)-^   #)5^ 1)#)1%   #)5^ 1-#)\'%   #)5% 1f#)5%   #)9^ 1%+)\'%  ++)5^ 1%#)))   \'/5%= 1 \'/)%=  #)55  S=+\'/5%= 1 \'/)%=  5#)#!# 1 #)+%  Y#)9% 1%3/\'%=  3//5^= 1%)\'-  d##)5r  S1/#)9% 1%3/\'%=  3//5^= 1=#/5%= 1#)5-  d-K3/\'%=  9#/5%= 1%#)\'-  #)\'-  S#3)-%  d##)-r  S13#)\'-  =#)9># 1%\'/\'^=  \'#/5^= 1#)5j  S# "}, "Argentina/ComodRivadavia": {"data" : ")America/Argentina/Catamarca"}
        , "Boise": {"data" : "++ H6*wQ#ui# 7jg# H#)R#\'-\'\'=11\'\'-5\'=1 3)+U1 8#A7\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911#)#%  8###)%-1 8#A?e#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}, "Creston": {"data" : ")America/Phoenix"}, "Miquelon": {"data" : "+) u${$9#,m#)+^  d#$\')+%  S#?)#%  S5WS-)\'=11SH#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}, "Jamaica": {"data" : "++ a>DLA#4k#)#%  a>DLA#|)%%  t#e%)#%  t5?e#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11))#%  t# "}
        , "Buenos_Aires": {"data" : ")America/Argentina/Buenos_Aires"}, "Rankin_Inlet": {"data" : "+)  #,q#)#%  (#5S# 1Y!%1 #)3>#1 2#[-)\'=11[P#-5\'=1 pp/)%=119)5:#1 t#\'))%9 (#54#S-)\'=11SH#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}, "Toronto": {"data" : "+- ],y!C#Hk#)#%  t)!##))Y11 #)52#1 \')#%  tU #)\'>#&%1 #)5.#  %#)+)11 #)3.#  %#)+^11 #)3^1 %\'/+A=11\'3/3^=1 +//+%=11 K/3*#=1 GG/)*#=11%+-)\'=11+\'-3\'=1 /1%E1 t5(##))Y11 #)52#1 &##)%E11-# 1Y!%1 #)3>#1 \')#%  tIC+-)\'=115\'-3\'=1  #-)\'=11%+-)\'= 1+\'-3\'=  %#-7\'=  %$#-)\'=11$##-7\'=1 %7-3\'=1 %d-5\'=1 \')#%  t=<## 1Y!%1 #)3>#1 :#S-)\'=11SH#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}
        , "Eirunepe": {"data" : "+/ yR(}=#8m#)#%  tvf#)5-z1%\'))%  \'#)5- 1f/)9% 1+#))b) %\'))%  %#)\'%  I#)9E 1%#)\'%  %#)#B# 1 #)\'B#   #)9% 1%+)\'%  +\')7% 1j#)7) 1%#)\'^   #)5*# 1%#)%Y   #)5*# 1%#)%=   #)5b 1#)3Q  t#7)36#  t5\'#)%E   #)5*# 1%#)#B#   +/5M= 1\'\'/%^=  %)3z  t#[)-&#  d#7)7I  t# "}, "Dawson": {"data" : "+- 4H$u[#]k#)1r  X#=j#))Y11 #)52#1 %#)+*#11 #)7%  !##)%E11-# 1Y!%1 #)3>#1 t)#%  X#) #-)\'= A #-5\'=1 C)56#  H##?)#%  H#=T## 1Y!%1 #)3>#1 :#S-)\'=11SH#-5\'=1 pp/)%=11% /\'A=11  /7%=1 W)7%  8## "}
        , "Argentina/Mendoza": {"data" : "+A u0eg=#Dk#)5B#  (_2i;#0#)+%  d#K)9%  dn #)9% 1%#))%   #)5^ 1%C)\'%  C?)7% 1%#)/% 1%#)-^   #)5^ 1)#)1%   #)5^ 1-#)\'%   #)5% 1f#)5%   #)9^ 1%+)\'%  ++)5^ 1%#)))   \'/5%= 1 \'/)%=  #)55  S=+\'/5%= 1 \'/)%=  5#)#!# 1 #)+%  Y#)9% 1%3/\'%=  3//5^= 1))\'1  d##)5^ 1d#\')\'%  d##)5^ 1d#\')\'%  d##)5j  S13#)9% 1%3/\'%=  3//5^= 1=#/5%= 1#)5-  d-K3/\'%=  9#/5%= 1%#)\'-  #)\'-  S#3)+!#  d##)3.#  S13#)\'-  =#)9># 1%\'/\'^=  \'#/5^= 1#)5j  S# "}, "Nassau": {"data" : ")America/Toronto"}
        , "Vancouver": {"data" : "+\' <@:FU#yi#)#%  H#EN##))Y11 #)52#1 &##)%E11-# 1Y!%1 #)3>#1 %i#-)\'=11i##)3:#1 %[-3\'=1 %y#-5\'=1 n)#%  H#5WS-)\'=11SH#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}, "Noronha": {"data" : "+/ e}cy-#8m#)#%  C*#f#)5-z1%\'))%  \'#)5- 1f/)9% 1+#))b) %\'))%  %#)\'%  I#)9E 1%#)\'%  %#)#B# 1 #)\'B#   #)9% 1%+)\'%  +\')7% 1j#)7) 1%#)\'^   #)5*# 1%#)%Y   #)5*# 1%#)%=   #)5b 1%#)#:#   #)5^ 1%#)%M   #)5v 1#)3f  C#G)3>#  C9\'#)\'%   #)5M 1%#)%v   #)5- 1%#)%2#   \'/5A= 1%)5^  C#\')3U  C1\'#)%2#   \'/5A= 1 7/%^=  3#)7- 1#)5%  C# "}
        , "Argentina/Cordoba": {"data" : "+3 (_2i;#Dk#)5B#  (_2i;#0#)+%  d#K)9%  dn #)9% 1%#))%   #)5^ 1%C)\'%  C?)7% 1%#)/% 1%#)-^   #)5^ 1)#)1%   #)5^ 1-#)\'%   #)5% 1f#)5%   #)9^ 1%+)\'%  ++)5^ 1%#)))   \'/5%= 1 \'/)%=  #)55  S=+\'/5%= 1 \'/)%=  5#)#!# 1 #)+%  Y#)9% 1%3/\'%=  3//5^= 1%)\'-  d##)5r  S1/#)9% 1%3/\'%=  3//5^= 1=#/5%= 1#)5-  d-K3/\'%=  9#/5%= 1%#)\'-  #)\'-  S5\'#/5%= 1%#)\'-  =#)9># 1%\'/\'^=  \'#/5^= 1 "}, "Argentina/La_Rioja": {"data" : "+9 Hw>@=#Dk#)5B#  (_2i;#0#)+%  d#K)9%  dn #)9% 1%#))%   #)5^ 1%C)\'%  C?)7% 1%#)/% 1%#)-^   #)5^ 1)#)1%   #)5^ 1-#)\'%   #)5% 1f#)5%   #)9^ 1%+)\'%  ++)5^ 1%#)))   \'/5%= 1 \'/)%=  #)55  S=+\'/5%= 1 \'/)%=  5#)#!# 1 #)+%  Y#)9% 1%3/\'%=  3//5^= 1%)\'%  d##)+=  S1/#)9% 1%3/\'%=  3//5^= 1=#/5%= 1#)5-  d-K3/\'%=  9#/5%= 1%#)\'-  #)\'-  S#3)-%  d##)-r  S13#)\'-  =#)9># 1%\'/\'^=  \'#/5^= 1#)5j  S# "}
        , "Regina": {"data" : "+\' }8.JM#qk#)3%  8#fU#))Y11 #)52#1 Q3/+%= 133/5%=  -3/)A= 13#/5A=  %#/5%=  %+/5A=  %#)%E11-# 1Y!%1 #-3\'=1 %#/)A=11 #/5A=1 %K-)\'=11KK-3\'=1 )#-)\'=11 #-5\'=1 \'-)\'=1 (## "}, "St_Vincent": {"data" : ")America/Puerto_Rico"}, "Scoresbysund": {"data" : "+) i{]c)#@m#)/6#  C#m%))91 C1//7)%=11+#15%1 %d53\'=1 [ 5\'\'=11#)\':#  313/\')%=)1\'d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Louisville": {"data" : ")America/Kentucky/Louisville"}, "Aruba": {"data" : ")America/Puerto_Rico"}, "North_Dakota/Center":
        {"data" : "+\' yF*eK#ui# 7j_# 8#MR#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11%p/)%=11Y)5*#1 (#5,#e#-5\'=1 @#K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}, "Thule": {"data" : "+% 8&Fg=#@m#)/6#  d9:\'\'-\'\'=11\'\'-3\'=1 %W/)%=11WW-5\'=1 % /\'A=11  /7%=1  "}, "Argentina/San_Juan": {"data" : "+9 $(ia=#Dk#)5B#  (_2i;#0#)+%  d#K)9%  dn #)9% 1%#))%   #)5^ 1%C)\'%  C?)7% 1%#)/% 1%#)-^   #)5^ 1)#)1%   #)5^ 1-#)\'%   #)5% 1f#)5%   #)9^ 1%+)\'%  ++)5^ 1%#)))   \'/5%= 1 \'/)%=  #)55  S=+\'/5%= 1 \'/)%=  5#)#!# 1 #)+%  Y#)9% 1%3/\'%=  3//5^= 1%)\'%  d##)+=  S1/#)9% 1%3/\'%=  3//5^= 1=#/5%= 1#)5-  d-K3/\'%=  9#/5%= 1%#)\'-  #)\'-  S#3)+B#  d##)/*#  S13#)\'-  =#)9># 1%\'/\'^=  \'#/5^= 1#)5j  S# "}
        , "Rio_Branco": {"data" : "++ PwaR=#8m#)#%  tvf#)5-z1%\'))%  \'#)5- 1f/)9% 1+#))b) %\'))%  %#)\'%  I#)9E 1%#)\'%  %#)#B# 1 #)\'B#   #)9% 1%+)\'%  +\')7% 1j#)7) 1%#)\'^   #)5*# 1%#)%Y   #)5*# 1%#)%=   #)5b 1#)3Q  t#t)-&#  d#7)7I  t# "}, "Los_Angeles": {"data" : "+) 0Z2BS#ui# 7jg# H#5R#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  H#5)#)\'Y4!28\'1%#)#%1 %d-)\'=)1dO-3\'=1 %3-5\'=1 \')#%  H#I|# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}, "St_Thomas": {"data"
        : ")America/Puerto_Rico"}, "Cordoba": {"data" : ")America/Argentina/Cordoba"}, "Cancun": {"data" : "++ XogXE#Xm# #%Q (##X%)9!#  t1D##)%Q 1 #)/>#  !%3/)%=1133-5\'=1 ))1)1 (#A,%#)%Q 1 #)/>#  !%3/)%=1133-5\'=1 %#/+%=11 #-3\'=1 %t/)%=11tt-5\'=1 =)%%1 t# "}, "Coral_Harbour": {"data" : ")America/Panama"}, "Ensenada": {"data" : ")America/Tijuana"}, "Maceio": {"data" : "+3 <0:_/#8m#)#%  S*#f#)5-z1%\'))%  \'#)5- 1f/)9% 1+#))b) %\'))%  %#)\'%  I#)9E 1%#)\'%  %#)#B# 1 #)\'B#   #)9% 1%+)\'%  +\')7% 1j#)7) 1%#)\'^   #)5*# 1%#)%Y   #)5*# 1%#)%=   #)5b 1%#)#:#   #)5^ 1%#)%M   #)5v 1#)3f  S#7)5U  S5+#)#B#   +/5M= 1\'\'/%^=  %#)%M   #)59 1#)31  S#/)3>#  S9\'#)\'%   #)5M 1%#)%v   #)5- 1%#)%2#   \'/5A= 1%)5z  S#\')3U  S1\'#)%2#   \'/5A= 1 7/%^=  3#)7- 1#)5%  S# "}
        , "Sitka": {"data" : "+1 FF,2&##4i#)5nB# ,]L![#L#)1r&# H##q#)#%  H#5(#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  H##$#)#%  H#=(## 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11-)5>#1 X#-de#-5\'=1 D##-%\'=11%K-)\'=11-)7>#  X#9de#-5\'=1 D##-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}, "Denver": {"data" : "+- PNHPM#ui# 7j_# 8#)R#\'-\'\'=11\'\'-5\'=1 \')#%  8#- \'-\'\'=11\'#-5\'=1 %#)+z1 x)#%  8#5(#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  8#10#\'-\'\'=11 #)+z1 w#\'-)\'=11\'\'-5\'=1 \')#%  8#I|# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}
        , "Porto_Acre": {"data" : ")America/Rio_Branco"}, "Cayman": {"data" : ")America/Panama"}, "Nipigon": {"data" : ")America/Toronto"}, "Thunder_Bay": {"data" : ")America/Toronto"}, "Havana": {"data" : "+\' PZB_C#4k#)#%  0ga_C#T#)/n&# tc#-#)-I 1 #)5I  Q+/-%= 1++/3%=  -\'/-%= 1\'\'/3%=  n#)-% 1 #)3>#  %#)+:# 1 #)5)  %#))A 1 \'/3A=   #))Y 1%C-)\'= 1C+-5\'=  %+)5A  %+-5\'=  %#)+= 1 S/5A=  O\'/\'^= 1%3/+5= 1%//\'Y= 1%?/)%= 1;375A=  %#159  %#15Q  %\'5\'\'= 1\'755\'=  //7)%= 1%#5\'\'= 1)355\'=  /#7\'A= 1%#7\'^= 1%\'7\'A= 1%#7\'^= 1 #17U  %#1)% 1  77%=  % 7\'A= 1 "}
        , "Campo_Grande": {"data" : "+% (o_c7#8m#)#%  dN%f#)5-z1%\'))%  \'#)5- 1f/)9% 1+#))b) %\'))%  %#)\'%  I#)9E 1%#)\'%  %#)#B# 1 #)\'B#   #)9% 1%+)\'%  +\')7% 1j#)7) 1%#)\'^   #)5*# 1%#)%Y   #)5*# 1%#)%=   #)5b 1%#)#:#   #)5^ 1%#)%M   #)5v 1%#)%f   #)5r 1%#)%E   #)5*# 1%#)#B#   +/5M= 1\'\'/%^=  %#)%M   #)59 1%#)%b   #)59 1%#)\'%   #)5M 1%#)%v   #)5- 1%#)%2#   \'/5A= 1 7/%^=  3#)7- 1%#)5n 1%#)7) 1%#)5b 1%#)75 1%#)%*#   #/5A= 1%G/5^= 1G//%^=  %#/%z=  %\'/%^=  %#/%z=  %//%^=  \'#/7%= 1 "}, "Rosario": {"data"
        : ")America/Argentina/Cordoba"}, "Cambridge_Bay": {"data" : "+-  #Pm#)#%  8#A\'#)+*#11 #)7%  !##)%E11-# 1Y!%1 #)3>#1 2#[-)\'=11[P#-5\'=1 pp/)%=11=)5B#1 (#-,#S-)\'=11SH#-5\'=1 pp/)%=119)5:#1 t##)75  (##\'))%9 8#54#S-)\'=11SH#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}, "Fortaleza": {"data" : "+/ 8wc81#8m#)#%  S*#f#)5-z1%\'))%  \'#)5- 1f/)9% 1+#))b) %\'))%  %#)\'%  I#)9E 1%#)\'%  %#)#B# 1 #)\'B#   #)9% 1%+)\'%  +\')7% 1j#)7) 1%#)\'^   #)5*# 1%#)%Y   #)5*# 1%#)%=   #)5b 1%#)#:#   #)5^ 1%#)%M   #)5v 1#)3f  S#G)3>#  S9\'#)\'%   #)5M 1%#)%v   #)5- 1%#)%2#   \'/5A= 1%)5z  S#\')3U  S1\'#)%2#   \'/5A= 1 7/%^=  3#)7- 1#)5%  S# "}
        , "Managua": {"data" : "+3 ]T}NE#4k#)#%  L,0PE#y#)-!#  (##e#)+%  t#+)%b  (#)1\'/\'b= 1\'\'/-!#%  S)#%A t##)3&#  (##\')#%  t#3)#%  (#9l\'/\'b= 1\'\'/-!#%  *##))I 1 #/5%=  %#))>#11 #/5%=)  "}, "Menominee": {"data" : "++ iV*kE#}i#)3j&# (#5J#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  (#1 #-)\'=11 #-3\'=1 r#-)\'=11 #-5\'=1 /))2#1 t#3)):#1 (#I8## 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}, "Halifax": {"data" : "+/ @J:];#ek#)-^  d)Y#))% 1 #)5%  +)#%  d) #))Y11 #)52#1 \')#%  dJ#/#))% 1 #)5%  1#)+E 1 #)1:#  %#)+9 1 \')35   #))># 1%+/+%= 1+#)31  %#)3^  %#)36#  %#)+b 1 #)3U  %#)+% 1 #)3.#  %//+A= 1/#)3E  %#)3-  %#)3^  %\'/3&#%   #)+% 1%#))># 1 #)5)  %#)+r 1 #)3b  %#)-) 1 #)3>#  %#)-% 1 #)3Y  %\'/+%= 1\'3/3&#%  +#)+6# 1%\'/+%= 1\'1%E1 d5(##))Y11 #)52#1 &##)%E11-# 1Y!%1 #)3>#1 \')#%  dIG3/3&#%  \'\'/+%= 15/-)\'=11//-3\'=1 )/-)\'=11//-3\'=1 )/-)\'=11//-3\'=1 -O-)\'=11OO-5\'=1 \')#%  d=<## 1Y!%1 #)3>#1 :#S-)\'=11SH#-5\'=1 pp/)%=11% /\'A=11  /7%"
        + "=1  "}, "Ojinaga": {"data" : "+7 HFoDM#Xm# #%Y 8##7)-I!% (##/)7^  8#)%#)+%!%1 #)5%  \'))%  (##m%)#%  (#1$%#)%Q 1 #)/>#  !%3/)%=1133-5\'=1 ))#%  (###/)%=9 8#A,%#)%Q 1 #)/>#  !%3/)%=1133-5\'=1 %#/+%=11 #-3\'=1 %t/)%=11tt-5\'=1 Q)#%  8#1u#e#-5\'=1 pp/)%=11% /\'A=11  /7%=1 `)5>#1 (###)7>#  (#1H%e#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}, "Argentina/Tucuman": {"data" : "+7 Lu4};#Dk#)5B#  (_2i;#0#)+%  d#K)9%  dn #)9% 1%#))%   #)5^ 1%C)\'%  C?)7% 1%#)/% 1%#)-^   #)5^ 1)#)1%   #)5^ 1-#)\'%   #)5% 1f#)5%   #)9^ 1%+)\'%  ++)5^ 1%#)))   \'/5%= 1 \'/)%=  #)55  S=+\'/5%= 1 \'/)%=  5#)#!# 1 #)+%  Y#)9% 1%3/\'%=  3//5^= 1%)\'-  d##)5r  S1/#)9% 1%3/\'%=  3//5^= 1=#/5%= 1#)5-  d-K3/\'%=  9#/5%= 1%#)\'-  #)\'-  S#3)-%  d##)-U  S13#)\'-  =#)9># 1%\'/\'^=  \'#/5^= 1 "}
        , "Glace_Bay": {"data" : "+- HN:q9#ek#)-^  d5b#))Y11 #)52#1 &##)%E11-# 1Y!%1 #)3>#1 C)#%  d1?/-)\'=11//-3\'=1 )/-)\'=11//-3\'=1 #)#%  d#l)#%  d1d/-)\'=11//-3\'=1 -O-)\'=11OO-5\'=1 \')#%  d=<## 1Y!%1 #)3>#1 :#S-)\'=11SH#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}, "Lower_Princes": {"data" : ")America/Curacao"}, "Indiana/Petersburg": {"data" : "+1 8BmcE#ui# 7jV# (#5R#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 K)#%  (#1 #)+% 1 7-3\'=1 3C-)\'=11//-5\'=1 \'))*#1 t#\')5>#1 (#=x# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11E)5>#1 t#<#)))1 (#5e#e#-5\'=1 @#K-)\'=11%p/)%=11% /\'A=11  /7%=1 #)711 t1i#e#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}
        , "Montreal": {"data" : ")America/Toronto"}, "Mendoza": {"data" : ")America/Argentina/Mendoza"}, "Yakutat": {"data" : "+/ VoL6$##4i#)5n(8eJQ y2,{[#L#)1r&# X##q#)#%  X#5(#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  X##$#)#%  X#=(## 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11-)7>#  X#9de#-5\'=1 D##-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}, "Detroit": {"data" : "+5 Hg&mC#qk#)#%  (##K)+^1 t#4#)#%  t5(#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  t))#-)\'=11 #-3\'=1 p)-Yec6# t1|# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=111)#%  t#3)#%  t98## 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11#)#%  t##))2#1 t=Ce#-5\'=1 H##)#911%#-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}
        , "Santa_Isabel": {"data" : ")America/Tijuana"}, "Merida": {"data" : "+) qoq4G#Xm# #%Q (##X%)9!#  t#\')9)  (#AH##)%Q 1 #)/>#  !%3/)%=1133-5\'=1 %#/+%=11 #-3\'=1 %t/)%=11tt-5\'=1  "}, "Bahia_Banderas": {"data" : "+3 eL&VM#Xm# #%Y 8##7)-I!% (##/)7^  8#)%#)+%!%1 #)5%  \'))%  (##K))&#  8##?)#Y  H##x)#%  8#At#)%Q 1 #)/>#  !%3/)%=1133-5\'=1 %#/+%=11 #-3\'=1 %t/)%=11tt-5\'=1 Q))11 (#1G#/+%=11 #-3\'=1 %t/)%=11tt-5\'=1  "}, "Matamoros": {"data" : "++ 0##Xm# #%Q (##u%)#%  (#-xe#-5\'=1 @#K-)\'=11%p/)%=11f)#%  (#Ae##)%Q 1 #)/>#  !%3/)%=1133-5\'=1 %#/+%=11 #-3\'=1 %t/)%=11tt-5\'=1 Q)#%  (#1u#e#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}
        , "Indiana/Vevay": {"data" : "+- @V}6E#ui# 7jV# (#5R#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 G))*#1 t#`)#%  t1(## 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11#)#%  t#L#)#%  t5e#e#-5\'=1 @#K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}, "St_Barthelemy": {"data" : ")America/Port_of_Spain"}, "Argentina/San_Luis": {"data" : "+A ](F6=#Dk#)5B#  (_2i;#0#)+%  d#K)9%  dn #)9% 1%#))%   #)5^ 1%C)\'%  C?)7% 1%#)/% 1%#)-^   #)5^ 1)#)1%   #)5^ 1-#)\'%   #)5% 1f#)5%   #)9^ 1%+)\'%  ++)5^ 1%#)))   \'/5%= 1 \'/)%=  #)55  S=+\'/5%= 1 \'/)%=  5#)#!# 1 #)+%  Y#)9% 1%3/\'%=  3//5^= 1))#% 1S##)\'Y  d##)5^ 1d#\')\'%  d##)-%  S#C)5- 1d#\')\'-  S#3)+B#  d##)/*#  S13#)\'-  =#)9># 1%\'/\'^=  \'#/5^= 1#)#v  d) \'/\'A=  +\'/5A= 1\')5M  S# "}
        , "Boa_Vista": {"data" : "++ yZ@!;#8m#)#%  dvf#)5-z1%\'))%  \'#)5- 1f/)9% 1+#))b) %\'))%  %#)\'%  I#)9E 1%#)\'%  %#)#B# 1 #)\'B#   #)9% 1%+)\'%  +\')7% 1j#)7) 1%#)\'^   #)5*# 1%#)%Y   #)5*# 1%#)%=   #)5b 1#)3Q  d#O)3>#  d9\'#)\'%   #)5M 1%#)%v   #)5- 1%#)%2#   \'/5A= 1%)5^  d# "}, "Indiana/Tell_City": {"data" : "+1 ]ycXE#ui# 7jV# (#5R#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  (#1E#)+% 1 7-3\'=1 3?-)\'=11++-5\'=1 \')).#1 t#/)5:#1 (#1|# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=111))2#1 t1(## 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11))#%  t#T#)))1 (#5e#e#-5\'=1 @#K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}
        , "Metlakatla": {"data" : "+5 N:u{&##4i#)5n${w>S $ia4Y#L#)1r&# H##q#)#%  H#5(#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  H##$#)#%  H#=(## 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11-)5>#1 H##H#)7%1 X#1,%e#-5\'=1 pp/)%=11% /\'A=11  /7%=1 O)711 H##\')#r1 X#1<%e#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}, "Tortola": {"data" : ")America/Puerto_Rico"}, "Nuuk": {"data" : "+) 0c6*7#@m#)/6#  S#m%))91 S5//\')%=)1+# 5%) %d%3\'=) [ %\'\'=)1^ %5\'=) 4# 5:#) C-y#d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Argentina/Jujuy":
        {"data" : "+; Xc$!=#Dk#)5B#  (_2i;#0#)+%  d#K)9%  dn #)9% 1%#))%   #)5^ 1%C)\'%  C?)7% 1%#)/% 1%#)-^   #)5^ 1)#)1%   #)5^ 1-#)\'%   #)5% 1f#)5%   #)9^ 1%+)\'%  ++)5^ 1%#)))   \'/5%= 1 \'/)%=  #)55  S=+\'/5%= 1 \'/)%=  5#)#!# 1 #)+%  Y#)9% 1%3/\'%=  3//5^= 1))\'1  d##)56# 1d#\')\'f  d##)59 1S#\')#%  S13#)9% 1%3/\'%=  3//5^= 1=#/5%= 1#)5-  d-K3/\'%=  9#/5%= 1%#)\'-  #)\'-  S5\'#/5%= 1%#)\'-  =#)9># 1%\'/\'^=  \'#/5^= 1#)5j  S# "}, "North_Dakota/New_Salem": {"data" : "+\' iJ4gK#ui# 7j_# 8#MR#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11%p/)%=11-)5.#1 (#5X#e#-5\'=1 @#K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}
        , "Inuvik": {"data" : "+)  #yo#)#%  H#1C# 1Y!%1 #)3>#1 2#[-)\'=11[P#-5\'=1 2#-)\'=1 8#1P## 1Y!%1 #)3>#1 2#[-)\'=11[P#-5\'=1 .#)#%  8#=T## 1Y!%1 #)3>#1 :#S-)\'=11SH#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}, "Port_of_Spain": {"data" : ")America/Puerto_Rico"}, "New_York": {"data" : "+- eTwq?#ui# 7jN# t)R#\'-\'\'=11\'\'-5\'=1 \')#%  t1 #-\'\'=11 #-5\'=1 %}#-)\'=11}#L#-3\'=1 Q)#%  t5(#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  t50##-\'\'=11 #-5\'=1 %}#-)\'=11}#L#-3\'=1 %O-5\'=1 \')#%  tI|# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}
        , "Paramaribo": {"data" : "++ @B*o7#,m#)#%  m$Xo7#(#)#%  Pkwm7#K)5%  [#e#)5%  S# "}, "Manaus": {"data" : "++ eewq9#8m#)#%  dvf#)5-z1%\'))%  \'#)5- 1f/)9% 1+#))b) %\'))%  %#)\'%  I#)9E 1%#)\'%  %#)#B# 1 #)\'B#   #)9% 1%+)\'%  +\')7% 1j#)7) 1%#)\'^   #)5*# 1%#)%Y   #)5*# 1%#)%=   #)5b 1#)3Q  d#7)36#  d5\'#)%E   #)5*# 1%#)#B#   +/5M= 1\'\'/%^=  %)3z  d# "}, "Resolute": {"data" : "+-  #ao#)1B#  (#5+# 1Y!%1 #)3>#1 2#[-)\'=11[P#-5\'=1 pp/)%=119)5:#1 t#\'))%9 (#-4#S-)\'=11SH#-5\'=1 pp/)%=11#)5:#1 t#\')\'M9 (#1L#H#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}
        , "Curacao": {"data" : ")America/Puerto_Rico"}, "North_Dakota/Beulah": {"data" : "+\' ykmmK#ui# 7j_# 8#UR#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1 /)7=1 (#1u#e#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}, "Bogota": {"data" : "+\' ,$Ps?#yi#)\'U  ,$Ps?#@#)7!#  t)F\'#)+- 1%#)%=   "}, "Ciudad_Juarez": {"data" : "+7 q!6oM#Xm# #%Y 8##7)-I!% (##/)7^  8#)%#)+%!%1 #)5%  \'))%  (##m%)#%  (#1$%#)%Q 1 #)/>#  !%3/)%=1133-5\'=1 ))#%  (###/)%=9 8#A,%#)%Q 1 #)/>#  !%3/)%=1133-5\'=1 %#/+%=11 #-3\'=1 %t/)%=11tt-5\'=1 Q)#%  8#1u#e#-5\'=1 pp/)%=11% /\'A=11  /7%=1 `)5>#1 (###)7>#  8#1H%e#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}
        , "Adak": {"data" : "+3 wV8>p#4i#)5n8,ZNI XJ@sl#L#)1r&# y##q#)#%  y#5(#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  y##x))%  y##+)#%  y#=(## 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11-)5>#1 i#-de#-5\'=1 D##-%\'=11%K-)\'=11-)7>#  i#9de#-5\'=1 D##-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}, "Caracas": {"data" : "+- Te.B=#4k#)#%  e0}@=#|)%Q  l#@%)#%  d#q#)9E9 l#G)+%5 d# "}, "Mazatlan": {"data" : "+1 TiTmM#Xm# #%Y 8##7)-I!% (##/)7^  8#)%#)+%!%1 #)5%  \'))%  (##K))&#  8##?)#Y  H##x)#%  8#At#)%Q 1 #)/>#  !%3/)%=1133-5\'=1 %#/+%=11 #-3\'=1 %t/)%=11tt-5\'=1  "}
        , "St_Kitts": {"data" : ")America/Puerto_Rico"}, "Argentina/Salta": {"data" : "+5 D]2$=#Dk#)5B#  (_2i;#0#)+%  d#K)9%  dn #)9% 1%#))%   #)5^ 1%C)\'%  C?)7% 1%#)/% 1%#)-^   #)5^ 1)#)1%   #)5^ 1-#)\'%   #)5% 1f#)5%   #)9^ 1%+)\'%  ++)5^ 1%#)))   \'/5%= 1 \'/)%=  #)55  S=+\'/5%= 1 \'/)%=  5#)#!# 1 #)+%  Y#)9% 1%3/\'%=  3//5^= 1%)\'-  d##)5r  S1/#)9% 1%3/\'%=  3//5^= 1=#/5%= 1#)5-  d-K3/\'%=  9#/5%= 1%#)\'-  #)\'-  S5\'#/5%= 1%#)\'-  =#)9># 1%\'/\'^=  \'#/5^= 1#)5j  S# "}, "Mexico_City": {"data" : "+/ D}s8K#Xm# #%Y 8##7)-I!% (##/)7^  8#)%#)+%!%1 #)5%  \'))%  (#Y\'#)+%!%1 #)5%  A#)%5 1 #)-*#  %#)9E 1%#))%  )#)9b 1%#)+%  9#)%Q 1 #)/>#  !%3/)%=1133-5\'=1 %#/+%=11 #-3\'=1 #)3>#1 (##\')%r  (#1\'#/+%=11 #-3\'=1 %t/)%=11tt-5\'=1  "}
        , "Edmonton": {"data" : "+\' }8*@Q#uk#)3%  8#UQ\'/)A=11\'#)52#1 %#)+2#1 %/-)\'=11/#-5\'=1 %+-3\'=1 n#)%E11-# 1Y!%1 #-3\'=1 )#-)\'=11 #-3\'=1 *#[-)\'=11[P#-5\'=1 n)#%  8#5WS-)\'=11SH#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}, "Kentucky/Louisville": {"data" : "+3 ,DmDE#ui# 7jV# (#)R#\'-\'\'=11\'\'-5\'=1 +)#%  (#1 #)+%11 #)3%1 r#-)\'=11 #-3\'=1 \')#%  (#5(#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  (#=7#-)\'=11 #-3\'=1 5#-)\'=ec6#1 #)-)1 1O-)\'=11O7-3\'=1 %7-5\'=1 #)/!#1 t#?)#%  t5$## 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911#)#911(###)52#1 tA?e#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}
        , "Araguaina": {"data" : "+/ $aD@5#8m#)#%  S*#f#)5-z1%\'))%  \'#)5- 1f/)9% 1+#))b) %\'))%  %#)\'%  I#)9E 1%#)\'%  %#)#B# 1 #)\'B#   #)9% 1%+)\'%  +\')7% 1j#)7) 1%#)\'^   #)5*# 1%#)%Y   #)5*# 1%#)%=   #)5b 1%#)#:#   #)5^ 1%#)%M   #)5v 1#)3f  S#7)3Y  Sb+#)#B#   +/5M= 1\'\'/%^=  %#)%M   #)59 1%#)%b   #)59 1%#)\'%   #)5M 1%#)%v   #)5- 1%#)%2#   \'/5A= 1 7/%^=  3#)7- 1%#)5n 1#)3&#  S#G)5v  S13G/5^= 1G//%^=  %#/%z=  %\'/%^=  %)3%  S# "}, "Santo_Domingo": {"data" : "+- X_F}=#4k#)#%  T$F!?#u#))%&# t9J##)5># 1%#)%6#  )3-5\'= )/#)%v  %#)#r  %+)#v  #)52#  d#0#)5:#1 t-L#e#-5\'=1 @#K-)\'=11%p/)%=119)9-) d# "}
        , "Indiana/Knox": {"data" : "+/ (VBVE#ui# 7jV# (#5R#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 +)#%  (#5 [-)\'=11[?-3\'=1 %\'-5\'=1 %\'-3\'=1 %+-5\'=1 \')):#1 t#\')52#1 (#Al# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11%p/)%=11^)52#1 t#`)))1 (#5e#e#-5\'=1 @#K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}, "Indianapolis": {"data" : ")America/Indiana/Indianapolis"}, "Whitehorse": {"data" : "+- i>{yY#]k#)1r  X#=j#))Y11 #)52#1 %#)+*#11 #)7%  !##)%E11-# 1Y!%1 #)3>#1 t)#%  X#) #-)\'= A #-5\'=1 \')%2#  H##[)#%  H#=T## 1Y!%1 #)3>#1 :#S-)\'=11SH#-5\'=1 pp/)%=11% /\'A=11  /7%=1 W)7%  8## "}
        , "Yellowknife": {"data" : ")America/Edmonton"}, "Kentucky/Monticello": {"data" : "++ X:q2E#ui# 7jV# (#5R#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  (##|)#%  (#A$## 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11%p/)%=119)5:#1 t5L#e#-5\'=1 @#K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}, "Asuncion": {"data" : "++ 8VgB9#4k#)#%  8VgB9#m#)5I  d#m#)5%  S#+))%  dz%W)5% 1W/)\'%  %S))%  +#)5z 1%#)5% 1%#)59 1%#)\'%   #)55 1%#)\'B#   +)5% 1\'\'-%\'=  %#)\'%   7/5%= 13#-%\'=  %//\'%=  %+/)%=  +\'/3%= 1%7/5^= 133/\'A=  % /5%= 1 +/)A=  % /\'z=   "}
        , "Santarem": {"data" : "+) 4]Ne7#8m#)#%  dvf#)5-z1%\'))%  \'#)5- 1f/)9% 1+#))b) %\'))%  %#)\'%  I#)9E 1%#)\'%  %#)#B# 1 #)\'B#   #)9% 1%+)\'%  +\')7% 1j#)7) 1%#)\'^   #)5*# 1%#)%Y   #)5*# 1%#)%=   #)5b 1#)3Q  d#t)-&#  S# "}, "Antigua": {"data" : ")America/Puerto_Rico"}, "Virgin": {"data" : ")America/St_Thomas"}, "Winnipeg": {"data" : "+\' 8Z0oI#(k#)/b  (#&#:##))!# 1 #)3f  )#))Y11 #)52#1 n#)+b11 #)3.#1 5#)%E11-# 1Y!%1 #-3\'=1 %#)+Q11 #)5U1 %+-)\'=11++-3\'=1 %#)+%11 #)3>#1 %G-)\'=11G?-3\'=1 %#-5\'=1 %#-3\'=1 -#-)\'=11 #)3z1 -t5)\'=11te#55\'=1 ll7)%=11\')#%  (#5H#S-)\'=11SH#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}
        , "Recife": {"data" : "+/ m]4N/#8m#)#%  S*#f#)5-z1%\'))%  \'#)5- 1f/)9% 1+#))b) %\'))%  %#)\'%  I#)9E 1%#)\'%  %#)#B# 1 #)\'B#   #)9% 1%+)\'%  +\')7% 1j#)7) 1%#)\'^   #)5*# 1%#)%Y   #)5*# 1%#)%=   #)5b 1%#)#:#   #)5^ 1%#)%M   #)5v 1#)3f  S#G)3>#  S9\'#)\'%   #)5M 1%#)%v   #)5- 1%#)%2#   \'/5A= 1%)5^  S#\')3U  S1\'#)%2#   \'/5A= 1 7/%^=  3#)7- 1#)5%  S# "}, "Lima": {"data" : "+\' }PwPA#4k#)#%  ysuRA#l)/6#  tI>##)#% 1 #))%   \'-3\'= 1 \'/\'&#=  !%\')#% 1\'\'))%  -#)#% 1 #))%  1#)#% 1 #))%   "}, "Shiprock":
        {"data" : ")America/Denver"}, "Martinique": {"data" : "++ X_J*;#4k#)#%  X_J*;#x)+%  d#$\'))9 1d##)36#  d# "}, "Phoenix": {"data" : "+/ PsB$Q#ui# 7j_# 8#-R#\'-\'\'=11\'\'-5\'=1 !##)%E11+)#%ec6# 8###))%ec6# 8#%+#)%E11+)5%ec6# 8##$#)#%  8#1|# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=115)\'v  8## "}, "Goose_Bay": {"data" : "+5 T4sy9#yi#)#%  umw<7#P#)#%  umw<7) #))Y11 #)52#1 \')#%  umw<7#d)\'>#  [#\')#%  [1d`/+%=!%1``-5\'=!% %7/+E% 177/5)%  \')+M  [5(##))Y11 #)52#1 &##)%E11-# 1Y!%1 #)3>#1 \')#%  [=K7/+E% 177/5)%  53/+A=1133/5)=1 %T#-)\'=11T#C-3\'=1 %0#-5\'=1 r)\'^1 dE`T#-)\'=11T#C-3\'=1 %0#-5\'=1 %#/)%=ec6#1 p-5\'=ec6# l#/)%=ec6#A%h/)%=ec6#1%3/\'A=ec6#13//7%=ec6# \')7%  d1]#H#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}
        , "St_Johns": {"data" : "+1 umw<7#yi#)#%  umw<7)J##))A11 #)3f1 \')#%  umw<7) #))Y11 #)52#1 \')#%  umw<79+#))A11 #)3f1 )#)+5!%1 #)1Q!% %`/+%=!%1``-5\'=!% #)\'>#  [9d#)+5!%1 #)1Q!% %`/+%=!%1``-5\'=!% %7/+E% 177/5)%  \')+M  [5(##))Y11 #)52#1 &##)%E11-# 1Y!%1 #)3>#1 \')#%  [UK7/+E% 177/5)%  53/+A=1133/5)=1 %T#-)\'=11T#C-3\'=1 %0#-5\'=1 %#/)%=ec6#1 p-5\'=ec6# l#/)%=ec6#A%h/)%=ec6#1%3/\'A=ec6#13//7%=ec6# \')7%  [1]#H#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}, "Montevideo": {"data" : "+7 HoF&9#}k#)-I  HoF&9#S)+%  d#/)5%  [A +)5% )\'+))%  =7-5\'= )3?-)%=  +#)5% )%#)52# )%#)1% )%#)9Y )#)9Y  SAC?-)%=   #)1% )%#)9Y )%#)\'Y  b#)+&# ) #)7^  %#)#f 1 #)\'9  #)#%  SA\'#)+&# ) #)7^  %#)#f 1 #)\'9  5#))1 1 #)3.#  -#)+2# ) #)9%  #)#%  S9/#))1 1 #)3.#  -#)+2# ) #)9%  )#))*# 1 #)-Y  #)#%  SI+#)+2# ) #)9%  )#))*# 1 #)-Y  )#))!# 1 #)/b  )#)#U 9 #)\'I ) #)3%   #)9z 1#)#%  S9+#))!# 1 #)/b  )#)#U 9 #)\'I ) #)3%   #)9z 1#)\'I  S9+#))!# 1 #)/b  )#)#U 9 #)\'I ) #)3%   #)9z 1#)9z  S:#+#))!# 1 #)/b  )#)#U 9 #)\'I ) #)3%  "
        + " #)9z 1%#)\'>#  %#)9n 1%#)\'9   #)91 1%\'/\'%=  \'#)9f 1%#)):# 1%#)\'b  =#)9Y 1%#)%6#   #)9M 1%#)\'5   #)5:# 1%#)%*#   \'/5v= 1 \'/\'%=   #)5j 1%#)%6#  M#)3n 1%#)\'2#1  #)5E11%G/\'A=1 GC/5%=11 "}, "St_Lucia": {"data" : ")America/Puerto_Rico"}, "Knox_IN": {"data" : ")America/Indiana/Knox"}, "Chicago": {"data" : "+1 DXLkE#ui# 7jV# (#)R#\'-\'\'=11\'\'-5\'=1 \')#%  (#5 #)-U11 \'-5\'=1  #-\'\'=11%y#-)\'=11y#H#-3\'=1 j)\'%1 t##)7^1 (#1d\'-5\'=1  #-\'\'=11%y#-)\'=11y#H#-3\'=1 Q)#%  (#5(#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  (#50#\'-5\'=1  #-\'\'=11%y#-)\'=11y#H#-3\'=1 %O-5\'=1 \')#%  (#I|# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}
        , "Chihuahua": {"data" : "+3 $T:gM#Xm# #%Y 8##7)-I!% (##/)7^  8#)%#)+%!%1 #)5%  \'))%  (##m%)#%  (#1$%#)%Q 1 #)/>#  !%3/)%=1133-5\'=1 ))#%  (###/)%=9 8#A,%#)%Q 1 #)/>#  !%3/)%=1133-5\'=1 %#/+%=11 #-3\'=1 %t/)%=11tt-5\'=1 #)5>#1 (## "}, "La_Paz": {"data" : "+) qc.Z=#4k#)#%  qc.Z=#m#)5^ 1qc.Z=#\')\'v  d# "}, "Blanc-Sablon": {"data" : ")America/Puerto_Rico"}, "Catamarca": {"data" : ")America/Argentina/Catamarca"}, "Tijuana": {"data" : "+G yo**S#Xm# #%Y 8##+)#%  H##/)-I!% 8##/)7^  H##\'))% 1H###)3>#  H##O))&# 1H##/ 1Y!%1H###)7Q  H##/))5 1H##\')#Y  H##7)#%  H#-7#)#%1 %d-)\'=)1dO-3\'=1 #)#%  H##`)#%  H#1Ge#-5\'=1 D##-%\'=11%K-)\'=11%p/)%=11I)#%  H#9$%#)%Q 1 #)/>#  !%3/)%=1133-5\'=1 %#/+%=11 #-3\'=1 #)#%  H#-P#e#-5\'=1 @#K-)\'=11%p/)%=111)%r  H#1\'#/+%=11 #-3\'=1 %t/)%=11tt-5\'=1 Q)#%  H#1u#e#-5\'=1 pp/)%=11% /\'A=11  /7%=1  "}
        , "Barbados": {"data" : "+) q.$k9#,m#)16#  d9B## )nI1 # 1B#Q %# +)I1 # 35Q %# )II) # 3IQ #)#%  d1\'# +)I1 # 35Q %# )II) # 3IQ \')#%  d=\'# )II) # 3IQ J##)-Q11 \'/5%=1  +/)^=11\'#)3>#1 %#)3*#1  "}, "Atka": {"data" : ")America/Adak"}, "Anchorage": {"data" : "+1 cL0&|#4i#)5n]&VBO mTH.b#L#)1r&# i##q#)#%  i#=(#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=119))%  i##+)#%  i#=(## 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=11-)5>#1 X#-de#-5\'=1 D##-%\'=11%K-)\'=11-)7>#  X#9de#-5\'=1 D##-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}
        , "Port-au-Prince": {"data" : "+\' 4]FP?#4k#)#%  (oVN?#4#)#&#&# tMs%#)+A 1%/-)\'= 133-5\'=  %G7)%=)1GG55\'=) A\'/)%= 1\'\'-5\'=  9//\'A=11///7%=1 ) /\'A=11  /7%=1  "}, "Rainy_River": {"data" : ")America/Winnipeg"}, "Cayenne": {"data" : "+\' uu.67#,m#)/%  d#L%)5%  S# "}, "Tegucigalpa": {"data" : "+% u}2cE#Tm#))%  (#1s%\'/+%= 1\'\'-3\'=  j#/+%= 1 #/1%%   "}, "Juneau": {"data" : "+5 20oB&##4i#)5nDFu!S @sgmY#L#)1r&# H##q#)#%  H#5(#\'-\'\'=11\'\'-5\'=1 !##)%E11-# 1Y!%1 #)3>#1 \')#%  H##$#)#%  H#=(## 1Y!%1 #)3>#1 ze#-5\'=1 e#;-)\'=11%#)#911%#-%\'=11%K-)\'=119))2#1 X#-We#-5\'=1 D##-%\'=11%K-)\'=119)5.#1 H#-We#-5\'=1 D##-%\'=11%K-)\'=11-)5>#1 X#-de#-5\'=1 D##-%\'=11%K-)\'=11-)7>#  X#9de#-5\'=1 D##-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}
        , "Marigot": {"data" : ")America/Port_of_Spain"}, "Atikokan": {"data" : ")America/Panama"}, "Argentina/Rio_Gallegos": {"data" : "+5 e]_o=#Dk#)5B#  (_2i;#0#)+%  d#K)9%  dn #)9% 1%#))%   #)5^ 1%C)\'%  C?)7% 1%#)/% 1%#)-^   #)5^ 1)#)1%   #)5^ 1-#)\'%   #)5% 1f#)5%   #)9^ 1%+)\'%  ++)5^ 1%#)))   \'/5%= 1 \'/)%=  #)55  SA+\'/5%= 1 \'/)%=  5#)#!# 1 #)+%  Y#)9% 1%3/\'%=  3//5^= 1=#/5%= 1#)5-  d-K3/\'%=  9#/5%= 1%#)\'-  #)\'-  S#3)-%  d##)-r  S13#)\'-  =#)9># 1%\'/\'^=  \'#/5^= 1#)5j  S# "}, "Dawson_Creek":
        {"data" : "+) D4oiS#yi#)#%  H#5N##))Y11 #)52#1 &##)%E11-# 1Y!%1 #)3>#1 +)#%  H#1\'i#-)\'=11i##)3:#1 %[-3\'=1 %y#-5\'=1 N#)1>#1 8## "}, "Dominica": {"data" : ")America/Puerto_Rico"}, "Fort_Nelson": {"data" : "+- aF,>U#yi#)#%  H#=N##))Y11 #)52#1 &##)%E11-# 1Y!%1 #)3>#1 %i#-)\'=11i##)3:#1 #)#%  H##\')#%  H#1\'i#-)\'=11i##)3:#1 %[-3\'=1 %y#-5\'=1 n)#%  H#5WS-)\'=11SH#-5\'=1 pp/)%=11% /\'A=11  /7%=1 C)\'A1 8## "}}, "Brazil": {"DeNoronha": {"data" : ")America/Noronha"}, "West": {"data" : ")America/Manaus"}
        , "Acre": {"data" : ")America/Rio_Branco"}, "East": {"data" : ")America/Sao_Paulo"}}, "Indian": {"Reunion": {"data" : ")Asia/Dubai"}, "Maldives": {"data" : "+\' *yug?#ii#)#%  *yug?#P\')#%  r# "}, "Christmas": {"data" : ")Asia/Bangkok"}, "Antananarivo": {"data" : ")Africa/Nairobi"}, "Chagos": {"data" : "+\' FJ6R?#yk#)#%  r#u\')#%  &## "}, "Mahe": {"data" : ")Asia/Dubai"}, "Mayotte": {"data" : ")Africa/Nairobi"}, "Kerguelen": {"data" : ")Indian/Maldives"}, "Mauritius": {"data" : "+% &{*@9#yk#)#%  b1:\'#)5I 1%#)\'v  *##-5\'=11%#-\'\'=1  "}
        , "Cocos": {"data" : ")Asia/Yangon"}, "Comoro": {"data" : ")Africa/Nairobi"}}, "Mexico": {"General": {"data" : ")America/Mexico_City"}, "BajaNorte": {"data" : ")America/Tijuana"}, "BajaSur": {"data" : ")America/Mazatlan"}}, "Antarctica": {"Macquarie": {"data" : "+3  #Xk#)7%  g##h)5%11g##\')%%  g#) #1#%11 #5\'\'=1 +1)%   #<#)\'*#  g#%7\'5\'\'=1 $#)#%  g#r0%\'7\'%=1 *%#75%=11%#7\':#=1  h55\'=11d+7\'A=1 %#5%\'=1 %C7\'%=1 %\'5\'\'=1 %+7\'%=1  #75^=11%/7\'^=1 /#75z=11%+55\'=11%C75%=11C[5\'\'=1 7#51\'=11% 75%=115#7)%=1 %#5\'\'=1 % 7)%=1 +)#% 1g##\')#%  g#-K 75%=119#5\'\'=1 % 7)%=1  "}
        , "Palmer": {"data" : "++  #Lq#)#%  d=+#)5%   #)9^ 1%+)\'%  ++)5^ 1%#)))   \'/5%= 1 \'/)%=  #)55  S1+\'/5%= 1 \'/)%=  5#)#!# 1 #)+%  C)+%  d&#K[\'\'E=9 W# 3>#A1%W\'5E=A1 # )Q9 %+\'\'E=9 +\'\'5E=A1%# 3bA1%7\'\'E=9 7;\'5E=A1 # \'>#9 %#\'\'E=9  # 32#A1%# )19  O\'5E=A1K?\'\'E=9 %# \'>#9 %#\'\'E=9 %#\')%=9 %#\'+)=9  #\'1b=A1%+\')!#=9 ++\'3)=A1)+\'+E=9 ++\'1E=A1))91  S# "}, "Casey": {"data" : "+;  #]q#)#%  F##i#)5j1 w##\')\'51 F##\')56#1 w##\' %vN# F##3)5z  w##+)\'MA F###)5=A w##\')\'f9 F###)519 w##\')\'A9 F###)51ec6# w## "}
        , "Troll": {"data" : "+%  #4u#)%Q   )  %\'\'=)A\' %5\'=)  "}, "Vostok": {"data" : ")Asia/Urumqi"}, "DumontDUrville": {"data" : ")Pacific/Port_Moresby"}, "Syowa": {"data" : ")Asia/Riyadh"}, "South_Pole": {"data" : ")Antarctica/McMurdo"}, "Mawson": {"data" : "+\'  #}o#)%U  &##H%)5j1 r# "}, "McMurdo": {"data" : ")Pacific/Auckland"}, "Davis": {"data" : "+1  #,q#)#U  6##?)7%   #7)%%  6##i#)5j1 r#\' \'Ig# 6##\')56#1 r#\' %vg# 6## "}, "Rothera": {"data" : "+%  #yq#)9%  S# "}}, "Arctic": {"Longyearbyen": {"data"
        : ")Europe/Oslo"}}, "Australia": {"Lord_Howe": {"data" : "+) &w}*f#Hk#)%%  g##i\')\'%  o#- /-5\'=11+//\'%=1  #-5\'=1)#)/%  o#Y3/-5\'=11+//\'%=1  #-5\'=1)%//\'^=1 /#)5n1)%S-5\'=1)G7/\'%=1 %G-\'\'=1 7#-1\'=1)%;-5\'=1)\'#/)%=1 %#-\'\'=1 % /)%=1   /5%=1) "}, "Lindeman": {"data" : "+) JaDy`#Hk#)#%  g#=z#1#%11 #5\'\'=1 *##1#%11 #5\'\'=1  #132#11%\'5\'\'=1 \'#15-118#)#%  g#1 #55\'=11%#5%\'=1 f+55\'=11\'+7\'%=1 #)/%  g#) \'55\'=11 \'7\'%=1  "}, "Tasmania": {"data" : ")Australia/Hobart"}, "Victoria": {"data"
        : ")Australia/Melbourne"}, "West": {"data" : ")Australia/Perth"}, "Adelaide": {"data" : "+) {@mc[#Hk#)%%  V##3)+%  _#=j#1#%11 #5\'\'=1 *##1#%11 #5\'\'=1  #132#11%\'5\'\'=1 \'#15-118#)#%  _#^ [55\'=11%#15n11%t55\'=11T##1%2#1 %S7\'%=1 %37\'^=1 %#1\'-1 %#1\'z1 %#1\'=1 %#1\'r1 %K5\'\'=1 %#1))1 %#5\'\'=1 % 7)%=1   75%=11 "}, "Perth": {"data" : "+\' 2TXoQ#Hk#)9%  F#=z#1#%11 #5\'\'=1 *##1#%11 #5\'\'=1  #132#11%\'5\'\'=1 \'#15-11#)/%  F#EB##55\'=11%#7\'%=1 A#55\'=11%#7\'%=1 =#17f11%#7\'%=1 Y#19-11%+5\'\'=1 +\'55\'=11 "}
        , "South": {"data" : ")Australia/Adelaide"}, "Eucla": {"data" : "+\' B$}ZW#Hk#)9%  N>N.Y=z#1#%11 #5\'\'=1 *##1#%11 #5\'\'=1  #132#11%\'5\'\'=1 \'#15-11#)/%  N>N.YEB##55\'=11%#7\'%=1 A#55\'=11%#7\'%=1 =#17f11%#7\'%=1 Y#19-11%+5\'\'=1 +\'55\'=11 "}, "LHI": {"data" : ")Australia/Lord_Howe"}, "Melbourne": {"data" : "+\' BDi(`#Hk#)%%  g#=z#1#%11 #5\'\'=1 *##1#%11 #5\'\'=1  #132#11%\'5\'\'=1 \'#15-118#)#%  g#Y [55\'=11W#5%\'=1 %S7\'%=1 %37\'^=1 3\'75^=11%O55\'=11C/7\'%=1 %K5\'\'=1 7#51\'=11%;55\'=11\'#7)%=1 %#5\'\'=1 % 7)%=1   75%=11 "}
        , "Hobart": {"data" : "+) oRyV`#Hk#)3%  g#1v#75%=11%#5\'\'=1  \'75z=11 \'7\'%=1 #)5&#  g#=+#1#%11 #5\'\'=1 *##1#%11 #5\'\'=1  #132#11%\'5\'\'=1 \'#15-11(#)#%  g#r0%\'7\'%=1 *%#75%=11%#7\':#=1  h55\'=11d+7\'A=1 %#5%\'=1 %C7\'%=1 %\'5\'\'=1 %+7\'%=1  #75^=11%/7\'^=1 /#75z=11%+55\'=11%C75%=11C[5\'\'=1 7#51\'=11% 75%=115#7)%=1 %#5\'\'=1 % 7)%=1  "}, "Broken_Hill": {"data" : "+- &w(@^#Hk#)%%  g##\')1!#  V##/)+%  _#=j#1#%11 #5\'\'=1 *##1#%11 #5\'\'=1  #132#11%\'5\'\'=1 \'#15-118#)#%  _#M [55\'=11W#1%2#1 %C7\'%=1 %#7)%=1 %+7\'%=1 %/7\'^=1 /#15n11%S55\'=11G77\'%=1 %G5\'\'=1 7#51\'=11#)#%  _#=Wt55\'=11W#1\'r1 %K5\'\'=1 %#1))1 %#5\'\'=1 % 7)%=1   75%=11 "}
        , "Darwin": {"data" : "+\' o:D&Y#Hk#)%%  V##3)+%  _#=j#1#%11 #5\'\'=1 *##1#%11 #5\'\'=1  #132#11%\'5\'\'=1 \'#15-11 "}, "ACT": {"data" : ")Australia/Sydney"}, "Brisbane": {"data" : "+\' 2,@mb#Hk#)#%  g#=z#1#%11 #5\'\'=1 *##1#%11 #5\'\'=1  #132#11%\'5\'\'=1 \'#15-118#)#%  g#1 #55\'=11%#5%\'=1 f+55\'=11\'+7\'%=1  "}, "NSW": {"data" : ")Australia/Sydney"}, "Currie": {"data" : ")Australia/Hobart"}, "Yancowinna": {"data" : ")Australia/Broken_Hill"}, "Canberra": {"data" : ")Australia/Sydney"}, "North": {"data"
        : ")Australia/Darwin"}, "Sydney": {"data" : "+\' .wFHb#Hk#)%%  g#=z#1#%11 #5\'\'=1 *##1#%11 #5\'\'=1  #132#11%\'5\'\'=1 \'#15-118#)#%  g#b [55\'=11W#1%2#1 %C7\'%=1 %#7)%=1 %+7\'%=1 %/7\'^=1 /#15n11%S55\'=11G77\'%=1 %G5\'\'=1 7#51\'=11%;55\'=11\'#7)%=1 %#5\'\'=1 % 7)%=1   75%=11 "}, "Queensland": {"data" : ")Australia/Brisbane"}}, "Chile": {"EasterIsland": {"data" : ")Pacific/Easter"}, "Continental": {"data" : ")America/Santiago"}}, "Atlantic": {"St_Helena": {"data" : ")Africa/Abidjan"}, "Reykjavik":
        {"data" : ")Africa/Abidjan"}, "Stanley": {"data" : "+- @gTF9#4k#)#%  @gTF9#|)\'Q  d9*#\'-3\'= 1 3/\'n=  /#)5% 1%+-3\'= 1%#)#%  g##-3\'= 1#)+%  S5i##)#%  g##-3\'= 1%\'-)\'=  \'#)3b 1%`/3E= 1^)3^  d9\'\'-)\'=  \'#)3b 1%`/3E= 1[[/)b=  %G/)^=1 GG/3%=11#)351 S# "}, "Faroe": {"data" : "+\' DyeJ##}k#)#M   #4\')#%   13/\')%=)1\'d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Madeira": {"data" : "+; ]<aZ\'#yi#)#%  ]<aZ\'#8# #%) 3J#1#)-f!%1 #)7%) %#1%6#!%1 315Y!% /#1\'%!%1%#1%6#!%1%#1%:#!%1%#1%6#!%1-#1)b!%1 #15Y!% )#1)f!%1 /75%9!% +#1)E!%1%#1)Y!%1%#1)r!%1)#1)j!%1 \'75%9!%  #1))!%1)#1)=!%1 375%9!% /#1\'>#!%1%#1)j!%1%#1)-!%1%#1\'.#!%1%#1)^!%1 #17j!% %#1%&#!%1 \'155!%  #1)5!%1%/7\'A9!%1/#1)*#w#A #11^w#1 /75&#9!% -1)*#w# 39+\'155!%  #1)5!%1%/7\'A9!%1/#1)*#w#A #11^w#1 /75&#9!% -11^w# 3A+\'155!%  #1)5!%1%/7\'A9!%1/#1)*#w#A #11^w#1 /75&#9!% +#1)fw#A +71*#9w#1)1)fw# 39\'/7\'A9!%1/#1)*#w#A #11^w#1 /75&#9!% +#1)fw#A +71*#9w"
        + "#1)116#w# 3=\'/7\'A9!%1/#1)*#w#A #11^w#1 /75&#9!% +#1)fw#A +71*#9w#1\'\'7)v9w#A%1)zw# 35+/7\'A9!%1//75&#9!% +#1)fw#A +71*#9w#1\'\'7)v9w#A%11.#w# 35+/7\'A9!%1//75&#9!% +#1)fw#A +71*#9w#1\'\'7)v9w#A#1)vw# 35//7\'A9!%1//75&#9!% +#1)fw#A +71*#9w#1\'\'7)v9w#A#11*#w# 3E//7\'A9!%1//75&#9!% +#1)fw#A +71*#9w#1\'\'7)v9w#A%#7)%9!%1 #75%9!% %l7)%=11ll75%=1 \'))-1  Ipl7)%=11ll75%=1 Q#1\'2# 1 #13*#  %\'7)%= 1\'#15%  %/53\'=) +#5\'\'= 1%\'5\'\'=)1%#5\'\'=11#13*#)  1;/\')%=)1\'d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Canary":
        {"data" : "++ <is<\'#Xm#)\'%  3#(#)3>#)  #P#1)9 1 ## 36#)  5//\')%=)1+# 5%) %d%3\'=) [ %\'\'=)1^ %5\'=)  "}, "Faeroe": {"data" : ")Atlantic/Faroe"}, "Jan_Mayen": {"data" : ")Europe/Berlin"}, "Bermuda": {"data" : "++ T4Bu;#4k#)#%  T4Bu;12##))9 1 #)5%  %#))Y 1 #)3b  S)#%1 dYS#))Y 1 #)3b  &##)#M11 #)5j1 %#)\'v11 #)5B#1 %\'/\'A=11\'\'/7%=1 )#/+^=11 #/3A=1 %3/+z=1133/3%=1 1#/+z=11 #-5\'=1 l))6#1 d1<## 1Y!%1 #)3>#1 :#S-)\'=11SH#-5\'=1 >#)#%  d9Ge#-5\'=1 D##-%\'=11%K-)\'=11%p/)%=11% /\'A=11  /7%=1  "}, "Azores":
        {"data" : "+? 0Z.P+#yi#)#%  4TF.-#8# #%1 CJ#1#)-f!%1 #)7%) %#1%6#!%1 315Y!% /#1\'%!%1%#1%6#!%1%#1%:#!%1%#1%6#!%1-#1)b!%1 #15Y!% )#1)f!%1 /75%9!% +#1)E!%1%#1)Y!%1%#1)r!%1)#1)j!%1 \'75%9!%  #1))!%1)#1)=!%1 375%9!% /#1\'>#!%1%#1)j!%1%#1)-!%1%#1\'.#!%1%#1)^!%1 #17j!% %#1%&#!%1 \'155!%  #1)5!%1%/7\'A9!%1/#1)*#w#A #11^w#1 /75&#9!% -1)*#w# C9+\'155!%  #1)5!%1%/7\'A9!%1/#1)*#w#A #11^w#1 /75&#9!% -11^w# CA+\'155!%  #1)5!%1%/7\'A9!%1/#1)*#w#A #11^w#1 /75&#9!% +#1)fw#A +71*#9w#1)1)fw# C9\'/7\'A9!%1/#1)*#w#A #11^w#1 /75&#9!% +#1)fw#A +71*#9w"
        + "#1)116#w# C=\'/7\'A9!%1/#1)*#w#A #11^w#1 /75&#9!% +#1)fw#A +71*#9w#1\'\'7)v9w#A%1)zw# C5+/7\'A9!%1//75&#9!% +#1)fw#A +71*#9w#1\'\'7)v9w#A%11.#w# C5+/7\'A9!%1//75&#9!% +#1)fw#A +71*#9w#1\'\'7)v9w#A#1)vw# C5//7\'A9!%1//75&#9!% +#1)fw#A +71*#9w#1\'\'7)v9w#A#11*#w# CE//7\'A9!%1//75&#9!% +#1)fw#A +71*#9w#1\'\'7)v9w#A%#7)%9!%1 #75%9!% %l7)%=11ll75%=1 \'))-1 3Ipl7)%=11ll75%=1 Q#1\'2# 1 #13*#  %\'7)%= 1\'#15%  %/53\'=) +#5\'\'= 1%\'5\'\'=)1%#5\'\'=11#13*#) 3-;/7)%=)1\'d53\'=) [ 5\'\'=)1O132#)  -`/\')%=)1\'d%3\'=) [ %\'\'=)1S \'6#) 31d/\')%=)1\'d%3\'=) [ %"
        + "\'\'=)1^ %5\'=)  "}, "South_Georgia": {"data" : "+% i_>o/#4k#)#%  C# "}, "Cape_Verde": {"data" : "++ X2y$+#0m# #%1 C#@#)3% 1C#/)5^  C#@#)7*#1 3# "}}, "US": {"Aleutian": {"data" : ")America/Adak"}, "Mountain": {"data" : ")America/Denver"}, "Pacific": {"data" : ")America/Los_Angeles"}, "East-Indiana": {"data" : ")America/Indiana/Indianapolis"}, "Hawaii": {"data" : ")Pacific/Honolulu"}, "Alaska": {"data" : ")America/Anchorage"}, "Central": {"data" : ")America/Chicago"}, "Eastern": {"data" : ")America/New_York"}
        , "Indiana-Starke": {"data" : ")America/Indiana/Knox"}, "Arizona": {"data" : ")America/Phoenix"}, "Samoa": {"data" : ")Pacific/Pago_Pago"}, "Michigan": {"data" : ")America/Detroit"}}};
    }
    var jt_DecimalFormat$FormatField = $rt_classWithoutFields(0);
    function jt_DecimalFormat$TextField() {
        jl_Object.call(this);
        this.$text = null;
    }
    function jt_DecimalFormat$TextField__init_0(var_0) {
        var var_1 = new jt_DecimalFormat$TextField();
        jt_DecimalFormat$TextField__init_(var_1, var_0);
        return var_1;
    }
    function jt_DecimalFormat$TextField__init_($this, $text) {
        $this.$text = $text;
    }
    function jt_DecimalFormat$TextField_equals($this, $obj) {
        var $other;
        if ($this === $obj)
            return 1;
        if (!($obj instanceof jt_DecimalFormat$TextField))
            return 0;
        $other = $obj;
        return jl_String_equals($this.$text, $other.$text);
    }
    function jt_DecimalFormat$TextField_hashCode($this) {
        return jl_String_hashCode($this.$text);
    }
    function jur_AbstractCharClass$LazyCharClass() {
        var a = this; jl_Object.call(a);
        a.$posValue = null;
        a.$negValue = null;
    }
    function jur_AbstractCharClass$LazyCharClass_getValue($this, $negative) {
        if (!$negative && $this.$posValue === null)
            $this.$posValue = $this.$computeValue();
        else if ($negative && $this.$negValue === null)
            $this.$negValue = jur_AbstractCharClass_setNegative($this.$computeValue(), 1);
        if ($negative)
            return $this.$negValue;
        return $this.$posValue;
    }
    function jur_Quantifier() {
        var a = this; jur_SpecialToken.call(a);
        a.$min0 = 0;
        a.$max1 = 0;
    }
    function jur_Quantifier_toString($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$min0;
            var$2 = $this.$max1;
            if (var$2 != 2147483647) {
                $ptr = 1;
                continue main;
            }
            var$3 = $rt_s(3);
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            jl_AbstractStringBuilder_append(var$4, 123);
            jl_AbstractStringBuilder_append0(var$4, var$1);
            jl_AbstractStringBuilder_append(var$4, 44);
            $ptr = 2;
            continue main;
        case 1:
            $tmp = jl_Integer_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            jl_AbstractStringBuilder_append(var$4, 123);
            jl_AbstractStringBuilder_append0(var$4, var$1);
            jl_AbstractStringBuilder_append(var$4, 44);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$4, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_AbstractStringBuilder_append(var$3, 125);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    var jur_FSet$PossessiveFSet = $rt_classWithoutFields(jur_AbstractSet);
    function jur_FSet$PossessiveFSet__init_0() {
        var var_0 = new jur_FSet$PossessiveFSet();
        jur_FSet$PossessiveFSet__init_(var_0);
        return var_0;
    }
    function jur_FSet$PossessiveFSet__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function jur_FSet$PossessiveFSet_matches($this, $stringIndex, $testString, $matchResult) {
        return $stringIndex;
    }
    function jur_FSet$PossessiveFSet_getName($this) {
        return $rt_s(1223);
    }
    function jur_FSet$PossessiveFSet_hasConsumed($this, $mr) {
        return 0;
    }
    function ju_BitSet() {
        var a = this; jl_Object.call(a);
        a.$data0 = null;
        a.$length1 = 0;
    }
    function ju_BitSet__init_1() {
        var var_0 = new ju_BitSet();
        ju_BitSet__init_(var_0);
        return var_0;
    }
    function ju_BitSet__init_($this) {
        $this.$data0 = $rt_createIntArray(2);
    }
    function ju_BitSet_set($this, $bitIndex) {
        var var$2, $index, var$4;
        if ($bitIndex < 0) {
            var$2 = new jl_IndexOutOfBoundsException;
            jl_Throwable__init_0(var$2);
            $rt_throw(var$2);
        }
        $index = $bitIndex / 32 | 0;
        if ($bitIndex >= $this.$length1) {
            ju_BitSet_ensureCapacity($this, $index + 1 | 0);
            $this.$length1 = $bitIndex + 1 | 0;
        }
        var$4 = $this.$data0.data;
        var$4[$index] = var$4[$index] | 1 << ($bitIndex % 32 | 0);
    }
    function ju_BitSet_set0($this, $fromIndex, $toIndex) {
        var $fromDataIndex, $toDataIndex, var$5, $i, var$7;
        if ($fromIndex >= 0) {
            $fromDataIndex = $rt_compare($fromIndex, $toIndex);
            if ($fromDataIndex <= 0) {
                if (!$fromDataIndex)
                    return;
                $fromDataIndex = $fromIndex / 32 | 0;
                $toDataIndex = $toIndex / 32 | 0;
                if ($toIndex > $this.$length1) {
                    ju_BitSet_ensureCapacity($this, $toDataIndex + 1 | 0);
                    $this.$length1 = $toIndex;
                }
                if ($fromDataIndex == $toDataIndex) {
                    var$5 = $this.$data0.data;
                    var$5[$fromDataIndex] = var$5[$fromDataIndex] | ju_BitSet_trailingZeroBits($this, $fromIndex) & ju_BitSet_trailingOneBits($this, $toIndex);
                } else {
                    var$5 = $this.$data0.data;
                    var$5[$fromDataIndex] = var$5[$fromDataIndex] | ju_BitSet_trailingZeroBits($this, $fromIndex);
                    $i = $fromDataIndex + 1 | 0;
                    while ($i < $toDataIndex) {
                        $this.$data0.data[$i] = (-1);
                        $i = $i + 1 | 0;
                    }
                    if ($toIndex & 31) {
                        var$5 = $this.$data0.data;
                        var$5[$toDataIndex] = var$5[$toDataIndex] | ju_BitSet_trailingOneBits($this, $toIndex);
                    }
                }
                return;
            }
        }
        var$7 = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0(var$7);
        $rt_throw(var$7);
    }
    function ju_BitSet_trailingZeroBits($this, $num) {
        return (-1) << ($num % 32 | 0);
    }
    function ju_BitSet_trailingOneBits($this, $num) {
        $num = $num % 32 | 0;
        return !$num ? 0 : (-1) >>> (32 - $num | 0) | 0;
    }
    function ju_BitSet_clear($this, $bitIndex) {
        var var$2, $index, var$4, var$5, var$6;
        if ($bitIndex < 0) {
            var$2 = new jl_IndexOutOfBoundsException;
            jl_Throwable__init_0(var$2);
            $rt_throw(var$2);
        }
        $index = $bitIndex / 32 | 0;
        var$4 = $this.$data0.data;
        if ($index < var$4.length) {
            var$5 = var$4[$index];
            var$6 = ($bitIndex % 32 | 0) & 31;
            var$4[$index] = var$5 & ((-2) << var$6 | ((-2) >>> (32 - var$6 | 0) | 0));
            if ($bitIndex == ($this.$length1 - 1 | 0))
                ju_BitSet_recalculateLength($this);
        }
    }
    function ju_BitSet_get($this, $bitIndex) {
        var var$2, $index, var$4;
        if ($bitIndex < 0) {
            var$2 = new jl_IndexOutOfBoundsException;
            jl_Throwable__init_0(var$2);
            $rt_throw(var$2);
        }
        $index = $bitIndex / 32 | 0;
        var$4 = $this.$data0.data;
        return $index < var$4.length && var$4[$index] & 1 << ($bitIndex % 32 | 0) ? 1 : 0;
    }
    function ju_BitSet_nextSetBit($this, $fromIndex) {
        var var$2, $top, $index, var$5, $i;
        if ($fromIndex < 0) {
            var$2 = new jl_IndexOutOfBoundsException;
            jl_Throwable__init_0(var$2);
            $rt_throw(var$2);
        }
        $top = $this.$length1;
        if ($fromIndex >= $top)
            return (-1);
        $index = $fromIndex / 32 | 0;
        var$5 = $this.$data0.data;
        $i = var$5[$index] >>> ($fromIndex % 32 | 0) | 0;
        if ($i)
            return jl_Integer_numberOfTrailingZeros($i) + $fromIndex | 0;
        $top = ($top + 31 | 0) / 32 | 0;
        $i = $index + 1 | 0;
        while ($i < $top) {
            if (var$5[$i])
                return ($i * 32 | 0) + jl_Integer_numberOfTrailingZeros(var$5[$i]) | 0;
            $i = $i + 1 | 0;
        }
        return (-1);
    }
    function ju_BitSet_ensureCapacity($this, $capacity) {
        var $newArrayLength;
        $newArrayLength = $this.$data0.data.length;
        if ($newArrayLength >= $capacity)
            return;
        $newArrayLength = jl_Math_max(($capacity * 3 | 0) / 2 | 0, ($newArrayLength * 2 | 0) + 1 | 0);
        $this.$data0 = ju_Arrays_copyOf2($this.$data0, $newArrayLength);
    }
    function ju_BitSet_recalculateLength($this) {
        var $top, $i, $sz;
        $top = ($this.$length1 + 31 | 0) / 32 | 0;
        $this.$length1 = $top * 32 | 0;
        $i = $top - 1 | 0;
        a: {
            while (true) {
                if ($i < 0)
                    break a;
                $sz = jl_Integer_numberOfLeadingZeros($this.$data0.data[$i]);
                if ($sz < 32)
                    break;
                $i = $i + (-1) | 0;
                $this.$length1 = $this.$length1 - 32 | 0;
            }
            $this.$length1 = $this.$length1 - $sz | 0;
        }
    }
    function ju_BitSet_and($this, $set) {
        var $i, $i_0, var$4, var$5;
        $i = jl_Math_min($this.$data0.data.length, $set.$data0.data.length);
        $i_0 = 0;
        while ($i_0 < $i) {
            var$4 = $this.$data0.data;
            var$4[$i_0] = var$4[$i_0] & $set.$data0.data[$i_0];
            $i_0 = $i_0 + 1 | 0;
        }
        while (true) {
            var$5 = $this.$data0.data;
            if ($i >= var$5.length)
                break;
            var$5[$i] = 0;
            $i = $i + 1 | 0;
        }
        $this.$length1 = jl_Math_min($this.$length1, $set.$length1);
        ju_BitSet_recalculateLength($this);
    }
    function ju_BitSet_andNot($this, $set) {
        var $sz, $i, var$4;
        $sz = jl_Math_min($this.$data0.data.length, $set.$data0.data.length);
        $i = 0;
        while ($i < $sz) {
            var$4 = $this.$data0.data;
            var$4[$i] = var$4[$i] & ($set.$data0.data[$i] ^ (-1));
            $i = $i + 1 | 0;
        }
        ju_BitSet_recalculateLength($this);
    }
    function ju_BitSet_or($this, $set) {
        var $sz, $i, var$4;
        $sz = jl_Math_max($this.$length1, $set.$length1);
        $this.$length1 = $sz;
        ju_BitSet_ensureCapacity($this, ($sz + 31 | 0) / 32 | 0);
        $sz = jl_Math_min($this.$data0.data.length, $set.$data0.data.length);
        $i = 0;
        while ($i < $sz) {
            var$4 = $this.$data0.data;
            var$4[$i] = var$4[$i] | $set.$data0.data[$i];
            $i = $i + 1 | 0;
        }
    }
    function ju_BitSet_xor($this, $set) {
        var $sz, $i, var$4;
        $sz = jl_Math_max($this.$length1, $set.$length1);
        $this.$length1 = $sz;
        ju_BitSet_ensureCapacity($this, ($sz + 31 | 0) / 32 | 0);
        $sz = jl_Math_min($this.$data0.data.length, $set.$data0.data.length);
        $i = 0;
        while ($i < $sz) {
            var$4 = $this.$data0.data;
            var$4[$i] = var$4[$i] ^ $set.$data0.data[$i];
            $i = $i + 1 | 0;
        }
        ju_BitSet_recalculateLength($this);
    }
    function ju_BitSet_isEmpty($this) {
        return $this.$length1 ? 0 : 1;
    }
    function jur_LowHighSurrogateRangeSet() {
        var a = this; jur_JointSet.call(a);
        a.$surrChars = null;
        a.$alt = 0;
    }
    function jur_LowHighSurrogateRangeSet_getName($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = !$this.$alt ? $rt_s(1224) : $rt_s(1225);
            var$2 = $this.$surrChars;
            $ptr = 1;
        case 1:
            $tmp = var$2.$toString();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$4 = $rt_s(1226);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$4, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function jur_CompositeRangeSet() {
        var a = this; jur_JointSet.call(a);
        a.$withoutSurrogates = null;
        a.$withSurrogates = null;
    }
    function jur_CompositeRangeSet__init_0(var_0, var_1) {
        var var_2 = new jur_CompositeRangeSet();
        jur_CompositeRangeSet__init_(var_2, var_0, var_1);
        return var_2;
    }
    function jur_CompositeRangeSet__init_($this, $withoutSurrogates, $withSurrogates) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$withSurrogates = $thread.pop();$withoutSurrogates = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$withoutSurrogates = $withoutSurrogates;
            $this.$withSurrogates = $withSurrogates;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $withoutSurrogates, $withSurrogates, $ptr);
    }
    function jur_CompositeRangeSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, $shift, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$shift = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$withoutSurrogates;
            $ptr = 1;
        case 1:
            a: {
                $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
                if ($rt_suspending()) {
                    break main;
                }
                $shift = $tmp;
                if ($shift < 0) {
                    var$4 = $this.$withSurrogates;
                    var$6 = $matchResult.$leftBound0;
                    $shift = $matchResult.$rightBound0;
                    var$7 = $stringIndex + 1 | 0;
                    $shift = $rt_compare(var$7, $shift);
                    if ($shift > 0) {
                        $matchResult.$hitEnd = 1;
                        $shift = (-1);
                    } else {
                        var$8 = jl_String_charAt($testString, $stringIndex);
                        if (!var$4.$surrChars.$contains1(var$8))
                            $shift = (-1);
                        else if (jl_Character_isHighSurrogate(var$8)) {
                            if ($shift >= 0)
                                break a;
                            if (!jl_Character_isLowSurrogate(jl_String_charAt($testString, var$7)))
                                break a;
                            $shift = (-1);
                        } else {
                            if (!jl_Character_isLowSurrogate(var$8))
                                break a;
                            if ($stringIndex <= var$6)
                                break a;
                            if (!jl_Character_isHighSurrogate(jl_String_charAt($testString, $stringIndex - 1 | 0)))
                                break a;
                            $shift = (-1);
                        }
                    }
                }
                if ($shift >= 0)
                    return $shift;
                return (-1);
            }
            var$4 = var$4.$next6;
            $ptr = 2;
        case 2:
            $tmp = var$4.$matches0(var$7, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $shift = $tmp;
            if ($shift >= 0)
                return $shift;
            return (-1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $shift, var$6, var$7, var$8, $ptr);
    }
    function jur_CompositeRangeSet_setNext($this, $next) {
        $this.$next6 = $next;
        $this.$withSurrogates.$next6 = $next;
        $this.$withoutSurrogates.$setNext($next);
    }
    function jur_CompositeRangeSet_getName($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$withoutSurrogates;
            var$2 = $this.$withSurrogates;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$4 = $rt_s(1227);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$4, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = $rt_s(1228);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function jur_CompositeRangeSet_hasConsumed($this, $matchResult) {
        return 1;
    }
    function jur_CompositeRangeSet_first($this, $set) {
        return 1;
    }
    function jur_SupplRangeSet() {
        var a = this; jur_JointSet.call(a);
        a.$chars = null;
        a.$alt1 = 0;
    }
    function jur_SupplRangeSet__init_0(var_0) {
        var var_1 = new jur_SupplRangeSet();
        jur_SupplRangeSet__init_(var_1, var_0);
        return var_1;
    }
    function jur_SupplRangeSet__init_($this, $cc) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$cc = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$chars = $cc.$getInstance4();
            $this.$alt1 = $cc.$alt0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $cc, $ptr);
    }
    function jur_SupplRangeSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $strLength, $low, $high, var$7, $offset, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$offset = $thread.pop();var$7 = $thread.pop();$high = $thread.pop();$low = $thread.pop();$strLength = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $strLength = $matchResult.$rightBound0;
            if ($stringIndex < $strLength) {
                $low = $stringIndex + 1 | 0;
                $high = jl_String_charAt($testString, $stringIndex);
                if ($this.$contains1($high)) {
                    var$7 = $this.$next6;
                    $ptr = 1;
                    continue main;
                }
                if ($low < $strLength) {
                    $stringIndex = $low + 1 | 0;
                    $low = jl_String_charAt($testString, $low);
                    if (jl_Character_isSurrogatePair($high, $low) && $this.$contains1(jl_Character_toCodePoint($high, $low))) {
                        var$7 = $this.$next6;
                        $ptr = 2;
                        continue main;
                    }
                }
            }
            return (-1);
        case 1:
            $tmp = var$7.$matches0($low, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $offset = $tmp;
            if ($offset > 0)
                return $offset;
            if ($low < $strLength) {
                $stringIndex = $low + 1 | 0;
                $low = jl_String_charAt($testString, $low);
                if (jl_Character_isSurrogatePair($high, $low) && $this.$contains1(jl_Character_toCodePoint($high, $low))) {
                    var$7 = $this.$next6;
                    $ptr = 2;
                    continue main;
                }
            }
            return (-1);
        case 2:
            $tmp = var$7.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $strLength, $low, $high, var$7, $offset, $ptr);
    }
    function jur_SupplRangeSet_getName($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = !$this.$alt1 ? $rt_s(1224) : $rt_s(1225);
            var$2 = $this.$chars;
            $ptr = 1;
        case 1:
            $tmp = var$2.$toString();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$4 = $rt_s(1226);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$4, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function jur_SupplRangeSet_contains($this, $ch) {
        return $this.$chars.$contains1($ch);
    }
    function jur_SupplRangeSet_first($this, $set) {
        if ($set instanceof jur_SupplCharSet)
            return jur_AbstractCharClass_intersects($this.$chars, $set.$ch0);
        if ($set instanceof jur_CharSet)
            return jur_AbstractCharClass_intersects($this.$chars, $set.$ch2);
        if ($set instanceof jur_SupplRangeSet)
            return jur_AbstractCharClass_intersects0($this.$chars, $set.$chars);
        if (!($set instanceof jur_RangeSet))
            return 1;
        return jur_AbstractCharClass_intersects0($this.$chars, $set.$chars0);
    }
    function jur_SupplRangeSet_getChars($this) {
        return $this.$chars;
    }
    function jur_SupplRangeSet_setNext($this, $next) {
        $this.$next6 = $next;
    }
    function jur_SupplRangeSet_hasConsumed($this, $mr) {
        return 1;
    }
    var jur_UCISupplRangeSet = $rt_classWithoutFields(jur_SupplRangeSet);
    function jur_UCISupplRangeSet_contains($this, $ch) {
        return $this.$chars.$contains1(jl_Character_toLowerCase0(jl_Character_toUpperCase0($ch)));
    }
    function jur_UCISupplRangeSet_getName($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = !$this.$alt1 ? $rt_s(1224) : $rt_s(1225);
            var$2 = $this.$chars;
            $ptr = 1;
        case 1:
            $tmp = var$2.$toString();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$4 = $rt_s(1229);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$4, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function jur_UCIRangeSet() {
        var a = this; jur_LeafSet.call(a);
        a.$chars1 = null;
        a.$alt2 = 0;
    }
    function jur_UCIRangeSet__init_0(var_0) {
        var var_1 = new jur_UCIRangeSet();
        jur_UCIRangeSet__init_(var_1, var_0);
        return var_1;
    }
    function jur_UCIRangeSet__init_($this, $cc) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$cc = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_LeafSet__init_0($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$chars1 = $cc.$getInstance4();
            $this.$alt2 = $cc.$alt0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $cc, $ptr);
    }
    function jur_UCIRangeSet_accepts($this, $strIndex, $testString) {
        return !$this.$chars1.$contains1(jl_Character_toLowerCase(jl_Character_toUpperCase(jl_String_charAt($testString, $strIndex)))) ? (-1) : 1;
    }
    function jur_UCIRangeSet_getName($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = !$this.$alt2 ? $rt_s(1224) : $rt_s(1225);
            var$2 = $this.$chars1;
            $ptr = 1;
        case 1:
            $tmp = var$2.$toString();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$4 = $rt_s(1229);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$4, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function jur_RangeSet() {
        var a = this; jur_LeafSet.call(a);
        a.$chars0 = null;
        a.$alt3 = 0;
    }
    function jur_RangeSet__init_0(var_0) {
        var var_1 = new jur_RangeSet();
        jur_RangeSet__init_(var_1, var_0);
        return var_1;
    }
    function jur_RangeSet__init_($this, $cc) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$cc = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_LeafSet__init_0($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$chars0 = $cc.$getInstance4();
            $this.$alt3 = $cc.$alt0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $cc, $ptr);
    }
    function jur_RangeSet_accepts($this, $strIndex, $testString) {
        return !$this.$chars0.$contains1(jl_String_charAt($testString, $strIndex)) ? (-1) : 1;
    }
    function jur_RangeSet_getName($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = !$this.$alt3 ? $rt_s(1224) : $rt_s(1225);
            var$2 = $this.$chars0;
            $ptr = 1;
        case 1:
            $tmp = var$2.$toString();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$4 = $rt_s(1226);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$4, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function jur_RangeSet_first($this, $set) {
        if ($set instanceof jur_CharSet)
            return jur_AbstractCharClass_intersects($this.$chars0, $set.$ch2);
        if ($set instanceof jur_RangeSet)
            return jur_AbstractCharClass_intersects0($this.$chars0, $set.$chars0);
        if (!($set instanceof jur_SupplRangeSet)) {
            if (!($set instanceof jur_SupplCharSet))
                return 1;
            return 0;
        }
        return jur_AbstractCharClass_intersects0($this.$chars0, $set.$chars);
    }
    function jur_HangulDecomposedCharSet() {
        var a = this; jur_JointSet.call(a);
        a.$decomposedChar = null;
        a.$decomposedCharUTF16 = null;
        a.$decomposedCharLength = 0;
    }
    function jur_HangulDecomposedCharSet__init_0(var_0, var_1) {
        var var_2 = new jur_HangulDecomposedCharSet();
        jur_HangulDecomposedCharSet__init_(var_2, var_0, var_1);
        return var_2;
    }
    function jur_HangulDecomposedCharSet__init_($this, $decomposedChar, $decomposedCharLength) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$decomposedCharLength = $thread.pop();$decomposedChar = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$decomposedChar = $decomposedChar;
            $this.$decomposedCharLength = $decomposedCharLength;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $decomposedChar, $decomposedCharLength, $ptr);
    }
    function jur_HangulDecomposedCharSet_setNext($this, $next) {
        $this.$next6 = $next;
    }
    function jur_HangulDecomposedCharSet_getDecomposedChar($this) {
        if ($this.$decomposedCharUTF16 === null)
            $this.$decomposedCharUTF16 = jl_String__init_($this.$decomposedChar);
        return $this.$decomposedCharUTF16;
    }
    function jur_HangulDecomposedCharSet_getName($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = jur_HangulDecomposedCharSet_getDecomposedChar($this);
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(1230);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function jur_HangulDecomposedCharSet_matches($this, $strIndex, $testString, $matchResult) {
        var $rightBound, $decompSyllable, $vIndex, $tIndex, var$8, $curSymb, $lIndex, $i, $decompCurSymb, $syllIndex, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();$syllIndex = $thread.pop();$decompCurSymb = $thread.pop();$i = $thread.pop();$lIndex = $thread.pop();$curSymb = $thread.pop();var$8 = $thread.pop();$tIndex = $thread.pop();$vIndex = $thread.pop();$decompSyllable = $thread.pop();$rightBound = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $rightBound = $matchResult.$rightBound0;
            $decompSyllable = $rt_createIntArray(3);
            $vIndex = (-1);
            $tIndex = (-1);
            if ($strIndex >= $rightBound)
                return (-1);
            var$8 = $strIndex + 1 | 0;
            $curSymb = jl_String_charAt($testString, $strIndex);
            $strIndex = $curSymb - 44032 | 0;
            if ($strIndex >= 0 && $strIndex < 11172) {
                $lIndex = 4352 + ($strIndex / 588 | 0) | 0;
                $i = 4449 + (($strIndex % 588 | 0) / 28 | 0) | 0;
                $strIndex = $strIndex % 28 | 0;
                $decompCurSymb = !$strIndex ? $rt_createIntArrayFromData([$lIndex, $i]) : $rt_createIntArrayFromData([$lIndex, $i, 4519 + $strIndex | 0]);
            } else
                $decompCurSymb = null;
            if ($decompCurSymb !== null) {
                $decompCurSymb = $decompCurSymb.data;
                $i = 0;
                $strIndex = $decompCurSymb.length;
                $syllIndex = $this.$decomposedCharLength;
                if ($strIndex != $syllIndex)
                    return (-1);
                while (true) {
                    if ($i >= $syllIndex) {
                        var$14 = $this.$next6;
                        $ptr = 1;
                        continue main;
                    }
                    if ($decompCurSymb[$i] != $this.$decomposedChar.data[$i])
                        break;
                    $i = $i + 1 | 0;
                }
                return (-1);
            }
            $decompSyllable = $decompSyllable.data;
            $decompSyllable[0] = $curSymb;
            $lIndex = $curSymb - 4352 | 0;
            if ($lIndex >= 0 && $lIndex < 19) {
                if (var$8 < $rightBound) {
                    $curSymb = jl_String_charAt($testString, var$8);
                    $vIndex = $curSymb - 4449 | 0;
                }
                if ($vIndex >= 0 && $vIndex < 21) {
                    $lIndex = var$8 + 1 | 0;
                    $decompSyllable[1] = $curSymb;
                    if ($lIndex < $rightBound) {
                        $curSymb = jl_String_charAt($testString, $lIndex);
                        $tIndex = $curSymb - 4519 | 0;
                    }
                    if ($tIndex >= 0 && $tIndex < 28) {
                        $strIndex = $lIndex + 1 | 0;
                        $decompSyllable[2] = $curSymb;
                        if ($this.$decomposedCharLength == 3) {
                            $lIndex = $decompSyllable[0];
                            $decompCurSymb = $this.$decomposedChar.data;
                            if ($lIndex == $decompCurSymb[0] && $decompSyllable[1] == $decompCurSymb[1] && $decompSyllable[2] == $decompCurSymb[2]) {
                                var$14 = $this.$next6;
                                $ptr = 3;
                                continue main;
                            }
                        }
                        return (-1);
                    }
                    if ($this.$decomposedCharLength == 2) {
                        $strIndex = $decompSyllable[0];
                        $decompCurSymb = $this.$decomposedChar.data;
                        if ($strIndex == $decompCurSymb[0] && $decompSyllable[1] == $decompCurSymb[1]) {
                            var$14 = $this.$next6;
                            $ptr = 2;
                            continue main;
                        }
                    }
                    return (-1);
                }
                return (-1);
            }
            return (-1);
        case 1:
            $tmp = var$14.$matches0(var$8, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        case 2:
            $tmp = var$14.$matches0($lIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        case 3:
            $tmp = var$14.$matches0($strIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $testString, $matchResult, $rightBound, $decompSyllable, $vIndex, $tIndex, var$8, $curSymb, $lIndex, $i, $decompCurSymb, $syllIndex, var$14, $ptr);
    }
    function jur_HangulDecomposedCharSet_first($this, $set) {
        return $set instanceof jur_HangulDecomposedCharSet && !jl_String_equals(jur_HangulDecomposedCharSet_getDecomposedChar($set), jur_HangulDecomposedCharSet_getDecomposedChar($this)) ? 0 : 1;
    }
    function jur_HangulDecomposedCharSet_hasConsumed($this, $matchResult) {
        return 1;
    }
    function jur_CharSet() {
        jur_LeafSet.call(this);
        this.$ch2 = 0;
    }
    function jur_CharSet__init_0(var_0) {
        var var_1 = new jur_CharSet();
        jur_CharSet__init_(var_1, var_0);
        return var_1;
    }
    function jur_CharSet__init_($this, $ch) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$ch = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_LeafSet__init_0($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$ch2 = $ch;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ch, $ptr);
    }
    function jur_CharSet_charCount($this) {
        return 1;
    }
    function jur_CharSet_accepts($this, $strIndex, $testString) {
        return $this.$ch2 != jl_String_charAt($testString, $strIndex) ? (-1) : 1;
    }
    function jur_CharSet_find($this, $strIndex, $testStr, $matchResult) {
        var $strLength, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$strLength = $thread.pop();$matchResult = $thread.pop();$testStr = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!($testStr instanceof jl_String)) {
                $ptr = 1;
                continue main;
            }
            $strLength = $matchResult.$rightBound0;
            if ($strIndex >= $strLength)
                return (-1);
            var$5 = jl_String_indexOf($testStr, $this.$ch2, $strIndex);
            if (var$5 < 0)
                return (-1);
            var$6 = $this.$next6;
            $strIndex = var$5 + 1 | 0;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = jur_AbstractSet_find($this, $strIndex, $testStr, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        case 2:
            $tmp = var$6.$matches0($strIndex, $testStr, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7 >= 0)
                return var$5;
            if ($strIndex >= $strLength)
                return (-1);
            var$5 = jl_String_indexOf($testStr, $this.$ch2, $strIndex);
            if (var$5 < 0)
                return (-1);
            var$6 = $this.$next6;
            $strIndex = var$5 + 1 | 0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $testStr, $matchResult, $strLength, var$5, var$6, var$7, $ptr);
    }
    function jur_CharSet_findBack($this, $strIndex, $lastIndex, $testStr, $matchResult) {
        var var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$matchResult = $thread.pop();$testStr = $thread.pop();$lastIndex = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!($testStr instanceof jl_String)) {
                $ptr = 1;
                continue main;
            }
            if ($lastIndex < $strIndex)
                return (-1);
            var$5 = jl_String_lastIndexOf0($testStr, $this.$ch2, $lastIndex);
            if (var$5 >= 0 && var$5 >= $strIndex) {
                var$6 = $this.$next6;
                $lastIndex = var$5 + 1 | 0;
                $ptr = 2;
                continue main;
            }
            return (-1);
        case 1:
            $tmp = jur_AbstractSet_findBack($this, $strIndex, $lastIndex, $testStr, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        case 2:
            $tmp = var$6.$matches0($lastIndex, $testStr, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $lastIndex = $tmp;
            if ($lastIndex >= 0)
                return var$5;
            $lastIndex = var$5 + (-1) | 0;
            if ($lastIndex < $strIndex)
                return (-1);
            var$5 = jl_String_lastIndexOf0($testStr, $this.$ch2, $lastIndex);
            if (var$5 >= 0 && var$5 >= $strIndex) {
                var$6 = $this.$next6;
                $lastIndex = var$5 + 1 | 0;
                continue main;
            }
            return (-1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $lastIndex, $testStr, $matchResult, var$5, var$6, $ptr);
    }
    function jur_CharSet_getName($this) {
        var var$1, var$2;
        var$1 = $this.$ch2;
        var$2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$2);
        jl_AbstractStringBuilder_append(var$2, var$1);
        return jl_AbstractStringBuilder_toString(var$2);
    }
    function jur_CharSet_first($this, $set) {
        if ($set instanceof jur_CharSet)
            return $set.$ch2 != $this.$ch2 ? 0 : 1;
        if (!($set instanceof jur_RangeSet)) {
            if ($set instanceof jur_SupplRangeSet)
                return $set.$contains1($this.$ch2);
            if (!($set instanceof jur_SupplCharSet))
                return 1;
            return 0;
        }
        return jur_RangeSet_accepts($set, 0, jl_Character_toString0($this.$ch2)) <= 0 ? 0 : 1;
    }
    function jur_UCICharSet() {
        jur_LeafSet.call(this);
        this.$ch3 = 0;
    }
    function jur_UCICharSet__init_0(var_0) {
        var var_1 = new jur_UCICharSet();
        jur_UCICharSet__init_(var_1, var_0);
        return var_1;
    }
    function jur_UCICharSet__init_($this, $ch) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$ch = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_LeafSet__init_0($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$ch3 = jl_Character_toLowerCase(jl_Character_toUpperCase($ch));
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ch, $ptr);
    }
    function jur_UCICharSet_accepts($this, $strIndex, $testString) {
        return $this.$ch3 != jl_Character_toLowerCase(jl_Character_toUpperCase(jl_String_charAt($testString, $strIndex))) ? (-1) : 1;
    }
    function jur_UCICharSet_getName($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$ch3;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(1231);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_AbstractStringBuilder_append(var$3, var$1);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function jur_CICharSet() {
        var a = this; jur_LeafSet.call(a);
        a.$ch4 = 0;
        a.$supplement = 0;
    }
    function jur_CICharSet__init_0(var_0) {
        var var_1 = new jur_CICharSet();
        jur_CICharSet__init_(var_1, var_0);
        return var_1;
    }
    function jur_CICharSet__init_($this, $ch) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$ch = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_LeafSet__init_0($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$ch4 = $ch;
            $this.$supplement = jur_Pattern_getSupplement($ch);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ch, $ptr);
    }
    function jur_CICharSet_accepts($this, $strIndex, $testString) {
        return $this.$ch4 != jl_String_charAt($testString, $strIndex) && $this.$supplement != jl_String_charAt($testString, $strIndex) ? (-1) : 1;
    }
    function jur_CICharSet_getName($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$ch4;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(1232);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_AbstractStringBuilder_append(var$3, var$1);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function jur_DecomposedCharSet() {
        var a = this; jur_JointSet.call(a);
        a.$readCharsForCodePoint = 0;
        a.$decomposedCharUTF160 = null;
        a.$decomposedChar0 = null;
        a.$decomposedCharLength0 = 0;
    }
    function jur_DecomposedCharSet__init_0(var_0, var_1) {
        var var_2 = new jur_DecomposedCharSet();
        jur_DecomposedCharSet__init_(var_2, var_0, var_1);
        return var_2;
    }
    function jur_DecomposedCharSet__init_($this, $decomposedChar, $decomposedCharLength) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$decomposedCharLength = $thread.pop();$decomposedChar = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$readCharsForCodePoint = 1;
            $this.$decomposedChar0 = $decomposedChar;
            $this.$decomposedCharLength0 = $decomposedCharLength;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $decomposedChar, $decomposedCharLength, $ptr);
    }
    function jur_DecomposedCharSet_setNext($this, $next) {
        $this.$next6 = $next;
    }
    function jur_DecomposedCharSet_matches($this, $strIndex, $testString, $matchResult) {
        var $decCodePoint, $rightBound, $curChar, var$7, $decCurCodePoint, var$9, var$10, $readCodePoints, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();$readCodePoints = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$decCurCodePoint = $thread.pop();var$7 = $thread.pop();$curChar = $thread.pop();$rightBound = $thread.pop();$decCodePoint = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $decCodePoint = $rt_createIntArray(4);
            $rightBound = $matchResult.$rightBound0;
            if ($strIndex >= $rightBound)
                return (-1);
            $curChar = jur_DecomposedCharSet_codePointAt($this, $strIndex, $testString, $rightBound);
            var$7 = $strIndex + $this.$readCharsForCodePoint | 0;
            $decCurCodePoint = jur_Lexer_getDecomposition($curChar);
            if ($decCurCodePoint === null) {
                $decCurCodePoint = $decCodePoint.data;
                $strIndex = 1;
                $decCurCodePoint[0] = $curChar;
            } else {
                $strIndex = $decCurCodePoint.data.length;
                jl_System_fastArraycopy($decCurCodePoint, 0, $decCodePoint, 0, $strIndex);
                $strIndex = 0 + $strIndex | 0;
            }
            a: {
                if (var$7 < $rightBound) {
                    var$9 = $decCodePoint.data;
                    $curChar = jur_DecomposedCharSet_codePointAt($this, var$7, $testString, $rightBound);
                    while ($strIndex < 4) {
                        if (!(($curChar != 832 ? 0 : 1) | ($curChar != 833 ? 0 : 1) | ($curChar != 835 ? 0 : 1) | ($curChar != 836 ? 0 : 1))) {
                            var$10 = $strIndex + 1 | 0;
                            var$9[$strIndex] = $curChar;
                        } else {
                            $decCurCodePoint = (jur_Lexer_getDecomposition($curChar)).data;
                            if ($decCurCodePoint.length != 2) {
                                var$10 = $strIndex + 1 | 0;
                                var$9[$strIndex] = $decCurCodePoint[0];
                            } else {
                                $readCodePoints = $strIndex + 1 | 0;
                                var$9[$strIndex] = $decCurCodePoint[0];
                                var$10 = $readCodePoints + 1 | 0;
                                var$9[$readCodePoints] = $decCurCodePoint[1];
                            }
                        }
                        var$7 = var$7 + $this.$readCharsForCodePoint | 0;
                        if (var$7 >= $rightBound) {
                            $strIndex = var$10;
                            break a;
                        }
                        $curChar = jur_DecomposedCharSet_codePointAt($this, var$7, $testString, $rightBound);
                        $strIndex = var$10;
                    }
                }
            }
            if ($strIndex != $this.$decomposedCharLength0)
                return (-1);
            $decCurCodePoint = $decCodePoint.data;
            $curChar = 0;
            while (true) {
                if ($curChar >= $strIndex) {
                    var$12 = $this.$next6;
                    $ptr = 1;
                    continue main;
                }
                if ($decCurCodePoint[$curChar] != $this.$decomposedChar0.data[$curChar])
                    break;
                $curChar = $curChar + 1 | 0;
            }
            return (-1);
        case 1:
            $tmp = var$12.$matches0(var$7, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $testString, $matchResult, $decCodePoint, $rightBound, $curChar, var$7, $decCurCodePoint, var$9, var$10, $readCodePoints, var$12, $ptr);
    }
    function jur_DecomposedCharSet_getDecomposedChar($this) {
        var $strBuff, $i, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$i = $thread.pop();$strBuff = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$decomposedCharUTF160 !== null)
                return $this.$decomposedCharUTF160;
            $strBuff = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($strBuff);
            $i = 0;
            while ($i < $this.$decomposedCharLength0) {
                jl_AbstractStringBuilder_append6($strBuff, jl_Character_toChars($this.$decomposedChar0.data[$i]));
                $i = $i + 1 | 0;
            }
            $ptr = 1;
        case 1:
            $tmp = jl_AbstractStringBuilder_toString($strBuff);
            if ($rt_suspending()) {
                break main;
            }
            $strBuff = $tmp;
            $this.$decomposedCharUTF160 = $strBuff;
            return $this.$decomposedCharUTF160;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strBuff, $i, $ptr);
    }
    function jur_DecomposedCharSet_getName($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = jur_DecomposedCharSet_getDecomposedChar($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(1233);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 3;
        case 3:
            jl_StringBuilder_append(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function jur_DecomposedCharSet_codePointAt($this, $strIndex, $testString, $rightBound) {
        var $curChar, $low, $curCodePointUTF16;
        $this.$readCharsForCodePoint = 1;
        if ($strIndex >= ($rightBound - 1 | 0))
            $curChar = jl_String_charAt($testString, $strIndex);
        else {
            $rightBound = $strIndex + 1 | 0;
            $curChar = jl_String_charAt($testString, $strIndex);
            $low = jl_String_charAt($testString, $rightBound);
            if (jl_Character_isSurrogatePair($curChar, $low)) {
                $curCodePointUTF16 = $rt_createCharArray(2).data;
                $curCodePointUTF16[0] = $curChar;
                $curCodePointUTF16[1] = $low;
                $curChar = 0 < ($curCodePointUTF16.length - 1 | 0) && jl_Character_isHighSurrogate($curCodePointUTF16[0]) && jl_Character_isLowSurrogate($curCodePointUTF16[1]) ? jl_Character_toCodePoint($curCodePointUTF16[0], $curCodePointUTF16[1]) : $curCodePointUTF16[0];
                $this.$readCharsForCodePoint = 2;
            }
        }
        return $curChar;
    }
    function jur_DecomposedCharSet_first($this, $set) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$set = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!($set instanceof jur_DecomposedCharSet))
                return 1;
            $set = $set;
            $ptr = 1;
        case 1:
            $tmp = jur_DecomposedCharSet_getDecomposedChar($set);
            if ($rt_suspending()) {
                break main;
            }
            $set = $tmp;
            $ptr = 2;
        case 2:
            $tmp = jur_DecomposedCharSet_getDecomposedChar($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = jl_String_equals($set, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3 ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $set, var$2, var$3, $ptr);
    }
    function jur_DecomposedCharSet_hasConsumed($this, $matchResult) {
        return 1;
    }
    var jur_UCIDecomposedCharSet = $rt_classWithoutFields(jur_DecomposedCharSet);
    var jur_CIDecomposedCharSet = $rt_classWithoutFields(jur_DecomposedCharSet);
    var jur_PossessiveGroupQuantifierSet = $rt_classWithoutFields(jur_GroupQuantifierSet);
    function jur_PossessiveGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, $stringIndex_0, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$stringIndex_0 = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$innerSet;
            $ptr = 1;
        case 1:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex_0 = $tmp;
            if ($stringIndex_0 <= 0) {
                var$4 = $this.$next6;
                $ptr = 2;
                continue main;
            }
            $stringIndex = $stringIndex_0;
            var$4 = $this.$innerSet;
            continue main;
        case 2:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $stringIndex_0, $ptr);
    }
    var jur_PosPlusGroupQuantifierSet = $rt_classWithoutFields(jur_GroupQuantifierSet);
    function jur_PosPlusGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, $nextIndex, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$nextIndex = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$innerSet;
            $ptr = 1;
        case 1:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $nextIndex = $tmp;
            if ($nextIndex < 0)
                return (-1);
            if ($nextIndex > $stringIndex) {
                var$4 = $this.$innerSet;
                $ptr = 3;
                continue main;
            }
            var$4 = $this.$next6;
            $ptr = 2;
        case 2:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        case 3:
            $tmp = var$4.$matches0($nextIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            if ($stringIndex > $nextIndex) {
                $nextIndex = $stringIndex;
                var$4 = $this.$innerSet;
                continue main;
            }
            $stringIndex = $nextIndex;
            var$4 = $this.$next6;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $nextIndex, $ptr);
    }
    var jur_AltGroupQuantifierSet = $rt_classWithoutFields(jur_GroupQuantifierSet);
    function jur_AltGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, $nextIndex, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$nextIndex = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$innerSet;
            $ptr = 1;
        case 1:
            $tmp = var$4.$hasConsumed($matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $nextIndex = $tmp;
            if ($nextIndex) {
                var$4 = $this.$innerSet;
                $ptr = 2;
                continue main;
            }
            var$4 = $this.$next6;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $nextIndex = $tmp;
            if ($nextIndex >= 0)
                return $nextIndex;
            var$4 = $this.$next6;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        case 4:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $nextIndex, $ptr);
    }
    function jur_AltGroupQuantifierSet_setNext($this, $next) {
        $this.$next6 = $next;
        $this.$innerSet.$setNext($next);
    }
    var jur_PosAltGroupQuantifierSet = $rt_classWithoutFields(jur_AltGroupQuantifierSet);
    function jur_PosAltGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, $nextIndex, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$nextIndex = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$innerSet;
            $ptr = 1;
        case 1:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $nextIndex = $tmp;
            if ($nextIndex <= 0)
                $nextIndex = $stringIndex;
            var$4 = $this.$next6;
            $ptr = 2;
        case 2:
            $tmp = var$4.$matches0($nextIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $nextIndex, $ptr);
    }
    function jur_PosAltGroupQuantifierSet_setNext($this, $next) {
        $this.$next6 = $next;
    }
    function jur_CompositeGroupQuantifierSet() {
        var a = this; jur_GroupQuantifierSet.call(a);
        a.$quantifier0 = null;
        a.$setCounter = 0;
    }
    function jur_CompositeGroupQuantifierSet__init_0(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new jur_CompositeGroupQuantifierSet();
        jur_CompositeGroupQuantifierSet__init_(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function jur_CompositeGroupQuantifierSet__init_($this, $quant, $innerSet, $next, $type, $setCounter) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$setCounter = $thread.pop();$type = $thread.pop();$next = $thread.pop();$innerSet = $thread.pop();$quant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_QuantifierSet__init_($this, $innerSet, $next, $type);
            if ($rt_suspending()) {
                break main;
            }
            $this.$quantifier0 = $quant;
            $this.$setCounter = $setCounter;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $quant, $innerSet, $next, $type, $setCounter, $ptr);
    }
    function jur_CompositeGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $enterCounter, var$5, $nextIndex, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$nextIndex = $thread.pop();var$5 = $thread.pop();$enterCounter = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $enterCounter = jur_MatchResultImpl_getEnterCounter($matchResult, $this.$setCounter);
            var$5 = $this.$innerSet;
            $ptr = 1;
        case 1:
            $tmp = var$5.$hasConsumed($matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $nextIndex = $tmp;
            if (!$nextIndex) {
                var$5 = $this.$next6;
                $ptr = 2;
                continue main;
            }
            if ($enterCounter >= $this.$quantifier0.$max1) {
                var$5 = $this.$next6;
                $ptr = 4;
                continue main;
            }
            $nextIndex = $this.$setCounter;
            $enterCounter = $enterCounter + 1 | 0;
            jur_MatchResultImpl_setEnterCounter($matchResult, $nextIndex, $enterCounter);
            var$5 = $this.$innerSet;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = var$5.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        case 3:
            $tmp = var$5.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $nextIndex = $tmp;
            if ($nextIndex >= 0) {
                jur_MatchResultImpl_setEnterCounter($matchResult, $this.$setCounter, 0);
                return $nextIndex;
            }
            $nextIndex = $this.$setCounter;
            $enterCounter = $enterCounter + (-1) | 0;
            jur_MatchResultImpl_setEnterCounter($matchResult, $nextIndex, $enterCounter);
            if ($enterCounter < $this.$quantifier0.$min0) {
                jur_MatchResultImpl_setEnterCounter($matchResult, $this.$setCounter, 0);
                return (-1);
            }
            var$5 = $this.$next6;
            $ptr = 5;
            continue main;
        case 4:
            $tmp = var$5.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        case 5:
            $tmp = var$5.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $enterCounter, var$5, $nextIndex, $ptr);
    }
    function jur_CompositeGroupQuantifierSet_getName($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$quantifier0;
            $ptr = 1;
        case 1:
            $tmp = jur_Quantifier_toString(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    var jur_PosCompositeGroupQuantifierSet = $rt_classWithoutFields(jur_CompositeGroupQuantifierSet);
    function jur_PosCompositeGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $counter, $max, var$6, $nextIndex, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$nextIndex = $thread.pop();var$6 = $thread.pop();$max = $thread.pop();$counter = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $counter = 0;
            $max = $this.$quantifier0.$max1;
            var$6 = $this.$innerSet;
            $ptr = 1;
        case 1:
            $tmp = var$6.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $nextIndex = $tmp;
            if ($nextIndex > $stringIndex && $counter < $max) {
                $counter = $counter + 1 | 0;
                $stringIndex = $nextIndex;
                var$6 = $this.$innerSet;
                continue main;
            }
            if ($nextIndex < 0 && $counter < $this.$quantifier0.$min0)
                return (-1);
            var$6 = $this.$next6;
            $ptr = 2;
        case 2:
            $tmp = var$6.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $counter, $max, var$6, $nextIndex, $ptr);
    }
    var jur_ReluctantGroupQuantifierSet = $rt_classWithoutFields(jur_GroupQuantifierSet);
    function jur_ReluctantGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, $res, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$res = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$innerSet;
            $ptr = 1;
        case 1:
            $tmp = var$4.$hasConsumed($matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $res = $tmp;
            if ($res) {
                var$4 = $this.$next6;
                $ptr = 2;
                continue main;
            }
            var$4 = $this.$next6;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $res = $tmp;
            if ($res >= 0)
                return $res;
            var$4 = $this.$innerSet;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        case 4:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $res, $ptr);
    }
    var jur_RelAltGroupQuantifierSet = $rt_classWithoutFields(jur_AltGroupQuantifierSet);
    function jur_RelAltGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, $nextIndex, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$nextIndex = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$innerSet;
            $ptr = 1;
        case 1:
            $tmp = var$4.$hasConsumed($matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $nextIndex = $tmp;
            if ($nextIndex) {
                var$4 = $this.$next6;
                $ptr = 2;
                continue main;
            }
            var$4 = $this.$next6;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $nextIndex = $tmp;
            if ($nextIndex >= 0)
                return $nextIndex;
            var$4 = $this.$innerSet;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        case 4:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $nextIndex = $tmp;
            return $nextIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $nextIndex, $ptr);
    }
    var jur_RelCompositeGroupQuantifierSet = $rt_classWithoutFields(jur_CompositeGroupQuantifierSet);
    function jur_RelCompositeGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $enterCounter, var$5, $nextIndex, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$nextIndex = $thread.pop();var$5 = $thread.pop();$enterCounter = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $enterCounter = jur_MatchResultImpl_getEnterCounter($matchResult, $this.$setCounter);
            var$5 = $this.$innerSet;
            $ptr = 1;
        case 1:
            $tmp = var$5.$hasConsumed($matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $nextIndex = $tmp;
            if (!$nextIndex) {
                var$5 = $this.$next6;
                $ptr = 2;
                continue main;
            }
            var$5 = $this.$quantifier0;
            if ($enterCounter >= var$5.$max1) {
                jur_MatchResultImpl_setEnterCounter($matchResult, $this.$setCounter, 0);
                var$5 = $this.$next6;
                $ptr = 3;
                continue main;
            }
            if ($enterCounter >= var$5.$min0) {
                var$5 = $this.$next6;
                $ptr = 5;
                continue main;
            }
            jur_MatchResultImpl_setEnterCounter($matchResult, $this.$setCounter, $enterCounter + 1 | 0);
            var$5 = $this.$innerSet;
            $ptr = 4;
            continue main;
        case 2:
            $tmp = var$5.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        case 3:
            $tmp = var$5.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        case 4:
            $tmp = var$5.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $nextIndex = $tmp;
            return $nextIndex;
        case 5:
            $tmp = var$5.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $nextIndex = $tmp;
            if ($nextIndex >= 0) {
                jur_MatchResultImpl_setEnterCounter($matchResult, $this.$setCounter, 0);
                return $nextIndex;
            }
            jur_MatchResultImpl_setEnterCounter($matchResult, $this.$setCounter, $enterCounter + 1 | 0);
            var$5 = $this.$innerSet;
            $ptr = 6;
        case 6:
            $tmp = var$5.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $nextIndex = $tmp;
            return $nextIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $enterCounter, var$5, $nextIndex, $ptr);
    }
    var jur_DotAllQuantifierSet = $rt_classWithoutFields(jur_QuantifierSet);
    function jur_DotAllQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $strLength, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$strLength = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $strLength = $matchResult.$rightBound0;
            if ($strLength > $stringIndex) {
                var$5 = $this.$next6;
                $ptr = 1;
                continue main;
            }
            var$5 = $this.$next6;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = var$5.$findBack($stringIndex, $strLength, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        case 2:
            $tmp = var$5.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $strLength, var$5, $ptr);
    }
    function jur_DotAllQuantifierSet_find($this, $stringIndex, $testString, $matchResult) {
        var $strLength, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$strLength = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $strLength = $matchResult.$rightBound0;
            var$5 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$5.$findBack($stringIndex, $strLength, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strLength = $tmp;
            if ($strLength >= 0)
                return $stringIndex;
            return (-1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $strLength, var$5, $ptr);
    }
    function jur_DotAllQuantifierSet_getName($this) {
        return $rt_s(1234);
    }
    function jur_DotQuantifierSet() {
        jur_QuantifierSet.call(this);
        this.$lt = null;
    }
    function jur_DotQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $strLength, $startSearch, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$startSearch = $thread.pop();$strLength = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $strLength = $matchResult.$rightBound0;
            $startSearch = jur_DotQuantifierSet_findLineTerminator($this, $stringIndex, $strLength, $testString);
            if ($startSearch >= 0)
                $strLength = $startSearch;
            if ($strLength > $stringIndex) {
                var$6 = $this.$next6;
                $ptr = 1;
                continue main;
            }
            var$6 = $this.$next6;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = var$6.$findBack($stringIndex, $strLength, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        case 2:
            $tmp = var$6.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $strLength, $startSearch, var$6, $ptr);
    }
    function jur_DotQuantifierSet_find($this, $stringIndex, $testString, $matchResult) {
        var $strLength, var$5, $res, $nextSearch, $leftBound, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$leftBound = $thread.pop();$nextSearch = $thread.pop();$res = $thread.pop();var$5 = $thread.pop();$strLength = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $strLength = $matchResult.$rightBound0;
            var$5 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$5.$find0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $res = $tmp;
            if ($res < 0)
                return (-1);
            $nextSearch = jur_DotQuantifierSet_findLineTerminator($this, $res, $strLength, $testString);
            if ($nextSearch >= 0)
                $strLength = $nextSearch;
            var$5 = $this.$next6;
            $ptr = 2;
        case 2:
            $tmp = var$5.$findBack($res, $strLength, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $nextSearch = $tmp;
            $nextSearch = jl_Math_max($res, $nextSearch);
            if ($nextSearch <= 0)
                $leftBound = $nextSearch ? (-1) : 0;
            else {
                $leftBound = $nextSearch - 1 | 0;
                a: {
                    while (true) {
                        if ($leftBound < $stringIndex) {
                            $leftBound = (-1);
                            break a;
                        }
                        if ($this.$lt.$isLineTerminator(jl_String_charAt($testString, $leftBound)))
                            break;
                        $leftBound = $leftBound + (-1) | 0;
                    }
                }
            }
            if ($leftBound >= $stringIndex)
                $stringIndex = $leftBound >= $nextSearch ? $leftBound : $leftBound + 1 | 0;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $strLength, var$5, $res, $nextSearch, $leftBound, $ptr);
    }
    function jur_DotQuantifierSet_findLineTerminator($this, $i, $to, $testString) {
        while (true) {
            if ($i >= $to)
                return (-1);
            if ($this.$lt.$isLineTerminator(jl_String_charAt($testString, $i)))
                break;
            $i = $i + 1 | 0;
        }
        return $i;
    }
    function jur_DotQuantifierSet_getName($this) {
        return $rt_s(1235);
    }
    var jur_AbstractLineTerminator = $rt_classWithoutFields();
    var jur_AbstractLineTerminator_unixLT = null;
    var jur_AbstractLineTerminator_unicodeLT = null;
    function jur_AbstractLineTerminator_getInstance($flag) {
        var var$2;
        if (!($flag & 1)) {
            var$2 = jur_AbstractLineTerminator_unicodeLT;
            if (var$2 !== null)
                return var$2;
            var$2 = new jur_AbstractLineTerminator$2;
            jur_AbstractLineTerminator_unicodeLT = var$2;
            return var$2;
        }
        var$2 = jur_AbstractLineTerminator_unixLT;
        if (var$2 !== null)
            return var$2;
        var$2 = new jur_AbstractLineTerminator$1;
        jur_AbstractLineTerminator_unixLT = var$2;
        return var$2;
    }
    var jur_PossessiveQuantifierSet = $rt_classWithoutFields(jur_LeafQuantifierSet);
    function jur_PossessiveQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                while (true) {
                    if (($stringIndex + $this.$leaf.$charCount0() | 0) > $matchResult.$rightBound0)
                        break a;
                    var$4 = $this.$leaf.$accepts($stringIndex, $testString);
                    if (var$4 < 1)
                        break;
                    $stringIndex = $stringIndex + var$4 | 0;
                }
            }
            var$5 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$5.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, var$5, $ptr);
    }
    var jur_PossessiveAltQuantifierSet = $rt_classWithoutFields(jur_AltQuantifierSet);
    function jur_PossessiveAltQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (($stringIndex + $this.$leaf.$charCount0() | 0) <= $matchResult.$rightBound0) {
                var$4 = $this.$leaf.$accepts($stringIndex, $testString);
                if (var$4 >= 1)
                    $stringIndex = $stringIndex + var$4 | 0;
            }
            var$5 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$5.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, var$5, $ptr);
    }
    var jur_PossessiveCompositeQuantifierSet = $rt_classWithoutFields(jur_CompositeQuantifierSet);
    function jur_PossessiveCompositeQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, $min, $max, $i, $shift, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$shift = $thread.pop();$i = $thread.pop();$max = $thread.pop();$min = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$quantifier;
            $min = var$4.$min0;
            $max = var$4.$max1;
            $i = 0;
            while (true) {
                if ($i >= $min) {
                    a: {
                        while (true) {
                            if ($i >= $max)
                                break a;
                            if (($stringIndex + $this.$leaf.$charCount0() | 0) > $matchResult.$rightBound0)
                                break a;
                            $shift = $this.$leaf.$accepts($stringIndex, $testString);
                            if ($shift < 1)
                                break;
                            $stringIndex = $stringIndex + $shift | 0;
                            $i = $i + 1 | 0;
                        }
                    }
                    var$4 = $this.$next6;
                    $ptr = 1;
                    continue main;
                }
                if (($stringIndex + $this.$leaf.$charCount0() | 0) > $matchResult.$rightBound0) {
                    $matchResult.$hitEnd = 1;
                    return (-1);
                }
                $shift = $this.$leaf.$accepts($stringIndex, $testString);
                if ($shift < 1)
                    break;
                $stringIndex = $stringIndex + $shift | 0;
                $i = $i + 1 | 0;
            }
            return (-1);
        case 1:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $min, $max, $i, $shift, $ptr);
    }
    var jur_ReluctantQuantifierSet = $rt_classWithoutFields(jur_LeafQuantifierSet);
    function jur_ReluctantQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 >= 0)
                return var$5;
            if (($stringIndex + $this.$leaf.$charCount0() | 0) <= $matchResult.$rightBound0) {
                var$5 = $this.$leaf.$accepts($stringIndex, $testString);
                $stringIndex = $stringIndex + var$5 | 0;
            }
            if (var$5 < 1)
                return (-1);
            var$4 = $this.$next6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, var$5, $ptr);
    }
    var jur_ReluctantAltQuantifierSet = $rt_classWithoutFields(jur_AltQuantifierSet);
    function jur_ReluctantAltQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, $shift, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$shift = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $shift = $tmp;
            if ($shift >= 0)
                return $shift;
            var$4 = $this.$innerSet;
            $ptr = 2;
        case 2:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $shift, $ptr);
    }
    var jur_ReluctantCompositeQuantifierSet = $rt_classWithoutFields(jur_CompositeQuantifierSet);
    function jur_ReluctantCompositeQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, $min, $max, $i, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$i = $thread.pop();$max = $thread.pop();$min = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$quantifier;
            $min = var$4.$min0;
            $max = var$4.$max1;
            $i = 0;
            while (true) {
                if ($i >= $min) {
                    var$4 = $this.$next6;
                    $ptr = 1;
                    continue main;
                }
                if (($stringIndex + $this.$leaf.$charCount0() | 0) > $matchResult.$rightBound0) {
                    $matchResult.$hitEnd = 1;
                    return (-1);
                }
                var$8 = $this.$leaf.$accepts($stringIndex, $testString);
                if (var$8 < 1)
                    break;
                $stringIndex = $stringIndex + var$8 | 0;
                $i = $i + 1 | 0;
            }
            return (-1);
        case 1:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9 >= 0)
                return var$9;
            if (($stringIndex + $this.$leaf.$charCount0() | 0) <= $matchResult.$rightBound0) {
                var$9 = $this.$leaf.$accepts($stringIndex, $testString);
                $stringIndex = $stringIndex + var$9 | 0;
                $i = $i + 1 | 0;
            }
            if (var$9 >= 1 && $i <= $max) {
                var$4 = $this.$next6;
                continue main;
            }
            return (-1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $min, $max, $i, var$8, var$9, $ptr);
    }
    var jur_SOLSet = $rt_classWithoutFields(jur_AbstractSet);
    function jur_SOLSet__init_0() {
        var var_0 = new jur_SOLSet();
        jur_SOLSet__init_(var_0);
        return var_0;
    }
    function jur_SOLSet__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function jur_SOLSet_matches($this, $strIndex, $testString, $matchResult) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($strIndex && !($matchResult.$anchoringBounds && $strIndex == $matchResult.$leftBound0))
                return (-1);
            var$4 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$4.$matches0($strIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $testString, $matchResult, var$4, $ptr);
    }
    function jur_SOLSet_hasConsumed($this, $matchResult) {
        return 0;
    }
    function jur_SOLSet_getName($this) {
        return $rt_s(1236);
    }
    function jur_WordBoundary() {
        jur_AbstractSet.call(this);
        this.$positive = 0;
    }
    function jur_WordBoundary__init_0(var_0) {
        var var_1 = new jur_WordBoundary();
        jur_WordBoundary__init_(var_1, var_0);
        return var_1;
    }
    function jur_WordBoundary__init_($this, $positive) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$positive = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$positive = $positive;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $positive, $ptr);
    }
    function jur_WordBoundary_matches($this, $stringIndex, $testString, $matchResult) {
        var $ch1, $ch2, $leftBound, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$leftBound = $thread.pop();$ch2 = $thread.pop();$ch1 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ch1 = $stringIndex < $matchResult.$rightBound0 ? jl_String_charAt($testString, $stringIndex) : 32;
            $ch2 = !$stringIndex ? 32 : jl_String_charAt($testString, $stringIndex - 1 | 0);
            $leftBound = $matchResult.$transparentBounds ? 0 : $matchResult.$leftBound0;
            if (($ch1 != 32 && !jur_WordBoundary_isSpace($this, $ch1, $stringIndex, $leftBound, $testString) ? 0 : 1) ^ ($ch2 != 32 && !jur_WordBoundary_isSpace($this, $ch2, $stringIndex - 1 | 0, $leftBound, $testString) ? 0 : 1) ^ $this.$positive)
                return (-1);
            var$7 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$7.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $ch1, $ch2, $leftBound, var$7, $ptr);
    }
    function jur_WordBoundary_hasConsumed($this, $matchResult) {
        return 0;
    }
    function jur_WordBoundary_getName($this) {
        return $rt_s(1237);
    }
    function jur_WordBoundary_isSpace($this, $ch, $index, $leftBound, $testString) {
        var var$5;
        if (!jl_Character_isLetterOrDigit($ch) && $ch != 95) {
            a: {
                if (jl_Character_getType($ch) == 6)
                    while (true) {
                        $index = $index + (-1) | 0;
                        if ($index < $leftBound)
                            break a;
                        var$5 = jl_String_charAt($testString, $index);
                        if (jl_Character_isLetterOrDigit(var$5))
                            return 0;
                        if (jl_Character_getType(var$5) != 6)
                            return 1;
                    }
            }
            return 1;
        }
        return 0;
    }
    var jur_PreviousMatch = $rt_classWithoutFields(jur_AbstractSet);
    function jur_PreviousMatch__init_0() {
        var var_0 = new jur_PreviousMatch();
        jur_PreviousMatch__init_(var_0);
        return var_0;
    }
    function jur_PreviousMatch__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function jur_PreviousMatch_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($stringIndex != $matchResult.$previousMatch)
                return (-1);
            var$4 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $ptr);
    }
    function jur_PreviousMatch_hasConsumed($this, $matchResult) {
        return 0;
    }
    function jur_PreviousMatch_getName($this) {
        return $rt_s(1238);
    }
    function jur_EOLSet() {
        jur_AbstractSet.call(this);
        this.$consCounter = 0;
    }
    function jur_EOLSet__init_0(var_0) {
        var var_1 = new jur_EOLSet();
        jur_EOLSet__init_(var_1, var_0);
        return var_1;
    }
    function jur_EOLSet__init_($this, $counter) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$counter = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$consCounter = $counter;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $counter, $ptr);
    }
    function jur_EOLSet_matches($this, $strIndex, $testString, $matchResult) {
        var $rightBound, var$5, var$6, $ch, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$ch = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$rightBound = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $rightBound = !$matchResult.$anchoringBounds ? jl_String_length($testString) : $matchResult.$rightBound0;
            if ($strIndex >= $rightBound) {
                jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter, 0);
                var$5 = $this.$next6;
                $ptr = 1;
                continue main;
            }
            var$6 = $rightBound - $strIndex | 0;
            if (var$6 == 2 && jl_String_charAt($testString, $strIndex) == 13 && jl_String_charAt($testString, $strIndex + 1 | 0) == 10) {
                jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter, 0);
                var$5 = $this.$next6;
                $ptr = 3;
                continue main;
            }
            a: {
                if (var$6 == 1) {
                    $ch = jl_String_charAt($testString, $strIndex);
                    if ($ch == 10)
                        break a;
                    if ($ch == 13)
                        break a;
                    if ($ch == 133)
                        break a;
                    if (($ch | 1) == 8233)
                        break a;
                }
                return (-1);
            }
            jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter, 0);
            var$5 = $this.$next6;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = var$5.$matches0($strIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        case 2:
            $tmp = var$5.$matches0($strIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        case 3:
            $tmp = var$5.$matches0($strIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $testString, $matchResult, $rightBound, var$5, var$6, $ch, $ptr);
    }
    function jur_EOLSet_hasConsumed($this, $matchResult) {
        var $res;
        $res = !jur_MatchResultImpl_getConsumed($matchResult, $this.$consCounter) ? 0 : 1;
        jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter, (-1));
        return $res;
    }
    function jur_EOLSet_getName($this) {
        return $rt_s(1239);
    }
    var jur_EOISet = $rt_classWithoutFields(jur_AbstractSet);
    function jur_EOISet__init_0() {
        var var_0 = new jur_EOISet();
        jur_EOISet__init_(var_0);
        return var_0;
    }
    function jur_EOISet__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function jur_EOISet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($stringIndex < ($matchResult.$transparentBounds ? jl_String_length($testString) : $matchResult.$rightBound0))
                return (-1);
            $matchResult.$hitEnd = 1;
            $matchResult.$requireEnd = 1;
            var$4 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $ptr);
    }
    function jur_EOISet_hasConsumed($this, $matchResult) {
        return 0;
    }
    function jur_EOISet_getName($this) {
        return $rt_s(1240);
    }
    function jur_MultiLineSOLSet() {
        jur_AbstractSet.call(this);
        this.$lt0 = null;
    }
    function jur_MultiLineSOLSet_matches($this, $strIndex, $testString, $matchResult) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                if ($strIndex != $matchResult.$rightBound0) {
                    if (!$strIndex)
                        break a;
                    if ($matchResult.$anchoringBounds && $strIndex == $matchResult.$leftBound0)
                        break a;
                    if ($this.$lt0.$isAfterLineTerminator(jl_String_charAt($testString, $strIndex - 1 | 0), jl_String_charAt($testString, $strIndex)))
                        break a;
                }
                return (-1);
            }
            var$4 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$4.$matches0($strIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $testString, $matchResult, var$4, $ptr);
    }
    function jur_MultiLineSOLSet_hasConsumed($this, $matchResult) {
        return 0;
    }
    function jur_MultiLineSOLSet_getName($this) {
        return $rt_s(1241);
    }
    var jur_DotAllSet = $rt_classWithoutFields(jur_JointSet);
    function jur_DotAllSet__init_0() {
        var var_0 = new jur_DotAllSet();
        jur_DotAllSet__init_(var_0);
        return var_0;
    }
    function jur_DotAllSet__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function jur_DotAllSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $strLength, var$5, $high, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$high = $thread.pop();var$5 = $thread.pop();$strLength = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $strLength = $matchResult.$rightBound0;
            var$5 = $stringIndex + 1 | 0;
            if (var$5 > $strLength) {
                $matchResult.$hitEnd = 1;
                return (-1);
            }
            $high = jl_String_charAt($testString, $stringIndex);
            if (jl_Character_isHighSurrogate($high)) {
                var$7 = $stringIndex + 2 | 0;
                if (var$7 <= $strLength && jl_Character_isSurrogatePair($high, jl_String_charAt($testString, var$5))) {
                    var$8 = $this.$next6;
                    $ptr = 2;
                    continue main;
                }
            }
            var$8 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$8.$matches0(var$5, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        case 2:
            $tmp = var$8.$matches0(var$7, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $strLength, var$5, $high, var$7, var$8, $ptr);
    }
    function jur_DotAllSet_getName($this) {
        return $rt_s(1242);
    }
    function jur_DotAllSet_setNext($this, $next) {
        $this.$next6 = $next;
    }
    function jur_DotAllSet_getType($this) {
        return (-2147483602);
    }
    function jur_DotAllSet_hasConsumed($this, $matchResult) {
        return 1;
    }
    function jur_DotSet() {
        jur_JointSet.call(this);
        this.$lt1 = null;
    }
    function jur_DotSet__init_0(var_0) {
        var var_1 = new jur_DotSet();
        jur_DotSet__init_(var_1, var_0);
        return var_1;
    }
    function jur_DotSet__init_($this, $lt) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$lt = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$lt1 = $lt;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $lt, $ptr);
    }
    function jur_DotSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $strLength, var$5, $high, $low, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();$low = $thread.pop();$high = $thread.pop();var$5 = $thread.pop();$strLength = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $strLength = $matchResult.$rightBound0;
            var$5 = $stringIndex + 1 | 0;
            if (var$5 > $strLength) {
                $matchResult.$hitEnd = 1;
                return (-1);
            }
            $high = jl_String_charAt($testString, $stringIndex);
            if (jl_Character_isHighSurrogate($high)) {
                $stringIndex = $stringIndex + 2 | 0;
                if ($stringIndex <= $strLength) {
                    $low = jl_String_charAt($testString, var$5);
                    if (jl_Character_isSurrogatePair($high, $low)) {
                        if ($this.$lt1.$isLineTerminator(jl_Character_toCodePoint($high, $low)))
                            return (-1);
                        var$8 = $this.$next6;
                        $ptr = 2;
                        continue main;
                    }
                }
            }
            if ($this.$lt1.$isLineTerminator($high))
                return (-1);
            var$8 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$8.$matches0(var$5, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        case 2:
            $tmp = var$8.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $strLength, var$5, $high, $low, var$8, $ptr);
    }
    function jur_DotSet_getName($this) {
        return $rt_s(338);
    }
    function jur_DotSet_setNext($this, $next) {
        $this.$next6 = $next;
    }
    function jur_DotSet_getType($this) {
        return (-2147483602);
    }
    function jur_DotSet_hasConsumed($this, $matchResult) {
        return 1;
    }
    function jur_UEOLSet() {
        jur_AbstractSet.call(this);
        this.$consCounter0 = 0;
    }
    function jur_UEOLSet__init_0(var_0) {
        var var_1 = new jur_UEOLSet();
        jur_UEOLSet__init_(var_1, var_0);
        return var_1;
    }
    function jur_UEOLSet__init_($this, $counter) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$counter = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$consCounter0 = $counter;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $counter, $ptr);
    }
    function jur_UEOLSet_matches($this, $strIndex, $testString, $matchResult) {
        var $rightBound, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$rightBound = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $rightBound = !$matchResult.$anchoringBounds ? jl_String_length($testString) : $matchResult.$rightBound0;
            if ($strIndex >= $rightBound) {
                jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter0, 0);
                var$5 = $this.$next6;
                $ptr = 1;
                continue main;
            }
            if (($rightBound - $strIndex | 0) == 1 && jl_String_charAt($testString, $strIndex) == 10) {
                jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter0, 1);
                var$5 = $this.$next6;
                $strIndex = $strIndex + 1 | 0;
                $ptr = 2;
                continue main;
            }
            return (-1);
        case 1:
            $tmp = var$5.$matches0($strIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        case 2:
            $tmp = var$5.$matches0($strIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $testString, $matchResult, $rightBound, var$5, $ptr);
    }
    function jur_UEOLSet_hasConsumed($this, $matchResult) {
        var $res;
        $res = !jur_MatchResultImpl_getConsumed($matchResult, $this.$consCounter0) ? 0 : 1;
        jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter0, (-1));
        return $res;
    }
    function jur_UEOLSet_getName($this) {
        return $rt_s(1239);
    }
    function jur_UMultiLineEOLSet() {
        jur_AbstractSet.call(this);
        this.$consCounter1 = 0;
    }
    function jur_UMultiLineEOLSet__init_0(var_0) {
        var var_1 = new jur_UMultiLineEOLSet();
        jur_UMultiLineEOLSet__init_(var_1, var_0);
        return var_1;
    }
    function jur_UMultiLineEOLSet__init_($this, $counter) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$counter = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$consCounter1 = $counter;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $counter, $ptr);
    }
    function jur_UMultiLineEOLSet_matches($this, $strIndex, $testString, $matchResult) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ((!$matchResult.$anchoringBounds ? jl_String_length($testString) - $strIndex | 0 : $matchResult.$rightBound0 - $strIndex | 0) <= 0) {
                jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter1, 0);
                var$4 = $this.$next6;
                $ptr = 1;
                continue main;
            }
            if (jl_String_charAt($testString, $strIndex) != 10)
                return (-1);
            jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter1, 1);
            var$4 = $this.$next6;
            $strIndex = $strIndex + 1 | 0;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = var$4.$matches0($strIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        case 2:
            $tmp = var$4.$matches0($strIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $testString, $matchResult, var$4, $ptr);
    }
    function jur_UMultiLineEOLSet_hasConsumed($this, $matchResult) {
        var $res;
        $res = !jur_MatchResultImpl_getConsumed($matchResult, $this.$consCounter1) ? 0 : 1;
        jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter1, (-1));
        return $res;
    }
    function jur_UMultiLineEOLSet_getName($this) {
        return $rt_s(1243);
    }
    function jur_MultiLineEOLSet() {
        jur_AbstractSet.call(this);
        this.$consCounter2 = 0;
    }
    function jur_MultiLineEOLSet__init_0(var_0) {
        var var_1 = new jur_MultiLineEOLSet();
        jur_MultiLineEOLSet__init_(var_1, var_0);
        return var_1;
    }
    function jur_MultiLineEOLSet__init_($this, $counter) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$counter = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$consCounter2 = $counter;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $counter, $ptr);
    }
    function jur_MultiLineEOLSet_matches($this, $strIndex, $testString, $matchResult) {
        var $strDif, var$5, $ch1, $ch2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$ch2 = $thread.pop();$ch1 = $thread.pop();var$5 = $thread.pop();$strDif = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $strDif = !$matchResult.$anchoringBounds ? jl_String_length($testString) - $strIndex | 0 : $matchResult.$rightBound0 - $strIndex | 0;
            if (!$strDif) {
                jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter2, 0);
                var$5 = $this.$next6;
                $ptr = 1;
                continue main;
            }
            if ($strDif < 2) {
                $ch1 = jl_String_charAt($testString, $strIndex);
                $ch2 = 97;
            } else {
                $ch1 = jl_String_charAt($testString, $strIndex);
                $ch2 = jl_String_charAt($testString, $strIndex + 1 | 0);
            }
            switch ($ch1) {
                case 10:
                case 133:
                case 8232:
                case 8233:
                    jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter2, 0);
                    var$5 = $this.$next6;
                    $ptr = 2;
                    continue main;
                case 13:
                    if ($ch2 != 10) {
                        jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter2, 0);
                        var$5 = $this.$next6;
                        $ptr = 3;
                        continue main;
                    }
                    jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter2, 0);
                    var$5 = $this.$next6;
                    $ptr = 4;
                    continue main;
                default:
            }
            return (-1);
        case 1:
            $tmp = var$5.$matches0($strIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        case 2:
            $tmp = var$5.$matches0($strIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        case 3:
            $tmp = var$5.$matches0($strIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        case 4:
            $tmp = var$5.$matches0($strIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $testString, $matchResult, $strDif, var$5, $ch1, $ch2, $ptr);
    }
    function jur_MultiLineEOLSet_hasConsumed($this, $matchResult) {
        var $res;
        $res = !jur_MatchResultImpl_getConsumed($matchResult, $this.$consCounter2) ? 0 : 1;
        jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter2, (-1));
        return $res;
    }
    function jur_MultiLineEOLSet_getName($this) {
        return $rt_s(1244);
    }
    function jur_CIBackReferenceSet() {
        var a = this; jur_JointSet.call(a);
        a.$referencedGroup = 0;
        a.$consCounter3 = 0;
    }
    function jur_CIBackReferenceSet__init_0(var_0, var_1) {
        var var_2 = new jur_CIBackReferenceSet();
        jur_CIBackReferenceSet__init_(var_2, var_0, var_1);
        return var_2;
    }
    function jur_CIBackReferenceSet__init_($this, $groupIndex, $consCounter) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$consCounter = $thread.pop();$groupIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$referencedGroup = $groupIndex;
            $this.$consCounter3 = $consCounter;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $groupIndex, $consCounter, $ptr);
    }
    function jur_CIBackReferenceSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $group, $i, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$i = $thread.pop();$group = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = jur_CIBackReferenceSet_getString($this, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $group = $tmp;
            if ($group !== null && ($stringIndex + jl_String_length($group) | 0) <= $matchResult.$rightBound0) {
                $i = 0;
                while (true) {
                    if ($i >= jl_String_length($group)) {
                        jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter3, jl_String_length($group));
                        var$6 = $this.$next6;
                        $stringIndex = $stringIndex + jl_String_length($group) | 0;
                        $ptr = 2;
                        continue main;
                    }
                    var$7 = jl_String_charAt($group, $i);
                    var$8 = $stringIndex + $i | 0;
                    if (var$7 != jl_String_charAt($testString, var$8) && jur_Pattern_getSupplement(jl_String_charAt($group, $i)) != jl_String_charAt($testString, var$8))
                        break;
                    $i = $i + 1 | 0;
                }
                return (-1);
            }
            return (-1);
        case 2:
            $tmp = var$6.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $group, $i, var$6, var$7, var$8, $ptr);
    }
    function jur_CIBackReferenceSet_setNext($this, $next) {
        $this.$next6 = $next;
    }
    function jur_CIBackReferenceSet_getString($this, $matchResult) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$matchResult = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$referencedGroup;
            var$3 = jur_MatchResultImpl_getStart($matchResult, var$2);
            var$2 = jur_MatchResultImpl_getEnd($matchResult, var$2);
            return (var$2 | var$3 | (var$2 - var$3 | 0)) >= 0 && var$2 <= jl_String_length($matchResult.$string3) ? jl_String_substring0($matchResult.$string3, var$3, var$2) : null;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $matchResult, var$2, var$3, $ptr);
    }
    function jur_CIBackReferenceSet_getName($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$groupIndex0;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(1245);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_AbstractStringBuilder_append0(var$3, var$1);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function jur_CIBackReferenceSet_hasConsumed($this, $matchResult) {
        var $res;
        $res = !jur_MatchResultImpl_getConsumed($matchResult, $this.$consCounter3) ? 0 : 1;
        jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter3, (-1));
        return $res;
    }
    var jur_BackReferenceSet = $rt_classWithoutFields(jur_CIBackReferenceSet);
    function jur_BackReferenceSet__init_0(var_0, var_1) {
        var var_2 = new jur_BackReferenceSet();
        jur_BackReferenceSet__init_(var_2, var_0, var_1);
        return var_2;
    }
    function jur_BackReferenceSet__init_($this, $groupIndex, $consCounter) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$consCounter = $thread.pop();$groupIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_CIBackReferenceSet__init_($this, $groupIndex, $consCounter);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $groupIndex, $consCounter, $ptr);
    }
    function jur_BackReferenceSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $group, $shift, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$shift = $thread.pop();$group = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = jur_CIBackReferenceSet_getString($this, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $group = $tmp;
            if ($group !== null && ($stringIndex + jl_String_length($group) | 0) <= $matchResult.$rightBound0) {
                $shift = !jl_String_startsWith0($testString, $group, $stringIndex) ? (-1) : jl_String_length($group);
                if ($shift < 0)
                    return (-1);
                jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter3, $shift);
                $group = $this.$next6;
                $stringIndex = $stringIndex + $shift | 0;
                $ptr = 2;
                continue main;
            }
            return (-1);
        case 2:
            $tmp = $group.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $group, $shift, $ptr);
    }
    function jur_BackReferenceSet_find($this, $strIndex, $testString, $matchResult) {
        var $group, $strLength, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$strLength = $thread.pop();$group = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = jur_CIBackReferenceSet_getString($this, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $group = $tmp;
            $strLength = $matchResult.$leftBound0;
            if ($group !== null && ($strIndex + jl_String_length($group) | 0) <= $strLength) {
                if ($strIndex > $strLength)
                    return (-1);
                $strIndex = jl_String_indexOf1($testString, $group, $strIndex);
                if ($strIndex < 0)
                    return (-1);
                var$6 = $this.$next6;
                var$7 = $strIndex + jl_String_length($group) | 0;
                $ptr = 2;
                continue main;
            }
            return (-1);
        case 2:
            $tmp = var$6.$matches0(var$7, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7 >= 0)
                return $strIndex;
            $strIndex = $strIndex + 1 | 0;
            if ($strIndex > $strLength)
                return (-1);
            $strIndex = jl_String_indexOf1($testString, $group, $strIndex);
            if ($strIndex < 0)
                return (-1);
            var$6 = $this.$next6;
            var$7 = $strIndex + jl_String_length($group) | 0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $testString, $matchResult, $group, $strLength, var$6, var$7, $ptr);
    }
    function jur_BackReferenceSet_findBack($this, $strIndex, $lastIndex, $testString, $matchResult) {
        var $group, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$group = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$lastIndex = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = jur_CIBackReferenceSet_getString($this, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $group = $tmp;
            if ($group === null)
                return (-1);
            if ($lastIndex < $strIndex)
                return (-1);
            var$6 = jl_String_lastIndexOf1($testString, $group, $lastIndex);
            if (var$6 >= 0 && var$6 >= $strIndex) {
                var$7 = $this.$next6;
                $lastIndex = var$6 + jl_String_length($group) | 0;
                $ptr = 2;
                continue main;
            }
            return (-1);
        case 2:
            $tmp = var$7.$matches0($lastIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $lastIndex = $tmp;
            if ($lastIndex >= 0)
                return var$6;
            $lastIndex = var$6 + (-1) | 0;
            if ($lastIndex < $strIndex)
                return (-1);
            var$6 = jl_String_lastIndexOf1($testString, $group, $lastIndex);
            if (var$6 >= 0 && var$6 >= $strIndex) {
                var$7 = $this.$next6;
                $lastIndex = var$6 + jl_String_length($group) | 0;
                continue main;
            }
            return (-1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $lastIndex, $testString, $matchResult, $group, var$6, var$7, $ptr);
    }
    function jur_BackReferenceSet_first($this, $set) {
        return 1;
    }
    function jur_BackReferenceSet_getName($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$groupIndex0;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(1246);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_AbstractStringBuilder_append0(var$3, var$1);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function jur_UCIBackReferenceSet() {
        jur_CIBackReferenceSet.call(this);
        this.$groupIndex1 = 0;
    }
    function jur_UCIBackReferenceSet__init_0(var_0, var_1) {
        var var_2 = new jur_UCIBackReferenceSet();
        jur_UCIBackReferenceSet__init_(var_2, var_0, var_1);
        return var_2;
    }
    function jur_UCIBackReferenceSet__init_($this, $groupIndex, $consCounter) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$consCounter = $thread.pop();$groupIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_CIBackReferenceSet__init_($this, $groupIndex, $consCounter);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $groupIndex, $consCounter, $ptr);
    }
    function jur_UCIBackReferenceSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $group, $i, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$i = $thread.pop();$group = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = jur_CIBackReferenceSet_getString($this, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $group = $tmp;
            if ($group !== null && ($stringIndex + jl_String_length($group) | 0) <= $matchResult.$rightBound0) {
                $i = 0;
                while (true) {
                    if ($i >= jl_String_length($group)) {
                        jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter3, jl_String_length($group));
                        var$6 = $this.$next6;
                        $stringIndex = $stringIndex + jl_String_length($group) | 0;
                        $ptr = 2;
                        continue main;
                    }
                    if (jl_Character_toLowerCase(jl_Character_toUpperCase(jl_String_charAt($group, $i))) != jl_Character_toLowerCase(jl_Character_toUpperCase(jl_String_charAt($testString, $stringIndex + $i | 0))))
                        break;
                    $i = $i + 1 | 0;
                }
                return (-1);
            }
            return (-1);
        case 2:
            $tmp = var$6.$matches0($stringIndex, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $group, $i, var$6, $ptr);
    }
    function jur_UCIBackReferenceSet_getName($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$groupIndex1;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(1247);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_AbstractStringBuilder_append0(var$3, var$1);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    var jl_StringBuffer = $rt_classWithoutFields(jl_AbstractStringBuilder);
    function jl_StringBuffer__init_0() {
        var var_0 = new jl_StringBuffer();
        jl_StringBuffer__init_(var_0);
        return var_0;
    }
    function jl_StringBuffer__init_($this) {
        jl_AbstractStringBuilder__init_($this);
    }
    function jl_StringBuffer_insert1($this, var$1, var$2, var$3, var$4) {
        jl_AbstractStringBuilder_insert5($this, var$1, var$2, var$3, var$4);
        return $this;
    }
    function jl_StringBuffer_append1($this, var$1, var$2, var$3) {
        jl_AbstractStringBuilder_append5($this, var$1, var$2, var$3);
        return $this;
    }
    function jl_StringBuffer_insert5($this, var$1, var$2, var$3, var$4) {
        jl_AbstractStringBuilder_insert4($this, var$1, var$2, var$3, var$4);
        return $this;
    }
    function jl_StringBuffer_append6($this, var$1, var$2, var$3) {
        jl_AbstractStringBuilder_append4($this, var$1, var$2, var$3);
        return $this;
    }
    function jl_StringBuffer_toString($this) {
        return jl_AbstractStringBuilder_toString($this);
    }
    function jl_StringBuffer_ensureCapacity($this, var$1) {
        jl_AbstractStringBuilder_ensureCapacity($this, var$1);
    }
    function jl_StringBuffer_insert($this, var$1, var$2) {
        jl_AbstractStringBuilder_insert3($this, var$1, var$2);
        return $this;
    }
    function jl_StringBuffer_insert3($this, var$1, var$2) {
        jl_AbstractStringBuilder_insert($this, var$1, var$2);
        return $this;
    }
    function jur_SequenceSet() {
        var a = this; jur_LeafSet.call(a);
        a.$string0 = null;
        a.$leftToRight = null;
        a.$rightToLeft = null;
    }
    function jur_SequenceSet_accepts($this, $strIndex, $testString) {
        return !jur_SequenceSet_startsWith($this, $testString, $strIndex) ? (-1) : $this.$charCount;
    }
    function jur_SequenceSet_find($this, $strIndex, $testString, $matchResult) {
        var $strLength, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$strLength = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $strLength = $matchResult.$rightBound0;
            if ($strIndex > $strLength)
                return (-1);
            var$5 = jl_String_charAt($this.$string0, $this.$charCount - 1 | 0);
            a: {
                while (true) {
                    var$6 = $this.$charCount;
                    if ($strIndex > ($strLength - var$6 | 0)) {
                        $strIndex = (-1);
                        break a;
                    }
                    var$6 = jl_String_charAt($testString, ($strIndex + var$6 | 0) - 1 | 0);
                    if (var$6 == var$5 && jur_SequenceSet_startsWith($this, $testString, $strIndex))
                        break;
                    $strIndex = $strIndex + jur_SequenceSet$IntHash_get($this.$leftToRight, var$6) | 0;
                }
            }
            if ($strIndex < 0)
                return (-1);
            var$7 = $this.$next6;
            var$5 = $strIndex + $this.$charCount | 0;
            $ptr = 1;
        case 1:
            $tmp = var$7.$matches0(var$5, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 >= 0)
                return $strIndex;
            $strIndex = $strIndex + 1 | 0;
            if ($strIndex > $strLength)
                return (-1);
            var$5 = jl_String_charAt($this.$string0, $this.$charCount - 1 | 0);
            b: {
                while (true) {
                    var$6 = $this.$charCount;
                    if ($strIndex > ($strLength - var$6 | 0)) {
                        $strIndex = (-1);
                        break b;
                    }
                    var$6 = jl_String_charAt($testString, ($strIndex + var$6 | 0) - 1 | 0);
                    if (var$6 == var$5 && jur_SequenceSet_startsWith($this, $testString, $strIndex))
                        break;
                    $strIndex = $strIndex + jur_SequenceSet$IntHash_get($this.$leftToRight, var$6) | 0;
                }
            }
            if ($strIndex < 0)
                return (-1);
            var$7 = $this.$next6;
            var$5 = $strIndex + $this.$charCount | 0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $testString, $matchResult, $strLength, var$5, var$6, var$7, $ptr);
    }
    function jur_SequenceSet_findBack($this, $strIndex, $lastIndex, $testString, $matchResult) {
        var var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$lastIndex = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($lastIndex < $strIndex)
                return (-1);
            var$5 = jl_String_charAt($this.$string0, 0);
            var$6 = (jl_String_length($testString) - $lastIndex | 0) - $this.$charCount | 0;
            if (var$6 <= 0)
                $lastIndex = $lastIndex + var$6 | 0;
            a: {
                while (true) {
                    if ($lastIndex < $strIndex) {
                        $lastIndex = (-1);
                        break a;
                    }
                    var$6 = jl_String_charAt($testString, $lastIndex);
                    if (var$6 == var$5 && jur_SequenceSet_startsWith($this, $testString, $lastIndex))
                        break;
                    $lastIndex = $lastIndex - jur_SequenceSet$IntHash_get($this.$rightToLeft, var$6) | 0;
                }
            }
            if ($lastIndex < 0)
                return (-1);
            var$7 = $this.$next6;
            var$5 = $lastIndex + $this.$charCount | 0;
            $ptr = 1;
        case 1:
            $tmp = var$7.$matches0(var$5, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 >= 0)
                return $lastIndex;
            $lastIndex = $lastIndex + (-1) | 0;
            if ($lastIndex < $strIndex)
                return (-1);
            var$5 = jl_String_charAt($this.$string0, 0);
            var$6 = (jl_String_length($testString) - $lastIndex | 0) - $this.$charCount | 0;
            if (var$6 <= 0)
                $lastIndex = $lastIndex + var$6 | 0;
            b: {
                while (true) {
                    if ($lastIndex < $strIndex) {
                        $lastIndex = (-1);
                        break b;
                    }
                    var$6 = jl_String_charAt($testString, $lastIndex);
                    if (var$6 == var$5 && jur_SequenceSet_startsWith($this, $testString, $lastIndex))
                        break;
                    $lastIndex = $lastIndex - jur_SequenceSet$IntHash_get($this.$rightToLeft, var$6) | 0;
                }
            }
            if ($lastIndex < 0)
                return (-1);
            var$7 = $this.$next6;
            var$5 = $lastIndex + $this.$charCount | 0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $lastIndex, $testString, $matchResult, var$5, var$6, var$7, $ptr);
    }
    function jur_SequenceSet_getName($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$string0;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(1248);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function jur_SequenceSet_first($this, $set) {
        var var$2;
        if ($set instanceof jur_CharSet)
            return $set.$ch2 != jl_String_charAt($this.$string0, 0) ? 0 : 1;
        if ($set instanceof jur_RangeSet)
            return jur_RangeSet_accepts($set, 0, jl_String_substring0($this.$string0, 0, 1)) <= 0 ? 0 : 1;
        if (!($set instanceof jur_SupplRangeSet)) {
            if (!($set instanceof jur_SupplCharSet))
                return 1;
            return jl_String_length($this.$string0) > 1 && $set.$ch0 == jl_Character_toCodePoint(jl_String_charAt($this.$string0, 0), jl_String_charAt($this.$string0, 1)) ? 1 : 0;
        }
        a: {
            b: {
                $set = $set;
                if (!$set.$contains1(jl_String_charAt($this.$string0, 0))) {
                    if (jl_String_length($this.$string0) <= 1)
                        break b;
                    if (!$set.$contains1(jl_Character_toCodePoint(jl_String_charAt($this.$string0, 0), jl_String_charAt($this.$string0, 1))))
                        break b;
                }
                var$2 = 1;
                break a;
            }
            var$2 = 0;
        }
        return var$2;
    }
    function jur_SequenceSet_startsWith($this, $str, $from) {
        var $i;
        $i = 0;
        while ($i < $this.$charCount) {
            if (jl_String_charAt($str, $i + $from | 0) != jl_String_charAt($this.$string0, $i))
                return 0;
            $i = $i + 1 | 0;
        }
        return 1;
    }
    function jur_UCISequenceSet() {
        jur_LeafSet.call(this);
        this.$string4 = null;
    }
    function jur_UCISequenceSet__init_0(var_0) {
        var var_1 = new jur_UCISequenceSet();
        jur_UCISequenceSet__init_(var_1, var_0);
        return var_1;
    }
    function jur_UCISequenceSet__init_($this, $substring) {
        var $res, $i, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$i = $thread.pop();$res = $thread.pop();$substring = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_LeafSet__init_0($this);
            if ($rt_suspending()) {
                break main;
            }
            $res = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($res);
            $i = 0;
            while ($i < $substring.$length0) {
                jl_AbstractStringBuilder_append($res, jl_Character_toLowerCase(jl_Character_toUpperCase(jl_AbstractStringBuilder_charAt($substring, $i))));
                $i = $i + 1 | 0;
            }
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString($res);
            if ($rt_suspending()) {
                break main;
            }
            $substring = $tmp;
            $this.$string4 = $substring;
            $this.$charCount = $res.$length0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $substring, $res, $i, $ptr);
    }
    function jur_UCISequenceSet_accepts($this, $strIndex, $testString) {
        var $i;
        $i = 0;
        while (true) {
            if ($i >= jl_String_length($this.$string4))
                return jl_String_length($this.$string4);
            if (jl_String_charAt($this.$string4, $i) != jl_Character_toLowerCase(jl_Character_toUpperCase(jl_String_charAt($testString, $strIndex + $i | 0))))
                break;
            $i = $i + 1 | 0;
        }
        return (-1);
    }
    function jur_UCISequenceSet_getName($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$string4;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(1249);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function jur_CISequenceSet() {
        jur_LeafSet.call(this);
        this.$string1 = null;
    }
    function jur_CISequenceSet_accepts($this, $strIndex, $testString) {
        var $i, var$4, var$5;
        $i = 0;
        while (true) {
            if ($i >= jl_String_length($this.$string1))
                return jl_String_length($this.$string1);
            var$4 = jl_String_charAt($this.$string1, $i);
            var$5 = $strIndex + $i | 0;
            if (var$4 != jl_String_charAt($testString, var$5) && jur_Pattern_getSupplement(jl_String_charAt($this.$string1, $i)) != jl_String_charAt($testString, var$5))
                break;
            $i = $i + 1 | 0;
        }
        return (-1);
    }
    function jur_CISequenceSet_getName($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$string1;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(1250);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function otci_CharFlow() {
        var a = this; jl_Object.call(a);
        a.$characters0 = null;
        a.$pointer = 0;
    }
    function otci_CharFlow__init_(var_0) {
        var var_1 = new otci_CharFlow();
        otci_CharFlow__init_0(var_1, var_0);
        return var_1;
    }
    function otci_CharFlow__init_0($this, $characters) {
        $this.$characters0 = $characters;
    }
    var otci_Base46 = $rt_classWithoutFields();
    function otci_Base46__init_0() {
        var var_0 = new otci_Base46();
        otci_Base46__init_(var_0);
        return var_0;
    }
    function otci_Base46__init_($this) {}
    function otci_Base46_decodeUnsigned($seq) {
        var $number, $pos, var$4, $hasMore, $digit;
        $number = 0;
        $pos = 1;
        while (true) {
            var$4 = $seq.$characters0.data;
            $hasMore = $seq.$pointer;
            $seq.$pointer = $hasMore + 1 | 0;
            $digit = otci_Base46_decodeDigit(var$4[$hasMore]);
            $hasMore = ($digit % 2 | 0) != 1 ? 0 : 1;
            $number = $number + $rt_imul($pos, $digit / 2 | 0) | 0;
            $pos = $pos * 46 | 0;
            if (!$hasMore)
                break;
        }
        return $number;
    }
    function otci_Base46_decode($seq) {
        var $number, $result;
        $number = otci_Base46_decodeUnsigned($seq);
        $result = $number / 2 | 0;
        if ($number % 2 | 0)
            $result =  -$result | 0;
        return $result;
    }
    function otci_Base46_decodeDigit($c) {
        if ($c < 34)
            return $c - 32 | 0;
        if ($c >= 92)
            return ($c - 32 | 0) - 2 | 0;
        return ($c - 32 | 0) - 1 | 0;
    }
    var ju_AbstractQueue = $rt_classWithoutFields(ju_AbstractCollection);
    function ju_AbstractQueue_add($this, $e) {
        var var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$e = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($e === null) {
                $e = new jl_NullPointerException;
                jl_Throwable__init_0($e);
                $rt_throw($e);
            }
            var$2 = $this.$size6 + 1 | 0;
            var$3 = $this.$data1.data.length;
            if (var$3 < var$2) {
                var$2 = jl_Math_max(var$2, (var$3 * 3 | 0) / 2 | 0);
                $this.$data1 = ju_Arrays_copyOf($this.$data1, var$2);
            }
            var$2 = $this.$size6;
            if (var$2 <= 0) {
                $this.$data1.data[var$2] = $e;
                $this.$size6 = $this.$size6 + 1 | 0;
                $this.$version1 = $this.$version1 + 1 | 0;
                return 1;
            }
            var$3 = (var$2 - 1 | 0) / 2 | 0;
            var$4 = $this.$comparator0;
            var$5 = $this.$data1.data[var$3];
            $ptr = 1;
        case 1:
            $tmp = var$4.$compare($e, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 < 0) {
                var$7 = $this.$data1.data;
                var$7[var$2] = var$7[var$3];
                var$2 = var$3;
                if (var$2 > 0) {
                    var$3 = (var$2 - 1 | 0) / 2 | 0;
                    var$4 = $this.$comparator0;
                    var$5 = $this.$data1.data[var$3];
                    continue main;
                }
            }
            $this.$data1.data[var$2] = $e;
            $this.$size6 = $this.$size6 + 1 | 0;
            $this.$version1 = $this.$version1 + 1 | 0;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $e, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function ju_PriorityQueue() {
        var a = this; ju_AbstractQueue.call(a);
        a.$data1 = null;
        a.$comparator0 = null;
        a.$originalComparator0 = null;
        a.$size6 = 0;
        a.$version1 = 0;
    }
    function ju_PriorityQueue__init_3() {
        var var_0 = new ju_PriorityQueue();
        ju_PriorityQueue__init_(var_0);
        return var_0;
    }
    function ju_PriorityQueue__init_2(var_0, var_1) {
        var var_2 = new ju_PriorityQueue();
        ju_PriorityQueue__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function ju_PriorityQueue__init_($this) {
        ju_PriorityQueue__init_0($this, 1, null);
    }
    function ju_PriorityQueue__init_0($this, $initialCapacity, $comparator) {
        if ($initialCapacity < 1) {
            $comparator = new jl_IllegalArgumentException;
            jl_Throwable__init_0($comparator);
            $rt_throw($comparator);
        }
        $this.$data1 = $rt_createArray(jl_Object, $initialCapacity);
        $this.$originalComparator0 = $comparator;
        if ($comparator === null)
            $comparator = ju_Comparator$NaturalOrder_INSTANCE;
        $this.$comparator0 = $comparator;
    }
    function ju_PriorityQueue_size($this) {
        return $this.$size6;
    }
    function ju_PriorityQueue_removeAt($this, $index) {
        var $item, $next, $next_0, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$next_0 = $thread.pop();$next = $thread.pop();$item = $thread.pop();$index = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$version1 = $this.$version1 + 1 | 0;
            $item = $this.$data1.data[$this.$size6 - 1 | 0];
            $next = ($index * 2 | 0) + 1 | 0;
            $next_0 = $next + 1 | 0;
            var$5 = $this.$size6;
            if ($next >= var$5) {
                var$6 = $this.$data1.data;
                var$6[$index] = $item;
                $index = $this.$size6 - 1 | 0;
                $this.$size6 = $index;
                var$6[$index] = null;
                return;
            }
            if ($next_0 < var$5) {
                var$7 = $this.$comparator0;
                var$6 = $this.$data1.data;
                var$8 = var$6[$next];
                var$9 = var$6[$next_0];
                $ptr = 1;
                continue main;
            }
            var$9 = $this.$comparator0;
            var$7 = $this.$data1.data[$next];
            $ptr = 2;
            continue main;
        case 1:
            $tmp = var$7.$compare(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 >= 0)
                $next = $next_0;
            var$9 = $this.$comparator0;
            var$7 = $this.$data1.data[$next];
            $ptr = 2;
        case 2:
            $tmp = var$9.$compare($item, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 > 0) {
                var$6 = $this.$data1.data;
                var$6[$index] = var$6[$next];
                $index = $next;
                $next = ($index * 2 | 0) + 1 | 0;
                $next_0 = $next + 1 | 0;
                var$5 = $this.$size6;
                if ($next < var$5) {
                    if ($next_0 < var$5) {
                        var$7 = $this.$comparator0;
                        var$6 = $this.$data1.data;
                        var$8 = var$6[$next];
                        var$9 = var$6[$next_0];
                        $ptr = 1;
                        continue main;
                    }
                    var$9 = $this.$comparator0;
                    var$7 = $this.$data1.data[$next];
                    continue main;
                }
            }
            var$6 = $this.$data1.data;
            var$6[$index] = $item;
            $index = $this.$size6 - 1 | 0;
            $this.$size6 = $index;
            var$6[$index] = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $index, $item, $next, $next_0, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    var otcit_DateTimeZoneProvider$1 = $rt_classWithoutFields();
    function otcit_DateTimeZoneProvider$1__init_0() {
        var var_0 = new otcit_DateTimeZoneProvider$1();
        otcit_DateTimeZoneProvider$1__init_(var_0);
        return var_0;
    }
    function otcit_DateTimeZoneProvider$1__init_($this) {}
    function otcit_DateTimeZoneProvider$1_compare($this, var$1, var$2) {
        var$1 = var$1;
        return jl_Long_compareTo0(var$2, var$1);
    }
    function otcit_AliasDateTimeZone() {
        otcit_StorableDateTimeZone.call(this);
        this.$innerZone = null;
    }
    function otcit_AliasDateTimeZone_getOffset($this, $instant) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$instant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$innerZone;
            $ptr = 1;
        case 1:
            $tmp = var$2.$getOffset($instant);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $instant, var$2, var$3, $ptr);
    }
    function otcit_AliasDateTimeZone_getStandardOffset($this, $instant) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$instant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$innerZone;
            $ptr = 1;
        case 1:
            $tmp = var$2.$getStandardOffset($instant);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $instant, var$2, var$3, $ptr);
    }
    function otcit_AliasDateTimeZone_previousTransition($this, $instant) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$instant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$innerZone;
            $ptr = 1;
        case 1:
            $tmp = var$2.$previousTransition($instant);
            if ($rt_suspending()) {
                break main;
            }
            $instant = $tmp;
            return $instant;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $instant, var$2, $ptr);
    }
    function otcit_DateTimeZoneProvider$Score() {
        var a = this; jl_Object.call(a);
        a.$tz = null;
        a.$value7 = 0;
    }
    var juf_Function = $rt_classWithoutFields(0);
    var otcit_DateTimeZoneProvider$detectTimezone$lambda$_4_0 = $rt_classWithoutFields();
    function otcit_DateTimeZoneProvider$detectTimezone$lambda$_4_0__init_0() {
        var var_0 = new otcit_DateTimeZoneProvider$detectTimezone$lambda$_4_0();
        otcit_DateTimeZoneProvider$detectTimezone$lambda$_4_0__init_(var_0);
        return var_0;
    }
    function otcit_DateTimeZoneProvider$detectTimezone$lambda$_4_0__init_(var$0) {}
    var ju_Dictionary = $rt_classWithoutFields();
    function ju_Hashtable() {
        var a = this; ju_Dictionary.call(a);
        a.$elementCount0 = 0;
        a.$elementData0 = null;
        a.$loadFactor1 = 0.0;
        a.$threshold0 = 0;
        a.$firstSlot = 0;
        a.$lastSlot = 0;
        a.$modCount3 = 0;
    }
    var ju_Hashtable_EMPTY_ENUMERATION = null;
    var ju_Hashtable_EMPTY_ITERATOR = null;
    function ju_Hashtable__init_1() {
        var var_0 = new ju_Hashtable();
        ju_Hashtable__init_(var_0);
        return var_0;
    }
    function ju_Hashtable__init_($this) {
        var var$1, var$2;
        $this.$lastSlot = (-1);
        $this.$elementCount0 = 0;
        var$1 = $rt_createArray(ju_Hashtable$Entry, 11);
        var$2 = var$1.data;
        $this.$elementData0 = var$1;
        $this.$firstSlot = var$2.length;
        $this.$loadFactor1 = 0.75;
        ju_Hashtable_computeMaxSize($this);
    }
    function ju_Hashtable_computeMaxSize($this) {
        $this.$threshold0 = $this.$elementData0.data.length * $this.$loadFactor1 | 0;
    }
    function ju_Hashtable_get($this, $key) {
        var $hash, $index, var$4, $entry, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$entry = $thread.pop();var$4 = $thread.pop();$index = $thread.pop();$hash = $thread.pop();$key = $thread.pop();$this = $thread.pop();
        }
        try {
            main: while (true) { switch ($ptr) {
            case 0:
                jl_Object_monitorEnter($this);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 1;
            case 1:
                $tmp = jl_String_hashCode($key);
                if ($rt_suspending()) {
                    break main;
                }
                $hash = $tmp;
                $index = $hash & 2147483647;
                var$4 = $this.$elementData0.data;
                $entry = var$4[$index % var$4.length | 0];
                if ($entry === null)
                    return null;
                $ptr = 2;
            case 2:
                $tmp = ju_Hashtable$Entry_equalsKey($entry, $key, $hash);
                if ($rt_suspending()) {
                    break main;
                }
                $index = $tmp;
                if ($index)
                    return $entry.$value2;
                $entry = $entry.$next7;
                if ($entry === null)
                    return null;
                continue main;
            default: $rt_invalidPointer();
            }}
        } finally {
            if (!$rt_suspending()) {
                jl_Object_monitorExit($this);
            }
        }
        $rt_nativeThread().push($this, $key, $hash, $index, var$4, $entry, $ptr);
    }
    function ju_Hashtable_put($this, $key, $value) {
        var $hash, var$4, var$5, $index, $entry, $result, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$result = $thread.pop();$entry = $thread.pop();$index = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$hash = $thread.pop();$value = $thread.pop();$key = $thread.pop();$this = $thread.pop();
        }
        try {
            main: while (true) { switch ($ptr) {
            case 0:
                jl_Object_monitorEnter($this);
                if ($rt_suspending()) {
                    break main;
                }
                if ($key !== null && $value !== null) {
                    $ptr = 1;
                    continue main;
                }
                $key = new jl_NullPointerException;
                jl_Throwable__init_0($key);
                $rt_throw($key);
            case 1:
                $tmp = jl_String_hashCode($key);
                if ($rt_suspending()) {
                    break main;
                }
                $hash = $tmp;
                var$4 = $hash & 2147483647;
                var$5 = $this.$elementData0.data;
                $index = var$4 % var$5.length | 0;
                $entry = var$5[$index];
                if ($entry !== null) {
                    $ptr = 2;
                    continue main;
                }
                if ($entry !== null) {
                    $result = $entry.$value2;
                    $entry.$value2 = $value;
                    return $result;
                }
                $this.$modCount3 = $this.$modCount3 + 1 | 0;
                var$9 = $this.$elementCount0 + 1 | 0;
                $this.$elementCount0 = var$9;
                if (var$9 > $this.$threshold0) {
                    var$9 = ($this.$elementData0.data.length << 1) + 1 | 0;
                    if (!var$9)
                        var$9 = 1;
                    $index = (-1);
                    var$10 = $rt_createArray(ju_Hashtable$Entry, var$9);
                    var$5 = var$10.data;
                    $hash = $this.$lastSlot + 1 | 0;
                    var$11 = var$9;
                    while (true) {
                        $hash = $hash + (-1) | 0;
                        if ($hash < $this.$firstSlot)
                            break;
                        $result = $this.$elementData0.data[$hash];
                        if ($result !== null) {
                            $entry = $result.$key0;
                            $ptr = 4;
                            continue main;
                        }
                    }
                    $this.$firstSlot = var$11;
                    $this.$lastSlot = $index;
                    $this.$elementData0 = var$10;
                    ju_Hashtable_computeMaxSize($this);
                    $index = var$4 % $this.$elementData0.data.length | 0;
                }
                if ($index < $this.$firstSlot)
                    $this.$firstSlot = $index;
                if ($index > $this.$lastSlot)
                    $this.$lastSlot = $index;
                $entry = new ju_Hashtable$Entry;
                ju_MapEntry__init_($entry, $key, $value);
                $ptr = 3;
                continue main;
            case 2:
                $tmp = ju_Hashtable$Entry_equalsKey($entry, $key, $hash);
                if ($rt_suspending()) {
                    break main;
                }
                var$9 = $tmp;
                if (!var$9) {
                    $entry = $entry.$next7;
                    if ($entry !== null) {
                        continue main;
                    }
                }
                if ($entry !== null) {
                    $result = $entry.$value2;
                    $entry.$value2 = $value;
                    return $result;
                }
                $this.$modCount3 = $this.$modCount3 + 1 | 0;
                var$9 = $this.$elementCount0 + 1 | 0;
                $this.$elementCount0 = var$9;
                if (var$9 > $this.$threshold0) {
                    var$9 = ($this.$elementData0.data.length << 1) + 1 | 0;
                    if (!var$9)
                        var$9 = 1;
                    $index = (-1);
                    var$10 = $rt_createArray(ju_Hashtable$Entry, var$9);
                    var$5 = var$10.data;
                    $hash = $this.$lastSlot + 1 | 0;
                    var$11 = var$9;
                    while (true) {
                        $hash = $hash + (-1) | 0;
                        if ($hash < $this.$firstSlot)
                            break;
                        $result = $this.$elementData0.data[$hash];
                        if ($result !== null) {
                            $entry = $result.$key0;
                            $ptr = 4;
                            continue main;
                        }
                    }
                    $this.$firstSlot = var$11;
                    $this.$lastSlot = $index;
                    $this.$elementData0 = var$10;
                    ju_Hashtable_computeMaxSize($this);
                    $index = var$4 % $this.$elementData0.data.length | 0;
                }
                if ($index < $this.$firstSlot)
                    $this.$firstSlot = $index;
                if ($index > $this.$lastSlot)
                    $this.$lastSlot = $index;
                $entry = new ju_Hashtable$Entry;
                ju_MapEntry__init_($entry, $key, $value);
                $ptr = 3;
            case 3:
                $tmp = jl_String_hashCode($key);
                if ($rt_suspending()) {
                    break main;
                }
                var$9 = $tmp;
                $entry.$hashcode = var$9;
                var$5 = $this.$elementData0.data;
                $entry.$next7 = var$5[$index];
                var$5[$index] = $entry;
                return null;
            case 4:
                $tmp = $entry.$hashCode0();
                if ($rt_suspending()) {
                    break main;
                }
                var$12 = $tmp;
                var$13 = (var$12 & 2147483647) % var$9 | 0;
                if (var$13 < var$11)
                    var$11 = var$13;
                if (var$13 > $index)
                    $index = var$13;
                $entry = $result.$next7;
                $result.$next7 = var$5[var$13];
                var$5[var$13] = $result;
                $result = $entry;
                while ($result === null) {
                    $hash = $hash + (-1) | 0;
                    if ($hash < $this.$firstSlot) {
                        $this.$firstSlot = var$11;
                        $this.$lastSlot = $index;
                        $this.$elementData0 = var$10;
                        ju_Hashtable_computeMaxSize($this);
                        $index = var$4 % $this.$elementData0.data.length | 0;
                        if ($index < $this.$firstSlot)
                            $this.$firstSlot = $index;
                        if ($index > $this.$lastSlot)
                            $this.$lastSlot = $index;
                        $entry = new ju_Hashtable$Entry;
                        ju_MapEntry__init_($entry, $key, $value);
                        $ptr = 3;
                        continue main;
                    }
                    $result = $this.$elementData0.data[$hash];
                }
                $entry = $result.$key0;
                continue main;
            default: $rt_invalidPointer();
            }}
        } finally {
            if (!$rt_suspending()) {
                jl_Object_monitorExit($this);
            }
        }
        $rt_nativeThread().push($this, $key, $value, $hash, var$4, var$5, $index, $entry, $result, var$9, var$10, var$11, var$12, var$13, $ptr);
    }
    function ju_Hashtable__clinit_() {
        ju_Hashtable_EMPTY_ENUMERATION = new ju_Hashtable$1;
        ju_Hashtable_EMPTY_ITERATOR = new ju_Hashtable$2;
    }
    function ju_Properties() {
        ju_Hashtable.call(this);
        this.$defaults = null;
    }
    function ju_Properties__init_0() {
        var var_0 = new ju_Properties();
        ju_Properties__init_(var_0);
        return var_0;
    }
    function ju_Properties__init_($this) {
        ju_Hashtable__init_($this);
    }
    function ju_Properties_getProperty($this, $name, $defaultValue) {
        var $result, $property, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$property = $thread.pop();$result = $thread.pop();$defaultValue = $thread.pop();$name = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ju_Hashtable_get($this, $name);
            if ($rt_suspending()) {
                break main;
            }
            $result = $tmp;
            $property = !($result instanceof jl_String) ? null : $result;
            if ($property === null) {
                $result = $this.$defaults;
                if ($result !== null)
                    $property = $result.$getProperty0($name);
            }
            if ($property !== null)
                return $property;
            return $defaultValue;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $name, $defaultValue, $result, $property, $ptr);
    }
    function ju_Properties_load($this, $in) {
        var $mode, $unicode, $count, $buf, $offset, $keyLength, $firstChar, $bis, $intVal, $newBuf, $temp, $nextChar, $digit, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$digit = $thread.pop();$nextChar = $thread.pop();$temp = $thread.pop();$newBuf = $thread.pop();$intVal = $thread.pop();$bis = $thread.pop();$firstChar = $thread.pop();$keyLength = $thread.pop();$offset = $thread.pop();$buf = $thread.pop();$count = $thread.pop();$unicode = $thread.pop();$mode = $thread.pop();$in = $thread.pop();$this = $thread.pop();
        }
        try {
            main: while (true) { switch ($ptr) {
            case 0:
                jl_Object_monitorEnter($this);
                if ($rt_suspending()) {
                    break main;
                }
                if ($in === null) {
                    $in = new jl_NullPointerException;
                    jl_Throwable__init_0($in);
                    $rt_throw($in);
                }
                $mode = 0;
                $unicode = 0;
                $count = 0;
                $buf = $rt_createCharArray(40);
                $offset = 0;
                $keyLength = (-1);
                $firstChar = 1;
                $bis = new ji_BufferedInputStream;
                ji_FilterInputStream__init_0($bis, $in);
                $bis.$markpos = (-1);
                $bis.$buf1 = $rt_createByteArray(8192);
                $ptr = 1;
            case 1:
                $tmp = ji_BufferedInputStream_read($bis);
                if ($rt_suspending()) {
                    break main;
                }
                $intVal = $tmp;
                if ($intVal == (-1)) {
                    if ($mode == 2 && $count < 4) {
                        $in = new jl_IllegalArgumentException;
                        jl_Throwable__init_($in, $rt_s(1251));
                        $rt_throw($in);
                    }
                    if ($mode != 1)
                        $intVal = $offset;
                    else {
                        $newBuf = $buf.data;
                        $intVal = $offset + 1 | 0;
                        $newBuf[$offset] = 0;
                    }
                    if ($keyLength == (-1) && $intVal > 0)
                        $keyLength = $intVal;
                    if ($keyLength < 0)
                        return;
                    $temp = jl_String__init_3($buf, 0, $intVal);
                    $in = jl_String_substring0($temp, 0, $keyLength);
                    $temp = jl_String_substring($temp, $keyLength);
                    $ptr = 2;
                    continue main;
                }
                $newBuf = $buf.data;
                $nextChar = $intVal & 255 & 65535;
                $intVal = $newBuf.length;
                if ($offset != $intVal)
                    $newBuf = $buf;
                else {
                    $newBuf = $rt_createCharArray($intVal * 2 | 0);
                    jl_System_fastArraycopy($buf, 0, $newBuf, 0, $offset);
                }
                a: {
                    if ($mode == 2) {
                        $digit = jl_Character_digit($nextChar, 16);
                        if ($digit >= 0) {
                            $unicode = ($unicode << 4) + $digit | 0;
                            $count = $count + 1 | 0;
                            if ($count < 4) {
                                $buf = $newBuf;
                                break a;
                            }
                        } else if ($count <= 4) {
                            $in = new jl_IllegalArgumentException;
                            jl_Throwable__init_($in, $rt_s(1252));
                            $rt_throw($in);
                        }
                        $buf = $newBuf.data;
                        $mode = 0;
                        $intVal = $offset + 1 | 0;
                        $buf[$offset] = $unicode & 65535;
                        if ($nextChar != 10) {
                            $buf = $newBuf;
                            $offset = $intVal;
                            break a;
                        }
                        $offset = $intVal;
                    }
                    if ($mode == 1)
                        b: {
                            $mode = 0;
                            switch ($nextChar) {
                                case 10:
                                    break;
                                case 13:
                                    $mode = 3;
                                    $buf = $newBuf;
                                    break a;
                                case 98:
                                    $nextChar = 8;
                                    break b;
                                case 102:
                                    $nextChar = 12;
                                    break b;
                                case 110:
                                    $nextChar = 10;
                                    break b;
                                case 114:
                                    $nextChar = 13;
                                    break b;
                                case 116:
                                    $nextChar = 9;
                                    break b;
                                case 117:
                                    $mode = 2;
                                    $unicode = 0;
                                    $count = 0;
                                    $buf = $newBuf;
                                    break a;
                                default:
                                    break b;
                            }
                            $mode = 5;
                            $buf = $newBuf;
                            break a;
                        }
                    else {
                        c: {
                            d: {
                                e: {
                                    switch ($nextChar) {
                                        case 10:
                                            if ($mode != 3)
                                                break c;
                                            $mode = 5;
                                            $buf = $newBuf;
                                            break a;
                                        case 13:
                                            break d;
                                        case 33:
                                        case 35:
                                            if (!$firstChar)
                                                break c;
                                            else {
                                                $ptr = 3;
                                                continue main;
                                            }
                                        case 58:
                                        case 61:
                                            break e;
                                        case 92:
                                            break;
                                        default:
                                            break c;
                                    }
                                    if ($mode == 4)
                                        $keyLength = $offset;
                                    $mode = 1;
                                    $buf = $newBuf;
                                    break a;
                                }
                                if ($keyLength != (-1))
                                    break c;
                                $mode = 0;
                                $intVal = $offset;
                                $keyLength = $offset;
                                $buf = $newBuf;
                                $offset = $intVal;
                                break a;
                            }
                            if ($mode == 3) {
                                $mode = 5;
                                $buf = $newBuf;
                                break a;
                            }
                            $mode = 0;
                            $firstChar = 1;
                            if ($offset <= 0 && !(!$offset && !$keyLength)) {
                                $keyLength = (-1);
                                $offset = 0;
                                $buf = $newBuf;
                                break a;
                            }
                            if ($keyLength == (-1))
                                $keyLength = $offset;
                            $temp = jl_String__init_3($newBuf, 0, $offset);
                            $in = jl_String_substring0($temp, 0, $keyLength);
                            $temp = jl_String_substring($temp, $keyLength);
                            $ptr = 4;
                            continue main;
                        }
                        if (jl_Character_isWhitespace($nextChar)) {
                            if ($mode == 3)
                                $mode = 5;
                            if (!$offset) {
                                $buf = $newBuf;
                                break a;
                            }
                            if ($offset == $keyLength) {
                                $buf = $newBuf;
                                break a;
                            }
                            if ($mode == 5) {
                                $buf = $newBuf;
                                break a;
                            }
                            if ($keyLength == (-1)) {
                                $mode = 4;
                                $buf = $newBuf;
                                break a;
                            }
                        }
                        if (!($mode != 5 && $mode != 3))
                            $mode = 0;
                    }
                    $firstChar = 0;
                    if ($mode == 4) {
                        $mode = 0;
                        $keyLength = $offset;
                    }
                    $buf = $newBuf.data;
                    $intVal = $offset + 1 | 0;
                    $buf[$offset] = $nextChar;
                    $buf = $newBuf;
                    $offset = $intVal;
                }
                continue main;
            case 2:
                ju_Hashtable_put($this, $in, $temp);
                if ($rt_suspending()) {
                    break main;
                }
                return;
            case 3:
                $tmp = ji_BufferedInputStream_read($bis);
                if ($rt_suspending()) {
                    break main;
                }
                $intVal = $tmp;
                if ($intVal == (-1))
                    $buf = $newBuf;
                else {
                    $intVal = $intVal & 65535;
                    if ($intVal == 13)
                        $buf = $newBuf;
                    else {
                        if ($intVal != 10) {
                            continue main;
                        }
                        $buf = $newBuf;
                    }
                }
                $ptr = 1;
                continue main;
            case 4:
                ju_Hashtable_put($this, $in, $temp);
                if ($rt_suspending()) {
                    break main;
                }
                $keyLength = (-1);
                $offset = 0;
                $buf = $newBuf;
                $ptr = 1;
                continue main;
            default: $rt_invalidPointer();
            }}
        } finally {
            if (!$rt_suspending()) {
                jl_Object_monitorExit($this);
            }
        }
        $rt_nativeThread().push($this, $in, $mode, $unicode, $count, $buf, $offset, $keyLength, $firstChar, $bis, $intVal, $newBuf, $temp, $nextChar, $digit, $ptr);
    }
    function jm_RoundingMode() {
        jl_Enum.call(this);
        this.$bigDecimalRM = 0;
    }
    var jm_RoundingMode_UP = null;
    var jm_RoundingMode_DOWN = null;
    var jm_RoundingMode_CEILING = null;
    var jm_RoundingMode_FLOOR = null;
    var jm_RoundingMode_HALF_UP = null;
    var jm_RoundingMode_HALF_DOWN = null;
    var jm_RoundingMode_HALF_EVEN = null;
    var jm_RoundingMode_UNNECESSARY = null;
    var jm_RoundingMode_$VALUES = null;
    function jm_RoundingMode_$callClinit() {
        jm_RoundingMode_$callClinit = $rt_eraseClinit(jm_RoundingMode);
        jm_RoundingMode__clinit_();
    }
    function jm_RoundingMode__init_0(var_0, var_1, var_2) {
        var var_3 = new jm_RoundingMode();
        jm_RoundingMode__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function jm_RoundingMode_values() {
        jm_RoundingMode_$callClinit();
        return jm_RoundingMode_$VALUES.$clone();
    }
    function jm_RoundingMode__init_($this, var$1, var$2, $rm) {
        jm_RoundingMode_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
        $this.$bigDecimalRM = $rm;
    }
    function jm_RoundingMode__clinit_() {
        var var$1;
        jm_RoundingMode_UP = jm_RoundingMode__init_0($rt_s(1253), 0, 0);
        jm_RoundingMode_DOWN = jm_RoundingMode__init_0($rt_s(1254), 1, 1);
        jm_RoundingMode_CEILING = jm_RoundingMode__init_0($rt_s(1255), 2, 2);
        jm_RoundingMode_FLOOR = jm_RoundingMode__init_0($rt_s(1256), 3, 3);
        jm_RoundingMode_HALF_UP = jm_RoundingMode__init_0($rt_s(1257), 4, 4);
        jm_RoundingMode_HALF_DOWN = jm_RoundingMode__init_0($rt_s(1258), 5, 5);
        jm_RoundingMode_HALF_EVEN = jm_RoundingMode__init_0($rt_s(1259), 6, 6);
        var$1 = jm_RoundingMode__init_0($rt_s(1260), 7, 7);
        jm_RoundingMode_UNNECESSARY = var$1;
        jm_RoundingMode_$VALUES = $rt_createArrayFromData(jm_RoundingMode, [jm_RoundingMode_UP, jm_RoundingMode_DOWN, jm_RoundingMode_CEILING, jm_RoundingMode_FLOOR, jm_RoundingMode_HALF_UP, jm_RoundingMode_HALF_DOWN, jm_RoundingMode_HALF_EVEN, var$1]);
    }
    function ju_Currency() {
        jl_Object.call(this);
        this.$resource = null;
    }
    var ju_Currency_currencies = null;
    function ju_Currency_toString($this) {
        return ($this.$resource.code !== null ? $rt_str($this.$resource.code) : null);
    }
    var jur_AbstractCharClass$PredefinedCharacterClasses = $rt_classWithoutFields();
    var jur_AbstractCharClass$PredefinedCharacterClasses_space = null;
    var jur_AbstractCharClass$PredefinedCharacterClasses_digit = null;
    var jur_AbstractCharClass$PredefinedCharacterClasses_contents = null;
    function jur_AbstractCharClass$PredefinedCharacterClasses_$callClinit() {
        jur_AbstractCharClass$PredefinedCharacterClasses_$callClinit = $rt_eraseClinit(jur_AbstractCharClass$PredefinedCharacterClasses);
        jur_AbstractCharClass$PredefinedCharacterClasses__clinit_();
    }
    function jur_AbstractCharClass$PredefinedCharacterClasses__init_0() {
        var var_0 = new jur_AbstractCharClass$PredefinedCharacterClasses();
        jur_AbstractCharClass$PredefinedCharacterClasses__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$PredefinedCharacterClasses__init_($this) {
        jur_AbstractCharClass$PredefinedCharacterClasses_$callClinit();
    }
    function jur_AbstractCharClass$PredefinedCharacterClasses__clinit_() {
        jur_AbstractCharClass$PredefinedCharacterClasses_space = jur_AbstractCharClass$LazySpace__init_0();
        jur_AbstractCharClass$PredefinedCharacterClasses_digit = jur_AbstractCharClass$LazyDigit__init_0();
        jur_AbstractCharClass$PredefinedCharacterClasses_contents = $rt_createArrayFromData($rt_arraycls(jl_Object), [$rt_createArrayFromData(jl_Object, [$rt_s(1261), jur_AbstractCharClass$LazyLower__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1262), jur_AbstractCharClass$LazyUpper__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1263), jur_AbstractCharClass$LazyASCII__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1264), jur_AbstractCharClass$LazyAlpha__init_0()]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1265), jur_AbstractCharClass$PredefinedCharacterClasses_digit]), $rt_createArrayFromData(jl_Object, [$rt_s(1266), jur_AbstractCharClass$LazyAlnum__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1267), jur_AbstractCharClass$LazyPunct__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1268), jur_AbstractCharClass$LazyGraph__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1269), jur_AbstractCharClass$LazyPrint__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1270), jur_AbstractCharClass$LazyBlank__init_0()]),
        $rt_createArrayFromData(jl_Object, [$rt_s(1271), jur_AbstractCharClass$LazyCntrl__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1272), jur_AbstractCharClass$LazyXDigit__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1273), jur_AbstractCharClass$LazyJavaLowerCase__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1274), jur_AbstractCharClass$LazyJavaUpperCase__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1275), jur_AbstractCharClass$LazyJavaWhitespace__init_0()]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1276), jur_AbstractCharClass$LazyJavaMirrored__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1277), jur_AbstractCharClass$LazyJavaDefined__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1278), jur_AbstractCharClass$LazyJavaDigit__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1279), jur_AbstractCharClass$LazyJavaIdentifierIgnorable__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1280), jur_AbstractCharClass$LazyJavaISOControl__init_0()]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1281), jur_AbstractCharClass$LazyJavaJavaIdentifierPart__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1282), jur_AbstractCharClass$LazyJavaJavaIdentifierStart__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1283), jur_AbstractCharClass$LazyJavaLetter__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1284), jur_AbstractCharClass$LazyJavaLetterOrDigit__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1285), jur_AbstractCharClass$LazyJavaSpaceChar__init_0()]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1286), jur_AbstractCharClass$LazyJavaTitleCase__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1287), jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1288), jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(814), jur_AbstractCharClass$PredefinedCharacterClasses_space]), $rt_createArrayFromData(jl_Object, [$rt_s(1289), jur_AbstractCharClass$LazyWord__init_0()]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1290), jur_AbstractCharClass$LazyNonWord__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1291), jur_AbstractCharClass$PredefinedCharacterClasses_space]), $rt_createArrayFromData(jl_Object, [$rt_s(1292), jur_AbstractCharClass$LazyNonSpace__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1293), jur_AbstractCharClass$PredefinedCharacterClasses_digit]), $rt_createArrayFromData(jl_Object, [$rt_s(1294), jur_AbstractCharClass$LazyNonDigit__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1295),
        jur_AbstractCharClass$LazyRange__init_0(0, 127)]), $rt_createArrayFromData(jl_Object, [$rt_s(1296), jur_AbstractCharClass$LazyRange__init_0(128, 255)]), $rt_createArrayFromData(jl_Object, [$rt_s(1297), jur_AbstractCharClass$LazyRange__init_0(256, 383)]), $rt_createArrayFromData(jl_Object, [$rt_s(1298), jur_AbstractCharClass$LazyRange__init_0(384, 591)]), $rt_createArrayFromData(jl_Object, [$rt_s(1299), jur_AbstractCharClass$LazyRange__init_0(592, 687)]), $rt_createArrayFromData(jl_Object, [$rt_s(1300),
        jur_AbstractCharClass$LazyRange__init_0(688, 767)]), $rt_createArrayFromData(jl_Object, [$rt_s(1301), jur_AbstractCharClass$LazyRange__init_0(768, 879)]), $rt_createArrayFromData(jl_Object, [$rt_s(1302), jur_AbstractCharClass$LazyRange__init_0(880, 1023)]), $rt_createArrayFromData(jl_Object, [$rt_s(1303), jur_AbstractCharClass$LazyRange__init_0(1024, 1279)]), $rt_createArrayFromData(jl_Object, [$rt_s(1304), jur_AbstractCharClass$LazyRange__init_0(1280, 1327)]), $rt_createArrayFromData(jl_Object, [$rt_s(1305),
        jur_AbstractCharClass$LazyRange__init_0(1328, 1423)]), $rt_createArrayFromData(jl_Object, [$rt_s(1306), jur_AbstractCharClass$LazyRange__init_0(1424, 1535)]), $rt_createArrayFromData(jl_Object, [$rt_s(1307), jur_AbstractCharClass$LazyRange__init_0(1536, 1791)]), $rt_createArrayFromData(jl_Object, [$rt_s(1308), jur_AbstractCharClass$LazyRange__init_0(1792, 1871)]), $rt_createArrayFromData(jl_Object, [$rt_s(1309), jur_AbstractCharClass$LazyRange__init_0(1872, 1919)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1310), jur_AbstractCharClass$LazyRange__init_0(1920, 1983)]), $rt_createArrayFromData(jl_Object, [$rt_s(1311), jur_AbstractCharClass$LazyRange__init_0(2304, 2431)]), $rt_createArrayFromData(jl_Object, [$rt_s(1312), jur_AbstractCharClass$LazyRange__init_0(2432, 2559)]), $rt_createArrayFromData(jl_Object, [$rt_s(1313), jur_AbstractCharClass$LazyRange__init_0(2560, 2687)]), $rt_createArrayFromData(jl_Object, [$rt_s(1314), jur_AbstractCharClass$LazyRange__init_0(2688, 2815)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1315), jur_AbstractCharClass$LazyRange__init_0(2816, 2943)]), $rt_createArrayFromData(jl_Object, [$rt_s(1316), jur_AbstractCharClass$LazyRange__init_0(2944, 3071)]), $rt_createArrayFromData(jl_Object, [$rt_s(1317), jur_AbstractCharClass$LazyRange__init_0(3072, 3199)]), $rt_createArrayFromData(jl_Object, [$rt_s(1318), jur_AbstractCharClass$LazyRange__init_0(3200, 3327)]), $rt_createArrayFromData(jl_Object, [$rt_s(1319), jur_AbstractCharClass$LazyRange__init_0(3328, 3455)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1320), jur_AbstractCharClass$LazyRange__init_0(3456, 3583)]), $rt_createArrayFromData(jl_Object, [$rt_s(1321), jur_AbstractCharClass$LazyRange__init_0(3584, 3711)]), $rt_createArrayFromData(jl_Object, [$rt_s(1322), jur_AbstractCharClass$LazyRange__init_0(3712, 3839)]), $rt_createArrayFromData(jl_Object, [$rt_s(1323), jur_AbstractCharClass$LazyRange__init_0(3840, 4095)]), $rt_createArrayFromData(jl_Object, [$rt_s(1324), jur_AbstractCharClass$LazyRange__init_0(4096, 4255)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1325), jur_AbstractCharClass$LazyRange__init_0(4256, 4351)]), $rt_createArrayFromData(jl_Object, [$rt_s(1326), jur_AbstractCharClass$LazyRange__init_0(4352, 4607)]), $rt_createArrayFromData(jl_Object, [$rt_s(1327), jur_AbstractCharClass$LazyRange__init_0(4608, 4991)]), $rt_createArrayFromData(jl_Object, [$rt_s(1328), jur_AbstractCharClass$LazyRange__init_0(4992, 5023)]), $rt_createArrayFromData(jl_Object, [$rt_s(1329), jur_AbstractCharClass$LazyRange__init_0(5024, 5119)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1330), jur_AbstractCharClass$LazyRange__init_0(5120, 5759)]), $rt_createArrayFromData(jl_Object, [$rt_s(1331), jur_AbstractCharClass$LazyRange__init_0(5760, 5791)]), $rt_createArrayFromData(jl_Object, [$rt_s(1332), jur_AbstractCharClass$LazyRange__init_0(5792, 5887)]), $rt_createArrayFromData(jl_Object, [$rt_s(1333), jur_AbstractCharClass$LazyRange__init_0(5888, 5919)]), $rt_createArrayFromData(jl_Object, [$rt_s(1334), jur_AbstractCharClass$LazyRange__init_0(5920, 5951)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1335), jur_AbstractCharClass$LazyRange__init_0(5952, 5983)]), $rt_createArrayFromData(jl_Object, [$rt_s(1336), jur_AbstractCharClass$LazyRange__init_0(5984, 6015)]), $rt_createArrayFromData(jl_Object, [$rt_s(1337), jur_AbstractCharClass$LazyRange__init_0(6016, 6143)]), $rt_createArrayFromData(jl_Object, [$rt_s(1338), jur_AbstractCharClass$LazyRange__init_0(6144, 6319)]), $rt_createArrayFromData(jl_Object, [$rt_s(1339), jur_AbstractCharClass$LazyRange__init_0(6400, 6479)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1340), jur_AbstractCharClass$LazyRange__init_0(6480, 6527)]), $rt_createArrayFromData(jl_Object, [$rt_s(1341), jur_AbstractCharClass$LazyRange__init_0(6528, 6623)]), $rt_createArrayFromData(jl_Object, [$rt_s(1342), jur_AbstractCharClass$LazyRange__init_0(6624, 6655)]), $rt_createArrayFromData(jl_Object, [$rt_s(1343), jur_AbstractCharClass$LazyRange__init_0(6656, 6687)]), $rt_createArrayFromData(jl_Object, [$rt_s(1344), jur_AbstractCharClass$LazyRange__init_0(7424, 7551)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1345), jur_AbstractCharClass$LazyRange__init_0(7552, 7615)]), $rt_createArrayFromData(jl_Object, [$rt_s(1346), jur_AbstractCharClass$LazyRange__init_0(7616, 7679)]), $rt_createArrayFromData(jl_Object, [$rt_s(1347), jur_AbstractCharClass$LazyRange__init_0(7680, 7935)]), $rt_createArrayFromData(jl_Object, [$rt_s(1348), jur_AbstractCharClass$LazyRange__init_0(7936, 8191)]), $rt_createArrayFromData(jl_Object, [$rt_s(1349), jur_AbstractCharClass$LazyRange__init_0(8192, 8303)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1350), jur_AbstractCharClass$LazyRange__init_0(8304, 8351)]), $rt_createArrayFromData(jl_Object, [$rt_s(1351), jur_AbstractCharClass$LazyRange__init_0(8352, 8399)]), $rt_createArrayFromData(jl_Object, [$rt_s(1352), jur_AbstractCharClass$LazyRange__init_0(8400, 8447)]), $rt_createArrayFromData(jl_Object, [$rt_s(1353), jur_AbstractCharClass$LazyRange__init_0(8448, 8527)]), $rt_createArrayFromData(jl_Object, [$rt_s(1354), jur_AbstractCharClass$LazyRange__init_0(8528, 8591)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1355), jur_AbstractCharClass$LazyRange__init_0(8592, 8703)]), $rt_createArrayFromData(jl_Object, [$rt_s(1356), jur_AbstractCharClass$LazyRange__init_0(8704, 8959)]), $rt_createArrayFromData(jl_Object, [$rt_s(1357), jur_AbstractCharClass$LazyRange__init_0(8960, 9215)]), $rt_createArrayFromData(jl_Object, [$rt_s(1358), jur_AbstractCharClass$LazyRange__init_0(9216, 9279)]), $rt_createArrayFromData(jl_Object, [$rt_s(1359), jur_AbstractCharClass$LazyRange__init_0(9280, 9311)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1360), jur_AbstractCharClass$LazyRange__init_0(9312, 9471)]), $rt_createArrayFromData(jl_Object, [$rt_s(1361), jur_AbstractCharClass$LazyRange__init_0(9472, 9599)]), $rt_createArrayFromData(jl_Object, [$rt_s(1362), jur_AbstractCharClass$LazyRange__init_0(9600, 9631)]), $rt_createArrayFromData(jl_Object, [$rt_s(1363), jur_AbstractCharClass$LazyRange__init_0(9632, 9727)]), $rt_createArrayFromData(jl_Object, [$rt_s(1364), jur_AbstractCharClass$LazyRange__init_0(9728, 9983)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1365), jur_AbstractCharClass$LazyRange__init_0(9984, 10175)]), $rt_createArrayFromData(jl_Object, [$rt_s(1366), jur_AbstractCharClass$LazyRange__init_0(10176, 10223)]), $rt_createArrayFromData(jl_Object, [$rt_s(1367), jur_AbstractCharClass$LazyRange__init_0(10224, 10239)]), $rt_createArrayFromData(jl_Object, [$rt_s(1368), jur_AbstractCharClass$LazyRange__init_0(10240, 10495)]), $rt_createArrayFromData(jl_Object, [$rt_s(1369), jur_AbstractCharClass$LazyRange__init_0(10496, 10623)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1370), jur_AbstractCharClass$LazyRange__init_0(10624, 10751)]), $rt_createArrayFromData(jl_Object, [$rt_s(1371), jur_AbstractCharClass$LazyRange__init_0(10752, 11007)]), $rt_createArrayFromData(jl_Object, [$rt_s(1372), jur_AbstractCharClass$LazyRange__init_0(11008, 11263)]), $rt_createArrayFromData(jl_Object, [$rt_s(1373), jur_AbstractCharClass$LazyRange__init_0(11264, 11359)]), $rt_createArrayFromData(jl_Object, [$rt_s(1374), jur_AbstractCharClass$LazyRange__init_0(11392, 11519)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1375), jur_AbstractCharClass$LazyRange__init_0(11520, 11567)]), $rt_createArrayFromData(jl_Object, [$rt_s(1376), jur_AbstractCharClass$LazyRange__init_0(11568, 11647)]), $rt_createArrayFromData(jl_Object, [$rt_s(1377), jur_AbstractCharClass$LazyRange__init_0(11648, 11743)]), $rt_createArrayFromData(jl_Object, [$rt_s(1378), jur_AbstractCharClass$LazyRange__init_0(11776, 11903)]), $rt_createArrayFromData(jl_Object, [$rt_s(1379), jur_AbstractCharClass$LazyRange__init_0(11904, 12031)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1380), jur_AbstractCharClass$LazyRange__init_0(12032, 12255)]), $rt_createArrayFromData(jl_Object, [$rt_s(1381), jur_AbstractCharClass$LazyRange__init_0(12272, 12287)]), $rt_createArrayFromData(jl_Object, [$rt_s(1382), jur_AbstractCharClass$LazyRange__init_0(12288, 12351)]), $rt_createArrayFromData(jl_Object, [$rt_s(1383), jur_AbstractCharClass$LazyRange__init_0(12352, 12447)]), $rt_createArrayFromData(jl_Object, [$rt_s(1384), jur_AbstractCharClass$LazyRange__init_0(12448, 12543)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1385), jur_AbstractCharClass$LazyRange__init_0(12544, 12591)]), $rt_createArrayFromData(jl_Object, [$rt_s(1386), jur_AbstractCharClass$LazyRange__init_0(12592, 12687)]), $rt_createArrayFromData(jl_Object, [$rt_s(1387), jur_AbstractCharClass$LazyRange__init_0(12688, 12703)]), $rt_createArrayFromData(jl_Object, [$rt_s(1388), jur_AbstractCharClass$LazyRange__init_0(12704, 12735)]), $rt_createArrayFromData(jl_Object, [$rt_s(1389), jur_AbstractCharClass$LazyRange__init_0(12736, 12783)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1390), jur_AbstractCharClass$LazyRange__init_0(12784, 12799)]), $rt_createArrayFromData(jl_Object, [$rt_s(1391), jur_AbstractCharClass$LazyRange__init_0(12800, 13055)]), $rt_createArrayFromData(jl_Object, [$rt_s(1392), jur_AbstractCharClass$LazyRange__init_0(13056, 13311)]), $rt_createArrayFromData(jl_Object, [$rt_s(1393), jur_AbstractCharClass$LazyRange__init_0(13312, 19893)]), $rt_createArrayFromData(jl_Object, [$rt_s(1394), jur_AbstractCharClass$LazyRange__init_0(19904, 19967)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1395), jur_AbstractCharClass$LazyRange__init_0(19968, 40959)]), $rt_createArrayFromData(jl_Object, [$rt_s(1396), jur_AbstractCharClass$LazyRange__init_0(40960, 42127)]), $rt_createArrayFromData(jl_Object, [$rt_s(1397), jur_AbstractCharClass$LazyRange__init_0(42128, 42191)]), $rt_createArrayFromData(jl_Object, [$rt_s(1398), jur_AbstractCharClass$LazyRange__init_0(42752, 42783)]), $rt_createArrayFromData(jl_Object, [$rt_s(1399), jur_AbstractCharClass$LazyRange__init_0(43008, 43055)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1400), jur_AbstractCharClass$LazyRange__init_0(44032, 55203)]), $rt_createArrayFromData(jl_Object, [$rt_s(1401), jur_AbstractCharClass$LazyRange__init_0(55296, 56191)]), $rt_createArrayFromData(jl_Object, [$rt_s(1402), jur_AbstractCharClass$LazyRange__init_0(56192, 56319)]), $rt_createArrayFromData(jl_Object, [$rt_s(1403), jur_AbstractCharClass$LazyRange__init_0(56320, 57343)]), $rt_createArrayFromData(jl_Object, [$rt_s(1404), jur_AbstractCharClass$LazyRange__init_0(57344, 63743)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1405), jur_AbstractCharClass$LazyRange__init_0(63744, 64255)]), $rt_createArrayFromData(jl_Object, [$rt_s(1406), jur_AbstractCharClass$LazyRange__init_0(64256, 64335)]), $rt_createArrayFromData(jl_Object, [$rt_s(1407), jur_AbstractCharClass$LazyRange__init_0(64336, 65023)]), $rt_createArrayFromData(jl_Object, [$rt_s(1408), jur_AbstractCharClass$LazyRange__init_0(65024, 65039)]), $rt_createArrayFromData(jl_Object, [$rt_s(1409), jur_AbstractCharClass$LazyRange__init_0(65040, 65055)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1410), jur_AbstractCharClass$LazyRange__init_0(65056, 65071)]), $rt_createArrayFromData(jl_Object, [$rt_s(1411), jur_AbstractCharClass$LazyRange__init_0(65072, 65103)]), $rt_createArrayFromData(jl_Object, [$rt_s(1412), jur_AbstractCharClass$LazyRange__init_0(65104, 65135)]), $rt_createArrayFromData(jl_Object, [$rt_s(1413), jur_AbstractCharClass$LazyRange__init_0(65136, 65279)]), $rt_createArrayFromData(jl_Object, [$rt_s(1414), jur_AbstractCharClass$LazyRange__init_0(65280, 65519)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1415), jur_AbstractCharClass$LazyRange__init_0(0, 1114111)]), $rt_createArrayFromData(jl_Object, [$rt_s(1416), jur_AbstractCharClass$LazySpecialsBlock__init_0()]), $rt_createArrayFromData(jl_Object, [$rt_s(1417), jur_AbstractCharClass$LazyCategory__init_1(0, 1)]), $rt_createArrayFromData(jl_Object, [$rt_s(1418), jur_AbstractCharClass$LazyCategoryScope__init_1(62, 1)]), $rt_createArrayFromData(jl_Object, [$rt_s(1419), jur_AbstractCharClass$LazyCategory__init_1(1, 1)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1420), jur_AbstractCharClass$LazyCategory__init_1(2, 1)]), $rt_createArrayFromData(jl_Object, [$rt_s(1421), jur_AbstractCharClass$LazyCategory__init_1(3, 0)]), $rt_createArrayFromData(jl_Object, [$rt_s(1422), jur_AbstractCharClass$LazyCategory__init_1(4, 0)]), $rt_createArrayFromData(jl_Object, [$rt_s(1423), jur_AbstractCharClass$LazyCategory__init_1(5, 1)]), $rt_createArrayFromData(jl_Object, [$rt_s(1424), jur_AbstractCharClass$LazyCategoryScope__init_1(448, 1)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1425), jur_AbstractCharClass$LazyCategory__init_1(6, 1)]), $rt_createArrayFromData(jl_Object, [$rt_s(1426), jur_AbstractCharClass$LazyCategory__init_1(7, 0)]), $rt_createArrayFromData(jl_Object, [$rt_s(1427), jur_AbstractCharClass$LazyCategory__init_1(8, 1)]), $rt_createArrayFromData(jl_Object, [$rt_s(1428), jur_AbstractCharClass$LazyCategoryScope__init_1(3584, 1)]), $rt_createArrayFromData(jl_Object, [$rt_s(1429), jur_AbstractCharClass$LazyCategory__init_1(9, 1)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1430), jur_AbstractCharClass$LazyCategory__init_1(10, 1)]), $rt_createArrayFromData(jl_Object, [$rt_s(1431), jur_AbstractCharClass$LazyCategory__init_1(11, 1)]), $rt_createArrayFromData(jl_Object, [$rt_s(1432), jur_AbstractCharClass$LazyCategoryScope__init_1(28672, 0)]), $rt_createArrayFromData(jl_Object, [$rt_s(1433), jur_AbstractCharClass$LazyCategory__init_1(12, 0)]), $rt_createArrayFromData(jl_Object, [$rt_s(1434), jur_AbstractCharClass$LazyCategory__init_1(13, 0)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1435), jur_AbstractCharClass$LazyCategory__init_1(14, 0)]), $rt_createArrayFromData(jl_Object, [$rt_s(1436), jur_AbstractCharClass$LazyCategoryScope__init_2(983040, 1, 1)]), $rt_createArrayFromData(jl_Object, [$rt_s(1437), jur_AbstractCharClass$LazyCategory__init_1(15, 0)]), $rt_createArrayFromData(jl_Object, [$rt_s(1438), jur_AbstractCharClass$LazyCategory__init_1(16, 1)]), $rt_createArrayFromData(jl_Object, [$rt_s(1439), jur_AbstractCharClass$LazyCategory__init_1(18, 1)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1440), jur_AbstractCharClass$LazyCategory__init_2(19, 0, 1)]), $rt_createArrayFromData(jl_Object, [$rt_s(1441), jur_AbstractCharClass$LazyCategoryScope__init_1(1643118592, 1)]), $rt_createArrayFromData(jl_Object, [$rt_s(1442), jur_AbstractCharClass$LazyCategory__init_1(20, 0)]), $rt_createArrayFromData(jl_Object, [$rt_s(1443), jur_AbstractCharClass$LazyCategory__init_1(21, 0)]), $rt_createArrayFromData(jl_Object, [$rt_s(1444), jur_AbstractCharClass$LazyCategory__init_1(22, 0)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1445), jur_AbstractCharClass$LazyCategory__init_1(23, 0)]), $rt_createArrayFromData(jl_Object, [$rt_s(1446), jur_AbstractCharClass$LazyCategory__init_1(24, 1)]), $rt_createArrayFromData(jl_Object, [$rt_s(1447), jur_AbstractCharClass$LazyCategoryScope__init_1(2113929216, 1)]), $rt_createArrayFromData(jl_Object, [$rt_s(1448), jur_AbstractCharClass$LazyCategory__init_1(25, 1)]), $rt_createArrayFromData(jl_Object, [$rt_s(1449), jur_AbstractCharClass$LazyCategory__init_1(26, 0)]), $rt_createArrayFromData(jl_Object,
        [$rt_s(1450), jur_AbstractCharClass$LazyCategory__init_1(27, 0)]), $rt_createArrayFromData(jl_Object, [$rt_s(1451), jur_AbstractCharClass$LazyCategory__init_1(28, 1)]), $rt_createArrayFromData(jl_Object, [$rt_s(1452), jur_AbstractCharClass$LazyCategory__init_1(29, 0)]), $rt_createArrayFromData(jl_Object, [$rt_s(1453), jur_AbstractCharClass$LazyCategory__init_1(30, 0)])]);
    }
    function jur_UCISupplCharSet() {
        jur_LeafSet.call(this);
        this.$ch1 = 0;
    }
    function jur_UCISupplCharSet_accepts($this, $strIndex, $testString) {
        var $low, $high;
        $low = $strIndex + 1 | 0;
        $high = jl_String_charAt($testString, $strIndex);
        $low = jl_String_charAt($testString, $low);
        return $this.$ch1 != jl_Character_toLowerCase0(jl_Character_toUpperCase0(jl_Character_toCodePoint($high, $low))) ? (-1) : 2;
    }
    function jur_UCISupplCharSet_getName($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = jl_String__init_(jl_Character_toChars($this.$ch1));
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(1231);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function jur_LowSurrogateCharSet() {
        jur_JointSet.call(this);
        this.$low0 = 0;
    }
    function jur_LowSurrogateCharSet__init_0(var_0) {
        var var_1 = new jur_LowSurrogateCharSet();
        jur_LowSurrogateCharSet__init_(var_1, var_0);
        return var_1;
    }
    function jur_LowSurrogateCharSet__init_($this, $low) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$low = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$low0 = $low;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $low, $ptr);
    }
    function jur_LowSurrogateCharSet_setNext($this, $next) {
        $this.$next6 = $next;
    }
    function jur_LowSurrogateCharSet_matches($this, $stringIndex, $testString, $matchResult) {
        var var$4, $low, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$low = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $stringIndex + 1 | 0;
            if (var$4 > $matchResult.$rightBound0) {
                $matchResult.$hitEnd = 1;
                return (-1);
            }
            $low = jl_String_charAt($testString, $stringIndex);
            if ($stringIndex > $matchResult.$leftBound0 && jl_Character_isHighSurrogate(jl_String_charAt($testString, $stringIndex - 1 | 0)))
                return (-1);
            if ($this.$low0 != $low)
                return (-1);
            var$6 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$6.$matches0(var$4, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $low, var$6, $ptr);
    }
    function jur_LowSurrogateCharSet_find($this, $strIndex, $testStr, $matchResult) {
        var $startStr, $strLength, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$strLength = $thread.pop();$startStr = $thread.pop();$matchResult = $thread.pop();$testStr = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!($testStr instanceof jl_String)) {
                $ptr = 1;
                continue main;
            }
            $startStr = $matchResult.$leftBound0;
            $strLength = $matchResult.$rightBound0;
            a: {
                while ($strIndex < $strLength) {
                    var$6 = jl_String_indexOf($testStr, $this.$low0, $strIndex);
                    if (var$6 < 0)
                        return (-1);
                    if (var$6 <= $startStr)
                        break a;
                    if (!jl_Character_isHighSurrogate(jl_String_charAt($testStr, var$6 - 1 | 0)))
                        break a;
                    $strIndex = var$6 + 1 | 0;
                }
                return (-1);
            }
            var$7 = $this.$next6;
            $strIndex = var$6 + 1 | 0;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = jur_AbstractSet_find($this, $strIndex, $testStr, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        case 2:
            $tmp = var$7.$matches0($strIndex, $testStr, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8 >= 0)
                return var$6;
            a: {
                while ($strIndex < $strLength) {
                    var$6 = jl_String_indexOf($testStr, $this.$low0, $strIndex);
                    if (var$6 < 0)
                        return (-1);
                    if (var$6 <= $startStr)
                        break a;
                    if (!jl_Character_isHighSurrogate(jl_String_charAt($testStr, var$6 - 1 | 0)))
                        break a;
                    $strIndex = var$6 + 1 | 0;
                }
                return (-1);
            }
            var$7 = $this.$next6;
            $strIndex = var$6 + 1 | 0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $testStr, $matchResult, $startStr, $strLength, var$6, var$7, var$8, $ptr);
    }
    function jur_LowSurrogateCharSet_findBack($this, $strIndex, $lastIndex, $testStr, $matchResult) {
        var $startStr, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$startStr = $thread.pop();$matchResult = $thread.pop();$testStr = $thread.pop();$lastIndex = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!($testStr instanceof jl_String)) {
                $ptr = 1;
                continue main;
            }
            $startStr = $matchResult.$leftBound0;
            a: {
                b: {
                    while ($lastIndex >= $strIndex) {
                        var$6 = jl_String_lastIndexOf0($testStr, $this.$low0, $lastIndex);
                        if (var$6 < 0)
                            break b;
                        if (var$6 < $strIndex)
                            break b;
                        if (var$6 <= $startStr)
                            break a;
                        if (!jl_Character_isHighSurrogate(jl_String_charAt($testStr, var$6 - 1 | 0)))
                            break a;
                        $lastIndex = var$6 + (-2) | 0;
                    }
                    return (-1);
                }
                return (-1);
            }
            var$7 = $this.$next6;
            $lastIndex = var$6 + 1 | 0;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = jur_AbstractSet_findBack($this, $strIndex, $lastIndex, $testStr, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        case 2:
            $tmp = var$7.$matches0($lastIndex, $testStr, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $lastIndex = $tmp;
            if ($lastIndex >= 0)
                return var$6;
            $lastIndex = var$6 + (-1) | 0;
            a: {
                b: {
                    while ($lastIndex >= $strIndex) {
                        var$6 = jl_String_lastIndexOf0($testStr, $this.$low0, $lastIndex);
                        if (var$6 < 0)
                            break b;
                        if (var$6 < $strIndex)
                            break b;
                        if (var$6 <= $startStr)
                            break a;
                        if (!jl_Character_isHighSurrogate(jl_String_charAt($testStr, var$6 - 1 | 0)))
                            break a;
                        $lastIndex = var$6 + (-2) | 0;
                    }
                    return (-1);
                }
                return (-1);
            }
            var$7 = $this.$next6;
            $lastIndex = var$6 + 1 | 0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $lastIndex, $testStr, $matchResult, $startStr, var$6, var$7, $ptr);
    }
    function jur_LowSurrogateCharSet_getName($this) {
        var var$1, var$2;
        var$1 = $this.$low0;
        var$2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$2);
        jl_AbstractStringBuilder_append(var$2, var$1);
        return jl_AbstractStringBuilder_toString(var$2);
    }
    function jur_LowSurrogateCharSet_first($this, $set) {
        if ($set instanceof jur_CharSet)
            return 0;
        if ($set instanceof jur_RangeSet)
            return 0;
        if ($set instanceof jur_SupplRangeSet)
            return 0;
        if ($set instanceof jur_SupplCharSet)
            return 0;
        if ($set instanceof jur_HighSurrogateCharSet)
            return 0;
        if (!($set instanceof jur_LowSurrogateCharSet))
            return 1;
        return $set.$low0 != $this.$low0 ? 0 : 1;
    }
    function jur_LowSurrogateCharSet_hasConsumed($this, $matchResult) {
        return 1;
    }
    function jur_HighSurrogateCharSet() {
        jur_JointSet.call(this);
        this.$high0 = 0;
    }
    function jur_HighSurrogateCharSet__init_0(var_0) {
        var var_1 = new jur_HighSurrogateCharSet();
        jur_HighSurrogateCharSet__init_(var_1, var_0);
        return var_1;
    }
    function jur_HighSurrogateCharSet__init_($this, $high) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$high = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_AbstractSet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$high0 = $high;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $high, $ptr);
    }
    function jur_HighSurrogateCharSet_setNext($this, $next) {
        $this.$next6 = $next;
    }
    function jur_HighSurrogateCharSet_matches($this, $stringIndex, $testString, $matchResult) {
        var $strLength, var$5, $low, $high, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();$high = $thread.pop();$low = $thread.pop();var$5 = $thread.pop();$strLength = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $strLength = $matchResult.$rightBound0;
            var$5 = $stringIndex + 1 | 0;
            $low = $rt_compare(var$5, $strLength);
            if ($low > 0) {
                $matchResult.$hitEnd = 1;
                return (-1);
            }
            $high = jl_String_charAt($testString, $stringIndex);
            if ($low < 0 && jl_Character_isLowSurrogate(jl_String_charAt($testString, var$5)))
                return (-1);
            if ($this.$high0 != $high)
                return (-1);
            var$8 = $this.$next6;
            $ptr = 1;
        case 1:
            $tmp = var$8.$matches0(var$5, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $stringIndex = $tmp;
            return $stringIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, $strLength, var$5, $low, $high, var$8, $ptr);
    }
    function jur_HighSurrogateCharSet_find($this, $strIndex, $testStr, $matchResult) {
        var $strLength, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$strLength = $thread.pop();$matchResult = $thread.pop();$testStr = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!($testStr instanceof jl_String)) {
                $ptr = 1;
                continue main;
            }
            $strLength = $matchResult.$rightBound0;
            a: {
                while ($strIndex < $strLength) {
                    var$5 = jl_String_indexOf($testStr, $this.$high0, $strIndex);
                    if (var$5 < 0)
                        return (-1);
                    $strIndex = var$5 + 1 | 0;
                    if ($strIndex >= $strLength)
                        break a;
                    if (!jl_Character_isLowSurrogate(jl_String_charAt($testStr, $strIndex)))
                        break a;
                    $strIndex = var$5 + 2 | 0;
                }
                return (-1);
            }
            var$6 = $this.$next6;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = jur_AbstractSet_find($this, $strIndex, $testStr, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        case 2:
            $tmp = var$6.$matches0($strIndex, $testStr, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7 >= 0)
                return var$5;
            a: {
                while ($strIndex < $strLength) {
                    var$5 = jl_String_indexOf($testStr, $this.$high0, $strIndex);
                    if (var$5 < 0)
                        return (-1);
                    $strIndex = var$5 + 1 | 0;
                    if ($strIndex >= $strLength)
                        break a;
                    if (!jl_Character_isLowSurrogate(jl_String_charAt($testStr, $strIndex)))
                        break a;
                    $strIndex = var$5 + 2 | 0;
                }
                return (-1);
            }
            var$6 = $this.$next6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $testStr, $matchResult, $strLength, var$5, var$6, var$7, $ptr);
    }
    function jur_HighSurrogateCharSet_findBack($this, $strIndex, $lastIndex, $testStr, $matchResult) {
        var $strLength, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$strLength = $thread.pop();$matchResult = $thread.pop();$testStr = $thread.pop();$lastIndex = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!($testStr instanceof jl_String)) {
                $ptr = 1;
                continue main;
            }
            $strLength = $matchResult.$rightBound0;
            a: {
                b: {
                    while ($lastIndex >= $strIndex) {
                        var$6 = jl_String_lastIndexOf0($testStr, $this.$high0, $lastIndex);
                        if (var$6 < 0)
                            break b;
                        if (var$6 < $strIndex)
                            break b;
                        $lastIndex = var$6 + 1 | 0;
                        if ($lastIndex >= $strLength)
                            break a;
                        if (!jl_Character_isLowSurrogate(jl_String_charAt($testStr, $lastIndex)))
                            break a;
                        $lastIndex = var$6 + (-1) | 0;
                    }
                    return (-1);
                }
                return (-1);
            }
            var$7 = $this.$next6;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = jur_AbstractSet_findBack($this, $strIndex, $lastIndex, $testStr, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        case 2:
            $tmp = var$7.$matches0($lastIndex, $testStr, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $lastIndex = $tmp;
            if ($lastIndex >= 0)
                return var$6;
            $lastIndex = var$6 + (-1) | 0;
            a: {
                b: {
                    while ($lastIndex >= $strIndex) {
                        var$6 = jl_String_lastIndexOf0($testStr, $this.$high0, $lastIndex);
                        if (var$6 < 0)
                            break b;
                        if (var$6 < $strIndex)
                            break b;
                        $lastIndex = var$6 + 1 | 0;
                        if ($lastIndex >= $strLength)
                            break a;
                        if (!jl_Character_isLowSurrogate(jl_String_charAt($testStr, $lastIndex)))
                            break a;
                        $lastIndex = var$6 + (-1) | 0;
                    }
                    return (-1);
                }
                return (-1);
            }
            var$7 = $this.$next6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $lastIndex, $testStr, $matchResult, $strLength, var$6, var$7, $ptr);
    }
    function jur_HighSurrogateCharSet_getName($this) {
        var var$1, var$2;
        var$1 = $this.$high0;
        var$2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$2);
        jl_AbstractStringBuilder_append(var$2, var$1);
        return jl_AbstractStringBuilder_toString(var$2);
    }
    function jur_HighSurrogateCharSet_first($this, $set) {
        if ($set instanceof jur_CharSet)
            return 0;
        if ($set instanceof jur_RangeSet)
            return 0;
        if ($set instanceof jur_SupplRangeSet)
            return 0;
        if ($set instanceof jur_SupplCharSet)
            return 0;
        if ($set instanceof jur_LowSurrogateCharSet)
            return 0;
        if (!($set instanceof jur_HighSurrogateCharSet))
            return 1;
        return $set.$high0 != $this.$high0 ? 0 : 1;
    }
    function jur_HighSurrogateCharSet_hasConsumed($this, $matchResult) {
        return 1;
    }
    function jur_SupplCharSet() {
        var a = this; jur_LeafSet.call(a);
        a.$high = 0;
        a.$low = 0;
        a.$ch0 = 0;
    }
    function jur_SupplCharSet_accepts($this, $strIndex, $testString) {
        var $low, $high;
        $low = $strIndex + 1 | 0;
        $high = jl_String_charAt($testString, $strIndex);
        $low = jl_String_charAt($testString, $low);
        return $this.$high == $high && $this.$low == $low ? 2 : (-1);
    }
    function jur_SupplCharSet_find($this, $strIndex, $testStr, $matchResult) {
        var $strLength, $ch, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$ch = $thread.pop();$strLength = $thread.pop();$matchResult = $thread.pop();$testStr = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!($testStr instanceof jl_String)) {
                $ptr = 1;
                continue main;
            }
            $strLength = $matchResult.$rightBound0;
            while ($strIndex < $strLength) {
                $strIndex = jl_String_indexOf($testStr, $this.$high, $strIndex);
                if ($strIndex < 0)
                    return (-1);
                $strIndex = $strIndex + 1 | 0;
                if ($strIndex >= $strLength)
                    continue;
                $ch = jl_String_charAt($testStr, $strIndex);
                if ($this.$low == $ch) {
                    var$6 = $this.$next6;
                    $ch = $strIndex + 1 | 0;
                    $ptr = 2;
                    continue main;
                }
                $strIndex = $strIndex + 1 | 0;
            }
            return (-1);
        case 1:
            $tmp = jur_AbstractSet_find($this, $strIndex, $testStr, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        case 2:
            $tmp = var$6.$matches0($ch, $testStr, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $ch = $tmp;
            if ($ch >= 0)
                return $strIndex + (-1) | 0;
            a: while (true) {
                $strIndex = $strIndex + 1 | 0;
                while (true) {
                    if ($strIndex >= $strLength)
                        return (-1);
                    $strIndex = jl_String_indexOf($testStr, $this.$high, $strIndex);
                    if ($strIndex < 0)
                        break a;
                    $strIndex = $strIndex + 1 | 0;
                    if ($strIndex < $strLength)
                        break;
                }
                $ch = jl_String_charAt($testStr, $strIndex);
                if ($this.$low != $ch)
                    continue;
                else {
                    var$6 = $this.$next6;
                    $ch = $strIndex + 1 | 0;
                    continue main;
                }
            }
            return (-1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $testStr, $matchResult, $strLength, $ch, var$6, $ptr);
    }
    function jur_SupplCharSet_findBack($this, $strIndex, $lastIndex, $testStr, $matchResult) {
        var var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$matchResult = $thread.pop();$testStr = $thread.pop();$lastIndex = $thread.pop();$strIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!($testStr instanceof jl_String)) {
                $ptr = 1;
                continue main;
            }
            a: {
                while ($lastIndex >= $strIndex) {
                    var$5 = jl_String_lastIndexOf0($testStr, $this.$low, $lastIndex) + (-1) | 0;
                    if (var$5 < 0)
                        break a;
                    if (var$5 < $strIndex)
                        break a;
                    if ($this.$high == jl_String_charAt($testStr, var$5)) {
                        var$6 = $this.$next6;
                        $lastIndex = var$5 + 2 | 0;
                        $ptr = 2;
                        continue main;
                    }
                    $lastIndex = var$5 + (-1) | 0;
                }
                return (-1);
            }
            return (-1);
        case 1:
            $tmp = jur_AbstractSet_findBack($this, $strIndex, $lastIndex, $testStr, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $strIndex = $tmp;
            return $strIndex;
        case 2:
            $tmp = var$6.$matches0($lastIndex, $testStr, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $lastIndex = $tmp;
            if ($lastIndex >= 0)
                return var$5;
            while (true) {
                $lastIndex = var$5 + (-1) | 0;
                if ($lastIndex < $strIndex)
                    return (-1);
                var$5 = jl_String_lastIndexOf0($testStr, $this.$low, $lastIndex) + (-1) | 0;
                if (var$5 < 0)
                    break;
                if (var$5 < $strIndex)
                    break;
                if ($this.$high != jl_String_charAt($testStr, var$5))
                    continue;
                else {
                    var$6 = $this.$next6;
                    $lastIndex = var$5 + 2 | 0;
                    continue main;
                }
            }
            return (-1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $strIndex, $lastIndex, $testStr, $matchResult, var$5, var$6, $ptr);
    }
    function jur_SupplCharSet_getName($this) {
        var var$1, var$2, var$3;
        var$1 = $this.$high;
        var$2 = $this.$low;
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append(var$3, var$1);
        jl_AbstractStringBuilder_append(var$3, var$2);
        return jl_AbstractStringBuilder_toString(var$3);
    }
    function jur_SupplCharSet_first($this, $set) {
        if ($set instanceof jur_SupplCharSet)
            return $set.$ch0 != $this.$ch0 ? 0 : 1;
        if ($set instanceof jur_SupplRangeSet)
            return $set.$contains1($this.$ch0);
        if ($set instanceof jur_CharSet)
            return 0;
        if (!($set instanceof jur_RangeSet))
            return 1;
        return 0;
    }
    var jur_AbstractLineTerminator$1 = $rt_classWithoutFields(jur_AbstractLineTerminator);
    function jur_AbstractLineTerminator$1__init_0() {
        var var_0 = new jur_AbstractLineTerminator$1();
        jur_AbstractLineTerminator$1__init_(var_0);
        return var_0;
    }
    function jur_AbstractLineTerminator$1__init_($this) {}
    function jur_AbstractLineTerminator$1_isLineTerminator($this, $ch) {
        return $ch != 10 ? 0 : 1;
    }
    function jur_AbstractLineTerminator$1_isAfterLineTerminator($this, $ch, $ch2) {
        return $ch != 10 ? 0 : 1;
    }
    var jur_AbstractLineTerminator$2 = $rt_classWithoutFields(jur_AbstractLineTerminator);
    function jur_AbstractLineTerminator$2__init_0() {
        var var_0 = new jur_AbstractLineTerminator$2();
        jur_AbstractLineTerminator$2__init_(var_0);
        return var_0;
    }
    function jur_AbstractLineTerminator$2__init_($this) {}
    function jur_AbstractLineTerminator$2_isLineTerminator($this, $ch) {
        return $ch != 10 && $ch != 13 && $ch != 133 && ($ch | 1) != 8233 ? 0 : 1;
    }
    function jur_AbstractLineTerminator$2_isAfterLineTerminator($this, $ch, $ch2) {
        a: {
            b: {
                if ($ch != 10 && $ch != 133 && ($ch | 1) != 8233) {
                    if ($ch != 13)
                        break b;
                    if ($ch2 == 10)
                        break b;
                }
                $ch = 1;
                break a;
            }
            $ch = 0;
        }
        return $ch;
    }
    function jur_SequenceSet$IntHash() {
        var a = this; jl_Object.call(a);
        a.$table = null;
        a.$values5 = null;
        a.$mask0 = 0;
        a.$size7 = 0;
    }
    function jur_SequenceSet$IntHash__init_0(var_0) {
        var var_1 = new jur_SequenceSet$IntHash();
        jur_SequenceSet$IntHash__init_(var_1, var_0);
        return var_1;
    }
    function jur_SequenceSet$IntHash__init_($this, $size) {
        var var$2, var$3;
        while (true) {
            var$2 = $this.$mask0;
            if ($size < var$2)
                break;
            $this.$mask0 = var$2 << 1 | 1;
        }
        var$3 = var$2 << 1 | 1;
        $this.$mask0 = var$3;
        var$3 = var$3 + 1 | 0;
        $this.$table = $rt_createIntArray(var$3);
        $this.$values5 = $rt_createIntArray(var$3);
        $this.$size7 = $size;
    }
    function jur_SequenceSet$IntHash_put($this, $key, $value) {
        var $i, var$4, $hashCode, var$6;
        $i = 0;
        var$4 = $this.$mask0;
        $hashCode = $key & var$4;
        while (true) {
            var$6 = $this.$table.data;
            if (!var$6[$hashCode])
                break;
            if (var$6[$hashCode] == $key)
                break;
            $i = ($i + 1 | 0) & var$4;
            $hashCode = ($hashCode + $i | 0) & var$4;
        }
        var$6[$hashCode] = $key;
        $this.$values5.data[$hashCode] = $value;
    }
    function jur_SequenceSet$IntHash_get($this, $key) {
        var var$2, $hashCode, $i, $storedKey;
        var$2 = $this.$mask0;
        $hashCode = $key & var$2;
        $i = 0;
        while (true) {
            $storedKey = $this.$table.data[$hashCode];
            if (!$storedKey)
                break;
            if ($storedKey == $key)
                return $this.$values5.data[$hashCode];
            $i = ($i + 1 | 0) & var$2;
            $hashCode = ($hashCode + $i | 0) & var$2;
        }
        return $this.$size7;
    }
    function nle_EaglerInputStream() {
        var a = this; ji_InputStream.call(a);
        a.$buf2 = null;
        a.$pos1 = 0;
        a.$mark5 = 0;
        a.$count3 = 0;
    }
    function nle_EaglerInputStream__init_(var_0) {
        var var_1 = new nle_EaglerInputStream();
        nle_EaglerInputStream__init_0(var_1, var_0);
        return var_1;
    }
    function nle_EaglerInputStream__init_0($this, $buf) {
        var var$2;
        var$2 = $buf.data;
        $this.$mark5 = 0;
        $this.$buf2 = $buf;
        $this.$pos1 = 0;
        $this.$count3 = var$2.length;
    }
    function nle_EaglerInputStream_read($this) {
        var var$1, var$2, var$3;
        var$1 = $this.$pos1;
        if (var$1 >= $this.$count3)
            var$2 = (-1);
        else {
            var$3 = $this.$buf2.data;
            $this.$pos1 = var$1 + 1 | 0;
            var$2 = var$3[var$1] & 255;
        }
        return var$2;
    }
    function nle_EaglerInputStream_read0($this, $b, $off, $len) {
        var var$4, var$5, $avail;
        var$4 = $this.$pos1;
        var$5 = $this.$count3;
        if (var$4 >= var$5)
            return (-1);
        $avail = var$5 - var$4 | 0;
        if ($len <= $avail)
            $avail = $len;
        if ($avail <= 0)
            return 0;
        jl_System_fastArraycopy($this.$buf2, var$4, $b, $off, $avail);
        $this.$pos1 = $this.$pos1 + $avail | 0;
        return $avail;
    }
    function nle_EaglerInputStream_inputStreamToBytesQuiet($is) {
        var var$2, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$is = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($is === null)
                return null;
            try {
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            return null;
        case 1:
            a: {
                try {
                    $tmp = nle_EaglerInputStream_inputStreamToBytes($is);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$2 = $tmp;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return var$2;
            }
            return null;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($is, var$2, $ptr);
    }
    function nle_EaglerInputStream_close($this) {}
    function nle_EaglerInputStream_inputStreamToBytes($is) {
        var var$2, var$3, $buf, $os, $ret, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$ret = $thread.pop();$os = $thread.pop();$buf = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$is = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($is instanceof nle_EaglerInputStream) {
                a: {
                    var$2 = $is.$pos1;
                    if (!var$2) {
                        var$3 = $is.$count3;
                        $buf = $is.$buf2;
                        if (var$3 == $buf.data.length)
                            break a;
                    }
                    var$3 = $is.$count3;
                    $buf = $rt_createByteArray(var$3);
                    jl_System_fastArraycopy($is.$buf2, var$2, $buf, 0, var$3);
                }
                return $buf;
            }
            if (!($is instanceof ji_ByteArrayInputStream)) {
                $os = new nle_EaglerOutputStream;
                var$2 = 1024;
                $ptr = 1;
                continue main;
            }
            $ret = $rt_createByteArray($is.$count3 - $is.$pos1 | 0);
            $ptr = 2;
            continue main;
        case 1:
            nle_EaglerOutputStream__init_0($os, var$2);
            if ($rt_suspending()) {
                break main;
            }
            try {
                $buf = $rt_createByteArray(1024);
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $is = $$je;
                } else {
                    throw $$e;
                }
            }
            try {
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $os = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_addSuppressed($is, $os);
            $rt_throw($is);
        case 2:
            ji_InputStream_read($is, $ret);
            if ($rt_suspending()) {
                break main;
            }
            return $ret;
        case 3:
            b: {
                a: {
                    try {
                        $tmp = ji_InputStream_read($is, $buf);
                        if ($rt_suspending()) {
                            break main;
                        }
                        var$2 = $tmp;
                        if (var$2 != (-1))
                            break a;
                        $buf = nle_EaglerOutputStream_toByteArray($os);
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            $is = $$je;
                            break b;
                        } else {
                            throw $$e;
                        }
                    }
                    return $buf;
                }
                try {
                    nle_EaglerOutputStream_write($os, $buf, 0, var$2);
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $is = $$je;
                    } else {
                        throw $$e;
                    }
                }
            }
            try {
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    $os = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_addSuppressed($is, $os);
            $rt_throw($is);
        case 4:
            b: {
                try {
                    nle_EaglerOutputStream_close($os);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $os = $$je;
                    } else {
                        throw $$e;
                    }
                }
                jl_Throwable_addSuppressed($is, $os);
            }
            $rt_throw($is);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($is, var$2, var$3, $buf, $os, $ret, $ptr);
    }
    var otcic_CurrencyHelper = $rt_classWithoutFields();
    var otcic_CurrencyHelper_$$metadata$$0 = null;
    var otcic_CurrencyHelper_$$metadata$$1 = null;
    function otcic_CurrencyHelper__init_0() {
        var var_0 = new otcic_CurrencyHelper();
        otcic_CurrencyHelper__init_(var_0);
        return var_0;
    }
    function otcic_CurrencyHelper__init_($this) {}
    function otcic_CurrencyHelper_getCurrencies$$create() {
        return [{"code" : "AFN", "fractionDigits" : 2, "numericCode" : 971}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "ALL", "fractionDigits" : 2, "numericCode" : 8}, {"code" : "DZD", "fractionDigits" : 2, "numericCode" : 12}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "AOA", "fractionDigits" : 2, "numericCode" : 973}, {"code" : "XCD", "fractionDigits" : 2, "numericCode" : 951}, {"code" : null,
        "fractionDigits" : 0, "numericCode" : 0}, {"code" : "XCD", "fractionDigits" : 2, "numericCode" : 951}, {"code" : "ARS", "fractionDigits" : 2, "numericCode" : 32}, {"code" : "AMD", "fractionDigits" : 2, "numericCode" : 51}, {"code" : "AWG", "fractionDigits" : 2, "numericCode" : 533}, {"code" : "AUD", "fractionDigits" : 2, "numericCode" : 36}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "AZN", "fractionDigits" : 2, "numericCode" : 944}, {"code" : "BSD", "fractionDigits" : 2,
        "numericCode" : 44}, {"code" : "BHD", "fractionDigits" : 3, "numericCode" : 48}, {"code" : "BDT", "fractionDigits" : 2, "numericCode" : 50}, {"code" : "BBD", "fractionDigits" : 2, "numericCode" : 52}, {"code" : "BYR", "fractionDigits" : 0, "numericCode" : 974}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "BZD", "fractionDigits" : 2, "numericCode" : 84}, {"code" : "XOF", "fractionDigits" : 0, "numericCode" : 952}, {"code" : "BMD", "fractionDigits" : 2, "numericCode" : 60}, {"code"
        : "BTN", "fractionDigits" : 2, "numericCode" : 64}, {"code" : "INR", "fractionDigits" : 2, "numericCode" : 356}, {"code" : "BOB", "fractionDigits" : 2, "numericCode" : 68}, {"code" : "BOV", "fractionDigits" : 2, "numericCode" : 984}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "BAM", "fractionDigits" : 2, "numericCode" : 977}, {"code" : "BWP", "fractionDigits" : 2, "numericCode" : 72}, {"code" : "NOK", "fractionDigits" : 2, "numericCode" : 578}, {"code" : "BRL", "fractionDigits"
        : 2, "numericCode" : 986}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "BND", "fractionDigits" : 2, "numericCode" : 96}, {"code" : "BGN", "fractionDigits" : 2, "numericCode" : 975}, {"code" : "XOF", "fractionDigits" : 0, "numericCode" : 952}, {"code" : "BIF", "fractionDigits" : 0, "numericCode" : 108}, {"code" : "KHR", "fractionDigits" : 2, "numericCode" : 116}, {"code" : "XAF", "fractionDigits" : 0, "numericCode" : 950}, {"code" : "CAD", "fractionDigits" : 2, "numericCode"
        : 124}, {"code" : "CVE", "fractionDigits" : 2, "numericCode" : 132}, {"code" : "KYD", "fractionDigits" : 2, "numericCode" : 136}, {"code" : "XAF", "fractionDigits" : 0, "numericCode" : 950}, {"code" : "XAF", "fractionDigits" : 0, "numericCode" : 950}, {"code" : "CLF", "fractionDigits" : 4, "numericCode" : 990}, {"code" : "CLP", "fractionDigits" : 0, "numericCode" : 152}, {"code" : "CNY", "fractionDigits" : 2, "numericCode" : 156}, {"code" : "AUD", "fractionDigits" : 2, "numericCode" : 36}, {"code" :
        "AUD", "fractionDigits" : 2, "numericCode" : 36}, {"code" : "COP", "fractionDigits" : 2, "numericCode" : 170}, {"code" : "COU", "fractionDigits" : 2, "numericCode" : 970}, {"code" : "KMF", "fractionDigits" : 0, "numericCode" : 174}, {"code" : "XAF", "fractionDigits" : 0, "numericCode" : 950}, {"code" : "CDF", "fractionDigits" : 2, "numericCode" : 976}, {"code" : "NZD", "fractionDigits" : 2, "numericCode" : 554}, {"code" : "CRC", "fractionDigits" : 2, "numericCode" : 188}, {"code" : "XOF", "fractionDigits"
        : 0, "numericCode" : 952}, {"code" : "HRK", "fractionDigits" : 2, "numericCode" : 191}, {"code" : "CUC", "fractionDigits" : 2, "numericCode" : 931}, {"code" : "CUP", "fractionDigits" : 2, "numericCode" : 192}, {"code" : "ANG", "fractionDigits" : 2, "numericCode" : 532}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "CZK", "fractionDigits" : 2, "numericCode" : 203}, {"code" : "DKK", "fractionDigits" : 2, "numericCode" : 208}, {"code" : "DJF", "fractionDigits" : 0, "numericCode"
        : 262}, {"code" : "XCD", "fractionDigits" : 2, "numericCode" : 951}, {"code" : "DOP", "fractionDigits" : 2, "numericCode" : 214}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "EGP", "fractionDigits" : 2, "numericCode" : 818}, {"code" : "SVC", "fractionDigits" : 2, "numericCode" : 222}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "XAF", "fractionDigits" : 0, "numericCode" : 950}, {"code" : "ERN", "fractionDigits" : 2, "numericCode" : 232}, {"code" :
        "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "ETB", "fractionDigits" : 2, "numericCode" : 230}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "FKP", "fractionDigits" : 2, "numericCode" : 238}, {"code" : "DKK", "fractionDigits" : 2, "numericCode" : 208}, {"code" : "FJD", "fractionDigits" : 2, "numericCode" : 242}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "EUR", "fractionDigits"
        : 2, "numericCode" : 978}, {"code" : "XPF", "fractionDigits" : 0, "numericCode" : 953}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "XAF", "fractionDigits" : 0, "numericCode" : 950}, {"code" : "GMD", "fractionDigits" : 2, "numericCode" : 270}, {"code" : "GEL", "fractionDigits" : 2, "numericCode" : 981}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "GHS", "fractionDigits" : 2, "numericCode" : 936}, {"code" : "GIP", "fractionDigits" : 2, "numericCode"
        : 292}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "DKK", "fractionDigits" : 2, "numericCode" : 208}, {"code" : "XCD", "fractionDigits" : 2, "numericCode" : 951}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "GTQ", "fractionDigits" : 2, "numericCode" : 320}, {"code" : "GBP", "fractionDigits" : 2, "numericCode" : 826}, {"code" : "GNF", "fractionDigits" : 0, "numericCode" : 324}, {"code" :
        "XOF", "fractionDigits" : 0, "numericCode" : 952}, {"code" : "GYD", "fractionDigits" : 2, "numericCode" : 328}, {"code" : "HTG", "fractionDigits" : 2, "numericCode" : 332}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "AUD", "fractionDigits" : 2, "numericCode" : 36}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "HNL", "fractionDigits" : 2, "numericCode" : 340}, {"code" : "HKD", "fractionDigits" : 2, "numericCode" : 344}, {"code" : "HUF", "fractionDigits"
        : 2, "numericCode" : 348}, {"code" : "ISK", "fractionDigits" : 0, "numericCode" : 352}, {"code" : "INR", "fractionDigits" : 2, "numericCode" : 356}, {"code" : "IDR", "fractionDigits" : 2, "numericCode" : 360}, {"code" : "XDR", "fractionDigits" : -1, "numericCode" : 960}, {"code" : "IRR", "fractionDigits" : 2, "numericCode" : 364}, {"code" : "IQD", "fractionDigits" : 3, "numericCode" : 368}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "GBP", "fractionDigits" : 2, "numericCode"
        : 826}, {"code" : "ILS", "fractionDigits" : 2, "numericCode" : 376}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "JMD", "fractionDigits" : 2, "numericCode" : 388}, {"code" : "JPY", "fractionDigits" : 0, "numericCode" : 392}, {"code" : "GBP", "fractionDigits" : 2, "numericCode" : 826}, {"code" : "JOD", "fractionDigits" : 3, "numericCode" : 400}, {"code" : "KZT", "fractionDigits" : 2, "numericCode" : 398}, {"code" : "KES", "fractionDigits" : 2, "numericCode" : 404}, {"code" :
        "AUD", "fractionDigits" : 2, "numericCode" : 36}, {"code" : "KPW", "fractionDigits" : 2, "numericCode" : 408}, {"code" : "KRW", "fractionDigits" : 0, "numericCode" : 410}, {"code" : "KWD", "fractionDigits" : 3, "numericCode" : 414}, {"code" : "KGS", "fractionDigits" : 2, "numericCode" : 417}, {"code" : "LAK", "fractionDigits" : 2, "numericCode" : 418}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "LBP", "fractionDigits" : 2, "numericCode" : 422}, {"code" : "LSL", "fractionDigits"
        : 2, "numericCode" : 426}, {"code" : "ZAR", "fractionDigits" : 2, "numericCode" : 710}, {"code" : "LRD", "fractionDigits" : 2, "numericCode" : 430}, {"code" : "LYD", "fractionDigits" : 3, "numericCode" : 434}, {"code" : "CHF", "fractionDigits" : 2, "numericCode" : 756}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "MOP", "fractionDigits" : 2, "numericCode" : 446}, {"code" : "MKD", "fractionDigits" : 2, "numericCode"
        : 807}, {"code" : "MGA", "fractionDigits" : 2, "numericCode" : 969}, {"code" : "MWK", "fractionDigits" : 2, "numericCode" : 454}, {"code" : "MYR", "fractionDigits" : 2, "numericCode" : 458}, {"code" : "MVR", "fractionDigits" : 2, "numericCode" : 462}, {"code" : "XOF", "fractionDigits" : 0, "numericCode" : 952}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" :
        "MRO", "fractionDigits" : 2, "numericCode" : 478}, {"code" : "MUR", "fractionDigits" : 2, "numericCode" : 480}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "XUA", "fractionDigits" : -1, "numericCode" : 965}, {"code" : "MXN", "fractionDigits" : 2, "numericCode" : 484}, {"code" : "MXV", "fractionDigits" : 2, "numericCode" : 979}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "MDL", "fractionDigits" : 2, "numericCode" : 498}, {"code" : "EUR", "fractionDigits"
        : 2, "numericCode" : 978}, {"code" : "MNT", "fractionDigits" : 2, "numericCode" : 496}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "XCD", "fractionDigits" : 2, "numericCode" : 951}, {"code" : "MAD", "fractionDigits" : 2, "numericCode" : 504}, {"code" : "MZN", "fractionDigits" : 2, "numericCode" : 943}, {"code" : "MMK", "fractionDigits" : 2, "numericCode" : 104}, {"code" : "NAD", "fractionDigits" : 2, "numericCode" : 516}, {"code" : "ZAR", "fractionDigits" : 2, "numericCode"
        : 710}, {"code" : "AUD", "fractionDigits" : 2, "numericCode" : 36}, {"code" : "NPR", "fractionDigits" : 2, "numericCode" : 524}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "XPF", "fractionDigits" : 0, "numericCode" : 953}, {"code" : "NZD", "fractionDigits" : 2, "numericCode" : 554}, {"code" : "NIO", "fractionDigits" : 2, "numericCode" : 558}, {"code" : "XOF", "fractionDigits" : 0, "numericCode" : 952}, {"code" : "NGN", "fractionDigits" : 2, "numericCode" : 566}, {"code" :
        "NZD", "fractionDigits" : 2, "numericCode" : 554}, {"code" : "AUD", "fractionDigits" : 2, "numericCode" : 36}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "NOK", "fractionDigits" : 2, "numericCode" : 578}, {"code" : "OMR", "fractionDigits" : 3, "numericCode" : 512}, {"code" : "PKR", "fractionDigits" : 2, "numericCode" : 586}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : null, "fractionDigits" : 0, "numericCode" : 0}, {"code" : "PAB", "fractionDigits"
        : 2, "numericCode" : 590}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "PGK", "fractionDigits" : 2, "numericCode" : 598}, {"code" : "PYG", "fractionDigits" : 0, "numericCode" : 600}, {"code" : "PEN", "fractionDigits" : 2, "numericCode" : 604}, {"code" : "PHP", "fractionDigits" : 2, "numericCode" : 608}, {"code" : "NZD", "fractionDigits" : 2, "numericCode" : 554}, {"code" : "PLN", "fractionDigits" : 2, "numericCode" : 985}, {"code" : "EUR", "fractionDigits" : 2, "numericCode"
        : 978}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "QAR", "fractionDigits" : 2, "numericCode" : 634}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "RON", "fractionDigits" : 2, "numericCode" : 946}, {"code" : "RUB", "fractionDigits" : 2, "numericCode" : 643}, {"code" : "RWF", "fractionDigits" : 0, "numericCode" : 646}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "SHP", "fractionDigits" : 2, "numericCode" : 654}, {"code" :
        "XCD", "fractionDigits" : 2, "numericCode" : 951}, {"code" : "XCD", "fractionDigits" : 2, "numericCode" : 951}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "XCD", "fractionDigits" : 2, "numericCode" : 951}, {"code" : "WST", "fractionDigits" : 2, "numericCode" : 882}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "STD", "fractionDigits" : 2, "numericCode" : 678}, {"code" : "SAR", "fractionDigits"
        : 2, "numericCode" : 682}, {"code" : "XOF", "fractionDigits" : 0, "numericCode" : 952}, {"code" : "RSD", "fractionDigits" : 2, "numericCode" : 941}, {"code" : "SCR", "fractionDigits" : 2, "numericCode" : 690}, {"code" : "SLL", "fractionDigits" : 2, "numericCode" : 694}, {"code" : "SGD", "fractionDigits" : 2, "numericCode" : 702}, {"code" : "ANG", "fractionDigits" : 2, "numericCode" : 532}, {"code" : "XSU", "fractionDigits" : -1, "numericCode" : 994}, {"code" : "EUR", "fractionDigits" : 2, "numericCode"
        : 978}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "SBD", "fractionDigits" : 2, "numericCode" : 90}, {"code" : "SOS", "fractionDigits" : 2, "numericCode" : 706}, {"code" : "ZAR", "fractionDigits" : 2, "numericCode" : 710}, {"code" : null, "fractionDigits" : 0, "numericCode" : 0}, {"code" : "SSP", "fractionDigits" : 2, "numericCode" : 728}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "LKR", "fractionDigits" : 2, "numericCode" : 144}, {"code" : "SDG",
        "fractionDigits" : 2, "numericCode" : 938}, {"code" : "SRD", "fractionDigits" : 2, "numericCode" : 968}, {"code" : "NOK", "fractionDigits" : 2, "numericCode" : 578}, {"code" : "SZL", "fractionDigits" : 2, "numericCode" : 748}, {"code" : "SEK", "fractionDigits" : 2, "numericCode" : 752}, {"code" : "CHE", "fractionDigits" : 2, "numericCode" : 947}, {"code" : "CHF", "fractionDigits" : 2, "numericCode" : 756}, {"code" : "CHW", "fractionDigits" : 2, "numericCode" : 948}, {"code" : "SYP", "fractionDigits"
        : 2, "numericCode" : 760}, {"code" : "TWD", "fractionDigits" : 2, "numericCode" : 901}, {"code" : "TJS", "fractionDigits" : 2, "numericCode" : 972}, {"code" : "TZS", "fractionDigits" : 2, "numericCode" : 834}, {"code" : "THB", "fractionDigits" : 2, "numericCode" : 764}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "XOF", "fractionDigits" : 0, "numericCode" : 952}, {"code" : "NZD", "fractionDigits" : 2, "numericCode" : 554}, {"code" : "TOP", "fractionDigits" : 2, "numericCode"
        : 776}, {"code" : "TTD", "fractionDigits" : 2, "numericCode" : 780}, {"code" : "TND", "fractionDigits" : 3, "numericCode" : 788}, {"code" : "TRY", "fractionDigits" : 2, "numericCode" : 949}, {"code" : "TMT", "fractionDigits" : 2, "numericCode" : 934}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "AUD", "fractionDigits" : 2, "numericCode" : 36}, {"code" : "UGX", "fractionDigits" : 0, "numericCode" : 800}, {"code" : "UAH", "fractionDigits" : 2, "numericCode" : 980}, {"code" :
        "AED", "fractionDigits" : 2, "numericCode" : 784}, {"code" : "GBP", "fractionDigits" : 2, "numericCode" : 826}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "USN", "fractionDigits" : 2, "numericCode" : 997}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "UYI", "fractionDigits" : 0, "numericCode" : 940}, {"code" : "UYU", "fractionDigits" : 2, "numericCode" : 858}, {"code" : "UZS", "fractionDigits" : 2, "numericCode" : 860}, {"code" : "VUV", "fractionDigits"
        : 0, "numericCode" : 548}, {"code" : "VEF", "fractionDigits" : 2, "numericCode" : 937}, {"code" : "VND", "fractionDigits" : 0, "numericCode" : 704}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "XPF", "fractionDigits" : 0, "numericCode" : 953}, {"code" : "MAD", "fractionDigits" : 2, "numericCode" : 504}, {"code" : "YER", "fractionDigits" : 2, "numericCode" : 886}, {"code" : "ZMW", "fractionDigits" : 2, "numericCode"
        : 967}, {"code" : "ZWL", "fractionDigits" : 2, "numericCode" : 932}, {"code" : "XBA", "fractionDigits" : -1, "numericCode" : 955}, {"code" : "XBB", "fractionDigits" : -1, "numericCode" : 956}, {"code" : "XBC", "fractionDigits" : -1, "numericCode" : 957}, {"code" : "XBD", "fractionDigits" : -1, "numericCode" : 958}, {"code" : "XTS", "fractionDigits" : -1, "numericCode" : 963}, {"code" : "XXX", "fractionDigits" : -1, "numericCode" : 999}, {"code" : "XAU", "fractionDigits" : -1, "numericCode" : 959}, {"code"
        : "XPD", "fractionDigits" : -1, "numericCode" : 964}, {"code" : "XPT", "fractionDigits" : -1, "numericCode" : 962}, {"code" : "XAG", "fractionDigits" : -1, "numericCode" : 961}];
    }
    function otcic_CurrencyHelper_getCountryToCurrencyMap$$create() {
        return {"": {"value" : "CYP"}, "PR": {"value" : "USD"}, "PT": {"value" : "EUR"}, "PW": {"value" : "USD"}, "PY": {"value" : "PYG"}, "QA": {"value" : "QAR"}, "AC": {"value" : "SHP"}, "AD": {"value" : "EUR"}, "AE": {"value" : "AED"}, "AF": {"value" : "AFN"}, "AG": {"value" : "XCD"}, "AI": {"value" : "XCD"}, "AL": {"value" : "ALL"}, "AM": {"value" : "AMD"}, "AN": {"value" : "ANG"}, "AO": {"value" : "AOA"}, "242": {"value" : "Brazzaville"}, "AQ": {"value" : ""}, "AR": {"value" : "ARS"}, "243": {"value" :
        "Kinshasa"}, "AS": {"value" : "USD"}, "AT": {"value" : "EUR"}, "RE": {"value" : "EUR"}, "AU": {"value" : ""}, "AW": {"value" : "AWG"}, "AX": {"value" : "EUR"}, "AZ": {"value" : "AMD"}, "RO": {"value" : "RON"}, "BA": {"value" : "BAM"}, "BB": {"value" : "BBD"}, "RS": {"value" : "RSD"}, "BD": {"value" : "BDT"}, "BE": {"value" : "EUR"}, "RU": {"value" : "RUB"}, "BF": {"value" : "XOF"}, "BG": {"value" : "BGN"}, "RW": {"value" : "RWF"}, "27": {"value" : ""}, "BH": {"value" : "BHD"}, "BI": {"value" : "BIF"}
        , "BJ": {"value" : "XOF"}, "BM": {"value" : "BMD"}, "BN": {"value" : "BND"}, "BO": {"value" : "BOB"}, "SA": {"value" : "SAR"}, "SB": {"value" : "SBD"}, "BR": {"value" : "BRL"}, "SC": {"value" : "SCR"}, "SD": {"value" : "SDD"}, "BT": {"value" : "BTN"}, "SE": {"value" : "SEK"}, "SG": {"value" : "SGD"}, "BV": {"value" : ""}, "BW": {"value" : "BWP"}, "SH": {"value" : "SHP"}, "SI": {"value" : "EUR"}, "BY": {"value" : "BYR"}, "SJ": {"value" : "NOK"}, "BZ": {"value" : "BZD"}, "SK": {"value" : "SKK"}, "SL":
        {"value" : "SLL"}, "SM": {"value" : "EUR"}, "SN": {"value" : "XOF"}, "SO": {"value" : ""}, "CA": {"value" : "CAD"}, "SR": {"value" : "SRD"}, "CC": {"value" : "AUD"}, "ST": {"value" : "STD"}, "CF": {"value" : "XAF"}, "SV": {"value" : "USD"}, "CH": {"value" : "CHF"}, "CI": {"value" : "XOF"}, "SY": {"value" : "SYP"}, "SZ": {"value" : "SZL"}, "CK": {"value" : "NZD"}, "CL": {"value" : "CLP"}, "CM": {"value" : "XAF"}, "CO": {"value" : "COP"}, "TA": {"value" : "SHP"}, "CR": {"value" : "CRC"}, "TC": {"value"
        : "USD"}, "TD": {"value" : "XAF"}, "CU": {"value" : "CUP"}, "TF": {"value" : ""}, "CV": {"value" : "CVE"}, "TG": {"value" : "XOF"}, "TH": {"value" : "THB"}, "CX": {"value" : "AUD"}, "CY": {"value" : "TRY"}, "TJ": {"value" : "TJS"}, "CZ": {"value" : "CZK"}, "TK": {"value" : "NZD"}, "TL": {"value" : "USD"}, "TM": {"value" : "TMM"}, "TN": {"value" : "TND"}, "TO": {"value" : "TOP"}, "TR": {"value" : "TRY"}, "TT": {"value" : "TTD"}, "DE": {"value" : "EUR"}, "TV": {"value" : "AUD"}, "DJ": {"value" : "DJF"}
        , "TZ": {"value" : "TZS"}, "DK": {"value" : "DKK"}, "DM": {"value" : "XCD"}, "DO": {"value" : "DOP"}, "UA": {"value" : "UAH"}, "UG": {"value" : "UGX"}, "DZ": {"value" : "DZD"}, "UM": {"value" : ""}, "EC": {"value" : "USD"}, "US": {"value" : "USD"}, "EE": {"value" : "EEK"}, "EG": {"value" : "EGP"}, "UY": {"value" : "UYU"}, "UZ": {"value" : "UZS"}, "VA": {"value" : "EUR"}, "ER": {"value" : "ERN"}, "VC": {"value" : "XCD"}, "ES": {"value" : "EUR"}, "ET": {"value" : "ETB"}, "VE": {"value" : "VEB"}, "VG":
        {"value" : "USD"}, "VI": {"value" : "USD"}, "VN": {"value" : "VND"}, "VU": {"value" : "VUV"}, "FI": {"value" : "EUR"}, "FJ": {"value" : "FJD"}, "FK": {"value" : "FKP"}, "FM": {"value" : "USD"}, "FO": {"value" : "DKK"}, "FR": {"value" : "EUR"}, "WF": {"value" : "XPF"}, "850": {"value" : "Pyongyang"}, "GA": {"value" : "XAF"}, "GB": {"value" : "GBP"}, "WS": {"value" : "WST"}, "GD": {"value" : "XCD"}, "GE": {"value" : "RUB and GEL"}, "GF": {"value" : "EUR"}, "GG": {"value" : "GGP"}, "GH": {"value" : "GHC"}
        , "GI": {"value" : "GIP"}, "GL": {"value" : "DKK"}, "GN": {"value" : "GNF"}, "GP": {"value" : "EUR"}, "GQ": {"value" : "XAF"}, "GR": {"value" : "EUR"}, "GS": {"value" : ""}, "GT": {"value" : "GTQ"}, "GU": {"value" : "USD"}, "GW": {"value" : "XOF"}, "GY": {"value" : "GYD"}, "-241": {"value" : "Nassau"}, "82": {"value" : "Seoul"}, "86": {"value" : "Beijing"}, "HK": {"value" : "HKD"}, "HM": {"value" : ""}, "HN": {"value" : "HNL"}, "HR": {"value" : "HRK"}, "HT": {"value" : "HTG"}, "YE": {"value" : "YER"}
        , "HU": {"value" : "HUF"}, "ID": {"value" : "IDR"}, "YT": {"value" : "EUR"}, "IE": {"value" : "EUR"}, "IL": {"value" : "ILS"}, "IM": {"value" : "IMP"}, "IN": {"value" : "INR"}, "IO": {"value" : ""}, "IQ": {"value" : "IQD"}, "IR": {"value" : "IRR"}, "IS": {"value" : "ISK"}, "IT": {"value" : "EUR"}, "ZM": {"value" : "ZMK"}, "886": {"value" : "Taipei"}, "JE": {"value" : "JEP"}, "ZW": {"value" : "ZWD"}, "JM": {"value" : "JMD"}, "JO": {"value" : "JOD"}, "JP": {"value" : "JPY"}, "KE": {"value" : "KES"}, "KG":
        {"value" : "KGS"}, "KH": {"value" : "KHR"}, "KI": {"value" : "AUD"}, "KM": {"value" : "KMF"}, "KN": {"value" : "XCD"}, "KW": {"value" : "KWD"}, "KY": {"value" : "KYD"}, "KZ": {"value" : "KZT"}, "LA": {"value" : "LAK"}, "LB": {"value" : "LBP"}, "LC": {"value" : "XCD"}, "LI": {"value" : "CHF"}, "LK": {"value" : "LKR"}, "LR": {"value" : "LRD"}, "LS": {"value" : "LSL"}, "LT": {"value" : "LTL"}, "LU": {"value" : "EUR"}, "LV": {"value" : "LVL"}, "LY": {"value" : "LYD"}, "MA": {"value" : "MAD"}, "MC": {"value"
        : "EUR"}, "MD": {"value" : ""}, "ME": {"value" : "EUR"}, "MG": {"value" : "MGA"}, "MH": {"value" : "USD"}, "MK": {"value" : "MKD"}, "ML": {"value" : "XOF"}, "MM": {"value" : "MMK"}, "MN": {"value" : "MNT"}, "MO": {"value" : "MOP"}, "MP": {"value" : "USD"}, "MQ": {"value" : "EUR"}, "MR": {"value" : "MRO"}, "MS": {"value" : "XCD"}, "MT": {"value" : "MTL"}, "MU": {"value" : "MUR"}, "MV": {"value" : "MVR"}, "MW": {"value" : "MWK"}, "MX": {"value" : "MXN"}, "MY": {"value" : "MYR"}, "MZ": {"value" : "MZM"}
        , "NA": {"value" : "NAD"}, "NC": {"value" : "XPF"}, "NE": {"value" : "XOF"}, "NF": {"value" : "AUD"}, "NG": {"value" : "NGN"}, "NI": {"value" : "NIO"}, "NL": {"value" : "EUR"}, "NO": {"value" : "NOK"}, "NP": {"value" : "NPR"}, "NR": {"value" : "AUD"}, "NU": {"value" : "NZD"}, "NZ": {"value" : "NZD"}, "OM": {"value" : "OMR"}, "220": {"value" : "Banjul"}, "PA": {"value" : "PAB"}, "PE": {"value" : "PEN"}, "PF": {"value" : ""}, "PG": {"value" : "PGK"}, "PH": {"value" : "PHP"}, "PK": {"value" : "PKR"}, "PL":
        {"value" : "PLN"}, "PM": {"value" : "EUR"}, "PN": {"value" : "NZD"}};
    }
    var jl_NegativeArraySizeException = $rt_classWithoutFields(jl_RuntimeException);
    function jl_NegativeArraySizeException__init_0() {
        var var_0 = new jl_NegativeArraySizeException();
        jl_NegativeArraySizeException__init_(var_0);
        return var_0;
    }
    function jl_NegativeArraySizeException__init_($this) {
        jl_Throwable__init_0($this);
    }
    var jur_IntHash = $rt_classWithoutFields();
    var jur_AbstractCharClass$LazySpace = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazySpace__init_0() {
        var var_0 = new jur_AbstractCharClass$LazySpace();
        jur_AbstractCharClass$LazySpace__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazySpace__init_($this) {}
    function jur_AbstractCharClass$LazySpace_computeValue($this) {
        return jur_CharClass_add(jur_CharClass_add1(jur_CharClass__init_3(), 9, 13), 32);
    }
    var jur_AbstractCharClass$LazyDigit = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyDigit__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyDigit();
        jur_AbstractCharClass$LazyDigit__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyDigit__init_($this) {}
    function jur_AbstractCharClass$LazyDigit_computeValue($this) {
        return jur_CharClass_add1(jur_CharClass__init_3(), 48, 57);
    }
    var jur_AbstractCharClass$LazyLower = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyLower__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyLower();
        jur_AbstractCharClass$LazyLower__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyLower__init_($this) {}
    function jur_AbstractCharClass$LazyLower_computeValue($this) {
        return jur_CharClass_add1(jur_CharClass__init_3(), 97, 122);
    }
    var jur_AbstractCharClass$LazyUpper = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyUpper__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyUpper();
        jur_AbstractCharClass$LazyUpper__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyUpper__init_($this) {}
    function jur_AbstractCharClass$LazyUpper_computeValue($this) {
        return jur_CharClass_add1(jur_CharClass__init_3(), 65, 90);
    }
    var jur_AbstractCharClass$LazyASCII = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyASCII__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyASCII();
        jur_AbstractCharClass$LazyASCII__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyASCII__init_($this) {}
    function jur_AbstractCharClass$LazyASCII_computeValue($this) {
        return jur_CharClass_add1(jur_CharClass__init_3(), 0, 127);
    }
    var jur_AbstractCharClass$LazyAlpha = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyAlpha__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyAlpha();
        jur_AbstractCharClass$LazyAlpha__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyAlpha__init_($this) {}
    function jur_AbstractCharClass$LazyAlpha_computeValue($this) {
        return jur_CharClass_add1(jur_CharClass_add1(jur_CharClass__init_3(), 97, 122), 65, 90);
    }
    var jur_AbstractCharClass$LazyAlnum = $rt_classWithoutFields(jur_AbstractCharClass$LazyAlpha);
    function jur_AbstractCharClass$LazyAlnum__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyAlnum();
        jur_AbstractCharClass$LazyAlnum__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyAlnum__init_($this) {}
    function jur_AbstractCharClass$LazyAlnum_computeValue($this) {
        return jur_CharClass_add1(jur_AbstractCharClass$LazyAlpha_computeValue($this), 48, 57);
    }
    var jur_AbstractCharClass$LazyPunct = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyPunct__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyPunct();
        jur_AbstractCharClass$LazyPunct__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyPunct__init_($this) {}
    function jur_AbstractCharClass$LazyPunct_computeValue($this) {
        return jur_CharClass_add1(jur_CharClass_add1(jur_CharClass_add1(jur_CharClass__init_3(), 33, 64), 91, 96), 123, 126);
    }
    var jur_AbstractCharClass$LazyGraph = $rt_classWithoutFields(jur_AbstractCharClass$LazyAlnum);
    function jur_AbstractCharClass$LazyGraph__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyGraph();
        jur_AbstractCharClass$LazyGraph__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyGraph__init_($this) {}
    function jur_AbstractCharClass$LazyGraph_computeValue($this) {
        return jur_CharClass_add1(jur_CharClass_add1(jur_CharClass_add1(jur_AbstractCharClass$LazyAlnum_computeValue($this), 33, 64), 91, 96), 123, 126);
    }
    var jur_AbstractCharClass$LazyPrint = $rt_classWithoutFields(jur_AbstractCharClass$LazyGraph);
    function jur_AbstractCharClass$LazyPrint__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyPrint();
        jur_AbstractCharClass$LazyPrint__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyPrint__init_($this) {}
    function jur_AbstractCharClass$LazyPrint_computeValue($this) {
        return jur_CharClass_add(jur_AbstractCharClass$LazyGraph_computeValue($this), 32);
    }
    var jur_AbstractCharClass$LazyBlank = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyBlank__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyBlank();
        jur_AbstractCharClass$LazyBlank__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyBlank__init_($this) {}
    function jur_AbstractCharClass$LazyBlank_computeValue($this) {
        return jur_CharClass_add(jur_CharClass_add(jur_CharClass__init_3(), 32), 9);
    }
    var jur_AbstractCharClass$LazyCntrl = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyCntrl__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyCntrl();
        jur_AbstractCharClass$LazyCntrl__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyCntrl__init_($this) {}
    function jur_AbstractCharClass$LazyCntrl_computeValue($this) {
        return jur_CharClass_add(jur_CharClass_add1(jur_CharClass__init_3(), 0, 31), 127);
    }
    var jur_AbstractCharClass$LazyXDigit = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyXDigit__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyXDigit();
        jur_AbstractCharClass$LazyXDigit__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyXDigit__init_($this) {}
    function jur_AbstractCharClass$LazyXDigit_computeValue($this) {
        return jur_CharClass_add1(jur_CharClass_add1(jur_CharClass_add1(jur_CharClass__init_3(), 48, 57), 97, 102), 65, 70);
    }
    var jur_AbstractCharClass$LazyJavaLowerCase = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyJavaLowerCase__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyJavaLowerCase();
        jur_AbstractCharClass$LazyJavaLowerCase__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyJavaLowerCase__init_($this) {}
    function jur_AbstractCharClass$LazyJavaLowerCase_computeValue($this) {
        var $chCl;
        $chCl = new jur_AbstractCharClass$LazyJavaLowerCase$1;
        $chCl.$this$026 = $this;
        jur_AbstractCharClass__init_($chCl);
        $chCl.$mayContainSupplCodepoints = 1;
        return $chCl;
    }
    var jur_AbstractCharClass$LazyJavaUpperCase = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyJavaUpperCase__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyJavaUpperCase();
        jur_AbstractCharClass$LazyJavaUpperCase__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyJavaUpperCase__init_($this) {}
    function jur_AbstractCharClass$LazyJavaUpperCase_computeValue($this) {
        var $chCl;
        $chCl = new jur_AbstractCharClass$LazyJavaUpperCase$1;
        $chCl.$this$027 = $this;
        jur_AbstractCharClass__init_($chCl);
        $chCl.$mayContainSupplCodepoints = 1;
        return $chCl;
    }
    var jur_AbstractCharClass$LazyJavaWhitespace = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyJavaWhitespace__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyJavaWhitespace();
        jur_AbstractCharClass$LazyJavaWhitespace__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyJavaWhitespace__init_($this) {}
    function jur_AbstractCharClass$LazyJavaWhitespace_computeValue($this) {
        var var$1;
        var$1 = new jur_AbstractCharClass$LazyJavaWhitespace$1;
        var$1.$this$028 = $this;
        jur_AbstractCharClass__init_(var$1);
        return var$1;
    }
    var jur_AbstractCharClass$LazyJavaMirrored = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyJavaMirrored__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyJavaMirrored();
        jur_AbstractCharClass$LazyJavaMirrored__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyJavaMirrored__init_($this) {}
    function jur_AbstractCharClass$LazyJavaMirrored_computeValue($this) {
        var var$1;
        var$1 = new jur_AbstractCharClass$LazyJavaMirrored$1;
        var$1.$this$029 = $this;
        jur_AbstractCharClass__init_(var$1);
        return var$1;
    }
    var jur_AbstractCharClass$LazyJavaDefined = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyJavaDefined__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyJavaDefined();
        jur_AbstractCharClass$LazyJavaDefined__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyJavaDefined__init_($this) {}
    function jur_AbstractCharClass$LazyJavaDefined_computeValue($this) {
        var $chCl;
        $chCl = new jur_AbstractCharClass$LazyJavaDefined$1;
        $chCl.$this$030 = $this;
        jur_AbstractCharClass__init_($chCl);
        ju_BitSet_set0($chCl.$lowHighSurrogates, 0, 2048);
        $chCl.$mayContainSupplCodepoints = 1;
        return $chCl;
    }
    var jur_AbstractCharClass$LazyJavaDigit = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyJavaDigit__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyJavaDigit();
        jur_AbstractCharClass$LazyJavaDigit__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyJavaDigit__init_($this) {}
    function jur_AbstractCharClass$LazyJavaDigit_computeValue($this) {
        var $chCl;
        $chCl = new jur_AbstractCharClass$LazyJavaDigit$1;
        $chCl.$this$031 = $this;
        jur_AbstractCharClass__init_($chCl);
        $chCl.$mayContainSupplCodepoints = 1;
        return $chCl;
    }
    var jur_AbstractCharClass$LazyJavaIdentifierIgnorable = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyJavaIdentifierIgnorable__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyJavaIdentifierIgnorable();
        jur_AbstractCharClass$LazyJavaIdentifierIgnorable__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyJavaIdentifierIgnorable__init_($this) {}
    function jur_AbstractCharClass$LazyJavaIdentifierIgnorable_computeValue($this) {
        var $chCl;
        $chCl = new jur_AbstractCharClass$LazyJavaIdentifierIgnorable$1;
        $chCl.$this$032 = $this;
        jur_AbstractCharClass__init_($chCl);
        $chCl.$mayContainSupplCodepoints = 1;
        return $chCl;
    }
    var jur_AbstractCharClass$LazyJavaISOControl = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyJavaISOControl__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyJavaISOControl();
        jur_AbstractCharClass$LazyJavaISOControl__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyJavaISOControl__init_($this) {}
    function jur_AbstractCharClass$LazyJavaISOControl_computeValue($this) {
        var var$1;
        var$1 = new jur_AbstractCharClass$LazyJavaISOControl$1;
        var$1.$this$033 = $this;
        jur_AbstractCharClass__init_(var$1);
        return var$1;
    }
    var jur_AbstractCharClass$LazyJavaJavaIdentifierPart = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyJavaJavaIdentifierPart__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyJavaJavaIdentifierPart();
        jur_AbstractCharClass$LazyJavaJavaIdentifierPart__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyJavaJavaIdentifierPart__init_($this) {}
    function jur_AbstractCharClass$LazyJavaJavaIdentifierPart_computeValue($this) {
        var $chCl;
        $chCl = new jur_AbstractCharClass$LazyJavaJavaIdentifierPart$1;
        $chCl.$this$034 = $this;
        jur_AbstractCharClass__init_($chCl);
        $chCl.$mayContainSupplCodepoints = 1;
        return $chCl;
    }
    var jur_AbstractCharClass$LazyJavaJavaIdentifierStart = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyJavaJavaIdentifierStart__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyJavaJavaIdentifierStart();
        jur_AbstractCharClass$LazyJavaJavaIdentifierStart__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyJavaJavaIdentifierStart__init_($this) {}
    function jur_AbstractCharClass$LazyJavaJavaIdentifierStart_computeValue($this) {
        var $chCl;
        $chCl = new jur_AbstractCharClass$LazyJavaJavaIdentifierStart$1;
        $chCl.$this$035 = $this;
        jur_AbstractCharClass__init_($chCl);
        $chCl.$mayContainSupplCodepoints = 1;
        return $chCl;
    }
    var jur_AbstractCharClass$LazyJavaLetter = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyJavaLetter__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyJavaLetter();
        jur_AbstractCharClass$LazyJavaLetter__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyJavaLetter__init_($this) {}
    function jur_AbstractCharClass$LazyJavaLetter_computeValue($this) {
        var $chCl;
        $chCl = new jur_AbstractCharClass$LazyJavaLetter$1;
        $chCl.$this$036 = $this;
        jur_AbstractCharClass__init_($chCl);
        $chCl.$mayContainSupplCodepoints = 1;
        return $chCl;
    }
    var jur_AbstractCharClass$LazyJavaLetterOrDigit = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyJavaLetterOrDigit__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyJavaLetterOrDigit();
        jur_AbstractCharClass$LazyJavaLetterOrDigit__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyJavaLetterOrDigit__init_($this) {}
    function jur_AbstractCharClass$LazyJavaLetterOrDigit_computeValue($this) {
        var $chCl;
        $chCl = new jur_AbstractCharClass$LazyJavaLetterOrDigit$1;
        $chCl.$this$037 = $this;
        jur_AbstractCharClass__init_($chCl);
        $chCl.$mayContainSupplCodepoints = 1;
        return $chCl;
    }
    var jur_AbstractCharClass$LazyJavaSpaceChar = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyJavaSpaceChar__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyJavaSpaceChar();
        jur_AbstractCharClass$LazyJavaSpaceChar__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyJavaSpaceChar__init_($this) {}
    function jur_AbstractCharClass$LazyJavaSpaceChar_computeValue($this) {
        var var$1;
        var$1 = new jur_AbstractCharClass$LazyJavaSpaceChar$1;
        var$1.$this$038 = $this;
        jur_AbstractCharClass__init_(var$1);
        return var$1;
    }
    var jur_AbstractCharClass$LazyJavaTitleCase = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyJavaTitleCase__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyJavaTitleCase();
        jur_AbstractCharClass$LazyJavaTitleCase__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyJavaTitleCase__init_($this) {}
    function jur_AbstractCharClass$LazyJavaTitleCase_computeValue($this) {
        var var$1;
        var$1 = new jur_AbstractCharClass$LazyJavaTitleCase$1;
        var$1.$this$039 = $this;
        jur_AbstractCharClass__init_(var$1);
        return var$1;
    }
    var jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart();
        jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart__init_($this) {}
    function jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart_computeValue($this) {
        var $chCl;
        $chCl = new jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart$1;
        $chCl.$this$040 = $this;
        jur_AbstractCharClass__init_($chCl);
        $chCl.$mayContainSupplCodepoints = 1;
        return $chCl;
    }
    var jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart();
        jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart__init_($this) {}
    function jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart_computeValue($this) {
        var $chCl;
        $chCl = new jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart$1;
        $chCl.$this$041 = $this;
        jur_AbstractCharClass__init_($chCl);
        $chCl.$mayContainSupplCodepoints = 1;
        return $chCl;
    }
    var jur_AbstractCharClass$LazyWord = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazyWord__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyWord();
        jur_AbstractCharClass$LazyWord__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyWord__init_($this) {}
    function jur_AbstractCharClass$LazyWord_computeValue($this) {
        return jur_CharClass_add(jur_CharClass_add1(jur_CharClass_add1(jur_CharClass_add1(jur_CharClass__init_3(), 97, 122), 65, 90), 48, 57), 95);
    }
    var jur_AbstractCharClass$LazyNonWord = $rt_classWithoutFields(jur_AbstractCharClass$LazyWord);
    function jur_AbstractCharClass$LazyNonWord__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyNonWord();
        jur_AbstractCharClass$LazyNonWord__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyNonWord__init_($this) {}
    function jur_AbstractCharClass$LazyNonWord_computeValue($this) {
        var $chCl;
        $chCl = jur_AbstractCharClass_setNegative(jur_AbstractCharClass$LazyWord_computeValue($this), 1);
        $chCl.$mayContainSupplCodepoints = 1;
        return $chCl;
    }
    var jur_AbstractCharClass$LazyNonSpace = $rt_classWithoutFields(jur_AbstractCharClass$LazySpace);
    function jur_AbstractCharClass$LazyNonSpace__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyNonSpace();
        jur_AbstractCharClass$LazyNonSpace__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyNonSpace__init_($this) {}
    function jur_AbstractCharClass$LazyNonSpace_computeValue($this) {
        var $chCl;
        $chCl = jur_AbstractCharClass_setNegative(jur_AbstractCharClass$LazySpace_computeValue($this), 1);
        $chCl.$mayContainSupplCodepoints = 1;
        return $chCl;
    }
    var jur_AbstractCharClass$LazyNonDigit = $rt_classWithoutFields(jur_AbstractCharClass$LazyDigit);
    function jur_AbstractCharClass$LazyNonDigit__init_0() {
        var var_0 = new jur_AbstractCharClass$LazyNonDigit();
        jur_AbstractCharClass$LazyNonDigit__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazyNonDigit__init_($this) {}
    function jur_AbstractCharClass$LazyNonDigit_computeValue($this) {
        var $chCl;
        $chCl = jur_AbstractCharClass_setNegative(jur_AbstractCharClass$LazyDigit_computeValue($this), 1);
        $chCl.$mayContainSupplCodepoints = 1;
        return $chCl;
    }
    function jur_AbstractCharClass$LazyRange() {
        var a = this; jur_AbstractCharClass$LazyCharClass.call(a);
        a.$start4 = 0;
        a.$end2 = 0;
    }
    function jur_AbstractCharClass$LazyRange__init_0(var_0, var_1) {
        var var_2 = new jur_AbstractCharClass$LazyRange();
        jur_AbstractCharClass$LazyRange__init_(var_2, var_0, var_1);
        return var_2;
    }
    function jur_AbstractCharClass$LazyRange__init_($this, $start, $end) {
        $this.$start4 = $start;
        $this.$end2 = $end;
    }
    function jur_AbstractCharClass$LazyRange_computeValue($this) {
        return jur_CharClass_add1(jur_CharClass__init_3(), $this.$start4, $this.$end2);
    }
    var jur_AbstractCharClass$LazySpecialsBlock = $rt_classWithoutFields(jur_AbstractCharClass$LazyCharClass);
    function jur_AbstractCharClass$LazySpecialsBlock__init_0() {
        var var_0 = new jur_AbstractCharClass$LazySpecialsBlock();
        jur_AbstractCharClass$LazySpecialsBlock__init_(var_0);
        return var_0;
    }
    function jur_AbstractCharClass$LazySpecialsBlock__init_($this) {}
    function jur_AbstractCharClass$LazySpecialsBlock_computeValue($this) {
        return jur_CharClass_add1(jur_CharClass_add1(jur_CharClass__init_3(), 65279, 65279), 65520, 65533);
    }
    function jur_AbstractCharClass$LazyCategory() {
        var a = this; jur_AbstractCharClass$LazyCharClass.call(a);
        a.$category = 0;
        a.$mayContainSupplCodepoints0 = 0;
        a.$containsAllSurrogates = 0;
    }
    function jur_AbstractCharClass$LazyCategory__init_1(var_0, var_1) {
        var var_2 = new jur_AbstractCharClass$LazyCategory();
        jur_AbstractCharClass$LazyCategory__init_(var_2, var_0, var_1);
        return var_2;
    }
    function jur_AbstractCharClass$LazyCategory__init_2(var_0, var_1, var_2) {
        var var_3 = new jur_AbstractCharClass$LazyCategory();
        jur_AbstractCharClass$LazyCategory__init_0(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function jur_AbstractCharClass$LazyCategory__init_($this, $cat, $mayContainSupplCodepoints) {
        $this.$mayContainSupplCodepoints0 = $mayContainSupplCodepoints;
        $this.$category = $cat;
    }
    function jur_AbstractCharClass$LazyCategory__init_0($this, $cat, $mayContainSupplCodepoints, $containsAllSurrogates) {
        $this.$containsAllSurrogates = $containsAllSurrogates;
        $this.$mayContainSupplCodepoints0 = $mayContainSupplCodepoints;
        $this.$category = $cat;
    }
    function jur_AbstractCharClass$LazyCategory_computeValue($this) {
        var $chCl;
        $chCl = jur_UnicodeCategory__init_0($this.$category);
        if ($this.$containsAllSurrogates)
            ju_BitSet_set0($chCl.$lowHighSurrogates, 0, 2048);
        $chCl.$mayContainSupplCodepoints = $this.$mayContainSupplCodepoints0;
        return $chCl;
    }
    function jur_AbstractCharClass$LazyCategoryScope() {
        var a = this; jur_AbstractCharClass$LazyCharClass.call(a);
        a.$category0 = 0;
        a.$mayContainSupplCodepoints1 = 0;
        a.$containsAllSurrogates0 = 0;
    }
    function jur_AbstractCharClass$LazyCategoryScope__init_1(var_0, var_1) {
        var var_2 = new jur_AbstractCharClass$LazyCategoryScope();
        jur_AbstractCharClass$LazyCategoryScope__init_(var_2, var_0, var_1);
        return var_2;
    }
    function jur_AbstractCharClass$LazyCategoryScope__init_2(var_0, var_1, var_2) {
        var var_3 = new jur_AbstractCharClass$LazyCategoryScope();
        jur_AbstractCharClass$LazyCategoryScope__init_0(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function jur_AbstractCharClass$LazyCategoryScope__init_($this, $cat, $mayContainSupplCodepoints) {
        $this.$mayContainSupplCodepoints1 = $mayContainSupplCodepoints;
        $this.$category0 = $cat;
    }
    function jur_AbstractCharClass$LazyCategoryScope__init_0($this, $cat, $mayContainSupplCodepoints, $containsAllSurrogates) {
        $this.$containsAllSurrogates0 = $containsAllSurrogates;
        $this.$mayContainSupplCodepoints1 = $mayContainSupplCodepoints;
        $this.$category0 = $cat;
    }
    function jur_AbstractCharClass$LazyCategoryScope_computeValue($this) {
        var $chCl;
        $chCl = new jur_UnicodeCategoryScope;
        jur_UnicodeCategory__init_($chCl, $this.$category0);
        if ($this.$containsAllSurrogates0)
            ju_BitSet_set0($chCl.$lowHighSurrogates, 0, 2048);
        $chCl.$mayContainSupplCodepoints = $this.$mayContainSupplCodepoints1;
        return $chCl;
    }
    function otcit_DateTimeZoneBuilder$PrecalculatedZone() {
        var a = this; otcit_StorableDateTimeZone.call(a);
        a.$iTransitions = null;
        a.$iWallOffsets = null;
        a.$iStandardOffsets = null;
        a.$iTailZone = null;
    }
    function otcit_DateTimeZoneBuilder$PrecalculatedZone__init_0(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new otcit_DateTimeZoneBuilder$PrecalculatedZone();
        otcit_DateTimeZoneBuilder$PrecalculatedZone__init_(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function otcit_DateTimeZoneBuilder$PrecalculatedZone__init_($this, $id, $transitions, $wallOffsets, $standardOffsets, $tailZone) {
        otcit_StorableDateTimeZone__init_($this, $id);
        $this.$iTransitions = $transitions;
        $this.$iWallOffsets = $wallOffsets;
        $this.$iStandardOffsets = $standardOffsets;
        $this.$iTailZone = $tailZone;
    }
    function otcit_DateTimeZoneBuilder$PrecalculatedZone_getOffset($this, $instant) {
        var $transitions, $i, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$i = $thread.pop();$transitions = $thread.pop();$instant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $transitions = $this.$iTransitions;
            $i = ju_Arrays_binarySearch($transitions, $instant);
            if ($i >= 0)
                return $this.$iWallOffsets.data[$i];
            $transitions = $transitions.data;
            $i = $i ^ (-1);
            if ($i < $transitions.length) {
                if ($i <= 0)
                    return 0;
                return $this.$iWallOffsets.data[$i - 1 | 0];
            }
            var$4 = $this.$iTailZone;
            if (var$4 === null)
                return $this.$iWallOffsets.data[$i - 1 | 0];
            $ptr = 1;
        case 1:
            $tmp = otcit_DateTimeZoneBuilder$DSTZone_getOffset(var$4, $instant);
            if ($rt_suspending()) {
                break main;
            }
            $i = $tmp;
            return $i;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $instant, $transitions, $i, var$4, $ptr);
    }
    function otcit_DateTimeZoneBuilder$PrecalculatedZone_getStandardOffset($this, $instant) {
        var $transitions, $i, var$4;
        $transitions = $this.$iTransitions;
        $i = ju_Arrays_binarySearch($transitions, $instant);
        if ($i >= 0)
            return $this.$iStandardOffsets.data[$i];
        $transitions = $transitions.data;
        $i = $i ^ (-1);
        if ($i < $transitions.length) {
            if ($i <= 0)
                return 0;
            return $this.$iStandardOffsets.data[$i - 1 | 0];
        }
        var$4 = $this.$iTailZone;
        if (var$4 !== null)
            return var$4.$iStandardOffset1;
        return $this.$iStandardOffsets.data[$i - 1 | 0];
    }
    function otcit_DateTimeZoneBuilder$PrecalculatedZone_previousTransition($this, $instant) {
        var $transitions, $i, $prev, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$prev = $thread.pop();$i = $thread.pop();$transitions = $thread.pop();$instant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $transitions = $this.$iTransitions;
            $i = ju_Arrays_binarySearch($transitions, $instant);
            if ($i >= 0) {
                if (Long_le($instant, Long_create(0, 2147483648)))
                    return $instant;
                return Long_sub($instant, Long_fromInt(1));
            }
            $transitions = $transitions.data;
            $i = $i ^ (-1);
            if ($i < $transitions.length) {
                if ($i > 0) {
                    $prev = $transitions[$i - 1 | 0];
                    if (Long_gt($prev, Long_create(0, 2147483648)))
                        return Long_sub($prev, Long_fromInt(1));
                }
                return $instant;
            }
            var$5 = $this.$iTailZone;
            if (var$5 === null) {
                $prev = $transitions[$i - 1 | 0];
                if (Long_le($prev, Long_create(0, 2147483648)))
                    return $instant;
                return Long_sub($prev, Long_fromInt(1));
            }
            $ptr = 1;
        case 1:
            $tmp = otcit_DateTimeZoneBuilder$DSTZone_previousTransition(var$5, $instant);
            if ($rt_suspending()) {
                break main;
            }
            $prev = $tmp;
            if (Long_lt($prev, $instant))
                return $prev;
            $prev = $transitions[$i - 1 | 0];
            if (Long_le($prev, Long_create(0, 2147483648)))
                return $instant;
            return Long_sub($prev, Long_fromInt(1));
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $instant, $transitions, $i, $prev, var$5, $ptr);
    }
    function otcit_DateTimeZoneBuilder$PrecalculatedZone_isCachable($this) {
        var $transitions, var$2, $distances, $count, $i, $diff;
        if ($this.$iTailZone !== null)
            return 1;
        $transitions = $this.$iTransitions.data;
        var$2 = $transitions.length;
        if (var$2 <= 1)
            return 0;
        $distances = 0.0;
        $count = 0;
        $i = 1;
        while ($i < var$2) {
            $diff = Long_sub($transitions[$i], $transitions[$i - 1 | 0]);
            if (Long_lt($diff, Long_create(3028857856, 14))) {
                $distances = $distances + Long_toNumber($diff);
                $count = $count + 1 | 0;
            }
            $i = $i + 1 | 0;
        }
        if ($count > 0 && $distances / $count / 8.64E7 >= 25.0)
            return 1;
        return 0;
    }
    function otcit_DateTimeZoneBuilder$DSTZone() {
        var a = this; otcit_StorableDateTimeZone.call(a);
        a.$iStandardOffset1 = 0;
        a.$iStartRecurrence = null;
        a.$iEndRecurrence = null;
        a.$calendar0 = null;
    }
    function otcit_DateTimeZoneBuilder$DSTZone__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new otcit_DateTimeZoneBuilder$DSTZone();
        otcit_DateTimeZoneBuilder$DSTZone__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function otcit_DateTimeZoneBuilder$DSTZone__init_($this, $id, $standardOffset, $startRecurrence, $endRecurrence) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$endRecurrence = $thread.pop();$startRecurrence = $thread.pop();$standardOffset = $thread.pop();$id = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            otcit_StorableDateTimeZone__init_($this, $id);
            var$5 = new ju_GregorianCalendar;
            $ptr = 1;
        case 1:
            $tmp = otcit_DateTimeZoneBuilder_getGMT();
            if ($rt_suspending()) {
                break main;
            }
            $id = $tmp;
            $ptr = 2;
        case 2:
            ju_GregorianCalendar__init_2(var$5, $id);
            if ($rt_suspending()) {
                break main;
            }
            $this.$calendar0 = var$5;
            $this.$iStandardOffset1 = $standardOffset;
            $this.$iStartRecurrence = $startRecurrence;
            $this.$iEndRecurrence = $endRecurrence;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $id, $standardOffset, $startRecurrence, $endRecurrence, var$5, $ptr);
    }
    function otcit_DateTimeZoneBuilder$DSTZone_getOffset($this, $instant) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$instant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$iStandardOffset1;
            var$3 = $this.$iStartRecurrence;
            var$4 = $this.$iEndRecurrence;
            try {
                var$5 = otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis(var$4);
                var$6 = $this.$calendar0;
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_IllegalArgumentException) {
                } else if ($$je instanceof jl_ArithmeticException) {
                } else {
                    throw $$e;
                }
            }
            var$7 = $instant;
            try {
                var$5 = otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis(var$3);
                var$6 = $this.$calendar0;
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_IllegalArgumentException) {
                } else if ($$je instanceof jl_ArithmeticException) {
                } else {
                    throw $$e;
                }
            }
            if (Long_gt(var$7, $instant))
                var$4 = var$3;
            return var$2 + var$4.$iSaveMillis | 0;
        case 1:
            a: {
                b: {
                    try {
                        $tmp = otcit_DateTimeZoneBuilder$Recurrence_next(var$3, $instant, var$2, var$5, var$6);
                        if ($rt_suspending()) {
                            break main;
                        }
                        var$7 = $tmp;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_IllegalArgumentException) {
                            break b;
                        } else if ($$je instanceof jl_ArithmeticException) {
                            break b;
                        } else {
                            throw $$e;
                        }
                    }
                    break a;
                }
                var$7 = $instant;
            }
            try {
                var$5 = otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis(var$3);
                var$6 = $this.$calendar0;
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_IllegalArgumentException) {
                } else if ($$je instanceof jl_ArithmeticException) {
                } else {
                    throw $$e;
                }
            }
            if (Long_gt(var$7, $instant))
                var$4 = var$3;
            return var$2 + var$4.$iSaveMillis | 0;
        case 2:
            a: {
                b: {
                    try {
                        $tmp = otcit_DateTimeZoneBuilder$Recurrence_next(var$4, $instant, var$2, var$5, var$6);
                        if ($rt_suspending()) {
                            break main;
                        }
                        var$8 = $tmp;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_IllegalArgumentException) {
                            break b;
                        } else if ($$je instanceof jl_ArithmeticException) {
                            break b;
                        } else {
                            throw $$e;
                        }
                    }
                    break a;
                }
                var$8 = $instant;
            }
            if (Long_gt(var$7, var$8))
                var$4 = var$3;
            return var$2 + var$4.$iSaveMillis | 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $instant, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function otcit_DateTimeZoneBuilder$DSTZone_getStandardOffset($this, $instant) {
        return $this.$iStandardOffset1;
    }
    function otcit_DateTimeZoneBuilder$DSTZone_previousTransition($this, $instant) {
        var $end, $standardOffset, $startRecurrence, $endRecurrence, var$6, $start, var$8, $end_0, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$end_0 = $thread.pop();var$8 = $thread.pop();$start = $thread.pop();var$6 = $thread.pop();$endRecurrence = $thread.pop();$startRecurrence = $thread.pop();$standardOffset = $thread.pop();$end = $thread.pop();$instant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $end = Long_add($instant, Long_fromInt(1));
            $standardOffset = $this.$iStandardOffset1;
            $startRecurrence = $this.$iStartRecurrence;
            $endRecurrence = $this.$iEndRecurrence;
            try {
                var$6 = otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis($endRecurrence);
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_IllegalArgumentException) {
                } else if ($$je instanceof jl_ArithmeticException) {
                } else {
                    throw $$e;
                }
            }
            $start = $end;
            try {
                var$8 = otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis($startRecurrence);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_IllegalArgumentException) {
                } else if ($$je instanceof jl_ArithmeticException) {
                } else {
                    throw $$e;
                }
            }
            $end_0 = $end;
            if (Long_gt($start, $end_0))
                $end_0 = $start;
            return Long_sub($end_0, Long_fromInt(1));
        case 1:
            a: {
                try {
                    $tmp = otcit_DateTimeZoneBuilder$Recurrence_previous($startRecurrence, $end, $standardOffset, var$6);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $start = $tmp;
                    var$6 = Long_compare($end, Long_ZERO);
                    if (var$6 < 0 && Long_gt($start, Long_ZERO))
                        $start = $end;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_IllegalArgumentException) {
                    } else if ($$je instanceof jl_ArithmeticException) {
                    } else {
                        throw $$e;
                    }
                }
                $start = $end;
            }
            try {
                var$8 = otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis($startRecurrence);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_IllegalArgumentException) {
                } else if ($$je instanceof jl_ArithmeticException) {
                } else {
                    throw $$e;
                }
            }
            $end_0 = $end;
            if (Long_gt($start, $end_0))
                $end_0 = $start;
            return Long_sub($end_0, Long_fromInt(1));
        case 2:
            a: {
                try {
                    $tmp = otcit_DateTimeZoneBuilder$Recurrence_previous($endRecurrence, $end, $standardOffset, var$8);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $end_0 = $tmp;
                    if (var$6 < 0 && Long_gt($end_0, Long_ZERO))
                        $end_0 = $end;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_IllegalArgumentException) {
                    } else if ($$je instanceof jl_ArithmeticException) {
                    } else {
                        throw $$e;
                    }
                }
                $end_0 = $end;
            }
            if (Long_gt($start, $end_0))
                $end_0 = $start;
            return Long_sub($end_0, Long_fromInt(1));
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $instant, $end, $standardOffset, $startRecurrence, $endRecurrence, var$6, $start, var$8, $end_0, $ptr);
    }
    function otcit_DateTimeZoneBuilder$DSTZone_readZone($id, $flow) {
        var $standardOffset, $startRecurrence, $endRecurrence, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$endRecurrence = $thread.pop();$startRecurrence = $thread.pop();$standardOffset = $thread.pop();$flow = $thread.pop();$id = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $standardOffset = Long_lo((otcit_StorableDateTimeZone_readTime($flow)));
            $ptr = 1;
        case 1:
            $tmp = otcit_DateTimeZoneBuilder$Recurrence_read($flow);
            if ($rt_suspending()) {
                break main;
            }
            $startRecurrence = $tmp;
            $ptr = 2;
        case 2:
            $tmp = otcit_DateTimeZoneBuilder$Recurrence_read($flow);
            if ($rt_suspending()) {
                break main;
            }
            $endRecurrence = $tmp;
            $flow = new otcit_DateTimeZoneBuilder$DSTZone;
            $ptr = 3;
        case 3:
            otcit_DateTimeZoneBuilder$DSTZone__init_($flow, $id, $standardOffset, $startRecurrence, $endRecurrence);
            if ($rt_suspending()) {
                break main;
            }
            return $flow;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($id, $flow, $standardOffset, $startRecurrence, $endRecurrence, $ptr);
    }
    function otcit_DateTimeZoneBuilder$RuleBasedZone() {
        var a = this; otcit_StorableDateTimeZone.call(a);
        a.$builder = null;
        a.$zone0 = null;
    }
    function otcit_DateTimeZoneBuilder$RuleBasedZone_initZone($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3
            = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$zone0 !== null)
                return;
            var$1 = $this.$builder;
            var$2 = $this.$iID;
            if (var$2 === null) {
                var$1 = new jl_IllegalArgumentException;
                jl_Throwable__init_0(var$1);
                $rt_throw(var$1);
            }
            var$3 = ju_ArrayList__init_0();
            var$4 = null;
            var$5 = Long_create(0, 2147483648);
            var$6 = var$1.$iRuleSets.$size0;
            var$7 = new ju_GregorianCalendar;
            $ptr = 1;
        case 1:
            $tmp = otcit_DateTimeZoneBuilder_getGMT();
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 2;
        case 2:
            ju_GregorianCalendar__init_2(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 0;
            var$10 = var$6 - 1 | 0;
            while (var$9 < var$6) {
                var$11 = ju_ArrayList_get(var$1.$iRuleSets, var$9);
                if (var$11.$iInitialNameKey === null) {
                    var$8 = new ju_ArrayList;
                    var$12 = var$11.$iRules;
                    $ptr = 3;
                    continue main;
                }
                var$13 = new otcit_DateTimeZoneBuilder$Transition;
                var$14 = var$11.$iStandardOffset0;
                otcit_DateTimeZoneBuilder$Transition__init_(var$13, var$5, var$14 + var$11.$iInitialSaveMillis | 0, var$14);
                if (var$13 !== null) {
                    otcit_DateTimeZoneBuilder_addTransition(var$1, var$3, var$13);
                    var$15 = var$13.$iMillis;
                    var$16 = otcit_DateTimeZoneBuilder$Transition_getSaveMillis(var$13);
                    var$13 = new otcit_DateTimeZoneBuilder$RuleSet;
                    $ptr = 5;
                    continue main;
                }
                var$9 = var$9 + 1 | 0;
            }
            a: {
                var$9 = var$3.$size0;
                if (!var$9) {
                    if (var$4 === null)
                        var$4 = otcit_DateTimeZoneBuilder_buildFixedZone(var$2, 0, 0);
                } else if (var$9 == 1 && var$4 === null) {
                    var$1 = ju_ArrayList_get(var$3, 0);
                    var$4 = otcit_DateTimeZoneBuilder_buildFixedZone(var$2, var$1.$iWallOffset0, var$1.$iStandardOffset2);
                } else {
                    if (!var$9) {
                        var$1 = new jl_IllegalArgumentException;
                        jl_Throwable__init_0(var$1);
                        $rt_throw(var$1);
                    }
                    var$17 = $rt_createLongArray(var$9);
                    var$18 = var$17.data;
                    var$19 = $rt_createIntArray(var$9);
                    var$20 = var$19.data;
                    var$21 = $rt_createIntArray(var$9);
                    var$22 = var$21.data;
                    var$8 = null;
                    var$14 = 0;
                    while (true) {
                        if (var$14 >= var$9) {
                            var$1 = otcit_DateTimeZoneBuilder$PrecalculatedZone__init_0(var$2, var$17, var$19, var$21, var$4);
                            if (!otcit_DateTimeZoneBuilder$PrecalculatedZone_isCachable(var$1)) {
                                var$4 = var$1;
                                break a;
                            }
                            var$4 = otcit_CachedDateTimeZone_forZone(var$1);
                            break a;
                        }
                        var$1 = ju_ArrayList_get(var$3, var$14);
                        if (!otcit_DateTimeZoneBuilder$Transition_isTransitionFrom(var$1, var$8))
                            break;
                        var$18[var$14] = var$1.$iMillis;
                        var$20[var$14] = var$1.$iWallOffset0;
                        var$22[var$14] = var$1.$iStandardOffset2;
                        var$14 = var$14 + 1 | 0;
                        var$8 = var$1;
                    }
                    var$1 = new jl_IllegalArgumentException;
                    jl_Throwable__init_(var$1, var$2);
                    $rt_throw(var$1);
                }
            }
            $this.$zone0 = var$4;
            return;
        case 3:
            ju_ArrayList__init_4(var$8, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = Long_create(0, 2147483648);
            var$14 = 0;
            var$13 = null;
            $ptr = 4;
        case 4:
            $tmp = otcit_DateTimeZoneBuilder$RuleSet_nextTransition(var$11, var$15, var$14, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            if (var$12 !== null) {
                var$15 = var$12.$iMillis;
                var$14 = Long_compare(var$15, var$5);
                if (!var$14)
                    var$13 = otcit_DateTimeZoneBuilder$Transition__init_2(var$5, var$12);
                else {
                    if (var$14 <= 0) {
                        var$13 = otcit_DateTimeZoneBuilder$Transition__init_2(var$5, var$12);
                        var$14 = otcit_DateTimeZoneBuilder$Transition_getSaveMillis(var$12);
                        continue main;
                    }
                    if (var$13 === null) {
                        var$12 = var$11.$iRules;
                        $ptr = 8;
                        continue main;
                    }
                    if (var$13 === null) {
                        var$13 = new otcit_DateTimeZoneBuilder$Transition;
                        var$14 = var$11.$iStandardOffset0;
                        otcit_DateTimeZoneBuilder$Transition__init_(var$13, var$5, var$14, var$14);
                    }
                }
            }
            var$11.$iRules = var$8;
            while (true) {
                if (var$13 !== null) {
                    otcit_DateTimeZoneBuilder_addTransition(var$1, var$3, var$13);
                    var$15 = var$13.$iMillis;
                    var$16 = otcit_DateTimeZoneBuilder$Transition_getSaveMillis(var$13);
                    var$13 = new otcit_DateTimeZoneBuilder$RuleSet;
                    $ptr = 5;
                    continue main;
                }
                var$9 = var$9 + 1 | 0;
                if (var$9 >= var$6)
                    break;
                var$11 = ju_ArrayList_get(var$1.$iRuleSets, var$9);
                if (var$11.$iInitialNameKey === null) {
                    var$8 = new ju_ArrayList;
                    var$12 = var$11.$iRules;
                    $ptr = 3;
                    continue main;
                }
                var$13 = new otcit_DateTimeZoneBuilder$Transition;
                var$14 = var$11.$iStandardOffset0;
                otcit_DateTimeZoneBuilder$Transition__init_(var$13, var$5, var$14 + var$11.$iInitialSaveMillis | 0, var$14);
            }
            b: {
                var$9 = var$3.$size0;
                if (!var$9) {
                    if (var$4 === null)
                        var$4 = otcit_DateTimeZoneBuilder_buildFixedZone(var$2, 0, 0);
                } else if (var$9 == 1 && var$4 === null) {
                    var$1 = ju_ArrayList_get(var$3, 0);
                    var$4 = otcit_DateTimeZoneBuilder_buildFixedZone(var$2, var$1.$iWallOffset0, var$1.$iStandardOffset2);
                } else {
                    if (!var$9) {
                        var$1 = new jl_IllegalArgumentException;
                        jl_Throwable__init_0(var$1);
                        $rt_throw(var$1);
                    }
                    var$17 = $rt_createLongArray(var$9);
                    var$18 = var$17.data;
                    var$19 = $rt_createIntArray(var$9);
                    var$20 = var$19.data;
                    var$21 = $rt_createIntArray(var$9);
                    var$22 = var$21.data;
                    var$8 = null;
                    var$14 = 0;
                    while (true) {
                        if (var$14 >= var$9) {
                            var$1 = otcit_DateTimeZoneBuilder$PrecalculatedZone__init_0(var$2, var$17, var$19, var$21, var$4);
                            if (!otcit_DateTimeZoneBuilder$PrecalculatedZone_isCachable(var$1)) {
                                var$4 = var$1;
                                break b;
                            }
                            var$4 = otcit_CachedDateTimeZone_forZone(var$1);
                            break b;
                        }
                        var$1 = ju_ArrayList_get(var$3, var$14);
                        if (!otcit_DateTimeZoneBuilder$Transition_isTransitionFrom(var$1, var$8))
                            break;
                        var$18[var$14] = var$1.$iMillis;
                        var$20[var$14] = var$1.$iWallOffset0;
                        var$22[var$14] = var$1.$iStandardOffset2;
                        var$14 = var$14 + 1 | 0;
                        var$8 = var$1;
                    }
                    var$1 = new jl_IllegalArgumentException;
                    jl_Throwable__init_(var$1, var$2);
                    $rt_throw(var$1);
                }
            }
            $this.$zone0 = var$4;
            return;
        case 5:
            otcit_DateTimeZoneBuilder$RuleSet_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$13.$iStandardOffset0 = var$11.$iStandardOffset0;
            var$8 = new ju_ArrayList;
            var$12 = var$11.$iRules;
            $ptr = 6;
        case 6:
            ju_ArrayList__init_4(var$8, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$13.$iRules = var$8;
            var$13.$iInitialSaveMillis = var$11.$iInitialSaveMillis;
            var$13.$iUpperYear = var$11.$iUpperYear;
            var$13.$iUpperOfYear = var$11.$iUpperOfYear;
            $ptr = 7;
        case 7:
            c: {
                $tmp = otcit_DateTimeZoneBuilder$RuleSet_nextTransition(var$13, var$15, var$16, var$7);
                if ($rt_suspending()) {
                    break main;
                }
                var$8 = $tmp;
                if (var$8 !== null) {
                    if (!otcit_DateTimeZoneBuilder_addTransition(var$1, var$3, var$8))
                        break c;
                    if (var$4 === null)
                        break c;
                }
                var$23 = var$13.$iUpperYear;
                if (var$23 != 2147483647) {
                    var$8 = var$13.$iUpperOfYear;
                    var$14 = var$13.$iStandardOffset0;
                    $ptr = 9;
                    continue main;
                }
                var$5 = Long_create(4294967295, 2147483647);
                while (true) {
                    var$9 = var$9 + 1 | 0;
                    if (var$9 >= var$6)
                        break;
                    var$11 = ju_ArrayList_get(var$1.$iRuleSets, var$9);
                    if (var$11.$iInitialNameKey === null) {
                        var$8 = new ju_ArrayList;
                        var$12 = var$11.$iRules;
                        $ptr = 3;
                        continue main;
                    }
                    var$13 = new otcit_DateTimeZoneBuilder$Transition;
                    var$14 = var$11.$iStandardOffset0;
                    otcit_DateTimeZoneBuilder$Transition__init_(var$13, var$5, var$14 + var$11.$iInitialSaveMillis | 0, var$14);
                    if (var$13 !== null) {
                        otcit_DateTimeZoneBuilder_addTransition(var$1, var$3, var$13);
                        var$15 = var$13.$iMillis;
                        var$16 = otcit_DateTimeZoneBuilder$Transition_getSaveMillis(var$13);
                        var$13 = new otcit_DateTimeZoneBuilder$RuleSet;
                        $ptr = 5;
                        continue main;
                    }
                }
                d: {
                    var$9 = var$3.$size0;
                    if (!var$9) {
                        if (var$4 === null)
                            var$4 = otcit_DateTimeZoneBuilder_buildFixedZone(var$2, 0, 0);
                    } else if (var$9 == 1 && var$4 === null) {
                        var$1 = ju_ArrayList_get(var$3, 0);
                        var$4 = otcit_DateTimeZoneBuilder_buildFixedZone(var$2, var$1.$iWallOffset0, var$1.$iStandardOffset2);
                    } else {
                        if (!var$9) {
                            var$1 = new jl_IllegalArgumentException;
                            jl_Throwable__init_0(var$1);
                            $rt_throw(var$1);
                        }
                        var$17 = $rt_createLongArray(var$9);
                        var$18 = var$17.data;
                        var$19 = $rt_createIntArray(var$9);
                        var$20 = var$19.data;
                        var$21 = $rt_createIntArray(var$9);
                        var$22 = var$21.data;
                        var$8 = null;
                        var$14 = 0;
                        while (true) {
                            if (var$14 >= var$9) {
                                var$1 = otcit_DateTimeZoneBuilder$PrecalculatedZone__init_0(var$2, var$17, var$19, var$21, var$4);
                                if (!otcit_DateTimeZoneBuilder$PrecalculatedZone_isCachable(var$1)) {
                                    var$4 = var$1;
                                    break d;
                                }
                                var$4 = otcit_CachedDateTimeZone_forZone(var$1);
                                break d;
                            }
                            var$1 = ju_ArrayList_get(var$3, var$14);
                            if (!otcit_DateTimeZoneBuilder$Transition_isTransitionFrom(var$1, var$8))
                                break;
                            var$18[var$14] = var$1.$iMillis;
                            var$20[var$14] = var$1.$iWallOffset0;
                            var$22[var$14] = var$1.$iStandardOffset2;
                            var$14 = var$14 + 1 | 0;
                            var$8 = var$1;
                        }
                        var$1 = new jl_IllegalArgumentException;
                        jl_Throwable__init_(var$1, var$2);
                        $rt_throw(var$1);
                    }
                }
                $this.$zone0 = var$4;
                return;
            }
            var$15 = var$8.$iMillis;
            var$16 = otcit_DateTimeZoneBuilder$Transition_getSaveMillis(var$8);
            if (var$4 === null && var$9 == var$10) {
                var$4 = var$13.$iRules;
                if (var$4.$size0 == 2) {
                    var$8 = ju_ArrayList_get(var$4, 0);
                    var$12 = ju_ArrayList_get(var$13.$iRules, 1);
                    if (var$8.$iToYear == 2147483647 && var$12.$iToYear == 2147483647) {
                        var$4 = new otcit_DateTimeZoneBuilder$DSTZone;
                        var$14 = var$13.$iStandardOffset0;
                        var$8 = var$8.$iRecurrence;
                        var$12 = var$12.$iRecurrence;
                        $ptr = 11;
                        continue main;
                    }
                }
                var$4 = null;
            }
            continue main;
        case 8:
            $tmp = ju_AbstractList_iterator(var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$24 = $tmp;
            if (ju_AbstractList$1_hasNext(var$24)) {
                $ptr = 10;
                continue main;
            }
            if (var$13 === null) {
                var$13 = new otcit_DateTimeZoneBuilder$Transition;
                var$14 = var$11.$iStandardOffset0;
                otcit_DateTimeZoneBuilder$Transition__init_(var$13, var$5, var$14, var$14);
            }
            var$11.$iRules = var$8;
            while (true) {
                if (var$13 !== null) {
                    otcit_DateTimeZoneBuilder_addTransition(var$1, var$3, var$13);
                    var$15 = var$13.$iMillis;
                    var$16 = otcit_DateTimeZoneBuilder$Transition_getSaveMillis(var$13);
                    var$13 = new otcit_DateTimeZoneBuilder$RuleSet;
                    $ptr = 5;
                    continue main;
                }
                var$9 = var$9 + 1 | 0;
                if (var$9 >= var$6)
                    break;
                var$11 = ju_ArrayList_get(var$1.$iRuleSets, var$9);
                if (var$11.$iInitialNameKey === null) {
                    var$8 = new ju_ArrayList;
                    var$12 = var$11.$iRules;
                    $ptr = 3;
                    continue main;
                }
                var$13 = new otcit_DateTimeZoneBuilder$Transition;
                var$14 = var$11.$iStandardOffset0;
                otcit_DateTimeZoneBuilder$Transition__init_(var$13, var$5, var$14 + var$11.$iInitialSaveMillis | 0, var$14);
            }
            d: {
                var$9 = var$3.$size0;
                if (!var$9) {
                    if (var$4 === null)
                        var$4 = otcit_DateTimeZoneBuilder_buildFixedZone(var$2, 0, 0);
                } else if (var$9 == 1 && var$4 === null) {
                    var$1 = ju_ArrayList_get(var$3, 0);
                    var$4 = otcit_DateTimeZoneBuilder_buildFixedZone(var$2, var$1.$iWallOffset0, var$1.$iStandardOffset2);
                } else {
                    if (!var$9) {
                        var$1 = new jl_IllegalArgumentException;
                        jl_Throwable__init_0(var$1);
                        $rt_throw(var$1);
                    }
                    var$17 = $rt_createLongArray(var$9);
                    var$18 = var$17.data;
                    var$19 = $rt_createIntArray(var$9);
                    var$20 = var$19.data;
                    var$21 = $rt_createIntArray(var$9);
                    var$22 = var$21.data;
                    var$8 = null;
                    var$14 = 0;
                    while (true) {
                        if (var$14 >= var$9) {
                            var$1 = otcit_DateTimeZoneBuilder$PrecalculatedZone__init_0(var$2, var$17, var$19, var$21, var$4);
                            if (!otcit_DateTimeZoneBuilder$PrecalculatedZone_isCachable(var$1)) {
                                var$4 = var$1;
                                break d;
                            }
                            var$4 = otcit_CachedDateTimeZone_forZone(var$1);
                            break d;
                        }
                        var$1 = ju_ArrayList_get(var$3, var$14);
                        if (!otcit_DateTimeZoneBuilder$Transition_isTransitionFrom(var$1, var$8))
                            break;
                        var$18[var$14] = var$1.$iMillis;
                        var$20[var$14] = var$1.$iWallOffset0;
                        var$22[var$14] = var$1.$iStandardOffset2;
                        var$14 = var$14 + 1 | 0;
                        var$8 = var$1;
                    }
                    var$1 = new jl_IllegalArgumentException;
                    jl_Throwable__init_(var$1, var$2);
                    $rt_throw(var$1);
                }
            }
            $this.$zone0 = var$4;
            return;
        case 9:
            $tmp = otcit_DateTimeZoneBuilder$OfYear_setInstant(var$8, var$23, var$14, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            while (true) {
                var$9 = var$9 + 1 | 0;
                if (var$9 >= var$6)
                    break;
                var$11 = ju_ArrayList_get(var$1.$iRuleSets, var$9);
                if (var$11.$iInitialNameKey === null) {
                    var$8 = new ju_ArrayList;
                    var$12 = var$11.$iRules;
                    $ptr = 3;
                    continue main;
                }
                var$13 = new otcit_DateTimeZoneBuilder$Transition;
                var$14 = var$11.$iStandardOffset0;
                otcit_DateTimeZoneBuilder$Transition__init_(var$13, var$5, var$14 + var$11.$iInitialSaveMillis | 0, var$14);
                if (var$13 !== null) {
                    otcit_DateTimeZoneBuilder_addTransition(var$1, var$3, var$13);
                    var$15 = var$13.$iMillis;
                    var$16 = otcit_DateTimeZoneBuilder$Transition_getSaveMillis(var$13);
                    var$13 = new otcit_DateTimeZoneBuilder$RuleSet;
                    $ptr = 5;
                    continue main;
                }
            }
            e: {
                var$9 = var$3.$size0;
                if (!var$9) {
                    if (var$4 === null)
                        var$4 = otcit_DateTimeZoneBuilder_buildFixedZone(var$2, 0, 0);
                } else if (var$9 == 1 && var$4 === null) {
                    var$1 = ju_ArrayList_get(var$3, 0);
                    var$4 = otcit_DateTimeZoneBuilder_buildFixedZone(var$2, var$1.$iWallOffset0, var$1.$iStandardOffset2);
                } else {
                    if (!var$9) {
                        var$1 = new jl_IllegalArgumentException;
                        jl_Throwable__init_0(var$1);
                        $rt_throw(var$1);
                    }
                    var$17 = $rt_createLongArray(var$9);
                    var$18 = var$17.data;
                    var$19 = $rt_createIntArray(var$9);
                    var$20 = var$19.data;
                    var$21 = $rt_createIntArray(var$9);
                    var$22 = var$21.data;
                    var$8 = null;
                    var$14 = 0;
                    while (true) {
                        if (var$14 >= var$9) {
                            var$1 = otcit_DateTimeZoneBuilder$PrecalculatedZone__init_0(var$2, var$17, var$19, var$21, var$4);
                            if (!otcit_DateTimeZoneBuilder$PrecalculatedZone_isCachable(var$1)) {
                                var$4 = var$1;
                                break e;
                            }
                            var$4 = otcit_CachedDateTimeZone_forZone(var$1);
                            break e;
                        }
                        var$1 = ju_ArrayList_get(var$3, var$14);
                        if (!otcit_DateTimeZoneBuilder$Transition_isTransitionFrom(var$1, var$8))
                            break;
                        var$18[var$14] = var$1.$iMillis;
                        var$20[var$14] = var$1.$iWallOffset0;
                        var$22[var$14] = var$1.$iStandardOffset2;
                        var$14 = var$14 + 1 | 0;
                        var$8 = var$1;
                    }
                    var$1 = new jl_IllegalArgumentException;
                    jl_Throwable__init_(var$1, var$2);
                    $rt_throw(var$1);
                }
            }
            $this.$zone0 = var$4;
            return;
        case 10:
            $tmp = ju_AbstractList$1_next(var$24);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            var$12 = var$12;
            if (!otcit_DateTimeZoneBuilder$Rule_getSaveMillis(var$12))
                var$13 = otcit_DateTimeZoneBuilder$Transition__init_3(var$5, var$12, var$11.$iStandardOffset0);
            else if (ju_AbstractList$1_hasNext(var$24)) {
                continue main;
            }
            if (var$13 === null) {
                var$13 = new otcit_DateTimeZoneBuilder$Transition;
                var$14 = var$11.$iStandardOffset0;
                otcit_DateTimeZoneBuilder$Transition__init_(var$13, var$5, var$14, var$14);
            }
            var$11.$iRules = var$8;
            while (true) {
                if (var$13 !== null) {
                    otcit_DateTimeZoneBuilder_addTransition(var$1, var$3, var$13);
                    var$15 = var$13.$iMillis;
                    var$16 = otcit_DateTimeZoneBuilder$Transition_getSaveMillis(var$13);
                    var$13 = new otcit_DateTimeZoneBuilder$RuleSet;
                    $ptr = 5;
                    continue main;
                }
                var$9 = var$9 + 1 | 0;
                if (var$9 >= var$6)
                    break;
                var$11 = ju_ArrayList_get(var$1.$iRuleSets, var$9);
                if (var$11.$iInitialNameKey === null) {
                    var$8 = new ju_ArrayList;
                    var$12 = var$11.$iRules;
                    $ptr = 3;
                    continue main;
                }
                var$13 = new otcit_DateTimeZoneBuilder$Transition;
                var$14 = var$11.$iStandardOffset0;
                otcit_DateTimeZoneBuilder$Transition__init_(var$13, var$5, var$14 + var$11.$iInitialSaveMillis | 0, var$14);
            }
            f: {
                var$9 = var$3.$size0;
                if (!var$9) {
                    if (var$4 === null)
                        var$4 = otcit_DateTimeZoneBuilder_buildFixedZone(var$2, 0, 0);
                } else if (var$9 == 1 && var$4 === null) {
                    var$1 = ju_ArrayList_get(var$3, 0);
                    var$4 = otcit_DateTimeZoneBuilder_buildFixedZone(var$2, var$1.$iWallOffset0, var$1.$iStandardOffset2);
                } else {
                    if (!var$9) {
                        var$1 = new jl_IllegalArgumentException;
                        jl_Throwable__init_0(var$1);
                        $rt_throw(var$1);
                    }
                    var$17 = $rt_createLongArray(var$9);
                    var$18 = var$17.data;
                    var$19 = $rt_createIntArray(var$9);
                    var$20 = var$19.data;
                    var$21 = $rt_createIntArray(var$9);
                    var$22 = var$21.data;
                    var$8 = null;
                    var$14 = 0;
                    while (true) {
                        if (var$14 >= var$9) {
                            var$1 = otcit_DateTimeZoneBuilder$PrecalculatedZone__init_0(var$2, var$17, var$19, var$21, var$4);
                            if (!otcit_DateTimeZoneBuilder$PrecalculatedZone_isCachable(var$1)) {
                                var$4 = var$1;
                                break f;
                            }
                            var$4 = otcit_CachedDateTimeZone_forZone(var$1);
                            break f;
                        }
                        var$1 = ju_ArrayList_get(var$3, var$14);
                        if (!otcit_DateTimeZoneBuilder$Transition_isTransitionFrom(var$1, var$8))
                            break;
                        var$18[var$14] = var$1.$iMillis;
                        var$20[var$14] = var$1.$iWallOffset0;
                        var$22[var$14] = var$1.$iStandardOffset2;
                        var$14 = var$14 + 1 | 0;
                        var$8 = var$1;
                    }
                    var$1 = new jl_IllegalArgumentException;
                    jl_Throwable__init_(var$1, var$2);
                    $rt_throw(var$1);
                }
            }
            $this.$zone0 = var$4;
            return;
        case 11:
            otcit_DateTimeZoneBuilder$DSTZone__init_(var$4, var$2, var$14, var$8, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, $ptr);
    }
    function otcit_DateTimeZoneBuilder$RuleBasedZone_getOffset($this, $instant) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$instant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            otcit_DateTimeZoneBuilder$RuleBasedZone_initZone($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$zone0;
            $ptr = 2;
        case 2:
            $tmp = var$2.$getOffset($instant);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $instant, var$2, var$3, $ptr);
    }
    function otcit_DateTimeZoneBuilder$RuleBasedZone_getStandardOffset($this, $instant) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$instant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            otcit_DateTimeZoneBuilder$RuleBasedZone_initZone($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$zone0;
            $ptr = 2;
        case 2:
            $tmp = var$2.$getStandardOffset($instant);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $instant, var$2, var$3, $ptr);
    }
    function otcit_DateTimeZoneBuilder$RuleBasedZone_previousTransition($this, $instant) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$instant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            otcit_DateTimeZoneBuilder$RuleBasedZone_initZone($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$zone0;
            $ptr = 2;
        case 2:
            $tmp = var$2.$previousTransition($instant);
            if ($rt_suspending()) {
                break main;
            }
            $instant = $tmp;
            return $instant;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $instant, var$2, $ptr);
    }
    var ju_Enumeration = $rt_classWithoutFields(0);
    var ju_Hashtable$1 = $rt_classWithoutFields();
    function ju_Hashtable$1__init_0() {
        var var_0 = new ju_Hashtable$1();
        ju_Hashtable$1__init_(var_0);
        return var_0;
    }
    function ju_Hashtable$1__init_($this) {}
    var ju_Hashtable$2 = $rt_classWithoutFields();
    function ju_Hashtable$2__init_0() {
        var var_0 = new ju_Hashtable$2();
        ju_Hashtable$2__init_(var_0);
        return var_0;
    }
    function ju_Hashtable$2__init_($this) {}
    function otciu_CharMapping() {
        var a = this; jl_Object.call(a);
        a.$binarySearchTable = null;
        a.$fastTable = null;
    }
    function otcit_CachedDateTimeZone() {
        var a = this; otcit_StorableDateTimeZone.call(a);
        a.$iZone = null;
        a.$iInfoCache = null;
    }
    var otcit_CachedDateTimeZone_cInfoCacheMask = 0;
    function otcit_CachedDateTimeZone_forZone($zone) {
        var var$2;
        if ($zone instanceof otcit_CachedDateTimeZone)
            return $zone;
        var$2 = new otcit_CachedDateTimeZone;
        otcit_StorableDateTimeZone__init_(var$2, $zone.$iID);
        var$2.$iInfoCache = $rt_createArray(otcit_CachedDateTimeZone$Info, otcit_CachedDateTimeZone_cInfoCacheMask + 1 | 0);
        var$2.$iZone = $zone;
        return var$2;
    }
    function otcit_CachedDateTimeZone_getOffset($this, $instant) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$instant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = otcit_CachedDateTimeZone_getInfo($this, $instant);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = otcit_CachedDateTimeZone$Info_getOffset(var$2, $instant);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $instant, var$2, var$3, $ptr);
    }
    function otcit_CachedDateTimeZone_getStandardOffset($this, $instant) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$instant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = otcit_CachedDateTimeZone_getInfo($this, $instant);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return otcit_CachedDateTimeZone$Info_getStandardOffset(var$2, $instant);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $instant, var$2, $ptr);
    }
    function otcit_CachedDateTimeZone_previousTransition($this, $instant) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$instant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$iZone;
            $ptr = 1;
        case 1:
            $tmp = otcit_DateTimeZoneBuilder$PrecalculatedZone_previousTransition(var$2, $instant);
            if ($rt_suspending()) {
                break main;
            }
            $instant = $tmp;
            return $instant;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $instant, var$2, $ptr);
    }
    function otcit_CachedDateTimeZone_getInfo($this, $millis) {
        var $period, $cache, $index, $info, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$info = $thread.pop();$index = $thread.pop();$cache = $thread.pop();$period = $thread.pop();$millis = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $period = Long_hi($millis);
            $cache = $this.$iInfoCache.data;
            $index = $period & otcit_CachedDateTimeZone_cInfoCacheMask;
            $info = $cache[$index];
            if (!($info !== null && Long_hi($info.$iPeriodStart) == $period)) {
                var$6 = Long_and($millis, Long_create(0, 4294967295));
                $info = otcit_CachedDateTimeZone$Info__init_0($this.$iZone, var$6);
                var$7 = Long_or(var$6, Long_create(4294967295, 0));
                var$8 = $info;
                a: {
                    while (true) {
                        var$9 = $this.$iZone;
                        var$10 = var$9.$iTransitions;
                        $period = ju_Arrays_binarySearch(var$10, var$6);
                        $period = $period < 0 ? $period ^ (-1) : $period + 1 | 0;
                        var$10 = var$10.data;
                        var$11 = var$10.length;
                        if ($period < var$11)
                            var$12 = var$10[$period];
                        else {
                            var$13 = var$9.$iTailZone;
                            if (var$13 === null)
                                var$12 = var$6;
                            else {
                                var$14 = var$10[var$11 - 1 | 0];
                                if (Long_ge(var$6, var$14))
                                    var$14 = var$6;
                                var$15 = var$13.$iStandardOffset1;
                                var$16 = var$13.$iStartRecurrence;
                                var$17 = var$13.$iEndRecurrence;
                                try {
                                    $period = otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis(var$17);
                                    var$9 = var$13.$calendar0;
                                    $ptr = 1;
                                    continue main;
                                } catch ($$e) {
                                    $$je = $rt_wrapException($$e);
                                    if ($$je instanceof jl_IllegalArgumentException) {
                                    } else if ($$je instanceof jl_ArithmeticException) {
                                    } else {
                                        throw $$e;
                                    }
                                }
                                var$12 = var$14;
                                try {
                                    $period = otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis(var$16);
                                    var$9 = var$13.$calendar0;
                                    $ptr = 2;
                                    continue main;
                                } catch ($$e) {
                                    $$je = $rt_wrapException($$e);
                                    if ($$je instanceof jl_IllegalArgumentException) {
                                    } else if ($$je instanceof jl_ArithmeticException) {
                                    } else {
                                        throw $$e;
                                    }
                                }
                                $millis = var$14;
                                if (Long_gt(var$12, $millis))
                                    var$12 = $millis;
                            }
                        }
                        if (Long_eq(var$12, var$6))
                            break a;
                        if (Long_gt(var$12, var$7))
                            break;
                        var$9 = otcit_CachedDateTimeZone$Info__init_0($this.$iZone, var$12);
                        var$8.$iNextInfo = var$9;
                        var$6 = var$12;
                        var$8 = var$9;
                    }
                }
                $cache[$index] = $info;
            }
            return $info;
        case 1:
            b: {
                try {
                    $tmp = otcit_DateTimeZoneBuilder$Recurrence_next(var$16, var$14, var$15, $period, var$9);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$12 = $tmp;
                    var$11 = Long_compare(var$14, Long_ZERO);
                    if (var$11 > 0 && Long_lt(var$12, Long_ZERO))
                        var$12 = var$14;
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_IllegalArgumentException) {
                    } else if ($$je instanceof jl_ArithmeticException) {
                    } else {
                        throw $$e;
                    }
                }
                var$12 = var$14;
            }
            c: {
                d: while (true) {
                    try {
                        $period = otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis(var$16);
                        var$9 = var$13.$calendar0;
                        $ptr = 2;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_IllegalArgumentException) {
                        } else if ($$je instanceof jl_ArithmeticException) {
                        } else {
                            throw $$e;
                        }
                    }
                    $millis = var$14;
                    if (Long_gt(var$12, $millis))
                        var$12 = $millis;
                    while (true) {
                        if (Long_eq(var$12, var$6))
                            break c;
                        if (Long_gt(var$12, var$7))
                            break d;
                        var$9 = otcit_CachedDateTimeZone$Info__init_0($this.$iZone, var$12);
                        var$8.$iNextInfo = var$9;
                        var$6 = var$12;
                        var$8 = var$9;
                        var$9 = $this.$iZone;
                        var$10 = var$9.$iTransitions;
                        $period = ju_Arrays_binarySearch(var$10, var$6);
                        $period = $period < 0 ? $period ^ (-1) : $period + 1 | 0;
                        var$10 = var$10.data;
                        var$11 = var$10.length;
                        if ($period < var$11) {
                            var$12 = var$10[$period];
                            continue;
                        }
                        var$13 = var$9.$iTailZone;
                        if (var$13 !== null)
                            break;
                        var$12 = var$6;
                    }
                    var$14 = var$10[var$11 - 1 | 0];
                    if (Long_ge(var$6, var$14))
                        var$14 = var$6;
                    var$15 = var$13.$iStandardOffset1;
                    var$16 = var$13.$iStartRecurrence;
                    var$17 = var$13.$iEndRecurrence;
                    try {
                        $period = otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis(var$17);
                        var$9 = var$13.$calendar0;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_IllegalArgumentException) {
                        } else if ($$je instanceof jl_ArithmeticException) {
                        } else {
                            throw $$e;
                        }
                    }
                    var$12 = var$14;
                }
            }
            $cache[$index] = $info;
            return $info;
        case 2:
            b: {
                try {
                    $tmp = otcit_DateTimeZoneBuilder$Recurrence_next(var$17, var$14, var$15, $period, var$9);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $millis = $tmp;
                    if (var$11 > 0 && Long_lt($millis, Long_ZERO))
                        $millis = var$14;
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_IllegalArgumentException) {
                    } else if ($$je instanceof jl_ArithmeticException) {
                    } else {
                        throw $$e;
                    }
                }
                $millis = var$14;
            }
            c: {
                d: while (true) {
                    if (Long_gt(var$12, $millis))
                        var$12 = $millis;
                    while (true) {
                        if (Long_eq(var$12, var$6))
                            break c;
                        if (Long_gt(var$12, var$7))
                            break d;
                        var$9 = otcit_CachedDateTimeZone$Info__init_0($this.$iZone, var$12);
                        var$8.$iNextInfo = var$9;
                        var$6 = var$12;
                        var$8 = var$9;
                        var$9 = $this.$iZone;
                        var$10 = var$9.$iTransitions;
                        $period = ju_Arrays_binarySearch(var$10, var$6);
                        $period = $period < 0 ? $period ^ (-1) : $period + 1 | 0;
                        var$10 = var$10.data;
                        var$11 = var$10.length;
                        if ($period < var$11) {
                            var$12 = var$10[$period];
                            continue;
                        }
                        var$13 = var$9.$iTailZone;
                        if (var$13 !== null)
                            break;
                        var$12 = var$6;
                    }
                    var$14 = var$10[var$11 - 1 | 0];
                    if (Long_ge(var$6, var$14))
                        var$14 = var$6;
                    var$15 = var$13.$iStandardOffset1;
                    var$16 = var$13.$iStartRecurrence;
                    var$17 = var$13.$iEndRecurrence;
                    try {
                        $period = otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis(var$17);
                        var$9 = var$13.$calendar0;
                        $ptr = 1;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_IllegalArgumentException) {
                        } else if ($$je instanceof jl_ArithmeticException) {
                        } else {
                            throw $$e;
                        }
                    }
                    var$12 = var$14;
                    try {
                        $period = otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis(var$16);
                        var$9 = var$13.$calendar0;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_IllegalArgumentException) {
                        } else if ($$je instanceof jl_ArithmeticException) {
                        } else {
                            throw $$e;
                        }
                    }
                    $millis = var$14;
                }
            }
            $cache[$index] = $info;
            return $info;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $millis, $period, $cache, $index, $info, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr);
    }
    function otcit_CachedDateTimeZone__clinit_() {
        otcit_CachedDateTimeZone_cInfoCacheMask = 511;
    }
    function otcit_DateTimeZoneBuilder$Recurrence() {
        var a = this; jl_Object.call(a);
        a.$iOfYear = null;
        a.$iSaveMillis = 0;
    }
    function otcit_DateTimeZoneBuilder$Recurrence_next($this, $instant, $standardOffset, $saveMillis, $calendar) {
        var var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$calendar = $thread.pop();$saveMillis = $thread.pop();$standardOffset = $thread.pop();$instant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $this.$iOfYear;
            var$6 = var$5.$iMode;
            if (var$6 == 119)
                $standardOffset = $standardOffset + $saveMillis | 0;
            else if (var$6 != 115)
                $standardOffset = 0;
            var$7 = Long_fromInt($standardOffset);
            var$8 = Long_add($instant, var$7);
            $ptr = 1;
        case 1:
            ju_Calendar_setTimeInMillis($calendar, var$8);
            if ($rt_suspending()) {
                break main;
            }
            ju_Calendar_set($calendar, 2, var$5.$iMonthOfYear - 1 | 0);
            ju_Calendar_set($calendar, 5, 1);
            ju_Calendar_set($calendar, 11, 0);
            ju_Calendar_set($calendar, 12, 0);
            ju_Calendar_set($calendar, 13, 0);
            ju_Calendar_set($calendar, 14, 0);
            $standardOffset = 14;
            $saveMillis = var$5.$iMillisOfDay;
            $ptr = 2;
        case 2:
            ju_GregorianCalendar_add($calendar, $standardOffset, $saveMillis);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthNext(var$5, $calendar);
            if ($rt_suspending()) {
                break main;
            }
            if (var$5.$iDayOfWeek) {
                $ptr = 4;
                continue main;
            }
            $ptr = 6;
            continue main;
        case 4:
            otcit_DateTimeZoneBuilder$OfYear_setDayOfWeek(var$5, $calendar);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = ju_Calendar_getTimeInMillis($calendar);
            if ($rt_suspending()) {
                break main;
            }
            $instant = $tmp;
            if (Long_gt($instant, var$8)) {
                $ptr = 7;
                continue main;
            }
            $standardOffset = 1;
            $saveMillis = 1;
            $ptr = 8;
            continue main;
        case 6:
            $tmp = ju_Calendar_getTimeInMillis($calendar);
            if ($rt_suspending()) {
                break main;
            }
            $instant = $tmp;
            if (Long_gt($instant, var$8)) {
                $ptr = 7;
                continue main;
            }
            $standardOffset = 1;
            $saveMillis = 1;
            $ptr = 11;
            continue main;
        case 7:
            $tmp = ju_Calendar_getTimeInMillis($calendar);
            if ($rt_suspending()) {
                break main;
            }
            $instant = $tmp;
            return Long_sub($instant, var$7);
        case 8:
            ju_GregorianCalendar_add($calendar, $standardOffset, $saveMillis);
            if ($rt_suspending()) {
                break main;
            }
            ju_Calendar_set($calendar, 2, var$5.$iMonthOfYear - 1 | 0);
            $ptr = 9;
        case 9:
            otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthNext(var$5, $calendar);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            otcit_DateTimeZoneBuilder$OfYear_setDayOfWeek(var$5, $calendar);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
            continue main;
        case 11:
            ju_GregorianCalendar_add($calendar, $standardOffset, $saveMillis);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthNext(var$5, $calendar);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $instant, $standardOffset, $saveMillis, $calendar, var$5, var$6, var$7, var$8, $ptr);
    }
    function otcit_DateTimeZoneBuilder$Recurrence_previous($this, $instant, $standardOffset, $saveMillis) {
        var var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$saveMillis = $thread.pop();$standardOffset = $thread.pop();$instant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$iOfYear;
            var$5 = var$4.$iMode;
            if (var$5 == 119)
                $standardOffset = $standardOffset + $saveMillis | 0;
            else if (var$5 != 115)
                $standardOffset = 0;
            var$6 = Long_fromInt($standardOffset);
            $instant = Long_add($instant, var$6);
            var$7 = new ju_GregorianCalendar;
            $ptr = 1;
        case 1:
            $tmp = otcit_DateTimeZoneBuilder_getGMT();
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 2;
        case 2:
            ju_GregorianCalendar__init_2(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            ju_Calendar_setTimeInMillis(var$7, $instant);
            if ($rt_suspending()) {
                break main;
            }
            ju_Calendar_set(var$7, 2, var$4.$iMonthOfYear - 1 | 0);
            ju_Calendar_set(var$7, 5, 1);
            ju_Calendar_set(var$7, 11, 0);
            ju_Calendar_set(var$7, 12, 0);
            ju_Calendar_set(var$7, 13, 0);
            ju_Calendar_set(var$7, 14, 0);
            $standardOffset = 14;
            $saveMillis = var$4.$iMillisOfDay;
            $ptr = 4;
        case 4:
            ju_GregorianCalendar_add(var$7, $standardOffset, $saveMillis);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthPrevious(var$4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if (var$4.$iDayOfWeek) {
                $ptr = 6;
                continue main;
            }
            $ptr = 8;
            continue main;
        case 6:
            otcit_DateTimeZoneBuilder$OfYear_setDayOfWeek(var$4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            $tmp = ju_Calendar_getTimeInMillis(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (Long_lt(var$9, $instant)) {
                $ptr = 9;
                continue main;
            }
            $standardOffset = 1;
            $saveMillis = (-1);
            $ptr = 10;
            continue main;
        case 8:
            $tmp = ju_Calendar_getTimeInMillis(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (Long_lt(var$9, $instant)) {
                $ptr = 9;
                continue main;
            }
            $standardOffset = 1;
            $saveMillis = (-1);
            $ptr = 13;
            continue main;
        case 9:
            $tmp = ju_Calendar_getTimeInMillis(var$7);
            if ($rt_suspending()) {
                break main;
            }
            $instant = $tmp;
            return Long_sub($instant, var$6);
        case 10:
            ju_GregorianCalendar_add(var$7, $standardOffset, $saveMillis);
            if ($rt_suspending()) {
                break main;
            }
            ju_Calendar_set(var$7, 2, var$4.$iMonthOfYear - 1 | 0);
            $ptr = 11;
        case 11:
            otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthPrevious(var$4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            otcit_DateTimeZoneBuilder$OfYear_setDayOfWeek(var$4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
            continue main;
        case 13:
            ju_GregorianCalendar_add(var$7, $standardOffset, $saveMillis);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthPrevious(var$4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $instant, $standardOffset, $saveMillis, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis($this) {
        return $this.$iSaveMillis;
    }
    function otcit_DateTimeZoneBuilder$Recurrence_read($flow) {
        var $ofYear, $saveMillis, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$saveMillis = $thread.pop();$ofYear = $thread.pop();$flow = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = otcit_DateTimeZoneBuilder$OfYear_read($flow);
            if ($rt_suspending()) {
                break main;
            }
            $ofYear = $tmp;
            $saveMillis = Long_lo((otcit_StorableDateTimeZone_readTime($flow)));
            $flow = new otcit_DateTimeZoneBuilder$Recurrence;
            $flow.$iOfYear = $ofYear;
            $flow.$iSaveMillis = $saveMillis;
            return $flow;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($flow, $ofYear, $saveMillis, $ptr);
    }
    function otcit_DateTimeZoneBuilder() {
        jl_Object.call(this);
        this.$iRuleSets = null;
    }
    var otcit_DateTimeZoneBuilder_gmtCache = null;
    function otcit_DateTimeZoneBuilder__init_0() {
        var var_0 = new otcit_DateTimeZoneBuilder();
        otcit_DateTimeZoneBuilder__init_(var_0);
        return var_0;
    }
    function otcit_DateTimeZoneBuilder_buildFixedZone($id, $wallOffset, $standardOffset) {
        return otcit_FixedDateTimeZone__init_0($id, $wallOffset, $standardOffset);
    }
    function otcit_DateTimeZoneBuilder__init_($this) {
        $this.$iRuleSets = ju_ArrayList__init_1(10);
    }
    function otcit_DateTimeZoneBuilder_getGMT() {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (otcit_DateTimeZoneBuilder_gmtCache !== null)
                return otcit_DateTimeZoneBuilder_gmtCache;
            var$1 = $rt_s(1454);
            $ptr = 1;
        case 1:
            ju_TimeZone_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = otcit_DateTimeZoneProvider_getTimeZone(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (var$2 !== null) {
                var$1 = new ju_IANATimeZone;
                $ptr = 3;
                continue main;
            }
            a: {
                if (jl_String_startsWith(var$1, $rt_s(1193)) && jl_String_length(var$1) > 3) {
                    var$3 = jl_String_charAt(var$1, 3);
                    if (var$3 == 43)
                        break a;
                    if (var$3 == 45)
                        break a;
                }
                var$1 = ju_TimeZone_GMT;
                $ptr = 4;
                continue main;
            }
            var$4 = $rt_createIntArray(1);
            var$5 = 4;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$6 = jl_String_length(var$1);
            jl_AbstractStringBuilder_append2(var$2, jl_String_substring0(var$1, 0, var$5));
            while (var$5 < var$6) {
                if (jl_Character_digit(jl_String_charAt(var$1, var$5), 10) != (-1)) {
                    jl_AbstractStringBuilder_append(var$2, jl_String_charAt(var$1, var$5));
                    if ((var$6 - (var$5 + 1 | 0) | 0) == 2)
                        jl_AbstractStringBuilder_append(var$2, 58);
                } else if (jl_String_charAt(var$1, var$5) == 58)
                    jl_AbstractStringBuilder_append(var$2, 58);
                var$5 = var$5 + 1 | 0;
            }
            $ptr = 5;
            continue main;
        case 3:
            ju_IANATimeZone__init_(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            otcit_DateTimeZoneBuilder_gmtCache = var$1;
            return otcit_DateTimeZoneBuilder_gmtCache;
        case 4:
            $tmp = ju_IANATimeZone_clone(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            otcit_DateTimeZoneBuilder_gmtCache = var$1;
            return otcit_DateTimeZoneBuilder_gmtCache;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (jl_String_indexOf2(var$1, $rt_s(1455)) == (-1)) {
                jl_AbstractStringBuilder_append(var$2, 58);
                jl_AbstractStringBuilder_append2(var$2, $rt_s(1456));
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (jl_String_indexOf2(var$1, $rt_s(1455)) == 5)
                jl_AbstractStringBuilder_insert3(var$2, 4, 48);
            $ptr = 7;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$5 = 4;
            $ptr = 8;
        case 8:
            $tmp = ju_TimeZone_parseNumber(var$7, var$5, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8 >= 0 && var$8 <= 23) {
                var$9 = var$4.data;
                var$10 = var$9[0];
                if (var$10 == (-1)) {
                    var$1 = ju_TimeZone_GMT;
                    $ptr = 4;
                    continue main;
                }
                var$5 = $rt_imul(var$8, 3600000);
                if (var$10 < jl_String_length(var$7) && jl_String_charAt(var$7, var$10) == 58) {
                    var$8 = var$10 + 1 | 0;
                    $ptr = 10;
                    continue main;
                }
                if (var$10 > 6)
                    var$5 = var$8 * 60000 | 0;
                if (var$3 == 45)
                    var$5 =  -var$5 | 0;
                var$1 = new ju_IANATimeZone;
                var$2 = otcit_FixedDateTimeZone__init_0(var$7, var$5, var$5);
                $ptr = 12;
                continue main;
            }
            var$1 = ju_TimeZone_GMT;
            $ptr = 9;
        case 9:
            $tmp = ju_IANATimeZone_clone(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            otcit_DateTimeZoneBuilder_gmtCache = var$1;
            return otcit_DateTimeZoneBuilder_gmtCache;
        case 10:
            $tmp = ju_TimeZone_parseNumber(var$7, var$8, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$9[0] != (-1) && var$8 >= 0 && var$8 <= 59) {
                var$5 = var$5 + (var$8 * 60000 | 0) | 0;
                if (var$3 == 45)
                    var$5 =  -var$5 | 0;
                var$1 = new ju_IANATimeZone;
                var$2 = otcit_FixedDateTimeZone__init_0(var$7, var$5, var$5);
                $ptr = 12;
                continue main;
            }
            var$1 = ju_TimeZone_GMT;
            $ptr = 11;
        case 11:
            $tmp = ju_IANATimeZone_clone(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            otcit_DateTimeZoneBuilder_gmtCache = var$1;
            return otcit_DateTimeZoneBuilder_gmtCache;
        case 12:
            ju_IANATimeZone__init_(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            otcit_DateTimeZoneBuilder_gmtCache = var$1;
            return otcit_DateTimeZoneBuilder_gmtCache;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function otcit_DateTimeZoneBuilder_addTransition($this, $transitions, $tr) {
        var $size, var$4, $last, $offsetForLast, $offsetForNew, $lastLocal;
        $size = $transitions.$size0;
        if (!$size) {
            ju_ArrayList_add($transitions, $tr);
            return 1;
        }
        var$4 = $size - 1 | 0;
        $last = ju_ArrayList_get($transitions, var$4);
        if (!otcit_DateTimeZoneBuilder$Transition_isTransitionFrom($tr, $last))
            return 0;
        $offsetForLast = 0;
        if ($size >= 2)
            $offsetForLast = (ju_ArrayList_get($transitions, $size - 2 | 0)).$iWallOffset0;
        $offsetForNew = $last.$iWallOffset0;
        $lastLocal = Long_add($last.$iMillis, Long_fromInt($offsetForLast));
        if (Long_eq(Long_add($tr.$iMillis, Long_fromInt($offsetForNew)), $lastLocal)) {
            ju_ArrayList_remove($transitions, var$4);
            return otcit_DateTimeZoneBuilder_addTransition($this, $transitions, $tr);
        }
        ju_ArrayList_add($transitions, $tr);
        return 1;
    }
    function otcit_DateTimeZoneBuilder$RuleSet() {
        var a = this; jl_Object.call(a);
        a.$iStandardOffset0 = 0;
        a.$iRules = null;
        a.$iInitialNameKey = null;
        a.$iInitialSaveMillis = 0;
        a.$iUpperYear = 0;
        a.$iUpperOfYear = null;
    }
    var otcit_DateTimeZoneBuilder$RuleSet_YEAR_LIMIT = 0;
    var otcit_DateTimeZoneBuilder$RuleSet_$clinitCalled = false;
    function otcit_DateTimeZoneBuilder$RuleSet_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (otcit_DateTimeZoneBuilder$RuleSet_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            otcit_DateTimeZoneBuilder$RuleSet_$clinitCalled = true;
            $ptr = 1;
        case 1:
            otcit_DateTimeZoneBuilder$RuleSet__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            otcit_DateTimeZoneBuilder$RuleSet_$callClinit = $rt_eraseClinit(otcit_DateTimeZoneBuilder$RuleSet);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function otcit_DateTimeZoneBuilder$RuleSet__init_1() {
        var var_0 = new otcit_DateTimeZoneBuilder$RuleSet();
        otcit_DateTimeZoneBuilder$RuleSet__init_(var_0);
        return var_0;
    }
    function otcit_DateTimeZoneBuilder$RuleSet__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            otcit_DateTimeZoneBuilder$RuleSet_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$iRules = ju_ArrayList__init_1(10);
            $this.$iUpperYear = 2147483647;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function otcit_DateTimeZoneBuilder$RuleSet_nextTransition($this, $instant, $saveMillis, $calendar) {
        var $nextRule, $nextMillis, $nextYear, $it, var$8, $rule, var$10, var$11, $next, var$13, var$14, $upperMillis, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$upperMillis = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$next = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$rule = $thread.pop();var$8 = $thread.pop();$it = $thread.pop();$nextYear = $thread.pop();$nextMillis = $thread.pop();$nextRule = $thread.pop();$calendar = $thread.pop();$saveMillis = $thread.pop();$instant = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $nextRule = null;
            $nextMillis = Long_create(4294967295, 2147483647);
            $nextYear = 2147483647;
            $it = $this.$iRules;
            $ptr = 1;
        case 1:
            $tmp = ju_AbstractList_iterator($it);
            if ($rt_suspending()) {
                break main;
            }
            $it = $tmp;
            var$8 = Long_compare($instant, Long_create(0, 2147483648));
            if (ju_AbstractList$1_hasNext($it)) {
                $ptr = 2;
                continue main;
            }
            if ($nextRule === null)
                return null;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = ju_AbstractList$1_next($it);
            if ($rt_suspending()) {
                break main;
            }
            $rule = $tmp;
            $rule = $rule;
            if ($rule.$iFromYear <= $nextYear) {
                var$10 = $this.$iStandardOffset0;
                var$11 = var$10 + $saveMillis | 0;
                if (var$8) {
                    $next = Long_add($instant, Long_fromInt(var$11));
                    $ptr = 6;
                    continue main;
                }
                if ((-2147483648) <= $rule.$iToYear) {
                    if ((-2147483648) < $rule.$iFromYear) {
                        $next = Long_ZERO;
                        $ptr = 9;
                        continue main;
                    }
                    $next = $instant;
                    var$13 = $rule.$iRecurrence;
                    $ptr = 11;
                    continue main;
                }
                $next = $instant;
                if (Long_le($next, $instant)) {
                    $ptr = 12;
                    continue main;
                }
                if (Long_le($next, $nextMillis)) {
                    var$11 = 1;
                    $ptr = 15;
                    continue main;
                }
            }
            if (ju_AbstractList$1_hasNext($it)) {
                continue main;
            }
            if ($nextRule === null)
                return null;
            $ptr = 3;
        case 3:
            ju_Calendar_setTimeInMillis($calendar, $nextMillis);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 1;
            $ptr = 4;
        case 4:
            $tmp = ju_Calendar_get($calendar, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            $ptr = 5;
        case 5:
            otcit_DateTimeZoneBuilder$RuleSet_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$11 >= otcit_DateTimeZoneBuilder$RuleSet_YEAR_LIMIT)
                return null;
            var$11 = $this.$iUpperYear;
            if (var$11 >= 2147483647)
                return otcit_DateTimeZoneBuilder$Transition__init_3($nextMillis, $nextRule, $this.$iStandardOffset0);
            $calendar = $this.$iUpperOfYear;
            var$8 = $this.$iStandardOffset0;
            $ptr = 8;
            continue main;
        case 6:
            ju_Calendar_setTimeInMillis($calendar, $next);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 1;
            $ptr = 7;
        case 7:
            $tmp = ju_Calendar_get($calendar, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $tmp;
            if (var$14 <= $rule.$iToYear) {
                if (var$14 < $rule.$iFromYear) {
                    $next = Long_ZERO;
                    $ptr = 9;
                    continue main;
                }
                $next = $instant;
                var$13 = $rule.$iRecurrence;
                $ptr = 11;
                continue main;
            }
            $next = $instant;
            if (Long_le($next, $instant)) {
                $ptr = 12;
                continue main;
            }
            if (Long_le($next, $nextMillis)) {
                var$11 = 1;
                $ptr = 15;
                continue main;
            }
            if (ju_AbstractList$1_hasNext($it)) {
                $ptr = 2;
                continue main;
            }
            if ($nextRule === null)
                return null;
            $ptr = 3;
            continue main;
        case 8:
            $tmp = otcit_DateTimeZoneBuilder$OfYear_setInstant($calendar, var$11, var$8, $saveMillis);
            if ($rt_suspending()) {
                break main;
            }
            $upperMillis = $tmp;
            if (Long_ge($nextMillis, $upperMillis))
                return null;
            return otcit_DateTimeZoneBuilder$Transition__init_3($nextMillis, $nextRule, $this.$iStandardOffset0);
        case 9:
            ju_Calendar_setTimeInMillis($calendar, $next);
            if ($rt_suspending()) {
                break main;
            }
            ju_Calendar_set($calendar, 1, $rule.$iFromYear);
            $ptr = 10;
        case 10:
            $tmp = ju_Calendar_getTimeInMillis($calendar);
            if ($rt_suspending()) {
                break main;
            }
            $next = $tmp;
            $next = Long_sub(Long_sub($next, Long_fromInt(var$11)), Long_fromInt(1));
            var$13 = $rule.$iRecurrence;
            $ptr = 11;
        case 11:
            $tmp = otcit_DateTimeZoneBuilder$Recurrence_next(var$13, $next, var$10, $saveMillis, $calendar);
            if ($rt_suspending()) {
                break main;
            }
            $next = $tmp;
            if (Long_gt($next, $instant)) {
                $upperMillis = Long_add($next, Long_fromInt(var$11));
                $ptr = 13;
                continue main;
            }
            if (Long_le($next, $instant)) {
                $ptr = 12;
                continue main;
            }
            if (Long_le($next, $nextMillis)) {
                var$11 = 1;
                $ptr = 15;
                continue main;
            }
            if (ju_AbstractList$1_hasNext($it)) {
                $ptr = 2;
                continue main;
            }
            if ($nextRule === null)
                return null;
            $ptr = 3;
            continue main;
        case 12:
            ju_AbstractList$1_remove($it);
            if ($rt_suspending()) {
                break main;
            }
            if (ju_AbstractList$1_hasNext($it)) {
                $ptr = 2;
                continue main;
            }
            if ($nextRule === null)
                return null;
            $ptr = 3;
            continue main;
        case 13:
            ju_Calendar_setTimeInMillis($calendar, $upperMillis);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 1;
            $ptr = 14;
        case 14:
            $tmp = ju_Calendar_get($calendar, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            if (var$11 > $rule.$iToYear)
                $next = $instant;
            if (Long_le($next, $instant)) {
                $ptr = 12;
                continue main;
            }
            if (Long_le($next, $nextMillis)) {
                var$11 = 1;
                $ptr = 15;
                continue main;
            }
            if (ju_AbstractList$1_hasNext($it)) {
                $ptr = 2;
                continue main;
            }
            if ($nextRule === null)
                return null;
            $ptr = 3;
            continue main;
        case 15:
            $tmp = ju_Calendar_get($calendar, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $nextYear = $tmp;
            $nextRule = $rule;
            $nextMillis = $next;
            if (ju_AbstractList$1_hasNext($it)) {
                $ptr = 2;
                continue main;
            }
            if ($nextRule === null)
                return null;
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $instant, $saveMillis, $calendar, $nextRule, $nextMillis, $nextYear, $it, var$8, $rule, var$10, var$11, $next, var$13, var$14, $upperMillis, $ptr);
    }
    function otcit_DateTimeZoneBuilder$RuleSet__clinit_() {
        var $calendar, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$calendar = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ju_Calendar_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $calendar = $tmp;
            var$2 = 1;
            $ptr = 2;
        case 2:
            $tmp = ju_Calendar_get($calendar, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            otcit_DateTimeZoneBuilder$RuleSet_YEAR_LIMIT = var$2 + 100 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($calendar, var$2, $ptr);
    }
    function otcit_DateTimeZoneBuilder$Rule() {
        var a = this; jl_Object.call(a);
        a.$iRecurrence = null;
        a.$iFromYear = 0;
        a.$iToYear = 0;
    }
    function otcit_DateTimeZoneBuilder$Rule_getSaveMillis($this) {
        return $this.$iRecurrence.$iSaveMillis;
    }
    function otcit_DateTimeZoneBuilder$OfYear() {
        var a = this; jl_Object.call(a);
        a.$iMode = 0;
        a.$iMonthOfYear = 0;
        a.$iDayOfMonth = 0;
        a.$iDayOfWeek = 0;
        a.$iAdvance = 0;
        a.$iMillisOfDay = 0;
    }
    function otcit_DateTimeZoneBuilder$OfYear_read($flow) {
        var $flags, $advance, $hasDayOfWeek, $mode, $monthOfYear, $dayOfMonth, $dayOfWeek, var$9, var$10, var$11, $millisOfDay, var$13, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$millisOfDay = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$dayOfWeek = $thread.pop();$dayOfMonth = $thread.pop();$monthOfYear = $thread.pop();$mode = $thread.pop();$hasDayOfWeek = $thread.pop();$advance = $thread.pop();$flags = $thread.pop();$flow = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $flags = otci_Base46_decodeUnsigned($flow);
            $advance = !($flags & 1) ? 0 : 1;
            $hasDayOfWeek = !($flags & 2) ? 0 : 1;
            a: {
                switch (($flags >>> 2 | 0) & 3) {
                    case 1:
                        $mode = 119;
                        break a;
                    case 2:
                        $mode = 115;
                        break a;
                    default:
                }
                $mode = 117;
            }
            $monthOfYear = otci_Base46_decodeUnsigned($flow);
            $dayOfMonth = otci_Base46_decode($flow);
            $dayOfWeek = !$hasDayOfWeek ? 0 : otci_Base46_decode($flow);
            var$9 = Long_ZERO;
            var$10 = Long_fromInt(1);
            while (true) {
                var$11 = $flow.$characters0.data;
                $flags = $flow.$pointer;
                $flow.$pointer = $flags + 1 | 0;
                $flags = otci_Base46_decodeDigit(var$11[$flags]);
                $hasDayOfWeek = ($flags % 2 | 0) != 1 ? 0 : 1;
                var$9 = Long_add(var$9, Long_mul(var$10, Long_fromInt($flags / 2 | 0)));
                var$10 = Long_mul(var$10, Long_fromInt(46));
                if (!$hasDayOfWeek)
                    break;
            }
            $millisOfDay = Long_lo((Long_ne(Long_and(var$9, Long_fromInt(1)), Long_ZERO) ? Long_shru(var$9, 1) : Long_mul(Long_shru(var$9, 1), Long_fromInt(1800000))));
            $flow = new otcit_DateTimeZoneBuilder$OfYear;
            if ($mode != 117 && $mode != 119 && $mode != 115) {
                $flow = new jl_IllegalArgumentException;
                var$13 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$13);
                var$14 = $rt_s(1457);
                $ptr = 1;
                continue main;
            }
            $flow.$iMode = $mode;
            $flow.$iMonthOfYear = $monthOfYear;
            $flow.$iDayOfMonth = $dayOfMonth;
            $flow.$iDayOfWeek = $dayOfWeek;
            $flow.$iAdvance = $advance;
            $flow.$iMillisOfDay = $millisOfDay;
            return $flow;
        case 1:
            $tmp = jl_StringBuilder_append(var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $tmp;
            jl_AbstractStringBuilder_append(var$14, $mode);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            jl_Throwable__init_($flow, var$13);
            $rt_throw($flow);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($flow, $flags, $advance, $hasDayOfWeek, $mode, $monthOfYear, $dayOfMonth, $dayOfWeek, var$9, var$10, var$11, $millisOfDay, var$13, var$14, $ptr);
    }
    function otcit_DateTimeZoneBuilder$OfYear_setInstant($this, $year, $offset, $saveMillis) {
        var var$4, var$5, $calendar, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$calendar = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$saveMillis = $thread.pop();$offset = $thread.pop();$year = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$iMode;
            if (var$4 == 119)
                $offset = $offset + $saveMillis | 0;
            else if (var$4 != 115)
                $offset = 0;
            $ptr = 1;
        case 1:
            $tmp = otcit_DateTimeZoneBuilder_getGMT();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            ju_Calendar_$callClinit();
            $calendar = new ju_GregorianCalendar;
            $ptr = 2;
        case 2:
            ju_GregorianCalendar__init_2($calendar, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = Long_ZERO;
            $ptr = 3;
        case 3:
            ju_Calendar_setTimeInMillis($calendar, var$7);
            if ($rt_suspending()) {
                break main;
            }
            ju_Calendar_set($calendar, 1, $year);
            ju_Calendar_set($calendar, 2, $this.$iMonthOfYear - 1 | 0);
            ju_Calendar_set($calendar, 10, 0);
            ju_Calendar_set($calendar, 12, 0);
            ju_Calendar_set($calendar, 13, 0);
            ju_Calendar_set($calendar, 14, 0);
            $year = 14;
            $saveMillis = $this.$iMillisOfDay;
            $ptr = 4;
        case 4:
            ju_GregorianCalendar_add($calendar, $year, $saveMillis);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            otcit_DateTimeZoneBuilder$OfYear_setDayOfMonth($this, $calendar);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$iDayOfWeek) {
                $ptr = 6;
                continue main;
            }
            $ptr = 7;
            continue main;
        case 6:
            $tmp = ju_Calendar_getTimeInMillis($calendar);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            return Long_sub(var$7, Long_fromInt($offset));
        case 7:
            otcit_DateTimeZoneBuilder$OfYear_setDayOfWeek($this, $calendar);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $year, $offset, $saveMillis, var$4, var$5, $calendar, var$7, $ptr);
    }
    function otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthNext($this, $calendar) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$calendar = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 2;
            $ptr = 1;
        case 1:
            $tmp = ju_Calendar_get($calendar, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (var$2 != 1) {
                $ptr = 2;
                continue main;
            }
            var$2 = 5;
            $ptr = 3;
            continue main;
        case 2:
            otcit_DateTimeZoneBuilder$OfYear_setDayOfMonth($this, $calendar);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            $tmp = ju_Calendar_get($calendar, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (var$2 != 29) {
                $ptr = 2;
                continue main;
            }
            var$2 = 1;
            $ptr = 4;
        case 4:
            $tmp = ju_Calendar_get($calendar, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (ju_GregorianCalendar_isLeapYear($calendar, var$2)) {
                $ptr = 2;
                continue main;
            }
            var$2 = 1;
            var$3 = 1;
            $ptr = 5;
        case 5:
            ju_GregorianCalendar_add($calendar, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 1;
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $calendar, var$2, var$3, $ptr);
    }
    function otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthPrevious($this, $calendar) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$calendar = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 2;
            $ptr = 1;
        case 1:
            $tmp = ju_Calendar_get($calendar, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (var$2 != 1) {
                $ptr = 2;
                continue main;
            }
            var$2 = 5;
            $ptr = 3;
            continue main;
        case 2:
            otcit_DateTimeZoneBuilder$OfYear_setDayOfMonth($this, $calendar);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            $tmp = ju_Calendar_get($calendar, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (var$2 != 29) {
                $ptr = 2;
                continue main;
            }
            var$2 = 1;
            $ptr = 4;
        case 4:
            $tmp = ju_Calendar_get($calendar, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (ju_GregorianCalendar_isLeapYear($calendar, var$2)) {
                $ptr = 2;
                continue main;
            }
            var$2 = 1;
            var$3 = (-1);
            $ptr = 5;
        case 5:
            ju_GregorianCalendar_add($calendar, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 1;
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $calendar, var$2, var$3, $ptr);
    }
    function otcit_DateTimeZoneBuilder$OfYear_setDayOfMonth($this, $calendar) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$calendar = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$iDayOfMonth;
            if (var$2 >= 0) {
                ju_Calendar_set($calendar, 5, var$2);
                return;
            }
            ju_Calendar_set($calendar, 5, 1);
            var$2 = 2;
            var$3 = 1;
            $ptr = 1;
        case 1:
            ju_GregorianCalendar_add($calendar, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 5;
            var$3 = $this.$iDayOfMonth;
            $ptr = 2;
        case 2:
            ju_GregorianCalendar_add($calendar, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $calendar, var$2, var$3, $ptr);
    }
    function otcit_DateTimeZoneBuilder$OfYear_setDayOfWeek($this, $calendar) {
        var $dayOfWeek, $daysToAdd, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$daysToAdd = $thread.pop();$dayOfWeek = $thread.pop();$calendar = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $dayOfWeek = 7;
            $ptr = 1;
        case 1:
            $tmp = ju_Calendar_get($calendar, $dayOfWeek);
            if ($rt_suspending()) {
                break main;
            }
            $dayOfWeek = $tmp;
            $daysToAdd = ($this.$iDayOfWeek == 7 ? 1 : $dayOfWeek + 1 | 0) - $dayOfWeek | 0;
            if (!$daysToAdd)
                return;
            if (!$this.$iAdvance) {
                if ($daysToAdd > 0)
                    $daysToAdd = $daysToAdd + (-7) | 0;
            } else if ($daysToAdd < 0)
                $daysToAdd = $daysToAdd + 7 | 0;
            $dayOfWeek = 5;
            $ptr = 2;
        case 2:
            ju_GregorianCalendar_add($calendar, $dayOfWeek, $daysToAdd);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $calendar, $dayOfWeek, $daysToAdd, $ptr);
    }
    var ju_Map$Entry = $rt_classWithoutFields(0);
    function ju_MapEntry() {
        var a = this; jl_Object.call(a);
        a.$key0 = null;
        a.$value2 = null;
    }
    function ju_MapEntry__init_0(var_0, var_1) {
        var var_2 = new ju_MapEntry();
        ju_MapEntry__init_(var_2, var_0, var_1);
        return var_2;
    }
    function ju_MapEntry__init_($this, $theKey, $theValue) {
        $this.$key0 = $theKey;
        $this.$value2 = $theValue;
    }
    function ju_MapEntry_equals($this, $object) {
        var $entry, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$entry = $thread.pop();$object = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this === $object)
                return 1;
            if (!$rt_isInstance($object, ju_Map$Entry))
                return 0;
            $entry = $object;
            $object = $this.$key0;
            var$3 = $entry.$getKey0();
            $ptr = 1;
        case 1:
            $tmp = ju_Objects_equals($object, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (!var$4)
                return 0;
            $object = $this.$value2;
            $entry = $entry.$getValue1();
            $ptr = 2;
        case 2:
            $tmp = ju_Objects_equals($object, $entry);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return !var$4 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $object, $entry, var$3, var$4, $ptr);
    }
    function ju_MapEntry_getKey($this) {
        return $this.$key0;
    }
    function ju_MapEntry_getValue($this) {
        return $this.$value2;
    }
    function ju_MapEntry_hashCode($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$key0;
            $ptr = 1;
        case 1:
            $tmp = ju_Objects_hashCode(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$1 = $this.$value2;
            $ptr = 2;
        case 2:
            $tmp = ju_Objects_hashCode(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$2 ^ var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function ju_MapEntry_toString($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$key0;
            var$2 = $this.$value2;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            jl_AbstractStringBuilder_append(var$1, 61);
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function ju_Hashtable$Entry() {
        var a = this; ju_MapEntry.call(a);
        a.$next7 = null;
        a.$hashcode = 0;
    }
    function ju_Hashtable$Entry_equalsKey($this, $aKey, $hash) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$hash = $thread.pop();$aKey = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $hash = $this.$hashcode;
            $ptr = 1;
        case 1:
            $tmp = jl_String_hashCode($aKey);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if ($hash != var$3)
                return 0;
            var$4 = $this.$key0;
            $ptr = 2;
        case 2:
            $tmp = var$4.$equals($aKey);
            if ($rt_suspending()) {
                break main;
            }
            $hash = $tmp;
            return !$hash ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $aKey, $hash, var$3, var$4, $ptr);
    }
    function otciu_UnicodeHelper$Range() {
        var a = this; jl_Object.call(a);
        a.$start0 = 0;
        a.$end0 = 0;
        a.$data = null;
    }
    function otciu_UnicodeHelper$Range__init_(var_0, var_1, var_2) {
        var var_3 = new otciu_UnicodeHelper$Range();
        otciu_UnicodeHelper$Range__init_0(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function otciu_UnicodeHelper$Range__init_0($this, $start, $end, $data) {
        $this.$start0 = $start;
        $this.$end0 = $end;
        $this.$data = $data;
    }
    function otcit_CachedDateTimeZone$Info() {
        var a = this; jl_Object.call(a);
        a.$iPeriodStart = Long_ZERO;
        a.$iZoneRef = null;
        a.$iNextInfo = null;
        a.$iOffset = 0;
        a.$iStandardOffset3 = 0;
    }
    function otcit_CachedDateTimeZone$Info__init_0(var_0, var_1) {
        var var_2 = new otcit_CachedDateTimeZone$Info();
        otcit_CachedDateTimeZone$Info__init_(var_2, var_0, var_1);
        return var_2;
    }
    function otcit_CachedDateTimeZone$Info__init_($this, $zone, $periodStart) {
        $this.$iOffset = (-2147483648);
        $this.$iStandardOffset3 = (-2147483648);
        $this.$iPeriodStart = $periodStart;
        $this.$iZoneRef = $zone;
    }
    function otcit_CachedDateTimeZone$Info_getOffset($this, $millis) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$millis = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$iNextInfo;
            if (var$2 !== null && Long_ge($millis, var$2.$iPeriodStart)) {
                $ptr = 2;
                continue main;
            }
            if ($this.$iOffset != (-2147483648))
                return $this.$iOffset;
            var$2 = $this.$iZoneRef;
            $millis = $this.$iPeriodStart;
            $ptr = 1;
        case 1:
            $tmp = otcit_DateTimeZoneBuilder$PrecalculatedZone_getOffset(var$2, $millis);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$iOffset = var$3;
            return $this.$iOffset;
        case 2:
            $tmp = otcit_CachedDateTimeZone$Info_getOffset(var$2, $millis);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $millis, var$2, var$3, $ptr);
    }
    function otcit_CachedDateTimeZone$Info_getStandardOffset($this, $millis) {
        var var$2;
        var$2 = $this.$iNextInfo;
        if (var$2 !== null && Long_ge($millis, var$2.$iPeriodStart))
            return otcit_CachedDateTimeZone$Info_getStandardOffset(var$2, $millis);
        if ($this.$iStandardOffset3 == (-2147483648))
            $this.$iStandardOffset3 = otcit_DateTimeZoneBuilder$PrecalculatedZone_getStandardOffset($this.$iZoneRef, $this.$iPeriodStart);
        return $this.$iStandardOffset3;
    }
    function ju_AbstractList$1() {
        var a = this; jl_Object.call(a);
        a.$index5 = 0;
        a.$modCount1 = 0;
        a.$size3 = 0;
        a.$removeIndex = 0;
        a.$this$02 = null;
    }
    function ju_AbstractList$1_hasNext($this) {
        return $this.$index5 >= $this.$size3 ? 0 : 1;
    }
    function ju_AbstractList$1_next($this) {
        var var$1, var$2;
        ju_AbstractList$1_checkConcurrentModification($this);
        var$1 = $this.$index5;
        $this.$removeIndex = var$1;
        var$2 = $this.$this$02;
        $this.$index5 = var$1 + 1 | 0;
        return var$2.$get2(var$1);
    }
    function ju_AbstractList$1_remove($this) {
        var var$1, var$2, var$3;
        if ($this.$removeIndex < 0) {
            var$1 = new jl_IllegalStateException;
            jl_Throwable__init_0(var$1);
            $rt_throw(var$1);
        }
        ju_AbstractList$1_checkConcurrentModification($this);
        $this.$this$02.$remove($this.$removeIndex);
        $this.$modCount1 = $this.$this$02.$modCount0;
        var$2 = $this.$removeIndex;
        var$3 = $this.$index5;
        if (var$2 < var$3)
            $this.$index5 = var$3 - 1 | 0;
        $this.$size3 = $this.$size3 - 1 | 0;
        $this.$removeIndex = (-1);
    }
    function ju_AbstractList$1_checkConcurrentModification($this) {
        var var$1;
        if ($this.$modCount1 >= $this.$this$02.$modCount0)
            return;
        var$1 = new ju_ConcurrentModificationException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    function ju_HashMap$HashEntry() {
        var a = this; ju_MapEntry.call(a);
        a.$origKeyHash = 0;
        a.$next1 = null;
    }
    function jnc_CodingErrorAction() {
        jl_Object.call(this);
        this.$name8 = null;
    }
    var jnc_CodingErrorAction_IGNORE = null;
    var jnc_CodingErrorAction_REPLACE = null;
    var jnc_CodingErrorAction_REPORT = null;
    function jnc_CodingErrorAction_$callClinit() {
        jnc_CodingErrorAction_$callClinit = $rt_eraseClinit(jnc_CodingErrorAction);
        jnc_CodingErrorAction__clinit_();
    }
    function jnc_CodingErrorAction__init_0(var_0) {
        var var_1 = new jnc_CodingErrorAction();
        jnc_CodingErrorAction__init_(var_1, var_0);
        return var_1;
    }
    function jnc_CodingErrorAction__init_($this, $name) {
        jnc_CodingErrorAction_$callClinit();
        $this.$name8 = $name;
    }
    function jnc_CodingErrorAction__clinit_() {
        jnc_CodingErrorAction_IGNORE = jnc_CodingErrorAction__init_0($rt_s(1458));
        jnc_CodingErrorAction_REPLACE = jnc_CodingErrorAction__init_0($rt_s(1459));
        jnc_CodingErrorAction_REPORT = jnc_CodingErrorAction__init_0($rt_s(1460));
    }
    var jnc_CharacterCodingException = $rt_classWithoutFields(ji_IOException);
    function jnc_CharacterCodingException__init_0() {
        var var_0 = new jnc_CharacterCodingException();
        jnc_CharacterCodingException__init_(var_0);
        return var_0;
    }
    function jnc_CharacterCodingException__init_($this) {
        jl_Throwable__init_0($this);
    }
    var jl_AssertionError = $rt_classWithoutFields(jl_Error);
    function jl_AssertionError__init_1() {
        var var_0 = new jl_AssertionError();
        jl_AssertionError__init_(var_0);
        return var_0;
    }
    function jl_AssertionError__init_($this) {
        jl_Throwable__init_0($this);
    }
    var jl_StringIndexOutOfBoundsException = $rt_classWithoutFields(jl_IndexOutOfBoundsException);
    function jl_StringIndexOutOfBoundsException__init_0() {
        var var_0 = new jl_StringIndexOutOfBoundsException();
        jl_StringIndexOutOfBoundsException__init_(var_0);
        return var_0;
    }
    function jl_StringIndexOutOfBoundsException__init_($this) {
        jl_Throwable__init_0($this);
    }
    var nms_MinecraftError = $rt_classWithoutFields(jl_Error);
    function nms_MinecraftError__init_0() {
        var var_0 = new nms_MinecraftError();
        nms_MinecraftError__init_(var_0);
        return var_0;
    }
    function nms_MinecraftError__init_($this) {
        jl_Throwable__init_0($this);
    }
    function nms_AxisAlignedBB() {
        var a = this; jl_Object.call(a);
        a.$minX0 = 0.0;
        a.$minY0 = 0.0;
        a.$minZ0 = 0.0;
        a.$maxX0 = 0.0;
        a.$maxY0 = 0.0;
        a.$maxZ0 = 0.0;
    }
    var nms_AxisAlignedBB_boundingBoxes = null;
    var nms_AxisAlignedBB_numBoundingBoxesInUse = 0;
    function nms_AxisAlignedBB_getBoundingBox($var0, $var2, $var4, $var6, $var8, $var10) {
        var var$7;
        var$7 = new nms_AxisAlignedBB;
        var$7.$minX0 = $var0;
        var$7.$minY0 = $var2;
        var$7.$minZ0 = $var4;
        var$7.$maxX0 = $var6;
        var$7.$maxY0 = $var8;
        var$7.$maxZ0 = $var10;
        return var$7;
    }
    function nms_AxisAlignedBB_clearBoundingBoxPool() {
        nms_AxisAlignedBB_numBoundingBoxesInUse = 0;
    }
    function nms_AxisAlignedBB_getBoundingBoxFromPool($var0, $var2, $var4, $var6, $var8, $var10) {
        var var$7, var$8, var$9;
        var$7 = nms_AxisAlignedBB_numBoundingBoxesInUse;
        var$8 = nms_AxisAlignedBB_boundingBoxes;
        if (var$7 >= var$8.$size0)
            ju_ArrayList_add(var$8, nms_AxisAlignedBB_getBoundingBox(0.0, 0.0, 0.0, 0.0, 0.0, 0.0));
        var$8 = nms_AxisAlignedBB_boundingBoxes;
        var$9 = nms_AxisAlignedBB_numBoundingBoxesInUse;
        nms_AxisAlignedBB_numBoundingBoxesInUse = var$9 + 1 | 0;
        return nms_AxisAlignedBB_setBounds(ju_ArrayList_get(var$8, var$9), $var0, $var2, $var4, $var6, $var8, $var10);
    }
    function nms_AxisAlignedBB_setBounds($this, $var1, $var3, $var5, $var7, $var9, $var11) {
        $this.$minX0 = $var1;
        $this.$minY0 = $var3;
        $this.$minZ0 = $var5;
        $this.$maxX0 = $var7;
        $this.$maxY0 = $var9;
        $this.$maxZ0 = $var11;
        return $this;
    }
    function nms_AxisAlignedBB_addCoord($this, $var1, $var3, $var5) {
        var $var7, $var9, $var11, $var13, $var15, $var17, var$10;
        $var7 = $this.$minX0;
        $var9 = $this.$minY0;
        $var11 = $this.$minZ0;
        $var13 = $this.$maxX0;
        $var15 = $this.$maxY0;
        $var17 = $this.$maxZ0;
        var$10 = $rt_compare($var1, 0.0);
        if (var$10 < 0)
            $var7 = $var7 + $var1;
        if (var$10 > 0)
            $var13 = $var13 + $var1;
        var$10 = $rt_compare($var3, 0.0);
        if (var$10 < 0)
            $var9 = $var9 + $var3;
        if (var$10 > 0)
            $var15 = $var15 + $var3;
        var$10 = $rt_compare($var5, 0.0);
        if (var$10 < 0)
            $var11 = $var11 + $var5;
        if (var$10 > 0)
            $var17 = $var17 + $var5;
        return nms_AxisAlignedBB_getBoundingBoxFromPool($var7, $var9, $var11, $var13, $var15, $var17);
    }
    function nms_AxisAlignedBB_expand($this, $var1, $var3, $var5) {
        return nms_AxisAlignedBB_getBoundingBoxFromPool($this.$minX0 - $var1, $this.$minY0 - $var3, $this.$minZ0 - $var5, $this.$maxX0 + $var1, $this.$maxY0 + $var3, $this.$maxZ0 + $var5);
    }
    function nms_AxisAlignedBB_getOffsetBoundingBox($this, $var1, $var3, $var5) {
        return nms_AxisAlignedBB_getBoundingBoxFromPool($this.$minX0 + $var1, $this.$minY0 + $var3, $this.$minZ0 + $var5, $this.$maxX0 + $var1, $this.$maxY0 + $var3, $this.$maxZ0 + $var5);
    }
    function nms_AxisAlignedBB_calculateXOffset($this, $var1, $var2) {
        var $var4, $var4_0;
        if ($var1.$maxY0 > $this.$minY0 && $var1.$minY0 < $this.$maxY0) {
            if ($var1.$maxZ0 > $this.$minZ0 && $var1.$minZ0 < $this.$maxZ0) {
                if ($var2 <= 0.0)
                    $var4 = $var2;
                else {
                    $var4 = $var1.$maxX0;
                    $var4_0 = $this.$minX0;
                    if ($var4 > $var4_0)
                        $var4 = $var2;
                    else {
                        $var4 = $var4_0 - $var4;
                        if ($var4 >= $var2)
                            $var4 = $var2;
                    }
                }
                if ($var4 >= 0.0)
                    $var4_0 = $var4;
                else {
                    $var2 = $var1.$minX0;
                    $var4_0 = $this.$maxX0;
                    if ($var2 < $var4_0)
                        $var4_0 = $var4;
                    else {
                        $var4_0 = $var4_0 - $var2;
                        if ($var4_0 <= $var4)
                            $var4_0 = $var4;
                    }
                }
                return $var4_0;
            }
            return $var2;
        }
        return $var2;
    }
    function nms_AxisAlignedBB_calculateYOffset($this, $var1, $var2) {
        var $var4, $var4_0;
        if ($var1.$maxX0 > $this.$minX0 && $var1.$minX0 < $this.$maxX0) {
            if ($var1.$maxZ0 > $this.$minZ0 && $var1.$minZ0 < $this.$maxZ0) {
                if ($var2 <= 0.0)
                    $var4 = $var2;
                else {
                    $var4 = $var1.$maxY0;
                    $var4_0 = $this.$minY0;
                    if ($var4 > $var4_0)
                        $var4 = $var2;
                    else {
                        $var4 = $var4_0 - $var4;
                        if ($var4 >= $var2)
                            $var4 = $var2;
                    }
                }
                if ($var4 >= 0.0)
                    $var4_0 = $var4;
                else {
                    $var2 = $var1.$minY0;
                    $var4_0 = $this.$maxY0;
                    if ($var2 < $var4_0)
                        $var4_0 = $var4;
                    else {
                        $var4_0 = $var4_0 - $var2;
                        if ($var4_0 <= $var4)
                            $var4_0 = $var4;
                    }
                }
                return $var4_0;
            }
            return $var2;
        }
        return $var2;
    }
    function nms_AxisAlignedBB_calculateZOffset($this, $var1, $var2) {
        var $var4, $var4_0;
        if ($var1.$maxX0 > $this.$minX0 && $var1.$minX0 < $this.$maxX0) {
            if ($var1.$maxY0 > $this.$minY0 && $var1.$minY0 < $this.$maxY0) {
                if ($var2 <= 0.0)
                    $var4 = $var2;
                else {
                    $var4 = $var1.$maxZ0;
                    $var4_0 = $this.$minZ0;
                    if ($var4 > $var4_0)
                        $var4 = $var2;
                    else {
                        $var4 = $var4_0 - $var4;
                        if ($var4 >= $var2)
                            $var4 = $var2;
                    }
                }
                if ($var4 >= 0.0)
                    $var4_0 = $var4;
                else {
                    $var2 = $var1.$minZ0;
                    $var4_0 = $this.$maxZ0;
                    if ($var2 < $var4_0)
                        $var4_0 = $var4;
                    else {
                        $var4_0 = $var4_0 - $var2;
                        if ($var4_0 <= $var4)
                            $var4_0 = $var4;
                    }
                }
                return $var4_0;
            }
            return $var2;
        }
        return $var2;
    }
    function nms_AxisAlignedBB_intersectsWith($this, $var1) {
        return $var1.$maxX0 > $this.$minX0 && $var1.$minX0 < $this.$maxX0 ? ($var1.$maxY0 > $this.$minY0 && $var1.$minY0 < $this.$maxY0 ? ($var1.$maxZ0 > $this.$minZ0 && $var1.$minZ0 < $this.$maxZ0 ? 1 : 0) : 0) : 0;
    }
    function nms_AxisAlignedBB_offset($this, $var1, $var3, $var5) {
        $this.$minX0 = $this.$minX0 + $var1;
        $this.$minY0 = $this.$minY0 + $var3;
        $this.$minZ0 = $this.$minZ0 + $var5;
        $this.$maxX0 = $this.$maxX0 + $var1;
        $this.$maxY0 = $this.$maxY0 + $var3;
        $this.$maxZ0 = $this.$maxZ0 + $var5;
        return $this;
    }
    function nms_AxisAlignedBB_getAverageEdgeLength($this) {
        return ($this.$maxX0 - $this.$minX0 + $this.$maxY0 - $this.$minY0 + $this.$maxZ0 - $this.$minZ0) / 3.0;
    }
    function nms_AxisAlignedBB_copy($this) {
        return nms_AxisAlignedBB_getBoundingBoxFromPool($this.$minX0, $this.$minY0, $this.$minZ0, $this.$maxX0, $this.$maxY0, $this.$maxZ0);
    }
    function nms_AxisAlignedBB_func_1169_a($this, $var1, $var2) {
        var $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10;
        $var3 = nms_Vec3D_getIntermediateWithXValue($var1, $var2, $this.$minX0);
        $var4 = nms_Vec3D_getIntermediateWithXValue($var1, $var2, $this.$maxX0);
        $var5 = nms_Vec3D_getIntermediateWithYValue($var1, $var2, $this.$minY0);
        $var6 = nms_Vec3D_getIntermediateWithYValue($var1, $var2, $this.$maxY0);
        $var7 = nms_Vec3D_getIntermediateWithZValue($var1, $var2, $this.$minZ0);
        $var8 = nms_Vec3D_getIntermediateWithZValue($var1, $var2, $this.$maxZ0);
        if (!nms_AxisAlignedBB_isVecInYZ($this, $var3))
            $var3 = null;
        if (!nms_AxisAlignedBB_isVecInYZ($this, $var4))
            $var4 = null;
        if (!nms_AxisAlignedBB_isVecInXZ($this, $var5))
            $var5 = null;
        if (!nms_AxisAlignedBB_isVecInXZ($this, $var6))
            $var6 = null;
        if (!nms_AxisAlignedBB_isVecInXY($this, $var7))
            $var7 = null;
        if (!nms_AxisAlignedBB_isVecInXY($this, $var8))
            $var8 = null;
        $var9 = null;
        if ($var3 !== null)
            $var9 = $var3;
        if ($var4 !== null && !($var9 !== null && nms_Vec3D_squareDistanceTo($var1, $var4) >= nms_Vec3D_squareDistanceTo($var1, $var9)))
            $var9 = $var4;
        if ($var5 !== null && !($var9 !== null && nms_Vec3D_squareDistanceTo($var1, $var5) >= nms_Vec3D_squareDistanceTo($var1, $var9)))
            $var9 = $var5;
        if ($var6 !== null && !($var9 !== null && nms_Vec3D_squareDistanceTo($var1, $var6) >= nms_Vec3D_squareDistanceTo($var1, $var9)))
            $var9 = $var6;
        if ($var7 !== null && !($var9 !== null && nms_Vec3D_squareDistanceTo($var1, $var7) >= nms_Vec3D_squareDistanceTo($var1, $var9)))
            $var9 = $var7;
        if ($var8 !== null && !($var9 !== null && nms_Vec3D_squareDistanceTo($var1, $var8) >= nms_Vec3D_squareDistanceTo($var1, $var9)))
            $var9 = $var8;
        if ($var9 === null)
            return null;
        $var10 = (-1);
        if ($var9 === $var3)
            $var10 = 4;
        if ($var9 === $var4)
            $var10 = 5;
        if ($var9 === $var5)
            $var10 = 0;
        if ($var9 === $var6)
            $var10 = 1;
        if ($var9 === $var7)
            $var10 = 2;
        if ($var9 === $var8)
            $var10 = 3;
        return nms_MovingObjectPosition__init_0(0, 0, 0, $var10, $var9);
    }
    function nms_AxisAlignedBB_isVecInYZ($this, $var1) {
        var var$2, var$3;
        a: {
            if ($var1 === null)
                var$2 = 0;
            else {
                var$3 = $var1.$yCoord;
                if (var$3 >= $this.$minY0 && var$3 <= $this.$maxY0) {
                    var$3 = $var1.$zCoord;
                    if (var$3 >= $this.$minZ0 && var$3 <= $this.$maxZ0) {
                        var$2 = 1;
                        break a;
                    }
                }
                var$2 = 0;
            }
        }
        return var$2;
    }
    function nms_AxisAlignedBB_isVecInXZ($this, $var1) {
        var var$2, var$3;
        a: {
            if ($var1 === null)
                var$2 = 0;
            else {
                var$3 = $var1.$xCoord;
                if (var$3 >= $this.$minX0 && var$3 <= $this.$maxX0) {
                    var$3 = $var1.$zCoord;
                    if (var$3 >= $this.$minZ0 && var$3 <= $this.$maxZ0) {
                        var$2 = 1;
                        break a;
                    }
                }
                var$2 = 0;
            }
        }
        return var$2;
    }
    function nms_AxisAlignedBB_isVecInXY($this, $var1) {
        var var$2, var$3;
        a: {
            if ($var1 === null)
                var$2 = 0;
            else {
                var$3 = $var1.$xCoord;
                if (var$3 >= $this.$minX0 && var$3 <= $this.$maxX0) {
                    var$3 = $var1.$yCoord;
                    if (var$3 >= $this.$minY0 && var$3 <= $this.$maxY0) {
                        var$2 = 1;
                        break a;
                    }
                }
                var$2 = 0;
            }
        }
        return var$2;
    }
    function nms_AxisAlignedBB_setBB($this, $var1) {
        $this.$minX0 = $var1.$minX0;
        $this.$minY0 = $var1.$minY0;
        $this.$minZ0 = $var1.$minZ0;
        $this.$maxX0 = $var1.$maxX0;
        $this.$maxY0 = $var1.$maxY0;
        $this.$maxZ0 = $var1.$maxZ0;
    }
    function nms_AxisAlignedBB_toString($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$minX0;
            var$2 = $this.$minY0;
            var$3 = $this.$minZ0;
            var$4 = $this.$maxX0;
            var$5 = $this.$maxY0;
            var$6 = $this.$maxZ0;
            var$7 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$7);
            var$8 = $rt_s(1461);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            var$8 = jl_StringBuilder_append4(var$8, var$1);
            var$9 = $rt_s(107);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            var$8 = jl_StringBuilder_append4(var$8, var$2);
            var$9 = $rt_s(107);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            var$8 = jl_StringBuilder_append4(var$8, var$3);
            var$9 = $rt_s(1462);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            var$8 = jl_StringBuilder_append4(var$8, var$4);
            var$9 = $rt_s(107);
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            var$8 = jl_StringBuilder_append4(var$8, var$5);
            var$9 = $rt_s(107);
            $ptr = 6;
        case 6:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_AbstractStringBuilder_append(jl_StringBuilder_append4(var$8, var$6), 93);
            $ptr = 7;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            return var$8;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_AxisAlignedBB__clinit_() {
        nms_AxisAlignedBB_boundingBoxes = ju_ArrayList__init_0();
        nms_AxisAlignedBB_numBoundingBoxesInUse = 0;
    }
    function nms_Vec3D() {
        var a = this; jl_Object.call(a);
        a.$xCoord = 0.0;
        a.$yCoord = 0.0;
        a.$zCoord = 0.0;
    }
    var nms_Vec3D_vectorList = null;
    var nms_Vec3D_nextVector = 0;
    function nms_Vec3D_createVectorHelper($var0, $var2, $var4) {
        var var$4;
        var$4 = new nms_Vec3D;
        var$4.$xCoord = $var0;
        var$4.$yCoord = $var2;
        var$4.$zCoord = $var4;
        return var$4;
    }
    function nms_Vec3D_initialize() {
        nms_Vec3D_nextVector = 0;
    }
    function nms_Vec3D_createVector($var0, $var2, $var4) {
        var var$4, var$5, var$6, var$7;
        var$4 = nms_Vec3D_nextVector;
        var$5 = nms_Vec3D_vectorList;
        if (var$4 >= var$5.$size0)
            ju_ArrayList_add(var$5, nms_Vec3D_createVectorHelper(0.0, 0.0, 0.0));
        var$6 = nms_Vec3D_vectorList;
        var$7 = nms_Vec3D_nextVector;
        nms_Vec3D_nextVector = var$7 + 1 | 0;
        var$6 = ju_ArrayList_get(var$6, var$7);
        var$6.$xCoord = $var0;
        var$6.$yCoord = $var2;
        var$6.$zCoord = $var4;
        return var$6;
    }
    function nms_Vec3D_subtract($this, $var1) {
        return nms_Vec3D_createVector($var1.$xCoord - $this.$xCoord, $var1.$yCoord - $this.$yCoord, $var1.$zCoord - $this.$zCoord);
    }
    function nms_Vec3D_normalize($this) {
        var $var1, var$2;
        $var1 = $this.$xCoord;
        $var1 = $var1 * $var1;
        var$2 = $this.$yCoord;
        $var1 = $var1 + var$2 * var$2;
        var$2 = $this.$zCoord;
        $var1 = nms_MathHelper_sqrt_double($var1 + var$2 * var$2);
        return $var1 < 1.0E-4 ? nms_Vec3D_createVector(0.0, 0.0, 0.0) : nms_Vec3D_createVector($this.$xCoord / $var1, $this.$yCoord / $var1, $this.$zCoord / $var1);
    }
    function nms_Vec3D_addVector($this, $var1, $var3, $var5) {
        return nms_Vec3D_createVector($this.$xCoord + $var1, $this.$yCoord + $var3, $this.$zCoord + $var5);
    }
    function nms_Vec3D_distanceTo($this, $var1) {
        var $var2, $var4, $var6;
        $var2 = $var1.$xCoord - $this.$xCoord;
        $var4 = $var1.$yCoord - $this.$yCoord;
        $var6 = $var1.$zCoord - $this.$zCoord;
        return nms_MathHelper_sqrt_double($var2 * $var2 + $var4 * $var4 + $var6 * $var6);
    }
    function nms_Vec3D_squareDistanceTo($this, $var1) {
        var $var2, $var4, $var6;
        $var2 = $var1.$xCoord - $this.$xCoord;
        $var4 = $var1.$yCoord - $this.$yCoord;
        $var6 = $var1.$zCoord - $this.$zCoord;
        return $var2 * $var2 + $var4 * $var4 + $var6 * $var6;
    }
    function nms_Vec3D_lengthVector($this) {
        var var$1, var$2;
        var$1 = $this.$xCoord;
        var$1 = var$1 * var$1;
        var$2 = $this.$yCoord;
        var$1 = var$1 + var$2 * var$2;
        var$2 = $this.$zCoord;
        return nms_MathHelper_sqrt_double(var$1 + var$2 * var$2);
    }
    function nms_Vec3D_getIntermediateWithXValue($this, $var1, $var2) {
        var $var4, var$4, $var8, var$6, $var6, var$8, $var10;
        $var4 = $var1.$xCoord;
        var$4 = $this.$xCoord;
        $var4 = $var4 - var$4;
        $var8 = $var1.$yCoord;
        var$6 = $this.$yCoord;
        $var6 = $var8 - var$6;
        $var8 = $var1.$zCoord;
        var$8 = $this.$zCoord;
        $var8 = $var8 - var$8;
        if ($var4 * $var4 < 1.0000000116860974E-7)
            return null;
        $var10 = ($var2 - var$4) / $var4;
        return $var10 >= 0.0 && $var10 <= 1.0 ? nms_Vec3D_createVector(var$4 + $var4 * $var10, var$6 + $var6 * $var10, var$8 + $var8 * $var10) : null;
    }
    function nms_Vec3D_getIntermediateWithYValue($this, $var1, $var2) {
        var $var4, var$4, $var8, var$6, $var6, var$8, $var10;
        $var4 = $var1.$xCoord;
        var$4 = $this.$xCoord;
        $var4 = $var4 - var$4;
        $var8 = $var1.$yCoord;
        var$6 = $this.$yCoord;
        $var6 = $var8 - var$6;
        $var8 = $var1.$zCoord;
        var$8 = $this.$zCoord;
        $var8 = $var8 - var$8;
        if ($var6 * $var6 < 1.0000000116860974E-7)
            return null;
        $var10 = ($var2 - var$6) / $var6;
        return $var10 >= 0.0 && $var10 <= 1.0 ? nms_Vec3D_createVector(var$4 + $var4 * $var10, var$6 + $var6 * $var10, var$8 + $var8 * $var10) : null;
    }
    function nms_Vec3D_getIntermediateWithZValue($this, $var1, $var2) {
        var $var4, var$4, $var8, var$6, $var6, var$8, $var10;
        $var4 = $var1.$xCoord;
        var$4 = $this.$xCoord;
        $var4 = $var4 - var$4;
        $var8 = $var1.$yCoord;
        var$6 = $this.$yCoord;
        $var6 = $var8 - var$6;
        $var8 = $var1.$zCoord;
        var$8 = $this.$zCoord;
        $var8 = $var8 - var$8;
        if ($var8 * $var8 < 1.0000000116860974E-7)
            return null;
        $var10 = ($var2 - var$8) / $var8;
        return $var10 >= 0.0 && $var10 <= 1.0 ? nms_Vec3D_createVector(var$4 + $var4 * $var10, var$6 + $var6 * $var10, var$8 + $var8 * $var10) : null;
    }
    function nms_Vec3D_toString($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$xCoord;
            var$2 = $this.$yCoord;
            var$3 = $this.$zCoord;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            jl_AbstractStringBuilder_append(var$4, 40);
            var$5 = jl_StringBuilder_append4(var$4, var$1);
            var$6 = $rt_s(107);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            var$5 = jl_StringBuilder_append4(var$5, var$2);
            var$6 = $rt_s(107);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            jl_AbstractStringBuilder_append(jl_StringBuilder_append4(var$5, var$3), 41);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return var$4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_Vec3D_rotateAroundX($this, $var1) {
        var $var2, $var3, $var4, $var8, var$6, var$7, var$8, var$9, $var6;
        $var2 = nms_MathHelper_cos($var1);
        $var3 = nms_MathHelper_sin($var1);
        $var4 = $this.$xCoord;
        $var8 = $this.$yCoord;
        var$6 = $var2;
        var$7 = $var8 * var$6;
        var$8 = $this.$zCoord;
        var$9 = $var3;
        $var6 = var$7 + var$8 * var$9;
        $var8 = var$8 * var$6 - $var8 * var$9;
        $this.$xCoord = $var4;
        $this.$yCoord = $var6;
        $this.$zCoord = $var8;
    }
    function nms_Vec3D_rotateAroundY($this, $var1) {
        var $var2, $var3, $var8, var$5, $var4, var$7, var$8, $var6;
        $var2 = nms_MathHelper_cos($var1);
        $var3 = nms_MathHelper_sin($var1);
        $var8 = $this.$xCoord;
        var$5 = $var2;
        $var4 = $var8 * var$5;
        var$7 = $this.$zCoord;
        var$8 = $var3;
        $var4 = $var4 + var$7 * var$8;
        $var6 = $this.$yCoord;
        $var8 = var$7 * var$5 - $var8 * var$8;
        $this.$xCoord = $var4;
        $this.$yCoord = $var6;
        $this.$zCoord = $var8;
    }
    function nms_Vec3D__clinit_() {
        nms_Vec3D_vectorList = ju_ArrayList__init_0();
        nms_Vec3D_nextVector = 0;
    }
    var olo_GL11 = $rt_classWithoutFields(nleo_EaglercraftGPU);
    function olo_GL11__init_0() {
        var var_0 = new olo_GL11();
        olo_GL11__init_(var_0);
        return var_0;
    }
    function olo_GL11__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function olo_GL11_glEnable($p1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$p1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                switch ($p1) {
                    case 2884:
                        $ptr = 1;
                        continue main;
                    case 2896:
                        $ptr = 2;
                        continue main;
                    case 2903:
                        $ptr = 3;
                        continue main;
                    case 2912:
                        $ptr = 4;
                        continue main;
                    case 2929:
                        $ptr = 5;
                        continue main;
                    case 3008:
                        $ptr = 6;
                        continue main;
                    case 3042:
                        $ptr = 7;
                        continue main;
                    case 3168:
                    case 3169:
                    case 3170:
                    case 3171:
                        $ptr = 8;
                        continue main;
                    case 3553:
                        $ptr = 9;
                        continue main;
                    case 16384:
                        $p1 = 0;
                        $ptr = 10;
                        continue main;
                    case 16385:
                        $p1 = 1;
                        $ptr = 11;
                        continue main;
                    case 32823:
                        $ptr = 12;
                        continue main;
                    case 32826:
                        break;
                    default:
                        break a;
                }
            }
            return;
        case 1:
            nleo_GlStateManager_enableCull();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateLighting = 1;
            return;
        case 3:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateMaterial = 1;
            return;
        case 4:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateFog = 1;
            return;
        case 5:
            nleo_GlStateManager_enableDepth();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nleo_GlStateManager_enableAlpha();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            nleo_GlStateManager_enableBlend();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateTexGen = 1;
            return;
        case 9:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateTexture.data[nleo_GlStateManager_activeTexture] = 1;
            return;
        case 10:
            nleo_GlStateManager_enableMCLight0($p1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 11:
            nleo_GlStateManager_enableMCLight0($p1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 12:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleo_GlStateManager_statePolygonOffset)
                return;
            $p1 = 32823;
            $ptr = 13;
        case 13:
            nlei_PlatformOpenGL__wglEnable($p1);
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_statePolygonOffset = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($p1, $ptr);
    }
    function olo_GL11_glDisable($p1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$p1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                switch ($p1) {
                    case 2884:
                        $ptr = 1;
                        continue main;
                    case 2896:
                        $ptr = 2;
                        continue main;
                    case 2903:
                        $ptr = 3;
                        continue main;
                    case 2912:
                        $ptr = 4;
                        continue main;
                    case 2929:
                        $ptr = 5;
                        continue main;
                    case 3008:
                        $ptr = 6;
                        continue main;
                    case 3042:
                        $ptr = 7;
                        continue main;
                    case 3168:
                    case 3169:
                    case 3170:
                    case 3171:
                        $ptr = 8;
                        continue main;
                    case 3553:
                        $ptr = 9;
                        continue main;
                    case 16384:
                        $p1 = 0;
                        $ptr = 10;
                        continue main;
                    case 16385:
                        $p1 = 1;
                        $ptr = 11;
                        continue main;
                    case 32823:
                        $ptr = 12;
                        continue main;
                    case 32826:
                        break;
                    default:
                        break a;
                }
            }
            return;
        case 1:
            nleo_GlStateManager_disableCull();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateLighting = 0;
            return;
        case 3:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateMaterial = 0;
            return;
        case 4:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateFog = 0;
            return;
        case 5:
            nleo_GlStateManager_disableDepth();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateAlphaTest = 0;
            return;
        case 7:
            nleo_GlStateManager_disableBlend();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateTexGen = 0;
            return;
        case 9:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateTexture.data[nleo_GlStateManager_activeTexture] = 0;
            return;
        case 10:
            nleo_GlStateManager_disableMCLight($p1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 11:
            nleo_GlStateManager_disableMCLight($p1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 12:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_GlStateManager_statePolygonOffset)
                return;
            $p1 = 32823;
            $ptr = 13;
        case 13:
            nlei_PlatformOpenGL__wglDisable($p1);
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_statePolygonOffset = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($p1, $ptr);
    }
    function olo_GL11_glShadeModel($i) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$i = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($i, $ptr);
    }
    function olo_GL11_glDepthFunc($f) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$f = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            a: {
                nleo_GlStateManager_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                switch ($f) {
                    case 513:
                        $f = 516;
                        break a;
                    case 514:
                        $f = 514;
                        break a;
                    case 515:
                        $f = 518;
                        break a;
                    case 516:
                        $f = 513;
                        break a;
                    case 518:
                        $f = 515;
                        break a;
                    case 517:
                        break;
                    default:
                }
            }
            if ($f == nleo_GlStateManager_stateDepthFunc)
                return;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.depthFunc($f);
            nleo_GlStateManager_stateDepthFunc = $f;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($f, $ptr);
    }
    function olo_GL11_glAlphaFunc($i, $f) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$f = $thread.pop();$i = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($i == 516) {
                nleo_GlStateManager_stateAlphaTestRef = $f;
                return;
            }
            var$3 = new jl_UnsupportedOperationException;
            jl_Throwable__init_(var$3, $rt_s(1463));
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($i, $f, var$3, $ptr);
    }
    function olo_GL11_glMatrixMode($i) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$i = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateMatrixMode = $i;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($i, $ptr);
    }
    function olo_GL11_glLoadIdentity() {
        var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            a: {
                nleo_GlStateManager_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                switch (nleo_GlStateManager_stateMatrixMode) {
                    case 5888:
                        break;
                    case 5889:
                        nlev_Matrix4f_setIdentity(nleo_GlStateManager_projectionMatrixStack.data[nleo_GlStateManager_projectionMatrixStackPointer]);
                        var$1 = nleo_GlStateManager_projectionMatrixStackAccessSerial.data;
                        var$2 = nleo_GlStateManager_projectionMatrixStackPointer;
                        var$3 = nleo_GlStateManager_projectionMatrixAccessSerial + 1 | 0;
                        nleo_GlStateManager_projectionMatrixAccessSerial = var$3;
                        var$1[var$2] = var$3;
                        break a;
                    case 5890:
                        var$1 = nleo_GlStateManager_textureMatrixStack.data;
                        var$2 = nleo_GlStateManager_activeTexture;
                        nlev_Matrix4f_setIdentity(var$1[var$2].data[nleo_GlStateManager_textureMatrixStackPointer.data[var$2]]);
                        var$1 = nleo_GlStateManager_textureMatrixStackAccessSerial.data;
                        var$2 = nleo_GlStateManager_activeTexture;
                        var$4 = var$1[var$2].data;
                        var$3 = nleo_GlStateManager_textureMatrixStackPointer.data[var$2];
                        var$1 = nleo_GlStateManager_textureMatrixAccessSerial.data;
                        var$5 = var$1[var$2] + 1 | 0;
                        var$1[var$2] = var$5;
                        var$4[var$3] = var$5;
                        break a;
                    default:
                }
                nlev_Matrix4f_setIdentity(nleo_GlStateManager_modelMatrixStack.data[nleo_GlStateManager_modelMatrixStackPointer]);
                var$1 = nleo_GlStateManager_modelMatrixStackAccessSerial.data;
                var$5 = nleo_GlStateManager_modelMatrixStackPointer;
                var$2 = nleo_GlStateManager_modelMatrixAccessSerial + 1 | 0;
                nleo_GlStateManager_modelMatrixAccessSerial = var$2;
                var$1[var$5] = var$2;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function olo_GL11_glColorMask($b, $c, $d, $e) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$e = $thread.pop();$d = $thread.pop();$c = $thread.pop();$b = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = (!$b ? 0 : 1) | (!$c ? 0 : 2) | (!$d ? 0 : 4) | (!$e ? 0 : 8);
            if (var$5 == nleo_GlStateManager_colorMaskBits)
                return;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.colorMask(!!$b, !!$c, !!$d, !!$e);
            nleo_GlStateManager_colorMaskBits = var$5;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($b, $c, $d, $e, var$5, $ptr);
    }
    function olo_GL11_glClearColor($fogRed, $fogBlue, $fogGreen, $f) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$f = $thread.pop();$fogGreen = $thread.pop();$fogBlue = $thread.pop();$fogRed = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($fogRed === nleo_GlStateManager_clearColorR && $fogBlue === nleo_GlStateManager_clearColorG && $fogGreen === nleo_GlStateManager_clearColorB && $f === nleo_GlStateManager_clearColorA)
                return;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglClearColor($fogRed, $fogBlue, $fogGreen, $f);
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_clearColorR = $fogRed;
            nleo_GlStateManager_clearColorG = $fogBlue;
            nleo_GlStateManager_clearColorB = $fogGreen;
            nleo_GlStateManager_clearColorA = $f;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($fogRed, $fogBlue, $fogGreen, $f, $ptr);
    }
    function olo_GL11_glClear($i) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$i = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglClear($i);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($i, $ptr);
    }
    function olo_GL11_glTranslatef($f, $g, $h) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$h = $thread.pop();$g = $thread.pop();$f = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nleo_GlStateManager_getMatrixIncr();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$4.$m30 = var$4.$m00 * $f + var$4.$m10 * $g + var$4.$m20 * $h + var$4.$m30;
            var$4.$m31 = var$4.$m01 * $f + var$4.$m11 * $g + var$4.$m21 * $h + var$4.$m31;
            var$4.$m32 = var$4.$m02 * $f + var$4.$m12 * $g + var$4.$m22 * $h + var$4.$m32;
            var$4.$m33 = var$4.$m03 * $f + var$4.$m13 * $g + var$4.$m23 * $h + var$4.$m33;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($f, $g, $h, var$4, $ptr);
    }
    function olo_GL11_glRotatef($f, $g, $h, $i) {
        var var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$i = $thread.pop();$h = $thread.pop();$g = $thread.pop();$f = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            a: {
                $tmp = nleo_GlStateManager_getMatrixIncr();
                if ($rt_suspending()) {
                    break main;
                }
                var$5 = $tmp;
                if ($g !== 0.0) {
                    if ($g !== 1.0 && $g !== (-1.0))
                        break a;
                    if ($h !== 0.0)
                        break a;
                    if ($i !== 0.0)
                        break a;
                    $f = 0.01745329238474369 * $f * $g;
                    $g = nms_MathHelper_sin($f);
                    $f = nms_MathHelper_cos($f);
                    $h = var$5.$m10;
                    $i = var$5.$m11;
                    var$6 = var$5.$m12;
                    var$7 = var$5.$m13;
                    var$8 = var$5.$m20;
                    var$9 = var$5.$m21;
                    var$10 = var$5.$m22;
                    var$11 = var$5.$m23;
                    var$12 =  -$g;
                    var$5.$m20 = $h * var$12 + var$8 * $f;
                    var$5.$m21 = $i * var$12 + var$9 * $f;
                    var$5.$m22 = var$6 * var$12 + var$10 * $f;
                    var$5.$m23 = var$7 * var$12 + var$11 * $f;
                    var$5.$m10 = $h * $f + var$8 * $g;
                    var$5.$m11 = $i * $f + var$9 * $g;
                    var$5.$m12 = var$6 * $f + var$10 * $g;
                    var$5.$m13 = var$7 * $f + var$11 * $g;
                } else if ($h === 0.0) {
                    if ($i !== 1.0 && $i !== (-1.0))
                        break a;
                    $f = 0.01745329238474369 * $f * $i;
                    $g = nms_MathHelper_sin($f);
                    $f = nms_MathHelper_cos($f);
                    $h = var$5.$m00;
                    $i = $h * $f;
                    var$6 = var$5.$m10;
                    $i = $i + var$6 * $g;
                    var$7 = var$5.$m01;
                    var$8 = var$7 * $f;
                    var$9 = var$5.$m11;
                    var$8 = var$8 + var$9 * $g;
                    var$10 = var$5.$m02;
                    var$11 = var$10 * $f;
                    var$12 = var$5.$m12;
                    var$11 = var$11 + var$12 * $g;
                    var$13 = var$5.$m03;
                    var$14 = var$13 * $f;
                    var$15 = var$5.$m13;
                    var$14 = var$14 + var$15 * $g;
                    $g =  -$g;
                    var$5.$m10 = $h * $g + var$6 * $f;
                    var$5.$m11 = var$7 * $g + var$9 * $f;
                    var$5.$m12 = var$10 * $g + var$12 * $f;
                    var$5.$m13 = var$13 * $g + var$15 * $f;
                    var$5.$m00 = $i;
                    var$5.$m01 = var$8;
                    var$5.$m02 = var$11;
                    var$5.$m03 = var$14;
                } else {
                    if ($h !== 1.0 && $h !== (-1.0))
                        break a;
                    if ($i !== 0.0)
                        break a;
                    $f = 0.01745329238474369 * $f * $h;
                    $g = nms_MathHelper_sin($f);
                    $f = nms_MathHelper_cos($f);
                    $h = var$5.$m00;
                    $i = $h * $f;
                    var$6 = var$5.$m20;
                    var$7 =  -$g;
                    $i = $i + var$6 * var$7;
                    var$8 = var$5.$m01;
                    var$9 = var$8 * $f;
                    var$10 = var$5.$m21;
                    var$9 = var$9 + var$10 * var$7;
                    var$11 = var$5.$m02;
                    var$12 = var$11 * $f;
                    var$13 = var$5.$m22;
                    var$12 = var$12 + var$13 * var$7;
                    var$14 = var$5.$m03;
                    var$15 = var$14 * $f;
                    var$16 = var$5.$m23;
                    var$7 = var$15 + var$16 * var$7;
                    var$5.$m20 = $h * $g + var$6 * $f;
                    var$5.$m21 = var$8 * $g + var$10 * $f;
                    var$5.$m22 = var$11 * $g + var$13 * $f;
                    var$5.$m23 = var$14 * $g + var$16 * $f;
                    var$5.$m00 = $i;
                    var$5.$m01 = var$9;
                    var$5.$m02 = var$12;
                    var$5.$m03 = var$7;
                }
                return;
            }
            $f = 0.01745329238474369 * $f;
            $ptr = 3;
        case 3:
            nleo_GlStateManager__glRotatef(var$5, $f, $g, $h, $i);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($f, $g, $h, $i, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr);
    }
    function olo_GL11_glColor4f($f, $g, $h, $i) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$i = $thread.pop();$h = $thread.pop();$g = $thread.pop();$f = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_color($f, $g, $h, $i);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($f, $g, $h, $i, $ptr);
    }
    function olo_GL11_glBindTexture($i, $var110) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var110 = $thread.pop();$i = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($i != 3553) {
                var$3 = new jl_RuntimeException;
                jl_Throwable__init_(var$3, $rt_s(1464));
                $rt_throw(var$3);
            }
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var110 == nleo_GlStateManager_boundTexture.data[nleo_GlStateManager_activeTexture])
                return;
            $i = 3553;
            $ptr = 2;
        case 2:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nlei_GLObjectMap_get(nleo_EaglercraftGPU_mapTexturesGL, $var110);
            $ptr = 3;
        case 3:
            nlei_PlatformOpenGL__wglBindTexture($i, var$4);
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_boundTexture.data[nleo_GlStateManager_activeTexture] = $var110;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($i, $var110, var$3, var$4, $ptr);
    }
    function olo_GL11_glBlendFunc($i, $j) {
        var var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$j = $thread.pop();$i = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            a: {
                b: {
                    nleo_GlStateManager_$callClinit();
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$3 = nleo_GlStateManager_stateEnableOverlayFramebufferBlending;
                    if (!var$3) {
                        var$3 = $i | $i << 16;
                        var$4 = $j | $j << 16;
                        if (var$3 == nleo_GlStateManager_stateBlendSRC && var$4 == nleo_GlStateManager_stateBlendDST)
                            break b;
                        $ptr = 2;
                        continue main;
                    }
                    var$5 = 0;
                    var$4 = 1;
                    if (var$3) {
                        var$5 = 1;
                        var$4 = 771;
                    }
                    var$6 = $i | var$5 << 16;
                    var$7 = $j | var$4 << 16;
                    if (var$6 != nleo_GlStateManager_stateBlendSRC)
                        break a;
                    if (var$7 != nleo_GlStateManager_stateBlendDST)
                        break a;
                }
                return;
            }
            $ptr = 3;
            continue main;
        case 2:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.blendFunc($i, $j);
            nleo_GlStateManager_stateBlendSRC = var$3;
            nleo_GlStateManager_stateBlendDST = var$4;
            return;
        case 3:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.blendFuncSeparate($i, $j, var$5, var$4);
            nleo_GlStateManager_stateBlendSRC = var$6;
            nleo_GlStateManager_stateBlendDST = var$7;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($i, $j, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function olo_GL11_glPushMatrix() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_pushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function olo_GL11_glPopMatrix() {
        var var$1, var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            a: {
                nleo_GlStateManager_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                switch (nleo_GlStateManager_stateMatrixMode) {
                    case 5888:
                        break;
                    case 5889:
                        var$1 = nleo_GlStateManager_projectionMatrixStackPointer;
                        if (var$1 > 0) {
                            nleo_GlStateManager_projectionMatrixStackPointer = var$1 - 1 | 0;
                            break a;
                        }
                        var$2 = new jl_IndexOutOfBoundsException;
                        jl_Throwable__init_(var$2, $rt_s(1465));
                        var$3 = nleo_GlStateManager_logger;
                        $ptr = 3;
                        continue main;
                    case 5890:
                        var$4 = nleo_GlStateManager_textureMatrixStackPointer.data;
                        var$1 = nleo_GlStateManager_activeTexture;
                        if (var$4[var$1] <= 0) {
                            var$2 = new jl_IndexOutOfBoundsException;
                            var$3 = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_(var$3);
                            var$5 = $rt_s(292);
                            $ptr = 4;
                            continue main;
                        }
                        var$4[var$1] = var$4[var$1] - 1 | 0;
                        break a;
                    default:
                }
                var$1 = nleo_GlStateManager_modelMatrixStackPointer;
                if (var$1 > 0)
                    nleo_GlStateManager_modelMatrixStackPointer = var$1 - 1 | 0;
                else {
                    var$3 = new jl_IndexOutOfBoundsException;
                    jl_Throwable__init_(var$3, $rt_s(1466));
                    var$2 = nleo_GlStateManager_logger;
                    $ptr = 2;
                    continue main;
                }
            }
            return;
        case 2:
            oall_Logger_error1(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            oall_Logger_error1(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            $tmp = jl_StringBuilder_append(var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            jl_AbstractStringBuilder_append0(var$5, var$1);
            var$6 = $rt_s(1467);
            $ptr = 5;
        case 5:
            jl_StringBuilder_append(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_Throwable__init_(var$2, var$3);
            var$3 = nleo_GlStateManager_logger;
            $ptr = 7;
        case 7:
            oall_Logger_error1(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function olo_GL11_glScalef($f, $var35, $var352) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var352 = $thread.pop();$var35 = $thread.pop();$f = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nleo_GlStateManager_getMatrixIncr();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$4.$m00 = var$4.$m00 * $f;
            var$4.$m01 = var$4.$m01 * $f;
            var$4.$m02 = var$4.$m02 * $f;
            var$4.$m03 = var$4.$m03 * $f;
            var$4.$m10 = var$4.$m10 * $var35;
            var$4.$m11 = var$4.$m11 * $var35;
            var$4.$m12 = var$4.$m12 * $var35;
            var$4.$m13 = var$4.$m13 * $var35;
            var$4.$m20 = var$4.$m20 * $var352;
            var$4.$m21 = var$4.$m21 * $var352;
            var$4.$m22 = var$4.$m22 * $var352;
            var$4.$m23 = var$4.$m23 * $var352;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($f, $var35, $var352, var$4, $ptr);
    }
    function olo_GL11_glDepthMask($b) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$b = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($b == nleo_GlStateManager_stateDepthMask)
                return;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.depthMask(!!$b);
            nleo_GlStateManager_stateDepthMask = $b;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($b, $ptr);
    }
    function olo_GL11_glOrtho($d, $var3, $var2, $e, $f, $g) {
        var var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$g = $thread.pop();$f = $thread.pop();$e = $thread.pop();$var2 = $thread.pop();$var3 = $thread.pop();$d = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nleo_GlStateManager_getMatrixIncr();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$8 = nleo_GlStateManager_paramMatrix;
            var$9 = $var3 - $d;
            var$8.$m00 = 2.0 / var$9;
            var$8.$m01 = 0.0;
            var$8.$m02 = 0.0;
            var$8.$m03 = 0.0;
            var$8.$m10 = 0.0;
            var$10 = $e - $var2;
            var$8.$m11 = 2.0 / var$10;
            var$8.$m12 = 0.0;
            var$8.$m13 = 0.0;
            var$8.$m20 = 0.0;
            var$8.$m21 = 0.0;
            var$11 = $g - $f;
            var$8.$m22 = 2.0 / var$11;
            var$8.$m23 = 0.0;
            var$8.$m30 =  -($var3 + $d) / var$9;
            var$8.$m31 =  -($e + $var2) / var$10;
            var$8.$m32 = ($g + $f) / var$11;
            var$8.$m33 = 1.0;
            nlev_Matrix4f_mul(var$7, var$8, var$7);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($d, $var3, $var2, $e, $f, $g, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    function olo_GL11_glGetFloat($glModelviewMatrix, $modelviewBuff) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$modelviewBuff = $thread.pop();$glModelviewMatrix = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            switch ($glModelviewMatrix) {
                case 2982:
                    var$3 = nleo_GlStateManager_modelMatrixStack.data[nleo_GlStateManager_modelMatrixStackPointer];
                    $ptr = 2;
                    continue main;
                case 2983:
                    var$3 = nleo_GlStateManager_projectionMatrixStack.data[nleo_GlStateManager_projectionMatrixStackPointer];
                    $ptr = 3;
                    continue main;
                case 2984:
                    var$4 = nleo_GlStateManager_textureMatrixStack.data;
                    $glModelviewMatrix = nleo_GlStateManager_activeTexture;
                    var$3 = var$4[$glModelviewMatrix].data[nleo_GlStateManager_textureMatrixStackPointer.data[$glModelviewMatrix]];
                    $ptr = 4;
                    continue main;
                default:
            }
            $modelviewBuff = new jl_UnsupportedOperationException;
            jl_Throwable__init_($modelviewBuff, $rt_s(1468));
            $rt_throw($modelviewBuff);
        case 2:
            nlev_Matrix4f_store(var$3, $modelviewBuff);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nlev_Matrix4f_store(var$3, $modelviewBuff);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nlev_Matrix4f_store(var$3, $modelviewBuff);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($glModelviewMatrix, $modelviewBuff, var$3, var$4, $ptr);
    }
    function olo_GL11_glColor3f($f, $g, $h) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$h = $thread.pop();$g = $thread.pop();$f = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateColorR = $f;
            nleo_GlStateManager_stateColorG = $g;
            nleo_GlStateManager_stateColorB = $h;
            nleo_GlStateManager_stateColorA = 1.0;
            nleo_GlStateManager_stateColorSerial = nleo_GlStateManager_stateColorSerial + 1 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($f, $g, $h, $ptr);
    }
    function olo_GL11_glPolygonOffset($f, $g) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$g = $thread.pop();$f = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($f === nleo_GlStateManager_statePolygonOffsetFactor && $g === nleo_GlStateManager_statePolygonOffsetUnits)
                return;
            var$3 =  -$f;
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformOpenGL_ctx.polygonOffset(var$3, $g);
            nleo_GlStateManager_statePolygonOffsetFactor = $f;
            nleo_GlStateManager_statePolygonOffsetUnits = $g;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($f, $g, var$3, $ptr);
    }
    function olo_GL11_glDeleteTextures($buffer) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$buffer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!nleib_EaglerArrayIntBuffer_hasRemaining($buffer))
                return;
            $ptr = 1;
        case 1:
            $tmp = nleib_EaglerArrayIntBuffer_get0($buffer);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 2;
        case 2:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 0;
            while (true) {
                var$4 = nleo_GlStateManager_boundTexture.data;
                if (var$3 >= var$4.length)
                    break;
                if (var$4[var$3] == var$2) {
                    var$5 = var$3 == nleo_GlStateManager_activeTexture ? 0 : 1;
                    if (!0 && !var$5) {
                        var$5 = 0;
                        var$6 = 3553;
                        var$7 = null;
                        $ptr = 7;
                        continue main;
                    }
                    var$6 = 33984 + var$3 | 0;
                    $ptr = 6;
                    continue main;
                }
                var$3 = var$3 + 1 | 0;
            }
            if (!0) {
                $ptr = 3;
                continue main;
            }
            var$6 = 33984 + nleo_GlStateManager_activeTexture | 0;
            $ptr = 4;
            continue main;
        case 3:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = nleo_EaglercraftGPU_mapTexturesGL;
            var$2 = var$2 + (-1) | 0;
            if (var$2 < var$7.$size4 && var$2 >= 0) {
                var$4 = var$7.$values3.data;
                var$8 = var$4[var$2];
                var$4[var$2] = null;
                var$7.$allocatedObjects = var$7.$allocatedObjects - 1 | 0;
            } else
                var$8 = null;
            var$7 = var$8;
            $ptr = 5;
            continue main;
        case 4:
            nlei_PlatformOpenGL__wglActiveTexture(var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
            continue main;
        case 5:
            nlei_PlatformOpenGL__wglDeleteTextures(var$7);
            if ($rt_suspending()) {
                break main;
            }
            if (!nleib_EaglerArrayIntBuffer_hasRemaining($buffer))
                return;
            $ptr = 1;
            continue main;
        case 6:
            nlei_PlatformOpenGL__wglActiveTexture(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 3553;
            var$7 = null;
            $ptr = 7;
        case 7:
            nlei_PlatformOpenGL__wglBindTexture(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $tmp = nleo_EaglercraftGPU_checkOpenGLESVersion();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 >= 300) {
                var$6 = 32879;
                var$7 = null;
                $ptr = 9;
                continue main;
            }
            nleo_GlStateManager_boundTexture.data[var$3] = (-1);
            var$6 = var$5;
            while (true) {
                var$3 = var$3 + 1 | 0;
                var$4 = nleo_GlStateManager_boundTexture.data;
                if (var$3 >= var$4.length)
                    break;
                if (var$4[var$3] == var$2) {
                    var$5 = var$3 == nleo_GlStateManager_activeTexture ? 0 : 1;
                    if (!var$6 && !var$5) {
                        var$5 = var$6;
                        var$6 = 3553;
                        var$7 = null;
                        $ptr = 7;
                        continue main;
                    }
                    var$6 = 33984 + var$3 | 0;
                    $ptr = 6;
                    continue main;
                }
            }
            if (!var$6) {
                $ptr = 3;
                continue main;
            }
            var$6 = 33984 + nleo_GlStateManager_activeTexture | 0;
            $ptr = 4;
            continue main;
        case 9:
            nlei_PlatformOpenGL__wglBindTexture(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_boundTexture.data[var$3] = (-1);
            var$6 = var$5;
            while (true) {
                var$3 = var$3 + 1 | 0;
                var$4 = nleo_GlStateManager_boundTexture.data;
                if (var$3 >= var$4.length)
                    break;
                if (var$4[var$3] == var$2) {
                    var$5 = var$3 == nleo_GlStateManager_activeTexture ? 0 : 1;
                    if (!var$6 && !var$5) {
                        var$5 = var$6;
                        var$6 = 3553;
                        var$7 = null;
                        $ptr = 7;
                        continue main;
                    }
                    var$6 = 33984 + var$3 | 0;
                    $ptr = 6;
                    continue main;
                }
            }
            if (!var$6) {
                $ptr = 3;
                continue main;
            }
            var$6 = 33984 + nleo_GlStateManager_activeTexture | 0;
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($buffer, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function olo_GL11_glFogf($type, $param) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$param = $thread.pop();$type = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            switch ($type) {
                case 2914:
                    $ptr = 1;
                    continue main;
                case 2915:
                    $ptr = 2;
                    continue main;
                case 2916:
                    $ptr = 3;
                    continue main;
                default:
            }
            return;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateFogDensity = $param;
            nleo_GlStateManager_stateFogSerial = nleo_GlStateManager_stateFogSerial + 1 | 0;
            return;
        case 2:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateFogStart = $param;
            nleo_GlStateManager_stateFogSerial = nleo_GlStateManager_stateFogSerial + 1 | 0;
            return;
        case 3:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateFogEnd = $param;
            nleo_GlStateManager_stateFogSerial = nleo_GlStateManager_stateFogSerial + 1 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($type, $param, $ptr);
    }
    function olo_GL11_glFogi($type, $param) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$param = $thread.pop();$type = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            switch ($type) {
                case 2917:
                    $ptr = 1;
                    continue main;
                default:
            }
            return;
        case 1:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateFogEXP = $param != 2048 ? 0 : 1;
            nleo_GlStateManager_stateFogSerial = nleo_GlStateManager_stateFogSerial + 1 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($type, $param, $ptr);
    }
    var nms_IBlockAccess = $rt_classWithoutFields(0);
    function nms_World() {
        var a = this; jl_Object.call(a);
        a.$scheduledUpdatesAreImmediate = 0;
        a.$field_1051_z = null;
        a.$loadedEntityList = null;
        a.$unloadedEntityList = null;
        a.$scheduledTickTreeSet = null;
        a.$scheduledTickSet = null;
        a.$loadedTileEntityList = null;
        a.$playerEntities = null;
        a.$field_1019_F = Long_ZERO;
        a.$skylightSubtracted = 0;
        a.$field_9437_g = 0;
        a.$field_9436_h = 0;
        a.$editingBlocks = 0;
        a.$lockTimestamp = Long_ZERO;
        a.$autosavePeriod = 0;
        a.$difficultySetting = 0;
        a.$rand2 = null;
        a.$isNewWorld = 0;
        a.$worldProvider = null;
        a.$worldAccesses = null;
        a.$chunkProvider = null;
        a.$saveHandler = null;
        a.$worldInfo = null;
        a.$findingSpawnPoint = 0;
        a.$allPlayersSleeping = 0;
        a.$field_9428_I = null;
        a.$field_4204_J = 0;
        a.$spawnHostileMobs = 0;
        a.$spawnPeacefulMobs = 0;
        a.$field_9427_K = null;
        a.$field_9426_L = 0;
        a.$field_1012_M = null;
        a.$multiplayerWorld = 0;
    }
    var nms_World_field_9429_y = 0;
    function nms_World__init_3(var_0, var_1) {
        var var_2 = new nms_World();
        nms_World__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function nms_World__init_4(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_World();
        nms_World__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_World_getWorldChunkManager($this) {
        return $this.$worldProvider.$worldChunkMgr;
    }
    function nms_World__init_0($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$scheduledUpdatesAreImmediate = 0;
            $this.$field_1051_z = ju_ArrayList__init_0();
            $this.$loadedEntityList = ju_ArrayList__init_0();
            $this.$unloadedEntityList = ju_ArrayList__init_0();
            $this.$scheduledTickTreeSet = ju_TreeSet__init_0();
            $this.$scheduledTickSet = ju_HashSet__init_0();
            $this.$loadedTileEntityList = ju_ArrayList__init_0();
            $this.$playerEntities = ju_ArrayList__init_0();
            $this.$field_1019_F = Long_fromInt(16777215);
            $this.$skylightSubtracted = 0;
            $this.$field_9437_g = ju_Random_nextInt0(new ju_Random);
            $this.$field_9436_h = 1013904223;
            $this.$editingBlocks = 0;
            $this.$lockTimestamp = jl_System_currentTimeMillis();
            $this.$autosavePeriod = 4000;
            $this.$rand2 = new ju_Random;
            $this.$isNewWorld = 0;
            $this.$worldAccesses = ju_ArrayList__init_0();
            $this.$field_9428_I = ju_ArrayList__init_0();
            $this.$field_4204_J = 0;
            $this.$spawnHostileMobs = 1;
            $this.$spawnPeacefulMobs = 1;
            $this.$field_9427_K = ju_HashSet__init_0();
            $this.$field_9426_L = ju_Random_nextInt($this.$rand2, 12000);
            $this.$field_1012_M = ju_ArrayList__init_0();
            $this.$multiplayerWorld = 0;
            $this.$lockTimestamp = $var1.$lockTimestamp;
            $this.$saveHandler = $var1.$saveHandler;
            var$3 = new nms_WorldInfo;
            $var1 = $var1.$worldInfo;
            var$3.$randomSeed = $var1.$randomSeed;
            var$3.$spawnX = $var1.$spawnX;
            var$3.$spawnY = $var1.$spawnY;
            var$3.$spawnZ = $var1.$spawnZ;
            var$3.$worldTime = $var1.$worldTime;
            var$3.$lastTimePlayed = $var1.$lastTimePlayed;
            var$3.$sizeOnDisk = $var1.$sizeOnDisk;
            var$3.$playerTag = $var1.$playerTag;
            var$3.$dimension0 = $var1.$dimension0;
            var$3.$levelName0 = $var1.$levelName0;
            var$3.$saveVersion = $var1.$saveVersion;
            $this.$worldInfo = var$3;
            $this.$worldProvider = $var2;
            $ptr = 1;
        case 1:
            nms_WorldProvider_registerWorld($var2, $this);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_World_getChunkProvider($this);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$chunkProvider = $var1;
            nms_World_calculateInitialSkylight($this);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_World__init_($this, $var1, $var2, $var3, $var5) {
        var var$5, var$6, var$7, $var6, var$9, var$10, var$11, var$12, var$13, var$14, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var6 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$scheduledUpdatesAreImmediate = 0;
            $this.$field_1051_z = ju_ArrayList__init_0();
            $this.$loadedEntityList = ju_ArrayList__init_0();
            $this.$unloadedEntityList = ju_ArrayList__init_0();
            $this.$scheduledTickTreeSet = ju_TreeSet__init_0();
            $this.$scheduledTickSet = ju_HashSet__init_0();
            $this.$loadedTileEntityList = ju_ArrayList__init_0();
            $this.$playerEntities = ju_ArrayList__init_0();
            $this.$field_1019_F = Long_fromInt(16777215);
            $this.$skylightSubtracted = 0;
            $this.$field_9437_g = ju_Random_nextInt0(new ju_Random);
            $this.$field_9436_h = 1013904223;
            $this.$editingBlocks = 0;
            $this.$lockTimestamp = jl_System_currentTimeMillis();
            $this.$autosavePeriod = 4000;
            $this.$rand2 = new ju_Random;
            $this.$isNewWorld = 0;
            $this.$worldAccesses = ju_ArrayList__init_0();
            $this.$field_9428_I = ju_ArrayList__init_0();
            $this.$field_4204_J = 0;
            $this.$spawnHostileMobs = 1;
            $this.$spawnPeacefulMobs = 1;
            $this.$field_9427_K = ju_HashSet__init_0();
            $this.$field_9426_L = ju_Random_nextInt($this.$rand2, 12000);
            $this.$field_1012_M = ju_ArrayList__init_0();
            $this.$multiplayerWorld = 0;
            $this.$saveHandler = $var1;
            var$5 = new nleiv_VFile2;
            var$6 = $rt_createArray(jl_Object, 1);
            var$7 = var$6.data;
            $var6 = 0;
            var$9 = $var1.$directory0;
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$10, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            var$11 = $rt_s(1469);
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            var$7[$var6] = var$9;
            $ptr = 4;
        case 4:
            nleiv_VFile2__init_(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$savedir = var$5;
            $ptr = 5;
        case 5:
            $tmp = nleiv_VFile2_getAllBytes(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7 !== null) {
                try {
                    var$9 = ji_DataInputStream__init_(ji_ByteArrayInputStream__init_(var$7));
                    $ptr = 6;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        var$9 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                var$10 = jl_System_err();
                $var1 = $var1.$directory0;
                var$11 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$11);
                var$5 = $rt_s(1470);
                $ptr = 7;
                continue main;
            }
            var$10 = null;
            $this.$worldInfo = var$10;
            $this.$isNewWorld = var$10 !== null ? 0 : 1;
            if ($var5 !== null)
                $this.$worldProvider = $var5;
            else if (var$10 !== null && var$10.$dimension0 == (-1)) {
                $var1 = new nms_WorldProviderHell;
                nms_WorldProvider__init_($var1);
                $this.$worldProvider = $var1;
            } else
                $this.$worldProvider = nms_WorldProvider__init_0();
            $var6 = 0;
            $var1 = $this.$worldInfo;
            if ($var1 !== null)
                $var1.$levelName0 = $var2;
            else {
                $this.$worldInfo = nms_WorldInfo__init_2($var3, $var2);
                $var6 = 1;
            }
            $var1 = $this.$worldProvider;
            $ptr = 14;
            continue main;
        case 6:
            a: {
                try {
                    $tmp = nms_NBTBase_readTag(var$9);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$9 = $tmp;
                    if (!(var$9 instanceof nms_NBTTagCompound))
                        break a;
                    var$10 = new nms_WorldInfo;
                    var$9 = var$9;
                    $ptr = 13;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        var$9 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                var$10 = jl_System_err();
                $var1 = $var1.$directory0;
                var$11 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$11);
                var$5 = $rt_s(1470);
                $ptr = 7;
                continue main;
            }
            var$10 = null;
            $this.$worldInfo = var$10;
            $this.$isNewWorld = var$10 !== null ? 0 : 1;
            if ($var5 !== null)
                $this.$worldProvider = $var5;
            else if (var$10 !== null && var$10.$dimension0 == (-1)) {
                $var1 = new nms_WorldProviderHell;
                nms_WorldProvider__init_($var1);
                $this.$worldProvider = $var1;
            } else
                $this.$worldProvider = nms_WorldProvider__init_0();
            $var6 = 0;
            $var1 = $this.$worldInfo;
            if ($var1 !== null)
                $var1.$levelName0 = $var2;
            else {
                $this.$worldInfo = nms_WorldInfo__init_2($var3, $var2);
                $var6 = 1;
            }
            $var1 = $this.$worldProvider;
            $ptr = 14;
            continue main;
        case 7:
            $tmp = jl_StringBuilder_append(var$11, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 8;
        case 8:
            $tmp = jl_StringBuilder_append(var$5, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$5 = $rt_s(1471);
            $ptr = 9;
        case 9:
            jl_StringBuilder_append($var1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            $tmp = jl_AbstractStringBuilder_toString(var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $ptr = 11;
        case 11:
            ji_PrintStream_println0(var$10, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            jl_Throwable_printStackTrace(var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = null;
            $this.$worldInfo = var$10;
            $this.$isNewWorld = var$10 !== null ? 0 : 1;
            if ($var5 !== null)
                $this.$worldProvider = $var5;
            else if (var$10 !== null && var$10.$dimension0 == (-1)) {
                $var1 = new nms_WorldProviderHell;
                nms_WorldProvider__init_($var1);
                $this.$worldProvider = $var1;
            } else
                $this.$worldProvider = nms_WorldProvider__init_0();
            $var6 = 0;
            $var1 = $this.$worldInfo;
            if ($var1 !== null)
                $var1.$levelName0 = $var2;
            else {
                $this.$worldInfo = nms_WorldInfo__init_2($var3, $var2);
                $var6 = 1;
            }
            $var1 = $this.$worldProvider;
            $ptr = 14;
            continue main;
        case 13:
            a: {
                try {
                    nms_WorldInfo__init_(var$10, var$9);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        var$9 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                var$10 = jl_System_err();
                $var1 = $var1.$directory0;
                var$11 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$11);
                var$5 = $rt_s(1470);
                $ptr = 7;
                continue main;
            }
            $this.$worldInfo = var$10;
            $this.$isNewWorld = var$10 !== null ? 0 : 1;
            if ($var5 !== null)
                $this.$worldProvider = $var5;
            else if (var$10 !== null && var$10.$dimension0 == (-1)) {
                $var1 = new nms_WorldProviderHell;
                nms_WorldProvider__init_($var1);
                $this.$worldProvider = $var1;
            } else
                $this.$worldProvider = nms_WorldProvider__init_0();
            $var6 = 0;
            $var1 = $this.$worldInfo;
            if ($var1 !== null)
                $var1.$levelName0 = $var2;
            else {
                $this.$worldInfo = nms_WorldInfo__init_2($var3, $var2);
                $var6 = 1;
            }
            $var1 = $this.$worldProvider;
            $ptr = 14;
        case 14:
            nms_WorldProvider_registerWorld($var1, $this);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            $tmp = nms_World_getChunkProvider($this);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$chunkProvider = $var1;
            if (!$var6) {
                nms_World_calculateInitialSkylight($this);
                return;
            }
            $this.$findingSpawnPoint = 1;
            $var6 = 0;
            var$12 = 64;
            var$13 = 0;
            $var1 = $this.$worldProvider;
            $ptr = 16;
        case 16:
            $tmp = $var1.$canCoordinateBeSpawn($var6, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $tmp;
            if (var$14) {
                nms_WorldInfo_setSpawn($this.$worldInfo, $var6, var$12, var$13);
                $this.$findingSpawnPoint = 0;
                nms_World_calculateInitialSkylight($this);
                return;
            }
            $var6 = $var6 + (ju_Random_nextInt($this.$rand2, 64) - ju_Random_nextInt($this.$rand2, 64) | 0) | 0;
            var$13 = var$13 + (ju_Random_nextInt($this.$rand2, 64) - ju_Random_nextInt($this.$rand2, 64) | 0) | 0;
            $var1 = $this.$worldProvider;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var5, var$5, var$6, var$7, $var6, var$9, var$10, var$11, var$12, var$13, var$14, $ptr);
    }
    function nms_World_getChunkProvider($this) {
        var $var1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $this.$saveHandler;
            var$2 = $this.$worldProvider;
            $ptr = 1;
        case 1:
            $tmp = $var1.$getChunkLoader(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$2 = new nms_ChunkProviderLoadOrGenerate;
            var$3 = $this.$worldProvider.$getChunkProvider();
            var$2.$chunks = $rt_createArray(nms_Chunk, 1024);
            var$2.$lastQueriedChunkXPos = (-999999999);
            var$2.$lastQueriedChunkZPos = (-999999999);
            var$2.$blankChunk = nms_EmptyChunk__init_0($this, $rt_createByteArray(32768), 0, 0);
            var$2.$worldObj4 = $this;
            var$2.$chunkLoader = $var1;
            var$2.$chunkProvider0 = var$3;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_World_setSpawnLocation($this) {
        var var$1, $var1, $var2, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$worldInfo;
            if (var$1.$spawnY <= 0)
                var$1.$spawnY = 64;
            $var1 = var$1.$spawnX;
            $var2 = var$1.$spawnZ;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getFirstUncoveredBlock($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4) {
                var$1 = $this.$worldInfo;
                var$1.$spawnX = $var1;
                var$1.$spawnZ = $var2;
                return;
            }
            $var1 = $var1 + (ju_Random_nextInt($this.$rand2, 8) - ju_Random_nextInt($this.$rand2, 8) | 0) | 0;
            $var2 = $var2 + (ju_Random_nextInt($this.$rand2, 8) - ju_Random_nextInt($this.$rand2, 8) | 0) | 0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $var1, $var2, var$4, $ptr);
    }
    function nms_World_getFirstUncoveredBlock($this, $var1, $var2) {
        var $var3, $var3_0, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var3_0 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = 63;
            $var3_0 = $var3 + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isAirBlock($this, $var1, $var3_0, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5) {
                $ptr = 2;
                continue main;
            }
            $var3 = $var3_0;
            $var3_0 = $var3 + 1 | 0;
            continue main;
        case 2:
            $tmp = nms_World_getBlockId($this, $var1, $var3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var3_0, var$5, $ptr);
    }
    function nms_World_func_6464_c($this) {}
    function nms_World_spawnPlayerWithLoadedChunks($this, $var1) {
        var $var2, $var6, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            try {
                $var2 = nms_WorldInfo_getPlayerNBTTagCompound($this.$worldInfo);
                if ($var2 !== null) {
                    $ptr = 2;
                    continue main;
                }
                $var2 = $this.$chunkProvider;
                if ($var2 instanceof nms_ChunkProviderLoadOrGenerate)
                    nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver($var2, nms_MathHelper_floor_float($var1.$posX | 0) >> 4, nms_MathHelper_floor_float($var1.$posZ | 0) >> 4);
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var6 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 1;
        case 1:
            jl_Throwable_printStackTrace($var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            try {
                nms_Entity_readFromNBT($var1, $var2);
                if ($rt_suspending()) {
                    break main;
                }
                nms_WorldInfo_setPlayerNBTTagCompound($this.$worldInfo, null);
                $var2 = $this.$chunkProvider;
                if ($var2 instanceof nms_ChunkProviderLoadOrGenerate)
                    nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver($var2, nms_MathHelper_floor_float($var1.$posX | 0) >> 4, nms_MathHelper_floor_float($var1.$posZ | 0) >> 4);
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var6 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 1;
            continue main;
        case 3:
            a: {
                try {
                    $this.$entityJoinedWorld($var1);
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var6 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return;
            }
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var6, $ptr);
    }
    function nms_World_saveWorld($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$chunkProvider.$func_536_b())
                return;
            if ($var2 === null) {
                $ptr = 1;
                continue main;
            }
            $var2.$noError = 1;
            var$3 = $var2.$currentlyDisplayedText;
            $ptr = 2;
            continue main;
        case 1:
            nms_World_saveLevel($this);
            if ($rt_suspending()) {
                break main;
            }
            if ($var2 === null) {
                var$3 = $this.$chunkProvider;
                $ptr = 3;
                continue main;
            }
            var$3 = $rt_s(1472);
            $ptr = 4;
            continue main;
        case 2:
            nms_LoadingScreenRenderer_func_597_c($var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 1;
            continue main;
        case 3:
            var$3.$saveChunks($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nms_LoadingScreenRenderer_displayLoadingString($var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$chunkProvider;
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_World_saveLevel($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$saveHandler;
            var$2 = $this.$worldInfo;
            var$3 = $this.$playerEntities;
            $ptr = 1;
        case 1:
            var$1.$saveWorldInfoAndPlayer(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_World_func_650_a($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$chunkProvider.$func_536_b())
                return 1;
            if (!$var1) {
                $ptr = 2;
                continue main;
            }
            var$2 = $this.$chunkProvider;
            $var1 = 0;
            var$3 = null;
            $ptr = 1;
        case 1:
            $tmp = var$2.$saveChunks($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        case 2:
            nms_World_saveLevel($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$chunkProvider;
            $var1 = 0;
            var$3 = null;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_World_getBlockId($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 >= (-32000000) && $var3 >= (-32000000) && $var1 < 32000000 && $var3 <= 32000000) {
                if ($var2 < 0)
                    $var1 = 0;
                else {
                    if ($var2 < 128) {
                        var$4 = $var1 >> 4;
                        var$5 = $var3 >> 4;
                        $ptr = 1;
                        continue main;
                    }
                    $var1 = 0;
                }
            } else
                $var1 = 0;
            return $var1;
        case 1:
            $tmp = nms_World_getChunkFromChunkCoords($this, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            return var$6.$getBlockID($var1 & 15, $var2, $var3 & 15);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, $ptr);
    }
    function nms_World_isAirBlock($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_World_blockExists($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var2 >= 0 && $var2 < 128) {
                $var2 = $var1 >> 4;
                $var1 = $var3 >> 4;
                $ptr = 1;
                continue main;
            }
            return 0;
        case 1:
            $tmp = nms_World_chunkExists($this, $var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_World_doChunksNearChunkExist($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var1 - $var4 | 0;
            var$6 = $var2 - $var4 | 0;
            var$7 = $var3 - $var4 | 0;
            $var1 = $var1 + $var4 | 0;
            $var2 = $var2 + $var4 | 0;
            $var3 = $var3 + $var4 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_checkChunksExist($this, var$5, var$6, var$7, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, $ptr);
    }
    function nms_World_checkChunksExist($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var7, $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var5 >= 0 && $var2 < 128) {
                $var7 = $var1 >> 4;
                $var1 = $var3 >> 4;
                $var2 = $var4 >> 4;
                $var3 = $var6 >> 4;
                while ($var7 <= $var2) {
                    $var8 = $var1;
                    if ($var8 <= $var3) {
                        $ptr = 1;
                        continue main;
                    }
                    $var7 = $var7 + 1 | 0;
                }
                return 1;
            }
            return 0;
        case 1:
            $tmp = nms_World_chunkExists($this, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4)
                return 0;
            $var8 = $var8 + 1 | 0;
            while (true) {
                if ($var8 <= $var3) {
                    continue main;
                }
                $var7 = $var7 + 1 | 0;
                if ($var7 > $var2)
                    break;
                $var8 = $var1;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $ptr);
    }
    function nms_World_chunkExists($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$chunkProvider;
            $ptr = 1;
        case 1:
            $tmp = var$3.$chunkExists($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_World_getChunkFromBlockCoords($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $var1 >> 4;
            $var1 = $var2 >> 4;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getChunkFromChunkCoords($this, var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return var$4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_World_getChunkFromChunkCoords($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$chunkProvider;
            $ptr = 1;
        case 1:
            $tmp = var$3.$provideChunk($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_World_setBlockAndMetadata($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, var$7, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 >= (-32000000) && $var3 >= (-32000000) && $var1 < 32000000 && $var3 <= 32000000) {
                if ($var2 < 0)
                    return 0;
                if ($var2 >= 128)
                    return 0;
                var$6 = $var1 >> 4;
                var$7 = $var3 >> 4;
                $ptr = 1;
                continue main;
            }
            return 0;
        case 1:
            $tmp = nms_World_getChunkFromChunkCoords($this, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var1 = $var1 & 15;
            $var3 = $var3 & 15;
            $ptr = 2;
        case 2:
            $tmp = $var6.$setBlockIDWithMetadata($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, $var6, $ptr);
    }
    function nms_World_setBlock($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 >= (-32000000) && $var3 >= (-32000000) && $var1 < 32000000 && $var3 <= 32000000) {
                if ($var2 < 0)
                    return 0;
                if ($var2 >= 128)
                    return 0;
                var$5 = $var1 >> 4;
                var$6 = $var3 >> 4;
                $ptr = 1;
                continue main;
            }
            return 0;
        case 1:
            $tmp = nms_World_getChunkFromChunkCoords($this, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            var$6 = $var1 & 15;
            $var1 = $var3 & 15;
            $ptr = 2;
        case 2:
            $tmp = $var5.$setBlockID(var$6, $var2, $var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $var5, $ptr);
    }
    function nms_World_getBlockMaterial($this, $var1, $var2, $var3) {
        var $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4) {
                nms_Material_$callClinit();
                return nms_Material_air;
            }
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Block_blocksList.data[$var4].$blockMaterial;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_World_getBlockMetadata($this, $var1, $var2, $var3) {
        var var$4, var$5, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 >= (-32000000) && $var3 >= (-32000000) && $var1 < 32000000 && $var3 <= 32000000) {
                if ($var2 < 0)
                    return 0;
                if ($var2 >= 128)
                    return 0;
                var$4 = $var1 >> 4;
                var$5 = $var3 >> 4;
                $ptr = 1;
                continue main;
            }
            return 0;
        case 1:
            $tmp = nms_World_getChunkFromChunkCoords($this, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            return $var4.$getBlockMetadata($var1 & 15, $var2, $var3 & 15);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $var4, $ptr);
    }
    function nms_World_setBlockMetadataWithNotify($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $this.$setBlockMetadata($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4)
                return;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $ptr = 3;
        case 3:
            nms_World_notifyBlockChange($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_World_setBlockMetadata($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 >= (-32000000) && $var3 >= (-32000000) && $var1 < 32000000 && $var3 <= 32000000) {
                if ($var2 < 0)
                    return 0;
                if ($var2 >= 128)
                    return 0;
                var$5 = $var1 >> 4;
                var$6 = $var3 >> 4;
                $ptr = 1;
                continue main;
            }
            return 0;
        case 1:
            $tmp = nms_World_getChunkFromChunkCoords($this, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var5.$setBlockMetadata0($var1 & 15, $var2, $var3 & 15, $var4);
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $var5, $ptr);
    }
    function nms_World_setBlockWithNotify($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $this.$setBlock($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (!var$5)
                return 0;
            $ptr = 2;
        case 2:
            nms_World_notifyBlockChange($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_World_setBlockAndMetadataWithNotify($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $this.$setBlockAndMetadata($var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5)
                return 0;
            $ptr = 2;
        case 2:
            nms_World_notifyBlockChange($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_World_markBlockNeedsUpdate($this, $var1, $var2, $var3) {
        var $var4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = 0;
            var$5 = $this.$worldAccesses;
            if ($var4 >= var$5.$size0)
                return;
            var$5 = ju_ArrayList_get(var$5, $var4);
            $ptr = 1;
        case 1:
            nms_RenderGlobal_markBlockAndNeighborsNeedsUpdate(var$5, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $var4 + 1 | 0;
            var$5 = $this.$worldAccesses;
            if ($var4 >= var$5.$size0)
                return;
            var$5 = ju_ArrayList_get(var$5, $var4);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_World_notifyBlockChange($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_World_markBlockNeedsUpdate($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_World_notifyBlocksOfNeighborChange($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_World_markBlocksDirtyVertical($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var3 <= $var4) {
                var$5 = $var3;
                $var3 = $var4;
                $var4 = var$5;
            }
            $ptr = 1;
        case 1:
            nms_World_markBlocksDirty($this, $var1, $var4, $var2, $var1, $var3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_World_markBlockAsNeedsUpdate($this, $var1, $var2, $var3) {
        var $var4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = 0;
            var$5 = $this.$worldAccesses;
            if ($var4 >= var$5.$size0)
                return;
            var$5 = ju_ArrayList_get(var$5, $var4);
            $ptr = 1;
        case 1:
            nms_RenderGlobal_markBlockRangeNeedsUpdate(var$5, $var1, $var2, $var3, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $var4 + 1 | 0;
            var$5 = $this.$worldAccesses;
            if ($var4 >= var$5.$size0)
                return;
            var$5 = ju_ArrayList_get(var$5, $var4);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_World_markBlocksDirty($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var7 = 0;
            var$8 = $this.$worldAccesses;
            if ($var7 >= var$8.$size0)
                return;
            var$8 = ju_ArrayList_get(var$8, $var7);
            $ptr = 1;
        case 1:
            nms_RenderGlobal_markBlockRangeNeedsUpdate(var$8, $var1, $var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var7 + 1 | 0;
            var$8 = $this.$worldAccesses;
            if ($var7 >= var$8.$size0)
                return;
            var$8 = ju_ArrayList_get(var$8, $var7);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, $ptr);
    }
    function nms_World_notifyBlocksOfNeighborChange($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var1 - 1 | 0;
            $ptr = 1;
        case 1:
            nms_World_notifyBlockOfNeighborChange($this, var$5, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var1 + 1 | 0;
            $ptr = 2;
        case 2:
            nms_World_notifyBlockOfNeighborChange($this, var$5, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var2 - 1 | 0;
            $ptr = 3;
        case 3:
            nms_World_notifyBlockOfNeighborChange($this, $var1, var$5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var2 + 1 | 0;
            $ptr = 4;
        case 4:
            nms_World_notifyBlockOfNeighborChange($this, $var1, var$5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var3 - 1 | 0;
            $ptr = 5;
        case 5:
            nms_World_notifyBlockOfNeighborChange($this, $var1, $var2, var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var3 + 1 | 0;
            $ptr = 6;
        case 6:
            nms_World_notifyBlockOfNeighborChange($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_World_notifyBlockOfNeighborChange($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$editingBlocks && !$this.$multiplayerWorld) {
                $ptr = 1;
                continue main;
            }
            return;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = nms_Block_blocksList.data;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $var5 = var$5[var$6];
            if ($var5 === null)
                return;
            $ptr = 3;
        case 3:
            $var5.$onNeighborBlockChange($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $var5, $ptr);
    }
    function nms_World_canBlockSeeTheSky($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $var1 >> 4;
            var$5 = $var3 >> 4;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getChunkFromChunkCoords($this, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            return var$6.$canBlockSeeTheSky($var1 & 15, $var2, $var3 & 15);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, $ptr);
    }
    function nms_World_getBlockLightValue($this, $var1, $var2, $var3) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = 1;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockLightValue_do($this, $var1, $var2, $var3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_World_getBlockLightValue_do($this, $var1, $var2, $var3, $var4) {
        var $var5, $var7, $var6, $var8, $var9, $var10, $var11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 >= (-32000000) && $var3 >= (-32000000) && $var1 < 32000000 && $var3 <= 32000000) {
                if ($var4) {
                    $ptr = 1;
                    continue main;
                }
                if ($var2 < 0)
                    return 0;
                if ($var2 >= 128) {
                    $var5 = 15 - $this.$skylightSubtracted | 0;
                    if ($var5 < 0)
                        $var5 = 0;
                    return $var5;
                }
                $var7 = $var1 >> 4;
                $var4 = $var3 >> 4;
                $ptr = 8;
                continue main;
            }
            return 15;
        case 1:
            $tmp = nms_World_getBlockId($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 != nms_Block_stairSingle.$blockID && $var5 != nms_Block_tilledField.$blockID) {
                if ($var2 < 0)
                    return 0;
                if ($var2 >= 128) {
                    $var5 = 15 - $this.$skylightSubtracted | 0;
                    if ($var5 < 0)
                        $var5 = 0;
                    return $var5;
                }
                $var7 = $var1 >> 4;
                $var4 = $var3 >> 4;
                $ptr = 8;
                continue main;
            }
            $var4 = $var2 + 1 | 0;
            $var7 = 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockLightValue_do($this, $var1, $var4, $var3, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var4 = $var1 + 1 | 0;
            $var7 = 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockLightValue_do($this, $var4, $var2, $var3, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var4 = $var1 - 1 | 0;
            $var8 = 0;
            $ptr = 5;
        case 5:
            $tmp = nms_World_getBlockLightValue_do($this, $var4, $var2, $var3, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var4 = $var3 + 1 | 0;
            $var9 = 0;
            $ptr = 6;
        case 6:
            $tmp = nms_World_getBlockLightValue_do($this, $var1, $var2, $var4, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $var3 = $var3 - 1 | 0;
            $var4 = 0;
            $ptr = 7;
        case 7:
            $tmp = nms_World_getBlockLightValue_do($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            if ($var7 <= $var6)
                $var7 = $var6;
            if ($var8 <= $var7)
                $var8 = $var7;
            if ($var9 <= $var8)
                $var9 = $var8;
            if ($var10 <= $var9)
                $var10 = $var9;
            return $var10;
        case 8:
            $tmp = nms_World_getChunkFromChunkCoords($this, $var7, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            return $var11.$getBlockLightValue0($var1 & 15, $var2, $var3 & 15, $this.$skylightSubtracted);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var7, $var6, $var8, $var9, $var10, $var11, $ptr);
    }
    function nms_World_canExistingBlockSeeTheSky($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 >= (-32000000) && $var3 >= (-32000000) && $var1 < 32000000 && $var3 <= 32000000) {
                if ($var2 < 0)
                    return 0;
                if ($var2 >= 128)
                    return 1;
                var$4 = $var1 >> 4;
                var$5 = $var3 >> 4;
                $ptr = 1;
                continue main;
            }
            return 0;
        case 1:
            $tmp = nms_World_chunkExists($this, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6)
                return 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getChunkFromChunkCoords($this, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            return $var4.$canBlockSeeTheSky($var1 & 15, $var2, $var3 & 15);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, $var4, $ptr);
    }
    function nms_World_getHeightValue($this, $var1, $var2) {
        var var$3, var$4, var$5, $var3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 >= (-32000000) && $var2 >= (-32000000) && $var1 < 32000000 && $var2 <= 32000000) {
                var$3 = $var1 >> 4;
                var$4 = $var2 >> 4;
                $ptr = 1;
                continue main;
            }
            return 0;
        case 1:
            $tmp = nms_World_chunkExists($this, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (!var$5)
                return 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getChunkFromChunkCoords($this, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            return $var3.$getHeightValue($var1 & 15, $var2 & 15);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, $var3, $ptr);
    }
    function nms_World_neighborLightPropagationChanged($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$worldProvider.$field_6478_e) {
                nms_EnumSkyBlock_$callClinit();
                if ($var1 === nms_EnumSkyBlock_Sky)
                    return;
            }
            $ptr = 1;
        case 1:
            $tmp = nms_World_blockExists($this, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$var6)
                return;
            nms_EnumSkyBlock_$callClinit();
            if ($var1 === nms_EnumSkyBlock_Sky) {
                $ptr = 2;
                continue main;
            }
            if ($var1 === nms_EnumSkyBlock_Block) {
                $ptr = 3;
                continue main;
            }
            $ptr = 5;
            continue main;
        case 2:
            $tmp = nms_World_canExistingBlockSeeTheSky($this, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6)
                $var5 = 15;
            $ptr = 5;
            continue main;
        case 3:
            $tmp = nms_World_getBlockId($this, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 4;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = nms_Block_lightValue.data;
            if (var$7[$var6] > $var5)
                $var5 = var$7[$var6];
            $ptr = 5;
        case 5:
            $tmp = nms_World_getSavedLightValue($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 == $var5)
                return;
            $ptr = 6;
        case 6:
            nms_World_func_616_a($this, $var1, $var2, $var3, $var4, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
    }
    function nms_World_getSavedLightValue($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, var$7, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var3 >= 0 && $var3 < 128 && $var2 >= (-32000000) && $var4 >= (-32000000) && $var2 < 32000000 && $var4 <= 32000000) {
                $var5 = $var2 >> 4;
                $var6 = $var4 >> 4;
                $ptr = 1;
                continue main;
            }
            return $var1.$field_1722_c;
        case 1:
            $tmp = nms_World_chunkExists($this, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (!var$7)
                return 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getChunkFromChunkCoords($this, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            return $var7.$getSavedLightValue($var1, $var2 & 15, $var3, $var4 & 15);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $var7, $ptr);
    }
    function nms_World_setLightValue($this, $var1, $var2, $var3, $var4, $var5) {
        var $var7, var$7, var$8, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var2 >= (-32000000) && $var4 >= (-32000000) && $var2 < 32000000 && $var4 <= 32000000 && $var3 >= 0 && $var3 < 128) {
                $var7 = $var2 >> 4;
                var$7 = $var4 >> 4;
                $ptr = 1;
                continue main;
            }
            return;
        case 1:
            $tmp = nms_World_chunkExists($this, $var7, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (!var$8)
                return;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getChunkFromChunkCoords($this, $var7, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var6.$setLightValue0($var1, $var2 & 15, $var3, $var4 & 15, $var5);
            $var7 = 0;
            $var1 = $this.$worldAccesses;
            if ($var7 >= $var1.$size0)
                return;
            $var1 = ju_ArrayList_get($var1, $var7);
            $ptr = 3;
        case 3:
            nms_RenderGlobal_markBlockAndNeighborsNeedsUpdate($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var7 + 1 | 0;
            $var1 = $this.$worldAccesses;
            if ($var7 >= $var1.$size0)
                return;
            $var1 = ju_ArrayList_get($var1, $var7);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var7, var$7, var$8, $var6, $ptr);
    }
    function nms_World_getLightBrightness($this, $var1, $var2, $var3) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$worldProvider.$lightBrightnessTable.data;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockLightValue($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return var$4[$var1];
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_World_isDaytime($this) {
        return $this.$skylightSubtracted >= 4 ? 0 : 1;
    }
    function nms_World_rayTraceBlocks($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_rayTraceBlocks_do($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_World_rayTraceBlocks_do($this, $var1, $var2, $var3) {
        var $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var13, $var15, $var31, $var17, $var19, $var21, var$18, var$19, $var23, var$21, $var25, var$23, $var27, $var35, $var30, $var32, $var33, $var10_0, $var34, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var34 = $thread.pop();$var10_0 = $thread.pop();$var33 = $thread.pop();$var32 = $thread.pop();$var30 = $thread.pop();$var35 = $thread.pop();$var27 = $thread.pop();var$23 = $thread.pop();$var25 = $thread.pop();var$21 = $thread.pop();$var23 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();$var21 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var31 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9
            = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!($rt_globals.isNaN($var1.$xCoord) ? 1 : 0) && !($rt_globals.isNaN($var1.$yCoord) ? 1 : 0) && !($rt_globals.isNaN($var1.$zCoord) ? 1 : 0)) {
                if (!($rt_globals.isNaN($var2.$xCoord) ? 1 : 0) && !($rt_globals.isNaN($var2.$yCoord) ? 1 : 0) && !($rt_globals.isNaN($var2.$zCoord) ? 1 : 0)) {
                    $var4 = nms_MathHelper_floor_double($var2.$xCoord);
                    $var5 = nms_MathHelper_floor_double($var2.$yCoord);
                    $var6 = nms_MathHelper_floor_double($var2.$zCoord);
                    $var7 = nms_MathHelper_floor_double($var1.$xCoord);
                    $var8 = nms_MathHelper_floor_double($var1.$yCoord);
                    $var9 = nms_MathHelper_floor_double($var1.$zCoord);
                    $var10 = 200 + (-1) | 0;
                    if (200 < 0)
                        return null;
                    if (!($rt_globals.isNaN($var1.$xCoord) ? 1 : 0) && !($rt_globals.isNaN($var1.$yCoord) ? 1 : 0) && !($rt_globals.isNaN($var1.$zCoord) ? 1 : 0)) {
                        if ($var7 == $var4 && $var8 == $var5 && $var9 == $var6)
                            return null;
                        $var11 = 999.0;
                        $var13 = 999.0;
                        $var15 = 999.0;
                        $var31 = $rt_compare($var4, $var7);
                        if ($var31 > 0)
                            $var11 = $var7 + 1.0;
                        if ($var31 < 0)
                            $var11 = $var7 + 0.0;
                        $var7 = $rt_compare($var5, $var8);
                        if ($var7 > 0)
                            $var13 = $var8 + 1.0;
                        if ($var7 < 0)
                            $var13 = $var8 + 0.0;
                        $var8 = $rt_compare($var6, $var9);
                        if ($var8 > 0)
                            $var15 = $var9 + 1.0;
                        if ($var8 < 0)
                            $var15 = $var9 + 0.0;
                        $var17 = 999.0;
                        $var19 = 999.0;
                        $var21 = 999.0;
                        var$18 = $var2.$xCoord;
                        var$19 = $var1.$xCoord;
                        $var23 = var$18 - var$19;
                        var$18 = $var2.$yCoord;
                        var$21 = $var1.$yCoord;
                        $var25 = var$18 - var$21;
                        var$18 = $var2.$zCoord;
                        var$23 = $var1.$zCoord;
                        $var27 = var$18 - var$23;
                        if ($var11 !== 999.0)
                            $var17 = ($var11 - var$19) / $var23;
                        if ($var13 !== 999.0)
                            $var19 = ($var13 - var$21) / $var25;
                        if ($var15 !== 999.0)
                            $var21 = ($var15 - var$23) / $var27;
                        if ($var17 < $var19 && $var17 < $var21) {
                            $var35 = $var31 <= 0 ? 5 : 4;
                            $var1.$xCoord = $var11;
                            $var1.$yCoord = var$21 + $var25 * $var17;
                            $var1.$zCoord = var$23 + $var27 * $var17;
                        } else if ($var19 >= $var21) {
                            $var35 = $var8 <= 0 ? 3 : 2;
                            $var1.$xCoord = var$19 + $var23 * $var21;
                            $var1.$yCoord = var$21 + $var25 * $var21;
                            $var1.$zCoord = $var15;
                        } else {
                            $var35 = $var7 <= 0 ? 1 : 0;
                            $var1.$xCoord = var$19 + $var23 * $var19;
                            $var1.$yCoord = $var13;
                            $var1.$zCoord = var$23 + $var27 * $var19;
                        }
                        $var30 = nms_Vec3D_createVector($var1.$xCoord, $var1.$yCoord, $var1.$zCoord);
                        $var17 = nms_MathHelper_floor_double($var1.$xCoord);
                        $var30.$xCoord = $var17;
                        $var7 = $var17 | 0;
                        if ($var35 == 5) {
                            $var7 = $var7 + (-1) | 0;
                            $var30.$xCoord = $var17 + 1.0;
                        }
                        var$18 = nms_MathHelper_floor_double($var1.$yCoord);
                        $var30.$yCoord = var$18;
                        $var8 = var$18 | 0;
                        if ($var35 == 1) {
                            $var8 = $var8 + (-1) | 0;
                            $var30.$yCoord = var$18 + 1.0;
                        }
                        var$18 = nms_MathHelper_floor_double($var1.$zCoord);
                        $var30.$zCoord = var$18;
                        $var9 = var$18 | 0;
                        if ($var35 == 3) {
                            $var9 = $var9 + (-1) | 0;
                            $var30.$zCoord = var$18 + 1.0;
                        }
                        $ptr = 1;
                        continue main;
                    }
                    return null;
                }
                return null;
            }
            return null;
        case 1:
            $tmp = nms_World_getBlockId($this, $var7, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var31 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMetadata($this, $var7, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var32 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var33 = nms_Block_blocksList.data[$var31];
            if ($var31 > 0) {
                $ptr = 4;
                continue main;
            }
            $var10_0 = $var10;
            $var10 = $var10_0 + (-1) | 0;
            if ($var10_0 < 0)
                return null;
            if (!($rt_globals.isNaN($var1.$xCoord) ? 1 : 0) && !($rt_globals.isNaN($var1.$yCoord) ? 1 : 0) && !($rt_globals.isNaN($var1.$zCoord) ? 1 : 0)) {
                if ($var7 == $var4 && $var8 == $var5 && $var9 == $var6)
                    return null;
                $var11 = 999.0;
                $var13 = 999.0;
                $var15 = 999.0;
                $var31 = $rt_compare($var4, $var7);
                if ($var31 > 0)
                    $var11 = $var7 + 1.0;
                if ($var31 < 0)
                    $var11 = $var7 + 0.0;
                $var7 = $rt_compare($var5, $var8);
                if ($var7 > 0)
                    $var13 = $var8 + 1.0;
                if ($var7 < 0)
                    $var13 = $var8 + 0.0;
                $var8 = $rt_compare($var6, $var9);
                if ($var8 > 0)
                    $var15 = $var9 + 1.0;
                if ($var8 < 0)
                    $var15 = $var9 + 0.0;
                $var17 = 999.0;
                $var19 = 999.0;
                $var21 = 999.0;
                var$18 = $var2.$xCoord;
                var$19 = $var1.$xCoord;
                $var23 = var$18 - var$19;
                var$18 = $var2.$yCoord;
                var$21 = $var1.$yCoord;
                $var25 = var$18 - var$21;
                var$18 = $var2.$zCoord;
                var$23 = $var1.$zCoord;
                $var27 = var$18 - var$23;
                if ($var11 !== 999.0)
                    $var17 = ($var11 - var$19) / $var23;
                if ($var13 !== 999.0)
                    $var19 = ($var13 - var$21) / $var25;
                if ($var15 !== 999.0)
                    $var21 = ($var15 - var$23) / $var27;
                if ($var17 < $var19 && $var17 < $var21) {
                    $var35 = $var31 <= 0 ? 5 : 4;
                    $var1.$xCoord = $var11;
                    $var1.$yCoord = var$21 + $var25 * $var17;
                    $var1.$zCoord = var$23 + $var27 * $var17;
                } else if ($var19 >= $var21) {
                    $var35 = $var8 <= 0 ? 3 : 2;
                    $var1.$xCoord = var$19 + $var23 * $var21;
                    $var1.$yCoord = var$21 + $var25 * $var21;
                    $var1.$zCoord = $var15;
                } else {
                    $var35 = $var7 <= 0 ? 1 : 0;
                    $var1.$xCoord = var$19 + $var23 * $var19;
                    $var1.$yCoord = $var13;
                    $var1.$zCoord = var$23 + $var27 * $var19;
                }
                $var30 = nms_Vec3D_createVector($var1.$xCoord, $var1.$yCoord, $var1.$zCoord);
                $var17 = nms_MathHelper_floor_double($var1.$xCoord);
                $var30.$xCoord = $var17;
                $var7 = $var17 | 0;
                if ($var35 == 5) {
                    $var7 = $var7 + (-1) | 0;
                    $var30.$xCoord = $var17 + 1.0;
                }
                var$18 = nms_MathHelper_floor_double($var1.$yCoord);
                $var30.$yCoord = var$18;
                $var8 = var$18 | 0;
                if ($var35 == 1) {
                    $var8 = $var8 + (-1) | 0;
                    $var30.$yCoord = var$18 + 1.0;
                }
                var$18 = nms_MathHelper_floor_double($var1.$zCoord);
                $var30.$zCoord = var$18;
                $var9 = var$18 | 0;
                if ($var35 == 3) {
                    $var9 = $var9 + (-1) | 0;
                    $var30.$zCoord = var$18 + 1.0;
                }
                $ptr = 1;
                continue main;
            }
            return null;
        case 4:
            $tmp = $var33.$canCollideCheck($var32, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var31 = $tmp;
            if ($var31) {
                $ptr = 5;
                continue main;
            }
            $var10_0 = $var10;
            $var10 = $var10_0 + (-1) | 0;
            if ($var10_0 < 0)
                return null;
            if (!($rt_globals.isNaN($var1.$xCoord) ? 1 : 0) && !($rt_globals.isNaN($var1.$yCoord) ? 1 : 0) && !($rt_globals.isNaN($var1.$zCoord) ? 1 : 0)) {
                if ($var7 == $var4 && $var8 == $var5 && $var9 == $var6)
                    return null;
                $var11 = 999.0;
                $var13 = 999.0;
                $var15 = 999.0;
                $var31 = $rt_compare($var4, $var7);
                if ($var31 > 0)
                    $var11 = $var7 + 1.0;
                if ($var31 < 0)
                    $var11 = $var7 + 0.0;
                $var7 = $rt_compare($var5, $var8);
                if ($var7 > 0)
                    $var13 = $var8 + 1.0;
                if ($var7 < 0)
                    $var13 = $var8 + 0.0;
                $var8 = $rt_compare($var6, $var9);
                if ($var8 > 0)
                    $var15 = $var9 + 1.0;
                if ($var8 < 0)
                    $var15 = $var9 + 0.0;
                $var17 = 999.0;
                $var19 = 999.0;
                $var21 = 999.0;
                var$18 = $var2.$xCoord;
                var$19 = $var1.$xCoord;
                $var23 = var$18 - var$19;
                var$18 = $var2.$yCoord;
                var$21 = $var1.$yCoord;
                $var25 = var$18 - var$21;
                var$18 = $var2.$zCoord;
                var$23 = $var1.$zCoord;
                $var27 = var$18 - var$23;
                if ($var11 !== 999.0)
                    $var17 = ($var11 - var$19) / $var23;
                if ($var13 !== 999.0)
                    $var19 = ($var13 - var$21) / $var25;
                if ($var15 !== 999.0)
                    $var21 = ($var15 - var$23) / $var27;
                if ($var17 < $var19 && $var17 < $var21) {
                    $var35 = $var31 <= 0 ? 5 : 4;
                    $var1.$xCoord = $var11;
                    $var1.$yCoord = var$21 + $var25 * $var17;
                    $var1.$zCoord = var$23 + $var27 * $var17;
                } else if ($var19 >= $var21) {
                    $var35 = $var8 <= 0 ? 3 : 2;
                    $var1.$xCoord = var$19 + $var23 * $var21;
                    $var1.$yCoord = var$21 + $var25 * $var21;
                    $var1.$zCoord = $var15;
                } else {
                    $var35 = $var7 <= 0 ? 1 : 0;
                    $var1.$xCoord = var$19 + $var23 * $var19;
                    $var1.$yCoord = $var13;
                    $var1.$zCoord = var$23 + $var27 * $var19;
                }
                $var30 = nms_Vec3D_createVector($var1.$xCoord, $var1.$yCoord, $var1.$zCoord);
                $var17 = nms_MathHelper_floor_double($var1.$xCoord);
                $var30.$xCoord = $var17;
                $var7 = $var17 | 0;
                if ($var35 == 5) {
                    $var7 = $var7 + (-1) | 0;
                    $var30.$xCoord = $var17 + 1.0;
                }
                var$18 = nms_MathHelper_floor_double($var1.$yCoord);
                $var30.$yCoord = var$18;
                $var8 = var$18 | 0;
                if ($var35 == 1) {
                    $var8 = $var8 + (-1) | 0;
                    $var30.$yCoord = var$18 + 1.0;
                }
                var$18 = nms_MathHelper_floor_double($var1.$zCoord);
                $var30.$zCoord = var$18;
                $var9 = var$18 | 0;
                if ($var35 == 3) {
                    $var9 = $var9 + (-1) | 0;
                    $var30.$zCoord = var$18 + 1.0;
                }
                $ptr = 1;
                continue main;
            }
            return null;
        case 5:
            $tmp = $var33.$collisionRayTrace($this, $var7, $var8, $var9, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            if ($var34 !== null)
                return $var34;
            $var10_0 = $var10;
            $var10 = $var10_0 + (-1) | 0;
            if ($var10_0 < 0)
                return null;
            if (!($rt_globals.isNaN($var1.$xCoord) ? 1 : 0) && !($rt_globals.isNaN($var1.$yCoord) ? 1 : 0) && !($rt_globals.isNaN($var1.$zCoord) ? 1 : 0)) {
                if ($var7 == $var4 && $var8 == $var5 && $var9 == $var6)
                    return null;
                $var11 = 999.0;
                $var13 = 999.0;
                $var15 = 999.0;
                $var31 = $rt_compare($var4, $var7);
                if ($var31 > 0)
                    $var11 = $var7 + 1.0;
                if ($var31 < 0)
                    $var11 = $var7 + 0.0;
                $var7 = $rt_compare($var5, $var8);
                if ($var7 > 0)
                    $var13 = $var8 + 1.0;
                if ($var7 < 0)
                    $var13 = $var8 + 0.0;
                $var8 = $rt_compare($var6, $var9);
                if ($var8 > 0)
                    $var15 = $var9 + 1.0;
                if ($var8 < 0)
                    $var15 = $var9 + 0.0;
                $var17 = 999.0;
                $var19 = 999.0;
                $var21 = 999.0;
                var$18 = $var2.$xCoord;
                var$19 = $var1.$xCoord;
                $var23 = var$18 - var$19;
                var$18 = $var2.$yCoord;
                var$21 = $var1.$yCoord;
                $var25 = var$18 - var$21;
                var$18 = $var2.$zCoord;
                var$23 = $var1.$zCoord;
                $var27 = var$18 - var$23;
                if ($var11 !== 999.0)
                    $var17 = ($var11 - var$19) / $var23;
                if ($var13 !== 999.0)
                    $var19 = ($var13 - var$21) / $var25;
                if ($var15 !== 999.0)
                    $var21 = ($var15 - var$23) / $var27;
                if ($var17 < $var19 && $var17 < $var21) {
                    $var35 = $var31 <= 0 ? 5 : 4;
                    $var1.$xCoord = $var11;
                    $var1.$yCoord = var$21 + $var25 * $var17;
                    $var1.$zCoord = var$23 + $var27 * $var17;
                } else if ($var19 >= $var21) {
                    $var35 = $var8 <= 0 ? 3 : 2;
                    $var1.$xCoord = var$19 + $var23 * $var21;
                    $var1.$yCoord = var$21 + $var25 * $var21;
                    $var1.$zCoord = $var15;
                } else {
                    $var35 = $var7 <= 0 ? 1 : 0;
                    $var1.$xCoord = var$19 + $var23 * $var19;
                    $var1.$yCoord = $var13;
                    $var1.$zCoord = var$23 + $var27 * $var19;
                }
                $var30 = nms_Vec3D_createVector($var1.$xCoord, $var1.$yCoord, $var1.$zCoord);
                $var17 = nms_MathHelper_floor_double($var1.$xCoord);
                $var30.$xCoord = $var17;
                $var7 = $var17 | 0;
                if ($var35 == 5) {
                    $var7 = $var7 + (-1) | 0;
                    $var30.$xCoord = $var17 + 1.0;
                }
                var$18 = nms_MathHelper_floor_double($var1.$yCoord);
                $var30.$yCoord = var$18;
                $var8 = var$18 | 0;
                if ($var35 == 1) {
                    $var8 = $var8 + (-1) | 0;
                    $var30.$yCoord = var$18 + 1.0;
                }
                var$18 = nms_MathHelper_floor_double($var1.$zCoord);
                $var30.$zCoord = var$18;
                $var9 = var$18 | 0;
                if ($var35 == 3) {
                    $var9 = $var9 + (-1) | 0;
                    $var30.$zCoord = var$18 + 1.0;
                }
                $ptr = 1;
                continue main;
            }
            return null;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var13, $var15, $var31, $var17, $var19, $var21, var$18, var$19, $var23, var$21, $var25, var$23, $var27, $var35, $var30, $var32, $var33, $var10_0, $var34, $ptr);
    }
    function nms_World_playSoundAtEntity($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = 0;
            var$6 = $this.$worldAccesses;
            if ($var5 >= var$6.$size0)
                return;
            var$6 = ju_ArrayList_get(var$6, $var5);
            var$7 = $var1.$posX;
            var$8 = $var1.$posY - $var1.$yOffset;
            var$9 = $var1.$posZ;
            $ptr = 1;
        case 1:
            nms_RenderGlobal_playSound(var$6, $var2, var$7, var$8, var$9, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $var5 + 1 | 0;
            var$6 = $this.$worldAccesses;
            if ($var5 >= var$6.$size0)
                return;
            var$6 = ju_ArrayList_get(var$6, $var5);
            var$7 = $var1.$posX;
            var$8 = $var1.$posY - $var1.$yOffset;
            var$9 = $var1.$posZ;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_World_playSoundEffect($this, $var1, $var3, $var5, $var7, $var8, $var9) {
        var $var10, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var10 = 0;
            var$8 = $this.$worldAccesses;
            if ($var10 >= var$8.$size0)
                return;
            var$8 = ju_ArrayList_get(var$8, $var10);
            $ptr = 1;
        case 1:
            nms_RenderGlobal_playSound(var$8, $var7, $var1, $var3, $var5, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $var10 + 1 | 0;
            var$8 = $this.$worldAccesses;
            if ($var10 >= var$8.$size0)
                return;
            var$8 = ju_ArrayList_get(var$8, $var10);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, $var7, $var8, $var9, $var10, var$8, $ptr);
    }
    function nms_World_playRecord($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = 0;
            var$6 = $var2;
            var$7 = $var3;
            var$8 = $var4;
            var$9 = $this.$worldAccesses;
            if ($var5 >= var$9.$size0)
                return;
            var$10 = ju_ArrayList_get(var$9, $var5);
            if ($var1 === null) {
                var$9 = var$10.$mc4.$sndManager;
                var$11 = 1.0;
                var$12 = 1.0;
                $ptr = 1;
                continue main;
            }
            var$13 = var$10.$mc4.$ingameGUI;
            var$14 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$14);
            var$9 = $rt_s(1473);
            $ptr = 2;
            continue main;
        case 1:
            nms_SoundManager_playSound(var$9, $var1, var$6, var$7, var$8, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $var5 + 1 | 0;
            var$9 = $this.$worldAccesses;
            if ($var5 >= var$9.$size0)
                return;
            var$10 = ju_ArrayList_get(var$9, $var5);
            if ($var1 === null) {
                var$9 = var$10.$mc4.$sndManager;
                var$11 = 1.0;
                var$12 = 1.0;
                continue main;
            }
            var$13 = var$10.$mc4.$ingameGUI;
            var$14 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$14);
            var$9 = $rt_s(1473);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$14, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            $ptr = 3;
        case 3:
            jl_StringBuilder_append(var$9, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            var$9 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$9);
            var$14 = $rt_s(1474);
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append(var$9, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $tmp;
            $ptr = 6;
        case 6:
            jl_StringBuilder_append(var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString(var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            var$13.$recordPlaying = var$9;
            var$13.$recordPlayingUpFor = 60;
            var$13.$field_22065_l = 1;
            var$9 = var$10.$mc4.$sndManager;
            var$11 = 1.0;
            var$12 = 1.0;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr);
    }
    function nms_World_spawnParticle($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12) {
        var $var14, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var14 = 0;
            var$9 = $this.$worldAccesses;
            if ($var14 >= var$9.$size0)
                return;
            var$9 = ju_ArrayList_get(var$9, $var14);
            $ptr = 1;
        case 1:
            nms_RenderGlobal_spawnParticle(var$9, $var1, $var2, $var4, $var6, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $var14 + 1 | 0;
            var$9 = $this.$worldAccesses;
            if ($var14 >= var$9.$size0)
                return;
            var$9 = ju_ArrayList_get(var$9, $var14);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12, $var14, var$9, $ptr);
    }
    function nms_World_entityJoinedWorld($this, $var1) {
        var $var2, $var3, $var4, var$5, $var5, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = nms_MathHelper_floor_double($var1.$posX / 16.0);
            $var3 = nms_MathHelper_floor_double($var1.$posZ / 16.0);
            $var4 = 0;
            var$5 = $var1 instanceof nms_EntityPlayer;
            if (var$5)
                $var4 = 1;
            if (!$var4) {
                $ptr = 1;
                continue main;
            }
            if (!var$5) {
                $ptr = 2;
                continue main;
            }
            $var5 = $var1;
            var$7 = $this.$playerEntities;
            $ptr = 6;
            continue main;
        case 1:
            $tmp = nms_World_chunkExists($this, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4)
                return 0;
            if (!var$5) {
                $ptr = 2;
                continue main;
            }
            $var5 = $var1;
            var$7 = $this.$playerEntities;
            $ptr = 6;
            continue main;
        case 2:
            $tmp = nms_World_getChunkFromChunkCoords($this, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 3;
        case 3:
            $var5.$addEntity($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$loadedEntityList;
            $ptr = 4;
        case 4:
            ju_ArrayList_add($var5, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $this.$obtainEntitySkin($var1);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 6:
            ju_ArrayList_add(var$7, $var5);
            if ($rt_suspending()) {
                break main;
            }
            nms_World_updateAllPlayersSleepingFlag($this);
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $var5, var$7, $ptr);
    }
    function nms_World_obtainEntitySkin($this, $var1) {
        var $var2;
        $var2 = 0;
        while (true) {
            $var1 = $this.$worldAccesses;
            if ($var2 >= $var1.$size0)
                break;
            ju_ArrayList_get($var1, $var2);
            $var2 = $var2 + 1 | 0;
        }
    }
    function nms_World_releaseEntitySkin($this, $var1) {
        var $var2;
        $var2 = 0;
        while (true) {
            $var1 = $this.$worldAccesses;
            if ($var2 >= $var1.$size0)
                break;
            ju_ArrayList_get($var1, $var2);
            $var2 = $var2 + 1 | 0;
        }
    }
    function nms_World_setEntityDead($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $var1.$riddenByEntity;
            if (var$2 !== null)
                nms_Entity_mountEntity(var$2, null);
            if ($var1.$ridingEntity !== null)
                nms_Entity_mountEntity($var1, null);
            $ptr = 1;
        case 1:
            $var1.$setEntityDead0();
            if ($rt_suspending()) {
                break main;
            }
            if (!($var1 instanceof nms_EntityPlayer))
                return;
            var$2 = $this.$playerEntities;
            $var1 = $var1;
            $ptr = 2;
        case 2:
            ju_ArrayList_remove0(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            nms_World_updateAllPlayersSleepingFlag($this);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_World_addWorldAccess($this, $var1) {
        ju_ArrayList_add($this.$worldAccesses, $var1);
    }
    function nms_World_removeWorldAccess($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$worldAccesses;
            $ptr = 1;
        case 1:
            ju_ArrayList_remove0(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_World_getCollidingBoundingBoxes($this, $var1, $var2) {
        var $var9, $var4, $var5, $var6, $var7, $var8, $var16, $var12, $var10, $var15, $var13, $var11, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();$var11 = $thread.pop();$var13 = $thread.pop();$var15 = $thread.pop();$var10 = $thread.pop();$var12 = $thread.pop();$var16 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var9 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            ju_ArrayList_clear($this.$field_9428_I);
            $var9 = nms_MathHelper_floor_double($var2.$minX0);
            $var4 = nms_MathHelper_floor_double($var2.$maxX0 + 1.0);
            $var5 = nms_MathHelper_floor_double($var2.$minY0);
            $var6 = nms_MathHelper_floor_double($var2.$maxY0 + 1.0);
            $var7 = nms_MathHelper_floor_double($var2.$minZ0);
            $var8 = nms_MathHelper_floor_double($var2.$maxZ0 + 1.0);
            $var16 = $var5 - 1 | 0;
            while (true) {
                if ($var9 >= $var4) {
                    $var12 = nms_AxisAlignedBB_expand($var2, 0.25, 0.25, 0.25);
                    $ptr = 1;
                    continue main;
                }
                $var10 = $var7;
                if ($var10 < $var8)
                    break;
                $var9 = $var9 + 1 | 0;
            }
            $var5 = 64;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = nms_World_getEntitiesWithinAABBExcludingEntity($this, $var1, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $tmp;
            $var16 = 0;
            while ($var16 < $var15.$size0) {
                $var13 = (ju_ArrayList_get($var15, $var16)).$getBoundingBox0();
                if ($var13 !== null && nms_AxisAlignedBB_intersectsWith($var13, $var2)) {
                    $var12 = $this.$field_9428_I;
                    $ptr = 3;
                    continue main;
                }
                $var12 = $var1.$getCollisionBox(ju_ArrayList_get($var15, $var16));
                if ($var12 !== null && nms_AxisAlignedBB_intersectsWith($var12, $var2)) {
                    $var13 = $this.$field_9428_I;
                    $ptr = 4;
                    continue main;
                }
                $var16 = $var16 + 1 | 0;
            }
            return $this.$field_9428_I;
        case 2:
            $tmp = nms_World_blockExists($this, $var9, $var5, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5) {
                $var11 = $var16;
                if ($var11 < $var6) {
                    $ptr = 5;
                    continue main;
                }
            }
            $var10 = $var10 + 1 | 0;
            while ($var10 >= $var8) {
                $var9 = $var9 + 1 | 0;
                if ($var9 >= $var4) {
                    $var12 = nms_AxisAlignedBB_expand($var2, 0.25, 0.25, 0.25);
                    $ptr = 1;
                    continue main;
                }
                $var10 = $var7;
            }
            $var5 = 64;
            continue main;
        case 3:
            ju_ArrayList_add($var12, $var13);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var12 = $var1.$getCollisionBox(ju_ArrayList_get($var15, $var16));
                if ($var12 !== null && nms_AxisAlignedBB_intersectsWith($var12, $var2)) {
                    $var13 = $this.$field_9428_I;
                    $ptr = 4;
                    continue main;
                }
                $var16 = $var16 + 1 | 0;
                if ($var16 >= $var15.$size0)
                    break;
                $var13 = (ju_ArrayList_get($var15, $var16)).$getBoundingBox0();
                if ($var13 === null)
                    continue;
                if (!nms_AxisAlignedBB_intersectsWith($var13, $var2))
                    continue;
                else {
                    $var12 = $this.$field_9428_I;
                    continue main;
                }
            }
            return $this.$field_9428_I;
        case 4:
            ju_ArrayList_add($var13, $var12);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var16 = $var16 + 1 | 0;
                if ($var16 >= $var15.$size0)
                    break;
                $var13 = (ju_ArrayList_get($var15, $var16)).$getBoundingBox0();
                if ($var13 !== null && nms_AxisAlignedBB_intersectsWith($var13, $var2)) {
                    $var12 = $this.$field_9428_I;
                    $ptr = 3;
                    continue main;
                }
                $var12 = $var1.$getCollisionBox(ju_ArrayList_get($var15, $var16));
                if ($var12 === null)
                    continue;
                if (!nms_AxisAlignedBB_intersectsWith($var12, $var2))
                    continue;
                else {
                    $var13 = $this.$field_9428_I;
                    continue main;
                }
            }
            return $this.$field_9428_I;
        case 5:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$15 = nms_Block_blocksList.data;
            $ptr = 6;
        case 6:
            $tmp = nms_World_getBlockId($this, $var9, $var11, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var12 = var$15[$var5];
            if ($var12 !== null) {
                $var15 = $this.$field_9428_I;
                $ptr = 7;
                continue main;
            }
            $var11 = $var11 + 1 | 0;
            if ($var11 < $var6) {
                $ptr = 5;
                continue main;
            }
            $var10 = $var10 + 1 | 0;
            while ($var10 >= $var8) {
                $var9 = $var9 + 1 | 0;
                if ($var9 >= $var4) {
                    $var12 = nms_AxisAlignedBB_expand($var2, 0.25, 0.25, 0.25);
                    $ptr = 1;
                    continue main;
                }
                $var10 = $var7;
            }
            $var5 = 64;
            $ptr = 2;
            continue main;
        case 7:
            $var12.$getCollidingBoundingBoxes($this, $var9, $var11, $var10, $var2, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $var11 + 1 | 0;
            if ($var11 < $var6) {
                $ptr = 5;
                continue main;
            }
            $var10 = $var10 + 1 | 0;
            while ($var10 >= $var8) {
                $var9 = $var9 + 1 | 0;
                if ($var9 >= $var4) {
                    $var12 = nms_AxisAlignedBB_expand($var2, 0.25, 0.25, 0.25);
                    $ptr = 1;
                    continue main;
                }
                $var10 = $var7;
            }
            $var5 = 64;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var9, $var4, $var5, $var6, $var7, $var8, $var16, $var12, $var10, $var15, $var13, $var11, var$15, $ptr);
    }
    function nms_World_calculateSkylightSubtracted($this, $var1) {
        var $var3;
        $var3 = 1.0 - (nms_MathHelper_cos(nms_World_getCelestialAngle($this, $var1) * 3.1415927410125732 * 2.0) * 2.0 + 0.5);
        if ($var3 < 0.0)
            $var3 = 0.0;
        if ($var3 > 1.0)
            $var3 = 1.0;
        return $var3 * 11.0 | 0;
    }
    function nms_World_func_4079_a($this, $var1, $var2) {
        var $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = nms_MathHelper_cos(nms_World_getCelestialAngle($this, $var2) * 3.1415927410125732 * 2.0) * 2.0 + 0.5;
            if ($var4 < 0.0)
                $var4 = 0.0;
            if ($var4 > 1.0)
                $var4 = 1.0;
            $var5 = nms_MathHelper_floor_double($var1.$posX);
            $var6 = nms_MathHelper_floor_double($var1.$posZ);
            $var7 = (nms_World_getWorldChunkManager($this)).$func_4072_b($var5, $var6);
            $var1 = nms_World_getWorldChunkManager($this);
            $ptr = 1;
        case 1:
            $tmp = $var1.$func_4073_a($var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = nms_MobSpawnerBase_getSkyColorByTemp($var1, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var9 = ($var8 >> 16 & 255) / 255.0;
            $var10 = ($var8 >> 8 & 255) / 255.0;
            $var11 = ($var8 & 255) / 255.0;
            return nms_Vec3D_createVector($var9 * $var4, $var10 * $var4, $var11 * $var4);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $ptr);
    }
    function nms_World_getCelestialAngle($this, $var1) {
        return $this.$worldProvider.$calculateCelestialAngle($this.$worldInfo.$worldTime, $var1);
    }
    function nms_World_func_628_d($this, $var1) {
        var $var3, var$3, $var4, $var5, $var6;
        $var3 = nms_MathHelper_cos(nms_World_getCelestialAngle($this, $var1) * 3.1415927410125732 * 2.0) * 2.0 + 0.5;
        if ($var3 < 0.0)
            $var3 = 0.0;
        if ($var3 > 1.0)
            $var3 = 1.0;
        var$3 = $this.$field_1019_F;
        $var4 = Long_toNumber(Long_and(Long_shr(var$3, 16), Long_fromInt(255))) / 255.0;
        $var5 = Long_toNumber(Long_and(Long_shr(var$3, 8), Long_fromInt(255))) / 255.0;
        $var6 = Long_toNumber(Long_and(var$3, Long_fromInt(255))) / 255.0;
        $var1 = $var3 * 0.8999999761581421 + 0.10000000149011612;
        return nms_Vec3D_createVector($var4 * $var1, $var5 * $var1, $var6 * ($var3 * 0.8500000238418579 + 0.15000000596046448));
    }
    function nms_World_getFogColor($this, $var1) {
        var $var2;
        $var2 = nms_World_getCelestialAngle($this, $var1);
        return $this.$worldProvider.$func_4096_a($var2, $var1);
    }
    function nms_World_findTopSolidBlock($this, $var1, $var2) {
        var $var3, $var4, var$5, var$6, $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getChunkFromBlockCoords($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var4 = 127;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMaterial($this, $var1, $var4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5.$getIsSolid() && $var4 > 0) {
                $var4 = $var4 + (-1) | 0;
                continue main;
            }
            var$6 = $var1 & 15;
            $var2 = $var2 & 15;
            while ($var4 > 0) {
                $var5 = $var3.$getBlockID(var$6, $var4, $var2);
                if ($var5) {
                    $ptr = 3;
                    continue main;
                }
                $var4 = $var4 + (-1) | 0;
            }
            return (-1);
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nms_Block_blocksList.data[$var5].$blockMaterial.$getIsSolid() && !nms_Block_blocksList.data[$var5].$blockMaterial.$getIsLiquid()) {
                while (true) {
                    $var4 = $var4 + (-1) | 0;
                    if ($var4 <= 0)
                        break;
                    $var5 = $var3.$getBlockID(var$6, $var4, $var2);
                    if (!$var5)
                        continue;
                    else {
                        continue main;
                    }
                }
                return (-1);
            }
            return $var4 + 1 | 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $var5, $ptr);
    }
    function nms_World_func_696_e($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getChunkFromBlockCoords($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3.$getHeightValue($var1 & 15, $var2 & 15);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_World_getStarBrightness($this, $var1) {
        var $var3;
        $var3 = 1.0 - (nms_MathHelper_cos(nms_World_getCelestialAngle($this, $var1) * 3.1415927410125732 * 2.0) * 2.0 + 0.75);
        if ($var3 < 0.0)
            $var3 = 0.0;
        if ($var3 > 1.0)
            $var3 = 1.0;
        return $var3 * $var3 * 0.5;
    }
    function nms_World_scheduleBlockUpdate($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, var$7, $var8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = new nms_NextTickListEntry;
            var$7 = nms_NextTickListEntry_nextTickEntryID;
            nms_NextTickListEntry_nextTickEntryID = Long_add(var$7, Long_fromInt(1));
            $var6.$tickEntryID = var$7;
            $var6.$xCoord1 = $var1;
            $var6.$yCoord1 = $var2;
            $var6.$zCoord1 = $var3;
            $var6.$blockID1 = $var4;
            if (!$this.$scheduledUpdatesAreImmediate) {
                $var8 = $var1 - 8 | 0;
                var$9 = $var2 - 8 | 0;
                var$10 = $var3 - 8 | 0;
                var$11 = $var1 + 8 | 0;
                $var1 = $var2 + 8 | 0;
                $var2 = $var3 + 8 | 0;
                $ptr = 1;
                continue main;
            }
            $var4 = $var1 - 8 | 0;
            $var5 = $var2 - 8 | 0;
            $var8 = $var3 - 8 | 0;
            $var1 = $var1 + 8 | 0;
            $var2 = $var2 + 8 | 0;
            $var3 = $var3 + 8 | 0;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = nms_World_checkChunksExist($this, $var8, var$9, var$10, var$11, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!$var1)
                return;
            if ($var4 > 0)
                $var6.$scheduledTime = Long_add(Long_fromInt($var5), $this.$worldInfo.$worldTime);
            var$12 = $this.$scheduledTickSet;
            $ptr = 4;
            continue main;
        case 2:
            $tmp = nms_World_checkChunksExist($this, $var4, $var5, $var8, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!$var1)
                return;
            $var1 = $var6.$xCoord1;
            $var2 = $var6.$yCoord1;
            $var3 = $var6.$zCoord1;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8 == $var6.$blockID1 && $var8 > 0) {
                $ptr = 7;
                continue main;
            }
            return;
        case 4:
            $tmp = ju_HashSet_contains(var$12, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1)
                return;
            var$12 = $this.$scheduledTickSet;
            $ptr = 5;
        case 5:
            ju_HashSet_add(var$12, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $this.$scheduledTickTreeSet.$map;
            $ptr = 6;
        case 6:
            $tmp = ju_TreeMap_put(var$12, $var6, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            return;
        case 7:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$12 = nms_Block_blocksList.data[$var8];
            $var1 = $var6.$xCoord1;
            $var2 = $var6.$yCoord1;
            $var3 = $var6.$zCoord1;
            $var6 = $this.$rand2;
            $ptr = 8;
        case 8:
            var$12.$updateTick0($this, $var1, $var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $var8, var$9, var$10, var$11, var$12, $ptr);
    }
    function nms_World_func_633_c($this) {
        var $var5, $var2, $var1, $var3, $var3_0, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3_0 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$var2 = $thread.pop();$var5 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = $this.$loadedEntityList;
            $var2 = $this.$unloadedEntityList;
            $ptr = 1;
        case 1:
            ju_AbstractCollection_removeAll($var5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0;
            while (true) {
                $var5 = $this.$unloadedEntityList;
                if ($var1 >= $var5.$size0) {
                    $var1 = 0;
                    $var5 = $this.$unloadedEntityList;
                    if ($var1 < $var5.$size0) {
                        $var5 = ju_ArrayList_get($var5, $var1);
                        $ptr = 3;
                        continue main;
                    }
                    ju_ArrayList_clear($var5);
                    $var3 = 0;
                    a: while (true) {
                        $var5 = $this.$loadedEntityList;
                        if ($var3 >= $var5.$size0) {
                            $var1 = 0;
                            $var5 = $this.$loadedTileEntityList;
                            if ($var1 >= $var5.$size0)
                                return;
                            $var5 = ju_ArrayList_get($var5, $var1);
                            $ptr = 6;
                            continue main;
                        }
                        b: {
                            $var2 = ju_ArrayList_get($var5, $var3);
                            $var5 = $var2.$ridingEntity;
                            if ($var5 !== null) {
                                if (!$var5.$isDead && $var5.$riddenByEntity === $var2)
                                    break b;
                                $var5.$riddenByEntity = null;
                                $var2.$ridingEntity = null;
                            }
                            if (!$var2.$isDead)
                                break a;
                            if ($var2.$isDead) {
                                $var3_0 = $var2.$chunkCoordX;
                                $var4 = $var2.$chunkCoordZ;
                                if ($var2.$addedToChunk) {
                                    $ptr = 9;
                                    continue main;
                                }
                                $var5 = $this.$loadedEntityList;
                                $var1 = $var3 + (-1) | 0;
                                ju_ArrayList_remove($var5, $var3);
                                $ptr = 8;
                                continue main;
                            }
                        }
                        $var3 = $var3 + 1 | 0;
                    }
                    $ptr = 7;
                    continue main;
                }
                $var2 = ju_ArrayList_get($var5, $var1);
                $var3 = $var2.$chunkCoordX;
                $var4 = $var2.$chunkCoordZ;
                if ($var2.$addedToChunk)
                    break;
                $var1 = $var1 + 1 | 0;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_World_chunkExists($this, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var3_0 = $tmp;
            if ($var3_0) {
                $ptr = 4;
                continue main;
            }
            while (true) {
                $var1 = $var1 + 1 | 0;
                $var5 = $this.$unloadedEntityList;
                if ($var1 >= $var5.$size0) {
                    $var1 = 0;
                    $var5 = $this.$unloadedEntityList;
                    if ($var1 < $var5.$size0) {
                        $var5 = ju_ArrayList_get($var5, $var1);
                        $ptr = 3;
                        continue main;
                    }
                    ju_ArrayList_clear($var5);
                    $var3 = 0;
                    a: while (true) {
                        $var5 = $this.$loadedEntityList;
                        if ($var3 >= $var5.$size0) {
                            $var1 = 0;
                            $var5 = $this.$loadedTileEntityList;
                            if ($var1 >= $var5.$size0)
                                return;
                            $var5 = ju_ArrayList_get($var5, $var1);
                            $ptr = 6;
                            continue main;
                        }
                        b: {
                            $var2 = ju_ArrayList_get($var5, $var3);
                            $var5 = $var2.$ridingEntity;
                            if ($var5 !== null) {
                                if (!$var5.$isDead && $var5.$riddenByEntity === $var2)
                                    break b;
                                $var5.$riddenByEntity = null;
                                $var2.$ridingEntity = null;
                            }
                            if (!$var2.$isDead)
                                break a;
                            if ($var2.$isDead) {
                                $var3_0 = $var2.$chunkCoordX;
                                $var4 = $var2.$chunkCoordZ;
                                if ($var2.$addedToChunk) {
                                    $ptr = 9;
                                    continue main;
                                }
                                $var5 = $this.$loadedEntityList;
                                $var1 = $var3 + (-1) | 0;
                                ju_ArrayList_remove($var5, $var3);
                                $ptr = 8;
                                continue main;
                            }
                        }
                        $var3 = $var3 + 1 | 0;
                    }
                    $ptr = 7;
                    continue main;
                }
                $var2 = ju_ArrayList_get($var5, $var1);
                $var3 = $var2.$chunkCoordX;
                $var4 = $var2.$chunkCoordZ;
                if (!$var2.$addedToChunk)
                    continue;
                else
                    break;
            }
            continue main;
        case 3:
            $this.$releaseEntitySkin($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var1 + 1 | 0;
            $var5 = $this.$unloadedEntityList;
            if ($var1 < $var5.$size0) {
                $var5 = ju_ArrayList_get($var5, $var1);
                continue main;
            }
            ju_ArrayList_clear($var5);
            $var3 = 0;
            c: while (true) {
                $var5 = $this.$loadedEntityList;
                if ($var3 >= $var5.$size0) {
                    $var1 = 0;
                    $var5 = $this.$loadedTileEntityList;
                    if ($var1 >= $var5.$size0)
                        return;
                    $var5 = ju_ArrayList_get($var5, $var1);
                    $ptr = 6;
                    continue main;
                }
                d: {
                    $var2 = ju_ArrayList_get($var5, $var3);
                    $var5 = $var2.$ridingEntity;
                    if ($var5 !== null) {
                        if (!$var5.$isDead && $var5.$riddenByEntity === $var2)
                            break d;
                        $var5.$riddenByEntity = null;
                        $var2.$ridingEntity = null;
                    }
                    if (!$var2.$isDead)
                        break c;
                    if ($var2.$isDead) {
                        $var3_0 = $var2.$chunkCoordX;
                        $var4 = $var2.$chunkCoordZ;
                        if ($var2.$addedToChunk) {
                            $ptr = 9;
                            continue main;
                        }
                        $var5 = $this.$loadedEntityList;
                        $var1 = $var3 + (-1) | 0;
                        ju_ArrayList_remove($var5, $var3);
                        $ptr = 8;
                        continue main;
                    }
                }
                $var3 = $var3 + 1 | 0;
            }
            $ptr = 7;
            continue main;
        case 4:
            $tmp = nms_World_getChunkFromChunkCoords($this, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 5;
        case 5:
            $var5.$func_1015_b($var2);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var1 = $var1 + 1 | 0;
                $var5 = $this.$unloadedEntityList;
                if ($var1 >= $var5.$size0) {
                    $var1 = 0;
                    $var5 = $this.$unloadedEntityList;
                    if ($var1 < $var5.$size0) {
                        $var5 = ju_ArrayList_get($var5, $var1);
                        $ptr = 3;
                        continue main;
                    }
                    ju_ArrayList_clear($var5);
                    $var3 = 0;
                    d: while (true) {
                        $var5 = $this.$loadedEntityList;
                        if ($var3 >= $var5.$size0) {
                            $var1 = 0;
                            $var5 = $this.$loadedTileEntityList;
                            if ($var1 >= $var5.$size0)
                                return;
                            $var5 = ju_ArrayList_get($var5, $var1);
                            $ptr = 6;
                            continue main;
                        }
                        e: {
                            $var2 = ju_ArrayList_get($var5, $var3);
                            $var5 = $var2.$ridingEntity;
                            if ($var5 !== null) {
                                if (!$var5.$isDead && $var5.$riddenByEntity === $var2)
                                    break e;
                                $var5.$riddenByEntity = null;
                                $var2.$ridingEntity = null;
                            }
                            if (!$var2.$isDead)
                                break d;
                            if ($var2.$isDead) {
                                $var3_0 = $var2.$chunkCoordX;
                                $var4 = $var2.$chunkCoordZ;
                                if ($var2.$addedToChunk) {
                                    $ptr = 9;
                                    continue main;
                                }
                                $var5 = $this.$loadedEntityList;
                                $var1 = $var3 + (-1) | 0;
                                ju_ArrayList_remove($var5, $var3);
                                $ptr = 8;
                                continue main;
                            }
                        }
                        $var3 = $var3 + 1 | 0;
                    }
                    $ptr = 7;
                    continue main;
                }
                $var2 = ju_ArrayList_get($var5, $var1);
                $var3 = $var2.$chunkCoordX;
                $var4 = $var2.$chunkCoordZ;
                if (!$var2.$addedToChunk)
                    continue;
                else
                    break;
            }
            $ptr = 2;
            continue main;
        case 6:
            $var5.$updateEntity();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var1 + 1 | 0;
            $var5 = $this.$loadedTileEntityList;
            if ($var1 >= $var5.$size0)
                return;
            $var5 = ju_ArrayList_get($var5, $var1);
            continue main;
        case 7:
            nms_World_updateEntity($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                if ($var2.$isDead) {
                    $var3_0 = $var2.$chunkCoordX;
                    $var4 = $var2.$chunkCoordZ;
                    if ($var2.$addedToChunk) {
                        $ptr = 9;
                        continue main;
                    }
                    $var5 = $this.$loadedEntityList;
                    $var1 = $var3 + (-1) | 0;
                    ju_ArrayList_remove($var5, $var3);
                    $ptr = 8;
                    continue main;
                }
                c: {
                    while (true) {
                        $var3 = $var3 + 1 | 0;
                        $var5 = $this.$loadedEntityList;
                        if ($var3 >= $var5.$size0) {
                            $var1 = 0;
                            $var5 = $this.$loadedTileEntityList;
                            if ($var1 >= $var5.$size0)
                                return;
                            $var5 = ju_ArrayList_get($var5, $var1);
                            $ptr = 6;
                            continue main;
                        }
                        $var2 = ju_ArrayList_get($var5, $var3);
                        $var5 = $var2.$ridingEntity;
                        if ($var5 === null)
                            break c;
                        if ($var5.$isDead)
                            break;
                        if ($var5.$riddenByEntity !== $var2)
                            break;
                    }
                    $var5.$riddenByEntity = null;
                    $var2.$ridingEntity = null;
                }
                if ($var2.$isDead)
                    continue;
                else
                    break;
            }
            continue main;
        case 8:
            $this.$releaseEntitySkin($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var1;
            while (true) {
                $var3 = $var3 + 1 | 0;
                $var5 = $this.$loadedEntityList;
                if ($var3 >= $var5.$size0) {
                    $var1 = 0;
                    $var5 = $this.$loadedTileEntityList;
                    if ($var1 >= $var5.$size0)
                        return;
                    $var5 = ju_ArrayList_get($var5, $var1);
                    $ptr = 6;
                    continue main;
                }
                $var2 = ju_ArrayList_get($var5, $var3);
                $var5 = $var2.$ridingEntity;
                if ($var5 !== null) {
                    if (!$var5.$isDead && $var5.$riddenByEntity === $var2)
                        continue;
                    $var5.$riddenByEntity = null;
                    $var2.$ridingEntity = null;
                }
                if (!$var2.$isDead)
                    break;
                if ($var2.$isDead) {
                    $var3_0 = $var2.$chunkCoordX;
                    $var4 = $var2.$chunkCoordZ;
                    if ($var2.$addedToChunk) {
                        $ptr = 9;
                        continue main;
                    }
                    $var5 = $this.$loadedEntityList;
                    $var1 = $var3 + (-1) | 0;
                    ju_ArrayList_remove($var5, $var3);
                    continue main;
                }
            }
            $ptr = 7;
            continue main;
        case 9:
            $tmp = nms_World_chunkExists($this, $var3_0, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1) {
                $ptr = 10;
                continue main;
            }
            $var5 = $this.$loadedEntityList;
            $var1 = $var3 + (-1) | 0;
            ju_ArrayList_remove($var5, $var3);
            $ptr = 8;
            continue main;
        case 10:
            $tmp = nms_World_getChunkFromChunkCoords($this, $var3_0, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 11;
        case 11:
            $var5.$func_1015_b($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$loadedEntityList;
            $var1 = $var3 + (-1) | 0;
            ju_ArrayList_remove($var5, $var3);
            $ptr = 8;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var5, $var2, $var1, $var3, $var3_0, $var4, $ptr);
    }
    function nms_World_updateEntity($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 1;
            $ptr = 1;
        case 1:
            nms_World_updateEntityWithOptionalForce($this, $var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_World_updateEntityWithOptionalForce($this, $var1, $var2) {
        var $var3, $var4, $var6, $var7, $var8, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = nms_MathHelper_floor_double($var1.$posX);
            $var4 = nms_MathHelper_floor_double($var1.$posZ);
            if ($var2) {
                $var6 = $var3 - 32 | 0;
                $var7 = 0;
                $var8 = $var4 - 32 | 0;
                $var3 = $var3 + 32 | 0;
                var$8 = 128;
                $var4 = $var4 + 32 | 0;
                $ptr = 1;
                continue main;
            }
            $var1.$lastTickPosX = $var1.$posX;
            $var1.$lastTickPosY = $var1.$posY;
            $var1.$lastTickPosZ = $var1.$posZ;
            $var1.$prevRotationYaw = $var1.$rotationYaw;
            $var1.$prevRotationPitch = $var1.$rotationPitch;
            if ($var2 && $var1.$addedToChunk) {
                if ($var1.$ridingEntity === null) {
                    $ptr = 2;
                    continue main;
                }
                $ptr = 3;
                continue main;
            }
            if (!(!($rt_globals.isNaN($var1.$posX) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$posX) ? 1 : 0)))
                $var1.$posX = $var1.$lastTickPosX;
            if (!(!($rt_globals.isNaN($var1.$posY) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$posY) ? 1 : 0)))
                $var1.$posY = $var1.$lastTickPosY;
            if (!(!($rt_globals.isNaN($var1.$posZ) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$posZ) ? 1 : 0)))
                $var1.$posZ = $var1.$lastTickPosZ;
            if (!(!($rt_globals.isNaN($var1.$rotationPitch) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$rotationPitch) ? 1 : 0)))
                $var1.$rotationPitch = $var1.$prevRotationPitch;
            if (!(!($rt_globals.isNaN($var1.$rotationYaw) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$rotationYaw) ? 1 : 0)))
                $var1.$rotationYaw = $var1.$prevRotationYaw;
            $var6 = nms_MathHelper_floor_double($var1.$posX / 16.0);
            $var7 = nms_MathHelper_floor_double($var1.$posY / 16.0);
            $var8 = nms_MathHelper_floor_double($var1.$posZ / 16.0);
            $var3 = $var1.$addedToChunk;
            if ($var3 && $var1.$chunkCoordX == $var6 && $var1.$chunkCoordY == $var7 && $var1.$chunkCoordZ == $var8) {
                if ($var2 && $var1.$addedToChunk) {
                    var$9 = $var1.$riddenByEntity;
                    if (var$9 !== null) {
                        if (!var$9.$isDead && var$9.$ridingEntity === $var1) {
                            $ptr = 10;
                            continue main;
                        }
                        var$9.$ridingEntity = null;
                        $var1.$riddenByEntity = null;
                    }
                }
                return;
            }
            if (!$var3) {
                $ptr = 4;
                continue main;
            }
            $var7 = $var1.$chunkCoordX;
            $var3 = $var1.$chunkCoordZ;
            $ptr = 5;
            continue main;
        case 1:
            $tmp = nms_World_checkChunksExist($this, $var6, $var7, $var8, $var3, var$8, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6) {
                $var1.$lastTickPosX = $var1.$posX;
                $var1.$lastTickPosY = $var1.$posY;
                $var1.$lastTickPosZ = $var1.$posZ;
                $var1.$prevRotationYaw = $var1.$rotationYaw;
                $var1.$prevRotationPitch = $var1.$rotationPitch;
                if ($var2 && $var1.$addedToChunk) {
                    if ($var1.$ridingEntity === null) {
                        $ptr = 2;
                        continue main;
                    }
                    $ptr = 3;
                    continue main;
                }
                if (!(!($rt_globals.isNaN($var1.$posX) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$posX) ? 1 : 0)))
                    $var1.$posX = $var1.$lastTickPosX;
                if (!(!($rt_globals.isNaN($var1.$posY) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$posY) ? 1 : 0)))
                    $var1.$posY = $var1.$lastTickPosY;
                if (!(!($rt_globals.isNaN($var1.$posZ) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$posZ) ? 1 : 0)))
                    $var1.$posZ = $var1.$lastTickPosZ;
                if (!(!($rt_globals.isNaN($var1.$rotationPitch) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$rotationPitch) ? 1 : 0)))
                    $var1.$rotationPitch = $var1.$prevRotationPitch;
                if (!(!($rt_globals.isNaN($var1.$rotationYaw) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$rotationYaw) ? 1 : 0)))
                    $var1.$rotationYaw = $var1.$prevRotationYaw;
                $var6 = nms_MathHelper_floor_double($var1.$posX / 16.0);
                $var7 = nms_MathHelper_floor_double($var1.$posY / 16.0);
                $var8 = nms_MathHelper_floor_double($var1.$posZ / 16.0);
                $var3 = $var1.$addedToChunk;
                if (!($var3 && $var1.$chunkCoordX == $var6 && $var1.$chunkCoordY == $var7 && $var1.$chunkCoordZ == $var8)) {
                    if (!$var3) {
                        $ptr = 4;
                        continue main;
                    }
                    $var7 = $var1.$chunkCoordX;
                    $var3 = $var1.$chunkCoordZ;
                    $ptr = 5;
                    continue main;
                } else if ($var2 && $var1.$addedToChunk) {
                    var$9 = $var1.$riddenByEntity;
                    if (var$9 !== null) {
                        if (!var$9.$isDead && var$9.$ridingEntity === $var1) {
                            $ptr = 10;
                            continue main;
                        }
                        var$9.$ridingEntity = null;
                        $var1.$riddenByEntity = null;
                    }
                }
            }
            return;
        case 2:
            $var1.$onUpdate();
            if ($rt_suspending()) {
                break main;
            }
            if (!(!($rt_globals.isNaN($var1.$posX) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$posX) ? 1 : 0)))
                $var1.$posX = $var1.$lastTickPosX;
            if (!(!($rt_globals.isNaN($var1.$posY) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$posY) ? 1 : 0)))
                $var1.$posY = $var1.$lastTickPosY;
            if (!(!($rt_globals.isNaN($var1.$posZ) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$posZ) ? 1 : 0)))
                $var1.$posZ = $var1.$lastTickPosZ;
            if (!(!($rt_globals.isNaN($var1.$rotationPitch) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$rotationPitch) ? 1 : 0)))
                $var1.$rotationPitch = $var1.$prevRotationPitch;
            if (!(!($rt_globals.isNaN($var1.$rotationYaw) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$rotationYaw) ? 1 : 0)))
                $var1.$rotationYaw = $var1.$prevRotationYaw;
            $var6 = nms_MathHelper_floor_double($var1.$posX / 16.0);
            $var7 = nms_MathHelper_floor_double($var1.$posY / 16.0);
            $var8 = nms_MathHelper_floor_double($var1.$posZ / 16.0);
            $var3 = $var1.$addedToChunk;
            if ($var3 && $var1.$chunkCoordX == $var6 && $var1.$chunkCoordY == $var7 && $var1.$chunkCoordZ == $var8) {
                if ($var2 && $var1.$addedToChunk) {
                    var$9 = $var1.$riddenByEntity;
                    if (var$9 !== null) {
                        if (!var$9.$isDead && var$9.$ridingEntity === $var1) {
                            $ptr = 10;
                            continue main;
                        }
                        var$9.$ridingEntity = null;
                        $var1.$riddenByEntity = null;
                    }
                }
                return;
            }
            if (!$var3) {
                $ptr = 4;
                continue main;
            }
            $var7 = $var1.$chunkCoordX;
            $var3 = $var1.$chunkCoordZ;
            $ptr = 5;
            continue main;
        case 3:
            $var1.$updateRidden();
            if ($rt_suspending()) {
                break main;
            }
            if (!(!($rt_globals.isNaN($var1.$posX) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$posX) ? 1 : 0)))
                $var1.$posX = $var1.$lastTickPosX;
            if (!(!($rt_globals.isNaN($var1.$posY) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$posY) ? 1 : 0)))
                $var1.$posY = $var1.$lastTickPosY;
            if (!(!($rt_globals.isNaN($var1.$posZ) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$posZ) ? 1 : 0)))
                $var1.$posZ = $var1.$lastTickPosZ;
            if (!(!($rt_globals.isNaN($var1.$rotationPitch) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$rotationPitch) ? 1 : 0)))
                $var1.$rotationPitch = $var1.$prevRotationPitch;
            if (!(!($rt_globals.isNaN($var1.$rotationYaw) ? 1 : 0) && !(!$rt_globals.isFinite($var1.$rotationYaw) ? 1 : 0)))
                $var1.$rotationYaw = $var1.$prevRotationYaw;
            $var6 = nms_MathHelper_floor_double($var1.$posX / 16.0);
            $var7 = nms_MathHelper_floor_double($var1.$posY / 16.0);
            $var8 = nms_MathHelper_floor_double($var1.$posZ / 16.0);
            $var3 = $var1.$addedToChunk;
            if ($var3 && $var1.$chunkCoordX == $var6 && $var1.$chunkCoordY == $var7 && $var1.$chunkCoordZ == $var8) {
                if ($var2 && $var1.$addedToChunk) {
                    var$9 = $var1.$riddenByEntity;
                    if (var$9 !== null) {
                        if (!var$9.$isDead && var$9.$ridingEntity === $var1) {
                            $ptr = 10;
                            continue main;
                        }
                        var$9.$ridingEntity = null;
                        $var1.$riddenByEntity = null;
                    }
                }
                return;
            }
            if (!$var3) {
                $ptr = 4;
                continue main;
            }
            $var7 = $var1.$chunkCoordX;
            $var3 = $var1.$chunkCoordZ;
            $ptr = 5;
            continue main;
        case 4:
            $tmp = nms_World_chunkExists($this, $var6, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ($var7) {
                $var1.$addedToChunk = 1;
                $ptr = 6;
                continue main;
            }
            $var1.$addedToChunk = 0;
            if ($var2 && $var1.$addedToChunk) {
                var$9 = $var1.$riddenByEntity;
                if (var$9 !== null) {
                    if (!var$9.$isDead && var$9.$ridingEntity === $var1) {
                        $ptr = 10;
                        continue main;
                    }
                    var$9.$ridingEntity = null;
                    $var1.$riddenByEntity = null;
                }
            }
            return;
        case 5:
            $tmp = nms_World_chunkExists($this, $var7, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if (!$var7) {
                $ptr = 4;
                continue main;
            }
            $var7 = $var1.$chunkCoordX;
            $var3 = $var1.$chunkCoordZ;
            $ptr = 8;
            continue main;
        case 6:
            $tmp = nms_World_getChunkFromChunkCoords($this, $var6, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            $ptr = 7;
        case 7:
            var$9.$addEntity($var1);
            if ($rt_suspending()) {
                break main;
            }
            if ($var2 && $var1.$addedToChunk) {
                var$9 = $var1.$riddenByEntity;
                if (var$9 !== null) {
                    if (!var$9.$isDead && var$9.$ridingEntity === $var1) {
                        $ptr = 10;
                        continue main;
                    }
                    var$9.$ridingEntity = null;
                    $var1.$riddenByEntity = null;
                }
            }
            return;
        case 8:
            $tmp = nms_World_getChunkFromChunkCoords($this, $var7, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            $var7 = $var1.$chunkCoordY;
            $ptr = 9;
        case 9:
            var$9.$func_1016_a($var1, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
            continue main;
        case 10:
            nms_World_updateEntity($this, var$9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var6, $var7, $var8, var$8, var$9, $ptr);
    }
    function nms_World_checkIfAABBIsClear($this, $var1) {
        var $var2, $var3, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = null;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getEntitiesWithinAABBExcludingEntity($this, $var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var3 = 0;
            while ($var3 < $var2.$size0) {
                $var4 = ju_ArrayList_get($var2, $var3);
                if (!$var4.$isDead && $var4.$preventEntitySpawning)
                    return 0;
                $var3 = $var3 + 1 | 0;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_World_getIsAnyLiquid($this, $var1) {
        var $var8, $var3, $var4, $var5, $var6, $var7, $var9, $var10, var$10, var$11, $var11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var11 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var8 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var8 = nms_MathHelper_floor_double($var1.$minX0);
            $var3 = nms_MathHelper_floor_double($var1.$maxX0 + 1.0);
            $var4 = nms_MathHelper_floor_double($var1.$minY0);
            $var5 = nms_MathHelper_floor_double($var1.$maxY0 + 1.0);
            $var6 = nms_MathHelper_floor_double($var1.$minZ0);
            $var7 = nms_MathHelper_floor_double($var1.$maxZ0 + 1.0);
            if ($var1.$minX0 < 0.0)
                $var8 = $var8 + (-1) | 0;
            if ($var1.$minY0 < 0.0)
                $var4 = $var4 + (-1) | 0;
            if ($var1.$minZ0 < 0.0)
                $var6 = $var6 + (-1) | 0;
            while ($var8 < $var3) {
                $var9 = $var4;
                while ($var9 < $var5) {
                    $var10 = $var6;
                    if ($var10 < $var7) {
                        $ptr = 1;
                        continue main;
                    }
                    $var9 = $var9 + 1 | 0;
                }
                $var8 = $var8 + 1 | 0;
            }
            return 0;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$10 = nms_Block_blocksList.data;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($this, $var8, $var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            $var11 = var$10[var$11];
            if ($var11 !== null && $var11.$blockMaterial.$getIsLiquid())
                return 1;
            $var10 = $var10 + 1 | 0;
            a: while (true) {
                if ($var10 < $var7) {
                    $ptr = 1;
                    continue main;
                }
                $var9 = $var9 + 1 | 0;
                while ($var9 >= $var5) {
                    $var8 = $var8 + 1 | 0;
                    if ($var8 >= $var3)
                        break a;
                    $var9 = $var4;
                }
                $var10 = $var6;
            }
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var8, $var3, $var4, $var5, $var6, $var7, $var9, $var10, var$10, var$11, $var11, $ptr);
    }
    function nms_World_isBoundingBoxBurning($this, $var1) {
        var $var8, $var3, $var4, $var5, $var6, $var7, var$8, $var9, $var10, $var11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var8 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var8 = nms_MathHelper_floor_double($var1.$minX0);
            $var3 = nms_MathHelper_floor_double($var1.$maxX0 + 1.0);
            $var4 = nms_MathHelper_floor_double($var1.$minY0);
            $var5 = nms_MathHelper_floor_double($var1.$maxY0 + 1.0);
            $var6 = nms_MathHelper_floor_double($var1.$minZ0);
            $var7 = nms_MathHelper_floor_double($var1.$maxZ0 + 1.0);
            $ptr = 1;
        case 1:
            a: {
                $tmp = nms_World_checkChunksExist($this, $var8, $var4, $var6, $var3, $var5, $var7);
                if ($rt_suspending()) {
                    break main;
                }
                var$8 = $tmp;
                if (var$8)
                    while (true) {
                        if ($var8 >= $var3)
                            break a;
                        $var9 = $var4;
                        while ($var9 < $var5) {
                            $var10 = $var6;
                            if ($var10 < $var7) {
                                $ptr = 2;
                                continue main;
                            }
                            $var9 = $var9 + 1 | 0;
                        }
                        $var8 = $var8 + 1 | 0;
                    }
            }
            return 0;
        case 2:
            $tmp = nms_World_getBlockId($this, $var8, $var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var11 != nms_Block_fire.$blockID && $var11 != nms_Block_lavaMoving.$blockID && $var11 != nms_Block_lavaStill.$blockID) {
                $var10 = $var10 + 1 | 0;
                b: while (true) {
                    if ($var10 < $var7) {
                        $ptr = 2;
                        continue main;
                    }
                    $var9 = $var9 + 1 | 0;
                    while ($var9 >= $var5) {
                        $var8 = $var8 + 1 | 0;
                        if ($var8 >= $var3)
                            break b;
                        $var9 = $var4;
                    }
                    $var10 = $var6;
                }
                return 0;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var8, $var3, $var4, $var5, $var6, $var7, var$8, $var9, $var10, $var11, $ptr);
    }
    function nms_World_handleMaterialAcceleration($this, $var1, $var2, $var3) {
        var $var12, $var5, $var6, $var7, $var8, $var9, $var13, $var10, $var11, $var18, $var14, var$15, var$16, $var15, var$18, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$18 = $thread.pop();$var15 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();$var14 = $thread.pop();$var18 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var13 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var12 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var12 = nms_MathHelper_floor_double($var1.$minX0);
            $var5 = nms_MathHelper_floor_double($var1.$maxX0 + 1.0);
            $var6 = nms_MathHelper_floor_double($var1.$minY0);
            $var7 = nms_MathHelper_floor_double($var1.$maxY0 + 1.0);
            $var8 = nms_MathHelper_floor_double($var1.$minZ0);
            $var9 = nms_MathHelper_floor_double($var1.$maxZ0 + 1.0);
            $ptr = 1;
        case 1:
            $tmp = nms_World_checkChunksExist($this, $var12, $var6, $var8, $var5, $var7, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = $tmp;
            if (!$var13)
                return 0;
            $var10 = 0;
            $var11 = nms_Vec3D_createVector(0.0, 0.0, 0.0);
            $var18 = $var7;
            while ($var12 < $var5) {
                $var13 = $var6;
                while ($var13 < $var7) {
                    $var14 = $var8;
                    if ($var14 < $var9) {
                        $ptr = 2;
                        continue main;
                    }
                    $var13 = $var13 + 1 | 0;
                }
                $var12 = $var12 + 1 | 0;
            }
            if (nms_Vec3D_lengthVector($var11) > 0.0) {
                $var1 = nms_Vec3D_normalize($var11);
                $var3.$motionX = $var3.$motionX + $var1.$xCoord * 0.004;
                $var3.$motionY = $var3.$motionY + $var1.$yCoord * 0.004;
                $var3.$motionZ = $var3.$motionZ + $var1.$zCoord * 0.004;
            }
            return $var10;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$15 = nms_Block_blocksList.data;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId($this, $var12, $var13, $var14);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = $tmp;
            $var15 = var$15[var$16];
            if ($var15 !== null && $var15.$blockMaterial === $var2) {
                var$18 = $var13 + 1 | 0;
                $ptr = 4;
                continue main;
            }
            $var14 = $var14 + 1 | 0;
            a: while (true) {
                if ($var14 < $var9) {
                    $ptr = 2;
                    continue main;
                }
                $var13 = $var13 + 1 | 0;
                while ($var13 >= $var7) {
                    $var12 = $var12 + 1 | 0;
                    if ($var12 >= $var5)
                        break a;
                    $var13 = $var6;
                }
                $var14 = $var8;
            }
            if (nms_Vec3D_lengthVector($var11) > 0.0) {
                $var1 = nms_Vec3D_normalize($var11);
                $var3.$motionX = $var3.$motionX + $var1.$xCoord * 0.004;
                $var3.$motionY = $var3.$motionY + $var1.$yCoord * 0.004;
                $var3.$motionZ = $var3.$motionZ + $var1.$zCoord * 0.004;
            }
            return $var10;
        case 4:
            $tmp = nms_World_getBlockMetadata($this, $var12, $var13, $var14);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = $tmp;
            if ($var18 >= var$18 - nms_BlockFluids_getPercentAir(var$16)) {
                $var10 = 1;
                $ptr = 5;
                continue main;
            }
            $var14 = $var14 + 1 | 0;
            b: while (true) {
                if ($var14 < $var9) {
                    $ptr = 2;
                    continue main;
                }
                $var13 = $var13 + 1 | 0;
                while ($var13 >= $var7) {
                    $var12 = $var12 + 1 | 0;
                    if ($var12 >= $var5)
                        break b;
                    $var13 = $var6;
                }
                $var14 = $var8;
            }
            if (nms_Vec3D_lengthVector($var11) > 0.0) {
                $var1 = nms_Vec3D_normalize($var11);
                $var3.$motionX = $var3.$motionX + $var1.$xCoord * 0.004;
                $var3.$motionY = $var3.$motionY + $var1.$yCoord * 0.004;
                $var3.$motionZ = $var3.$motionZ + $var1.$zCoord * 0.004;
            }
            return $var10;
        case 5:
            $var15.$velocityToAddToEntity($this, $var12, $var13, $var14, $var3, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $var14 + 1 | 0;
            c: while (true) {
                if ($var14 < $var9) {
                    $ptr = 2;
                    continue main;
                }
                $var13 = $var13 + 1 | 0;
                while ($var13 >= $var7) {
                    $var12 = $var12 + 1 | 0;
                    if ($var12 >= $var5)
                        break c;
                    $var13 = $var6;
                }
                $var14 = $var8;
            }
            if (nms_Vec3D_lengthVector($var11) > 0.0) {
                $var1 = nms_Vec3D_normalize($var11);
                $var3.$motionX = $var3.$motionX + $var1.$xCoord * 0.004;
                $var3.$motionY = $var3.$motionY + $var1.$yCoord * 0.004;
                $var3.$motionZ = $var3.$motionZ + $var1.$zCoord * 0.004;
            }
            return $var10;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var12, $var5, $var6, $var7, $var8, $var9, $var13, $var10, $var11, $var18, $var14, var$15, var$16, $var15, var$18, $ptr);
    }
    function nms_World_isMaterialInBB($this, $var1, $var2) {
        var $var9, $var4, $var5, $var6, $var7, $var8, $var10, $var11, var$11, var$12, $var12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var12 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var9 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var9 = nms_MathHelper_floor_double($var1.$minX0);
            $var4 = nms_MathHelper_floor_double($var1.$maxX0 + 1.0);
            $var5 = nms_MathHelper_floor_double($var1.$minY0);
            $var6 = nms_MathHelper_floor_double($var1.$maxY0 + 1.0);
            $var7 = nms_MathHelper_floor_double($var1.$minZ0);
            $var8 = nms_MathHelper_floor_double($var1.$maxZ0 + 1.0);
            while ($var9 < $var4) {
                $var10 = $var5;
                while ($var10 < $var6) {
                    $var11 = $var7;
                    if ($var11 < $var8) {
                        $ptr = 1;
                        continue main;
                    }
                    $var10 = $var10 + 1 | 0;
                }
                $var9 = $var9 + 1 | 0;
            }
            return 0;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$11 = nms_Block_blocksList.data;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($this, $var9, $var10, $var11);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            $var12 = var$11[var$12];
            if ($var12 !== null && $var12.$blockMaterial === $var2)
                return 1;
            $var11 = $var11 + 1 | 0;
            a: while (true) {
                if ($var11 < $var8) {
                    $ptr = 1;
                    continue main;
                }
                $var10 = $var10 + 1 | 0;
                while ($var10 >= $var6) {
                    $var9 = $var9 + 1 | 0;
                    if ($var9 >= $var4)
                        break a;
                    $var10 = $var5;
                }
                $var11 = $var7;
            }
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var9, $var4, $var5, $var6, $var7, $var8, $var10, $var11, var$11, var$12, $var12, $ptr);
    }
    function nms_World_isAABBInMaterial($this, $var1, $var2) {
        var $var9, $var4, $var5, $var6, $var7, $var8, $var10, $var11, var$11, var$12, $var12, $var13, $var14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var9 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var9 = nms_MathHelper_floor_double($var1.$minX0);
            $var4 = nms_MathHelper_floor_double($var1.$maxX0 + 1.0);
            $var5 = nms_MathHelper_floor_double($var1.$minY0);
            $var6 = nms_MathHelper_floor_double($var1.$maxY0 + 1.0);
            $var7 = nms_MathHelper_floor_double($var1.$minZ0);
            $var8 = nms_MathHelper_floor_double($var1.$maxZ0 + 1.0);
            while ($var9 < $var4) {
                $var10 = $var5;
                while ($var10 < $var6) {
                    $var11 = $var7;
                    if ($var11 < $var8) {
                        $ptr = 1;
                        continue main;
                    }
                    $var10 = $var10 + 1 | 0;
                }
                $var9 = $var9 + 1 | 0;
            }
            return 0;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$11 = nms_Block_blocksList.data;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($this, $var9, $var10, $var11);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            $var12 = var$11[var$12];
            if ($var12 !== null && $var12.$blockMaterial === $var2) {
                $ptr = 3;
                continue main;
            }
            $var11 = $var11 + 1 | 0;
            a: while (true) {
                if ($var11 < $var8) {
                    $ptr = 1;
                    continue main;
                }
                $var10 = $var10 + 1 | 0;
                while ($var10 >= $var6) {
                    $var9 = $var9 + 1 | 0;
                    if ($var9 >= $var4)
                        break a;
                    $var10 = $var5;
                }
                $var11 = $var7;
            }
            return 0;
        case 3:
            $tmp = nms_World_getBlockMetadata($this, $var9, $var10, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = $tmp;
            $var14 = $var10 + 1 | 0;
            if ($var13 < 8)
                $var14 = $var14 - $var13 / 8.0;
            if ($var14 >= $var1.$minY0)
                return 1;
            $var11 = $var11 + 1 | 0;
            b: while (true) {
                if ($var11 < $var8) {
                    $ptr = 1;
                    continue main;
                }
                $var10 = $var10 + 1 | 0;
                while ($var10 >= $var6) {
                    $var9 = $var9 + 1 | 0;
                    if ($var9 >= $var4)
                        break b;
                    $var10 = $var5;
                }
                $var11 = $var7;
            }
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var9, $var4, $var5, $var6, $var7, $var8, $var10, $var11, var$11, var$12, $var12, $var13, $var14, $ptr);
    }
    function nms_World_createExplosion($this, $var1, $var2, $var4, $var6, $var8) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_newExplosion($this, $var1, $var2, $var4, $var6, $var8, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, var$6, $ptr);
    }
    function nms_World_newExplosion($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $var10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var10 = nms_Explosion__init_0($this, $var1, $var2, $var4, $var6, $var8);
            $var10.$field_12257_a = $var9;
            $ptr = 1;
        case 1:
            nms_Explosion_doExplosionA($var10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_Explosion_doExplosionB($var10);
            if ($rt_suspending()) {
                break main;
            }
            return $var10;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var10, $ptr);
    }
    function nms_World_func_675_a($this, $var1, $var2) {
        var $var3, $var5, $var7, $var9, $var10, $var11, $var12, $var16, $var14, $var18, var$13, var$14, var$15, $var13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var13 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var18 = $thread.pop();$var14 = $thread.pop();$var16 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = 1.0 / (($var2.$maxX0 - $var2.$minX0) * 2.0 + 1.0);
            $var5 = 1.0 / (($var2.$maxY0 - $var2.$minY0) * 2.0 + 1.0);
            $var7 = 1.0 / (($var2.$maxZ0 - $var2.$minZ0) * 2.0 + 1.0);
            $var9 = 0;
            $var10 = 0;
            $var11 = 0.0;
            while ($var11 <= 1.0) {
                $var12 = 0.0;
                while ($var12 <= 1.0) {
                    if (0.0 <= 1.0) {
                        $var16 = $var2.$minX0;
                        $var14 = $var16 + ($var2.$maxX0 - $var16) * $var11;
                        $var16 = $var2.$minY0;
                        $var16 = $var16 + ($var2.$maxY0 - $var16) * $var12;
                        $var18 = $var2.$minZ0;
                        var$13 = $var2.$maxZ0 - $var18;
                        var$14 = 0.0;
                        var$15 = nms_Vec3D_createVector($var14, $var16, $var18 + var$13 * var$14);
                        $ptr = 1;
                        continue main;
                    }
                    $var12 = $var12 + $var5;
                }
                $var11 = $var11 + $var3;
            }
            return $var9 / $var10;
        case 1:
            $tmp = nms_World_rayTraceBlocks($this, var$15, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            if (var$15 === null)
                $var9 = $var9 + 1 | 0;
            $var10 = $var10 + 1 | 0;
            $var13 = var$14 + $var7;
            a: while (true) {
                if ($var13 <= 1.0) {
                    $var16 = $var2.$minX0;
                    $var14 = $var16 + ($var2.$maxX0 - $var16) * $var11;
                    $var16 = $var2.$minY0;
                    $var16 = $var16 + ($var2.$maxY0 - $var16) * $var12;
                    $var18 = $var2.$minZ0;
                    var$13 = $var2.$maxZ0 - $var18;
                    var$14 = $var13;
                    var$15 = nms_Vec3D_createVector($var14, $var16, $var18 + var$13 * var$14);
                    continue main;
                }
                $var12 = $var12 + $var5;
                while ($var12 > 1.0) {
                    $var11 = $var11 + $var3;
                    if ($var11 > 1.0)
                        break a;
                    $var12 = 0.0;
                }
                $var13 = 0.0;
            }
            return $var9 / $var10;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var5, $var7, $var9, $var10, $var11, $var12, $var16, $var14, $var18, var$13, var$14, var$15, $var13, $ptr);
    }
    function nms_World_onBlockHit($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$var4)
                $var2 = $var2 + (-1) | 0;
            if ($var4 == 1)
                $var2 = $var2 + 1 | 0;
            if ($var4 == 2)
                $var3 = $var3 + (-1) | 0;
            if ($var4 == 3)
                $var3 = $var3 + 1 | 0;
            if ($var4 == 4)
                $var1 = $var1 + (-1) | 0;
            if ($var4 == 5)
                $var1 = $var1 + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var4 != nms_Block_fire.$blockID)
                return;
            var$5 = $var1 + 0.5;
            var$6 = $var2 + 0.5;
            var$7 = $var3 + 0.5;
            var$8 = $rt_s(916);
            var$9 = 0.5;
            var$10 = 2.5999999046325684 + (ju_Random_nextFloat($this.$rand2) - ju_Random_nextFloat($this.$rand2)) * 0.800000011920929;
            $ptr = 3;
        case 3:
            nms_World_playSoundEffect($this, var$5, var$6, var$7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 0;
            $ptr = 4;
        case 4:
            nms_World_setBlockWithNotify($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_World_func_4085_a($this, $var1) {
        return null;
    }
    function nms_World_func_687_d($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$loadedEntityList.$size0;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(1475);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_AbstractStringBuilder_append0(var$3, var$1);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_World_func_21119_g($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$chunkProvider;
            $ptr = 1;
        case 1:
            $tmp = var$1.$toString();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_World_getBlockTileEntity($this, $var1, $var2, $var3) {
        var var$4, var$5, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $var1 >> 4;
            var$5 = $var3 >> 4;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getChunkFromChunkCoords($this, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4 === null)
                return null;
            $var1 = $var1 & 15;
            $var3 = $var3 & 15;
            $ptr = 2;
        case 2:
            $tmp = $var4.$getChunkBlockTileEntity($var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            return $var4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $var4, $ptr);
    }
    function nms_World_setBlockTileEntity($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var1 >> 4;
            var$6 = $var3 >> 4;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getChunkFromChunkCoords($this, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 === null)
                return;
            var$5 = $var1 & 15;
            $var1 = $var3 & 15;
            $ptr = 2;
        case 2:
            $var5.$setChunkBlockTileEntity(var$5, $var2, $var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $var5, $ptr);
    }
    function nms_World_removeBlockTileEntity($this, $var1, $var2, $var3) {
        var var$4, var$5, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $var1 >> 4;
            var$5 = $var3 >> 4;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getChunkFromChunkCoords($this, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4 === null)
                return;
            $var1 = $var1 & 15;
            $var3 = $var3 & 15;
            $ptr = 2;
        case 2:
            $var4.$removeChunkBlockTileEntity($var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $var4, $ptr);
    }
    function nms_World_isBlockOpaqueCube($this, $var1, $var2, $var3) {
        var var$4, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_Block_blocksList.data;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var4 = var$4[$var1];
            if ($var4 === null)
                return 0;
            $ptr = 3;
        case 3:
            $tmp = $var4.$isOpaqueCube();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $var4, $ptr);
    }
    function nms_World_func_651_a($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 1;
            $ptr = 1;
        case 1:
            nms_World_saveWorld($this, var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_World_updateLighting($this) {
        var $var2, $var1, var$3, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var1 = $thread.pop();$var2 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $this.$field_4204_J;
            if ($var2 >= 50)
                return 0;
            $this.$field_4204_J = $var2 + 1 | 0;
            a: {
                try {
                    $var1 = 500;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$3 = $$je;
                    break a;

                }
                b: {
                    try {
                        if (ju_ArrayList_size($this.$field_1051_z) > 0)
                            break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        var$3 = $$je;
                        break a;

                    }
                    $this.$field_4204_J = $this.$field_4204_J - 1 | 0;
                    return 0;
                }
                c: {
                    try {
                        $var1 = $var1 + (-1) | 0;
                        if ($var1 > 0)
                            break c;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        var$3 = $$je;
                        break a;

                    }
                    $this.$field_4204_J = $this.$field_4204_J - 1 | 0;
                    return 1;
                }
                try {
                    var$3 = $this.$field_1051_z;
                    var$3 = ju_ArrayList_remove(var$3, ju_ArrayList_size(var$3) - 1 | 0);
                    $ptr = 1;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$3 = $$je;

                }
            }
            $this.$field_4204_J = $this.$field_4204_J - 1 | 0;
            $rt_throw(var$3);
        case 1:
            d: {
                try {
                    nms_MetadataChunkBlock_func_4127_a(var$3, $this);
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$3 = $$je;
                    break d;

                }
                a: {
                    try {
                        if (ju_ArrayList_size($this.$field_1051_z) > 0)
                            break a;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        var$3 = $$je;
                        break d;

                    }
                    $this.$field_4204_J = $this.$field_4204_J - 1 | 0;
                    return 0;
                }
                b: {
                    try {
                        $var1 = $var1 + (-1) | 0;
                        if ($var1 > 0)
                            break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        var$3 = $$je;
                        break d;

                    }
                    $this.$field_4204_J = $this.$field_4204_J - 1 | 0;
                    return 1;
                }
                try {
                    var$3 = $this.$field_1051_z;
                    var$3 = ju_ArrayList_remove(var$3, ju_ArrayList_size(var$3) - 1 | 0);
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$3 = $$je;

                }
            }
            $this.$field_4204_J = $this.$field_4204_J - 1 | 0;
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var2, $var1, var$3, $ptr);
    }
    function nms_World_func_616_a($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$8 = 1;
            $ptr = 1;
        case 1:
            nms_World_func_627_a($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, $ptr);
    }
    function nms_World_func_627_a($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8) {
        var $var9, $var10, $var12, $var14, $var11, $var13, var$15, var$16, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                if ($this.$worldProvider.$field_6478_e) {
                    nms_EnumSkyBlock_$callClinit();
                    if ($var1 === nms_EnumSkyBlock_Sky)
                        break a;
                }
                $var9 = nms_World_field_9429_y + 1 | 0;
                nms_World_field_9429_y = $var9;
                if ($var9 != 50) {
                    $var9 = ($var5 + $var2 | 0) / 2 | 0;
                    $var10 = ($var7 + $var4 | 0) / 2 | 0;
                    $var12 = 64;
                    $ptr = 1;
                    continue main;
                }
                nms_World_field_9429_y = $var9 - 1 | 0;
            }
            return;
        case 1:
            $tmp = nms_World_blockExists($this, $var9, $var12, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if (!$var12) {
                nms_World_field_9429_y = nms_World_field_9429_y - 1 | 0;
                return;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_World_getChunkFromBlockCoords($this, $var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if ($var14.$func_21167_h())
                return;
            a: {
                $var11 = $this.$field_1051_z.$size0;
                if ($var8) {
                    if (5 <= $var11)
                        $var11 = 5;
                    $var13 = 0;
                    while (true) {
                        if ($var13 >= $var11)
                            break a;
                        $var14 = $this.$field_1051_z;
                        $var14 = ju_ArrayList_get($var14, ($var14.$size0 - $var13 | 0) - 1 | 0);
                        if ($var14.$field_1299_a === $var1 && nms_MetadataChunkBlock_func_866_a($var14, $var2, $var3, $var4, $var5, $var6, $var7))
                            break;
                        $var13 = $var13 + 1 | 0;
                    }
                    nms_World_field_9429_y = nms_World_field_9429_y - 1 | 0;
                    return;
                }
            }
            $var14 = $this.$field_1051_z;
            var$15 = new nms_MetadataChunkBlock;
            var$15.$field_1299_a = $var1;
            var$15.$field_1298_b = $var2;
            var$15.$field_1304_c = $var3;
            var$15.$field_1303_d = $var4;
            var$15.$field_1302_e = $var5;
            var$15.$field_1301_f = $var6;
            var$15.$field_1300_g = $var7;
            $ptr = 3;
        case 3:
            ju_ArrayList_add($var14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = 1000000;
            if ($this.$field_1051_z.$size0 <= 1000000) {
                nms_World_field_9429_y = nms_World_field_9429_y - 1 | 0;
                return;
            }
            $var1 = jl_System_out();
            $var14 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var14);
            var$15 = $rt_s(1476);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append($var14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            jl_AbstractStringBuilder_append0(var$15, $var12);
            var$16 = $rt_s(1477);
            $ptr = 5;
        case 5:
            jl_StringBuilder_append(var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            $ptr = 7;
        case 7:
            ji_PrintStream_println0($var1, $var14);
            if ($rt_suspending()) {
                break main;
            }
            ju_ArrayList_clear($this.$field_1051_z);
            nms_World_field_9429_y = nms_World_field_9429_y - 1 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var12, $var14, $var11, $var13, var$15, var$16, $ptr);
    }
    function nms_World_calculateInitialSkylight($this) {
        var $var1;
        $var1 = nms_World_calculateSkylightSubtracted($this, 1.0);
        if ($var1 != $this.$skylightSubtracted)
            $this.$skylightSubtracted = $var1;
    }
    function nms_World_setAllowedMobSpawns($this, $var1, $var2) {
        $this.$spawnHostileMobs = $var1;
        $this.$spawnPeacefulMobs = $var2;
    }
    function nms_World_tick($this) {
        var var$1, $var2, $var4, $var5, $var2_0, $var1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$var2_0 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (nms_World_isAllPlayersFullyAsleep($this)) {
                if ($this.$spawnHostileMobs && $this.$difficultySetting >= 1) {
                    var$1 = $this.$playerEntities;
                    $ptr = 5;
                    continue main;
                }
                if (!0) {
                    var$1 = $this.$worldInfo;
                    $var2 = Long_add(var$1.$worldTime, Long_fromInt(24000));
                    var$1.$worldTime = Long_sub($var2, Long_rem($var2, Long_fromInt(24000)));
                    $ptr = 7;
                    continue main;
                }
            }
            $var4 = $this.$spawnHostileMobs;
            $var5 = $this.$spawnPeacefulMobs;
            $ptr = 1;
        case 1:
            nms_SpawnerAnimals_performSpawning($this, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $this.$chunkProvider.$func_532_a();
            $var4 = nms_World_calculateSkylightSubtracted($this, 1.0);
            if ($var4 != $this.$skylightSubtracted) {
                $this.$skylightSubtracted = $var4;
                $var5 = 0;
                var$1 = $this.$worldAccesses;
                if ($var5 < var$1.$size0) {
                    var$1 = ju_ArrayList_get(var$1, $var5);
                    $ptr = 6;
                    continue main;
                }
            }
            $var2_0 = Long_add($this.$worldInfo.$worldTime, Long_fromInt(1));
            if (Long_eq(Long_rem($var2_0, Long_fromInt($this.$autosavePeriod)), Long_ZERO)) {
                $var4 = 0;
                var$1 = null;
                $ptr = 4;
                continue main;
            }
            $this.$worldInfo.$worldTime = $var2_0;
            $var4 = 0;
            $ptr = 2;
        case 2:
            $this.$TickUpdates($var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $this.$updateBlocksAndPlayCaveSounds();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nms_World_saveWorld($this, $var4, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$worldInfo.$worldTime = $var2_0;
            $var4 = 0;
            $ptr = 2;
            continue main;
        case 5:
            $tmp = nms_SpawnerAnimals_performSleepSpawning($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1) {
                $var4 = $this.$spawnHostileMobs;
                $var5 = $this.$spawnPeacefulMobs;
                $ptr = 1;
                continue main;
            }
            var$1 = $this.$worldInfo;
            $var2 = Long_add(var$1.$worldTime, Long_fromInt(24000));
            var$1.$worldTime = Long_sub($var2, Long_rem($var2, Long_fromInt(24000)));
            $ptr = 7;
            continue main;
        case 6:
            nms_RenderGlobal_updateAllRenderers(var$1);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $var5 + 1 | 0;
            var$1 = $this.$worldAccesses;
            if ($var5 < var$1.$size0) {
                var$1 = ju_ArrayList_get(var$1, $var5);
                continue main;
            }
            $var2_0 = Long_add($this.$worldInfo.$worldTime, Long_fromInt(1));
            if (Long_eq(Long_rem($var2_0, Long_fromInt($this.$autosavePeriod)), Long_ZERO)) {
                $var4 = 0;
                var$1 = null;
                $ptr = 4;
                continue main;
            }
            $this.$worldInfo.$worldTime = $var2_0;
            $var4 = 0;
            $ptr = 2;
            continue main;
        case 7:
            nms_World_wakeUpAllPlayers($this);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $this.$spawnHostileMobs;
            $var5 = $this.$spawnPeacefulMobs;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $var2, $var4, $var5, $var2_0, $var1, $ptr);
    }
    function nms_World_updateBlocksAndPlayCaveSounds($this) {
        var $var1, $var12, $var2, $var3, $var4, $var5, $var6, $var6_0, $var7, $var11, $var13, $var14, $var8, $var9, $var10, $var15, var$17, var$18, var$19, var$20, var$21, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();$var15 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var7 = $thread.pop();$var6_0 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var12 = $thread.pop();$var1 = $thread.pop();$this
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            ju_HashSet_clear($this.$field_9427_K);
            $var1 = 0;
            a: while (true) {
                $var12 = $this.$playerEntities;
                if ($var1 >= $var12.$size0) {
                    $var1 = $this.$field_9426_L;
                    if ($var1 > 0)
                        $this.$field_9426_L = $var1 - 1 | 0;
                    $var12 = $this.$field_9427_K;
                    $ptr = 1;
                    continue main;
                }
                $var2 = ju_ArrayList_get($var12, $var1);
                $var3 = nms_MathHelper_floor_double($var2.$posX / 16.0);
                $var4 = nms_MathHelper_floor_double($var2.$posZ / 16.0);
                $var5 = 9;
                $var6 = (-9);
                $var6_0 = $var6;
                while ($var6_0 <= $var5) {
                    $var7 = $var6;
                    if ($var7 <= $var5)
                        break a;
                    $var6_0 = $var6_0 + 1 | 0;
                }
                $var1 = $var1 + 1 | 0;
            }
            $var12 = $this.$field_9427_K;
            $var11 = nms_ChunkCoordIntPair__init_0($var6_0 + $var3 | 0, $var7 + $var4 | 0);
            $ptr = 4;
            continue main;
        case 1:
            $tmp = ju_HashSet_iterator($var12);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if (!$var12.$hasNext())
                return;
            $ptr = 2;
        case 2:
            $tmp = $var12.$next();
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var13 = $var11;
            $var1 = $var13.$chunkXPos;
            $var3 = $var1 * 16 | 0;
            $var6 = $var13.$chunkZPos;
            $var4 = $var6 * 16 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getChunkFromChunkCoords($this, $var1, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if (!$this.$field_9426_L) {
                $var1 = ($this.$field_9437_g * 3 | 0) + $this.$field_9436_h | 0;
                $this.$field_9437_g = $var1;
                $var6 = $var1 >> 2;
                $var7 = $var6 & 15;
                $var8 = $var6 >> 8 & 15;
                $var9 = $var6 >> 16 & 127;
                $var10 = $var14.$getBlockID($var7, $var9, $var8);
                $var6 = $var7 + $var3 | 0;
                $var7 = $var8 + $var4 | 0;
                if (!$var10) {
                    $ptr = 5;
                    continue main;
                }
            }
            $var6 = 0;
            if ($var6 >= 80) {
                if (!$var12.$hasNext())
                    return;
                $ptr = 2;
                continue main;
            }
            $var1 = ($this.$field_9437_g * 3 | 0) + $this.$field_9436_h | 0;
            $this.$field_9437_g = $var1;
            $var7 = $var1 >> 2;
            $var8 = $var7 & 15;
            $var9 = $var7 >> 8 & 15;
            $var10 = $var7 >> 16 & 127;
            $var15 = $var14.$blocks0.data[$var8 << 11 | $var9 << 7 | $var10] & 255;
            $ptr = 6;
            continue main;
        case 4:
            ju_HashSet_add($var12, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var7 + 1 | 0;
            while ($var7 > $var5) {
                $var6_0 = $var6_0 + 1 | 0;
                while ($var6_0 > $var5) {
                    $var1 = $var1 + 1 | 0;
                    $var12 = $this.$playerEntities;
                    if ($var1 >= $var12.$size0) {
                        $var1 = $this.$field_9426_L;
                        if ($var1 > 0)
                            $this.$field_9426_L = $var1 - 1 | 0;
                        $var12 = $this.$field_9427_K;
                        $ptr = 1;
                        continue main;
                    }
                    $var2 = ju_ArrayList_get($var12, $var1);
                    $var3 = nms_MathHelper_floor_double($var2.$posX / 16.0);
                    $var4 = nms_MathHelper_floor_double($var2.$posZ / 16.0);
                    $var5 = 9;
                    $var6 = (-9);
                    $var6_0 = $var6;
                }
                $var7 = $var6;
            }
            $var12 = $this.$field_9427_K;
            $var11 = nms_ChunkCoordIntPair__init_0($var6_0 + $var3 | 0, $var7 + $var4 | 0);
            continue main;
        case 5:
            $tmp = nms_World_getBlockLightValue($this, $var6, $var9, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8 <= ju_Random_nextInt($this.$rand2, 8)) {
                nms_EnumSkyBlock_$callClinit();
                $var11 = nms_EnumSkyBlock_Sky;
                $ptr = 7;
                continue main;
            }
            $var6 = 0;
            if ($var6 >= 80) {
                if (!$var12.$hasNext())
                    return;
                $ptr = 2;
                continue main;
            }
            $var1 = ($this.$field_9437_g * 3 | 0) + $this.$field_9436_h | 0;
            $this.$field_9437_g = $var1;
            $var7 = $var1 >> 2;
            $var8 = $var7 & 15;
            $var9 = $var7 >> 8 & 15;
            $var10 = $var7 >> 16 & 127;
            $var15 = $var14.$blocks0.data[$var8 << 11 | $var9 << 7 | $var10] & 255;
            $ptr = 6;
        case 6:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nms_Block_tickOnLoad.data[$var15]) {
                $var11 = nms_Block_blocksList.data[$var15];
                $var1 = $var8 + $var3 | 0;
                $var7 = $var9 + $var4 | 0;
                $var13 = $this.$rand2;
                $ptr = 8;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 80) {
                if (!$var12.$hasNext())
                    return;
                $ptr = 2;
                continue main;
            }
            $var1 = ($this.$field_9437_g * 3 | 0) + $this.$field_9436_h | 0;
            $this.$field_9437_g = $var1;
            $var7 = $var1 >> 2;
            $var8 = $var7 & 15;
            $var9 = $var7 >> 8 & 15;
            $var10 = $var7 >> 16 & 127;
            $var15 = $var14.$blocks0.data[$var8 << 11 | $var9 << 7 | $var10] & 255;
            continue main;
        case 7:
            $tmp = nms_World_getSavedLightValue($this, $var11, $var6, $var9, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 <= 0) {
                var$17 = $var6 + 0.5;
                var$18 = $var9 + 0.5;
                var$19 = $var7 + 0.5;
                $var11 = nms_World_getClosestPlayer($this, var$17, var$18, var$19, 8.0);
                if ($var11 !== null && nms_Entity_getDistanceSq($var11, var$17, var$18, var$19) > 4.0) {
                    $var11 = $rt_s(1478);
                    var$20 = 0.699999988079071;
                    var$21 = 0.800000011920929 + ju_Random_nextFloat($this.$rand2) * 0.20000000298023224;
                    $ptr = 9;
                    continue main;
                }
            }
            $var6 = 0;
            if ($var6 >= 80) {
                if (!$var12.$hasNext())
                    return;
                $ptr = 2;
                continue main;
            }
            $var1 = ($this.$field_9437_g * 3 | 0) + $this.$field_9436_h | 0;
            $this.$field_9437_g = $var1;
            $var7 = $var1 >> 2;
            $var8 = $var7 & 15;
            $var9 = $var7 >> 8 & 15;
            $var10 = $var7 >> 16 & 127;
            $var15 = $var14.$blocks0.data[$var8 << 11 | $var9 << 7 | $var10] & 255;
            $ptr = 6;
            continue main;
        case 8:
            $var11.$updateTick0($this, $var1, $var10, $var7, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 80) {
                if (!$var12.$hasNext())
                    return;
                $ptr = 2;
                continue main;
            }
            $var1 = ($this.$field_9437_g * 3 | 0) + $this.$field_9436_h | 0;
            $this.$field_9437_g = $var1;
            $var7 = $var1 >> 2;
            $var8 = $var7 & 15;
            $var9 = $var7 >> 8 & 15;
            $var10 = $var7 >> 16 & 127;
            $var15 = $var14.$blocks0.data[$var8 << 11 | $var9 << 7 | $var10] & 255;
            $ptr = 6;
            continue main;
        case 9:
            nms_World_playSoundEffect($this, var$17, var$18, var$19, $var11, var$20, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_9426_L = ju_Random_nextInt($this.$rand2, 12000) + 6000 | 0;
            $var6 = 0;
            if ($var6 >= 80) {
                if (!$var12.$hasNext())
                    return;
                $ptr = 2;
                continue main;
            }
            $var1 = ($this.$field_9437_g * 3 | 0) + $this.$field_9436_h | 0;
            $this.$field_9437_g = $var1;
            $var7 = $var1 >> 2;
            $var8 = $var7 & 15;
            $var9 = $var7 >> 8 & 15;
            $var10 = $var7 >> 16 & 127;
            $var15 = $var14.$blocks0.data[$var8 << 11 | $var9 << 7 | $var10] & 255;
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var12, $var2, $var3, $var4, $var5, $var6, $var6_0, $var7, $var11, $var13, $var14, $var8, $var9, $var10, $var15, var$17, var$18, var$19, var$20, var$21, $ptr);
    }
    function nms_World_TickUpdates($this, $var1) {
        var $var2, var$3, $var3, var$5, $var4, $var6, var$8, var$9, var$10, var$11, var$12, $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = ju_TreeSet_size($this.$scheduledTickTreeSet);
            if ($var2 != ju_HashSet_size($this.$scheduledTickSet)) {
                var$3 = new jl_IllegalStateException;
                jl_Throwable__init_(var$3, $rt_s(1479));
                $rt_throw(var$3);
            }
            if ($var2 > 1000)
                $var2 = 1000;
            $var3 = 0;
            a: {
                if ($var3 < $var2) {
                    var$3 = $this.$scheduledTickTreeSet.$map.$root;
                    var$5 = null;
                    while (var$3 !== null) {
                        $var4 = ju_TreeMap$TreeNode_forward(var$3, 0);
                        var$5 = var$3;
                        var$3 = $var4;
                    }
                    if (var$5 === null) {
                        var$3 = new ju_NoSuchElementException;
                        jl_Throwable__init_0(var$3);
                        $rt_throw(var$3);
                    }
                    $var4 = var$5.$key1;
                    if ($var1)
                        break a;
                    if (Long_le($var4.$scheduledTime, $this.$worldInfo.$worldTime))
                        break a;
                }
                return !ju_TreeSet_size($this.$scheduledTickTreeSet) ? 0 : 1;
            }
            var$3 = $this.$scheduledTickTreeSet.$map;
            $ptr = 1;
        case 1:
            $tmp = ju_TreeMap_remove(var$3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$3 = $this.$scheduledTickSet;
            $ptr = 2;
        case 2:
            ju_HashSet_remove(var$3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var4.$xCoord1;
            var$8 = $var6 - 8 | 0;
            var$9 = $var4.$yCoord1;
            var$10 = var$9 - 8 | 0;
            var$11 = $var4.$zCoord1;
            var$12 = var$11 - 8 | 0;
            $var6 = $var6 + 8 | 0;
            var$9 = var$9 + 8 | 0;
            $var5 = var$11 + 8 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_checkChunksExist($this, var$8, var$10, var$12, $var6, var$9, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6) {
                $var6 = $var4.$xCoord1;
                var$9 = $var4.$yCoord1;
                $var5 = $var4.$zCoord1;
                $ptr = 4;
                continue main;
            }
            $var3 = $var3 + 1 | 0;
            b: {
                if ($var3 < $var2) {
                    var$3 = $this.$scheduledTickTreeSet.$map.$root;
                    var$5 = null;
                    while (var$3 !== null) {
                        $var4 = ju_TreeMap$TreeNode_forward(var$3, 0);
                        var$5 = var$3;
                        var$3 = $var4;
                    }
                    if (var$5 === null) {
                        var$3 = new ju_NoSuchElementException;
                        jl_Throwable__init_0(var$3);
                        $rt_throw(var$3);
                    }
                    $var4 = var$5.$key1;
                    if ($var1)
                        break b;
                    if (Long_le($var4.$scheduledTime, $this.$worldInfo.$worldTime))
                        break b;
                }
                return !ju_TreeSet_size($this.$scheduledTickTreeSet) ? 0 : 1;
            }
            var$3 = $this.$scheduledTickTreeSet.$map;
            $ptr = 1;
            continue main;
        case 4:
            $tmp = nms_World_getBlockId($this, $var6, var$9, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 == $var4.$blockID1 && $var6 > 0) {
                $ptr = 5;
                continue main;
            }
            $var3 = $var3 + 1 | 0;
            b: {
                if ($var3 < $var2) {
                    var$3 = $this.$scheduledTickTreeSet.$map.$root;
                    var$5 = null;
                    while (var$3 !== null) {
                        $var4 = ju_TreeMap$TreeNode_forward(var$3, 0);
                        var$5 = var$3;
                        var$3 = $var4;
                    }
                    if (var$5 === null) {
                        var$3 = new ju_NoSuchElementException;
                        jl_Throwable__init_0(var$3);
                        $rt_throw(var$3);
                    }
                    $var4 = var$5.$key1;
                    if ($var1)
                        break b;
                    if (Long_le($var4.$scheduledTime, $this.$worldInfo.$worldTime))
                        break b;
                }
                return !ju_TreeSet_size($this.$scheduledTickTreeSet) ? 0 : 1;
            }
            var$3 = $this.$scheduledTickTreeSet.$map;
            $ptr = 1;
            continue main;
        case 5:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nms_Block_blocksList.data[$var6];
            $var6 = $var4.$xCoord1;
            var$9 = $var4.$yCoord1;
            $var5 = $var4.$zCoord1;
            var$5 = $this.$rand2;
            $ptr = 6;
        case 6:
            var$3.$updateTick0($this, $var6, var$9, $var5, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var3 + 1 | 0;
            c: {
                if ($var3 < $var2) {
                    var$3 = $this.$scheduledTickTreeSet.$map.$root;
                    var$5 = null;
                    while (var$3 !== null) {
                        $var4 = ju_TreeMap$TreeNode_forward(var$3, 0);
                        var$5 = var$3;
                        var$3 = $var4;
                    }
                    if (var$5 === null) {
                        var$3 = new ju_NoSuchElementException;
                        jl_Throwable__init_0(var$3);
                        $rt_throw(var$3);
                    }
                    $var4 = var$5.$key1;
                    if ($var1)
                        break c;
                    if (Long_le($var4.$scheduledTime, $this.$worldInfo.$worldTime))
                        break c;
                }
                return !ju_TreeSet_size($this.$scheduledTickTreeSet) ? 0 : 1;
            }
            var$3 = $this.$scheduledTickTreeSet.$map;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, var$5, $var4, $var6, var$8, var$9, var$10, var$11, var$12, $var5, $ptr);
    }
    function nms_World_randomDisplayUpdates($this, $var1, $var2, $var3) {
        var $var4, $var5, $var6, $var7, $var8, $var9, $var10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = 16;
            $var5 = new ju_Random;
            $var6 = 0;
            if ($var6 >= 1000)
                return;
            $var7 = ($var1 + ju_Random_nextInt($this.$rand2, $var4) | 0) - ju_Random_nextInt($this.$rand2, $var4) | 0;
            $var8 = ($var2 + ju_Random_nextInt($this.$rand2, $var4) | 0) - ju_Random_nextInt($this.$rand2, $var4) | 0;
            $var9 = ($var3 + ju_Random_nextInt($this.$rand2, $var4) | 0) - ju_Random_nextInt($this.$rand2, $var4) | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($this, $var7, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            if ($var10 > 0) {
                $ptr = 2;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 1000)
                return;
            $var7 = ($var1 + ju_Random_nextInt($this.$rand2, $var4) | 0) - ju_Random_nextInt($this.$rand2, $var4) | 0;
            $var8 = ($var2 + ju_Random_nextInt($this.$rand2, $var4) | 0) - ju_Random_nextInt($this.$rand2, $var4) | 0;
            $var9 = ($var3 + ju_Random_nextInt($this.$rand2, $var4) | 0) - ju_Random_nextInt($this.$rand2, $var4) | 0;
            continue main;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$11 = nms_Block_blocksList.data[$var10];
            $ptr = 3;
        case 3:
            var$11.$randomDisplayTick($this, $var7, $var8, $var9, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 1000)
                return;
            $var7 = ($var1 + ju_Random_nextInt($this.$rand2, $var4) | 0) - ju_Random_nextInt($this.$rand2, $var4) | 0;
            $var8 = ($var2 + ju_Random_nextInt($this.$rand2, $var4) | 0) - ju_Random_nextInt($this.$rand2, $var4) | 0;
            $var9 = ($var3 + ju_Random_nextInt($this.$rand2, $var4) | 0) - ju_Random_nextInt($this.$rand2, $var4) | 0;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, var$11, $ptr);
    }
    function nms_World_getEntitiesWithinAABBExcludingEntity($this, $var1, $var2) {
        var $var7, $var4, $var5, $var6, $var8, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var7 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            ju_ArrayList_clear($this.$field_1012_M);
            $var7 = nms_MathHelper_floor_double(($var2.$minX0 - 2.0) / 16.0);
            $var4 = nms_MathHelper_floor_double(($var2.$maxX0 + 2.0) / 16.0);
            $var5 = nms_MathHelper_floor_double(($var2.$minZ0 - 2.0) / 16.0);
            $var6 = nms_MathHelper_floor_double(($var2.$maxZ0 + 2.0) / 16.0);
            while ($var7 <= $var4) {
                $var8 = $var5;
                if ($var8 <= $var6) {
                    $ptr = 1;
                    continue main;
                }
                $var7 = $var7 + 1 | 0;
            }
            return $this.$field_1012_M;
        case 1:
            $tmp = nms_World_chunkExists($this, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8) {
                $ptr = 2;
                continue main;
            }
            $var8 = $var8 + 1 | 0;
            while (true) {
                if ($var8 <= $var6) {
                    continue main;
                }
                $var7 = $var7 + 1 | 0;
                if ($var7 > $var4)
                    break;
                $var8 = $var5;
            }
            return $this.$field_1012_M;
        case 2:
            $tmp = nms_World_getChunkFromChunkCoords($this, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            var$9.$getEntitiesWithinAABBForEntity($var1, $var2, $this.$field_1012_M);
            $var8 = $var8 + 1 | 0;
            while (true) {
                if ($var8 <= $var6) {
                    $ptr = 1;
                    continue main;
                }
                $var7 = $var7 + 1 | 0;
                if ($var7 > $var4)
                    break;
                $var8 = $var5;
            }
            return $this.$field_1012_M;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var7, $var4, $var5, $var6, $var8, var$8, var$9, $ptr);
    }
    function nms_World_getEntitiesWithinAABB($this, $var1, $var2) {
        var $var8, $var4, $var5, $var6, $var7, $var9, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var8 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var8 = nms_MathHelper_floor_double(($var2.$minX0 - 2.0) / 16.0);
            $var4 = nms_MathHelper_floor_double(($var2.$maxX0 + 2.0) / 16.0);
            $var5 = nms_MathHelper_floor_double(($var2.$minZ0 - 2.0) / 16.0);
            $var6 = nms_MathHelper_floor_double(($var2.$maxZ0 + 2.0) / 16.0);
            $var7 = ju_ArrayList__init_0();
            while ($var8 <= $var4) {
                $var9 = $var5;
                if ($var9 <= $var6) {
                    $ptr = 1;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
            }
            return $var7;
        case 1:
            $tmp = nms_World_chunkExists($this, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9) {
                $ptr = 2;
                continue main;
            }
            $var9 = $var9 + 1 | 0;
            while (true) {
                if ($var9 <= $var6) {
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
                if ($var8 > $var4)
                    break;
                $var9 = $var5;
            }
            return $var7;
        case 2:
            $tmp = nms_World_getChunkFromChunkCoords($this, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            var$10.$getEntitiesOfTypeWithinAAAB($var1, $var2, $var7);
            $var9 = $var9 + 1 | 0;
            while (true) {
                if ($var9 <= $var6) {
                    $ptr = 1;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
                if ($var8 > $var4)
                    break;
                $var9 = $var5;
            }
            return $var7;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var8, $var4, $var5, $var6, $var7, $var9, var$9, var$10, $ptr);
    }
    function nms_World_getLoadedEntityList($this) {
        return $this.$loadedEntityList;
    }
    function nms_World_func_698_b($this, $var1, $var2, $var3, $var4) {
        var $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_blockExists($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if (!$var2) {
                $var5 = 0;
                while (true) {
                    $var4 = $this.$worldAccesses;
                    if ($var5 >= $var4.$size0)
                        break;
                    ju_ArrayList_get($var4, $var5);
                    $var5 = $var5 + 1 | 0;
                }
                return;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_World_getChunkFromBlockCoords($this, $var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $var4.$setChunkModified();
            $var5 = 0;
            while (true) {
                $var4 = $this.$worldAccesses;
                if ($var5 >= $var4.$size0)
                    break;
                ju_ArrayList_get($var4, $var5);
                $var5 = $var5 + 1 | 0;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_World_countEntities($this, $var1) {
        var $var2, $var3, $var4;
        $var2 = 0;
        $var3 = 0;
        while (true) {
            $var4 = $this.$loadedEntityList;
            if ($var3 >= $var4.$size0)
                break;
            if (jl_Class_isAssignableFrom($var1, jl_Object_getClass(ju_ArrayList_get($var4, $var3))))
                $var2 = $var2 + 1 | 0;
            $var3 = $var3 + 1 | 0;
        }
        return $var2;
    }
    function nms_World_func_636_a($this, $var1) {
        var var$2, $var2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$loadedEntityList;
            $ptr = 1;
        case 1:
            ju_AbstractCollection_addAll(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 0;
            if ($var2 >= $var1.$size0)
                return;
            var$2 = ju_ArrayList_get($var1, $var2);
            $ptr = 2;
        case 2:
            $this.$obtainEntitySkin(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 >= $var1.$size0)
                return;
            var$2 = ju_ArrayList_get($var1, $var2);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, $ptr);
    }
    function nms_World_func_632_b($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$unloadedEntityList;
            $ptr = 1;
        case 1:
            ju_AbstractCollection_addAll(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_World_func_656_j($this) {
        while ($this.$chunkProvider.$func_532_a()) {
        }
    }
    function nms_World_canBlockBePlacedAt($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, var$7, $var7, $var8, $var9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($this, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = nms_Block_blocksList.data;
            $var7 = var$7[$var6];
            $var8 = var$7[$var1];
            $ptr = 3;
        case 3:
            $tmp = $var8.$getCollisionBoundingBoxFromPool($this, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var5)
                $var9 = null;
            if ($var9 !== null) {
                $ptr = 4;
                continue main;
            }
            if ($var7 !== nms_Block_waterMoving && $var7 !== nms_Block_waterStill && $var7 !== nms_Block_lavaMoving && $var7 !== nms_Block_lavaStill && $var7 !== nms_Block_fire && $var7 !== nms_Block_snow) {
                if ($var1 > 0 && $var7 === null) {
                    $ptr = 5;
                    continue main;
                }
                $var1 = 0;
            } else
                $var1 = 1;
            return $var1;
        case 4:
            $tmp = nms_World_checkIfAABBIsClear($this, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5)
                $var1 = 0;
            else if ($var7 !== nms_Block_waterMoving && $var7 !== nms_Block_waterStill && $var7 !== nms_Block_lavaMoving && $var7 !== nms_Block_lavaStill && $var7 !== nms_Block_fire && $var7 !== nms_Block_snow) {
                if ($var1 > 0 && $var7 === null) {
                    $ptr = 5;
                    continue main;
                }
                $var1 = 0;
            } else
                $var1 = 1;
            return $var1;
        case 5:
            $tmp = $var8.$canPlaceBlockAt($this, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return !$var1 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $var7, $var8, $var9, $ptr);
    }
    function nms_World_getPathToEntity($this, $var1, $var2, $var3) {
        var $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = nms_MathHelper_floor_double($var1.$posX);
            $var5 = nms_MathHelper_floor_double($var1.$posY);
            $var6 = nms_MathHelper_floor_double($var1.$posZ);
            $var7 = $var3 + 16.0 | 0;
            $var8 = $var4 - $var7 | 0;
            $var9 = $var5 - $var7 | 0;
            $var10 = $var6 - $var7 | 0;
            $var11 = $var4 + $var7 | 0;
            $var12 = $var5 + $var7 | 0;
            $var13 = $var6 + $var7 | 0;
            $var14 = new nms_ChunkCache;
            $ptr = 1;
        case 1:
            nms_ChunkCache__init_($var14, $this, $var8, $var9, $var10, $var11, $var12, $var13);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = nms_Pathfinder__init_0($var14);
            $ptr = 2;
        case 2:
            $tmp = nms_Pathfinder_createEntityPathTo(var$15, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, var$15, $ptr);
    }
    function nms_World_getEntityPathToXYZ($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $var15, $var16, var$17, var$18, var$19, var$20, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = nms_MathHelper_floor_double($var1.$posX);
            $var7 = nms_MathHelper_floor_double($var1.$posY);
            $var8 = nms_MathHelper_floor_double($var1.$posZ);
            $var9 = $var5 + 8.0 | 0;
            $var10 = $var6 - $var9 | 0;
            $var11 = $var7 - $var9 | 0;
            $var12 = $var8 - $var9 | 0;
            $var13 = $var6 + $var9 | 0;
            $var14 = $var7 + $var9 | 0;
            $var15 = $var8 + $var9 | 0;
            $var16 = new nms_ChunkCache;
            $ptr = 1;
        case 1:
            nms_ChunkCache__init_($var16, $this, $var10, $var11, $var12, $var13, $var14, $var15);
            if ($rt_suspending()) {
                break main;
            }
            var$17 = nms_Pathfinder__init_0($var16);
            var$18 = $var2 + 0.5;
            var$19 = $var3 + 0.5;
            var$20 = $var4 + 0.5;
            $ptr = 2;
        case 2:
            $tmp = nms_Pathfinder_createEntityPathTo0(var$17, $var1, var$18, var$19, var$20, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $var15, $var16, var$17, var$18, var$19, var$20, $ptr);
    }
    function nms_World_isBlockProvidingPowerTo($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5)
                return 0;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_Block_blocksList.data[$var5];
            $ptr = 3;
        case 3:
            $tmp = var$6.$isIndirectlyPoweringTo($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_World_isBlockGettingPowered($this, $var1, $var2, $var3) {
        var var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $var2 - 1 | 0;
            var$5 = 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockProvidingPowerTo($this, $var1, var$4, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var2 + 1 | 0;
            var$4 = 1;
            $ptr = 2;
        case 2:
            $tmp = nms_World_isBlockProvidingPowerTo($this, $var1, var$5, $var3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var3 - 1 | 0;
            var$4 = 2;
            $ptr = 3;
        case 3:
            $tmp = nms_World_isBlockProvidingPowerTo($this, $var1, $var2, var$5, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var3 + 1 | 0;
            var$4 = 3;
            $ptr = 4;
        case 4:
            $tmp = nms_World_isBlockProvidingPowerTo($this, $var1, $var2, var$5, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var1 - 1 | 0;
            var$4 = 4;
            $ptr = 5;
        case 5:
            $tmp = nms_World_isBlockProvidingPowerTo($this, var$5, $var2, $var3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            $var1 = $var1 + 1 | 0;
            var$5 = 5;
            $ptr = 6;
        case 6:
            $tmp = nms_World_isBlockProvidingPowerTo($this, $var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $ptr);
    }
    function nms_World_isBlockIndirectlyProvidingPowerTo($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5) {
                $ptr = 2;
                continue main;
            }
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_World_getBlockId($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5)
                return 0;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = nms_World_isBlockGettingPowered($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_Block_blocksList.data[$var5];
            $ptr = 5;
        case 5:
            $tmp = var$6.$isPoweringTo($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_World_isBlockIndirectlyGettingPowered($this, $var1, $var2, $var3) {
        var var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $var2 - 1 | 0;
            var$5 = 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockIndirectlyProvidingPowerTo($this, $var1, var$4, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var2 + 1 | 0;
            var$4 = 1;
            $ptr = 2;
        case 2:
            $tmp = nms_World_isBlockIndirectlyProvidingPowerTo($this, $var1, var$5, $var3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var3 - 1 | 0;
            var$4 = 2;
            $ptr = 3;
        case 3:
            $tmp = nms_World_isBlockIndirectlyProvidingPowerTo($this, $var1, $var2, var$5, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var3 + 1 | 0;
            var$4 = 3;
            $ptr = 4;
        case 4:
            $tmp = nms_World_isBlockIndirectlyProvidingPowerTo($this, $var1, $var2, var$5, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            var$5 = $var1 - 1 | 0;
            var$4 = 4;
            $ptr = 5;
        case 5:
            $tmp = nms_World_isBlockIndirectlyProvidingPowerTo($this, var$5, $var2, $var3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                return 1;
            $var1 = $var1 + 1 | 0;
            var$5 = 5;
            $ptr = 6;
        case 6:
            $tmp = nms_World_isBlockIndirectlyProvidingPowerTo($this, $var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $ptr);
    }
    function nms_World_getClosestPlayerToEntity($this, $var1, $var2) {
        return nms_World_getClosestPlayer($this, $var1.$posX, $var1.$posY, $var1.$posZ, $var2);
    }
    function nms_World_getClosestPlayer($this, $var1, $var3, $var5, $var7) {
        var $var9, $var11, $var12, var$8, var$9, $var13, $var14;
        $var9 = (-1.0);
        $var11 = null;
        $var12 = 0;
        var$8 = $rt_compare($var7, 0.0);
        var$9 = $var7 * $var7;
        while (true) {
            $var13 = $this.$playerEntities;
            if ($var12 >= $var13.$size0)
                break;
            $var13 = ju_ArrayList_get($var13, $var12);
            $var14 = nms_Entity_getDistanceSq($var13, $var1, $var3, $var5);
            if (!(var$8 >= 0 && $var14 >= var$9) && !($var9 !== (-1.0) && $var14 >= $var9)) {
                $var9 = $var14;
                $var11 = $var13;
            }
            $var12 = $var12 + 1 | 0;
        }
        return $var11;
    }
    function nms_World_getPlayerEntityByName($this, $var1) {
        var $var2, var$3;
        $var2 = 0;
        while (true) {
            var$3 = $this.$playerEntities;
            if ($var2 >= var$3.$size0)
                break;
            if (jl_String_equals($var1, (ju_ArrayList_get(var$3, $var2)).$username))
                return ju_ArrayList_get($this.$playerEntities, $var2);
            $var2 = $var2 + 1 | 0;
        }
        return null;
    }
    function nms_World_sendQuittingDisconnectingPacket($this) {}
    function nms_World_checkSessionLock($this) {}
    function nms_World_setWorldTime($this, $var1) {
        $this.$worldInfo.$worldTime = $var1;
    }
    function nms_World_getRandomSeed($this) {
        return $this.$worldInfo.$randomSeed;
    }
    function nms_World_getWorldTime($this) {
        return $this.$worldInfo.$worldTime;
    }
    function nms_World_getSpawnPoint($this) {
        var var$1, var$2;
        var$1 = new nms_ChunkCoordinates;
        var$2 = $this.$worldInfo;
        nms_ChunkCoordinates__init_0(var$1, var$2.$spawnX, var$2.$spawnY, var$2.$spawnZ);
        return var$1;
    }
    function nms_World_setSpawnPoint($this, $var1) {
        nms_WorldInfo_setSpawn($this.$worldInfo, $var1.$x, $var1.$y, $var1.$z);
    }
    function nms_World_joinEntityInSurroundings($this, $var1) {
        var $var2, $var3, $var5, var$5, $var4, var$7, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();var$7 = $thread.pop();$var4 = $thread.pop();var$5 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = nms_MathHelper_floor_double($var1.$posX / 16.0);
            $var3 = nms_MathHelper_floor_double($var1.$posZ / 16.0);
            $var5 = $var2 - 2 | 0;
            $var2 = $var2 + 2 | 0;
            var$5 = $var3 - 2 | 0;
            $var4 = $var3 + 2 | 0;
            while (true) {
                if ($var5 > $var2) {
                    var$7 = $this.$loadedEntityList;
                    $ptr = 1;
                    continue main;
                }
                $var6 = var$5;
                if ($var6 <= $var4)
                    break;
                $var5 = $var5 + 1 | 0;
            }
            $ptr = 3;
            continue main;
        case 1:
            $tmp = ju_AbstractCollection_contains(var$7, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2)
                return;
            var$7 = $this.$loadedEntityList;
            $ptr = 2;
        case 2:
            ju_ArrayList_add(var$7, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_World_getChunkFromChunkCoords($this, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            while ($var6 > $var4) {
                $var5 = $var5 + 1 | 0;
                if ($var5 > $var2) {
                    var$7 = $this.$loadedEntityList;
                    $ptr = 1;
                    continue main;
                }
                $var6 = var$5;
            }
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var5, var$5, $var4, var$7, $var6, $ptr);
    }
    function nms_World_func_6466_a($this, $var1, $var2, $var3, $var4) {
        return 1;
    }
    function nms_World_func_9425_a($this, $var1, $var2) {}
    function nms_World_updateEntityList($this) {
        var $var2, var$2, $var1, $var3, $var3_0, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3_0 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();var$2 = $thread.pop();$var2 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $this.$loadedEntityList;
            var$2 = $this.$unloadedEntityList;
            $ptr = 1;
        case 1:
            ju_AbstractCollection_removeAll($var2, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0;
            while (true) {
                $var2 = $this.$unloadedEntityList;
                if ($var1 >= $var2.$size0) {
                    $var1 = 0;
                    $var2 = $this.$unloadedEntityList;
                    if ($var1 < $var2.$size0) {
                        $var2 = ju_ArrayList_get($var2, $var1);
                        $ptr = 3;
                        continue main;
                    }
                    ju_ArrayList_clear($var2);
                    $var3 = 0;
                    while (true) {
                        $var2 = $this.$loadedEntityList;
                        if ($var3 >= $var2.$size0)
                            break;
                        a: {
                            $var2 = ju_ArrayList_get($var2, $var3);
                            var$2 = $var2.$ridingEntity;
                            if (var$2 !== null) {
                                if (!var$2.$isDead && var$2.$riddenByEntity === $var2)
                                    break a;
                                var$2.$riddenByEntity = null;
                                $var2.$ridingEntity = null;
                            }
                            if ($var2.$isDead) {
                                $var3_0 = $var2.$chunkCoordX;
                                $var4 = $var2.$chunkCoordZ;
                                if ($var2.$addedToChunk) {
                                    $ptr = 7;
                                    continue main;
                                }
                                var$2 = $this.$loadedEntityList;
                                $var1 = $var3 + (-1) | 0;
                                ju_ArrayList_remove(var$2, $var3);
                                $ptr = 6;
                                continue main;
                            }
                        }
                        $var3 = $var3 + 1 | 0;
                    }
                    return;
                }
                $var2 = ju_ArrayList_get($var2, $var1);
                $var3 = $var2.$chunkCoordX;
                $var4 = $var2.$chunkCoordZ;
                if ($var2.$addedToChunk)
                    break;
                $var1 = $var1 + 1 | 0;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_World_chunkExists($this, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var3_0 = $tmp;
            if ($var3_0) {
                $ptr = 4;
                continue main;
            }
            while (true) {
                $var1 = $var1 + 1 | 0;
                $var2 = $this.$unloadedEntityList;
                if ($var1 >= $var2.$size0) {
                    $var1 = 0;
                    $var2 = $this.$unloadedEntityList;
                    if ($var1 < $var2.$size0) {
                        $var2 = ju_ArrayList_get($var2, $var1);
                        $ptr = 3;
                        continue main;
                    }
                    ju_ArrayList_clear($var2);
                    $var3 = 0;
                    while (true) {
                        $var2 = $this.$loadedEntityList;
                        if ($var3 >= $var2.$size0)
                            break;
                        a: {
                            $var2 = ju_ArrayList_get($var2, $var3);
                            var$2 = $var2.$ridingEntity;
                            if (var$2 !== null) {
                                if (!var$2.$isDead && var$2.$riddenByEntity === $var2)
                                    break a;
                                var$2.$riddenByEntity = null;
                                $var2.$ridingEntity = null;
                            }
                            if ($var2.$isDead) {
                                $var3_0 = $var2.$chunkCoordX;
                                $var4 = $var2.$chunkCoordZ;
                                if ($var2.$addedToChunk) {
                                    $ptr = 7;
                                    continue main;
                                }
                                var$2 = $this.$loadedEntityList;
                                $var1 = $var3 + (-1) | 0;
                                ju_ArrayList_remove(var$2, $var3);
                                $ptr = 6;
                                continue main;
                            }
                        }
                        $var3 = $var3 + 1 | 0;
                    }
                    return;
                }
                $var2 = ju_ArrayList_get($var2, $var1);
                $var3 = $var2.$chunkCoordX;
                $var4 = $var2.$chunkCoordZ;
                if (!$var2.$addedToChunk)
                    continue;
                else
                    break;
            }
            continue main;
        case 3:
            $this.$releaseEntitySkin($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var1 + 1 | 0;
            $var2 = $this.$unloadedEntityList;
            if ($var1 < $var2.$size0) {
                $var2 = ju_ArrayList_get($var2, $var1);
                continue main;
            }
            ju_ArrayList_clear($var2);
            $var3 = 0;
            while (true) {
                $var2 = $this.$loadedEntityList;
                if ($var3 >= $var2.$size0)
                    break;
                b: {
                    $var2 = ju_ArrayList_get($var2, $var3);
                    var$2 = $var2.$ridingEntity;
                    if (var$2 !== null) {
                        if (!var$2.$isDead && var$2.$riddenByEntity === $var2)
                            break b;
                        var$2.$riddenByEntity = null;
                        $var2.$ridingEntity = null;
                    }
                    if ($var2.$isDead) {
                        $var3_0 = $var2.$chunkCoordX;
                        $var4 = $var2.$chunkCoordZ;
                        if ($var2.$addedToChunk) {
                            $ptr = 7;
                            continue main;
                        }
                        var$2 = $this.$loadedEntityList;
                        $var1 = $var3 + (-1) | 0;
                        ju_ArrayList_remove(var$2, $var3);
                        $ptr = 6;
                        continue main;
                    }
                }
                $var3 = $var3 + 1 | 0;
            }
            return;
        case 4:
            $tmp = nms_World_getChunkFromChunkCoords($this, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 5;
        case 5:
            var$2.$func_1015_b($var2);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var1 = $var1 + 1 | 0;
                $var2 = $this.$unloadedEntityList;
                if ($var1 >= $var2.$size0) {
                    $var1 = 0;
                    $var2 = $this.$unloadedEntityList;
                    if ($var1 < $var2.$size0) {
                        $var2 = ju_ArrayList_get($var2, $var1);
                        $ptr = 3;
                        continue main;
                    }
                    ju_ArrayList_clear($var2);
                    $var3 = 0;
                    while (true) {
                        $var2 = $this.$loadedEntityList;
                        if ($var3 >= $var2.$size0)
                            break;
                        c: {
                            $var2 = ju_ArrayList_get($var2, $var3);
                            var$2 = $var2.$ridingEntity;
                            if (var$2 !== null) {
                                if (!var$2.$isDead && var$2.$riddenByEntity === $var2)
                                    break c;
                                var$2.$riddenByEntity = null;
                                $var2.$ridingEntity = null;
                            }
                            if ($var2.$isDead) {
                                $var3_0 = $var2.$chunkCoordX;
                                $var4 = $var2.$chunkCoordZ;
                                if ($var2.$addedToChunk) {
                                    $ptr = 7;
                                    continue main;
                                }
                                var$2 = $this.$loadedEntityList;
                                $var1 = $var3 + (-1) | 0;
                                ju_ArrayList_remove(var$2, $var3);
                                $ptr = 6;
                                continue main;
                            }
                        }
                        $var3 = $var3 + 1 | 0;
                    }
                    return;
                }
                $var2 = ju_ArrayList_get($var2, $var1);
                $var3 = $var2.$chunkCoordX;
                $var4 = $var2.$chunkCoordZ;
                if (!$var2.$addedToChunk)
                    continue;
                else
                    break;
            }
            $ptr = 2;
            continue main;
        case 6:
            $this.$releaseEntitySkin($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var1;
            while (true) {
                $var3 = $var3 + 1 | 0;
                $var2 = $this.$loadedEntityList;
                if ($var3 >= $var2.$size0)
                    break;
                $var2 = ju_ArrayList_get($var2, $var3);
                var$2 = $var2.$ridingEntity;
                if (var$2 !== null) {
                    if (!var$2.$isDead && var$2.$riddenByEntity === $var2)
                        continue;
                    var$2.$riddenByEntity = null;
                    $var2.$ridingEntity = null;
                }
                if ($var2.$isDead) {
                    $var3_0 = $var2.$chunkCoordX;
                    $var4 = $var2.$chunkCoordZ;
                    if ($var2.$addedToChunk) {
                        $ptr = 7;
                        continue main;
                    }
                    var$2 = $this.$loadedEntityList;
                    $var1 = $var3 + (-1) | 0;
                    ju_ArrayList_remove(var$2, $var3);
                    continue main;
                }
            }
            return;
        case 7:
            $tmp = nms_World_chunkExists($this, $var3_0, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1) {
                $ptr = 8;
                continue main;
            }
            var$2 = $this.$loadedEntityList;
            $var1 = $var3 + (-1) | 0;
            ju_ArrayList_remove(var$2, $var3);
            $ptr = 6;
            continue main;
        case 8:
            $tmp = nms_World_getChunkFromChunkCoords($this, $var3_0, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 9;
        case 9:
            var$2.$func_1015_b($var2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$loadedEntityList;
            $var1 = $var3 + (-1) | 0;
            ju_ArrayList_remove(var$2, $var3);
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var2, var$2, $var1, $var3, $var3_0, $var4, $ptr);
    }
    function nms_World_getIChunkProvider($this) {
        return $this.$chunkProvider;
    }
    function nms_World_playNoteAt($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 <= 0)
                return;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = nms_Block_blocksList.data[$var6];
            $ptr = 3;
        case 3:
            var$7.$playBlock($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
    }
    function nms_World_updateAllPlayersSleepingFlag($this) {
        var $var1;
        $this.$allPlayersSleeping = ju_AbstractCollection_isEmpty($this.$playerEntities) ? 0 : 1;
        $var1 = ju_AbstractList_iterator($this.$playerEntities);
        a: {
            while (true) {
                if (!ju_AbstractList$1_hasNext($var1))
                    break a;
                if (!(ju_AbstractList$1_next($var1)).$sleeping)
                    break;
            }
            $this.$allPlayersSleeping = 0;
        }
    }
    function nms_World_wakeUpAllPlayers($this) {
        var $var1, $var2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$allPlayersSleeping = 0;
            $var1 = $this.$playerEntities;
            $ptr = 1;
        case 1:
            $tmp = ju_AbstractList_iterator($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!ju_AbstractList$1_hasNext($var1))
                return;
            $ptr = 2;
        case 2:
            $tmp = ju_AbstractList$1_next($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var2 = $var2;
            if ($var2.$sleeping) {
                var$3 = 0;
                var$4 = 0;
                var$5 = 1;
                $ptr = 3;
                continue main;
            }
            if (!ju_AbstractList$1_hasNext($var1))
                return;
            continue main;
        case 3:
            nms_EntityPlayer_wakeUpPlayer($var2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            if (!ju_AbstractList$1_hasNext($var1))
                return;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, $ptr);
    }
    function nms_World_isAllPlayersFullyAsleep($this) {
        var $var1;
        if ($this.$allPlayersSleeping && !$this.$multiplayerWorld) {
            $var1 = ju_AbstractList_iterator($this.$playerEntities);
            while (ju_AbstractList$1_hasNext($var1)) {
                if (nms_EntityPlayer_isPlayerFullyAsleep(ju_AbstractList$1_next($var1)))
                    continue;
                else
                    return 0;
            }
            return 1;
        }
        return 0;
    }
    function nms_World__clinit_() {
        nms_World_field_9429_y = 0;
    }
    function nms_GameSettings() {
        var a = this; jl_Object.call(a);
        a.$musicVolume = 0.0;
        a.$soundVolume = 0.0;
        a.$mouseSensitivity = 0.0;
        a.$invertMouse = 0;
        a.$renderDistance = 0;
        a.$viewBobbing = 0;
        a.$anaglyph = 0;
        a.$limitFramerate = 0;
        a.$fancyGraphics = 0;
        a.$ambientOcclusion = 0;
        a.$skin = null;
        a.$keyBindForward = null;
        a.$keyBindLeft = null;
        a.$keyBindBack = null;
        a.$keyBindRight = null;
        a.$keyBindJump = null;
        a.$keyBindInventory = null;
        a.$keyBindDrop = null;
        a.$keyBindChat = null;
        a.$keyBindToggleFog = null;
        a.$keyBindSneak = null;
        a.$keyBindings = null;
        a.$mc5 = null;
        a.$optionsFile = null;
        a.$difficulty = 0;
        a.$hideGUI = 0;
        a.$thirdPersonView = 0;
        a.$showDebugInfo = 0;
        a.$lastServer = null;
        a.$field_22275_C = 0;
        a.$smoothCamera = 0;
        a.$field_22273_E = 0;
        a.$field_22272_F = 0.0;
        a.$field_22271_G = 0.0;
        a.$field_25148_H = 0;
    }
    var nms_GameSettings_RENDER_DISTANCES = null;
    var nms_GameSettings_DIFFICULTIES = null;
    var nms_GameSettings_field_25147_K = null;
    function nms_GameSettings_$callClinit() {
        nms_GameSettings_$callClinit = $rt_eraseClinit(nms_GameSettings);
        nms_GameSettings__clinit_();
    }
    function nms_GameSettings__init_1(var_0, var_1) {
        var var_2 = new nms_GameSettings();
        nms_GameSettings__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function nms_GameSettings__init_2() {
        var var_0 = new nms_GameSettings();
        nms_GameSettings__init_(var_0);
        return var_0;
    }
    function nms_GameSettings__init_0($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_GameSettings_$callClinit();
            $this.$musicVolume = 1.0;
            $this.$soundVolume = 1.0;
            $this.$mouseSensitivity = 0.5;
            $this.$invertMouse = 0;
            $this.$renderDistance = 0;
            $this.$viewBobbing = 1;
            $this.$anaglyph = 0;
            $this.$limitFramerate = 0;
            $this.$fancyGraphics = 1;
            $this.$ambientOcclusion = 1;
            $this.$skin = $rt_s(516);
            $this.$keyBindForward = nms_KeyBinding__init_0($rt_s(1480), 17);
            $this.$keyBindLeft = nms_KeyBinding__init_0($rt_s(1481), 30);
            $this.$keyBindBack = nms_KeyBinding__init_0($rt_s(1482), 31);
            $this.$keyBindRight = nms_KeyBinding__init_0($rt_s(1483), 32);
            $this.$keyBindJump = nms_KeyBinding__init_0($rt_s(1484), 57);
            $this.$keyBindInventory = nms_KeyBinding__init_0($rt_s(1485), 18);
            $this.$keyBindDrop = nms_KeyBinding__init_0($rt_s(1486), 16);
            $this.$keyBindChat = nms_KeyBinding__init_0($rt_s(1487), 20);
            $this.$keyBindToggleFog = nms_KeyBinding__init_0($rt_s(1488), 33);
            var$3 = nms_KeyBinding__init_0($rt_s(1489), 42);
            $this.$keyBindSneak = var$3;
            $this.$keyBindings = $rt_createArrayFromData(nms_KeyBinding, [$this.$keyBindForward, $this.$keyBindLeft, $this.$keyBindBack, $this.$keyBindRight, $this.$keyBindJump, var$3, $this.$keyBindDrop, $this.$keyBindInventory, $this.$keyBindChat, $this.$keyBindToggleFog]);
            $this.$difficulty = 2;
            $this.$hideGUI = 0;
            $this.$thirdPersonView = 0;
            $this.$showDebugInfo = 0;
            $this.$lastServer = $rt_s(3);
            $this.$field_22275_C = 0;
            $this.$smoothCamera = 0;
            $this.$field_22273_E = 0;
            $this.$field_22272_F = 1.0;
            $this.$field_22271_G = 1.0;
            $this.$field_25148_H = 0;
            $this.$mc5 = $var1;
            $var1 = new nleiv_VFile2;
            var$4 = $rt_createArrayFromData(jl_Object, [$var2, $rt_s(1490)]);
            $ptr = 1;
        case 1:
            nleiv_VFile2__init_($var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$optionsFile = $var1;
            $ptr = 2;
        case 2:
            nms_GameSettings_loadOptions($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_GameSettings__init_($this) {
        var var$1;
        nms_GameSettings_$callClinit();
        $this.$musicVolume = 1.0;
        $this.$soundVolume = 1.0;
        $this.$mouseSensitivity = 0.5;
        $this.$invertMouse = 0;
        $this.$renderDistance = 0;
        $this.$viewBobbing = 1;
        $this.$anaglyph = 0;
        $this.$limitFramerate = 0;
        $this.$fancyGraphics = 1;
        $this.$ambientOcclusion = 1;
        $this.$skin = $rt_s(516);
        $this.$keyBindForward = nms_KeyBinding__init_0($rt_s(1480), 17);
        $this.$keyBindLeft = nms_KeyBinding__init_0($rt_s(1481), 30);
        $this.$keyBindBack = nms_KeyBinding__init_0($rt_s(1482), 31);
        $this.$keyBindRight = nms_KeyBinding__init_0($rt_s(1483), 32);
        $this.$keyBindJump = nms_KeyBinding__init_0($rt_s(1484), 57);
        $this.$keyBindInventory = nms_KeyBinding__init_0($rt_s(1485), 18);
        $this.$keyBindDrop = nms_KeyBinding__init_0($rt_s(1486), 16);
        $this.$keyBindChat = nms_KeyBinding__init_0($rt_s(1487), 20);
        $this.$keyBindToggleFog = nms_KeyBinding__init_0($rt_s(1488), 33);
        var$1 = nms_KeyBinding__init_0($rt_s(1489), 42);
        $this.$keyBindSneak = var$1;
        $this.$keyBindings = $rt_createArrayFromData(nms_KeyBinding, [$this.$keyBindForward, $this.$keyBindLeft, $this.$keyBindBack, $this.$keyBindRight, $this.$keyBindJump, var$1, $this.$keyBindDrop, $this.$keyBindInventory, $this.$keyBindChat, $this.$keyBindToggleFog]);
        $this.$difficulty = 2;
        $this.$hideGUI = 0;
        $this.$thirdPersonView = 0;
        $this.$showDebugInfo = 0;
        $this.$lastServer = $rt_s(3);
        $this.$field_22275_C = 0;
        $this.$smoothCamera = 0;
        $this.$field_22273_E = 0;
        $this.$field_22272_F = 1.0;
        $this.$field_22271_G = 1.0;
        $this.$field_25148_H = 0;
    }
    function nms_GameSettings_getOptionDisplayString($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $this.$keyBindings.data[$var1].$keyCode;
            $ptr = 1;
        case 1:
            a: {
                nle_KeyboardConstants_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                if ($var1 >= 0 && $var1 < 256) {
                    var$2 = nle_KeyboardConstants_keyboardNames.data;
                    if (var$2[$var1] !== null) {
                        var$3 = var$2[$var1];
                        break a;
                    }
                }
                var$3 = $rt_s(504);
            }
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_GameSettings_setOptionFloatValue($this, $var1, $var2) {
        nms_EnumOptions_$callClinit();
        if ($var1 === nms_EnumOptions_MUSIC) {
            $this.$musicVolume = $var2;
            nms_SoundManager_onSoundOptionsChanged($this.$mc5.$sndManager);
        }
        if ($var1 === nms_EnumOptions_SOUND) {
            $this.$soundVolume = $var2;
            nms_SoundManager_onSoundOptionsChanged($this.$mc5.$sndManager);
        }
        if ($var1 === nms_EnumOptions_SENSITIVITY)
            $this.$mouseSensitivity = $var2;
    }
    function nms_GameSettings_setOptionValue($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_EnumOptions_$callClinit();
            if ($var1 === nms_EnumOptions_INVERT_MOUSE)
                $this.$invertMouse = $this.$invertMouse ? 0 : 1;
            if ($var1 === nms_EnumOptions_RENDER_DISTANCE)
                $this.$renderDistance = ($this.$renderDistance + $var2 | 0) & 3;
            if ($var1 === nms_EnumOptions_GUI_SCALE)
                $this.$field_25148_H = ($this.$field_25148_H + $var2 | 0) & 3;
            if ($var1 === nms_EnumOptions_VIEW_BOBBING)
                $this.$viewBobbing = $this.$viewBobbing ? 0 : 1;
            if ($var1 === nms_EnumOptions_ANAGLYPH) {
                $this.$anaglyph = $this.$anaglyph ? 0 : 1;
                var$3 = $this.$mc5.$renderEngine;
                $ptr = 1;
                continue main;
            }
            if ($var1 === nms_EnumOptions_LIMIT_FRAMERATE)
                $this.$limitFramerate = $this.$limitFramerate ? 0 : 1;
            if ($var1 === nms_EnumOptions_DIFFICULTY)
                $this.$difficulty = ($this.$difficulty + $var2 | 0) & 3;
            if ($var1 === nms_EnumOptions_GRAPHICS) {
                $this.$fancyGraphics = $this.$fancyGraphics ? 0 : 1;
                var$3 = $this.$mc5.$renderGlobal;
                $ptr = 3;
                continue main;
            }
            if ($var1 !== nms_EnumOptions_AMBIENT_OCCLUSION) {
                $ptr = 2;
                continue main;
            }
            $this.$ambientOcclusion = $this.$ambientOcclusion ? 0 : 1;
            $var1 = $this.$mc5.$renderGlobal;
            $ptr = 4;
            continue main;
        case 1:
            nms_RenderEngine_refreshTextures(var$3);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1 === nms_EnumOptions_LIMIT_FRAMERATE)
                $this.$limitFramerate = $this.$limitFramerate ? 0 : 1;
            if ($var1 === nms_EnumOptions_DIFFICULTY)
                $this.$difficulty = ($this.$difficulty + $var2 | 0) & 3;
            if ($var1 === nms_EnumOptions_GRAPHICS) {
                $this.$fancyGraphics = $this.$fancyGraphics ? 0 : 1;
                var$3 = $this.$mc5.$renderGlobal;
                $ptr = 3;
                continue main;
            }
            if ($var1 !== nms_EnumOptions_AMBIENT_OCCLUSION) {
                $ptr = 2;
                continue main;
            }
            $this.$ambientOcclusion = $this.$ambientOcclusion ? 0 : 1;
            $var1 = $this.$mc5.$renderGlobal;
            $ptr = 4;
            continue main;
        case 2:
            nms_GameSettings_saveOptions($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_RenderGlobal_loadRenderers(var$3);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1 !== nms_EnumOptions_AMBIENT_OCCLUSION) {
                $ptr = 2;
                continue main;
            }
            $this.$ambientOcclusion = $this.$ambientOcclusion ? 0 : 1;
            $var1 = $this.$mc5.$renderGlobal;
            $ptr = 4;
        case 4:
            nms_RenderGlobal_loadRenderers($var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_GameSettings_getOptionFloatValue($this, $var1) {
        nms_EnumOptions_$callClinit();
        return $var1 === nms_EnumOptions_MUSIC ? $this.$musicVolume : $var1 === nms_EnumOptions_SOUND ? $this.$soundVolume : $var1 !== nms_EnumOptions_SENSITIVITY ? 0.0 : $this.$mouseSensitivity;
    }
    function nms_GameSettings_getKeyBinding($this, $var1) {
        var $var2, var$3, var$4, var$5, $var5, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$3 = $var1.$enumString;
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_translateKey($var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$4, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$5 = $rt_s(6);
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if ($var1.$enumFloat) {
                $var5 = nms_GameSettings_getOptionFloatValue($this, $var1);
                nms_EnumOptions_$callClinit();
                if ($var1 !== nms_EnumOptions_SENSITIVITY) {
                    if ($var5 === 0.0) {
                        $var1 = $rt_s(1491);
                        $ptr = 12;
                        continue main;
                    }
                    $var4 = $var5 * 100.0 | 0;
                    $var1 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($var1);
                    $ptr = 10;
                    continue main;
                }
                if ($var5 === 0.0) {
                    $var1 = $rt_s(1492);
                    $ptr = 16;
                    continue main;
                }
                if ($var5 === 1.0) {
                    $var1 = $rt_s(1493);
                    $ptr = 26;
                    continue main;
                }
                $var4 = $var5 * 200.0 | 0;
                $var1 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var1);
                $ptr = 24;
                continue main;
            }
            if (!$var1.$enumBoolean) {
                nms_EnumOptions_$callClinit();
                if ($var1 === nms_EnumOptions_RENDER_DISTANCE) {
                    nms_GameSettings_$callClinit();
                    $var1 = nms_GameSettings_RENDER_DISTANCES.data[$this.$renderDistance];
                    $ptr = 6;
                    continue main;
                }
                if ($var1 === nms_EnumOptions_DIFFICULTY) {
                    nms_GameSettings_$callClinit();
                    $var1 = nms_GameSettings_DIFFICULTIES.data[$this.$difficulty];
                    $ptr = 20;
                    continue main;
                }
                if ($var1 === nms_EnumOptions_GUI_SCALE) {
                    nms_GameSettings_$callClinit();
                    $var1 = nms_GameSettings_field_25147_K.data[$this.$field_25148_H];
                    $ptr = 30;
                    continue main;
                }
                if ($var1 !== nms_EnumOptions_GRAPHICS)
                    return var$4;
                if (!$this.$fancyGraphics) {
                    $var1 = $rt_s(1494);
                    $ptr = 42;
                    continue main;
                }
                $var1 = $rt_s(1495);
                $ptr = 46;
                continue main;
            }
            a: {
                nms_EnumOptionsMappingHelper_$callClinit();
                switch (nms_EnumOptionsMappingHelper_enumOptionsMappingHelperArray.data[$var1.$ordinal0]) {
                    case 1:
                        break;
                    case 2:
                        $var4 = $this.$viewBobbing;
                        break a;
                    case 3:
                        $var4 = $this.$anaglyph;
                        break a;
                    case 4:
                        $var4 = $this.$limitFramerate;
                        break a;
                    case 5:
                        $var4 = $this.$ambientOcclusion;
                        break a;
                    default:
                        $var4 = 0;
                        break a;
                }
                $var4 = $this.$invertMouse;
            }
            if (!$var4) {
                $var1 = $rt_s(1491);
                $ptr = 34;
                continue main;
            }
            $var1 = $rt_s(1496);
            $ptr = 38;
            continue main;
        case 6:
            $tmp = nms_StringTranslate_translateKey($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var2);
            $ptr = 7;
        case 7:
            $tmp = jl_StringBuilder_append($var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 8;
        case 8:
            jl_StringBuilder_append(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            $tmp = jl_AbstractStringBuilder_toString($var2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return var$4;
        case 10:
            $tmp = jl_StringBuilder_append($var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            jl_AbstractStringBuilder_append0($var2, $var4);
            jl_AbstractStringBuilder_append($var2, 37);
            $ptr = 11;
        case 11:
            $tmp = jl_AbstractStringBuilder_toString($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        case 12:
            $tmp = nms_StringTranslate_translateKey($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var2);
            $ptr = 13;
        case 13:
            $tmp = jl_StringBuilder_append($var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 14;
        case 14:
            jl_StringBuilder_append(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            $tmp = jl_AbstractStringBuilder_toString($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        case 16:
            $tmp = nms_StringTranslate_translateKey($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var2);
            $ptr = 17;
        case 17:
            $tmp = jl_StringBuilder_append($var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 18;
        case 18:
            jl_StringBuilder_append(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 19;
        case 19:
            $tmp = jl_AbstractStringBuilder_toString($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        case 20:
            $tmp = nms_StringTranslate_translateKey($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var2);
            $ptr = 21;
        case 21:
            $tmp = jl_StringBuilder_append($var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 22;
        case 22:
            jl_StringBuilder_append(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 23;
        case 23:
            $tmp = jl_AbstractStringBuilder_toString($var2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return var$4;
        case 24:
            $tmp = jl_StringBuilder_append($var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            jl_AbstractStringBuilder_append0($var2, $var4);
            jl_AbstractStringBuilder_append($var2, 37);
            $ptr = 25;
        case 25:
            $tmp = jl_AbstractStringBuilder_toString($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        case 26:
            $tmp = nms_StringTranslate_translateKey($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var2);
            $ptr = 27;
        case 27:
            $tmp = jl_StringBuilder_append($var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 28;
        case 28:
            jl_StringBuilder_append(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 29;
        case 29:
            $tmp = jl_AbstractStringBuilder_toString($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        case 30:
            $tmp = nms_StringTranslate_translateKey($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var2);
            $ptr = 31;
        case 31:
            $tmp = jl_StringBuilder_append($var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 32;
        case 32:
            jl_StringBuilder_append(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 33;
        case 33:
            $tmp = jl_AbstractStringBuilder_toString($var2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return var$4;
        case 34:
            $tmp = nms_StringTranslate_translateKey($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var2);
            $ptr = 35;
        case 35:
            $tmp = jl_StringBuilder_append($var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 36;
        case 36:
            jl_StringBuilder_append(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 37;
        case 37:
            $tmp = jl_AbstractStringBuilder_toString($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        case 38:
            $tmp = nms_StringTranslate_translateKey($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var2);
            $ptr = 39;
        case 39:
            $tmp = jl_StringBuilder_append($var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 40;
        case 40:
            jl_StringBuilder_append(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 41;
        case 41:
            $tmp = jl_AbstractStringBuilder_toString($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        case 42:
            $tmp = nms_StringTranslate_translateKey($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var2);
            $ptr = 43;
        case 43:
            $tmp = jl_StringBuilder_append($var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 44;
        case 44:
            jl_StringBuilder_append(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 45;
        case 45:
            $tmp = jl_AbstractStringBuilder_toString($var2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return var$4;
        case 46:
            $tmp = nms_StringTranslate_translateKey($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var2);
            $ptr = 47;
        case 47:
            $tmp = jl_StringBuilder_append($var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 48;
        case 48:
            jl_StringBuilder_append(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 49;
        case 49:
            $tmp = jl_AbstractStringBuilder_toString($var2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return var$4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, $var5, $var4, $ptr);
    }
    function nms_GameSettings_loadOptions($this) {
        var $var5, $var1, var$3, $var4, $var3, var$6, var$7, var$8, var$9, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var3 = $thread.pop();$var4 = $thread.pop();var$3 = $thread.pop();$var1 = $thread.pop();$var5 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            try {
                $var5 = $this.$optionsFile;
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 1:
            a: {
                b: {
                    try {
                        $tmp = nleiv_VFile2_exists($var5);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $var4 = $tmp;
                        if ($var4)
                            break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Exception) {
                            $var5 = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                    return;
                }
                try {
                    $var1 = new ji_BufferedReader;
                    $var5 = new ji_InputStreamReader;
                    var$3 = $this.$optionsFile;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var5 = $$je;
                    } else {
                        throw $$e;
                    }
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
        case 2:
            ji_PrintStream_println0($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            jl_Throwable_printStackTrace($var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            try {
                $tmp = nleiv_VFile2_getInputStream(var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                $ptr = 5;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 5:
            try {
                ji_InputStreamReader__init_2($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                ji_BufferedReader__init_($var1, $var5);
                $ptr = 6;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 6:
            try {
                $tmp = ji_BufferedReader_readLine($var1);
                if ($rt_suspending()) {
                    break main;
                }
                $var5 = $tmp;
                if ($var5 === null) {
                    $ptr = 9;
                    continue main;
                }
                var$3 = $rt_s(1455);
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 7:
            try {
                $tmp = jl_String_split($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $var3 = $var3.data;
                $var5 = $var3[0];
                var$3 = $rt_s(1498);
                $ptr = 8;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 8:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                if ($var4)
                    $this.$musicVolume = nms_GameSettings_parseFloat($this, $var3[1]);
                $var5 = $var3[0];
                var$3 = $rt_s(1499);
                $ptr = 10;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 9:
            a: {
                try {
                    ji_BufferedReader_close($var1);
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var5 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return;
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 10:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                if ($var4)
                    $this.$soundVolume = nms_GameSettings_parseFloat($this, $var3[1]);
                $var5 = $var3[0];
                var$3 = $rt_s(1500);
                $ptr = 11;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 11:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                if ($var4)
                    $this.$mouseSensitivity = nms_GameSettings_parseFloat($this, $var3[1]);
                $var5 = $var3[0];
                var$3 = $rt_s(1501);
                $ptr = 12;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 12:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                if (!$var4) {
                    $var5 = $var3[0];
                    var$3 = $rt_s(1502);
                    $ptr = 13;
                    continue main;
                }
                $var5 = $var3[1];
                var$3 = $rt_s(17);
                $ptr = 14;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 13:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                if ($var4) {
                    $var5 = $var3[1];
                    $ptr = 16;
                    continue main;
                }
                $var5 = $var3[0];
                var$3 = $rt_s(1503);
                $ptr = 15;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 14:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                $this.$invertMouse = $var4;
                $var5 = $var3[0];
                var$3 = $rt_s(1502);
                $ptr = 13;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 15:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                if ($var4) {
                    $var5 = $var3[1];
                    $ptr = 18;
                    continue main;
                }
                $var5 = $var3[0];
                var$3 = $rt_s(1504);
                $ptr = 17;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 16:
            try {
                $tmp = jl_Integer_parseInt0($var5);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                $this.$renderDistance = $var4;
                $var5 = $var3[0];
                var$3 = $rt_s(1503);
                $ptr = 15;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 17:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                if (!$var4) {
                    $var5 = $var3[0];
                    var$3 = $rt_s(1505);
                    $ptr = 19;
                    continue main;
                }
                $var5 = $var3[1];
                var$3 = $rt_s(17);
                $ptr = 20;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 18:
            try {
                $tmp = jl_Integer_parseInt0($var5);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                $this.$field_25148_H = $var4;
                $var5 = $var3[0];
                var$3 = $rt_s(1504);
                $ptr = 17;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 19:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                if (!$var4) {
                    $var5 = $var3[0];
                    var$3 = $rt_s(1506);
                    $ptr = 21;
                    continue main;
                }
                $var5 = $var3[1];
                var$3 = $rt_s(17);
                $ptr = 22;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 20:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                $this.$viewBobbing = $var4;
                $var5 = $var3[0];
                var$3 = $rt_s(1505);
                $ptr = 19;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 21:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                if (!$var4) {
                    $var5 = $var3[0];
                    var$3 = $rt_s(1507);
                    $ptr = 23;
                    continue main;
                }
                $var5 = $var3[1];
                var$3 = $rt_s(17);
                $ptr = 24;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 22:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                $this.$anaglyph = $var4;
                $var5 = $var3[0];
                var$3 = $rt_s(1506);
                $ptr = 21;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 23:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                if ($var4) {
                    $var5 = $var3[1];
                    $ptr = 26;
                    continue main;
                }
                $var5 = $var3[0];
                var$3 = $rt_s(1508);
                $ptr = 25;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 24:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                $this.$limitFramerate = $var4;
                $var5 = $var3[0];
                var$3 = $rt_s(1507);
                $ptr = 23;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 25:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                if (!$var4) {
                    $var5 = $var3[0];
                    var$3 = $rt_s(1509);
                    $ptr = 27;
                    continue main;
                }
                $var5 = $var3[1];
                var$3 = $rt_s(17);
                $ptr = 28;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 26:
            try {
                $tmp = jl_Integer_parseInt0($var5);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                $this.$difficulty = $var4;
                $var5 = $var3[0];
                var$3 = $rt_s(1508);
                $ptr = 25;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 27:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                if (!$var4) {
                    $var5 = $var3[0];
                    var$3 = $rt_s(1510);
                    $ptr = 29;
                    continue main;
                }
                $var5 = $var3[1];
                var$3 = $rt_s(17);
                $ptr = 30;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 28:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                $this.$fancyGraphics = $var4;
                $var5 = $var3[0];
                var$3 = $rt_s(1509);
                $ptr = 27;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 29:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                if ($var4)
                    $this.$skin = $var3[1];
                $var5 = $var3[0];
                var$3 = $rt_s(1511);
                $ptr = 31;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 30:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                $this.$ambientOcclusion = $var4;
                $var5 = $var3[0];
                var$3 = $rt_s(1510);
                $ptr = 29;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 31:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                if ($var4 && $var3.length >= 2)
                    $this.$lastServer = $var3[1];
                $var4 = 0;
                var$6 = $this.$keyBindings.data;
                if ($var4 >= var$6.length) {
                    $ptr = 6;
                    continue main;
                }
                $var5 = $var3[0];
                var$3 = var$6[$var4].$keyDescription;
                var$7 = jl_StringBuilder__init_0();
                var$8 = $rt_s(1512);
                $ptr = 32;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 32:
            try {
                $tmp = jl_StringBuilder_append(var$7, var$8);
                if ($rt_suspending()) {
                    break main;
                }
                var$8 = $tmp;
                $ptr = 33;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 33:
            try {
                jl_StringBuilder_append(var$8, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 34;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 34:
            try {
                $tmp = jl_StringBuilder_toString(var$7);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                $ptr = 35;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 35:
            try {
                $tmp = jl_String_equals($var5, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$9 = $tmp;
                if (var$9) {
                    $var5 = $this.$keyBindings.data[$var4];
                    var$3 = $var3[1];
                    $ptr = 36;
                    continue main;
                }
                $var4 = $var4 + 1 | 0;
                var$6 = $this.$keyBindings.data;
                if ($var4 >= var$6.length) {
                    $ptr = 6;
                    continue main;
                }
                $var5 = $var3[0];
                var$3 = var$6[$var4].$keyDescription;
                var$7 = jl_StringBuilder__init_0();
                var$8 = $rt_s(1512);
                $ptr = 32;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        case 36:
            try {
                $tmp = jl_Integer_parseInt0(var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$9 = $tmp;
                $var5.$keyCode = var$9;
                $var4 = $var4 + 1 | 0;
                var$6 = $this.$keyBindings.data;
                if ($var4 >= var$6.length) {
                    $ptr = 6;
                    continue main;
                }
                $var5 = $var3[0];
                var$3 = var$6[$var4].$keyDescription;
                var$7 = jl_StringBuilder__init_0();
                var$8 = $rt_s(1512);
                $ptr = 32;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1497);
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var5, $var1, var$3, $var4, $var3, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_GameSettings_parseFloat($this, $var1) {
        return jl_String_equals($var1, $rt_s(17)) ? 1.0 : !jl_String_equals($var1, $rt_s(16)) ? jl_Float_parseFloat($var1) : 0.0;
    }
    function nms_GameSettings_saveOptions($this) {
        var $var1, $var3, var$3, var$4, $var2, var$6, var$7, var$8, var$9, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var2 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            try {
                $var1 = new ji_PrintWriter;
                $var3 = new ji_OutputStreamWriter;
                var$3 = $this.$optionsFile;
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 1:
            try {
                $tmp = nleiv_VFile2_getOutputStream(var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                ji_OutputStreamWriter__init_($var3, var$3);
                ji_PrintWriter__init_($var1, $var3);
                var$4 = $this.$musicVolume;
                $var3 = jl_StringBuilder__init_0();
                var$3 = $rt_s(1514);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 2:
            try {
                $tmp = jl_StringBuilder_append($var3, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                jl_StringBuilder_append3(var$3, var$4);
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 3:
            try {
                $tmp = jl_StringBuilder_toString($var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 6;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
        case 4:
            ji_PrintStream_println0($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            jl_Throwable_printStackTrace($var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            try {
                ji_PrintWriter_println($var1, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                var$4 = $this.$soundVolume;
                $var3 = jl_StringBuilder__init_0();
                var$3 = $rt_s(1515);
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 7:
            try {
                $tmp = jl_StringBuilder_append($var3, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                jl_StringBuilder_append3(var$3, var$4);
                $ptr = 8;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 8:
            try {
                $tmp = jl_StringBuilder_toString($var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 9;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 9:
            try {
                ji_PrintWriter_println($var1, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $this.$invertMouse;
                $var3 = jl_StringBuilder__init_0();
                var$3 = $rt_s(1516);
                $ptr = 10;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 10:
            try {
                $tmp = jl_StringBuilder_append($var3, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                jl_StringBuilder_append6(var$3, $var2);
                $ptr = 11;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 11:
            try {
                $tmp = jl_StringBuilder_toString($var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 12;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 12:
            try {
                ji_PrintWriter_println($var1, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                var$4 = $this.$mouseSensitivity;
                $var3 = jl_StringBuilder__init_0();
                var$3 = $rt_s(1517);
                $ptr = 13;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 13:
            try {
                $tmp = jl_StringBuilder_append($var3, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                jl_StringBuilder_append3(var$3, var$4);
                $ptr = 14;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 14:
            try {
                $tmp = jl_StringBuilder_toString($var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 15;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 15:
            try {
                ji_PrintWriter_println($var1, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $this.$renderDistance;
                $var3 = jl_StringBuilder__init_0();
                var$3 = $rt_s(1518);
                $ptr = 16;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 16:
            try {
                $tmp = jl_StringBuilder_append($var3, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                jl_StringBuilder_append1(var$3, $var2);
                $ptr = 17;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 17:
            try {
                $tmp = jl_StringBuilder_toString($var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 18;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 18:
            try {
                ji_PrintWriter_println($var1, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $this.$field_25148_H;
                $var3 = jl_StringBuilder__init_0();
                var$3 = $rt_s(1519);
                $ptr = 19;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 19:
            try {
                $tmp = jl_StringBuilder_append($var3, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                jl_StringBuilder_append1(var$3, $var2);
                $ptr = 20;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 20:
            try {
                $tmp = jl_StringBuilder_toString($var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 21;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 21:
            try {
                ji_PrintWriter_println($var1, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $this.$viewBobbing;
                $var3 = jl_StringBuilder__init_0();
                var$3 = $rt_s(1520);
                $ptr = 22;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 22:
            try {
                $tmp = jl_StringBuilder_append($var3, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                jl_StringBuilder_append6(var$3, $var2);
                $ptr = 23;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 23:
            try {
                $tmp = jl_StringBuilder_toString($var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 24;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 24:
            try {
                ji_PrintWriter_println($var1, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $this.$anaglyph;
                $var3 = jl_StringBuilder__init_0();
                var$3 = $rt_s(1521);
                $ptr = 25;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 25:
            try {
                $tmp = jl_StringBuilder_append($var3, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                jl_StringBuilder_append6(var$3, $var2);
                $ptr = 26;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 26:
            try {
                $tmp = jl_StringBuilder_toString($var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 27;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 27:
            try {
                ji_PrintWriter_println($var1, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $this.$limitFramerate;
                $var3 = jl_StringBuilder__init_0();
                var$3 = $rt_s(1522);
                $ptr = 28;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 28:
            try {
                $tmp = jl_StringBuilder_append($var3, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                jl_StringBuilder_append6(var$3, $var2);
                $ptr = 29;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 29:
            try {
                $tmp = jl_StringBuilder_toString($var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 30;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 30:
            try {
                ji_PrintWriter_println($var1, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $this.$difficulty;
                $var3 = jl_StringBuilder__init_0();
                var$3 = $rt_s(1523);
                $ptr = 31;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 31:
            try {
                $tmp = jl_StringBuilder_append($var3, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                jl_StringBuilder_append1(var$3, $var2);
                $ptr = 32;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 32:
            try {
                $tmp = jl_StringBuilder_toString($var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 33;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 33:
            try {
                ji_PrintWriter_println($var1, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $this.$fancyGraphics;
                $var3 = jl_StringBuilder__init_0();
                var$3 = $rt_s(1524);
                $ptr = 34;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 34:
            try {
                $tmp = jl_StringBuilder_append($var3, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                jl_StringBuilder_append6(var$3, $var2);
                $ptr = 35;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 35:
            try {
                $tmp = jl_StringBuilder_toString($var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 36;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 36:
            try {
                ji_PrintWriter_println($var1, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $this.$ambientOcclusion;
                $var3 = jl_StringBuilder__init_0();
                var$3 = $rt_s(1525);
                $ptr = 37;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 37:
            try {
                $tmp = jl_StringBuilder_append($var3, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                jl_StringBuilder_append6(var$3, $var2);
                $ptr = 38;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 38:
            try {
                $tmp = jl_StringBuilder_toString($var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 39;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 39:
            try {
                ji_PrintWriter_println($var1, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $this.$skin;
                var$3 = jl_StringBuilder__init_0();
                var$6 = $rt_s(1526);
                $ptr = 40;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 40:
            try {
                $tmp = jl_StringBuilder_append(var$3, var$6);
                if ($rt_suspending()) {
                    break main;
                }
                var$6 = $tmp;
                $ptr = 41;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 41:
            try {
                jl_StringBuilder_append(var$6, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 42;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 42:
            try {
                $tmp = jl_StringBuilder_toString(var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 43;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 43:
            try {
                ji_PrintWriter_println($var1, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $this.$lastServer;
                var$3 = jl_StringBuilder__init_0();
                var$6 = $rt_s(1527);
                $ptr = 44;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 44:
            try {
                $tmp = jl_StringBuilder_append(var$3, var$6);
                if ($rt_suspending()) {
                    break main;
                }
                var$6 = $tmp;
                $ptr = 45;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 45:
            try {
                jl_StringBuilder_append(var$6, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 46;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 46:
            try {
                $tmp = jl_StringBuilder_toString(var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 47;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 47:
            a: {
                try {
                    ji_PrintWriter_println($var1, $var3);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $var2 = 0;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var3 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                var$7 = 58;
                b: {
                    try {
                        var$8 = $this.$keyBindings.data;
                        if ($var2 < var$8.length)
                            break b;
                        $ptr = 48;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Exception) {
                            $var3 = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                }
                try {
                    $var3 = var$8[$var2].$keyDescription;
                    var$9 = var$8[$var2].$keyCode;
                    var$3 = jl_StringBuilder__init_0();
                    var$6 = $rt_s(1512);
                    $ptr = 49;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var3 = $$je;
                    } else {
                        throw $$e;
                    }
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 48:
            a: {
                try {
                    ji_PrintWriter_close($var1);
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var3 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return;
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 49:
            try {
                $tmp = jl_StringBuilder_append(var$3, var$6);
                if ($rt_suspending()) {
                    break main;
                }
                var$6 = $tmp;
                $ptr = 50;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 50:
            try {
                $tmp = jl_StringBuilder_append(var$6, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                jl_StringBuilder_append1(jl_StringBuilder_append5($var3, var$7), var$9);
                $ptr = 51;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 51:
            try {
                $tmp = jl_StringBuilder_toString(var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 52;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        case 52:
            try {
                ji_PrintWriter_println($var1, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $var2 + 1 | 0;
                var$8 = $this.$keyBindings.data;
                if ($var2 >= var$8.length) {
                    $ptr = 48;
                    continue main;
                }
                $var3 = var$8[$var2].$keyDescription;
                var$9 = var$8[$var2].$keyCode;
                var$3 = jl_StringBuilder__init_0();
                var$6 = $rt_s(1512);
                $ptr = 49;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $var1 = jl_System_out();
            var$3 = $rt_s(1513);
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, var$3, var$4, $var2, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_GameSettings__clinit_() {
        nms_GameSettings_RENDER_DISTANCES = $rt_createArrayFromData(jl_String, [$rt_s(1528), $rt_s(1529), $rt_s(1530), $rt_s(1531)]);
        nms_GameSettings_DIFFICULTIES = $rt_createArrayFromData(jl_String, [$rt_s(1532), $rt_s(1533), $rt_s(1534), $rt_s(1535)]);
        nms_GameSettings_field_25147_K = $rt_createArrayFromData(jl_String, [$rt_s(1536), $rt_s(1537), $rt_s(1538), $rt_s(1539)]);
    }
    var nle_KeyboardConstants = $rt_classWithoutFields();
    var nle_KeyboardConstants_keyboardNames = null;
    var nle_KeyboardConstants_keyboardGLFWToEagler = null;
    var nle_KeyboardConstants_keyboardEaglerToGLFW = null;
    var nle_KeyboardConstants_keyboardBrowserToEagler = null;
    var nle_KeyboardConstants_keyboardEaglerToBrowser = null;
    var nle_KeyboardConstants_keyboardChars = null;
    var nle_KeyboardConstants_$clinitCalled = false;
    function nle_KeyboardConstants_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nle_KeyboardConstants_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nle_KeyboardConstants_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nle_KeyboardConstants__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nle_KeyboardConstants_$callClinit = $rt_eraseClinit(nle_KeyboardConstants);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nle_KeyboardConstants__init_0() {
        var var_0 = new nle_KeyboardConstants();
        nle_KeyboardConstants__init_(var_0);
        return var_0;
    }
    function nle_KeyboardConstants__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_KeyboardConstants_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nle_KeyboardConstants_register($eaglerId, $glfwId, $browserId, $browserLocation, $name, $character) {
        var var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$character = $thread.pop();$name = $thread.pop();$browserLocation = $thread.pop();$browserId = $thread.pop();$glfwId = $thread.pop();$eaglerId = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_KeyboardConstants_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = nle_KeyboardConstants_keyboardEaglerToGLFW.data;
            if (var$7[$eaglerId]) {
                $name = new jl_IllegalArgumentException;
                var$8 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$8);
                var$9 = $rt_s(1540);
                $ptr = 2;
                continue main;
            }
            var$7[$eaglerId] = $glfwId;
            var$7 = nle_KeyboardConstants_keyboardGLFWToEagler.data;
            if (var$7[$glfwId]) {
                $name = new jl_IllegalArgumentException;
                var$8 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$8);
                var$9 = $rt_s(1541);
                $ptr = 5;
                continue main;
            }
            a: {
                var$7[$glfwId] = $eaglerId;
                if (!$browserLocation) {
                    var$7 = nle_KeyboardConstants_keyboardEaglerToBrowser.data;
                    if (var$7[$eaglerId]) {
                        $name = new jl_IllegalArgumentException;
                        var$8 = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_(var$8);
                        var$9 = $rt_s(1542);
                        $ptr = 11;
                        continue main;
                    }
                    var$7[$eaglerId] = $browserId;
                    var$7 = nle_KeyboardConstants_keyboardBrowserToEagler.data;
                    if (!var$7[$browserId]) {
                        var$7[$browserId] = $eaglerId;
                        break a;
                    }
                    $name = new jl_IllegalArgumentException;
                    var$8 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$8);
                    var$9 = $rt_s(1543);
                    $ptr = 18;
                    continue main;
                }
                $browserLocation = $browserLocation * 384 | 0;
                var$7 = nle_KeyboardConstants_keyboardEaglerToBrowser.data;
                if (var$7[$eaglerId]) {
                    $name = new jl_IllegalArgumentException;
                    var$8 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$8);
                    var$9 = $rt_s(1542);
                    $ptr = 8;
                    continue main;
                }
                var$10 = $browserId + $browserLocation | 0;
                var$7[$eaglerId] = var$10;
                var$7 = nle_KeyboardConstants_keyboardBrowserToEagler.data;
                if (var$7[var$10]) {
                    $name = new jl_IllegalArgumentException;
                    var$8 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$8);
                    var$9 = $rt_s(1543);
                    $ptr = 15;
                    continue main;
                }
                var$7[var$10] = $eaglerId;
            }
            var$7 = nle_KeyboardConstants_keyboardNames.data;
            if (var$7[$eaglerId] !== null) {
                var$8 = new jl_IllegalArgumentException;
                var$9 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$9);
                var$11 = $rt_s(1544);
                $ptr = 21;
                continue main;
            }
            var$7[$eaglerId] = $name;
            var$7 = nle_KeyboardConstants_keyboardChars.data;
            if (!var$7[$eaglerId]) {
                var$7[$eaglerId] = $character;
                return;
            }
            $name = new jl_IllegalArgumentException;
            var$8 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$8);
            var$9 = $rt_s(1545);
            $ptr = 25;
            continue main;
        case 2:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $eaglerId);
            var$11 = $rt_s(1462);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $glfwId);
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_($name, var$8);
            $rt_throw($name);
        case 5:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $glfwId);
            var$11 = $rt_s(1462);
            $ptr = 6;
        case 6:
            $tmp = jl_StringBuilder_append(var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $eaglerId);
            $ptr = 7;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_($name, var$8);
            $rt_throw($name);
        case 8:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $eaglerId);
            var$11 = $rt_s(1462);
            $ptr = 9;
        case 9:
            $tmp = jl_StringBuilder_append(var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $browserId);
            jl_AbstractStringBuilder_append(var$9, 40);
            jl_AbstractStringBuilder_append0(var$9, $browserLocation);
            jl_AbstractStringBuilder_append(var$9, 41);
            $ptr = 10;
        case 10:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_($name, var$8);
            $rt_throw($name);
        case 11:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $eaglerId);
            var$11 = $rt_s(1462);
            $ptr = 12;
        case 12:
            $tmp = jl_StringBuilder_append(var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $browserId);
            var$11 = $rt_s(1546);
            $ptr = 13;
        case 13:
            jl_StringBuilder_append(var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_($name, var$8);
            $rt_throw($name);
        case 15:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $browserId);
            jl_AbstractStringBuilder_append(var$9, 40);
            jl_AbstractStringBuilder_append0(var$9, $browserLocation);
            var$11 = $rt_s(1547);
            $ptr = 16;
        case 16:
            $tmp = jl_StringBuilder_append(var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $eaglerId);
            $ptr = 17;
        case 17:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_($name, var$8);
            $rt_throw($name);
        case 18:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $browserId);
            var$11 = $rt_s(1548);
            $ptr = 19;
        case 19:
            $tmp = jl_StringBuilder_append(var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $eaglerId);
            $ptr = 20;
        case 20:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_($name, var$8);
            $rt_throw($name);
        case 21:
            $tmp = jl_StringBuilder_append(var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            jl_AbstractStringBuilder_append0(var$11, $eaglerId);
            var$12 = $rt_s(1462);
            $ptr = 22;
        case 22:
            $tmp = jl_StringBuilder_append(var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            $ptr = 23;
        case 23:
            jl_StringBuilder_append(var$11, $name);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 24;
        case 24:
            $tmp = jl_AbstractStringBuilder_toString(var$9);
            if ($rt_suspending()) {
                break main;
            }
            $name = $tmp;
            jl_Throwable__init_(var$8, $name);
            $rt_throw(var$8);
        case 25:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, $eaglerId);
            var$11 = $rt_s(1462);
            $ptr = 26;
        case 26:
            $tmp = jl_StringBuilder_append(var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append(var$9, $character);
            $ptr = 27;
        case 27:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_($name, var$8);
            $rt_throw($name);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($eaglerId, $glfwId, $browserId, $browserLocation, $name, $character, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function nle_KeyboardConstants_registerAlt($eaglerId, $browserId, $browserLocation) {
        var var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$browserLocation = $thread.pop();$browserId = $thread.pop();$eaglerId = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_KeyboardConstants_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            a: {
                if (!$browserLocation) {
                    var$4 = nle_KeyboardConstants_keyboardBrowserToEagler.data;
                    if (!var$4[$browserId]) {
                        var$4[$browserId] = $eaglerId;
                        break a;
                    }
                    var$5 = new jl_IllegalArgumentException;
                    var$6 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$6);
                    var$7 = $rt_s(1549);
                    $ptr = 5;
                    continue main;
                }
                $browserLocation = $browserLocation * 384 | 0;
                var$4 = nle_KeyboardConstants_keyboardBrowserToEagler.data;
                var$8 = $browserId + $browserLocation | 0;
                if (var$4[var$8]) {
                    var$5 = new jl_IllegalArgumentException;
                    var$6 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$6);
                    var$7 = $rt_s(1549);
                    $ptr = 2;
                    continue main;
                }
                var$4[var$8] = $eaglerId;
            }
            return;
        case 2:
            $tmp = jl_StringBuilder_append(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append0(var$7, $browserId);
            jl_AbstractStringBuilder_append(var$7, 40);
            jl_AbstractStringBuilder_append0(var$7, $browserLocation);
            var$9 = $rt_s(1547);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$7, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append0(var$7, $eaglerId);
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_(var$5, var$6);
            $rt_throw(var$5);
        case 5:
            $tmp = jl_StringBuilder_append(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append0(var$7, $browserId);
            var$9 = $rt_s(1462);
            $ptr = 6;
        case 6:
            $tmp = jl_StringBuilder_append(var$7, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append0(var$7, $eaglerId);
            $ptr = 7;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_(var$5, var$6);
            $rt_throw(var$5);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($eaglerId, $browserId, $browserLocation, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nle_KeyboardConstants_getEaglerKeyFromBrowser($key, $location) {
        var var$3, $i, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$i = $thread.pop();var$3 = $thread.pop();$location = $thread.pop();$key = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_KeyboardConstants_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($key >= 0 && $key < 384) {
                if ($location > 0 && $location < 4) {
                    var$3 = nle_KeyboardConstants_keyboardBrowserToEagler.data;
                    $i = var$3[$key + ($location * 384 | 0) | 0];
                    if (!$i)
                        $i = var$3[$key];
                    return $i;
                }
                return nle_KeyboardConstants_keyboardBrowserToEagler.data[$key];
            }
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($key, $location, var$3, $i, $ptr);
    }
    function nle_KeyboardConstants__clinit_() {
        var var$1, var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nle_KeyboardConstants_keyboardNames = $rt_createArray(jl_String, 256);
            nle_KeyboardConstants_keyboardGLFWToEagler = $rt_createIntArray(384);
            nle_KeyboardConstants_keyboardEaglerToGLFW = $rt_createIntArray(256);
            nle_KeyboardConstants_keyboardBrowserToEagler = $rt_createIntArray(1536);
            nle_KeyboardConstants_keyboardEaglerToBrowser = $rt_createIntArray(256);
            nle_KeyboardConstants_keyboardChars = $rt_createCharArray(256);
            var$1 = 57;
            var$2 = 32;
            var$3 = 32;
            var$4 = 0;
            var$5 = $rt_s(814);
            var$6 = 32;
            $ptr = 1;
        case 1:
            nle_KeyboardConstants_register(var$1, var$2, var$3, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 40;
            var$3 = 39;
            var$4 = 222;
            var$6 = 0;
            var$5 = $rt_s(792);
            var$1 = 39;
            $ptr = 2;
        case 2:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 51;
            var$3 = 44;
            var$4 = 188;
            var$6 = 0;
            var$5 = $rt_s(789);
            var$1 = 44;
            $ptr = 3;
        case 3:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 12;
            var$3 = 45;
            var$4 = 189;
            var$6 = 0;
            var$5 = $rt_s(798);
            var$1 = 45;
            $ptr = 4;
        case 4:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 52;
            var$3 = 46;
            var$4 = 190;
            var$6 = 0;
            var$5 = $rt_s(790);
            var$1 = 46;
            $ptr = 5;
        case 5:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 53;
            var$3 = 47;
            var$4 = 191;
            var$6 = 0;
            var$5 = $rt_s(800);
            var$1 = 47;
            $ptr = 6;
        case 6:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 11;
            var$3 = 48;
            var$4 = 48;
            var$6 = 0;
            var$5 = $rt_s(19);
            var$1 = 48;
            $ptr = 7;
        case 7:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 2;
            var$3 = 49;
            var$4 = 49;
            var$6 = 0;
            var$5 = $rt_s(1550);
            var$1 = 49;
            $ptr = 8;
        case 8:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 3;
            var$3 = 50;
            var$4 = 50;
            var$6 = 0;
            var$5 = $rt_s(1551);
            var$1 = 50;
            $ptr = 9;
        case 9:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 4;
            var$3 = 51;
            var$4 = 51;
            var$6 = 0;
            var$5 = $rt_s(1552);
            var$1 = 51;
            $ptr = 10;
        case 10:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 5;
            var$3 = 52;
            var$4 = 52;
            var$6 = 0;
            var$5 = $rt_s(1553);
            var$1 = 52;
            $ptr = 11;
        case 11:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 6;
            var$3 = 53;
            var$4 = 53;
            var$6 = 0;
            var$5 = $rt_s(1554);
            var$1 = 53;
            $ptr = 12;
        case 12:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 7;
            var$3 = 54;
            var$4 = 54;
            var$6 = 0;
            var$5 = $rt_s(1555);
            var$1 = 54;
            $ptr = 13;
        case 13:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 8;
            var$3 = 55;
            var$4 = 55;
            var$6 = 0;
            var$5 = $rt_s(1556);
            var$1 = 55;
            $ptr = 14;
        case 14:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 9;
            var$3 = 56;
            var$4 = 56;
            var$6 = 0;
            var$5 = $rt_s(1557);
            var$1 = 56;
            $ptr = 15;
        case 15:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 10;
            var$3 = 57;
            var$4 = 57;
            var$6 = 0;
            var$5 = $rt_s(1558);
            var$1 = 57;
            $ptr = 16;
        case 16:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 39;
            var$3 = 59;
            var$4 = 186;
            var$6 = 0;
            var$5 = $rt_s(791);
            var$1 = 59;
            $ptr = 17;
        case 17:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 13;
            var$3 = 61;
            var$4 = 187;
            var$6 = 0;
            var$5 = $rt_s(1559);
            var$1 = 61;
            $ptr = 18;
        case 18:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 30;
            var$3 = 65;
            var$4 = 65;
            var$6 = 0;
            var$5 = $rt_s(1164);
            var$1 = 97;
            $ptr = 19;
        case 19:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 48;
            var$3 = 66;
            var$4 = 66;
            var$6 = 0;
            var$5 = $rt_s(1165);
            var$1 = 98;
            $ptr = 20;
        case 20:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 46;
            var$3 = 67;
            var$4 = 67;
            var$6 = 0;
            var$5 = $rt_s(1560);
            var$1 = 99;
            $ptr = 21;
        case 21:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 32;
            var$3 = 68;
            var$4 = 68;
            var$6 = 0;
            var$5 = $rt_s(1294);
            var$1 = 100;
            $ptr = 22;
        case 22:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 18;
            var$3 = 69;
            var$4 = 69;
            var$6 = 0;
            var$5 = $rt_s(1561);
            var$1 = 101;
            $ptr = 23;
        case 23:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 33;
            var$3 = 70;
            var$4 = 70;
            var$6 = 0;
            var$5 = $rt_s(1562);
            var$1 = 102;
            $ptr = 24;
        case 24:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 34;
            var$3 = 71;
            var$4 = 71;
            var$6 = 0;
            var$5 = $rt_s(1563);
            var$1 = 103;
            $ptr = 25;
        case 25:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 35;
            var$3 = 72;
            var$4 = 72;
            var$6 = 0;
            var$5 = $rt_s(1564);
            var$1 = 104;
            $ptr = 26;
        case 26:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 23;
            var$3 = 73;
            var$4 = 73;
            var$6 = 0;
            var$5 = $rt_s(1565);
            var$1 = 105;
            $ptr = 27;
        case 27:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 36;
            var$3 = 74;
            var$4 = 74;
            var$6 = 0;
            var$5 = $rt_s(1566);
            var$1 = 106;
            $ptr = 28;
        case 28:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 37;
            var$3 = 75;
            var$4 = 75;
            var$6 = 0;
            var$5 = $rt_s(1567);
            var$1 = 107;
            $ptr = 29;
        case 29:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 38;
            var$3 = 76;
            var$4 = 76;
            var$6 = 0;
            var$5 = $rt_s(1568);
            var$1 = 108;
            $ptr = 30;
        case 30:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 50;
            var$3 = 77;
            var$4 = 77;
            var$6 = 0;
            var$5 = $rt_s(1569);
            var$1 = 109;
            $ptr = 31;
        case 31:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 49;
            var$3 = 78;
            var$4 = 78;
            var$6 = 0;
            var$5 = $rt_s(1428);
            var$1 = 110;
            $ptr = 32;
        case 32:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 24;
            var$3 = 79;
            var$4 = 79;
            var$6 = 0;
            var$5 = $rt_s(1570);
            var$1 = 111;
            $ptr = 33;
        case 33:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 25;
            var$3 = 80;
            var$4 = 80;
            var$6 = 0;
            var$5 = $rt_s(1571);
            var$1 = 112;
            $ptr = 34;
        case 34:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 16;
            var$3 = 81;
            var$4 = 81;
            var$6 = 0;
            var$5 = $rt_s(1572);
            var$1 = 113;
            $ptr = 35;
        case 35:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 19;
            var$3 = 82;
            var$4 = 82;
            var$6 = 0;
            var$5 = $rt_s(1573);
            var$1 = 114;
            $ptr = 36;
        case 36:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 31;
            var$3 = 83;
            var$4 = 83;
            var$6 = 0;
            var$5 = $rt_s(1292);
            var$1 = 115;
            $ptr = 37;
        case 37:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 20;
            var$3 = 84;
            var$4 = 84;
            var$6 = 0;
            var$5 = $rt_s(1574);
            var$1 = 116;
            $ptr = 38;
        case 38:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 22;
            var$3 = 85;
            var$4 = 85;
            var$6 = 0;
            var$5 = $rt_s(1575);
            var$1 = 117;
            $ptr = 39;
        case 39:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 47;
            var$3 = 86;
            var$4 = 86;
            var$6 = 0;
            var$5 = $rt_s(1576);
            var$1 = 118;
            $ptr = 40;
        case 40:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 17;
            var$3 = 87;
            var$4 = 87;
            var$6 = 0;
            var$5 = $rt_s(1290);
            var$1 = 119;
            $ptr = 41;
        case 41:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 45;
            var$3 = 88;
            var$4 = 88;
            var$6 = 0;
            var$5 = $rt_s(1161);
            var$1 = 120;
            $ptr = 42;
        case 42:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 21;
            var$3 = 89;
            var$4 = 89;
            var$6 = 0;
            var$5 = $rt_s(1218);
            var$1 = 121;
            $ptr = 43;
        case 43:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 44;
            var$3 = 90;
            var$4 = 90;
            var$6 = 0;
            var$5 = $rt_s(1577);
            var$1 = 122;
            $ptr = 44;
        case 44:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 26;
            var$3 = 91;
            var$4 = 219;
            var$6 = 0;
            var$5 = $rt_s(1578);
            var$1 = 91;
            $ptr = 45;
        case 45:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 43;
            var$3 = 92;
            var$4 = 220;
            var$6 = 0;
            var$5 = $rt_s(796);
            var$1 = 92;
            $ptr = 46;
        case 46:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 27;
            var$3 = 93;
            var$4 = 221;
            var$6 = 0;
            var$5 = $rt_s(1579);
            var$1 = 93;
            $ptr = 47;
        case 47:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 41;
            var$3 = 96;
            var$4 = 192;
            var$6 = 0;
            var$5 = $rt_s(1580);
            var$1 = 96;
            $ptr = 48;
        case 48:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 1;
            var$3 = 256;
            var$4 = 27;
            var$6 = 0;
            var$5 = $rt_s(828);
            var$1 = 0;
            $ptr = 49;
        case 49:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 28;
            var$3 = 257;
            var$4 = 13;
            var$6 = 0;
            var$5 = $rt_s(813);
            var$1 = 10;
            $ptr = 50;
        case 50:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 15;
            var$3 = 258;
            var$4 = 9;
            var$6 = 0;
            var$5 = $rt_s(816);
            var$1 = 9;
            $ptr = 51;
        case 51:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 14;
            var$3 = 259;
            var$4 = 8;
            var$6 = 0;
            var$5 = $rt_s(815);
            var$1 = 0;
            $ptr = 52;
        case 52:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 210;
            var$3 = 260;
            var$4 = 45;
            var$6 = 0;
            var$5 = $rt_s(821);
            var$1 = 0;
            $ptr = 53;
        case 53:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 211;
            var$3 = 261;
            var$4 = 46;
            var$6 = 0;
            var$5 = $rt_s(817);
            var$1 = 0;
            $ptr = 54;
        case 54:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 205;
            var$3 = 262;
            var$4 = 39;
            var$6 = 0;
            var$5 = $rt_s(1581);
            var$1 = 0;
            $ptr = 55;
        case 55:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 203;
            var$3 = 263;
            var$4 = 37;
            var$6 = 0;
            var$5 = $rt_s(1582);
            var$1 = 0;
            $ptr = 56;
        case 56:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 208;
            var$3 = 264;
            var$4 = 40;
            var$6 = 0;
            var$5 = $rt_s(1583);
            var$1 = 0;
            $ptr = 57;
        case 57:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 200;
            var$3 = 265;
            var$4 = 38;
            var$6 = 0;
            var$5 = $rt_s(1584);
            var$1 = 0;
            $ptr = 58;
        case 58:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 201;
            var$3 = 266;
            var$4 = 33;
            var$6 = 0;
            var$5 = $rt_s(1585);
            var$1 = 0;
            $ptr = 59;
        case 59:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 209;
            var$3 = 267;
            var$4 = 34;
            var$6 = 0;
            var$5 = $rt_s(1586);
            var$1 = 0;
            $ptr = 60;
        case 60:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 199;
            var$3 = 268;
            var$4 = 36;
            var$6 = 0;
            var$5 = $rt_s(820);
            var$1 = 0;
            $ptr = 61;
        case 61:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 207;
            var$3 = 269;
            var$4 = 35;
            var$6 = 0;
            var$5 = $rt_s(818);
            var$1 = 0;
            $ptr = 62;
        case 62:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 58;
            var$3 = 280;
            var$4 = 20;
            var$6 = 0;
            var$5 = $rt_s(1587);
            var$1 = 0;
            $ptr = 63;
        case 63:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 70;
            var$3 = 281;
            var$4 = 145;
            var$6 = 0;
            var$5 = $rt_s(1588);
            var$1 = 0;
            $ptr = 64;
        case 64:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 69;
            var$3 = 282;
            var$4 = 144;
            var$6 = 0;
            var$5 = $rt_s(1589);
            var$1 = 0;
            $ptr = 65;
        case 65:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 197;
            var$3 = 284;
            var$4 = 19;
            var$6 = 0;
            var$5 = $rt_s(831);
            var$1 = 0;
            $ptr = 66;
        case 66:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 59;
            var$3 = 290;
            var$4 = 112;
            var$6 = 0;
            var$5 = $rt_s(832);
            var$1 = 0;
            $ptr = 67;
        case 67:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 60;
            var$3 = 291;
            var$4 = 113;
            var$6 = 0;
            var$5 = $rt_s(833);
            var$1 = 0;
            $ptr = 68;
        case 68:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 61;
            var$3 = 292;
            var$4 = 114;
            var$6 = 0;
            var$5 = $rt_s(834);
            var$1 = 0;
            $ptr = 69;
        case 69:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 62;
            var$3 = 293;
            var$4 = 115;
            var$6 = 0;
            var$5 = $rt_s(835);
            var$1 = 0;
            $ptr = 70;
        case 70:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 63;
            var$3 = 294;
            var$4 = 116;
            var$6 = 0;
            var$5 = $rt_s(836);
            var$1 = 0;
            $ptr = 71;
        case 71:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 64;
            var$3 = 295;
            var$4 = 117;
            var$6 = 0;
            var$5 = $rt_s(837);
            var$1 = 0;
            $ptr = 72;
        case 72:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 65;
            var$3 = 296;
            var$4 = 118;
            var$6 = 0;
            var$5 = $rt_s(838);
            var$1 = 0;
            $ptr = 73;
        case 73:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 66;
            var$3 = 297;
            var$4 = 119;
            var$6 = 0;
            var$5 = $rt_s(839);
            var$1 = 0;
            $ptr = 74;
        case 74:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 67;
            var$3 = 298;
            var$4 = 120;
            var$6 = 0;
            var$5 = $rt_s(840);
            var$1 = 0;
            $ptr = 75;
        case 75:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 68;
            var$3 = 299;
            var$4 = 121;
            var$6 = 0;
            var$5 = $rt_s(841);
            var$1 = 0;
            $ptr = 76;
        case 76:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 87;
            var$3 = 300;
            var$4 = 122;
            var$6 = 0;
            var$5 = $rt_s(842);
            var$1 = 0;
            $ptr = 77;
        case 77:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 88;
            var$3 = 301;
            var$4 = 123;
            var$6 = 0;
            var$5 = $rt_s(843);
            var$1 = 0;
            $ptr = 78;
        case 78:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 82;
            var$3 = 320;
            var$4 = 96;
            var$6 = 3;
            var$5 = $rt_s(1590);
            var$1 = 48;
            $ptr = 79;
        case 79:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 79;
            var$3 = 321;
            var$4 = 97;
            var$6 = 3;
            var$5 = $rt_s(1591);
            var$1 = 49;
            $ptr = 80;
        case 80:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 80;
            var$3 = 322;
            var$4 = 98;
            var$6 = 3;
            var$5 = $rt_s(1592);
            var$1 = 50;
            $ptr = 81;
        case 81:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 81;
            var$3 = 323;
            var$4 = 99;
            var$6 = 3;
            var$5 = $rt_s(1593);
            var$1 = 51;
            $ptr = 82;
        case 82:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 75;
            var$3 = 324;
            var$4 = 100;
            var$6 = 3;
            var$5 = $rt_s(1594);
            var$1 = 52;
            $ptr = 83;
        case 83:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 76;
            var$3 = 325;
            var$4 = 101;
            var$6 = 3;
            var$5 = $rt_s(1595);
            var$1 = 53;
            $ptr = 84;
        case 84:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 77;
            var$3 = 326;
            var$4 = 102;
            var$6 = 3;
            var$5 = $rt_s(1596);
            var$1 = 54;
            $ptr = 85;
        case 85:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 71;
            var$3 = 327;
            var$4 = 103;
            var$6 = 3;
            var$5 = $rt_s(1597);
            var$1 = 55;
            $ptr = 86;
        case 86:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 72;
            var$3 = 328;
            var$4 = 104;
            var$6 = 3;
            var$5 = $rt_s(1598);
            var$1 = 56;
            $ptr = 87;
        case 87:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 73;
            var$3 = 329;
            var$4 = 105;
            var$6 = 3;
            var$5 = $rt_s(1599);
            var$1 = 57;
            $ptr = 88;
        case 88:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 83;
            var$3 = 330;
            var$4 = 110;
            var$6 = 3;
            var$5 = $rt_s(1600);
            var$1 = 46;
            $ptr = 89;
        case 89:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 181;
            var$3 = 331;
            var$4 = 111;
            var$6 = 3;
            var$5 = $rt_s(1601);
            var$1 = 47;
            $ptr = 90;
        case 90:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 55;
            var$3 = 332;
            var$4 = 106;
            var$6 = 3;
            var$5 = $rt_s(1602);
            var$1 = 42;
            $ptr = 91;
        case 91:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 74;
            var$3 = 333;
            var$4 = 109;
            var$6 = 3;
            var$5 = $rt_s(1603);
            var$1 = 45;
            $ptr = 92;
        case 92:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 78;
            var$3 = 334;
            var$4 = 107;
            var$6 = 3;
            var$5 = $rt_s(1604);
            var$1 = 43;
            $ptr = 93;
        case 93:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 156;
            var$3 = 335;
            var$4 = 13;
            var$6 = 3;
            var$5 = $rt_s(813);
            var$1 = 10;
            $ptr = 94;
        case 94:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 141;
            var$3 = 336;
            var$4 = 187;
            var$6 = 3;
            var$5 = $rt_s(1559);
            var$1 = 61;
            $ptr = 95;
        case 95:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 42;
            var$3 = 340;
            var$4 = 16;
            var$6 = 1;
            var$5 = $rt_s(1605);
            var$1 = 0;
            $ptr = 96;
        case 96:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 29;
            var$3 = 341;
            var$4 = 17;
            var$6 = 1;
            var$5 = $rt_s(1606);
            var$1 = 0;
            $ptr = 97;
        case 97:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 56;
            var$3 = 342;
            var$4 = 18;
            var$6 = 1;
            var$5 = $rt_s(1607);
            var$1 = 0;
            $ptr = 98;
        case 98:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 42;
            var$3 = 16;
            var$4 = 0;
            $ptr = 99;
        case 99:
            nle_KeyboardConstants_registerAlt(var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 29;
            var$3 = 17;
            var$4 = 0;
            $ptr = 100;
        case 100:
            nle_KeyboardConstants_registerAlt(var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 56;
            var$3 = 18;
            var$4 = 0;
            $ptr = 101;
        case 101:
            nle_KeyboardConstants_registerAlt(var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 54;
            var$3 = 344;
            var$4 = 16;
            var$6 = 2;
            var$5 = $rt_s(1608);
            var$1 = 0;
            $ptr = 102;
        case 102:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 157;
            var$3 = 345;
            var$4 = 17;
            var$6 = 2;
            var$5 = $rt_s(1609);
            var$1 = 0;
            $ptr = 103;
        case 103:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 184;
            var$3 = 346;
            var$4 = 18;
            var$6 = 2;
            var$5 = $rt_s(1610);
            var$1 = 0;
            $ptr = 104;
        case 104:
            nle_KeyboardConstants_register(var$2, var$3, var$4, var$6, var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    var nle_Keyboard = $rt_classWithoutFields(nle_KeyboardConstants);
    function nle_Keyboard__init_0() {
        var var_0 = new nle_Keyboard();
        nle_Keyboard__init_(var_0);
        return var_0;
    }
    function nle_Keyboard__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_KeyboardConstants_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nle_Keyboard_next() {
        var var$1, var$2, var$3, var$4, $$je;
        var$1 = nlei_PlatformInput_keyEvents;
        jl_Object_monitorEnterSync(var$1);
        a: {
            b: {
                try {
                    if (nlei_PlatformInput_unpressCTRL) {
                        ju_LinkedList_clear(var$1);
                        nlei_PlatformInput_currentEventK = null;
                        var$2 = nlei_PlatformInput_keyStates.data;
                        var$2[29] = 0;
                        var$2[157] = 0;
                        var$2[28] = 0;
                        var$2[219] = 0;
                        var$2[220] = 0;
                        nlei_PlatformInput_unpressCTRL = 0;
                        var$3 = 0;
                        jl_Object_monitorExitSync(var$1);
                        break a;
                    }
                    c: {
                        nlei_PlatformInput_currentEventK = null;
                        if (!ju_AbstractCollection_isEmpty(var$1)) {
                            var$4 = ju_AbstractSequentialList_remove(nlei_PlatformInput_keyEvents, 0);
                            nlei_PlatformInput_currentEventK = var$4;
                            if (var$4 !== null) {
                                var$3 = 1;
                                break c;
                            }
                        }
                        var$3 = 0;
                    }
                    jl_Object_monitorExitSync(var$1);
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$4 = $$je;

                }
                jl_Object_monitorExitSync(var$1);
                $rt_throw(var$4);
            }
        }
        return var$3;
    }
    function nle_Keyboard_getEventKeyState() {
        var var$1;
        var$1 = nlei_PlatformInput_currentEventK;
        return var$1 === null ? 0 : var$1.$type1 == 1 ? 0 : 1;
    }
    function nle_Keyboard_getEventKey() {
        var var$1;
        var$1 = nlei_PlatformInput_currentEventK;
        return var$1 !== null ? var$1.$eagKey : (-1);
    }
    function nle_Keyboard_isKeyDown($key) {
        return nlei_PlatformInput_keyboardIsKeyDown($key);
    }
    var oli_Keyboard = $rt_classWithoutFields(nle_Keyboard);
    function oli_Keyboard__init_0() {
        var var_0 = new oli_Keyboard();
        oli_Keyboard__init_(var_0);
        return var_0;
    }
    function oli_Keyboard__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nle_KeyboardConstants_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_WorldRenderer() {
        var a = this; jl_Object.call(a);
        a.$worldObj5 = null;
        a.$glRenderList = 0;
        a.$posX0 = 0;
        a.$posY0 = 0;
        a.$posZ0 = 0;
        a.$sizeWidth = 0;
        a.$sizeHeight = 0;
        a.$sizeDepth = 0;
        a.$posXMinus = 0;
        a.$posYMinus = 0;
        a.$posZMinus = 0;
        a.$posXClip = 0;
        a.$posYClip = 0;
        a.$posZClip = 0;
        a.$isInFrustum = 0;
        a.$skipRenderPass = null;
        a.$posXPlus = 0;
        a.$posYPlus = 0;
        a.$posZPlus = 0;
        a.$rendererRadius = 0.0;
        a.$needsUpdate = 0;
        a.$rendererBoundingBox = null;
        a.$field_1735_w = 0;
        a.$isVisible = 0;
        a.$isWaitingOnOcclusionQuery = 0;
        a.$field_1747_A = 0;
        a.$isInitialized = 0;
        a.$tileEntityRenderers = null;
        a.$tileEntities = null;
    }
    var nms_WorldRenderer_tessellator = null;
    var nms_WorldRenderer_chunksUpdated = 0;
    var nms_WorldRenderer_$clinitCalled = false;
    function nms_WorldRenderer_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_WorldRenderer_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_WorldRenderer_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_WorldRenderer__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldRenderer_$callClinit = $rt_eraseClinit(nms_WorldRenderer);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_WorldRenderer_setPosition($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 == $this.$posX0 && $var2 == $this.$posY0 && $var3 == $this.$posZ0)
                return;
            $ptr = 1;
        case 1:
            nms_WorldRenderer_setDontDraw($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$posX0 = $var1;
            $this.$posY0 = $var2;
            $this.$posZ0 = $var3;
            var$4 = $this.$sizeWidth;
            $this.$posXPlus = $var1 + (var$4 / 2 | 0) | 0;
            var$5 = $this.$sizeHeight;
            $this.$posYPlus = $var2 + (var$5 / 2 | 0) | 0;
            var$6 = $this.$sizeDepth;
            $this.$posZPlus = $var3 + (var$6 / 2 | 0) | 0;
            var$7 = $var1 & 1023;
            $this.$posXClip = var$7;
            $this.$posYClip = $var2;
            var$8 = $var3 & 1023;
            $this.$posZClip = var$8;
            $this.$posXMinus = $var1 - var$7 | 0;
            $this.$posYMinus = $var2 - $var2 | 0;
            $this.$posZMinus = $var3 - var$8 | 0;
            $this.$rendererBoundingBox = nms_AxisAlignedBB_getBoundingBox($var1 - 6.0, $var2 - 6.0, $var3 - 6.0, ($var1 + var$4 | 0) + 6.0, ($var2 + var$5 | 0) + 6.0, ($var3 + var$6 | 0) + 6.0);
            $ptr = 2;
        case 2:
            nms_WorldRenderer_markDirty($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_WorldRenderer_updateRenderer($this) {
        var $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var21, $var10, $var9, $hasGlList, $var15, $var11, $var18, $var20, $var13, $var12, $var16, $var17, $var24, $var22, var$22, var$23, var$24, $var23, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var23 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();$var22 = $thread.pop();$var24 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var12 = $thread.pop();$var13 = $thread.pop();$var20 = $thread.pop();$var18 = $thread.pop();$var11 = $thread.pop();$var15 = $thread.pop();$hasGlList = $thread.pop();$var9 = $thread.pop();$var10 = $thread.pop();$var21 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4
            = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$needsUpdate)
                return;
            $ptr = 1;
        case 1:
            nms_WorldRenderer_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldRenderer_chunksUpdated = nms_WorldRenderer_chunksUpdated + 1 | 0;
            $var1 = $this.$posX0;
            $var2 = $this.$posY0;
            $var3 = $this.$posZ0;
            $var4 = $var1 + $this.$sizeWidth | 0;
            $var5 = $var2 + $this.$sizeHeight | 0;
            $var6 = $var3 + $this.$sizeDepth | 0;
            $var7 = 0;
            while ($var7 < 2) {
                $this.$skipRenderPass.data[$var7] = 1;
                $var7 = $var7 + 1 | 0;
            }
            nms_Chunk_isLit = 0;
            $var21 = ju_HashSet__init_0();
            $var10 = $this.$tileEntityRenderers;
            $ptr = 2;
        case 2:
            ju_AbstractCollection_addAll($var21, $var10);
            if ($rt_suspending()) {
                break main;
            }
            ju_ArrayList_clear($this.$tileEntityRenderers);
            $var9 = new nms_ChunkCache;
            $var10 = $this.$worldObj5;
            $hasGlList = $var1 - 1 | 0;
            $var15 = $var2 - 1 | 0;
            $var11 = $var3 - 1 | 0;
            $var18 = $var4 + 1 | 0;
            $var20 = $var5 + 1 | 0;
            $var13 = $var6 + 1 | 0;
            $ptr = 3;
        case 3:
            nms_ChunkCache__init_($var9, $var10, $hasGlList, $var15, $var11, $var18, $var20, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = nms_RenderBlocks__init_0($var9);
            $var11 = 0;
            a: {
                while (true) {
                    if ($var11 >= 2)
                        break a;
                    $var12 = 0;
                    $var13 = 0;
                    $hasGlList = 0;
                    $var15 = $var2;
                    while ($var15 < $var5) {
                        $var16 = $var3;
                        while ($var16 < $var6) {
                            $var17 = $var1;
                            if ($var17 < $var4) {
                                $ptr = 12;
                                continue main;
                            }
                            $var16 = $var16 + 1 | 0;
                        }
                        $var15 = $var15 + 1 | 0;
                    }
                    if ($hasGlList) {
                        $var24 = nms_WorldRenderer_tessellator;
                        $ptr = 9;
                        continue main;
                    }
                    $var13 = 0;
                    if ($var13)
                        $this.$skipRenderPass.data[$var11] = 0;
                    if (!$var12)
                        break;
                    $var11 = $var11 + 1 | 0;
                }
            }
            $var22 = ju_HashSet__init_0();
            $var10 = $this.$tileEntityRenderers;
            $ptr = 4;
        case 4:
            ju_AbstractCollection_addAll($var22, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            ju_AbstractSet_removeAll($var22, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $this.$tileEntities;
            $ptr = 6;
        case 6:
            ju_AbstractCollection_addAll($var10, $var22);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $this.$tileEntityRenderers;
            $ptr = 7;
        case 7:
            ju_AbstractSet_removeAll($var21, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $this.$tileEntities;
            $ptr = 8;
        case 8:
            ju_AbstractCollection_removeAll($var10, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_1747_A = nms_Chunk_isLit;
            $this.$isInitialized = 1;
            return;
        case 9:
            nms_Tessellator_draw($var24);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            nleo_EaglercraftGPU_glEndList();
            if ($rt_suspending()) {
                break main;
            }
            $var24 = nms_WorldRenderer_tessellator;
            var$22 = 0.0;
            var$23 = 0.0;
            var$24 = 0.0;
            $ptr = 11;
        case 11:
            nms_Tessellator_setTranslationD($var24, var$22, var$23, var$24);
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldRenderer_tessellator.$renderingChunk = 0;
            a: {
                while (true) {
                    if ($var13)
                        $this.$skipRenderPass.data[$var11] = 0;
                    if (!$var12)
                        break;
                    $var11 = $var11 + 1 | 0;
                    if ($var11 >= 2)
                        break a;
                    $var12 = 0;
                    $var13 = 0;
                    $hasGlList = 0;
                    $var15 = $var2;
                    while ($var15 < $var5) {
                        $var16 = $var3;
                        while ($var16 < $var6) {
                            $var17 = $var1;
                            if ($var17 < $var4) {
                                $ptr = 12;
                                continue main;
                            }
                            $var16 = $var16 + 1 | 0;
                        }
                        $var15 = $var15 + 1 | 0;
                    }
                    if ($hasGlList) {
                        $var24 = nms_WorldRenderer_tessellator;
                        $ptr = 9;
                        continue main;
                    }
                    $var13 = 0;
                }
            }
            $var22 = ju_HashSet__init_0();
            $var10 = $this.$tileEntityRenderers;
            $ptr = 4;
            continue main;
        case 12:
            $tmp = nms_ChunkCache_getBlockId($var9, $var17, $var15, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var18 = $tmp;
            if ($var18 > 0) {
                if ($hasGlList) {
                    if ($var11) {
                        $ptr = 16;
                        continue main;
                    }
                    $ptr = 18;
                    continue main;
                }
                $hasGlList = 1;
                $var20 = $this.$glRenderList + $var11 | 0;
                $var7 = 4864;
                $ptr = 13;
                continue main;
            }
            $var17 = $var17 + 1 | 0;
            b: {
                c: while (true) {
                    if ($var17 < $var4) {
                        continue main;
                    }
                    $var16 = $var16 + 1 | 0;
                    while ($var16 >= $var6) {
                        $var15 = $var15 + 1 | 0;
                        while ($var15 >= $var5) {
                            if ($hasGlList) {
                                $var24 = nms_WorldRenderer_tessellator;
                                $ptr = 9;
                                continue main;
                            }
                            $var13 = 0;
                            if ($var13)
                                $this.$skipRenderPass.data[$var11] = 0;
                            if (!$var12)
                                break c;
                            $var11 = $var11 + 1 | 0;
                            if ($var11 >= 2)
                                break b;
                            $var12 = 0;
                            $var13 = 0;
                            $hasGlList = 0;
                            $var15 = $var2;
                        }
                        $var16 = $var3;
                    }
                    $var17 = $var1;
                }
            }
            $var22 = ju_HashSet__init_0();
            $var10 = $this.$tileEntityRenderers;
            $ptr = 4;
            continue main;
        case 13:
            nleo_EaglercraftGPU_glNewList($var20, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var24 = nms_WorldRenderer_tessellator;
            $var24.$renderingChunk = 1;
            $ptr = 14;
        case 14:
            nms_Tessellator_startDrawingQuads($var24);
            if ($rt_suspending()) {
                break main;
            }
            $var24 = nms_WorldRenderer_tessellator;
            var$22 = $this.$posXClip - $this.$posX0 | 0;
            var$23 = $this.$posYClip - $this.$posY0 | 0;
            var$24 = $this.$posZClip - $this.$posZ0 | 0;
            $ptr = 15;
        case 15:
            nms_Tessellator_setTranslationD($var24, var$22, var$23, var$24);
            if ($rt_suspending()) {
                break main;
            }
            if ($var11) {
                $ptr = 16;
                continue main;
            }
            $ptr = 18;
            continue main;
        case 16:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var24 = nms_Block_blocksList.data[$var18];
            $ptr = 17;
        case 17:
            $tmp = $var24.$getRenderBlockPass();
            if ($rt_suspending()) {
                break main;
            }
            $var20 = $tmp;
            $var18 = $rt_compare($var20, $var11);
            if ($var18)
                $var12 = 1;
            else if (!$var18) {
                $ptr = 22;
                continue main;
            }
            $var17 = $var17 + 1 | 0;
            b: {
                c: while (true) {
                    if ($var17 < $var4) {
                        $ptr = 12;
                        continue main;
                    }
                    $var16 = $var16 + 1 | 0;
                    while ($var16 >= $var6) {
                        $var15 = $var15 + 1 | 0;
                        while ($var15 >= $var5) {
                            if ($hasGlList) {
                                $var24 = nms_WorldRenderer_tessellator;
                                $ptr = 9;
                                continue main;
                            }
                            $var13 = 0;
                            if ($var13)
                                $this.$skipRenderPass.data[$var11] = 0;
                            if (!$var12)
                                break c;
                            $var11 = $var11 + 1 | 0;
                            if ($var11 >= 2)
                                break b;
                            $var12 = 0;
                            $var13 = 0;
                            $hasGlList = 0;
                            $var15 = $var2;
                        }
                        $var16 = $var3;
                    }
                    $var17 = $var1;
                }
            }
            $var22 = ju_HashSet__init_0();
            $var10 = $this.$tileEntityRenderers;
            $ptr = 4;
            continue main;
        case 18:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nms_Block_isBlockContainer.data[$var18]) {
                $ptr = 16;
                continue main;
            }
            $var20 = ($var17 >> 4) - $var9.$chunkX | 0;
            $var7 = ($var16 >> 4) - $var9.$chunkZ | 0;
            $var24 = $var9.$chunkArray.data[$var20].data[$var7];
            $var7 = $var17 & 15;
            $var20 = $var16 & 15;
            $ptr = 19;
        case 19:
            $tmp = $var24.$getChunkBlockTileEntity($var7, $var15, $var20);
            if ($rt_suspending()) {
                break main;
            }
            $var23 = $tmp;
            $ptr = 20;
        case 20:
            nms_TileEntityRenderer_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var24 = nms_TileEntityRenderer_instance;
            $ptr = 21;
        case 21:
            $tmp = nms_TileEntityRenderer_getSpecialRendererForEntity($var24, $var23);
            if ($rt_suspending()) {
                break main;
            }
            $var24 = $tmp;
            if (!($var24 === null ? 0 : 1)) {
                $ptr = 16;
                continue main;
            }
            $var24 = $this.$tileEntityRenderers;
            $ptr = 23;
            continue main;
        case 22:
            $tmp = nms_RenderBlocks_renderBlockByRenderType($var10, $var24, $var17, $var15, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var18 = $tmp;
            $var13 = $var13 | $var18;
            $var17 = $var17 + 1 | 0;
            a: {
                b: while (true) {
                    if ($var17 < $var4) {
                        $ptr = 12;
                        continue main;
                    }
                    $var16 = $var16 + 1 | 0;
                    while ($var16 >= $var6) {
                        $var15 = $var15 + 1 | 0;
                        while ($var15 >= $var5) {
                            if ($hasGlList) {
                                $var24 = nms_WorldRenderer_tessellator;
                                $ptr = 9;
                                continue main;
                            }
                            $var13 = 0;
                            if ($var13)
                                $this.$skipRenderPass.data[$var11] = 0;
                            if (!$var12)
                                break b;
                            $var11 = $var11 + 1 | 0;
                            if ($var11 >= 2)
                                break a;
                            $var12 = 0;
                            $var13 = 0;
                            $hasGlList = 0;
                            $var15 = $var2;
                        }
                        $var16 = $var3;
                    }
                    $var17 = $var1;
                }
            }
            $var22 = ju_HashSet__init_0();
            $var10 = $this.$tileEntityRenderers;
            $ptr = 4;
            continue main;
        case 23:
            ju_ArrayList_add($var24, $var23);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var21, $var10, $var9, $hasGlList, $var15, $var11, $var18, $var20, $var13, $var12, $var16, $var17, $var24, $var22, var$22, var$23, var$24, $var23, $ptr);
    }
    function nms_WorldRenderer_distanceToEntitySquared($this, $var1) {
        var $var2, $var3, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $var1.$posX - $this.$posXPlus;
            $var3 = $var1.$posY - $this.$posYPlus;
            $var4 = $var1.$posZ - $this.$posZPlus;
            return $var2 * $var2 + $var3 * $var3 + $var4 * $var4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_WorldRenderer_setDontDraw($this) {
        var $var1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = 0;
            if ($var1 >= 2) {
                $this.$isInFrustum = 0;
                $this.$isInitialized = 0;
                return;
            }
            $this.$skipRenderPass.data[$var1] = 1;
            var$2 = $this.$glRenderList;
            var$3 = 1;
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_flushDisplayList(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$glRenderList + 1 | 0;
            var$3 = 1;
            $ptr = 2;
        case 2:
            nleo_EaglercraftGPU_flushDisplayList(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var1 + 1 | 0;
            if ($var1 >= 2) {
                $this.$isInFrustum = 0;
                $this.$isInitialized = 0;
                return;
            }
            $this.$skipRenderPass.data[$var1] = 1;
            var$2 = $this.$glRenderList;
            var$3 = 1;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_WorldRenderer_getGLCallListForPass($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return !$this.$isInFrustum ? (-1) : $this.$skipRenderPass.data[$var1] ? (-1) : $this.$glRenderList + $var1 | 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_WorldRenderer_markDirty($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$needsUpdate = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_WorldRenderer__clinit_() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldRenderer_tessellator = nms_Tessellator_instance;
            nms_WorldRenderer_chunksUpdated = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    var nms_MinecraftException = $rt_classWithoutFields(jl_RuntimeException);
    function nms_GuiScreen() {
        var a = this; nms_Gui.call(a);
        a.$mc6 = null;
        a.$width1 = 0;
        a.$height3 = 0;
        a.$controlList = null;
        a.$field_948_f = 0;
        a.$fontRenderer0 = null;
        a.$field_25091_h = null;
        a.$selectedButton = null;
    }
    function nms_GuiScreen__init_0() {
        var var_0 = new nms_GuiScreen();
        nms_GuiScreen__init_(var_0);
        return var_0;
    }
    function nms_GuiScreen__init_($this) {
        nms_Gui__init_($this);
        $this.$controlList = ju_ArrayList__init_0();
        $this.$field_948_f = 0;
        $this.$selectedButton = null;
    }
    function nms_GuiScreen_drawScreen($this, $var1, $var2, $var3) {
        var $var4, $var5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = 0;
            $var5 = $this.$controlList;
            if ($var4 >= $var5.$size0)
                return;
            $var5 = ju_ArrayList_get($var5, $var4);
            var$6 = $this.$mc6;
            $ptr = 1;
        case 1:
            nms_GuiButton_drawButton($var5, var$6, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $var4 + 1 | 0;
            $var5 = $this.$controlList;
            if ($var4 >= $var5.$size0)
                return;
            $var5 = ju_ArrayList_get($var5, $var4);
            var$6 = $this.$mc6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_GuiScreen_keyTyped($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var2 != 1)
                return;
            var$3 = $this.$mc6;
            var$4 = null;
            $ptr = 1;
        case 1:
            nmc_Minecraft_displayGuiScreen(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$mc6;
            $ptr = 2;
        case 2:
            nmc_Minecraft_setIngameFocus(var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_GuiScreen_mouseClicked($this, $var1, $var2, $var3) {
        var $var4, $var5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$var3) {
                $var4 = 0;
                $var5 = $this.$controlList;
                if ($var4 < $var5.$size0) {
                    $var5 = ju_ArrayList_get($var5, $var4);
                    var$6 = $this.$mc6;
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        case 1:
            $tmp = $var5.$mousePressed(var$6, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3) {
                $this.$selectedButton = $var5;
                var$6 = $this.$mc6.$sndManager;
                var$7 = $rt_s(918);
                var$8 = 1.0;
                var$9 = 1.0;
                $ptr = 2;
                continue main;
            }
            $var4 = $var4 + 1 | 0;
            $var5 = $this.$controlList;
            if ($var4 >= $var5.$size0)
                return;
            $var5 = ju_ArrayList_get($var5, $var4);
            var$6 = $this.$mc6;
            continue main;
        case 2:
            nms_SoundManager_func_337_a(var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $this.$actionPerformed($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $var4 + 1 | 0;
            $var5 = $this.$controlList;
            if ($var4 >= $var5.$size0)
                return;
            $var5 = ju_ArrayList_get($var5, $var4);
            var$6 = $this.$mc6;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_GuiScreen_mouseMovedOrUp($this, $var1, $var2, $var3) {
        var var$4;
        var$4 = $this.$selectedButton;
        if (var$4 !== null && !$var3) {
            var$4.$mouseReleased($var1, $var2);
            $this.$selectedButton = null;
        }
    }
    function nms_GuiScreen_actionPerformed($this, $var1) {}
    function nms_GuiScreen_setWorldAndResolution($this, $var1, $var2, $var3) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = new nms_XGuiUmmm;
            nms_Gui__init_(var$4);
            var$4.$field_25090_a = ju_ArrayList__init_0();
            var$4.$field_25089_b = $var1;
            $this.$field_25091_h = var$4;
            $this.$mc6 = $var1;
            $this.$fontRenderer0 = $var1.$fontRenderer;
            $this.$width1 = $var2;
            $this.$height3 = $var3;
            ju_ArrayList_clear($this.$controlList);
            $ptr = 1;
        case 1:
            $this.$initGui();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_GuiScreen_handleInput($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (nle_Mouse_next()) {
                $ptr = 1;
                continue main;
            }
            if (!nle_Keyboard_next())
                return;
            $ptr = 2;
            continue main;
        case 1:
            $this.$handleMouseInput();
            if ($rt_suspending()) {
                break main;
            }
            if (nle_Mouse_next()) {
                continue main;
            }
            if (!nle_Keyboard_next())
                return;
            $ptr = 2;
        case 2:
            nms_GuiScreen_handleKeyboardInput($this);
            if ($rt_suspending()) {
                break main;
            }
            if (!nle_Keyboard_next())
                return;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_GuiScreen_handleMouseInput($this) {
        var $var1, $var2, $var1_0, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1_0 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!nle_Mouse_getEventButtonState()) {
                $this.$mouseMovedOrUp($rt_imul(nle_Mouse_getEventX(), $this.$width1) / $this.$mc6.$displayWidth | 0, ($this.$height3 - ($rt_imul(nle_Mouse_getEventY(), $this.$height3) / $this.$mc6.$displayHeight | 0) | 0) - 1 | 0, nle_Mouse_getEventButton());
                return;
            }
            $var1 = $rt_imul(nle_Mouse_getEventX(), $this.$width1) / $this.$mc6.$displayWidth | 0;
            $var2 = ($this.$height3 - ($rt_imul(nle_Mouse_getEventY(), $this.$height3) / $this.$mc6.$displayHeight | 0) | 0) - 1 | 0;
            $var1_0 = nle_Mouse_getEventButton();
            $ptr = 1;
        case 1:
            $this.$mouseClicked($var1, $var2, $var1_0);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var1_0, $ptr);
    }
    function nms_GuiScreen_handleKeyboardInput($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!nle_Keyboard_getEventKeyState())
                return;
            var$1 = nlei_PlatformInput_currentEventK;
            var$2 = var$1 !== null ? var$1.$keyChar : 0;
            var$3 = nle_Keyboard_getEventKey();
            $ptr = 1;
        case 1:
            $this.$keyTyped(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_GuiScreen_updateScreen($this) {}
    function nms_GuiScreen_onGuiClosed($this) {}
    function nms_GuiScreen_drawDefaultBackground($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 0;
            $ptr = 1;
        case 1:
            nms_GuiScreen_drawWorldBackground($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_GuiScreen_drawWorldBackground($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$mc6.$theWorld === null) {
                $ptr = 1;
                continue main;
            }
            var$2 = 0;
            $var1 = 0;
            var$3 = $this.$width1;
            var$4 = $this.$height3;
            var$5 = (-1072689136);
            var$6 = (-804253680);
            $ptr = 2;
            continue main;
        case 1:
            nms_GuiScreen_drawBackground($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nms_Gui_drawGradientRect($this, var$2, $var1, var$3, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_GuiScreen_drawBackground($this, $var1) {
        var var$2, $var2, var$4, var$5, var$6, var$7, var$8, var$9, $var3, var$11, var$12, var$13, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var3 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 2896;
            $ptr = 1;
        case 1:
            olo_GL11_glDisable(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 2912;
            $ptr = 2;
        case 2:
            olo_GL11_glDisable(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_Tessellator_instance;
            var$4 = 3553;
            var$5 = $this.$mc6.$renderEngine;
            var$6 = $rt_s(323);
            $ptr = 4;
        case 4:
            $tmp = nms_RenderEngine_getTexture(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 5;
        case 5:
            olo_GL11_glBindTexture(var$4, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 1.0;
            var$8 = 1.0;
            var$9 = 1.0;
            $var3 = 1.0;
            $ptr = 6;
        case 6:
            nleo_GlStateManager_color(var$7, var$8, var$9, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 32.0;
            $ptr = 7;
        case 7:
            nms_Tessellator_startDrawingQuads($var2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = 4210752;
            $ptr = 8;
        case 8:
            nms_Tessellator_setColorOpaque_I($var2, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 0.0;
            var$2 = $this.$height3;
            var$12 = var$2;
            var$13 = 0.0;
            var$14 = 0.0;
            var$7 = var$2 / $var3;
            var$8 = $var1;
            var$15 = var$7 + var$8;
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var2, var$11, var$12, var$13, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$width1;
            var$13 = var$2;
            var$4 = $this.$height3;
            var$14 = var$4;
            var$11 = 0.0;
            var$12 = var$2 / $var3;
            var$15 = var$4 / $var3 + var$8;
            $ptr = 10;
        case 10:
            nms_Tessellator_addVertexWithUV($var2, var$13, var$14, var$11, var$12, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$width1;
            var$13 = var$2;
            var$14 = 0.0;
            var$11 = 0.0;
            var$12 = var$2 / $var3;
            var$15 = 0 + $var1 | 0;
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var2, var$13, var$14, var$11, var$12, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 0.0;
            var$14 = 0.0;
            var$11 = 0.0;
            var$12 = 0.0;
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertexWithUV($var2, var$13, var$14, var$11, var$12, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_draw($var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, var$4, var$5, var$6, var$7, var$8, var$9, $var3, var$11, var$12, var$13, var$14, var$15, $ptr);
    }
    function nms_GuiScreen_doesGuiPauseGame($this) {
        return 1;
    }
    function nms_GuiConflictWarning() {
        nms_GuiScreen.call(this);
        this.$updateCounter0 = 0;
    }
    function nms_GuiConflictWarning__init_0() {
        var var_0 = new nms_GuiConflictWarning();
        nms_GuiConflictWarning__init_(var_0);
        return var_0;
    }
    function nms_GuiConflictWarning__init_($this) {
        nms_GuiScreen__init_($this);
        $this.$updateCounter0 = 0;
    }
    function nms_GuiConflictWarning_updateScreen($this) {
        $this.$updateCounter0 = $this.$updateCounter0 + 1 | 0;
    }
    function nms_GuiConflictWarning_initGui($this) {
        ju_ArrayList_clear($this.$controlList);
        ju_ArrayList_add($this.$controlList, nms_GuiButton__init_1(0, ($this.$width1 / 2 | 0) - 100 | 0, (($this.$height3 / 4 | 0) + 120 | 0) + 12 | 0, $rt_s(1611)));
    }
    function nms_GuiConflictWarning_actionPerformed($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$enabled0 && !$var1.$id2) {
                var$2 = $this.$mc6;
                $var1 = new nms_GuiMainMenu;
                $ptr = 1;
                continue main;
            }
            return;
        case 1:
            nms_GuiMainMenu__init_($var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nmc_Minecraft_displayGuiScreen(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_GuiConflictWarning_drawScreen($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiScreen_drawDefaultBackground($this);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$fontRenderer0;
            var$5 = $rt_s(1612);
            var$6 = $this.$width1 / 2 | 0;
            var$7 = (($this.$height3 / 4 | 0) - 60 | 0) + 20 | 0;
            var$8 = 16777215;
            $ptr = 2;
        case 2:
            nms_Gui_drawCenteredString($this, var$4, var$5, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$4 = $rt_s(1613);
            var$6 = ($this.$width1 / 2 | 0) - 140 | 0;
            var$7 = ((($this.$height3 / 4 | 0) - 60 | 0) + 60 | 0) + 0 | 0;
            var$8 = 10526880;
            $ptr = 3;
        case 3:
            nms_Gui_drawString($this, var$5, var$4, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$4 = $rt_s(1614);
            var$8 = ($this.$width1 / 2 | 0) - 140 | 0;
            var$6 = ((($this.$height3 / 4 | 0) - 60 | 0) + 60 | 0) + 18 | 0;
            var$7 = 10526880;
            $ptr = 4;
        case 4:
            nms_Gui_drawString($this, var$5, var$4, var$8, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$4 = $rt_s(1615);
            var$6 = ($this.$width1 / 2 | 0) - 140 | 0;
            var$7 = ((($this.$height3 / 4 | 0) - 60 | 0) + 60 | 0) + 27 | 0;
            var$8 = 10526880;
            $ptr = 5;
        case 5:
            nms_Gui_drawString($this, var$5, var$4, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$4 = $rt_s(1616);
            var$6 = ($this.$width1 / 2 | 0) - 140 | 0;
            var$7 = ((($this.$height3 / 4 | 0) - 60 | 0) + 60 | 0) + 45 | 0;
            var$8 = 10526880;
            $ptr = 6;
        case 6:
            nms_Gui_drawString($this, var$5, var$4, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function jt_FieldPosition() {
        jl_Object.call(this);
        this.$myField = 0;
    }
    var oacl_StringUtils = $rt_classWithoutFields();
    function oacl_StringUtils__init_0() {
        var var_0 = new oacl_StringUtils();
        oacl_StringUtils__init_(var_0);
        return var_0;
    }
    function oacl_StringUtils__init_($this) {}
    var ji_EOFException = $rt_classWithoutFields(ji_IOException);
    function ji_EOFException__init_1() {
        var var_0 = new ji_EOFException();
        ji_EOFException__init_(var_0);
        return var_0;
    }
    function ji_EOFException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function nms_PositionTexureVertex() {
        var a = this; jl_Object.call(a);
        a.$vector3D = null;
        a.$texturePositionX = 0.0;
        a.$texturePositionY = 0.0;
    }
    function nms_PositionTexureVertex__init_(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nms_PositionTexureVertex();
        nms_PositionTexureVertex__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nms_PositionTexureVertex__init_0($this, $var1, $var2, $var3, $var4, $var5) {
        $this.$vector3D = nms_Vec3D_createVectorHelper($var1, $var2, $var3);
        $this.$texturePositionX = $var4;
        $this.$texturePositionY = $var5;
    }
    function nms_PositionTexureVertex_setTexturePosition($this, $var1, $var2) {
        var var$3;
        var$3 = new nms_PositionTexureVertex;
        var$3.$vector3D = $this.$vector3D;
        var$3.$texturePositionX = $var1;
        var$3.$texturePositionY = $var2;
        return var$3;
    }
    function nms_TexturedQuad() {
        var a = this; jl_Object.call(a);
        a.$vertexPositions = null;
        a.$nVertices = 0;
        a.$invertNormal = 0;
    }
    function nms_TexturedQuad__init_1(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nms_TexturedQuad();
        nms_TexturedQuad__init_(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nms_TexturedQuad__init_($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, var$7, var$8, var$9, var$10, $var6;
        var$6 = $var1.data;
        $this.$nVertices = 0;
        $this.$invertNormal = 0;
        $this.$vertexPositions = $var1;
        $this.$nVertices = var$6.length;
        var$7 = var$6[0];
        var$8 = $var4 / 64.0 - 0.0015625000232830644;
        var$9 = $var3 / 32.0 + 0.0031250000465661287;
        var$6[0] = nms_PositionTexureVertex_setTexturePosition(var$7, var$8, var$9);
        var$7 = var$6[1];
        var$10 = $var2 / 64.0 + 0.0015625000232830644;
        var$6[1] = nms_PositionTexureVertex_setTexturePosition(var$7, var$10, var$9);
        var$7 = var$6[2];
        $var6 = $var5 / 32.0 - 0.0031250000465661287;
        var$6[2] = nms_PositionTexureVertex_setTexturePosition(var$7, var$10, $var6);
        var$6[3] = nms_PositionTexureVertex_setTexturePosition(var$6[3], var$8, $var6);
    }
    function nlei_PlatformInput$12$1() {
        jl_Object.call(this);
        this.$this$04 = null;
    }
    function nlei_PlatformInput$12$1_onTimer$exported$0(var$0) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = nlei_PlatformInput_isPointerLockedImpl();
            if (!var$1 && nlei_PlatformInput_pointerLockFlag) {
                $ptr = 1;
                continue main;
            }
            nlei_PlatformInput_pointerLockFlag = var$1;
            return;
        case 1:
            $tmp = nlei_PlatformRuntime_steadyTimeMillis();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            nlei_PlatformInput_mouseUngrabTimer = var$2;
            nlei_PlatformInput_pointerLockFlag = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    function cjj_Inflate() {
        var a = this; jl_Object.call(a);
        a.$mode0 = 0;
        a.$method = 0;
        a.$was = Long_ZERO;
        a.$need = Long_ZERO;
        a.$marker = 0;
        a.$wrap5 = 0;
        a.$wbits = 0;
        a.$blocks = null;
        a.$z3 = null;
        a.$flags1 = 0;
        a.$need_bytes = 0;
        a.$crcbuf = null;
        a.$gheader = null;
        a.$tmp_string = null;
    }
    var cjj_Inflate_mark = null;
    function cjj_Inflate_inflateEnd($this) {
        var var$1;
        var$1 = $this.$blocks;
        if (var$1 !== null)
            cjj_InfBlocks_free(var$1);
        return 0;
    }
    function cjj_Inflate_inflate($this, $f) {
        var $e, var$3, $r, var$5, $foo, var$7, var$8, $b, var$10, $$je;
        $e = $this.$z3;
        if ($e !== null && $e.$next_in !== null) {
            var$3 = $f != 4 ? 0 : (-5);
            $r = (-5);
            a: {
                b: {
                    c: {
                        d: {
                            e: {
                                f: {
                                    g: {
                                        h: {
                                            i: while (true) {
                                                j: {
                                                    k: {
                                                        l: {
                                                            m: {
                                                                n: {
                                                                    o: {
                                                                        p: {
                                                                            q: {
                                                                                r: {
                                                                                    s: {
                                                                                        t: {
                                                                                            u: {
                                                                                                v: {
                                                                                                    w: {
                                                                                                        switch ($this.$mode0) {
                                                                                                            case 6:
                                                                                                                $this.$mode0 = 13;
                                                                                                                $this.$z3.$msg = $rt_s(1617);
                                                                                                                $this.$marker = 0;
                                                                                                                return (-2);
                                                                                                            case 7:
                                                                                                                $r = cjj_InfBlocks_proc($this.$blocks, $r);
                                                                                                                if ($r == (-3)) {
                                                                                                                    $this.$mode0 = 13;
                                                                                                                    $this.$marker = 0;
                                                                                                                    continue i;
                                                                                                                }
                                                                                                                if (!$r)
                                                                                                                    $r = var$3;
                                                                                                                if ($r != 1)
                                                                                                                    break i;
                                                                                                                $this.$was = $this.$z3.$adler.$getValue();
                                                                                                                cjj_InfBlocks_reset($this.$blocks);
                                                                                                                if (!$this.$wrap5) {
                                                                                                                    $this.$mode0 = 12;
                                                                                                                    $r = var$3;
                                                                                                                    continue i;
                                                                                                                }
                                                                                                                $this.$mode0 = 8;
                                                                                                                $r = var$3;
                                                                                                                break w;
                                                                                                            case 12:
                                                                                                                break e;
                                                                                                            case 13:
                                                                                                                return (-3);
                                                                                                            case 14:
                                                                                                                break r;
                                                                                                            case 23:
                                                                                                                try {
                                                                                                                    $r = cjj_Inflate_readBytes($this, 2, $r, var$3);
                                                                                                                } catch ($$e) {
                                                                                                                    $$je = $rt_wrapException($$e);
                                                                                                                    if ($$je instanceof cjj_Inflate$Return) {
                                                                                                                        $e = $$je;
                                                                                                                        return $e.$r;
                                                                                                                    } else {
                                                                                                                        throw $$e;
                                                                                                                    }
                                                                                                                }
                                                                                                                var$5 = $this.$need;
                                                                                                                $f = Long_lo(var$5) & 65535;
                                                                                                                $this.$flags1 = $f;
                                                                                                                if (($f & 255) != 8) {
                                                                                                                    $this.$z3.$msg = $rt_s(1618);
                                                                                                                    $this.$mode0 = 13;
                                                                                                                    continue i;
                                                                                                                }
                                                                                                                if ($f & 57344) {
                                                                                                                    $this.$z3.$msg = $rt_s(1619);
                                                                                                                    $this.$mode0 = 13;
                                                                                                                    continue i;
                                                                                                                }
                                                                                                                if ($f & 512)
                                                                                                                    cjj_Inflate_checksum($this, 2, var$5);
                                                                                                                $this.$mode0 = 16;
                                                                                                                break p;
                                                                                                            case 2:
                                                                                                                break d;
                                                                                                            case 3:
                                                                                                                break c;
                                                                                                            case 4:
                                                                                                                break b;
                                                                                                            case 5:
                                                                                                                var$3 = $r;
                                                                                                                break a;
                                                                                                            case 8:
                                                                                                                break w;
                                                                                                            case 9:
                                                                                                                break v;
                                                                                                            case 10:
                                                                                                                break u;
                                                                                                            case 11:
                                                                                                                break t;
                                                                                                            case 15:
                                                                                                                break s;
                                                                                                            case 16:
                                                                                                                break p;
                                                                                                            case 17:
                                                                                                                break o;
                                                                                                            case 18:
                                                                                                                break n;
                                                                                                            case 19:
                                                                                                                break q;
                                                                                                            case 20:
                                                                                                                break l;
                                                                                                            case 21:
                                                                                                                break k;
                                                                                                            case 22:
                                                                                                                break;
                                                                                                            default:
                                                                                                                return (-2);
                                                                                                        }
                                                                                                        break j;
                                                                                                    }
                                                                                                    $e = $this.$z3;
                                                                                                    $f = $e.$avail_in;
                                                                                                    if (!$f)
                                                                                                        return $r;
                                                                                                    $e.$avail_in = $f - 1 | 0;
                                                                                                    $e.$total_in = Long_add($e.$total_in, Long_fromInt(1));
                                                                                                    $foo = $e.$next_in.data;
                                                                                                    $f = $e.$next_in_index;
                                                                                                    $e.$next_in_index = $f + 1 | 0;
                                                                                                    $this.$need = Long_and(Long_fromInt(($foo[$f] & 255) << 24), Long_create(4278190080, 0));
                                                                                                    $this.$mode0 = 9;
                                                                                                    $r = var$3;
                                                                                                }
                                                                                                $e = $this.$z3;
                                                                                                $f = $e.$avail_in;
                                                                                                if (!$f)
                                                                                                    return $r;
                                                                                                $e.$avail_in = $f - 1 | 0;
                                                                                                $e.$total_in = Long_add($e.$total_in, Long_fromInt(1));
                                                                                                var$5 = $this.$need;
                                                                                                $foo = $e.$next_in.data;
                                                                                                $f = $e.$next_in_index;
                                                                                                $e.$next_in_index = $f + 1 | 0;
                                                                                                $this.$need = Long_add(var$5, Long_and(Long_fromInt(($foo[$f] & 255) << 16), Long_fromInt(16711680)));
                                                                                                $this.$mode0 = 10;
                                                                                                $r = var$3;
                                                                                            }
                                                                                            $e = $this.$z3;
                                                                                            $f = $e.$avail_in;
                                                                                            if (!$f)
                                                                                                return $r;
                                                                                            $e.$avail_in = $f - 1 | 0;
                                                                                            $e.$total_in = Long_add($e.$total_in, Long_fromInt(1));
                                                                                            var$5 = $this.$need;
                                                                                            $foo = $e.$next_in.data;
                                                                                            $f = $e.$next_in_index;
                                                                                            $e.$next_in_index = $f + 1 | 0;
                                                                                            $this.$need = Long_add(var$5, Long_and(Long_fromInt(($foo[$f] & 255) << 8), Long_fromInt(65280)));
                                                                                            $this.$mode0 = 11;
                                                                                            $r = var$3;
                                                                                        }
                                                                                        $e = $this.$z3;
                                                                                        $f = $e.$avail_in;
                                                                                        if (!$f)
                                                                                            return $r;
                                                                                        $e.$avail_in = $f - 1 | 0;
                                                                                        $e.$total_in = Long_add($e.$total_in, Long_fromInt(1));
                                                                                        var$5 = $this.$need;
                                                                                        $foo = $e.$next_in.data;
                                                                                        $f = $e.$next_in_index;
                                                                                        $e.$next_in_index = $f + 1 | 0;
                                                                                        var$5 = Long_add(var$5, Long_and(Long_fromInt($foo[$f]), Long_fromInt(255)));
                                                                                        $this.$need = var$5;
                                                                                        $f = $this.$flags1;
                                                                                        if ($f)
                                                                                            $this.$need = Long_and(Long_or(Long_or(Long_or(Long_shr(Long_and(var$5, Long_fromInt(-16777216)), 24), Long_shr(Long_and(var$5, Long_fromInt(16711680)), 8)), Long_shl(Long_and(var$5, Long_fromInt(65280)), 8)), Long_shl(Long_and(var$5, Long_fromInt(65535)), 24)), Long_create(4294967295, 0));
                                                                                        $r = Long_lo($this.$was);
                                                                                        var$5 = $this.$need;
                                                                                        if ($r != Long_lo(var$5))
                                                                                            $e.$msg = $rt_s(1620);
                                                                                        else if ($f) {
                                                                                            $e = $this.$gheader;
                                                                                            if ($e !== null)
                                                                                                $e.$crc = var$5;
                                                                                        }
                                                                                        $this.$mode0 = 15;
                                                                                        $r = var$3;
                                                                                    }
                                                                                    if (!($this.$wrap5 && $this.$flags1)) {
                                                                                        $e = $this.$z3.$msg;
                                                                                        if ($e === null)
                                                                                            break f;
                                                                                        if (!jl_String_equals($e, $rt_s(1620)))
                                                                                            break f;
                                                                                        $this.$mode0 = 13;
                                                                                        $this.$marker = 5;
                                                                                        continue i;
                                                                                    }
                                                                                    try {
                                                                                        $r = cjj_Inflate_readBytes($this, 4, $r, var$3);
                                                                                    } catch ($$e) {
                                                                                        $$je = $rt_wrapException($$e);
                                                                                        if ($$je instanceof cjj_Inflate$Return) {
                                                                                            $e = $$je;
                                                                                            return $e.$r;
                                                                                        } else {
                                                                                            throw $$e;
                                                                                        }
                                                                                    }
                                                                                    $e = $this.$z3.$msg;
                                                                                    if ($e !== null && jl_String_equals($e, $rt_s(1620))) {
                                                                                        $this.$mode0 = 13;
                                                                                        $this.$marker = 5;
                                                                                        continue i;
                                                                                    }
                                                                                    var$5 = $this.$need;
                                                                                    $e = $this.$z3;
                                                                                    if (Long_eq(var$5, Long_and($e.$total_out, Long_create(4294967295, 0)))) {
                                                                                        $e.$msg = null;
                                                                                        break f;
                                                                                    }
                                                                                    $e.$msg = $rt_s(1621);
                                                                                    $this.$mode0 = 13;
                                                                                    continue i;
                                                                                }
                                                                                if (!$this.$wrap5) {
                                                                                    $this.$mode0 = 7;
                                                                                    continue i;
                                                                                }
                                                                                try {
                                                                                    $r = cjj_Inflate_readBytes($this, 2, $r, var$3);
                                                                                } catch ($$e) {
                                                                                    $$je = $rt_wrapException($$e);
                                                                                    if ($$je instanceof cjj_Inflate$Return) {
                                                                                        $e = $$je;
                                                                                        return $e.$r;
                                                                                    } else {
                                                                                        throw $$e;
                                                                                    }
                                                                                }
                                                                                $f = $this.$wrap5;
                                                                                var$7 = $rt_compare($f, 4);
                                                                                if (!(var$7 && !($f & 2)) && Long_eq($this.$need, Long_fromInt(35615))) {
                                                                                    if (!var$7)
                                                                                        $this.$wrap5 = 2;
                                                                                    $this.$z3.$adler = cjj_CRC32__init_0();
                                                                                    cjj_Inflate_checksum($this, 2, $this.$need);
                                                                                    if ($this.$gheader === null)
                                                                                        $this.$gheader = cjj_GZIPHeader__init_0();
                                                                                    $this.$mode0 = 23;
                                                                                    continue i;
                                                                                }
                                                                                if ($f & 2) {
                                                                                    $this.$mode0 = 13;
                                                                                    $this.$z3.$msg = $rt_s(1622);
                                                                                    continue i;
                                                                                }
                                                                                $this.$flags1 = 0;
                                                                                var$5 = $this.$need;
                                                                                var$8 = Long_lo(var$5) & 255;
                                                                                $this.$method = var$8;
                                                                                $b = Long_lo(Long_shr(var$5, 8)) & 255;
                                                                                if (!($f & 1 && !(((var$8 << 8) + $b | 0) % 31 | 0)) && (var$8 & 15) != 8) {
                                                                                    if (var$7) {
                                                                                        $this.$mode0 = 13;
                                                                                        $this.$z3.$msg = $rt_s(1622);
                                                                                        continue i;
                                                                                    }
                                                                                    $e = $this.$z3;
                                                                                    $e.$next_in_index = $e.$next_in_index - 2 | 0;
                                                                                    $e.$avail_in = $e.$avail_in + 2 | 0;
                                                                                    $e.$total_in = Long_sub($e.$total_in, Long_fromInt(2));
                                                                                    $this.$wrap5 = 0;
                                                                                    $this.$mode0 = 7;
                                                                                    continue i;
                                                                                }
                                                                                if ((var$8 & 15) != 8) {
                                                                                    $this.$mode0 = 13;
                                                                                    $this.$z3.$msg = $rt_s(1618);
                                                                                    continue i;
                                                                                }
                                                                                if (!var$7)
                                                                                    $this.$wrap5 = 1;
                                                                                if (((var$8 >> 4) + 8 | 0) > $this.$wbits) {
                                                                                    $this.$mode0 = 13;
                                                                                    $this.$z3.$msg = $rt_s(1623);
                                                                                    continue i;
                                                                                }
                                                                                $this.$z3.$adler = cjj_Adler32__init_0();
                                                                                if ($b & 32) {
                                                                                    $this.$mode0 = 2;
                                                                                    break d;
                                                                                }
                                                                                $this.$mode0 = 7;
                                                                                continue i;
                                                                            }
                                                                            break m;
                                                                        }
                                                                        try {
                                                                            $r = cjj_Inflate_readBytes($this, 4, $r, var$3);
                                                                        } catch ($$e) {
                                                                            $$je = $rt_wrapException($$e);
                                                                            if ($$je instanceof cjj_Inflate$Return) {
                                                                                $e = $$je;
                                                                                return $e.$r;
                                                                            } else {
                                                                                throw $$e;
                                                                            }
                                                                        }
                                                                        $e = $this.$gheader;
                                                                        if ($e !== null)
                                                                            $e.$time0 = $this.$need;
                                                                        if ($this.$flags1 & 512)
                                                                            cjj_Inflate_checksum($this, 4, $this.$need);
                                                                        $this.$mode0 = 17;
                                                                    }
                                                                    try {
                                                                        $r = cjj_Inflate_readBytes($this, 2, $r, var$3);
                                                                    } catch ($$e) {
                                                                        $$je = $rt_wrapException($$e);
                                                                        if ($$je instanceof cjj_Inflate$Return) {
                                                                            $e = $$je;
                                                                            return $e.$r;
                                                                        } else {
                                                                            throw $$e;
                                                                        }
                                                                    }
                                                                    $e = $this.$gheader;
                                                                    if ($e !== null) {
                                                                        $f = Long_lo($this.$need);
                                                                        $e.$xflags = $f & 255;
                                                                        $e.$os = $f >> 8 & 255;
                                                                    }
                                                                    if ($this.$flags1 & 512)
                                                                        cjj_Inflate_checksum($this, 2, $this.$need);
                                                                    $this.$mode0 = 18;
                                                                }
                                                                if (!($this.$flags1 & 1024)) {
                                                                    $e = $this.$gheader;
                                                                    if ($e !== null)
                                                                        $e.$extra = null;
                                                                } else {
                                                                    try {
                                                                        $r = cjj_Inflate_readBytes($this, 2, $r, var$3);
                                                                    } catch ($$e) {
                                                                        $$je = $rt_wrapException($$e);
                                                                        if ($$je instanceof cjj_Inflate$Return) {
                                                                            $e = $$je;
                                                                            return $e.$r;
                                                                        } else {
                                                                            throw $$e;
                                                                        }
                                                                    }
                                                                    $e = $this.$gheader;
                                                                    if ($e !== null)
                                                                        $e.$extra = $rt_createByteArray(Long_lo($this.$need) & 65535);
                                                                    if ($this.$flags1 & 512)
                                                                        cjj_Inflate_checksum($this, 2, $this.$need);
                                                                }
                                                                $this.$mode0 = 19;
                                                            }
                                                            if (!($this.$flags1 & 1024)) {
                                                                $e = $this.$gheader;
                                                                if ($e !== null)
                                                                    $e.$extra = null;
                                                            } else
                                                                x: {
                                                                    try {
                                                                        $r = cjj_Inflate_readBytes0($this, $r, var$3);
                                                                        if ($this.$gheader === null)
                                                                            break x;
                                                                        $foo = ji_ByteArrayOutputStream_toByteArray($this.$tmp_string);
                                                                        var$10 = $foo.data;
                                                                        $this.$tmp_string = null;
                                                                        $f = var$10.length;
                                                                        var$10 = $this.$gheader.$extra;
                                                                        if ($f != var$10.data.length) {
                                                                            $this.$z3.$msg = $rt_s(1624);
                                                                            $this.$mode0 = 13;
                                                                            continue i;
                                                                        }
                                                                        jl_System_fastArraycopy($foo, 0, var$10, 0, $f);
                                                                        break x;
                                                                    } catch ($$e) {
                                                                        $$je = $rt_wrapException($$e);
                                                                        if ($$je instanceof cjj_Inflate$Return) {
                                                                            $e = $$je;
                                                                            return $e.$r;
                                                                        } else {
                                                                            throw $$e;
                                                                        }
                                                                    }
                                                                }
                                                            $this.$mode0 = 20;
                                                        }
                                                        y: {
                                                            if (!($this.$flags1 & 2048)) {
                                                                $e = $this.$gheader;
                                                                if ($e !== null)
                                                                    $e.$name9 = null;
                                                            } else {
                                                                z: {
                                                                    try {
                                                                        $r = cjj_Inflate_readString($this, $r, var$3);
                                                                        $e = $this.$gheader;
                                                                        if ($e === null)
                                                                            break z;
                                                                        $e.$name9 = ji_ByteArrayOutputStream_toByteArray($this.$tmp_string);
                                                                        break z;
                                                                    } catch ($$e) {
                                                                        $$je = $rt_wrapException($$e);
                                                                        if ($$je instanceof cjj_Inflate$Return) {
                                                                            $e = $$je;
                                                                            break h;
                                                                        } else {
                                                                            throw $$e;
                                                                        }
                                                                    }
                                                                }
                                                                try {
                                                                    $this.$tmp_string = null;
                                                                    break y;
                                                                } catch ($$e) {
                                                                    $$je = $rt_wrapException($$e);
                                                                    if ($$je instanceof cjj_Inflate$Return) {
                                                                        $e = $$je;
                                                                        break h;
                                                                    } else {
                                                                        throw $$e;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                        $this.$mode0 = 21;
                                                    }
                                                    ba: {
                                                        if (!($this.$flags1 & 4096)) {
                                                            $e = $this.$gheader;
                                                            if ($e !== null)
                                                                $e.$comment = null;
                                                        } else {
                                                            bb: {
                                                                try {
                                                                    $r = cjj_Inflate_readString($this, $r, var$3);
                                                                    $e = $this.$gheader;
                                                                    if ($e === null)
                                                                        break bb;
                                                                    $e.$comment = ji_ByteArrayOutputStream_toByteArray($this.$tmp_string);
                                                                    break bb;
                                                                } catch ($$e) {
                                                                    $$je = $rt_wrapException($$e);
                                                                    if ($$je instanceof cjj_Inflate$Return) {
                                                                        $e = $$je;
                                                                        break g;
                                                                    } else {
                                                                        throw $$e;
                                                                    }
                                                                }
                                                            }
                                                            try {
                                                                $this.$tmp_string = null;
                                                                break ba;
                                                            } catch ($$e) {
                                                                $$je = $rt_wrapException($$e);
                                                                if ($$je instanceof cjj_Inflate$Return) {
                                                                    $e = $$je;
                                                                    break g;
                                                                } else {
                                                                    throw $$e;
                                                                }
                                                            }
                                                        }
                                                    }
                                                    $this.$mode0 = 22;
                                                }
                                                if ($this.$flags1 & 512) {
                                                    try {
                                                        $r = cjj_Inflate_readBytes($this, 2, $r, var$3);
                                                    } catch ($$e) {
                                                        $$je = $rt_wrapException($$e);
                                                        if ($$je instanceof cjj_Inflate$Return) {
                                                            $e = $$je;
                                                            return $e.$r;
                                                        } else {
                                                            throw $$e;
                                                        }
                                                    }
                                                    $e = $this.$gheader;
                                                    if ($e !== null)
                                                        $e.$hcrc = Long_lo(Long_and($this.$need, Long_fromInt(65535)));
                                                    if (Long_ne($this.$need, Long_and($this.$z3.$adler.$getValue(), Long_fromInt(65535)))) {
                                                        $this.$mode0 = 13;
                                                        $this.$z3.$msg = $rt_s(1625);
                                                        $this.$marker = 5;
                                                        continue;
                                                    }
                                                }
                                                $this.$z3.$adler = cjj_CRC32__init_0();
                                                $this.$mode0 = 7;
                                            }
                                            return $r;
                                        }
                                        return $e.$r;
                                    }
                                    return $e.$r;
                                }
                                $this.$mode0 = 12;
                            }
                            return 1;
                        }
                        $e = $this.$z3;
                        var$8 = $e.$avail_in;
                        if (!var$8)
                            return $r;
                        $e.$avail_in = var$8 - 1 | 0;
                        $e.$total_in = Long_add($e.$total_in, Long_fromInt(1));
                        $foo = $e.$next_in.data;
                        $r = $e.$next_in_index;
                        $e.$next_in_index = $r + 1 | 0;
                        $this.$need = Long_and(Long_fromInt(($foo[$r] & 255) << 24), Long_create(4278190080, 0));
                        $this.$mode0 = 3;
                        $r = var$3;
                    }
                    $e = $this.$z3;
                    $f = $e.$avail_in;
                    if (!$f)
                        return $r;
                    $e.$avail_in = $f - 1 | 0;
                    $e.$total_in = Long_add($e.$total_in, Long_fromInt(1));
                    var$5 = $this.$need;
                    $foo = $e.$next_in.data;
                    $r = $e.$next_in_index;
                    $e.$next_in_index = $r + 1 | 0;
                    $this.$need = Long_add(var$5, Long_and(Long_fromInt(($foo[$r] & 255) << 16), Long_fromInt(16711680)));
                    $this.$mode0 = 4;
                    $r = var$3;
                }
                $e = $this.$z3;
                $f = $e.$avail_in;
                if (!$f)
                    return $r;
                $e.$avail_in = $f - 1 | 0;
                $e.$total_in = Long_add($e.$total_in, Long_fromInt(1));
                var$5 = $this.$need;
                $foo = $e.$next_in.data;
                $f = $e.$next_in_index;
                $e.$next_in_index = $f + 1 | 0;
                $this.$need = Long_add(var$5, Long_and(Long_fromInt(($foo[$f] & 255) << 8), Long_fromInt(65280)));
                $this.$mode0 = 5;
            }
            $e = $this.$z3;
            $f = $e.$avail_in;
            if (!$f)
                return var$3;
            $e.$avail_in = $f - 1 | 0;
            $e.$total_in = Long_add($e.$total_in, Long_fromInt(1));
            var$5 = $this.$need;
            $foo = $e.$next_in.data;
            $f = $e.$next_in_index;
            $e.$next_in_index = $f + 1 | 0;
            var$5 = Long_add(var$5, Long_and(Long_fromInt($foo[$f]), Long_fromInt(255)));
            $this.$need = var$5;
            $e.$adler.$reset1(var$5);
            $this.$mode0 = 6;
            return 2;
        }
        if ($f == 4 && $this.$mode0 == 14)
            return 0;
        return (-2);
    }
    function cjj_Inflate_readBytes($this, $n, $r, $f) {
        var var$4, var$5, var$6, var$7, var$8;
        if ($this.$need_bytes == (-1)) {
            $this.$need_bytes = $n;
            $this.$need = Long_ZERO;
        }
        while (true) {
            var$4 = $this.$need_bytes;
            if (var$4 <= 0) {
                if ($n == 2)
                    $this.$need = Long_and($this.$need, Long_fromInt(65535));
                else if ($n == 4)
                    $this.$need = Long_and($this.$need, Long_create(4294967295, 0));
                $this.$need_bytes = (-1);
                return $r;
            }
            var$5 = $this.$z3;
            var$6 = var$5.$avail_in;
            if (!var$6)
                break;
            var$5.$avail_in = var$6 - 1 | 0;
            var$5.$total_in = Long_add(var$5.$total_in, Long_fromInt(1));
            var$7 = $this.$need;
            var$8 = var$5.$next_in.data;
            var$6 = var$5.$next_in_index;
            var$5.$next_in_index = var$6 + 1 | 0;
            $this.$need = Long_or(var$7, Long_fromInt((var$8[var$6] & 255) << (($n - var$4 | 0) * 8 | 0)));
            $this.$need_bytes = var$4 - 1 | 0;
            $r = $f;
        }
        $rt_throw(cjj_Inflate$Return__init_0($this, $r));
    }
    function cjj_Inflate_readString($this, $r, $f) {
        var var$3, var$4, var$5, var$6, var$7;
        if ($this.$tmp_string === null)
            $this.$tmp_string = ji_ByteArrayOutputStream__init_1();
        while (true) {
            var$3 = $this.$z3;
            var$4 = var$3.$avail_in;
            if (!var$4)
                $rt_throw(cjj_Inflate$Return__init_0($this, $r));
            var$3.$avail_in = var$4 - 1 | 0;
            var$3.$total_in = Long_add(var$3.$total_in, Long_fromInt(1));
            var$5 = var$3.$next_in;
            var$6 = var$5.data;
            var$4 = var$3.$next_in_index;
            var$7 = var$6[var$4];
            if (var$7)
                ji_ByteArrayOutputStream_write($this.$tmp_string, var$5, var$4, 1);
            var$3 = $this.$z3;
            var$3.$adler.$update2(var$3.$next_in, var$3.$next_in_index, 1);
            var$3 = $this.$z3;
            var$3.$next_in_index = var$3.$next_in_index + 1 | 0;
            if (!var$7)
                break;
            $r = $f;
        }
        return $f;
    }
    function cjj_Inflate_readBytes0($this, $r, $f) {
        var var$3, var$4;
        if ($this.$tmp_string === null)
            $this.$tmp_string = ji_ByteArrayOutputStream__init_1();
        while (Long_gt($this.$need, Long_ZERO)) {
            var$3 = $this.$z3;
            var$4 = var$3.$avail_in;
            if (!var$4)
                $rt_throw(cjj_Inflate$Return__init_0($this, $r));
            var$3.$avail_in = var$4 - 1 | 0;
            var$3.$total_in = Long_add(var$3.$total_in, Long_fromInt(1));
            ji_ByteArrayOutputStream_write($this.$tmp_string, var$3.$next_in, var$3.$next_in_index, 1);
            var$3 = $this.$z3;
            var$3.$adler.$update2(var$3.$next_in, var$3.$next_in_index, 1);
            var$3 = $this.$z3;
            var$3.$next_in_index = var$3.$next_in_index + 1 | 0;
            $this.$need = Long_sub($this.$need, Long_fromInt(1));
            $r = $f;
        }
        return $r;
    }
    function cjj_Inflate_checksum($this, $n, $v) {
        var $i;
        $i = 0;
        while ($i < $n) {
            $this.$crcbuf.data[$i] = Long_lo(Long_and($v, Long_fromInt(255))) << 24 >> 24;
            $v = Long_shr($v, 8);
            $i = $i + 1 | 0;
        }
        $this.$z3.$adler.$update2($this.$crcbuf, 0, $n);
    }
    function cjj_Inflate__clinit_() {
        cjj_Inflate_mark = $rt_createByteArrayFromData([0, 0, (-1), (-1)]);
    }
    function nms_ShapedRecipes() {
        var a = this; jl_Object.call(a);
        a.$recipeWidth = 0;
        a.$recipeHeight = 0;
        a.$recipeItems = null;
        a.$recipeOutput = null;
        a.$recipeOutputItemID = 0;
    }
    function nms_ShapedRecipes_func_25117_b($this) {
        return $this.$recipeOutput;
    }
    function nms_ShapedRecipes_matches($this, $var1) {
        var $var2, $var3;
        $var2 = 0;
        while ($var2 <= (3 - $this.$recipeWidth | 0)) {
            $var3 = 0;
            while ($var3 <= (3 - $this.$recipeHeight | 0)) {
                if (nms_ShapedRecipes_func_21137_a($this, $var1, $var2, $var3, 1))
                    return 1;
                if (nms_ShapedRecipes_func_21137_a($this, $var1, $var2, $var3, 0))
                    return 1;
                $var3 = $var3 + 1 | 0;
            }
            $var2 = $var2 + 1 | 0;
        }
        return 0;
    }
    function nms_ShapedRecipes_func_21137_a($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, $var7, $var8, $var9, var$10, $var10, var$12;
        $var5 = 0;
        a: {
            while ($var5 < 3) {
                $var6 = 0;
                while ($var6 < 3) {
                    $var7 = $var5 - $var2 | 0;
                    $var8 = $var6 - $var3 | 0;
                    $var9 = null;
                    if ($var7 >= 0 && $var8 >= 0) {
                        var$10 = $this.$recipeWidth;
                        if ($var7 < var$10 && $var8 < $this.$recipeHeight)
                            $var9 = !$var4 ? $this.$recipeItems.data[$var7 + $rt_imul($var8, var$10) | 0] : $this.$recipeItems.data[((var$10 - $var7 | 0) - 1 | 0) + $rt_imul($var8, var$10) | 0];
                    }
                    $var10 = nms_InventoryCrafting_func_21103_b($var1, $var5, $var6);
                    if (!($var10 === null && $var9 === null)) {
                        if ($var10 === null && $var9 !== null)
                            break a;
                        if ($var10 !== null && $var9 === null)
                            break a;
                        if ($var9.$itemID != $var10.$itemID)
                            return 0;
                        var$12 = $var9.$itemDamage;
                        if (var$12 != (-1) && var$12 != $var10.$itemDamage)
                            return 0;
                    }
                    $var6 = $var6 + 1 | 0;
                }
                $var5 = $var5 + 1 | 0;
            }
            return 1;
        }
        return 0;
    }
    function nms_ShapedRecipes_getCraftingResult($this, $var1) {
        var var$2;
        $var1 = new nms_ItemStack;
        var$2 = $this.$recipeOutput;
        nms_ItemStack__init_0($var1, var$2.$itemID, var$2.$stackSize, var$2.$itemDamage);
        return $var1;
    }
    function nms_ShapedRecipes_getRecipeSize($this) {
        return $rt_imul($this.$recipeWidth, $this.$recipeHeight);
    }
    function jt_DecimalFormatParser() {
        var a = this; jl_Object.call(a);
        a.$positivePrefix0 = null;
        a.$positiveSuffix0 = null;
        a.$negativePrefix0 = null;
        a.$negativeSuffix0 = null;
        a.$groupSize = 0;
        a.$minimumIntLength = 0;
        a.$intLength = 0;
        a.$minimumFracLength = 0;
        a.$fracLength = 0;
        a.$exponentLength = 0;
        a.$decimalSeparatorRequired = 0;
        a.$string2 = null;
        a.$index3 = 0;
        a.$multiplier0 = 0;
    }
    function jt_DecimalFormatParser__init_0() {
        var var_0 = new jt_DecimalFormatParser();
        jt_DecimalFormatParser__init_(var_0);
        return var_0;
    }
    function jt_DecimalFormatParser__init_($this) {}
    function jt_DecimalFormatParser_parseText($this, $suffix, $end) {
        var $fields, $sb, $c, var$6, var$7, $next, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();$next = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$c = $thread.pop();$sb = $thread.pop();$fields = $thread.pop();$end = $thread.pop();$suffix = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $fields = ju_ArrayList__init_0();
            $sb = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($sb);
            a: {
                b: {
                    c: while (true) {
                        if ($this.$index3 >= jl_String_length($this.$string2))
                            break a;
                        d: {
                            $c = jl_String_charAt($this.$string2, $this.$index3);
                            switch ($c) {
                                case 35:
                                case 48:
                                    if (!$suffix)
                                        break a;
                                    $fields = new jl_IllegalArgumentException;
                                    $suffix = $this.$index3;
                                    var$6 = $this.$string2;
                                    var$7 = new jl_StringBuilder;
                                    jl_AbstractStringBuilder__init_(var$7);
                                    $sb = $rt_s(1626);
                                    $ptr = 7;
                                    continue main;
                                case 37:
                                    if ($sb.$length0 > 0) {
                                        var$7 = new jt_DecimalFormat$TextField;
                                        $ptr = 12;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$PercentField;
                                    $ptr = 11;
                                    continue main;
                                case 39:
                                    $c = $this.$index3 + 1 | 0;
                                    $this.$index3 = $c;
                                    $next = jl_String_indexOf($this.$string2, 39, $c);
                                    if ($next < 0)
                                        break c;
                                    $c = $this.$index3;
                                    if ($next == $c)
                                        jl_AbstractStringBuilder_append($sb, 39);
                                    else
                                        jl_AbstractStringBuilder_append2($sb, jl_String_substring0($this.$string2, $c, $next));
                                    $this.$index3 = $next + 1 | 0;
                                    break d;
                                case 45:
                                    if ($sb.$length0 > 0) {
                                        var$6 = new jt_DecimalFormat$TextField;
                                        $ptr = 19;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$MinusField;
                                    $ptr = 18;
                                    continue main;
                                case 46:
                                case 69:
                                    $fields = new jl_IllegalArgumentException;
                                    $suffix = $this.$index3;
                                    var$6 = $this.$string2;
                                    var$7 = new jl_StringBuilder;
                                    jl_AbstractStringBuilder__init_(var$7);
                                    $sb = $rt_s(1626);
                                    $ptr = 3;
                                    continue main;
                                case 59:
                                    break b;
                                case 164:
                                    if ($sb.$length0 > 0) {
                                        var$6 = new jt_DecimalFormat$TextField;
                                        $ptr = 26;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$CurrencyField;
                                    $ptr = 25;
                                    continue main;
                                case 8240:
                                    if ($sb.$length0 > 0) {
                                        var$6 = new jt_DecimalFormat$TextField;
                                        $ptr = 29;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$PerMillField;
                                    $ptr = 28;
                                    continue main;
                                default:
                            }
                            jl_AbstractStringBuilder_append($sb, $c);
                            $this.$index3 = $this.$index3 + 1 | 0;
                        }
                    }
                    $fields = new jl_IllegalArgumentException;
                    $suffix = $this.$index3;
                    var$6 = $this.$string2;
                    var$7 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$7);
                    $sb = $rt_s(1627);
                    $ptr = 14;
                    continue main;
                }
                if ($end) {
                    $fields = new jl_IllegalArgumentException;
                    $suffix = $this.$index3;
                    var$6 = $this.$string2;
                    var$7 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$7);
                    $sb = $rt_s(1626);
                    $ptr = 21;
                    continue main;
                }
            }
            if ($sb.$length0 <= 0)
                return ju_AbstractCollection_toArray($fields, $rt_createArray(jt_DecimalFormat$FormatField, $fields.$size0));
            var$7 = new jt_DecimalFormat$TextField;
            $ptr = 1;
        case 1:
            $tmp = jl_AbstractStringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jt_DecimalFormat$TextField__init_(var$7, var$6);
            $ptr = 2;
        case 2:
            ju_ArrayList_add($fields, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return ju_AbstractCollection_toArray($fields, $rt_createArray(jt_DecimalFormat$FormatField, $fields.$size0));
        case 3:
            $tmp = jl_StringBuilder_append(var$7, $sb);
            if ($rt_suspending()) {
                break main;
            }
            $sb = $tmp;
            jl_AbstractStringBuilder_append0($sb, $suffix);
            var$9 = $rt_s(1200);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append($sb, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $sb = $tmp;
            $ptr = 5;
        case 5:
            jl_StringBuilder_append($sb, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_($fields, var$6);
            $rt_throw($fields);
        case 7:
            $tmp = jl_StringBuilder_append(var$7, $sb);
            if ($rt_suspending()) {
                break main;
            }
            $sb = $tmp;
            jl_AbstractStringBuilder_append0($sb, $suffix);
            var$9 = $rt_s(1200);
            $ptr = 8;
        case 8:
            $tmp = jl_StringBuilder_append($sb, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $sb = $tmp;
            $ptr = 9;
        case 9:
            jl_StringBuilder_append($sb, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            $tmp = jl_AbstractStringBuilder_toString(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_($fields, var$6);
            $rt_throw($fields);
        case 11:
            ju_ArrayList_add($fields, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $this.$index3 = $this.$index3 + 1 | 0;
            $this.$multiplier0 = 100;
            a: {
                b: {
                    c: while (true) {
                        if ($this.$index3 >= jl_String_length($this.$string2))
                            break a;
                        e: {
                            $c = jl_String_charAt($this.$string2, $this.$index3);
                            switch ($c) {
                                case 35:
                                case 48:
                                    if (!$suffix)
                                        break a;
                                    $fields = new jl_IllegalArgumentException;
                                    $suffix = $this.$index3;
                                    var$6 = $this.$string2;
                                    var$7 = new jl_StringBuilder;
                                    jl_AbstractStringBuilder__init_(var$7);
                                    $sb = $rt_s(1626);
                                    $ptr = 7;
                                    continue main;
                                case 37:
                                    if ($sb.$length0 > 0) {
                                        var$7 = new jt_DecimalFormat$TextField;
                                        $ptr = 12;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$PercentField;
                                    continue main;
                                case 39:
                                    break e;
                                case 45:
                                    if ($sb.$length0 > 0) {
                                        var$6 = new jt_DecimalFormat$TextField;
                                        $ptr = 19;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$MinusField;
                                    $ptr = 18;
                                    continue main;
                                case 46:
                                case 69:
                                    $fields = new jl_IllegalArgumentException;
                                    $suffix = $this.$index3;
                                    var$6 = $this.$string2;
                                    var$7 = new jl_StringBuilder;
                                    jl_AbstractStringBuilder__init_(var$7);
                                    $sb = $rt_s(1626);
                                    $ptr = 3;
                                    continue main;
                                case 59:
                                    break b;
                                case 164:
                                    if ($sb.$length0 > 0) {
                                        var$6 = new jt_DecimalFormat$TextField;
                                        $ptr = 26;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$CurrencyField;
                                    $ptr = 25;
                                    continue main;
                                case 8240:
                                    if ($sb.$length0 > 0) {
                                        var$6 = new jt_DecimalFormat$TextField;
                                        $ptr = 29;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$PerMillField;
                                    $ptr = 28;
                                    continue main;
                                default:
                            }
                            jl_AbstractStringBuilder_append($sb, $c);
                            $this.$index3 = $this.$index3 + 1 | 0;
                            continue c;
                        }
                        $c = $this.$index3 + 1 | 0;
                        $this.$index3 = $c;
                        $next = jl_String_indexOf($this.$string2, 39, $c);
                        if ($next < 0)
                            break;
                        $c = $this.$index3;
                        if ($next == $c)
                            jl_AbstractStringBuilder_append($sb, 39);
                        else
                            jl_AbstractStringBuilder_append2($sb, jl_String_substring0($this.$string2, $c, $next));
                        $this.$index3 = $next + 1 | 0;
                    }
                    $fields = new jl_IllegalArgumentException;
                    $suffix = $this.$index3;
                    var$6 = $this.$string2;
                    var$7 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$7);
                    $sb = $rt_s(1627);
                    $ptr = 14;
                    continue main;
                }
                if ($end) {
                    $fields = new jl_IllegalArgumentException;
                    $suffix = $this.$index3;
                    var$6 = $this.$string2;
                    var$7 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$7);
                    $sb = $rt_s(1626);
                    $ptr = 21;
                    continue main;
                }
            }
            if ($sb.$length0 <= 0)
                return ju_AbstractCollection_toArray($fields, $rt_createArray(jt_DecimalFormat$FormatField, $fields.$size0));
            var$7 = new jt_DecimalFormat$TextField;
            $ptr = 1;
            continue main;
        case 12:
            $tmp = jl_AbstractStringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jt_DecimalFormat$TextField__init_(var$7, var$6);
            $ptr = 13;
        case 13:
            ju_ArrayList_add($fields, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $sb.$length0 = 0;
            var$6 = new jt_DecimalFormat$PercentField;
            $ptr = 11;
            continue main;
        case 14:
            $tmp = jl_StringBuilder_append(var$7, $sb);
            if ($rt_suspending()) {
                break main;
            }
            $sb = $tmp;
            jl_AbstractStringBuilder_append0($sb, $suffix);
            var$9 = $rt_s(1628);
            $ptr = 15;
        case 15:
            $tmp = jl_StringBuilder_append($sb, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $sb = $tmp;
            $ptr = 16;
        case 16:
            jl_StringBuilder_append($sb, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            $tmp = jl_AbstractStringBuilder_toString(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_($fields, var$6);
            $rt_throw($fields);
        case 18:
            ju_ArrayList_add($fields, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $this.$index3 = $this.$index3 + 1 | 0;
            a: {
                b: {
                    c: while (true) {
                        if ($this.$index3 >= jl_String_length($this.$string2))
                            break a;
                        e: {
                            $c = jl_String_charAt($this.$string2, $this.$index3);
                            switch ($c) {
                                case 35:
                                case 48:
                                    if (!$suffix)
                                        break a;
                                    $fields = new jl_IllegalArgumentException;
                                    $suffix = $this.$index3;
                                    var$6 = $this.$string2;
                                    var$7 = new jl_StringBuilder;
                                    jl_AbstractStringBuilder__init_(var$7);
                                    $sb = $rt_s(1626);
                                    $ptr = 7;
                                    continue main;
                                case 37:
                                    if ($sb.$length0 > 0) {
                                        var$7 = new jt_DecimalFormat$TextField;
                                        $ptr = 12;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$PercentField;
                                    $ptr = 11;
                                    continue main;
                                case 39:
                                    break e;
                                case 45:
                                    if ($sb.$length0 > 0) {
                                        var$6 = new jt_DecimalFormat$TextField;
                                        $ptr = 19;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$MinusField;
                                    continue main;
                                case 46:
                                case 69:
                                    $fields = new jl_IllegalArgumentException;
                                    $suffix = $this.$index3;
                                    var$6 = $this.$string2;
                                    var$7 = new jl_StringBuilder;
                                    jl_AbstractStringBuilder__init_(var$7);
                                    $sb = $rt_s(1626);
                                    $ptr = 3;
                                    continue main;
                                case 59:
                                    break b;
                                case 164:
                                    if ($sb.$length0 > 0) {
                                        var$6 = new jt_DecimalFormat$TextField;
                                        $ptr = 26;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$CurrencyField;
                                    $ptr = 25;
                                    continue main;
                                case 8240:
                                    if ($sb.$length0 > 0) {
                                        var$6 = new jt_DecimalFormat$TextField;
                                        $ptr = 29;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$PerMillField;
                                    $ptr = 28;
                                    continue main;
                                default:
                            }
                            jl_AbstractStringBuilder_append($sb, $c);
                            $this.$index3 = $this.$index3 + 1 | 0;
                            continue c;
                        }
                        $c = $this.$index3 + 1 | 0;
                        $this.$index3 = $c;
                        $next = jl_String_indexOf($this.$string2, 39, $c);
                        if ($next < 0)
                            break;
                        $c = $this.$index3;
                        if ($next == $c)
                            jl_AbstractStringBuilder_append($sb, 39);
                        else
                            jl_AbstractStringBuilder_append2($sb, jl_String_substring0($this.$string2, $c, $next));
                        $this.$index3 = $next + 1 | 0;
                    }
                    $fields = new jl_IllegalArgumentException;
                    $suffix = $this.$index3;
                    var$6 = $this.$string2;
                    var$7 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$7);
                    $sb = $rt_s(1627);
                    $ptr = 14;
                    continue main;
                }
                if ($end) {
                    $fields = new jl_IllegalArgumentException;
                    $suffix = $this.$index3;
                    var$6 = $this.$string2;
                    var$7 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$7);
                    $sb = $rt_s(1626);
                    $ptr = 21;
                    continue main;
                }
            }
            if ($sb.$length0 <= 0)
                return ju_AbstractCollection_toArray($fields, $rt_createArray(jt_DecimalFormat$FormatField, $fields.$size0));
            var$7 = new jt_DecimalFormat$TextField;
            $ptr = 1;
            continue main;
        case 19:
            $tmp = jl_AbstractStringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jt_DecimalFormat$TextField__init_(var$6, var$7);
            $ptr = 20;
        case 20:
            ju_ArrayList_add($fields, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $sb.$length0 = 0;
            var$6 = new jt_DecimalFormat$MinusField;
            $ptr = 18;
            continue main;
        case 21:
            $tmp = jl_StringBuilder_append(var$7, $sb);
            if ($rt_suspending()) {
                break main;
            }
            $sb = $tmp;
            jl_AbstractStringBuilder_append0($sb, $suffix);
            var$9 = $rt_s(1200);
            $ptr = 22;
        case 22:
            $tmp = jl_StringBuilder_append($sb, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $sb = $tmp;
            $ptr = 23;
        case 23:
            jl_StringBuilder_append($sb, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 24;
        case 24:
            $tmp = jl_AbstractStringBuilder_toString(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_($fields, var$6);
            $rt_throw($fields);
        case 25:
            ju_ArrayList_add($fields, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $this.$index3 = $this.$index3 + 1 | 0;
            a: {
                b: {
                    c: while (true) {
                        if ($this.$index3 >= jl_String_length($this.$string2))
                            break a;
                        e: {
                            $c = jl_String_charAt($this.$string2, $this.$index3);
                            switch ($c) {
                                case 35:
                                case 48:
                                    if (!$suffix)
                                        break a;
                                    $fields = new jl_IllegalArgumentException;
                                    $suffix = $this.$index3;
                                    var$6 = $this.$string2;
                                    var$7 = new jl_StringBuilder;
                                    jl_AbstractStringBuilder__init_(var$7);
                                    $sb = $rt_s(1626);
                                    $ptr = 7;
                                    continue main;
                                case 37:
                                    if ($sb.$length0 > 0) {
                                        var$7 = new jt_DecimalFormat$TextField;
                                        $ptr = 12;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$PercentField;
                                    $ptr = 11;
                                    continue main;
                                case 39:
                                    break e;
                                case 45:
                                    if ($sb.$length0 > 0) {
                                        var$6 = new jt_DecimalFormat$TextField;
                                        $ptr = 19;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$MinusField;
                                    $ptr = 18;
                                    continue main;
                                case 46:
                                case 69:
                                    $fields = new jl_IllegalArgumentException;
                                    $suffix = $this.$index3;
                                    var$6 = $this.$string2;
                                    var$7 = new jl_StringBuilder;
                                    jl_AbstractStringBuilder__init_(var$7);
                                    $sb = $rt_s(1626);
                                    $ptr = 3;
                                    continue main;
                                case 59:
                                    break b;
                                case 164:
                                    if ($sb.$length0 > 0) {
                                        var$6 = new jt_DecimalFormat$TextField;
                                        $ptr = 26;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$CurrencyField;
                                    continue main;
                                case 8240:
                                    if ($sb.$length0 > 0) {
                                        var$6 = new jt_DecimalFormat$TextField;
                                        $ptr = 29;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$PerMillField;
                                    $ptr = 28;
                                    continue main;
                                default:
                            }
                            jl_AbstractStringBuilder_append($sb, $c);
                            $this.$index3 = $this.$index3 + 1 | 0;
                            continue c;
                        }
                        $c = $this.$index3 + 1 | 0;
                        $this.$index3 = $c;
                        $next = jl_String_indexOf($this.$string2, 39, $c);
                        if ($next < 0)
                            break;
                        $c = $this.$index3;
                        if ($next == $c)
                            jl_AbstractStringBuilder_append($sb, 39);
                        else
                            jl_AbstractStringBuilder_append2($sb, jl_String_substring0($this.$string2, $c, $next));
                        $this.$index3 = $next + 1 | 0;
                    }
                    $fields = new jl_IllegalArgumentException;
                    $suffix = $this.$index3;
                    var$6 = $this.$string2;
                    var$7 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$7);
                    $sb = $rt_s(1627);
                    $ptr = 14;
                    continue main;
                }
                if ($end) {
                    $fields = new jl_IllegalArgumentException;
                    $suffix = $this.$index3;
                    var$6 = $this.$string2;
                    var$7 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$7);
                    $sb = $rt_s(1626);
                    $ptr = 21;
                    continue main;
                }
            }
            if ($sb.$length0 <= 0)
                return ju_AbstractCollection_toArray($fields, $rt_createArray(jt_DecimalFormat$FormatField, $fields.$size0));
            var$7 = new jt_DecimalFormat$TextField;
            $ptr = 1;
            continue main;
        case 26:
            $tmp = jl_AbstractStringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jt_DecimalFormat$TextField__init_(var$6, var$7);
            $ptr = 27;
        case 27:
            ju_ArrayList_add($fields, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $sb.$length0 = 0;
            var$6 = new jt_DecimalFormat$CurrencyField;
            $ptr = 25;
            continue main;
        case 28:
            ju_ArrayList_add($fields, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $this.$index3 = $this.$index3 + 1 | 0;
            $this.$multiplier0 = 1000;
            a: {
                b: {
                    c: while (true) {
                        if ($this.$index3 >= jl_String_length($this.$string2))
                            break a;
                        e: {
                            $c = jl_String_charAt($this.$string2, $this.$index3);
                            switch ($c) {
                                case 35:
                                case 48:
                                    if (!$suffix)
                                        break a;
                                    $fields = new jl_IllegalArgumentException;
                                    $suffix = $this.$index3;
                                    var$6 = $this.$string2;
                                    var$7 = new jl_StringBuilder;
                                    jl_AbstractStringBuilder__init_(var$7);
                                    $sb = $rt_s(1626);
                                    $ptr = 7;
                                    continue main;
                                case 37:
                                    if ($sb.$length0 > 0) {
                                        var$7 = new jt_DecimalFormat$TextField;
                                        $ptr = 12;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$PercentField;
                                    $ptr = 11;
                                    continue main;
                                case 39:
                                    break e;
                                case 45:
                                    if ($sb.$length0 > 0) {
                                        var$6 = new jt_DecimalFormat$TextField;
                                        $ptr = 19;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$MinusField;
                                    $ptr = 18;
                                    continue main;
                                case 46:
                                case 69:
                                    $fields = new jl_IllegalArgumentException;
                                    $suffix = $this.$index3;
                                    var$6 = $this.$string2;
                                    var$7 = new jl_StringBuilder;
                                    jl_AbstractStringBuilder__init_(var$7);
                                    $sb = $rt_s(1626);
                                    $ptr = 3;
                                    continue main;
                                case 59:
                                    break b;
                                case 164:
                                    if ($sb.$length0 > 0) {
                                        var$6 = new jt_DecimalFormat$TextField;
                                        $ptr = 26;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$CurrencyField;
                                    $ptr = 25;
                                    continue main;
                                case 8240:
                                    if ($sb.$length0 > 0) {
                                        var$6 = new jt_DecimalFormat$TextField;
                                        $ptr = 29;
                                        continue main;
                                    }
                                    var$6 = new jt_DecimalFormat$PerMillField;
                                    continue main;
                                default:
                            }
                            jl_AbstractStringBuilder_append($sb, $c);
                            $this.$index3 = $this.$index3 + 1 | 0;
                            continue c;
                        }
                        $c = $this.$index3 + 1 | 0;
                        $this.$index3 = $c;
                        $next = jl_String_indexOf($this.$string2, 39, $c);
                        if ($next < 0)
                            break;
                        $c = $this.$index3;
                        if ($next == $c)
                            jl_AbstractStringBuilder_append($sb, 39);
                        else
                            jl_AbstractStringBuilder_append2($sb, jl_String_substring0($this.$string2, $c, $next));
                        $this.$index3 = $next + 1 | 0;
                    }
                    $fields = new jl_IllegalArgumentException;
                    $suffix = $this.$index3;
                    var$6 = $this.$string2;
                    var$7 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$7);
                    $sb = $rt_s(1627);
                    $ptr = 14;
                    continue main;
                }
                if ($end) {
                    $fields = new jl_IllegalArgumentException;
                    $suffix = $this.$index3;
                    var$6 = $this.$string2;
                    var$7 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$7);
                    $sb = $rt_s(1626);
                    $ptr = 21;
                    continue main;
                }
            }
            if ($sb.$length0 <= 0)
                return ju_AbstractCollection_toArray($fields, $rt_createArray(jt_DecimalFormat$FormatField, $fields.$size0));
            var$7 = new jt_DecimalFormat$TextField;
            $ptr = 1;
            continue main;
        case 29:
            $tmp = jl_AbstractStringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jt_DecimalFormat$TextField__init_(var$6, var$7);
            $ptr = 30;
        case 30:
            ju_ArrayList_add($fields, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $sb.$length0 = 0;
            var$6 = new jt_DecimalFormat$PerMillField;
            $ptr = 28;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $suffix, $end, $fields, $sb, $c, var$6, var$7, $next, var$9, $ptr);
    }
    function jt_DecimalFormatParser_parseNumber($this, $apply) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$apply = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jt_DecimalFormatParser_parseIntegerPart($this, $apply);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$index3 < jl_String_length($this.$string2) && jl_String_charAt($this.$string2, $this.$index3) == 46) {
                $this.$index3 = $this.$index3 + 1 | 0;
                var$2 = 0;
                var$3 = 0;
                var$4 = 0;
                a: {
                    b: while (true) {
                        if ($this.$index3 >= jl_String_length($this.$string2))
                            break a;
                        c: {
                            switch (jl_String_charAt($this.$string2, $this.$index3)) {
                                case 35:
                                    break;
                                case 44:
                                    var$5 = new jl_IllegalArgumentException;
                                    $apply = $this.$index3;
                                    var$6 = $this.$string2;
                                    var$7 = new jl_StringBuilder;
                                    jl_AbstractStringBuilder__init_(var$7);
                                    var$8 = $rt_s(1629);
                                    $ptr = 2;
                                    continue main;
                                case 46:
                                    var$5 = new jl_IllegalArgumentException;
                                    $apply = $this.$index3;
                                    var$6 = $this.$string2;
                                    var$7 = new jl_StringBuilder;
                                    jl_AbstractStringBuilder__init_(var$7);
                                    var$8 = $rt_s(1630);
                                    $ptr = 6;
                                    continue main;
                                case 48:
                                    if (var$2) {
                                        var$5 = new jl_IllegalArgumentException;
                                        $apply = $this.$index3;
                                        var$6 = $this.$string2;
                                        var$7 = new jl_StringBuilder;
                                        jl_AbstractStringBuilder__init_(var$7);
                                        var$8 = $rt_s(1631);
                                        $ptr = 18;
                                        continue main;
                                    }
                                    var$3 = var$3 + 1 | 0;
                                    var$4 = var$4 + 1 | 0;
                                    break c;
                                default:
                                    break b;
                            }
                            var$3 = var$3 + 1 | 0;
                            var$2 = 1;
                        }
                        $this.$index3 = $this.$index3 + 1 | 0;
                    }
                }
                if ($apply) {
                    $this.$fracLength = var$3;
                    $this.$minimumFracLength = var$4;
                    $this.$decimalSeparatorRequired = var$3 ? 0 : 1;
                }
            }
            if ($this.$index3 < jl_String_length($this.$string2) && jl_String_charAt($this.$string2, $this.$index3) == 69) {
                $this.$index3 = $this.$index3 + 1 | 0;
                var$2 = 0;
                d: {
                    e: while (true) {
                        if ($this.$index3 >= jl_String_length($this.$string2))
                            break d;
                        switch (jl_String_charAt($this.$string2, $this.$index3)) {
                            case 35:
                            case 44:
                            case 46:
                            case 69:
                                var$5 = new jl_IllegalArgumentException;
                                $apply = $this.$index3;
                                var$6 = $this.$string2;
                                var$7 = new jl_StringBuilder;
                                jl_AbstractStringBuilder__init_(var$7);
                                var$8 = $rt_s(1632);
                                $ptr = 14;
                                continue main;
                            case 48:
                                break;
                            default:
                                break e;
                        }
                        var$2 = var$2 + 1 | 0;
                        $this.$index3 = $this.$index3 + 1 | 0;
                    }
                }
                if (!var$2) {
                    var$5 = new jl_IllegalArgumentException;
                    $apply = $this.$index3;
                    var$6 = $this.$string2;
                    var$7 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$7);
                    var$8 = $rt_s(1633);
                    $ptr = 10;
                    continue main;
                }
                if ($apply)
                    $this.$exponentLength = var$2;
            }
            return;
        case 2:
            $tmp = jl_StringBuilder_append(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_AbstractStringBuilder_append0(var$8, $apply);
            var$9 = $rt_s(1200);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$8, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_(var$5, var$6);
            $rt_throw(var$5);
        case 6:
            $tmp = jl_StringBuilder_append(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_AbstractStringBuilder_append0(var$8, $apply);
            var$9 = $rt_s(1200);
            $ptr = 7;
        case 7:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 8;
        case 8:
            jl_StringBuilder_append(var$8, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            $tmp = jl_AbstractStringBuilder_toString(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_(var$5, var$6);
            $rt_throw(var$5);
        case 10:
            $tmp = jl_StringBuilder_append(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_AbstractStringBuilder_append0(var$8, $apply);
            var$9 = $rt_s(1200);
            $ptr = 11;
        case 11:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 12;
        case 12:
            jl_StringBuilder_append(var$8, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            $tmp = jl_AbstractStringBuilder_toString(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_(var$5, var$6);
            $rt_throw(var$5);
        case 14:
            $tmp = jl_StringBuilder_append(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_AbstractStringBuilder_append0(var$8, $apply);
            var$9 = $rt_s(1200);
            $ptr = 15;
        case 15:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 16;
        case 16:
            jl_StringBuilder_append(var$8, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            $tmp = jl_AbstractStringBuilder_toString(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_(var$5, var$6);
            $rt_throw(var$5);
        case 18:
            $tmp = jl_StringBuilder_append(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_AbstractStringBuilder_append0(var$8, $apply);
            var$9 = $rt_s(1200);
            $ptr = 19;
        case 19:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 20;
        case 20:
            jl_StringBuilder_append(var$8, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 21;
        case 21:
            $tmp = jl_AbstractStringBuilder_toString(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_(var$5, var$6);
            $rt_throw(var$5);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $apply, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function jt_DecimalFormatParser_parseIntegerPart($this, $apply) {
        var $lastGroup, $optionalDigits, $length, $minimumLength, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$minimumLength = $thread.pop();$length = $thread.pop();$optionalDigits = $thread.pop();$lastGroup = $thread.pop();$apply = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $lastGroup = $this.$index3;
            $optionalDigits = 1;
            $length = 0;
            $minimumLength = 0;
            var$6 = $lastGroup;
            a: {
                b: while (true) {
                    if ($this.$index3 >= jl_String_length($this.$string2))
                        break a;
                    c: {
                        d: {
                            switch (jl_String_charAt($this.$string2, $this.$index3)) {
                                case 35:
                                    if (!$optionalDigits) {
                                        var$7 = new jl_IllegalArgumentException;
                                        $apply = $this.$index3;
                                        var$8 = $this.$string2;
                                        var$9 = new jl_StringBuilder;
                                        jl_AbstractStringBuilder__init_(var$9);
                                        var$10 = $rt_s(1634);
                                        $ptr = 9;
                                        continue main;
                                    }
                                    $length = $length + 1 | 0;
                                    break c;
                                case 44:
                                    break d;
                                case 48:
                                    break;
                                default:
                                    break b;
                            }
                            $optionalDigits = 0;
                            $length = $length + 1 | 0;
                            $minimumLength = $minimumLength + 1 | 0;
                            break c;
                        }
                        var$11 = $this.$index3;
                        if (var$6 == var$11) {
                            var$7 = new jl_IllegalArgumentException;
                            var$8 = $this.$string2;
                            var$9 = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_(var$9);
                            var$10 = $rt_s(1635);
                            $ptr = 13;
                            continue main;
                        }
                        if ($apply)
                            $this.$groupSize = var$11 - var$6 | 0;
                        var$6 = var$11 + 1 | 0;
                    }
                    $this.$index3 = $this.$index3 + 1 | 0;
                }
            }
            if (!$length) {
                var$7 = new jl_IllegalArgumentException;
                $apply = $this.$index3;
                var$8 = $this.$string2;
                var$9 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$9);
                var$10 = $rt_s(1636);
                $ptr = 1;
                continue main;
            }
            $optionalDigits = $this.$index3;
            if (var$6 != $optionalDigits) {
                if ($apply && var$6 > $lastGroup)
                    $this.$groupSize = $optionalDigits - var$6 | 0;
                if ($apply) {
                    $this.$intLength = $length;
                    $this.$minimumIntLength = $minimumLength;
                }
                return;
            }
            var$7 = new jl_IllegalArgumentException;
            var$8 = $this.$string2;
            var$9 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$9);
            var$10 = $rt_s(1637);
            $ptr = 5;
            continue main;
        case 1:
            $tmp = jl_StringBuilder_append(var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            jl_AbstractStringBuilder_append0(var$10, $apply);
            var$12 = $rt_s(1200);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$10, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 3;
        case 3:
            jl_StringBuilder_append(var$10, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_(var$7, var$8);
            $rt_throw(var$7);
        case 5:
            $tmp = jl_StringBuilder_append(var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            jl_AbstractStringBuilder_append0(var$10, $optionalDigits);
            var$12 = $rt_s(1200);
            $ptr = 6;
        case 6:
            $tmp = jl_StringBuilder_append(var$10, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 7;
        case 7:
            jl_StringBuilder_append(var$10, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $tmp = jl_AbstractStringBuilder_toString(var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_(var$7, var$8);
            $rt_throw(var$7);
        case 9:
            $tmp = jl_StringBuilder_append(var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            jl_AbstractStringBuilder_append0(var$10, $apply);
            var$12 = $rt_s(1200);
            $ptr = 10;
        case 10:
            $tmp = jl_StringBuilder_append(var$10, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 11;
        case 11:
            jl_StringBuilder_append(var$10, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            $tmp = jl_AbstractStringBuilder_toString(var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_(var$7, var$8);
            $rt_throw(var$7);
        case 13:
            $tmp = jl_StringBuilder_append(var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            jl_AbstractStringBuilder_append0(var$10, var$11);
            var$12 = $rt_s(1200);
            $ptr = 14;
        case 14:
            $tmp = jl_StringBuilder_append(var$10, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 15;
        case 15:
            jl_StringBuilder_append(var$10, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
        case 16:
            $tmp = jl_AbstractStringBuilder_toString(var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_(var$7, var$8);
            $rt_throw(var$7);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $apply, $lastGroup, $optionalDigits, $length, $minimumLength, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function jur_AbstractCharClass$1() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$lHS = null;
        a.$this$06 = null;
    }
    function jur_AbstractCharClass$1_contains($this, $ch) {
        var $index;
        $index = $ch - 55296 | 0;
        return $index >= 0 && $index < 2048 ? $this.$altSurrogates ^ ju_BitSet_get($this.$val$lHS, $index) : 0;
    }
    function jur_AbstractCharClass$2() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$lHS0 = null;
        a.$val$thisClass = null;
        a.$this$07 = null;
    }
    function jur_AbstractCharClass$2_contains($this, $ch) {
        var $index, $containslHS;
        $index = $ch - 55296 | 0;
        $containslHS = $index >= 0 && $index < 2048 ? $this.$altSurrogates ^ ju_BitSet_get($this.$val$lHS0, $index) : 0;
        return $this.$val$thisClass.$contains1($ch) && !$containslHS ? 1 : 0;
    }
    var ju_NoSuchElementException = $rt_classWithoutFields(jl_RuntimeException);
    function ju_NoSuchElementException__init_0() {
        var var_0 = new ju_NoSuchElementException();
        ju_NoSuchElementException__init_(var_0);
        return var_0;
    }
    function ju_NoSuchElementException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function ji_BufferedInputStream() {
        var a = this; ji_FilterInputStream.call(a);
        a.$buf1 = null;
        a.$count4 = 0;
        a.$marklimit = 0;
        a.$markpos = 0;
        a.$pos2 = 0;
    }
    function ji_BufferedInputStream_read($this) {
        var $localBuf, $localIn, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$localIn = $thread.pop();$localBuf = $thread.pop();$this = $thread.pop();
        }
        try {
            main: while (true) { switch ($ptr) {
            case 0:
                jl_Object_monitorEnter($this);
                if ($rt_suspending()) {
                    break main;
                }
                $localBuf = $this.$buf1;
                $localIn = $this.$in;
                if ($localBuf !== null && $localIn !== null) {
                    var$3 = $this.$pos2;
                    if (var$3 < $this.$count4) {
                        if ($localBuf !== $this.$buf1) {
                            $localBuf = $this.$buf1;
                            if ($localBuf === null) {
                                $localIn = new ji_IOException;
                                jl_Throwable__init_($localIn, $rt_s(1638));
                                $rt_throw($localIn);
                            }
                        }
                        var$3 = $this.$count4;
                        var$4 = $this.$pos2;
                        if ((var$3 - var$4 | 0) <= 0)
                            return (-1);
                        $localBuf = $localBuf.data;
                        $this.$pos2 = var$4 + 1 | 0;
                        return $localBuf[var$4] & 255;
                    }
                    var$5 = $this.$markpos;
                    if (var$5 != (-1)) {
                        var$3 = var$3 - var$5 | 0;
                        var$4 = $this.$marklimit;
                        if (var$3 < var$4) {
                            a: {
                                if (!var$5) {
                                    var$3 = $localBuf.data.length;
                                    if (var$4 > var$3) {
                                        var$5 = var$3 * 2 | 0;
                                        if (var$5 <= var$4)
                                            var$4 = var$5;
                                        var$6 = $rt_createByteArray(var$4);
                                        jl_System_fastArraycopy($localBuf, 0, var$6, 0, var$3);
                                        $this.$buf1 = var$6;
                                        var$7 = $this.$buf1;
                                        break a;
                                    }
                                }
                                if (var$5 <= 0)
                                    var$7 = $localBuf;
                                else {
                                    jl_System_fastArraycopy($localBuf, var$5, $localBuf, 0, $localBuf.data.length - var$5 | 0);
                                    var$7 = $localBuf;
                                }
                            }
                            var$6 = var$7.data;
                            var$4 = $this.$pos2 - $this.$markpos | 0;
                            $this.$pos2 = var$4;
                            $this.$count4 = 0;
                            $this.$markpos = 0;
                            var$3 = var$6.length - var$4 | 0;
                            $ptr = 2;
                            continue main;
                        }
                    }
                    $ptr = 1;
                    continue main;
                }
                var$8 = new ji_IOException;
                jl_Throwable__init_(var$8, $rt_s(1638));
                $rt_throw(var$8);
            case 1:
                $tmp = ji_InputStream_read($localIn, $localBuf);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                if (var$3 > 0) {
                    $this.$markpos = (-1);
                    $this.$pos2 = 0;
                    $this.$count4 = var$3;
                }
                if (var$3 == (-1))
                    return (-1);
                if ($localBuf !== $this.$buf1) {
                    $localBuf = $this.$buf1;
                    if ($localBuf === null) {
                        $localIn = new ji_IOException;
                        jl_Throwable__init_($localIn, $rt_s(1638));
                        $rt_throw($localIn);
                    }
                }
                var$3 = $this.$count4;
                var$4 = $this.$pos2;
                if ((var$3 - var$4 | 0) <= 0)
                    return (-1);
                $localBuf = $localBuf.data;
                $this.$pos2 = var$4 + 1 | 0;
                return $localBuf[var$4] & 255;
            case 2:
                $tmp = $localIn.$read(var$7, var$4, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                $this.$count4 = var$3 <= 0 ? $this.$pos2 : $this.$pos2 + var$3 | 0;
                if (var$3 == (-1))
                    return (-1);
                if ($localBuf !== $this.$buf1) {
                    $localBuf = $this.$buf1;
                    if ($localBuf === null) {
                        $localIn = new ji_IOException;
                        jl_Throwable__init_($localIn, $rt_s(1638));
                        $rt_throw($localIn);
                    }
                }
                var$3 = $this.$count4;
                var$4 = $this.$pos2;
                if ((var$3 - var$4 | 0) <= 0)
                    return (-1);
                $localBuf = $localBuf.data;
                $this.$pos2 = var$4 + 1 | 0;
                return $localBuf[var$4] & 255;
            default: $rt_invalidPointer();
            }}
        } finally {
            if (!$rt_suspending()) {
                jl_Object_monitorExit($this);
            }
        }
        $rt_nativeThread().push($this, $localBuf, $localIn, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function jur_CharClass$18() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$bs = null;
        a.$this$025 = null;
    }
    function jur_CharClass$18_contains($this, $ch) {
        return $this.$alt0 ^ ju_BitSet_get($this.$val$bs, $ch);
    }
    function jur_CharClass$18_toString($this) {
        var $temp, $i, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$i = $thread.pop();$temp = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $temp = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($temp);
            $i = ju_BitSet_nextSetBit($this.$val$bs, 0);
            while ($i >= 0) {
                jl_AbstractStringBuilder_append6($temp, jl_Character_toChars($i));
                jl_AbstractStringBuilder_append($temp, 124);
                $i = ju_BitSet_nextSetBit($this.$val$bs, $i + 1 | 0);
            }
            var$3 = $temp.$length0;
            if (var$3 > 0)
                jl_StringBuilder_deleteCharAt($temp, var$3 - 1 | 0);
            $ptr = 1;
        case 1:
            $tmp = jl_AbstractStringBuilder_toString($temp);
            if ($rt_suspending()) {
                break main;
            }
            $temp = $tmp;
            return $temp;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $temp, $i, var$3, $ptr);
    }
    function jur_CharClass$1() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$cc1 = null;
        a.$this$010 = null;
    }
    function jur_CharClass$1_contains($this, $ch) {
        return $this.$val$cc1.$contains1($ch);
    }
    function jur_CharClass$3() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$curAlt1 = 0;
        a.$val$cc2 = null;
        a.$this$011 = null;
    }
    function jur_CharClass$3_contains($this, $ch) {
        return !($this.$val$curAlt1 ^ ju_BitSet_get($this.$this$011.$bits0, $ch)) && !($this.$val$curAlt1 ^ $this.$this$011.$inverted ^ $this.$val$cc2.$contains1($ch)) ? 0 : 1;
    }
    function jur_CharClass$2() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$curAlt2 = 0;
        a.$val$cc3 = null;
        a.$this$012 = null;
    }
    function jur_CharClass$2_contains($this, $ch) {
        return !($this.$val$curAlt2 ^ ju_BitSet_get($this.$this$012.$bits0, $ch)) && !($this.$val$curAlt2 ^ $this.$this$012.$inverted ^ $this.$val$cc3.$contains1($ch)) ? 1 : 0;
    }
    function jur_CharClass$5() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$curAlt = 0;
        a.$val$nb = null;
        a.$val$cc = null;
        a.$this$08 = null;
    }
    function jur_CharClass$5_contains($this, $ch) {
        return $this.$val$curAlt ^ (!$this.$val$nb.$contains1($ch) && !$this.$val$cc.$contains1($ch) ? 0 : 1);
    }
    function jur_CharClass$4() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$curAlt0 = 0;
        a.$val$nb0 = null;
        a.$val$cc0 = null;
        a.$this$09 = null;
    }
    function jur_CharClass$4_contains($this, $ch) {
        return $this.$val$curAlt0 ^ (!$this.$val$nb0.$contains1($ch) && !$this.$val$cc0.$contains1($ch) ? 0 : 1) ? 0 : 1;
    }
    function jur_CharClass$7() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$clazz1 = null;
        a.$this$015 = null;
    }
    function jur_CharClass$7_contains($this, $ch) {
        return jur_CharClass_contains($this.$val$clazz1, $ch);
    }
    function jur_CharClass$6() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$clazz2 = null;
        a.$this$016 = null;
    }
    function jur_CharClass$6_contains($this, $ch) {
        return jur_CharClass_contains($this.$val$clazz2, $ch) ? 0 : 1;
    }
    function jur_CharClass$9() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$clazz3 = null;
        a.$val$curAlt5 = 0;
        a.$this$017 = null;
    }
    function jur_CharClass$9_contains($this, $ch) {
        return !jur_CharClass_contains($this.$val$clazz3, $ch) && !($this.$val$curAlt5 ^ ju_BitSet_get($this.$this$017.$bits0, $ch)) ? 0 : 1;
    }
    function jur_CharClass$8() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$clazz4 = null;
        a.$val$curAlt6 = 0;
        a.$this$018 = null;
    }
    function jur_CharClass$8_contains($this, $ch) {
        return !jur_CharClass_contains($this.$val$clazz4, $ch) && !($this.$val$curAlt6 ^ ju_BitSet_get($this.$this$018.$bits0, $ch)) ? 1 : 0;
    }
    function jur_CharClass$11() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$curAlt3 = 0;
        a.$val$nb1 = null;
        a.$val$clazz = null;
        a.$this$013 = null;
    }
    function jur_CharClass$11_contains($this, $ch) {
        return !($this.$val$curAlt3 ^ $this.$val$nb1.$contains1($ch)) && !jur_CharClass_contains($this.$val$clazz, $ch) ? 0 : 1;
    }
    function jur_CharClass$10() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$curAlt4 = 0;
        a.$val$nb2 = null;
        a.$val$clazz0 = null;
        a.$this$014 = null;
    }
    function jur_CharClass$10_contains($this, $ch) {
        return !($this.$val$curAlt4 ^ $this.$val$nb2.$contains1($ch)) && !jur_CharClass_contains($this.$val$clazz0, $ch) ? 1 : 0;
    }
    function jur_CharClass$13() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$clazz7 = null;
        a.$this$021 = null;
    }
    function jur_CharClass$13_contains($this, $ch) {
        return jur_CharClass_contains($this.$val$clazz7, $ch);
    }
    function jur_CharClass$12() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$clazz8 = null;
        a.$this$022 = null;
    }
    function jur_CharClass$12_contains($this, $ch) {
        return jur_CharClass_contains($this.$val$clazz8, $ch) ? 0 : 1;
    }
    function jur_CharClass$15() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$clazz9 = null;
        a.$val$curAlt9 = 0;
        a.$this$023 = null;
    }
    function jur_CharClass$15_contains($this, $ch) {
        return jur_CharClass_contains($this.$val$clazz9, $ch) && $this.$val$curAlt9 ^ ju_BitSet_get($this.$this$023.$bits0, $ch) ? 1 : 0;
    }
    function jur_CharClass$14() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$clazz10 = null;
        a.$val$curAlt10 = 0;
        a.$this$024 = null;
    }
    function jur_CharClass$14_contains($this, $ch) {
        return jur_CharClass_contains($this.$val$clazz10, $ch) && $this.$val$curAlt10 ^ ju_BitSet_get($this.$this$024.$bits0, $ch) ? 0 : 1;
    }
    function jur_CharClass$17() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$curAlt7 = 0;
        a.$val$nb3 = null;
        a.$val$clazz5 = null;
        a.$this$019 = null;
    }
    function jur_CharClass$17_contains($this, $ch) {
        return $this.$val$curAlt7 ^ $this.$val$nb3.$contains1($ch) && jur_CharClass_contains($this.$val$clazz5, $ch) ? 1 : 0;
    }
    function jur_CharClass$16() {
        var a = this; jur_AbstractCharClass.call(a);
        a.$val$curAlt8 = 0;
        a.$val$nb4 = null;
        a.$val$clazz6 = null;
        a.$this$020 = null;
    }
    function jur_CharClass$16_contains($this, $ch) {
        return $this.$val$curAlt8 ^ $this.$val$nb4.$contains1($ch) && jur_CharClass_contains($this.$val$clazz6, $ch) ? 0 : 1;
    }
    function jnc_CharsetDecoder() {
        var a = this; jl_Object.call(a);
        a.$charset0 = null;
        a.$averageCharsPerByte = 0.0;
        a.$maxCharsPerByte = 0.0;
        a.$replacement0 = null;
        a.$malformedAction = null;
        a.$unmappableAction = null;
        a.$state = 0;
    }
    function jnc_CharsetDecoder_onMalformedInput($this, $newAction) {
        var var$2;
        if ($newAction !== null) {
            $this.$malformedAction = $newAction;
            return $this;
        }
        var$2 = new jl_IllegalArgumentException;
        jl_Throwable__init_(var$2, $rt_s(1639));
        $rt_throw(var$2);
    }
    function jnc_CharsetDecoder_implOnMalformedInput($this, $newAction) {}
    function jnc_CharsetDecoder_onUnmappableCharacter($this, $newAction) {
        var var$2;
        if ($newAction !== null) {
            $this.$unmappableAction = $newAction;
            return $this;
        }
        var$2 = new jl_IllegalArgumentException;
        jl_Throwable__init_(var$2, $rt_s(1639));
        $rt_throw(var$2);
    }
    function jnc_CharsetDecoder_implOnUnmappableCharacter($this, $newAction) {}
    function jnc_CharsetDecoder_decode0($this, $in, $out, $endOfInput) {
        var var$4, $e, $result, var$7, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$result = $thread.pop();$e = $thread.pop();var$4 = $thread.pop();$endOfInput = $thread.pop();$out = $thread.pop();$in = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$state;
            if (!(var$4 == 2 && !$endOfInput) && var$4 != 3) {
                $this.$state = $endOfInput ? 2 : 1;
                try {
                    $ptr = 1;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_RuntimeException) {
                        $e = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $in = new jnc_CoderMalfunctionError;
                jl_Throwable__init_6($in, $e);
                $rt_throw($in);
            }
            $in = new jl_IllegalStateException;
            jl_Throwable__init_0($in);
            $rt_throw($in);
        case 1:
            a: {
                try {
                    $tmp = jnci_BufferedDecoder_decodeLoop($this, $in, $out);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $result = $tmp;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_RuntimeException) {
                        $e = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                if (jnc_CoderResult_isOverflow($result))
                    return $result;
                if (jnc_CoderResult_isUnderflow($result)) {
                    if ($endOfInput && jn_Buffer_hasRemaining($in)) {
                        $e = $this.$malformedAction;
                        jnc_CodingErrorAction_$callClinit();
                        if ($e === jnc_CodingErrorAction_REPORT)
                            return jnc_CoderResult_malformedForLength(jn_Buffer_remaining($in));
                        if (jn_Buffer_remaining($out) <= jl_String_length($this.$replacement0))
                            return jnc_CoderResult_OVERFLOW;
                        $endOfInput = $in.$position + jn_Buffer_remaining($in) | 0;
                        $ptr = 5;
                        continue main;
                    }
                    return $result;
                }
                if (jnc_CoderResult_isMalformed($result)) {
                    $e = $this.$malformedAction;
                    jnc_CodingErrorAction_$callClinit();
                    if ($e === jnc_CodingErrorAction_REPORT)
                        return $result;
                    if ($e !== jnc_CodingErrorAction_REPLACE) {
                        var$7 = $in.$position + jnc_CoderResult_length($result) | 0;
                        $ptr = 2;
                        continue main;
                    }
                    if (jn_Buffer_remaining($out) < jl_String_length($this.$replacement0))
                        return jnc_CoderResult_OVERFLOW;
                    $e = $this.$replacement0;
                    $ptr = 4;
                    continue main;
                }
                if (jnc_CoderResult_isUnmappable($result)) {
                    $e = $this.$unmappableAction;
                    jnc_CodingErrorAction_$callClinit();
                    if ($e === jnc_CodingErrorAction_REPORT)
                        return $result;
                    if ($e !== jnc_CodingErrorAction_REPLACE) {
                        var$7 = $in.$position + jnc_CoderResult_length($result) | 0;
                        $ptr = 3;
                        continue main;
                    }
                    if (jn_Buffer_remaining($out) < jl_String_length($this.$replacement0))
                        return jnc_CoderResult_OVERFLOW;
                    $e = $this.$replacement0;
                    $ptr = 6;
                    continue main;
                }
                try {
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_RuntimeException) {
                        $e = $$je;
                    } else {
                        throw $$e;
                    }
                }
            }
            $in = new jnc_CoderMalfunctionError;
            jl_Throwable__init_6($in, $e);
            $rt_throw($in);
        case 2:
            jn_Buffer_position0($in, var$7);
            if ($rt_suspending()) {
                break main;
            }
            try {
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_RuntimeException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $in = new jnc_CoderMalfunctionError;
            jl_Throwable__init_6($in, $e);
            $rt_throw($in);
        case 3:
            jn_Buffer_position0($in, var$7);
            if ($rt_suspending()) {
                break main;
            }
            try {
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_RuntimeException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $in = new jnc_CoderMalfunctionError;
            jl_Throwable__init_6($in, $e);
            $rt_throw($in);
        case 4:
            jn_CharBuffer_put($out, $e);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $in.$position + jnc_CoderResult_length($result) | 0;
            $ptr = 2;
            continue main;
        case 5:
            jn_Buffer_position0($in, $endOfInput);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$malformedAction !== jnc_CodingErrorAction_REPLACE)
                return $result;
            $in = $this.$replacement0;
            $ptr = 7;
            continue main;
        case 6:
            jn_CharBuffer_put($out, $e);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $in.$position + jnc_CoderResult_length($result) | 0;
            $ptr = 3;
            continue main;
        case 7:
            jn_CharBuffer_put($out, $in);
            if ($rt_suspending()) {
                break main;
            }
            return $result;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $in, $out, $endOfInput, var$4, $e, $result, var$7, $ptr);
    }
    function jnc_CharsetDecoder_flush($this, $out) {
        var var$2;
        var$2 = $this.$state;
        if (var$2 != 3 && var$2 != 2) {
            $out = new jl_IllegalStateException;
            jl_Throwable__init_0($out);
            $rt_throw($out);
        }
        $this.$state = 3;
        return jnc_CoderResult_UNDERFLOW;
    }
    function jnc_CharsetDecoder_reset($this) {
        $this.$state = 0;
        return $this;
    }
    function jnc_CharsetDecoder_decode($this, $in) {
        var var$2, $out, $result, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$result = $thread.pop();$out = $thread.pop();var$2 = $thread.pop();$in = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$state;
            if (var$2 && var$2 != 3) {
                $in = new jl_IllegalStateException;
                jl_Throwable__init_0($in);
                $rt_throw($in);
            }
            if (!jn_Buffer_remaining($in)) {
                var$2 = 0;
                $ptr = 1;
                continue main;
            }
            if ($this.$state)
                jnc_CharsetDecoder_reset($this);
            var$2 = jl_Math_max(8, jn_Buffer_remaining($in) * $this.$averageCharsPerByte | 0);
            $ptr = 2;
            continue main;
        case 1:
            $tmp = jn_CharBuffer_allocate(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $in = $tmp;
            return $in;
        case 2:
            $tmp = jn_CharBuffer_allocate(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $out = $tmp;
            var$2 = 0;
            $ptr = 3;
        case 3:
            $tmp = jnc_CharsetDecoder_decode0($this, $in, $out, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $result = $tmp;
            if (jnc_CoderResult_isUnderflow($result)) {
                var$2 = 1;
                $ptr = 4;
                continue main;
            }
            if (jnc_CoderResult_isOverflow($result)) {
                $ptr = 5;
                continue main;
            }
            if (jnc_CoderResult_isError($result))
                jnc_CoderResult_throwException($result);
            var$2 = 0;
            continue main;
        case 4:
            $tmp = jnc_CharsetDecoder_decode0($this, $in, $out, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $in = $tmp;
            if (jnc_CoderResult_isError($in))
                jnc_CoderResult_throwException($in);
            if (jnc_CoderResult_isUnderflow(jnc_CharsetDecoder_flush($this, $out))) {
                jn_Buffer_flip($out);
                return $out;
            }
            $ptr = 6;
            continue main;
        case 5:
            $tmp = jnc_CharsetDecoder_expand($this, $out);
            if ($rt_suspending()) {
                break main;
            }
            $out = $tmp;
            if (jnc_CoderResult_isError($result))
                jnc_CoderResult_throwException($result);
            var$2 = 0;
            $ptr = 3;
            continue main;
        case 6:
            $tmp = jnc_CharsetDecoder_expand($this, $out);
            if ($rt_suspending()) {
                break main;
            }
            $out = $tmp;
            if (jnc_CoderResult_isUnderflow(jnc_CharsetDecoder_flush($this, $out))) {
                jn_Buffer_flip($out);
                return $out;
            }
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $in, var$2, $out, $result, $ptr);
    }
    function jnc_CharsetDecoder_expand($this, $buffer) {
        var var$2, $result, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$result = $thread.pop();var$2 = $thread.pop();$buffer = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $buffer.$array;
            $result = jn_CharBuffer_wrap(ju_Arrays_copyOf0(var$2, jl_Math_max(8, var$2.data.length * 2 | 0)));
            var$4 = $buffer.$position;
            $ptr = 1;
        case 1:
            jn_Buffer_position0($result, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return $result;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $buffer, var$2, $result, var$4, $ptr);
    }
    function jnc_CharsetDecoder_implFlush($this, $out) {
        return jnc_CoderResult_UNDERFLOW;
    }
    function jnc_CharsetDecoder_implReset($this) {}
    function ju_Formatter() {
        var a = this; jl_Object.call(a);
        a.$locale3 = null;
        a.$out1 = null;
        a.$ioException = null;
    }
    function ju_Formatter__init_3() {
        var var_0 = new ju_Formatter();
        ju_Formatter__init_(var_0);
        return var_0;
    }
    function ju_Formatter__init_0(var_0) {
        var var_1 = new ju_Formatter();
        ju_Formatter__init_1(var_1, var_0);
        return var_1;
    }
    function ju_Formatter__init_($this) {
        ju_Formatter__init_1($this, ju_Locale_getDefault());
    }
    function ju_Formatter__init_1($this, $l) {
        var var$2;
        var$2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$2);
        $this.$out1 = var$2;
        $this.$locale3 = $l;
    }
    function ju_Formatter_requireOpen($this) {
        var var$1;
        if ($this.$out1 !== null)
            return;
        var$1 = new ju_FormatterClosedException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    function ju_Formatter_toString($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            ju_Formatter_requireOpen($this);
            var$1 = $this.$out1;
            $ptr = 1;
        case 1:
            $tmp = jl_AbstractStringBuilder_toString(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function ju_Formatter_format($this, $format, $args) {
        var var$3, var$4, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$args = $thread.pop();$format = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$locale3;
            ju_Formatter_requireOpen($this);
            try {
                if ($args === null)
                    $args = $rt_createArray(jl_Object, 1);
                var$4 = ju_Formatter$FormatWriter__init_0($this, $this.$out1, var$3, $format, $args);
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $format = $$je;
                } else {
                    throw $$e;
                }
            }
            $this.$ioException = $format;
            return $this;
        case 1:
            a: {
                try {
                    ju_Formatter$FormatWriter_write(var$4);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        $format = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $this.$ioException = $format;
            }
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $format, $args, var$3, var$4, $ptr);
    }
    var olug_GLU = $rt_classWithoutFields(olo_GL11);
    function olug_GLU__init_0() {
        var var_0 = new olug_GLU();
        olug_GLU__init_(var_0);
        return var_0;
    }
    function olug_GLU__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_PlayerController() {
        var a = this; jl_Object.call(a);
        a.$mc7 = null;
        a.$field_1064_b = 0;
    }
    function nms_PlayerController__init_0(var_0) {
        var var_1 = new nms_PlayerController();
        nms_PlayerController__init_(var_1, var_0);
        return var_1;
    }
    function nms_PlayerController__init_($this, $var1) {
        $this.$field_1064_b = 0;
        $this.$mc7 = $var1;
    }
    function nms_PlayerController_sendBlockRemoved($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, $var5, var$8, $var6, $var7, $var8, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, var$25, var$26, var$27, var$28, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$28 = $thread.pop();var$27 = $thread.pop();var$26 = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();var$8 = $thread.pop();$var5
            = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $this.$mc7.$effectRenderer;
            var$6 = var$5.$worldObj;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId(var$6, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4) {
                $ptr = 6;
                continue main;
            }
            $var5 = $this.$mc7.$theWorld;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$8 = nms_Block_blocksList.data;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId($var5, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $var6 = var$8[$var4];
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockMetadata($var5, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var4 = 0;
            $ptr = 5;
        case 5:
            $tmp = nms_World_setBlockWithNotify($var5, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var6 !== null && $var8) {
                var$5 = $this.$mc7.$sndManager;
                var$6 = $var6.$stepSound;
                $ptr = 7;
                continue main;
            }
            return $var8;
        case 6:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_Block_blocksList.data[$var4];
            var$12 = 4;
            var$13 = 0;
            var$14 = $var1;
            var$15 = $var2;
            var$16 = $var3;
            while (var$13 < var$12) {
                $var8 = 0;
                while ($var8 < var$12) {
                    $var4 = 0;
                    if ($var4 < var$12) {
                        var$17 = var$14 + (var$13 + 0.5) / 4.0;
                        var$18 = var$15 + ($var8 + 0.5) / 4.0;
                        var$19 = var$16 + ($var4 + 0.5) / 4.0;
                        $var5 = new nms_EntityDiggingFX;
                        $var6 = var$5.$worldObj;
                        var$20 = var$17 - var$14 - 0.5;
                        var$21 = var$18 - var$15 - 0.5;
                        var$22 = var$19 - var$16 - 0.5;
                        $ptr = 10;
                        continue main;
                    }
                    $var8 = $var8 + 1 | 0;
                }
                var$13 = var$13 + 1 | 0;
            }
            $var5 = $this.$mc7.$theWorld;
            $ptr = 2;
            continue main;
        case 7:
            $tmp = var$6.$func_1146_a();
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            var$24 = $var1 + 0.5;
            var$25 = $var2 + 0.5;
            var$26 = $var3 + 0.5;
            var$6 = $var6.$stepSound;
            var$27 = (var$6.$field_1677_b + 1.0) / 2.0;
            var$28 = var$6.$field_1679_c * 0.800000011920929;
            $ptr = 8;
        case 8:
            nms_SoundManager_playSound(var$5, var$23, var$24, var$25, var$26, var$27, var$28);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            $var6.$onBlockDestroyedByPlayer($var5, $var1, $var2, $var3, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return $var8;
        case 10:
            nms_EntityDiggingFX__init_($var5, $var6, var$17, var$18, var$19, var$20, var$21, var$22, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            $tmp = nms_EntityDiggingFX_func_4041_a($var5, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            nms_EffectRenderer_addEffect(var$5, $var5);
            $var4 = $var4 + 1 | 0;
            a: while (true) {
                if ($var4 < var$12) {
                    var$17 = var$14 + (var$13 + 0.5) / 4.0;
                    var$18 = var$15 + ($var8 + 0.5) / 4.0;
                    var$19 = var$16 + ($var4 + 0.5) / 4.0;
                    $var5 = new nms_EntityDiggingFX;
                    $var6 = var$5.$worldObj;
                    var$20 = var$17 - var$14 - 0.5;
                    var$21 = var$18 - var$15 - 0.5;
                    var$22 = var$19 - var$16 - 0.5;
                    $ptr = 10;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
                while ($var8 >= var$12) {
                    var$13 = var$13 + 1 | 0;
                    if (var$13 >= var$12)
                        break a;
                    $var8 = 0;
                }
                $var4 = 0;
            }
            $var5 = $this.$mc7.$theWorld;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $var5, var$8, $var6, $var7, $var8, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, var$25, var$26, var$27, var$28, $ptr);
    }
    function nms_PlayerController_sendUseItem($this, $var1, $var2, $var3) {
        var $var4, $var5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = $var3.$stackSize;
            $ptr = 1;
        case 1:
            $tmp = nms_ItemStack_getItem($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = $var5.$onItemRightClick($var3, $var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 === $var3 && !($var5 !== null && $var5.$stackSize != $var4))
                return 0;
            $var1 = $var1.$inventory;
            var$6 = $var1.$mainInventory.data;
            $var4 = $var1.$currentItem;
            var$6[$var4] = $var5;
            if (!$var5.$stackSize)
                var$6[$var4] = null;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
    }
    function nms_PlayerController_shouldDrawHUD($this) {
        return 1;
    }
    function nms_PlayerController_func_6473_b($this, $var1) {}
    function nms_PlayerController_sendPlaceBlock($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var2, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8 > 0) {
                $ptr = 2;
                continue main;
            }
            if ($var3 === null) {
                $var4 = 0;
                return $var4;
            }
            $ptr = 4;
            continue main;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$9 = nms_Block_blocksList.data[$var8];
            $ptr = 3;
        case 3:
            $tmp = var$9.$blockActivated($var2, $var4, $var5, $var6, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8)
                $var4 = 1;
            else {
                if ($var3 !== null) {
                    $ptr = 4;
                    continue main;
                }
                $var4 = 0;
            }
            return $var4;
        case 4:
            $tmp = nms_ItemStack_getItem($var3);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            $ptr = 5;
        case 5:
            $tmp = var$9.$onItemUse($var3, $var1, $var2, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4)
                return $var4;
            $ptr = 6;
        case 6:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return $var4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, var$9, $ptr);
    }
    function nms_PlayerController_createPlayer($this, $var1) {
        var var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityPlayerSP;
            var$3 = $this.$mc7;
            var$4 = var$3.$session;
            var$5 = $var1.$worldProvider.$worldType;
            $ptr = 1;
        case 1:
            nms_EntityPlayerSP__init_(var$2, var$3, $var1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_PlayerController_func_6475_a($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityPlayer_useCurrentItemOnEntity($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_PlayerController_func_6472_b($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityPlayer_attackTargetEntityWithCurrentItem($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_PlayerController_func_20085_a($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var4.$craftingInventory;
            $ptr = 1;
        case 1:
            $tmp = nms_CraftingInventoryCB_func_20116_a(var$5, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            return $var4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_PlayerController_func_20086_a($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $var2.$craftingInventory;
            $ptr = 1;
        case 1:
            var$3.$onCraftGuiClosed($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2.$craftingInventory = $var2.$inventorySlots;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_Tessellator() {
        var a = this; jl_Object.call(a);
        a.$worldRenderer = null;
        a.$format3 = null;
        a.$textureU = 0.0;
        a.$textureV = 0.0;
        a.$colorR = 0;
        a.$colorG = 0;
        a.$colorB = 0;
        a.$colorA = 0;
        a.$normalX = 0.0;
        a.$normalY = 0.0;
        a.$normalZ = 0.0;
        a.$xOffset = 0.0;
        a.$yOffset0 = 0.0;
        a.$zOffset = 0.0;
        a.$renderingChunk = 0;
    }
    var nms_Tessellator_instance = null;
    var nms_Tessellator_$clinitCalled = false;
    function nms_Tessellator_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_Tessellator_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Tessellator_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_Tessellator__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_Tessellator_$callClinit = $rt_eraseClinit(nms_Tessellator);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_Tessellator_draw($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$worldRenderer;
            $ptr = 1;
        case 1:
            nleo_WorldRenderer_finishDrawing(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$worldRenderer;
            $ptr = 2;
        case 2:
            nleo_WorldVertexBufferUploader_func_181679_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$format3 = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_Tessellator_startDrawingQuads($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 7;
            $ptr = 1;
        case 1:
            nms_Tessellator_startDrawing($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_Tessellator_startDrawing($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$worldRenderer;
            if (var$2.$isDrawing) {
                var$3 = new jl_IllegalStateException;
                jl_Throwable__init_(var$3, $rt_s(1640));
                $rt_throw(var$3);
            }
            var$2.$isDrawing = 1;
            $ptr = 1;
        case 1:
            nleo_WorldRenderer_reset(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2.$drawMode = $var1;
            var$2.$needsUpdate0 = 0;
            var$2 = var$2.$byteBuffer;
            $var1 = var$2.$capacity1;
            $ptr = 2;
        case 2:
            nleib_EaglerArrayByteBuffer_limit(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_Tessellator_setColorOpaque_F($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $var1 * 255.0 | 0;
            var$5 = $var2 * 255.0 | 0;
            var$6 = $var3 * 255.0 | 0;
            $ptr = 1;
        case 1:
            nms_Tessellator_setColorOpaque($this, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, $ptr);
    }
    function nms_Tessellator_setColorRGBA_F($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var1 * 255.0 | 0;
            var$6 = $var2 * 255.0 | 0;
            var$7 = $var3 * 255.0 | 0;
            var$8 = $var4 * 255.0 | 0;
            $ptr = 1;
        case 1:
            nms_Tessellator_setColorRGBA($this, var$5, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_Tessellator_setColorOpaque($this, $var1, $var2, $var3) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = 255;
            $ptr = 1;
        case 1:
            nms_Tessellator_setColorRGBA($this, $var1, $var2, $var3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_Tessellator_setColorRGBA($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$worldRenderer.$needsUpdate0) {
                var$5 = $this.$format3;
                if (var$5 !== null)
                    $this.$format3 = nleo_VertexFormat_createVertexFormat(var$5.$attribTextureEnabled, 1, var$5.$attribNormalEnabled);
                else
                    $this.$format3 = nleo_VertexFormat_createVertexFormat(0, 1, 0);
                $this.$colorR = $var1;
                $this.$colorG = $var2;
                $this.$colorB = $var3;
                $this.$colorA = $var4;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_Tessellator_addVertexWithUV($this, $var1, $var3, $var5, $var7, $var9) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $this.$format3;
            if (var$6 !== null)
                $this.$format3 = nleo_VertexFormat_createVertexFormat(1, var$6.$attribColorEnabled, var$6.$attribNormalEnabled);
            else
                $this.$format3 = nleo_VertexFormat_createVertexFormat(1, 0, 0);
            $this.$textureU = $var7;
            $this.$textureV = $var9;
            $ptr = 1;
        case 1:
            nms_Tessellator_addVertex($this, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, $var7, $var9, var$6, $ptr);
    }
    function nms_Tessellator_addVertex($this, $var1, $var3, $var5) {
        var var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$worldRenderer;
            var$5 = $this.$format3;
            if (var$5 === null) {
                var$5 = nleo_VertexFormat_createVertexFormat(0, 0, 0);
                $this.$format3 = var$5;
            }
            var$4.$vertexFormat = var$5;
            var$4 = $this.$worldRenderer;
            $var1 = $var1 + $this.$xOffset;
            $var3 = $var3 + $this.$yOffset0;
            $var5 = $var5 + $this.$zOffset;
            $ptr = 1;
        case 1:
            nleo_WorldRenderer_pos(var$4, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$format3.$attribTextureEnabled) {
                var$4 = $this.$worldRenderer;
                $var1 = $this.$textureU;
                $var3 = $this.$textureV;
                $ptr = 2;
                continue main;
            }
            if ($this.$format3.$attribColorEnabled) {
                var$4 = $this.$worldRenderer;
                var$6 = $this.$colorR;
                var$7 = $this.$colorG;
                var$8 = $this.$colorB;
                var$9 = $this.$colorA;
                if (!var$4.$needsUpdate0) {
                    if (var$6 > 255)
                        var$6 = 255;
                    if (var$7 > 255)
                        var$7 = 255;
                    if (var$8 > 255)
                        var$8 = 255;
                    if (var$9 > 255)
                        var$9 = 255;
                    if (var$6 < 0)
                        var$6 = 0;
                    if (var$7 < 0)
                        var$7 = 0;
                    if (var$8 < 0)
                        var$8 = 0;
                    if (var$9 < 0)
                        var$9 = 0;
                    var$5 = var$4.$vertexFormat;
                    var$10 = $rt_imul(var$4.$vertexCount, var$5.$attribStride0) + var$5.$attribColorOffset0 | 0;
                    jn_ByteOrder_$callClinit();
                    if (jn_ByteOrder_nativeOrder0 === null) {
                        var$5 = new $rt_globals.ArrayBuffer(2);
                        var$11 = new $rt_globals.Int16Array(var$5);
                        0;
                        var$11[0] = 1;
                        jn_ByteOrder_nativeOrder0 = (new $rt_globals.Int8Array(var$5))[0] ? jn_ByteOrder_LITTLE_ENDIAN : jn_ByteOrder_BIG_ENDIAN;
                    }
                    if (jn_ByteOrder_nativeOrder0 !== jn_ByteOrder_LITTLE_ENDIAN) {
                        var$4 = var$4.$byteBuffer;
                        var$12 = var$6 << 24 | var$7 << 16 | var$8 << 8 | var$9;
                        $ptr = 7;
                        continue main;
                    }
                    var$4 = var$4.$byteBuffer;
                    var$12 = var$9 << 24 | var$8 << 16 | var$7 << 8 | var$6;
                    $ptr = 8;
                    continue main;
                }
            }
            if (!$this.$format3.$attribNormalEnabled) {
                var$4 = $this.$worldRenderer;
                $ptr = 3;
                continue main;
            }
            var$4 = $this.$worldRenderer;
            var$13 = $this.$normalX;
            var$14 = $this.$normalY;
            var$15 = $this.$normalZ;
            var$5 = var$4.$vertexFormat;
            var$16 = $rt_imul(var$4.$vertexCount, var$5.$attribStride0) + var$5.$attribNormalOffset0 | 0;
            var$5 = var$4.$byteBuffer;
            var$12 = (((var$13 | 0) * 127 | 0) & 255) << 24 >> 24;
            $ptr = 4;
            continue main;
        case 2:
            nleo_WorldRenderer_tex(var$4, $var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$format3.$attribColorEnabled) {
                var$4 = $this.$worldRenderer;
                var$6 = $this.$colorR;
                var$7 = $this.$colorG;
                var$8 = $this.$colorB;
                var$9 = $this.$colorA;
                if (!var$4.$needsUpdate0) {
                    if (var$6 > 255)
                        var$6 = 255;
                    if (var$7 > 255)
                        var$7 = 255;
                    if (var$8 > 255)
                        var$8 = 255;
                    if (var$9 > 255)
                        var$9 = 255;
                    if (var$6 < 0)
                        var$6 = 0;
                    if (var$7 < 0)
                        var$7 = 0;
                    if (var$8 < 0)
                        var$8 = 0;
                    if (var$9 < 0)
                        var$9 = 0;
                    var$5 = var$4.$vertexFormat;
                    var$10 = $rt_imul(var$4.$vertexCount, var$5.$attribStride0) + var$5.$attribColorOffset0 | 0;
                    jn_ByteOrder_$callClinit();
                    if (jn_ByteOrder_nativeOrder0 === null) {
                        var$5 = new $rt_globals.ArrayBuffer(2);
                        var$11 = new $rt_globals.Int16Array(var$5);
                        0;
                        var$11[0] = 1;
                        jn_ByteOrder_nativeOrder0 = (new $rt_globals.Int8Array(var$5))[0] ? jn_ByteOrder_LITTLE_ENDIAN : jn_ByteOrder_BIG_ENDIAN;
                    }
                    if (jn_ByteOrder_nativeOrder0 !== jn_ByteOrder_LITTLE_ENDIAN) {
                        var$4 = var$4.$byteBuffer;
                        var$12 = var$6 << 24 | var$7 << 16 | var$8 << 8 | var$9;
                        $ptr = 7;
                        continue main;
                    }
                    var$4 = var$4.$byteBuffer;
                    var$12 = var$9 << 24 | var$8 << 16 | var$7 << 8 | var$6;
                    $ptr = 8;
                    continue main;
                }
            }
            if (!$this.$format3.$attribNormalEnabled) {
                var$4 = $this.$worldRenderer;
                $ptr = 3;
                continue main;
            }
            var$4 = $this.$worldRenderer;
            var$13 = $this.$normalX;
            var$14 = $this.$normalY;
            var$15 = $this.$normalZ;
            var$5 = var$4.$vertexFormat;
            var$16 = $rt_imul(var$4.$vertexCount, var$5.$attribStride0) + var$5.$attribNormalOffset0 | 0;
            var$5 = var$4.$byteBuffer;
            var$12 = (((var$13 | 0) * 127 | 0) & 255) << 24 >> 24;
            $ptr = 4;
            continue main;
        case 3:
            nleo_WorldRenderer_endVertex(var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nleib_EaglerArrayByteBuffer_put1(var$5, var$16, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = var$4.$byteBuffer;
            var$12 = var$16 + 1 | 0;
            var$6 = (((var$14 | 0) * 127 | 0) & 255) << 24 >> 24;
            $ptr = 5;
        case 5:
            nleib_EaglerArrayByteBuffer_put1(var$5, var$12, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = var$4.$byteBuffer;
            var$12 = var$16 + 2 | 0;
            var$16 = (((var$15 | 0) * 127 | 0) & 255) << 24 >> 24;
            $ptr = 6;
        case 6:
            nleib_EaglerArrayByteBuffer_put1(var$4, var$12, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$worldRenderer;
            $ptr = 3;
            continue main;
        case 7:
            nleib_EaglerArrayByteBuffer_putInt(var$4, var$10, var$12);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$format3.$attribNormalEnabled) {
                var$4 = $this.$worldRenderer;
                $ptr = 3;
                continue main;
            }
            var$4 = $this.$worldRenderer;
            var$13 = $this.$normalX;
            var$14 = $this.$normalY;
            var$15 = $this.$normalZ;
            var$5 = var$4.$vertexFormat;
            var$16 = $rt_imul(var$4.$vertexCount, var$5.$attribStride0) + var$5.$attribNormalOffset0 | 0;
            var$5 = var$4.$byteBuffer;
            var$12 = (((var$13 | 0) * 127 | 0) & 255) << 24 >> 24;
            $ptr = 4;
            continue main;
        case 8:
            nleib_EaglerArrayByteBuffer_putInt(var$4, var$10, var$12);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$format3.$attribNormalEnabled) {
                var$4 = $this.$worldRenderer;
                $ptr = 3;
                continue main;
            }
            var$4 = $this.$worldRenderer;
            var$13 = $this.$normalX;
            var$14 = $this.$normalY;
            var$15 = $this.$normalZ;
            var$5 = var$4.$vertexFormat;
            var$16 = $rt_imul(var$4.$vertexCount, var$5.$attribStride0) + var$5.$attribNormalOffset0 | 0;
            var$5 = var$4.$byteBuffer;
            var$12 = (((var$13 | 0) * 127 | 0) & 255) << 24 >> 24;
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr);
    }
    function nms_Tessellator_setColorOpaque_I($this, $var1) {
        var $var2, $var3, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $var1 >> 16 & 255;
            $var3 = $var1 >> 8 & 255;
            $var4 = $var1 & 255;
            $ptr = 1;
        case 1:
            nms_Tessellator_setColorOpaque($this, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_Tessellator_setColorRGBA_I($this, $var1, $var2) {
        var $var3, $var4, $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $var1 >> 16 & 255;
            $var4 = $var1 >> 8 & 255;
            $var5 = $var1 & 255;
            $ptr = 1;
        case 1:
            nms_Tessellator_setColorRGBA($this, $var3, $var4, $var5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Tessellator_setNormal($this, $var1, $var2, $var3) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$format3;
            if (var$4 !== null)
                $this.$format3 = nleo_VertexFormat_createVertexFormat(var$4.$attribTextureEnabled, var$4.$attribColorEnabled, 1);
            else
                $this.$format3 = nleo_VertexFormat_createVertexFormat(0, 0, 1);
            $this.$normalX = $var1;
            $this.$normalY = $var2;
            $this.$normalZ = $var3;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_Tessellator_setTranslationD($this, $var1, $var3, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$xOffset = $var1;
            $this.$yOffset0 = $var3;
            $this.$zOffset = $var5;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, $ptr);
    }
    function nms_Tessellator_setTranslationF($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$xOffset = $this.$xOffset + $var1;
            $this.$yOffset0 = $this.$yOffset0 + $var2;
            $this.$zOffset = $this.$zOffset + $var3;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_Tessellator__clinit_() {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nms_Tessellator;
            var$2 = 524288;
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1.$textureU = 0.0;
            var$1.$textureV = 0.0;
            var$1.$renderingChunk = 0;
            var$3 = new nleo_WorldRenderer;
            $ptr = 2;
        case 2:
            nleo_WorldRenderer__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$worldRenderer = var$3;
            nms_Tessellator_instance = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, $ptr);
    }
    var oacl_ArrayUtils = $rt_classWithoutFields();
    function oacl_ArrayUtils__init_0() {
        var var_0 = new oacl_ArrayUtils();
        oacl_ArrayUtils__init_(var_0);
        return var_0;
    }
    function oacl_ArrayUtils__init_($this) {}
    function jt_SimpleDatePatternParser() {
        var a = this; jl_Object.call(a);
        a.$symbols = null;
        a.$locale1 = null;
        a.$elements0 = null;
        a.$index6 = 0;
        a.$pattern4 = null;
    }
    function jt_SimpleDatePatternParser_parsePattern($this, $pattern) {
        var $c, $sb, var$4, $rep, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$rep = $thread.pop();var$4 = $thread.pop();$sb = $thread.pop();$c = $thread.pop();$pattern = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            ju_ArrayList_clear($this.$elements0);
            $this.$pattern4 = $pattern;
            $this.$index6 = 0;
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 1:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 2:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 3:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 4:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 5:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 6:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 7:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 8:
            jt_DateFormatElement$AmPmText__init_(var$4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 10:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 11:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 12:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 13:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 14:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 15:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 16:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 17:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 18:
            ju_ArrayList_add($sb, var$7);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 19:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 20:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 21:
            $tmp = jl_StringBuilder_append($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_StringBuilder_append1(var$4, $c);
            $ptr = 22;
        case 22:
            $tmp = jl_StringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            $sb = $tmp;
            jl_IllegalArgumentException__init_1($pattern, $sb);
            $rt_throw($pattern);
        case 23:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 24:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 25:
            $tmp = jl_AbstractStringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            $sb = $tmp;
            jt_DateFormatElement$ConstantText__init_(var$6, $sb);
            $ptr = 26;
        case 26:
            ju_ArrayList_add(var$4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 27:
            jt_DateFormatElement$WeekdayText__init_(var$4, var$6, $c);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 28;
        case 28:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 29:
            $tmp = otciu_CLDRHelper_resolveDateFormatSymbols(var$4, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            var$8.$eras = var$11;
            var$7.$eras0 = var$8.$eras.$clone();
            $ptr = 18;
            continue main;
        case 30:
            $tmp = jl_StringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            $sb = $tmp;
            jt_DateFormatElement$ConstantText__init_(var$6, $sb);
            $ptr = 31;
        case 31:
            ju_ArrayList_add(var$4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        case 32:
            jt_DateFormatElement$MonthText__init_(var$4, var$6, $c);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 33;
        case 33:
            ju_ArrayList_add($sb, var$4);
            if ($rt_suspending()) {
                break main;
            }
            while ($this.$index6 < jl_String_length($pattern)) {
                $c = jl_String_charAt($pattern, $this.$index6);
                switch ($c) {
                    case 39:
                        $this.$index6 = $this.$index6 + 1 | 0;
                        $sb = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($sb);
                        while ($this.$index6 < jl_String_length($this.$pattern4)) {
                            var$4 = $this.$pattern4;
                            $rep = $this.$index6;
                            $this.$index6 = $rep + 1 | 0;
                            $c = jl_String_charAt(var$4, $rep);
                            if ($c != 39)
                                jl_AbstractStringBuilder_append($sb, $c);
                            else {
                                if ($this.$index6 >= jl_String_length($this.$pattern4))
                                    break;
                                if (jl_String_charAt($this.$pattern4, $this.$index6) != 39)
                                    break;
                                jl_AbstractStringBuilder_append($sb, 39);
                                $this.$index6 = $this.$index6 + 1 | 0;
                            }
                        }
                        var$4 = $this.$elements0;
                        var$6 = new jt_DateFormatElement$ConstantText;
                        $ptr = 25;
                        continue main;
                    case 40:
                    case 41:
                    case 42:
                    case 43:
                    case 44:
                    case 45:
                    case 46:
                    case 47:
                    case 48:
                    case 49:
                    case 50:
                    case 51:
                    case 52:
                    case 53:
                    case 54:
                    case 55:
                    case 56:
                    case 57:
                    case 58:
                    case 59:
                    case 60:
                    case 61:
                    case 62:
                    case 63:
                    case 64:
                    case 65:
                    case 66:
                    case 67:
                    case 73:
                    case 74:
                    case 78:
                    case 79:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 98:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 108:
                    case 110:
                    case 111:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 118:
                    case 120:
                        break;
                    case 68:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(6, $rep, 3);
                        $ptr = 1;
                        continue main;
                    case 69:
                    case 99:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$WeekdayText;
                        var$6 = $this.$symbols;
                        $c = $rep > 3 ? 0 : 1;
                        $ptr = 27;
                        continue main;
                    case 70:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(8, $rep, 2);
                        $ptr = 2;
                        continue main;
                    case 71:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$7 = new jt_DateFormatElement$EraText;
                        var$8 = $this.$symbols;
                        if (var$8.$eras !== null) {
                            var$7.$eras0 = var$8.$eras.$clone();
                            $ptr = 18;
                            continue main;
                        }
                        var$4 = var$8.$locale0;
                        var$9 = var$4.$languageCode;
                        var$10 = var$4.$countryCode;
                        if (otciu_CLDRHelper_$$metadata$$1 === null)
                            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
                        var$4 = otciu_CLDRHelper_$$metadata$$1;
                        $ptr = 29;
                        continue main;
                    case 72:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(11, $rep, 2);
                        $ptr = 3;
                        continue main;
                    case 75:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(10, $rep, 2);
                        $ptr = 4;
                        continue main;
                    case 76:
                    case 77:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$NumericMonth__init_0($rep);
                            $ptr = 19;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$MonthText;
                        var$6 = $this.$symbols;
                        $c = $rep != 3 ? 0 : 1;
                        $ptr = 32;
                        continue main;
                    case 83:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(14, $rep, 3);
                        $ptr = 5;
                        continue main;
                    case 87:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(4, $rep, 1);
                        $ptr = 6;
                        continue main;
                    case 88:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep <= 3) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Iso8601Timezone__init_0($rep);
                            $ptr = 20;
                            continue main;
                        }
                        $pattern = new jl_IllegalArgumentException;
                        $c = $this.$index6;
                        $sb = jl_StringBuilder__init_0();
                        var$4 = $rt_s(1641);
                        $ptr = 21;
                        continue main;
                    case 89:
                    case 121:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        if ($rep == 2) {
                            $sb = $this.$elements0;
                            var$4 = jt_DateFormatElement$Year__init_0(1);
                            $ptr = 24;
                            continue main;
                        }
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(1, $rep, 8);
                        $ptr = 23;
                        continue main;
                    case 90:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$Rfc822Timezone;
                        jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale1);
                        $ptr = 7;
                        continue main;
                    case 97:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = new jt_DateFormatElement$AmPmText;
                        var$6 = $this.$symbols;
                        $ptr = 8;
                        continue main;
                    case 100:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(5, $rep, 2);
                        $ptr = 10;
                        continue main;
                    case 104:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(10, $rep, 12);
                        $ptr = 11;
                        continue main;
                    case 107:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericHour__init_0(11, $rep, 24);
                        $ptr = 12;
                        continue main;
                    case 109:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(12, $rep, 2);
                        $ptr = 13;
                        continue main;
                    case 115:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(13, $rep, 2);
                        $ptr = 14;
                        continue main;
                    case 117:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$NumericWeekday__init_0($rep);
                        $ptr = 15;
                        continue main;
                    case 119:
                        $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$Numeric__init_0(3, $rep, 2);
                        $ptr = 16;
                        continue main;
                    case 122:
                        jt_SimpleDatePatternParser_parseRepetitions($this);
                        $sb = $this.$elements0;
                        var$4 = jt_DateFormatElement$GeneralTimezone__init_0($this.$locale1);
                        $ptr = 17;
                        continue main;
                    default:
                }
                if (!jt_SimpleDatePatternParser_isControl($this, $c)) {
                    $sb = jl_StringBuilder__init_0();
                    while ($this.$index6 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index6))) {
                        $rep = $this.$index6;
                        $this.$index6 = $rep + 1 | 0;
                        jl_StringBuilder_append5($sb, jl_String_charAt($pattern, $rep));
                    }
                    var$4 = $this.$elements0;
                    var$6 = new jt_DateFormatElement$ConstantText;
                    $ptr = 30;
                    continue main;
                }
                jt_SimpleDatePatternParser_parseRepetitions($this);
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $pattern, $c, $sb, var$4, $rep, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    function jt_SimpleDatePatternParser_isControl($this, $c) {
        a: {
            b: {
                if ($c != 39 && !($c >= 97 && $c <= 122)) {
                    if ($c < 65)
                        break b;
                    if ($c > 90)
                        break b;
                }
                $c = 1;
                break a;
            }
            $c = 0;
        }
        return $c;
    }
    function jt_SimpleDatePatternParser_parseRepetitions($this) {
        var $count, var$2, var$3, $orig;
        $count = 1;
        var$2 = $this.$pattern4;
        var$3 = $this.$index6;
        $this.$index6 = var$3 + 1 | 0;
        $orig = jl_String_charAt(var$2, var$3);
        while ($this.$index6 < jl_String_length($this.$pattern4) && jl_String_charAt($this.$pattern4, $this.$index6) == $orig) {
            $this.$index6 = $this.$index6 + 1 | 0;
            $count = $count + 1 | 0;
        }
        return $count;
    }
    var jt_DateFormatElement = $rt_classWithoutFields();
    var cch_BufferAllocationException = $rt_classWithoutFields(jl_RuntimeException);
    function cch_BufferAllocationException__init_2(var_0, var_1) {
        var var_2 = new cch_BufferAllocationException();
        cch_BufferAllocationException__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function cch_BufferAllocationException__init_3(var_0, var_1, var_2) {
        var var_3 = new cch_BufferAllocationException();
        cch_BufferAllocationException__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function cch_BufferAllocationException__init_0($this, $message, $args) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$args = $thread.pop();$message = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = null;
            $ptr = 1;
        case 1:
            cch_BufferAllocationException__init_($this, $message, var$3, $args);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $message, $args, var$3, $ptr);
    }
    function cch_BufferAllocationException__init_($this, $message, $t, $args) {
        var var$4, var$5, var$6, var$7, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$args = $thread.pop();$t = $thread.pop();$message = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            try {
                ju_Locale_$callClinit();
                var$4 = ju_Locale_ROOT;
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ju_IllegalFormatException) {
                    var$4 = $$je;
                } else {
                    throw $$e;
                }
            }
            var$5 = new cch_BufferAllocationException;
            var$6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$6);
            $ptr = 2;
            continue main;
        case 1:
            a: {
                try {
                    $tmp = jl_String_format(var$4, $message, $args);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$4 = $tmp;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ju_IllegalFormatException) {
                        var$4 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                jl_Throwable__init_4($this, var$4, $t);
                return;
            }
            var$5 = new cch_BufferAllocationException;
            var$6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$6);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$6, $message);
            if ($rt_suspending()) {
                break main;
            }
            $message = $tmp;
            var$7 = $rt_s(1642);
            $ptr = 3;
        case 3:
            jl_StringBuilder_append($message, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            $message = $tmp;
            jl_Throwable__init_(var$5, $message);
            if ($t !== null)
                jl_Throwable_addSuppressed(var$5, $t);
            jl_Throwable_addSuppressed(var$5, var$4);
            $rt_throw(var$5);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $message, $t, $args, var$4, var$5, var$6, var$7, $ptr);
    }
    function jl_Double() {
        jl_Number.call(this);
        this.$value8 = 0.0;
    }
    var jl_Double_TYPE = null;
    function jl_Double_intValue($this) {
        return $this.$value8 | 0;
    }
    function jl_Double_valueOf($d) {
        var var$2;
        var$2 = new jl_Double;
        var$2.$value8 = $d;
        return var$2;
    }
    function jl_Double_toString($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$value8;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$2 = jl_StringBuilder_append4(var$2, var$1);
            $ptr = 1;
        case 1:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function jl_Double_hashCode($this) {
        var var$1;
        var$1 = jl_Double_doubleToLongBits($this.$value8);
        return Long_hi(var$1) ^ Long_lo(var$1);
    }
    function jl_Double_doubleToLongBits($value) {
        if (!($rt_globals.isNaN($value) ? 1 : 0))
            return $rt_doubleToRawLongBits($value);
        return Long_create(0, 2146959360);
    }
    function jl_Double__clinit_() {
        jl_Double_TYPE = $rt_cls($rt_doublecls());
    }
    var cch_BitUtil = $rt_classWithoutFields();
    function cch_BitUtil__init_0() {
        var var_0 = new cch_BitUtil();
        cch_BitUtil__init_(var_0);
        return var_0;
    }
    function cch_BitUtil__init_($this) {}
    function nms_AchievementMap() {
        jl_Object.call(this);
        this.$field_25209_b = null;
    }
    var nms_AchievementMap_field_25210_a = null;
    var nms_AchievementMap_$clinitCalled = false;
    function nms_AchievementMap_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_AchievementMap_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_AchievementMap_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_AchievementMap__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_AchievementMap_$callClinit = $rt_eraseClinit(nms_AchievementMap);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_AchievementMap__init_0() {
        var var_0 = new nms_AchievementMap();
        nms_AchievementMap__init_(var_0);
        return var_0;
    }
    function nms_AchievementMap__init_($this) {
        var $var1, $var5, $var2, $var3, $var4, var$6, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var5 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_AchievementMap_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_25209_b = ju_HashMap__init_0();
            try {
                $var1 = $rt_s(1643);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 4;
            continue main;
        case 2:
            try {
                $tmp = nle_EagRuntime_getResourceLines($var1);
                if ($rt_suspending()) {
                    break main;
                }
                $var1 = $tmp;
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 4;
            continue main;
        case 3:
            a: {
                try {
                    $tmp = ju_AbstractList_iterator($var1);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $var1 = $tmp;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var5 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                b: {
                    try {
                        if (ju_AbstractList$1_hasNext($var1))
                            break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Exception) {
                            $var5 = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                    return;
                }
                try {
                    $ptr = 5;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var5 = $$je;
                    } else {
                        throw $$e;
                    }
                }
            }
            $ptr = 4;
        case 4:
            jl_Throwable_printStackTrace($var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            a: {
                b: {
                    try {
                        $tmp = ju_AbstractList$1_next($var1);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $var2 = $tmp;
                        $var2 = $var2;
                        if ($var2 !== null)
                            break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Exception) {
                            $var5 = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                    return;
                }
                try {
                    $var5 = $rt_s(127);
                    $ptr = 6;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var5 = $$je;
                    } else {
                        throw $$e;
                    }
                }
            }
            $ptr = 4;
            continue main;
        case 6:
            try {
                $tmp = jl_String_split($var2, $var5);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $var3 = $var3.data;
                $var2 = $var3[0];
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 4;
            continue main;
        case 7:
            try {
                $tmp = jl_Integer_parseInt0($var2);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                $var2 = $this.$field_25209_b;
                $var5 = jl_Integer_valueOf($var4);
                var$6 = $var3[1];
                $ptr = 8;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var5 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 4;
            continue main;
        case 8:
            a: {
                try {
                    ju_HashMap_put($var2, $var5, var$6);
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var5 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                b: {
                    try {
                        if (ju_AbstractList$1_hasNext($var1))
                            break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Exception) {
                            $var5 = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                    return;
                }
                try {
                    $ptr = 5;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var5 = $$je;
                    } else {
                        throw $$e;
                    }
                }
            }
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var5, $var2, $var3, $var4, var$6, $ptr);
    }
    function nms_AchievementMap__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nms_AchievementMap;
            $ptr = 1;
        case 1:
            nms_AchievementMap__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nms_AchievementMap_field_25210_a = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    var nms_AchievementList = $rt_classWithoutFields();
    var nms_AchievementList_field_25196_a = null;
    var nms_AchievementList_field_25195_b = null;
    var nms_AchievementList_field_25198_c = null;
    var nms_AchievementList_field_25197_d = null;
    var nms_AchievementList_$clinitCalled = false;
    function nms_AchievementList_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_AchievementList_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_AchievementList_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_AchievementList__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_AchievementList_$callClinit = $rt_eraseClinit(nms_AchievementList);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_AchievementList__init_0() {
        var var_0 = new nms_AchievementList();
        nms_AchievementList__init_(var_0);
        return var_0;
    }
    function nms_AchievementList__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_AchievementList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_AchievementList__clinit_() {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_AchievementList_field_25196_a = ju_ArrayList__init_0();
            var$1 = new nms_Achievement;
            var$2 = 5242880;
            var$3 = $rt_s(1644);
            $ptr = 1;
        case 1:
            $tmp = nms_StatCollector_func_25200_a(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            nms_Achievement__init_(var$1, var$2, var$4, 0, 0, null);
            nms_AchievementList_field_25195_b = var$1;
            var$3 = new nms_Achievement;
            var$2 = 5242881;
            var$1 = $rt_s(1645);
            $ptr = 2;
        case 2:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Achievement__init_(var$3, var$2, var$1, 4, 1, nms_AchievementList_field_25195_b);
            nms_AchievementList_field_25198_c = var$3;
            var$3 = new nms_Achievement;
            var$2 = 5242881;
            var$1 = $rt_s(1646);
            $ptr = 3;
        case 3:
            $tmp = nms_StatCollector_func_25200_a(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_Achievement__init_(var$3, var$2, var$1, 8, (-1), nms_AchievementList_field_25198_c);
            nms_AchievementList_field_25197_d = var$3;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_Achievement() {
        var a = this; nms_StatBasic.call(a);
        a.$field_25075_a = 0;
        a.$field_25074_b = 0;
        a.$field_25076_c = null;
    }
    function nms_Achievement__init_0(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nms_Achievement();
        nms_Achievement__init_(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nms_Achievement__init_($this, $var1, $var2, $var3, $var4, $var5) {
        nms_StatBasic__init_($this, $var1, $var2);
        $this.$field_25075_a = $var3 + 46 | 0;
        $this.$field_25074_b = $var4 + 23 | 0;
        $this.$field_25076_c = $var5;
    }
    var jn_CharBufferImpl = $rt_classWithoutFields(jn_CharBuffer);
    function jn_CharBufferOverArray() {
        var a = this; jn_CharBufferImpl.call(a);
        a.$readOnly0 = 0;
        a.$start5 = 0;
        a.$array = null;
    }
    function jn_CharBufferOverArray__init_1(var_0, var_1, var_2, var_3, var_4, var_5) {
        var var_6 = new jn_CharBufferOverArray();
        jn_CharBufferOverArray__init_(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
        return var_6;
    }
    function jn_CharBufferOverArray__init_($this, $start, $capacity, $array, $position, $limit, $readOnly) {
        jn_Buffer__init_($this, $capacity);
        $this.$position = $position;
        $this.$limit = $limit;
        $this.$start5 = $start;
        $this.$readOnly0 = $readOnly;
        $this.$array = $array;
    }
    function jn_CharBufferOverArray_getChar($this, $index) {
        return $this.$array.data[$index + $this.$start5 | 0];
    }
    function jn_CharBufferOverArray_putChar($this, $index, $value) {
        $this.$array.data[$index + $this.$start5 | 0] = $value;
    }
    function jnc_CharsetEncoder() {
        var a = this; jl_Object.call(a);
        a.$charset1 = null;
        a.$replacement1 = null;
        a.$averageBytesPerChar = 0.0;
        a.$maxBytesPerChar = 0.0;
        a.$malformedAction0 = null;
        a.$unmappableAction0 = null;
        a.$status0 = 0;
    }
    function jnc_CharsetEncoder_onMalformedInput($this, $newAction) {
        var var$2;
        if ($newAction !== null) {
            $this.$malformedAction0 = $newAction;
            return $this;
        }
        var$2 = new jl_IllegalArgumentException;
        jl_Throwable__init_(var$2, $rt_s(1647));
        $rt_throw(var$2);
    }
    function jnc_CharsetEncoder_implOnMalformedInput($this, $newAction) {}
    function jnc_CharsetEncoder_onUnmappableCharacter($this, $newAction) {
        var var$2;
        if ($newAction !== null) {
            $this.$unmappableAction0 = $newAction;
            return $this;
        }
        var$2 = new jl_IllegalArgumentException;
        jl_Throwable__init_(var$2, $rt_s(1647));
        $rt_throw(var$2);
    }
    function jnc_CharsetEncoder_implOnUnmappableCharacter($this, $newAction) {}
    function jnc_CharsetEncoder_encode($this, $in, $out, $endOfInput) {
        var var$4, $e, $result, $remaining, $action, var$9, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();$action = $thread.pop();$remaining = $thread.pop();$result = $thread.pop();$e = $thread.pop();var$4 = $thread.pop();$endOfInput = $thread.pop();$out = $thread.pop();$in = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                var$4 = $this.$status0;
                if (var$4 != 3) {
                    if ($endOfInput)
                        break a;
                    if (var$4 != 2)
                        break a;
                }
                $in = new jl_IllegalStateException;
                jl_Throwable__init_0($in);
                $rt_throw($in);
            }
            $this.$status0 = !$endOfInput ? 1 : 2;
            try {
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_RuntimeException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $in = new jnc_CoderMalfunctionError;
            jl_Throwable__init_6($in, $e);
            $rt_throw($in);
        case 1:
            a: {
                try {
                    $tmp = jnci_BufferedEncoder_encodeLoop($this, $in, $out);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $result = $tmp;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_RuntimeException) {
                        $e = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $in = new jnc_CoderMalfunctionError;
                jl_Throwable__init_6($in, $e);
                $rt_throw($in);
            }
            if (jnc_CoderResult_isUnderflow($result)) {
                if (!$endOfInput)
                    return $result;
                $remaining = jn_Buffer_remaining($in);
                if ($remaining <= 0)
                    return $result;
                $result = jnc_CoderResult_malformedForLength($remaining);
            } else if (jnc_CoderResult_isOverflow($result))
                return $result;
            $action = !jnc_CoderResult_isUnmappable($result) ? $this.$malformedAction0 : $this.$unmappableAction0;
            jnc_CodingErrorAction_$callClinit();
            if ($action !== jnc_CodingErrorAction_REPLACE) {
                if ($action !== jnc_CodingErrorAction_IGNORE)
                    return $result;
                $remaining = $in.$position + jnc_CoderResult_length($result) | 0;
                $ptr = 2;
                continue main;
            }
            $remaining = jn_Buffer_remaining($out);
            var$9 = $this.$replacement1;
            var$4 = var$9.data.length;
            if ($remaining < var$4)
                return jnc_CoderResult_OVERFLOW;
            $remaining = 0;
            $ptr = 3;
            continue main;
        case 2:
            jn_Buffer_position0($in, $remaining);
            if ($rt_suspending()) {
                break main;
            }
            try {
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_RuntimeException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $in = new jnc_CoderMalfunctionError;
            jl_Throwable__init_6($in, $e);
            $rt_throw($in);
        case 3:
            jn_ByteBuffer_put0($out, var$9, $remaining, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $remaining = $in.$position + jnc_CoderResult_length($result) | 0;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $in, $out, $endOfInput, var$4, $e, $result, $remaining, $action, var$9, $ptr);
    }
    function jnc_CharsetEncoder_encode0($this, $in) {
        var var$2, $output, $result, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$result = $thread.pop();$output = $thread.pop();var$2 = $thread.pop();$in = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!jn_Buffer_remaining($in)) {
                var$2 = 0;
                $ptr = 2;
                continue main;
            }
            jnc_CharsetEncoder_reset($this);
            var$2 = jn_Buffer_remaining($in) * $this.$averageBytesPerChar | 0;
            $ptr = 1;
        case 1:
            $tmp = jn_ByteBuffer_allocate(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $output = $tmp;
            var$2 = 0;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = jn_ByteBuffer_allocate(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $in = $tmp;
            return $in;
        case 3:
            $tmp = jnc_CharsetEncoder_encode($this, $in, $output, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $result = $tmp;
            if ($result === jnc_CoderResult_UNDERFLOW) {
                var$2 = 1;
                $ptr = 4;
                continue main;
            }
            if ($result === jnc_CoderResult_OVERFLOW) {
                $ptr = 5;
                continue main;
            }
            if (jnc_CoderResult_isError($result))
                jnc_CoderResult_throwException($result);
            var$2 = 0;
            continue main;
        case 4:
            $tmp = jnc_CharsetEncoder_encode($this, $in, $output, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $in = $tmp;
            if (jnc_CoderResult_isError($in))
                jnc_CoderResult_throwException($in);
            while (true) {
                $in = jnc_CharsetEncoder_flush($this, $output);
                if (jnc_CoderResult_isUnderflow($in))
                    break;
                if (jnc_CoderResult_isOverflow($in)) {
                    $ptr = 6;
                    continue main;
                }
            }
            jn_Buffer_flip($output);
            return $output;
        case 5:
            $tmp = jnc_CharsetEncoder_allocateMore($this, $output);
            if ($rt_suspending()) {
                break main;
            }
            $output = $tmp;
            var$2 = 0;
            $ptr = 3;
            continue main;
        case 6:
            $tmp = jnc_CharsetEncoder_allocateMore($this, $output);
            if ($rt_suspending()) {
                break main;
            }
            $output = $tmp;
            while (true) {
                $in = jnc_CharsetEncoder_flush($this, $output);
                if (jnc_CoderResult_isUnderflow($in))
                    break;
                if (jnc_CoderResult_isOverflow($in)) {
                    continue main;
                }
            }
            jn_Buffer_flip($output);
            return $output;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $in, var$2, $output, $result, $ptr);
    }
    function jnc_CharsetEncoder_allocateMore($this, $buffer) {
        var $array, $result, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$result = $thread.pop();$array = $thread.pop();$buffer = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $array = $buffer.$array0;
            $result = jn_ByteBuffer_wrap0(ju_Arrays_copyOf1($array, $array.data.length * 2 | 0));
            var$4 = $buffer.$position;
            $ptr = 1;
        case 1:
            jn_Buffer_position0($result, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return $result;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $buffer, $array, $result, var$4, $ptr);
    }
    function jnc_CharsetEncoder_flush($this, $out) {
        var var$2, $result;
        var$2 = $this.$status0;
        if (var$2 != 2 && var$2 != 4) {
            $out = new jl_IllegalStateException;
            jl_Throwable__init_0($out);
            $rt_throw($out);
        }
        $result = jnc_CoderResult_UNDERFLOW;
        if ($result === $result)
            $this.$status0 = 3;
        return $result;
    }
    function jnc_CharsetEncoder_implFlush($this, $out) {
        return jnc_CoderResult_UNDERFLOW;
    }
    function jnc_CharsetEncoder_reset($this) {
        $this.$status0 = 0;
        return $this;
    }
    function jnc_CharsetEncoder_implReset($this) {}
    function jnc_CoderResult() {
        var a = this; jl_Object.call(a);
        a.$kind = 0;
        a.$length2 = 0;
    }
    var jnc_CoderResult_UNDERFLOW = null;
    var jnc_CoderResult_OVERFLOW = null;
    function jnc_CoderResult__init_0(var_0, var_1) {
        var var_2 = new jnc_CoderResult();
        jnc_CoderResult__init_(var_2, var_0, var_1);
        return var_2;
    }
    function jnc_CoderResult__init_($this, $kind, $length) {
        $this.$kind = $kind;
        $this.$length2 = $length;
    }
    function jnc_CoderResult_isUnderflow($this) {
        return $this.$kind ? 0 : 1;
    }
    function jnc_CoderResult_isOverflow($this) {
        return $this.$kind != 1 ? 0 : 1;
    }
    function jnc_CoderResult_isError($this) {
        return !jnc_CoderResult_isMalformed($this) && !jnc_CoderResult_isUnmappable($this) ? 0 : 1;
    }
    function jnc_CoderResult_isMalformed($this) {
        return $this.$kind != 2 ? 0 : 1;
    }
    function jnc_CoderResult_isUnmappable($this) {
        return $this.$kind != 3 ? 0 : 1;
    }
    function jnc_CoderResult_length($this) {
        var var$1;
        if (jnc_CoderResult_isError($this))
            return $this.$length2;
        var$1 = new jl_UnsupportedOperationException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    function jnc_CoderResult_malformedForLength($length) {
        return jnc_CoderResult__init_0(2, $length);
    }
    function jnc_CoderResult_unmappableForLength($length) {
        return jnc_CoderResult__init_0(3, $length);
    }
    function jnc_CoderResult_throwException($this) {
        var var$1, var$2;
        switch ($this.$kind) {
            case 0:
                var$1 = new jnc_BufferUnderflowException;
                jl_Throwable__init_0(var$1);
                $rt_throw(var$1);
            case 1:
                var$1 = new jnc_BufferOverflowException;
                jl_Throwable__init_0(var$1);
                $rt_throw(var$1);
            case 2:
                var$1 = new jnc_MalformedInputException;
                var$2 = $this.$length2;
                jl_Throwable__init_0(var$1);
                var$1.$length3 = var$2;
                $rt_throw(var$1);
            case 3:
                var$1 = new jnc_UnmappableCharacterException;
                var$2 = $this.$length2;
                jl_Throwable__init_0(var$1);
                var$1.$length4 = var$2;
                $rt_throw(var$1);
            default:
        }
    }
    function jnc_CoderResult__clinit_() {
        jnc_CoderResult_UNDERFLOW = jnc_CoderResult__init_0(0, 0);
        jnc_CoderResult_OVERFLOW = jnc_CoderResult__init_0(1, 0);
    }
    function jl_Thread$switchContext$lambda$_19_0() {
        var a = this; jl_Object.call(a);
        a.$_014 = null;
        a.$_18 = null;
    }
    function jl_Thread$switchContext$lambda$_19_0_run(var$0) {
        var var$1, var$2;
        var$1 = var$0.$_014;
        var$2 = var$0.$_18;
        jl_Thread_$callClinit();
        jl_Thread_setCurrentThread(var$1);
        otpp_AsyncCallbackWrapper_complete(var$2, null);
    }
    function nleo_WorldRenderer() {
        var a = this; jl_Object.call(a);
        a.$needsUpdate0 = 0;
        a.$drawMode = 0;
        a.$xOffset0 = 0.0;
        a.$yOffset1 = 0.0;
        a.$zOffset0 = 0.0;
        a.$isDrawing = 0;
        a.$vertexFormat = null;
        a.$vertexCount = 0;
        a.$byteBuffer = null;
        a.$intBuffer = null;
        a.$floatBuffer = null;
        a.$hasBeenFreed = 0;
        a.$sortArrayCacheA = null;
        a.$sortArrayCacheB = null;
        a.$sortBitSetCache = null;
        a.$sortArrayCacheLambda = null;
        a.$swapArrayCacheLambda = null;
        a.$tmpVec1 = null;
        a.$tmpVec2 = null;
        a.$tmpVec3 = null;
        a.$tmpVec4 = null;
        a.$tmpVec5 = null;
        a.$tmpVec6 = null;
    }
    var nleo_WorldRenderer_logger = null;
    var nleo_WorldRenderer_$clinitCalled = false;
    function nleo_WorldRenderer_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nleo_WorldRenderer_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleo_WorldRenderer_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nleo_WorldRenderer__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nleo_WorldRenderer_$callClinit = $rt_eraseClinit(nleo_WorldRenderer);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nleo_WorldRenderer__init_0(var_0) {
        var var_1 = new nleo_WorldRenderer();
        nleo_WorldRenderer__init_(var_1, var_0);
        return var_1;
    }
    function nleo_WorldRenderer__init_($this, $bufferSizeIn) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$bufferSizeIn = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_WorldRenderer_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$hasBeenFreed = 0;
            $this.$sortArrayCacheA = null;
            $this.$sortArrayCacheB = null;
            $this.$sortBitSetCache = null;
            var$2 = new nleo_WorldRenderer$_init_$lambda$_0_0;
            var$2.$_027 = $this;
            $this.$sortArrayCacheLambda = var$2;
            var$2 = new nleo_WorldRenderer$_init_$lambda$_0_1;
            var$2.$_028 = $this;
            $this.$swapArrayCacheLambda = var$2;
            $this.$tmpVec1 = new nlev_Vector3f;
            $this.$tmpVec2 = new nlev_Vector3f;
            $this.$tmpVec3 = new nlev_Vector3f;
            $this.$tmpVec4 = new nlev_Vector3f;
            $this.$tmpVec5 = new nlev_Vector3f;
            $this.$tmpVec6 = new nlev_Vector3f;
            $bufferSizeIn = $bufferSizeIn << 2;
            $ptr = 2;
        case 2:
            $tmp = nms_GLAllocation_createDirectByteBuffer($bufferSizeIn);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$byteBuffer = var$2;
            $this.$intBuffer = nleib_EaglerArrayByteBuffer_asIntBuffer(var$2);
            $this.$floatBuffer = nleib_EaglerArrayByteBuffer_asFloatBuffer($this.$byteBuffer);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $bufferSizeIn, var$2, $ptr);
    }
    function nleo_WorldRenderer_reset($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$vertexCount = 0;
            nleib_EaglerArrayByteBuffer_clear($this.$byteBuffer);
            nleib_EaglerArrayIntBuffer_clear($this.$intBuffer);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nleo_WorldRenderer_tex($this, $parDouble1, $parDouble2) {
        var $fmt, $i, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$i = $thread.pop();$fmt = $thread.pop();$parDouble2 = $thread.pop();$parDouble1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $fmt = $this.$vertexFormat;
            $i = $rt_imul($this.$vertexCount, $fmt.$attribStride0) + $fmt.$attribTextureOffset0 | 0;
            $fmt = $this.$byteBuffer;
            var$5 = $parDouble1;
            $ptr = 1;
        case 1:
            nleib_EaglerArrayByteBuffer_putFloat0($fmt, $i, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $fmt = $this.$byteBuffer;
            $i = $i + 4 | 0;
            var$5 = $parDouble2;
            $ptr = 2;
        case 2:
            nleib_EaglerArrayByteBuffer_putFloat0($fmt, $i, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $parDouble1, $parDouble2, $fmt, $i, var$5, $ptr);
    }
    function nleo_WorldRenderer_endVertex($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$vertexCount + 1 | 0;
            $this.$vertexCount = var$1;
            var$2 = $this.$vertexFormat.$attribStride0;
            var$3 = var$2 >> 2;
            var$1 = $rt_imul(var$1, var$2) >> 2;
            var$2 = $this.$byteBuffer.$capacity1 >> 2;
            if (var$3 <= (var$2 - var$1 | 0))
                return;
            var$3 = ((((var$1 + var$3 | 0) + (var$3 >> 1) | 0) >> 16) + 1 | 0) << 16;
            $ptr = 1;
        case 1:
            nleo_WorldRenderer_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nleo_WorldRenderer_logger;
            var$2 = var$2 << 2;
            var$1 = var$3 << 2;
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            var$6 = $rt_s(1648);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_AbstractStringBuilder_append0(var$6, var$2);
            var$7 = $rt_s(1649);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_AbstractStringBuilder_append0(var$6, var$1);
            var$7 = $rt_s(1650);
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 6;
        case 6:
            oall_Logger_warn(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            $tmp = nms_GLAllocation_createDirectByteBuffer(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$5 = $this.$byteBuffer;
            var$1 = 0;
            $ptr = 8;
        case 8:
            nleib_EaglerArrayByteBuffer_position(var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$byteBuffer;
            $ptr = 9;
        case 9:
            nleib_EaglerArrayByteBuffer_put0(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4.$position2 = 0;
            var$4.$mark0 = (-1);
            var$5 = $this.$byteBuffer;
            $ptr = 10;
        case 10:
            nle_EagRuntime_freeByteBuffer(var$5);
            if ($rt_suspending()) {
                break main;
            }
            $this.$byteBuffer = var$4;
            $this.$intBuffer = nleib_EaglerArrayByteBuffer_asIntBuffer(var$4);
            $this.$floatBuffer = nleib_EaglerArrayByteBuffer_asFloatBuffer($this.$byteBuffer);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nleo_WorldRenderer_pos($this, $parDouble1, $parDouble2, $parDouble3) {
        var $i, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$i = $thread.pop();$parDouble3 = $thread.pop();$parDouble2 = $thread.pop();$parDouble1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $i = $rt_imul($this.$vertexCount, $this.$vertexFormat.$attribStride0);
            var$5 = $this.$byteBuffer;
            var$6 = $parDouble1 + $this.$xOffset0;
            $ptr = 1;
        case 1:
            nleib_EaglerArrayByteBuffer_putFloat0(var$5, $i, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$byteBuffer;
            var$7 = $i + 4 | 0;
            var$6 = $parDouble2 + $this.$yOffset1;
            $ptr = 2;
        case 2:
            nleib_EaglerArrayByteBuffer_putFloat0(var$5, var$7, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$byteBuffer;
            var$7 = $i + 8 | 0;
            var$6 = $parDouble3 + $this.$zOffset0;
            $ptr = 3;
        case 3:
            nleib_EaglerArrayByteBuffer_putFloat0(var$5, var$7, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $parDouble1, $parDouble2, $parDouble3, $i, var$5, var$6, var$7, $ptr);
    }
    function nleo_WorldRenderer_finishDrawing($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$isDrawing) {
                var$1 = new jl_IllegalStateException;
                jl_Throwable__init_(var$1, $rt_s(1651));
                $rt_throw(var$1);
            }
            $this.$isDrawing = 0;
            var$1 = $this.$byteBuffer;
            var$2 = 0;
            $ptr = 1;
        case 1:
            nleib_EaglerArrayByteBuffer_position(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$byteBuffer;
            var$2 = $rt_imul($this.$vertexCount, $this.$vertexFormat.$attribStride0);
            $ptr = 2;
        case 2:
            nleib_EaglerArrayByteBuffer_limit(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nleo_WorldRenderer__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(1652);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleo_WorldRenderer_logger = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    var ju_IllegalFormatException = $rt_classWithoutFields(jl_IllegalArgumentException);
    function ju_IllegalFormatException__init_1() {
        var var_0 = new ju_IllegalFormatException();
        ju_IllegalFormatException__init_(var_0);
        return var_0;
    }
    function ju_IllegalFormatException__init_($this) {
        jl_Throwable__init_0($this);
    }
    var juf_IntBinaryOperator = $rt_classWithoutFields(0);
    function nleo_WorldRenderer$_init_$lambda$_0_0() {
        jl_Object.call(this);
        this.$_027 = null;
    }
    function nleo_WorldRenderer$_init_$lambda$_0_1() {
        jl_Object.call(this);
        this.$_028 = null;
    }
    var nlev_Vector3f = $rt_classWithoutFields(nlev_Vector);
    function nlev_Vector3f__init_0() {
        var var_0 = new nlev_Vector3f();
        nlev_Vector3f__init_(var_0);
        return var_0;
    }
    function nlev_Vector3f__init_($this) {}
    function ji_Reader() {
        jl_Object.call(this);
        this.$lock = null;
    }
    function ji_Reader__init_($this) {
        $this.$lock = new jl_Object;
    }
    function ji_BufferedReader() {
        var a = this; ji_Reader.call(a);
        a.$innerReader = null;
        a.$buffer6 = null;
        a.$index7 = 0;
        a.$count5 = 0;
        a.$eof1 = 0;
        a.$mark6 = 0;
    }
    function ji_BufferedReader__init_1(var_0) {
        var var_1 = new ji_BufferedReader();
        ji_BufferedReader__init_(var_1, var_0);
        return var_1;
    }
    function ji_BufferedReader__init_($this, $innerReader) {
        ji_Reader__init_($this);
        $this.$mark6 = (-1);
        $this.$innerReader = $innerReader;
        $this.$buffer6 = $rt_createCharArray(jl_Math_max(64, 1024));
    }
    function ji_BufferedReader_close($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            ji_BufferedReader_requireOpened($this);
            var$1 = $this.$innerReader.$stream;
            $ptr = 1;
        case 1:
            var$1.$close();
            if ($rt_suspending()) {
                break main;
            }
            $this.$innerReader = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function ji_BufferedReader_readLine($this) {
        var $line, var$2, var$3, $ch, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$ch = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$line = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            ji_BufferedReader_requireOpened($this);
            if ($this.$eof1 && $this.$index7 >= $this.$count5)
                return null;
            $line = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($line);
            a: {
                while (true) {
                    if ($this.$index7 >= $this.$count5) {
                        var$2 = 0;
                        $ptr = 1;
                        continue main;
                    }
                    var$3 = $this.$buffer6.data;
                    $ch = $this.$index7;
                    var$2 = $ch + 1 | 0;
                    $this.$index7 = var$2;
                    $ch = var$3[$ch];
                    if ($ch == 10)
                        break;
                    if ($ch == 13) {
                        if (var$2 >= $this.$count5) {
                            var$2 = 0;
                            $ptr = 3;
                            continue main;
                        }
                        var$3 = $this.$buffer6.data;
                        var$2 = $this.$index7;
                        if (var$3[var$2] != 10)
                            break a;
                        $this.$index7 = var$2 + 1 | 0;
                        break a;
                    }
                    jl_AbstractStringBuilder_append($line, $ch);
                }
            }
            $ptr = 2;
            continue main;
        case 1:
            b: {
                $tmp = ji_BufferedReader_fillBuffer($this, var$2);
                if ($rt_suspending()) {
                    break main;
                }
                var$2 = $tmp;
                if (var$2)
                    while (true) {
                        var$3 = $this.$buffer6.data;
                        $ch = $this.$index7;
                        var$2 = $ch + 1 | 0;
                        $this.$index7 = var$2;
                        $ch = var$3[$ch];
                        if ($ch == 10)
                            break;
                        if ($ch == 13) {
                            if (var$2 >= $this.$count5) {
                                var$2 = 0;
                                $ptr = 3;
                                continue main;
                            }
                            var$3 = $this.$buffer6.data;
                            var$2 = $this.$index7;
                            if (var$3[var$2] != 10)
                                break b;
                            $this.$index7 = var$2 + 1 | 0;
                            break b;
                        }
                        jl_AbstractStringBuilder_append($line, $ch);
                        if ($this.$index7 < $this.$count5)
                            continue;
                        else {
                            var$2 = 0;
                            continue main;
                        }
                    }
            }
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString($line);
            if ($rt_suspending()) {
                break main;
            }
            $line = $tmp;
            return $line;
        case 3:
            $tmp = ji_BufferedReader_fillBuffer($this, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (var$2) {
                var$3 = $this.$buffer6.data;
                var$2 = $this.$index7;
                if (var$3[var$2] == 10)
                    $this.$index7 = var$2 + 1 | 0;
            }
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $line, var$2, var$3, $ch, $ptr);
    }
    function ji_BufferedReader_fillBuffer($this, $offset) {
        var var$2, var$3, var$4, var$5, $charsRead, var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$charsRead = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$offset = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$eof1)
                return 0;
            a: {
                while (true) {
                    var$2 = $this.$buffer6;
                    var$3 = var$2.data.length;
                    if ($offset >= var$3)
                        break a;
                    var$4 = $this.$innerReader;
                    var$5 = var$3 - $offset | 0;
                    if (var$4.$eof2 && !jn_Buffer_hasRemaining(var$4.$outBuffer))
                        $charsRead = (-1);
                    else {
                        $charsRead = 0;
                        if (var$5 > 0) {
                            var$3 = jl_Math_min(var$5, jn_Buffer_remaining(var$4.$outBuffer));
                            var$7 = var$4.$outBuffer;
                            var$8 = $offset + $charsRead | 0;
                            $ptr = 1;
                            continue main;
                        }
                    }
                    if ($charsRead == (-1)) {
                        $this.$eof1 = 1;
                        break a;
                    }
                    if (!$charsRead)
                        break;
                    $offset = $offset + $charsRead | 0;
                }
            }
            $this.$count5 = $offset;
            $this.$index7 = 0;
            $this.$mark6 = (-1);
            return 1;
        case 1:
            a: {
                jn_CharBuffer_get(var$7, var$2, var$8, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$5 = var$5 - var$3 | 0;
                $charsRead = $charsRead + var$3 | 0;
                if (!jn_Buffer_hasRemaining(var$4.$outBuffer)) {
                    if (!var$4.$eof2) {
                        var$7 = var$4.$outBuffer;
                        if (var$7.$readOnly0) {
                            var$7 = new jn_ReadOnlyBufferException;
                            jl_Throwable__init_0(var$7);
                            $rt_throw(var$7);
                        }
                        b: {
                            var$8 = jn_Buffer_remaining(var$7);
                            var$9 = var$7.$position;
                            if (var$9 > 0) {
                                var$10 = 0;
                                while (true) {
                                    if (var$10 >= var$8)
                                        break b;
                                    var$3 = var$9 + 1 | 0;
                                    jn_CharBufferOverArray_putChar(var$7, var$10, jn_CharBufferOverArray_getChar(var$7, var$9));
                                    var$10 = var$10 + 1 | 0;
                                    var$9 = var$3;
                                }
                            }
                        }
                        var$7.$position = var$8;
                        var$7.$limit = var$7.$capacity;
                        var$7.$mark4 = (-1);
                        if (!jn_Buffer_hasRemaining(var$4.$inBuffer)) {
                            $ptr = 3;
                            continue main;
                        }
                        var$7 = var$4.$decoder;
                        var$11 = var$4.$inBuffer;
                        var$12 = var$4.$outBuffer;
                        var$3 = var$4.$streamEof;
                        $ptr = 2;
                        continue main;
                    }
                    if (!0)
                        break a;
                }
                if (var$5 > 0) {
                    var$7 = var$4.$outBuffer;
                    var$3 = jn_Buffer_remaining(var$7);
                    var$3 = jl_Math_min(var$5, var$3);
                    var$7 = var$4.$outBuffer;
                    var$8 = $offset + $charsRead | 0;
                    continue main;
                }
            }
            c: {
                d: while (true) {
                    while (true) {
                        if ($charsRead == (-1)) {
                            $this.$eof1 = 1;
                            break c;
                        }
                        if (!$charsRead)
                            break d;
                        $offset = $offset + $charsRead | 0;
                        var$2 = $this.$buffer6;
                        var$3 = var$2.data.length;
                        if ($offset >= var$3)
                            break c;
                        var$4 = $this.$innerReader;
                        var$5 = var$3 - $offset | 0;
                        if (!var$4.$eof2)
                            break;
                        if (jn_Buffer_hasRemaining(var$4.$outBuffer))
                            break;
                        $charsRead = (-1);
                    }
                    $charsRead = 0;
                    if (var$5 > 0) {
                        var$7 = var$4.$outBuffer;
                        var$3 = jn_Buffer_remaining(var$7);
                        var$3 = jl_Math_min(var$5, var$3);
                        var$7 = var$4.$outBuffer;
                        var$8 = $offset + $charsRead | 0;
                        continue main;
                    }
                }
            }
            $this.$count5 = $offset;
            $this.$index7 = 0;
            $this.$mark6 = (-1);
            return 1;
        case 2:
            $tmp = jnc_CharsetDecoder_decode0(var$7, var$11, var$12, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (!jnc_CoderResult_isOverflow(var$7)) {
                if (jnc_CoderResult_isUnderflow(var$7)) {
                    $ptr = 4;
                    continue main;
                }
                if (!jn_Buffer_hasRemaining(var$4.$inBuffer)) {
                    $ptr = 3;
                    continue main;
                }
                var$7 = var$4.$decoder;
                var$11 = var$4.$inBuffer;
                var$12 = var$4.$outBuffer;
                var$3 = var$4.$streamEof;
                continue main;
            }
            if (!jn_Buffer_hasRemaining(var$4.$inBuffer) && var$4.$streamEof && jnc_CoderResult_isUnderflow(jnc_CharsetDecoder_flush(var$4.$decoder, var$4.$outBuffer)))
                var$4.$eof2 = 1;
            jn_Buffer_flip(var$4.$outBuffer);
            if (1 && var$5 > 0) {
                var$7 = var$4.$outBuffer;
                var$3 = jn_Buffer_remaining(var$7);
                var$3 = jl_Math_min(var$5, var$3);
                var$7 = var$4.$outBuffer;
                var$8 = $offset + $charsRead | 0;
                $ptr = 1;
                continue main;
            }
            e: {
                f: while (true) {
                    while (true) {
                        if ($charsRead == (-1)) {
                            $this.$eof1 = 1;
                            break e;
                        }
                        if (!$charsRead)
                            break f;
                        $offset = $offset + $charsRead | 0;
                        var$2 = $this.$buffer6;
                        var$3 = var$2.data.length;
                        if ($offset >= var$3)
                            break e;
                        var$4 = $this.$innerReader;
                        var$5 = var$3 - $offset | 0;
                        if (!var$4.$eof2)
                            break;
                        if (jn_Buffer_hasRemaining(var$4.$outBuffer))
                            break;
                        $charsRead = (-1);
                    }
                    $charsRead = 0;
                    if (var$5 > 0) {
                        var$7 = var$4.$outBuffer;
                        var$3 = jn_Buffer_remaining(var$7);
                        var$3 = jl_Math_min(var$5, var$3);
                        var$7 = var$4.$outBuffer;
                        var$8 = $offset + $charsRead | 0;
                        $ptr = 1;
                        continue main;
                    }
                }
            }
            $this.$count5 = $offset;
            $this.$index7 = 0;
            $this.$mark6 = (-1);
            return 1;
        case 3:
            $tmp = ji_InputStreamReader_fillReadBuffer(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3) {
                var$7 = var$4.$decoder;
                var$11 = var$4.$inBuffer;
                var$12 = var$4.$outBuffer;
                var$3 = var$4.$streamEof;
                $ptr = 2;
                continue main;
            }
            if (!jn_Buffer_hasRemaining(var$4.$inBuffer) && var$4.$streamEof && jnc_CoderResult_isUnderflow(jnc_CharsetDecoder_flush(var$4.$decoder, var$4.$outBuffer)))
                var$4.$eof2 = 1;
            jn_Buffer_flip(var$4.$outBuffer);
            if (1 && var$5 > 0) {
                var$7 = var$4.$outBuffer;
                var$3 = jn_Buffer_remaining(var$7);
                var$3 = jl_Math_min(var$5, var$3);
                var$7 = var$4.$outBuffer;
                var$8 = $offset + $charsRead | 0;
                $ptr = 1;
                continue main;
            }
            g: {
                e: while (true) {
                    while (true) {
                        if ($charsRead == (-1)) {
                            $this.$eof1 = 1;
                            break g;
                        }
                        if (!$charsRead)
                            break e;
                        $offset = $offset + $charsRead | 0;
                        var$2 = $this.$buffer6;
                        var$3 = var$2.data.length;
                        if ($offset >= var$3)
                            break g;
                        var$4 = $this.$innerReader;
                        var$5 = var$3 - $offset | 0;
                        if (!var$4.$eof2)
                            break;
                        if (jn_Buffer_hasRemaining(var$4.$outBuffer))
                            break;
                        $charsRead = (-1);
                    }
                    $charsRead = 0;
                    if (var$5 > 0) {
                        var$7 = var$4.$outBuffer;
                        var$3 = jn_Buffer_remaining(var$7);
                        var$3 = jl_Math_min(var$5, var$3);
                        var$7 = var$4.$outBuffer;
                        var$8 = $offset + $charsRead | 0;
                        $ptr = 1;
                        continue main;
                    }
                }
            }
            $this.$count5 = $offset;
            $this.$index7 = 0;
            $this.$mark6 = (-1);
            return 1;
        case 4:
            ji_InputStreamReader_fillReadBuffer(var$4);
            if ($rt_suspending()) {
                break main;
            }
            if (!jn_Buffer_hasRemaining(var$4.$inBuffer)) {
                $ptr = 3;
                continue main;
            }
            var$7 = var$4.$decoder;
            var$11 = var$4.$inBuffer;
            var$12 = var$4.$outBuffer;
            var$3 = var$4.$streamEof;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $offset, var$2, var$3, var$4, var$5, $charsRead, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function ji_BufferedReader_requireOpened($this) {
        var var$1;
        if ($this.$innerReader !== null)
            return;
        var$1 = new ji_IOException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    function ji_InputStreamReader() {
        var a = this; ji_Reader.call(a);
        a.$stream = null;
        a.$decoder = null;
        a.$inData = null;
        a.$inBuffer = null;
        a.$outData = null;
        a.$outBuffer = null;
        a.$streamEof = 0;
        a.$eof2 = 0;
    }
    function ji_InputStreamReader__init_3(var_0, var_1) {
        var var_2 = new ji_InputStreamReader();
        ji_InputStreamReader__init_1(var_2, var_0, var_1);
        return var_2;
    }
    function ji_InputStreamReader__init_4(var_0, var_1) {
        var var_2 = new ji_InputStreamReader();
        ji_InputStreamReader__init_(var_2, var_0, var_1);
        return var_2;
    }
    function ji_InputStreamReader__init_5(var_0) {
        var var_1 = new ji_InputStreamReader();
        ji_InputStreamReader__init_2(var_1, var_0);
        return var_1;
    }
    function ji_InputStreamReader__init_1($this, $in, $charsetName) {
        var var$3, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$charsetName = $thread.pop();$in = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            try {
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jnc_UnsupportedCharsetException) {
                } else {
                    throw $$e;
                }
            }
            $in = new ji_UnsupportedEncodingException;
            jl_Throwable__init_($in, $charsetName);
            $rt_throw($in);
        case 1:
            try {
                $tmp = jl_String_toString($charsetName);
                if ($rt_suspending()) {
                    break main;
                }
                var$3 = $tmp;
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jnc_UnsupportedCharsetException) {
                } else {
                    throw $$e;
                }
            }
            $in = new ji_UnsupportedEncodingException;
            jl_Throwable__init_($in, $charsetName);
            $rt_throw($in);
        case 2:
            a: {
                try {
                    $tmp = jnc_Charset_forName(var$3);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$3 = $tmp;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jnc_UnsupportedCharsetException) {
                    } else {
                        throw $$e;
                    }
                }
                $in = new ji_UnsupportedEncodingException;
                jl_Throwable__init_($in, $charsetName);
                $rt_throw($in);
            }
            $ptr = 3;
        case 3:
            ji_InputStreamReader__init_($this, $in, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $in, $charsetName, var$3, $ptr);
    }
    function ji_InputStreamReader__init_($this, $in, $charset) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$charset = $thread.pop();$in = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $charset.$newDecoder();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jnc_CodingErrorAction_$callClinit();
            $charset = jnc_CharsetDecoder_onUnmappableCharacter(jnc_CharsetDecoder_onMalformedInput(var$3, jnc_CodingErrorAction_REPLACE), jnc_CodingErrorAction_REPLACE);
            ji_Reader__init_($this);
            var$4 = $rt_createByteArray(8192);
            $this.$inData = var$4;
            $this.$inBuffer = jn_ByteBuffer_wrap0(var$4);
            var$4 = $rt_createCharArray(1024);
            $this.$outData = var$4;
            var$3 = jn_CharBuffer_wrap(var$4);
            $this.$outBuffer = var$3;
            $this.$stream = $in;
            $this.$decoder = $charset;
            var$5 = var$3.$limit;
            $ptr = 2;
        case 2:
            jn_Buffer_position0(var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $in = $this.$inBuffer;
            var$5 = $in.$limit;
            $ptr = 3;
        case 3:
            jn_Buffer_position0($in, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $in, $charset, var$3, var$4, var$5, $ptr);
    }
    function ji_InputStreamReader__init_2($this, $in) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$in = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            jnci_UTF8Charset_$callClinit();
            var$2 = jnci_UTF8Charset_INSTANCE;
            $ptr = 1;
        case 1:
            ji_InputStreamReader__init_($this, $in, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $in, var$2, $ptr);
    }
    function ji_InputStreamReader_fillReadBuffer($this) {
        var var$1, var$2, $bytesRead, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$bytesRead = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$streamEof)
                return 0;
            var$1 = $this.$inBuffer;
            if (var$1.$readOnly) {
                var$1 = new jn_ReadOnlyBufferException;
                jl_Throwable__init_0(var$1);
                $rt_throw(var$1);
            }
            a: {
                var$2 = jn_Buffer_remaining(var$1);
                $bytesRead = var$1.$position;
                if ($bytesRead > 0) {
                    var$4 = var$1.$start3;
                    var$5 = var$4 + $bytesRead | 0;
                    var$6 = 0;
                    while (true) {
                        if (var$6 >= var$2)
                            break a;
                        var$7 = var$1.$array0.data;
                        var$8 = var$4 + 1 | 0;
                        $bytesRead = var$5 + 1 | 0;
                        var$7[var$4] = var$7[var$5];
                        var$6 = var$6 + 1 | 0;
                        var$4 = var$8;
                        var$5 = $bytesRead;
                    }
                }
            }
            var$1.$position = var$2;
            var$1.$limit = var$1.$capacity;
            var$1.$mark4 = (-1);
            if (!jn_Buffer_hasRemaining($this.$inBuffer)) {
                jn_Buffer_flip($this.$inBuffer);
                return 1;
            }
            var$1 = $this.$stream;
            var$9 = $this.$inBuffer;
            var$7 = var$9.$array0;
            var$2 = var$9.$position;
            $bytesRead = jn_Buffer_remaining(var$9);
            $ptr = 1;
        case 1:
            $tmp = var$1.$read(var$7, var$2, $bytesRead);
            if ($rt_suspending()) {
                break main;
            }
            $bytesRead = $tmp;
            if ($bytesRead == (-1)) {
                $this.$streamEof = 1;
                jn_Buffer_flip($this.$inBuffer);
                return 1;
            }
            var$1 = $this.$inBuffer;
            var$2 = var$1.$position + $bytesRead | 0;
            $ptr = 2;
        case 2:
            jn_Buffer_position0(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            if ($bytesRead && jn_Buffer_hasRemaining($this.$inBuffer)) {
                var$1 = $this.$stream;
                var$9 = $this.$inBuffer;
                var$7 = var$9.$array0;
                var$2 = var$9.$position;
                $bytesRead = jn_Buffer_remaining(var$9);
                $ptr = 1;
                continue main;
            }
            jn_Buffer_flip($this.$inBuffer);
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $bytesRead, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function ju_GenericEnumSet$1() {
        var a = this; jl_Object.call(a);
        a.$index8 = 0;
        a.$indexToRemove = 0;
        a.$count2 = 0;
        a.$this$05 = null;
    }
    function ju_GenericEnumSet$1_hasNext($this) {
        return $this.$count2 <= 0 ? 0 : 1;
    }
    function ju_GenericEnumSet$1_next($this) {
        var var$1, var$2, var$3, var$4;
        if (!$this.$count2) {
            var$1 = new ju_NoSuchElementException;
            jl_Throwable__init_0(var$1);
            $rt_throw(var$1);
        }
        $this.$indexToRemove = $this.$index8;
        while (true) {
            var$2 = $this.$this$05.$bits.data;
            var$3 = $this.$index8;
            var$4 = jl_Integer_numberOfTrailingZeros(var$2[var$3 / 32 | 0] >>> (var$3 % 32 | 0) | 0);
            if (var$4 < 32)
                break;
            $this.$index8 = (($this.$index8 / 32 | 0) + 1 | 0) * 32 | 0;
        }
        $this.$index8 = $this.$index8 + var$4 | 0;
        $this.$count2 = $this.$count2 - 1 | 0;
        var$2 = (ju_GenericEnumSet_getConstants($this.$this$05.$cls)).data;
        var$3 = $this.$index8;
        $this.$index8 = var$3 + 1 | 0;
        return var$2[var$3];
    }
    var jur_BackReferencedSingleSet = $rt_classWithoutFields(jur_SingleSet);
    function jur_BackReferencedSingleSet_find($this, $startSearch, $testString, $matchResult) {
        var $lastIndex, $saveStart, var$6, $res, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$res = $thread.pop();var$6 = $thread.pop();$saveStart = $thread.pop();$lastIndex = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$startSearch = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $lastIndex = $matchResult.$rightBound0;
            if ($startSearch > $lastIndex) {
                $startSearch = 0;
                return $startSearch;
            }
            $saveStart = jur_MatchResultImpl_getStart($matchResult, $this.$groupIndex0);
            jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $startSearch);
            var$6 = $this.$kid;
            $ptr = 1;
        case 1:
            $tmp = var$6.$matches0($startSearch, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $res = $tmp;
            if ($res < 0) {
                jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $saveStart);
                $startSearch = $startSearch + 1 | 0;
                if ($startSearch <= $lastIndex) {
                    $saveStart = jur_MatchResultImpl_getStart($matchResult, $this.$groupIndex0);
                    jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $startSearch);
                    var$6 = $this.$kid;
                    continue main;
                }
                $startSearch = $res;
            }
            return $startSearch;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $startSearch, $testString, $matchResult, $lastIndex, $saveStart, var$6, $res, $ptr);
    }
    function jur_BackReferencedSingleSet_findBack($this, $stringIndex, $startSearch, $testString, $matchResult) {
        var $saveStart, var$6, $res, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$res = $thread.pop();var$6 = $thread.pop();$saveStart = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$startSearch = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($startSearch < $stringIndex) {
                $startSearch = 0;
                return $startSearch;
            }
            $saveStart = jur_MatchResultImpl_getStart($matchResult, $this.$groupIndex0);
            jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $startSearch);
            var$6 = $this.$kid;
            $ptr = 1;
        case 1:
            $tmp = var$6.$matches0($startSearch, $testString, $matchResult);
            if ($rt_suspending()) {
                break main;
            }
            $res = $tmp;
            if ($res < 0) {
                jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $saveStart);
                $startSearch = $startSearch + (-1) | 0;
                if ($startSearch >= $stringIndex) {
                    $saveStart = jur_MatchResultImpl_getStart($matchResult, $this.$groupIndex0);
                    jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $startSearch);
                    var$6 = $this.$kid;
                    continue main;
                }
                $startSearch = $res;
            }
            return $startSearch;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $stringIndex, $startSearch, $testString, $matchResult, $saveStart, var$6, $res, $ptr);
    }
    function jur_BackReferencedSingleSet_processBackRefReplacement($this) {
        return null;
    }
    function ju_HashMap$2() {
        ju_AbstractCollection.call(this);
        this.$this$00 = null;
    }
    function ju_HashMap$2_contains($this, $object) {
        var var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$object = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                b: {
                    var$2 = $this.$this$00;
                    if ($object === null) {
                        var$3 = 0;
                        c: while (true) {
                            var$4 = var$2.$elementData.data;
                            if (var$3 >= var$4.length)
                                break b;
                            $object = var$4[var$3];
                            while ($object !== null) {
                                if ($object.$value2 === null)
                                    break c;
                                $object = $object.$next1;
                            }
                            var$3 = var$3 + 1 | 0;
                        }
                        var$3 = 1;
                        break a;
                    }
                    var$3 = 0;
                    while (true) {
                        var$4 = var$2.$elementData.data;
                        if (var$3 >= var$4.length)
                            break;
                        var$5 = var$4[var$3];
                        if (var$5 !== null) {
                            var$6 = var$5.$value2;
                            $ptr = 1;
                            continue main;
                        }
                        var$3 = var$3 + 1 | 0;
                    }
                }
                var$3 = 0;
            }
            return var$3;
        case 1:
            $tmp = $object.$equals(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7)
                var$3 = 1;
            else {
                var$5 = var$5.$next1;
                while (true) {
                    if (var$5 !== null) {
                        var$6 = var$5.$value2;
                        continue main;
                    }
                    var$3 = var$3 + 1 | 0;
                    var$4 = var$2.$elementData.data;
                    if (var$3 >= var$4.length)
                        break;
                    var$5 = var$4[var$3];
                }
                var$3 = 0;
            }
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $object, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function ju_HashMap$2_iterator($this) {
        var var$1;
        var$1 = new ju_HashMap$ValueIterator;
        ju_HashMap$AbstractMapIterator__init_(var$1, $this.$this$00);
        return var$1;
    }
    function nleit_TeaVMClientConfigAdapterHooks$callCrashReportHook$lambda$_4_0() {
        var a = this; jl_Object.call(a);
        a.$_016 = null;
        a.$_19 = null;
        a.$_23 = null;
    }
    function nleit_TeaVMClientConfigAdapterHooks$callCrashReportHook$lambda$_4_0_run(var$0) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = var$0.$_016;
            var$2 = var$0.$_19;
            var$3 = var$0.$_23;
            var$1 = var$1.$crashHook;
            var$4 = new nleit_TeaVMClientConfigAdapterHooks$lambda$callCrashReportHook$4$lambda$_14_0;
            var$4.$_029 = var$3;
            var$1.call($rt_ustr(var$2), otji_JS_function(var$4, "call"));
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, $ptr);
    }
    var juf_Supplier = $rt_classWithoutFields(0);
    function nleit_TeaVMClientConfigAdapterHooks$callLocalStorageLoadHook$lambda$_2_0() {
        var a = this; jl_Object.call(a);
        a.$_08 = null;
        a.$_14 = null;
    }
    function nleit_TeaVMClientConfigAdapterHooks$callLocalStorageLoadHook$lambda$_2_0_get(var$0) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = var$0.$_08;
            var$2 = var$0.$_14;
            return $rt_str(var$1.$loadHook.call($rt_ustr(var$2)));
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    function nleit_TeaVMClientConfigAdapterHooks$callLocalStorageSavedHook$lambda$_1_0() {
        var a = this; jl_Object.call(a);
        a.$_07 = null;
        a.$_13 = null;
        a.$_21 = null;
    }
    function nleit_TeaVMClientConfigAdapterHooks$callLocalStorageSavedHook$lambda$_1_0_run(var$0) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = var$0.$_07;
            var$2 = var$0.$_13;
            var$3 = var$0.$_21;
            var$1.$saveHook.call($rt_ustr(var$2), $rt_ustr(var$3));
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, $ptr);
    }
    var jl_ArithmeticException = $rt_classWithoutFields(jl_RuntimeException);
    function jl_ArithmeticException__init_0() {
        var var_0 = new jl_ArithmeticException();
        jl_ArithmeticException__init_(var_0);
        return var_0;
    }
    function jl_ArithmeticException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function nleo_VertexFormat() {
        var a = this; jl_Object.call(a);
        a.$attribPositionEnabled = 0;
        a.$attribPositionIndex = 0;
        a.$attribPositionOffset = 0;
        a.$attribPositionFormat = 0;
        a.$attribPositionNormalized = 0;
        a.$attribPositionSize = 0;
        a.$attribPositionStride = 0;
        a.$attribTextureEnabled = 0;
        a.$attribTextureIndex0 = 0;
        a.$attribTextureOffset0 = 0;
        a.$attribTextureFormat = 0;
        a.$attribTextureNormalized = 0;
        a.$attribTextureSize = 0;
        a.$attribTextureStride = 0;
        a.$attribColorEnabled = 0;
        a.$attribColorIndex0 = 0;
        a.$attribColorOffset0 = 0;
        a.$attribColorFormat = 0;
        a.$attribColorNormalized = 0;
        a.$attribColorSize = 0;
        a.$attribColorStride = 0;
        a.$attribNormalEnabled = 0;
        a.$attribNormalIndex0 = 0;
        a.$attribNormalOffset0 = 0;
        a.$attribNormalFormat = 0;
        a.$attribNormalNormalized = 0;
        a.$attribNormalSize = 0;
        a.$attribNormalStride = 0;
        a.$attribLightmapEnabled = 0;
        a.$attribLightmapIndex0 = 0;
        a.$attribLightmapOffset0 = 0;
        a.$attribLightmapFormat = 0;
        a.$attribLightmapNormalized = 0;
        a.$attribLightmapSize = 0;
        a.$attribLightmapStride = 0;
        a.$attribCount = 0;
        a.$attribStride0 = 0;
        a.$eaglercraftAttribBits = 0;
    }
    var nleo_VertexFormat_stateCache = null;
    var nleo_VertexFormat_bitfield = 0;
    function nleo_VertexFormat__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new nleo_VertexFormat();
        nleo_VertexFormat__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nleo_VertexFormat__init_($this, $texture, $color, $normal, $lightmap) {
        var $bitfield, var$6, var$7, $index;
        $bitfield = 0;
        $this.$attribPositionEnabled = 1;
        var$6 = 1;
        $this.$attribPositionIndex = 0;
        $this.$attribPositionOffset = 0;
        $this.$attribPositionFormat = 5126;
        $this.$attribPositionNormalized = 0;
        $this.$attribPositionSize = 3;
        var$7 = 12;
        if (!$color) {
            $this.$attribColorEnabled = 0;
            $this.$attribColorIndex0 = (-1);
            $this.$attribColorOffset0 = (-1);
            $this.$attribColorFormat = (-1);
            $this.$attribColorNormalized = 0;
            $this.$attribColorSize = (-1);
        } else {
            $this.$attribColorEnabled = 1;
            $this.$attribColorIndex0 = var$6;
            $this.$attribColorOffset0 = var$7;
            $this.$attribColorFormat = 5121;
            $this.$attribColorNormalized = 1;
            $this.$attribColorSize = 4;
            var$7 = 16;
            $bitfield = 2;
            var$6 = 2;
        }
        if (!$texture) {
            $this.$attribTextureEnabled = 0;
            $this.$attribTextureIndex0 = (-1);
            $this.$attribTextureOffset0 = (-1);
            $this.$attribTextureFormat = (-1);
            $this.$attribTextureNormalized = 0;
            $this.$attribTextureSize = (-1);
        } else {
            $this.$attribTextureEnabled = 1;
            $index = var$6 + 1 | 0;
            $this.$attribTextureIndex0 = var$6;
            $this.$attribTextureOffset0 = var$7;
            $this.$attribTextureFormat = 5126;
            $this.$attribTextureNormalized = 0;
            $this.$attribTextureSize = 2;
            var$7 = var$7 + 8 | 0;
            $bitfield = $bitfield | 1;
            var$6 = $index;
        }
        if (!$normal) {
            $this.$attribNormalEnabled = 0;
            $this.$attribNormalIndex0 = (-1);
            $this.$attribNormalOffset0 = (-1);
            $this.$attribNormalFormat = (-1);
            $this.$attribNormalNormalized = 0;
            $this.$attribNormalSize = (-1);
        } else {
            $this.$attribNormalEnabled = 1;
            $index = var$6 + 1 | 0;
            $this.$attribNormalIndex0 = var$6;
            $this.$attribNormalOffset0 = var$7;
            $this.$attribNormalFormat = 5120;
            $this.$attribNormalNormalized = 1;
            $this.$attribNormalSize = 4;
            var$7 = var$7 + 4 | 0;
            $bitfield = $bitfield | 4;
            var$6 = $index;
        }
        if (!$lightmap) {
            $this.$attribLightmapEnabled = 0;
            $this.$attribLightmapIndex0 = (-1);
            $this.$attribLightmapOffset0 = (-1);
            $this.$attribLightmapFormat = (-1);
            $this.$attribLightmapNormalized = 0;
            $this.$attribLightmapSize = (-1);
        } else {
            $this.$attribLightmapEnabled = 1;
            $index = var$6 + 1 | 0;
            $this.$attribLightmapIndex0 = var$6;
            $this.$attribLightmapOffset0 = var$7;
            $this.$attribLightmapFormat = 5123;
            $this.$attribLightmapNormalized = 0;
            $this.$attribLightmapSize = 2;
            var$7 = var$7 + 4 | 0;
            $bitfield = $bitfield | 8;
            var$6 = $index;
        }
        $this.$attribCount = var$6;
        $this.$attribPositionStride = var$7;
        $this.$attribStride0 = var$7;
        $this.$attribColorStride = !$color ? (-1) : var$7;
        $this.$attribTextureStride = !$texture ? (-1) : var$7;
        $this.$attribNormalStride = !$normal ? (-1) : var$7;
        if (!$lightmap)
            var$7 = (-1);
        $this.$attribLightmapStride = var$7;
        $this.$eaglercraftAttribBits = $bitfield;
        nleo_VertexFormat_stateCache.data[$bitfield] = $this;
    }
    function nleo_VertexFormat_createVertexFormat($texture, $color, $normal) {
        var $format;
        nleo_VertexFormat_bitfield = 0;
        if ($color)
            nleo_VertexFormat_bitfield = 2;
        if ($texture)
            nleo_VertexFormat_bitfield = nleo_VertexFormat_bitfield | 1;
        if ($normal)
            nleo_VertexFormat_bitfield = nleo_VertexFormat_bitfield | 4;
        $format = nleo_VertexFormat_stateCache.data[nleo_VertexFormat_bitfield];
        if ($format !== null)
            return $format;
        return nleo_VertexFormat__init_0($texture, $color, $normal, 0);
    }
    function nleo_VertexFormat__clinit_() {
        nleo_VertexFormat_stateCache = $rt_createArray(nleo_VertexFormat, 32);
    }
    var nleo_WorldVertexBufferUploader = $rt_classWithoutFields();
    function nleo_WorldVertexBufferUploader__init_0() {
        var var_0 = new nleo_WorldVertexBufferUploader();
        nleo_WorldVertexBufferUploader__init_(var_0);
        return var_0;
    }
    function nleo_WorldVertexBufferUploader__init_($this) {}
    function nleo_WorldVertexBufferUploader_func_181679_a($parWorldRenderer) {
        var $cunt, $fmt, $buf, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$buf = $thread.pop();$fmt = $thread.pop();$cunt = $thread.pop();$parWorldRenderer = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $cunt = $parWorldRenderer.$vertexCount;
            if ($cunt <= 0)
                return;
            $fmt = $parWorldRenderer.$vertexFormat;
            $buf = $parWorldRenderer.$byteBuffer;
            var$5 = 0;
            $ptr = 1;
        case 1:
            $tmp = nleib_EaglerArrayByteBuffer_position($buf, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$5 = $rt_imul($cunt, $fmt.$attribStride0);
            $ptr = 2;
        case 2:
            nleib_EaglerArrayByteBuffer_limit(var$6, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $fmt.$eaglercraftAttribBits;
            var$7 = $parWorldRenderer.$drawMode;
            $ptr = 3;
        case 3:
            nleo_EaglercraftGPU_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nleo_EaglercraftGPU_currentList;
            if (var$6 === null) {
                $ptr = 4;
                continue main;
            }
            var$8 = var$6.$attribs;
            if (var$8 == (-1))
                var$6.$attribs = var$5;
            else if (var$8 != var$5)
                $rt_throw(jl_UnsupportedOperationException__init_2($rt_s(1653)));
            var$5 = var$6.$mode;
            if (var$5 == (-1))
                var$6.$mode = var$7;
            else if (var$5 != var$7)
                $rt_throw(jl_UnsupportedOperationException__init_2($rt_s(1654)));
            var$6.$count1 = var$6.$count1 + $cunt | 0;
            if (nleib_EaglerArrayByteBuffer_remaining($buf) > nleib_EaglerArrayByteBuffer_remaining(nleo_EaglercraftGPU_displayListBuffer)) {
                var$5 = nleib_EaglerArrayByteBuffer_remaining($buf);
                var$6 = nleo_EaglercraftGPU_displayListBuffer;
                var$5 = var$6.$position2 + var$5 | 0;
                if (var$6.$capacity1 < var$5) {
                    var$5 = (var$5 & (-131072)) + 262144 | 0;
                    $ptr = 28;
                    continue main;
                }
            }
            var$6 = nleo_EaglercraftGPU_displayListBuffer;
            $ptr = 23;
            continue main;
        case 4:
            nleo_FixedFunctionPipeline_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = nleo_FixedFunctionPipeline_getFragmentState();
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            var$5 = var$5 | var$8;
            $ptr = 6;
        case 6:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nleo_GlStateManager_stateUseExtensionPipeline) {
                $ptr = 7;
                continue main;
            }
            var$6 = nleo_FixedFunctionPipeline_extensionProvider;
            if (var$6 === null) {
                var$6 = new jl_IllegalStateException;
                jl_Throwable__init_(var$6, $rt_s(301));
                $rt_throw(var$6);
            }
            var$8 = var$6.$getCurrentExtensionStateBits(var$5);
            $ptr = 8;
            continue main;
        case 7:
            $tmp = nleo_FixedFunctionPipeline_getPipelineInstanceCore(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$9 = var$6.$streamBuffer;
            var$10 = nleib_EaglerArrayByteBuffer_remaining($buf);
            var$11 = var$9.$buffers.data;
            var$5 = var$9.$currentBufferId;
            var$9.$currentBufferId = var$5 + 1 | 0;
            var$12 = var$11[var$5 % var$11.length | 0];
            var$13 = var$12.$poolInstance;
            if (var$13.$vertexBuffer0 === null) {
                $ptr = 9;
                continue main;
            }
            if (var$13.$vertexBufferSize >= var$10) {
                if (var$12.$vertexArray0 === null) {
                    $ptr = 18;
                    continue main;
                }
                var$6.$currentVertexArray = var$12;
                $fmt = var$12.$vertexArray0;
                $ptr = 12;
                continue main;
            }
            var$8 = (var$10 & (-4096)) + 8192 | 0;
            $fmt = var$13.$vertexBuffer0;
            $ptr = 10;
            continue main;
        case 8:
            $tmp = nleo_FixedFunctionPipeline_getPipelineInstanceExt(var$5, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$9 = var$6.$streamBuffer;
            var$10 = nleib_EaglerArrayByteBuffer_remaining($buf);
            var$11 = var$9.$buffers.data;
            var$5 = var$9.$currentBufferId;
            var$9.$currentBufferId = var$5 + 1 | 0;
            var$12 = var$11[var$5 % var$11.length | 0];
            var$13 = var$12.$poolInstance;
            if (var$13.$vertexBuffer0 === null) {
                $ptr = 9;
                continue main;
            }
            if (var$13.$vertexBufferSize >= var$10) {
                if (var$12.$vertexArray0 === null) {
                    $ptr = 18;
                    continue main;
                }
                var$6.$currentVertexArray = var$12;
                $fmt = var$12.$vertexArray0;
                $ptr = 12;
                continue main;
            }
            var$8 = (var$10 & (-4096)) + 8192 | 0;
            $fmt = var$13.$vertexBuffer0;
            $ptr = 10;
            continue main;
        case 9:
            $tmp = nlei_PlatformOpenGL__wglGenBuffers();
            if ($rt_suspending()) {
                break main;
            }
            $fmt = $tmp;
            var$13.$vertexBuffer0 = $fmt;
            if (var$13.$vertexBufferSize >= var$10) {
                if (var$12.$vertexArray0 === null) {
                    $ptr = 18;
                    continue main;
                }
                var$6.$currentVertexArray = var$12;
                $fmt = var$12.$vertexArray0;
                $ptr = 12;
                continue main;
            }
            var$8 = (var$10 & (-4096)) + 8192 | 0;
            $fmt = var$13.$vertexBuffer0;
            $ptr = 10;
        case 10:
            nleo_EaglercraftGPU_bindGLArrayBuffer($fmt);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = 34962;
            var$5 = 35040;
            $ptr = 11;
        case 11:
            nlei_PlatformOpenGL__wglBufferData2(var$10, var$8, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$13.$vertexBufferSize = var$8;
            if (var$12.$vertexArray0 === null) {
                $ptr = 18;
                continue main;
            }
            var$6.$currentVertexArray = var$12;
            $fmt = var$12.$vertexArray0;
            $ptr = 12;
        case 12:
            nleo_EaglercraftGPU_bindGLVertexArray($fmt);
            if ($rt_suspending()) {
                break main;
            }
            $fmt = var$12.$poolInstance.$vertexBuffer0;
            $ptr = 13;
        case 13:
            nleo_EaglercraftGPU_bindGLArrayBuffer($fmt);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 34962;
            var$8 = 0;
            $ptr = 14;
        case 14:
            nlei_PlatformOpenGL_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $fmt = nlei_PlatformOpenGL_ctx;
            $ptr = 15;
        case 15:
            $tmp = nleib_EaglerArrayBufferAllocator_getDataView8($buf);
            if ($rt_suspending()) {
                break main;
            }
            $buf = $tmp;
            $fmt.bufferSubData(var$5, var$8, $buf);
            $ptr = 16;
        case 16:
            $tmp = nleo_FixedFunctionPipeline_update(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            nleo_EaglercraftGPU_lastRender = var$6;
            var$5 = 0;
            $fmt = var$6.$shaderProgram;
            $ptr = 17;
        case 17:
            nleo_EaglercraftGPU_bindGLShaderProgram($fmt);
            if ($rt_suspending()) {
                break main;
            }
            if (var$7 != 7) {
                $ptr = 24;
                continue main;
            }
            var$6 = var$6.$currentVertexArray;
            if ($cunt <= 65535) {
                if (var$6.$bindQuad160) {
                    var$5 = 0;
                    $ptr = 33;
                    continue main;
                }
                var$6.$bindQuad160 = 1;
                var$6.$bindQuad320 = 0;
                var$5 = 1;
                $ptr = 34;
                continue main;
            }
            if (var$6.$bindQuad320) {
                var$5 = 0;
                $ptr = 35;
                continue main;
            }
            var$6.$bindQuad160 = 0;
            var$6.$bindQuad320 = 1;
            var$5 = 1;
            $ptr = 36;
            continue main;
        case 18:
            $tmp = nleo_EaglercraftGPU_createGLVertexArray();
            if ($rt_suspending()) {
                break main;
            }
            $fmt = $tmp;
            var$12.$vertexArray0 = $fmt;
            var$13 = var$9.$initializer;
            var$9 = var$12.$poolInstance.$vertexBuffer0;
            var$13 = var$13.$_030;
            $ptr = 19;
        case 19:
            nleo_EaglercraftGPU_bindGLVertexArray($fmt);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 20;
        case 20:
            nleo_EaglercraftGPU_bindVAOGLArrayBuffer(var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 0;
            $ptr = 21;
        case 21:
            nleo_EaglercraftGPU_enableVertexAttribArray(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0;
            var$5 = 3;
            var$8 = 5126;
            var$10 = 0;
            var$15 = var$13.$attribStride;
            var$16 = 0;
            $ptr = 22;
        case 22:
            nleo_EaglercraftGPU_vertexAttribPointer(var$14, var$5, var$8, var$10, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = var$13.$attribTextureIndex;
            if (var$5 != (-1)) {
                $ptr = 25;
                continue main;
            }
            var$5 = var$13.$attribColorIndex;
            if (var$5 != (-1)) {
                $ptr = 31;
                continue main;
            }
            var$5 = var$13.$attribNormalIndex;
            if (var$5 != (-1)) {
                $ptr = 37;
                continue main;
            }
            var$5 = var$13.$attribLightmapIndex;
            if (var$5 != (-1)) {
                $ptr = 41;
                continue main;
            }
            var$6.$currentVertexArray = var$12;
            $fmt = var$12.$vertexArray0;
            $ptr = 12;
            continue main;
        case 23:
            nleib_EaglerArrayByteBuffer_put0(var$6, $buf);
            if ($rt_suspending()) {
                break main;
            }
            nleo_EaglercraftGPU_lastRender = null;
            $ptr = 27;
            continue main;
        case 24:
            nleo_EaglercraftGPU_drawArrays(var$7, var$5, $cunt);
            if ($rt_suspending()) {
                break main;
            }
            nleo_EaglercraftGPU_lastMode = var$7;
            nleo_EaglercraftGPU_lastCount = $cunt;
            $ptr = 27;
            continue main;
        case 25:
            nleo_EaglercraftGPU_enableVertexAttribArray(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = var$13.$attribTextureIndex;
            var$8 = 2;
            var$10 = 5126;
            var$16 = 0;
            var$14 = var$13.$attribStride;
            var$15 = var$13.$attribTextureOffset;
            $ptr = 26;
        case 26:
            nleo_EaglercraftGPU_vertexAttribPointer(var$5, var$8, var$10, var$16, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = var$13.$attribColorIndex;
            if (var$5 != (-1)) {
                $ptr = 31;
                continue main;
            }
            var$5 = var$13.$attribNormalIndex;
            if (var$5 != (-1)) {
                $ptr = 37;
                continue main;
            }
            var$5 = var$13.$attribLightmapIndex;
            if (var$5 != (-1)) {
                $ptr = 41;
                continue main;
            }
            var$6.$currentVertexArray = var$12;
            $fmt = var$12.$vertexArray0;
            $ptr = 12;
            continue main;
        case 27:
            nleo_WorldRenderer_reset($parWorldRenderer);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 28:
            $tmp = nle_EagRuntime_allocateByteBuffer(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $fmt = nleib_EaglerArrayByteBuffer_flip(nleo_EaglercraftGPU_displayListBuffer);
            $ptr = 29;
        case 29:
            nleib_EaglerArrayByteBuffer_put0(var$6, $fmt);
            if ($rt_suspending()) {
                break main;
            }
            $fmt = nleo_EaglercraftGPU_displayListBuffer;
            $ptr = 30;
        case 30:
            nle_EagRuntime_freeByteBuffer($fmt);
            if ($rt_suspending()) {
                break main;
            }
            nleo_EaglercraftGPU_displayListBuffer = var$6;
            var$6 = nleo_EaglercraftGPU_displayListBuffer;
            $ptr = 23;
            continue main;
        case 31:
            nleo_EaglercraftGPU_enableVertexAttribArray(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = var$13.$attribColorIndex;
            var$8 = 4;
            var$10 = 5121;
            var$16 = 1;
            var$14 = var$13.$attribStride;
            var$15 = var$13.$attribColorOffset;
            $ptr = 32;
        case 32:
            nleo_EaglercraftGPU_vertexAttribPointer(var$5, var$8, var$10, var$16, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = var$13.$attribNormalIndex;
            if (var$5 != (-1)) {
                $ptr = 37;
                continue main;
            }
            var$5 = var$13.$attribLightmapIndex;
            if (var$5 != (-1)) {
                $ptr = 41;
                continue main;
            }
            var$6.$currentVertexArray = var$12;
            $fmt = var$12.$vertexArray0;
            $ptr = 12;
            continue main;
        case 33:
            nleo_EaglercraftGPU_attachQuad16EmulationBuffer($cunt, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 4;
            var$5 = $cunt + ($cunt >> 1) | 0;
            var$10 = 5123;
            var$16 = 0;
            $ptr = 39;
            continue main;
        case 34:
            nleo_EaglercraftGPU_attachQuad16EmulationBuffer($cunt, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 4;
            var$5 = $cunt + ($cunt >> 1) | 0;
            var$10 = 5123;
            var$16 = 0;
            $ptr = 39;
            continue main;
        case 35:
            nleo_EaglercraftGPU_attachQuad32EmulationBuffer($cunt, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 4;
            var$8 = $cunt + ($cunt >> 1) | 0;
            var$10 = 5125;
            var$16 = 0;
            $ptr = 40;
            continue main;
        case 36:
            nleo_EaglercraftGPU_attachQuad32EmulationBuffer($cunt, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 4;
            var$8 = $cunt + ($cunt >> 1) | 0;
            var$10 = 5125;
            var$16 = 0;
            $ptr = 40;
            continue main;
        case 37:
            nleo_EaglercraftGPU_enableVertexAttribArray(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = var$13.$attribNormalIndex;
            var$8 = 4;
            var$10 = 5120;
            var$16 = 1;
            var$14 = var$13.$attribStride;
            var$15 = var$13.$attribNormalOffset;
            $ptr = 38;
        case 38:
            nleo_EaglercraftGPU_vertexAttribPointer(var$5, var$8, var$10, var$16, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = var$13.$attribLightmapIndex;
            if (var$5 != (-1)) {
                $ptr = 41;
                continue main;
            }
            var$6.$currentVertexArray = var$12;
            $fmt = var$12.$vertexArray0;
            $ptr = 12;
            continue main;
        case 39:
            nleo_EaglercraftGPU_drawElements(var$8, var$5, var$10, var$16);
            if ($rt_suspending()) {
                break main;
            }
            nleo_EaglercraftGPU_lastMode = var$7;
            nleo_EaglercraftGPU_lastCount = $cunt;
            $ptr = 27;
            continue main;
        case 40:
            nleo_EaglercraftGPU_drawElements(var$5, var$8, var$10, var$16);
            if ($rt_suspending()) {
                break main;
            }
            nleo_EaglercraftGPU_lastMode = var$7;
            nleo_EaglercraftGPU_lastCount = $cunt;
            $ptr = 27;
            continue main;
        case 41:
            nleo_EaglercraftGPU_enableVertexAttribArray(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = var$13.$attribLightmapIndex;
            var$8 = 2;
            var$10 = 5123;
            var$16 = 0;
            var$14 = var$13.$attribStride;
            var$15 = var$13.$attribLightmapOffset;
            $ptr = 42;
        case 42:
            nleo_EaglercraftGPU_vertexAttribPointer(var$5, var$8, var$10, var$16, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$6.$currentVertexArray = var$12;
            $fmt = var$12.$vertexArray0;
            $ptr = 12;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($parWorldRenderer, $cunt, $fmt, $buf, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr);
    }
    function jnci_BufferedDecoder() {
        var a = this; jnc_CharsetDecoder.call(a);
        a.$inArray = null;
        a.$outArray = null;
    }
    function jnci_BufferedDecoder__init_($this, $cs, $averageCharsPerByte, $maxCharsPerByte) {
        var var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$maxCharsPerByte = $thread.pop();$averageCharsPerByte = $thread.pop();$cs = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$replacement0 = $rt_s(1655);
            jnc_CodingErrorAction_$callClinit();
            var$4 = jnc_CodingErrorAction_REPORT;
            $this.$malformedAction = var$4;
            $this.$unmappableAction = var$4;
            if ($averageCharsPerByte <= 0.0) {
                $cs = new jl_IllegalArgumentException;
                var$4 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$4);
                var$5 = $rt_s(1656);
                $ptr = 1;
                continue main;
            }
            if ($maxCharsPerByte > 0.0) {
                $this.$charset0 = $cs;
                $this.$averageCharsPerByte = $averageCharsPerByte;
                $this.$maxCharsPerByte = $maxCharsPerByte;
                $this.$inArray = $rt_createByteArray(512);
                $this.$outArray = $rt_createCharArray(512);
                return;
            }
            $cs = new jl_IllegalArgumentException;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            var$5 = $rt_s(1657);
            $ptr = 3;
            continue main;
        case 1:
            $tmp = jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            jl_StringBuilder_append3(var$5, $averageCharsPerByte);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_Throwable__init_($cs, var$4);
            $rt_throw($cs);
        case 3:
            $tmp = jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            jl_StringBuilder_append3(var$5, $maxCharsPerByte);
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_Throwable__init_($cs, var$4);
            $rt_throw($cs);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $cs, $averageCharsPerByte, $maxCharsPerByte, var$4, var$5, $ptr);
    }
    function jnci_BufferedDecoder_decodeLoop($this, $in, $out) {
        var $inArray, $inPos, $inSize, $outArray, $i, var$8, $outPos, $outSize, $result, $controller, var$13, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$controller = $thread.pop();$result = $thread.pop();$outSize = $thread.pop();$outPos = $thread.pop();var$8 = $thread.pop();$i = $thread.pop();$outArray = $thread.pop();$inSize = $thread.pop();$inPos = $thread.pop();$inArray = $thread.pop();$out = $thread.pop();$in = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $inArray = $this.$inArray;
            $inPos = 0;
            $inSize = 0;
            $outArray = $this.$outArray;
            a: {
                while (true) {
                    if (($inPos + 32 | 0) > $inSize && jn_Buffer_hasRemaining($in)) {
                        $i = $inPos;
                        while ($i < $inSize) {
                            var$8 = $inArray.data;
                            var$8[$i - $inPos | 0] = var$8[$i];
                            $i = $i + 1 | 0;
                        }
                        var$8 = $inArray.data;
                        $outPos = $inSize - $inPos | 0;
                        $inSize = jl_Math_min(jn_Buffer_remaining($in) + $outPos | 0, var$8.length);
                        $outSize = $inSize - $outPos | 0;
                        $ptr = 1;
                        continue main;
                    }
                    if (!jn_Buffer_hasRemaining($out)) {
                        $result = !jn_Buffer_hasRemaining($in) && $inPos >= $inSize ? jnc_CoderResult_UNDERFLOW : jnc_CoderResult_OVERFLOW;
                        break a;
                    }
                    var$8 = $outArray.data;
                    $outSize = jn_Buffer_remaining($out);
                    $i = var$8.length;
                    $outSize = jl_Math_min($outSize, $i);
                    $controller = new jnci_BufferedDecoder$Controller;
                    $controller.$in0 = $in;
                    $controller.$out2 = $out;
                    $result = $this.$arrayDecode($inArray, $inPos, $inSize, $outArray, 0, $outSize, $controller);
                    $inPos = $controller.$inPosition;
                    if ($result === null && 0 == $controller.$outPosition)
                        $result = jnc_CoderResult_UNDERFLOW;
                    $outPos = $controller.$outPosition;
                    var$13 = 0;
                    if ($out.$readOnly0) {
                        $in = new jn_ReadOnlyBufferException;
                        jl_Throwable__init_0($in);
                        $rt_throw($in);
                    }
                    if (jn_Buffer_remaining($out) < $outPos) {
                        $in = new jn_BufferOverflowException;
                        jl_Throwable__init_0($in);
                        $rt_throw($in);
                    }
                    if (var$13 > $i) {
                        $in = new jl_IndexOutOfBoundsException;
                        $out = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($out);
                        $controller = $rt_s(1114);
                        $ptr = 3;
                        continue main;
                    }
                    $outSize = var$13 + $outPos | 0;
                    if ($outSize > $i) {
                        $in = new jl_IndexOutOfBoundsException;
                        $out = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($out);
                        $controller = $rt_s(1182);
                        $ptr = 6;
                        continue main;
                    }
                    if ($outPos < 0) {
                        $in = new jl_IndexOutOfBoundsException;
                        $out = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($out);
                        $controller = $rt_s(1113);
                        $ptr = 9;
                        continue main;
                    }
                    var$14 = $out.$position;
                    var$15 = 0;
                    while (var$15 < $outPos) {
                        $outSize = var$14 + 1 | 0;
                        $i = var$13 + 1 | 0;
                        jn_CharBufferOverArray_putChar($out, var$14, var$8[var$13]);
                        var$15 = var$15 + 1 | 0;
                        var$14 = $outSize;
                        var$13 = $i;
                    }
                    $out.$position = $out.$position + $outPos | 0;
                    if ($result !== null)
                        break;
                }
            }
            $outPos = $in.$position - ($inSize - $inPos | 0) | 0;
            $ptr = 2;
            continue main;
        case 1:
            jn_ByteBuffer_get($in, $inArray, $outPos, $outSize);
            if ($rt_suspending()) {
                break main;
            }
            $inPos = 0;
            a: {
                while (true) {
                    if (!jn_Buffer_hasRemaining($out)) {
                        $result = !jn_Buffer_hasRemaining($in) && $inPos >= $inSize ? jnc_CoderResult_UNDERFLOW : jnc_CoderResult_OVERFLOW;
                        break a;
                    }
                    var$8 = $outArray.data;
                    $outSize = jn_Buffer_remaining($out);
                    $i = var$8.length;
                    $outSize = jl_Math_min($outSize, $i);
                    $controller = new jnci_BufferedDecoder$Controller;
                    $controller.$in0 = $in;
                    $controller.$out2 = $out;
                    $result = $this.$arrayDecode($inArray, $inPos, $inSize, $outArray, 0, $outSize, $controller);
                    $inPos = $controller.$inPosition;
                    if ($result === null && 0 == $controller.$outPosition)
                        $result = jnc_CoderResult_UNDERFLOW;
                    $outPos = $controller.$outPosition;
                    var$13 = 0;
                    if ($out.$readOnly0) {
                        $in = new jn_ReadOnlyBufferException;
                        jl_Throwable__init_0($in);
                        $rt_throw($in);
                    }
                    if (jn_Buffer_remaining($out) < $outPos) {
                        $in = new jn_BufferOverflowException;
                        jl_Throwable__init_0($in);
                        $rt_throw($in);
                    }
                    if (var$13 > $i) {
                        $in = new jl_IndexOutOfBoundsException;
                        $out = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($out);
                        $controller = $rt_s(1114);
                        $ptr = 3;
                        continue main;
                    }
                    $outSize = var$13 + $outPos | 0;
                    if ($outSize > $i) {
                        $in = new jl_IndexOutOfBoundsException;
                        $out = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($out);
                        $controller = $rt_s(1182);
                        $ptr = 6;
                        continue main;
                    }
                    if ($outPos < 0) {
                        $in = new jl_IndexOutOfBoundsException;
                        $out = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($out);
                        $controller = $rt_s(1113);
                        $ptr = 9;
                        continue main;
                    }
                    var$14 = $out.$position;
                    var$15 = 0;
                    while (var$15 < $outPos) {
                        $outSize = var$14 + 1 | 0;
                        $i = var$13 + 1 | 0;
                        jn_CharBufferOverArray_putChar($out, var$14, var$8[var$13]);
                        var$15 = var$15 + 1 | 0;
                        var$14 = $outSize;
                        var$13 = $i;
                    }
                    $out.$position = $out.$position + $outPos | 0;
                    if ($result !== null)
                        break;
                    if (($inPos + 32 | 0) <= $inSize)
                        continue;
                    if (jn_Buffer_hasRemaining($in)) {
                        $i = $inPos;
                        while ($i < $inSize) {
                            var$8 = $inArray.data;
                            var$8[$i - $inPos | 0] = var$8[$i];
                            $i = $i + 1 | 0;
                        }
                        var$8 = $inArray.data;
                        $outPos = $inSize - $inPos | 0;
                        $inSize = jl_Math_min(jn_Buffer_remaining($in) + $outPos | 0, var$8.length);
                        $outSize = $inSize - $outPos | 0;
                        continue main;
                    }
                }
            }
            $outPos = $in.$position - ($inSize - $inPos | 0) | 0;
            $ptr = 2;
        case 2:
            jn_Buffer_position0($in, $outPos);
            if ($rt_suspending()) {
                break main;
            }
            return $result;
        case 3:
            $tmp = jl_StringBuilder_append($out, $controller);
            if ($rt_suspending()) {
                break main;
            }
            $controller = $tmp;
            jl_AbstractStringBuilder_append0($controller, var$13);
            $result = $rt_s(1110);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append($controller, $result);
            if ($rt_suspending()) {
                break main;
            }
            $controller = $tmp;
            jl_AbstractStringBuilder_append0($controller, $i);
            jl_AbstractStringBuilder_append($controller, 41);
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString($out);
            if ($rt_suspending()) {
                break main;
            }
            $out = $tmp;
            jl_Throwable__init_($in, $out);
            $rt_throw($in);
        case 6:
            $tmp = jl_StringBuilder_append($out, $controller);
            if ($rt_suspending()) {
                break main;
            }
            $controller = $tmp;
            jl_AbstractStringBuilder_append0($controller, $outSize);
            $result = $rt_s(1115);
            $ptr = 7;
        case 7:
            $tmp = jl_StringBuilder_append($controller, $result);
            if ($rt_suspending()) {
                break main;
            }
            $controller = $tmp;
            jl_AbstractStringBuilder_append0($controller, $i);
            $ptr = 8;
        case 8:
            $tmp = jl_AbstractStringBuilder_toString($out);
            if ($rt_suspending()) {
                break main;
            }
            $out = $tmp;
            jl_Throwable__init_($in, $out);
            $rt_throw($in);
        case 9:
            $tmp = jl_StringBuilder_append($out, $controller);
            if ($rt_suspending()) {
                break main;
            }
            $controller = $tmp;
            jl_AbstractStringBuilder_append0($controller, $outPos);
            $result = $rt_s(1116);
            $ptr = 10;
        case 10:
            jl_StringBuilder_append($controller, $result);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            $tmp = jl_AbstractStringBuilder_toString($out);
            if ($rt_suspending()) {
                break main;
            }
            $out = $tmp;
            jl_Throwable__init_($in, $out);
            $rt_throw($in);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $in, $out, $inArray, $inPos, $inSize, $outArray, $i, var$8, $outPos, $outSize, $result, $controller, var$13, var$14, var$15, $ptr);
    }
    function jnci_UTF16Decoder() {
        var a = this; jnci_BufferedDecoder.call(a);
        a.$bom0 = 0;
        a.$littleEndian0 = 0;
    }
    function jnci_UTF16Decoder_arrayDecode($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller) {
        var var$8, var$9, $b;
        if ($this.$bom0) {
            if (($inPos + 2 | 0) > $inSize)
                return !jn_Buffer_hasRemaining($controller.$in0) ? jnc_CoderResult_UNDERFLOW : null;
            var$8 = $inArray.data;
            $this.$bom0 = 0;
            var$9 = $inPos + 1 | 0;
            $b = var$8[$inPos];
            if ($b == (-1)) {
                if (var$8[var$9] != (-2))
                    $inPos = var$9 + (-1) | 0;
                else {
                    $inPos = var$9 + 1 | 0;
                    $this.$littleEndian0 = 1;
                }
            } else if ($b != (-2))
                $inPos = var$9 + (-1) | 0;
            else if (var$8[var$9] != (-1))
                $inPos = var$9 + (-1) | 0;
            else {
                $inPos = var$9 + 1 | 0;
                $this.$littleEndian0 = 0;
            }
        }
        return !$this.$littleEndian0 ? jnci_UTF16Decoder_decodeBE($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller) : jnci_UTF16Decoder_decodeLE($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller);
    }
    function jnci_UTF16Decoder_decodeLE($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller) {
        var $result, var$9, $b2, $b1, $c, $next;
        $result = null;
        a: {
            while ($inPos < $inSize) {
                if ($outPos >= $outSize)
                    break a;
                if (($inPos + 2 | 0) > $inSize) {
                    if (jnci_BufferedDecoder$Controller_hasMoreInput0($controller, 2))
                        break a;
                    $result = jnc_CoderResult_UNDERFLOW;
                    break a;
                }
                var$9 = $inArray.data;
                $b2 = $inPos + 1 | 0;
                $b1 = var$9[$inPos] & 255;
                $inPos = $b2 + 1 | 0;
                $c = ($b1 | (var$9[$b2] & 255) << 8) & 65535;
                if (!jl_Character_isHighSurrogate($c)) {
                    if (jl_Character_isLowSurrogate($c)) {
                        $inPos = $inPos + (-2) | 0;
                        $result = jnc_CoderResult_malformedForLength(2);
                        break a;
                    }
                    var$9 = $outArray.data;
                    $b2 = $outPos + 1 | 0;
                    var$9[$outPos] = $c;
                    $outPos = $b2;
                } else {
                    if (($inPos + 2 | 0) >= $inSize) {
                        if (!jnci_BufferedDecoder$Controller_hasMoreInput0($controller, 4))
                            $result = jnc_CoderResult_UNDERFLOW;
                        $inPos = $inPos + (-2) | 0;
                        break a;
                    }
                    $b2 = $inPos + 1 | 0;
                    $b1 = var$9[$inPos] & 255;
                    $inPos = $b2 + 1 | 0;
                    $next = ($b1 | (var$9[$b2] & 255) << 8) & 65535;
                    if (!jl_Character_isLowSurrogate($next)) {
                        $inPos = $inPos + (-4) | 0;
                        $result = jnc_CoderResult_malformedForLength(4);
                        break a;
                    }
                    if (($outPos + 2 | 0) > $outSize) {
                        if (jnci_BufferedDecoder$Controller_hasMoreOutput($controller, 2))
                            break a;
                        $result = jnc_CoderResult_OVERFLOW;
                        break a;
                    }
                    var$9 = $outArray.data;
                    $b2 = $outPos + 1 | 0;
                    var$9[$outPos] = $c;
                    $outPos = $b2 + 1 | 0;
                    var$9[$b2] = $next;
                }
            }
        }
        $controller.$inPosition = $inPos;
        $controller.$outPosition = $outPos;
        return $result;
    }
    function jnci_UTF16Decoder_decodeBE($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller) {
        var $result, var$9, $b2, $b1, $c, $next;
        $result = null;
        a: {
            while ($inPos < $inSize) {
                if ($outPos >= $outSize)
                    break a;
                if (($inPos + 2 | 0) > $inSize) {
                    if (jnci_BufferedDecoder$Controller_hasMoreInput0($controller, 2))
                        break a;
                    $result = jnc_CoderResult_UNDERFLOW;
                    break a;
                }
                var$9 = $inArray.data;
                $b2 = $inPos + 1 | 0;
                $b1 = var$9[$inPos] & 255;
                $inPos = $b2 + 1 | 0;
                $c = (var$9[$b2] & 255 | $b1 << 8) & 65535;
                if (!jl_Character_isHighSurrogate($c)) {
                    if (jl_Character_isLowSurrogate($c)) {
                        $inPos = $inPos + (-2) | 0;
                        $result = jnc_CoderResult_malformedForLength(2);
                        break a;
                    }
                    var$9 = $outArray.data;
                    $b2 = $outPos + 1 | 0;
                    var$9[$outPos] = $c;
                    $outPos = $b2;
                } else {
                    if (($inPos + 2 | 0) >= $inSize) {
                        if (!jnci_BufferedDecoder$Controller_hasMoreInput0($controller, 4))
                            $result = jnc_CoderResult_UNDERFLOW;
                        $inPos = $inPos + (-2) | 0;
                        break a;
                    }
                    $b2 = $inPos + 1 | 0;
                    $b1 = var$9[$inPos] & 255;
                    $inPos = $b2 + 1 | 0;
                    $next = (var$9[$b2] & 255 | $b1 << 8) & 65535;
                    if (!jl_Character_isLowSurrogate($next)) {
                        $inPos = $inPos + (-4) | 0;
                        $result = jnc_CoderResult_malformedForLength(4);
                        break a;
                    }
                    if (($outPos + 2 | 0) > $outSize) {
                        if (jnci_BufferedDecoder$Controller_hasMoreOutput($controller, 2))
                            break a;
                        $result = jnc_CoderResult_OVERFLOW;
                        break a;
                    }
                    var$9 = $outArray.data;
                    $b2 = $outPos + 1 | 0;
                    var$9[$outPos] = $c;
                    $outPos = $b2 + 1 | 0;
                    var$9[$b2] = $next;
                }
            }
        }
        $controller.$inPosition = $inPos;
        $controller.$outPosition = $outPos;
        return $result;
    }
    var jnci_Iso8859Decoder = $rt_classWithoutFields(jnci_BufferedDecoder);
    function jnci_Iso8859Decoder_arrayDecode($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller) {
        var $result, var$9, var$10, var$11, $b, var$13;
        $result = null;
        while ($inPos < $inSize && $outPos < $outSize) {
            var$9 = $inArray.data;
            var$10 = $outArray.data;
            var$11 = $inPos + 1 | 0;
            $b = var$9[$inPos] & 255;
            var$13 = $outPos + 1 | 0;
            var$10[$outPos] = $b & 65535;
            $inPos = var$11;
            $outPos = var$13;
        }
        $controller.$inPosition = $inPos;
        $controller.$outPosition = $outPos;
        return $result;
    }
    var jnci_AsciiDecoder = $rt_classWithoutFields(jnci_BufferedDecoder);
    function jnci_AsciiDecoder_arrayDecode($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller) {
        var $result, var$9, var$10, $b, var$12;
        $result = null;
        a: {
            while ($inPos < $inSize) {
                if ($outPos >= $outSize)
                    break a;
                var$9 = $inArray.data;
                var$10 = $inPos + 1 | 0;
                $b = var$9[$inPos] & 255;
                if ($b & 128) {
                    $result = jnc_CoderResult_malformedForLength(1);
                    $inPos = var$10 + (-1) | 0;
                    break a;
                }
                var$9 = $outArray.data;
                var$12 = $outPos + 1 | 0;
                var$9[$outPos] = $b & 65535;
                $inPos = var$10;
                $outPos = var$12;
            }
        }
        $controller.$inPosition = $inPos;
        $controller.$outPosition = $outPos;
        return $result;
    }
    var nleito_JSEaglercraftXOptsHooks = $rt_classWithoutFields();
    function jl_Float() {
        jl_Number.call(this);
        this.$value9 = 0.0;
    }
    var jl_Float_TYPE = null;
    function jl_Float_parseFloat($string) {
        var $start, $end, $negative, $c, $mantissa, $exp, $mantissaPos, $hasOneDigit, var$10, $negativeExp, $numExp, var$13, var$14;
        if (jl_String_isEmpty($string)) {
            $string = new jl_NumberFormatException;
            jl_Throwable__init_0($string);
            $rt_throw($string);
        }
        $start = 0;
        $end = jl_String_length($string);
        while (true) {
            if (jl_String_charAt($string, $start) > 32) {
                while (jl_String_charAt($string, $end - 1 | 0) <= 32) {
                    $end = $end + (-1) | 0;
                }
                $negative = 0;
                if (jl_String_charAt($string, $start) == 45) {
                    $start = $start + 1 | 0;
                    $negative = 1;
                } else if (jl_String_charAt($string, $start) == 43)
                    $start = $start + 1 | 0;
                if ($start == $end) {
                    $string = new jl_NumberFormatException;
                    jl_Throwable__init_0($string);
                    $rt_throw($string);
                }
                a: {
                    $c = jl_String_charAt($string, $start);
                    $mantissa = 0;
                    $exp = (-1);
                    $mantissaPos = 100000000;
                    $hasOneDigit = 0;
                    if ($c != 46) {
                        $hasOneDigit = 1;
                        if ($c >= 48 && $c <= 57) {
                            b: {
                                while ($start < $end) {
                                    if (jl_String_charAt($string, $start) != 48)
                                        break b;
                                    $start = $start + 1 | 0;
                                }
                            }
                            while ($start < $end) {
                                var$10 = jl_String_charAt($string, $start);
                                if (var$10 < 48)
                                    break a;
                                if (var$10 > 57)
                                    break a;
                                if ($mantissaPos > 0) {
                                    $mantissa = $mantissa + $rt_imul($mantissaPos, var$10 - 48 | 0) | 0;
                                    $mantissaPos = $rt_udiv($mantissaPos, 10);
                                }
                                $exp = $exp + 1 | 0;
                                $start = $start + 1 | 0;
                            }
                        } else {
                            $string = new jl_NumberFormatException;
                            jl_Throwable__init_0($string);
                            $rt_throw($string);
                        }
                    }
                }
                if ($start < $end && jl_String_charAt($string, $start) == 46) {
                    $start = $start + 1 | 0;
                    c: {
                        while (true) {
                            if ($start >= $end)
                                break c;
                            $negativeExp = jl_String_charAt($string, $start);
                            var$10 = $rt_compare($negativeExp, 48);
                            if (var$10 < 0)
                                break c;
                            if ($negativeExp > 57)
                                break;
                            if (!$mantissa && !var$10)
                                $exp = $exp + (-1) | 0;
                            else if ($mantissaPos > 0) {
                                $mantissa = $mantissa + $rt_imul($mantissaPos, $negativeExp - 48 | 0) | 0;
                                $mantissaPos = $rt_udiv($mantissaPos, 10);
                            }
                            $start = $start + 1 | 0;
                            $hasOneDigit = 1;
                        }
                    }
                    if (!$hasOneDigit) {
                        $string = new jl_NumberFormatException;
                        jl_Throwable__init_0($string);
                        $rt_throw($string);
                    }
                }
                if ($start < $end) {
                    var$10 = jl_String_charAt($string, $start);
                    if (var$10 != 101 && var$10 != 69)
                        $rt_throw(jl_NumberFormatException__init_1());
                    var$10 = $start + 1 | 0;
                    $negativeExp = 0;
                    if (var$10 == $end)
                        $rt_throw(jl_NumberFormatException__init_1());
                    if (jl_String_charAt($string, var$10) == 45) {
                        var$10 = var$10 + 1 | 0;
                        $negativeExp = 1;
                    } else if (jl_String_charAt($string, var$10) == 43)
                        var$10 = var$10 + 1 | 0;
                    $numExp = 0;
                    $start = 0;
                    d: {
                        while (true) {
                            if (var$10 >= $end)
                                break d;
                            $c = jl_String_charAt($string, var$10);
                            if ($c < 48)
                                break d;
                            if ($c > 57)
                                break;
                            $numExp = (10 * $numExp | 0) + ($c - 48 | 0) | 0;
                            $start = 1;
                            var$10 = var$10 + 1 | 0;
                        }
                    }
                    if (!$start)
                        $rt_throw(jl_NumberFormatException__init_1());
                    if ($negativeExp)
                        $numExp =  -$numExp | 0;
                    $exp = $exp + $numExp | 0;
                }
                e: {
                    var$10 = 50 + $exp | 0;
                    if ($mantissa) {
                        var$13 = otcit_FloatSynthesizer_mantissa10Table.data;
                        if (var$10 <= var$13.length && var$10 >= 0) {
                            $start = otcit_FloatAnalyzer_mulAndShiftRight($mantissa, var$13[var$10], 0);
                            var$10 = otcit_FloatSynthesizer_exp10Table.data[var$10] - 1 | 0;
                            $end = (32 - jl_Integer_numberOfLeadingZeros($start) | 0) - 30 | 0;
                            $start = $end >= 0 ? $start >>> $end | 0 : $start << ( -$end | 0);
                            var$10 = var$10 + $end | 0;
                            if (var$10 >= 255) {
                                var$14 = !$negative ? Infinity : (-Infinity);
                                break e;
                            }
                            $start = $start + 32 | 0;
                            if ($start & (-1073741824)) {
                                $start = $start >>> 1 | 0;
                                var$10 = var$10 + 1 | 0;
                            }
                            if (var$10 <= 0) {
                                $start = $start >> jl_Math_min(( -var$10 | 0) + 1 | 0, 32);
                                var$10 = 0;
                            }
                            var$10 = ($start >>> 6 | 0) & 8388607 | var$10 << 23;
                            if ($negative)
                                var$10 = var$10 ^ (-2147483648);
                            var$14 = $rt_intBitsToFloat(var$10);
                            break e;
                        }
                    }
                    var$14 = $rt_intBitsToFloat(!$negative ? 0 : (-2147483648));
                }
                return var$14;
            }
            $start = $start + 1 | 0;
            if ($start == $end)
                break;
        }
        $string = new jl_NumberFormatException;
        jl_Throwable__init_0($string);
        $rt_throw($string);
    }
    function jl_Float_floatToIntBits($value) {
        if ($rt_globals.isNaN($value) ? 1 : 0)
            return 2143289344;
        return $rt_floatToRawIntBits($value);
    }
    function jl_Float__clinit_() {
        jl_Float_TYPE = $rt_cls($rt_floatcls());
    }
    var jnci_UTF8Decoder = $rt_classWithoutFields(jnci_BufferedDecoder);
    function jnci_UTF8Decoder_arrayDecode($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller) {
        var $result, var$9, $b2, $b, $b2_0, $b3, $c, $b4, $code;
        $result = null;
        a: {
            b: {
                c: {
                    while ($inPos < $inSize) {
                        if ($outPos >= $outSize)
                            break a;
                        var$9 = $inArray.data;
                        $b2 = $inPos + 1 | 0;
                        $b = var$9[$inPos] & 255;
                        if (!($b & 128)) {
                            var$9 = $outArray.data;
                            $b2_0 = $outPos + 1 | 0;
                            var$9[$outPos] = $b & 65535;
                        } else if (($b & 224) == 192) {
                            if ($b2 >= $inSize) {
                                $inPos = $b2 + (-1) | 0;
                                if (jnci_BufferedDecoder$Controller_hasMoreInput0($controller, 2))
                                    break a;
                                $result = jnc_CoderResult_UNDERFLOW;
                                break a;
                            }
                            $inPos = $b2 + 1 | 0;
                            $b2 = var$9[$b2];
                            if (!jnci_UTF8Decoder_checkMidByte($this, $b2)) {
                                $inPos = $inPos + (-2) | 0;
                                $result = jnc_CoderResult_malformedForLength(1);
                                break a;
                            }
                            var$9 = $outArray.data;
                            $b2_0 = $outPos + 1 | 0;
                            var$9[$outPos] = (($b & 31) << 6 | $b2 & 63) & 65535;
                            $b2 = $inPos;
                        } else if (($b & 240) == 224) {
                            if (($b2 + 2 | 0) > $inSize) {
                                $inPos = $b2 + (-1) | 0;
                                if (jnci_BufferedDecoder$Controller_hasMoreInput0($controller, 3))
                                    break a;
                                $result = jnc_CoderResult_UNDERFLOW;
                                break a;
                            }
                            $inPos = $b2 + 1 | 0;
                            $b2_0 = var$9[$b2];
                            $b2 = $inPos + 1 | 0;
                            $b3 = var$9[$inPos];
                            if (!jnci_UTF8Decoder_checkMidByte($this, $b2_0))
                                break b;
                            if (!jnci_UTF8Decoder_checkMidByte($this, $b3))
                                break b;
                            $c = (($b & 15) << 12 | ($b2_0 & 63) << 6 | $b3 & 63) & 65535;
                            if (jl_Character_isSurrogate($c)) {
                                $inPos = $b2 + (-3) | 0;
                                $result = jnc_CoderResult_malformedForLength(3);
                                break a;
                            }
                            var$9 = $outArray.data;
                            $b2_0 = $outPos + 1 | 0;
                            var$9[$outPos] = $c;
                        } else {
                            if (($b & 248) != 240) {
                                $inPos = $b2 + (-1) | 0;
                                $result = jnc_CoderResult_malformedForLength(1);
                                break a;
                            }
                            if (($b2 + 3 | 0) > $inSize) {
                                $inPos = $b2 + (-1) | 0;
                                if (jnci_BufferedDecoder$Controller_hasMoreInput0($controller, 4))
                                    break a;
                                $result = jnc_CoderResult_UNDERFLOW;
                                break a;
                            }
                            if (($outPos + 2 | 0) > $outSize) {
                                $inPos = $b2 + (-1) | 0;
                                if (jnci_BufferedDecoder$Controller_hasMoreOutput($controller, 2))
                                    break a;
                                $result = jnc_CoderResult_OVERFLOW;
                                break a;
                            }
                            $inPos = $b2 + 1 | 0;
                            $b2_0 = var$9[$b2];
                            $b4 = $inPos + 1 | 0;
                            $b3 = var$9[$inPos];
                            $b2 = $b4 + 1 | 0;
                            $b4 = var$9[$b4];
                            if (!jnci_UTF8Decoder_checkMidByte($this, $b2_0))
                                break c;
                            if (!jnci_UTF8Decoder_checkMidByte($this, $b3))
                                break c;
                            if (!jnci_UTF8Decoder_checkMidByte($this, $b4))
                                break c;
                            var$9 = $outArray.data;
                            $code = ($b & 7) << 18 | ($b2_0 & 63) << 12 | ($b3 & 63) << 6 | $b4 & 63;
                            $inPos = $outPos + 1 | 0;
                            var$9[$outPos] = jl_Character_highSurrogate($code);
                            $b2_0 = $inPos + 1 | 0;
                            var$9[$inPos] = jl_Character_lowSurrogate($code);
                        }
                        $inPos = $b2;
                        $outPos = $b2_0;
                    }
                    break a;
                }
                $inPos = $b2 + (-3) | 0;
                $result = jnc_CoderResult_malformedForLength(1);
                break a;
            }
            $inPos = $b2 + (-3) | 0;
            $result = jnc_CoderResult_malformedForLength(1);
        }
        $controller.$inPosition = $inPos;
        $controller.$outPosition = $outPos;
        return $result;
    }
    function jnci_UTF8Decoder_checkMidByte($this, $b) {
        return ($b & 192) != 128 ? 0 : 1;
    }
    function nms_ShapelessRecipes() {
        var a = this; jl_Object.call(a);
        a.$recipeOutput0 = null;
        a.$recipeItems0 = null;
    }
    function nms_ShapelessRecipes_func_25117_b($this) {
        return $this.$recipeOutput0;
    }
    function nms_ShapelessRecipes_matches($this, $var1) {
        var $var2, $var8, $var3, $var4, $var5, $var6, $var7, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var8 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = new ju_ArrayList;
            $var8 = $this.$recipeItems0;
            $ptr = 1;
        case 1:
            ju_ArrayList__init_4($var2, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 0;
            while ($var3 < 3) {
                $var4 = 0;
                while ($var4 < 3) {
                    $var5 = nms_InventoryCrafting_func_21103_b($var1, $var4, $var3);
                    if ($var5 !== null) {
                        $var6 = 0;
                        $ptr = 2;
                        continue main;
                    }
                    $var4 = $var4 + 1 | 0;
                }
                $var3 = $var3 + 1 | 0;
            }
            return ju_AbstractCollection_isEmpty($var2);
        case 2:
            $tmp = ju_AbstractList_iterator($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if (ju_AbstractList$1_hasNext($var7)) {
                $ptr = 3;
                continue main;
            }
            if (!$var6)
                return 0;
            a: while (true) {
                $var4 = $var4 + 1 | 0;
                while ($var4 >= 3) {
                    $var3 = $var3 + 1 | 0;
                    if ($var3 >= 3)
                        break a;
                    $var4 = 0;
                }
                $var5 = nms_InventoryCrafting_func_21103_b($var1, $var4, $var3);
                if ($var5 === null)
                    continue;
                else {
                    $var6 = 0;
                    continue main;
                }
            }
            return ju_AbstractCollection_isEmpty($var2);
        case 3:
            b: {
                $tmp = ju_AbstractList$1_next($var7);
                if ($rt_suspending()) {
                    break main;
                }
                $var8 = $tmp;
                $var8 = $var8;
                if ($var5.$itemID == $var8.$itemID) {
                    var$9 = $var8.$itemDamage;
                    if (var$9 == (-1))
                        break b;
                    if ($var5.$itemDamage == var$9)
                        break b;
                }
                if (ju_AbstractList$1_hasNext($var7)) {
                    continue main;
                }
                if (!$var6)
                    return 0;
                c: while (true) {
                    $var4 = $var4 + 1 | 0;
                    while ($var4 >= 3) {
                        $var3 = $var3 + 1 | 0;
                        if ($var3 >= 3)
                            break c;
                        $var4 = 0;
                    }
                    $var5 = nms_InventoryCrafting_func_21103_b($var1, $var4, $var3);
                    if ($var5 === null)
                        continue;
                    else {
                        $var6 = 0;
                        $ptr = 2;
                        continue main;
                    }
                }
                return ju_AbstractCollection_isEmpty($var2);
            }
            $var6 = 1;
            $ptr = 4;
        case 4:
            ju_ArrayList_remove0($var2, $var8);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var6)
                return 0;
            d: while (true) {
                $var4 = $var4 + 1 | 0;
                while ($var4 >= 3) {
                    $var3 = $var3 + 1 | 0;
                    if ($var3 >= 3)
                        break d;
                    $var4 = 0;
                }
                $var5 = nms_InventoryCrafting_func_21103_b($var1, $var4, $var3);
                if ($var5 === null)
                    continue;
                else {
                    $var6 = 0;
                    $ptr = 2;
                    continue main;
                }
            }
            return ju_AbstractCollection_isEmpty($var2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var8, $var3, $var4, $var5, $var6, $var7, var$9, $ptr);
    }
    function nms_ShapelessRecipes_getCraftingResult($this, $var1) {
        return nms_ItemStack_copy($this.$recipeOutput0);
    }
    function nms_ShapelessRecipes_getRecipeSize($this) {
        return $this.$recipeItems0.$size0;
    }
    function nms_Entity() {
        var a = this; jl_Object.call(a);
        a.$entityId = 0;
        a.$renderDistanceWeight = 0.0;
        a.$preventEntitySpawning = 0;
        a.$riddenByEntity = null;
        a.$ridingEntity = null;
        a.$worldObj0 = null;
        a.$prevPosX = 0.0;
        a.$prevPosY = 0.0;
        a.$prevPosZ = 0.0;
        a.$posX = 0.0;
        a.$posY = 0.0;
        a.$posZ = 0.0;
        a.$motionX = 0.0;
        a.$motionY = 0.0;
        a.$motionZ = 0.0;
        a.$rotationYaw = 0.0;
        a.$rotationPitch = 0.0;
        a.$prevRotationYaw = 0.0;
        a.$prevRotationPitch = 0.0;
        a.$boundingBox = null;
        a.$onGround0 = 0;
        a.$isCollidedHorizontally = 0;
        a.$isCollidedVertically = 0;
        a.$isCollided = 0;
        a.$beenAttacked = 0;
        a.$field_9293_aM = 0;
        a.$isDead = 0;
        a.$yOffset = 0.0;
        a.$width2 = 0.0;
        a.$height4 = 0.0;
        a.$prevDistanceWalkedModified = 0.0;
        a.$distanceWalkedModified = 0.0;
        a.$fallDistance = 0.0;
        a.$nextStepDistance = 0;
        a.$lastTickPosX = 0.0;
        a.$lastTickPosY = 0.0;
        a.$lastTickPosZ = 0.0;
        a.$ySize = 0.0;
        a.$stepHeight = 0.0;
        a.$noClip = 0;
        a.$entityCollisionReduction = 0.0;
        a.$field_9313_bc = 0;
        a.$rand3 = null;
        a.$ticksExisted = 0;
        a.$fireResistance = 0;
        a.$fire = 0;
        a.$maxAir = 0;
        a.$inWater = 0;
        a.$field_9306_bj = 0;
        a.$air = 0;
        a.$isFirstUpdate = 0;
        a.$skinUrl = null;
        a.$isImmuneToFire = 0;
        a.$dataWatcher = null;
        a.$entityRiderPitchDelta = 0.0;
        a.$entityRiderYawDelta = 0.0;
        a.$addedToChunk = 0;
        a.$chunkCoordX = 0;
        a.$chunkCoordY = 0;
        a.$chunkCoordZ = 0;
        a.$serverPosX = 0;
        a.$serverPosY = 0;
        a.$serverPosZ = 0;
    }
    var nms_Entity_nextEntityID = 0;
    function nms_Entity__init_($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = nms_Entity_nextEntityID;
            nms_Entity_nextEntityID = var$2 + 1 | 0;
            $this.$entityId = var$2;
            $this.$renderDistanceWeight = 1.0;
            $this.$preventEntitySpawning = 0;
            $this.$boundingBox = nms_AxisAlignedBB_getBoundingBox(0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
            $this.$onGround0 = 0;
            $this.$isCollided = 0;
            $this.$beenAttacked = 0;
            $this.$field_9293_aM = 1;
            $this.$isDead = 0;
            $this.$yOffset = 0.0;
            $this.$width2 = 0.6000000238418579;
            $this.$height4 = 1.7999999523162842;
            $this.$prevDistanceWalkedModified = 0.0;
            $this.$distanceWalkedModified = 0.0;
            $this.$fallDistance = 0.0;
            $this.$nextStepDistance = 1;
            $this.$ySize = 0.0;
            $this.$stepHeight = 0.0;
            $this.$noClip = 0;
            $this.$entityCollisionReduction = 0.0;
            $this.$field_9313_bc = 0;
            $this.$rand3 = new ju_Random;
            $this.$ticksExisted = 0;
            $this.$fireResistance = 1;
            $this.$fire = 0;
            $this.$maxAir = 300;
            $this.$inWater = 0;
            $this.$field_9306_bj = 0;
            $this.$air = 300;
            $this.$isFirstUpdate = 1;
            $this.$isImmuneToFire = 0;
            var$3 = new nms_DataWatcher;
            $ptr = 1;
        case 1:
            nms_DataWatcher__init_(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$dataWatcher = var$3;
            $this.$addedToChunk = 0;
            $this.$worldObj0 = $var1;
            nms_Entity_setPosition($this, 0.0, 0.0, 0.0);
            $var1 = $this.$dataWatcher;
            var$2 = 0;
            var$3 = jl_Byte_valueOf(0);
            $ptr = 2;
        case 2:
            nms_DataWatcher_addObject($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $this.$entityInit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_Entity_getDataWatcher($this) {
        return $this.$dataWatcher;
    }
    function nms_Entity_equals($this, $var1) {
        return !($var1 instanceof nms_Entity) ? 0 : $var1.$entityId != $this.$entityId ? 0 : 1;
    }
    function nms_Entity_hashCode($this) {
        return $this.$entityId;
    }
    function nms_Entity_setEntityDead($this) {
        $this.$isDead = 1;
    }
    function nms_Entity_setSize($this, $var1, $var2) {
        $this.$width2 = $var1;
        $this.$height4 = $var2;
    }
    function nms_Entity_setRotation($this, $var1, $var2) {
        $this.$rotationYaw = $var1;
        $this.$rotationPitch = $var2;
    }
    function nms_Entity_setPosition($this, $var1, $var3, $var5) {
        var $var7, $var8, var$6, var$7, var$8;
        $this.$posX = $var1;
        $this.$posY = $var3;
        $this.$posZ = $var5;
        $var7 = $this.$width2 / 2.0;
        $var8 = $this.$height4;
        var$6 = $this.$boundingBox;
        var$7 = $var7;
        var$8 = $var1 - var$7;
        $var3 = $var3 - $this.$yOffset + $this.$ySize;
        nms_AxisAlignedBB_setBounds(var$6, var$8, $var3, $var5 - var$7, $var1 + var$7, $var3 + $var8, $var5 + var$7);
    }
    function nms_Entity_func_346_d($this, $var1, $var2) {
        var $var3, $var4, var$5;
        $var3 = $this.$rotationPitch;
        $var4 = $this.$rotationYaw;
        var$5 = $var4 + $var1 * 0.15;
        $this.$rotationYaw = var$5;
        $var1 = $var3 - $var2 * 0.15;
        $this.$rotationPitch = $var1;
        if ($var1 < (-90.0))
            $this.$rotationPitch = (-90.0);
        if ($this.$rotationPitch > 90.0)
            $this.$rotationPitch = 90.0;
        $this.$prevRotationPitch = $this.$prevRotationPitch + $this.$rotationPitch - $var3;
        $this.$prevRotationYaw = $this.$prevRotationYaw + var$5 - $var4;
    }
    function nms_Entity_onUpdate($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $this.$onEntityUpdate();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Entity_onEntityUpdate($this) {
        var var$1, $var3, var$3, var$4, $var1, var$6, $var2, var$8, var$9, $var4, $var5, var$12, var$13, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var2 = $thread.pop();var$6 = $thread.pop();$var1 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var3 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$ridingEntity;
            if (var$1 !== null && var$1.$isDead)
                $this.$ridingEntity = null;
            $this.$ticksExisted = $this.$ticksExisted + 1 | 0;
            $this.$prevDistanceWalkedModified = $this.$distanceWalkedModified;
            $this.$prevPosX = $this.$posX;
            $this.$prevPosY = $this.$posY;
            $this.$prevPosZ = $this.$posZ;
            $this.$prevRotationPitch = $this.$rotationPitch;
            $this.$prevRotationYaw = $this.$rotationYaw;
            $ptr = 1;
        case 1:
            $tmp = $this.$handleWaterMovement();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if (!$var3)
                $this.$inWater = 0;
            else {
                if (!$this.$inWater && !$this.$isFirstUpdate) {
                    var$3 = $this.$motionX;
                    var$3 = var$3 * var$3 * 0.20000000298023224;
                    var$4 = $this.$motionY;
                    var$3 = var$3 + var$4 * var$4;
                    var$4 = $this.$motionZ;
                    $var1 = nms_MathHelper_sqrt_double(var$3 + var$4 * var$4 * 0.20000000298023224) * 0.20000000298023224;
                    if ($var1 > 1.0)
                        $var1 = 1.0;
                    var$1 = $this.$worldObj0;
                    var$6 = $rt_s(1658);
                    $var2 = 1.0 + (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.4000000059604645;
                    $ptr = 4;
                    continue main;
                }
                $this.$fallDistance = 0.0;
                $this.$inWater = 1;
                $this.$fire = 0;
            }
            if ($this.$worldObj0.$multiplayerWorld)
                $this.$fire = 0;
            else {
                $var3 = $this.$fire;
                if ($var3 > 0) {
                    if ($this.$isImmuneToFire) {
                        $var3 = $var3 - 4 | 0;
                        $this.$fire = $var3;
                        if ($var3 < 0)
                            $this.$fire = 0;
                    } else {
                        if (!($var3 % 20 | 0)) {
                            var$1 = null;
                            $var3 = 1;
                            $ptr = 6;
                            continue main;
                        }
                        $this.$fire = $this.$fire - 1 | 0;
                    }
                }
            }
            $ptr = 2;
        case 2:
            $tmp = nms_Entity_handleLavaMovement($this);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3) {
                $ptr = 3;
                continue main;
            }
            if ($this.$posY < (-64.0)) {
                $ptr = 5;
                continue main;
            }
            if ($this.$worldObj0.$multiplayerWorld) {
                $this.$isFirstUpdate = 0;
                return;
            }
            $var3 = 0;
            var$8 = $this.$fire <= 0 ? 0 : 1;
            $ptr = 8;
            continue main;
        case 3:
            nms_Entity_setOnFireFromLava($this);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$posY < (-64.0)) {
                $ptr = 5;
                continue main;
            }
            if ($this.$worldObj0.$multiplayerWorld) {
                $this.$isFirstUpdate = 0;
                return;
            }
            $var3 = 0;
            var$8 = $this.$fire <= 0 ? 0 : 1;
            $ptr = 8;
            continue main;
        case 4:
            nms_World_playSoundAtEntity(var$1, $this, var$6, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
            $var3 = 0;
            var$9 = $var2 + 1.0;
            if ($var3 < 1.0 + $this.$width2 * 20.0) {
                $var4 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
                $var5 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
                var$1 = $this.$worldObj0;
                var$6 = $rt_s(1659);
                var$3 = $this.$posX + $var4;
                var$4 = $this.$posZ + $var5;
                var$12 = $this.$motionX;
                var$13 = $this.$motionY - ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
                var$14 = $this.$motionZ;
                $ptr = 7;
                continue main;
            }
            $var3 = 0;
            if ($var3 < 1.0 + $this.$width2 * 20.0) {
                $var4 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
                $var5 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
                var$1 = $this.$worldObj0;
                var$6 = $rt_s(1660);
                var$3 = $this.$posX + $var4;
                var$4 = $this.$posZ + $var5;
                var$12 = $this.$motionX;
                var$13 = $this.$motionY;
                var$14 = $this.$motionZ;
                $ptr = 9;
                continue main;
            }
            $this.$fallDistance = 0.0;
            $this.$inWater = 1;
            $this.$fire = 0;
            if ($this.$worldObj0.$multiplayerWorld)
                $this.$fire = 0;
            else {
                $var3 = $this.$fire;
                if ($var3 > 0) {
                    if ($this.$isImmuneToFire) {
                        $var3 = $var3 - 4 | 0;
                        $this.$fire = $var3;
                        if ($var3 < 0)
                            $this.$fire = 0;
                    } else {
                        if (!($var3 % 20 | 0)) {
                            var$1 = null;
                            $var3 = 1;
                            $ptr = 6;
                            continue main;
                        }
                        $this.$fire = $this.$fire - 1 | 0;
                    }
                }
            }
            $ptr = 2;
            continue main;
        case 5:
            $this.$kill();
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$worldObj0.$multiplayerWorld) {
                $this.$isFirstUpdate = 0;
                return;
            }
            $var3 = 0;
            var$8 = $this.$fire <= 0 ? 0 : 1;
            $ptr = 8;
            continue main;
        case 6:
            $this.$attackEntityFrom(var$1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$fire = $this.$fire - 1 | 0;
            $ptr = 2;
            continue main;
        case 7:
            nms_World_spawnParticle(var$1, var$6, var$3, var$9, var$4, var$12, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var3 + 1 | 0;
            if ($var3 < 1.0 + $this.$width2 * 20.0) {
                $var4 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
                $var5 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
                var$1 = $this.$worldObj0;
                var$6 = $rt_s(1659);
                var$3 = $this.$posX + $var4;
                var$4 = $this.$posZ + $var5;
                var$12 = $this.$motionX;
                var$13 = $this.$motionY - ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
                var$14 = $this.$motionZ;
                continue main;
            }
            $var3 = 0;
            if ($var3 < 1.0 + $this.$width2 * 20.0) {
                $var4 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
                $var5 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
                var$1 = $this.$worldObj0;
                var$6 = $rt_s(1660);
                var$3 = $this.$posX + $var4;
                var$4 = $this.$posZ + $var5;
                var$12 = $this.$motionX;
                var$13 = $this.$motionY;
                var$14 = $this.$motionZ;
                $ptr = 9;
                continue main;
            }
            $this.$fallDistance = 0.0;
            $this.$inWater = 1;
            $this.$fire = 0;
            if ($this.$worldObj0.$multiplayerWorld)
                $this.$fire = 0;
            else {
                $var3 = $this.$fire;
                if ($var3 > 0) {
                    if ($this.$isImmuneToFire) {
                        $var3 = $var3 - 4 | 0;
                        $this.$fire = $var3;
                        if ($var3 < 0)
                            $this.$fire = 0;
                    } else {
                        if (!($var3 % 20 | 0)) {
                            var$1 = null;
                            $var3 = 1;
                            $ptr = 6;
                            continue main;
                        }
                        $this.$fire = $this.$fire - 1 | 0;
                    }
                }
            }
            $ptr = 2;
            continue main;
        case 8:
            nms_Entity_setEntityFlag($this, $var3, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 2;
            var$8 = $this.$ridingEntity === null ? 0 : 1;
            $ptr = 10;
            continue main;
        case 9:
            nms_World_spawnParticle(var$1, var$6, var$3, var$9, var$4, var$12, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var3 + 1 | 0;
            if ($var3 < 1.0 + $this.$width2 * 20.0) {
                $var4 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
                $var5 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
                var$1 = $this.$worldObj0;
                var$6 = $rt_s(1660);
                var$3 = $this.$posX + $var4;
                var$4 = $this.$posZ + $var5;
                var$12 = $this.$motionX;
                var$13 = $this.$motionY;
                var$14 = $this.$motionZ;
                continue main;
            }
            $this.$fallDistance = 0.0;
            $this.$inWater = 1;
            $this.$fire = 0;
            if ($this.$worldObj0.$multiplayerWorld)
                $this.$fire = 0;
            else {
                $var3 = $this.$fire;
                if ($var3 > 0) {
                    if ($this.$isImmuneToFire) {
                        $var3 = $var3 - 4 | 0;
                        $this.$fire = $var3;
                        if ($var3 < 0)
                            $this.$fire = 0;
                    } else {
                        if (!($var3 % 20 | 0)) {
                            var$1 = null;
                            $var3 = 1;
                            $ptr = 6;
                            continue main;
                        }
                        $this.$fire = $this.$fire - 1 | 0;
                    }
                }
            }
            $ptr = 2;
            continue main;
        case 10:
            nms_Entity_setEntityFlag($this, $var3, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isFirstUpdate = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $var3, var$3, var$4, $var1, var$6, $var2, var$8, var$9, $var4, $var5, var$12, var$13, var$14, $ptr);
    }
    function nms_Entity_setOnFireFromLava($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$isImmuneToFire)
                return;
            var$1 = null;
            var$2 = 4;
            $ptr = 1;
        case 1:
            $this.$attackEntityFrom(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$fire = 600;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_Entity_kill($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $this.$setEntityDead0();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Entity_isOffsetPositionInLiquid($this, $var1, $var3, $var5) {
        var $var7, $var8, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var7 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, $var1, $var3, $var5);
            $var8 = $this.$worldObj0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getCollidingBoundingBoxes($var8, $this, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8.$size0 > 0)
                return 0;
            $var8 = $this.$worldObj0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getIsAnyLiquid($var8, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            return var$6 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, $var7, $var8, var$6, $ptr);
    }
    function nms_Entity_moveEntity($this, $var1, $var3, $var5) {
        var $var27, $var7, $var9, $var17, $var18, var$9, var$10, $var19, $var36, $var29, $var35, $var20, var$16, $var21, var$18, $var37, $var23, $var28, $var31, $var38, $var26, $var40, $var41, $var30, $var32, $var33, $var39, var$31, $var34, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var34 = $thread.pop();var$31 = $thread.pop();$var39 = $thread.pop();$var33 = $thread.pop();$var32 = $thread.pop();$var30 = $thread.pop();$var41 = $thread.pop();$var40 = $thread.pop();$var26 = $thread.pop();$var38 = $thread.pop();$var31 = $thread.pop();$var28 = $thread.pop();$var23 = $thread.pop();$var37 = $thread.pop();var$18 = $thread.pop();$var21 = $thread.pop();var$16 = $thread.pop();$var20 = $thread.pop();$var35 = $thread.pop();$var29 = $thread.pop();$var36 = $thread.pop();$var19
            = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var27 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$noClip) {
                nms_AxisAlignedBB_offset($this.$boundingBox, $var1, $var3, $var5);
                $var27 = $this.$boundingBox;
                $this.$posX = ($var27.$minX0 + $var27.$maxX0) / 2.0;
                $this.$posY = $var27.$minY0 + $this.$yOffset - $this.$ySize;
                $this.$posZ = ($var27.$minZ0 + $var27.$maxZ0) / 2.0;
                return;
            }
            $var7 = $this.$posX;
            $var9 = $this.$posZ;
            $var17 = nms_AxisAlignedBB_copy($this.$boundingBox);
            if ($this.$onGround0) {
                $ptr = 1;
                continue main;
            }
            $var18 = 0;
            if (!$var18) {
                var$9 = $var1;
                var$10 = $var5;
            } else {
                $var19 = 0.05;
                var$9 = $var1;
                $var36 = $rt_compare($var1, 0.0);
                if ($var36) {
                    $var27 = $this.$worldObj0;
                    $var29 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, $var1, (-1.0), 0.0);
                    $ptr = 3;
                    continue main;
                }
                var$10 = $var5;
                $var36 = $rt_compare($var5, 0.0);
                if ($var36) {
                    $var27 = $this.$worldObj0;
                    $var29 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, 0.0, (-1.0), $var5);
                    $ptr = 4;
                    continue main;
                }
            }
            $var27 = $this.$worldObj0;
            $var29 = nms_AxisAlignedBB_addCoord($this.$boundingBox, $var1, $var3, $var5);
            $ptr = 2;
            continue main;
        case 1:
            $tmp = $this.$isSneaking();
            if ($rt_suspending()) {
                break main;
            }
            $var36 = $tmp;
            $var18 = !$var36 ? 0 : 1;
            if (!$var18) {
                var$9 = $var1;
                var$10 = $var5;
            } else {
                $var19 = 0.05;
                var$9 = $var1;
                $var36 = $rt_compare($var1, 0.0);
                if ($var36) {
                    $var27 = $this.$worldObj0;
                    $var29 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, $var1, (-1.0), 0.0);
                    $ptr = 3;
                    continue main;
                }
                var$10 = $var5;
                $var36 = $rt_compare($var5, 0.0);
                if ($var36) {
                    $var27 = $this.$worldObj0;
                    $var29 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, 0.0, (-1.0), $var5);
                    $ptr = 4;
                    continue main;
                }
            }
            $var27 = $this.$worldObj0;
            $var29 = nms_AxisAlignedBB_addCoord($this.$boundingBox, $var1, $var3, $var5);
            $ptr = 2;
        case 2:
            $tmp = nms_World_getCollidingBoundingBoxes($var27, $this, $var29);
            if ($rt_suspending()) {
                break main;
            }
            $var35 = $tmp;
            $var20 = 0;
            var$16 = $var3;
            while ($var20 < ju_ArrayList_size($var35)) {
                var$16 = nms_AxisAlignedBB_calculateYOffset(ju_ArrayList_get($var35, $var20), $this.$boundingBox, var$16);
                $var20 = $var20 + 1 | 0;
            }
            nms_AxisAlignedBB_offset($this.$boundingBox, 0.0, var$16, 0.0);
            if (!$this.$field_9293_aM && $var3 !== var$16) {
                $var1 = 0.0;
                $var5 = $var1;
                var$16 = $var1;
            }
            a: {
                b: {
                    if (!$this.$onGround0) {
                        if ($var3 === var$16)
                            break b;
                        if ($var3 >= 0.0)
                            break b;
                    }
                    $var36 = 1;
                    break a;
                }
                $var36 = 0;
            }
            $var21 = 0;
            while ($var21 < ju_ArrayList_size($var35)) {
                $var1 = nms_AxisAlignedBB_calculateXOffset(ju_ArrayList_get($var35, $var21), $this.$boundingBox, $var1);
                $var21 = $var21 + 1 | 0;
            }
            nms_AxisAlignedBB_offset($this.$boundingBox, $var1, 0.0, 0.0);
            if (!$this.$field_9293_aM && var$9 !== $var1) {
                $var1 = 0.0;
                $var5 = $var1;
                var$16 = $var1;
            }
            $var21 = 0;
            while ($var21 < ju_ArrayList_size($var35)) {
                $var5 = nms_AxisAlignedBB_calculateZOffset(ju_ArrayList_get($var35, $var21), $this.$boundingBox, $var5);
                $var21 = $var21 + 1 | 0;
            }
            nms_AxisAlignedBB_offset($this.$boundingBox, 0.0, 0.0, $var5);
            if (!$this.$field_9293_aM && var$10 !== $var5) {
                $var1 = 0.0;
                $var5 = $var1;
                var$16 = $var1;
            }
            c: {
                var$18 = $this.$stepHeight;
                if (var$18 <= 0.0) {
                    $var19 = $var1;
                    $var37 = var$16;
                    $var23 = $var5;
                } else if (!$var36) {
                    $var19 = $var1;
                    $var37 = var$16;
                    $var23 = $var5;
                } else if ($this.$ySize >= 0.05000000074505806) {
                    $var19 = $var1;
                    $var37 = var$16;
                    $var23 = $var5;
                } else {
                    if (var$9 !== $var1)
                        break c;
                    if (var$10 !== $var5)
                        break c;
                    $var19 = $var1;
                    $var37 = var$16;
                    $var23 = $var5;
                }
                $var27 = $this.$boundingBox;
                $this.$posX = ($var27.$minX0 + $var27.$maxX0) / 2.0;
                $this.$posY = $var27.$minY0 + $this.$yOffset - $this.$ySize;
                $this.$posZ = ($var27.$minZ0 + $var27.$maxZ0) / 2.0;
                $var21 = $rt_compare(var$9, $var19);
                $var28 = !$var21 && var$10 === $var23 ? 0 : 1;
                $this.$isCollidedHorizontally = $var28;
                $var36 = $rt_compare($var3, $var37);
                $var20 = !$var36 ? 0 : 1;
                $this.$isCollidedVertically = $var20;
                $var31 = $var36 && $var3 < 0.0 ? 1 : 0;
                $this.$onGround0 = $var31;
                $this.$isCollided = !$var28 && !$var20 ? 0 : 1;
                $ptr = 6;
                continue main;
            }
            $var37 = var$18;
            $var27 = nms_AxisAlignedBB_copy($this.$boundingBox);
            nms_AxisAlignedBB_setBB($this.$boundingBox, $var17);
            $var29 = $this.$worldObj0;
            $var17 = nms_AxisAlignedBB_addCoord($this.$boundingBox, var$9, $var37, var$10);
            $ptr = 5;
            continue main;
        case 3:
            $tmp = nms_World_getCollidingBoundingBoxes($var27, $this, $var29);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = $tmp;
            if (ju_ArrayList_size($var27))
                var$10 = $var5;
            else {
                $var1 = $var1 < $var19 && $var1 >= (-0.05) ? 0.0 : $var36 <= 0 ? $var1 + $var19 : $var1 - $var19;
                var$9 = $var1;
                $var36 = $rt_compare($var1, 0.0);
                if ($var36) {
                    $var27 = $this.$worldObj0;
                    $var29 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, $var1, (-1.0), 0.0);
                    continue main;
                }
                var$10 = $var5;
            }
            $var36 = $rt_compare($var5, 0.0);
            if (!$var36) {
                $var27 = $this.$worldObj0;
                $var29 = nms_AxisAlignedBB_addCoord($this.$boundingBox, $var1, $var3, $var5);
                $ptr = 2;
                continue main;
            }
            $var27 = $this.$worldObj0;
            $var29 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, 0.0, (-1.0), $var5);
            $ptr = 4;
        case 4:
            $tmp = nms_World_getCollidingBoundingBoxes($var27, $this, $var29);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = $tmp;
            if (!ju_ArrayList_size($var27)) {
                $var5 = $var5 < $var19 && $var5 >= (-0.05) ? 0.0 : $var36 <= 0 ? $var5 + $var19 : $var5 - $var19;
                var$10 = $var5;
                $var36 = $rt_compare($var5, 0.0);
                if ($var36) {
                    $var27 = $this.$worldObj0;
                    $var29 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, 0.0, (-1.0), $var5);
                    continue main;
                }
            }
            $var27 = $this.$worldObj0;
            $var29 = nms_AxisAlignedBB_addCoord($this.$boundingBox, $var1, $var3, $var5);
            $ptr = 2;
            continue main;
        case 5:
            $tmp = nms_World_getCollidingBoundingBoxes($var29, $this, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var35 = $tmp;
            $var28 = 0;
            while ($var28 < ju_ArrayList_size($var35)) {
                $var37 = nms_AxisAlignedBB_calculateYOffset(ju_ArrayList_get($var35, $var28), $this.$boundingBox, $var37);
                $var28 = $var28 + 1 | 0;
            }
            nms_AxisAlignedBB_offset($this.$boundingBox, 0.0, $var37, 0.0);
            if ($this.$field_9293_aM) {
                $var23 = var$10;
                $var19 = var$9;
            } else if ($var3 === $var37) {
                $var23 = var$10;
                $var19 = var$9;
            } else {
                $var19 = 0.0;
                $var23 = $var19;
                $var37 = $var19;
            }
            $var21 = 0;
            while ($var21 < ju_ArrayList_size($var35)) {
                $var19 = nms_AxisAlignedBB_calculateXOffset(ju_ArrayList_get($var35, $var21), $this.$boundingBox, $var19);
                $var21 = $var21 + 1 | 0;
            }
            nms_AxisAlignedBB_offset($this.$boundingBox, $var19, 0.0, 0.0);
            if (!$this.$field_9293_aM && var$9 !== $var19) {
                $var19 = 0.0;
                $var23 = $var19;
                $var37 = $var19;
            }
            $var21 = 0;
            while ($var21 < ju_ArrayList_size($var35)) {
                $var23 = nms_AxisAlignedBB_calculateZOffset(ju_ArrayList_get($var35, $var21), $this.$boundingBox, $var23);
                $var21 = $var21 + 1 | 0;
            }
            nms_AxisAlignedBB_offset($this.$boundingBox, 0.0, 0.0, $var23);
            if (!$this.$field_9293_aM && var$10 !== $var23) {
                $var19 = 0.0;
                $var23 = $var19;
                $var37 = $var19;
            }
            if ($var1 * $var1 + $var5 * $var5 >= $var19 * $var19 + $var23 * $var23) {
                nms_AxisAlignedBB_setBB($this.$boundingBox, $var27);
                $var19 = $var1;
                $var37 = var$16;
                $var23 = $var5;
            } else
                $this.$ySize = $this.$ySize + 0.5;
            $var27 = $this.$boundingBox;
            $this.$posX = ($var27.$minX0 + $var27.$maxX0) / 2.0;
            $this.$posY = $var27.$minY0 + $this.$yOffset - $this.$ySize;
            $this.$posZ = ($var27.$minZ0 + $var27.$maxZ0) / 2.0;
            $var21 = $rt_compare(var$9, $var19);
            $var28 = !$var21 && var$10 === $var23 ? 0 : 1;
            $this.$isCollidedHorizontally = $var28;
            $var36 = $rt_compare($var3, $var37);
            $var20 = !$var36 ? 0 : 1;
            $this.$isCollidedVertically = $var20;
            $var31 = $var36 && $var3 < 0.0 ? 1 : 0;
            $this.$onGround0 = $var31;
            $this.$isCollided = !$var28 && !$var20 ? 0 : 1;
            $ptr = 6;
        case 6:
            nms_Entity_updateFallState($this, $var37, $var31);
            if ($rt_suspending()) {
                break main;
            }
            if ($var21)
                $this.$motionX = 0.0;
            if ($var36)
                $this.$motionY = 0.0;
            if (var$10 !== $var23)
                $this.$motionZ = 0.0;
            $var37 = $this.$posX - $var7;
            $var23 = $this.$posZ - $var9;
            if ($this.$canTriggerWalking() && !$var18) {
                $this.$distanceWalkedModified = $this.$distanceWalkedModified + nms_MathHelper_sqrt_double($var37 * $var37 + $var23 * $var23) * 0.6;
                $var38 = nms_MathHelper_floor_double($this.$posX);
                $var26 = nms_MathHelper_floor_double($this.$posY - 0.20000000298023224 - $this.$yOffset);
                $var40 = nms_MathHelper_floor_double($this.$posZ);
                $var27 = $this.$worldObj0;
                $ptr = 10;
                continue main;
            }
            $var31 = nms_MathHelper_floor_double($this.$boundingBox.$minX0);
            $var26 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
            $var40 = nms_MathHelper_floor_double($this.$boundingBox.$minZ0);
            $var28 = nms_MathHelper_floor_double($this.$boundingBox.$maxX0);
            $var41 = nms_MathHelper_floor_double($this.$boundingBox.$maxY0);
            $var30 = nms_MathHelper_floor_double($this.$boundingBox.$maxZ0);
            $var27 = $this.$worldObj0;
            $ptr = 7;
        case 7:
            d: {
                $tmp = nms_World_checkChunksExist($var27, $var31, $var26, $var40, $var28, $var41, $var30);
                if ($rt_suspending()) {
                    break main;
                }
                $var36 = $tmp;
                if ($var36) {
                    e: while (true) {
                        if ($var31 > $var28)
                            break d;
                        $var32 = $var26;
                        while ($var32 <= $var41) {
                            $var33 = $var40;
                            if ($var33 <= $var30)
                                break e;
                            $var32 = $var32 + 1 | 0;
                        }
                        $var31 = $var31 + 1 | 0;
                    }
                    $var27 = $this.$worldObj0;
                    $ptr = 20;
                    continue main;
                }
            }
            $this.$ySize = $this.$ySize * 0.4000000059604645;
            $ptr = 8;
        case 8:
            $tmp = $this.$handleWaterMovement();
            if ($rt_suspending()) {
                break main;
            }
            $var39 = $tmp;
            $var27 = $this.$worldObj0;
            $var29 = $this.$boundingBox;
            $ptr = 9;
        case 9:
            $tmp = nms_World_isBoundingBoxBurning($var27, $var29);
            if ($rt_suspending()) {
                break main;
            }
            $var36 = $tmp;
            if ($var36) {
                $var36 = 1;
                $ptr = 11;
                continue main;
            }
            if ($this.$fire <= 0)
                $this.$fire =  -$this.$fireResistance | 0;
            if ($var39 && $this.$fire > 0) {
                $var27 = $this.$worldObj0;
                $var29 = $rt_s(916);
                var$18 = 0.699999988079071;
                var$31 = 1.600000023841858 + (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.4000000059604645;
                $ptr = 16;
                continue main;
            }
            return;
        case 10:
            $tmp = nms_World_getBlockId($var27, $var38, $var26, $var40);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $tmp;
            var$18 = $this.$distanceWalkedModified;
            $var36 = $this.$nextStepDistance;
            if (var$18 > $var36 && $var28 > 0) {
                $this.$nextStepDistance = $var36 + 1 | 0;
                $ptr = 12;
                continue main;
            }
            $var31 = nms_MathHelper_floor_double($this.$boundingBox.$minX0);
            $var26 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
            $var40 = nms_MathHelper_floor_double($this.$boundingBox.$minZ0);
            $var28 = nms_MathHelper_floor_double($this.$boundingBox.$maxX0);
            $var41 = nms_MathHelper_floor_double($this.$boundingBox.$maxY0);
            $var30 = nms_MathHelper_floor_double($this.$boundingBox.$maxZ0);
            $var27 = $this.$worldObj0;
            $ptr = 7;
            continue main;
        case 11:
            $this.$dealFireDamage($var36);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var39) {
                $var36 = $this.$fire + 1 | 0;
                $this.$fire = $var36;
                if (!$var36)
                    $this.$fire = 300;
            }
            if ($var39 && $this.$fire > 0) {
                $var27 = $this.$worldObj0;
                $var29 = $rt_s(916);
                var$18 = 0.699999988079071;
                var$31 = 1.600000023841858 + (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.4000000059604645;
                $ptr = 16;
                continue main;
            }
            return;
        case 12:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var29 = nms_Block_blocksList.data[$var28].$stepSound;
            $var27 = $this.$worldObj0;
            $var36 = $var26 + 1 | 0;
            $ptr = 13;
        case 13:
            $tmp = nms_World_getBlockId($var27, $var38, $var36, $var40);
            if ($rt_suspending()) {
                break main;
            }
            $var36 = $tmp;
            $var27 = nms_Block_snow;
            if ($var36 == $var27.$blockID) {
                $var27 = $var27.$stepSound;
                $var29 = $this.$worldObj0;
                $ptr = 14;
                continue main;
            }
            if (!nms_Block_blocksList.data[$var28].$blockMaterial.$getIsLiquid()) {
                $var27 = $this.$worldObj0;
                $ptr = 18;
                continue main;
            }
            $var27 = nms_Block_blocksList.data[$var28];
            $var29 = $this.$worldObj0;
            $ptr = 17;
            continue main;
        case 14:
            $tmp = nms_StepSound_func_1145_d($var27);
            if ($rt_suspending()) {
                break main;
            }
            $var17 = $tmp;
            var$18 = nms_StepSound_func_1147_b($var27) * 0.15000000596046448;
            var$31 = nms_StepSound_func_1144_c($var27);
            $ptr = 15;
        case 15:
            nms_World_playSoundAtEntity($var29, $this, $var17, var$18, var$31);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = nms_Block_blocksList.data[$var28];
            $var29 = $this.$worldObj0;
            $ptr = 17;
            continue main;
        case 16:
            nms_World_playSoundAtEntity($var27, $this, $var29, var$18, var$31);
            if ($rt_suspending()) {
                break main;
            }
            $this.$fire =  -$this.$fireResistance | 0;
            return;
        case 17:
            $var27.$onEntityWalking($var29, $var38, $var26, $var40, $this);
            if ($rt_suspending()) {
                break main;
            }
            $var31 = nms_MathHelper_floor_double($this.$boundingBox.$minX0);
            $var26 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
            $var40 = nms_MathHelper_floor_double($this.$boundingBox.$minZ0);
            $var28 = nms_MathHelper_floor_double($this.$boundingBox.$maxX0);
            $var41 = nms_MathHelper_floor_double($this.$boundingBox.$maxY0);
            $var30 = nms_MathHelper_floor_double($this.$boundingBox.$maxZ0);
            $var27 = $this.$worldObj0;
            $ptr = 7;
            continue main;
        case 18:
            $tmp = nms_StepSound_func_1145_d($var29);
            if ($rt_suspending()) {
                break main;
            }
            $var17 = $tmp;
            var$18 = nms_StepSound_func_1147_b($var29) * 0.15000000596046448;
            var$31 = nms_StepSound_func_1144_c($var29);
            $ptr = 19;
        case 19:
            nms_World_playSoundAtEntity($var27, $this, $var17, var$18, var$31);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = nms_Block_blocksList.data[$var28];
            $var29 = $this.$worldObj0;
            $ptr = 17;
            continue main;
        case 20:
            $tmp = nms_World_getBlockId($var27, $var31, $var32, $var33);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $tmp;
            if ($var34 > 0) {
                $ptr = 21;
                continue main;
            }
            $var33 = $var33 + 1 | 0;
            while ($var33 > $var30) {
                $var32 = $var32 + 1 | 0;
                while ($var32 > $var41) {
                    $var31 = $var31 + 1 | 0;
                    if ($var31 > $var28) {
                        $this.$ySize = $this.$ySize * 0.4000000059604645;
                        $ptr = 8;
                        continue main;
                    }
                    $var32 = $var26;
                }
                $var33 = $var40;
            }
            $var27 = $this.$worldObj0;
            continue main;
        case 21:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var27 = nms_Block_blocksList.data[$var34];
            $var29 = $this.$worldObj0;
            $ptr = 22;
        case 22:
            $var27.$onEntityCollidedWithBlock($var29, $var31, $var32, $var33, $this);
            if ($rt_suspending()) {
                break main;
            }
            $var33 = $var33 + 1 | 0;
            while ($var33 > $var30) {
                $var32 = $var32 + 1 | 0;
                while ($var32 > $var41) {
                    $var31 = $var31 + 1 | 0;
                    if ($var31 > $var28) {
                        $this.$ySize = $this.$ySize * 0.4000000059604645;
                        $ptr = 8;
                        continue main;
                    }
                    $var32 = $var26;
                }
                $var33 = $var40;
            }
            $var27 = $this.$worldObj0;
            $ptr = 20;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, $var27, $var7, $var9, $var17, $var18, var$9, var$10, $var19, $var36, $var29, $var35, $var20, var$16, $var21, var$18, $var37, $var23, $var28, $var31, $var38, $var26, $var40, $var41, $var30, $var32, $var33, $var39, var$31, $var34, $ptr);
    }
    function nms_Entity_canTriggerWalking($this) {
        return 1;
    }
    function nms_Entity_updateFallState($this, $var1, $var3) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var3) {
                var$3 = $this.$fallDistance;
                if (var$3 > 0.0) {
                    $ptr = 1;
                    continue main;
                }
            } else if ($var1 < 0.0)
                $this.$fallDistance = $this.$fallDistance - $var1;
            return;
        case 1:
            $this.$fall(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$fallDistance = 0.0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, var$3, $ptr);
    }
    function nms_Entity_getBoundingBox($this) {
        return null;
    }
    function nms_Entity_dealFireDamage($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$isImmuneToFire)
                return;
            var$2 = null;
            $ptr = 1;
        case 1:
            $this.$attackEntityFrom(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Entity_fall($this, $var1) {}
    function nms_Entity_handleWaterMovement($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$worldObj0;
            var$2 = nms_AxisAlignedBB_expand($this.$boundingBox, 0.0, (-0.4000000059604645), 0.0);
            nms_Material_$callClinit();
            var$3 = nms_Material_water;
            $ptr = 1;
        case 1:
            $tmp = nms_World_handleMaterialAcceleration(var$1, var$2, var$3, $this);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return var$4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_Entity_isInsideOfMaterial($this, $var1) {
        var $var2, $var4, $var5, $var6, var$6, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();var$6 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $this.$posY + $this.$getEyeHeight();
            $var4 = nms_MathHelper_floor_double($this.$posX);
            $var5 = nms_MathHelper_floor_float(nms_MathHelper_floor_double($var2));
            $var6 = nms_MathHelper_floor_double($this.$posZ);
            var$6 = $this.$worldObj0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId(var$6, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if (!$var7)
                return 0;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nms_Block_blocksList.data[$var7].$blockMaterial !== $var1)
                return 0;
            $var1 = $this.$worldObj0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockMetadata($var1, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            return $var2 >= ($var5 + 1 | 0) - (nms_BlockFluids_getPercentAir($var4) - 0.1111111119389534) ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var5, $var6, var$6, $var7, $ptr);
    }
    function nms_Entity_getEyeHeight($this) {
        return 0.0;
    }
    function nms_Entity_handleLavaMovement($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$worldObj0;
            var$2 = nms_AxisAlignedBB_expand($this.$boundingBox, (-0.10000000149011612), (-0.4000000059604645), (-0.10000000149011612));
            nms_Material_$callClinit();
            var$3 = nms_Material_lava;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isMaterialInBB(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return var$4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_Entity_moveFlying($this, $var1, $var2, $var3) {
        var $var4, $var5, $var6;
        $var4 = nms_MathHelper_sqrt_float($var1 * $var1 + $var2 * $var2);
        if ($var4 >= 0.009999999776482582) {
            if ($var4 < 1.0)
                $var4 = 1.0;
            $var3 = $var3 / $var4;
            $var1 = $var1 * $var3;
            $var2 = $var2 * $var3;
            $var5 = nms_MathHelper_sin($this.$rotationYaw * 3.1415927410125732 / 180.0);
            $var6 = nms_MathHelper_cos($this.$rotationYaw * 3.1415927410125732 / 180.0);
            $this.$motionX = $this.$motionX + $var1 * $var6 - $var2 * $var5;
            $this.$motionZ = $this.$motionZ + $var2 * $var6 + $var1 * $var5;
        }
    }
    function nms_Entity_getEntityBrightness($this, $var1) {
        var $var2, var$3, $var3, $var5, $var6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = nms_MathHelper_floor_double($this.$posX);
            var$3 = $this.$boundingBox;
            $var3 = (var$3.$maxY0 - var$3.$minY0) * 0.66;
            $var5 = nms_MathHelper_floor_double($this.$posY - $this.$yOffset + $var3);
            $var6 = nms_MathHelper_floor_double($this.$posZ);
            var$7 = $this.$worldObj0;
            var$8 = nms_MathHelper_floor_double($this.$boundingBox.$minX0);
            var$9 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
            var$10 = nms_MathHelper_floor_double($this.$boundingBox.$minZ0);
            var$11 = nms_MathHelper_floor_double($this.$boundingBox.$maxX0);
            var$12 = nms_MathHelper_floor_double($this.$boundingBox.$maxY0);
            var$13 = nms_MathHelper_floor_double($this.$boundingBox.$maxZ0);
            $ptr = 1;
        case 1:
            $tmp = nms_World_checkChunksExist(var$7, var$8, var$9, var$10, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            if (!var$11)
                return 0.0;
            var$3 = $this.$worldObj0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getLightBrightness(var$3, $var2, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, $var5, $var6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
    }
    function nms_Entity_setWorld($this, $var1) {
        $this.$worldObj0 = $var1;
    }
    function nms_Entity_setPositionAndRotation($this, $var1, $var3, $var5, $var7, $var8) {
        var $var9;
        $this.$posX = $var1;
        $this.$prevPosX = $var1;
        $this.$posY = $var3;
        $this.$prevPosY = $var3;
        $this.$posZ = $var5;
        $this.$prevPosZ = $var5;
        $this.$rotationYaw = $var7;
        $this.$prevRotationYaw = $var7;
        $this.$rotationPitch = $var8;
        $this.$prevRotationPitch = $var8;
        $this.$ySize = 0.0;
        $var9 = $var7 - $var7;
        if ($var9 < (-180.0))
            $this.$prevRotationYaw = $var7 + 360.0;
        if ($var9 >= 180.0)
            $this.$prevRotationYaw = $this.$prevRotationYaw - 360.0;
        nms_Entity_setPosition($this, $var1, $var3, $var5);
        nms_Entity_setRotation($this, $var7, $var8);
    }
    function nms_Entity_setLocationAndAngles($this, $var1, $var3, $var5, $var7, $var8) {
        $this.$posX = $var1;
        $this.$prevPosX = $var1;
        $this.$lastTickPosX = $var1;
        $var3 = $var3 + $this.$yOffset;
        $this.$posY = $var3;
        $this.$prevPosY = $var3;
        $this.$lastTickPosY = $var3;
        $this.$posZ = $var5;
        $this.$prevPosZ = $var5;
        $this.$lastTickPosZ = $var5;
        $this.$rotationYaw = $var7;
        $this.$rotationPitch = $var8;
        nms_Entity_setPosition($this, $var1, $var3, $var5);
    }
    function nms_Entity_getDistanceToEntity($this, $var1) {
        var $var2, $var3, $var4;
        $var2 = $this.$posX - $var1.$posX;
        $var3 = $this.$posY - $var1.$posY;
        $var4 = $this.$posZ - $var1.$posZ;
        return nms_MathHelper_sqrt_float($var2 * $var2 + $var3 * $var3 + $var4 * $var4);
    }
    function nms_Entity_getDistanceSq($this, $var1, $var3, $var5) {
        var $var7, $var9, $var11;
        $var7 = $this.$posX - $var1;
        $var9 = $this.$posY - $var3;
        $var11 = $this.$posZ - $var5;
        return $var7 * $var7 + $var9 * $var9 + $var11 * $var11;
    }
    function nms_Entity_getDistance($this, $var1, $var3, $var5) {
        var $var7, $var9, $var11;
        $var7 = $this.$posX - $var1;
        $var9 = $this.$posY - $var3;
        $var11 = $this.$posZ - $var5;
        return nms_MathHelper_sqrt_double($var7 * $var7 + $var9 * $var9 + $var11 * $var11);
    }
    function nms_Entity_getDistanceSqToEntity($this, $var1) {
        var $var2, $var4, $var6;
        $var2 = $this.$posX - $var1.$posX;
        $var4 = $this.$posY - $var1.$posY;
        $var6 = $this.$posZ - $var1.$posZ;
        return $var2 * $var2 + $var4 * $var4 + $var6 * $var6;
    }
    function nms_Entity_onCollideWithPlayer($this, $var1) {}
    function nms_Entity_applyEntityCollision($this, $var1) {
        var $var2, $var4, $var6, $var6_0, $var8;
        if ($var1.$riddenByEntity !== $this && $var1.$ridingEntity !== $this) {
            $var2 = $var1.$posX - $this.$posX;
            $var4 = $var1.$posZ - $this.$posZ;
            $var6 = $var2 < 0.0 ?  -$var2 : $var2;
            $var6_0 = $var4 < 0.0 ?  -$var4 : $var4;
            if ($var6 > $var6_0)
                $var6_0 = $var6;
            if ($var6_0 >= 0.009999999776482582) {
                $var6 = nms_MathHelper_sqrt_double($var6_0);
                $var2 = $var2 / $var6;
                $var6_0 = $var4 / $var6;
                $var8 = 1.0 / $var6;
                if ($var8 > 1.0)
                    $var8 = 1.0;
                $var2 = $var2 * $var8;
                $var6 = $var6_0 * $var8;
                $var2 = $var2 * 0.05000000074505806;
                $var6 = $var6 * 0.05000000074505806;
                $var6_0 = 1.0 - $this.$entityCollisionReduction;
                $var2 = $var2 * $var6_0;
                $var6 = $var6 * $var6_0;
                nms_Entity_addVelocity($this,  -$var2, 0.0,  -$var6);
                nms_Entity_addVelocity($var1, $var2, 0.0, $var6);
            }
        }
    }
    function nms_Entity_addVelocity($this, $var1, $var3, $var5) {
        $this.$motionX = $this.$motionX + $var1;
        $this.$motionY = $this.$motionY + $var3;
        $this.$motionZ = $this.$motionZ + $var5;
    }
    function nms_Entity_setBeenAttacked($this) {
        $this.$beenAttacked = 1;
    }
    function nms_Entity_attackEntityFrom($this, $var1, $var2) {
        nms_Entity_setBeenAttacked($this);
        return 0;
    }
    function nms_Entity_canBeCollidedWith($this) {
        return 0;
    }
    function nms_Entity_canBePushed($this) {
        return 0;
    }
    function nms_Entity_addToPlayerScore($this, $var1, $var2) {}
    function nms_Entity_isInRangeToRenderVec3D($this, $var1) {
        var $var2, $var4, $var6;
        $var2 = $this.$posX - $var1.$xCoord;
        $var4 = $this.$posY - $var1.$yCoord;
        $var6 = $this.$posZ - $var1.$zCoord;
        return $this.$isInRangeToRenderDist($var2 * $var2 + $var4 * $var4 + $var6 * $var6);
    }
    function nms_Entity_isInRangeToRenderDist($this, $var1) {
        var var$2;
        var$2 = nms_AxisAlignedBB_getAverageEdgeLength($this.$boundingBox) * 64.0 * $this.$renderDistanceWeight;
        return $var1 >= var$2 * var$2 ? 0 : 1;
    }
    function nms_Entity_addEntityID($this, $var1) {
        var $var2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_Entity_getEntityString($this);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if (!$this.$isDead && $var2 !== null) {
                var$3 = $rt_s(940);
                $ptr = 2;
                continue main;
            }
            return 0;
        case 2:
            nms_NBTTagCompound_setString($var1, var$3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_Entity_writeToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_Entity_writeToNBT($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(1661);
            var$3 = nms_Entity_newDoubleNBTList($this, $rt_createDoubleArrayFromData([$this.$posX, $this.$posY, $this.$posZ]));
            $ptr = 1;
        case 1:
            nms_NBTTagCompound_setTag($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1662);
            var$3 = nms_Entity_newDoubleNBTList($this, $rt_createDoubleArrayFromData([$this.$motionX, $this.$motionY, $this.$motionZ]));
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setTag($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1663);
            var$3 = nms_Entity_func_377_a($this, $rt_createFloatArrayFromData([$this.$rotationYaw, $this.$rotationPitch]));
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setTag($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1664);
            var$4 = $this.$fallDistance;
            var$5 = $var1.$tagMap;
            var$3 = nms_NBTTagFloat__init_1(var$4);
            var$3.$key = var$2;
            $ptr = 4;
        case 4:
            ju_HashMap_putImpl(var$5, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1665);
            var$6 = $this.$fire << 16 >> 16;
            $ptr = 5;
        case 5:
            nms_NBTTagCompound_setShort($var1, var$2, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1666);
            var$6 = $this.$air << 16 >> 16;
            $ptr = 6;
        case 6:
            nms_NBTTagCompound_setShort($var1, var$2, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1667);
            var$6 = $this.$onGround0;
            $ptr = 7;
        case 7:
            nms_NBTTagCompound_setBoolean($var1, var$2, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $this.$writeEntityToNBT($var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_Entity_readFromNBT($this, $var1) {
        var $var4, $var2, $var3, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var4 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = $rt_s(1661);
            $ptr = 1;
        case 1:
            $tmp = nms_NBTTagCompound_getTagList($var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var4 = $rt_s(1662);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getTagList($var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var4 = $rt_s(1663);
            $ptr = 3;
        case 3:
            $tmp = nms_NBTTagCompound_getTagList($var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            nms_Entity_setPosition($this, 0.0, 0.0, 0.0);
            $this.$motionX = (nms_NBTTagList_tagAt($var3, 0)).$doubleValue;
            $this.$motionY = (nms_NBTTagList_tagAt($var3, 1)).$doubleValue;
            $this.$motionZ = (nms_NBTTagList_tagAt($var3, 2)).$doubleValue;
            if (jl_Math_abs1($this.$motionX) > 10.0)
                $this.$motionX = 0.0;
            if (jl_Math_abs1($this.$motionY) > 10.0)
                $this.$motionY = 0.0;
            if (jl_Math_abs1($this.$motionZ) > 10.0)
                $this.$motionZ = 0.0;
            var$5 = (nms_NBTTagList_tagAt($var2, 0)).$doubleValue;
            $this.$posX = var$5;
            $this.$lastTickPosX = var$5;
            $this.$prevPosX = var$5;
            var$5 = (nms_NBTTagList_tagAt($var2, 1)).$doubleValue;
            $this.$posY = var$5;
            $this.$lastTickPosY = var$5;
            $this.$prevPosY = var$5;
            var$5 = (nms_NBTTagList_tagAt($var2, 2)).$doubleValue;
            $this.$posZ = var$5;
            $this.$lastTickPosZ = var$5;
            $this.$prevPosZ = var$5;
            var$6 = (nms_NBTTagList_tagAt($var4, 0)).$floatValue % 6.2831854820251465;
            $this.$rotationYaw = var$6;
            $this.$prevRotationYaw = var$6;
            var$6 = (nms_NBTTagList_tagAt($var4, 1)).$floatValue % 6.2831854820251465;
            $this.$rotationPitch = var$6;
            $this.$prevRotationPitch = var$6;
            $var4 = $rt_s(1664);
            $var2 = $var1.$tagMap;
            $ptr = 4;
        case 4:
            $tmp = ju_HashMap_containsKey($var2, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7) {
                $var2 = $var1.$tagMap;
                $ptr = 5;
                continue main;
            }
            $this.$fallDistance = 0.0;
            $var4 = $rt_s(1665);
            $ptr = 6;
            continue main;
        case 5:
            $tmp = ju_HashMap_get($var2, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $this.$fallDistance = $var4.$floatValue;
            $var4 = $rt_s(1665);
            $ptr = 6;
        case 6:
            $tmp = nms_NBTTagCompound_getShort($var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $this.$fire = var$7;
            $var4 = $rt_s(1666);
            $ptr = 7;
        case 7:
            $tmp = nms_NBTTagCompound_getShort($var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $this.$air = var$7;
            $var4 = $rt_s(1667);
            $ptr = 8;
        case 8:
            $tmp = nms_NBTTagCompound_getBoolean($var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $this.$onGround0 = var$7;
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
            $ptr = 9;
        case 9:
            $this.$readEntityFromNBT($var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var4, $var2, $var3, var$5, var$6, var$7, $ptr);
    }
    function nms_Entity_getEntityString($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_EntityList_classToStringMapping;
            var$2 = jl_Object_getClass($this);
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_Entity_newDoubleNBTList($this, $var1) {
        var $var2, $var4, $var5;
        $var1 = $var1.data;
        $var2 = nms_NBTTagList__init_0();
        $var4 = $var1.length;
        $var5 = 0;
        while ($var5 < $var4) {
            nms_NBTTagList_setTag($var2, nms_NBTTagDouble__init_0($var1[$var5]));
            $var5 = $var5 + 1 | 0;
        }
        return $var2;
    }
    function nms_Entity_func_377_a($this, $var1) {
        var $var2, $var4, $var5;
        $var1 = $var1.data;
        $var2 = nms_NBTTagList__init_0();
        $var4 = $var1.length;
        $var5 = 0;
        while ($var5 < $var4) {
            nms_NBTTagList_setTag($var2, nms_NBTTagFloat__init_1($var1[$var5]));
            $var5 = $var5 + 1 | 0;
        }
        return $var2;
    }
    function nms_Entity_getShadowSize($this) {
        return $this.$height4 / 2.0;
    }
    function nms_Entity_dropItem($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = 0.0;
            $ptr = 1;
        case 1:
            $tmp = nms_Entity_dropItemWithOffset($this, $var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return var$4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_Entity_dropItemWithOffset($this, $var1, $var2, $var3) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = nms_ItemStack__init_7($var1, $var2, 0);
            $ptr = 1;
        case 1:
            $tmp = nms_Entity_entityDropItem($this, var$4, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return var$4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_Entity_entityDropItem($this, $var1, $var2) {
        var $var3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = new nms_EntityItem;
            var$4 = $this.$worldObj0;
            var$5 = $this.$posX;
            var$6 = $this.$posY + $var2;
            var$7 = $this.$posZ;
            $ptr = 1;
        case 1:
            nms_EntityItem__init_($var3, var$4, var$5, var$6, var$7, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var3.$delayBeforeCanPickup = 10;
            $var1 = $this.$worldObj0;
            $ptr = 2;
        case 2:
            $var1.$entityJoinedWorld($var3);
            if ($rt_suspending()) {
                break main;
            }
            return $var3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_Entity_isEntityAlive($this) {
        return $this.$isDead ? 0 : 1;
    }
    function nms_Entity_isEntityInsideOpaqueBlock($this) {
        var $var1, $var2, $var3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = nms_MathHelper_floor_double($this.$posX);
            $var2 = nms_MathHelper_floor_double($this.$posY + $this.$getEyeHeight());
            $var3 = nms_MathHelper_floor_double($this.$posZ);
            var$4 = $this.$worldObj0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube(var$4, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_Entity_interact($this, $var1) {
        return 0;
    }
    function nms_Entity_getCollisionBox($this, $var1) {
        return null;
    }
    function nms_Entity_updateRidden($this) {
        var var$1, var$2, var$3, $var1, $var3, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$ridingEntity.$isDead) {
                $this.$ridingEntity = null;
                return;
            }
            $this.$motionX = 0.0;
            $this.$motionY = 0.0;
            $this.$motionZ = 0.0;
            $ptr = 1;
        case 1:
            $this.$onUpdate();
            if ($rt_suspending()) {
                break main;
            }
            $this.$ridingEntity.$updateRiderPosition();
            var$1 = $this.$entityRiderYawDelta;
            var$2 = $this.$ridingEntity;
            $this.$entityRiderYawDelta = var$1 + var$2.$rotationYaw - var$2.$prevRotationYaw;
            $this.$entityRiderPitchDelta = $this.$entityRiderPitchDelta + var$2.$rotationPitch - var$2.$prevRotationPitch;
            while (true) {
                var$3 = $this.$entityRiderYawDelta;
                if (var$3 < 180.0)
                    break;
                $this.$entityRiderYawDelta = var$3 - 360.0;
            }
            while (true) {
                var$1 = $this.$entityRiderYawDelta;
                if (var$1 >= (-180.0))
                    break;
                $this.$entityRiderYawDelta = var$1 + 360.0;
            }
            while (true) {
                var$3 = $this.$entityRiderPitchDelta;
                if (var$3 < 180.0)
                    break;
                $this.$entityRiderPitchDelta = var$3 - 360.0;
            }
            while (true) {
                var$3 = $this.$entityRiderPitchDelta;
                if (var$3 >= (-180.0))
                    break;
                $this.$entityRiderPitchDelta = var$3 + 360.0;
            }
            $var1 = var$1 * 0.5;
            $var3 = var$3 * 0.5;
            var$6 = 10.0;
            if ($var1 > var$6)
                $var1 = var$6;
            var$7 = (-10.0);
            if ($var1 < var$7)
                $var1 = var$7;
            if ($var3 <= var$6)
                var$6 = $var3;
            if (var$6 >= var$7)
                var$7 = var$6;
            $this.$entityRiderYawDelta = var$1 - $var1;
            $this.$entityRiderPitchDelta = var$3 - var$7;
            $this.$rotationYaw = $this.$rotationYaw + $var1;
            $this.$rotationPitch = $this.$rotationPitch + var$7;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $var1, $var3, var$6, var$7, $ptr);
    }
    function nms_Entity_updateRiderPosition($this) {
        nms_Entity_setPosition($this.$riddenByEntity, $this.$posX, $this.$posY + $this.$getMountedYOffset() + $this.$riddenByEntity.$getYOffset(), $this.$posZ);
    }
    function nms_Entity_getYOffset($this) {
        return $this.$yOffset;
    }
    function nms_Entity_getMountedYOffset($this) {
        return $this.$height4 * 0.75;
    }
    function nms_Entity_mountEntity($this, $var1) {
        var var$2;
        $this.$entityRiderPitchDelta = 0.0;
        $this.$entityRiderYawDelta = 0.0;
        if ($var1 === null) {
            $var1 = $this.$ridingEntity;
            if ($var1 !== null) {
                nms_Entity_setLocationAndAngles($this, $var1.$posX, $var1.$boundingBox.$minY0 + $var1.$height4, $var1.$posZ, $this.$rotationYaw, $this.$rotationPitch);
                $this.$ridingEntity.$riddenByEntity = null;
            }
            $this.$ridingEntity = null;
        } else {
            var$2 = $this.$ridingEntity;
            if (var$2 === $var1) {
                var$2.$riddenByEntity = null;
                $this.$ridingEntity = null;
                nms_Entity_setLocationAndAngles($this, $var1.$posX, $var1.$boundingBox.$minY0 + $var1.$height4, $var1.$posZ, $this.$rotationYaw, $this.$rotationPitch);
            } else {
                if (var$2 !== null)
                    var$2.$riddenByEntity = null;
                var$2 = $var1.$riddenByEntity;
                if (var$2 !== null)
                    var$2.$ridingEntity = null;
                $this.$ridingEntity = $var1;
                $var1.$riddenByEntity = $this;
            }
        }
    }
    function nms_Entity_setPositionAndRotation2($this, $var1, $var3, $var5, $var7, $var8, $var9) {
        nms_Entity_setPosition($this, $var1, $var3, $var5);
        nms_Entity_setRotation($this, $var7, $var8);
    }
    function nms_Entity_getCollisionBorderSize($this) {
        return 0.10000000149011612;
    }
    function nms_Entity_setInPortal($this) {}
    function nms_Entity_setVelocity($this, $var1, $var3, $var5) {
        $this.$motionX = $var1;
        $this.$motionY = $var3;
        $this.$motionZ = $var5;
    }
    function nms_Entity_handleHealthUpdate($this, $var1) {}
    function nms_Entity_performHurtAnimation($this) {}
    function nms_Entity_outfitWithItem($this, $var1, $var2, $var3) {}
    function nms_Entity_isBurning($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$fire > 0)
                return 1;
            var$1 = 0;
            $ptr = 1;
        case 1:
            $tmp = nms_Entity_getEntityFlag($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1 ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_Entity_isRiding($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$ridingEntity !== null)
                return 1;
            var$1 = 2;
            $ptr = 1;
        case 1:
            $tmp = nms_Entity_getEntityFlag($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1 ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_Entity_isSneaking($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 1;
            $ptr = 1;
        case 1:
            $tmp = nms_Entity_getEntityFlag($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_Entity_getEntityFlag($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$dataWatcher;
            var$3 = 0;
            $ptr = 1;
        case 1:
            $tmp = nms_DataWatcher_getWatchableObjectByte(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return !(var$3 & 1 << $var1) ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_Entity_setEntityFlag($this, $var1, $var2) {
        var var$3, $var3, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$dataWatcher;
            $var3 = 0;
            $ptr = 1;
        case 1:
            $tmp = nms_DataWatcher_getWatchableObjectByte(var$3, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var2) {
                var$3 = $this.$dataWatcher;
                $var2 = 0;
                var$5 = jl_Byte_valueOf(($var3 | 1 << $var1) << 24 >> 24);
                $ptr = 3;
                continue main;
            }
            var$3 = $this.$dataWatcher;
            var$6 = 0;
            var$5 = jl_Byte_valueOf(($var3 & (1 << $var1 ^ (-1))) << 24 >> 24);
            $ptr = 2;
        case 2:
            nms_DataWatcher_updateObject(var$3, var$6, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_DataWatcher_updateObject(var$3, $var2, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, var$5, var$6, $ptr);
    }
    function nms_Entity__clinit_() {
        nms_Entity_nextEntityID = 0;
    }
    function nms_EntityLiving() {
        var a = this; nms_Entity.call(a);
        a.$field_9366_o = 0;
        a.$field_9365_p = 0.0;
        a.$field_9363_r = 0.0;
        a.$renderYawOffset = 0.0;
        a.$prevRenderYawOffset = 0.0;
        a.$field_9362_u = 0.0;
        a.$field_9361_v = 0.0;
        a.$field_9360_w = 0.0;
        a.$field_9359_x = 0.0;
        a.$field_9358_y = 0;
        a.$texture = null;
        a.$field_9355_A = 0;
        a.$field_9353_B = 0.0;
        a.$field_9351_C = null;
        a.$field_9349_D = 0.0;
        a.$scoreValue = 0;
        a.$field_9345_F = 0.0;
        a.$field_9343_G = 0;
        a.$prevSwingProgress = 0.0;
        a.$swingProgress = 0.0;
        a.$health = 0;
        a.$prevHealth = 0;
        a.$livingSoundTime = 0;
        a.$hurtTime = 0;
        a.$maxHurtTime = 0;
        a.$attackedAtYaw = 0.0;
        a.$deathTime = 0;
        a.$attackTime = 0;
        a.$cameraPitch0 = 0.0;
        a.$field_9328_R = 0.0;
        a.$unused_flag = 0;
        a.$field_9326_T = 0;
        a.$field_9325_U = 0.0;
        a.$field_705_Q = 0.0;
        a.$field_704_R = 0.0;
        a.$field_703_S = 0.0;
        a.$newPosRotationIncrements = 0;
        a.$newPosX = 0.0;
        a.$newPosY = 0.0;
        a.$newPosZ = 0.0;
        a.$newRotationYaw = 0.0;
        a.$newRotationPitch = 0.0;
        a.$field_9348_ae = 0.0;
        a.$field_9346_af = 0;
        a.$field_9344_ag = 0;
        a.$moveStrafing = 0.0;
        a.$moveForward = 0.0;
        a.$randomYawVelocity = 0.0;
        a.$isJumping = 0;
        a.$defaultPitch = 0.0;
        a.$moveSpeed = 0.0;
        a.$currentTarget = null;
        a.$numTicksToChaseTarget = 0;
    }
    function nms_EntityLiving__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_9366_o = 20;
            $this.$renderYawOffset = 0.0;
            $this.$prevRenderYawOffset = 0.0;
            $this.$field_9358_y = 1;
            $this.$texture = $rt_s(1668);
            $this.$field_9355_A = 1;
            $this.$field_9353_B = 0.0;
            $this.$field_9351_C = null;
            $this.$field_9349_D = 1.0;
            $this.$scoreValue = 0;
            $this.$field_9345_F = 0.0;
            $this.$field_9343_G = 0;
            $this.$health = 10;
            $this.$attackedAtYaw = 0.0;
            $this.$deathTime = 0;
            $this.$attackTime = 0;
            $this.$unused_flag = 0;
            $this.$field_9326_T = (-1);
            $this.$field_9325_U = jl_Math_random() * 0.8999999761581421 + 0.10000000149011612;
            $this.$field_9348_ae = 0.0;
            $this.$field_9346_af = 0;
            $this.$field_9344_ag = 0;
            $this.$isJumping = 0;
            $this.$defaultPitch = 0.0;
            $this.$moveSpeed = 0.699999988079071;
            $this.$numTicksToChaseTarget = 0;
            $this.$preventEntitySpawning = 1;
            $this.$field_9363_r = (jl_Math_random() + 1.0) * 0.009999999776482582;
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
            $this.$field_9365_p = jl_Math_random() * 12398.0;
            $this.$rotationYaw = jl_Math_random() * 3.1415927410125732 * 2.0;
            $this.$stepHeight = 0.5;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityLiving_entityInit($this) {}
    function nms_EntityLiving_canEntityBeSeen($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$worldObj0;
            var$3 = nms_Vec3D_createVector($this.$posX, $this.$posY + $this.$getEyeHeight(), $this.$posZ);
            $var1 = nms_Vec3D_createVector($var1.$posX, $var1.$posY + $var1.$getEyeHeight(), $var1.$posZ);
            $ptr = 1;
        case 1:
            $tmp = nms_World_rayTraceBlocks(var$2, var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1 !== null ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityLiving_getEntityTexture($this) {
        return $this.$texture;
    }
    function nms_EntityLiving_canBeCollidedWith($this) {
        return $this.$isDead ? 0 : 1;
    }
    function nms_EntityLiving_canBePushed($this) {
        return $this.$isDead ? 0 : 1;
    }
    function nms_EntityLiving_getEyeHeight($this) {
        return $this.$height4 * 0.8500000238418579;
    }
    function nms_EntityLiving_getTalkInterval($this) {
        return 80;
    }
    function nms_EntityLiving_playLivingSound($this) {
        var $var1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $this.$getLivingSound();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 === null)
                return;
            var$2 = $this.$worldObj0;
            var$3 = $this.$getSoundVolume();
            var$4 = (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.20000000298023224 + 1.0;
            $ptr = 2;
        case 2:
            nms_World_playSoundAtEntity(var$2, $this, $var1, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_EntityLiving_onEntityUpdate($this) {
        var var$1, var$2, var$3, $var1, $var2, $var3, $var4, var$8, $var8, var$10, var$11, $var9, $var6, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var6 = $thread.pop();$var9 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var8 = $thread.pop();var$8 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$prevSwingProgress = $this.$swingProgress;
            $ptr = 1;
        case 1:
            nms_Entity_onEntityUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = ju_Random_nextInt($this.$rand3, 1000);
            var$2 = $this.$livingSoundTime;
            $this.$livingSoundTime = var$2 + 1 | 0;
            if (var$1 < var$2) {
                $this.$livingSoundTime =  -$this.$getTalkInterval() | 0;
                $ptr = 2;
                continue main;
            }
            if (nms_EntityLiving_isEntityAlive($this)) {
                $ptr = 3;
                continue main;
            }
            if (!(!$this.$isImmuneToFire && !$this.$worldObj0.$multiplayerWorld))
                $this.$fire = 0;
            if (nms_EntityLiving_isEntityAlive($this)) {
                nms_Material_$callClinit();
                var$3 = nms_Material_water;
                $ptr = 5;
                continue main;
            }
            $this.$air = $this.$maxAir;
            $this.$cameraPitch0 = $this.$field_9328_R;
            $var1 = $this.$attackTime;
            if ($var1 > 0)
                $this.$attackTime = $var1 - 1 | 0;
            $var1 = $this.$hurtTime;
            if ($var1 > 0)
                $this.$hurtTime = $var1 - 1 | 0;
            $var1 = $this.$field_9306_bj;
            if ($var1 > 0)
                $this.$field_9306_bj = $var1 - 1 | 0;
            if ($this.$health <= 0) {
                $var1 = $this.$deathTime + 1 | 0;
                $this.$deathTime = $var1;
                if ($var1 > 20) {
                    $ptr = 8;
                    continue main;
                }
            }
            $this.$field_9359_x = $this.$field_9360_w;
            $this.$prevRenderYawOffset = $this.$renderYawOffset;
            $this.$prevRotationYaw = $this.$rotationYaw;
            $this.$prevRotationPitch = $this.$rotationPitch;
            return;
        case 2:
            nms_EntityLiving_playLivingSound($this);
            if ($rt_suspending()) {
                break main;
            }
            if (nms_EntityLiving_isEntityAlive($this)) {
                $ptr = 3;
                continue main;
            }
            if (!(!$this.$isImmuneToFire && !$this.$worldObj0.$multiplayerWorld))
                $this.$fire = 0;
            if (nms_EntityLiving_isEntityAlive($this)) {
                nms_Material_$callClinit();
                var$3 = nms_Material_water;
                $ptr = 5;
                continue main;
            }
            $this.$air = $this.$maxAir;
            $this.$cameraPitch0 = $this.$field_9328_R;
            $var1 = $this.$attackTime;
            if ($var1 > 0)
                $this.$attackTime = $var1 - 1 | 0;
            $var1 = $this.$hurtTime;
            if ($var1 > 0)
                $this.$hurtTime = $var1 - 1 | 0;
            $var1 = $this.$field_9306_bj;
            if ($var1 > 0)
                $this.$field_9306_bj = $var1 - 1 | 0;
            if ($this.$health <= 0) {
                $var1 = $this.$deathTime + 1 | 0;
                $this.$deathTime = $var1;
                if ($var1 > 20) {
                    $ptr = 8;
                    continue main;
                }
            }
            $this.$field_9359_x = $this.$field_9360_w;
            $this.$prevRenderYawOffset = $this.$renderYawOffset;
            $this.$prevRotationYaw = $this.$rotationYaw;
            $this.$prevRotationPitch = $this.$rotationPitch;
            return;
        case 3:
            $tmp = $this.$isEntityInsideOpaqueBlock();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1) {
                var$3 = null;
                $var1 = 1;
                $ptr = 4;
                continue main;
            }
            if (!(!$this.$isImmuneToFire && !$this.$worldObj0.$multiplayerWorld))
                $this.$fire = 0;
            if (nms_EntityLiving_isEntityAlive($this)) {
                nms_Material_$callClinit();
                var$3 = nms_Material_water;
                $ptr = 5;
                continue main;
            }
            $this.$air = $this.$maxAir;
            $this.$cameraPitch0 = $this.$field_9328_R;
            $var1 = $this.$attackTime;
            if ($var1 > 0)
                $this.$attackTime = $var1 - 1 | 0;
            $var1 = $this.$hurtTime;
            if ($var1 > 0)
                $this.$hurtTime = $var1 - 1 | 0;
            $var1 = $this.$field_9306_bj;
            if ($var1 > 0)
                $this.$field_9306_bj = $var1 - 1 | 0;
            if ($this.$health <= 0) {
                $var1 = $this.$deathTime + 1 | 0;
                $this.$deathTime = $var1;
                if ($var1 > 20) {
                    $ptr = 8;
                    continue main;
                }
            }
            $this.$field_9359_x = $this.$field_9360_w;
            $this.$prevRenderYawOffset = $this.$renderYawOffset;
            $this.$prevRotationYaw = $this.$rotationYaw;
            $this.$prevRotationPitch = $this.$rotationPitch;
            return;
        case 4:
            $this.$attackEntityFrom(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            if (!(!$this.$isImmuneToFire && !$this.$worldObj0.$multiplayerWorld))
                $this.$fire = 0;
            if (nms_EntityLiving_isEntityAlive($this)) {
                nms_Material_$callClinit();
                var$3 = nms_Material_water;
                $ptr = 5;
                continue main;
            }
            $this.$air = $this.$maxAir;
            $this.$cameraPitch0 = $this.$field_9328_R;
            $var1 = $this.$attackTime;
            if ($var1 > 0)
                $this.$attackTime = $var1 - 1 | 0;
            $var1 = $this.$hurtTime;
            if ($var1 > 0)
                $this.$hurtTime = $var1 - 1 | 0;
            $var1 = $this.$field_9306_bj;
            if ($var1 > 0)
                $this.$field_9306_bj = $var1 - 1 | 0;
            if ($this.$health <= 0) {
                $var1 = $this.$deathTime + 1 | 0;
                $this.$deathTime = $var1;
                if ($var1 > 20) {
                    $ptr = 8;
                    continue main;
                }
            }
            $this.$field_9359_x = $this.$field_9360_w;
            $this.$prevRenderYawOffset = $this.$renderYawOffset;
            $this.$prevRotationYaw = $this.$rotationYaw;
            $this.$prevRotationPitch = $this.$rotationPitch;
            return;
        case 5:
            $tmp = nms_Entity_isInsideOfMaterial($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 && !$this.$canBreatheUnderwater()) {
                $var1 = $this.$air - 1 | 0;
                $this.$air = $var1;
                if ($var1 == (-20)) {
                    $this.$air = 0;
                    $var1 = 0;
                    if ($var1 >= 8) {
                        var$3 = null;
                        $var1 = 2;
                        $ptr = 6;
                        continue main;
                    }
                    $var2 = ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3);
                    $var3 = ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3);
                    $var4 = ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3);
                    var$3 = $this.$worldObj0;
                    var$8 = $rt_s(1659);
                    $var8 = $this.$posX + $var2;
                    var$10 = $this.$posY + $var3;
                    var$11 = $this.$posZ + $var4;
                    $var9 = $this.$motionX;
                    $var6 = $this.$motionY;
                    var$14 = $this.$motionZ;
                    $ptr = 7;
                    continue main;
                }
                $this.$fire = 0;
            } else
                $this.$air = $this.$maxAir;
            $this.$cameraPitch0 = $this.$field_9328_R;
            $var1 = $this.$attackTime;
            if ($var1 > 0)
                $this.$attackTime = $var1 - 1 | 0;
            $var1 = $this.$hurtTime;
            if ($var1 > 0)
                $this.$hurtTime = $var1 - 1 | 0;
            $var1 = $this.$field_9306_bj;
            if ($var1 > 0)
                $this.$field_9306_bj = $var1 - 1 | 0;
            if ($this.$health <= 0) {
                $var1 = $this.$deathTime + 1 | 0;
                $this.$deathTime = $var1;
                if ($var1 > 20) {
                    $ptr = 8;
                    continue main;
                }
            }
            $this.$field_9359_x = $this.$field_9360_w;
            $this.$prevRenderYawOffset = $this.$renderYawOffset;
            $this.$prevRotationYaw = $this.$rotationYaw;
            $this.$prevRotationPitch = $this.$rotationPitch;
            return;
        case 6:
            $this.$attackEntityFrom(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$fire = 0;
            $this.$cameraPitch0 = $this.$field_9328_R;
            $var1 = $this.$attackTime;
            if ($var1 > 0)
                $this.$attackTime = $var1 - 1 | 0;
            $var1 = $this.$hurtTime;
            if ($var1 > 0)
                $this.$hurtTime = $var1 - 1 | 0;
            $var1 = $this.$field_9306_bj;
            if ($var1 > 0)
                $this.$field_9306_bj = $var1 - 1 | 0;
            if ($this.$health <= 0) {
                $var1 = $this.$deathTime + 1 | 0;
                $this.$deathTime = $var1;
                if ($var1 > 20) {
                    $ptr = 8;
                    continue main;
                }
            }
            $this.$field_9359_x = $this.$field_9360_w;
            $this.$prevRenderYawOffset = $this.$renderYawOffset;
            $this.$prevRotationYaw = $this.$rotationYaw;
            $this.$prevRotationPitch = $this.$rotationPitch;
            return;
        case 7:
            nms_World_spawnParticle(var$3, var$8, $var8, var$10, var$11, $var9, $var6, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var1 + 1 | 0;
            if ($var1 >= 8) {
                var$3 = null;
                $var1 = 2;
                $ptr = 6;
                continue main;
            }
            $var2 = ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3);
            $var3 = ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3);
            $var4 = ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3);
            var$3 = $this.$worldObj0;
            var$8 = $rt_s(1659);
            $var8 = $this.$posX + $var2;
            var$10 = $this.$posY + $var3;
            var$11 = $this.$posZ + $var4;
            $var9 = $this.$motionX;
            $var6 = $this.$motionY;
            var$14 = $this.$motionZ;
            continue main;
        case 8:
            $this.$setEntityDead0();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0;
            if ($var1 >= 20) {
                $this.$field_9359_x = $this.$field_9360_w;
                $this.$prevRenderYawOffset = $this.$renderYawOffset;
                $this.$prevRotationYaw = $this.$rotationYaw;
                $this.$prevRotationPitch = $this.$rotationPitch;
                return;
            }
            $var8 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            $var9 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            $var6 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            var$3 = $this.$worldObj0;
            var$8 = $rt_s(1669);
            var$10 = $this.$posX;
            $var2 = ju_Random_nextFloat($this.$rand3);
            $var3 = $this.$width2;
            var$14 = var$10 + $var2 * $var3 * 2.0 - $var3;
            var$15 = $this.$posY + ju_Random_nextFloat($this.$rand3) * $this.$height4;
            var$11 = $this.$posZ;
            $var2 = ju_Random_nextFloat($this.$rand3);
            $var3 = $this.$width2;
            var$10 = var$11 + $var2 * $var3 * 2.0 - $var3;
            $ptr = 9;
        case 9:
            nms_World_spawnParticle(var$3, var$8, var$14, var$15, var$10, $var8, $var9, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var1 + 1 | 0;
            if ($var1 >= 20) {
                $this.$field_9359_x = $this.$field_9360_w;
                $this.$prevRenderYawOffset = $this.$renderYawOffset;
                $this.$prevRotationYaw = $this.$rotationYaw;
                $this.$prevRotationPitch = $this.$rotationPitch;
                return;
            }
            $var8 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            $var9 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            $var6 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            var$3 = $this.$worldObj0;
            var$8 = $rt_s(1669);
            var$10 = $this.$posX;
            $var2 = ju_Random_nextFloat($this.$rand3);
            $var3 = $this.$width2;
            var$14 = var$10 + $var2 * $var3 * 2.0 - $var3;
            var$15 = $this.$posY + ju_Random_nextFloat($this.$rand3) * $this.$height4;
            var$11 = $this.$posZ;
            $var2 = ju_Random_nextFloat($this.$rand3);
            $var3 = $this.$width2;
            var$10 = var$11 + $var2 * $var3 * 2.0 - $var3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $var1, $var2, $var3, $var4, var$8, $var8, var$10, var$11, $var9, $var6, var$14, var$15, $ptr);
    }
    function nms_EntityLiving_spawnExplosionParticle($this) {
        var $var1, $var2, $var4, $var6, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = 0;
            if ($var1 >= 20)
                return;
            $var2 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            $var4 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            $var6 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            var$5 = $this.$worldObj0;
            var$6 = $rt_s(1669);
            var$7 = $this.$posX;
            var$8 = ju_Random_nextFloat($this.$rand3);
            var$9 = $this.$width2;
            var$7 = var$7 + var$8 * var$9 * 2.0 - var$9 - $var2 * 10.0;
            var$10 = $this.$posY + ju_Random_nextFloat($this.$rand3) * $this.$height4 - $var4 * 10.0;
            var$11 = $this.$posZ;
            var$9 = ju_Random_nextFloat($this.$rand3);
            var$8 = $this.$width2;
            $var8 = var$11 + var$9 * var$8 * 2.0 - var$8 - $var6 * 10.0;
            $ptr = 1;
        case 1:
            nms_World_spawnParticle(var$5, var$6, var$7, var$10, $var8, $var2, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var1 + 1 | 0;
            if ($var1 >= 20)
                return;
            $var2 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            $var4 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            $var6 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            var$5 = $this.$worldObj0;
            var$6 = $rt_s(1669);
            var$7 = $this.$posX;
            var$8 = ju_Random_nextFloat($this.$rand3);
            var$9 = $this.$width2;
            var$7 = var$7 + var$8 * var$9 * 2.0 - var$9 - $var2 * 10.0;
            var$10 = $this.$posY + ju_Random_nextFloat($this.$rand3) * $this.$height4 - $var4 * 10.0;
            var$11 = $this.$posZ;
            var$9 = ju_Random_nextFloat($this.$rand3);
            var$8 = $this.$width2;
            $var8 = var$11 + var$9 * var$8 * 2.0 - var$8 - $var6 * 10.0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $var8, $ptr);
    }
    function nms_EntityLiving_updateRidden($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity_updateRidden($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_9362_u = $this.$field_9361_v;
            $this.$field_9361_v = 0.0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntityLiving_setPositionAndRotation2($this, $var1, $var3, $var5, $var7, $var8, $var9) {
        $this.$yOffset = 0.0;
        $this.$newPosX = $var1;
        $this.$newPosY = $var3;
        $this.$newPosZ = $var5;
        $this.$newRotationYaw = $var7;
        $this.$newRotationPitch = $var8;
        $this.$newPosRotationIncrements = $var9;
    }
    function nms_EntityLiving_onUpdate($this) {
        var $var1, $var3, $var5, $var6, $var7, $var8, $var10, $var9, $var11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $this.$onEntityUpdate();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $this.$onLivingUpdate();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$posX - $this.$prevPosX;
            $var3 = $this.$posZ - $this.$prevPosZ;
            $var5 = nms_MathHelper_sqrt_double($var1 * $var1 + $var3 * $var3);
            $var6 = $this.$renderYawOffset;
            $var7 = 0.0;
            $this.$field_9362_u = $this.$field_9361_v;
            $var8 = 0.0;
            if ($var5 > 0.05000000074505806) {
                $var8 = 1.0;
                $var7 = $var5 * 3.0;
                $var6 = jl_Math_atan2($var3, $var1) * 180.0 / 3.1415927410125732 - 90.0;
            }
            if ($this.$swingProgress > 0.0)
                $var6 = $this.$rotationYaw;
            if (!$this.$onGround0)
                $var8 = 0.0;
            $var5 = $this.$field_9361_v;
            $this.$field_9361_v = $var5 + ($var8 - $var5) * 0.30000001192092896;
            $var10 = $this.$renderYawOffset;
            $var9 = $var6 - $var10;
            while ($var9 < (-180.0)) {
                $var9 = $var9 + 360.0;
            }
            while ($var9 >= 180.0) {
                $var9 = $var9 - 360.0;
            }
            $var5 = $var10 + $var9 * 0.30000001192092896;
            $this.$renderYawOffset = $var5;
            $var6 = $this.$rotationYaw;
            $var10 = $var6 - $var5;
            while ($var10 < (-180.0)) {
                $var10 = $var10 + 360.0;
            }
            while ($var10 >= 180.0) {
                $var10 = $var10 - 360.0;
            }
            $var11 = $var10 >= (-90.0) && $var10 < 90.0 ? 0 : 1;
            if ($var10 < (-75.0))
                $var10 = (-75.0);
            if ($var10 >= 75.0)
                $var10 = 75.0;
            $var9 = $var6 - $var10;
            $this.$renderYawOffset = $var9;
            if ($var10 * $var10 > 2500.0)
                $this.$renderYawOffset = $var9 + $var10 * 0.20000000298023224;
            if ($var11)
                $var7 = $var7 * (-1.0);
            while (true) {
                $var10 = $this.$prevRotationYaw;
                if ($var6 - $var10 >= (-180.0))
                    break;
                $this.$prevRotationYaw = $var10 - 360.0;
            }
            while (true) {
                $var10 = $this.$prevRotationYaw;
                if ($var6 - $var10 < 180.0)
                    break;
                $this.$prevRotationYaw = $var10 + 360.0;
            }
            while (true) {
                $var6 = $this.$renderYawOffset;
                $var10 = $this.$prevRenderYawOffset;
                if ($var6 - $var10 >= (-180.0))
                    break;
                $this.$prevRenderYawOffset = $var10 - 360.0;
            }
            while (true) {
                $var5 = $this.$prevRenderYawOffset;
                if ($var6 - $var5 < 180.0)
                    break;
                $this.$prevRenderYawOffset = $var5 + 360.0;
            }
            while (true) {
                $var5 = $this.$rotationPitch;
                $var10 = $this.$prevRotationPitch;
                if ($var5 - $var10 >= (-180.0))
                    break;
                $this.$prevRotationPitch = $var10 - 360.0;
            }
            while (true) {
                $var6 = $this.$prevRotationPitch;
                if ($var5 - $var6 < 180.0)
                    break;
                $this.$prevRotationPitch = $var6 + 360.0;
            }
            $this.$field_9360_w = $this.$field_9360_w + $var7;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, $var6, $var7, $var8, $var10, $var9, $var11, $ptr);
    }
    function nms_EntityLiving_setSize($this, $var1, $var2) {
        nms_Entity_setSize($this, $var1, $var2);
    }
    function nms_EntityLiving_heal($this, $var1) {
        var var$2;
        var$2 = $this.$health;
        if (var$2 > 0) {
            $var1 = var$2 + $var1 | 0;
            $this.$health = $var1;
            if ($var1 > 20)
                $this.$health = 20;
            $this.$field_9306_bj = $this.$field_9366_o / 2 | 0;
        }
    }
    function nms_EntityLiving_attackEntityFrom($this, $var1, $var2) {
        var var$3, $var3, var$5, var$6, $var4, $var6, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$worldObj0.$multiplayerWorld)
                return 0;
            $this.$field_9344_ag = 0;
            var$3 = $this.$health;
            if (var$3 <= 0)
                return 0;
            $this.$field_704_R = 1.5;
            $var3 = 1;
            var$5 = $this.$field_9306_bj;
            var$6 = $this.$field_9366_o;
            if (var$5 <= var$6 / 2.0) {
                $this.$field_9346_af = $var2;
                $this.$prevHealth = var$3;
                $this.$field_9306_bj = var$6;
                $ptr = 1;
                continue main;
            }
            var$3 = $this.$field_9346_af;
            if ($var2 <= var$3)
                return 0;
            var$3 = $var2 - var$3 | 0;
            $ptr = 2;
            continue main;
        case 1:
            $this.$damageEntity($var2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxHurtTime = 10;
            $this.$hurtTime = 10;
            $this.$attackedAtYaw = 0.0;
            if ($var3) {
                nms_Entity_setBeenAttacked($this);
                if ($var1 === null)
                    $this.$attackedAtYaw = (jl_Math_random() * 2.0 | 0) * 180 | 0;
                else {
                    $var4 = $var1.$posX - $this.$posX;
                    $var6 = $var1.$posZ - $this.$posZ;
                    while ($var4 * $var4 + $var6 * $var6 < 1.0E-4) {
                        $var4 = (jl_Math_random() - jl_Math_random()) * 0.01;
                        $var6 = (jl_Math_random() - jl_Math_random()) * 0.01;
                    }
                    $this.$attackedAtYaw = jl_Math_atan2($var6, $var4) * 180.0 / 3.1415927410125732 - $this.$rotationYaw;
                    nms_EntityLiving_knockBack($this, $var1, $var2, $var4, $var6);
                }
            }
            if ($this.$health <= 0) {
                if (!$var3) {
                    $ptr = 5;
                    continue main;
                }
                var$9 = $this.$worldObj0;
                $ptr = 6;
                continue main;
            }
            if (!$var3)
                return 1;
            $var1 = $this.$worldObj0;
            $ptr = 3;
            continue main;
        case 2:
            $this.$damageEntity(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_9346_af = $var2;
            $var3 = 0;
            $this.$attackedAtYaw = 0.0;
            if ($var3) {
                nms_Entity_setBeenAttacked($this);
                if ($var1 === null)
                    $this.$attackedAtYaw = (jl_Math_random() * 2.0 | 0) * 180 | 0;
                else {
                    $var4 = $var1.$posX - $this.$posX;
                    $var6 = $var1.$posZ - $this.$posZ;
                    while ($var4 * $var4 + $var6 * $var6 < 1.0E-4) {
                        $var4 = (jl_Math_random() - jl_Math_random()) * 0.01;
                        $var6 = (jl_Math_random() - jl_Math_random()) * 0.01;
                    }
                    $this.$attackedAtYaw = jl_Math_atan2($var6, $var4) * 180.0 / 3.1415927410125732 - $this.$rotationYaw;
                    nms_EntityLiving_knockBack($this, $var1, $var2, $var4, $var6);
                }
            }
            if ($this.$health <= 0) {
                if (!$var3) {
                    $ptr = 5;
                    continue main;
                }
                var$9 = $this.$worldObj0;
                $ptr = 6;
                continue main;
            }
            if (!$var3)
                return 1;
            $var1 = $this.$worldObj0;
            $ptr = 3;
        case 3:
            $tmp = $this.$getHurtSound();
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            var$10 = $this.$getSoundVolume();
            var$5 = (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.20000000298023224 + 1.0;
            $ptr = 4;
        case 4:
            nms_World_playSoundAtEntity($var1, $this, var$9, var$10, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 5:
            $this.$onDeath($var1);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 6:
            $tmp = $this.$getDeathSound();
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            var$10 = $this.$getSoundVolume();
            var$5 = (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.20000000298023224 + 1.0;
            $ptr = 7;
        case 7:
            nms_World_playSoundAtEntity(var$9, $this, var$11, var$10, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, var$5, var$6, $var4, $var6, var$9, var$10, var$11, $ptr);
    }
    function nms_EntityLiving_performHurtAnimation($this) {
        $this.$maxHurtTime = 10;
        $this.$hurtTime = 10;
        $this.$attackedAtYaw = 0.0;
    }
    function nms_EntityLiving_damageEntity($this, $var1) {
        $this.$health = $this.$health - $var1 | 0;
    }
    function nms_EntityLiving_getSoundVolume($this) {
        return 1.0;
    }
    function nms_EntityLiving_getLivingSound($this) {
        return null;
    }
    function nms_EntityLiving_getHurtSound($this) {
        return $rt_s(1670);
    }
    function nms_EntityLiving_getDeathSound($this) {
        return $rt_s(1670);
    }
    function nms_EntityLiving_knockBack($this, $var1, $var2, $var3, $var5) {
        var $var7, var$6, var$7, var$8, var$9;
        $var7 = nms_MathHelper_sqrt_double($var3 * $var3 + $var5 * $var5);
        var$6 = $this.$motionX / 2.0;
        $this.$motionX = var$6;
        var$7 = $this.$motionY / 2.0;
        $this.$motionY = var$7;
        var$8 = $this.$motionZ / 2.0;
        $this.$motionZ = var$8;
        var$9 = $var7;
        $this.$motionX = var$6 - $var3 / var$9 * 0.4000000059604645;
        $var3 = var$7 + 0.4000000059604645;
        $this.$motionY = $var3;
        $this.$motionZ = var$8 - $var5 / var$9 * 0.4000000059604645;
        if ($var3 > 0.4000000059604645)
            $this.$motionY = 0.4000000059604645;
    }
    function nms_EntityLiving_onDeath($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$scoreValue;
            if (var$2 >= 0 && $var1 !== null) {
                $ptr = 2;
                continue main;
            }
            $this.$unused_flag = 1;
            if ($this.$worldObj0.$multiplayerWorld)
                return;
            $ptr = 1;
        case 1:
            $this.$dropFewItems();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            $var1.$addToPlayerScore($this, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$unused_flag = 1;
            if ($this.$worldObj0.$multiplayerWorld)
                return;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_EntityLiving_dropFewItems($this) {
        var $var1, $var2, $var3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $this.$getDropItemId();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 > 0) {
                $var2 = ju_Random_nextInt($this.$rand3, 3);
                $var3 = 0;
                if ($var3 < $var2) {
                    var$4 = 1;
                    $ptr = 2;
                    continue main;
                }
            }
            return;
        case 2:
            nms_Entity_dropItem($this, $var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var3 + 1 | 0;
            if ($var3 >= $var2)
                return;
            var$4 = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_EntityLiving_getDropItemId($this) {
        return 0;
    }
    function nms_EntityLiving_fall($this, $var1) {
        var $var2, $var4, $var3, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = jl_Math_ceil($var1 - 3.0) | 0;
            if ($var2 <= 0)
                return;
            $var4 = null;
            $ptr = 1;
        case 1:
            $this.$attackEntityFrom($var4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $this.$worldObj0;
            $var2 = nms_MathHelper_floor_double($this.$posX);
            $var3 = nms_MathHelper_floor_double($this.$posY - 0.20000000298023224 - $this.$yOffset);
            var$5 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var4, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3 <= 0)
                return;
            $ptr = 3;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = nms_Block_blocksList.data[$var3].$stepSound;
            var$6 = $this.$worldObj0;
            $ptr = 4;
        case 4:
            $tmp = nms_StepSound_func_1145_d($var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$8 = $var4.$field_1677_b * 0.5;
            $var1 = $var4.$field_1679_c * 0.75;
            $ptr = 5;
        case 5:
            nms_World_playSoundAtEntity(var$6, $this, var$7, var$8, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var3, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_EntityLiving_moveEntityWithHeading($this, $var1, $var2) {
        var $var5, $var3, $var10, var$6, var$7, $var8, var$9, $var4, var$11, $var9, var$13, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();var$13 = $thread.pop();$var9 = $thread.pop();var$11 = $thread.pop();$var4 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var10 = $thread.pop();$var3 = $thread.pop();$var5 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $this.$handleWaterMovement();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5) {
                $ptr = 2;
                continue main;
            }
            $var3 = $this.$posY;
            nms_Entity_moveFlying($this, $var1, $var2, 0.019999999552965164);
            $var10 = $this.$motionX;
            var$6 = $this.$motionY;
            var$7 = $this.$motionZ;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_Entity_handleLavaMovement($this);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5) {
                $var3 = $this.$posY;
                nms_Entity_moveFlying($this, $var1, $var2, 0.019999999552965164);
                $var10 = $this.$motionX;
                var$6 = $this.$motionY;
                var$7 = $this.$motionZ;
                $ptr = 4;
                continue main;
            }
            $var8 = 0.9100000262260437;
            if ($this.$onGround0) {
                $var8 = 0.546000063419342;
                var$9 = $this.$worldObj0;
                $var5 = nms_MathHelper_floor_double($this.$posX);
                $var4 = nms_MathHelper_floor_double($this.$boundingBox.$minY0) - 1 | 0;
                var$11 = nms_MathHelper_floor_double($this.$posZ);
                $ptr = 6;
                continue main;
            }
            $var9 = 0.16277135908603668 / ($var8 * $var8 * $var8);
            nms_Entity_moveFlying($this, $var1, $var2, !$this.$onGround0 ? 0.019999999552965164 : 0.10000000149011612 * $var9);
            $var1 = 0.9100000262260437;
            if (!$this.$onGround0) {
                $ptr = 10;
                continue main;
            }
            $var1 = 0.546000063419342;
            var$9 = $this.$worldObj0;
            $var5 = nms_MathHelper_floor_double($this.$posX);
            $var4 = nms_MathHelper_floor_double($this.$boundingBox.$minY0) - 1 | 0;
            var$11 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 9;
            continue main;
        case 3:
            $this.$moveEntity($var10, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $this.$motionX * 0.800000011920929;
            $this.$motionX = $var10;
            var$13 = $this.$motionY * 0.800000011920929;
            $this.$motionY = var$13;
            var$6 = $this.$motionZ * 0.800000011920929;
            $this.$motionZ = var$6;
            var$7 = var$13 - 0.02;
            $this.$motionY = var$7;
            if (!$this.$isCollidedHorizontally) {
                $this.$field_705_Q = $this.$field_704_R;
                $var3 = $this.$posX - $this.$prevPosX;
                $var10 = $this.$posZ - $this.$prevPosZ;
                $var7 = nms_MathHelper_sqrt_double($var3 * $var3 + $var10 * $var10) * 4.0;
                if ($var7 > 1.0)
                    $var7 = 1.0;
                $var1 = $this.$field_704_R;
                $var1 = $var1 + ($var7 - $var1) * 0.4000000059604645;
                $this.$field_704_R = $var1;
                $this.$field_703_S = $this.$field_703_S + $var1;
                return;
            }
            $var3 = var$7 + 0.6000000238418579 - $this.$posY + $var3;
            $ptr = 5;
            continue main;
        case 4:
            $this.$moveEntity($var10, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $this.$motionX * 0.5;
            $this.$motionX = $var10;
            var$6 = $this.$motionY * 0.5;
            $this.$motionY = var$6;
            var$7 = $this.$motionZ * 0.5;
            $this.$motionZ = var$7;
            var$6 = var$6 - 0.02;
            $this.$motionY = var$6;
            if (!$this.$isCollidedHorizontally) {
                $this.$field_705_Q = $this.$field_704_R;
                $var3 = $this.$posX - $this.$prevPosX;
                $var10 = $this.$posZ - $this.$prevPosZ;
                $var7 = nms_MathHelper_sqrt_double($var3 * $var3 + $var10 * $var10) * 4.0;
                if ($var7 > 1.0)
                    $var7 = 1.0;
                $var1 = $this.$field_704_R;
                $var1 = $var1 + ($var7 - $var1) * 0.4000000059604645;
                $this.$field_704_R = $var1;
                $this.$field_703_S = $this.$field_703_S + $var1;
                return;
            }
            $var3 = var$6 + 0.6000000238418579 - $this.$posY + $var3;
            $ptr = 7;
            continue main;
        case 5:
            $tmp = nms_Entity_isOffsetPositionInLiquid($this, $var10, $var3, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                $this.$motionY = 0.30000001192092896;
            $this.$field_705_Q = $this.$field_704_R;
            $var3 = $this.$posX - $this.$prevPosX;
            $var10 = $this.$posZ - $this.$prevPosZ;
            $var7 = nms_MathHelper_sqrt_double($var3 * $var3 + $var10 * $var10) * 4.0;
            if ($var7 > 1.0)
                $var7 = 1.0;
            $var1 = $this.$field_704_R;
            $var1 = $var1 + ($var7 - $var1) * 0.4000000059604645;
            $this.$field_704_R = $var1;
            $this.$field_703_S = $this.$field_703_S + $var1;
            return;
        case 6:
            $tmp = nms_World_getBlockId(var$9, $var5, $var4, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4 > 0) {
                $ptr = 8;
                continue main;
            }
            $var9 = 0.16277135908603668 / ($var8 * $var8 * $var8);
            nms_Entity_moveFlying($this, $var1, $var2, !$this.$onGround0 ? 0.019999999552965164 : 0.10000000149011612 * $var9);
            $var1 = 0.9100000262260437;
            if (!$this.$onGround0) {
                $ptr = 10;
                continue main;
            }
            $var1 = 0.546000063419342;
            var$9 = $this.$worldObj0;
            $var5 = nms_MathHelper_floor_double($this.$posX);
            $var4 = nms_MathHelper_floor_double($this.$boundingBox.$minY0) - 1 | 0;
            var$11 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 9;
            continue main;
        case 7:
            $tmp = nms_Entity_isOffsetPositionInLiquid($this, $var10, $var3, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                $this.$motionY = 0.30000001192092896;
            $this.$field_705_Q = $this.$field_704_R;
            $var3 = $this.$posX - $this.$prevPosX;
            $var10 = $this.$posZ - $this.$prevPosZ;
            $var7 = nms_MathHelper_sqrt_double($var3 * $var3 + $var10 * $var10) * 4.0;
            if ($var7 > 1.0)
                $var7 = 1.0;
            $var1 = $this.$field_704_R;
            $var1 = $var1 + ($var7 - $var1) * 0.4000000059604645;
            $this.$field_704_R = $var1;
            $this.$field_703_S = $this.$field_703_S + $var1;
            return;
        case 8:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = nms_Block_blocksList.data[$var4].$slipperiness * 0.9100000262260437;
            $var9 = 0.16277135908603668 / ($var8 * $var8 * $var8);
            nms_Entity_moveFlying($this, $var1, $var2, !$this.$onGround0 ? 0.019999999552965164 : 0.10000000149011612 * $var9);
            $var1 = 0.9100000262260437;
            if (!$this.$onGround0) {
                $ptr = 10;
                continue main;
            }
            $var1 = 0.546000063419342;
            var$9 = $this.$worldObj0;
            $var5 = nms_MathHelper_floor_double($this.$posX);
            $var4 = nms_MathHelper_floor_double($this.$boundingBox.$minY0) - 1 | 0;
            var$11 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 9;
        case 9:
            $tmp = nms_World_getBlockId(var$9, $var5, $var4, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 > 0) {
                $ptr = 11;
                continue main;
            }
            $ptr = 10;
        case 10:
            $tmp = $this.$isOnLadder();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5) {
                $var3 = $this.$motionX;
                $var10 = $this.$motionY;
                var$6 = $this.$motionZ;
                $ptr = 12;
                continue main;
            }
            $this.$fallDistance = 0.0;
            if ($this.$motionY < (-0.15))
                $this.$motionY = (-0.15);
            $ptr = 14;
            continue main;
        case 11:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Block_blocksList.data[$var5].$slipperiness * 0.9100000262260437;
            $ptr = 10;
            continue main;
        case 12:
            $this.$moveEntity($var3, $var10, var$6);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$isCollidedHorizontally) {
                $var3 = $this.$motionY - 0.08;
                $this.$motionY = $var3;
                $this.$motionY = $var3 * 0.9800000190734863;
                $var3 = $this.$motionX;
                $var10 = $var1;
                $this.$motionX = $var3 * $var10;
                $this.$motionZ = $this.$motionZ * $var10;
                $this.$field_705_Q = $this.$field_704_R;
                $var3 = $this.$posX - $this.$prevPosX;
                $var10 = $this.$posZ - $this.$prevPosZ;
                $var7 = nms_MathHelper_sqrt_double($var3 * $var3 + $var10 * $var10) * 4.0;
                if ($var7 > 1.0)
                    $var7 = 1.0;
                $var1 = $this.$field_704_R;
                $var1 = $var1 + ($var7 - $var1) * 0.4000000059604645;
                $this.$field_704_R = $var1;
                $this.$field_703_S = $this.$field_703_S + $var1;
                return;
            }
            $ptr = 13;
        case 13:
            $tmp = $this.$isOnLadder();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5)
                $this.$motionY = 0.2;
            $var3 = $this.$motionY - 0.08;
            $this.$motionY = $var3;
            $this.$motionY = $var3 * 0.9800000190734863;
            $var3 = $this.$motionX;
            $var10 = $var1;
            $this.$motionX = $var3 * $var10;
            $this.$motionZ = $this.$motionZ * $var10;
            $this.$field_705_Q = $this.$field_704_R;
            $var3 = $this.$posX - $this.$prevPosX;
            $var10 = $this.$posZ - $this.$prevPosZ;
            $var7 = nms_MathHelper_sqrt_double($var3 * $var3 + $var10 * $var10) * 4.0;
            if ($var7 > 1.0)
                $var7 = 1.0;
            $var1 = $this.$field_704_R;
            $var1 = $var1 + ($var7 - $var1) * 0.4000000059604645;
            $this.$field_704_R = $var1;
            $this.$field_703_S = $this.$field_703_S + $var1;
            return;
        case 14:
            $tmp = $this.$isSneaking();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 && $this.$motionY < 0.0)
                $this.$motionY = 0.0;
            $var3 = $this.$motionX;
            $var10 = $this.$motionY;
            var$6 = $this.$motionZ;
            $ptr = 12;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var5, $var3, $var10, var$6, var$7, $var8, var$9, $var4, var$11, $var9, var$13, $var7, $ptr);
    }
    function nms_EntityLiving_isOnLadder($this) {
        var $var1, $var2, $var3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = nms_MathHelper_floor_double($this.$posX);
            $var2 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
            $var3 = nms_MathHelper_floor_double($this.$posZ);
            var$4 = $this.$worldObj0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId(var$4, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$5 == nms_Block_ladder.$blockID)
                return 1;
            var$4 = $this.$worldObj0;
            $var2 = $var2 + 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId(var$4, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1 == nms_Block_ladder.$blockID ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $ptr);
    }
    function nms_EntityLiving_writeEntityToNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(1671);
            var$3 = $this.$health << 16 >> 16;
            $ptr = 1;
        case 1:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1672);
            var$3 = $this.$hurtTime << 16 >> 16;
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1673);
            var$3 = $this.$deathTime << 16 >> 16;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1674);
            var$3 = $this.$attackTime << 16 >> 16;
            $ptr = 4;
        case 4:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityLiving_readEntityFromNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(1671);
            $ptr = 1;
        case 1:
            $tmp = nms_NBTTagCompound_getShort($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$health = var$3;
            var$2 = $rt_s(1671);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_hasKey($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                $this.$health = 10;
            var$2 = $rt_s(1672);
            $ptr = 3;
        case 3:
            $tmp = nms_NBTTagCompound_getShort($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$hurtTime = var$3;
            var$2 = $rt_s(1673);
            $ptr = 4;
        case 4:
            $tmp = nms_NBTTagCompound_getShort($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$deathTime = var$3;
            var$2 = $rt_s(1674);
            $ptr = 5;
        case 5:
            $tmp = nms_NBTTagCompound_getShort($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$attackTime = var$3;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityLiving_isEntityAlive($this) {
        return !$this.$isDead && $this.$health > 0 ? 1 : 0;
    }
    function nms_EntityLiving_canBreatheUnderwater($this) {
        return 0;
    }
    function nms_EntityLiving_onLivingUpdate($this) {
        var $var9, $var1, var$3, var$4, $var3, $var5, var$7, $var7, $var2, var$10, var$11, $var10, $var11, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var2 = $thread.pop();$var7 = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var1 = $thread.pop();$var9 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var9 = $this.$newPosRotationIncrements;
            if ($var9 > 0) {
                $var1 = $this.$posX;
                var$3 = $this.$newPosX - $var1;
                var$4 = $var9;
                $var1 = $var1 + var$3 / var$4;
                var$3 = $this.$posY;
                $var3 = var$3 + ($this.$newPosY - var$3) / var$4;
                var$3 = $this.$posZ;
                $var5 = var$3 + ($this.$newPosZ - var$3) / var$4;
                var$3 = $this.$newRotationYaw;
                var$7 = $this.$rotationYaw;
                $var7 = var$3 - var$7;
                while ($var7 < (-180.0)) {
                    $var7 = $var7 + 360.0;
                }
                while ($var7 >= 180.0) {
                    $var7 = $var7 - 360.0;
                }
                $this.$rotationYaw = var$7 + $var7 / var$4;
                var$3 = $this.$rotationPitch;
                $this.$rotationPitch = var$3 + ($this.$newRotationPitch - var$3) / var$4;
                $this.$newPosRotationIncrements = $var9 - 1 | 0;
                nms_Entity_setPosition($this, $var1, $var3, $var5);
                nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
            }
            if ($this.$isMovementBlocked()) {
                $this.$isJumping = 0;
                $this.$moveStrafing = 0.0;
                $this.$moveForward = 0.0;
                $this.$randomYawVelocity = 0.0;
            } else if (!$this.$field_9343_G) {
                $ptr = 3;
                continue main;
            }
            $ptr = 1;
        case 1:
            $tmp = $this.$handleWaterMovement();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = nms_Entity_handleLavaMovement($this);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($this.$isJumping) {
                if ($var9)
                    $this.$motionY = $this.$motionY + 0.03999999910593033;
                else if ($var2)
                    $this.$motionY = $this.$motionY + 0.03999999910593033;
                else if ($this.$onGround0) {
                    $ptr = 6;
                    continue main;
                }
            }
            var$10 = $this.$moveStrafing * 0.9800000190734863;
            $this.$moveStrafing = var$10;
            var$11 = $this.$moveForward * 0.9800000190734863;
            $this.$moveForward = var$11;
            $this.$randomYawVelocity = $this.$randomYawVelocity * 0.8999999761581421;
            $ptr = 4;
            continue main;
        case 3:
            $this.$updatePlayerActionState();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 1;
            continue main;
        case 4:
            $this.$moveEntityWithHeading(var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $this.$worldObj0;
            $var11 = nms_AxisAlignedBB_expand($this.$boundingBox, 0.20000000298023224, 0.0, 0.20000000298023224);
            $ptr = 5;
        case 5:
            a: {
                $tmp = nms_World_getEntitiesWithinAABBExcludingEntity($var10, $this, $var11);
                if ($rt_suspending()) {
                    break main;
                }
                $var10 = $tmp;
                if ($var10 !== null && $var10.$size0 > 0) {
                    $var4 = 0;
                    while (true) {
                        if ($var4 >= $var10.$size0)
                            break a;
                        $var11 = ju_ArrayList_get($var10, $var4);
                        if ($var11.$canBePushed())
                            $var11.$applyEntityCollision($this);
                        $var4 = $var4 + 1 | 0;
                    }
                }
            }
            return;
        case 6:
            $this.$jump();
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $this.$moveStrafing * 0.9800000190734863;
            $this.$moveStrafing = var$10;
            var$11 = $this.$moveForward * 0.9800000190734863;
            $this.$moveForward = var$11;
            $this.$randomYawVelocity = $this.$randomYawVelocity * 0.8999999761581421;
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var9, $var1, var$3, var$4, $var3, $var5, var$7, $var7, $var2, var$10, var$11, $var10, $var11, $var4, $ptr);
    }
    function nms_EntityLiving_isMovementBlocked($this) {
        return $this.$health > 0 ? 0 : 1;
    }
    function nms_EntityLiving_jump($this) {
        $this.$motionY = 0.41999998688697815;
    }
    function nms_EntityLiving_canDespawn($this) {
        return 1;
    }
    function nms_EntityLiving_updatePlayerActionState($this) {
        var $var1, $var3, $var2, $var4, $var6, $var8, var$7, $var11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var11 = $thread.pop();var$7 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$field_9344_ag = $this.$field_9344_ag + 1 | 0;
            $var1 = nms_World_getClosestPlayerToEntity($this.$worldObj0, $this, (-1.0));
            $ptr = 1;
        case 1:
            $tmp = $this.$canDespawn();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3 && $var1 !== null) {
                $var2 = $var1.$posX - $this.$posX;
                $var4 = $var1.$posY - $this.$posY;
                $var6 = $var1.$posZ - $this.$posZ;
                $var8 = $var2 * $var2 + $var4 * $var4 + $var6 * $var6;
                if ($var8 > 16384.0) {
                    $ptr = 3;
                    continue main;
                }
                if ($this.$field_9344_ag > 600 && !ju_Random_nextInt($this.$rand3, 800)) {
                    if ($var8 >= 1024.0) {
                        $ptr = 6;
                        continue main;
                    }
                    $this.$field_9344_ag = 0;
                }
            }
            $this.$moveStrafing = 0.0;
            $this.$moveForward = 0.0;
            if (ju_Random_nextFloat($this.$rand3) < 0.019999999552965164) {
                $var1 = nms_World_getClosestPlayerToEntity($this.$worldObj0, $this, 8.0);
                if ($var1 === null)
                    $this.$randomYawVelocity = (ju_Random_nextFloat($this.$rand3) - 0.5) * 20.0;
                else {
                    $this.$currentTarget = $var1;
                    $this.$numTicksToChaseTarget = 10 + ju_Random_nextInt($this.$rand3, 20) | 0;
                }
            }
            $var1 = $this.$currentTarget;
            if ($var1 !== null) {
                var$7 = 10.0;
                $ptr = 2;
                continue main;
            }
            if (ju_Random_nextFloat($this.$rand3) < 0.05000000074505806)
                $this.$randomYawVelocity = (ju_Random_nextFloat($this.$rand3) - 0.5) * 20.0;
            $this.$rotationYaw = $this.$rotationYaw + $this.$randomYawVelocity;
            $this.$rotationPitch = $this.$defaultPitch;
            $ptr = 4;
            continue main;
        case 2:
            a: {
                $tmp = $this.$func_25026_x();
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                nms_EntityLiving_faceEntity($this, $var1, var$7, $var3);
                $var3 = $this.$numTicksToChaseTarget;
                $this.$numTicksToChaseTarget = $var3 - 1 | 0;
                if ($var3 > 0) {
                    $var1 = $this.$currentTarget;
                    if (!$var1.$isDead && nms_Entity_getDistanceSqToEntity($var1, $this) <= 64.0)
                        break a;
                }
                $this.$currentTarget = null;
            }
            $ptr = 4;
            continue main;
        case 3:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$field_9344_ag > 600 && !ju_Random_nextInt($this.$rand3, 800)) {
                if ($var8 >= 1024.0) {
                    $ptr = 6;
                    continue main;
                }
                $this.$field_9344_ag = 0;
            }
            $this.$moveStrafing = 0.0;
            $this.$moveForward = 0.0;
            if (ju_Random_nextFloat($this.$rand3) < 0.019999999552965164) {
                $var1 = nms_World_getClosestPlayerToEntity($this.$worldObj0, $this, 8.0);
                if ($var1 === null)
                    $this.$randomYawVelocity = (ju_Random_nextFloat($this.$rand3) - 0.5) * 20.0;
                else {
                    $this.$currentTarget = $var1;
                    $this.$numTicksToChaseTarget = 10 + ju_Random_nextInt($this.$rand3, 20) | 0;
                }
            }
            $var1 = $this.$currentTarget;
            if ($var1 !== null) {
                var$7 = 10.0;
                $ptr = 2;
                continue main;
            }
            if (ju_Random_nextFloat($this.$rand3) < 0.05000000074505806)
                $this.$randomYawVelocity = (ju_Random_nextFloat($this.$rand3) - 0.5) * 20.0;
            $this.$rotationYaw = $this.$rotationYaw + $this.$randomYawVelocity;
            $this.$rotationPitch = $this.$defaultPitch;
            $ptr = 4;
        case 4:
            $tmp = $this.$handleWaterMovement();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $ptr = 5;
        case 5:
            $tmp = nms_Entity_handleLavaMovement($this);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            if (!(!$var3 && !$var11))
                $this.$isJumping = ju_Random_nextFloat($this.$rand3) >= 0.800000011920929 ? 0 : 1;
            return;
        case 6:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$moveStrafing = 0.0;
            $this.$moveForward = 0.0;
            if (ju_Random_nextFloat($this.$rand3) < 0.019999999552965164) {
                $var1 = nms_World_getClosestPlayerToEntity($this.$worldObj0, $this, 8.0);
                if ($var1 === null)
                    $this.$randomYawVelocity = (ju_Random_nextFloat($this.$rand3) - 0.5) * 20.0;
                else {
                    $this.$currentTarget = $var1;
                    $this.$numTicksToChaseTarget = 10 + ju_Random_nextInt($this.$rand3, 20) | 0;
                }
            }
            $var1 = $this.$currentTarget;
            if ($var1 !== null) {
                var$7 = 10.0;
                $ptr = 2;
                continue main;
            }
            if (ju_Random_nextFloat($this.$rand3) < 0.05000000074505806)
                $this.$randomYawVelocity = (ju_Random_nextFloat($this.$rand3) - 0.5) * 20.0;
            $this.$rotationYaw = $this.$rotationYaw + $this.$randomYawVelocity;
            $this.$rotationPitch = $this.$defaultPitch;
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var2, $var4, $var6, $var8, var$7, $var11, $ptr);
    }
    function nms_EntityLiving_func_25026_x($this) {
        return 10;
    }
    function nms_EntityLiving_faceEntity($this, $var1, $var2, $var3) {
        var $var4, $var8, $var6, $var10, $var14, $var12, $var13;
        $var4 = $var1.$posX - $this.$posX;
        $var8 = $var1.$posZ - $this.$posZ;
        if (!($var1 instanceof nms_EntityLiving)) {
            $var1 = $var1.$boundingBox;
            $var6 = ($var1.$minY0 + $var1.$maxY0) / 2.0 - ($this.$posY + $this.$getEyeHeight());
        } else {
            $var10 = $var1;
            $var6 = $this.$posY + $this.$getEyeHeight() - ($var10.$posY + $var10.$getEyeHeight());
        }
        $var14 = nms_MathHelper_sqrt_double($var4 * $var4 + $var8 * $var8);
        $var12 = jl_Math_atan2($var8, $var4) * 180.0 / 3.1415927410125732 - 90.0;
        $var13 = jl_Math_atan2($var6, $var14) * 180.0 / 3.1415927410125732;
        $this.$rotationPitch =  -nms_EntityLiving_updateRotation($this, $this.$rotationPitch, $var13, $var3);
        $this.$rotationYaw = nms_EntityLiving_updateRotation($this, $this.$rotationYaw, $var12, $var2);
    }
    function nms_EntityLiving_updateRotation($this, $var1, $var2, $var3) {
        var $var4;
        $var4 = $var2 - $var1;
        while ($var4 < (-180.0)) {
            $var4 = $var4 + 360.0;
        }
        while ($var4 >= 180.0) {
            $var4 = $var4 - 360.0;
        }
        if ($var4 > $var3)
            $var4 = $var3;
        $var2 =  -$var3;
        if ($var4 >= $var2)
            $var2 = $var4;
        return $var1 + $var2;
    }
    function nms_EntityLiving_unusedEntityMethod($this) {}
    function nms_EntityLiving_getCanSpawnHere($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$worldObj0;
            var$2 = $this.$boundingBox;
            $ptr = 1;
        case 1:
            $tmp = nms_World_checkIfAABBIsClear(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return 0;
            var$1 = $this.$worldObj0;
            var$2 = $this.$boundingBox;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getCollidingBoundingBoxes(var$1, $this, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1.$size0)
                return 0;
            var$1 = $this.$worldObj0;
            var$2 = $this.$boundingBox;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getIsAnyLiquid(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_EntityLiving_kill($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = null;
            var$2 = 4;
            $ptr = 1;
        case 1:
            $this.$attackEntityFrom(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_EntityLiving_getSwingProgress($this, $var1) {
        var $var2, var$3;
        $var2 = $this.$swingProgress;
        var$3 = $this.$prevSwingProgress;
        $var2 = $var2 - var$3;
        if ($var2 < 0.0)
            $var2 = $var2 + 1.0;
        return var$3 + $var2 * $var1;
    }
    function nms_EntityLiving_getPosition($this, $var1) {
        var $var2, $var4, $var6, var$5;
        if ($var1 === 1.0)
            return nms_Vec3D_createVector($this.$posX, $this.$posY, $this.$posZ);
        $var2 = $this.$prevPosX;
        $var4 = $this.$posX - $var2;
        $var6 = $var1;
        $var2 = $var2 + $var4 * $var6;
        $var4 = $this.$prevPosY;
        $var4 = $var4 + ($this.$posY - $var4) * $var6;
        var$5 = $this.$prevPosZ;
        return nms_Vec3D_createVector($var2, $var4, var$5 + ($this.$posZ - var$5) * $var6);
    }
    function nms_EntityLiving_getLookVec($this) {
        return nms_EntityLiving_getLook($this, 1.0);
    }
    function nms_EntityLiving_getLook($this, $var1) {
        var $var2, $var3, $var4, $var5, $var6;
        if ($var1 !== 1.0) {
            $var2 = $this.$prevRotationPitch;
            $var2 = $var2 + ($this.$rotationPitch - $var2) * $var1;
            $var3 = $this.$prevRotationYaw;
            $var1 =  -($var3 + ($this.$rotationYaw - $var3) * $var1) * 0.01745329238474369 - 3.1415927410125732;
            $var4 = nms_MathHelper_cos($var1);
            $var5 = nms_MathHelper_sin($var1);
            $var1 =  -$var2 * 0.01745329238474369;
            $var6 =  -nms_MathHelper_cos($var1);
            return nms_Vec3D_createVector($var5 * $var6, nms_MathHelper_sin($var1), $var4 * $var6);
        }
        $var2 = nms_MathHelper_cos( -$this.$rotationYaw * 0.01745329238474369 - 3.1415927410125732);
        $var3 = nms_MathHelper_sin( -$this.$rotationYaw * 0.01745329238474369 - 3.1415927410125732);
        $var4 =  -nms_MathHelper_cos( -$this.$rotationPitch * 0.01745329238474369);
        return nms_Vec3D_createVector($var3 * $var4, nms_MathHelper_sin( -$this.$rotationPitch * 0.01745329238474369), $var2 * $var4);
    }
    function nms_EntityLiving_rayTrace($this, $var1, $var3) {
        var $var4, $var5, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = nms_EntityLiving_getPosition($this, $var3);
            $var5 = nms_EntityLiving_getLook($this, $var3);
            $var6 = nms_Vec3D_addVector($var4, $var5.$xCoord * $var1, $var5.$yCoord * $var1, $var5.$zCoord * $var1);
            $var5 = $this.$worldObj0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_rayTraceBlocks($var5, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            return $var4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_EntityLiving_getMaxSpawnedInChunk($this) {
        return 4;
    }
    function nms_EntityLiving_getHeldItem($this) {
        return null;
    }
    function nms_EntityLiving_handleHealthUpdate($this, $var1) {
        var var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 != 2) {
                if ($var1 != 3)
                    return;
                var$2 = $this.$worldObj0;
                $ptr = 4;
                continue main;
            }
            $this.$field_704_R = 1.5;
            $this.$field_9306_bj = $this.$field_9366_o;
            $this.$maxHurtTime = 10;
            $this.$hurtTime = 10;
            $this.$attackedAtYaw = 0.0;
            var$2 = $this.$worldObj0;
            $ptr = 1;
        case 1:
            $tmp = $this.$getHurtSound();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$4 = $this.$getSoundVolume();
            var$5 = (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.20000000298023224 + 1.0;
            $ptr = 2;
        case 2:
            nms_World_playSoundAtEntity(var$2, $this, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = null;
            $var1 = 0;
            $ptr = 3;
        case 3:
            $this.$attackEntityFrom(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            $tmp = $this.$getDeathSound();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$4 = $this.$getSoundVolume();
            var$5 = (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.20000000298023224 + 1.0;
            $ptr = 5;
        case 5:
            nms_World_playSoundAtEntity(var$2, $this, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $this.$health = 0;
            var$2 = null;
            $ptr = 6;
        case 6:
            $this.$onDeath(var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nlei_EnumPlatformType() {
        jl_Enum.call(this);
        this.$name10 = null;
    }
    var nlei_EnumPlatformType_DESKTOP = null;
    var nlei_EnumPlatformType_JAVASCRIPT = null;
    var nlei_EnumPlatformType_WASM_GC = null;
    var nlei_EnumPlatformType_$VALUES = null;
    function nlei_EnumPlatformType_$callClinit() {
        nlei_EnumPlatformType_$callClinit = $rt_eraseClinit(nlei_EnumPlatformType);
        nlei_EnumPlatformType__clinit_();
    }
    function nlei_EnumPlatformType__init_0(var_0, var_1, var_2) {
        var var_3 = new nlei_EnumPlatformType();
        nlei_EnumPlatformType__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nlei_EnumPlatformType_values() {
        nlei_EnumPlatformType_$callClinit();
        return nlei_EnumPlatformType_$VALUES.$clone();
    }
    function nlei_EnumPlatformType__init_($this, var$1, var$2, $name) {
        nlei_EnumPlatformType_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
        $this.$name10 = $name;
    }
    function nlei_EnumPlatformType_toString($this) {
        return $this.$name10;
    }
    function nlei_EnumPlatformType__clinit_() {
        var var$1;
        nlei_EnumPlatformType_DESKTOP = nlei_EnumPlatformType__init_0($rt_s(486), 0, $rt_s(1675));
        nlei_EnumPlatformType_JAVASCRIPT = nlei_EnumPlatformType__init_0($rt_s(1676), 1, $rt_s(1677));
        var$1 = nlei_EnumPlatformType__init_0($rt_s(1678), 2, $rt_s(1679));
        nlei_EnumPlatformType_WASM_GC = var$1;
        nlei_EnumPlatformType_$VALUES = $rt_createArrayFromData(nlei_EnumPlatformType, [nlei_EnumPlatformType_DESKTOP, nlei_EnumPlatformType_JAVASCRIPT, var$1]);
    }
    function nms_MouseHelper() {
        var a = this; jl_Object.call(a);
        a.$deltaX = 0;
        a.$deltaY = 0;
    }
    function nms_MouseHelper__init_0() {
        var var_0 = new nms_MouseHelper();
        nms_MouseHelper__init_(var_0);
        return var_0;
    }
    function nms_MouseHelper__init_($this) {}
    function nms_ScaledResolution() {
        var a = this; jl_Object.call(a);
        a.$scaledWidth = 0;
        a.$scaledHeight = 0;
        a.$field_25121_a = 0.0;
        a.$field_25120_b = 0.0;
        a.$scaleFactor = 0;
    }
    function nms_ScaledResolution__init_(var_0, var_1, var_2) {
        var var_3 = new nms_ScaledResolution();
        nms_ScaledResolution__init_0(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_ScaledResolution__init_0($this, $var1, $var2, $var3) {
        var $var4, var$5, var$6, var$7, var$8;
        $this.$scaledWidth = $var2;
        $this.$scaledHeight = $var3;
        $this.$scaleFactor = 1;
        $var4 = $var1.$field_25148_H;
        if (!$var4)
            $var4 = 1000;
        while (true) {
            var$5 = $this.$scaleFactor;
            if (var$5 >= $var4)
                break;
            var$6 = var$5 + 1 | 0;
            if (($var2 / var$6 | 0) < 320)
                break;
            if (($var3 / var$6 | 0) < 240)
                break;
            $this.$scaleFactor = var$6;
        }
        var$7 = $var2;
        var$8 = var$5;
        var$7 = var$7 / var$8;
        $this.$field_25121_a = var$7;
        $this.$field_25120_b = $var3 / var$8;
        $this.$scaledWidth = jl_Math_ceil(var$7) | 0;
        $this.$scaledHeight = jl_Math_ceil($this.$field_25120_b) | 0;
    }
    function nms_ScaledResolution_getScaledWidth($this) {
        return $this.$scaledWidth;
    }
    function nms_ScaledResolution_getScaledHeight($this) {
        return $this.$scaledHeight;
    }
    var nle_Mouse = $rt_classWithoutFields();
    function nle_Mouse__init_0() {
        var var_0 = new nle_Mouse();
        nle_Mouse__init_(var_0);
        return var_0;
    }
    function nle_Mouse__init_($this) {}
    function nle_Mouse_getEventDWheel() {
        var var$1, var$2;
        var$1 = nlei_PlatformInput_currentEvent;
        if (var$1.$type2 != 3)
            var$2 = 0;
        else {
            var$2 = $rt_compare(var$1.$wheel, 0.0);
            var$2 = var$2 > 0 ? 1 : var$2 >= 0 ? 0 : (-1);
        }
        return var$2;
    }
    function nle_Mouse_getEventButtonState() {
        var var$1;
        var$1 = nlei_PlatformInput_currentEvent;
        return var$1 === null ? 0 : var$1.$type2 ? 0 : 1;
    }
    function nle_Mouse_next() {
        var var$1, var$2, var$3, $$je;
        nlei_PlatformInput_currentEvent = null;
        var$1 = nlei_PlatformInput_mouseEvents;
        jl_Object_monitorEnterSync(var$1);
        a: {
            try {
                b: {
                    if (!ju_AbstractCollection_isEmpty(var$1)) {
                        var$2 = ju_AbstractSequentialList_remove(nlei_PlatformInput_mouseEvents, 0);
                        nlei_PlatformInput_currentEvent = var$2;
                        if (var$2 !== null) {
                            var$3 = 1;
                            break b;
                        }
                    }
                    var$3 = 0;
                }
                jl_Object_monitorExitSync(var$1);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$2 = $$je;
                break a;

            }
            return var$3;
        }
        jl_Object_monitorExitSync(var$1);
        $rt_throw(var$2);
    }
    function nle_Mouse_getEventX() {
        var var$1;
        var$1 = nlei_PlatformInput_currentEvent;
        return var$1 !== null ? var$1.$posX1 : (-1);
    }
    function nle_Mouse_getEventY() {
        var var$1;
        var$1 = nlei_PlatformInput_currentEvent;
        return var$1 !== null ? var$1.$posY1 : (-1);
    }
    function nle_Mouse_getEventButton() {
        var var$1;
        var$1 = nlei_PlatformInput_currentEvent;
        return var$1 !== null && var$1.$type2 != 2 ? var$1.$button : (-1);
    }
    function nle_Mouse_isButtonDown($i) {
        var var$2;
        a: {
            if ($i >= 0) {
                var$2 = nlei_PlatformInput_buttonStates.data;
                if ($i < var$2.length) {
                    $i = var$2[$i];
                    break a;
                }
            }
            $i = 0;
        }
        return $i;
    }
    var oli_Mouse = $rt_classWithoutFields(nle_Mouse);
    function oli_Mouse__init_0() {
        var var_0 = new oli_Mouse();
        oli_Mouse__init_(var_0);
        return var_0;
    }
    function oli_Mouse__init_($this) {}
    function nms_RenderManager() {
        var a = this; jl_Object.call(a);
        a.$entityRenderMap = null;
        a.$fontRenderer1 = null;
        a.$renderEngine0 = null;
        a.$itemRenderer0 = null;
        a.$worldObj2 = null;
        a.$livingPlayer = null;
        a.$playerViewY = 0.0;
        a.$playerViewX = 0.0;
        a.$options1 = null;
        a.$field_1222_l = 0.0;
        a.$field_1221_m = 0.0;
        a.$field_1220_n = 0.0;
    }
    var nms_RenderManager_instance = null;
    var nms_RenderManager_renderPosX = 0.0;
    var nms_RenderManager_renderPosY = 0.0;
    var nms_RenderManager_renderPosZ = 0.0;
    var nms_RenderManager_$clinitCalled = false;
    function nms_RenderManager_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_RenderManager_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_RenderManager_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_RenderManager__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_RenderManager_$callClinit = $rt_eraseClinit(nms_RenderManager);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_RenderManager__init_0() {
        var var_0 = new nms_RenderManager();
        nms_RenderManager__init_(var_0);
        return var_0;
    }
    function nms_RenderManager__init_($this) {
        var $var1, $var2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_RenderManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = ju_HashMap__init_0();
            $this.$entityRenderMap = $var1;
            $var2 = $rt_cls(nms_EntitySpider);
            var$3 = nms_RenderSpider__init_0();
            $ptr = 2;
        case 2:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$entityRenderMap;
            var$3 = $rt_cls(nms_EntityPig);
            var$4 = new nms_RenderPig;
            $var1 = nms_ModelPig__init_1();
            var$5 = new nms_ModelPig;
            nms_ModelQuadraped__init_(var$5, 6, 0.5);
            nms_RenderLiving__init_(var$4, $var1, 0.699999988079071);
            var$4.$renderPassModel = var$5;
            $ptr = 3;
        case 3:
            ju_HashMap_putImpl($var2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntitySheep);
            var$3 = new nms_RenderSheep;
            var$4 = nms_ModelSheep2__init_0();
            var$5 = nms_ModelSheep1__init_0();
            nms_RenderLiving__init_(var$3, var$4, 0.699999988079071);
            var$3.$renderPassModel = var$5;
            $ptr = 4;
        case 4:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityCow);
            var$3 = new nms_RenderCow;
            nms_RenderLiving__init_(var$3, nms_ModelCow__init_0(), 0.699999988079071);
            $ptr = 5;
        case 5:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityWolf);
            var$3 = new nms_RenderWolf;
            nms_RenderLiving__init_(var$3, nms_ModelWolf__init_0(), 0.5);
            $ptr = 6;
        case 6:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityChicken);
            var$3 = new nms_RenderChicken;
            nms_RenderLiving__init_(var$3, nms_ModelChicken__init_0(), 0.30000001192092896);
            $ptr = 7;
        case 7:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityCreeper);
            var$3 = nms_RenderCreeper__init_0();
            $ptr = 8;
        case 8:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntitySkeleton);
            var$3 = nms_RenderBiped__init_0(nms_ModelSkeleton__init_0(), 0.5);
            $ptr = 9;
        case 9:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityZombie);
            var$3 = new nms_RenderBiped;
            var$4 = new nms_ModelZombie;
            nms_ModelBiped__init_(var$4);
            nms_RenderBiped__init_(var$3, var$4, 0.5);
            $ptr = 10;
        case 10:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntitySlime);
            var$3 = new nms_RenderSlime;
            var$4 = nms_ModelSlime__init_0(16);
            var$5 = nms_ModelSlime__init_0(0);
            nms_RenderLiving__init_(var$3, var$4, 0.25);
            var$3.$scaleAmount = var$5;
            $ptr = 11;
        case 11:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityPlayer);
            var$3 = nms_RenderPlayer__init_0();
            $ptr = 12;
        case 12:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityZombieSimple);
            var$3 = new nms_RenderZombieSimple;
            var$4 = new nms_ModelZombie;
            nms_ModelBiped__init_(var$4);
            nms_RenderLiving__init_(var$3, var$4, 3.0);
            var$3.$scale = 6.0;
            $ptr = 13;
        case 13:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityGhast);
            var$3 = nms_RenderGhast__init_0();
            $ptr = 14;
        case 14:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntitySquid);
            var$3 = new nms_RenderSquid;
            nms_RenderLiving__init_(var$3, nms_ModelSquid__init_0(), 0.699999988079071);
            $ptr = 15;
        case 15:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityLiving);
            var$3 = nms_RenderLiving__init_0(nms_ModelBiped__init_1(), 0.5);
            $ptr = 16;
        case 16:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_Entity);
            var$3 = new nms_RenderEntity;
            nms_Render__init_(var$3);
            $ptr = 17;
        case 17:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityPainting);
            var$3 = nms_RenderPainting__init_0();
            $ptr = 18;
        case 18:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityArrow);
            var$3 = new nms_RenderArrow;
            nms_Render__init_(var$3);
            $ptr = 19;
        case 19:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntitySnowball);
            var$3 = new nms_RenderSnowball;
            $ptr = 20;
        case 20:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_Item_snowball;
            var$5 = null;
            $ptr = 21;
        case 21:
            $tmp = var$4.$getIconIndex0(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            nms_RenderSnowball__init_(var$3, var$6);
            $ptr = 22;
        case 22:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityEgg);
            var$3 = new nms_RenderSnowball;
            var$4 = nms_Item_egg;
            var$5 = null;
            $ptr = 23;
        case 23:
            $tmp = var$4.$getIconIndex0(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            nms_RenderSnowball__init_(var$3, var$6);
            $ptr = 24;
        case 24:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityFireball);
            var$3 = new nms_RenderFireball;
            nms_Render__init_(var$3);
            $ptr = 25;
        case 25:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityItem);
            var$3 = nms_RenderItem__init_0();
            $ptr = 26;
        case 26:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityTNTPrimed);
            var$3 = nms_RenderTNTPrimed__init_0();
            $ptr = 27;
        case 27:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityFallingSand);
            var$3 = nms_RenderFallingSand__init_0();
            $ptr = 28;
        case 28:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityMinecart);
            var$3 = nms_RenderMinecart__init_0();
            $ptr = 29;
        case 29:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityBoat);
            var$3 = nms_RenderBoat__init_0();
            $ptr = 30;
        case 30:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$entityRenderMap;
            $var2 = $rt_cls(nms_EntityFish);
            var$3 = new nms_RenderFish;
            nms_Render__init_(var$3);
            $ptr = 31;
        case 31:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = ju_HashMap_values($this.$entityRenderMap);
            $ptr = 32;
        case 32:
            $tmp = ju_HashMap$2_iterator($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!ju_HashMap$AbstractMapIterator_hasNext($var1))
                return;
            $ptr = 33;
        case 33:
            $tmp = ju_HashMap$ValueIterator_next($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var2.$renderManager = $this;
            if (!ju_HashMap$AbstractMapIterator_hasNext($var1))
                return;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_RenderManager_getEntityClassRenderObject($this, $var1) {
        var $var2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $this.$entityRenderMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_get($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var2 = $var2;
            if ($var2 === null && $var1 !== $rt_cls(nms_Entity)) {
                $var2 = jl_Class_getSuperclass($var1);
                $ptr = 2;
                continue main;
            }
            return $var2;
        case 2:
            $tmp = nms_RenderManager_getEntityClassRenderObject($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$3 = $this.$entityRenderMap;
            $ptr = 3;
        case 3:
            ju_HashMap_putImpl(var$3, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_RenderManager_getEntityRenderObject($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = jl_Object_getClass($var1);
            $ptr = 1;
        case 1:
            $tmp = nms_RenderManager_getEntityClassRenderObject($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_RenderManager_renderEntityWithPosYaw($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $var10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_RenderManager_getEntityRenderObject($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            if ($var10 === null)
                return;
            $ptr = 2;
        case 2:
            $var10.$doRender($var1, $var2, $var4, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_Render_doRenderShadowAndFire($var10, $var1, $var2, $var4, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var10, $ptr);
    }
    function nms_RenderManager__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nms_RenderManager;
            $ptr = 1;
        case 1:
            nms_RenderManager__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nms_RenderManager_instance = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    var nms_ISaveFormat = $rt_classWithoutFields(0);
    function nleb_EaglercraftSaveManager() {
        var a = this; jl_Object.call(a);
        a.$directory = null;
        a.$savedir0 = null;
    }
    function nleb_EaglercraftSaveManager_getWorldInfoForWorld($this, $s) {
        var $nbt, $lvl, var$4, var$5, $e, var$7, var$8, var$9, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$e = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$lvl = $thread.pop();$nbt = $thread.pop();$s = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $nbt = new nleiv_VFile2;
            $lvl = $rt_createArray(jl_Object, 1);
            var$4 = $lvl.data;
            var$5 = 0;
            $e = $this.$directory;
            var$7 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$7);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$7, $e);
            if ($rt_suspending()) {
                break main;
            }
            $e = $tmp;
            var$8 = 47;
            jl_AbstractStringBuilder_append($e, var$8);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append($e, $s);
            if ($rt_suspending()) {
                break main;
            }
            $e = $tmp;
            var$9 = $rt_s(1469);
            $ptr = 3;
        case 3:
            jl_StringBuilder_append($e, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$7);
            if ($rt_suspending()) {
                break main;
            }
            $e = $tmp;
            var$4[var$5] = $e;
            $ptr = 5;
        case 5:
            nleiv_VFile2__init_($nbt, $lvl);
            if ($rt_suspending()) {
                break main;
            }
            $this.$savedir0 = $nbt;
            $ptr = 6;
        case 6:
            $tmp = nleiv_VFile2_getAllBytes($nbt);
            if ($rt_suspending()) {
                break main;
            }
            $lvl = $tmp;
            if ($lvl === null)
                return null;
            try {
                $nbt = ji_DataInputStream__init_(ji_ByteArrayInputStream__init_($lvl));
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $nbt = $this.$directory;
            var$7 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$7);
            var$9 = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 7:
            try {
                $tmp = nms_NBTBase_readTag($nbt);
                if ($rt_suspending()) {
                    break main;
                }
                $nbt = $tmp;
                if ($nbt instanceof nms_NBTTagCompound) {
                    $s = new nms_WorldInfo;
                    $nbt = $nbt;
                    $ptr = 20;
                    continue main;
                }
                $nbt = new ji_IOException;
                $e = $this.$directory;
                var$7 = jl_StringBuilder__init_0();
                var$9 = $rt_s(1680);
                $ptr = 15;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $nbt = $this.$directory;
            var$7 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$7);
            var$9 = $rt_s(1470);
            $ptr = 8;
        case 8:
            $tmp = jl_StringBuilder_append(var$7, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            $ptr = 9;
        case 9:
            $tmp = jl_StringBuilder_append(var$9, $nbt);
            if ($rt_suspending()) {
                break main;
            }
            $nbt = $tmp;
            var$9 = $rt_s(1471);
            $ptr = 10;
        case 10:
            jl_StringBuilder_append($nbt, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            $tmp = jl_AbstractStringBuilder_toString(var$7);
            if ($rt_suspending()) {
                break main;
            }
            $nbt = $tmp;
            $ptr = 12;
        case 12:
            ji_PrintStream_println0($s, $nbt);
            if ($rt_suspending()) {
                break main;
            }
            $s = jl_System_err();
            $nbt = $rt_s(1681);
            $ptr = 13;
        case 13:
            ji_PrintStream_println0($s, $nbt);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            jl_Throwable_printStackTrace($e);
            if ($rt_suspending()) {
                break main;
            }
            return null;
        case 15:
            try {
                $tmp = jl_StringBuilder_append(var$7, var$9);
                if ($rt_suspending()) {
                    break main;
                }
                var$9 = $tmp;
                $ptr = 16;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $nbt = $this.$directory;
            var$7 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$7);
            var$9 = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 16:
            try {
                $tmp = jl_StringBuilder_append(var$9, $e);
                if ($rt_suspending()) {
                    break main;
                }
                $e = $tmp;
                $e = jl_StringBuilder_append5($e, var$8);
                $ptr = 17;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $nbt = $this.$directory;
            var$7 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$7);
            var$9 = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 17:
            try {
                $tmp = jl_StringBuilder_append($e, $s);
                if ($rt_suspending()) {
                    break main;
                }
                $s = $tmp;
                $e = $rt_s(1682);
                $ptr = 18;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $nbt = $this.$directory;
            var$7 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$7);
            var$9 = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 18:
            try {
                jl_StringBuilder_append($s, $e);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 19;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $nbt = $this.$directory;
            var$7 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$7);
            var$9 = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 19:
            try {
                $tmp = jl_StringBuilder_toString(var$7);
                if ($rt_suspending()) {
                    break main;
                }
                $s = $tmp;
                ji_IOException__init_4($nbt, $s);
                $rt_throw($nbt);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $nbt = $this.$directory;
            var$7 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$7);
            var$9 = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 20:
            a: {
                try {
                    nms_WorldInfo__init_($s, $nbt);
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        $e = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $s;
            }
            $s = jl_System_err();
            $nbt = $this.$directory;
            var$7 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$7);
            var$9 = $rt_s(1470);
            $ptr = 8;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $s, $nbt, $lvl, var$4, var$5, $e, var$7, var$8, var$9, $ptr);
    }
    function nleb_EaglercraftSaveManager_renameWorldData($this, $s, $s1) {
        var $nbt, $lvl, var$5, var$6, $w, $out, var$9, $e, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$e = $thread.pop();var$9 = $thread.pop();$out = $thread.pop();$w = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$lvl = $thread.pop();$nbt = $thread.pop();$s1 = $thread.pop();$s = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $nbt = new nleiv_VFile2;
            $lvl = $rt_createArray(jl_Object, 1);
            var$5 = $lvl.data;
            var$6 = 0;
            $w = $this.$directory;
            $out = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($out);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append($out, $w);
            if ($rt_suspending()) {
                break main;
            }
            $w = $tmp;
            var$9 = 47;
            jl_AbstractStringBuilder_append($w, var$9);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append($w, $s);
            if ($rt_suspending()) {
                break main;
            }
            $w = $tmp;
            $e = $rt_s(1469);
            $ptr = 3;
        case 3:
            jl_StringBuilder_append($w, $e);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString($out);
            if ($rt_suspending()) {
                break main;
            }
            $w = $tmp;
            var$5[var$6] = $w;
            $ptr = 5;
        case 5:
            nleiv_VFile2__init_($nbt, $lvl);
            if ($rt_suspending()) {
                break main;
            }
            $this.$savedir0 = $nbt;
            $ptr = 6;
        case 6:
            $tmp = nleiv_VFile2_getAllBytes($nbt);
            if ($rt_suspending()) {
                break main;
            }
            $lvl = $tmp;
            if ($lvl === null)
                return;
            try {
                $nbt = ji_DataInputStream__init_(ji_ByteArrayInputStream__init_($lvl));
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $s1 = $this.$directory;
            $nbt = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($nbt);
            $w = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 7:
            try {
                $tmp = nms_NBTBase_readTag($nbt);
                if ($rt_suspending()) {
                    break main;
                }
                $nbt = $tmp;
                if ($nbt instanceof nms_NBTTagCompound) {
                    $lvl = $lvl.data;
                    $w = $nbt;
                    $nbt = $rt_s(1683);
                    $ptr = 20;
                    continue main;
                }
                $s1 = new ji_IOException;
                $nbt = $this.$directory;
                $w = jl_StringBuilder__init_0();
                $out = $rt_s(1680);
                $ptr = 15;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $s1 = $this.$directory;
            $nbt = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($nbt);
            $w = $rt_s(1470);
            $ptr = 8;
        case 8:
            $tmp = jl_StringBuilder_append($nbt, $w);
            if ($rt_suspending()) {
                break main;
            }
            $w = $tmp;
            $ptr = 9;
        case 9:
            $tmp = jl_StringBuilder_append($w, $s1);
            if ($rt_suspending()) {
                break main;
            }
            $s1 = $tmp;
            $w = $rt_s(1471);
            $ptr = 10;
        case 10:
            jl_StringBuilder_append($s1, $w);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            $tmp = jl_AbstractStringBuilder_toString($nbt);
            if ($rt_suspending()) {
                break main;
            }
            $s1 = $tmp;
            $ptr = 12;
        case 12:
            ji_PrintStream_println0($s, $s1);
            if ($rt_suspending()) {
                break main;
            }
            $s = jl_System_err();
            $s1 = $rt_s(1681);
            $ptr = 13;
        case 13:
            ji_PrintStream_println0($s, $s1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            jl_Throwable_printStackTrace($e);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 15:
            try {
                $tmp = jl_StringBuilder_append($w, $out);
                if ($rt_suspending()) {
                    break main;
                }
                $out = $tmp;
                $ptr = 16;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $s1 = $this.$directory;
            $nbt = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($nbt);
            $w = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 16:
            try {
                $tmp = jl_StringBuilder_append($out, $nbt);
                if ($rt_suspending()) {
                    break main;
                }
                $nbt = $tmp;
                $nbt = jl_StringBuilder_append5($nbt, var$9);
                $ptr = 17;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $s1 = $this.$directory;
            $nbt = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($nbt);
            $w = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 17:
            try {
                $tmp = jl_StringBuilder_append($nbt, $s);
                if ($rt_suspending()) {
                    break main;
                }
                $s = $tmp;
                $nbt = $rt_s(1682);
                $ptr = 18;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $s1 = $this.$directory;
            $nbt = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($nbt);
            $w = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 18:
            try {
                jl_StringBuilder_append($s, $nbt);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 19;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $s1 = $this.$directory;
            $nbt = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($nbt);
            $w = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 19:
            try {
                $tmp = jl_StringBuilder_toString($w);
                if ($rt_suspending()) {
                    break main;
                }
                $s = $tmp;
                ji_IOException__init_4($s1, $s);
                $rt_throw($s1);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $s1 = $this.$directory;
            $nbt = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($nbt);
            $w = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 20:
            try {
                nms_NBTTagCompound_setString($w, $nbt, $s1);
                if ($rt_suspending()) {
                    break main;
                }
                $out = ji_ByteArrayOutputStream__init_2(($lvl.length + 16 | 0) + (jl_String_length($s1) * 2 | 0) | 0);
                nms_NBTBase_writeTag($w, ji_DataOutputStream__init_0($out));
                $s1 = new nleiv_VFile2;
                $lvl = $rt_createArray(jl_Object, 1);
                var$6 = 0;
                $nbt = $this.$directory;
                $w = jl_StringBuilder__init_0();
                $ptr = 21;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $s1 = $this.$directory;
            $nbt = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($nbt);
            $w = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 21:
            try {
                $tmp = jl_StringBuilder_append($w, $nbt);
                if ($rt_suspending()) {
                    break main;
                }
                $nbt = $tmp;
                $nbt = jl_StringBuilder_append5($nbt, var$9);
                $ptr = 22;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $s1 = $this.$directory;
            $nbt = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($nbt);
            $w = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 22:
            try {
                $tmp = jl_StringBuilder_append($nbt, $s);
                if ($rt_suspending()) {
                    break main;
                }
                $s = $tmp;
                $nbt = $rt_s(1469);
                $ptr = 23;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $s1 = $this.$directory;
            $nbt = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($nbt);
            $w = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 23:
            try {
                jl_StringBuilder_append($s, $nbt);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 24;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $s1 = $this.$directory;
            $nbt = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($nbt);
            $w = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 24:
            try {
                $tmp = jl_StringBuilder_toString($w);
                if ($rt_suspending()) {
                    break main;
                }
                $s = $tmp;
                $lvl.data[var$6] = $s;
                $ptr = 25;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $s1 = $this.$directory;
            $nbt = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($nbt);
            $w = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 25:
            try {
                nleiv_VFile2__init_($s1, $lvl);
                if ($rt_suspending()) {
                    break main;
                }
                $this.$savedir0 = $s1;
                $lvl = ji_ByteArrayOutputStream_toByteArray($out);
                $ptr = 26;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $s = jl_System_err();
            $s1 = $this.$directory;
            $nbt = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($nbt);
            $w = $rt_s(1470);
            $ptr = 8;
            continue main;
        case 26:
            a: {
                try {
                    nleiv_VFile2_setAllBytes($s1, $lvl);
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        $e = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return;
            }
            $s = jl_System_err();
            $s1 = $this.$directory;
            $nbt = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($nbt);
            $w = $rt_s(1470);
            $ptr = 8;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $s, $s1, $nbt, $lvl, var$5, var$6, $w, $out, var$9, $e, $ptr);
    }
    function nms_TexturePackList() {
        var a = this; jl_Object.call(a);
        a.$availableTexturePacks = null;
        a.$defaultTexturePack = null;
        a.$selectedTexturePack = null;
        a.$field_6538_d = null;
        a.$mc0 = null;
        a.$texturePackDir = null;
        a.$currentTexturePack = null;
    }
    function nms_TexturePackList_updateAvaliableTexturePacks($this) {
        var $var1, $var10, $var11, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = ju_ArrayList__init_0();
            $this.$selectedTexturePack = null;
            $var10 = $this.$defaultTexturePack;
            $ptr = 1;
        case 1:
            ju_ArrayList_add($var1, $var10);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$selectedTexturePack === null)
                $this.$selectedTexturePack = $this.$defaultTexturePack;
            $var10 = $this.$availableTexturePacks;
            $ptr = 2;
        case 2:
            ju_AbstractCollection_removeAll($var10, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $this.$availableTexturePacks;
            $ptr = 3;
        case 3:
            $tmp = ju_AbstractList_iterator($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            if (!ju_AbstractList$1_hasNext($var10)) {
                $this.$availableTexturePacks = $var1;
                return;
            }
            $ptr = 4;
        case 4:
            $tmp = ju_AbstractList$1_next($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var11 = $var11;
            var$4 = $this.$mc0;
            if ($var11.$texturePackThumbnail === null) {
                var$4 = $this.$field_6538_d;
                $var11 = $var11.$field_6488_d;
                $ptr = 5;
                continue main;
            }
            var$4 = var$4.$renderEngine;
            var$5 = $var11.$texturePackName;
            $ptr = 6;
            continue main;
        case 5:
            ju_HashMap_remove(var$4, $var11);
            if ($rt_suspending()) {
                break main;
            }
            if (!ju_AbstractList$1_hasNext($var10)) {
                $this.$availableTexturePacks = $var1;
                return;
            }
            $ptr = 4;
            continue main;
        case 6:
            nms_RenderEngine_deleteTexture(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$field_6538_d;
            $var11 = $var11.$field_6488_d;
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var10, $var11, var$4, var$5, $ptr);
    }
    function nms_TexturePackList_availableTexturePacks($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new ju_ArrayList;
            var$2 = $this.$availableTexturePacks;
            $ptr = 1;
        case 1:
            ju_ArrayList__init_4(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_RenderEngine() {
        var a = this; jl_Object.call(a);
        a.$textureMap = null;
        a.$textureNameToImageMap = null;
        a.$singleIntBuffer = null;
        a.$imageData = null;
        a.$textureList = null;
        a.$urlToImageDataMap = null;
        a.$options = null;
        a.$clampTexture = 0;
        a.$blurTexture = 0;
        a.$texturePackList0 = null;
    }
    var nms_RenderEngine_useMipmaps = 0;
    function nms_RenderEngine_getTexture($this, $var1) {
        var $var3, var$3, $var6, var$5, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var6 = $thread.pop();var$3 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $this.$textureMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_get($var3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var3 = $var3;
            if ($var3 !== null)
                return $var3.$value;
            try {
                nleib_EaglerArrayIntBuffer_clear($this.$singleIntBuffer);
                $var3 = $this.$singleIntBuffer;
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $var1 = new jl_RuntimeException;
            jl_Throwable__init_($var1, $rt_s(1684));
            $rt_throw($var1);
        case 2:
            try {
                nms_GLAllocation_generateTextureNames($var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $this.$singleIntBuffer;
                var$3 = 0;
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $var1 = new jl_RuntimeException;
            jl_Throwable__init_($var1, $rt_s(1684));
            $rt_throw($var1);
        case 3:
            try {
                $tmp = nleib_EaglerArrayIntBuffer_get($var3, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                $var6 = $tmp;
                if (jl_String_startsWith($var1, $rt_s(1154))) {
                    $var3 = jl_String_substring($var1, 2);
                    $ptr = 4;
                    continue main;
                }
                if (jl_String_startsWith($var1, $rt_s(1685))) {
                    $this.$clampTexture = 1;
                    $var3 = jl_String_substring($var1, 7);
                    $ptr = 7;
                    continue main;
                }
                if (!jl_String_startsWith($var1, $rt_s(1686))) {
                    $ptr = 11;
                    continue main;
                }
                $this.$blurTexture = 1;
                $var3 = jl_String_substring($var1, 6);
                $ptr = 14;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $var1 = new jl_RuntimeException;
            jl_Throwable__init_($var1, $rt_s(1684));
            $rt_throw($var1);
        case 4:
            try {
                $tmp = nle_EagRuntime_getRequiredResourceStream($var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 5;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $var1 = new jl_RuntimeException;
            jl_Throwable__init_($var1, $rt_s(1684));
            $rt_throw($var1);
        case 5:
            try {
                $tmp = nms_RenderEngine_readTextureImage($this, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $var3 = nms_RenderEngine_unwrapImageByColumns($this, $var3);
                $ptr = 6;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $var1 = new jl_RuntimeException;
            jl_Throwable__init_($var1, $rt_s(1684));
            $rt_throw($var1);
        case 6:
            try {
                nms_RenderEngine_setupTexture($this, $var3, $var6);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $this.$textureMap;
                var$5 = jl_Integer_valueOf($var6);
                $ptr = 10;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $var1 = new jl_RuntimeException;
            jl_Throwable__init_($var1, $rt_s(1684));
            $rt_throw($var1);
        case 7:
            try {
                $tmp = nle_EagRuntime_getRequiredResourceStream($var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 8;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $var1 = new jl_RuntimeException;
            jl_Throwable__init_($var1, $rt_s(1684));
            $rt_throw($var1);
        case 8:
            try {
                $tmp = nms_RenderEngine_readTextureImage($this, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 9;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $var1 = new jl_RuntimeException;
            jl_Throwable__init_($var1, $rt_s(1684));
            $rt_throw($var1);
        case 9:
            try {
                nms_RenderEngine_setupTexture($this, $var3, $var6);
                if ($rt_suspending()) {
                    break main;
                }
                $this.$clampTexture = 0;
                $var3 = $this.$textureMap;
                var$5 = jl_Integer_valueOf($var6);
                $ptr = 10;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $var1 = new jl_RuntimeException;
            jl_Throwable__init_($var1, $rt_s(1684));
            $rt_throw($var1);
        case 10:
            a: {
                try {
                    ju_HashMap_put($var3, $var1, var$5);
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $var6;
            }
            $var1 = new jl_RuntimeException;
            jl_Throwable__init_($var1, $rt_s(1684));
            $rt_throw($var1);
        case 11:
            try {
                $tmp = nle_EagRuntime_getRequiredResourceStream($var1);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 12;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $var1 = new jl_RuntimeException;
            jl_Throwable__init_($var1, $rt_s(1684));
            $rt_throw($var1);
        case 12:
            try {
                $tmp = nms_RenderEngine_readTextureImage($this, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 13;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $var1 = new jl_RuntimeException;
            jl_Throwable__init_($var1, $rt_s(1684));
            $rt_throw($var1);
        case 13:
            try {
                nms_RenderEngine_setupTexture($this, $var3, $var6);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $this.$textureMap;
                var$5 = jl_Integer_valueOf($var6);
                $ptr = 10;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $var1 = new jl_RuntimeException;
            jl_Throwable__init_($var1, $rt_s(1684));
            $rt_throw($var1);
        case 14:
            try {
                $tmp = nle_EagRuntime_getRequiredResourceStream($var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 15;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $var1 = new jl_RuntimeException;
            jl_Throwable__init_($var1, $rt_s(1684));
            $rt_throw($var1);
        case 15:
            try {
                $tmp = nms_RenderEngine_readTextureImage($this, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                $ptr = 16;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $var1 = new jl_RuntimeException;
            jl_Throwable__init_($var1, $rt_s(1684));
            $rt_throw($var1);
        case 16:
            try {
                nms_RenderEngine_setupTexture($this, $var3, $var6);
                if ($rt_suspending()) {
                    break main;
                }
                $this.$blurTexture = 0;
                $var3 = $this.$textureMap;
                var$5 = jl_Integer_valueOf($var6);
                $ptr = 10;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $var1 = new jl_RuntimeException;
            jl_Throwable__init_($var1, $rt_s(1684));
            $rt_throw($var1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, var$3, $var6, var$5, $ptr);
    }
    function nms_RenderEngine_unwrapImageByColumns($this, $var1) {
        var $var2, $var3, $var5, var$5, var$6, $var5_0;
        $var2 = $var1.$width0 / 16 | 0;
        $var3 = new nleo_ImageData;
        $var5 = $rt_imul($var1.$height0, $var2);
        var$5 = $var1.$alpha;
        $var3.$width0 = 16;
        $var3.$height0 = $var5;
        $var3.$pixels = $rt_createIntArray(16 * $var5 | 0);
        $var3.$alpha = var$5;
        $var5 = 0;
        while ($var5 < $var2) {
            var$5 = $var1.$height0;
            var$6 = $rt_imul($var5, var$5);
            $var5_0 = $var5 + 1 | 0;
            nleo_ImageData_drawLayer($var3, $var1, 0, var$6, 16, $rt_imul($var5_0, var$5), $var5 * 16 | 0, 0, $var5_0 * 16 | 0, var$5);
            $var5 = $var5_0;
        }
        return $var3;
    }
    function nms_RenderEngine_allocateAndSetupTexture($this, $var1) {
        var var$2, $var2, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleib_EaglerArrayIntBuffer_clear($this.$singleIntBuffer);
            var$2 = $this.$singleIntBuffer;
            $ptr = 1;
        case 1:
            nms_GLAllocation_generateTextureNames(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$singleIntBuffer;
            $var2 = 0;
            $ptr = 2;
        case 2:
            $tmp = nleib_EaglerArrayIntBuffer_get(var$2, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 3;
        case 3:
            nms_RenderEngine_setupTexture($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$textureNameToImageMap;
            var$4 = jl_Integer_valueOf($var2);
            $ptr = 4;
        case 4:
            ju_HashMap_putImpl(var$2, var$4, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, var$4, $ptr);
    }
    function nms_RenderEngine_setupTexture($this, $var1, $var2) {
        var $var7, $var8, $var3, $var4, $var5, var$8, $var6, var$10, $var9, $var8_0, $var12, $var13, $var14, $var10, $var11, $var13_0, $var15, $var16, $var17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var13_0 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var8_0 = $thread.pop();$var9 = $thread.pop();var$10 = $thread.pop();$var6 = $thread.pop();var$8 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var7 = 3553;
            $ptr = 1;
        case 1:
            olo_GL11_glBindTexture($var7, $var2);
            if ($rt_suspending()) {
                break main;
            }
            if (!nms_RenderEngine_useMipmaps) {
                $var7 = 3553;
                $var8 = 10241;
                $var2 = 9728;
                $ptr = 2;
                continue main;
            }
            $var2 = 3553;
            $var7 = 10241;
            $var8 = 9987;
            $ptr = 4;
            continue main;
        case 2:
            nleo_EaglercraftGPU_glTexParameteri($var7, $var8, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3553;
            $var7 = 10240;
            $var8 = 9728;
            $ptr = 3;
        case 3:
            nleo_EaglercraftGPU_glTexParameteri($var2, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$blurTexture) {
                $var2 = 3553;
                $var7 = 10241;
                $var8 = 9729;
                $ptr = 6;
                continue main;
            }
            if (!$this.$clampTexture) {
                $var2 = 3553;
                $var7 = 10242;
                $var8 = 10497;
                $ptr = 8;
                continue main;
            }
            $var2 = 3553;
            $var7 = 10242;
            $var8 = 33071;
            $ptr = 10;
            continue main;
        case 4:
            nleo_EaglercraftGPU_glTexParameteri($var2, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3553;
            $var7 = 10240;
            $var8 = 9729;
            $ptr = 5;
        case 5:
            nleo_EaglercraftGPU_glTexParameteri($var2, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$blurTexture) {
                $var2 = 3553;
                $var7 = 10241;
                $var8 = 9729;
                $ptr = 6;
                continue main;
            }
            if (!$this.$clampTexture) {
                $var2 = 3553;
                $var7 = 10242;
                $var8 = 10497;
                $ptr = 8;
                continue main;
            }
            $var2 = 3553;
            $var7 = 10242;
            $var8 = 33071;
            $ptr = 10;
            continue main;
        case 6:
            nleo_EaglercraftGPU_glTexParameteri($var2, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3553;
            $var7 = 10240;
            $var8 = 9729;
            $ptr = 7;
        case 7:
            nleo_EaglercraftGPU_glTexParameteri($var2, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$clampTexture) {
                $var2 = 3553;
                $var7 = 10242;
                $var8 = 10497;
                $ptr = 8;
                continue main;
            }
            $var2 = 3553;
            $var7 = 10242;
            $var8 = 33071;
            $ptr = 10;
            continue main;
        case 8:
            nleo_EaglercraftGPU_glTexParameteri($var2, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3553;
            $var7 = 10243;
            $var8 = 10497;
            $ptr = 9;
        case 9:
            nleo_EaglercraftGPU_glTexParameteri($var2, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var1.$width0;
            $var4 = $var1.$height0;
            $var2 = $rt_imul($var3, $var4);
            $var5 = $rt_createIntArray($var2);
            var$8 = $var5.data;
            $var6 = $rt_createByteArray($var2 * 4 | 0);
            var$10 = $var6.data;
            nleo_ImageData_getRGB($var1, 0, 0, $var3, $var4, $var5, 0, $var3);
            $var7 = 0;
            $var9 = var$8.length;
            while ($var7 < $var9) {
                $var8_0 = var$8[$var7] >> 24 & 255;
                $var12 = var$8[$var7] >> 16 & 255;
                $var13 = var$8[$var7] >> 8 & 255;
                $var14 = var$8[$var7] & 255;
                $var1 = $this.$options;
                if ($var1 !== null && $var1.$anaglyph) {
                    $var10 = $var12 * 30 | 0;
                    $var12 = (($var10 + ($var13 * 59 | 0) | 0) + ($var14 * 11 | 0) | 0) / 100 | 0;
                    $var13 = ($var10 + ($var13 * 70 | 0) | 0) / 100 | 0;
                    $var14 = ($var10 + ($var14 * 70 | 0) | 0) / 100 | 0;
                }
                $var2 = $var7 * 4 | 0;
                var$10[$var2 + 0 | 0] = $var12 << 24 >> 24;
                var$10[$var2 + 1 | 0] = $var13 << 24 >> 24;
                var$10[$var2 + 2 | 0] = $var14 << 24 >> 24;
                var$10[$var2 + 3 | 0] = $var8_0 << 24 >> 24;
                $var7 = $var7 + 1 | 0;
            }
            nleib_EaglerArrayByteBuffer_clear($this.$imageData);
            $var1 = $this.$imageData;
            $ptr = 12;
            continue main;
        case 10:
            nleo_EaglercraftGPU_glTexParameteri($var2, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3553;
            $var7 = 10243;
            $var8 = 33071;
            $ptr = 11;
        case 11:
            nleo_EaglercraftGPU_glTexParameteri($var2, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var1.$width0;
            $var4 = $var1.$height0;
            $var2 = $rt_imul($var3, $var4);
            $var5 = $rt_createIntArray($var2);
            var$8 = $var5.data;
            $var6 = $rt_createByteArray($var2 * 4 | 0);
            var$10 = $var6.data;
            nleo_ImageData_getRGB($var1, 0, 0, $var3, $var4, $var5, 0, $var3);
            $var7 = 0;
            $var9 = var$8.length;
            while ($var7 < $var9) {
                $var8_0 = var$8[$var7] >> 24 & 255;
                $var12 = var$8[$var7] >> 16 & 255;
                $var13 = var$8[$var7] >> 8 & 255;
                $var14 = var$8[$var7] & 255;
                $var1 = $this.$options;
                if ($var1 !== null && $var1.$anaglyph) {
                    $var10 = $var12 * 30 | 0;
                    $var12 = (($var10 + ($var13 * 59 | 0) | 0) + ($var14 * 11 | 0) | 0) / 100 | 0;
                    $var13 = ($var10 + ($var13 * 70 | 0) | 0) / 100 | 0;
                    $var14 = ($var10 + ($var14 * 70 | 0) | 0) / 100 | 0;
                }
                $var2 = $var7 * 4 | 0;
                var$10[$var2 + 0 | 0] = $var12 << 24 >> 24;
                var$10[$var2 + 1 | 0] = $var13 << 24 >> 24;
                var$10[$var2 + 2 | 0] = $var14 << 24 >> 24;
                var$10[$var2 + 3 | 0] = $var8_0 << 24 >> 24;
                $var7 = $var7 + 1 | 0;
            }
            nleib_EaglerArrayByteBuffer_clear($this.$imageData);
            $var1 = $this.$imageData;
            $ptr = 12;
        case 12:
            nleib_EaglerArrayByteBuffer_put($var1, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$imageData;
            $var2 = 0;
            $ptr = 13;
        case 13:
            $tmp = nleib_EaglerArrayByteBuffer_position($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var2 = var$10.length;
            $ptr = 14;
        case 14:
            nleib_EaglerArrayByteBuffer_limit($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3553;
            $var7 = 0;
            $var8 = 6408;
            $var9 = 0;
            $var8_0 = 6408;
            $var13 = 5121;
            $var1 = $this.$imageData;
            $ptr = 15;
        case 15:
            nleo_EaglercraftGPU_glTexImage2D($var2, $var7, $var8, $var3, $var4, $var9, $var8_0, $var13, $var1);
            if ($rt_suspending()) {
                break main;
            }
            if (nms_RenderEngine_useMipmaps) {
                $var2 = 1;
                if ($var2 <= 4) {
                    $var8 = $var3 >> ($var2 - 1 | 0);
                    $var9 = $var3 >> $var2;
                    $var10 = $var4 >> $var2;
                    $var11 = 0;
                    while ($var11 < $var9) {
                        $var12 = 0;
                        if ($var12 < $var10) {
                            $var1 = $this.$imageData;
                            $var7 = $var11 * 2 | 0;
                            $var8_0 = $var7 + 0 | 0;
                            $var13 = $var12 * 2 | 0;
                            $var14 = $rt_imul($var13 + 0 | 0, $var8);
                            $var13_0 = ($var8_0 + $var14 | 0) * 4 | 0;
                            $ptr = 17;
                            continue main;
                        }
                        $var11 = $var11 + 1 | 0;
                    }
                    $var7 = 3553;
                    $var8 = 6408;
                    $var8_0 = 0;
                    $var13 = 6408;
                    $var14 = 5121;
                    $var1 = $this.$imageData;
                    $ptr = 16;
                    continue main;
                }
            }
            return;
        case 16:
            nleo_EaglercraftGPU_glTexImage2D($var7, $var2, $var8, $var9, $var10, $var8_0, $var13, $var14, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 > 4)
                return;
            $var8 = $var3 >> ($var2 - 1 | 0);
            $var9 = $var3 >> $var2;
            $var10 = $var4 >> $var2;
            $var11 = 0;
            while ($var11 < $var9) {
                $var12 = 0;
                if ($var12 < $var10) {
                    $var1 = $this.$imageData;
                    $var7 = $var11 * 2 | 0;
                    $var8_0 = $var7 + 0 | 0;
                    $var13 = $var12 * 2 | 0;
                    $var14 = $rt_imul($var13 + 0 | 0, $var8);
                    $var13_0 = ($var8_0 + $var14 | 0) * 4 | 0;
                    $ptr = 17;
                    continue main;
                }
                $var11 = $var11 + 1 | 0;
            }
            $var7 = 3553;
            $var8 = 6408;
            $var8_0 = 0;
            $var13 = 6408;
            $var14 = 5121;
            $var1 = $this.$imageData;
            continue main;
        case 17:
            $tmp = nleib_EaglerArrayByteBuffer_getInt($var1, $var13_0);
            if ($rt_suspending()) {
                break main;
            }
            $var13_0 = $tmp;
            $var1 = $this.$imageData;
            $var15 = $var7 + 1 | 0;
            $var7 = ($var15 + $var14 | 0) * 4 | 0;
            $ptr = 18;
        case 18:
            $tmp = nleib_EaglerArrayByteBuffer_getInt($var1, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            $var1 = $this.$imageData;
            $var7 = $rt_imul($var13 + 1 | 0, $var8);
            $var13 = ($var15 + $var7 | 0) * 4 | 0;
            $ptr = 19;
        case 19:
            $tmp = nleib_EaglerArrayByteBuffer_getInt($var1, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $tmp;
            $var1 = $this.$imageData;
            $var7 = ($var8_0 + $var7 | 0) * 4 | 0;
            $ptr = 20;
        case 20:
            $tmp = nleib_EaglerArrayByteBuffer_getInt($var1, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            $var17 = nms_RenderEngine_weightedAverageColor($this, nms_RenderEngine_weightedAverageColor($this, $var13_0, $var14), nms_RenderEngine_weightedAverageColor($this, $var15, $var16));
            $var1 = $this.$imageData;
            $var7 = ($var11 + $rt_imul($var12, $var9) | 0) * 4 | 0;
            $ptr = 21;
        case 21:
            nleib_EaglerArrayByteBuffer_putInt($var1, $var7, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $var12 + 1 | 0;
            while (true) {
                if ($var12 < $var10) {
                    $var1 = $this.$imageData;
                    $var7 = $var11 * 2 | 0;
                    $var8_0 = $var7 + 0 | 0;
                    $var13 = $var12 * 2 | 0;
                    $var14 = $rt_imul($var13 + 0 | 0, $var8);
                    $var13_0 = ($var8_0 + $var14 | 0) * 4 | 0;
                    $ptr = 17;
                    continue main;
                }
                $var11 = $var11 + 1 | 0;
                if ($var11 >= $var9)
                    break;
                $var12 = 0;
            }
            $var7 = 3553;
            $var8 = 6408;
            $var8_0 = 0;
            $var13 = 6408;
            $var14 = 5121;
            $var1 = $this.$imageData;
            $ptr = 16;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var7, $var8, $var3, $var4, $var5, var$8, $var6, var$10, $var9, $var8_0, $var12, $var13, $var14, $var10, $var11, $var13_0, $var15, $var16, $var17, $ptr);
    }
    function nms_RenderEngine_deleteTexture($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$textureNameToImageMap;
            var$3 = jl_Integer_valueOf($var1);
            $ptr = 1;
        case 1:
            ju_HashMap_remove(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayIntBuffer_clear($this.$singleIntBuffer);
            var$2 = $this.$singleIntBuffer;
            $ptr = 2;
        case 2:
            nleib_EaglerArrayIntBuffer_put(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayIntBuffer_flip($this.$singleIntBuffer);
            var$2 = $this.$singleIntBuffer;
            $ptr = 3;
        case 3:
            olo_GL11_glDeleteTextures(var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_RenderEngine_registerTextureFX($this, $var1) {
        ju_ArrayList_add($this.$textureList, $var1);
        $var1.$onTick();
    }
    function nms_RenderEngine_updateTerrainTextures($this) {
        var $var1, $var2, var$3, var$4, $var5, $var10, $var3, $var4, $var11, $var12, $var5_0, $var6, $var7, $var8, $var9, $var7_0, $var11_0, $var10_0, $var13, $var14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var10_0 = $thread.pop();$var11_0 = $thread.pop();$var7_0 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5_0 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var10 = $thread.pop();$var5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = 0;
            $var2 = $this.$textureList;
            if ($var1 < $var2.$size0) {
                $var2 = ju_ArrayList_get($var2, $var1);
                $var2.$anaglyphEnabled = $this.$options.$anaglyph;
                $var2.$onTick();
                nleib_EaglerArrayByteBuffer_clear($this.$imageData);
                var$3 = $this.$imageData;
                var$4 = $var2.$imageData0;
                $ptr = 1;
                continue main;
            }
            $var5 = 0;
            while (true) {
                $var2 = $this.$textureList;
                if ($var5 >= $var2.$size0)
                    break;
                $var2 = ju_ArrayList_get($var2, $var5);
                if ($var2.$field_1130_d > 0) {
                    nleib_EaglerArrayByteBuffer_clear($this.$imageData);
                    var$3 = $this.$imageData;
                    var$4 = $var2.$imageData0;
                    $ptr = 5;
                    continue main;
                }
                $var5 = $var5 + 1 | 0;
            }
            return;
        case 1:
            nleib_EaglerArrayByteBuffer_put(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$imageData;
            $var10 = 0;
            $ptr = 2;
        case 2:
            $tmp = nleib_EaglerArrayByteBuffer_position(var$3, $var10);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $var10 = $var2.$imageData0.data.length;
            $ptr = 3;
        case 3:
            nleib_EaglerArrayByteBuffer_limit(var$3, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_TextureFX_bindImage($var2, $this);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 0;
            while (true) {
                if ($var3 >= $var2.$tileSize) {
                    $var1 = $var1 + 1 | 0;
                    $var2 = $this.$textureList;
                    if ($var1 < $var2.$size0) {
                        $var2 = ju_ArrayList_get($var2, $var1);
                        $var2.$anaglyphEnabled = $this.$options.$anaglyph;
                        $var2.$onTick();
                        nleib_EaglerArrayByteBuffer_clear($this.$imageData);
                        var$3 = $this.$imageData;
                        var$4 = $var2.$imageData0;
                        $ptr = 1;
                        continue main;
                    }
                    $var5 = 0;
                    while (true) {
                        $var2 = $this.$textureList;
                        if ($var5 >= $var2.$size0)
                            break;
                        $var2 = ju_ArrayList_get($var2, $var5);
                        if ($var2.$field_1130_d > 0) {
                            nleib_EaglerArrayByteBuffer_clear($this.$imageData);
                            var$3 = $this.$imageData;
                            var$4 = $var2.$imageData0;
                            $ptr = 5;
                            continue main;
                        }
                        $var5 = $var5 + 1 | 0;
                    }
                    return;
                }
                $var4 = 0;
                if ($var4 < $var2.$tileSize)
                    break;
                $var3 = $var3 + 1 | 0;
            }
            $var10 = 3553;
            $var11 = 0;
            $var12 = $var2.$iconIndex;
            $var5 = (($var12 % 16 | 0) * 16 | 0) + ($var3 * 16 | 0) | 0;
            $var12 = (($var12 / 16 | 0) * 16 | 0) + ($var4 * 16 | 0) | 0;
            $var5_0 = 16;
            $var6 = 16;
            $var7 = 6408;
            $var8 = 5121;
            var$3 = $this.$imageData;
            $ptr = 10;
            continue main;
        case 5:
            nleib_EaglerArrayByteBuffer_put(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$imageData;
            $var1 = 0;
            $ptr = 6;
        case 6:
            $tmp = nleib_EaglerArrayByteBuffer_position(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $var1 = $var2.$imageData0.data.length;
            $ptr = 7;
        case 7:
            nleib_EaglerArrayByteBuffer_limit(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 3553;
            $var10 = $var2.$field_1130_d;
            $ptr = 8;
        case 8:
            olo_GL11_glBindTexture($var1, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var5_0 = 3553;
            $var6 = 0;
            $var1 = 0;
            $var10 = 0;
            $var11 = 16;
            $var12 = 16;
            $var3 = 6408;
            $var4 = 5121;
            $var2 = $this.$imageData;
            $ptr = 9;
        case 9:
            nleo_EaglercraftGPU_glTexSubImage2D($var5_0, $var6, $var1, $var10, $var11, $var12, $var3, $var4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            if (nms_RenderEngine_useMipmaps) {
                $var3 = 1;
                if ($var3 <= 4) {
                    $var4 = 16 >> ($var3 - 1 | 0);
                    $var5_0 = 16 >> $var3;
                    $var6 = 0;
                    while ($var6 < $var5_0) {
                        $var7 = 0;
                        if ($var7 < $var5_0) {
                            $var2 = $this.$imageData;
                            $var1 = $var6 * 2 | 0;
                            $var12 = $var1 + 0 | 0;
                            $var11 = $var7 * 2 | 0;
                            $var9 = $rt_imul($var11 + 0 | 0, $var4);
                            $var10 = ($var12 + $var9 | 0) * 4 | 0;
                            $ptr = 13;
                            continue main;
                        }
                        $var6 = $var6 + 1 | 0;
                    }
                    $var1 = 3553;
                    $var10 = 0;
                    $var11 = 0;
                    $var12 = 6408;
                    $var4 = 5121;
                    $var2 = $this.$imageData;
                    $ptr = 11;
                    continue main;
                }
            }
            while (true) {
                $var5 = $var5 + 1 | 0;
                $var2 = $this.$textureList;
                if ($var5 >= $var2.$size0)
                    break;
                $var2 = ju_ArrayList_get($var2, $var5);
                if ($var2.$field_1130_d <= 0)
                    continue;
                else {
                    nleib_EaglerArrayByteBuffer_clear($this.$imageData);
                    var$3 = $this.$imageData;
                    var$4 = $var2.$imageData0;
                    $ptr = 5;
                    continue main;
                }
            }
            return;
        case 10:
            nleo_EaglercraftGPU_glTexSubImage2D($var10, $var11, $var5, $var12, $var5_0, $var6, $var7, $var8, var$3);
            if ($rt_suspending()) {
                break main;
            }
            if (nms_RenderEngine_useMipmaps) {
                $var5 = 1;
                if ($var5 <= 4) {
                    $var6 = 16 >> ($var5 - 1 | 0);
                    $var7_0 = 16 >> $var5;
                    $var8 = 0;
                    while ($var8 < $var7_0) {
                        $var9 = 0;
                        if ($var9 < $var7_0) {
                            var$3 = $this.$imageData;
                            $var11_0 = $var8 * 2 | 0;
                            $var10 = $var11_0 + 0 | 0;
                            $var11 = $var9 * 2 | 0;
                            $var12 = $rt_imul($var11 + 0 | 0, $var6);
                            $var5_0 = ($var10 + $var12 | 0) * 4 | 0;
                            $ptr = 18;
                            continue main;
                        }
                        $var8 = $var8 + 1 | 0;
                    }
                    $var10 = 3553;
                    $var11 = $var2.$iconIndex;
                    $var12 = $rt_imul($var11 % 16 | 0, $var7_0);
                    $var11 = $rt_imul($var11 / 16 | 0, $var7_0);
                    $var5_0 = 6408;
                    $var6 = 5121;
                    var$3 = $this.$imageData;
                    $ptr = 12;
                    continue main;
                }
            }
            $var4 = $var4 + 1 | 0;
            while ($var4 >= $var2.$tileSize) {
                $var3 = $var3 + 1 | 0;
                if ($var3 >= $var2.$tileSize) {
                    $var1 = $var1 + 1 | 0;
                    $var2 = $this.$textureList;
                    if ($var1 < $var2.$size0) {
                        $var2 = ju_ArrayList_get($var2, $var1);
                        $var2.$anaglyphEnabled = $this.$options.$anaglyph;
                        $var2.$onTick();
                        nleib_EaglerArrayByteBuffer_clear($this.$imageData);
                        var$3 = $this.$imageData;
                        var$4 = $var2.$imageData0;
                        $ptr = 1;
                        continue main;
                    }
                    $var5 = 0;
                    while (true) {
                        $var2 = $this.$textureList;
                        if ($var5 >= $var2.$size0)
                            break;
                        $var2 = ju_ArrayList_get($var2, $var5);
                        if ($var2.$field_1130_d > 0) {
                            nleib_EaglerArrayByteBuffer_clear($this.$imageData);
                            var$3 = $this.$imageData;
                            var$4 = $var2.$imageData0;
                            $ptr = 5;
                            continue main;
                        }
                        $var5 = $var5 + 1 | 0;
                    }
                    return;
                }
                $var4 = 0;
            }
            $var10 = 3553;
            $var11 = 0;
            $var12 = $var2.$iconIndex;
            $var5 = (($var12 % 16 | 0) * 16 | 0) + ($var3 * 16 | 0) | 0;
            $var12 = (($var12 / 16 | 0) * 16 | 0) + ($var4 * 16 | 0) | 0;
            $var5_0 = 16;
            $var6 = 16;
            $var7 = 6408;
            $var8 = 5121;
            var$3 = $this.$imageData;
            continue main;
        case 11:
            nleo_EaglercraftGPU_glTexSubImage2D($var1, $var3, $var10, $var11, $var5_0, $var5_0, $var12, $var4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var3 + 1 | 0;
            if ($var3 > 4) {
                while (true) {
                    $var5 = $var5 + 1 | 0;
                    $var2 = $this.$textureList;
                    if ($var5 >= $var2.$size0)
                        break;
                    $var2 = ju_ArrayList_get($var2, $var5);
                    if ($var2.$field_1130_d <= 0)
                        continue;
                    else {
                        nleib_EaglerArrayByteBuffer_clear($this.$imageData);
                        var$3 = $this.$imageData;
                        var$4 = $var2.$imageData0;
                        $ptr = 5;
                        continue main;
                    }
                }
                return;
            }
            $var4 = 16 >> ($var3 - 1 | 0);
            $var5_0 = 16 >> $var3;
            $var6 = 0;
            while ($var6 < $var5_0) {
                $var7 = 0;
                if ($var7 < $var5_0) {
                    $var2 = $this.$imageData;
                    $var1 = $var6 * 2 | 0;
                    $var12 = $var1 + 0 | 0;
                    $var11 = $var7 * 2 | 0;
                    $var9 = $rt_imul($var11 + 0 | 0, $var4);
                    $var10 = ($var12 + $var9 | 0) * 4 | 0;
                    $ptr = 13;
                    continue main;
                }
                $var6 = $var6 + 1 | 0;
            }
            $var1 = 3553;
            $var10 = 0;
            $var11 = 0;
            $var12 = 6408;
            $var4 = 5121;
            $var2 = $this.$imageData;
            continue main;
        case 12:
            nleo_EaglercraftGPU_glTexSubImage2D($var10, $var5, $var12, $var11, $var7_0, $var7_0, $var5_0, $var6, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $var5 + 1 | 0;
            if ($var5 <= 4) {
                $var6 = 16 >> ($var5 - 1 | 0);
                $var7_0 = 16 >> $var5;
                $var8 = 0;
                while ($var8 < $var7_0) {
                    $var9 = 0;
                    if ($var9 < $var7_0) {
                        var$3 = $this.$imageData;
                        $var11_0 = $var8 * 2 | 0;
                        $var10 = $var11_0 + 0 | 0;
                        $var11 = $var9 * 2 | 0;
                        $var12 = $rt_imul($var11 + 0 | 0, $var6);
                        $var5_0 = ($var10 + $var12 | 0) * 4 | 0;
                        $ptr = 18;
                        continue main;
                    }
                    $var8 = $var8 + 1 | 0;
                }
                $var10 = 3553;
                $var11 = $var2.$iconIndex;
                $var12 = $rt_imul($var11 % 16 | 0, $var7_0);
                $var11 = $rt_imul($var11 / 16 | 0, $var7_0);
                $var5_0 = 6408;
                $var6 = 5121;
                var$3 = $this.$imageData;
                continue main;
            }
            $var4 = $var4 + 1 | 0;
            while ($var4 >= $var2.$tileSize) {
                $var3 = $var3 + 1 | 0;
                if ($var3 >= $var2.$tileSize) {
                    $var1 = $var1 + 1 | 0;
                    $var2 = $this.$textureList;
                    if ($var1 < $var2.$size0) {
                        $var2 = ju_ArrayList_get($var2, $var1);
                        $var2.$anaglyphEnabled = $this.$options.$anaglyph;
                        $var2.$onTick();
                        nleib_EaglerArrayByteBuffer_clear($this.$imageData);
                        var$3 = $this.$imageData;
                        var$4 = $var2.$imageData0;
                        $ptr = 1;
                        continue main;
                    }
                    $var5 = 0;
                    while (true) {
                        $var2 = $this.$textureList;
                        if ($var5 >= $var2.$size0)
                            break;
                        $var2 = ju_ArrayList_get($var2, $var5);
                        if ($var2.$field_1130_d > 0) {
                            nleib_EaglerArrayByteBuffer_clear($this.$imageData);
                            var$3 = $this.$imageData;
                            var$4 = $var2.$imageData0;
                            $ptr = 5;
                            continue main;
                        }
                        $var5 = $var5 + 1 | 0;
                    }
                    return;
                }
                $var4 = 0;
            }
            $var10 = 3553;
            $var11 = 0;
            $var12 = $var2.$iconIndex;
            $var5 = (($var12 % 16 | 0) * 16 | 0) + ($var3 * 16 | 0) | 0;
            $var12 = (($var12 / 16 | 0) * 16 | 0) + ($var4 * 16 | 0) | 0;
            $var5_0 = 16;
            $var6 = 16;
            $var7 = 6408;
            $var8 = 5121;
            var$3 = $this.$imageData;
            $ptr = 10;
            continue main;
        case 13:
            $tmp = nleib_EaglerArrayByteBuffer_getInt($var2, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var2 = $this.$imageData;
            $var10 = $var1 + 1 | 0;
            $var1 = ($var10 + $var9 | 0) * 4 | 0;
            $ptr = 14;
        case 14:
            $tmp = nleib_EaglerArrayByteBuffer_getInt($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $var2 = $this.$imageData;
            $var1 = $rt_imul($var11 + 1 | 0, $var4);
            $var10 = ($var10 + $var1 | 0) * 4 | 0;
            $ptr = 15;
        case 15:
            $tmp = nleib_EaglerArrayByteBuffer_getInt($var2, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $var2 = $this.$imageData;
            $var1 = ($var12 + $var1 | 0) * 4 | 0;
            $ptr = 16;
        case 16:
            $tmp = nleib_EaglerArrayByteBuffer_getInt($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var12 = nms_RenderEngine_averageColor($this, nms_RenderEngine_averageColor($this, $var8, $var9), nms_RenderEngine_averageColor($this, $var10, $var11));
            $var2 = $this.$imageData;
            $var1 = ($var6 + $rt_imul($var7, $var5_0) | 0) * 4 | 0;
            $ptr = 17;
        case 17:
            nleib_EaglerArrayByteBuffer_putInt($var2, $var1, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var7 + 1 | 0;
            while (true) {
                if ($var7 < $var5_0) {
                    $var2 = $this.$imageData;
                    $var1 = $var6 * 2 | 0;
                    $var12 = $var1 + 0 | 0;
                    $var11 = $var7 * 2 | 0;
                    $var9 = $rt_imul($var11 + 0 | 0, $var4);
                    $var10 = ($var12 + $var9 | 0) * 4 | 0;
                    $ptr = 13;
                    continue main;
                }
                $var6 = $var6 + 1 | 0;
                if ($var6 >= $var5_0)
                    break;
                $var7 = 0;
            }
            $var1 = 3553;
            $var10 = 0;
            $var11 = 0;
            $var12 = 6408;
            $var4 = 5121;
            $var2 = $this.$imageData;
            $ptr = 11;
            continue main;
        case 18:
            $tmp = nleib_EaglerArrayByteBuffer_getInt(var$3, $var5_0);
            if ($rt_suspending()) {
                break main;
            }
            $var10_0 = $tmp;
            var$3 = $this.$imageData;
            $var5_0 = $var11_0 + 1 | 0;
            $var12 = ($var5_0 + $var12 | 0) * 4 | 0;
            $ptr = 19;
        case 19:
            $tmp = nleib_EaglerArrayByteBuffer_getInt(var$3, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var11_0 = $tmp;
            var$3 = $this.$imageData;
            $var11 = $rt_imul($var11 + 1 | 0, $var6);
            $var12 = ($var5_0 + $var11 | 0) * 4 | 0;
            $ptr = 20;
        case 20:
            $tmp = nleib_EaglerArrayByteBuffer_getInt(var$3, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            var$3 = $this.$imageData;
            $var10 = ($var10 + $var11 | 0) * 4 | 0;
            $ptr = 21;
        case 21:
            $tmp = nleib_EaglerArrayByteBuffer_getInt(var$3, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = $tmp;
            $var14 = nms_RenderEngine_averageColor($this, nms_RenderEngine_averageColor($this, $var10_0, $var11_0), nms_RenderEngine_averageColor($this, $var12, $var13));
            var$3 = $this.$imageData;
            $var10 = ($var8 + $rt_imul($var9, $var7_0) | 0) * 4 | 0;
            $ptr = 22;
        case 22:
            nleib_EaglerArrayByteBuffer_putInt(var$3, $var10, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $var9 + 1 | 0;
            while (true) {
                if ($var9 < $var7_0) {
                    var$3 = $this.$imageData;
                    $var11_0 = $var8 * 2 | 0;
                    $var10 = $var11_0 + 0 | 0;
                    $var11 = $var9 * 2 | 0;
                    $var12 = $rt_imul($var11 + 0 | 0, $var6);
                    $var5_0 = ($var10 + $var12 | 0) * 4 | 0;
                    $ptr = 18;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
                if ($var8 >= $var7_0)
                    break;
                $var9 = 0;
            }
            $var10 = 3553;
            $var11 = $var2.$iconIndex;
            $var12 = $rt_imul($var11 % 16 | 0, $var7_0);
            $var11 = $rt_imul($var11 / 16 | 0, $var7_0);
            $var5_0 = 6408;
            $var6 = 5121;
            var$3 = $this.$imageData;
            $ptr = 12;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $var5, $var10, $var3, $var4, $var11, $var12, $var5_0, $var6, $var7, $var8, $var9, $var7_0, $var11_0, $var10_0, $var13, $var14, $ptr);
    }
    function nms_RenderEngine_averageColor($this, $var1, $var2) {
        return (((($var1 & (-16777216)) >> 24 & 255) + (($var2 & (-16777216)) >> 24 & 255) | 0) >> 1 << 24) + ((($var1 & 16711422) + ($var2 & 16711422) | 0) >> 1) | 0;
    }
    function nms_RenderEngine_weightedAverageColor($this, $var1, $var2) {
        var $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11;
        $var3 = ($var1 & (-16777216)) >> 24 & 255;
        $var4 = ($var2 & (-16777216)) >> 24 & 255;
        $var5 = 255;
        if (!($var3 + $var4 | 0)) {
            $var3 = 1;
            $var4 = 1;
            $var5 = 0;
        }
        $var6 = $rt_imul($var1 >> 16 & 255, $var3);
        $var7 = $rt_imul($var1 >> 8 & 255, $var3);
        $var8 = $rt_imul($var1 & 255, $var3);
        $var9 = $rt_imul($var2 >> 16 & 255, $var4);
        $var10 = $rt_imul($var2 >> 8 & 255, $var4);
        $var11 = $rt_imul($var2 & 255, $var4);
        $var1 = $var6 + $var9 | 0;
        $var2 = $var3 + $var4 | 0;
        return $var5 << 24 | ($var1 / $var2 | 0) << 16 | (($var7 + $var10 | 0) / $var2 | 0) << 8 | (($var8 + $var11 | 0) / $var2 | 0);
    }
    function nms_RenderEngine_refreshTextures($this) {
        var $var1, $var2, $var4, $var3, $var8, $var6, $var4_0, $var5, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4_0 = $thread.pop();$var6 = $thread.pop();$var8 = $thread.pop();$var3 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $this.$texturePackList0.$selectedTexturePack;
            $var2 = ju_HashMap_keySet($this.$textureNameToImageMap);
            $ptr = 1;
        case 1:
            $tmp = $var2.$iterator();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2.$hasNext()) {
                $ptr = 3;
                continue main;
            }
            $var2 = ju_HashMap_keySet($this.$textureMap);
            $ptr = 2;
        case 2:
            $tmp = $var2.$iterator();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4.$hasNext())
                return;
            $ptr = 6;
            continue main;
        case 3:
            $tmp = $var2.$next();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $var3 = $var4.$value;
            $var4 = $this.$textureNameToImageMap;
            $var8 = jl_Integer_valueOf($var3);
            $ptr = 4;
        case 4:
            $tmp = ju_HashMap_get($var4, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $var4 = $var4;
            $ptr = 5;
        case 5:
            nms_RenderEngine_setupTexture($this, $var4, $var3);
            if ($rt_suspending()) {
                break main;
            }
            if ($var2.$hasNext()) {
                $ptr = 3;
                continue main;
            }
            $var2 = ju_HashMap_keySet($this.$textureMap);
            $ptr = 2;
            continue main;
        case 6:
            $tmp = $var4.$next();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var8 = $var2;
            try {
                if (jl_String_startsWith($var8, $rt_s(1154))) {
                    $var2 = jl_String_substring($var8, 2);
                    $ptr = 8;
                    continue main;
                }
                if (jl_String_startsWith($var8, $rt_s(1685))) {
                    $this.$clampTexture = 1;
                    $var2 = jl_String_substring($var8, 7);
                    $ptr = 10;
                    continue main;
                }
                if (!jl_String_startsWith($var8, $rt_s(1686))) {
                    $ptr = 14;
                    continue main;
                }
                $this.$blurTexture = 1;
                $var2 = jl_String_substring($var8, 6);
                $ptr = 16;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var6 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 7;
        case 7:
            jl_Throwable_printStackTrace($var6);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var4.$hasNext())
                return;
            $ptr = 6;
            continue main;
        case 8:
            try {
                $tmp = nms_TexturePackBase_getReqResStream($var1, $var2);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $tmp;
                $ptr = 9;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var6 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 7;
            continue main;
        case 9:
            try {
                $tmp = nms_RenderEngine_readTextureImage($this, $var2);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $tmp;
                $var4_0 = nms_RenderEngine_unwrapImageByColumns($this, $var2);
                $var2 = $this.$textureMap;
                $ptr = 12;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var6 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 7;
            continue main;
        case 10:
            try {
                $tmp = nms_TexturePackBase_getReqResStream($var1, $var2);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $tmp;
                $ptr = 11;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var6 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 7;
            continue main;
        case 11:
            try {
                $tmp = nms_RenderEngine_readTextureImage($this, $var2);
                if ($rt_suspending()) {
                    break main;
                }
                $var4_0 = $tmp;
                $var2 = $this.$textureMap;
                $ptr = 12;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var6 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 7;
            continue main;
        case 12:
            try {
                $tmp = ju_HashMap_get($var2, $var8);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $tmp;
                $var5 = jl_Integer_intValue($var2);
                $ptr = 13;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var6 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 7;
            continue main;
        case 13:
            a: {
                try {
                    nms_RenderEngine_setupTexture($this, $var4_0, $var5);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $this.$blurTexture = 0;
                    $this.$clampTexture = 0;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        $var6 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 7;
                continue main;
            }
            if (!$var4.$hasNext())
                return;
            $ptr = 6;
            continue main;
        case 14:
            try {
                $tmp = nms_TexturePackBase_getReqResStream($var1, $var8);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $tmp;
                $ptr = 15;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var6 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 7;
            continue main;
        case 15:
            try {
                $tmp = nms_RenderEngine_readTextureImage($this, $var2);
                if ($rt_suspending()) {
                    break main;
                }
                $var4_0 = $tmp;
                $var2 = $this.$textureMap;
                $ptr = 12;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var6 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 7;
            continue main;
        case 16:
            try {
                $tmp = nms_TexturePackBase_getReqResStream($var1, $var2);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $tmp;
                $ptr = 17;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var6 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 7;
            continue main;
        case 17:
            try {
                $tmp = nms_RenderEngine_readTextureImage($this, $var2);
                if ($rt_suspending()) {
                    break main;
                }
                $var4_0 = $tmp;
                $var2 = $this.$textureMap;
                $ptr = 12;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var6 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 7;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var3, $var8, $var6, $var4_0, $var5, $ptr);
    }
    function nms_RenderEngine_readTextureImage($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nleo_ImageData_loadImageFile0($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return nleo_ImageData_swapRB($var1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_RenderEngine_bindTexture($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 < 0)
                return;
            var$2 = 3553;
            $ptr = 1;
        case 1:
            olo_GL11_glBindTexture(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_RenderEngine__clinit_() {
        nms_RenderEngine_useMipmaps = 0;
    }
    function nms_FontRenderer() {
        var a = this; jl_Object.call(a);
        a.$charWidth = null;
        a.$FONT_HEIGHT = 0;
        a.$fontRandom = null;
        a.$colorCode = null;
        a.$posX2 = 0.0;
        a.$posY2 = 0.0;
        a.$red = 0.0;
        a.$blue = 0.0;
        a.$green = 0.0;
        a.$alpha0 = 0.0;
        a.$textColor = 0;
        a.$renderEngine1 = null;
        a.$locationFontTexture = null;
        a.$format5 = null;
    }
    var nms_FontRenderer_codepointLookup = null;
    function nms_FontRenderer__init_0(var_0, var_1, var_2) {
        var var_3 = new nms_FontRenderer();
        nms_FontRenderer__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_FontRenderer__init_($this, $gameSettingsIn, $s, $textureManagerIn) {
        var $j, $i, $j1, $k1, $l1, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$l1 = $thread.pop();$k1 = $thread.pop();$j1 = $thread.pop();$i = $thread.pop();$j = $thread.pop();$textureManagerIn = $thread.pop();$s = $thread.pop();$gameSettingsIn = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$charWidth = $rt_createIntArray(256);
            $this.$FONT_HEIGHT = 9;
            $this.$fontRandom = nle_Random__init_0();
            $this.$colorCode = $rt_createIntArray(32);
            $this.$format5 = nleo_VertexFormat_createVertexFormat(1, 0, 0);
            $this.$locationFontTexture = $s;
            $this.$renderEngine1 = $textureManagerIn;
            $j = 3553;
            $ptr = 1;
        case 1:
            $tmp = nms_RenderEngine_getTexture($textureManagerIn, $s);
            if ($rt_suspending()) {
                break main;
            }
            $i = $tmp;
            $ptr = 2;
        case 2:
            olo_GL11_glBindTexture($j, $i);
            if ($rt_suspending()) {
                break main;
            }
            $i = 0;
            while ($i < 32) {
                $j = ($i >> 3 & 1) * 85 | 0;
                $j1 = (($i >> 2 & 1) * 170 | 0) + $j | 0;
                $k1 = (($i >> 1 & 1) * 170 | 0) + $j | 0;
                $l1 = (($i >> 0 & 1) * 170 | 0) + $j | 0;
                if ($i == 6)
                    $j1 = $j1 + 85 | 0;
                if ($gameSettingsIn.$anaglyph) {
                    $j = $j1 * 30 | 0;
                    $j1 = (($j + ($k1 * 59 | 0) | 0) + ($l1 * 11 | 0) | 0) / 100 | 0;
                    $k1 = ($j + ($k1 * 70 | 0) | 0) / 100 | 0;
                    $l1 = ($j + ($l1 * 70 | 0) | 0) / 100 | 0;
                }
                if ($i >= 16) {
                    $j1 = $j1 / 4 | 0;
                    $k1 = $k1 / 4 | 0;
                    $l1 = $l1 / 4 | 0;
                }
                $this.$colorCode.data[$i] = ($j1 & 255) << 16 | ($k1 & 255) << 8 | $l1 & 255;
                $i = $i + 1 | 0;
            }
            $gameSettingsIn = $this.$locationFontTexture;
            $ptr = 3;
        case 3:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = nlei_PlatformAssets_getResourceBytes($gameSettingsIn);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            $gameSettingsIn = var$9 === null ? null : nle_EaglerInputStream__init_(var$9);
            $ptr = 5;
        case 5:
            $tmp = nleo_ImageData_loadImageFile0($gameSettingsIn);
            if ($rt_suspending()) {
                break main;
            }
            $gameSettingsIn = $tmp;
            $i = $gameSettingsIn.$width0;
            var$10 = $gameSettingsIn.$height0;
            var$9 = $gameSettingsIn.$pixels;
            $j = var$10 / 16 | 0;
            var$10 = $i / 16 | 0;
            var$11 = 8.0 / var$10;
            $k1 = 0;
            $l1 = var$10 - 1 | 0;
            while ($k1 < 256) {
                $j1 = $k1 % 16 | 0;
                var$12 = $k1 / 16 | 0;
                if ($k1 == 32)
                    $this.$charWidth.data[$k1] = 4;
                var$13 = $rt_imul($j1, var$10);
                var$14 = $rt_imul(var$12, var$10);
                var$12 = $l1;
                a: {
                    while (true) {
                        if (var$12 < 0)
                            break a;
                        $j1 = var$13 + var$12 | 0;
                        var$15 = 1;
                        var$16 = 0;
                        while (var$16 < $j && var$15) {
                            if (var$9.data[$j1 + $rt_imul(var$14 + var$16 | 0, $i) | 0] >> 24 & 255)
                                var$15 = 0;
                            var$16 = var$16 + 1 | 0;
                        }
                        if (!var$15)
                            break;
                        var$12 = var$12 + (-1) | 0;
                    }
                }
                $j1 = var$12 + 1 | 0;
                $this.$charWidth.data[$k1] = (0.5 + $j1 * var$11 | 0) + 1 | 0;
                $k1 = $k1 + 1 | 0;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $gameSettingsIn, $s, $textureManagerIn, $j, $i, $j1, $k1, $l1, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr);
    }
    function nms_FontRenderer_drawStringWithShadow($this, $text, $x, $y, $color) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$color = $thread.pop();$y = $thread.pop();$x = $thread.pop();$text = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = 1;
            $ptr = 1;
        case 1:
            $tmp = nms_FontRenderer_drawString0($this, $text, $x, $y, $color, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $color = $tmp;
            return $color;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $text, $x, $y, $color, var$5, $ptr);
    }
    function nms_FontRenderer_drawString($this, $text, $x, $y, $color) {
        var var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$color = $thread.pop();$y = $thread.pop();$x = $thread.pop();$text = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $x;
            var$6 = $y;
            $x = 0;
            $ptr = 1;
        case 1:
            $tmp = nms_FontRenderer_drawString0($this, $text, var$5, var$6, $color, $x);
            if ($rt_suspending()) {
                break main;
            }
            $x = $tmp;
            return $x;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $text, $x, $y, $color, var$5, var$6, $ptr);
    }
    function nms_FontRenderer_drawString0($this, $text, $x, $y, $color, $dropShadow) {
        var var$6, var$7, $i, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$i = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$dropShadow = $thread.pop();$color = $thread.pop();$y = $thread.pop();$x = $thread.pop();$text = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_GlStateManager_enableAlpha();
            if ($rt_suspending()) {
                break main;
            }
            if (!$dropShadow) {
                $dropShadow = 0;
                $ptr = 2;
                continue main;
            }
            var$6 = $x + 1.0;
            var$7 = $y + 1.0;
            $dropShadow = 1;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_FontRenderer_renderString($this, $text, $x, $y, $color, $dropShadow);
            if ($rt_suspending()) {
                break main;
            }
            $i = $tmp;
            return $i;
        case 3:
            $tmp = nms_FontRenderer_renderString($this, $text, var$6, var$7, $color, $dropShadow);
            if ($rt_suspending()) {
                break main;
            }
            $i = $tmp;
            $dropShadow = 0;
            $ptr = 4;
        case 4:
            $tmp = nms_FontRenderer_renderString($this, $text, $x, $y, $color, $dropShadow);
            if ($rt_suspending()) {
                break main;
            }
            $color = $tmp;
            return jl_Math_max($i, $color);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $text, $x, $y, $color, $dropShadow, var$6, var$7, $i, $ptr);
    }
    function nms_FontRenderer_renderStringAtPos($this, $parString1, $parFlag) {
        var $i, $c0, $flag, $i1, $j1, $f, $f1, var$10, var$11, $j, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$j = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$f1 = $thread.pop();$f = $thread.pop();$j1 = $thread.pop();$i1 = $thread.pop();$flag = $thread.pop();$c0 = $thread.pop();$i = $thread.pop();$parFlag = $thread.pop();$parString1
            = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $i = 0;
            while ($i < jl_String_length($parString1)) {
                a: {
                    $c0 = jl_String_charAt($parString1, $i);
                    if ($c0 == 167) {
                        $flag = $i + 1 | 0;
                        if ($flag < jl_String_length($parString1)) {
                            $i1 = jl_String_indexOf0($rt_s(1687), jl_Character_toLowerCase(jl_String_charAt($parString1, $flag)));
                            if ($i1 < 16) {
                                if (!($i1 >= 0 && $i1 <= 15))
                                    $i1 = 15;
                                if ($parFlag)
                                    $i1 = $i1 + 16 | 0;
                                $j1 = $this.$colorCode.data[$i1];
                                $this.$textColor = $j1;
                                $f = ($j1 >> 16) / 255.0;
                                $f1 = ($j1 >> 8 & 255) / 255.0;
                                var$10 = ($j1 & 255) / 255.0;
                                var$11 = $this.$alpha0;
                                $ptr = 21;
                                continue main;
                            }
                            if ($i1 == 21) {
                                $f = $this.$red;
                                $f1 = $this.$blue;
                                var$10 = $this.$green;
                                var$11 = $this.$alpha0;
                                $ptr = 1;
                                continue main;
                            }
                            break a;
                        }
                    }
                    $j = nlem_FontMappingHelper_lookupChar($c0, 0);
                    $f1 = 1.0;
                    $flag = !($c0 && $j != (-1)) && $parFlag ? 1 : 0;
                    if ($flag) {
                        $this.$posX2 = $this.$posX2 - $f1;
                        $this.$posY2 = $this.$posY2 - $f1;
                    }
                    if ($c0 != 32) {
                        $j = ($c0 % 16 | 0) * 8 | 0;
                        $i1 = ($c0 / 16 | 0) * 8 | 0;
                        $j1 = 3553;
                        var$13 = $this.$renderEngine1;
                        var$14 = $this.$locationFontTexture;
                        $ptr = 2;
                        continue main;
                    }
                    $f = 4.0;
                    if ($flag) {
                        $this.$posX2 = $this.$posX2 + $f1;
                        $this.$posY2 = $this.$posY2 + $f1;
                    }
                    $this.$posX2 = $this.$posX2 + ($f | 0);
                    $flag = $i;
                }
                $i = $flag + 1 | 0;
            }
            return;
        case 1:
            nleo_GlStateManager_color($f, $f1, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            b: while (true) {
                while (true) {
                    $i = $flag + 1 | 0;
                    if ($i >= jl_String_length($parString1))
                        break b;
                    $c0 = jl_String_charAt($parString1, $i);
                    if ($c0 == 167) {
                        $flag = $i + 1 | 0;
                        if ($flag < jl_String_length($parString1))
                            break;
                    }
                    $j = nlem_FontMappingHelper_lookupChar($c0, 0);
                    $f1 = 1.0;
                    $flag = !($c0 && $j != (-1)) && $parFlag ? 1 : 0;
                    if ($flag) {
                        $this.$posX2 = $this.$posX2 - $f1;
                        $this.$posY2 = $this.$posY2 - $f1;
                    }
                    if ($c0 != 32) {
                        $j = ($c0 % 16 | 0) * 8 | 0;
                        $i1 = ($c0 / 16 | 0) * 8 | 0;
                        $j1 = 3553;
                        var$13 = $this.$renderEngine1;
                        var$14 = $this.$locationFontTexture;
                        $ptr = 2;
                        continue main;
                    }
                    $f = 4.0;
                    if ($flag) {
                        $this.$posX2 = $this.$posX2 + $f1;
                        $this.$posY2 = $this.$posY2 + $f1;
                    }
                    $this.$posX2 = $this.$posX2 + ($f | 0);
                    $flag = $i;
                }
                $i1 = jl_String_indexOf0($rt_s(1687), jl_Character_toLowerCase(jl_String_charAt($parString1, $flag)));
                if ($i1 < 16) {
                    if (!($i1 >= 0 && $i1 <= 15))
                        $i1 = 15;
                    if ($parFlag)
                        $i1 = $i1 + 16 | 0;
                    $j1 = $this.$colorCode.data[$i1];
                    $this.$textColor = $j1;
                    $f = ($j1 >> 16) / 255.0;
                    $f1 = ($j1 >> 8 & 255) / 255.0;
                    var$10 = ($j1 & 255) / 255.0;
                    var$11 = $this.$alpha0;
                    $ptr = 21;
                    continue main;
                }
                if ($i1 != 21)
                    continue;
                else {
                    $f = $this.$red;
                    $f1 = $this.$blue;
                    var$10 = $this.$green;
                    var$11 = $this.$alpha0;
                    continue main;
                }
            }
            return;
        case 2:
            $tmp = nms_RenderEngine_getTexture(var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            $ptr = 3;
        case 3:
            olo_GL11_glBindTexture($j1, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $f = $this.$charWidth.data[$c0];
            var$16 = $f - 0.009999999776482582;
            $ptr = 4;
        case 4:
            nleo_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$17 = nleo_Tessellator_instance;
            var$14 = var$17.$worldRenderer0;
            $j1 = 5;
            var$13 = $this.$format5;
            if (var$14.$isDrawing) {
                var$13 = new jl_IllegalStateException;
                jl_Throwable__init_(var$13, $rt_s(1640));
                $rt_throw(var$13);
            }
            var$14.$isDrawing = 1;
            $ptr = 5;
        case 5:
            nleo_WorldRenderer_reset(var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$14.$vertexFormat = var$13;
            var$14.$drawMode = $j1;
            var$14.$needsUpdate0 = 0;
            var$13 = var$14.$byteBuffer;
            $c0 = var$13.$capacity1;
            $ptr = 6;
        case 6:
            nleib_EaglerArrayByteBuffer_limit(var$13, $c0);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $this.$posX2;
            var$18 = 0.0;
            var$19 = var$10 + var$18;
            var$20 = $this.$posY2;
            var$21 = 0.0;
            $ptr = 7;
        case 7:
            $tmp = nleo_WorldRenderer_pos(var$14, var$19, var$20, var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            var$10 = $j;
            var$19 = var$10 / 128.0;
            var$11 = $i1;
            var$20 = var$11 / 128.0;
            $ptr = 8;
        case 8:
            $tmp = nleo_WorldRenderer_tex(var$13, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            $ptr = 9;
        case 9:
            nleo_WorldRenderer_endVertex(var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$21 = $this.$posX2 - var$18;
            var$22 = $this.$posY2 + 7.989999771118164;
            var$23 = 0.0;
            $ptr = 10;
        case 10:
            $tmp = nleo_WorldRenderer_pos(var$14, var$21, var$22, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            var$21 = (var$11 + 7.989999771118164) / 128.0;
            $ptr = 11;
        case 11:
            $tmp = nleo_WorldRenderer_tex(var$13, var$19, var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            $ptr = 12;
        case 12:
            nleo_WorldRenderer_endVertex(var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = $this.$posX2 + var$16 - 1.0 + var$18;
            var$22 = $this.$posY2;
            var$23 = 0.0;
            $ptr = 13;
        case 13:
            $tmp = nleo_WorldRenderer_pos(var$14, var$19, var$22, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            var$19 = (var$10 + var$16 - 1.0) / 128.0;
            $ptr = 14;
        case 14:
            $tmp = nleo_WorldRenderer_tex(var$13, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            $ptr = 15;
        case 15:
            nleo_WorldRenderer_endVertex(var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = $this.$posX2 + var$16 - 1.0 - var$18;
            var$22 = $this.$posY2 + 7.989999771118164;
            var$23 = 0.0;
            $ptr = 16;
        case 16:
            $tmp = nleo_WorldRenderer_pos(var$14, var$20, var$22, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            $ptr = 17;
        case 17:
            $tmp = nleo_WorldRenderer_tex(var$13, var$19, var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            $ptr = 18;
        case 18:
            nleo_WorldRenderer_endVertex(var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = var$17.$worldRenderer0;
            $ptr = 19;
        case 19:
            nleo_WorldRenderer_finishDrawing(var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = var$17.$worldRenderer0;
            $ptr = 20;
        case 20:
            nleo_WorldVertexBufferUploader_func_181679_a(var$13);
            if ($rt_suspending()) {
                break main;
            }
            b: while (true) {
                if ($flag) {
                    $this.$posX2 = $this.$posX2 + $f1;
                    $this.$posY2 = $this.$posY2 + $f1;
                }
                $this.$posX2 = $this.$posX2 + ($f | 0);
                $flag = $i;
                while (true) {
                    $i = $flag + 1 | 0;
                    if ($i >= jl_String_length($parString1))
                        break b;
                    $c0 = jl_String_charAt($parString1, $i);
                    if ($c0 != 167)
                        break;
                    $flag = $i + 1 | 0;
                    if ($flag >= jl_String_length($parString1))
                        break;
                    $i1 = jl_String_indexOf0($rt_s(1687), jl_Character_toLowerCase(jl_String_charAt($parString1, $flag)));
                    if ($i1 < 16) {
                        if (!($i1 >= 0 && $i1 <= 15))
                            $i1 = 15;
                        if ($parFlag)
                            $i1 = $i1 + 16 | 0;
                        $j1 = $this.$colorCode.data[$i1];
                        $this.$textColor = $j1;
                        $f = ($j1 >> 16) / 255.0;
                        $f1 = ($j1 >> 8 & 255) / 255.0;
                        var$10 = ($j1 & 255) / 255.0;
                        var$11 = $this.$alpha0;
                        $ptr = 21;
                        continue main;
                    }
                    if ($i1 == 21) {
                        $f = $this.$red;
                        $f1 = $this.$blue;
                        var$10 = $this.$green;
                        var$11 = $this.$alpha0;
                        $ptr = 1;
                        continue main;
                    }
                }
                $j = nlem_FontMappingHelper_lookupChar($c0, 0);
                $f1 = 1.0;
                $flag = !($c0 && $j != (-1)) && $parFlag ? 1 : 0;
                if ($flag) {
                    $this.$posX2 = $this.$posX2 - $f1;
                    $this.$posY2 = $this.$posY2 - $f1;
                }
                if ($c0 != 32) {
                    $j = ($c0 % 16 | 0) * 8 | 0;
                    $i1 = ($c0 / 16 | 0) * 8 | 0;
                    $j1 = 3553;
                    var$13 = $this.$renderEngine1;
                    var$14 = $this.$locationFontTexture;
                    $ptr = 2;
                    continue main;
                }
                $f = 4.0;
            }
            return;
        case 21:
            nleo_GlStateManager_color($f, $f1, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            b: while (true) {
                while (true) {
                    $i = $flag + 1 | 0;
                    if ($i >= jl_String_length($parString1))
                        break b;
                    $c0 = jl_String_charAt($parString1, $i);
                    if ($c0 == 167) {
                        $flag = $i + 1 | 0;
                        if ($flag < jl_String_length($parString1))
                            break;
                    }
                    $j = nlem_FontMappingHelper_lookupChar($c0, 0);
                    $f1 = 1.0;
                    $flag = !($c0 && $j != (-1)) && $parFlag ? 1 : 0;
                    if ($flag) {
                        $this.$posX2 = $this.$posX2 - $f1;
                        $this.$posY2 = $this.$posY2 - $f1;
                    }
                    if ($c0 != 32) {
                        $j = ($c0 % 16 | 0) * 8 | 0;
                        $i1 = ($c0 / 16 | 0) * 8 | 0;
                        $j1 = 3553;
                        var$13 = $this.$renderEngine1;
                        var$14 = $this.$locationFontTexture;
                        $ptr = 2;
                        continue main;
                    }
                    $f = 4.0;
                    if ($flag) {
                        $this.$posX2 = $this.$posX2 + $f1;
                        $this.$posY2 = $this.$posY2 + $f1;
                    }
                    $this.$posX2 = $this.$posX2 + ($f | 0);
                    $flag = $i;
                }
                $i1 = jl_String_indexOf0($rt_s(1687), jl_Character_toLowerCase(jl_String_charAt($parString1, $flag)));
                if ($i1 < 16) {
                    if (!($i1 >= 0 && $i1 <= 15))
                        $i1 = 15;
                    if ($parFlag)
                        $i1 = $i1 + 16 | 0;
                    $j1 = $this.$colorCode.data[$i1];
                    $this.$textColor = $j1;
                    $f = ($j1 >> 16) / 255.0;
                    $f1 = ($j1 >> 8 & 255) / 255.0;
                    var$10 = ($j1 & 255) / 255.0;
                    var$11 = $this.$alpha0;
                    continue main;
                }
                if ($i1 != 21)
                    continue;
                else {
                    $f = $this.$red;
                    $f1 = $this.$blue;
                    var$10 = $this.$green;
                    var$11 = $this.$alpha0;
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $parString1, $parFlag, $i, $c0, $flag, $i1, $j1, $f, $f1, var$10, var$11, $j, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, $ptr);
    }
    function nms_FontRenderer_renderString($this, $text, $x, $y, $color, $dropShadow) {
        var var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$dropShadow = $thread.pop();$color = $thread.pop();$y = $thread.pop();$x = $thread.pop();$text = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($text === null) {
                $this.$posX2 = $x;
                $this.$posY2 = $y;
                return $this.$posX2 | 0;
            }
            if (!($color & (-67108864)))
                $color = $color | (-16777216);
            if ($dropShadow)
                $color = ($color & 16579836) >> 2 | $color & (-16777216);
            var$6 = ($color >> 16 & 255) / 255.0;
            $this.$red = var$6;
            var$7 = ($color >> 8 & 255) / 255.0;
            $this.$blue = var$7;
            var$8 = ($color & 255) / 255.0;
            $this.$green = var$8;
            var$9 = ($color >> 24 & 255) / 255.0;
            $this.$alpha0 = var$9;
            $ptr = 1;
        case 1:
            nleo_GlStateManager_color(var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $this.$posX2 = $x;
            $this.$posY2 = $y;
            $ptr = 2;
        case 2:
            nms_FontRenderer_renderStringAtPos($this, $text, $dropShadow);
            if ($rt_suspending()) {
                break main;
            }
            return $this.$posX2 | 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $text, $x, $y, $color, $dropShadow, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_FontRenderer_getStringWidth($this, $text) {
        var $i, $flag, $j, $c0, $k;
        if ($text === null)
            return 0;
        $i = 0;
        $flag = 0;
        $j = 0;
        while ($j < jl_String_length($text)) {
            $c0 = jl_String_charAt($text, $j);
            if ($c0 == 167)
                $k = (-1);
            else if ($c0 == 32)
                $k = 4;
            else {
                $k = nlem_FontMappingHelper_lookupChar($c0, 0);
                $k = $c0 > 0 && $k != (-1) ? $this.$charWidth.data[$k] : 0;
            }
            if ($k < 0 && $j < (jl_String_length($text) - 1 | 0)) {
                $j = $j + 1 | 0;
                $c0 = jl_String_charAt($text, $j);
                if (!($c0 != 108 && $c0 != 76))
                    $flag = 1;
                else if (!($c0 != 114 && $c0 != 82))
                    $flag = 0;
                $k = 0;
            }
            $i = $i + $k | 0;
            if ($flag && $k > 0)
                $i = $i + 1 | 0;
            $j = $j + 1 | 0;
        }
        return $i;
    }
    function nms_FontRenderer__clinit_() {
        nms_FontRenderer_codepointLookup = $rt_createCharArrayFromData([192, 193, 194, 200, 202, 203, 205, 211, 212, 213, 218, 223, 227, 245, 287, 304, 305, 338, 339, 350, 351, 372, 373, 382, 519, 0, 0, 0, 0, 0, 0, 0, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
        105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 0, 199, 252, 233, 226, 228, 224, 229, 231, 234, 235, 232, 239, 238, 236, 196, 197, 201, 230, 198, 244, 246, 242, 251, 249, 255, 214, 220, 248, 163, 216, 215, 402, 225, 237, 243, 250, 241, 209, 170, 186, 191, 174, 172, 189, 188, 161, 171, 187, 9617, 9618, 9619, 9474, 9508, 9569, 9570, 9558, 9557, 9571, 9553, 9559, 9565, 9564, 9563, 9488, 9492, 9524, 9516, 9500, 9472, 9532, 9566, 9567, 9562, 9556,
        9577, 9574, 9568, 9552, 9580, 9575, 9576, 9572, 9573, 9561, 9560, 9554, 9555, 9579, 9578, 9496, 9484, 9608, 9604, 9612, 9616, 9600, 945, 946, 915, 960, 931, 963, 956, 964, 934, 920, 937, 948, 8734, 8709, 8712, 8745, 8801, 177, 8805, 8804, 8992, 8993, 247, 8776, 176, 8729, 183, 8730, 8319, 178, 9632, 0]);
    }
    function nms_TexturePortalFX() {
        var a = this; nms_TextureFX.call(a);
        a.$field_4227_g = 0;
        a.$field_4226_h = null;
    }
    function nms_TexturePortalFX__init_0() {
        var var_0 = new nms_TexturePortalFX();
        nms_TexturePortalFX__init_(var_0);
        return var_0;
    }
    function nms_TexturePortalFX__init_($this) {
        var $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var9, $var10, $var11, $var13, $var14, $var16, var$14, var$15, var$16, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_TextureFX__init_0($this, nms_Block_portal.$blockIndexInTexture);
            $this.$field_4227_g = 0;
            $this.$field_4226_h = $rt_createByteMultiArray([1024, 32]);
            $var1 = new ju_Random;
            $var2 = 0;
            while ($var2 < 32) {
                $var3 = 0;
                while ($var3 < 16) {
                    $var4 = 0;
                    while ($var4 < 16) {
                        $var5 = 0.0;
                        $var6 = 0;
                        while ($var6 < 2) {
                            $var7 = $var6 * 8 | 0;
                            $var9 = ($var3 - $var7) / 16.0 * 2.0;
                            $var10 = ($var4 - $var7) / 16.0 * 2.0;
                            if ($var9 < (-1.0))
                                $var9 = $var9 + 2.0;
                            if ($var9 >= 1.0)
                                $var9 = $var9 - 2.0;
                            if ($var10 < (-1.0))
                                $var10 = $var10 + 2.0;
                            if ($var10 >= 1.0)
                                $var10 = $var10 - 2.0;
                            $var11 = $var9 * $var9 + $var10 * $var10;
                            $var9 = jl_Math_atan2($var10, $var9);
                            $var7 = $var2 / 32.0 * 3.1415927410125732 * 2.0 - $var11 * 10.0;
                            $var13 = $var6 * 2 | 0;
                            $var5 = $var5 + (nms_MathHelper_sin($var9 + ($var7 + $var13) * ($var13 - 1 | 0)) + 1.0) / 2.0 / ($var11 + 1.0) * 0.5;
                            $var6 = $var6 + 1 | 0;
                        }
                        $var7 = $var5 + ju_Random_nextFloat($var1) * 0.10000000149011612;
                        $var6 = $var7 * 100.0 + 155.0 | 0;
                        $var5 = $var7 * $var7;
                        $var13 = $var5 * 200.0 + 55.0 | 0;
                        $var14 = $var5 * $var7 * $var7 * 255.0 | 0;
                        $var16 = ($var4 * 16 | 0) + $var3 | 0;
                        var$14 = $this.$field_4226_h.data;
                        var$15 = var$14[$var2].data;
                        var$16 = $var16 * 4 | 0;
                        var$15[var$16 + 0 | 0] = $var13 << 24 >> 24;
                        var$14[$var2].data[var$16 + 1 | 0] = $var14 << 24 >> 24;
                        var$15 = var$14[$var2].data;
                        $var13 = var$16 + 2 | 0;
                        $var6 = $var6 << 24 >> 24;
                        var$15[$var13] = $var6;
                        var$14[$var2].data[var$16 + 3 | 0] = $var6;
                        $var4 = $var4 + 1 | 0;
                    }
                    $var3 = $var3 + 1 | 0;
                }
                $var2 = $var2 + 1 | 0;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var9, $var10, $var11, $var13, $var14, $var16, var$14, var$15, var$16, $ptr);
    }
    function nms_TexturePortalFX_onTick($this) {
        var $var2, $var1, var$3, var$4, var$5, $var7, var$7, $var8, var$9, $var9, var$11, $var6, var$13;
        $var2 = $this.$field_4227_g + 1 | 0;
        $this.$field_4227_g = $var2;
        $var1 = $this.$field_4226_h.data[$var2 & 31];
        $var2 = 0;
        while ($var2 < 256) {
            var$3 = $var1.data;
            var$4 = $var2 * 4 | 0;
            var$5 = var$4 + 0 | 0;
            $var7 = var$3[var$5] & 255;
            var$7 = var$4 + 1 | 0;
            $var8 = var$3[var$7] & 255;
            var$9 = var$4 + 2 | 0;
            $var9 = var$3[var$9] & 255;
            var$11 = var$4 + 3 | 0;
            $var6 = var$3[var$11] & 255;
            if ($this.$anaglyphEnabled) {
                var$13 = $var7 * 30 | 0;
                $var7 = ((var$13 + ($var8 * 59 | 0) | 0) + ($var9 * 11 | 0) | 0) / 100 | 0;
                $var8 = (var$13 + ($var8 * 70 | 0) | 0) / 100 | 0;
                $var9 = (var$13 + ($var9 * 70 | 0) | 0) / 100 | 0;
            }
            var$3 = $this.$imageData0.data;
            var$3[var$5] = $var7 << 24 >> 24;
            var$3[var$7] = $var8 << 24 >> 24;
            var$3[var$9] = $var9 << 24 >> 24;
            var$3[var$11] = $var6 << 24 >> 24;
            $var2 = $var2 + 1 | 0;
        }
    }
    function nleb_TextureNewCompassFX() {
        var a = this; nms_TextureFX.call(a);
        a.$mc8 = null;
        a.$compassSpriteSheet = null;
        a.$compassSpriteSheetLength = 0;
        a.$angleDelta = 0.0;
        a.$currentAngle = 0.0;
    }
    function nleb_TextureNewCompassFX__init_0() {
        var var_0 = new nleb_TextureNewCompassFX();
        nleb_TextureNewCompassFX__init_(var_0);
        return var_0;
    }
    function nleb_TextureNewCompassFX__init_($this) {
        var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Item_compass;
            var$2 = null;
            $ptr = 2;
        case 2:
            $tmp = var$1.$getIconIndex0(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_TextureFX__init_0($this, var$3);
            $this.$angleDelta = 0.0;
            $this.$currentAngle = 0.0;
            $this.$mc8 = nmc_Minecraft_theMinecraft;
            $this.$tileImage = 1;
            var$1 = $rt_s(1688);
            $ptr = 3;
        case 3:
            $tmp = nle_EagRuntime_getRequiredResourceBytes(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 4;
        case 4:
            $tmp = nlei_PlatformAssets_loadImageFile(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = (nleo_ImageData_swapRB(var$1)).$pixels;
            var$5 = var$4.data;
            $this.$compassSpriteSheet = var$4;
            $this.$compassSpriteSheetLength = var$5.length / 256 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nleb_TextureNewClockFX() {
        var a = this; nms_TextureFX.call(a);
        a.$clockSpriteSheet = null;
        a.$clockSpriteSheetLength = 0;
        a.$field_94239_h = 0.0;
        a.$field_94240_i = 0.0;
    }
    function nleb_TextureNewClockFX__init_0() {
        var var_0 = new nleb_TextureNewClockFX();
        nleb_TextureNewClockFX__init_(var_0);
        return var_0;
    }
    function nleb_TextureNewClockFX__init_($this) {
        var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Item_pocketSundial;
            var$2 = null;
            $ptr = 2;
        case 2:
            $tmp = var$1.$getIconIndex0(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_TextureFX__init_0($this, var$3);
            $this.$tileImage = 1;
            var$1 = $rt_s(1689);
            $ptr = 3;
        case 3:
            $tmp = nle_EagRuntime_getRequiredResourceBytes(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 4;
        case 4:
            $tmp = nlei_PlatformAssets_loadImageFile(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$4 = (nleo_ImageData_swapRB(var$1)).$pixels;
            var$5 = var$4.data;
            $this.$clockSpriteSheet = var$4;
            $this.$clockSpriteSheetLength = var$5.length / 256 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nleb_TextureNewClockFX_onTick($this) {
        var $var1, $var2, var$3, $var4, $var7, var$6, $offset, $var6, $i, var$10, var$11, var$12, var$13;
        $var1 = nmc_Minecraft_theMinecraft;
        $var2 = 0.0;
        var$3 = $var1.$theWorld;
        if (var$3 !== null && $var1.$thePlayer !== null) {
            $var2 = nms_World_getCelestialAngle(var$3, 1.0);
            if ($var1.$theWorld.$worldProvider.$field_4220_c)
                $var2 = jl_Math_random();
        }
        $var4 = $this.$field_94239_h;
        $var7 = $var2 - $var4;
        while ($var7 < (-0.5)) {
            $var7 = $var7 + 1.0;
        }
        while ($var7 >= 0.5) {
            $var7 = $var7 - 1.0;
        }
        if ($var7 < (-1.0))
            $var7 = (-1.0);
        if ($var7 > 1.0)
            $var7 = 1.0;
        var$6 = $this.$field_94240_i + $var7 * 0.1;
        $this.$field_94240_i = var$6;
        var$6 = var$6 * 0.8;
        $this.$field_94240_i = var$6;
        $var4 = $var4 + var$6;
        $this.$field_94239_h = $var4;
        $var2 = $var4 + 1.0;
        $offset = $this.$clockSpriteSheetLength;
        $var6 = ($var2 * $offset | 0) % $offset | 0;
        while ($var6 < 0) {
            $var6 = ($var6 + $offset | 0) % $offset | 0;
        }
        $offset = $var6 * 256 | 0;
        $i = 0;
        while ($i < 256) {
            var$10 = $this.$imageData0.data;
            var$11 = $i * 4 | 0;
            var$12 = $this.$clockSpriteSheet.data;
            var$13 = $offset + $i | 0;
            var$10[var$11] = (var$12[var$13] >> 16 & 255) << 24 >> 24;
            var$10[var$11 + 1 | 0] = (var$12[var$13] >> 8 & 255) << 24 >> 24;
            var$10[var$11 + 2 | 0] = (var$12[var$13] & 255) << 24 >> 24;
            var$10[var$11 + 3 | 0] = (var$12[var$13] >> 24 & 255) << 24 >> 24;
            $i = $i + 1 | 0;
        }
    }
    function nms_TexureWaterFlowFX() {
        var a = this; nms_TextureFX.call(a);
        a.$field_1138_g = null;
        a.$field_1137_h = null;
        a.$field_1136_i = null;
        a.$field_1135_j = null;
        a.$field_1134_k = 0;
    }
    function nms_TexureWaterFlowFX__init_0() {
        var var_0 = new nms_TexureWaterFlowFX();
        nms_TexureWaterFlowFX__init_(var_0);
        return var_0;
    }
    function nms_TexureWaterFlowFX__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_TextureFX__init_0($this, nms_Block_waterMoving.$blockIndexInTexture + 1 | 0);
            $this.$field_1138_g = $rt_createFloatArray(256);
            $this.$field_1137_h = $rt_createFloatArray(256);
            $this.$field_1136_i = $rt_createFloatArray(256);
            $this.$field_1135_j = $rt_createFloatArray(256);
            $this.$field_1134_k = 0;
            $this.$tileSize = 2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_TexureWaterFlowFX_onTick($this) {
        var $var1, $var2, $var3, $var4, $var5, $var6, var$7, $var9, $var12, $var13, $var10, $var11, $var8;
        $this.$field_1134_k = $this.$field_1134_k + 1 | 0;
        $var1 = 0;
        while ($var1 < 16) {
            $var2 = 0;
            while ($var2 < 16) {
                $var3 = 0.0;
                $var4 = $var2 - 2 | 0;
                while ($var4 <= $var2) {
                    $var5 = $var1 & 15;
                    $var6 = $var4 & 15;
                    $var3 = $var3 + $this.$field_1138_g.data[$var5 + ($var6 * 16 | 0) | 0];
                    $var4 = $var4 + 1 | 0;
                }
                var$7 = $this.$field_1137_h.data;
                $var9 = $var1 + ($var2 * 16 | 0) | 0;
                var$7[$var9] = $var3 / 3.200000047683716 + $this.$field_1136_i.data[$var9] * 0.800000011920929;
                $var2 = $var2 + 1 | 0;
            }
            $var1 = $var1 + 1 | 0;
        }
        $var1 = 0;
        while ($var1 < 16) {
            $var2 = 0;
            while ($var2 < 16) {
                $var12 = $this.$field_1136_i.data;
                $var9 = $var1 + ($var2 * 16 | 0) | 0;
                $var3 = $var12[$var9];
                var$7 = $this.$field_1135_j.data;
                $var12[$var9] = $var3 + var$7[$var9] * 0.05000000074505806;
                if ($var12[$var9] < 0.0)
                    $var12[$var9] = 0.0;
                var$7[$var9] = var$7[$var9] - 0.30000001192092896;
                if (jl_Math_random() < 0.2)
                    $this.$field_1135_j.data[$var9] = 0.5;
                $var2 = $var2 + 1 | 0;
            }
            $var1 = $var1 + 1 | 0;
        }
        $var12 = $this.$field_1137_h;
        $this.$field_1137_h = $this.$field_1138_g;
        $this.$field_1138_g = $var12;
        $var2 = 0;
        while ($var2 < 256) {
            $var3 = $var12.data[($var2 - ($this.$field_1134_k * 16 | 0) | 0) & 255];
            if ($var3 > 1.0)
                $var3 = 1.0;
            if ($var3 < 0.0)
                $var3 = 0.0;
            $var13 = $var3 * $var3;
            $var9 = 32.0 + $var13 * 32.0 | 0;
            $var10 = 50.0 + $var13 * 64.0 | 0;
            $var11 = 255;
            $var8 = 146.0 + $var13 * 50.0 | 0;
            if ($this.$anaglyphEnabled) {
                $var1 = $var9 * 30 | 0;
                $var9 = (($var1 + ($var10 * 59 | 0) | 0) + 2805 | 0) / 100 | 0;
                $var10 = ($var1 + ($var10 * 70 | 0) | 0) / 100 | 0;
                $var11 = ($var1 + 17850 | 0) / 100 | 0;
            }
            var$7 = $this.$imageData0.data;
            $var1 = $var2 * 4 | 0;
            var$7[$var1 + 0 | 0] = $var9 << 24 >> 24;
            var$7[$var1 + 1 | 0] = $var10 << 24 >> 24;
            var$7[$var1 + 2 | 0] = $var11 << 24 >> 24;
            var$7[$var1 + 3 | 0] = $var8 << 24 >> 24;
            $var2 = $var2 + 1 | 0;
        }
    }
    function nms_TextureLavaFlowFX() {
        var a = this; nms_TextureFX.call(a);
        a.$field_1143_g = null;
        a.$field_1142_h = null;
        a.$field_1141_i = null;
        a.$field_1140_j = null;
        a.$field_1139_k = 0;
    }
    function nms_TextureLavaFlowFX__init_0() {
        var var_0 = new nms_TextureLavaFlowFX();
        nms_TextureLavaFlowFX__init_(var_0);
        return var_0;
    }
    function nms_TextureLavaFlowFX__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_TextureFX__init_0($this, nms_Block_lavaMoving.$blockIndexInTexture + 1 | 0);
            $this.$field_1143_g = $rt_createFloatArray(256);
            $this.$field_1142_h = $rt_createFloatArray(256);
            $this.$field_1141_i = $rt_createFloatArray(256);
            $this.$field_1140_j = $rt_createFloatArray(256);
            $this.$field_1139_k = 0;
            $this.$tileSize = 2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_TextureLavaFlowFX_onTick($this) {
        var $var1, $var2, $var3, $var4, $var5, $var6, $var9, $var7, $var8, var$10, $var10, $var11, var$13;
        $this.$field_1139_k = $this.$field_1139_k + 1 | 0;
        $var1 = 0;
        while ($var1 < 16) {
            $var2 = 0;
            while ($var2 < 16) {
                $var3 = 0.0;
                $var4 = nms_MathHelper_sin($var2 * 3.1415927410125732 * 2.0 / 16.0) * 1.2000000476837158 | 0;
                $var5 = nms_MathHelper_sin($var1 * 3.1415927410125732 * 2.0 / 16.0) * 1.2000000476837158 | 0;
                $var6 = $var1 - 1 | 0;
                while (true) {
                    $var9 = $var1 + 1 | 0;
                    if ($var6 > $var9)
                        break;
                    $var7 = $var2 - 1 | 0;
                    while ($var7 <= ($var2 + 1 | 0)) {
                        $var8 = ($var6 + $var4 | 0) & 15;
                        $var9 = ($var7 + $var5 | 0) & 15;
                        $var3 = $var3 + $this.$field_1143_g.data[$var8 + ($var9 * 16 | 0) | 0];
                        $var7 = $var7 + 1 | 0;
                    }
                    $var6 = $var6 + 1 | 0;
                }
                var$10 = $this.$field_1142_h.data;
                $var10 = $var1 + ($var2 * 16 | 0) | 0;
                $var3 = $var3 / 10.0;
                $var11 = $this.$field_1141_i.data;
                $var4 = ($var1 + 0 | 0) & 15;
                $var8 = (($var2 + 0 | 0) & 15) * 16 | 0;
                var$13 = $var11[$var4 + $var8 | 0];
                $var9 = $var9 & 15;
                var$13 = var$13 + $var11[$var9 + $var8 | 0];
                $var2 = $var2 + 1 | 0;
                $var8 = ($var2 & 15) * 16 | 0;
                var$10[$var10] = $var3 + (var$13 + $var11[$var9 + $var8 | 0] + $var11[$var4 + $var8 | 0]) / 4.0 * 0.800000011920929;
                $var3 = $var11[$var10];
                var$10 = $this.$field_1140_j.data;
                $var11[$var10] = $var3 + var$10[$var10] * 0.009999999776482582;
                if ($var11[$var10] < 0.0)
                    $var11[$var10] = 0.0;
                var$10[$var10] = var$10[$var10] - 0.05999999865889549;
                if (jl_Math_random() < 0.005)
                    $this.$field_1140_j.data[$var10] = 1.5;
            }
            $var1 = $var1 + 1 | 0;
        }
        $var11 = $this.$field_1142_h;
        $this.$field_1142_h = $this.$field_1143_g;
        $this.$field_1143_g = $var11;
        $var2 = 0;
        while ($var2 < 256) {
            $var3 = $var11.data[($var2 - (($this.$field_1139_k / 3 | 0) * 16 | 0) | 0) & 255] * 2.0;
            if ($var3 > 1.0)
                $var3 = 1.0;
            if ($var3 < 0.0)
                $var3 = 0.0;
            $var8 = $var3 * 100.0 + 155.0 | 0;
            var$13 = $var3 * $var3;
            $var9 = var$13 * 255.0 | 0;
            $var10 = var$13 * $var3 * $var3 * 128.0 | 0;
            if ($this.$anaglyphEnabled) {
                $var1 = $var8 * 30 | 0;
                $var8 = (($var1 + ($var9 * 59 | 0) | 0) + ($var10 * 11 | 0) | 0) / 100 | 0;
                $var9 = ($var1 + ($var9 * 70 | 0) | 0) / 100 | 0;
                $var10 = ($var1 + ($var10 * 70 | 0) | 0) / 100 | 0;
            }
            var$10 = $this.$imageData0.data;
            $var1 = $var2 * 4 | 0;
            var$10[$var1 + 0 | 0] = $var8 << 24 >> 24;
            var$10[$var1 + 1 | 0] = $var9 << 24 >> 24;
            var$10[$var1 + 2 | 0] = $var10 << 24 >> 24;
            var$10[$var1 + 3 | 0] = (-1);
            $var2 = $var2 + 1 | 0;
        }
    }
    function nms_TextureFlamesFX() {
        var a = this; nms_TextureFX.call(a);
        a.$field_1133_g = null;
        a.$field_1132_h = null;
    }
    function nms_TextureFlamesFX__init_0(var_0) {
        var var_1 = new nms_TextureFlamesFX();
        nms_TextureFlamesFX__init_(var_1, var_0);
        return var_1;
    }
    function nms_TextureFlamesFX__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_TextureFX__init_0($this, nms_Block_fire.$blockIndexInTexture + ($var1 * 16 | 0) | 0);
            $this.$field_1133_g = $rt_createFloatArray(320);
            $this.$field_1132_h = $rt_createFloatArray(320);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_TextureFlamesFX_onTick($this) {
        var $var1, $var2, $var3, $var12, $var2_0, $var4, $var5, $var6, $var9, $var13, $var10, $var11, $var8, var$14;
        $var1 = 0;
        while ($var1 < 16) {
            $var2 = 0;
            while ($var2 < 20) {
                $var3 = 18;
                $var12 = $this.$field_1133_g.data;
                $var2_0 = $var2 + 1 | 0;
                $var4 = $var12[$var1 + (($var2_0 % 20 | 0) * 16 | 0) | 0] * 18.0;
                $var5 = $var1 - 1 | 0;
                while ($var5 <= ($var1 + 1 | 0)) {
                    $var6 = $var2;
                    while ($var6 <= $var2_0) {
                        if ($var5 >= 0 && $var6 >= 0 && $var5 < 16 && $var6 < 20)
                            $var4 = $var4 + $var12[$var5 + ($var6 * 16 | 0) | 0];
                        $var3 = $var3 + 1 | 0;
                        $var6 = $var6 + 1 | 0;
                    }
                    $var5 = $var5 + 1 | 0;
                }
                $var12 = $this.$field_1132_h.data;
                $var9 = $var1 + ($var2 * 16 | 0) | 0;
                $var12[$var9] = $var4 / ($var3 * 1.059999942779541);
                if ($var2 >= 19)
                    $var12[$var9] = jl_Math_random() * jl_Math_random() * jl_Math_random() * 4.0 + jl_Math_random() * 0.10000000149011612 + 0.20000000298023224;
                $var2 = $var2_0;
            }
            $var1 = $var1 + 1 | 0;
        }
        $var12 = $this.$field_1132_h;
        $this.$field_1132_h = $this.$field_1133_g;
        $this.$field_1133_g = $var12;
        $var2 = 0;
        while ($var2 < 256) {
            $var13 = $var12.data[$var2] * 1.7999999523162842;
            if ($var13 > 1.0)
                $var13 = 1.0;
            if ($var13 < 0.0)
                $var13 = 0.0;
            $var9 = $var13 * 155.0 + 100.0 | 0;
            $var4 = $var13 * $var13;
            $var10 = $var4 * 255.0 | 0;
            $var11 = $var4 * $var13 * $var13 * $var13 * $var13 * $var13 * $var13 * $var13 * $var13 * 255.0 | 0;
            $var8 = 255;
            if ($var13 < 0.5)
                $var8 = 0;
            if ($this.$anaglyphEnabled) {
                $var3 = $var9 * 30 | 0;
                $var9 = (($var3 + ($var10 * 59 | 0) | 0) + ($var11 * 11 | 0) | 0) / 100 | 0;
                $var10 = ($var3 + ($var10 * 70 | 0) | 0) / 100 | 0;
                $var11 = ($var3 + ($var11 * 70 | 0) | 0) / 100 | 0;
            }
            var$14 = $this.$imageData0.data;
            $var1 = $var2 * 4 | 0;
            var$14[$var1 + 0 | 0] = $var9 << 24 >> 24;
            var$14[$var1 + 1 | 0] = $var10 << 24 >> 24;
            var$14[$var1 + 2 | 0] = $var11 << 24 >> 24;
            var$14[$var1 + 3 | 0] = $var8 << 24 >> 24;
            $var2 = $var2 + 1 | 0;
        }
    }
    var nms_IWorldAccess = $rt_classWithoutFields(0);
    function nms_RenderGlobal() {
        var a = this; jl_Object.call(a);
        a.$tileEntities0 = null;
        a.$worldObj1 = null;
        a.$renderEngine2 = null;
        a.$worldRenderersToUpdate = null;
        a.$sortedWorldRenderers = null;
        a.$worldRenderers = null;
        a.$renderChunksWide = 0;
        a.$renderChunksTall = 0;
        a.$renderChunksDeep = 0;
        a.$glRenderListBase = 0;
        a.$mc4 = null;
        a.$field_1438_u = null;
        a.$occlusionEnabled = 0;
        a.$cloudOffsetX = 0;
        a.$starGLCallList = 0;
        a.$field_1433_z = 0;
        a.$field_1432_A = 0;
        a.$field_1431_B = 0;
        a.$field_1430_C = 0;
        a.$field_1429_D = 0;
        a.$field_1428_E = 0;
        a.$field_1427_F = 0;
        a.$field_1426_G = 0;
        a.$renderDistance0 = 0;
        a.$field_1424_I = 0;
        a.$field_1423_J = 0;
        a.$field_1422_K = 0;
        a.$field_1421_L = 0;
        a.$field_1457_b = null;
        a.$field_1456_c = null;
        a.$renderersLoaded = 0;
        a.$renderersBeingClipped = 0;
        a.$renderersBeingOccluded = 0;
        a.$renderersBeingRendered = 0;
        a.$renderersSkippingRenderPass = 0;
        a.$field_21156_R = 0;
        a.$field_1415_R = null;
        a.$field_1414_S = null;
        a.$field_1455_d = 0;
        a.$field_1454_e = 0;
        a.$prevSortX = 0.0;
        a.$prevSortY = 0.0;
        a.$prevSortZ = 0.0;
        a.$field_1450_i = 0.0;
        a.$frustrumCheckOffset = 0;
    }
    function nms_RenderGlobal__init_0(var_0, var_1) {
        var var_2 = new nms_RenderGlobal();
        nms_RenderGlobal__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_RenderGlobal__init_($this, $var1, $var2) {
        var $var6, $var4, var$5, var$6, $var9, var$8, $var8, var$10, var$11, $var9_0, var$13, var$14, var$15, var$16, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var9_0 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var8 = $thread.pop();var$8 = $thread.pop();$var9 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var6 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$tileEntities0 = ju_ArrayList__init_0();
            $this.$worldRenderersToUpdate = ju_ArrayList__init_0();
            $this.$occlusionEnabled = 0;
            $this.$cloudOffsetX = 0;
            $this.$renderDistance0 = (-1);
            $this.$field_1424_I = 2;
            $this.$field_1457_b = $rt_createIntArray(50000);
            $var6 = 64;
            $ptr = 1;
        case 1:
            $tmp = nms_GLAllocation_createDirectIntBuffer($var6);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $this.$field_1456_c = $var4;
            $this.$field_1415_R = ju_ArrayList__init_0();
            var$5 = $rt_createArray(nms_RenderList, 4);
            var$6 = var$5.data;
            $var6 = 0;
            $var4 = new nms_RenderList;
            $ptr = 2;
        case 2:
            nms_RenderList__init_($var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6[$var6] = $var4;
            $var6 = 1;
            $var4 = new nms_RenderList;
            $ptr = 3;
        case 3:
            nms_RenderList__init_($var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6[$var6] = $var4;
            $var6 = 2;
            $var4 = new nms_RenderList;
            $ptr = 4;
        case 4:
            nms_RenderList__init_($var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6[$var6] = $var4;
            $var6 = 3;
            $var4 = new nms_RenderList;
            $ptr = 5;
        case 5:
            nms_RenderList__init_($var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6[$var6] = $var4;
            $this.$field_1414_S = var$5;
            $this.$field_1455_d = 0;
            $var6 = 1;
            $ptr = 6;
        case 6:
            $tmp = nms_GLAllocation_generateDisplayLists($var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $this.$field_1454_e = $var6;
            $this.$prevSortX = (-9999.0);
            $this.$prevSortY = (-9999.0);
            $this.$prevSortZ = (-9999.0);
            $this.$frustrumCheckOffset = 0;
            $this.$mc4 = $var1;
            $this.$renderEngine2 = $var2;
            $var6 = 786432;
            $ptr = 7;
        case 7:
            $tmp = nms_GLAllocation_generateDisplayLists($var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $this.$glRenderListBase = $var6;
            $var6 = 3;
            $ptr = 8;
        case 8:
            $tmp = nms_GLAllocation_generateDisplayLists($var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $this.$starGLCallList = $var6;
            $ptr = 9;
        case 9:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $this.$starGLCallList;
            $var9 = 4864;
            $ptr = 10;
        case 10:
            nleo_EaglercraftGPU_glNewList($var6, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_RenderGlobal_renderStars($this);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nleo_EaglercraftGPU_glEndList();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = nms_Tessellator_instance;
            $var6 = $this.$starGLCallList + 1 | 0;
            $this.$field_1433_z = $var6;
            $var9 = 4864;
            $ptr = 15;
        case 15:
            nleo_EaglercraftGPU_glNewList($var6, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = 64;
            var$8 = (-384);
            $var8 = var$8;
            while (true) {
                var$10 = 384;
                if ($var8 > var$10)
                    break;
                $var9 = var$8;
                if ($var9 <= var$10) {
                    $ptr = 21;
                    continue main;
                }
                $var8 = $var8 + $var6 | 0;
            }
            $ptr = 16;
        case 16:
            nleo_EaglercraftGPU_glEndList();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $this.$starGLCallList + 2 | 0;
            $this.$field_1432_A = $var9;
            var$11 = 4864;
            $ptr = 17;
        case 17:
            nleo_EaglercraftGPU_glNewList($var9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 18;
        case 18:
            nms_Tessellator_startDrawingQuads($var4);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = var$8;
            while (var$11 <= var$10) {
                $var9_0 = var$8;
                if ($var9_0 <= var$10) {
                    var$13 = var$11 + $var6 | 0;
                    var$14 = (-16.0);
                    var$15 = $var9_0;
                    $ptr = 27;
                    continue main;
                }
                var$11 = var$11 + $var6 | 0;
            }
            $ptr = 19;
        case 19:
            nms_Tessellator_draw($var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 20;
        case 20:
            nleo_EaglercraftGPU_glEndList();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 21:
            nms_Tessellator_startDrawingQuads($var4);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $var8;
            var$14 = 16.0;
            var$15 = $var9;
            $ptr = 22;
        case 22:
            nms_Tessellator_addVertex($var4, var$13, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = $var8 + $var6 | 0;
            $ptr = 23;
        case 23:
            nms_Tessellator_addVertex($var4, var$16, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $var9 + $var6 | 0;
            var$15 = $var9;
            $ptr = 24;
        case 24:
            nms_Tessellator_addVertex($var4, var$16, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 25;
        case 25:
            nms_Tessellator_addVertex($var4, var$13, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 26;
        case 26:
            nms_Tessellator_draw($var4);
            if ($rt_suspending()) {
                break main;
            }
            while ($var9 > var$10) {
                $var8 = $var8 + $var6 | 0;
                var$10 = 384;
                if ($var8 > var$10) {
                    $ptr = 16;
                    continue main;
                }
                $var9 = var$8;
            }
            $ptr = 21;
            continue main;
        case 27:
            nms_Tessellator_addVertex($var4, var$13, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = var$11;
            $ptr = 28;
        case 28:
            nms_Tessellator_addVertex($var4, var$16, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $var9_0 = $var9_0 + $var6 | 0;
            var$15 = $var9_0;
            $ptr = 29;
        case 29:
            nms_Tessellator_addVertex($var4, var$16, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 30;
        case 30:
            nms_Tessellator_addVertex($var4, var$13, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                if ($var9_0 <= var$10) {
                    var$13 = var$11 + $var6 | 0;
                    var$14 = (-16.0);
                    var$15 = $var9_0;
                    $ptr = 27;
                    continue main;
                }
                var$11 = var$11 + $var6 | 0;
                if (var$11 > var$10)
                    break;
                $var9_0 = var$8;
            }
            $ptr = 19;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var6, $var4, var$5, var$6, $var9, var$8, $var8, var$10, var$11, $var9_0, var$13, var$14, var$15, var$16, $ptr);
    }
    function nms_RenderGlobal_renderStars($this) {
        var $var1, $var2, $var3, $var4, $var6, $var8, $var10, $var12, $var47, $var14, $var16, $var18, $var20, $var22, $var24, $var26, $var28, $var30, $var32, $var34, $var36, $var38, $var39, $var41, $var43, $var49, $var53, $var55, $var57, $var61, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var61 = $thread.pop();$var57 = $thread.pop();$var55 = $thread.pop();$var53 = $thread.pop();$var49 = $thread.pop();$var43 = $thread.pop();$var41 = $thread.pop();$var39 = $thread.pop();$var38 = $thread.pop();$var36 = $thread.pop();$var34 = $thread.pop();$var32 = $thread.pop();$var30 = $thread.pop();$var28 = $thread.pop();$var26 = $thread.pop();$var24 = $thread.pop();$var22 = $thread.pop();$var20 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var47
            = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = new ju_Random;
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_Tessellator_instance;
            $ptr = 2;
        case 2:
            nms_Tessellator_startDrawingQuads($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 0;
            while ($var3 < 1500) {
                $var4 = ju_Random_nextFloat($var1) * 2.0 - 1.0;
                $var6 = ju_Random_nextFloat($var1) * 2.0 - 1.0;
                $var8 = ju_Random_nextFloat($var1) * 2.0 - 1.0;
                $var10 = 0.25 + ju_Random_nextFloat($var1) * 0.25;
                $var12 = $var4 * $var4 + $var6 * $var6 + $var8 * $var8;
                if ($var12 < 1.0 && $var12 > 0.01) {
                    $var47 = 1.0 / jl_Math_sqrt($var12);
                    $var4 = $var4 * $var47;
                    $var6 = $var6 * $var47;
                    $var8 = $var8 * $var47;
                    $var14 = $var4 * 100.0;
                    $var16 = $var6 * 100.0;
                    $var18 = $var8 * 100.0;
                    $var20 = jl_Math_atan2($var4, $var8);
                    $var22 = jl_Math_sin($var20);
                    $var24 = jl_Math_cos($var20);
                    $var26 = jl_Math_atan2(jl_Math_sqrt($var4 * $var4 + $var8 * $var8), $var6);
                    $var28 = jl_Math_sin($var26);
                    $var30 = jl_Math_cos($var26);
                    $var32 = ju_Random_nextDouble($var1) * 3.141592653589793 * 2.0;
                    $var34 = jl_Math_sin($var32);
                    $var36 = jl_Math_cos($var32);
                    $var38 = 0;
                    $var8 = 0.0 * $var30;
                    $var39 = 0.0 * $var28;
                    if ($var38 < 4) {
                        $var41 = (($var38 & 2) - 1 | 0) * $var10;
                        $var38 = $var38 + 1 | 0;
                        $var43 = (($var38 & 2) - 1 | 0) * $var10;
                        $var47 = $var41 * $var36 - $var43 * $var34;
                        $var49 = $var43 * $var36 + $var41 * $var34;
                        $var53 = $var47 * $var28 + $var8;
                        $var55 = $var39 - $var47 * $var30;
                        $var57 = $var55 * $var22 - $var49 * $var24;
                        $var61 = $var49 * $var22 + $var55 * $var24;
                        $var4 = $var14 + $var57;
                        $var6 = $var16 + $var53;
                        $var47 = $var18 + $var61;
                        $ptr = 4;
                        continue main;
                    }
                }
                $var3 = $var3 + 1 | 0;
            }
            $ptr = 3;
        case 3:
            nms_Tessellator_draw($var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nms_Tessellator_addVertex($var2, $var4, $var6, $var47);
            if ($rt_suspending()) {
                break main;
            }
            a: while (true) {
                if ($var38 < 4) {
                    $var41 = (($var38 & 2) - 1 | 0) * $var10;
                    $var38 = $var38 + 1 | 0;
                    $var43 = (($var38 & 2) - 1 | 0) * $var10;
                    $var47 = $var41 * $var36 - $var43 * $var34;
                    $var49 = $var43 * $var36 + $var41 * $var34;
                    $var53 = $var47 * $var28 + $var8;
                    $var55 = $var39 - $var47 * $var30;
                    $var57 = $var55 * $var22 - $var49 * $var24;
                    $var61 = $var49 * $var22 + $var55 * $var24;
                    $var4 = $var14 + $var57;
                    $var6 = $var16 + $var53;
                    $var47 = $var18 + $var61;
                    continue main;
                }
                while (true) {
                    $var3 = $var3 + 1 | 0;
                    if ($var3 >= 1500)
                        break a;
                    $var4 = ju_Random_nextFloat($var1) * 2.0 - 1.0;
                    $var6 = ju_Random_nextFloat($var1) * 2.0 - 1.0;
                    $var8 = ju_Random_nextFloat($var1) * 2.0 - 1.0;
                    $var10 = 0.25 + ju_Random_nextFloat($var1) * 0.25;
                    $var12 = $var4 * $var4 + $var6 * $var6 + $var8 * $var8;
                    if ($var12 >= 1.0)
                        continue;
                    if ($var12 <= 0.01)
                        continue;
                    else
                        break;
                }
                $var47 = 1.0 / jl_Math_sqrt($var12);
                $var4 = $var4 * $var47;
                $var6 = $var6 * $var47;
                $var8 = $var8 * $var47;
                $var14 = $var4 * 100.0;
                $var16 = $var6 * 100.0;
                $var18 = $var8 * 100.0;
                $var20 = jl_Math_atan2($var4, $var8);
                $var22 = jl_Math_sin($var20);
                $var24 = jl_Math_cos($var20);
                $var26 = jl_Math_atan2(jl_Math_sqrt($var4 * $var4 + $var8 * $var8), $var6);
                $var28 = jl_Math_sin($var26);
                $var30 = jl_Math_cos($var26);
                $var32 = ju_Random_nextDouble($var1) * 3.141592653589793 * 2.0;
                $var34 = jl_Math_sin($var32);
                $var36 = jl_Math_cos($var32);
                $var38 = 0;
                $var8 = 0.0 * $var30;
                $var39 = 0.0 * $var28;
            }
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var6, $var8, $var10, $var12, $var47, $var14, $var16, $var18, $var20, $var22, $var24, $var26, $var28, $var30, $var32, $var34, $var36, $var38, $var39, $var41, $var43, $var49, $var53, $var55, $var57, $var61, $ptr);
    }
    function nms_RenderGlobal_loadRenderers($this) {
        var $var7, var$2, $var1, var$4, $var2, $var3, $var4, $var5, $var6, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();var$4 = $thread.pop();$var1 = $thread.pop();var$2 = $thread.pop();$var7 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var7 = nms_Block_leaves;
            var$2 = $this.$mc4.$gameSettings;
            $var1 = var$2.$fancyGraphics;
            $var7.$graphicsLevel = $var1;
            $var7.$blockIndexInTexture = $var7.$baseIndexInPNG + (!$var1 ? 1 : 0) | 0;
            $this.$renderDistance0 = var$2.$renderDistance;
            if ($this.$worldRenderers !== null) {
                $var1 = 0;
                var$4 = $this.$worldRenderers.data;
                if ($var1 < var$4.length) {
                    $var7 = var$4[$var1];
                    $ptr = 2;
                    continue main;
                }
            }
            $var1 = 64 << (3 - $this.$renderDistance0 | 0);
            if ($var1 > 400)
                $var1 = 400;
            $var1 = ($var1 / 16 | 0) + 1 | 0;
            $this.$renderChunksWide = $var1;
            $this.$renderChunksTall = 8;
            $this.$renderChunksDeep = $var1;
            $var2 = $rt_imul($var1 * 8 | 0, $var1);
            $this.$worldRenderers = $rt_createArray(nms_WorldRenderer, $var2);
            $this.$sortedWorldRenderers = $rt_createArray(nms_WorldRenderer, $var2);
            $var2 = 0;
            $var3 = 0;
            $this.$field_1431_B = 0;
            $this.$field_1430_C = 0;
            $this.$field_1429_D = 0;
            $this.$field_1428_E = $var1;
            $this.$field_1427_F = 8;
            $this.$field_1426_G = $var1;
            $var4 = 0;
            while (true) {
                $var7 = $this.$worldRenderersToUpdate;
                if ($var4 >= $var7.$size0)
                    break;
                (ju_ArrayList_get($var7, $var4)).$needsUpdate = 0;
                $var4 = $var4 + 1 | 0;
            }
            ju_ArrayList_clear($var7);
            ju_ArrayList_clear($this.$tileEntities0);
            $var4 = 0;
            while ($var4 < $this.$renderChunksWide) {
                $var5 = 0;
                while ($var5 < $this.$renderChunksTall) {
                    $var6 = 0;
                    if ($var6 < $this.$renderChunksDeep) {
                        var$4 = $this.$worldRenderers.data;
                        var$10 = $rt_imul($rt_imul($var6, $this.$renderChunksTall) + $var5 | 0, $this.$renderChunksWide) + $var4 | 0;
                        var$2 = new nms_WorldRenderer;
                        var$11 = $this.$worldObj1;
                        var$12 = $this.$tileEntities0;
                        var$13 = $var4 * 16 | 0;
                        var$14 = $var5 * 16 | 0;
                        var$15 = $var6 * 16 | 0;
                        $var1 = 16;
                        var$16 = $this.$glRenderListBase + $var2 | 0;
                        $ptr = 5;
                        continue main;
                    }
                    $var5 = $var5 + 1 | 0;
                }
                $var4 = $var4 + 1 | 0;
            }
            if ($this.$worldObj1 !== null) {
                $var7 = $this.$mc4.$renderViewEntity;
                if ($var7 !== null) {
                    $var1 = nms_MathHelper_floor_double($var7.$posX);
                    $var4 = nms_MathHelper_floor_double($var7.$posY);
                    $var2 = nms_MathHelper_floor_double($var7.$posZ);
                    $ptr = 3;
                    continue main;
                }
            }
            $this.$field_1424_I = 2;
            return;
        case 2:
            nms_WorldRenderer_setDontDraw($var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7.$worldObj5 = null;
            $var1 = $var1 + 1 | 0;
            var$4 = $this.$worldRenderers.data;
            if ($var1 < var$4.length) {
                $var7 = var$4[$var1];
                continue main;
            }
            $var1 = 64 << (3 - $this.$renderDistance0 | 0);
            if ($var1 > 400)
                $var1 = 400;
            $var1 = ($var1 / 16 | 0) + 1 | 0;
            $this.$renderChunksWide = $var1;
            $this.$renderChunksTall = 8;
            $this.$renderChunksDeep = $var1;
            $var2 = $rt_imul($var1 * 8 | 0, $var1);
            $this.$worldRenderers = $rt_createArray(nms_WorldRenderer, $var2);
            $this.$sortedWorldRenderers = $rt_createArray(nms_WorldRenderer, $var2);
            $var2 = 0;
            $var3 = 0;
            $this.$field_1431_B = 0;
            $this.$field_1430_C = 0;
            $this.$field_1429_D = 0;
            $this.$field_1428_E = $var1;
            $this.$field_1427_F = 8;
            $this.$field_1426_G = $var1;
            $var4 = 0;
            while (true) {
                $var7 = $this.$worldRenderersToUpdate;
                if ($var4 >= $var7.$size0)
                    break;
                (ju_ArrayList_get($var7, $var4)).$needsUpdate = 0;
                $var4 = $var4 + 1 | 0;
            }
            ju_ArrayList_clear($var7);
            ju_ArrayList_clear($this.$tileEntities0);
            $var4 = 0;
            while ($var4 < $this.$renderChunksWide) {
                $var5 = 0;
                while ($var5 < $this.$renderChunksTall) {
                    $var6 = 0;
                    if ($var6 < $this.$renderChunksDeep) {
                        var$4 = $this.$worldRenderers.data;
                        var$10 = $rt_imul($rt_imul($var6, $this.$renderChunksTall) + $var5 | 0, $this.$renderChunksWide) + $var4 | 0;
                        var$2 = new nms_WorldRenderer;
                        var$11 = $this.$worldObj1;
                        var$12 = $this.$tileEntities0;
                        var$13 = $var4 * 16 | 0;
                        var$14 = $var5 * 16 | 0;
                        var$15 = $var6 * 16 | 0;
                        $var1 = 16;
                        var$16 = $this.$glRenderListBase + $var2 | 0;
                        $ptr = 5;
                        continue main;
                    }
                    $var5 = $var5 + 1 | 0;
                }
                $var4 = $var4 + 1 | 0;
            }
            if ($this.$worldObj1 !== null) {
                $var7 = $this.$mc4.$renderViewEntity;
                if ($var7 !== null) {
                    $var1 = nms_MathHelper_floor_double($var7.$posX);
                    $var4 = nms_MathHelper_floor_double($var7.$posY);
                    $var2 = nms_MathHelper_floor_double($var7.$posZ);
                    $ptr = 3;
                    continue main;
                }
            }
            $this.$field_1424_I = 2;
            return;
        case 3:
            nms_RenderGlobal_markRenderersForNewPosition($this, $var1, $var4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$sortedWorldRenderers;
            var$2 = nms_EntitySorter__init_0($var7);
            $ptr = 4;
        case 4:
            ju_Arrays_sort(var$4, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_1424_I = 2;
            return;
        case 5:
            nms_WorldRenderer_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2.$glRenderList = (-1);
            var$2.$isInFrustum = 0;
            var$2.$skipRenderPass = $rt_createBooleanArray(2);
            var$2.$isVisible = 1;
            var$2.$isInitialized = 0;
            var$2.$tileEntityRenderers = ju_ArrayList__init_0();
            var$2.$worldObj5 = var$11;
            var$2.$tileEntities = var$12;
            var$2.$sizeDepth = $var1;
            var$2.$sizeHeight = $var1;
            var$2.$sizeWidth = $var1;
            var$2.$rendererRadius = nms_MathHelper_sqrt_float(768.0) / 2.0;
            var$2.$glRenderList = var$16;
            var$2.$posX0 = (-999);
            $ptr = 6;
        case 6:
            nms_WorldRenderer_setPosition(var$2, var$13, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$2.$needsUpdate = 0;
            var$4[var$10] = var$2;
            ju_Objects_requireNonNull($this);
            var$4 = $this.$worldRenderers.data;
            $var1 = $rt_imul($rt_imul($var6, $this.$renderChunksTall) + $var5 | 0, $this.$renderChunksWide) + $var4 | 0;
            var$4[$var1].$isWaitingOnOcclusionQuery = 0;
            var$4[$var1].$isVisible = 1;
            var$4[$var1].$isInFrustum = 1;
            $var7 = var$4[$var1];
            var$10 = $var3 + 1 | 0;
            $var7.$field_1735_w = $var3;
            $var7 = var$4[$var1];
            $ptr = 7;
        case 7:
            nms_WorldRenderer_markDirty($var7);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$sortedWorldRenderers.data;
            $var1 = $rt_imul($rt_imul($var6, $this.$renderChunksTall) + $var5 | 0, $this.$renderChunksWide) + $var4 | 0;
            var$17 = $this.$worldRenderers.data;
            var$4[$var1] = var$17[$var1];
            $var7 = $this.$worldRenderersToUpdate;
            var$2 = var$17[$var1];
            $ptr = 8;
        case 8:
            ju_ArrayList_add($var7, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 3 | 0;
            $var6 = $var6 + 1 | 0;
            $var3 = var$10;
            a: while (true) {
                if ($var6 < $this.$renderChunksDeep) {
                    var$4 = $this.$worldRenderers.data;
                    var$10 = $rt_imul($rt_imul($var6, $this.$renderChunksTall) + $var5 | 0, $this.$renderChunksWide) + $var4 | 0;
                    var$2 = new nms_WorldRenderer;
                    var$11 = $this.$worldObj1;
                    var$12 = $this.$tileEntities0;
                    var$13 = $var4 * 16 | 0;
                    var$14 = $var5 * 16 | 0;
                    var$15 = $var6 * 16 | 0;
                    $var1 = 16;
                    var$16 = $this.$glRenderListBase + $var2 | 0;
                    $ptr = 5;
                    continue main;
                }
                $var5 = $var5 + 1 | 0;
                while ($var5 >= $this.$renderChunksTall) {
                    $var4 = $var4 + 1 | 0;
                    if ($var4 >= $this.$renderChunksWide)
                        break a;
                    $var5 = 0;
                }
                $var6 = 0;
            }
            if ($this.$worldObj1 !== null) {
                $var7 = $this.$mc4.$renderViewEntity;
                if ($var7 !== null) {
                    $var1 = nms_MathHelper_floor_double($var7.$posX);
                    $var4 = nms_MathHelper_floor_double($var7.$posY);
                    $var2 = nms_MathHelper_floor_double($var7.$posZ);
                    $ptr = 3;
                    continue main;
                }
            }
            $this.$field_1424_I = 2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var7, var$2, $var1, var$4, $var2, $var3, $var4, $var5, $var6, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr);
    }
    function nms_RenderGlobal_renderEntities($this, $var1, $var2, $var3) {
        var var$4, $var5, $var7, var$7, var$8, var$9, $var4, var$11, var$12, var$13, var$14, var$15, var$16, $var6, var$18, var$19, var$20, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();$var6 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var4 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$field_1424_I;
            if (var$4 > 0) {
                $this.$field_1424_I = var$4 - 1 | 0;
                return;
            }
            $ptr = 1;
        case 1:
            nms_TileEntityRenderer_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = nms_TileEntityRenderer_instance;
            $var7 = $this.$worldObj1;
            var$7 = $this.$renderEngine2;
            var$8 = $this.$mc4;
            var$9 = var$8.$fontRenderer;
            $var4 = var$8.$renderViewEntity;
            $var5.$worldObj6 = $var7;
            $var5.$renderEngine3 = var$7;
            $var5.$entityLivingPlayer = $var4;
            $var5.$fontRenderer2 = var$9;
            var$11 = $var4.$prevRotationYaw;
            var$11 = var$11 + ($var4.$rotationYaw - var$11) * $var3;
            $var5.$playerYaw = var$11;
            var$12 = $var4.$prevRotationPitch;
            var$12 = var$12 + ($var4.$rotationPitch - var$12) * $var3;
            $var5.$playerPitch = var$12;
            var$13 = $var4.$lastTickPosX;
            var$14 = $var4.$posX - var$13;
            var$15 = $var3;
            var$16 = var$13 + var$14 * var$15;
            $var5.$playerX = var$16;
            var$14 = $var4.$lastTickPosY;
            var$13 = var$14 + ($var4.$posY - var$14) * var$15;
            $var5.$playerY = var$13;
            var$14 = $var4.$lastTickPosZ;
            var$14 = var$14 + ($var4.$posZ - var$14) * var$15;
            $var5.$playerZ = var$14;
            $ptr = 2;
        case 2:
            nms_RenderManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = nms_RenderManager_instance;
            var$8 = var$8.$gameSettings;
            $var5.$worldObj2 = $var7;
            $var5.$renderEngine0 = var$7;
            $var5.$options1 = var$8;
            $var5.$livingPlayer = $var4;
            $var5.$fontRenderer1 = var$9;
            $var5.$playerViewY = var$11;
            $var5.$playerViewX = var$12;
            $var5.$field_1222_l = var$16;
            $var5.$field_1221_m = var$13;
            $var5.$field_1220_n = var$14;
            $this.$field_1423_J = 0;
            $this.$field_1422_K = 0;
            $this.$field_1421_L = 0;
            nms_RenderManager_renderPosX = var$16;
            nms_RenderManager_renderPosY = var$13;
            nms_RenderManager_renderPosZ = var$14;
            nms_TileEntityRenderer_staticPlayerX = var$16;
            nms_TileEntityRenderer_staticPlayerY = var$13;
            nms_TileEntityRenderer_staticPlayerZ = var$14;
            $var5 = $var7.$loadedEntityList;
            $this.$field_1423_J = $var5.$size0;
            $var6 = 0;
            while (true) {
                if ($var6 >= $var5.$size0) {
                    var$4 = 0;
                    $var1 = $this.$tileEntities0;
                    if (var$4 >= $var1.$size0)
                        return;
                    $var2 = nms_TileEntityRenderer_instance;
                    $var1 = ju_ArrayList_get($var1, var$4);
                    var$13 = $var2.$playerX;
                    var$14 = $var2.$playerY;
                    var$18 = $var2.$playerZ;
                    $ptr = 3;
                    continue main;
                }
                $var7 = ju_ArrayList_get($var5, $var6);
                if (nms_Entity_isInRangeToRenderVec3D($var7, $var1) && nms_Frustrum_isBoundingBoxInFrustum($var2, $var7.$boundingBox)) {
                    var$7 = $this.$mc4;
                    var$8 = var$7.$renderViewEntity;
                    if ($var7 !== var$8)
                        break;
                    if (var$7.$gameSettings.$thirdPersonView)
                        break;
                    if (var$8.$sleeping)
                        break;
                }
                $var6 = $var6 + 1 | 0;
            }
            var$7 = $this.$worldObj1;
            var$4 = nms_MathHelper_floor_double($var7.$posX);
            var$19 = nms_MathHelper_floor_double($var7.$posY);
            var$20 = nms_MathHelper_floor_double($var7.$posZ);
            $ptr = 7;
            continue main;
        case 3:
            $tmp = nms_TileEntity_getDistanceFrom($var1, var$13, var$14, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $tmp;
            if (var$14 < 4096.0) {
                $var5 = $var2.$worldObj6;
                $var6 = $var1.$xCoord0;
                var$19 = $var1.$yCoord0;
                var$20 = $var1.$zCoord0;
                $ptr = 4;
                continue main;
            }
            var$4 = var$4 + 1 | 0;
            $var1 = $this.$tileEntities0;
            if (var$4 >= $var1.$size0)
                return;
            $var2 = nms_TileEntityRenderer_instance;
            $var1 = ju_ArrayList_get($var1, var$4);
            var$13 = $var2.$playerX;
            var$14 = $var2.$playerY;
            var$18 = $var2.$playerZ;
            continue main;
        case 4:
            $tmp = nms_World_getLightBrightness($var5, $var6, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            $ptr = 5;
        case 5:
            olo_GL11_glColor3f(var$11, var$11, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $var1.$xCoord0 - nms_TileEntityRenderer_staticPlayerX;
            var$18 = $var1.$yCoord0 - nms_TileEntityRenderer_staticPlayerY;
            var$13 = $var1.$zCoord0 - nms_TileEntityRenderer_staticPlayerZ;
            $ptr = 6;
        case 6:
            nms_TileEntityRenderer_renderTileEntityAt($var2, $var1, var$14, var$18, var$13, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = var$4 + 1 | 0;
            $var1 = $this.$tileEntities0;
            if (var$4 >= $var1.$size0)
                return;
            $var2 = nms_TileEntityRenderer_instance;
            $var1 = ju_ArrayList_get($var1, var$4);
            var$13 = $var2.$playerX;
            var$14 = $var2.$playerY;
            var$18 = $var2.$playerZ;
            $ptr = 3;
            continue main;
        case 7:
            $tmp = nms_World_blockExists(var$7, var$4, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4) {
                $this.$field_1422_K = $this.$field_1422_K + 1 | 0;
                var$7 = nms_RenderManager_instance;
                var$13 = $var7.$lastTickPosX;
                var$13 = var$13 + ($var7.$posX - var$13) * var$15;
                var$14 = $var7.$lastTickPosY;
                var$14 = var$14 + ($var7.$posY - var$14) * var$15;
                var$18 = $var7.$lastTickPosZ;
                var$18 = var$18 + ($var7.$posZ - var$18) * var$15;
                var$11 = $var7.$prevRotationYaw;
                var$11 = var$11 + ($var7.$rotationYaw - var$11) * $var3;
                $ptr = 8;
                continue main;
            }
            while (true) {
                $var6 = $var6 + 1 | 0;
                if ($var6 >= $var5.$size0) {
                    var$4 = 0;
                    $var1 = $this.$tileEntities0;
                    if (var$4 >= $var1.$size0)
                        return;
                    $var2 = nms_TileEntityRenderer_instance;
                    $var1 = ju_ArrayList_get($var1, var$4);
                    var$13 = $var2.$playerX;
                    var$14 = $var2.$playerY;
                    var$18 = $var2.$playerZ;
                    $ptr = 3;
                    continue main;
                }
                $var7 = ju_ArrayList_get($var5, $var6);
                if (!nms_Entity_isInRangeToRenderVec3D($var7, $var1))
                    continue;
                if (!nms_Frustrum_isBoundingBoxInFrustum($var2, $var7.$boundingBox))
                    continue;
                var$7 = $this.$mc4;
                var$8 = var$7.$renderViewEntity;
                if ($var7 !== var$8)
                    break;
                if (var$7.$gameSettings.$thirdPersonView)
                    break;
                if (!var$8.$sleeping)
                    continue;
                else
                    break;
            }
            var$7 = $this.$worldObj1;
            var$4 = nms_MathHelper_floor_double($var7.$posX);
            var$19 = nms_MathHelper_floor_double($var7.$posY);
            var$20 = nms_MathHelper_floor_double($var7.$posZ);
            continue main;
        case 8:
            $tmp = $var7.$getEntityBrightness($var3);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            $ptr = 9;
        case 9:
            olo_GL11_glColor3f(var$12, var$12, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = var$13 - nms_RenderManager_renderPosX;
            var$14 = var$14 - nms_RenderManager_renderPosY;
            var$13 = var$18 - nms_RenderManager_renderPosZ;
            $ptr = 10;
        case 10:
            nms_RenderManager_renderEntityWithPosYaw(var$7, $var7, var$16, var$14, var$13, var$11, $var3);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var6 = $var6 + 1 | 0;
                if ($var6 >= $var5.$size0) {
                    var$4 = 0;
                    $var1 = $this.$tileEntities0;
                    if (var$4 >= $var1.$size0)
                        return;
                    $var2 = nms_TileEntityRenderer_instance;
                    $var1 = ju_ArrayList_get($var1, var$4);
                    var$13 = $var2.$playerX;
                    var$14 = $var2.$playerY;
                    var$18 = $var2.$playerZ;
                    $ptr = 3;
                    continue main;
                }
                $var7 = ju_ArrayList_get($var5, $var6);
                if (!nms_Entity_isInRangeToRenderVec3D($var7, $var1))
                    continue;
                if (!nms_Frustrum_isBoundingBoxInFrustum($var2, $var7.$boundingBox))
                    continue;
                var$7 = $this.$mc4;
                var$8 = var$7.$renderViewEntity;
                if ($var7 !== var$8)
                    break;
                if (var$7.$gameSettings.$thirdPersonView)
                    break;
                if (!var$8.$sleeping)
                    continue;
                else
                    break;
            }
            var$7 = $this.$worldObj1;
            var$4 = nms_MathHelper_floor_double($var7.$posX);
            var$19 = nms_MathHelper_floor_double($var7.$posY);
            var$20 = nms_MathHelper_floor_double($var7.$posZ);
            $ptr = 7;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $var5, $var7, var$7, var$8, var$9, $var4, var$11, var$12, var$13, var$14, var$15, var$16, $var6, var$18, var$19, var$20, $ptr);
    }
    function nms_RenderGlobal_markRenderersForNewPosition($this, $var1, $var2, $var3) {
        var $var4, $var5, $var6, var$7, $var7, $var8, $var9, $var10, $var11, $var12, $var15, $var13, $var14, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var15 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $var1 + (-8) | 0;
            $var3 = $var3 + (-8) | 0;
            $this.$field_1431_B = 2147483647;
            $this.$field_1430_C = 2147483647;
            $this.$field_1429_D = 2147483647;
            $this.$field_1428_E = (-2147483648);
            $this.$field_1427_F = (-2147483648);
            $this.$field_1426_G = (-2147483648);
            $var4 = $this.$renderChunksWide * 16 | 0;
            $var5 = $var4 / 2 | 0;
            $var6 = 0;
            var$7 = $var4 - 1 | 0;
            while ($var6 < $this.$renderChunksWide) {
                $var7 = $var6 * 16 | 0;
                $var8 = ($var7 + $var5 | 0) - $var2 | 0;
                if ($var8 < 0)
                    $var8 = $var8 - var$7 | 0;
                $var7 = $var7 - $rt_imul($var8 / $var4 | 0, $var4) | 0;
                if ($var7 < $this.$field_1431_B)
                    $this.$field_1431_B = $var7;
                if ($var7 > $this.$field_1428_E)
                    $this.$field_1428_E = $var7;
                $var9 = 0;
                while ($var9 < $this.$renderChunksDeep) {
                    $var10 = $var9 * 16 | 0;
                    $var11 = ($var10 + $var5 | 0) - $var3 | 0;
                    if ($var11 < 0)
                        $var11 = $var11 - var$7 | 0;
                    $var8 = $var10 - $rt_imul($var11 / $var4 | 0, $var4) | 0;
                    if ($var8 < $this.$field_1429_D)
                        $this.$field_1429_D = $var8;
                    if ($var8 > $this.$field_1426_G)
                        $this.$field_1426_G = $var8;
                    $var12 = 0;
                    $var15 = $this.$renderChunksTall;
                    if ($var12 < $var15) {
                        $var13 = $var12 * 16 | 0;
                        if ($var13 < $this.$field_1430_C)
                            $this.$field_1430_C = $var13;
                        if ($var13 > $this.$field_1427_F)
                            $this.$field_1427_F = $var13;
                        $var14 = $this.$worldRenderers.data[$rt_imul($rt_imul($var9, $var15) + $var12 | 0, $this.$renderChunksWide) + $var6 | 0];
                        $var15 = $var14.$needsUpdate;
                        $ptr = 1;
                        continue main;
                    }
                    $var9 = $var9 + 1 | 0;
                }
                $var6 = $var6 + 1 | 0;
            }
            return;
        case 1:
            nms_WorldRenderer_setPosition($var14, $var7, $var13, $var8);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var15 && $var14.$needsUpdate) {
                var$17 = $this.$worldRenderersToUpdate;
                $ptr = 2;
                continue main;
            }
            $var12 = $var12 + 1 | 0;
            a: while (true) {
                $var15 = $this.$renderChunksTall;
                if ($var12 < $var15) {
                    $var13 = $var12 * 16 | 0;
                    if ($var13 < $this.$field_1430_C)
                        $this.$field_1430_C = $var13;
                    if ($var13 > $this.$field_1427_F)
                        $this.$field_1427_F = $var13;
                    $var14 = $this.$worldRenderers.data[$rt_imul($rt_imul($var9, $var15) + $var12 | 0, $this.$renderChunksWide) + $var6 | 0];
                    $var15 = $var14.$needsUpdate;
                    continue main;
                }
                $var9 = $var9 + 1 | 0;
                while ($var9 >= $this.$renderChunksDeep) {
                    $var6 = $var6 + 1 | 0;
                    if ($var6 >= $this.$renderChunksWide)
                        break a;
                    $var7 = $var6 * 16 | 0;
                    $var8 = ($var7 + $var5 | 0) - $var2 | 0;
                    if ($var8 < 0)
                        $var8 = $var8 - var$7 | 0;
                    $var7 = $var7 - $rt_imul($var8 / $var4 | 0, $var4) | 0;
                    if ($var7 < $this.$field_1431_B)
                        $this.$field_1431_B = $var7;
                    if ($var7 > $this.$field_1428_E)
                        $this.$field_1428_E = $var7;
                    $var9 = 0;
                }
                $var10 = $var9 * 16 | 0;
                $var11 = ($var10 + $var5 | 0) - $var3 | 0;
                if ($var11 < 0)
                    $var11 = $var11 - var$7 | 0;
                $var8 = $var10 - $rt_imul($var11 / $var4 | 0, $var4) | 0;
                if ($var8 < $this.$field_1429_D)
                    $this.$field_1429_D = $var8;
                if ($var8 > $this.$field_1426_G)
                    $this.$field_1426_G = $var8;
                $var12 = 0;
            }
            return;
        case 2:
            ju_ArrayList_add(var$17, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $var12 + 1 | 0;
            b: while (true) {
                $var15 = $this.$renderChunksTall;
                if ($var12 < $var15) {
                    $var13 = $var12 * 16 | 0;
                    if ($var13 < $this.$field_1430_C)
                        $this.$field_1430_C = $var13;
                    if ($var13 > $this.$field_1427_F)
                        $this.$field_1427_F = $var13;
                    $var14 = $this.$worldRenderers.data[$rt_imul($rt_imul($var9, $var15) + $var12 | 0, $this.$renderChunksWide) + $var6 | 0];
                    $var15 = $var14.$needsUpdate;
                    $ptr = 1;
                    continue main;
                }
                $var9 = $var9 + 1 | 0;
                while ($var9 >= $this.$renderChunksDeep) {
                    $var6 = $var6 + 1 | 0;
                    if ($var6 >= $this.$renderChunksWide)
                        break b;
                    $var7 = $var6 * 16 | 0;
                    $var8 = ($var7 + $var5 | 0) - $var2 | 0;
                    if ($var8 < 0)
                        $var8 = $var8 - var$7 | 0;
                    $var7 = $var7 - $rt_imul($var8 / $var4 | 0, $var4) | 0;
                    if ($var7 < $this.$field_1431_B)
                        $this.$field_1431_B = $var7;
                    if ($var7 > $this.$field_1428_E)
                        $this.$field_1428_E = $var7;
                    $var9 = 0;
                }
                $var10 = $var9 * 16 | 0;
                $var11 = ($var10 + $var5 | 0) - $var3 | 0;
                if ($var11 < 0)
                    $var11 = $var11 - var$7 | 0;
                $var8 = $var10 - $rt_imul($var11 / $var4 | 0, $var4) | 0;
                if ($var8 < $this.$field_1429_D)
                    $this.$field_1429_D = $var8;
                if ($var8 > $this.$field_1426_G)
                    $this.$field_1426_G = $var8;
                $var12 = 0;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $var7, $var8, $var9, $var10, $var11, $var12, $var15, $var13, $var14, var$17, $ptr);
    }
    function nms_RenderGlobal_sortAndRender($this, $var1, $var2, $var3) {
        var $var5, var$5, $var11, var$7, $var13, var$9, $var15, var$11, var$12, var$13, $var6, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();$var6 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var15 = $thread.pop();var$9 = $thread.pop();$var13 = $thread.pop();var$7 = $thread.pop();$var11 = $thread.pop();var$5 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = 0;
            while (true) {
                if ($var5 >= 10) {
                    if ($this.$mc4.$gameSettings.$renderDistance != $this.$renderDistance0) {
                        $ptr = 1;
                        continue main;
                    }
                    if (!$var2) {
                        $this.$renderersLoaded = 0;
                        $this.$renderersBeingClipped = 0;
                        $this.$renderersBeingOccluded = 0;
                        $this.$renderersBeingRendered = 0;
                        $this.$renderersSkippingRenderPass = 0;
                    }
                    var$5 = $var1.$posX;
                    $var11 = var$5 - $this.$prevSortX;
                    var$7 = $var1.$posY;
                    $var13 = var$7 - $this.$prevSortY;
                    var$9 = $var1.$posZ;
                    $var15 = var$9 - $this.$prevSortZ;
                    if ($var11 * $var11 + $var13 * $var13 + $var15 * $var15 <= 16.0) {
                        var$11 = 0;
                        var$12 = $this.$sortedWorldRenderers.data.length;
                        $ptr = 4;
                        continue main;
                    }
                    $this.$prevSortX = var$5;
                    $this.$prevSortY = var$7;
                    $this.$prevSortZ = var$9;
                    var$11 = nms_MathHelper_floor_double(var$5);
                    var$12 = nms_MathHelper_floor_double($var1.$posY);
                    $var5 = nms_MathHelper_floor_double($var1.$posZ);
                    $ptr = 5;
                    continue main;
                }
                var$11 = $this.$field_21156_R + 1 | 0;
                var$13 = $this.$worldRenderers.data;
                var$11 = var$11 % var$13.length | 0;
                $this.$field_21156_R = var$11;
                $var6 = var$13[var$11];
                if ($var6.$needsUpdate)
                    break;
                $var5 = $var5 + 1 | 0;
            }
            var$15 = $this.$worldRenderersToUpdate;
            $ptr = 2;
            continue main;
        case 1:
            nms_RenderGlobal_loadRenderers($this);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var2) {
                $this.$renderersLoaded = 0;
                $this.$renderersBeingClipped = 0;
                $this.$renderersBeingOccluded = 0;
                $this.$renderersBeingRendered = 0;
                $this.$renderersSkippingRenderPass = 0;
            }
            var$5 = $var1.$posX;
            $var11 = var$5 - $this.$prevSortX;
            var$7 = $var1.$posY;
            $var13 = var$7 - $this.$prevSortY;
            var$9 = $var1.$posZ;
            $var15 = var$9 - $this.$prevSortZ;
            if ($var11 * $var11 + $var13 * $var13 + $var15 * $var15 <= 16.0) {
                var$11 = 0;
                var$12 = $this.$sortedWorldRenderers.data.length;
                $ptr = 4;
                continue main;
            }
            $this.$prevSortX = var$5;
            $this.$prevSortY = var$7;
            $this.$prevSortZ = var$9;
            var$11 = nms_MathHelper_floor_double(var$5);
            var$12 = nms_MathHelper_floor_double($var1.$posY);
            $var5 = nms_MathHelper_floor_double($var1.$posZ);
            $ptr = 5;
            continue main;
        case 2:
            $tmp = ju_AbstractCollection_contains(var$15, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            if (!var$11) {
                var$15 = $this.$worldRenderersToUpdate;
                $ptr = 3;
                continue main;
            }
            while (true) {
                $var5 = $var5 + 1 | 0;
                if ($var5 >= 10) {
                    if ($this.$mc4.$gameSettings.$renderDistance != $this.$renderDistance0) {
                        $ptr = 1;
                        continue main;
                    }
                    if (!$var2) {
                        $this.$renderersLoaded = 0;
                        $this.$renderersBeingClipped = 0;
                        $this.$renderersBeingOccluded = 0;
                        $this.$renderersBeingRendered = 0;
                        $this.$renderersSkippingRenderPass = 0;
                    }
                    var$5 = $var1.$posX;
                    $var11 = var$5 - $this.$prevSortX;
                    var$7 = $var1.$posY;
                    $var13 = var$7 - $this.$prevSortY;
                    var$9 = $var1.$posZ;
                    $var15 = var$9 - $this.$prevSortZ;
                    if ($var11 * $var11 + $var13 * $var13 + $var15 * $var15 <= 16.0) {
                        var$11 = 0;
                        var$12 = $this.$sortedWorldRenderers.data.length;
                        $ptr = 4;
                        continue main;
                    }
                    $this.$prevSortX = var$5;
                    $this.$prevSortY = var$7;
                    $this.$prevSortZ = var$9;
                    var$11 = nms_MathHelper_floor_double(var$5);
                    var$12 = nms_MathHelper_floor_double($var1.$posY);
                    $var5 = nms_MathHelper_floor_double($var1.$posZ);
                    $ptr = 5;
                    continue main;
                }
                var$11 = $this.$field_21156_R + 1 | 0;
                var$13 = $this.$worldRenderers.data;
                var$11 = var$11 % var$13.length | 0;
                $this.$field_21156_R = var$11;
                $var6 = var$13[var$11];
                if (!$var6.$needsUpdate)
                    continue;
                else
                    break;
            }
            var$15 = $this.$worldRenderersToUpdate;
            continue main;
        case 3:
            ju_ArrayList_add(var$15, $var6);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var5 = $var5 + 1 | 0;
                if ($var5 >= 10) {
                    if ($this.$mc4.$gameSettings.$renderDistance != $this.$renderDistance0) {
                        $ptr = 1;
                        continue main;
                    }
                    if (!$var2) {
                        $this.$renderersLoaded = 0;
                        $this.$renderersBeingClipped = 0;
                        $this.$renderersBeingOccluded = 0;
                        $this.$renderersBeingRendered = 0;
                        $this.$renderersSkippingRenderPass = 0;
                    }
                    var$5 = $var1.$posX;
                    $var11 = var$5 - $this.$prevSortX;
                    var$7 = $var1.$posY;
                    $var13 = var$7 - $this.$prevSortY;
                    var$9 = $var1.$posZ;
                    $var15 = var$9 - $this.$prevSortZ;
                    if ($var11 * $var11 + $var13 * $var13 + $var15 * $var15 <= 16.0) {
                        var$11 = 0;
                        var$12 = $this.$sortedWorldRenderers.data.length;
                        $ptr = 4;
                        continue main;
                    }
                    $this.$prevSortX = var$5;
                    $this.$prevSortY = var$7;
                    $this.$prevSortZ = var$9;
                    var$11 = nms_MathHelper_floor_double(var$5);
                    var$12 = nms_MathHelper_floor_double($var1.$posY);
                    $var5 = nms_MathHelper_floor_double($var1.$posZ);
                    $ptr = 5;
                    continue main;
                }
                var$11 = $this.$field_21156_R + 1 | 0;
                var$13 = $this.$worldRenderers.data;
                var$11 = var$11 % var$13.length | 0;
                $this.$field_21156_R = var$11;
                $var6 = var$13[var$11];
                if (!$var6.$needsUpdate)
                    continue;
                else
                    break;
            }
            var$15 = $this.$worldRenderersToUpdate;
            $ptr = 2;
            continue main;
        case 4:
            $tmp = nms_RenderGlobal_renderSortedRenderers($this, var$11, var$12, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        case 5:
            nms_RenderGlobal_markRenderersForNewPosition($this, var$11, var$12, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $this.$sortedWorldRenderers;
            $var6 = nms_EntitySorter__init_0($var1);
            $ptr = 6;
        case 6:
            ju_Arrays_sort(var$13, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 0;
            var$12 = $this.$sortedWorldRenderers.data.length;
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var5, var$5, $var11, var$7, $var13, var$9, $var15, var$11, var$12, var$13, $var6, var$15, $ptr);
    }
    function nms_RenderGlobal_renderSortedRenderers($this, $var7, $var2, $var3, $var4) {
        var $var6, $var19, $var12, $var20, $var10, var$10, $var14, $var15, var$13, var$14, var$15, var$16, $var16, $var17, $var18, $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();var$10 = $thread.pop();$var10 = $thread.pop();$var20 = $thread.pop();$var12 = $thread.pop();$var19 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var7 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            ju_ArrayList_clear($this.$field_1415_R);
            $var6 = 0;
            while (true) {
                if ($var7 >= $var2) {
                    $var19 = $this.$mc4.$renderViewEntity;
                    $var12 = $var19.$lastTickPosX;
                    $var20 = $var12 + ($var19.$posX - $var12) * $var4;
                    $var12 = $var19.$lastTickPosY;
                    $var10 = $var12 + ($var19.$posY - $var12) * $var4;
                    var$10 = $var19.$lastTickPosZ;
                    $var12 = var$10 + ($var19.$posZ - var$10) * $var4;
                    $var14 = 0;
                    $var15 = 0;
                    while (true) {
                        var$13 = $this.$field_1414_S.data;
                        if ($var15 >= var$13.length)
                            break;
                        $var19 = var$13[$var15];
                        $var19.$field_1235_h = 0;
                        $var19.$field_1234_i = 0;
                        $var15 = $var15 + 1 | 0;
                    }
                    $var15 = 0;
                    var$14 = $var20;
                    var$15 = $var10;
                    var$16 = $var12;
                    $var19 = $this.$field_1415_R;
                    if ($var15 >= $var19.$size0) {
                        $ptr = 1;
                        continue main;
                    }
                    $var16 = ju_ArrayList_get($var19, $var15);
                    $var17 = (-1);
                    $var18 = 0;
                    while ($var18 < $var14) {
                        $var19 = $this.$field_1414_S.data[$var18];
                        $var7 = $var16.$posXMinus;
                        $var2 = $var16.$posYMinus;
                        $var8 = $var16.$posZMinus;
                        if (!$var19.$field_1235_h ? 0 : $var7 == $var19.$field_1242_a && $var2 == $var19.$field_1241_b && $var8 == $var19.$field_1240_c ? 1 : 0)
                            $var17 = $var18;
                        $var18 = $var18 + 1 | 0;
                    }
                    if ($var17 >= 0) {
                        $var7 = $var14;
                        $var14 = $var17;
                    } else {
                        $var7 = $var14 + 1 | 0;
                        $var19 = $this.$field_1414_S.data[$var14];
                        $var2 = $var16.$posXMinus;
                        $var18 = $var16.$posYMinus;
                        $var17 = $var16.$posZMinus;
                        $var19.$field_1235_h = 1;
                        nleib_EaglerArrayIntBuffer_clear($var19.$field_1236_g);
                        $var19.$field_1242_a = $var2;
                        $var19.$field_1241_b = $var18;
                        $var19.$field_1240_c = $var17;
                        $var19.$field_1239_d = var$14;
                        $var19.$field_1238_e = var$15;
                        $var19.$field_1237_f = var$16;
                    }
                    $var19 = $this.$field_1414_S.data[$var14];
                    $ptr = 4;
                    continue main;
                }
                if (!$var3) {
                    $this.$renderersLoaded = $this.$renderersLoaded + 1 | 0;
                    var$13 = $this.$sortedWorldRenderers.data;
                    if (var$13[$var7].$skipRenderPass.data[$var3])
                        $this.$renderersSkippingRenderPass = $this.$renderersSkippingRenderPass + 1 | 0;
                    else if (!var$13[$var7].$isInFrustum)
                        $this.$renderersBeingClipped = $this.$renderersBeingClipped + 1 | 0;
                    else {
                        ju_Objects_requireNonNull($this);
                        $this.$renderersBeingRendered = $this.$renderersBeingRendered + 1 | 0;
                    }
                }
                var$13 = $this.$sortedWorldRenderers.data;
                if (!var$13[$var7].$skipRenderPass.data[$var3] && var$13[$var7].$isInFrustum && var$13[$var7].$isVisible)
                    break;
                $var7 = $var7 + 1 | 0;
            }
            $var19 = var$13[$var7];
            $ptr = 2;
            continue main;
        case 1:
            nms_RenderGlobal_func_944_a($this, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return $var6;
        case 2:
            $tmp = nms_WorldRenderer_getGLCallListForPass($var19, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8 >= 0) {
                $var19 = $this.$field_1415_R;
                $var16 = $this.$sortedWorldRenderers.data[$var7];
                $ptr = 3;
                continue main;
            }
            while (true) {
                $var7 = $var7 + 1 | 0;
                if ($var7 >= $var2) {
                    $var19 = $this.$mc4.$renderViewEntity;
                    $var12 = $var19.$lastTickPosX;
                    $var20 = $var12 + ($var19.$posX - $var12) * $var4;
                    $var12 = $var19.$lastTickPosY;
                    $var10 = $var12 + ($var19.$posY - $var12) * $var4;
                    var$10 = $var19.$lastTickPosZ;
                    $var12 = var$10 + ($var19.$posZ - var$10) * $var4;
                    $var14 = 0;
                    $var15 = 0;
                    while (true) {
                        var$13 = $this.$field_1414_S.data;
                        if ($var15 >= var$13.length)
                            break;
                        $var19 = var$13[$var15];
                        $var19.$field_1235_h = 0;
                        $var19.$field_1234_i = 0;
                        $var15 = $var15 + 1 | 0;
                    }
                    $var15 = 0;
                    var$14 = $var20;
                    var$15 = $var10;
                    var$16 = $var12;
                    $var19 = $this.$field_1415_R;
                    if ($var15 >= $var19.$size0) {
                        $ptr = 1;
                        continue main;
                    }
                    $var16 = ju_ArrayList_get($var19, $var15);
                    $var17 = (-1);
                    $var18 = 0;
                    while ($var18 < $var14) {
                        $var19 = $this.$field_1414_S.data[$var18];
                        $var7 = $var16.$posXMinus;
                        $var2 = $var16.$posYMinus;
                        $var8 = $var16.$posZMinus;
                        if (!$var19.$field_1235_h ? 0 : $var7 == $var19.$field_1242_a && $var2 == $var19.$field_1241_b && $var8 == $var19.$field_1240_c ? 1 : 0)
                            $var17 = $var18;
                        $var18 = $var18 + 1 | 0;
                    }
                    if ($var17 >= 0) {
                        $var7 = $var14;
                        $var14 = $var17;
                    } else {
                        $var7 = $var14 + 1 | 0;
                        $var19 = $this.$field_1414_S.data[$var14];
                        $var2 = $var16.$posXMinus;
                        $var18 = $var16.$posYMinus;
                        $var17 = $var16.$posZMinus;
                        $var19.$field_1235_h = 1;
                        nleib_EaglerArrayIntBuffer_clear($var19.$field_1236_g);
                        $var19.$field_1242_a = $var2;
                        $var19.$field_1241_b = $var18;
                        $var19.$field_1240_c = $var17;
                        $var19.$field_1239_d = var$14;
                        $var19.$field_1238_e = var$15;
                        $var19.$field_1237_f = var$16;
                    }
                    $var19 = $this.$field_1414_S.data[$var14];
                    $ptr = 4;
                    continue main;
                }
                if (!$var3) {
                    $this.$renderersLoaded = $this.$renderersLoaded + 1 | 0;
                    var$13 = $this.$sortedWorldRenderers.data;
                    if (var$13[$var7].$skipRenderPass.data[$var3])
                        $this.$renderersSkippingRenderPass = $this.$renderersSkippingRenderPass + 1 | 0;
                    else if (!var$13[$var7].$isInFrustum)
                        $this.$renderersBeingClipped = $this.$renderersBeingClipped + 1 | 0;
                    else {
                        ju_Objects_requireNonNull($this);
                        $this.$renderersBeingRendered = $this.$renderersBeingRendered + 1 | 0;
                    }
                }
                var$13 = $this.$sortedWorldRenderers.data;
                if (var$13[$var7].$skipRenderPass.data[$var3])
                    continue;
                if (!var$13[$var7].$isInFrustum)
                    continue;
                if (var$13[$var7].$isVisible)
                    break;
            }
            $var19 = var$13[$var7];
            continue main;
        case 3:
            ju_ArrayList_add($var19, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            while (true) {
                $var7 = $var7 + 1 | 0;
                if ($var7 >= $var2) {
                    $var19 = $this.$mc4.$renderViewEntity;
                    $var12 = $var19.$lastTickPosX;
                    $var20 = $var12 + ($var19.$posX - $var12) * $var4;
                    $var12 = $var19.$lastTickPosY;
                    $var10 = $var12 + ($var19.$posY - $var12) * $var4;
                    var$10 = $var19.$lastTickPosZ;
                    $var12 = var$10 + ($var19.$posZ - var$10) * $var4;
                    $var14 = 0;
                    $var15 = 0;
                    while (true) {
                        var$13 = $this.$field_1414_S.data;
                        if ($var15 >= var$13.length)
                            break;
                        $var19 = var$13[$var15];
                        $var19.$field_1235_h = 0;
                        $var19.$field_1234_i = 0;
                        $var15 = $var15 + 1 | 0;
                    }
                    $var15 = 0;
                    var$14 = $var20;
                    var$15 = $var10;
                    var$16 = $var12;
                    $var19 = $this.$field_1415_R;
                    if ($var15 >= $var19.$size0) {
                        $ptr = 1;
                        continue main;
                    }
                    $var16 = ju_ArrayList_get($var19, $var15);
                    $var17 = (-1);
                    $var18 = 0;
                    while ($var18 < $var14) {
                        $var19 = $this.$field_1414_S.data[$var18];
                        $var7 = $var16.$posXMinus;
                        $var2 = $var16.$posYMinus;
                        $var8 = $var16.$posZMinus;
                        if (!$var19.$field_1235_h ? 0 : $var7 == $var19.$field_1242_a && $var2 == $var19.$field_1241_b && $var8 == $var19.$field_1240_c ? 1 : 0)
                            $var17 = $var18;
                        $var18 = $var18 + 1 | 0;
                    }
                    if ($var17 >= 0) {
                        $var7 = $var14;
                        $var14 = $var17;
                    } else {
                        $var7 = $var14 + 1 | 0;
                        $var19 = $this.$field_1414_S.data[$var14];
                        $var2 = $var16.$posXMinus;
                        $var18 = $var16.$posYMinus;
                        $var17 = $var16.$posZMinus;
                        $var19.$field_1235_h = 1;
                        nleib_EaglerArrayIntBuffer_clear($var19.$field_1236_g);
                        $var19.$field_1242_a = $var2;
                        $var19.$field_1241_b = $var18;
                        $var19.$field_1240_c = $var17;
                        $var19.$field_1239_d = var$14;
                        $var19.$field_1238_e = var$15;
                        $var19.$field_1237_f = var$16;
                    }
                    $var19 = $this.$field_1414_S.data[$var14];
                    $ptr = 4;
                    continue main;
                }
                if (!$var3) {
                    $this.$renderersLoaded = $this.$renderersLoaded + 1 | 0;
                    var$13 = $this.$sortedWorldRenderers.data;
                    if (var$13[$var7].$skipRenderPass.data[$var3])
                        $this.$renderersSkippingRenderPass = $this.$renderersSkippingRenderPass + 1 | 0;
                    else if (!var$13[$var7].$isInFrustum)
                        $this.$renderersBeingClipped = $this.$renderersBeingClipped + 1 | 0;
                    else {
                        ju_Objects_requireNonNull($this);
                        $this.$renderersBeingRendered = $this.$renderersBeingRendered + 1 | 0;
                    }
                }
                var$13 = $this.$sortedWorldRenderers.data;
                if (var$13[$var7].$skipRenderPass.data[$var3])
                    continue;
                if (!var$13[$var7].$isInFrustum)
                    continue;
                if (var$13[$var7].$isVisible)
                    break;
            }
            $var19 = var$13[$var7];
            $ptr = 2;
            continue main;
        case 4:
            $tmp = nms_WorldRenderer_getGLCallListForPass($var16, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var16 = $var19.$field_1236_g;
            $ptr = 5;
        case 5:
            nleib_EaglerArrayIntBuffer_put($var16, $var2);
            if ($rt_suspending()) {
                break main;
            }
            if (!nleib_EaglerArrayIntBuffer_remaining($var19.$field_1236_g)) {
                $ptr = 6;
                continue main;
            }
            $var15 = $var15 + 1 | 0;
            $var14 = $var7;
            $var19 = $this.$field_1415_R;
            if ($var15 >= $var19.$size0) {
                $ptr = 1;
                continue main;
            }
            $var16 = ju_ArrayList_get($var19, $var15);
            $var17 = (-1);
            $var18 = 0;
            while ($var18 < $var14) {
                $var19 = $this.$field_1414_S.data[$var18];
                $var7 = $var16.$posXMinus;
                $var2 = $var16.$posYMinus;
                $var8 = $var16.$posZMinus;
                if (!$var19.$field_1235_h ? 0 : $var7 == $var19.$field_1242_a && $var2 == $var19.$field_1241_b && $var8 == $var19.$field_1240_c ? 1 : 0)
                    $var17 = $var18;
                $var18 = $var18 + 1 | 0;
            }
            if ($var17 >= 0) {
                $var7 = $var14;
                $var14 = $var17;
            } else {
                $var7 = $var14 + 1 | 0;
                $var19 = $this.$field_1414_S.data[$var14];
                $var2 = $var16.$posXMinus;
                $var18 = $var16.$posYMinus;
                $var17 = $var16.$posZMinus;
                $var19.$field_1235_h = 1;
                nleib_EaglerArrayIntBuffer_clear($var19.$field_1236_g);
                $var19.$field_1242_a = $var2;
                $var19.$field_1241_b = $var18;
                $var19.$field_1240_c = $var17;
                $var19.$field_1239_d = var$14;
                $var19.$field_1238_e = var$15;
                $var19.$field_1237_f = var$16;
            }
            $var19 = $this.$field_1414_S.data[$var14];
            $ptr = 4;
            continue main;
        case 6:
            nms_RenderList_func_860_a($var19);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $var15 + 1 | 0;
            $var14 = $var7;
            $var19 = $this.$field_1415_R;
            if ($var15 >= $var19.$size0) {
                $ptr = 1;
                continue main;
            }
            $var16 = ju_ArrayList_get($var19, $var15);
            $var17 = (-1);
            $var18 = 0;
            while ($var18 < $var14) {
                $var19 = $this.$field_1414_S.data[$var18];
                $var7 = $var16.$posXMinus;
                $var2 = $var16.$posYMinus;
                $var8 = $var16.$posZMinus;
                if (!$var19.$field_1235_h ? 0 : $var7 == $var19.$field_1242_a && $var2 == $var19.$field_1241_b && $var8 == $var19.$field_1240_c ? 1 : 0)
                    $var17 = $var18;
                $var18 = $var18 + 1 | 0;
            }
            if ($var17 >= 0) {
                $var7 = $var14;
                $var14 = $var17;
            } else {
                $var7 = $var14 + 1 | 0;
                $var19 = $this.$field_1414_S.data[$var14];
                $var2 = $var16.$posXMinus;
                $var18 = $var16.$posYMinus;
                $var17 = $var16.$posZMinus;
                $var19.$field_1235_h = 1;
                nleib_EaglerArrayIntBuffer_clear($var19.$field_1236_g);
                $var19.$field_1242_a = $var2;
                $var19.$field_1241_b = $var18;
                $var19.$field_1240_c = $var17;
                $var19.$field_1239_d = var$14;
                $var19.$field_1238_e = var$15;
                $var19.$field_1237_f = var$16;
            }
            $var19 = $this.$field_1414_S.data[$var14];
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var7, $var2, $var3, $var4, $var6, $var19, $var12, $var20, $var10, var$10, $var14, $var15, var$13, var$14, var$15, var$16, $var16, $var17, $var18, $var8, $ptr);
    }
    function nms_RenderGlobal_func_944_a($this, $var1, $var2) {
        var $var4, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = 0;
            var$4 = $this.$field_1414_S.data;
            if ($var4 >= var$4.length)
                return;
            var$5 = var$4[$var4];
            $ptr = 1;
        case 1:
            nms_RenderList_func_860_a(var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $var4 + 1 | 0;
            var$4 = $this.$field_1414_S.data;
            if ($var4 >= var$4.length)
                return;
            var$5 = var$4[$var4];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, var$4, var$5, $ptr);
    }
    function nms_RenderGlobal_updateClouds($this) {
        $this.$cloudOffsetX = $this.$cloudOffsetX + 1 | 0;
    }
    function nms_RenderGlobal_renderSky($this, $var1) {
        var $var9, $var2, $var14, $var6, $var7, $var8, $var11, $var10, $var15, $var7_0, $var8_0, $var16, $var12, $var13, var$16, var$17, var$18, var$19, var$20, var$21, var$22, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var16 = $thread.pop();$var8_0 = $thread.pop();$var7_0 = $thread.pop();$var15 = $thread.pop();$var10 = $thread.pop();$var11 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var14 = $thread.pop();$var2 = $thread.pop();$var9 = $thread.pop();$var1
            = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$mc4.$theWorld.$worldProvider.$field_4220_c)
                return;
            $var9 = 3553;
            $ptr = 1;
        case 1:
            olo_GL11_glDisable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$worldObj1;
            $var14 = $this.$mc4.$renderViewEntity;
            $ptr = 2;
        case 2:
            $tmp = nms_World_func_4079_a($var2, $var14, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var6 = $var2.$xCoord;
            $var7 = $var2.$yCoord;
            $var8 = $var2.$zCoord;
            if ($this.$mc4.$gameSettings.$anaglyph) {
                $var11 = $var6 * 30.0;
                $var6 = ($var11 + $var7 * 59.0 + $var8 * 11.0) / 100.0;
                $var7 = ($var11 + $var7 * 70.0) / 100.0;
                $var8 = ($var11 + $var8 * 70.0) / 100.0;
            }
            $ptr = 3;
        case 3:
            olo_GL11_glColor3f($var6, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var14 = nms_Tessellator_instance;
            $var9 = 0;
            $ptr = 5;
        case 5:
            olo_GL11_glDepthMask($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 2912;
            $ptr = 6;
        case 6:
            olo_GL11_glEnable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            olo_GL11_glColor3f($var6, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $this.$field_1433_z;
            $ptr = 8;
        case 8:
            nleo_EaglercraftGPU_glCallList($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 2912;
            $ptr = 9;
        case 9:
            olo_GL11_glDisable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 3008;
            $ptr = 10;
        case 10:
            olo_GL11_glDisable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 3042;
            $ptr = 11;
        case 11:
            olo_GL11_glEnable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 770;
            $var10 = 771;
            $ptr = 12;
        case 12:
            olo_GL11_glBlendFunc($var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$worldObj1;
            $var15 = nms_WorldProvider_calcSunriseSunsetColors($var2.$worldProvider, nms_World_getCelestialAngle($var2, $var1), $var1);
            if ($var15 === null) {
                $var9 = 3553;
                $ptr = 13;
                continue main;
            }
            $var9 = 3553;
            $ptr = 37;
            continue main;
        case 13:
            olo_GL11_glEnable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 1;
            $var10 = 1;
            $ptr = 14;
        case 14:
            olo_GL11_glBlendFunc($var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var7_0 = 0.0;
            $var8_0 = 0.0;
            $var16 = 0.0;
            $var12 = 1.0;
            $var13 = 1.0;
            var$16 = 1.0;
            $var11 = 1.0;
            $ptr = 16;
        case 16:
            nleo_GlStateManager_color($var12, $var13, var$16, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            olo_GL11_glTranslatef($var7_0, $var8_0, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = 0.0;
            $var8_0 = 0.0;
            $var12 = 0.0;
            $var13 = 1.0;
            $ptr = 18;
        case 18:
            olo_GL11_glRotatef($var11, $var8_0, $var12, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = nms_World_getCelestialAngle($this.$worldObj1, $var1) * 360.0;
            $var8_0 = 1.0;
            $var12 = 0.0;
            $var13 = 0.0;
            $ptr = 19;
        case 19:
            olo_GL11_glRotatef($var11, $var8_0, $var12, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 3553;
            $var2 = $this.$renderEngine2;
            var$17 = $rt_s(1690);
            $ptr = 20;
        case 20:
            $tmp = nms_RenderEngine_getTexture($var2, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $ptr = 21;
        case 21:
            olo_GL11_glBindTexture($var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 22;
        case 22:
            nms_Tessellator_startDrawingQuads($var14);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = (-30.0);
            var$19 = 100.0;
            var$20 = 0.0;
            var$21 = 0.0;
            $ptr = 23;
        case 23:
            nms_Tessellator_addVertexWithUV($var14, var$18, var$19, var$18, var$20, var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = 30.0;
            var$21 = 100.0;
            var$19 = 1.0;
            var$22 = 0.0;
            $ptr = 24;
        case 24:
            nms_Tessellator_addVertexWithUV($var14, var$20, var$21, var$18, var$19, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$21 = 100.0;
            var$19 = 1.0;
            var$22 = 1.0;
            $ptr = 25;
        case 25:
            nms_Tessellator_addVertexWithUV($var14, var$20, var$21, var$20, var$19, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$21 = 100.0;
            var$19 = 0.0;
            var$22 = 1.0;
            $ptr = 26;
        case 26:
            nms_Tessellator_addVertexWithUV($var14, var$18, var$21, var$20, var$19, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 27;
        case 27:
            nms_Tessellator_draw($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 3553;
            $var2 = $this.$renderEngine2;
            var$17 = $rt_s(1691);
            $ptr = 28;
        case 28:
            $tmp = nms_RenderEngine_getTexture($var2, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $ptr = 29;
        case 29:
            olo_GL11_glBindTexture($var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 30;
        case 30:
            nms_Tessellator_startDrawingQuads($var14);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = (-20.0);
            var$20 = (-100.0);
            var$22 = 20.0;
            var$21 = 1.0;
            var$18 = 1.0;
            $ptr = 31;
        case 31:
            nms_Tessellator_addVertexWithUV($var14, var$19, var$20, var$22, var$21, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$21 = (-100.0);
            var$18 = 0.0;
            var$20 = 1.0;
            $ptr = 32;
        case 32:
            nms_Tessellator_addVertexWithUV($var14, var$22, var$21, var$22, var$18, var$20);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = (-100.0);
            var$21 = 0.0;
            var$18 = 0.0;
            $ptr = 33;
        case 33:
            nms_Tessellator_addVertexWithUV($var14, var$22, var$20, var$19, var$21, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = (-100.0);
            var$21 = 1.0;
            var$18 = 0.0;
            $ptr = 34;
        case 34:
            nms_Tessellator_addVertexWithUV($var14, var$19, var$20, var$19, var$21, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 35;
        case 35:
            nms_Tessellator_draw($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 3553;
            $ptr = 36;
        case 36:
            olo_GL11_glDisable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = nms_World_getStarBrightness($this.$worldObj1, $var1);
            if ($var11 > 0.0) {
                $ptr = 51;
                continue main;
            }
            $var1 = 1.0;
            $var11 = 1.0;
            $var8_0 = 1.0;
            $var12 = 1.0;
            $ptr = 41;
            continue main;
        case 37:
            olo_GL11_glDisable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 38;
        case 38:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 39;
        case 39:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var11 = 90.0;
            $var8_0 = 1.0;
            $var12 = 0.0;
            $var13 = 0.0;
            $ptr = 40;
        case 40:
            olo_GL11_glRotatef($var11, $var8_0, $var12, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = nms_World_getCelestialAngle($this.$worldObj1, $var1) <= 0.5 ? 0.0 : 180.0;
            $var15 = $var15.data;
            $var8_0 = 0.0;
            $var12 = 0.0;
            $var13 = 1.0;
            $ptr = 53;
            continue main;
        case 41:
            nleo_GlStateManager_color($var1, $var11, $var8_0, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 3042;
            $ptr = 42;
        case 42:
            olo_GL11_glDisable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 3008;
            $ptr = 43;
        case 43:
            olo_GL11_glEnable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 2912;
            $ptr = 44;
        case 44:
            olo_GL11_glEnable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 45;
        case 45:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var6 * 0.20000000298023224 + 0.03999999910593033;
            $var11 = $var7 * 0.20000000298023224 + 0.03999999910593033;
            $var6 = $var8 * 0.6000000238418579 + 0.10000000149011612;
            $ptr = 46;
        case 46:
            olo_GL11_glColor3f($var1, $var11, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 3553;
            $ptr = 47;
        case 47:
            olo_GL11_glDisable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $this.$field_1432_A;
            $ptr = 48;
        case 48:
            nleo_EaglercraftGPU_glCallList($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 3553;
            $ptr = 49;
        case 49:
            olo_GL11_glEnable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 1;
            $ptr = 50;
        case 50:
            olo_GL11_glDepthMask($var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 51:
            nleo_GlStateManager_color($var11, $var11, $var11, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $this.$starGLCallList;
            $ptr = 52;
        case 52:
            nleo_EaglercraftGPU_glCallList($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 1.0;
            $var11 = 1.0;
            $var8_0 = 1.0;
            $var12 = 1.0;
            $ptr = 41;
            continue main;
        case 53:
            olo_GL11_glRotatef($var11, $var8_0, $var12, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 6;
            $ptr = 54;
        case 54:
            nms_Tessellator_startDrawing($var14, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $var15[0];
            $var8_0 = $var15[1];
            $var12 = $var15[2];
            $var13 = $var15[3];
            $ptr = 55;
        case 55:
            nms_Tessellator_setColorRGBA_F($var14, $var11, $var8_0, $var12, $var13);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = 0.0;
            var$21 = 100.0;
            var$18 = 0.0;
            $ptr = 56;
        case 56:
            nms_Tessellator_addVertex($var14, var$20, var$21, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 16;
            $var11 = $var15[0];
            $var8_0 = $var15[1];
            $var12 = $var15[2];
            $var13 = 0.0;
            $ptr = 57;
        case 57:
            nms_Tessellator_setColorRGBA_F($var14, $var11, $var8_0, $var12, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 0;
            if ($var10 > $var9) {
                $ptr = 58;
                continue main;
            }
            $var11 = $var10 * 3.1415927410125732 * 2.0 / 16.0;
            $var12 = nms_MathHelper_sin($var11);
            $var13 = nms_MathHelper_cos($var11);
            var$20 = $var12 * 120.0;
            var$21 = $var13 * 120.0;
            var$18 =  -$var13 * 40.0 * $var15[3];
            $ptr = 60;
            continue main;
        case 58:
            nms_Tessellator_draw($var14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 59;
        case 59:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 3553;
            $ptr = 13;
            continue main;
        case 60:
            nms_Tessellator_addVertex($var14, var$20, var$21, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $var10 + 1 | 0;
            if ($var10 > $var9) {
                $ptr = 58;
                continue main;
            }
            $var11 = $var10 * 3.1415927410125732 * 2.0 / 16.0;
            $var12 = nms_MathHelper_sin($var11);
            $var13 = nms_MathHelper_cos($var11);
            var$20 = $var12 * 120.0;
            var$21 = $var13 * 120.0;
            var$18 =  -$var13 * 40.0 * $var15[3];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var9, $var2, $var14, $var6, $var7, $var8, $var11, $var10, $var15, $var7_0, $var8_0, $var16, $var12, $var13, var$16, var$17, var$18, var$19, var$20, var$21, var$22, $ptr);
    }
    function nms_RenderGlobal_renderClouds($this, $var1) {
        var $var5, $var3, $var22, $var13, var$6, $var2, $var15, $var6, var$10, $var16, $var10, $var11, $var12, $var18, $var10_0, $var17, $var19, var$19, $var20, $var21, var$22, $var21_0, var$24, var$25, var$26, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$26 = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();$var21_0 = $thread.pop();var$22 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();var$19 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var10_0 = $thread.pop();$var18 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var16 = $thread.pop();var$10 = $thread.pop();$var6 = $thread.pop();$var15 = $thread.pop();$var2 = $thread.pop();var$6 = $thread.pop();$var13
            = $thread.pop();$var22 = $thread.pop();$var3 = $thread.pop();$var5 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = $this.$mc4;
            if ($var5.$theWorld.$worldProvider.$field_4220_c)
                return;
            if ($var5.$gameSettings.$fancyGraphics) {
                $ptr = 7;
                continue main;
            }
            $var3 = 2884;
            $ptr = 1;
        case 1:
            olo_GL11_glDisable($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$mc4.$renderViewEntity;
            $var22 = $var5.$lastTickPosY;
            $var13 = $var5.$posY - $var22;
            var$6 = $var1;
            $var2 = $var22 + $var13 * var$6;
            $var3 = 32;
            $ptr = 2;
        case 2:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = nms_Tessellator_instance;
            $var15 = 3553;
            $var6 = $this.$renderEngine2;
            var$10 = $rt_s(1692);
            $ptr = 3;
        case 3:
            $tmp = nms_RenderEngine_getTexture($var6, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            $ptr = 4;
        case 4:
            olo_GL11_glBindTexture($var15, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = 3042;
            $ptr = 5;
        case 5:
            olo_GL11_glEnable($var15);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = 770;
            $var16 = 771;
            $ptr = 6;
        case 6:
            olo_GL11_glBlendFunc($var15, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = nms_World_func_628_d($this.$worldObj1, $var1);
            $var10 = $var6.$xCoord;
            $var11 = $var6.$yCoord;
            $var12 = $var6.$zCoord;
            $var6 = $this.$mc4;
            if ($var6.$gameSettings.$anaglyph) {
                $var18 = $var10 * 30.0;
                $var10 = ($var18 + $var11 * 59.0 + $var12 * 11.0) / 100.0;
                $var11 = ($var18 + $var11 * 70.0) / 100.0;
                $var12 = ($var18 + $var12 * 70.0) / 100.0;
            }
            $var10_0 = 4.8828125E-4;
            $var6 = $var6.$renderViewEntity;
            $var13 = $var6.$prevPosX;
            $var22 = $var13 + ($var6.$posX - $var13) * var$6 + ($this.$cloudOffsetX + $var1) * 0.029999999329447746;
            $var13 = $var6.$prevPosZ;
            $var13 = $var13 + ($var6.$posZ - $var13) * var$6;
            $var15 = nms_MathHelper_floor_double($var22 / 2048.0);
            $var16 = nms_MathHelper_floor_double($var13 / 2048.0);
            $var22 = $var22 - ($var15 * 2048 | 0);
            $var13 = $var13 - ($var16 * 2048 | 0);
            $var17 = 120.0 - $var2 + 0.33000001311302185;
            $var18 = $var22 * 4.8828125E-4;
            $var19 = $var13 * 4.8828125E-4;
            $ptr = 8;
            continue main;
        case 7:
            nms_RenderGlobal_renderCloudsFancy($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            nms_Tessellator_startDrawingQuads($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0.800000011920929;
            $ptr = 9;
        case 9:
            nms_Tessellator_setColorRGBA_F($var5, $var10, $var11, $var12, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = (-256);
            var$19 = $var17;
            $var20 = $var15;
            while (true) {
                $var16 = 256;
                if ($var20 >= $var16)
                    break;
                $var21 = $var15;
                if ($var21 < $var16) {
                    var$22 = $var20;
                    $var21_0 = $var21 + $var3 | 0;
                    $var13 = $var21_0;
                    var$24 = $var20 * $var10_0 + $var18;
                    var$6 = $var21_0 * $var10_0 + $var19;
                    $ptr = 14;
                    continue main;
                }
                $var20 = $var20 + $var3 | 0;
            }
            $ptr = 10;
        case 10:
            nms_Tessellator_draw($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 1.0;
            $var2 = 1.0;
            $var18 = 1.0;
            $var10 = 1.0;
            $ptr = 11;
        case 11:
            nleo_GlStateManager_color($var1, $var2, $var18, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 3042;
            $ptr = 12;
        case 12:
            olo_GL11_glDisable($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 2884;
            $ptr = 13;
        case 13:
            olo_GL11_glEnable($var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 14:
            nms_Tessellator_addVertexWithUV($var5, var$22, var$19, $var13, var$24, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$25 = $var20 + $var3 | 0;
            var$26 = var$25;
            $var22 = var$25 * $var10_0 + $var18;
            $ptr = 15;
        case 15:
            nms_Tessellator_addVertexWithUV($var5, var$26, var$19, $var13, $var22, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = $var21;
            var$6 = $var21 * $var10_0 + $var19;
            $ptr = 16;
        case 16:
            nms_Tessellator_addVertexWithUV($var5, var$26, var$19, $var13, $var22, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            nms_Tessellator_addVertexWithUV($var5, var$22, var$19, $var13, var$24, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = $var21_0;
            while (true) {
                if ($var21 < $var16) {
                    var$22 = $var20;
                    $var21_0 = $var21 + $var3 | 0;
                    $var13 = $var21_0;
                    var$24 = $var20 * $var10_0 + $var18;
                    var$6 = $var21_0 * $var10_0 + $var19;
                    $ptr = 14;
                    continue main;
                }
                $var20 = $var20 + $var3 | 0;
                $var16 = 256;
                if ($var20 >= $var16)
                    break;
                $var21 = $var15;
            }
            $ptr = 10;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var5, $var3, $var22, $var13, var$6, $var2, $var15, $var6, var$10, $var16, $var10, $var11, $var12, $var18, $var10_0, $var17, $var19, var$19, $var20, $var21, var$22, $var21_0, var$24, var$25, var$26, $ptr);
    }
    function nms_RenderGlobal_renderCloudsFancy($this, $var1) {
        var $var11, $var13, $var6, $var8, var$6, $var2, $var3, $var4, var$10, $var10, $var12, var$13, $var17, $var18, $var19, $var19_0, var$18, var$19, $var20, $var21, $var22, $var23, $var24, $var25, var$26, var$27, var$28, var$29, var$30, $var32, $var26, $var27, $var28, $var29, $var30, $var31, var$38, var$39, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$39 = $thread.pop();var$38 = $thread.pop();$var31 = $thread.pop();$var30 = $thread.pop();$var29 = $thread.pop();$var28 = $thread.pop();$var27 = $thread.pop();$var26 = $thread.pop();$var32 = $thread.pop();var$30 = $thread.pop();var$29 = $thread.pop();var$28 = $thread.pop();var$27 = $thread.pop();var$26 = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();var$19 = $thread.pop();var$18
            = $thread.pop();$var19_0 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();var$13 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();var$10 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();var$6 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var11 = 2884;
            $ptr = 1;
        case 1:
            olo_GL11_glDisable($var11);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = $this.$mc4.$renderViewEntity;
            $var6 = $var13.$lastTickPosY;
            $var8 = $var13.$posY - $var6;
            var$6 = $var1;
            $var2 = $var6 + $var8 * var$6;
            $ptr = 2;
        case 2:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_Tessellator_instance;
            $var4 = 12.0;
            $var6 = $var13.$prevPosX;
            $var6 = ($var6 + ($var13.$posX - $var6) * var$6 + ($this.$cloudOffsetX + $var1) * 0.029999999329447746) / 12.0;
            var$10 = $var13.$prevPosZ;
            $var8 = (var$10 + ($var13.$posZ - var$10) * var$6) / 12.0 + 0.33000001311302185;
            $var10 = 108.0 - $var2 + 0.33000001311302185;
            $var11 = nms_MathHelper_floor_double($var6 / 2048.0);
            $var12 = nms_MathHelper_floor_double($var8 / 2048.0);
            $var6 = $var6 - ($var11 * 2048 | 0);
            var$6 = $var8 - ($var12 * 2048 | 0);
            $var11 = 3553;
            $var13 = $this.$renderEngine2;
            var$13 = $rt_s(1692);
            $ptr = 3;
        case 3:
            $tmp = nms_RenderEngine_getTexture($var13, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            $ptr = 4;
        case 4:
            olo_GL11_glBindTexture($var11, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = 3042;
            $ptr = 5;
        case 5:
            olo_GL11_glEnable($var11);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = 770;
            $var12 = 771;
            $ptr = 6;
        case 6:
            olo_GL11_glBlendFunc($var11, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = nms_World_func_628_d($this.$worldObj1, $var1);
            $var17 = $var13.$xCoord;
            $var18 = $var13.$yCoord;
            $var19 = $var13.$zCoord;
            if ($this.$mc4.$gameSettings.$anaglyph) {
                $var1 = $var17 * 30.0;
                $var17 = ($var1 + $var18 * 59.0 + $var19 * 11.0) / 100.0;
                $var18 = ($var1 + $var18 * 70.0) / 100.0;
                $var19 = ($var1 + $var19 * 70.0) / 100.0;
            }
            $var19_0 = 0.00390625;
            var$18 = nms_MathHelper_floor_double($var6) * $var19_0;
            var$19 = nms_MathHelper_floor_double(var$6) * $var19_0;
            $var20 = $var6 - nms_MathHelper_floor_double($var6);
            $var21 = var$6 - nms_MathHelper_floor_double(var$6);
            $var22 = 8;
            $var23 = 3;
            $var24 = 9.765625E-4;
            $var1 = 1.0;
            $ptr = 7;
        case 7:
            olo_GL11_glScalef($var4, $var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var25 = 0;
            $var12 = (-2);
            var$26 = $rt_compare($var10, (-5.0));
            var$27 = $var10 + 0.0;
            var$28 = $rt_compare($var10, 5.0);
            $var1 = $var10 + 4.0;
            var$29 = $var1 - 9.765625E-4;
            var$30 = $var1;
            if ($var25 >= 2) {
                $var1 = 1.0;
                $var2 = 1.0;
                $var4 = 1.0;
                $var10 = 1.0;
                $ptr = 8;
                continue main;
            }
            if ($var25) {
                $var11 = 1;
                $var32 = 1;
                $var26 = 1;
                $var27 = 1;
                $ptr = 11;
                continue main;
            }
            $var11 = 0;
            $var32 = 0;
            $var26 = 0;
            $var27 = 0;
            $ptr = 12;
            continue main;
        case 8:
            olo_GL11_glColor4f($var1, $var2, $var4, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = 3042;
            $ptr = 9;
        case 9:
            olo_GL11_glDisable($var11);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = 2884;
            $ptr = 10;
        case 10:
            olo_GL11_glEnable($var11);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 11:
            olo_GL11_glColorMask($var11, $var32, $var26, $var27);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $var12;
            while (true) {
                if ($var26 > $var23) {
                    $var25 = $var25 + 1 | 0;
                    if ($var25 >= 2) {
                        $var1 = 1.0;
                        $var2 = 1.0;
                        $var4 = 1.0;
                        $var10 = 1.0;
                        $ptr = 8;
                        continue main;
                    }
                    if ($var25) {
                        $var11 = 1;
                        $var32 = 1;
                        $var26 = 1;
                        $var27 = 1;
                        continue main;
                    }
                    $var11 = 0;
                    $var32 = 0;
                    $var26 = 0;
                    $var27 = 0;
                    $ptr = 12;
                    continue main;
                }
                $var27 = $var12;
                if ($var27 <= $var23)
                    break;
                $var26 = $var26 + 1 | 0;
            }
            $ptr = 13;
            continue main;
        case 12:
            olo_GL11_glColorMask($var11, $var32, $var26, $var27);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $var12;
            while (true) {
                if ($var26 > $var23) {
                    $var25 = $var25 + 1 | 0;
                    if ($var25 >= 2) {
                        $var1 = 1.0;
                        $var2 = 1.0;
                        $var4 = 1.0;
                        $var10 = 1.0;
                        $ptr = 8;
                        continue main;
                    }
                    if ($var25) {
                        $var11 = 1;
                        $var32 = 1;
                        $var26 = 1;
                        $var27 = 1;
                        $ptr = 11;
                        continue main;
                    }
                    $var11 = 0;
                    $var32 = 0;
                    $var26 = 0;
                    $var27 = 0;
                    continue main;
                }
                $var27 = $var12;
                if ($var27 <= $var23)
                    break;
                $var26 = $var26 + 1 | 0;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $rt_imul($var26, $var22);
            $var29 = $rt_imul($var27, $var22);
            $var30 = $var28 - $var20;
            $var31 = $var29 - $var21;
            if (var$26 > 0) {
                $var1 = $var17 * 0.699999988079071;
                $var2 = $var18 * 0.699999988079071;
                $var4 = $var19 * 0.699999988079071;
                $var10 = 0.800000011920929;
                $ptr = 14;
                continue main;
            }
            if (var$28 <= 0) {
                $var1 = 0.800000011920929;
                $ptr = 21;
                continue main;
            }
            $var1 = $var17 * 0.8999999761581421;
            $var2 = $var18 * 0.8999999761581421;
            $var4 = $var19 * 0.8999999761581421;
            $var10 = 0.800000011920929;
            $ptr = 20;
            continue main;
        case 14:
            nms_Tessellator_setColorRGBA_F($var3, $var1, $var2, $var4, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0.0;
            $var2 = (-1.0);
            $var4 = 0.0;
            $ptr = 15;
        case 15:
            nms_Tessellator_setNormal($var3, $var1, $var2, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var30 + 0.0;
            $var1 = 8.0;
            $var8 = $var31 + $var1;
            var$6 = ($var28 + 0.0) * $var19_0 + var$18;
            var$10 = ($var29 + $var1) * $var19_0 + var$19;
            $ptr = 16;
        case 16:
            nms_Tessellator_addVertexWithUV($var3, $var6, var$27, $var8, var$6, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$38 = $var30 + $var1;
            var$39 = ($var28 + $var1) * $var19_0 + var$18;
            $ptr = 17;
        case 17:
            nms_Tessellator_addVertexWithUV($var3, var$38, var$27, $var8, var$39, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var31 + 0.0;
            var$10 = ($var29 + 0.0) * $var19_0 + var$19;
            $ptr = 18;
        case 18:
            nms_Tessellator_addVertexWithUV($var3, var$38, var$27, $var8, var$39, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 19;
        case 19:
            nms_Tessellator_addVertexWithUV($var3, $var6, var$27, $var8, var$6, var$10);
            if ($rt_suspending()) {
                break main;
            }
            if (var$28 <= 0) {
                $var1 = 0.800000011920929;
                $ptr = 21;
                continue main;
            }
            $var1 = $var17 * 0.8999999761581421;
            $var2 = $var18 * 0.8999999761581421;
            $var4 = $var19 * 0.8999999761581421;
            $var10 = 0.800000011920929;
            $ptr = 20;
        case 20:
            nms_Tessellator_setColorRGBA_F($var3, $var1, $var2, $var4, $var10);
            if ($rt_suspending()) {
                break main;
            }
            if ($var26 > (-1)) {
                $var1 = (-1.0);
                $var2 = 0.0;
                $var4 = 0.0;
                $ptr = 27;
                continue main;
            }
            if ($var26 <= 1) {
                $var1 = 1.0;
                $var2 = 0.0;
                $var4 = 0.0;
                $ptr = 29;
                continue main;
            }
            $var1 = $var17 * 0.800000011920929;
            $var2 = $var18 * 0.800000011920929;
            $var4 = $var19 * 0.800000011920929;
            $var10 = 0.800000011920929;
            $ptr = 28;
            continue main;
        case 21:
            nms_Tessellator_setColorRGBA_F($var3, $var17, $var18, $var19, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 0.0;
            $var1 = 1.0;
            $var2 = 0.0;
            $ptr = 22;
        case 22:
            nms_Tessellator_setNormal($var3, $var4, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$38 = $var30 + 0.0;
            $var1 = 8.0;
            var$6 = $var31 + $var1;
            var$39 = ($var28 + 0.0) * $var19_0 + var$18;
            var$10 = ($var29 + $var1) * $var19_0 + var$19;
            $ptr = 23;
        case 23:
            nms_Tessellator_addVertexWithUV($var3, var$38, var$29, var$6, var$39, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var30 + $var1;
            $var8 = ($var28 + $var1) * $var19_0 + var$18;
            $ptr = 24;
        case 24:
            nms_Tessellator_addVertexWithUV($var3, $var6, var$29, var$6, $var8, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $var31 + 0.0;
            var$10 = ($var29 + 0.0) * $var19_0 + var$19;
            $ptr = 25;
        case 25:
            nms_Tessellator_addVertexWithUV($var3, $var6, var$29, var$6, $var8, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 26;
        case 26:
            nms_Tessellator_addVertexWithUV($var3, var$38, var$29, var$6, var$39, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var17 * 0.8999999761581421;
            $var2 = $var18 * 0.8999999761581421;
            $var4 = $var19 * 0.8999999761581421;
            $var10 = 0.800000011920929;
            $ptr = 20;
            continue main;
        case 27:
            nms_Tessellator_setNormal($var3, $var1, $var2, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var32 = 0;
            var$38 = $var31 + 8.0;
            $var6 = ($var29 + 8.0) * 0.00390625 + var$19;
            $var8 = $var31 + 0.0;
            var$6 = ($var29 + 0.0) * 0.00390625 + var$19;
            if ($var32 < $var22) {
                $var1 = $var32;
                var$10 = $var30 + $var1 + 0.0;
                var$39 = ($var28 + $var1 + 0.5) * $var19_0 + var$18;
                $ptr = 31;
                continue main;
            }
            if ($var26 <= 1) {
                $var1 = 1.0;
                $var2 = 0.0;
                $var4 = 0.0;
                $ptr = 29;
                continue main;
            }
            $var1 = $var17 * 0.800000011920929;
            $var2 = $var18 * 0.800000011920929;
            $var4 = $var19 * 0.800000011920929;
            $var10 = 0.800000011920929;
            $ptr = 28;
        case 28:
            nms_Tessellator_setColorRGBA_F($var3, $var1, $var2, $var4, $var10);
            if ($rt_suspending()) {
                break main;
            }
            if ($var27 > (-1)) {
                $var4 = 0.0;
                $var1 = 0.0;
                $var2 = (-1.0);
                $ptr = 30;
                continue main;
            }
            if ($var27 > 1) {
                $ptr = 35;
                continue main;
            }
            $var1 = 0.0;
            $var2 = 0.0;
            $var4 = 1.0;
            $ptr = 36;
            continue main;
        case 29:
            nms_Tessellator_setNormal($var3, $var1, $var2, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var32 = 0;
            var$38 = $var31 + 8.0;
            $var6 = ($var29 + 8.0) * 0.00390625 + var$19;
            $var8 = $var31 + 0.0;
            var$6 = ($var29 + 0.0) * 0.00390625 + var$19;
            if ($var32 >= $var22) {
                $var1 = $var17 * 0.800000011920929;
                $var2 = $var18 * 0.800000011920929;
                $var4 = $var19 * 0.800000011920929;
                $var10 = 0.800000011920929;
                $ptr = 28;
                continue main;
            }
            $var1 = $var32;
            var$10 = $var30 + $var1 + 1.0 - $var24;
            var$39 = ($var28 + $var1 + 0.5) * $var19_0 + var$18;
            $ptr = 37;
            continue main;
        case 30:
            nms_Tessellator_setNormal($var3, $var4, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var32 = 0;
            var$39 = $var30 + 0.0;
            $var8 = ($var28 + 0.0) * 0.00390625 + var$18;
            var$10 = $var30 + 8.0;
            var$38 = ($var28 + 8.0) * 0.00390625 + var$18;
            if ($var32 >= $var22) {
                if ($var27 > 1) {
                    $ptr = 35;
                    continue main;
                }
                $var1 = 0.0;
                $var2 = 0.0;
                $var4 = 1.0;
                $ptr = 36;
                continue main;
            }
            $var2 = $var32;
            $var6 = $var31 + $var2 + 0.0;
            var$6 = ($var29 + $var2 + 0.5) * $var19_0 + var$19;
            $ptr = 41;
            continue main;
        case 31:
            nms_Tessellator_addVertexWithUV($var3, var$10, var$27, var$38, var$39, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 32;
        case 32:
            nms_Tessellator_addVertexWithUV($var3, var$10, var$30, var$38, var$39, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 33;
        case 33:
            nms_Tessellator_addVertexWithUV($var3, var$10, var$30, $var8, var$39, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 34;
        case 34:
            nms_Tessellator_addVertexWithUV($var3, var$10, var$27, $var8, var$39, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var32 = $var32 + 1 | 0;
            if ($var32 < $var22) {
                $var1 = $var32;
                var$10 = $var30 + $var1 + 0.0;
                var$39 = ($var28 + $var1 + 0.5) * $var19_0 + var$18;
                $ptr = 31;
                continue main;
            }
            if ($var26 <= 1) {
                $var1 = 1.0;
                $var2 = 0.0;
                $var4 = 0.0;
                $ptr = 29;
                continue main;
            }
            $var1 = $var17 * 0.800000011920929;
            $var2 = $var18 * 0.800000011920929;
            $var4 = $var19 * 0.800000011920929;
            $var10 = 0.800000011920929;
            $ptr = 28;
            continue main;
        case 35:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = $var27 + 1 | 0;
            while ($var27 > $var23) {
                $var26 = $var26 + 1 | 0;
                if ($var26 > $var23) {
                    $var25 = $var25 + 1 | 0;
                    if ($var25 >= 2) {
                        $var1 = 1.0;
                        $var2 = 1.0;
                        $var4 = 1.0;
                        $var10 = 1.0;
                        $ptr = 8;
                        continue main;
                    }
                    if ($var25) {
                        $var11 = 1;
                        $var32 = 1;
                        $var26 = 1;
                        $var27 = 1;
                        $ptr = 11;
                        continue main;
                    }
                    $var11 = 0;
                    $var32 = 0;
                    $var26 = 0;
                    $var27 = 0;
                    $ptr = 12;
                    continue main;
                }
                $var27 = $var12;
            }
            $ptr = 13;
            continue main;
        case 36:
            nms_Tessellator_setNormal($var3, $var1, $var2, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var32 = 0;
            $var6 = $var30 + 0.0;
            var$6 = ($var28 + 0.0) * 0.00390625 + var$18;
            var$38 = $var30 + 8.0;
            var$39 = ($var28 + 8.0) * 0.00390625 + var$18;
            if ($var32 >= $var22) {
                $ptr = 35;
                continue main;
            }
            $var1 = $var32;
            $var8 = $var31 + $var1 + 1.0 - $var24;
            var$10 = ($var29 + $var1 + 0.5) * $var19_0 + var$19;
            $ptr = 45;
            continue main;
        case 37:
            nms_Tessellator_addVertexWithUV($var3, var$10, var$27, var$38, var$39, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 38;
        case 38:
            nms_Tessellator_addVertexWithUV($var3, var$10, var$30, var$38, var$39, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 39;
        case 39:
            nms_Tessellator_addVertexWithUV($var3, var$10, var$30, $var8, var$39, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 40;
        case 40:
            nms_Tessellator_addVertexWithUV($var3, var$10, var$27, $var8, var$39, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var32 = $var32 + 1 | 0;
            if ($var32 >= $var22) {
                $var1 = $var17 * 0.800000011920929;
                $var2 = $var18 * 0.800000011920929;
                $var4 = $var19 * 0.800000011920929;
                $var10 = 0.800000011920929;
                $ptr = 28;
                continue main;
            }
            $var1 = $var32;
            var$10 = $var30 + $var1 + 1.0 - $var24;
            var$39 = ($var28 + $var1 + 0.5) * $var19_0 + var$18;
            $ptr = 37;
            continue main;
        case 41:
            nms_Tessellator_addVertexWithUV($var3, var$39, var$30, $var6, $var8, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 42;
        case 42:
            nms_Tessellator_addVertexWithUV($var3, var$10, var$30, $var6, var$38, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 43;
        case 43:
            nms_Tessellator_addVertexWithUV($var3, var$10, var$27, $var6, var$38, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 44;
        case 44:
            nms_Tessellator_addVertexWithUV($var3, var$39, var$27, $var6, $var8, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var32 = $var32 + 1 | 0;
            if ($var32 >= $var22) {
                if ($var27 > 1) {
                    $ptr = 35;
                    continue main;
                }
                $var1 = 0.0;
                $var2 = 0.0;
                $var4 = 1.0;
                $ptr = 36;
                continue main;
            }
            $var2 = $var32;
            $var6 = $var31 + $var2 + 0.0;
            var$6 = ($var29 + $var2 + 0.5) * $var19_0 + var$19;
            $ptr = 41;
            continue main;
        case 45:
            nms_Tessellator_addVertexWithUV($var3, $var6, var$30, $var8, var$6, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 46;
        case 46:
            nms_Tessellator_addVertexWithUV($var3, var$38, var$30, $var8, var$39, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 47;
        case 47:
            nms_Tessellator_addVertexWithUV($var3, var$38, var$27, $var8, var$39, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 48;
        case 48:
            nms_Tessellator_addVertexWithUV($var3, $var6, var$27, $var8, var$6, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var32 = $var32 + 1 | 0;
            if ($var32 >= $var22) {
                $ptr = 35;
                continue main;
            }
            $var1 = $var32;
            $var8 = $var31 + $var1 + 1.0 - $var24;
            var$10 = ($var29 + $var1 + 0.5) * $var19_0 + var$19;
            $ptr = 45;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var11, $var13, $var6, $var8, var$6, $var2, $var3, $var4, var$10, $var10, $var12, var$13, $var17, $var18, $var19, $var19_0, var$18, var$19, $var20, $var21, $var22, $var23, $var24, $var25, var$26, var$27, var$28, var$29, var$30, $var32, $var26, $var27, $var28, $var29, $var30, $var31, var$38, var$39, $ptr);
    }
    function nms_RenderGlobal_updateRenderers($this, $var1, $var2) {
        var $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var18, $var19, $var12, $var11_0, $var12_0, $var13, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();$var13 = $thread.pop();$var12_0 = $thread.pop();$var11_0 = $thread.pop();$var12 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = nms_RenderSorter__init_0($var1);
            $var5 = $rt_createArray(nms_WorldRenderer, 3).data;
            $var6 = null;
            $var7 = $this.$worldRenderersToUpdate.$size0;
            $var8 = 0;
            $var9 = 0;
            while (true) {
                if ($var9 >= $var7) {
                    if ($var6 !== null) {
                        if ($var6.$size0 > 1) {
                            $ptr = 2;
                            continue main;
                        }
                        $var2 = $var6.$size0 - 1 | 0;
                        if ($var2 >= 0) {
                            $var10 = ju_ArrayList_get($var6, $var2);
                            $ptr = 3;
                            continue main;
                        }
                    }
                    $var11 = 0;
                    $var18 = 2;
                    a: {
                        b: {
                            while (true) {
                                if ($var18 < 0)
                                    break b;
                                $var19 = $var5[$var18];
                                if ($var19 !== null)
                                    break;
                                $var18 = $var18 + (-1) | 0;
                            }
                            if ($var19.$isInFrustum)
                                break a;
                            if ($var18 == 2)
                                break a;
                            $var5[$var18] = null;
                            $var5[0] = null;
                        }
                        $var12 = 0;
                        $var11_0 = 0;
                        $var12_0 = $this.$worldRenderersToUpdate.$size0;
                        while ($var12 != $var12_0) {
                            $var13 = ju_ArrayList_get($this.$worldRenderersToUpdate, $var12);
                            if ($var13 !== null && $var13 !== $var5[0] && $var13 !== $var5[1] && $var13 !== $var5[2]) {
                                if ($var11_0 != $var12)
                                    ju_ArrayList_set($this.$worldRenderersToUpdate, $var11_0, $var13);
                                $var11_0 = $var11_0 + 1 | 0;
                            }
                            $var12 = $var12 + 1 | 0;
                        }
                        while (true) {
                            $var12 = $var12 + (-1) | 0;
                            if ($var12 < $var11_0)
                                break;
                            ju_ArrayList_remove($this.$worldRenderersToUpdate, $var12);
                        }
                        return $var7 != ($var8 + $var11 | 0) ? 0 : 1;
                    }
                    $var1 = $var5[$var18];
                    $ptr = 5;
                    continue main;
                }
                $var10 = ju_ArrayList_get($this.$worldRenderersToUpdate, $var9);
                if (!$var2)
                    break;
                if ($var10.$isInFrustum) {
                    if ($var6 === null)
                        $var6 = ju_ArrayList__init_0();
                    $var8 = $var8 + 1 | 0;
                    $ptr = 4;
                    continue main;
                }
                $var9 = $var9 + 1 | 0;
            }
            $ptr = 1;
        case 1:
            c: {
                $tmp = nms_WorldRenderer_distanceToEntitySquared($var10, $var1);
                if ($rt_suspending()) {
                    break main;
                }
                var$17 = $tmp;
                if (var$17 > 1024.0) {
                    $var11 = 0;
                    while (true) {
                        if ($var11 >= 3) {
                            $var11 = $var11 + (-1) | 0;
                            if ($var11 > 0) {
                                $var12 = $var11;
                                while (true) {
                                    $var12 = $var12 + (-1) | 0;
                                    if (!$var12)
                                        break;
                                    $var5[$var12 - 1 | 0] = $var5[$var12];
                                }
                                $var5[$var11] = $var10;
                            }
                            while (true) {
                                $var9 = $var9 + 1 | 0;
                                if ($var9 >= $var7) {
                                    if ($var6 !== null) {
                                        if ($var6.$size0 > 1) {
                                            $ptr = 2;
                                            continue main;
                                        }
                                        $var2 = $var6.$size0 - 1 | 0;
                                        if ($var2 >= 0) {
                                            $var10 = ju_ArrayList_get($var6, $var2);
                                            $ptr = 3;
                                            continue main;
                                        }
                                    }
                                    $var11 = 0;
                                    $var18 = 2;
                                    d: {
                                        e: {
                                            while (true) {
                                                if ($var18 < 0)
                                                    break e;
                                                $var19 = $var5[$var18];
                                                if ($var19 !== null)
                                                    break;
                                                $var18 = $var18 + (-1) | 0;
                                            }
                                            if ($var19.$isInFrustum)
                                                break d;
                                            if ($var18 == 2)
                                                break d;
                                            $var5[$var18] = null;
                                            $var5[0] = null;
                                        }
                                        $var12 = 0;
                                        $var11_0 = 0;
                                        $var12_0 = $this.$worldRenderersToUpdate.$size0;
                                        while ($var12 != $var12_0) {
                                            $var13 = ju_ArrayList_get($this.$worldRenderersToUpdate, $var12);
                                            if ($var13 !== null && $var13 !== $var5[0] && $var13 !== $var5[1] && $var13 !== $var5[2]) {
                                                if ($var11_0 != $var12)
                                                    ju_ArrayList_set($this.$worldRenderersToUpdate, $var11_0, $var13);
                                                $var11_0 = $var11_0 + 1 | 0;
                                            }
                                            $var12 = $var12 + 1 | 0;
                                        }
                                        while (true) {
                                            $var12 = $var12 + (-1) | 0;
                                            if ($var12 < $var11_0)
                                                break;
                                            ju_ArrayList_remove($this.$worldRenderersToUpdate, $var12);
                                        }
                                        return $var7 != ($var8 + $var11 | 0) ? 0 : 1;
                                    }
                                    $var1 = $var5[$var18];
                                    $ptr = 5;
                                    continue main;
                                }
                                $var10 = ju_ArrayList_get($this.$worldRenderersToUpdate, $var9);
                                if (!$var2)
                                    break;
                                if ($var10.$isInFrustum)
                                    break c;
                            }
                            continue main;
                        }
                        if ($var5[$var11] !== null)
                            break;
                        $var11 = $var11 + 1 | 0;
                    }
                    $var19 = $var5[$var11];
                    $ptr = 6;
                    continue main;
                }
            }
            if ($var6 === null)
                $var6 = ju_ArrayList__init_0();
            $var8 = $var8 + 1 | 0;
            $ptr = 4;
            continue main;
        case 2:
            ju_Collections_sort0($var6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var6.$size0 - 1 | 0;
            if ($var2 >= 0) {
                $var10 = ju_ArrayList_get($var6, $var2);
                $ptr = 3;
                continue main;
            }
            $var11 = 0;
            $var18 = 2;
            c: {
                f: {
                    while (true) {
                        if ($var18 < 0)
                            break f;
                        $var19 = $var5[$var18];
                        if ($var19 !== null)
                            break;
                        $var18 = $var18 + (-1) | 0;
                    }
                    if ($var19.$isInFrustum)
                        break c;
                    if ($var18 == 2)
                        break c;
                    $var5[$var18] = null;
                    $var5[0] = null;
                }
                $var12 = 0;
                $var11_0 = 0;
                $var12_0 = $this.$worldRenderersToUpdate.$size0;
                while ($var12 != $var12_0) {
                    $var13 = ju_ArrayList_get($this.$worldRenderersToUpdate, $var12);
                    if ($var13 !== null && $var13 !== $var5[0] && $var13 !== $var5[1] && $var13 !== $var5[2]) {
                        if ($var11_0 != $var12)
                            ju_ArrayList_set($this.$worldRenderersToUpdate, $var11_0, $var13);
                        $var11_0 = $var11_0 + 1 | 0;
                    }
                    $var12 = $var12 + 1 | 0;
                }
                while (true) {
                    $var12 = $var12 + (-1) | 0;
                    if ($var12 < $var11_0)
                        break;
                    ju_ArrayList_remove($this.$worldRenderersToUpdate, $var12);
                }
                return $var7 != ($var8 + $var11 | 0) ? 0 : 1;
            }
            $var1 = $var5[$var18];
            $ptr = 5;
            continue main;
        case 3:
            nms_WorldRenderer_updateRenderer($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var10.$needsUpdate = 0;
            $var2 = $var2 + (-1) | 0;
            if ($var2 >= 0) {
                $var10 = ju_ArrayList_get($var6, $var2);
                continue main;
            }
            $var11 = 0;
            $var18 = 2;
            c: {
                f: {
                    while (true) {
                        if ($var18 < 0)
                            break f;
                        $var19 = $var5[$var18];
                        if ($var19 !== null)
                            break;
                        $var18 = $var18 + (-1) | 0;
                    }
                    if ($var19.$isInFrustum)
                        break c;
                    if ($var18 == 2)
                        break c;
                    $var5[$var18] = null;
                    $var5[0] = null;
                }
                $var12 = 0;
                $var11_0 = 0;
                $var12_0 = $this.$worldRenderersToUpdate.$size0;
                while ($var12 != $var12_0) {
                    $var13 = ju_ArrayList_get($this.$worldRenderersToUpdate, $var12);
                    if ($var13 !== null && $var13 !== $var5[0] && $var13 !== $var5[1] && $var13 !== $var5[2]) {
                        if ($var11_0 != $var12)
                            ju_ArrayList_set($this.$worldRenderersToUpdate, $var11_0, $var13);
                        $var11_0 = $var11_0 + 1 | 0;
                    }
                    $var12 = $var12 + 1 | 0;
                }
                while (true) {
                    $var12 = $var12 + (-1) | 0;
                    if ($var12 < $var11_0)
                        break;
                    ju_ArrayList_remove($this.$worldRenderersToUpdate, $var12);
                }
                return $var7 != ($var8 + $var11 | 0) ? 0 : 1;
            }
            $var1 = $var5[$var18];
            $ptr = 5;
            continue main;
        case 4:
            ju_ArrayList_add($var6, $var10);
            if ($rt_suspending()) {
                break main;
            }
            ju_ArrayList_set($this.$worldRenderersToUpdate, $var9, null);
            while (true) {
                $var9 = $var9 + 1 | 0;
                if ($var9 >= $var7) {
                    if ($var6 !== null) {
                        if ($var6.$size0 > 1) {
                            $ptr = 2;
                            continue main;
                        }
                        $var2 = $var6.$size0 - 1 | 0;
                        if ($var2 >= 0) {
                            $var10 = ju_ArrayList_get($var6, $var2);
                            $ptr = 3;
                            continue main;
                        }
                    }
                    $var11 = 0;
                    $var18 = 2;
                    a: {
                        b: {
                            while (true) {
                                if ($var18 < 0)
                                    break b;
                                $var19 = $var5[$var18];
                                if ($var19 !== null)
                                    break;
                                $var18 = $var18 + (-1) | 0;
                            }
                            if ($var19.$isInFrustum)
                                break a;
                            if ($var18 == 2)
                                break a;
                            $var5[$var18] = null;
                            $var5[0] = null;
                        }
                        $var12 = 0;
                        $var11_0 = 0;
                        $var12_0 = $this.$worldRenderersToUpdate.$size0;
                        while ($var12 != $var12_0) {
                            $var13 = ju_ArrayList_get($this.$worldRenderersToUpdate, $var12);
                            if ($var13 !== null && $var13 !== $var5[0] && $var13 !== $var5[1] && $var13 !== $var5[2]) {
                                if ($var11_0 != $var12)
                                    ju_ArrayList_set($this.$worldRenderersToUpdate, $var11_0, $var13);
                                $var11_0 = $var11_0 + 1 | 0;
                            }
                            $var12 = $var12 + 1 | 0;
                        }
                        while (true) {
                            $var12 = $var12 + (-1) | 0;
                            if ($var12 < $var11_0)
                                break;
                            ju_ArrayList_remove($this.$worldRenderersToUpdate, $var12);
                        }
                        return $var7 != ($var8 + $var11 | 0) ? 0 : 1;
                    }
                    $var1 = $var5[$var18];
                    $ptr = 5;
                    continue main;
                }
                $var10 = ju_ArrayList_get($this.$worldRenderersToUpdate, $var9);
                if (!$var2)
                    break;
                if ($var10.$isInFrustum) {
                    if ($var6 === null)
                        $var6 = ju_ArrayList__init_0();
                    $var8 = $var8 + 1 | 0;
                    continue main;
                }
            }
            $ptr = 1;
            continue main;
        case 5:
            nms_WorldRenderer_updateRenderer($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var5[$var18].$needsUpdate = 0;
            $var11 = $var11 + 1 | 0;
            g: {
                c: {
                    while (true) {
                        $var18 = $var18 + (-1) | 0;
                        if ($var18 < 0)
                            break c;
                        $var19 = $var5[$var18];
                        if ($var19 !== null)
                            break;
                    }
                    if ($var19.$isInFrustum)
                        break g;
                    if ($var18 == 2)
                        break g;
                    $var5[$var18] = null;
                    $var5[0] = null;
                }
                $var12 = 0;
                $var11_0 = 0;
                $var12_0 = $this.$worldRenderersToUpdate.$size0;
                while ($var12 != $var12_0) {
                    $var13 = ju_ArrayList_get($this.$worldRenderersToUpdate, $var12);
                    if ($var13 !== null && $var13 !== $var5[0] && $var13 !== $var5[1] && $var13 !== $var5[2]) {
                        if ($var11_0 != $var12)
                            ju_ArrayList_set($this.$worldRenderersToUpdate, $var11_0, $var13);
                        $var11_0 = $var11_0 + 1 | 0;
                    }
                    $var12 = $var12 + 1 | 0;
                }
                while (true) {
                    $var12 = $var12 + (-1) | 0;
                    if ($var12 < $var11_0)
                        break;
                    ju_ArrayList_remove($this.$worldRenderersToUpdate, $var12);
                }
                return $var7 != ($var8 + $var11 | 0) ? 0 : 1;
            }
            $var1 = $var5[$var18];
            continue main;
        case 6:
            g: {
                $tmp = nms_RenderSorter_func_993_a($var4, $var19, $var10);
                if ($rt_suspending()) {
                    break main;
                }
                $var12_0 = $tmp;
                if ($var12_0 <= 0) {
                    while (true) {
                        $var11 = $var11 + 1 | 0;
                        if ($var11 >= 3)
                            break g;
                        if ($var5[$var11] === null)
                            continue;
                        else
                            break;
                    }
                    $var19 = $var5[$var11];
                    continue main;
                }
            }
            $var11 = $var11 + (-1) | 0;
            if ($var11 > 0) {
                $var12 = $var11;
                while (true) {
                    $var12 = $var12 + (-1) | 0;
                    if (!$var12)
                        break;
                    $var5[$var12 - 1 | 0] = $var5[$var12];
                }
                $var5[$var11] = $var10;
            }
            while (true) {
                $var9 = $var9 + 1 | 0;
                if ($var9 >= $var7) {
                    if ($var6 !== null) {
                        if ($var6.$size0 > 1) {
                            $ptr = 2;
                            continue main;
                        }
                        $var2 = $var6.$size0 - 1 | 0;
                        if ($var2 >= 0) {
                            $var10 = ju_ArrayList_get($var6, $var2);
                            $ptr = 3;
                            continue main;
                        }
                    }
                    $var11 = 0;
                    $var18 = 2;
                    h: {
                        d: {
                            while (true) {
                                if ($var18 < 0)
                                    break d;
                                $var19 = $var5[$var18];
                                if ($var19 !== null)
                                    break;
                                $var18 = $var18 + (-1) | 0;
                            }
                            if ($var19.$isInFrustum)
                                break h;
                            if ($var18 == 2)
                                break h;
                            $var5[$var18] = null;
                            $var5[0] = null;
                        }
                        $var12 = 0;
                        $var11_0 = 0;
                        $var12_0 = $this.$worldRenderersToUpdate.$size0;
                        while ($var12 != $var12_0) {
                            $var13 = ju_ArrayList_get($this.$worldRenderersToUpdate, $var12);
                            if ($var13 !== null && $var13 !== $var5[0] && $var13 !== $var5[1] && $var13 !== $var5[2]) {
                                if ($var11_0 != $var12)
                                    ju_ArrayList_set($this.$worldRenderersToUpdate, $var11_0, $var13);
                                $var11_0 = $var11_0 + 1 | 0;
                            }
                            $var12 = $var12 + 1 | 0;
                        }
                        while (true) {
                            $var12 = $var12 + (-1) | 0;
                            if ($var12 < $var11_0)
                                break;
                            ju_ArrayList_remove($this.$worldRenderersToUpdate, $var12);
                        }
                        return $var7 != ($var8 + $var11 | 0) ? 0 : 1;
                    }
                    $var1 = $var5[$var18];
                    $ptr = 5;
                    continue main;
                }
                $var10 = ju_ArrayList_get($this.$worldRenderersToUpdate, $var9);
                if (!$var2)
                    break;
                if ($var10.$isInFrustum) {
                    if ($var6 === null)
                        $var6 = ju_ArrayList__init_0();
                    $var8 = $var8 + 1 | 0;
                    $ptr = 4;
                    continue main;
                }
            }
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var18, $var19, $var12, $var11_0, $var12_0, $var13, var$17, $ptr);
    }
    function nms_RenderGlobal_func_959_a($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var8, $var16, var$10, var$11, var$12, $var9, var$14, $var10, $var12, $var14, var$18, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$18 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();var$14 = $thread.pop();$var9 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var16 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var6 = nms_Tessellator_instance;
            $var7 = 3042;
            $ptr = 2;
        case 2:
            olo_GL11_glEnable($var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 3008;
            $ptr = 3;
        case 3:
            olo_GL11_glEnable($var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 770;
            $var8 = 1;
            $ptr = 4;
        case 4:
            olo_GL11_glBlendFunc($var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = 1.0;
            var$10 = 1.0;
            var$11 = 1.0;
            var$12 = (nms_MathHelper_sin(Long_toNumber(jl_System_currentTimeMillis()) / 100.0) * 0.20000000298023224 + 0.4000000059604645) * 0.5;
            $ptr = 5;
        case 5:
            a: {
                nleo_GlStateManager_color($var16, var$10, var$11, var$12);
                if ($rt_suspending()) {
                    break main;
                }
                if ($var3) {
                    if ($var4 === null)
                        break a;
                    $var3 = 770;
                    $var7 = 771;
                    $ptr = 8;
                    continue main;
                }
                if ($this.$field_1450_i > 0.0) {
                    $var3 = 774;
                    $var7 = 768;
                    $ptr = 12;
                    continue main;
                }
            }
            $var3 = 3042;
            $ptr = 6;
        case 6:
            olo_GL11_glDisable($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 3008;
            $ptr = 7;
        case 7:
            olo_GL11_glDisable($var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            olo_GL11_glBlendFunc($var3, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = nms_MathHelper_sin(Long_toNumber(jl_System_currentTimeMillis()) / 100.0) * 0.20000000298023224 + 0.800000011920929;
            $var5 = nms_MathHelper_sin(Long_toNumber(jl_System_currentTimeMillis()) / 200.0) * 0.20000000298023224 + 0.5;
            $ptr = 9;
        case 9:
            nleo_GlStateManager_color($var16, $var16, $var16, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$renderEngine2;
            $var4 = $rt_s(266);
            $ptr = 10;
        case 10:
            $tmp = nms_RenderEngine_getTexture($var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var3 = 3553;
            $ptr = 11;
        case 11:
            olo_GL11_glBindTexture($var3, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var2.$sideHit;
            $var3 = 3042;
            $ptr = 6;
            continue main;
        case 12:
            olo_GL11_glBlendFunc($var3, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $this.$renderEngine2;
            $var9 = $rt_s(266);
            $ptr = 13;
        case 13:
            $tmp = nms_RenderEngine_getTexture($var4, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var3 = 3553;
            $ptr = 14;
        case 14:
            olo_GL11_glBindTexture($var3, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = 1.0;
            var$10 = 1.0;
            var$12 = 1.0;
            var$14 = 0.5;
            $ptr = 15;
        case 15:
            nleo_GlStateManager_color($var16, var$10, var$12, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
        case 16:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $this.$worldObj1;
            $var3 = $var2.$blockX;
            $var7 = $var2.$blockY;
            $var8 = $var2.$blockZ;
            $ptr = 17;
        case 17:
            $tmp = nms_World_getBlockId($var4, $var3, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8 > 0) {
                $ptr = 18;
                continue main;
            }
            $var9 = null;
            $var3 = 3008;
            $ptr = 19;
            continue main;
        case 18:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = nms_Block_blocksList.data[$var8];
            $var3 = 3008;
            $ptr = 19;
        case 19:
            olo_GL11_glDisable($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = (-3.0);
            var$10 = (-3.0);
            $ptr = 20;
        case 20:
            olo_GL11_glPolygonOffset($var16, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 32823;
            $ptr = 21;
        case 21:
            olo_GL11_glEnable($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 22;
        case 22:
            nms_Tessellator_startDrawingQuads($var6);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $var1.$lastTickPosX;
            $var12 = $var1.$posX - $var10;
            $var14 = $var5;
            $var10 = $var10 + $var12 * $var14;
            $var12 = $var1.$lastTickPosY;
            $var12 = $var12 + ($var1.$posY - $var12) * $var14;
            var$18 = $var1.$lastTickPosZ;
            $var14 = var$18 + ($var1.$posZ - var$18) * $var14;
            $var10 =  -$var10;
            $var12 =  -$var12;
            $var14 =  -$var14;
            $ptr = 23;
        case 23:
            nms_Tessellator_setTranslationD($var6, $var10, $var12, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var6.$worldRenderer.$needsUpdate0 = 1;
            if ($var9 === null) {
                $ptr = 24;
                continue main;
            }
            $var1 = $this.$field_1438_u;
            $var3 = $var2.$blockX;
            $var7 = $var2.$blockY;
            $var8 = $var2.$blockZ;
            $var1.$overrideBlockTexture = 240 + ($this.$field_1450_i * 10.0 | 0) | 0;
            $ptr = 25;
            continue main;
        case 24:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = nms_Block_stone;
            $var1 = $this.$field_1438_u;
            $var3 = $var2.$blockX;
            $var7 = $var2.$blockY;
            $var8 = $var2.$blockZ;
            $var1.$overrideBlockTexture = 240 + ($this.$field_1450_i * 10.0 | 0) | 0;
            $ptr = 25;
        case 25:
            nms_RenderBlocks_renderBlockByRenderType($var1, $var9, $var3, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$overrideBlockTexture = (-1);
            $ptr = 26;
        case 26:
            nms_Tessellator_draw($var6);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 0.0;
            $var12 = 0.0;
            $var14 = 0.0;
            $ptr = 27;
        case 27:
            nms_Tessellator_setTranslationD($var6, $var10, $var12, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 0.0;
            $var16 = 0.0;
            $ptr = 28;
        case 28:
            olo_GL11_glPolygonOffset($var5, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 32823;
            $ptr = 29;
        case 29:
            olo_GL11_glDisable($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 3008;
            $ptr = 30;
        case 30:
            olo_GL11_glEnable($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 1;
            $ptr = 31;
        case 31:
            olo_GL11_glDepthMask($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 32;
        case 32:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 3042;
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var16, var$10, var$11, var$12, $var9, var$14, $var10, $var12, $var14, var$18, $ptr);
    }
    function nms_RenderGlobal_drawSelectionBox($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var7, var$8, var$9, var$10, var$11, var$12, var$13, $var8, $var10, $var12, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$var3) {
                var$6 = $var2.$typeOfHit;
                nms_EnumMovingObjectType_$callClinit();
                if (var$6 === nms_EnumMovingObjectType_TILE) {
                    $var3 = 3042;
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        case 1:
            olo_GL11_glEnable($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 770;
            $var7 = 771;
            $ptr = 2;
        case 2:
            olo_GL11_glBlendFunc($var3, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.0;
            var$11 = 0.4000000059604645;
            $ptr = 3;
        case 3:
            nleo_GlStateManager_color(var$8, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = 2.0;
            $ptr = 4;
        case 4:
            nleo_EaglercraftGPU_glLineWidth(var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 3553;
            $ptr = 5;
        case 5:
            olo_GL11_glDisable($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 0;
            $ptr = 6;
        case 6:
            olo_GL11_glDepthMask($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $this.$worldObj1;
            $var3 = $var2.$blockX;
            $var7 = $var2.$blockY;
            var$12 = $var2.$blockZ;
            $ptr = 7;
        case 7:
            $tmp = nms_World_getBlockId($var4, $var3, $var7, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ($var7 > 0) {
                $ptr = 11;
                continue main;
            }
            $var3 = 1;
            $ptr = 8;
        case 8:
            olo_GL11_glDepthMask($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 3553;
            $ptr = 9;
        case 9:
            olo_GL11_glEnable($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 3042;
            $ptr = 10;
        case 10:
            olo_GL11_glDisable($var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 11:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = nms_Block_blocksList.data[$var7];
            var$6 = $this.$worldObj1;
            $var3 = $var2.$blockX;
            var$12 = $var2.$blockY;
            var$13 = $var2.$blockZ;
            $ptr = 12;
        case 12:
            $var4.$setBlockBoundsBasedOnState(var$6, $var3, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$lastTickPosX;
            $var10 = $var1.$posX - $var8;
            $var12 = $var5;
            $var8 = $var8 + $var10 * $var12;
            $var10 = $var1.$lastTickPosY;
            $var10 = $var10 + ($var1.$posY - $var10) * $var12;
            var$17 = $var1.$lastTickPosZ;
            $var12 = var$17 + ($var1.$posZ - var$17) * $var12;
            $var1 = nms_Block_blocksList.data[$var7];
            $var4 = $this.$worldObj1;
            $var3 = $var2.$blockX;
            $var7 = $var2.$blockY;
            var$12 = $var2.$blockZ;
            $ptr = 13;
        case 13:
            $tmp = $var1.$getSelectedBoundingBoxFromPool($var4, $var3, $var7, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var1 = nms_AxisAlignedBB_getOffsetBoundingBox(nms_AxisAlignedBB_expand($var1, 0.0020000000949949026, 0.0020000000949949026, 0.0020000000949949026),  -$var8,  -$var10,  -$var12);
            $ptr = 14;
        case 14:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_Tessellator_instance;
            $var3 = 3;
            $ptr = 15;
        case 15:
            nms_Tessellator_startDrawing($var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$minX0;
            $var10 = $var1.$minY0;
            $var12 = $var1.$minZ0;
            $ptr = 16;
        case 16:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$maxX0;
            $var10 = $var1.$minY0;
            $var12 = $var1.$minZ0;
            $ptr = 17;
        case 17:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$maxX0;
            $var10 = $var1.$minY0;
            $var12 = $var1.$maxZ0;
            $ptr = 18;
        case 18:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$minX0;
            $var10 = $var1.$minY0;
            $var12 = $var1.$maxZ0;
            $ptr = 19;
        case 19:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$minX0;
            $var10 = $var1.$minY0;
            $var12 = $var1.$minZ0;
            $ptr = 20;
        case 20:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 21;
        case 21:
            nms_Tessellator_draw($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 3;
            $ptr = 22;
        case 22:
            nms_Tessellator_startDrawing($var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$minX0;
            $var10 = $var1.$maxY0;
            $var12 = $var1.$minZ0;
            $ptr = 23;
        case 23:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$maxX0;
            $var10 = $var1.$maxY0;
            $var12 = $var1.$minZ0;
            $ptr = 24;
        case 24:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$maxX0;
            $var10 = $var1.$maxY0;
            $var12 = $var1.$maxZ0;
            $ptr = 25;
        case 25:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$minX0;
            $var10 = $var1.$maxY0;
            $var12 = $var1.$maxZ0;
            $ptr = 26;
        case 26:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$minX0;
            $var10 = $var1.$maxY0;
            $var12 = $var1.$minZ0;
            $ptr = 27;
        case 27:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 28;
        case 28:
            nms_Tessellator_draw($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 1;
            $ptr = 29;
        case 29:
            nms_Tessellator_startDrawing($var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$minX0;
            $var10 = $var1.$minY0;
            $var12 = $var1.$minZ0;
            $ptr = 30;
        case 30:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$minX0;
            $var10 = $var1.$maxY0;
            $var12 = $var1.$minZ0;
            $ptr = 31;
        case 31:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$maxX0;
            $var10 = $var1.$minY0;
            $var12 = $var1.$minZ0;
            $ptr = 32;
        case 32:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$maxX0;
            $var10 = $var1.$maxY0;
            $var12 = $var1.$minZ0;
            $ptr = 33;
        case 33:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$maxX0;
            $var10 = $var1.$minY0;
            $var12 = $var1.$maxZ0;
            $ptr = 34;
        case 34:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$maxX0;
            $var10 = $var1.$maxY0;
            $var12 = $var1.$maxZ0;
            $ptr = 35;
        case 35:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$minX0;
            $var10 = $var1.$minY0;
            $var12 = $var1.$maxZ0;
            $ptr = 36;
        case 36:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$minX0;
            $var10 = $var1.$maxY0;
            $var12 = $var1.$maxZ0;
            $ptr = 37;
        case 37:
            nms_Tessellator_addVertex($var2, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 38;
        case 38:
            nms_Tessellator_draw($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 1;
            $ptr = 8;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var7, var$8, var$9, var$10, var$11, var$12, var$13, $var8, $var10, $var12, var$17, $ptr);
    }
    function nms_RenderGlobal_func_949_a($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var13, $var8, $var9, $var10, $var11, $var12, $var14, $var15, $var16, $var17, $var18, $var19, $var20, var$20, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$20 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var13 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var13 = nms_MathHelper_bucketInt($var1, 16);
            $var8 = nms_MathHelper_bucketInt($var2, 16);
            $var9 = nms_MathHelper_bucketInt($var3, 16);
            $var10 = nms_MathHelper_bucketInt($var4, 16);
            $var11 = nms_MathHelper_bucketInt($var5, 16);
            $var12 = nms_MathHelper_bucketInt($var6, 16);
            while ($var13 <= $var10) {
                $var1 = $this.$renderChunksWide;
                $var14 = $var13 % $var1 | 0;
                if ($var14 < 0)
                    $var14 = $var14 + $var1 | 0;
                $var15 = $var8;
                while ($var15 <= $var11) {
                    $var1 = $this.$renderChunksTall;
                    $var16 = $var15 % $var1 | 0;
                    if ($var16 < 0)
                        $var16 = $var16 + $var1 | 0;
                    $var17 = $var9;
                    while ($var17 <= $var12) {
                        $var1 = $this.$renderChunksDeep;
                        $var18 = $var17 % $var1 | 0;
                        if ($var18 < 0)
                            $var18 = $var18 + $var1 | 0;
                        $var19 = $rt_imul($rt_imul($var18, $this.$renderChunksTall) + $var16 | 0, $this.$renderChunksWide) + $var14 | 0;
                        $var20 = $this.$worldRenderers.data[$var19];
                        if (!$var20.$needsUpdate) {
                            var$20 = $this.$worldRenderersToUpdate;
                            $ptr = 1;
                            continue main;
                        }
                        $var17 = $var17 + 1 | 0;
                    }
                    $var15 = $var15 + 1 | 0;
                }
                $var13 = $var13 + 1 | 0;
            }
            return;
        case 1:
            ju_ArrayList_add(var$20, $var20);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_WorldRenderer_markDirty($var20);
            if ($rt_suspending()) {
                break main;
            }
            a: while (true) {
                $var17 = $var17 + 1 | 0;
                while ($var17 > $var12) {
                    $var15 = $var15 + 1 | 0;
                    while ($var15 > $var11) {
                        $var13 = $var13 + 1 | 0;
                        if ($var13 > $var10)
                            break a;
                        $var1 = $this.$renderChunksWide;
                        $var14 = $var13 % $var1 | 0;
                        if ($var14 < 0)
                            $var14 = $var14 + $var1 | 0;
                        $var15 = $var8;
                    }
                    $var1 = $this.$renderChunksTall;
                    $var16 = $var15 % $var1 | 0;
                    if ($var16 < 0)
                        $var16 = $var16 + $var1 | 0;
                    $var17 = $var9;
                }
                $var1 = $this.$renderChunksDeep;
                $var18 = $var17 % $var1 | 0;
                if ($var18 < 0)
                    $var18 = $var18 + $var1 | 0;
                $var19 = $rt_imul($rt_imul($var18, $this.$renderChunksTall) + $var16 | 0, $this.$renderChunksWide) + $var14 | 0;
                $var20 = $this.$worldRenderers.data[$var19];
                if ($var20.$needsUpdate)
                    continue;
                else {
                    var$20 = $this.$worldRenderersToUpdate;
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var13, $var8, $var9, $var10, $var11, $var12, $var14, $var15, $var16, $var17, $var18, $var19, $var20, var$20, $ptr);
    }
    function nms_RenderGlobal_markBlockAndNeighborsNeedsUpdate($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $var1 - 1 | 0;
            var$5 = $var2 - 1 | 0;
            var$6 = $var3 - 1 | 0;
            var$7 = $var1 + 1 | 0;
            $var2 = $var2 + 1 | 0;
            $var1 = $var3 + 1 | 0;
            $ptr = 1;
        case 1:
            nms_RenderGlobal_func_949_a($this, var$4, var$5, var$6, var$7, $var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_RenderGlobal_markBlockRangeNeedsUpdate($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$7 = $var1 - 1 | 0;
            $var2 = $var2 - 1 | 0;
            $var3 = $var3 - 1 | 0;
            var$8 = $var4 + 1 | 0;
            $var1 = $var5 + 1 | 0;
            $var4 = $var6 + 1 | 0;
            $ptr = 1;
        case 1:
            nms_RenderGlobal_func_949_a($this, var$7, $var2, $var3, var$8, $var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, $ptr);
    }
    function nms_RenderGlobal_clipRenderersByFrustrum($this, $var1, $var2) {
        var $var3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = 0;
            while (true) {
                var$4 = $this.$worldRenderers.data;
                if ($var3 >= var$4.length)
                    break;
                var$5 = var$4[$var3];
                if (!var$5.$isInitialized)
                    var$6 = 0;
                else {
                    var$7 = var$5.$skipRenderPass.data;
                    var$6 = var$7[0] && var$7[1] && !var$5.$needsUpdate ? 1 : 0;
                }
                if (!var$6 && !(var$4[$var3].$isInFrustum && ($var3 + $this.$frustrumCheckOffset | 0) & 15)) {
                    var$8 = var$4[$var3];
                    var$8.$isInFrustum = nms_Frustrum_isBoundingBoxInFrustum($var1, var$8.$rendererBoundingBox);
                }
                $var3 = $var3 + 1 | 0;
            }
            $this.$frustrumCheckOffset = $this.$frustrumCheckOffset + 1 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_RenderGlobal_playSound($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $var10, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var10 = 16.0;
            if ($var8 > 1.0)
                $var10 = $var10 * $var8;
            if (nms_Entity_getDistanceSq($this.$mc4.$renderViewEntity, $var2, $var4, $var6) >= $var10 * $var10)
                return;
            var$8 = $this.$mc4.$sndManager;
            $var10 = $var2;
            var$9 = $var4;
            var$10 = $var6;
            $ptr = 1;
        case 1:
            nms_SoundManager_playSound(var$8, $var1, $var10, var$9, var$10, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var10, var$8, var$9, var$10, $ptr);
    }
    function nms_RenderGlobal_spawnParticle($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12) {
        var var$8, var$9, $var14, $var16, $var18, var$13, var$14, var$15, var$16, var$17, var$18, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$8 = $this.$mc4;
            if (var$8 !== null) {
                var$9 = var$8.$renderViewEntity;
                if (var$9 !== null && var$8.$effectRenderer !== null) {
                    $var14 = var$9.$posX - $var2;
                    $var16 = var$9.$posY - $var4;
                    $var18 = var$9.$posZ - $var6;
                    if ($var14 * $var14 + $var16 * $var16 + $var18 * $var18 <= 256.0) {
                        var$8 = $rt_s(1659);
                        $ptr = 1;
                        continue main;
                    }
                }
            }
            return;
        case 1:
            $tmp = jl_String_equals($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (!var$13) {
                var$8 = $rt_s(920);
                $ptr = 2;
                continue main;
            }
            $var1 = $this.$mc4.$effectRenderer;
            var$8 = new nms_EntityBubbleFX;
            var$9 = $this.$worldObj1;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = jl_String_equals($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (!var$13) {
                var$8 = $rt_s(927);
                $ptr = 4;
                continue main;
            }
            $var1 = $this.$mc4.$effectRenderer;
            var$8 = new nms_EntitySmokeFX;
            var$9 = $this.$worldObj1;
            var$14 = 1.0;
            $ptr = 5;
            continue main;
        case 3:
            nms_EntityFX__init_(var$8, var$9, $var2, $var4, $var6, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            var$8.$particleRed = 1.0;
            var$8.$particleGreen = 1.0;
            var$8.$particleBlue = 1.0;
            var$8.$particleTextureIndex = 32;
            nms_Entity_setSize(var$8, 0.019999999552965164, 0.019999999552965164);
            var$8.$particleScale = var$8.$particleScale * (ju_Random_nextFloat(var$8.$rand3) * 0.6000000238418579 + 0.20000000298023224);
            var$8.$motionX = $var8 * 0.20000000298023224 + (jl_Math_random() * 2.0 - 1.0) * 0.019999999552965164;
            var$8.$motionY = $var10 * 0.20000000298023224 + (jl_Math_random() * 2.0 - 1.0) * 0.019999999552965164;
            var$8.$motionZ = $var12 * 0.20000000298023224 + (jl_Math_random() * 2.0 - 1.0) * 0.019999999552965164;
            var$8.$particleMaxAge = 8.0 / (jl_Math_random() * 0.8 + 0.2) | 0;
            nms_EffectRenderer_addEffect($var1, var$8);
            return;
        case 4:
            $tmp = jl_String_equals($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (!var$13) {
                var$8 = $rt_s(662);
                $ptr = 6;
                continue main;
            }
            $var1 = $this.$mc4.$effectRenderer;
            var$8 = new nms_EntityNoteFX;
            var$9 = $this.$worldObj1;
            var$14 = 2.0;
            $ptr = 7;
            continue main;
        case 5:
            nms_EntitySmokeFX__init_0(var$8, var$9, $var2, $var4, $var6, $var8, $var10, $var12, var$14);
            if ($rt_suspending()) {
                break main;
            }
            nms_EffectRenderer_addEffect($var1, var$8);
            return;
        case 6:
            $tmp = jl_String_equals($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (!var$13) {
                var$8 = $rt_s(1669);
                $ptr = 8;
                continue main;
            }
            $var1 = $this.$mc4.$effectRenderer;
            var$8 = new nms_EntityPortalFX;
            var$9 = $this.$worldObj1;
            $ptr = 9;
            continue main;
        case 7:
            nms_EntityNoteFX__init_0(var$8, var$9, $var2, $var4, $var6, $var8, $var10, $var12, var$14);
            if ($rt_suspending()) {
                break main;
            }
            nms_EffectRenderer_addEffect($var1, var$8);
            return;
        case 8:
            $tmp = jl_String_equals($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (!var$13) {
                var$8 = $rt_s(932);
                $ptr = 10;
                continue main;
            }
            $var1 = $this.$mc4.$effectRenderer;
            var$8 = new nms_EntityExplodeFX;
            var$9 = $this.$worldObj1;
            $ptr = 11;
            continue main;
        case 9:
            nms_EntityFX__init_(var$8, var$9, $var2, $var4, $var6, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            var$8.$motionX = $var8;
            var$8.$motionY = $var10;
            var$8.$motionZ = $var12;
            var$8.$posX = $var2;
            var$8.$field_4086_p = $var2;
            var$8.$posY = $var4;
            var$8.$field_4085_q = $var4;
            var$8.$posZ = $var6;
            var$8.$field_4084_r = $var6;
            var$14 = ju_Random_nextFloat(var$8.$rand3) * 0.6000000238418579 + 0.4000000059604645;
            var$15 = ju_Random_nextFloat(var$8.$rand3) * 0.20000000298023224 + 0.5;
            var$8.$particleScale = var$15;
            var$8.$field_4083_a = var$15;
            var$14 = 1.0 * var$14;
            var$8.$particleBlue = var$14;
            var$8.$particleGreen = var$14;
            var$8.$particleRed = var$14;
            var$8.$particleGreen = var$14 * 0.30000001192092896;
            var$8.$particleRed = var$14 * 0.8999999761581421;
            var$8.$particleMaxAge = (jl_Math_random() * 10.0 | 0) + 40 | 0;
            var$8.$noClip = 1;
            var$8.$particleTextureIndex = jl_Math_random() * 8.0 | 0;
            nms_EffectRenderer_addEffect($var1, var$8);
            return;
        case 10:
            $tmp = jl_String_equals($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (!var$13) {
                var$8 = $rt_s(603);
                $ptr = 12;
                continue main;
            }
            $var1 = $this.$mc4.$effectRenderer;
            var$8 = new nms_EntityFlameFX;
            var$9 = $this.$worldObj1;
            $ptr = 13;
            continue main;
        case 11:
            nms_EntityExplodeFX__init_(var$8, var$9, $var2, $var4, $var6, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            nms_EffectRenderer_addEffect($var1, var$8);
            return;
        case 12:
            $tmp = jl_String_equals($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (!var$13) {
                var$8 = $rt_s(1660);
                $ptr = 14;
                continue main;
            }
            $var1 = $this.$mc4.$effectRenderer;
            var$8 = new nms_EntityLavaFX;
            var$9 = $this.$worldObj1;
            $ptr = 15;
            continue main;
        case 13:
            nms_EntityFlameFX__init_(var$8, var$9, $var2, $var4, $var6, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            nms_EffectRenderer_addEffect($var1, var$8);
            return;
        case 14:
            $tmp = jl_String_equals($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (!var$13) {
                var$8 = $rt_s(917);
                $ptr = 16;
                continue main;
            }
            $var1 = $this.$mc4.$effectRenderer;
            var$8 = new nms_EntitySplashFX;
            var$9 = $this.$worldObj1;
            $ptr = 17;
            continue main;
        case 15:
            nms_EntityLavaFX__init_(var$8, var$9, $var2, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            nms_EffectRenderer_addEffect($var1, var$8);
            return;
        case 16:
            $tmp = jl_String_equals($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (!var$13) {
                var$8 = $rt_s(935);
                $ptr = 18;
                continue main;
            }
            $var1 = $this.$mc4.$effectRenderer;
            var$8 = new nms_EntitySmokeFX;
            var$9 = $this.$worldObj1;
            var$14 = 2.5;
            $ptr = 19;
            continue main;
        case 17:
            nms_EntitySplashFX__init_(var$8, var$9, $var2, $var4, $var6, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            nms_EffectRenderer_addEffect($var1, var$8);
            return;
        case 18:
            $tmp = jl_String_equals($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (!var$13) {
                var$8 = $rt_s(1693);
                $ptr = 20;
                continue main;
            }
            $var1 = $this.$mc4.$effectRenderer;
            var$8 = new nms_EntityReddustFX;
            var$9 = $this.$worldObj1;
            var$14 = $var8;
            var$15 = $var10;
            var$16 = $var12;
            var$17 = 1.0;
            $ptr = 21;
            continue main;
        case 19:
            nms_EntitySmokeFX__init_0(var$8, var$9, $var2, $var4, $var6, $var8, $var10, $var12, var$14);
            if ($rt_suspending()) {
                break main;
            }
            nms_EffectRenderer_addEffect($var1, var$8);
            return;
        case 20:
            $tmp = jl_String_equals($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (!var$13) {
                var$8 = $rt_s(1694);
                $ptr = 22;
                continue main;
            }
            $var1 = $this.$mc4.$effectRenderer;
            var$8 = new nms_EntitySlimeFX;
            var$9 = $this.$worldObj1;
            $ptr = 23;
            continue main;
        case 21:
            nms_EntityReddustFX__init_0(var$8, var$9, $var2, $var4, $var6, var$17, var$14, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            nms_EffectRenderer_addEffect($var1, var$8);
            return;
        case 22:
            $tmp = jl_String_equals($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (!var$13) {
                var$8 = $rt_s(1695);
                $ptr = 25;
                continue main;
            }
            $var1 = $this.$mc4.$effectRenderer;
            var$8 = new nms_EntitySlimeFX;
            var$9 = $this.$worldObj1;
            $ptr = 26;
            continue main;
        case 23:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$18 = nms_Item_snowball;
            $ptr = 24;
        case 24:
            nms_EntitySlimeFX__init_(var$8, var$9, $var2, $var4, $var6, var$18);
            if ($rt_suspending()) {
                break main;
            }
            nms_EffectRenderer_addEffect($var1, var$8);
            return;
        case 25:
            $tmp = jl_String_equals($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            if (!var$13)
                return;
            $var1 = $this.$mc4.$effectRenderer;
            var$8 = new nms_EntityHeartFX;
            var$9 = $this.$worldObj1;
            var$14 = 2.0;
            $ptr = 28;
            continue main;
        case 26:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$18 = nms_Item_slimeBall;
            $ptr = 27;
        case 27:
            nms_EntitySlimeFX__init_(var$8, var$9, $var2, $var4, $var6, var$18);
            if ($rt_suspending()) {
                break main;
            }
            nms_EffectRenderer_addEffect($var1, var$8);
            return;
        case 28:
            nms_EntityHeartFX__init_0(var$8, var$9, $var2, $var4, $var6, $var8, $var10, $var12, var$14);
            if ($rt_suspending()) {
                break main;
            }
            nms_EffectRenderer_addEffect($var1, var$8);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12, var$8, var$9, $var14, $var16, $var18, var$13, var$14, var$15, var$16, var$17, var$18, $ptr);
    }
    function nms_RenderGlobal_updateAllRenderers($this) {
        var $var1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = 0;
            while (true) {
                var$2 = $this.$worldRenderers.data;
                if ($var1 >= var$2.length)
                    break;
                if (var$2[$var1].$field_1747_A && !var$2[$var1].$needsUpdate) {
                    var$3 = $this.$worldRenderersToUpdate;
                    var$4 = var$2[$var1];
                    $ptr = 1;
                    continue main;
                }
                $var1 = $var1 + 1 | 0;
            }
            return;
        case 1:
            ju_ArrayList_add(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$worldRenderers.data[$var1];
            $ptr = 2;
        case 2:
            nms_WorldRenderer_markDirty(var$3);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var1 = $var1 + 1 | 0;
                var$2 = $this.$worldRenderers.data;
                if ($var1 >= var$2.length)
                    break;
                if (!var$2[$var1].$field_1747_A)
                    continue;
                if (var$2[$var1].$needsUpdate)
                    continue;
                else {
                    var$3 = $this.$worldRenderersToUpdate;
                    var$4 = var$2[$var1];
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_EffectRenderer() {
        var a = this; jl_Object.call(a);
        a.$worldObj = null;
        a.$fxLayers = null;
        a.$renderer = null;
        a.$rand = null;
    }
    function nms_EffectRenderer_addEffect($this, $var1) {
        var $var2;
        $var2 = $var1.$getFXLayer();
        ju_ArrayList_add($this.$fxLayers.data[$var2], $var1);
    }
    function nms_EffectRenderer_updateEffects($this) {
        var $var1, $var2, var$3, $var3, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = 0;
            while ($var1 < 4) {
                $var2 = 0;
                var$3 = $this.$fxLayers.data;
                if ($var2 < var$3[$var1].$size0) {
                    $var3 = ju_ArrayList_get(var$3[$var1], $var2);
                    $ptr = 1;
                    continue main;
                }
                $var1 = $var1 + 1 | 0;
            }
            return;
        case 1:
            $var3.$onUpdate();
            if ($rt_suspending()) {
                break main;
            }
            if (!$var3.$isDead)
                var$5 = $var2;
            else {
                $var3 = $this.$fxLayers.data[$var1];
                var$5 = $var2 + (-1) | 0;
                ju_ArrayList_remove($var3, $var2);
            }
            $var2 = var$5 + 1 | 0;
            while (true) {
                var$3 = $this.$fxLayers.data;
                if ($var2 < var$3[$var1].$size0) {
                    $var3 = ju_ArrayList_get(var$3[$var1], $var2);
                    continue main;
                }
                $var1 = $var1 + 1 | 0;
                if ($var1 >= 4)
                    break;
                $var2 = 0;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, var$5, $ptr);
    }
    function nms_EffectRenderer_renderParticles($this, $var1, $var2) {
        var $var3, $var4, $var5, $var6, $var7, var$8, var$9, var$10, $var8, $var9, $var10, $var11, var$15, $var12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var12 = $thread.pop();var$15 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = nms_MathHelper_cos($var1.$rotationYaw * 3.1415927410125732 / 180.0);
            $var4 = nms_MathHelper_sin($var1.$rotationYaw * 3.1415927410125732 / 180.0);
            $var5 =  -$var4 * nms_MathHelper_sin($var1.$rotationPitch * 3.1415927410125732 / 180.0);
            $var6 = $var3 * nms_MathHelper_sin($var1.$rotationPitch * 3.1415927410125732 / 180.0);
            $var7 = nms_MathHelper_cos($var1.$rotationPitch * 3.1415927410125732 / 180.0);
            var$8 = $var1.$lastTickPosX;
            var$9 = $var1.$posX - var$8;
            var$10 = $var2;
            nms_EntityFX_interpPosX = var$8 + var$9 * var$10;
            var$9 = $var1.$lastTickPosY;
            nms_EntityFX_interpPosY = var$9 + ($var1.$posY - var$9) * var$10;
            var$8 = $var1.$lastTickPosZ;
            nms_EntityFX_interpPosZ = var$8 + ($var1.$posZ - var$8) * var$10;
            $var8 = 0;
            while ($var8 < 3) {
                if ($this.$fxLayers.data[$var8].$size0) {
                    $var9 = 0;
                    if (!$var8) {
                        $var1 = $this.$renderer;
                        $var10 = $rt_s(1696);
                        $ptr = 1;
                        continue main;
                    }
                    if ($var8 == 1) {
                        $var1 = $this.$renderer;
                        $var10 = $rt_s(266);
                        $ptr = 2;
                        continue main;
                    }
                    if ($var8 == 2) {
                        $var1 = $this.$renderer;
                        $var10 = $rt_s(341);
                        $ptr = 3;
                        continue main;
                    }
                    $var11 = 3553;
                    $ptr = 4;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
            }
            return;
        case 1:
            $tmp = nms_RenderEngine_getTexture($var1, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var8 == 1) {
                $var1 = $this.$renderer;
                $var10 = $rt_s(266);
                $ptr = 2;
                continue main;
            }
            if ($var8 == 2) {
                $var1 = $this.$renderer;
                $var10 = $rt_s(341);
                $ptr = 3;
                continue main;
            }
            $var11 = 3553;
            $ptr = 4;
            continue main;
        case 2:
            $tmp = nms_RenderEngine_getTexture($var1, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var8 == 2) {
                $var1 = $this.$renderer;
                $var10 = $rt_s(341);
                $ptr = 3;
                continue main;
            }
            $var11 = 3553;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = nms_RenderEngine_getTexture($var1, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $var11 = 3553;
            $ptr = 4;
        case 4:
            olo_GL11_glBindTexture($var11, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var10 = nms_Tessellator_instance;
            $ptr = 6;
        case 6:
            nms_Tessellator_startDrawingQuads($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = 0;
            var$15 = $this.$fxLayers.data;
            if ($var11 >= var$15[$var8].$size0) {
                $ptr = 7;
                continue main;
            }
            $var12 = ju_ArrayList_get(var$15[$var8], $var11);
            $ptr = 8;
            continue main;
        case 7:
            nms_Tessellator_draw($var10);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var8 = $var8 + 1 | 0;
                if ($var8 >= 3)
                    break;
                if (!$this.$fxLayers.data[$var8].$size0)
                    continue;
                else {
                    $var9 = 0;
                    if (!$var8) {
                        $var1 = $this.$renderer;
                        $var10 = $rt_s(1696);
                        $ptr = 1;
                        continue main;
                    }
                    if ($var8 == 1) {
                        $var1 = $this.$renderer;
                        $var10 = $rt_s(266);
                        $ptr = 2;
                        continue main;
                    }
                    if ($var8 == 2) {
                        $var1 = $this.$renderer;
                        $var10 = $rt_s(341);
                        $ptr = 3;
                        continue main;
                    }
                    $var11 = 3553;
                    $ptr = 4;
                    continue main;
                }
            }
            return;
        case 8:
            $var12.$renderParticle($var10, $var2, $var3, $var7, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $var11 + 1 | 0;
            var$15 = $this.$fxLayers.data;
            if ($var11 >= var$15[$var8].$size0) {
                $ptr = 7;
                continue main;
            }
            $var12 = ju_ArrayList_get(var$15[$var8], $var11);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, var$9, var$10, $var8, $var9, $var10, $var11, var$15, $var12, $ptr);
    }
    function nms_EffectRenderer_func_1187_b($this, $var1, $var2) {
        var $var3, $var4, $var5, var$6, $var6, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = 3;
            if (!$this.$fxLayers.data[$var3].$size0)
                return;
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = nms_Tessellator_instance;
            $var5 = 0;
            var$6 = $this.$fxLayers.data;
            if ($var5 >= var$6[$var3].$size0)
                return;
            $var6 = ju_ArrayList_get(var$6[$var3], $var5);
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.0;
            var$11 = 0.0;
            var$12 = 0.0;
            $ptr = 2;
        case 2:
            $var6.$renderParticle($var4, $var2, var$8, var$9, var$10, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $var5 + 1 | 0;
            var$6 = $this.$fxLayers.data;
            if ($var5 >= var$6[$var3].$size0)
                return;
            $var6 = ju_ArrayList_get(var$6[$var3], $var5);
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 0.0;
            var$11 = 0.0;
            var$12 = 0.0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    var nlep_EaglerProfile = $rt_classWithoutFields();
    var nlep_EaglerProfile_username = null;
    var nlep_EaglerProfile_presetSkinId = 0;
    var nlep_EaglerProfile_customSkinId = 0;
    var nlep_EaglerProfile_myChannel = null;
    var nlep_EaglerProfile_skins = null;
    var nlep_EaglerProfile_rand = null;
    var nlep_EaglerProfile_multiplayerWaitingSkinCache = null;
    var nlep_EaglerProfile_multiplayerSkinCache = null;
    var nlep_EaglerProfile_defaultSkin = null;
    var nlep_EaglerProfile_skinRequestId = 0;
    var nlep_EaglerProfile_defaultOptionsTextures = null;
    var nlep_EaglerProfile_$clinitCalled = false;
    function nlep_EaglerProfile_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nlep_EaglerProfile_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nlep_EaglerProfile_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nlep_EaglerProfile__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nlep_EaglerProfile_$callClinit = $rt_eraseClinit(nlep_EaglerProfile);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nlep_EaglerProfile__init_0() {
        var var_0 = new nlep_EaglerProfile();
        nlep_EaglerProfile__init_(var_0);
        return var_0;
    }
    function nlep_EaglerProfile__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlep_EaglerProfile_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nlep_EaglerProfile_addSkin($name, $data, $slim) {
        var var$4, var$5, $img, $j, $l, $im, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$im = $thread.pop();$l = $thread.pop();$j = $thread.pop();$img = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$slim = $thread.pop();$data = $thread.pop();$name = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlep_EaglerProfile_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = jl_System_out();
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            $img = $rt_s(1697);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$5, $img);
            if ($rt_suspending()) {
                break main;
            }
            $img = $tmp;
            $ptr = 3;
        case 3:
            jl_StringBuilder_append($img, $name);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 5;
        case 5:
            ji_PrintStream_println0(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $j = 0;
            $l = nlep_EaglerProfile_skins.$size0;
            a: {
                while (true) {
                    if ($j >= $l) {
                        $j = (-1);
                        break a;
                    }
                    if (jl_String_equalsIgnoreCase((ju_ArrayList_get(nlep_EaglerProfile_skins, $j)).$name11, $name))
                        break;
                    $j = $j + 1 | 0;
                }
            }
            $l = $data.data.length;
            if ($l != 8192 && $l != 16384)
                return (-1);
            $ptr = 6;
        case 6:
            $tmp = nlei_PlatformAssets_loadImageFile($data);
            if ($rt_suspending()) {
                break main;
            }
            $img = $tmp;
            var$5 = nmc_Minecraft_theMinecraft.$renderEngine;
            $ptr = 7;
        case 7:
            $tmp = nms_RenderEngine_allocateAndSetupTexture(var$5, $img);
            if ($rt_suspending()) {
                break main;
            }
            $im = $tmp;
            if ($j != (-1)) {
                (ju_ArrayList_get(nlep_EaglerProfile_skins, $j)).$glTex = $im;
                (ju_ArrayList_get(nlep_EaglerProfile_skins, $j)).$data2 = $data;
                (ju_ArrayList_get(nlep_EaglerProfile_skins, $j)).$slim = $slim;
                return $j;
            }
            var$5 = nlep_EaglerProfile_skins;
            $j = var$5.$size0;
            $img = new nlep_EaglerProfile$EaglerProfileSkin;
            $img.$name11 = $name;
            $img.$data2 = $data;
            $img.$slim = $slim;
            $img.$glTex = $im;
            $ptr = 8;
        case 8:
            ju_ArrayList_add(var$5, $img);
            if ($rt_suspending()) {
                break main;
            }
            return $j;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($name, $data, $slim, var$4, var$5, $img, $j, $l, $im, $ptr);
    }
    function nlep_EaglerProfile_beginSkinRequest($un) {
        var $ret, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$ret = $thread.pop();$un = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlep_EaglerProfile_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ret = nlep_EaglerProfile_skinRequestId;
            var$3 = $ret + 1 | 0;
            nlep_EaglerProfile_skinRequestId = var$3;
            if (var$3 >= 65536)
                nlep_EaglerProfile_skinRequestId = 0;
            var$4 = nlep_EaglerProfile_multiplayerWaitingSkinCache;
            var$5 = jl_Integer_valueOf($ret);
            var$6 = new nlep_EaglerProfile$WaitingSkin;
            var$6.$cookie = $ret;
            var$6.$username0 = $un;
            var$6.$requestStartTime = jl_System_currentTimeMillis();
            $ptr = 2;
        case 2:
            ju_HashMap_putImpl(var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return $ret;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($un, $ret, var$3, var$4, var$5, var$6, $ptr);
    }
    function nlep_EaglerProfile_loadFromStorage() {
        var var$1, $n, var$3, $s, $s2, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$s2 = $thread.pop();$s = $thread.pop();var$3 = $thread.pop();$n = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlep_EaglerProfile_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nms_NBTTagCompound_hasNoTags(nle_LocalStorageManager_profileSettingsStorage))
                return;
            var$1 = nle_LocalStorageManager_profileSettingsStorage;
            $n = $rt_s(1698);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getInteger(var$1, $n);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nlep_EaglerProfile_presetSkinId = var$3;
            $n = nle_LocalStorageManager_profileSettingsStorage;
            var$1 = $rt_s(1699);
            $ptr = 3;
        case 3:
            $tmp = nms_NBTTagCompound_getInteger($n, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nlep_EaglerProfile_customSkinId = var$3;
            $n = nle_LocalStorageManager_profileSettingsStorage;
            var$1 = $rt_s(1700);
            $ptr = 4;
        case 4:
            $tmp = nms_NBTTagCompound_getString($n, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nlep_EaglerProfile_username = var$1;
            var$3 = 100 + nle_Random_nextInt(nlep_EaglerProfile_rand, 900) | 0;
            $n = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($n);
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append($n, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            jl_AbstractStringBuilder_append(var$1, 95);
            jl_AbstractStringBuilder_append0(var$1, var$3);
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString($n);
            if ($rt_suspending()) {
                break main;
            }
            $n = $tmp;
            nlep_EaglerProfile_myChannel = $n;
            $n = nle_LocalStorageManager_profileSettingsStorage;
            var$1 = $rt_s(1701);
            $ptr = 7;
        case 7:
            $tmp = nms_NBTTagCompound_getCompoundTag($n, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $n = $tmp;
            var$1 = ju_HashMap_keySet($n.$tagMap);
            $ptr = 8;
        case 8:
            $tmp = var$1.$iterator();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (!var$1.$hasNext())
                return;
            $ptr = 9;
        case 9:
            $tmp = var$1.$next();
            if ($rt_suspending()) {
                break main;
            }
            $s = $tmp;
            $s2 = $s;
            $ptr = 10;
        case 10:
            $tmp = nms_NBTTagCompound_getByteArray($n, $s2);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$3 = 0;
            $ptr = 11;
        case 11:
            nlep_EaglerProfile_addSkin($s2, var$6, var$3);
            if ($rt_suspending()) {
                break main;
            }
            if (!var$1.$hasNext())
                return;
            $ptr = 9;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $n, var$3, $s, $s2, var$6, $ptr);
    }
    function nlep_EaglerProfile__clinit_() {
        var var$1, $usernameDefaultWords, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$usernameDefaultWords = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nlep_EaglerProfile_skins = ju_ArrayList__init_0();
            nlep_EaglerProfile_multiplayerWaitingSkinCache = ju_HashMap__init_0();
            nlep_EaglerProfile_multiplayerSkinCache = ju_HashMap__init_0();
            var$1 = new nlep_EaglerProfile$UserPresetSkin;
            var$1.$skinType = 0;
            nlep_EaglerProfile_defaultSkin = var$1;
            nlep_EaglerProfile_skinRequestId = 0;
            $usernameDefaultWords = $rt_createArray(jl_String, 16).data;
            $usernameDefaultWords[0] = $rt_s(1702);
            $usernameDefaultWords[1] = $rt_s(1702);
            $usernameDefaultWords[2] = $rt_s(1703);
            $usernameDefaultWords[3] = $rt_s(1703);
            $usernameDefaultWords[4] = $rt_s(1704);
            $usernameDefaultWords[5] = $rt_s(1705);
            $usernameDefaultWords[6] = $rt_s(1706);
            $usernameDefaultWords[7] = $rt_s(1707);
            $usernameDefaultWords[8] = $rt_s(1708);
            $usernameDefaultWords[9] = $rt_s(1709);
            $usernameDefaultWords[10] = $rt_s(1710);
            $usernameDefaultWords[11] = $rt_s(1711);
            $usernameDefaultWords[12] = $rt_s(1711);
            $usernameDefaultWords[13] = $rt_s(1712);
            $usernameDefaultWords[14] = $rt_s(1713);
            $usernameDefaultWords[15] = $rt_s(1714);
            nlep_EaglerProfile_rand = nle_Random__init_0();
            var$1 = nlep_EaglerProfile_rand;
            var$3 = $usernameDefaultWords.length;
            var$1 = $usernameDefaultWords[nle_Random_nextInt(var$1, var$3)];
            var$4 = $usernameDefaultWords[nle_Random_nextInt(nlep_EaglerProfile_rand, var$3)];
            var$3 = 10 + nle_Random_nextInt(nlep_EaglerProfile_rand, 90) | 0;
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$5, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            jl_AbstractStringBuilder_append0(var$1, var$3);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nlep_EaglerProfile_username = var$1;
            if (jl_String_length(var$1) > 16) {
                var$1 = nlep_EaglerProfile_rand;
                var$3 = $usernameDefaultWords.length;
                var$1 = $usernameDefaultWords[nle_Random_nextInt(var$1, var$3)];
                var$4 = $usernameDefaultWords[nle_Random_nextInt(nlep_EaglerProfile_rand, var$3)];
                var$3 = 10 + nle_Random_nextInt(nlep_EaglerProfile_rand, 90) | 0;
                var$5 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$5);
                $ptr = 1;
                continue main;
            }
            var$1 = nlep_EaglerProfile_rand;
            nle_GuiScreenEditProfile_$callClinit();
            nlep_EaglerProfile_presetSkinId = nle_Random_nextInt(var$1, nle_GuiScreenEditProfile_defaultOptions.data.length);
            var$1 = nlep_EaglerProfile_username;
            var$3 = 100 + nle_Random_nextInt(nlep_EaglerProfile_rand, 900) | 0;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append(var$4, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            jl_AbstractStringBuilder_append(var$1, 95);
            jl_AbstractStringBuilder_append0(var$1, var$3);
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nlep_EaglerProfile_myChannel = var$1;
            nlep_EaglerProfile_customSkinId = (-1);
            nlep_EaglerProfile_defaultOptionsTextures = $rt_createArrayFromData(jl_String, [$rt_s(1715), $rt_s(1716), $rt_s(1717), $rt_s(1718), $rt_s(1719), $rt_s(1720), $rt_s(1721), $rt_s(1722), $rt_s(1723), $rt_s(1724), $rt_s(1725), $rt_s(1726), $rt_s(1727), $rt_s(1728), $rt_s(1729), $rt_s(1730), $rt_s(1731), $rt_s(1732)]);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $usernameDefaultWords, var$3, var$4, var$5, $ptr);
    }
    function nms_Session() {
        var a = this; jl_Object.call(a);
        a.$username1 = null;
        a.$sessionId = null;
    }
    var nms_Session_registeredBlocksList = null;
    var nms_Session_$clinitCalled = false;
    function nms_Session_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_Session_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Session_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_Session__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_Session_$callClinit = $rt_eraseClinit(nms_Session);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_Session__init_0(var_0, var_1) {
        var var_2 = new nms_Session();
        nms_Session__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_Session__init_($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Session_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$username1 = $var1;
            $this.$sessionId = $var2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_Session__clinit_() {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = ju_ArrayList__init_0();
            nms_Session_registeredBlocksList = var$1;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Block_stone;
            $ptr = 2;
        case 2:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_cobblestone;
            $ptr = 3;
        case 3:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_brick;
            $ptr = 4;
        case 4:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_dirt;
            $ptr = 5;
        case 5:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_planks;
            $ptr = 6;
        case 6:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_wood;
            $ptr = 7;
        case 7:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_leaves;
            $ptr = 8;
        case 8:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_torchWood;
            $ptr = 9;
        case 9:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_stairSingle;
            $ptr = 10;
        case 10:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_glass;
            $ptr = 11;
        case 11:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_cobblestoneMossy;
            $ptr = 12;
        case 12:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_sapling;
            $ptr = 13;
        case 13:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_plantYellow;
            $ptr = 14;
        case 14:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_plantRed;
            $ptr = 15;
        case 15:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_mushroomBrown;
            $ptr = 16;
        case 16:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_mushroomRed;
            $ptr = 17;
        case 17:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_sand;
            $ptr = 18;
        case 18:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_gravel;
            $ptr = 19;
        case 19:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_sponge;
            $ptr = 20;
        case 20:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_cloth;
            $ptr = 21;
        case 21:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_oreCoal;
            $ptr = 22;
        case 22:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_oreIron;
            $ptr = 23;
        case 23:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_oreGold;
            $ptr = 24;
        case 24:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_blockSteel;
            $ptr = 25;
        case 25:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_blockGold;
            $ptr = 26;
        case 26:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_bookShelf;
            $ptr = 27;
        case 27:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_tnt;
            $ptr = 28;
        case 28:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Session_registeredBlocksList;
            var$2 = nms_Block_obsidian;
            $ptr = 29;
        case 29:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nms_GuiIngame() {
        var a = this; nms_Gui.call(a);
        a.$chatMessageList = null;
        a.$rand0 = null;
        a.$mc1 = null;
        a.$field_933_a = null;
        a.$updateCounter = 0;
        a.$recordPlaying = null;
        a.$recordPlayingUpFor = 0;
        a.$field_22065_l = 0;
        a.$field_6446_b = 0.0;
        a.$prevVignetteBrightness = 0.0;
    }
    var nms_GuiIngame_itemRenderer = null;
    function nms_GuiIngame_renderGameOverlay($this, $var1, $var2, $var3, $var4) {
        var $var5, $var11, $var6, $var7, $var8, $var9, $var27, $var10, $var25, var$14, $var26, $var15, $var17, $var16, $var18, $var12, $var13, $var14, $var31, $var20, $var28, $var17_0, $var19, $var33, $var23, $var24, $var29, $var30, $var21, var$34, $var32, $var22, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var22 = $thread.pop();$var32 = $thread.pop();var$34 = $thread.pop();$var21 = $thread.pop();$var30 = $thread.pop();$var29 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var33 = $thread.pop();$var19 = $thread.pop();$var17_0 = $thread.pop();$var28 = $thread.pop();$var20 = $thread.pop();$var31 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var26
            = $thread.pop();var$14 = $thread.pop();$var25 = $thread.pop();$var10 = $thread.pop();$var27 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var11 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = new nms_ScaledResolution;
            $var11 = $this.$mc1;
            nms_ScaledResolution__init_0($var5, $var11.$gameSettings, $var11.$displayWidth, $var11.$displayHeight);
            $var6 = nms_ScaledResolution_getScaledWidth($var5);
            $var7 = nms_ScaledResolution_getScaledHeight($var5);
            $var5 = $this.$mc1;
            $var8 = $var5.$fontRenderer;
            $var5 = $var5.$entityRenderer;
            $ptr = 1;
        case 1:
            nms_EntityRenderer_func_905_b($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3042;
            $ptr = 2;
        case 2:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            if (nmc_Minecraft_isFancyGraphicsEnabled()) {
                $var5 = $this.$mc1.$thePlayer;
                $ptr = 3;
                continue main;
            }
            $var9 = nms_InventoryPlayer_armorItemInSlot($this.$mc1.$thePlayer.$inventory, 3);
            if (!$this.$mc1.$gameSettings.$thirdPersonView && $var9 !== null) {
                $var2 = $var9.$itemID;
                $ptr = 17;
                continue main;
            }
            $var5 = $this.$mc1.$thePlayer;
            $var27 = $var5.$prevTimeInPortal;
            $var10 = $var27 + ($var5.$timeInPortal - $var27) * $var1;
            if ($var10 > 0.0) {
                $ptr = 16;
                continue main;
            }
            $var27 = 1.0;
            $var10 = 1.0;
            $var25 = 1.0;
            var$14 = 1.0;
            $ptr = 5;
            continue main;
        case 3:
            $tmp = nms_Entity_getEntityBrightness($var5, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = $tmp;
            $ptr = 4;
        case 4:
            nms_GuiIngame_renderVignette($this, $var27, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = nms_InventoryPlayer_armorItemInSlot($this.$mc1.$thePlayer.$inventory, 3);
            if (!$this.$mc1.$gameSettings.$thirdPersonView && $var9 !== null) {
                $var2 = $var9.$itemID;
                $ptr = 17;
                continue main;
            }
            $var5 = $this.$mc1.$thePlayer;
            $var27 = $var5.$prevTimeInPortal;
            $var10 = $var27 + ($var5.$timeInPortal - $var27) * $var1;
            if ($var10 > 0.0) {
                $ptr = 16;
                continue main;
            }
            $var27 = 1.0;
            $var10 = 1.0;
            $var25 = 1.0;
            var$14 = 1.0;
            $ptr = 5;
        case 5:
            olo_GL11_glColor4f($var27, $var10, $var25, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3553;
            $var5 = $this.$mc1.$renderEngine;
            $var11 = $rt_s(1733);
            $ptr = 6;
        case 6:
            $tmp = nms_RenderEngine_getTexture($var5, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $ptr = 7;
        case 7:
            olo_GL11_glBindTexture($var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $this.$mc1.$thePlayer.$inventory;
            $this.$zLevel = (-90.0);
            $var26 = $var6 / 2 | 0;
            $var4 = $var26 - 91 | 0;
            $var15 = $var7 - 22 | 0;
            $var17 = 0;
            $var16 = 0;
            $var2 = 182;
            $var3 = 22;
            $ptr = 8;
        case 8:
            nms_Gui_drawTexturedModalRect($this, $var4, $var15, $var17, $var16, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = ($var4 - 1 | 0) + ($var11.$currentItem * 20 | 0) | 0;
            $var3 = $var15 - 1 | 0;
            $var15 = 0;
            $var17 = 22;
            $var16 = 24;
            $var18 = 22;
            $ptr = 9;
        case 9:
            nms_Gui_drawTexturedModalRect($this, $var2, $var3, $var15, $var17, $var16, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3553;
            $var5 = $this.$mc1.$renderEngine;
            $var11 = $rt_s(1734);
            $ptr = 10;
        case 10:
            $tmp = nms_RenderEngine_getTexture($var5, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $ptr = 11;
        case 11:
            olo_GL11_glBindTexture($var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3042;
            $ptr = 12;
        case 12:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 775;
            $var3 = 769;
            $ptr = 13;
        case 13:
            olo_GL11_glBlendFunc($var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var26 - 7 | 0;
            $var3 = ($var7 / 2 | 0) - 7 | 0;
            $var15 = 0;
            $var17 = 0;
            $var16 = 16;
            $var18 = 16;
            $ptr = 14;
        case 14:
            nms_Gui_drawTexturedModalRect($this, $var2, $var3, $var15, $var17, $var16, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3042;
            $ptr = 15;
        case 15:
            olo_GL11_glDisable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$mc1.$thePlayer;
            $var2 = $var5.$field_9306_bj;
            $var12 = (($var2 / 3 | 0) % 2 | 0) != 1 ? 0 : 1;
            if ($var2 < 10)
                $var12 = 0;
            $var13 = $var5.$health;
            $var14 = $var5.$prevHealth;
            ju_Random_setSeed($this.$rand0, Long_fromInt($rt_imul($this.$updateCounter, 312871)));
            if (!nms_PlayerController_shouldDrawHUD($this.$mc1.$playerController)) {
                $var2 = 3042;
                $ptr = 19;
                continue main;
            }
            $var5 = $this.$mc1.$thePlayer;
            $ptr = 25;
            continue main;
        case 16:
            nms_GuiIngame_renderPortalOverlay($this, $var10, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = 1.0;
            $var10 = 1.0;
            $var25 = 1.0;
            var$14 = 1.0;
            $ptr = 5;
            continue main;
        case 17:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var2 == nms_Block_pumpkin.$blockID) {
                $ptr = 18;
                continue main;
            }
            $var5 = $this.$mc1.$thePlayer;
            $var27 = $var5.$prevTimeInPortal;
            $var10 = $var27 + ($var5.$timeInPortal - $var27) * $var1;
            if ($var10 > 0.0) {
                $ptr = 16;
                continue main;
            }
            $var27 = 1.0;
            $var10 = 1.0;
            $var25 = 1.0;
            var$14 = 1.0;
            $ptr = 5;
            continue main;
        case 18:
            nms_GuiIngame_renderPumpkinBlur($this, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$mc1.$thePlayer;
            $var27 = $var5.$prevTimeInPortal;
            $var10 = $var27 + ($var5.$timeInPortal - $var27) * $var1;
            if ($var10 > 0.0) {
                $ptr = 16;
                continue main;
            }
            $var27 = 1.0;
            $var10 = 1.0;
            $var25 = 1.0;
            var$14 = 1.0;
            $ptr = 5;
            continue main;
        case 19:
            olo_GL11_glDisable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 32826;
            $ptr = 20;
        case 20:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 21;
        case 21:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var27 = 180.0;
            $var10 = 1.0;
            $var25 = 0.0;
            var$14 = 0.0;
            $ptr = 22;
        case 22:
            olo_GL11_glRotatef($var27, $var10, $var25, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 23;
        case 23:
            nms_RenderHelper_enableStandardItemLighting();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 24;
        case 24:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var15 = 0;
            $var3 = $var26 - 90 | 0;
            $var17 = ($var7 - 16 | 0) - 3 | 0;
            if ($var15 >= 9) {
                $ptr = 26;
                continue main;
            }
            $var16 = ($var3 + ($var15 * 20 | 0) | 0) + 2 | 0;
            $ptr = 28;
            continue main;
        case 25:
            $tmp = nms_EntityPlayerSP_getPlayerArmorValue($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $tmp;
            $var16 = 0;
            $var17 = $var7 - 32 | 0;
            $var31 = $var26 + 91 | 0;
            $var20 = $rt_compare($var13, 4);
            if ($var16 >= 10) {
                $var5 = $this.$mc1.$thePlayer;
                nms_Material_$callClinit();
                $var11 = nms_Material_water;
                $ptr = 29;
                continue main;
            }
            if ($var15 > 0) {
                $var18 = ($var31 - ($var16 * 8 | 0) | 0) - 9 | 0;
                $var2 = $rt_compare(($var16 * 2 | 0) + 1 | 0, $var15);
                if ($var2 < 0) {
                    $var3 = 34;
                    $var28 = 9;
                    $var17_0 = 9;
                    $var19 = 9;
                    $ptr = 68;
                    continue main;
                }
                if (!$var2) {
                    $var3 = 25;
                    $var28 = 9;
                    $var17_0 = 9;
                    $var19 = 9;
                    $ptr = 72;
                    continue main;
                }
                if ($var2 > 0) {
                    $var2 = 16;
                    $var3 = 9;
                    $var28 = 9;
                    $var17_0 = 9;
                    $ptr = 75;
                    continue main;
                }
            }
            $var28 = 0;
            if ($var12)
                $var28 = 1;
            $var19 = $var4 + ($var16 * 8 | 0) | 0;
            $var33 = $var20 > 0 ? $var17 : $var17 + ju_Random_nextInt($this.$rand0, 2) | 0;
            $var3 = 16 + ($var28 * 9 | 0) | 0;
            $var18 = 0;
            $var28 = 9;
            $var2 = 9;
            $ptr = 76;
            continue main;
        case 26:
            nms_RenderHelper_disableStandardItemLighting();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 32826;
            $ptr = 27;
        case 27:
            olo_GL11_glDisable($var2);
            if ($rt_suspending()) {
                break main;
            }
            if (nms_EntityPlayer_func_22060_M($this.$mc1.$thePlayer) > 0) {
                $var2 = 2929;
                $ptr = 30;
                continue main;
            }
            $var5 = $this.$mc1;
            if (!$var5.$gameSettings.$showDebugInfo) {
                $var5 = $rt_s(1735);
                $var27 = 2.0;
                $var10 = 2.0;
                $var2 = 16777215;
                $ptr = 32;
                continue main;
            }
            $var5 = $var5.$debug;
            $var11 = jl_StringBuilder__init_0();
            $var23 = $rt_s(1736);
            $ptr = 33;
            continue main;
        case 28:
            nms_GuiIngame_renderInventorySlot($this, $var15, $var16, $var17, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $var15 + 1 | 0;
            if ($var15 >= 9) {
                $ptr = 26;
                continue main;
            }
            $var16 = ($var3 + ($var15 * 20 | 0) | 0) + 2 | 0;
            continue main;
        case 29:
            $tmp = nms_Entity_isInsideOfMaterial($var5, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2) {
                $var2 = jl_Math_ceil(($this.$mc1.$thePlayer.$air - 2 | 0) * 10.0 / 300.0) | 0;
                $var17_0 = (jl_Math_ceil($this.$mc1.$thePlayer.$air * 10.0 / 300.0) | 0) - $var2 | 0;
                $var18 = 0;
                $var15 = $var2 + $var17_0 | 0;
                $var31 = $var17 - 9 | 0;
                if ($var18 < $var15) {
                    if ($var18 >= $var2) {
                        $var3 = $var4 + ($var18 * 8 | 0) | 0;
                        $var17 = 25;
                        $var16 = 18;
                        $var28 = 9;
                        $var17_0 = 9;
                        $ptr = 73;
                        continue main;
                    }
                    $var3 = $var4 + ($var18 * 8 | 0) | 0;
                    $var17 = 16;
                    $var16 = 18;
                    $var28 = 9;
                    $var17_0 = 9;
                    $ptr = 74;
                    continue main;
                }
            }
            $var2 = 3042;
            $ptr = 19;
            continue main;
        case 30:
            olo_GL11_glDisable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3008;
            $ptr = 31;
        case 31:
            olo_GL11_glDisable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_EntityPlayer_func_22060_M($this.$mc1.$thePlayer);
            $var27 = $var2 / 100.0;
            if ($var27 > 1.0)
                $var27 = 1.0 - ($var2 - 100 | 0) / 10.0;
            $var17 = (220.0 * $var27 | 0) << 24 | 1052704;
            $var2 = 0;
            $var3 = 0;
            $ptr = 69;
            continue main;
        case 32:
            nms_FontRenderer_drawStringWithShadow($var8, $var5, $var27, $var10, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$recordPlayingUpFor;
            if ($var2 > 0) {
                $var25 = $var2 - $var1;
                $var16 = $var25 * 256.0 / 20.0 | 0;
                if ($var16 > 255)
                    $var16 = 255;
                if ($var16 > 0) {
                    $ptr = 82;
                    continue main;
                }
            }
            $var26 = 10;
            $var31 = 0;
            if ($this.$mc1.$currentScreen instanceof nms_GuiChat) {
                $var26 = 20;
                $var31 = 1;
            }
            $var2 = 3042;
            $ptr = 77;
            continue main;
        case 33:
            $tmp = jl_StringBuilder_append($var11, $var23);
            if ($rt_suspending()) {
                break main;
            }
            $var23 = $tmp;
            $ptr = 34;
        case 34:
            $tmp = jl_StringBuilder_append($var23, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            jl_StringBuilder_append5($var5, 41);
            $ptr = 35;
        case 35:
            $tmp = jl_StringBuilder_toString($var11);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var27 = 2.0;
            $var10 = 2.0;
            $var2 = 16777215;
            $ptr = 36;
        case 36:
            nms_FontRenderer_drawStringWithShadow($var8, $var5, $var27, $var10, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$mc1;
            $ptr = 37;
        case 37:
            $tmp = nmc_Minecraft_func_6241_m($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var27 = 2.0;
            $var10 = 12.0;
            $var2 = 16777215;
            $ptr = 38;
        case 38:
            nms_FontRenderer_drawStringWithShadow($var8, $var5, $var27, $var10, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$mc1;
            $ptr = 39;
        case 39:
            $tmp = nmc_Minecraft_func_6262_n($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var27 = 2.0;
            $var10 = 22.0;
            $var2 = 16777215;
            $ptr = 40;
        case 40:
            nms_FontRenderer_drawStringWithShadow($var8, $var5, $var27, $var10, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$mc1;
            $ptr = 41;
        case 41:
            $tmp = nmc_Minecraft_func_6245_o($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var27 = 2.0;
            $var10 = 32.0;
            $var2 = 16777215;
            $ptr = 42;
        case 42:
            nms_FontRenderer_drawStringWithShadow($var8, $var5, $var27, $var10, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$mc1;
            $ptr = 43;
        case 43:
            $tmp = nmc_Minecraft_func_21002_o($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var27 = 2.0;
            $var10 = 42.0;
            $var2 = 16777215;
            $ptr = 44;
        case 44:
            nms_FontRenderer_drawStringWithShadow($var8, $var5, $var27, $var10, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 45;
        case 45:
            $tmp = nle_EagRuntime_maxMemory();
            if ($rt_suspending()) {
                break main;
            }
            $var24 = $tmp;
            $ptr = 46;
        case 46:
            $tmp = nle_EagRuntime_totalMemory();
            if ($rt_suspending()) {
                break main;
            }
            $var29 = $tmp;
            $ptr = 47;
        case 47:
            $tmp = nle_EagRuntime_freeMemory();
            if ($rt_suspending()) {
                break main;
            }
            $var30 = $tmp;
            $var21 = Long_sub($var29, $var30);
            $var30 = Long_div(Long_mul($var21, Long_fromInt(100)), $var24);
            $var21 = Long_div(Long_div($var21, Long_fromInt(1024)), Long_fromInt(1024));
            var$34 = Long_div(Long_div($var24, Long_fromInt(1024)), Long_fromInt(1024));
            $var5 = jl_StringBuilder__init_0();
            $var11 = $rt_s(1737);
            $ptr = 48;
        case 48:
            $tmp = jl_StringBuilder_append($var5, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var11 = jl_StringBuilder_append2($var11, $var30);
            $var23 = $rt_s(1738);
            $ptr = 49;
        case 49:
            $tmp = jl_StringBuilder_append($var11, $var23);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var11 = jl_StringBuilder_append2($var11, $var21);
            $var23 = $rt_s(1739);
            $ptr = 50;
        case 50:
            $tmp = jl_StringBuilder_append($var11, $var23);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var11 = jl_StringBuilder_append2($var11, var$34);
            $var23 = $rt_s(1740);
            $ptr = 51;
        case 51:
            jl_StringBuilder_append($var11, $var23);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 52;
        case 52:
            $tmp = jl_StringBuilder_toString($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var23 = $tmp;
            $var2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var23) | 0) - 2 | 0;
            $var3 = 2;
            $var4 = 14737632;
            $ptr = 53;
        case 53:
            nms_Gui_drawString($this, $var8, $var23, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var24 = Long_div(Long_mul($var29, Long_fromInt(100)), $var24);
            $var29 = Long_div(Long_div($var29, Long_fromInt(1024)), Long_fromInt(1024));
            $var5 = jl_StringBuilder__init_0();
            $var11 = $rt_s(1741);
            $ptr = 54;
        case 54:
            $tmp = jl_StringBuilder_append($var5, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var11 = jl_StringBuilder_append2($var11, $var24);
            $var23 = $rt_s(1738);
            $ptr = 55;
        case 55:
            $tmp = jl_StringBuilder_append($var11, $var23);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var11 = jl_StringBuilder_append2($var11, $var29);
            $var23 = $rt_s(1742);
            $ptr = 56;
        case 56:
            jl_StringBuilder_append($var11, $var23);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 57;
        case 57:
            $tmp = jl_StringBuilder_toString($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 2 | 0;
            $var3 = 12;
            $var4 = 14737632;
            $ptr = 58;
        case 58:
            nms_Gui_drawString($this, $var8, $var5, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var32 = $this.$mc1.$thePlayer.$posX;
            $var5 = jl_StringBuilder__init_0();
            $var11 = $rt_s(1743);
            $ptr = 59;
        case 59:
            $tmp = jl_StringBuilder_append($var5, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            jl_StringBuilder_append4($var11, $var32);
            $ptr = 60;
        case 60:
            $tmp = jl_StringBuilder_toString($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var2 = 2;
            $var3 = 64;
            $var4 = 14737632;
            $ptr = 61;
        case 61:
            nms_Gui_drawString($this, $var8, $var5, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var32 = $this.$mc1.$thePlayer.$posY;
            $var5 = jl_StringBuilder__init_0();
            $var11 = $rt_s(1744);
            $ptr = 62;
        case 62:
            $tmp = jl_StringBuilder_append($var5, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            jl_StringBuilder_append4($var11, $var32);
            $ptr = 63;
        case 63:
            $tmp = jl_StringBuilder_toString($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var2 = 2;
            $var3 = 72;
            $var4 = 14737632;
            $ptr = 64;
        case 64:
            nms_Gui_drawString($this, $var8, $var5, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var32 = $this.$mc1.$thePlayer.$posZ;
            $var5 = jl_StringBuilder__init_0();
            $var11 = $rt_s(1745);
            $ptr = 65;
        case 65:
            $tmp = jl_StringBuilder_append($var5, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            jl_StringBuilder_append4($var11, $var32);
            $ptr = 66;
        case 66:
            $tmp = jl_StringBuilder_toString($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var2 = 2;
            $var3 = 80;
            $var4 = 14737632;
            $ptr = 67;
        case 67:
            nms_Gui_drawString($this, $var8, $var5, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$recordPlayingUpFor;
            if ($var2 > 0) {
                $var25 = $var2 - $var1;
                $var16 = $var25 * 256.0 / 20.0 | 0;
                if ($var16 > 255)
                    $var16 = 255;
                if ($var16 > 0) {
                    $ptr = 82;
                    continue main;
                }
            }
            $var26 = 10;
            $var31 = 0;
            if ($this.$mc1.$currentScreen instanceof nms_GuiChat) {
                $var26 = 20;
                $var31 = 1;
            }
            $var2 = 3042;
            $ptr = 77;
            continue main;
        case 68:
            nms_Gui_drawTexturedModalRect($this, $var18, $var17, $var3, $var28, $var17_0, $var19);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var2) {
                $var3 = 25;
                $var28 = 9;
                $var17_0 = 9;
                $var19 = 9;
                $ptr = 72;
                continue main;
            }
            if ($var2 > 0) {
                $var2 = 16;
                $var3 = 9;
                $var28 = 9;
                $var17_0 = 9;
                $ptr = 75;
                continue main;
            }
            $var28 = 0;
            if ($var12)
                $var28 = 1;
            $var19 = $var4 + ($var16 * 8 | 0) | 0;
            $var33 = $var20 > 0 ? $var17 : $var17 + ju_Random_nextInt($this.$rand0, 2) | 0;
            $var3 = 16 + ($var28 * 9 | 0) | 0;
            $var18 = 0;
            $var28 = 9;
            $var2 = 9;
            $ptr = 76;
            continue main;
        case 69:
            nms_Gui_drawRect($this, $var2, $var3, $var6, $var7, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3008;
            $ptr = 70;
        case 70:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 2929;
            $ptr = 71;
        case 71:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$mc1;
            if (!$var5.$gameSettings.$showDebugInfo) {
                $var5 = $rt_s(1735);
                $var27 = 2.0;
                $var10 = 2.0;
                $var2 = 16777215;
                $ptr = 32;
                continue main;
            }
            $var5 = $var5.$debug;
            $var11 = jl_StringBuilder__init_0();
            $var23 = $rt_s(1736);
            $ptr = 33;
            continue main;
        case 72:
            nms_Gui_drawTexturedModalRect($this, $var18, $var17, $var3, $var28, $var17_0, $var19);
            if ($rt_suspending()) {
                break main;
            }
            if ($var2 > 0) {
                $var2 = 16;
                $var3 = 9;
                $var28 = 9;
                $var17_0 = 9;
                $ptr = 75;
                continue main;
            }
            $var28 = 0;
            if ($var12)
                $var28 = 1;
            $var19 = $var4 + ($var16 * 8 | 0) | 0;
            $var33 = $var20 > 0 ? $var17 : $var17 + ju_Random_nextInt($this.$rand0, 2) | 0;
            $var3 = 16 + ($var28 * 9 | 0) | 0;
            $var18 = 0;
            $var28 = 9;
            $var2 = 9;
            $ptr = 76;
            continue main;
        case 73:
            nms_Gui_drawTexturedModalRect($this, $var3, $var31, $var17, $var16, $var28, $var17_0);
            if ($rt_suspending()) {
                break main;
            }
            $var18 = $var18 + 1 | 0;
            if ($var18 >= $var15) {
                $var2 = 3042;
                $ptr = 19;
                continue main;
            }
            if ($var18 >= $var2) {
                $var3 = $var4 + ($var18 * 8 | 0) | 0;
                $var17 = 25;
                $var16 = 18;
                $var28 = 9;
                $var17_0 = 9;
                continue main;
            }
            $var3 = $var4 + ($var18 * 8 | 0) | 0;
            $var17 = 16;
            $var16 = 18;
            $var28 = 9;
            $var17_0 = 9;
            $ptr = 74;
        case 74:
            nms_Gui_drawTexturedModalRect($this, $var3, $var31, $var17, $var16, $var28, $var17_0);
            if ($rt_suspending()) {
                break main;
            }
            $var18 = $var18 + 1 | 0;
            if ($var18 >= $var15) {
                $var2 = 3042;
                $ptr = 19;
                continue main;
            }
            if ($var18 >= $var2) {
                $var3 = $var4 + ($var18 * 8 | 0) | 0;
                $var17 = 25;
                $var16 = 18;
                $var28 = 9;
                $var17_0 = 9;
                $ptr = 73;
                continue main;
            }
            $var3 = $var4 + ($var18 * 8 | 0) | 0;
            $var17 = 16;
            $var16 = 18;
            $var28 = 9;
            $var17_0 = 9;
            continue main;
        case 75:
            nms_Gui_drawTexturedModalRect($this, $var18, $var17, $var2, $var3, $var28, $var17_0);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = 0;
            if ($var12)
                $var28 = 1;
            $var19 = $var4 + ($var16 * 8 | 0) | 0;
            $var33 = $var20 > 0 ? $var17 : $var17 + ju_Random_nextInt($this.$rand0, 2) | 0;
            $var3 = 16 + ($var28 * 9 | 0) | 0;
            $var18 = 0;
            $var28 = 9;
            $var2 = 9;
            $ptr = 76;
        case 76:
            nms_Gui_drawTexturedModalRect($this, $var19, $var33, $var3, $var18, $var28, $var2);
            if ($rt_suspending()) {
                break main;
            }
            if ($var12) {
                $var2 = $rt_compare(($var16 * 2 | 0) + 1 | 0, $var14);
                if ($var2 < 0) {
                    $var3 = 70;
                    $var18 = 0;
                    $var28 = 9;
                    $var17_0 = 9;
                    $ptr = 87;
                    continue main;
                }
                if (!$var2) {
                    $var2 = 79;
                    $var3 = 0;
                    $var18 = 9;
                    $var28 = 9;
                    $ptr = 93;
                    continue main;
                }
            }
            $var2 = $rt_compare(($var16 * 2 | 0) + 1 | 0, $var13);
            if ($var2 < 0) {
                $var3 = 52;
                $var18 = 0;
                $var28 = 9;
                $var17_0 = 9;
                $ptr = 86;
                continue main;
            }
            if (!$var2) {
                $var2 = 61;
                $var3 = 0;
                $var18 = 9;
                $var28 = 9;
                $ptr = 92;
                continue main;
            }
            $var16 = $var16 + 1 | 0;
            if ($var16 >= 10) {
                $var5 = $this.$mc1.$thePlayer;
                nms_Material_$callClinit();
                $var11 = nms_Material_water;
                $ptr = 29;
                continue main;
            }
            if ($var15 > 0) {
                $var18 = ($var31 - ($var16 * 8 | 0) | 0) - 9 | 0;
                $var2 = $rt_compare(($var16 * 2 | 0) + 1 | 0, $var15);
                if ($var2 < 0) {
                    $var3 = 34;
                    $var28 = 9;
                    $var17_0 = 9;
                    $var19 = 9;
                    $ptr = 68;
                    continue main;
                }
                if (!$var2) {
                    $var3 = 25;
                    $var28 = 9;
                    $var17_0 = 9;
                    $var19 = 9;
                    $ptr = 72;
                    continue main;
                }
                if ($var2 > 0) {
                    $var2 = 16;
                    $var3 = 9;
                    $var28 = 9;
                    $var17_0 = 9;
                    $ptr = 75;
                    continue main;
                }
            }
            $var28 = 0;
            if ($var12)
                $var28 = 1;
            $var19 = $var4 + ($var16 * 8 | 0) | 0;
            $var33 = $var20 > 0 ? $var17 : $var17 + ju_Random_nextInt($this.$rand0, 2) | 0;
            $var3 = 16 + ($var28 * 9 | 0) | 0;
            $var18 = 0;
            $var28 = 9;
            $var2 = 9;
            continue main;
        case 77:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 770;
            $var3 = 771;
            $ptr = 78;
        case 78:
            olo_GL11_glBlendFunc($var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3008;
            $ptr = 79;
        case 79:
            olo_GL11_glDisable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 80;
        case 80:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0.0;
            $var27 = $var7 - 48 | 0;
            $var10 = 0.0;
            $ptr = 81;
        case 81:
            olo_GL11_glTranslatef($var1, $var27, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var17 = 0;
            while ($var17 < ju_ArrayList_size($this.$chatMessageList) && $var17 < $var26) {
                if (!((ju_ArrayList_get($this.$chatMessageList, $var17)).$updateCounter1 >= 200 && !$var31)) {
                    $var32 = (1.0 - (ju_ArrayList_get($this.$chatMessageList, $var17)).$updateCounter1 / 200.0) * 10.0;
                    if ($var32 < 0.0)
                        $var32 = 0.0;
                    if ($var32 > 1.0)
                        $var32 = 1.0;
                    $var20 = 255.0 * $var32 * $var32 | 0;
                    if ($var31)
                        $var20 = 255;
                    if ($var20 > 0) {
                        $var33 = 2;
                        $var22 = ( -$var17 | 0) * 9 | 0;
                        $var23 = (ju_ArrayList_get($this.$chatMessageList, $var17)).$message0;
                        $var2 = $var22 - 1 | 0;
                        $var3 = 322;
                        $var4 = $var22 + 8 | 0;
                        $var6 = ($var20 / 2 | 0) << 24;
                        $ptr = 97;
                        continue main;
                    }
                }
                $var17 = $var17 + 1 | 0;
            }
            $ptr = 88;
            continue main;
        case 82:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var26;
            $var27 = $var7 - 48 | 0;
            $var10 = 0.0;
            $ptr = 83;
        case 83:
            olo_GL11_glTranslatef($var1, $var27, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3042;
            $ptr = 84;
        case 84:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 770;
            $var3 = 771;
            $ptr = 85;
        case 85:
            olo_GL11_glBlendFunc($var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$field_22065_l) {
                $var1 = $var25 / 50.0;
                $var27 = 0.699999988079071;
                $var10 = 0.6000000238418579;
                $ptr = 91;
                continue main;
            }
            $var5 = $this.$recordPlaying;
            $var2 = ( -nms_FontRenderer_getStringWidth($var8, $var5) | 0) / 2 | 0;
            $var3 = (-4);
            $var4 = 16777215 + ($var16 << 24) | 0;
            $ptr = 94;
            continue main;
        case 86:
            nms_Gui_drawTexturedModalRect($this, $var19, $var33, $var3, $var18, $var28, $var17_0);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var2) {
                $var2 = 61;
                $var3 = 0;
                $var18 = 9;
                $var28 = 9;
                $ptr = 92;
                continue main;
            }
            $var16 = $var16 + 1 | 0;
            if ($var16 >= 10) {
                $var5 = $this.$mc1.$thePlayer;
                nms_Material_$callClinit();
                $var11 = nms_Material_water;
                $ptr = 29;
                continue main;
            }
            if ($var15 > 0) {
                $var18 = ($var31 - ($var16 * 8 | 0) | 0) - 9 | 0;
                $var2 = $rt_compare(($var16 * 2 | 0) + 1 | 0, $var15);
                if ($var2 < 0) {
                    $var3 = 34;
                    $var28 = 9;
                    $var17_0 = 9;
                    $var19 = 9;
                    $ptr = 68;
                    continue main;
                }
                if (!$var2) {
                    $var3 = 25;
                    $var28 = 9;
                    $var17_0 = 9;
                    $var19 = 9;
                    $ptr = 72;
                    continue main;
                }
                if ($var2 > 0) {
                    $var2 = 16;
                    $var3 = 9;
                    $var28 = 9;
                    $var17_0 = 9;
                    $ptr = 75;
                    continue main;
                }
            }
            $var28 = 0;
            if ($var12)
                $var28 = 1;
            $var19 = $var4 + ($var16 * 8 | 0) | 0;
            $var33 = $var20 > 0 ? $var17 : $var17 + ju_Random_nextInt($this.$rand0, 2) | 0;
            $var3 = 16 + ($var28 * 9 | 0) | 0;
            $var18 = 0;
            $var28 = 9;
            $var2 = 9;
            $ptr = 76;
            continue main;
        case 87:
            nms_Gui_drawTexturedModalRect($this, $var19, $var33, $var3, $var18, $var28, $var17_0);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var2) {
                $var2 = 79;
                $var3 = 0;
                $var18 = 9;
                $var28 = 9;
                $ptr = 93;
                continue main;
            }
            $var2 = $rt_compare(($var16 * 2 | 0) + 1 | 0, $var13);
            if ($var2 < 0) {
                $var3 = 52;
                $var18 = 0;
                $var28 = 9;
                $var17_0 = 9;
                $ptr = 86;
                continue main;
            }
            if (!$var2) {
                $var2 = 61;
                $var3 = 0;
                $var18 = 9;
                $var28 = 9;
                $ptr = 92;
                continue main;
            }
            $var16 = $var16 + 1 | 0;
            if ($var16 >= 10) {
                $var5 = $this.$mc1.$thePlayer;
                nms_Material_$callClinit();
                $var11 = nms_Material_water;
                $ptr = 29;
                continue main;
            }
            if ($var15 > 0) {
                $var18 = ($var31 - ($var16 * 8 | 0) | 0) - 9 | 0;
                $var2 = $rt_compare(($var16 * 2 | 0) + 1 | 0, $var15);
                if ($var2 < 0) {
                    $var3 = 34;
                    $var28 = 9;
                    $var17_0 = 9;
                    $var19 = 9;
                    $ptr = 68;
                    continue main;
                }
                if (!$var2) {
                    $var3 = 25;
                    $var28 = 9;
                    $var17_0 = 9;
                    $var19 = 9;
                    $ptr = 72;
                    continue main;
                }
                if ($var2 > 0) {
                    $var2 = 16;
                    $var3 = 9;
                    $var28 = 9;
                    $var17_0 = 9;
                    $ptr = 75;
                    continue main;
                }
            }
            $var28 = 0;
            if ($var12)
                $var28 = 1;
            $var19 = $var4 + ($var16 * 8 | 0) | 0;
            $var33 = $var20 > 0 ? $var17 : $var17 + ju_Random_nextInt($this.$rand0, 2) | 0;
            $var3 = 16 + ($var28 * 9 | 0) | 0;
            $var18 = 0;
            $var28 = 9;
            $var2 = 9;
            $ptr = 76;
            continue main;
        case 88:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3008;
            $ptr = 89;
        case 89:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3042;
            $ptr = 90;
        case 90:
            olo_GL11_glDisable($var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 91:
            $tmp = npja_Color_HSBtoRGB($var1, $var27, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var17 = $var2 & 16777215;
            $var5 = $this.$recordPlaying;
            $var2 = ( -nms_FontRenderer_getStringWidth($var8, $var5) | 0) / 2 | 0;
            $var3 = (-4);
            $var4 = $var17 + ($var16 << 24) | 0;
            $ptr = 94;
            continue main;
        case 92:
            nms_Gui_drawTexturedModalRect($this, $var19, $var33, $var2, $var3, $var18, $var28);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $var16 + 1 | 0;
            if ($var16 >= 10) {
                $var5 = $this.$mc1.$thePlayer;
                nms_Material_$callClinit();
                $var11 = nms_Material_water;
                $ptr = 29;
                continue main;
            }
            if ($var15 > 0) {
                $var18 = ($var31 - ($var16 * 8 | 0) | 0) - 9 | 0;
                $var2 = $rt_compare(($var16 * 2 | 0) + 1 | 0, $var15);
                if ($var2 < 0) {
                    $var3 = 34;
                    $var28 = 9;
                    $var17_0 = 9;
                    $var19 = 9;
                    $ptr = 68;
                    continue main;
                }
                if (!$var2) {
                    $var3 = 25;
                    $var28 = 9;
                    $var17_0 = 9;
                    $var19 = 9;
                    $ptr = 72;
                    continue main;
                }
                if ($var2 > 0) {
                    $var2 = 16;
                    $var3 = 9;
                    $var28 = 9;
                    $var17_0 = 9;
                    $ptr = 75;
                    continue main;
                }
            }
            $var28 = 0;
            if ($var12)
                $var28 = 1;
            $var19 = $var4 + ($var16 * 8 | 0) | 0;
            $var33 = $var20 > 0 ? $var17 : $var17 + ju_Random_nextInt($this.$rand0, 2) | 0;
            $var3 = 16 + ($var28 * 9 | 0) | 0;
            $var18 = 0;
            $var28 = 9;
            $var2 = 9;
            $ptr = 76;
            continue main;
        case 93:
            nms_Gui_drawTexturedModalRect($this, $var19, $var33, $var2, $var3, $var18, $var28);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $rt_compare(($var16 * 2 | 0) + 1 | 0, $var13);
            if ($var2 < 0) {
                $var3 = 52;
                $var18 = 0;
                $var28 = 9;
                $var17_0 = 9;
                $ptr = 86;
                continue main;
            }
            if (!$var2) {
                $var2 = 61;
                $var3 = 0;
                $var18 = 9;
                $var28 = 9;
                $ptr = 92;
                continue main;
            }
            $var16 = $var16 + 1 | 0;
            if ($var16 >= 10) {
                $var5 = $this.$mc1.$thePlayer;
                nms_Material_$callClinit();
                $var11 = nms_Material_water;
                $ptr = 29;
                continue main;
            }
            if ($var15 > 0) {
                $var18 = ($var31 - ($var16 * 8 | 0) | 0) - 9 | 0;
                $var2 = $rt_compare(($var16 * 2 | 0) + 1 | 0, $var15);
                if ($var2 < 0) {
                    $var3 = 34;
                    $var28 = 9;
                    $var17_0 = 9;
                    $var19 = 9;
                    $ptr = 68;
                    continue main;
                }
                if (!$var2) {
                    $var3 = 25;
                    $var28 = 9;
                    $var17_0 = 9;
                    $var19 = 9;
                    $ptr = 72;
                    continue main;
                }
                if ($var2 > 0) {
                    $var2 = 16;
                    $var3 = 9;
                    $var28 = 9;
                    $var17_0 = 9;
                    $ptr = 75;
                    continue main;
                }
            }
            $var28 = 0;
            if ($var12)
                $var28 = 1;
            $var19 = $var4 + ($var16 * 8 | 0) | 0;
            $var33 = $var20 > 0 ? $var17 : $var17 + ju_Random_nextInt($this.$rand0, 2) | 0;
            $var3 = 16 + ($var28 * 9 | 0) | 0;
            $var18 = 0;
            $var28 = 9;
            $var2 = 9;
            $ptr = 76;
            continue main;
        case 94:
            nms_FontRenderer_drawString($var8, $var5, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3042;
            $ptr = 95;
        case 95:
            olo_GL11_glDisable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 96;
        case 96:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var26 = 10;
            $var31 = 0;
            if ($this.$mc1.$currentScreen instanceof nms_GuiChat) {
                $var26 = 20;
                $var31 = 1;
            }
            $var2 = 3042;
            $ptr = 77;
            continue main;
        case 97:
            nms_Gui_drawRect($this, $var33, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3042;
            $ptr = 98;
        case 98:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 2.0;
            $var27 = $var22;
            $var2 = 16777215 + ($var20 << 24) | 0;
            $ptr = 99;
        case 99:
            nms_FontRenderer_drawStringWithShadow($var8, $var23, $var1, $var27, $var2);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var17 = $var17 + 1 | 0;
                if ($var17 >= ju_ArrayList_size($this.$chatMessageList))
                    break;
                if ($var17 >= $var26)
                    break;
                if ((ju_ArrayList_get($this.$chatMessageList, $var17)).$updateCounter1 >= 200 && !$var31)
                    continue;
                $var32 = (1.0 - (ju_ArrayList_get($this.$chatMessageList, $var17)).$updateCounter1 / 200.0) * 10.0;
                if ($var32 < 0.0)
                    $var32 = 0.0;
                if ($var32 > 1.0)
                    $var32 = 1.0;
                $var20 = 255.0 * $var32 * $var32 | 0;
                if ($var31)
                    $var20 = 255;
                if ($var20 <= 0)
                    continue;
                else {
                    $var33 = 2;
                    $var22 = ( -$var17 | 0) * 9 | 0;
                    $var23 = (ju_ArrayList_get($this.$chatMessageList, $var17)).$message0;
                    $var2 = $var22 - 1 | 0;
                    $var3 = 322;
                    $var4 = $var22 + 8 | 0;
                    $var6 = ($var20 / 2 | 0) << 24;
                    $ptr = 97;
                    continue main;
                }
            }
            $ptr = 88;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var11, $var6, $var7, $var8, $var9, $var27, $var10, $var25, var$14, $var26, $var15, $var17, $var16, $var18, $var12, $var13, $var14, $var31, $var20, $var28, $var17_0, $var19, $var33, $var23, $var24, $var29, $var30, $var21, var$34, $var32, $var22, $ptr);
    }
    function nms_GuiIngame_renderPumpkinBlur($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, var$7, var$8, $var3, var$10, var$11, var$12, var$13, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var3 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = 2929;
            $ptr = 1;
        case 1:
            olo_GL11_glDisable(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 0;
            $ptr = 2;
        case 2:
            olo_GL11_glDepthMask(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 770;
            var$3 = 771;
            $ptr = 3;
        case 3:
            olo_GL11_glBlendFunc(var$4, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 1.0;
            var$6 = 1.0;
            var$7 = 1.0;
            var$8 = 1.0;
            $ptr = 4;
        case 4:
            nleo_GlStateManager_color(var$5, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 3008;
            $ptr = 5;
        case 5:
            olo_GL11_glDisable(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 3553;
            $var3 = $this.$mc1.$renderEngine;
            var$10 = $rt_s(1746);
            $ptr = 6;
        case 6:
            $tmp = nms_RenderEngine_getTexture($var3, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 7;
        case 7:
            olo_GL11_glBindTexture(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_Tessellator_instance;
            $ptr = 9;
        case 9:
            nms_Tessellator_startDrawingQuads($var3);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 0.0;
            var$12 = $var2;
            var$13 = (-90.0);
            var$14 = 0.0;
            var$15 = 1.0;
            $ptr = 10;
        case 10:
            nms_Tessellator_addVertexWithUV($var3, var$11, var$12, var$13, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $var1;
            var$14 = (-90.0);
            var$15 = 1.0;
            var$11 = 1.0;
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var3, var$13, var$12, var$14, var$15, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = (-90.0);
            var$11 = 1.0;
            var$12 = 0.0;
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertexWithUV($var3, var$13, var$14, var$15, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 0.0;
            var$14 = 0.0;
            var$15 = (-90.0);
            var$11 = 0.0;
            var$12 = 0.0;
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var3, var$13, var$14, var$15, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            nms_Tessellator_draw($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 1;
            $ptr = 15;
        case 15:
            olo_GL11_glDepthMask($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 2929;
            $ptr = 16;
        case 16:
            olo_GL11_glEnable($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 3008;
            $ptr = 17;
        case 17:
            olo_GL11_glEnable($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 1.0;
            var$8 = 1.0;
            var$5 = 1.0;
            var$6 = 1.0;
            $ptr = 18;
        case 18:
            nleo_GlStateManager_color(var$7, var$8, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, var$7, var$8, $var3, var$10, var$11, var$12, var$13, var$14, var$15, $ptr);
    }
    function nms_GuiIngame_renderVignette($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, $var4, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var4 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = 1.0 - $var1;
            if ($var1 < 0.0)
                $var1 = 0.0;
            if ($var1 > 1.0)
                $var1 = 1.0;
            var$4 = $this.$prevVignetteBrightness;
            $this.$prevVignetteBrightness = var$4 + ($var1 - var$4) * 0.01;
            var$5 = 2929;
            $ptr = 1;
        case 1:
            olo_GL11_glDisable(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 0;
            $ptr = 2;
        case 2:
            olo_GL11_glDepthMask(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 0;
            var$6 = 769;
            $ptr = 3;
        case 3:
            olo_GL11_glBlendFunc(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$prevVignetteBrightness;
            var$4 = 1.0;
            $ptr = 4;
        case 4:
            nleo_GlStateManager_color($var1, $var1, $var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 3553;
            $var4 = $this.$mc1.$renderEngine;
            var$8 = $rt_s(1747);
            $ptr = 5;
        case 5:
            $tmp = nms_RenderEngine_getTexture($var4, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 6;
        case 6:
            olo_GL11_glBindTexture(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = nms_Tessellator_instance;
            $ptr = 8;
        case 8:
            nms_Tessellator_startDrawingQuads($var4);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 0.0;
            var$10 = $var3;
            var$11 = (-90.0);
            var$12 = 0.0;
            var$13 = 1.0;
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var4, var$9, var$10, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $var2;
            var$13 = (-90.0);
            var$9 = 1.0;
            var$11 = 1.0;
            $ptr = 10;
        case 10:
            nms_Tessellator_addVertexWithUV($var4, var$12, var$10, var$13, var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 0.0;
            var$9 = (-90.0);
            var$10 = 1.0;
            var$11 = 0.0;
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var4, var$12, var$13, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = 0.0;
            var$13 = 0.0;
            var$9 = (-90.0);
            var$10 = 0.0;
            var$11 = 0.0;
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertexWithUV($var4, var$12, var$13, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_draw($var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 1;
            $ptr = 14;
        case 14:
            olo_GL11_glDepthMask($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 2929;
            $ptr = 15;
        case 15:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 1.0;
            var$4 = 1.0;
            var$14 = 1.0;
            var$15 = 1.0;
            $ptr = 16;
        case 16:
            nleo_GlStateManager_color($var1, var$4, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 770;
            $var3 = 771;
            $ptr = 17;
        case 17:
            olo_GL11_glBlendFunc($var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, $var4, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr);
    }
    function nms_GuiIngame_renderPortalOverlay($this, $var1, $var2, $var3) {
        var $var4, var$5, var$6, $var5, $var6, $var8, var$10, $var7, var$12, var$13, var$14, var$15, var$16, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var7 = $thread.pop();var$10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1 * $var1;
            $var4 = $var1 * $var1 * 0.800000011920929 + 0.20000000298023224;
            var$5 = 3008;
            $ptr = 1;
        case 1:
            olo_GL11_glDisable(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 2929;
            $ptr = 2;
        case 2:
            olo_GL11_glDisable(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 0;
            $ptr = 3;
        case 3:
            olo_GL11_glDepthMask(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 770;
            var$6 = 771;
            $ptr = 4;
        case 4:
            olo_GL11_glBlendFunc(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 1.0;
            $var6 = 1.0;
            $var1 = 1.0;
            $ptr = 5;
        case 5:
            nleo_GlStateManager_color($var5, $var6, $var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 3553;
            $var8 = $this.$mc1.$renderEngine;
            var$10 = $rt_s(266);
            $ptr = 6;
        case 6:
            $tmp = nms_RenderEngine_getTexture($var8, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 7;
        case 7:
            olo_GL11_glBindTexture(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = nms_Block_portal.$blockIndexInTexture;
            var$6 = var$5 % 16 | 0;
            $var4 = var$6 / 16.0;
            var$5 = var$5 / 16 | 0;
            $var5 = var$5 / 16.0;
            $var6 = (var$6 + 1 | 0) / 16.0;
            $var7 = (var$5 + 1 | 0) / 16.0;
            $ptr = 9;
        case 9:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = nms_Tessellator_instance;
            $ptr = 10;
        case 10:
            nms_Tessellator_startDrawingQuads($var8);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = 0.0;
            var$13 = $var3;
            var$14 = (-90.0);
            var$15 = $var4;
            var$16 = $var7;
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var8, var$12, var$13, var$14, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $var2;
            var$12 = (-90.0);
            var$17 = $var6;
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertexWithUV($var8, var$14, var$13, var$12, var$17, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = 0.0;
            var$13 = (-90.0);
            var$16 = $var5;
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var8, var$14, var$12, var$13, var$17, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$12 = 0.0;
            var$13 = (-90.0);
            $ptr = 14;
        case 14:
            nms_Tessellator_addVertexWithUV($var8, var$14, var$12, var$13, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            nms_Tessellator_draw($var8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 1;
            $ptr = 16;
        case 16:
            olo_GL11_glDepthMask($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 2929;
            $ptr = 17;
        case 17:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3008;
            $ptr = 18;
        case 18:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 1.0;
            $var4 = 1.0;
            $var5 = 1.0;
            $var6 = 1.0;
            $ptr = 19;
        case 19:
            nleo_GlStateManager_color($var1, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $var5, $var6, $var8, var$10, $var7, var$12, var$13, var$14, var$15, var$16, var$17, $ptr);
    }
    function nms_GuiIngame_renderInventorySlot($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, var$7, var$8, var$9, $var7, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var7 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = $this.$mc1.$thePlayer.$inventory.$mainInventory.data[$var1];
            if ($var5 === null)
                return;
            $var6 = $var5.$animationsToGo - $var4;
            $var1 = $rt_compare($var6, 0.0);
            if ($var1 > 0) {
                $ptr = 2;
                continue main;
            }
            var$7 = nms_GuiIngame_itemRenderer;
            var$8 = $this.$mc1;
            var$9 = var$8.$fontRenderer;
            var$8 = var$8.$renderEngine;
            $ptr = 1;
        case 1:
            nms_RenderItem_renderItemIntoGUI(var$7, var$9, var$8, $var5, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1 > 0) {
                $ptr = 7;
                continue main;
            }
            var$9 = nms_GuiIngame_itemRenderer;
            var$7 = $this.$mc1;
            var$8 = var$7.$fontRenderer;
            var$7 = var$7.$renderEngine;
            $ptr = 6;
            continue main;
        case 2:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 1.0 + $var6 / 5.0;
            var$11 = $var2 + 8 | 0;
            $var4 = var$11;
            var$12 = $var3 + 12 | 0;
            $var6 = var$12;
            var$13 = 0.0;
            $ptr = 3;
        case 3:
            olo_GL11_glTranslatef($var4, $var6, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 1.0 / $var7;
            $var6 = ($var7 + 1.0) / 2.0;
            $var7 = 1.0;
            $ptr = 4;
        case 4:
            olo_GL11_glScalef($var4, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var4 =  -var$11 | 0;
            $var6 =  -var$12 | 0;
            $var7 = 0.0;
            $ptr = 5;
        case 5:
            olo_GL11_glTranslatef($var4, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = nms_GuiIngame_itemRenderer;
            var$8 = $this.$mc1;
            var$9 = var$8.$fontRenderer;
            var$8 = var$8.$renderEngine;
            $ptr = 1;
            continue main;
        case 6:
            nms_RenderItem_renderItemOverlayIntoGUI(var$9, var$8, var$7, $var5, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$9 = nms_GuiIngame_itemRenderer;
            var$7 = $this.$mc1;
            var$8 = var$7.$fontRenderer;
            var$7 = var$7.$renderEngine;
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, var$9, $var7, var$11, var$12, var$13, $ptr);
    }
    function nms_GuiIngame_updateTick($this) {
        var $var1, var$2;
        $var1 = $this.$recordPlayingUpFor;
        if ($var1 > 0)
            $this.$recordPlayingUpFor = $var1 - 1 | 0;
        $this.$updateCounter = $this.$updateCounter + 1 | 0;
        $var1 = 0;
        while (true) {
            var$2 = $this.$chatMessageList;
            if ($var1 >= var$2.$size0)
                break;
            var$2 = ju_ArrayList_get(var$2, $var1);
            var$2.$updateCounter1 = var$2.$updateCounter1 + 1 | 0;
            $var1 = $var1 + 1 | 0;
        }
    }
    function nms_GuiIngame_addChatMessage($this, $var1) {
        var $var2, var$3, $var2_0, var$5, var$6;
        while (nms_FontRenderer_getStringWidth($this.$mc1.$fontRenderer, $var1) > 320) {
            $var2 = 1;
            while ($var2 < jl_String_length($var1)) {
                var$3 = $this.$mc1.$fontRenderer;
                $var2_0 = $var2 + 1 | 0;
                if (nms_FontRenderer_getStringWidth(var$3, jl_String_substring0($var1, 0, $var2_0)) > 320)
                    break;
                $var2 = $var2_0;
            }
            nms_GuiIngame_addChatMessage($this, jl_String_substring0($var1, 0, $var2));
            $var1 = jl_String_substring($var1, $var2);
        }
        var$5 = $this.$chatMessageList;
        var$3 = new nms_ChatLine;
        var$3.$message0 = $var1;
        var$3.$updateCounter1 = 0;
        ju_ArrayList_add0(var$5, 0, var$3);
        while (true) {
            $var1 = $this.$chatMessageList;
            var$6 = $var1.$size0;
            if (var$6 <= 50)
                break;
            ju_ArrayList_remove($var1, var$6 - 1 | 0);
        }
    }
    function nms_GuiIngame__clinit_() {
        nms_GuiIngame_itemRenderer = nms_RenderItem__init_0();
    }
    function nle_GuiScreenEditProfile() {
        var a = this; nms_GuiScreen.call(a);
        a.$parent = null;
        a.$username2 = null;
        a.$dropDownOpen = 0;
        a.$dropDownOptions = null;
        a.$slotsVisible = 0;
        a.$selectedSlot = 0;
        a.$scrollPos = 0;
        a.$skinsHeight = 0;
        a.$dragging = 0;
        a.$mousex = 0;
        a.$mousey = 0;
        a.$screenTitle = null;
        a.$button0 = null;
        a.$button1 = null;
        a.$button2 = null;
    }
    var nle_GuiScreenEditProfile_defaultOptions = null;
    var nle_GuiScreenEditProfile_defaultOptionsTextures = null;
    var nle_GuiScreenEditProfile_playerModel = null;
    function nle_GuiScreenEditProfile_$callClinit() {
        nle_GuiScreenEditProfile_$callClinit = $rt_eraseClinit(nle_GuiScreenEditProfile);
        nle_GuiScreenEditProfile__clinit_();
    }
    function nle_GuiScreenEditProfile__init_0(var_0) {
        var var_1 = new nle_GuiScreenEditProfile();
        nle_GuiScreenEditProfile__init_(var_1, var_0);
        return var_1;
    }
    function nle_GuiScreenEditProfile__init_($this, $parent) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$parent = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nle_GuiScreenEditProfile_$callClinit();
            nms_GuiScreen__init_($this);
            $this.$dropDownOpen = 0;
            $this.$slotsVisible = 0;
            $this.$selectedSlot = 0;
            $this.$scrollPos = (-1);
            $this.$skinsHeight = 0;
            $this.$dragging = 0;
            $this.$mousex = 0;
            $this.$mousey = 0;
            $this.$screenTitle = $rt_s(1748);
            $this.$parent = $parent;
            $ptr = 1;
        case 1:
            nle_GuiScreenEditProfile_reconcatDD($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $parent, $ptr);
    }
    function nle_GuiScreenEditProfile_reconcatDD($this) {
        var $n, var$2, $i, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$i = $thread.pop();var$2 = $thread.pop();$n = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlep_EaglerProfile_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $n = $rt_createArray(jl_String, nlep_EaglerProfile_skins.$size0);
            var$2 = $n.data;
            $i = 0;
            var$4 = var$2.length;
            while ($i < var$4) {
                var$2[$i] = (ju_ArrayList_get(nlep_EaglerProfile_skins, $i)).$name11;
                $i = $i + 1 | 0;
            }
            nle_GuiScreenEditProfile_$callClinit();
            var$2 = nle_GuiScreenEditProfile_defaultOptions;
            var$5 = var$2.data.length;
            var$6 = $rt_createArray(jl_String, var$4 + var$5 | 0);
            jl_System_fastArraycopy($n, 0, var$6, 0, var$4);
            jl_System_fastArraycopy(var$2, 0, var$6, var$4, var$5);
            $this.$dropDownOptions = var$6;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $n, var$2, $i, var$4, var$5, var$6, $ptr);
    }
    function nle_GuiScreenEditProfile_initGui($this) {
        var $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nlei_PlatformInput_enableRepeatEvents = 1;
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$2 = $rt_s(1749);
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_translateKey($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$screenTitle = var$2;
            var$3 = new nms_GuiTextField;
            var$4 = $this.$fontRenderer0;
            var$5 = (($this.$width1 / 2 | 0) - 20 | 0) + 1 | 0;
            var$6 = (($this.$height3 / 6 | 0) + 24 | 0) + 1 | 0;
            var$7 = 138;
            var$8 = 20;
            $ptr = 3;
        case 3:
            nlep_EaglerProfile_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_GuiTextField__init_(var$3, var$4, var$5, var$6, var$7, var$8, nlep_EaglerProfile_username);
            $this.$username2 = var$3;
            var$3.$isEnabled = 1;
            var$3.$maxStringLength = 16;
            var$5 = nlep_EaglerProfile_presetSkinId;
            $this.$selectedSlot = var$5 == (-1) ? nlep_EaglerProfile_customSkinId : var$5 + nlep_EaglerProfile_skins.$size0 | 0;
            var$2 = $this.$controlList;
            var$3 = new nms_GuiButton;
            var$8 = 200;
            var$5 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$6 = ($this.$height3 / 6 | 0) + 168 | 0;
            var$4 = $rt_s(1750);
            $ptr = 4;
        case 4:
            $tmp = nms_StringTranslate_translateKey($var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            nms_GuiButton__init_(var$3, var$8, var$5, var$6, var$4);
            $this.$button0 = var$3;
            $ptr = 5;
        case 5:
            ju_ArrayList_add(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$controlList;
            var$4 = new nms_GuiButton;
            var$5 = 2;
            var$6 = ($this.$width1 / 2 | 0) - 21 | 0;
            var$7 = ($this.$height3 / 6 | 0) + 110 | 0;
            var$9 = 71;
            var$8 = 20;
            var$2 = $rt_s(1751);
            $ptr = 6;
        case 6:
            $tmp = nms_StringTranslate_translateKey($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            nms_GuiButton__init_0(var$4, var$5, var$6, var$7, var$9, var$8, var$2);
            $this.$button1 = var$4;
            $ptr = 7;
        case 7:
            ju_ArrayList_add(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$controlList;
            var$4 = new nms_GuiButton;
            var$9 = 3;
            var$8 = (($this.$width1 / 2 | 0) - 21 | 0) + 71 | 0;
            var$5 = ($this.$height3 / 6 | 0) + 110 | 0;
            var$6 = 72;
            var$7 = 20;
            var$2 = $rt_s(1752);
            $ptr = 8;
        case 8:
            $tmp = nms_StringTranslate_translateKey($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            nms_GuiButton__init_0(var$4, var$9, var$8, var$5, var$6, var$7, var$2);
            $this.$button2 = var$4;
            $ptr = 9;
        case 9:
            ju_ArrayList_add(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nle_GuiScreenEditProfile_drawScreen($this, $mx, $my, $par3) {
        var $var1, var$5, var$6, $yy, $id, $xx, $skinX, $skinY, $scrollerPos, $scrollerSize, $skinWidth, var$15, var$16, var$17, $skinHeight, $i, var$20, var$21, var$22, var$23, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();$i = $thread.pop();$skinHeight = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();$skinWidth = $thread.pop();$scrollerSize = $thread.pop();$scrollerPos = $thread.pop();$skinY = $thread.pop();$skinX = $thread.pop();$xx = $thread.pop();$id = $thread.pop();$yy = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var1 = $thread.pop();$par3 = $thread.pop();$my
            = $thread.pop();$mx = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $ptr = 2;
        case 2:
            nms_GuiScreen_drawDefaultBackground($this);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $this.$screenTitle;
            $yy = $this.$width1 / 2 | 0;
            $id = 15;
            $xx = 16777215;
            $ptr = 3;
        case 3:
            nms_Gui_drawCenteredString($this, var$5, var$6, $yy, $id, $xx);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $rt_s(1753);
            $ptr = 4;
        case 4:
            $tmp = nms_StringTranslate_translateKey($var1, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $xx = ($this.$width1 / 2 | 0) - 20 | 0;
            $yy = ($this.$height3 / 6 | 0) + 8 | 0;
            $id = 10526880;
            $ptr = 5;
        case 5:
            nms_Gui_drawString($this, var$5, var$6, $xx, $yy, $id);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $rt_s(1754);
            $ptr = 6;
        case 6:
            $tmp = nms_StringTranslate_translateKey($var1, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $xx = ($this.$width1 / 2 | 0) - 20 | 0;
            $yy = ($this.$height3 / 6 | 0) + 66 | 0;
            $id = 10526880;
            $ptr = 7;
        case 7:
            nms_Gui_drawString($this, var$5, $var1, $xx, $yy, $id);
            if ($rt_suspending()) {
                break main;
            }
            $this.$mousex = $mx;
            $this.$mousey = $my;
            $skinX = ($this.$width1 / 2 | 0) - 120 | 0;
            $skinY = ($this.$height3 / 6 | 0) + 8 | 0;
            $xx = $skinX + 80 | 0;
            $yy = $skinY + 130 | 0;
            $id = (-6250336);
            $ptr = 8;
        case 8:
            nms_Gui_drawRect($this, $skinX, $skinY, $xx, $yy, $id);
            if ($rt_suspending()) {
                break main;
            }
            $id = $skinX + 1 | 0;
            $scrollerPos = $skinY + 1 | 0;
            $xx = $xx - 1 | 0;
            $yy = $yy - 1 | 0;
            $scrollerSize = (-16777195);
            $ptr = 9;
        case 9:
            nms_Gui_drawRect($this, $id, $scrollerPos, $xx, $yy, $scrollerSize);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$username2;
            $ptr = 10;
        case 10:
            nms_GuiTextField_drawTextBox($var1);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$dropDownOpen) {
                $ptr = 11;
                continue main;
            }
            $xx = 0;
            $yy = 0;
            $ptr = 12;
            continue main;
        case 11:
            nms_GuiScreen_drawScreen($this, $mx, $my, $par3);
            if ($rt_suspending()) {
                break main;
            }
            $skinY = ($this.$width1 / 2 | 0) - 20 | 0;
            $skinWidth = ($this.$height3 / 6 | 0) + 82 | 0;
            $id = $skinY + 140 | 0;
            $xx = $skinWidth + 22 | 0;
            $yy = (-6250336);
            $ptr = 13;
            continue main;
        case 12:
            nms_GuiScreen_drawScreen($this, $xx, $yy, $par3);
            if ($rt_suspending()) {
                break main;
            }
            $skinY = ($this.$width1 / 2 | 0) - 20 | 0;
            $skinWidth = ($this.$height3 / 6 | 0) + 82 | 0;
            $id = $skinY + 140 | 0;
            $xx = $skinWidth + 22 | 0;
            $yy = (-6250336);
            $ptr = 13;
        case 13:
            nms_Gui_drawRect($this, $skinY, $skinWidth, $id, $xx, $yy);
            if ($rt_suspending()) {
                break main;
            }
            $yy = $skinY + 1 | 0;
            $scrollerPos = $skinWidth + 1 | 0;
            $scrollerSize = $id - 21 | 0;
            $xx = $xx - 1 | 0;
            $skinX = (-16777216);
            $ptr = 14;
        case 14:
            nms_Gui_drawRect($this, $yy, $scrollerPos, $scrollerSize, $xx, $skinX);
            if ($rt_suspending()) {
                break main;
            }
            $yy = $id - 20 | 0;
            $scrollerSize = $id - 1 | 0;
            $skinX = (-16777216);
            $ptr = 15;
        case 15:
            nms_Gui_drawRect($this, $yy, $scrollerPos, $scrollerSize, $xx, $skinX);
            if ($rt_suspending()) {
                break main;
            }
            $par3 = 1.0;
            var$15 = 1.0;
            var$16 = 1.0;
            var$17 = 1.0;
            $ptr = 16;
        case 16:
            olo_GL11_glColor4f($par3, var$15, var$16, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $yy = 3553;
            var$5 = (nmc_Minecraft_getMinecraft()).$renderEngine;
            $var1 = $rt_s(1733);
            $ptr = 17;
        case 17:
            $tmp = nms_RenderEngine_getTexture(var$5, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $xx = $tmp;
            $ptr = 18;
        case 18:
            olo_GL11_glBindTexture($yy, $xx);
            if ($rt_suspending()) {
                break main;
            }
            $xx = $id - 18 | 0;
            $yy = $skinWidth + 3 | 0;
            $id = 0;
            $scrollerPos = 240;
            $scrollerSize = 16;
            $skinX = 16;
            $ptr = 19;
        case 19:
            nms_Gui_drawTexturedModalRect($this, $xx, $yy, $id, $scrollerPos, $scrollerSize, $skinX);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$fontRenderer0;
            var$5 = $this.$dropDownOptions.data[$this.$selectedSlot];
            $par3 = $skinY + 5 | 0;
            var$15 = $skinWidth + 7 | 0;
            $xx = 14737632;
            $ptr = 20;
        case 20:
            nms_FontRenderer_drawStringWithShadow($var1, var$5, $par3, var$15, $xx);
            if ($rt_suspending()) {
                break main;
            }
            $xx = ($this.$width1 / 2 | 0) - 20 | 0;
            $yy = $this.$height3;
            $id = ($yy / 6 | 0) + 103 | 0;
            $yy = (($yy - $id | 0) - 10 | 0) / 10 | 0;
            $this.$slotsVisible = $yy;
            $scrollerSize = $this.$dropDownOptions.data.length;
            if ($yy > $scrollerSize)
                $this.$slotsVisible = $scrollerSize;
            $yy = $this.$slotsVisible;
            $skinX = ($yy * 10 | 0) + 7 | 0;
            $this.$skinsHeight = $skinX;
            if ($this.$scrollPos == (-1))
                $this.$scrollPos = $this.$selectedSlot - 2 | 0;
            $skinY = $this.$scrollPos;
            $yy = $scrollerSize - $yy | 0;
            if ($skinY > $yy)
                $this.$scrollPos = $yy;
            if ($this.$scrollPos < 0)
                $this.$scrollPos = 0;
            if ($this.$dropDownOpen) {
                $yy = $xx + 140 | 0;
                $scrollerPos = $id + $skinX | 0;
                $scrollerSize = (-6250336);
                $ptr = 22;
                continue main;
            }
            $xx = ($this.$width1 / 2 | 0) - 80 | 0;
            $yy = ($this.$height3 / 6 | 0) + 130 | 0;
            $id = $this.$selectedSlot;
            $ptr = 21;
        case 21:
            nlep_EaglerProfile_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $id = $id - ju_ArrayList_size(nlep_EaglerProfile_skins) | 0;
            if ($id >= 0) {
                $scrollerPos = 3553;
                $var1 = (nmc_Minecraft_getMinecraft()).$renderEngine;
                nle_GuiScreenEditProfile_$callClinit();
                var$5 = nle_GuiScreenEditProfile_defaultOptionsTextures.data[$id];
                $ptr = 24;
                continue main;
            }
            $var1 = (nmc_Minecraft_getMinecraft()).$renderEngine;
            $id = (ju_ArrayList_get(nlep_EaglerProfile_skins, $this.$selectedSlot)).$glTex;
            $ptr = 26;
            continue main;
        case 22:
            nms_Gui_drawRect($this, $xx, $id, $yy, $scrollerPos, $scrollerSize);
            if ($rt_suspending()) {
                break main;
            }
            $skinWidth = $xx + 1 | 0;
            $scrollerSize = $id + 1 | 0;
            $skinHeight = $yy - 1 | 0;
            $scrollerPos = $scrollerPos - 1 | 0;
            $skinY = (-16777216);
            $ptr = 23;
        case 23:
            nms_Gui_drawRect($this, $skinWidth, $scrollerSize, $skinHeight, $scrollerPos, $skinY);
            if ($rt_suspending()) {
                break main;
            }
            $i = 0;
            $par3 = $xx + 5 | 0;
            $skinY = $id + 5 | 0;
            var$20 = $rt_compare($mx, $xx);
            var$21 = $rt_compare($mx, $yy - 10 | 0);
            while (true) {
                $xx = $this.$slotsVisible;
                if ($i >= $xx)
                    break;
                $xx = $i + $this.$scrollPos | 0;
                if ($xx < $this.$dropDownOptions.data.length) {
                    if ($this.$selectedSlot == $xx) {
                        $xx = $id + ($i * 10 | 0) | 0;
                        $scrollerPos = $xx + 4 | 0;
                        $xx = $xx + 14 | 0;
                        $scrollerSize = 2013265919;
                        $ptr = 46;
                        continue main;
                    }
                    if (var$20 >= 0 && var$21 < 0) {
                        $scrollerSize = $id + ($i * 10 | 0) | 0;
                        if ($my >= ($scrollerSize + 5 | 0) && $my < ($scrollerSize + 15 | 0)) {
                            $xx = $scrollerSize + 4 | 0;
                            $scrollerPos = $scrollerSize + 14 | 0;
                            $scrollerSize = 1442840575;
                            $ptr = 48;
                            continue main;
                        }
                    }
                    $var1 = $this.$fontRenderer0;
                    var$5 = $this.$dropDownOptions.data[$i + $this.$scrollPos | 0];
                    var$15 = $skinY + ($i * 10 | 0) | 0;
                    $xx = 14737632;
                    $ptr = 47;
                    continue main;
                }
                $i = $i + 1 | 0;
            }
            $xx = $rt_imul($skinX, $xx);
            $scrollerPos = $this.$dropDownOptions.data.length;
            $scrollerSize = $xx / $scrollerPos | 0;
            $scrollerPos = $rt_imul($skinX, $this.$scrollPos) / $scrollerPos | 0;
            $xx = $yy - 4 | 0;
            $yy = $id + $scrollerPos | 0;
            $id = $yy + 1 | 0;
            $yy = $yy + $scrollerSize | 0;
            $scrollerPos = (-7829368);
            $ptr = 41;
            continue main;
        case 24:
            $tmp = nms_RenderEngine_getTexture($var1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $id = $tmp;
            $ptr = 25;
        case 25:
            olo_GL11_glBindTexture($scrollerPos, $id);
            if ($rt_suspending()) {
                break main;
            }
            $id = 3553;
            $ptr = 27;
            continue main;
        case 26:
            nms_RenderEngine_bindTexture($var1, $id);
            if ($rt_suspending()) {
                break main;
            }
            $id = 3553;
            $ptr = 27;
        case 27:
            olo_GL11_glEnable($id);
            if ($rt_suspending()) {
                break main;
            }
            $id = 3042;
            $ptr = 28;
        case 28:
            olo_GL11_glDisable($id);
            if ($rt_suspending()) {
                break main;
            }
            $id = 2884;
            $ptr = 29;
        case 29:
            olo_GL11_glDisable($id);
            if ($rt_suspending()) {
                break main;
            }
            $par3 = 1.0;
            var$15 = 1.0;
            var$16 = 1.0;
            var$17 = 1.0;
            $ptr = 30;
        case 30:
            olo_GL11_glColor4f($par3, var$15, var$16, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 31;
        case 31:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $par3 = $xx;
            var$15 = $yy - 80 | 0;
            var$16 = 100.0;
            $ptr = 32;
        case 32:
            olo_GL11_glTranslatef($par3, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $par3 = 50.0;
            var$15 = 50.0;
            var$16 = 50.0;
            $ptr = 33;
        case 33:
            olo_GL11_glScalef($par3, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $par3 = 180.0;
            var$15 = 1.0;
            var$16 = 0.0;
            var$17 = 0.0;
            $ptr = 34;
        case 34:
            olo_GL11_glRotatef($par3, var$15, var$16, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 35;
        case 35:
            nms_RenderHelper_enableStandardItemLighting();
            if ($rt_suspending()) {
                break main;
            }
            $par3 = 1.0;
            var$15 = (-1.0);
            var$16 = 1.0;
            $ptr = 36;
        case 36:
            olo_GL11_glScalef($par3, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $par3 = 0.0;
            var$15 = 1.0;
            var$16 = 0.0;
            $ptr = 37;
        case 37:
            olo_GL11_glTranslatef($par3, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $par3 = $yy - $my | 0;
            var$15 = $par3 * (-0.05999999865889549);
            var$16 = 1.0;
            var$17 = 0.0;
            var$22 = 0.0;
            $ptr = 38;
        case 38:
            olo_GL11_glRotatef(var$15, var$16, var$17, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = ($xx - $mx | 0) * 0.05999999865889549;
            var$16 = 0.0;
            var$17 = 1.0;
            var$22 = 0.0;
            $ptr = 39;
        case 39:
            olo_GL11_glRotatef(var$15, var$16, var$17, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = 0.0;
            var$17 = (-1.0);
            var$22 = 0.0;
            $ptr = 40;
        case 40:
            olo_GL11_glTranslatef(var$16, var$17, var$22);
            if ($rt_suspending()) {
                break main;
            }
            nle_GuiScreenEditProfile_$callClinit();
            if (nle_GuiScreenEditProfile_playerModel === null)
                nle_GuiScreenEditProfile_playerModel = nms_ModelBiped__init_0(0.0);
            $var1 = nle_GuiScreenEditProfile_playerModel;
            var$16 = 0.0;
            var$17 = 0.0;
            var$22 = Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0;
            $par3 = $par3 * (-0.10000000149011612);
            var$23 = 0.0625;
            $ptr = 42;
            continue main;
        case 41:
            nms_Gui_drawRect($this, $xx, $id, $skinHeight, $yy, $scrollerPos);
            if ($rt_suspending()) {
                break main;
            }
            $xx = ($this.$width1 / 2 | 0) - 80 | 0;
            $yy = ($this.$height3 / 6 | 0) + 130 | 0;
            $id = $this.$selectedSlot;
            $ptr = 21;
            continue main;
        case 42:
            nms_ModelBiped_render($var1, var$16, var$17, var$22, var$15, $par3, var$23);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 43;
        case 43:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $mx = 3042;
            $ptr = 44;
        case 44:
            olo_GL11_glEnable($mx);
            if ($rt_suspending()) {
                break main;
            }
            $mx = 2884;
            $ptr = 45;
        case 45:
            olo_GL11_glEnable($mx);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 46:
            nms_Gui_drawRect($this, $skinWidth, $scrollerPos, $skinHeight, $xx, $scrollerSize);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$fontRenderer0;
            var$5 = $this.$dropDownOptions.data[$i + $this.$scrollPos | 0];
            var$15 = $skinY + ($i * 10 | 0) | 0;
            $xx = 14737632;
            $ptr = 47;
        case 47:
            nms_FontRenderer_drawStringWithShadow($var1, var$5, $par3, var$15, $xx);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $i = $i + 1 | 0;
                $xx = $this.$slotsVisible;
                if ($i >= $xx)
                    break;
                $xx = $i + $this.$scrollPos | 0;
                if ($xx >= $this.$dropDownOptions.data.length)
                    continue;
                else {
                    if ($this.$selectedSlot == $xx) {
                        $xx = $id + ($i * 10 | 0) | 0;
                        $scrollerPos = $xx + 4 | 0;
                        $xx = $xx + 14 | 0;
                        $scrollerSize = 2013265919;
                        $ptr = 46;
                        continue main;
                    }
                    if (var$20 >= 0 && var$21 < 0) {
                        $scrollerSize = $id + ($i * 10 | 0) | 0;
                        if ($my >= ($scrollerSize + 5 | 0) && $my < ($scrollerSize + 15 | 0)) {
                            $xx = $scrollerSize + 4 | 0;
                            $scrollerPos = $scrollerSize + 14 | 0;
                            $scrollerSize = 1442840575;
                            $ptr = 48;
                            continue main;
                        }
                    }
                    $var1 = $this.$fontRenderer0;
                    var$5 = $this.$dropDownOptions.data[$i + $this.$scrollPos | 0];
                    var$15 = $skinY + ($i * 10 | 0) | 0;
                    $xx = 14737632;
                    continue main;
                }
            }
            $xx = $rt_imul($skinX, $xx);
            $scrollerPos = $this.$dropDownOptions.data.length;
            $scrollerSize = $xx / $scrollerPos | 0;
            $scrollerPos = $rt_imul($skinX, $this.$scrollPos) / $scrollerPos | 0;
            $xx = $yy - 4 | 0;
            $yy = $id + $scrollerPos | 0;
            $id = $yy + 1 | 0;
            $yy = $yy + $scrollerSize | 0;
            $scrollerPos = (-7829368);
            $ptr = 41;
            continue main;
        case 48:
            nms_Gui_drawRect($this, $skinWidth, $xx, $skinHeight, $scrollerPos, $scrollerSize);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$fontRenderer0;
            var$5 = $this.$dropDownOptions.data[$i + $this.$scrollPos | 0];
            var$15 = $skinY + ($i * 10 | 0) | 0;
            $xx = 14737632;
            $ptr = 47;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $mx, $my, $par3, $var1, var$5, var$6, $yy, $id, $xx, $skinX, $skinY, $scrollerPos, $scrollerSize, $skinWidth, var$15, var$16, var$17, $skinHeight, $i, var$20, var$21, var$22, var$23, $ptr);
    }
    function nle_GuiScreenEditProfile_handleMouseInput($this) {
        var $var1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiScreen_handleMouseInput($this);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$dropDownOpen)
                return;
            $var1 = nle_Mouse_getEventDWheel();
            if ($var1 < 0)
                $this.$scrollPos = $this.$scrollPos + 3 | 0;
            if ($var1 > 0)
                $this.$scrollPos = $this.$scrollPos - 3 | 0;
            if ($this.$scrollPos < 0)
                $this.$scrollPos = 0;
            $var1 = $this.$scrollPos;
            nle_GuiScreenEditProfile_$callClinit();
            var$2 = nle_GuiScreenEditProfile_defaultOptions.data.length;
            $ptr = 2;
        case 2:
            nlep_EaglerProfile_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = var$2 + nlep_EaglerProfile_skins.$size0 | 0;
            if ($var1 > var$2)
                $this.$scrollPos = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nle_GuiScreenEditProfile_save($this) {
        var var$1, var$2, $skins, var$4, $i, var$6, $l, var$8, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();$l = $thread.pop();var$6 = $thread.pop();$i = $thread.pop();var$4 = $thread.pop();$skins = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = !jl_String_length($this.$username2.$text0) ? $rt_s(9) : $this.$username2.$text0;
            $ptr = 1;
        case 1:
            nlep_EaglerProfile_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlep_EaglerProfile_username = var$1;
            var$2 = $this.$mc6;
            $skins = new nms_Session;
            var$4 = $rt_s(247);
            $ptr = 2;
        case 2:
            nms_Session__init_($skins, var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2.$session = $skins;
            $i = $this.$selectedSlot;
            var$6 = $i - nlep_EaglerProfile_skins.$size0 | 0;
            nlep_EaglerProfile_presetSkinId = var$6;
            if (var$6 >= 0)
                nlep_EaglerProfile_customSkinId = (-1);
            else {
                nlep_EaglerProfile_presetSkinId = (-1);
                nlep_EaglerProfile_customSkinId = $i;
            }
            $skins = nle_LocalStorageManager_profileSettingsStorage;
            var$4 = $rt_s(1698);
            $i = nlep_EaglerProfile_presetSkinId;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setInteger($skins, var$4, $i);
            if ($rt_suspending()) {
                break main;
            }
            $skins = nle_LocalStorageManager_profileSettingsStorage;
            var$4 = $rt_s(1699);
            $i = nlep_EaglerProfile_customSkinId;
            $ptr = 4;
        case 4:
            nms_NBTTagCompound_setInteger($skins, var$4, $i);
            if ($rt_suspending()) {
                break main;
            }
            $skins = nle_LocalStorageManager_profileSettingsStorage;
            var$4 = $rt_s(1700);
            var$1 = nlep_EaglerProfile_username;
            $ptr = 5;
        case 5:
            nms_NBTTagCompound_setString($skins, var$4, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $skins = nms_NBTTagCompound__init_0();
            $i = 0;
            $l = nlep_EaglerProfile_skins.$size0;
            if ($i >= $l) {
                var$4 = nle_LocalStorageManager_profileSettingsStorage;
                var$1 = $rt_s(1701);
                $ptr = 6;
                continue main;
            }
            var$4 = (ju_ArrayList_get(nlep_EaglerProfile_skins, $i)).$name11;
            var$8 = (ju_ArrayList_get(nlep_EaglerProfile_skins, $i)).$data2;
            $ptr = 7;
            continue main;
        case 6:
            nms_NBTTagCompound_setCompoundTag(var$4, var$1, $skins);
            if ($rt_suspending()) {
                break main;
            }
            try {
                $skins = ji_ByteArrayOutputStream__init_1();
                nms_NBTBase_writeTag(nle_LocalStorageManager_profileSettingsStorage, ji_DataOutputStream__init_0($skins));
                var$4 = $rt_s(200);
                var$8 = ji_ByteArrayOutputStream_toByteArray($skins);
                $ptr = 8;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 7:
            nms_NBTTagCompound_setByteArray($skins, var$4, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            if ($i >= $l) {
                var$4 = nle_LocalStorageManager_profileSettingsStorage;
                var$1 = $rt_s(1701);
                $ptr = 6;
                continue main;
            }
            var$4 = (ju_ArrayList_get(nlep_EaglerProfile_skins, $i)).$name11;
            var$8 = (ju_ArrayList_get(nlep_EaglerProfile_skins, $i)).$data2;
            continue main;
        case 8:
            a: {
                try {
                    nle_EagRuntime_setStorage(var$4, var$8);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $skins, var$4, $i, var$6, $l, var$8, $ptr);
    }
    function nle_GuiScreenEditProfile_actionPerformed($this, $par1GuiButton) {
        var var$2, $i, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$i = $thread.pop();var$2 = $thread.pop();$par1GuiButton = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$dropDownOpen) {
                var$2 = $par1GuiButton.$id2;
                if (var$2 == 200) {
                    $ptr = 1;
                    continue main;
                }
                if (var$2 == 2) {
                    $par1GuiButton = $rt_s(440);
                    $i = $rt_s(1755);
                    $ptr = 3;
                    continue main;
                }
                if (var$2 == 3) {
                    $ptr = 5;
                    continue main;
                }
            }
            return;
        case 1:
            nle_GuiScreenEditProfile_save($this);
            if ($rt_suspending()) {
                break main;
            }
            $par1GuiButton = $this.$mc6;
            $i = $this.$parent;
            $ptr = 2;
        case 2:
            nmc_Minecraft_displayGuiScreen($par1GuiButton, $i);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nlei_PlatformApplication_displayFileChooser($par1GuiButton, $i);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            nlep_EaglerProfile_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $par1GuiButton = nlep_EaglerProfile_skins;
            $ptr = 6;
        case 6:
            $tmp = ju_AbstractList_iterator($par1GuiButton);
            if ($rt_suspending()) {
                break main;
            }
            $par1GuiButton = $tmp;
            if (ju_AbstractList$1_hasNext($par1GuiButton)) {
                $ptr = 8;
                continue main;
            }
            ju_ArrayList_clear(nlep_EaglerProfile_skins);
            nle_GuiScreenEditProfile_$callClinit();
            $this.$dropDownOptions = nle_GuiScreenEditProfile_defaultOptions;
            $this.$selectedSlot = 0;
            $ptr = 7;
        case 7:
            nle_GuiScreenEditProfile_save($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            $tmp = ju_AbstractList$1_next($par1GuiButton);
            if ($rt_suspending()) {
                break main;
            }
            $i = $tmp;
            $i = $i;
            var$4 = $this.$mc6.$renderEngine;
            var$5 = $i.$glTex;
            $ptr = 9;
        case 9:
            nms_RenderEngine_deleteTexture(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            if (ju_AbstractList$1_hasNext($par1GuiButton)) {
                $ptr = 8;
                continue main;
            }
            ju_ArrayList_clear(nlep_EaglerProfile_skins);
            nle_GuiScreenEditProfile_$callClinit();
            $this.$dropDownOptions = nle_GuiScreenEditProfile_defaultOptions;
            $this.$selectedSlot = 0;
            $ptr = 7;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $par1GuiButton, var$2, $i, var$4, var$5, $ptr);
    }
    function nle_GuiScreenEditProfile_updateScreen($this) {
        var $skinX, $skinY, $i2, $skinWidth, $scrollerSize, var$6, var$7, $name, $img, $rawSkin, var$11, $i, $i3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$i3 = $thread.pop();$i = $thread.pop();var$11 = $thread.pop();$rawSkin = $thread.pop();$img = $thread.pop();$name = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$scrollerSize = $thread.pop();$skinWidth = $thread.pop();$i2 = $thread.pop();$skinY = $thread.pop();$skinX = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_GuiTextField_updateCursorCounter($this.$username2);
            if (!$this.$dropDownOpen)
                $this.$dragging = 0;
            else if (!nle_Mouse_isButtonDown(0))
                $this.$dragging = 0;
            else {
                $skinX = ($this.$width1 / 2 | 0) - 20 | 0;
                $skinY = ($this.$height3 / 6 | 0) + 103 | 0;
                $i2 = $this.$mousex;
                $skinX = $skinX + 140 | 0;
                if ($i2 >= ($skinX - 10 | 0) && $i2 < $skinX) {
                    $skinX = $this.$mousey;
                    if ($skinX >= $skinY && $skinX < ($skinY + $this.$skinsHeight | 0))
                        $this.$dragging = 1;
                }
                if ($this.$dragging) {
                    $skinWidth = $this.$skinsHeight;
                    $skinX = $rt_imul($skinWidth, $this.$slotsVisible);
                    $i2 = $this.$dropDownOptions.data.length;
                    $scrollerSize = $skinX / $i2 | 0;
                    $this.$scrollPos = $rt_imul(($this.$mousey - $skinY | 0) - ($scrollerSize / 2 | 0) | 0, $i2) / $skinWidth | 0;
                }
            }
            $ptr = 1;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformApplication_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformApplication_fileChooserHasResult) {
                nlei_PlatformApplication_fileChooserHasResult = 0;
                var$6 = nlei_PlatformApplication_fileChooserResultObject;
                nlei_PlatformApplication_fileChooserResultObject = null;
                if (var$6 !== null) {
                    var$7 = var$6.$fileData;
                    $name = var$6.$fileName;
                    if ($name === null)
                        $name = $rt_s(440);
                    else {
                        $img = jl_String_toLowerCase($name);
                        $name = jl_String_endsWith($img, $rt_s(1756)) ? $rt_s(440) : !jl_String_endsWith($img, $rt_s(1757)) && !jl_String_endsWith($img, $rt_s(1758)) ? (jl_String_endsWith($img, $rt_s(1759)) ? $rt_s(1760) : !jl_String_endsWith($img, $rt_s(1761)) ? $rt_s(440) : $rt_s(1762)) : $rt_s(1763);
                    }
                    $ptr = 3;
                    continue main;
                }
            }
            return;
        case 3:
            $tmp = nlei_PlatformAssets_loadImageFile0(var$7, $name);
            if ($rt_suspending()) {
                break main;
            }
            $img = $tmp;
            if ($img === null)
                return;
            a: {
                $skinX = $img.$width0;
                $skinY = $rt_compare($skinX, 64);
                if (!(!$skinY && $img.$height0 == 32) && !(!$skinY && $img.$height0 == 64)) {
                    $skinX = $rt_compare($skinX, 128);
                    if (!(!$skinX && $img.$height0 == 64)) {
                        if ($skinX)
                            break a;
                        if ($img.$height0 != 128)
                            break a;
                    }
                }
                var$7 = $img.$pixels.data;
                $skinX = var$7.length;
                $rawSkin = $rt_createByteArray($skinX * 4 | 0);
                var$11 = $rawSkin.data;
                $i = 0;
                while ($i < $skinX) {
                    $i2 = $i * 4 | 0;
                    $i3 = var$7[$i];
                    var$11[$i2] = $i3 >> 16 << 24 >> 24;
                    var$11[$i2 + 1 | 0] = $i3 >> 8 << 24 >> 24;
                    var$11[$i2 + 2 | 0] = $i3 << 24 >> 24;
                    var$11[$i2 + 3 | 0] = $i3 >> 24 << 24 >> 24;
                    $i = $i + 1 | 0;
                }
                $name = var$6.$fileName;
                if (jl_String_length($name) > 32)
                    $name = jl_String_substring0($name, 0, 32);
                $skinX = 0;
                $ptr = 7;
                continue main;
            }
            $name = jl_System_out();
            var$6 = $rt_s(1764);
            $ptr = 4;
        case 4:
            ji_PrintStream_println0($name, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $name = jl_System_out();
            $skinX = $img.$width0;
            $ptr = 5;
        case 5:
            ji_PrintStream_println1($name, $skinX);
            if ($rt_suspending()) {
                break main;
            }
            $name = jl_System_out();
            $skinX = $img.$height0;
            $ptr = 6;
        case 6:
            ji_PrintStream_println1($name, $skinX);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            $tmp = nlep_EaglerProfile_addSkin($name, $rawSkin, $skinX);
            if ($rt_suspending()) {
                break main;
            }
            $skinX = $tmp;
            if ($skinX == (-1))
                return;
            $this.$selectedSlot = $skinX;
            $ptr = 8;
        case 8:
            nle_GuiScreenEditProfile_reconcatDD($this);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nle_GuiScreenEditProfile_save($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $skinX, $skinY, $i2, $skinWidth, $scrollerSize, var$6, var$7, $name, $img, $rawSkin, var$11, $i, $i3, $ptr);
    }
    function nle_GuiScreenEditProfile_onGuiClosed($this) {
        nlei_PlatformInput_enableRepeatEvents = 0;
    }
    function nle_GuiScreenEditProfile_keyTyped($this, $par1, $par2) {
        var $text, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$text = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $text = $this.$username2;
            $ptr = 1;
        case 1:
            nms_GuiTextField_textboxKeyTyped($text, $par1, $par2);
            if ($rt_suspending()) {
                break main;
            }
            $text = $this.$username2.$text0;
            if (jl_String_length($text) > 16)
                $text = jl_String_substring0($text, 0, 16);
            $this.$username2.$text0 = $text;
            if ($par2 == 200) {
                $par1 = $this.$selectedSlot;
                if ($par1 > 0) {
                    $par1 = $par1 - 1 | 0;
                    $this.$selectedSlot = $par1;
                    $this.$scrollPos = $par1 - 2 | 0;
                }
            }
            if ($par2 == 208) {
                $par1 = $this.$selectedSlot;
                if ($par1 < ($this.$dropDownOptions.data.length - 1 | 0)) {
                    $par1 = $par1 + 1 | 0;
                    $this.$selectedSlot = $par1;
                    $this.$scrollPos = $par1 - 2 | 0;
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $par1, $par2, $text, $ptr);
    }
    function nle_GuiScreenEditProfile_mouseClicked($this, $par1, $par2, $par3) {
        var $skinX, $skinY, $skinHeight, var$7, $i, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$i = $thread.pop();var$7 = $thread.pop();$skinHeight = $thread.pop();$skinY = $thread.pop();$skinX = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            a: {
                nms_GuiScreen_mouseClicked($this, $par1, $par2, $par3);
                if ($rt_suspending()) {
                    break main;
                }
                nms_GuiTextField_mouseClicked($this.$username2, $par1, $par2, $par3);
                if (!$par3) {
                    $par3 = $this.$width1 / 2 | 0;
                    $skinX = ($par3 + 140 | 0) - 40 | 0;
                    $skinY = ($this.$height3 / 6 | 0) + 82 | 0;
                    if ($par1 >= $skinX && $par1 < ($skinX + 20 | 0) && $par2 >= $skinY && $par2 < ($skinY + 22 | 0))
                        $this.$dropDownOpen = $this.$dropDownOpen ? 0 : 1;
                    $skinX = $par3 - 20 | 0;
                    $skinHeight = $this.$skinsHeight;
                    var$7 = $rt_compare($par1, $skinX);
                    if (!(var$7 >= 0 && $par1 < ($skinX + 140 | 0) && $par2 >= $skinY && $par2 < (($skinY + $skinHeight | 0) + 22 | 0))) {
                        $this.$dropDownOpen = 0;
                        $this.$dragging = 0;
                    }
                    $par3 = $skinY + 21 | 0;
                    if ($this.$dropDownOpen && !$this.$dragging) {
                        $i = 0;
                        $skinX = $rt_compare($par1, ($skinX + 140 | 0) - 10 | 0);
                        while (true) {
                            if ($i >= $this.$slotsVisible)
                                break a;
                            $par1 = $i + $this.$scrollPos | 0;
                            if ($par1 < $this.$dropDownOptions.data.length) {
                                $skinY = $rt_compare($this.$selectedSlot, $par1);
                                if ($skinY && var$7 >= 0 && $skinX < 0) {
                                    $skinHeight = $par3 + ($i * 10 | 0) | 0;
                                    if ($par2 >= ($skinHeight + 5 | 0) && $par2 < ($skinHeight + 15 | 0) && $skinY) {
                                        $this.$selectedSlot = $par1;
                                        $this.$dropDownOpen = 0;
                                        $this.$dragging = 0;
                                    }
                                }
                            }
                            $i = $i + 1 | 0;
                        }
                    }
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $par1, $par2, $par3, $skinX, $skinY, $skinHeight, var$7, $i, $ptr);
    }
    function nle_GuiScreenEditProfile__clinit_() {
        nle_GuiScreenEditProfile_defaultOptions = $rt_createArrayFromData(jl_String, [$rt_s(1765), $rt_s(1766), $rt_s(1767), $rt_s(1768), $rt_s(1769), $rt_s(1770), $rt_s(1771), $rt_s(1772), $rt_s(1773), $rt_s(1774), $rt_s(1775), $rt_s(1776), $rt_s(1777), $rt_s(1778), $rt_s(1779), $rt_s(1780), $rt_s(1781), $rt_s(1782)]);
        nle_GuiScreenEditProfile_defaultOptionsTextures = $rt_createArrayFromData(jl_String, [$rt_s(1715), $rt_s(1716), $rt_s(1717), $rt_s(1718), $rt_s(1719), $rt_s(1720), $rt_s(1721), $rt_s(1722), $rt_s(1723), $rt_s(1724), $rt_s(1725), $rt_s(1726), $rt_s(1727), $rt_s(1728), $rt_s(1729), $rt_s(1730), $rt_s(1731), $rt_s(1732)]);
        nle_GuiScreenEditProfile_playerModel = null;
    }
    function nms_GuiMainMenu() {
        var a = this; nms_GuiScreen.call(a);
        a.$updateCounter2 = 0.0;
        a.$splashText = null;
        a.$guiButtonMP = null;
    }
    var nms_GuiMainMenu_rand = null;
    function nms_GuiMainMenu__init_0() {
        var var_0 = new nms_GuiMainMenu();
        nms_GuiMainMenu__init_(var_0);
        return var_0;
    }
    function nms_GuiMainMenu__init_($this) {
        var $splashes, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$splashes = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_GuiScreen__init_($this);
            $this.$updateCounter2 = 0.0;
            $this.$splashText = $rt_s(1783);
            $splashes = new ju_ArrayList;
            var$2 = ju_Arrays_asList($rt_createArrayFromData(jl_String, [$rt_s(1784), $rt_s(1785), $rt_s(1786), $rt_s(1787), $rt_s(1788), $rt_s(1789), $rt_s(1790), $rt_s(1791), $rt_s(1792), $rt_s(1793), $rt_s(1794), $rt_s(1795), $rt_s(1796), $rt_s(1797), $rt_s(1798), $rt_s(1799), $rt_s(1800)]));
            $ptr = 1;
        case 1:
            ju_ArrayList__init_4($splashes, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$splashText = ju_ArrayList_get($splashes, ju_Random_nextInt(nms_GuiMainMenu_rand, $splashes.$size0));
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $splashes, var$2, $ptr);
    }
    function nms_GuiMainMenu_updateScreen($this) {
        $this.$updateCounter2 = $this.$updateCounter2 + 1.0;
    }
    function nms_GuiMainMenu_keyTyped($this, $var1, $var2) {}
    function nms_GuiMainMenu_initGui($this) {
        var $var1, $var2, var$3, $var4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ju_Calendar_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var2 = ju_Date__init_0();
            $ptr = 2;
        case 2:
            ju_Calendar_setTime($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 2;
            $ptr = 3;
        case 3:
            $tmp = ju_Calendar_get($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if ((var$3 + 1 | 0) != 12) {
                var$3 = 2;
                $ptr = 4;
                continue main;
            }
            var$3 = 5;
            $ptr = 5;
            continue main;
        case 4:
            $tmp = ju_Calendar_get($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if ((var$3 + 1 | 0) != 1) {
                $ptr = 6;
                continue main;
            }
            var$3 = 5;
            $ptr = 17;
            continue main;
        case 5:
            $tmp = ju_Calendar_get($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3 != 24) {
                var$3 = 2;
                $ptr = 4;
                continue main;
            }
            $this.$splashText = $rt_s(1801);
            $ptr = 6;
        case 6:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var4 = ($this.$height3 / 4 | 0) + 48 | 0;
            var$5 = $this.$controlList;
            var$6 = new nms_GuiButton;
            var$3 = 1;
            var$7 = ($this.$width1 / 2 | 0) - 100 | 0;
            $var1 = $rt_s(1802);
            $ptr = 7;
        case 7:
            $tmp = nms_StringTranslate_translateKey($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            nms_GuiButton__init_(var$6, var$3, var$7, $var4, $var1);
            $ptr = 8;
        case 8:
            ju_ArrayList_add(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$controlList;
            var$6 = new nms_GuiButton;
            var$8 = 2;
            var$3 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$7 = $var4 + 24 | 0;
            $var1 = $rt_s(1803);
            $ptr = 9;
        case 9:
            $tmp = nms_StringTranslate_translateKey($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            nms_GuiButton__init_(var$6, var$8, var$3, var$7, $var1);
            $this.$guiButtonMP = var$6;
            $ptr = 10;
        case 10:
            ju_ArrayList_add(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$controlList;
            var$5 = new nms_GuiButton;
            var$3 = 3;
            var$7 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$8 = $var4 + 48 | 0;
            var$6 = $rt_s(1804);
            $ptr = 11;
        case 11:
            $tmp = nms_StringTranslate_translateKey($var2, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            nms_GuiButton__init_(var$5, var$3, var$7, var$8, var$6);
            $ptr = 12;
        case 12:
            ju_ArrayList_add($var1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$controlList;
            var$6 = new nms_GuiButton;
            var$3 = 0;
            var$7 = ($this.$width1 / 2 | 0) - 100 | 0;
            $var4 = ($var4 + 72 | 0) + 12 | 0;
            var$8 = 98;
            var$9 = 20;
            $var1 = $rt_s(1805);
            $ptr = 13;
        case 13:
            $tmp = nms_StringTranslate_translateKey($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            nms_GuiButton__init_0(var$6, var$3, var$7, $var4, var$8, var$9, $var1);
            $ptr = 14;
        case 14:
            ju_ArrayList_add(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$controlList;
            var$5 = new nms_GuiButton;
            var$3 = 4;
            var$7 = ($this.$width1 / 2 | 0) + 2 | 0;
            var$8 = 98;
            var$9 = 20;
            var$6 = $rt_s(1748);
            $ptr = 15;
        case 15:
            $tmp = nms_StringTranslate_translateKey($var2, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            nms_GuiButton__init_0(var$5, var$3, var$7, $var4, var$8, var$9, $var2);
            $ptr = 16;
        case 16:
            ju_ArrayList_add($var1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$mc6.$session === null)
                $this.$guiButtonMP.$enabled0 = 0;
            return;
        case 17:
            $tmp = ju_Calendar_get($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3 == 1)
                $this.$splashText = $rt_s(1806);
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_GuiMainMenu_actionPerformed($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$var1.$id2) {
                var$2 = $this.$mc6;
                var$3 = nms_GuiOptions__init_0($this, var$2.$gameSettings);
                $ptr = 1;
                continue main;
            }
            if ($var1.$id2 == 1) {
                var$2 = $this.$mc6;
                var$3 = new nms_GuiSelectWorld;
                nms_GuiScreen__init_(var$3);
                var$4 = new jt_SimpleDateFormat;
                $ptr = 2;
                continue main;
            }
            if ($var1.$id2 == 2) {
                var$2 = $this.$mc6;
                var$3 = new nms_GuiMultiplayer;
                nms_GuiScreen__init_(var$3);
                var$3.$parentScreen = $this;
                $ptr = 4;
                continue main;
            }
            if ($var1.$id2 != 3) {
                if ($var1.$id2 != 4)
                    return;
                $var1 = $this.$mc6;
                var$2 = new nle_GuiScreenEditProfile;
                $ptr = 6;
                continue main;
            }
            var$2 = $this.$mc6;
            var$3 = new nms_GuiTexturePacks;
            nms_GuiScreen__init_(var$3);
            var$3.$field_6454_o = (-1);
            var$3.$fileLocation = $rt_s(3);
            var$3.$guiScreen = $this;
            $ptr = 5;
            continue main;
        case 1:
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$id2 == 1) {
                var$2 = $this.$mc6;
                var$3 = new nms_GuiSelectWorld;
                nms_GuiScreen__init_(var$3);
                var$4 = new jt_SimpleDateFormat;
                $ptr = 2;
                continue main;
            }
            if ($var1.$id2 == 2) {
                var$2 = $this.$mc6;
                var$3 = new nms_GuiMultiplayer;
                nms_GuiScreen__init_(var$3);
                var$3.$parentScreen = $this;
                $ptr = 4;
                continue main;
            }
            if ($var1.$id2 != 3) {
                if ($var1.$id2 != 4)
                    return;
                $var1 = $this.$mc6;
                var$2 = new nle_GuiScreenEditProfile;
                $ptr = 6;
                continue main;
            }
            var$2 = $this.$mc6;
            var$3 = new nms_GuiTexturePacks;
            nms_GuiScreen__init_(var$3);
            var$3.$field_6454_o = (-1);
            var$3.$fileLocation = $rt_s(3);
            var$3.$guiScreen = $this;
            $ptr = 5;
            continue main;
        case 2:
            jt_SimpleDateFormat__init_(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3.$dateFormatter = var$4;
            var$3.$screenTitle0 = $rt_s(1807);
            var$3.$selected = 0;
            var$3.$parentScreen0 = $this;
            $ptr = 3;
        case 3:
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$id2 == 2) {
                var$2 = $this.$mc6;
                var$3 = new nms_GuiMultiplayer;
                nms_GuiScreen__init_(var$3);
                var$3.$parentScreen = $this;
                $ptr = 4;
                continue main;
            }
            if ($var1.$id2 != 3) {
                if ($var1.$id2 != 4)
                    return;
                $var1 = $this.$mc6;
                var$2 = new nle_GuiScreenEditProfile;
                $ptr = 6;
                continue main;
            }
            var$2 = $this.$mc6;
            var$3 = new nms_GuiTexturePacks;
            nms_GuiScreen__init_(var$3);
            var$3.$field_6454_o = (-1);
            var$3.$fileLocation = $rt_s(3);
            var$3.$guiScreen = $this;
            $ptr = 5;
            continue main;
        case 4:
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$id2 != 3) {
                if ($var1.$id2 != 4)
                    return;
                $var1 = $this.$mc6;
                var$2 = new nle_GuiScreenEditProfile;
                $ptr = 6;
                continue main;
            }
            var$2 = $this.$mc6;
            var$3 = new nms_GuiTexturePacks;
            nms_GuiScreen__init_(var$3);
            var$3.$field_6454_o = (-1);
            var$3.$fileLocation = $rt_s(3);
            var$3.$guiScreen = $this;
            $ptr = 5;
        case 5:
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$id2 != 4)
                return;
            $var1 = $this.$mc6;
            var$2 = new nle_GuiScreenEditProfile;
            $ptr = 6;
        case 6:
            nle_GuiScreenEditProfile__init_(var$2, $this);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nmc_Minecraft_displayGuiScreen($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_GuiMainMenu_drawScreen($this, $var1, $var2, $var3) {
        var $var4, $var6, var$6, var$7, var$8, var$9, $var8, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var8 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiScreen_drawDefaultBackground($this);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = nms_Tessellator_instance;
            $var6 = ($this.$width1 / 2 | 0) - 137 | 0;
            var$6 = 3553;
            var$7 = $this.$mc6.$renderEngine;
            var$8 = $rt_s(1808);
            $ptr = 3;
        case 3:
            $tmp = nms_RenderEngine_getTexture(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            $ptr = 4;
        case 4:
            olo_GL11_glBindTexture(var$6, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 1.0;
            var$11 = 1.0;
            var$12 = 1.0;
            var$13 = 1.0;
            $ptr = 5;
        case 5:
            nleo_GlStateManager_color($var8, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $var6 + 0 | 0;
            var$14 = 30;
            var$15 = 0;
            var$16 = 0;
            var$17 = 155;
            var$6 = 44;
            $ptr = 6;
        case 6:
            nms_Gui_drawTexturedModalRect($this, var$9, var$14, var$15, var$16, var$17, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $var6 + 155 | 0;
            $var6 = 0;
            var$9 = 45;
            var$15 = 155;
            var$16 = 44;
            $ptr = 7;
        case 7:
            nms_Gui_drawTexturedModalRect($this, var$6, var$14, $var6, var$9, var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 16777215;
            $ptr = 8;
        case 8:
            nms_Tessellator_setColorOpaque_I($var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = ($this.$width1 / 2 | 0) + 90 | 0;
            var$11 = 70.0;
            var$12 = 0.0;
            $ptr = 10;
        case 10:
            olo_GL11_glTranslatef($var8, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = (-20.0);
            var$11 = 0.0;
            var$12 = 0.0;
            var$13 = 1.0;
            $ptr = 11;
        case 11:
            olo_GL11_glRotatef($var8, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = (1.7999999523162842 - nms_MathHelper_abs(nms_MathHelper_sin(Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(1000))) / 1000.0 * 3.1415927410125732 * 2.0) * 0.10000000149011612)) * 100.0 / (nms_FontRenderer_getStringWidth($this.$fontRenderer0, $this.$splashText) + 32 | 0);
            $ptr = 12;
        case 12:
            olo_GL11_glScalef($var8, $var8, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $this.$fontRenderer0;
            var$7 = $this.$splashText;
            var$6 = 0;
            $var6 = (-8);
            var$9 = 16776960;
            $ptr = 13;
        case 13:
            nms_Gui_drawCenteredString($this, $var4, var$7, var$6, $var6, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $this.$fontRenderer0;
            var$7 = $rt_s(1735);
            var$6 = 2;
            $var6 = 2;
            var$9 = 5263440;
            $ptr = 15;
        case 15:
            nms_Gui_drawString($this, $var4, var$7, var$6, $var6, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $this.$fontRenderer0;
            var$7 = $rt_s(1809);
            var$6 = 2;
            $var6 = $this.$height3 - 10 | 0;
            var$9 = 16777215;
            $ptr = 16;
        case 16:
            nms_Gui_drawString($this, $var4, var$7, var$6, $var6, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $this.$fontRenderer0;
            var$7 = $rt_s(1810);
            var$6 = ($this.$width1 - nms_FontRenderer_getStringWidth($var4, $rt_s(1810)) | 0) - 2 | 0;
            $var6 = $this.$height3 - 20 | 0;
            var$9 = 16777215;
            $ptr = 17;
        case 17:
            nms_Gui_drawString($this, $var4, var$7, var$6, $var6, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $this.$fontRenderer0;
            var$7 = $rt_s(1811);
            var$6 = ($this.$width1 - nms_FontRenderer_getStringWidth($var4, $rt_s(1811)) | 0) - 2 | 0;
            $var6 = $this.$height3 - 10 | 0;
            var$9 = 16777215;
            $ptr = 18;
        case 18:
            nms_Gui_drawString($this, $var4, var$7, var$6, $var6, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 19;
        case 19:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var6, var$6, var$7, var$8, var$9, $var8, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr);
    }
    function nms_GuiMainMenu__clinit_() {
        nms_GuiMainMenu_rand = new ju_Random;
    }
    function nms_GuiConnecting() {
        var a = this; nms_GuiScreen.call(a);
        a.$connected = 0;
        a.$clientHandler = null;
        a.$timer0 = 0;
        a.$currentAddress = null;
        a.$cancelled = 0;
        a.$successful = 0;
        a.$webSocket = null;
    }
    function nms_GuiConnecting__init_0(var_0, var_1) {
        var var_2 = new nms_GuiConnecting();
        nms_GuiConnecting__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_GuiConnecting__init_($this, $var1, $addr) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$addr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_GuiScreen__init_($this);
            $this.$connected = 0;
            $this.$timer0 = 0;
            $this.$cancelled = 0;
            $this.$successful = 0;
            $this.$currentAddress = $addr;
            $addr = null;
            $ptr = 1;
        case 1:
            nmc_Minecraft_changeWorld1($var1, $addr);
            if ($rt_suspending()) {
                break main;
            }
            if (jl_String_contains($this.$currentAddress, $rt_s(1812))) {
                $ptr = 2;
                continue main;
            }
            if (!jl_String_contains($this.$currentAddress, $rt_s(448))) {
                $ptr = 4;
                continue main;
            }
            $addr = new nms_NetClientHandler;
            $addr.$disconnected = 0;
            $addr.$field_1210_g = 0;
            $addr.$rand4 = nle_Random__init_0();
            $addr.$mc9 = $var1;
            $var1 = new nms_NetworkManager;
            $var1.$isRunning = 1;
            $var1.$readPackets = ju_ArrayList__init_0();
            $var1.$isServerTerminating = 0;
            $var1.$isTerminating = 0;
            $var1.$terminationReason = $rt_s(3);
            $var1.$timeSinceLastRead = 0;
            $var1.$sendQueueByteLength = 0;
            $var1.$chunkDataSendCounter = 0;
            var$3 = new nle_EaglerOutputStream;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nle_EagRuntime_requireSSL();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4) {
                var$5 = $this.$currentAddress;
                $addr = $rt_s(1812);
                var$3 = $rt_s(1813);
                $ptr = 5;
                continue main;
            }
            if (!jl_String_contains($this.$currentAddress, $rt_s(448))) {
                $ptr = 4;
                continue main;
            }
            $addr = new nms_NetClientHandler;
            $addr.$disconnected = 0;
            $addr.$field_1210_g = 0;
            $addr.$rand4 = nle_Random__init_0();
            $addr.$mc9 = $var1;
            $var1 = new nms_NetworkManager;
            $var1.$isRunning = 1;
            $var1.$readPackets = ju_ArrayList__init_0();
            $var1.$isServerTerminating = 0;
            $var1.$isTerminating = 0;
            $var1.$terminationReason = $rt_s(3);
            $var1.$timeSinceLastRead = 0;
            $var1.$sendQueueByteLength = 0;
            $var1.$chunkDataSendCounter = 0;
            var$3 = new nle_EaglerOutputStream;
            $ptr = 3;
        case 3:
            nle_EaglerOutputStream__init_(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$sendBuffer = var$3;
            $var1.$netHandler = $addr;
            $addr.$netManager = $var1;
            $this.$clientHandler = $addr;
            return;
        case 4:
            $tmp = nle_EagRuntime_requireSSL();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (!var$4) {
                $addr = $this.$currentAddress;
                var$3 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$3);
                var$5 = $rt_s(1812);
                $ptr = 6;
                continue main;
            }
            $addr = $this.$currentAddress;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$5 = $rt_s(1813);
            $ptr = 9;
            continue main;
        case 5:
            $tmp = jl_String_replace0(var$5, $addr, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $addr = $tmp;
            $this.$currentAddress = $addr;
            $addr = new nms_NetClientHandler;
            $addr.$disconnected = 0;
            $addr.$field_1210_g = 0;
            $addr.$rand4 = nle_Random__init_0();
            $addr.$mc9 = $var1;
            $var1 = new nms_NetworkManager;
            $var1.$isRunning = 1;
            $var1.$readPackets = ju_ArrayList__init_0();
            $var1.$isServerTerminating = 0;
            $var1.$isTerminating = 0;
            $var1.$terminationReason = $rt_s(3);
            $var1.$timeSinceLastRead = 0;
            $var1.$sendQueueByteLength = 0;
            $var1.$chunkDataSendCounter = 0;
            var$3 = new nle_EaglerOutputStream;
            $ptr = 3;
            continue main;
        case 6:
            $tmp = jl_StringBuilder_append(var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 7;
        case 7:
            jl_StringBuilder_append(var$5, $addr);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $addr = $tmp;
            $this.$currentAddress = $addr;
            $addr = new nms_NetClientHandler;
            $addr.$disconnected = 0;
            $addr.$field_1210_g = 0;
            $addr.$rand4 = nle_Random__init_0();
            $addr.$mc9 = $var1;
            $var1 = new nms_NetworkManager;
            $var1.$isRunning = 1;
            $var1.$readPackets = ju_ArrayList__init_0();
            $var1.$isServerTerminating = 0;
            $var1.$isTerminating = 0;
            $var1.$terminationReason = $rt_s(3);
            $var1.$timeSinceLastRead = 0;
            $var1.$sendQueueByteLength = 0;
            $var1.$chunkDataSendCounter = 0;
            var$3 = new nle_EaglerOutputStream;
            $ptr = 3;
            continue main;
        case 9:
            $tmp = jl_StringBuilder_append(var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 10;
        case 10:
            jl_StringBuilder_append(var$5, $addr);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $addr = $tmp;
            $this.$currentAddress = $addr;
            $addr = new nms_NetClientHandler;
            $addr.$disconnected = 0;
            $addr.$field_1210_g = 0;
            $addr.$rand4 = nle_Random__init_0();
            $addr.$mc9 = $var1;
            $var1 = new nms_NetworkManager;
            $var1.$isRunning = 1;
            $var1.$readPackets = ju_ArrayList__init_0();
            $var1.$isServerTerminating = 0;
            $var1.$isTerminating = 0;
            $var1.$terminationReason = $rt_s(3);
            $var1.$timeSinceLastRead = 0;
            $var1.$sendQueueByteLength = 0;
            $var1.$chunkDataSendCounter = 0;
            var$3 = new nle_EaglerOutputStream;
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $addr, var$3, var$4, var$5, $ptr);
    }
    function nms_GuiConnecting_updateScreen($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$timer0 + 1 | 0;
            $this.$timer0 = var$1;
            if (var$1 <= 1)
                return;
            if ($this.$webSocket === null) {
                var$2 = $this.$currentAddress;
                $ptr = 6;
                continue main;
            }
            var$2 = jl_System_out();
            var$3 = nleit_TeaVMWebSocketClient_getState($this.$webSocket);
            $ptr = 1;
        case 1:
            $tmp = jl_Enum_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            var$5 = $rt_s(1814);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 3;
        case 3:
            jl_StringBuilder_append(var$5, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 5;
        case 5:
            ji_PrintStream_println0(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nleit_TeaVMWebSocketClient_getState($this.$webSocket);
            nlei_EnumEaglerConnectionState_$callClinit();
            if (var$2 === nlei_EnumEaglerConnectionState_CONNECTED) {
                if ($this.$successful) {
                    var$2 = $this.$clientHandler;
                    $ptr = 8;
                    continue main;
                }
                var$2 = $this.$clientHandler;
                var$2.$netManager.$webSocket0 = $this.$webSocket;
                var$3 = new nms_Packet2Handshake;
                var$4 = $this.$mc6.$session.$username1;
                $ptr = 9;
                continue main;
            }
            if (nleit_TeaVMWebSocketClient_getState($this.$webSocket) === nlei_EnumEaglerConnectionState_FAILED) {
                var$2 = jl_System_out();
                var$3 = $rt_s(1815);
                $ptr = 7;
                continue main;
            }
            if ($this.$timer0 > 200 && !$this.$connected) {
                var$2 = $this.$webSocket;
                if (var$2 !== null) {
                    nleit_TeaVMWebSocketClient_close(var$2);
                    $this.$webSocket = null;
                }
                var$2 = $this.$mc6;
                var$3 = new nms_GuiConnectFailed;
                var$4 = $rt_s(1816);
                var$5 = $rt_s(1817);
                var$6 = $rt_createArray(jl_Object, 1);
                var$6.data[0] = $rt_s(1818);
                $ptr = 26;
                continue main;
            }
            return;
        case 6:
            nlei_PlatformNetworking_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            a: {
                try {
                    var$3 = nleit_TeaVMWebSocketClient__init_0(var$2);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$3 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                var$4 = nlei_PlatformNetworking_logger;
                var$5 = $rt_s(1819);
                var$6 = $rt_createArray(jl_Object, 1);
                var$6.data[0] = var$2;
                $ptr = 11;
                continue main;
            }
            $this.$webSocket = var$3;
            var$2 = jl_System_out();
            var$3 = $this.$currentAddress;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            var$5 = $rt_s(1820);
            $ptr = 13;
            continue main;
        case 7:
            ji_PrintStream_println0(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$webSocket;
            if (var$2 !== null) {
                nleit_TeaVMWebSocketClient_close(var$2);
                $this.$webSocket = null;
            }
            if (jl_String_contains($this.$currentAddress, $rt_s(1812))) {
                $ptr = 19;
                continue main;
            }
            var$5 = $this.$mc6;
            var$7 = new nms_GuiConnectFailed;
            var$2 = $rt_s(1816);
            var$3 = $rt_s(1817);
            var$6 = $rt_createArray(jl_Object, 1);
            var$6.data[0] = $rt_s(1821);
            $ptr = 17;
            continue main;
        case 8:
            nms_NetClientHandler_processReadPackets(var$2);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$timer0 > 200 && !$this.$connected) {
                var$2 = $this.$webSocket;
                if (var$2 !== null) {
                    nleit_TeaVMWebSocketClient_close(var$2);
                    $this.$webSocket = null;
                }
                var$2 = $this.$mc6;
                var$3 = new nms_GuiConnectFailed;
                var$4 = $rt_s(1816);
                var$5 = $rt_s(1817);
                var$6 = $rt_createArray(jl_Object, 1);
                var$6.data[0] = $rt_s(1818);
                $ptr = 26;
                continue main;
            }
            return;
        case 9:
            nms_Packet__init_(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3.$username3 = var$4;
            $ptr = 10;
        case 10:
            nms_NetClientHandler_addToSendQueue(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$successful = 1;
            $this.$connected = 1;
            if ($this.$timer0 > 200 && !$this.$connected) {
                var$2 = $this.$webSocket;
                if (var$2 !== null) {
                    nleit_TeaVMWebSocketClient_close(var$2);
                    $this.$webSocket = null;
                }
                var$2 = $this.$mc6;
                var$3 = new nms_GuiConnectFailed;
                var$4 = $rt_s(1816);
                var$5 = $rt_s(1817);
                var$6 = $rt_createArray(jl_Object, 1);
                var$6.data[0] = $rt_s(1818);
                $ptr = 26;
                continue main;
            }
            return;
        case 11:
            oall_Logger_error(var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nlei_PlatformNetworking_logger;
            $ptr = 12;
        case 12:
            oall_Logger_error1(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$webSocket = null;
            var$2 = jl_System_out();
            var$3 = $this.$currentAddress;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            var$5 = $rt_s(1820);
            $ptr = 13;
        case 13:
            $tmp = jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 14;
        case 14:
            jl_StringBuilder_append(var$5, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 16;
        case 16:
            ji_PrintStream_println0(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$webSocket === null) {
                var$2 = $this.$mc6;
                var$3 = new nms_GuiConnectFailed;
                var$4 = $rt_s(1816);
                var$5 = $rt_s(1817);
                var$6 = $rt_createArray(jl_Object, 1);
                var$8 = var$6.data;
                var$1 = 0;
                var$7 = $this.$currentAddress;
                var$9 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$9);
                var$10 = $rt_s(1822);
                $ptr = 20;
                continue main;
            }
            if ($this.$timer0 > 200 && !$this.$connected) {
                var$2 = $this.$webSocket;
                if (var$2 !== null) {
                    nleit_TeaVMWebSocketClient_close(var$2);
                    $this.$webSocket = null;
                }
                var$2 = $this.$mc6;
                var$3 = new nms_GuiConnectFailed;
                var$4 = $rt_s(1816);
                var$5 = $rt_s(1817);
                var$6 = $rt_createArray(jl_Object, 1);
                var$6.data[0] = $rt_s(1818);
                $ptr = 26;
                continue main;
            }
            return;
        case 17:
            nms_GuiConnectFailed__init_(var$7, var$2, var$3, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 18;
        case 18:
            nmc_Minecraft_displayGuiScreen(var$5, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$timer0 > 200 && !$this.$connected) {
                var$2 = $this.$webSocket;
                if (var$2 !== null) {
                    nleit_TeaVMWebSocketClient_close(var$2);
                    $this.$webSocket = null;
                }
                var$2 = $this.$mc6;
                var$3 = new nms_GuiConnectFailed;
                var$4 = $rt_s(1816);
                var$5 = $rt_s(1817);
                var$6 = $rt_createArray(jl_Object, 1);
                var$6.data[0] = $rt_s(1818);
                $ptr = 26;
                continue main;
            }
            return;
        case 19:
            $tmp = nle_EagRuntime_requireSSL();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (!var$1) {
                var$2 = $this.$currentAddress;
                var$3 = $rt_s(1812);
                var$4 = $rt_s(1813);
                $ptr = 28;
                continue main;
            }
            var$5 = $this.$mc6;
            var$7 = new nms_GuiConnectFailed;
            var$2 = $rt_s(1816);
            var$3 = $rt_s(1817);
            var$6 = $rt_createArray(jl_Object, 1);
            var$6.data[0] = $rt_s(1821);
            $ptr = 17;
            continue main;
        case 20:
            $tmp = jl_StringBuilder_append(var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 21;
        case 21:
            $tmp = jl_StringBuilder_append(var$10, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$10 = $rt_s(1823);
            $ptr = 22;
        case 22:
            jl_StringBuilder_append(var$7, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 23;
        case 23:
            $tmp = jl_AbstractStringBuilder_toString(var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$8[var$1] = var$7;
            $ptr = 24;
        case 24:
            nms_GuiConnectFailed__init_(var$3, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 25;
        case 25:
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$timer0 > 200 && !$this.$connected) {
                var$2 = $this.$webSocket;
                if (var$2 !== null) {
                    nleit_TeaVMWebSocketClient_close(var$2);
                    $this.$webSocket = null;
                }
                var$2 = $this.$mc6;
                var$3 = new nms_GuiConnectFailed;
                var$4 = $rt_s(1816);
                var$5 = $rt_s(1817);
                var$6 = $rt_createArray(jl_Object, 1);
                var$6.data[0] = $rt_s(1818);
                $ptr = 26;
                continue main;
            }
            return;
        case 26:
            nms_GuiConnectFailed__init_(var$3, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 27;
        case 27:
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 28:
            $tmp = jl_String_replace0(var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$currentAddress = var$2;
            $this.$timer0 = 0;
            if ($this.$timer0 > 200 && !$this.$connected) {
                var$2 = $this.$webSocket;
                if (var$2 !== null) {
                    nleit_TeaVMWebSocketClient_close(var$2);
                    $this.$webSocket = null;
                }
                var$2 = $this.$mc6;
                var$3 = new nms_GuiConnectFailed;
                var$4 = $rt_s(1816);
                var$5 = $rt_s(1817);
                var$6 = $rt_createArray(jl_Object, 1);
                var$6.data[0] = $rt_s(1818);
                $ptr = 26;
                continue main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_GuiConnecting_keyTyped($this, $var1, $var2) {}
    function nms_GuiConnecting_initGui($this) {
        var $var1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            ju_ArrayList_clear($this.$controlList);
            var$2 = $this.$controlList;
            var$3 = new nms_GuiButton;
            var$4 = 0;
            var$5 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$6 = (($this.$height3 / 4 | 0) + 120 | 0) + 12 | 0;
            var$7 = $rt_s(1824);
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_translateKey($var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            nms_GuiButton__init_(var$3, var$4, var$5, var$6, $var1);
            $ptr = 3;
        case 3:
            ju_ArrayList_add(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_GuiConnecting_actionPerformed($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$id2)
                return;
            $this.$cancelled = 1;
            $var1 = $this.$clientHandler;
            if ($var1 !== null) {
                $var1.$disconnected = 1;
                nms_NetworkManager_networkShutdown($var1.$netManager, $rt_s(1825), $rt_createArray(jl_Object, 0));
            }
            $var1 = $this.$mc6;
            var$2 = new nms_GuiMainMenu;
            $ptr = 1;
        case 1:
            nms_GuiMainMenu__init_(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nmc_Minecraft_displayGuiScreen($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_GuiConnecting_drawScreen($this, $var1, $var2, $var3) {
        var $var4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiScreen_drawDefaultBackground($this);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($this.$clientHandler !== null) {
                var$5 = $this.$fontRenderer0;
                var$6 = $rt_s(1826);
                $ptr = 3;
                continue main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $rt_s(1827);
            $ptr = 6;
            continue main;
        case 3:
            $tmp = nms_StringTranslate_translateKey($var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$7 = $this.$width1 / 2 | 0;
            var$8 = ($this.$height3 / 2 | 0) - 50 | 0;
            var$9 = 16777215;
            $ptr = 4;
        case 4:
            nms_Gui_drawCenteredString($this, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $this.$clientHandler.$field_1209_a;
            var$7 = $this.$width1 / 2 | 0;
            var$8 = ($this.$height3 / 2 | 0) - 10 | 0;
            var$9 = 16777215;
            $ptr = 5;
        case 5:
            nms_Gui_drawCenteredString($this, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
            continue main;
        case 6:
            $tmp = nms_StringTranslate_translateKey($var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$7 = $this.$width1 / 2 | 0;
            var$8 = ($this.$height3 / 2 | 0) - 50 | 0;
            var$9 = 16777215;
            $ptr = 7;
        case 7:
            nms_Gui_drawCenteredString($this, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $rt_s(3);
            var$7 = $this.$width1 / 2 | 0;
            var$8 = ($this.$height3 / 2 | 0) - 10 | 0;
            var$9 = 16777215;
            $ptr = 8;
        case 8:
            nms_Gui_drawCenteredString($this, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    var ol_LWJGLException = $rt_classWithoutFields(jl_Exception);
    function ol_LWJGLException__init_0() {
        var var_0 = new ol_LWJGLException();
        ol_LWJGLException__init_(var_0);
        return var_0;
    }
    function ol_LWJGLException__init_($this) {
        jl_Throwable__init_0($this);
    }
    var nms_IChunkProvider = $rt_classWithoutFields(0);
    function nms_ChunkProviderLoadOrGenerate() {
        var a = this; jl_Object.call(a);
        a.$blankChunk = null;
        a.$chunkProvider0 = null;
        a.$chunkLoader = null;
        a.$chunks = null;
        a.$worldObj4 = null;
        a.$lastQueriedChunkXPos = 0;
        a.$lastQueriedChunkZPos = 0;
        a.$lastQueriedChunk = null;
        a.$curChunkX = 0;
        a.$curChunkY = 0;
    }
    function nms_ChunkProviderLoadOrGenerate_setCurrentChunkOver($this, $var1, $var2) {
        $this.$curChunkX = $var1;
        $this.$curChunkY = $var2;
    }
    function nms_ChunkProviderLoadOrGenerate_canChunkExist($this, $var1, $var2) {
        var var$3, var$4;
        a: {
            var$3 = $this.$curChunkX;
            if ($var1 >= (var$3 - 15 | 0)) {
                var$4 = $this.$curChunkY;
                if ($var2 >= (var$4 - 15 | 0) && $var1 <= (var$3 + 15 | 0) && $var2 <= (var$4 + 15 | 0)) {
                    $var1 = 1;
                    break a;
                }
            }
            $var1 = 0;
        }
        return $var1;
    }
    function nms_ChunkProviderLoadOrGenerate_chunkExists($this, $var1, $var2) {
        var $var5, var$4;
        if (!nms_ChunkProviderLoadOrGenerate_canChunkExist($this, $var1, $var2))
            return 0;
        if ($var1 == $this.$lastQueriedChunkXPos && $var2 == $this.$lastQueriedChunkZPos && $this.$lastQueriedChunk !== null)
            return 1;
        a: {
            b: {
                $var5 = ($var1 & 31) + (($var2 & 31) * 32 | 0) | 0;
                var$4 = $this.$chunks.data;
                if (var$4[$var5] !== null) {
                    if (var$4[$var5] === $this.$blankChunk)
                        break b;
                    if (var$4[$var5].$isAtLocation($var1, $var2))
                        break b;
                }
                $var1 = 0;
                break a;
            }
            $var1 = 1;
        }
        return $var1;
    }
    function nms_ChunkProviderLoadOrGenerate_func_538_d($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_ChunkProviderLoadOrGenerate_provideChunk($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_ChunkProviderLoadOrGenerate_provideChunk($this, $var1, $var2) {
        var $var6, $var5, var$5, var$6, var$7, $var3, $var4, var$10, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var5 = $thread.pop();$var6 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 == $this.$lastQueriedChunkXPos && $var2 == $this.$lastQueriedChunkZPos) {
                $var6 = $this.$lastQueriedChunk;
                if ($var6 !== null)
                    return $var6;
            }
            if (!$this.$worldObj4.$findingSpawnPoint && !nms_ChunkProviderLoadOrGenerate_canChunkExist($this, $var1, $var2))
                return $this.$blankChunk;
            $var5 = ($var1 & 31) + (($var2 & 31) * 32 | 0) | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_ChunkProviderLoadOrGenerate_chunkExists($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5) {
                $this.$lastQueriedChunkXPos = $var1;
                $this.$lastQueriedChunkZPos = $var2;
                var$6 = $this.$chunks.data;
                $this.$lastQueriedChunk = var$6[$var5];
                return var$6[$var5];
            }
            var$6 = $this.$chunks.data;
            if (var$6[$var5] !== null) {
                $var6 = var$6[$var5];
                $ptr = 2;
                continue main;
            }
            $var6 = $this.$chunkLoader;
            if ($var6 !== null) {
                try {
                    var$7 = $this.$worldObj4;
                    $ptr = 5;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var6 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 6;
                continue main;
            }
            $var6 = $this.$blankChunk;
            if ($var6 === null) {
                $var6 = $this.$chunkProvider0;
                if ($var6 !== null) {
                    $ptr = 7;
                    continue main;
                }
                $var6 = $this.$blankChunk;
            }
            $this.$chunks.data[$var5] = $var6;
            $var6.$func_4143_d();
            var$6 = $this.$chunks.data;
            if (var$6[$var5] !== null) {
                $var6 = var$6[$var5];
                $ptr = 8;
                continue main;
            }
            if ($this.$chunks.data[$var5].$isTerrainPopulated) {
                var$5 = $var1 - 1 | 0;
                $ptr = 9;
                continue main;
            }
            var$5 = $var1 + 1 | 0;
            $var3 = $var2 + 1 | 0;
            $ptr = 10;
            continue main;
        case 2:
            $var6.$onChunkUnload();
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $this.$chunks.data[$var5];
            $ptr = 3;
        case 3:
            nms_ChunkProviderLoadOrGenerate_saveChunk($this, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $this.$chunks.data[$var5];
            $ptr = 4;
        case 4:
            nms_ChunkProviderLoadOrGenerate_saveExtraChunkData($this, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $this.$chunkLoader;
            if ($var6 !== null) {
                try {
                    var$7 = $this.$worldObj4;
                    $ptr = 5;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var6 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 6;
                continue main;
            }
            $var6 = $this.$blankChunk;
            if ($var6 === null) {
                $var6 = $this.$chunkProvider0;
                if ($var6 !== null) {
                    $ptr = 7;
                    continue main;
                }
                $var6 = $this.$blankChunk;
            }
            $this.$chunks.data[$var5] = $var6;
            $var6.$func_4143_d();
            var$6 = $this.$chunks.data;
            if (var$6[$var5] !== null) {
                $var6 = var$6[$var5];
                $ptr = 8;
                continue main;
            }
            if ($this.$chunks.data[$var5].$isTerrainPopulated) {
                var$5 = $var1 - 1 | 0;
                $ptr = 9;
                continue main;
            }
            var$5 = $var1 + 1 | 0;
            $var3 = $var2 + 1 | 0;
            $ptr = 10;
            continue main;
        case 5:
            a: {
                try {
                    $tmp = nleb_EaglercraftChunkLoader_loadChunk($var6, var$7, $var1, $var2);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $var6 = $tmp;
                    if ($var6 !== null)
                        $var6.$lastSaveTime = nms_World_getWorldTime($this.$worldObj4);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var6 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 6;
                continue main;
            }
            if ($var6 === null) {
                $var6 = $this.$chunkProvider0;
                if ($var6 !== null) {
                    $ptr = 7;
                    continue main;
                }
                $var6 = $this.$blankChunk;
            }
            $this.$chunks.data[$var5] = $var6;
            $var6.$func_4143_d();
            var$6 = $this.$chunks.data;
            if (var$6[$var5] !== null) {
                $var6 = var$6[$var5];
                $ptr = 8;
                continue main;
            }
            if ($this.$chunks.data[$var5].$isTerrainPopulated) {
                var$5 = $var1 - 1 | 0;
                $ptr = 9;
                continue main;
            }
            var$5 = $var1 + 1 | 0;
            $var3 = $var2 + 1 | 0;
            $ptr = 10;
            continue main;
        case 6:
            jl_Throwable_printStackTrace($var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $this.$blankChunk;
            if ($var6 === null) {
                $var6 = $this.$chunkProvider0;
                if ($var6 !== null) {
                    $ptr = 7;
                    continue main;
                }
                $var6 = $this.$blankChunk;
            }
            $this.$chunks.data[$var5] = $var6;
            $var6.$func_4143_d();
            var$6 = $this.$chunks.data;
            if (var$6[$var5] !== null) {
                $var6 = var$6[$var5];
                $ptr = 8;
                continue main;
            }
            if ($this.$chunks.data[$var5].$isTerrainPopulated) {
                var$5 = $var1 - 1 | 0;
                $ptr = 9;
                continue main;
            }
            var$5 = $var1 + 1 | 0;
            $var3 = $var2 + 1 | 0;
            $ptr = 10;
            continue main;
        case 7:
            $tmp = $var6.$provideChunk($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $this.$chunks.data[$var5] = $var6;
            $var6.$func_4143_d();
            var$6 = $this.$chunks.data;
            if (var$6[$var5] !== null) {
                $var6 = var$6[$var5];
                $ptr = 8;
                continue main;
            }
            if ($this.$chunks.data[$var5].$isTerrainPopulated) {
                var$5 = $var1 - 1 | 0;
                $ptr = 9;
                continue main;
            }
            var$5 = $var1 + 1 | 0;
            $var3 = $var2 + 1 | 0;
            $ptr = 10;
            continue main;
        case 8:
            $var6.$onChunkLoad();
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$chunks.data[$var5].$isTerrainPopulated) {
                var$5 = $var1 - 1 | 0;
                $ptr = 9;
                continue main;
            }
            var$5 = $var1 + 1 | 0;
            $var3 = $var2 + 1 | 0;
            $ptr = 10;
            continue main;
        case 9:
            $tmp = nms_ChunkProviderLoadOrGenerate_chunkExists($this, var$5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3) {
                $ptr = 12;
                continue main;
            }
            $var3 = $var2 - 1 | 0;
            $ptr = 11;
            continue main;
        case 10:
            $tmp = nms_ChunkProviderLoadOrGenerate_chunkExists($this, var$5, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4) {
                $ptr = 13;
                continue main;
            }
            var$5 = $var1 - 1 | 0;
            $ptr = 9;
            continue main;
        case 11:
            $tmp = nms_ChunkProviderLoadOrGenerate_chunkExists($this, $var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4) {
                $ptr = 14;
                continue main;
            }
            $ptr = 15;
            continue main;
        case 12:
            $tmp = nms_ChunkProviderLoadOrGenerate_provideChunk($this, var$5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6.$isTerrainPopulated) {
                $var3 = $var2 - 1 | 0;
                $ptr = 11;
                continue main;
            }
            $var3 = $var2 + 1 | 0;
            $ptr = 16;
            continue main;
        case 13:
            $tmp = nms_ChunkProviderLoadOrGenerate_chunkExists($this, $var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3) {
                $ptr = 17;
                continue main;
            }
            var$5 = $var1 - 1 | 0;
            $ptr = 9;
            continue main;
        case 14:
            $tmp = nms_ChunkProviderLoadOrGenerate_chunkExists($this, var$5, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4) {
                $this.$lastQueriedChunkXPos = $var1;
                $this.$lastQueriedChunkZPos = $var2;
                var$6 = $this.$chunks.data;
                $this.$lastQueriedChunk = var$6[$var5];
                return var$6[$var5];
            }
            $ptr = 18;
            continue main;
        case 15:
            $tmp = nms_ChunkProviderLoadOrGenerate_provideChunk($this, $var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6.$isTerrainPopulated) {
                $ptr = 14;
                continue main;
            }
            $var4 = $var1 + 1 | 0;
            $ptr = 19;
            continue main;
        case 16:
            $tmp = nms_ChunkProviderLoadOrGenerate_chunkExists($this, var$5, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4) {
                $ptr = 20;
                continue main;
            }
            $var3 = $var2 - 1 | 0;
            $ptr = 11;
            continue main;
        case 17:
            $tmp = nms_ChunkProviderLoadOrGenerate_chunkExists($this, var$5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5) {
                $ptr = 21;
                continue main;
            }
            var$5 = $var1 - 1 | 0;
            $ptr = 9;
            continue main;
        case 18:
            $tmp = nms_ChunkProviderLoadOrGenerate_provideChunk($this, var$5, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6.$isTerrainPopulated) {
                $this.$lastQueriedChunkXPos = $var1;
                $this.$lastQueriedChunkZPos = $var2;
                var$6 = $this.$chunks.data;
                $this.$lastQueriedChunk = var$6[$var5];
                return var$6[$var5];
            }
            $ptr = 22;
            continue main;
        case 19:
            $tmp = nms_ChunkProviderLoadOrGenerate_chunkExists($this, $var4, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            if (!var$10) {
                $ptr = 14;
                continue main;
            }
            $ptr = 23;
            continue main;
        case 20:
            $tmp = nms_ChunkProviderLoadOrGenerate_chunkExists($this, $var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3) {
                $ptr = 24;
                continue main;
            }
            $var3 = $var2 - 1 | 0;
            $ptr = 11;
            continue main;
        case 21:
            nms_ChunkProviderLoadOrGenerate_populate($this, $this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $var1 - 1 | 0;
            $ptr = 9;
            continue main;
        case 22:
            $tmp = nms_ChunkProviderLoadOrGenerate_chunkExists($this, var$5, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4) {
                $this.$lastQueriedChunkXPos = $var1;
                $this.$lastQueriedChunkZPos = $var2;
                var$6 = $this.$chunks.data;
                $this.$lastQueriedChunk = var$6[$var5];
                return var$6[$var5];
            }
            $ptr = 25;
            continue main;
        case 23:
            $tmp = nms_ChunkProviderLoadOrGenerate_chunkExists($this, $var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            if (!var$10) {
                $ptr = 14;
                continue main;
            }
            $ptr = 26;
            continue main;
        case 24:
            $tmp = nms_ChunkProviderLoadOrGenerate_chunkExists($this, var$5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3) {
                $ptr = 27;
                continue main;
            }
            $var3 = $var2 - 1 | 0;
            $ptr = 11;
            continue main;
        case 25:
            $tmp = nms_ChunkProviderLoadOrGenerate_chunkExists($this, $var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4) {
                $this.$lastQueriedChunkXPos = $var1;
                $this.$lastQueriedChunkZPos = $var2;
                var$6 = $this.$chunks.data;
                $this.$lastQueriedChunk = var$6[$var5];
                return var$6[$var5];
            }
            $ptr = 28;
            continue main;
        case 26:
            $tmp = nms_ChunkProviderLoadOrGenerate_chunkExists($this, $var4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4) {
                $ptr = 14;
                continue main;
            }
            $ptr = 29;
            continue main;
        case 27:
            nms_ChunkProviderLoadOrGenerate_populate($this, $this, var$5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var2 - 1 | 0;
            $ptr = 11;
            continue main;
        case 28:
            $tmp = nms_ChunkProviderLoadOrGenerate_chunkExists($this, var$5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4) {
                $this.$lastQueriedChunkXPos = $var1;
                $this.$lastQueriedChunkZPos = $var2;
                var$6 = $this.$chunks.data;
                $this.$lastQueriedChunk = var$6[$var5];
                return var$6[$var5];
            }
            $ptr = 30;
            continue main;
        case 29:
            nms_ChunkProviderLoadOrGenerate_populate($this, $this, $var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
            continue main;
        case 30:
            nms_ChunkProviderLoadOrGenerate_populate($this, $this, var$5, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$lastQueriedChunkXPos = $var1;
            $this.$lastQueriedChunkZPos = $var2;
            var$6 = $this.$chunks.data;
            $this.$lastQueriedChunk = var$6[$var5];
            return var$6[$var5];
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var6, $var5, var$5, var$6, var$7, $var3, $var4, var$10, $ptr);
    }
    function nms_ChunkProviderLoadOrGenerate_saveExtraChunkData($this, $var1) {
        var $var3, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                $var3 = $this.$chunkLoader;
                if ($var3 !== null)
                    try {
                        nleb_EaglercraftChunkLoader_saveExtraChunkData($var3, $this.$worldObj4, $var1);
                        break a;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Exception) {
                            $var3 = $$je;
                            $ptr = 1;
                            continue main;
                        } else {
                            throw $$e;
                        }
                    }
            }
            return;
        case 1:
            $var3.$printStackTrace0();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $ptr);
    }
    function nms_ChunkProviderLoadOrGenerate_saveChunk($this, $var1) {
        var $var3, var$3, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$chunkLoader === null)
                return;
            try {
                $var1.$lastSaveTime = nms_World_getWorldTime($this.$worldObj4);
                $var3 = $this.$chunkLoader;
                var$3 = $this.$worldObj4;
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 2;
            continue main;
        case 1:
            a: {
                try {
                    nleb_EaglercraftChunkLoader_saveChunk($var3, var$3, $var1);
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        $var3 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return;
            }
            $ptr = 2;
        case 2:
            jl_Throwable_printStackTrace($var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, var$3, $ptr);
    }
    function nms_ChunkProviderLoadOrGenerate_populate($this, $var1, $var2, $var3) {
        var $var4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_ChunkProviderLoadOrGenerate_provideChunk($this, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4.$isTerrainPopulated) {
                $var4.$isTerrainPopulated = 1;
                var$5 = $this.$chunkProvider0;
                if (var$5 !== null) {
                    $ptr = 2;
                    continue main;
                }
            }
            return;
        case 2:
            var$5.$populate($var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4.$setChunkModified();
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_ChunkProviderLoadOrGenerate_saveChunks($this, $var1, $var2) {
        var $var3, $var4, $var5, var$6, $var5_0, $var6, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();$var6 = $thread.pop();$var5_0 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = 0;
            $var4 = 0;
            if ($var2 !== null) {
                $var5 = 0;
                while (true) {
                    var$6 = $this.$chunks.data;
                    if ($var5 >= var$6.length)
                        break;
                    if (var$6[$var5] !== null && var$6[$var5].$needsSaving($var1))
                        $var4 = $var4 + 1 | 0;
                    $var5 = $var5 + 1 | 0;
                }
            }
            $var5_0 = 0;
            $var6 = 0;
            while (true) {
                var$6 = $this.$chunks.data;
                if ($var6 >= var$6.length)
                    break;
                if (var$6[$var6] !== null) {
                    if ($var1 && !var$6[$var6].$neverSave) {
                        var$9 = var$6[$var6];
                        $ptr = 2;
                        continue main;
                    }
                    if ($this.$chunks.data[$var6].$needsSaving($var1)) {
                        var$9 = $this.$chunks.data[$var6];
                        $ptr = 1;
                        continue main;
                    }
                }
                $var6 = $var6 + 1 | 0;
            }
            if ($var1 && $this.$chunkLoader === null)
                return 1;
            return 1;
        case 1:
            nms_ChunkProviderLoadOrGenerate_saveChunk($this, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $this.$chunks.data[$var6].$isModified = 0;
            $var3 = $var3 + 1 | 0;
            if ($var3 == 2 && !$var1)
                return 0;
            if ($var2 !== null) {
                $var5_0 = $var5_0 + 1 | 0;
                if (!($var5_0 % 10 | 0)) {
                    $var5 = ($var5_0 * 100 | 0) / $var4 | 0;
                    $ptr = 3;
                    continue main;
                }
            }
            while (true) {
                $var6 = $var6 + 1 | 0;
                var$6 = $this.$chunks.data;
                if ($var6 >= var$6.length)
                    break;
                if (var$6[$var6] === null)
                    continue;
                if ($var1 && !var$6[$var6].$neverSave) {
                    var$9 = var$6[$var6];
                    $ptr = 2;
                    continue main;
                }
                if ($this.$chunks.data[$var6].$needsSaving($var1)) {
                    var$9 = $this.$chunks.data[$var6];
                    continue main;
                }
            }
            if ($var1 && $this.$chunkLoader === null)
                return 1;
            return 1;
        case 2:
            nms_ChunkProviderLoadOrGenerate_saveExtraChunkData($this, var$9);
            if ($rt_suspending()) {
                break main;
            }
            a: while (true) {
                if ($this.$chunks.data[$var6].$needsSaving($var1)) {
                    var$9 = $this.$chunks.data[$var6];
                    $ptr = 1;
                    continue main;
                }
                while (true) {
                    $var6 = $var6 + 1 | 0;
                    var$6 = $this.$chunks.data;
                    if ($var6 >= var$6.length)
                        break a;
                    if (var$6[$var6] !== null)
                        break;
                }
                if (!$var1)
                    continue;
                if (var$6[$var6].$neverSave)
                    continue;
                else {
                    var$9 = var$6[$var6];
                    continue main;
                }
            }
            if ($var1 && $this.$chunkLoader === null)
                return 1;
            return 1;
        case 3:
            nms_LoadingScreenRenderer_setLoadingProgress($var2, $var5);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var6 = $var6 + 1 | 0;
                var$6 = $this.$chunks.data;
                if ($var6 >= var$6.length)
                    break;
                if (var$6[$var6] === null)
                    continue;
                if ($var1 && !var$6[$var6].$neverSave) {
                    var$9 = var$6[$var6];
                    $ptr = 2;
                    continue main;
                }
                if ($this.$chunks.data[$var6].$needsSaving($var1)) {
                    var$9 = $this.$chunks.data[$var6];
                    $ptr = 1;
                    continue main;
                }
            }
            if ($var1 && $this.$chunkLoader === null)
                return 1;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var5_0, $var6, var$9, $ptr);
    }
    function nms_ChunkProviderLoadOrGenerate_func_532_a($this) {
        return $this.$chunkProvider0.$func_532_a();
    }
    function nms_ChunkProviderLoadOrGenerate_func_536_b($this) {
        return 1;
    }
    function nms_ChunkProviderLoadOrGenerate_toString($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$chunks.data.length;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(1828);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_AbstractStringBuilder_append0(var$3, var$1);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_EntityPlayer() {
        var a = this; nms_EntityLiving.call(a);
        a.$inventory = null;
        a.$inventorySlots = null;
        a.$craftingInventory = null;
        a.$field_9371_f = 0;
        a.$score = 0;
        a.$field_775_e = 0.0;
        a.$field_774_f = 0.0;
        a.$isSwinging = 0;
        a.$swingProgressInt = 0;
        a.$username = null;
        a.$dimension = 0;
        a.$field_20066_r = 0.0;
        a.$field_20065_s = 0.0;
        a.$field_20064_t = 0.0;
        a.$field_20063_u = 0.0;
        a.$field_20062_v = 0.0;
        a.$field_20061_w = 0.0;
        a.$sleeping = 0;
        a.$bedChunkCoordinates = null;
        a.$sleepTimer = 0;
        a.$field_22063_x = 0.0;
        a.$field_22062_y = 0.0;
        a.$field_22061_z = 0.0;
        a.$playerSpawnCoordinate = null;
        a.$damageRemainder = 0;
        a.$fishEntity = null;
    }
    function nms_EntityPlayer__init_($this, $var1) {
        var $var2, var$3, $presetSkinId, $customSkinId, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$customSkinId = $thread.pop();$presetSkinId = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = new nms_InventoryPlayer;
            $var2.$mainInventory = $rt_createArray(nms_ItemStack, 36);
            $var2.$armorInventory = $rt_createArray(nms_ItemStack, 4);
            $var2.$currentItem = 0;
            $var2.$inventoryChanged = 0;
            $var2.$player = $this;
            $this.$inventory = $var2;
            $this.$field_9371_f = 0;
            $this.$score = 0;
            $this.$isSwinging = 0;
            $this.$swingProgressInt = 0;
            $this.$damageRemainder = 0;
            $this.$fishEntity = null;
            var$3 = new nms_CraftingInventoryPlayerCB;
            $presetSkinId = $var1.$multiplayerWorld ? 0 : 1;
            $ptr = 2;
        case 2:
            nms_CraftingInventoryPlayerCB__init_(var$3, $var2, $presetSkinId);
            if ($rt_suspending()) {
                break main;
            }
            $this.$inventorySlots = var$3;
            $this.$craftingInventory = var$3;
            $this.$yOffset = 1.6200000047683716;
            $var2 = nms_World_getSpawnPoint($var1);
            nms_Entity_setLocationAndAngles($this, $var2.$x + 0.5, $var2.$y + 1 | 0, $var2.$z + 0.5, 0.0, 0.0);
            $this.$health = 20;
            $this.$field_9351_C = $rt_s(1829);
            $this.$field_9353_B = 180.0;
            $this.$fireResistance = 20;
            if (nms_NBTTagCompound_hasNoTags(nle_LocalStorageManager_profileSettingsStorage)) {
                $this.$texture = $rt_s(1668);
                return;
            }
            $var1 = nle_LocalStorageManager_profileSettingsStorage;
            $var2 = $rt_s(1698);
            $ptr = 3;
        case 3:
            $tmp = nms_NBTTagCompound_getInteger($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $presetSkinId = $tmp;
            $var1 = nle_LocalStorageManager_profileSettingsStorage;
            $var2 = $rt_s(1699);
            $ptr = 4;
        case 4:
            $tmp = nms_NBTTagCompound_getInteger($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $customSkinId = $tmp;
            if ($customSkinId != (-1)) {
                $ptr = 5;
                continue main;
            }
            $ptr = 6;
            continue main;
        case 5:
            nlep_EaglerProfile_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$texture = (ju_ArrayList_get(nlep_EaglerProfile_skins, nlep_EaglerProfile_customSkinId)).$name11;
            return;
        case 6:
            nlep_EaglerProfile_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$texture = nlep_EaglerProfile_defaultOptionsTextures.data[$presetSkinId];
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $presetSkinId, $customSkinId, $ptr);
    }
    function nms_EntityPlayer_getEntityTexture($this) {
        return $this.$texture;
    }
    function nms_EntityPlayer_entityInit($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$dataWatcher;
            var$2 = 16;
            var$3 = jl_Byte_valueOf(0);
            $ptr = 1;
        case 1:
            nms_DataWatcher_addObject(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_EntityPlayer_onUpdate($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, $var3, $var5, var$9, $var1, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();$var1 = $thread.pop();var$9 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$sleeping) {
                var$1 = $this.$sleepTimer;
                if (var$1 > 0) {
                    var$2 = var$1 + 1 | 0;
                    $this.$sleepTimer = var$2;
                    if (var$2 >= 110)
                        $this.$sleepTimer = 0;
                }
                $ptr = 1;
                continue main;
            }
            var$2 = $this.$sleepTimer + 1 | 0;
            $this.$sleepTimer = var$2;
            if (var$2 > 100)
                $this.$sleepTimer = 100;
            var$3 = $this.$worldObj0;
            var$4 = $this.$bedChunkCoordinates;
            var$2 = var$4.$x;
            var$1 = var$4.$y;
            var$5 = var$4.$z;
            $ptr = 2;
            continue main;
        case 1:
            nms_EntityLiving_onUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$worldObj0.$multiplayerWorld) {
                var$3 = $this.$craftingInventory;
                if (var$3 !== null) {
                    $ptr = 4;
                    continue main;
                }
            }
            var$6 = $this.$field_20063_u;
            $this.$field_20066_r = var$6;
            $var3 = $this.$field_20062_v;
            $this.$field_20065_s = $var3;
            $var5 = $this.$field_20061_w;
            $this.$field_20064_t = $var5;
            var$9 = $this.$posX;
            $var1 = var$9 - var$6;
            var$6 = $this.$posY;
            $var3 = var$6 - $var3;
            var$11 = $this.$posZ;
            $var5 = var$11 - $var5;
            if ($var1 > 10.0) {
                $this.$field_20063_u = var$9;
                $this.$field_20066_r = var$9;
            }
            if ($var5 > 10.0) {
                $this.$field_20061_w = var$11;
                $this.$field_20064_t = var$11;
            }
            if ($var3 > 10.0) {
                $this.$field_20062_v = var$6;
                $this.$field_20065_s = var$6;
            }
            if ($var1 < (-10.0)) {
                $this.$field_20063_u = var$9;
                $this.$field_20066_r = var$9;
            }
            if ($var5 < (-10.0)) {
                $this.$field_20061_w = var$11;
                $this.$field_20064_t = var$11;
            }
            if ($var3 < (-10.0)) {
                $this.$field_20062_v = var$6;
                $this.$field_20065_s = var$6;
            }
            $this.$field_20063_u = $this.$field_20063_u + $var1 * 0.25;
            $this.$field_20061_w = $this.$field_20061_w + $var5 * 0.25;
            $this.$field_20062_v = $this.$field_20062_v + $var3 * 0.25;
            $ptr = 8;
            continue main;
        case 2:
            $tmp = nms_World_getBlockId(var$3, var$2, var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!(var$2 != nms_Block_blockBed.$blockID ? 0 : 1)) {
                var$2 = 1;
                var$1 = 1;
                var$5 = 0;
                $ptr = 6;
                continue main;
            }
            var$3 = $this.$worldObj0;
            if (!var$3.$multiplayerWorld && nms_World_isDaytime(var$3)) {
                var$1 = 0;
                var$5 = 1;
                var$2 = 1;
                $ptr = 7;
                continue main;
            }
            $ptr = 1;
            continue main;
        case 4:
            $tmp = var$3.$isUsableByPlayer($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (!var$2) {
                $ptr = 5;
                continue main;
            }
            var$6 = $this.$field_20063_u;
            $this.$field_20066_r = var$6;
            $var3 = $this.$field_20062_v;
            $this.$field_20065_s = $var3;
            $var5 = $this.$field_20061_w;
            $this.$field_20064_t = $var5;
            var$9 = $this.$posX;
            $var1 = var$9 - var$6;
            var$6 = $this.$posY;
            $var3 = var$6 - $var3;
            var$11 = $this.$posZ;
            $var5 = var$11 - $var5;
            if ($var1 > 10.0) {
                $this.$field_20063_u = var$9;
                $this.$field_20066_r = var$9;
            }
            if ($var5 > 10.0) {
                $this.$field_20061_w = var$11;
                $this.$field_20064_t = var$11;
            }
            if ($var3 > 10.0) {
                $this.$field_20062_v = var$6;
                $this.$field_20065_s = var$6;
            }
            if ($var1 < (-10.0)) {
                $this.$field_20063_u = var$9;
                $this.$field_20066_r = var$9;
            }
            if ($var5 < (-10.0)) {
                $this.$field_20061_w = var$11;
                $this.$field_20064_t = var$11;
            }
            if ($var3 < (-10.0)) {
                $this.$field_20062_v = var$6;
                $this.$field_20065_s = var$6;
            }
            $this.$field_20063_u = $this.$field_20063_u + $var1 * 0.25;
            $this.$field_20061_w = $this.$field_20061_w + $var5 * 0.25;
            $this.$field_20062_v = $this.$field_20062_v + $var3 * 0.25;
            $ptr = 8;
            continue main;
        case 5:
            $this.$func_20059_m();
            if ($rt_suspending()) {
                break main;
            }
            $this.$craftingInventory = $this.$inventorySlots;
            var$6 = $this.$field_20063_u;
            $this.$field_20066_r = var$6;
            $var3 = $this.$field_20062_v;
            $this.$field_20065_s = $var3;
            $var5 = $this.$field_20061_w;
            $this.$field_20064_t = $var5;
            var$9 = $this.$posX;
            $var1 = var$9 - var$6;
            var$6 = $this.$posY;
            $var3 = var$6 - $var3;
            var$11 = $this.$posZ;
            $var5 = var$11 - $var5;
            if ($var1 > 10.0) {
                $this.$field_20063_u = var$9;
                $this.$field_20066_r = var$9;
            }
            if ($var5 > 10.0) {
                $this.$field_20061_w = var$11;
                $this.$field_20064_t = var$11;
            }
            if ($var3 > 10.0) {
                $this.$field_20062_v = var$6;
                $this.$field_20065_s = var$6;
            }
            if ($var1 < (-10.0)) {
                $this.$field_20063_u = var$9;
                $this.$field_20066_r = var$9;
            }
            if ($var5 < (-10.0)) {
                $this.$field_20061_w = var$11;
                $this.$field_20064_t = var$11;
            }
            if ($var3 < (-10.0)) {
                $this.$field_20062_v = var$6;
                $this.$field_20065_s = var$6;
            }
            $this.$field_20063_u = $this.$field_20063_u + $var1 * 0.25;
            $this.$field_20061_w = $this.$field_20061_w + $var5 * 0.25;
            $this.$field_20062_v = $this.$field_20062_v + $var3 * 0.25;
            $ptr = 8;
            continue main;
        case 6:
            nms_EntityPlayer_wakeUpPlayer($this, var$2, var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 1;
            continue main;
        case 7:
            nms_EntityPlayer_wakeUpPlayer($this, var$1, var$5, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 1;
            continue main;
        case 8:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$addStat(nms_StatList_field_25179_j, 1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, $var3, $var5, var$9, $var1, var$11, $ptr);
    }
    function nms_EntityPlayer_isMovementBlocked($this) {
        return $this.$health > 0 && !$this.$sleeping ? 0 : 1;
    }
    function nms_EntityPlayer_func_20059_m($this) {
        $this.$craftingInventory = $this.$inventorySlots;
    }
    function nms_EntityPlayer_updateRidden($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_updateRidden($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_775_e = $this.$field_774_f;
            $this.$field_774_f = 0.0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntityPlayer_preparePlayerToSpawn($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$yOffset = 1.6200000047683716;
            nms_Entity_setSize($this, 0.6000000238418579, 1.7999999523162842);
            if ($this.$worldObj0 !== null) {
                var$1 = $this.$posY;
                if (var$1 > 0.0) {
                    nms_Entity_setPosition($this, $this.$posX, var$1, $this.$posZ);
                    var$2 = $this.$worldObj0;
                    var$3 = $this.$boundingBox;
                    $ptr = 1;
                    continue main;
                }
                $this.$motionZ = 0.0;
                $this.$motionY = 0.0;
                $this.$motionX = 0.0;
                $this.$rotationPitch = 0.0;
            }
            $this.$health = 20;
            $this.$deathTime = 0;
            return;
        case 1:
            $tmp = nms_World_getCollidingBoundingBoxes(var$2, $this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (var$2.$size0) {
                $this.$posY = $this.$posY + 1.0;
                var$1 = $this.$posY;
                if (var$1 > 0.0) {
                    nms_Entity_setPosition($this, $this.$posX, var$1, $this.$posZ);
                    var$2 = $this.$worldObj0;
                    var$3 = $this.$boundingBox;
                    continue main;
                }
            }
            $this.$motionZ = 0.0;
            $this.$motionY = 0.0;
            $this.$motionX = 0.0;
            $this.$rotationPitch = 0.0;
            $this.$health = 20;
            $this.$deathTime = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_EntityPlayer_updatePlayerActionState($this) {
        var var$1;
        if (!$this.$isSwinging)
            $this.$swingProgressInt = 0;
        else {
            var$1 = $this.$swingProgressInt + 1 | 0;
            $this.$swingProgressInt = var$1;
            if (var$1 == 8) {
                $this.$swingProgressInt = 0;
                $this.$isSwinging = 0;
            }
        }
        $this.$swingProgress = $this.$swingProgressInt / 8.0;
    }
    function nms_EntityPlayer_getScore($this) {
        return $this.$score;
    }
    function nms_EntityPlayer_onDeath($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_onDeath($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            nms_Entity_setSize($this, 0.20000000298023224, 0.20000000298023224);
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
            $this.$motionY = 0.10000000149011612;
            var$2 = $this.$username;
            var$3 = $rt_s(1777);
            $ptr = 2;
        case 2:
            $tmp = jl_String_equals(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4) {
                var$2 = new nms_ItemStack;
                $ptr = 3;
                continue main;
            }
            var$2 = $this.$inventory;
            var$4 = 0;
            while (true) {
                var$5 = var$2.$mainInventory.data;
                if (var$4 >= var$5.length) {
                    var$4 = 0;
                    while (true) {
                        var$5 = var$2.$armorInventory.data;
                        if (var$4 >= var$5.length) {
                            if ($var1 === null) {
                                $this.$motionZ = 0.0;
                                $this.$motionX = 0.0;
                            } else {
                                $this.$motionX =  -nms_MathHelper_cos(($this.$attackedAtYaw + $this.$rotationYaw) * 3.1415927410125732 / 180.0) * 0.10000000149011612;
                                $this.$motionZ =  -nms_MathHelper_sin(($this.$attackedAtYaw + $this.$rotationYaw) * 3.1415927410125732 / 180.0) * 0.10000000149011612;
                            }
                            $this.$yOffset = 0.10000000149011612;
                            $ptr = 7;
                            continue main;
                        }
                        if (var$5[var$4] !== null)
                            break;
                        var$4 = var$4 + 1 | 0;
                    }
                    var$3 = var$2.$player;
                    var$6 = var$5[var$4];
                    var$7 = 1;
                    $ptr = 6;
                    continue main;
                }
                if (var$5[var$4] !== null)
                    break;
                var$4 = var$4 + 1 | 0;
            }
            var$3 = var$2.$player;
            var$6 = var$5[var$4];
            var$7 = 1;
            $ptr = 5;
            continue main;
        case 3:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_1(var$2, nms_Item_appleRed, 1);
            var$4 = 1;
            $ptr = 4;
        case 4:
            nms_EntityPlayer_dropPlayerItemWithRandomChoice($this, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$inventory;
            var$4 = 0;
            while (true) {
                var$5 = var$2.$mainInventory.data;
                if (var$4 >= var$5.length) {
                    var$4 = 0;
                    while (true) {
                        var$5 = var$2.$armorInventory.data;
                        if (var$4 >= var$5.length) {
                            if ($var1 === null) {
                                $this.$motionZ = 0.0;
                                $this.$motionX = 0.0;
                            } else {
                                $this.$motionX =  -nms_MathHelper_cos(($this.$attackedAtYaw + $this.$rotationYaw) * 3.1415927410125732 / 180.0) * 0.10000000149011612;
                                $this.$motionZ =  -nms_MathHelper_sin(($this.$attackedAtYaw + $this.$rotationYaw) * 3.1415927410125732 / 180.0) * 0.10000000149011612;
                            }
                            $this.$yOffset = 0.10000000149011612;
                            $ptr = 7;
                            continue main;
                        }
                        if (var$5[var$4] !== null)
                            break;
                        var$4 = var$4 + 1 | 0;
                    }
                    var$3 = var$2.$player;
                    var$6 = var$5[var$4];
                    var$7 = 1;
                    $ptr = 6;
                    continue main;
                }
                if (var$5[var$4] !== null)
                    break;
                var$4 = var$4 + 1 | 0;
            }
            var$3 = var$2.$player;
            var$6 = var$5[var$4];
            var$7 = 1;
            $ptr = 5;
        case 5:
            nms_EntityPlayer_dropPlayerItemWithRandomChoice(var$3, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$2.$mainInventory.data[var$4] = null;
            while (true) {
                var$4 = var$4 + 1 | 0;
                var$5 = var$2.$mainInventory.data;
                if (var$4 >= var$5.length) {
                    var$4 = 0;
                    while (true) {
                        var$5 = var$2.$armorInventory.data;
                        if (var$4 >= var$5.length) {
                            if ($var1 === null) {
                                $this.$motionZ = 0.0;
                                $this.$motionX = 0.0;
                            } else {
                                $this.$motionX =  -nms_MathHelper_cos(($this.$attackedAtYaw + $this.$rotationYaw) * 3.1415927410125732 / 180.0) * 0.10000000149011612;
                                $this.$motionZ =  -nms_MathHelper_sin(($this.$attackedAtYaw + $this.$rotationYaw) * 3.1415927410125732 / 180.0) * 0.10000000149011612;
                            }
                            $this.$yOffset = 0.10000000149011612;
                            $ptr = 7;
                            continue main;
                        }
                        if (var$5[var$4] !== null)
                            break;
                        var$4 = var$4 + 1 | 0;
                    }
                    var$3 = var$2.$player;
                    var$6 = var$5[var$4];
                    var$7 = 1;
                    $ptr = 6;
                    continue main;
                }
                if (var$5[var$4] === null)
                    continue;
                else
                    break;
            }
            var$3 = var$2.$player;
            var$6 = var$5[var$4];
            var$7 = 1;
            continue main;
        case 6:
            nms_EntityPlayer_dropPlayerItemWithRandomChoice(var$3, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$2.$armorInventory.data[var$4] = null;
            while (true) {
                var$4 = var$4 + 1 | 0;
                var$5 = var$2.$armorInventory.data;
                if (var$4 >= var$5.length) {
                    if ($var1 === null) {
                        $this.$motionZ = 0.0;
                        $this.$motionX = 0.0;
                    } else {
                        $this.$motionX =  -nms_MathHelper_cos(($this.$attackedAtYaw + $this.$rotationYaw) * 3.1415927410125732 / 180.0) * 0.10000000149011612;
                        $this.$motionZ =  -nms_MathHelper_sin(($this.$attackedAtYaw + $this.$rotationYaw) * 3.1415927410125732 / 180.0) * 0.10000000149011612;
                    }
                    $this.$yOffset = 0.10000000149011612;
                    $ptr = 7;
                    continue main;
                }
                if (var$5[var$4] === null)
                    continue;
                else
                    break;
            }
            var$3 = var$2.$player;
            var$6 = var$5[var$4];
            var$7 = 1;
            continue main;
        case 7:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$addStat(nms_StatList_field_25163_u, 1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_EntityPlayer_addToPlayerScore($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$score = $this.$score + $var2 | 0;
            if (!($var1 instanceof nms_EntityPlayer)) {
                $ptr = 1;
                continue main;
            }
            $ptr = 2;
            continue main;
        case 1:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_EntityPlayer_dropCurrentItem($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$inventory;
            var$2 = var$1.$currentItem;
            var$3 = 1;
            $ptr = 1;
        case 1:
            $tmp = nms_InventoryPlayer_decrStackSize(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            var$3 = 0;
            $ptr = 2;
        case 2:
            nms_EntityPlayer_dropPlayerItemWithRandomChoice($this, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_EntityPlayer_dropPlayerItem($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 0;
            $ptr = 1;
        case 1:
            nms_EntityPlayer_dropPlayerItemWithRandomChoice($this, $var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_EntityPlayer_dropPlayerItemWithRandomChoice($this, $var1, $var2) {
        var $var3, var$4, var$5, var$6, var$7, $var5, $var6, $var5_0, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();$var5_0 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 === null)
                return;
            $var3 = new nms_EntityItem;
            var$4 = $this.$worldObj0;
            var$5 = $this.$posX;
            var$6 = $this.$posY - 0.30000001192092896 + 0.11999999731779099;
            var$7 = $this.$posZ;
            $ptr = 1;
        case 1:
            nms_EntityItem__init_($var3, var$4, var$5, var$6, var$7, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var3.$delayBeforeCanPickup = 40;
            if ($var2) {
                $var5 = ju_Random_nextFloat($this.$rand3) * 0.5;
                $var6 = ju_Random_nextFloat($this.$rand3) * 3.1415927410125732 * 2.0;
                $var3.$motionX =  -nms_MathHelper_sin($var6) * $var5;
                $var3.$motionZ = nms_MathHelper_cos($var6) * $var5;
                $var3.$motionY = 0.20000000298023224;
            } else {
                $var3.$motionX =  -nms_MathHelper_sin($this.$rotationYaw / 180.0 * 3.1415927410125732) * nms_MathHelper_cos($this.$rotationPitch / 180.0 * 3.1415927410125732) * 0.30000001192092896;
                $var3.$motionZ = nms_MathHelper_cos($this.$rotationYaw / 180.0 * 3.1415927410125732) * nms_MathHelper_cos($this.$rotationPitch / 180.0 * 3.1415927410125732) * 0.30000001192092896;
                $var3.$motionY =  -nms_MathHelper_sin($this.$rotationPitch / 180.0 * 3.1415927410125732) * 0.30000001192092896 + 0.10000000149011612;
                $var5_0 = ju_Random_nextFloat($this.$rand3) * 3.1415927410125732 * 2.0;
                $var6 = 0.019999999552965164 * ju_Random_nextFloat($this.$rand3);
                var$6 = $var3.$motionX;
                var$5 = $var5_0;
                var$7 = jl_Math_cos(var$5);
                var$11 = $var6;
                $var3.$motionX = var$6 + var$7 * var$11;
                $var3.$motionY = $var3.$motionY + (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.10000000149011612;
                $var3.$motionZ = $var3.$motionZ + jl_Math_sin(var$5) * var$11;
            }
            $ptr = 2;
        case 2:
            $this.$joinEntityItemWithWorld($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$addStat(nms_StatList_field_25168_r, 1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, $var5, $var6, $var5_0, var$11, $ptr);
    }
    function nms_EntityPlayer_joinEntityItemWithWorld($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$worldObj0;
            $ptr = 1;
        case 1:
            var$2.$entityJoinedWorld($var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_EntityPlayer_getCurrentPlayerStrVsBlock($this, $var1) {
        var var$2, $var2, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$inventory;
            $var2 = 1.0;
            var$4 = var$2.$mainInventory.data;
            var$5 = var$2.$currentItem;
            if (var$4[var$5] !== null) {
                var$2 = var$4[var$5];
                $ptr = 1;
                continue main;
            }
            nms_Material_$callClinit();
            $var1 = nms_Material_water;
            $ptr = 3;
            continue main;
        case 1:
            $tmp = nms_ItemStack_getItem(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = var$6.$getStrVsBlock(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $var2 = $var2 * var$7;
            nms_Material_$callClinit();
            $var1 = nms_Material_water;
            $ptr = 3;
        case 3:
            $tmp = nms_Entity_isInsideOfMaterial($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                $var2 = $var2 / 5.0;
            if (!$this.$onGround0)
                $var2 = $var2 / 5.0;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_EntityPlayer_canHarvestBlock($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$inventory;
            var$3 = $var1.$blockMaterial;
            nms_Material_$callClinit();
            if (var$3 !== nms_Material_rock && var$3 !== nms_Material_iron && var$3 !== nms_Material_builtSnow && var$3 !== nms_Material_snow)
                var$4 = 1;
            else {
                var$2 = nms_InventoryPlayer_getStackInSlot(var$2, var$2.$currentItem);
                if (var$2 !== null) {
                    $ptr = 1;
                    continue main;
                }
                var$4 = 0;
            }
            return var$4;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Item_itemsList.data[var$2.$itemID];
            $ptr = 2;
        case 2:
            $tmp = var$2.$canHarvestBlock($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return var$4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_EntityPlayer_writeEntityToNBT($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_writeEntityToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1830);
            var$3 = $this.$inventory;
            var$4 = nms_NBTTagList__init_0();
            var$5 = 0;
            while (true) {
                var$6 = var$3.$mainInventory.data;
                if (var$5 >= var$6.length) {
                    var$7 = 0;
                    while (true) {
                        var$6 = var$3.$armorInventory.data;
                        if (var$7 >= var$6.length)
                            break;
                        if (var$6[var$7] !== null) {
                            var$8 = nms_NBTTagCompound__init_0();
                            var$9 = $rt_s(1831);
                            var$5 = (var$7 + 100 | 0) << 24 >> 24;
                            $ptr = 11;
                            continue main;
                        }
                        var$7 = var$7 + 1 | 0;
                    }
                    $ptr = 4;
                    continue main;
                }
                if (var$6[var$5] !== null)
                    break;
                var$5 = var$5 + 1 | 0;
            }
            var$8 = nms_NBTTagCompound__init_0();
            var$9 = $rt_s(1831);
            var$7 = var$5 << 24 >> 24;
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setByte(var$8, var$9, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = var$3.$mainInventory.data[var$5];
            $ptr = 3;
        case 3:
            nms_ItemStack_writeToNBT(var$9, var$8);
            if ($rt_suspending()) {
                break main;
            }
            nms_NBTTagList_setTag(var$4, var$8);
            while (true) {
                var$5 = var$5 + 1 | 0;
                var$6 = var$3.$mainInventory.data;
                if (var$5 >= var$6.length) {
                    var$7 = 0;
                    while (true) {
                        var$6 = var$3.$armorInventory.data;
                        if (var$7 >= var$6.length)
                            break;
                        if (var$6[var$7] !== null) {
                            var$8 = nms_NBTTagCompound__init_0();
                            var$9 = $rt_s(1831);
                            var$5 = (var$7 + 100 | 0) << 24 >> 24;
                            $ptr = 11;
                            continue main;
                        }
                        var$7 = var$7 + 1 | 0;
                    }
                    $ptr = 4;
                    continue main;
                }
                if (var$6[var$5] === null)
                    continue;
                else
                    break;
            }
            var$8 = nms_NBTTagCompound__init_0();
            var$9 = $rt_s(1831);
            var$7 = var$5 << 24 >> 24;
            $ptr = 2;
            continue main;
        case 4:
            nms_NBTTagCompound_setTag($var1, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $rt_s(1832);
            var$7 = $this.$dimension;
            $ptr = 5;
        case 5:
            nms_NBTTagCompound_setInteger($var1, var$4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $rt_s(1833);
            var$7 = $this.$sleeping;
            $ptr = 6;
        case 6:
            nms_NBTTagCompound_setBoolean($var1, var$4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $rt_s(1834);
            var$7 = $this.$sleepTimer << 16 >> 16;
            $ptr = 7;
        case 7:
            nms_NBTTagCompound_setShort($var1, var$4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$playerSpawnCoordinate;
            if (var$4 === null)
                return;
            var$8 = $rt_s(1835);
            var$7 = var$4.$x;
            $ptr = 8;
        case 8:
            nms_NBTTagCompound_setInteger($var1, var$8, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $rt_s(1836);
            var$7 = $this.$playerSpawnCoordinate.$y;
            $ptr = 9;
        case 9:
            nms_NBTTagCompound_setInteger($var1, var$4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $rt_s(1837);
            var$7 = $this.$playerSpawnCoordinate.$z;
            $ptr = 10;
        case 10:
            nms_NBTTagCompound_setInteger($var1, var$4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 11:
            nms_NBTTagCompound_setByte(var$8, var$9, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = var$3.$armorInventory.data[var$7];
            $ptr = 12;
        case 12:
            nms_ItemStack_writeToNBT(var$9, var$8);
            if ($rt_suspending()) {
                break main;
            }
            nms_NBTTagList_setTag(var$4, var$8);
            while (true) {
                var$7 = var$7 + 1 | 0;
                var$6 = var$3.$armorInventory.data;
                if (var$7 >= var$6.length)
                    break;
                if (var$6[var$7] === null)
                    continue;
                else {
                    var$8 = nms_NBTTagCompound__init_0();
                    var$9 = $rt_s(1831);
                    var$5 = (var$7 + 100 | 0) << 24 >> 24;
                    $ptr = 11;
                    continue main;
                }
            }
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_EntityPlayer_getEyeHeight($this) {
        return 0.11999999731779099;
    }
    function nms_EntityPlayer_resetHeight($this) {
        $this.$yOffset = 1.6200000047683716;
    }
    function nms_EntityPlayer_attackEntityFrom($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$field_9344_ag = 0;
            if ($this.$health <= 0)
                return 0;
            if ($this.$sleeping) {
                var$3 = 1;
                var$4 = 1;
                var$5 = 0;
                $ptr = 1;
                continue main;
            }
            if (!(!($var1 instanceof nms_EntityMobs) && !($var1 instanceof nms_EntityArrow))) {
                var$4 = $this.$worldObj0.$difficultySetting;
                if (!var$4)
                    $var2 = 0;
                if (var$4 == 1)
                    $var2 = ($var2 / 3 | 0) + 1 | 0;
                if (var$4 == 3)
                    $var2 = ($var2 * 3 | 0) / 2 | 0;
            }
            if (!$var2)
                return 0;
            if (!($var1 instanceof nms_EntityArrow))
                var$6 = $var1;
            else {
                var$6 = $var1.$archer;
                if (var$6 === null)
                    var$6 = $var1;
            }
            if (!(var$6 instanceof nms_EntityLiving)) {
                $ptr = 2;
                continue main;
            }
            var$3 = 0;
            $ptr = 4;
            continue main;
        case 1:
            nms_EntityPlayer_wakeUpPlayer($this, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            if (!(!($var1 instanceof nms_EntityMobs) && !($var1 instanceof nms_EntityArrow))) {
                var$4 = $this.$worldObj0.$difficultySetting;
                if (!var$4)
                    $var2 = 0;
                if (var$4 == 1)
                    $var2 = ($var2 / 3 | 0) + 1 | 0;
                if (var$4 == 3)
                    $var2 = ($var2 * 3 | 0) / 2 | 0;
            }
            if (!$var2)
                return 0;
            if (!($var1 instanceof nms_EntityArrow))
                var$6 = $var1;
            else {
                var$6 = $var1.$archer;
                if (var$6 === null)
                    var$6 = $var1;
            }
            if (!(var$6 instanceof nms_EntityLiving)) {
                $ptr = 2;
                continue main;
            }
            var$3 = 0;
            $ptr = 4;
            continue main;
        case 2:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$addStat(nms_StatList_field_25165_t, $var2);
            $ptr = 3;
        case 3:
            $tmp = nms_EntityLiving_attackEntityFrom($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        case 4:
            nms_EntityPlayer_alertWolves($this, var$6, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_EntityPlayer_alertWolves($this, $var1, $var2) {
        var $var3, $var7, $var6, var$6, var$7, var$8, $var4, var$10, $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();var$10 = $thread.pop();$var4 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var6 = $thread.pop();$var7 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!($var1 instanceof nms_EntityCreeper) && !($var1 instanceof nms_EntityGhast)) {
                if ($var1 instanceof nms_EntityWolf) {
                    $var3 = $var1;
                    $ptr = 3;
                    continue main;
                }
                $var7 = $this.$worldObj0;
                $var6 = $rt_cls(nms_EntityWolf);
                var$6 = $this.$posX;
                var$7 = $this.$posY;
                var$8 = $this.$posZ;
                $var4 = nms_AxisAlignedBB_expand(nms_AxisAlignedBB_getBoundingBoxFromPool(var$6, var$7, var$8, var$6 + 1.0, var$7 + 1.0, var$8 + 1.0), 16.0, 4.0, 16.0);
                $ptr = 1;
                continue main;
            }
            return;
        case 1:
            $tmp = nms_World_getEntitiesWithinAABB($var7, $var6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = ju_AbstractList_iterator($var7);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!ju_AbstractList$1_hasNext($var4))
                return;
            $ptr = 6;
            continue main;
        case 3:
            $tmp = nms_EntityWolf_isWolfTamed($var3);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            if (var$10) {
                $var7 = $this.$username;
                $ptr = 4;
                continue main;
            }
            $var7 = $this.$worldObj0;
            $var6 = $rt_cls(nms_EntityWolf);
            var$6 = $this.$posX;
            var$7 = $this.$posY;
            var$8 = $this.$posZ;
            $var4 = nms_AxisAlignedBB_expand(nms_AxisAlignedBB_getBoundingBoxFromPool(var$6, var$7, var$8, var$6 + 1.0, var$7 + 1.0, var$8 + 1.0), 16.0, 4.0, 16.0);
            $ptr = 1;
            continue main;
        case 4:
            $tmp = nms_EntityWolf_getWolfOwner($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $ptr = 5;
        case 5:
            $tmp = jl_String_equals($var7, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            if (var$10)
                return;
            $var7 = $this.$worldObj0;
            $var6 = $rt_cls(nms_EntityWolf);
            var$6 = $this.$posX;
            var$7 = $this.$posY;
            var$8 = $this.$posZ;
            $var4 = nms_AxisAlignedBB_expand(nms_AxisAlignedBB_getBoundingBoxFromPool(var$6, var$7, var$8, var$6 + 1.0, var$7 + 1.0, var$8 + 1.0), 16.0, 4.0, 16.0);
            $ptr = 1;
            continue main;
        case 6:
            $tmp = ju_AbstractList$1_next($var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var6 = $var7;
            $ptr = 7;
        case 7:
            $tmp = nms_EntityWolf_isWolfTamed($var6);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            if (var$10 && $var6.$playerToAttack === null) {
                $var7 = $this.$username;
                $ptr = 8;
                continue main;
            }
            if (!ju_AbstractList$1_hasNext($var4))
                return;
            $ptr = 6;
            continue main;
        case 8:
            $tmp = nms_EntityWolf_getWolfOwner($var6);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 9;
        case 9:
            $tmp = jl_String_equals($var7, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            if (var$10) {
                if ($var2) {
                    $ptr = 11;
                    continue main;
                }
                var$10 = 0;
                $ptr = 10;
                continue main;
            }
            if (!ju_AbstractList$1_hasNext($var4))
                return;
            $ptr = 6;
            continue main;
        case 10:
            nms_EntityWolf_setWolfSitting($var6, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var6.$playerToAttack = $var1;
            if (!ju_AbstractList$1_hasNext($var4))
                return;
            $ptr = 6;
            continue main;
        case 11:
            $tmp = nms_EntityWolf_isWolfSitting($var6);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            if (!var$10) {
                var$10 = 0;
                $ptr = 10;
                continue main;
            }
            if (!ju_AbstractList$1_hasNext($var4))
                return;
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var7, $var6, var$6, var$7, var$8, $var4, var$10, $var5, $ptr);
    }
    function nms_EntityPlayer_damageEntity($this, $var1) {
        var $var2, var$3, $var3, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = 25;
            var$3 = $this.$inventory;
            $ptr = 1;
        case 1:
            $tmp = nms_InventoryPlayer_getTotalArmorValue(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var3 = $rt_imul($var1, $var2 - $var3 | 0) + $this.$damageRemainder | 0;
            var$5 = $this.$inventory;
            var$6 = 0;
            while (true) {
                var$7 = var$5.$armorInventory.data;
                if (var$6 >= var$7.length) {
                    $var2 = $var3 / 25 | 0;
                    $this.$damageRemainder = $var3 % 25 | 0;
                    $ptr = 2;
                    continue main;
                }
                if (var$7[var$6] !== null)
                    break;
                var$6 = var$6 + 1 | 0;
            }
            var$3 = var$7[var$6];
            $ptr = 3;
            continue main;
        case 2:
            nms_EntityLiving_damageEntity($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            $tmp = nms_ItemStack_getItem(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3 instanceof nms_ItemArmor) {
                var$3 = var$5.$armorInventory.data[var$6];
                var$8 = var$5.$player;
                $ptr = 4;
                continue main;
            }
            while (true) {
                var$6 = var$6 + 1 | 0;
                var$7 = var$5.$armorInventory.data;
                if (var$6 >= var$7.length) {
                    $var2 = $var3 / 25 | 0;
                    $this.$damageRemainder = $var3 % 25 | 0;
                    $ptr = 2;
                    continue main;
                }
                if (var$7[var$6] === null)
                    continue;
                else
                    break;
            }
            var$3 = var$7[var$6];
            continue main;
        case 4:
            nms_ItemStack_func_25190_a(var$3, $var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = var$5.$armorInventory.data;
            if (!var$7[var$6].$stackSize)
                var$7[var$6] = null;
            while (true) {
                var$6 = var$6 + 1 | 0;
                var$7 = var$5.$armorInventory.data;
                if (var$6 >= var$7.length) {
                    $var2 = $var3 / 25 | 0;
                    $this.$damageRemainder = $var3 % 25 | 0;
                    $ptr = 2;
                    continue main;
                }
                if (var$7[var$6] === null)
                    continue;
                else
                    break;
            }
            var$3 = var$7[var$6];
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_EntityPlayer_useCurrentItemOnEntity($this, $var1) {
        var var$2, $var2, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$interact($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (!var$2) {
                $var2 = nms_EntityPlayer_getCurrentEquippedItem($this);
                if ($var2 !== null && $var1 instanceof nms_EntityLiving) {
                    $var1 = $var1;
                    $ptr = 2;
                    continue main;
                }
            }
            return;
        case 2:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_Item_itemsList.data[$var2.$itemID];
            $ptr = 3;
        case 3:
            var$4.$saddleEntity($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            if ($var2.$stackSize <= 0)
                nms_EntityPlayer_destroyCurrentEquippedItem($this);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, var$4, $ptr);
    }
    function nms_EntityPlayer_getCurrentEquippedItem($this) {
        return nms_InventoryPlayer_getCurrentItem($this.$inventory);
    }
    function nms_EntityPlayer_destroyCurrentEquippedItem($this) {
        var var$1;
        var$1 = $this.$inventory;
        nms_InventoryPlayer_setInventorySlotContents(var$1, var$1.$currentItem, null);
    }
    function nms_EntityPlayer_getYOffset($this) {
        return $this.$yOffset - 0.5;
    }
    function nms_EntityPlayer_swingItem($this) {
        $this.$swingProgressInt = (-1);
        $this.$isSwinging = 1;
    }
    function nms_EntityPlayer_attackTargetEntityWithCurrentItem($this, $var1) {
        var $var3, $var2, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $this.$inventory;
            $var3 = nms_InventoryPlayer_getStackInSlot($var3, $var3.$currentItem);
            if ($var3 !== null) {
                $ptr = 1;
                continue main;
            }
            $var2 = 1;
            if ($var2 <= 0)
                return;
            $ptr = 3;
            continue main;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_Item_itemsList.data[$var3.$itemID];
            $ptr = 2;
        case 2:
            $tmp = $var3.$getDamageVsEntity($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 <= 0)
                return;
            $ptr = 3;
        case 3:
            $var1.$attackEntityFrom($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_EntityPlayer_getCurrentEquippedItem($this);
            if ($var3 !== null && $var1 instanceof nms_EntityLiving) {
                var$4 = $var1;
                $ptr = 4;
                continue main;
            }
            if (!($var1 instanceof nms_EntityLiving))
                return;
            if (!$var1.$isEntityAlive()) {
                $ptr = 6;
                continue main;
            }
            $var1 = $var1;
            $var2 = 1;
            $ptr = 7;
            continue main;
        case 4:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = nms_Item_itemsList.data[$var3.$itemID];
            $ptr = 5;
        case 5:
            $tmp = var$5.$hitEntity($var3, var$4, $this);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2) {
                $ptr = 8;
                continue main;
            }
            if ($var3.$stackSize <= 0)
                nms_EntityPlayer_destroyCurrentEquippedItem($this);
            if (!($var1 instanceof nms_EntityLiving))
                return;
            if (!$var1.$isEntityAlive()) {
                $ptr = 6;
                continue main;
            }
            $var1 = $var1;
            $var2 = 1;
            $ptr = 7;
            continue main;
        case 6:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            nms_EntityPlayer_alertWolves($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
            continue main;
        case 8:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var3.$stackSize <= 0)
                nms_EntityPlayer_destroyCurrentEquippedItem($this);
            if (!($var1 instanceof nms_EntityLiving))
                return;
            if (!$var1.$isEntityAlive()) {
                $ptr = 6;
                continue main;
            }
            $var1 = $var1;
            $var2 = 1;
            $ptr = 7;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var2, var$4, var$5, $ptr);
    }
    function nms_EntityPlayer_onItemStackChanged($this, $var1) {}
    function nms_EntityPlayer_setEntityDead($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$inventorySlots;
            $ptr = 2;
        case 2:
            nms_CraftingInventoryPlayerCB_onCraftGuiClosed(var$1, $this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$craftingInventory;
            if (var$1 === null)
                return;
            $ptr = 3;
        case 3:
            var$1.$onCraftGuiClosed($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_EntityPlayer_isEntityInsideOpaqueBlock($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$sleeping)
                return 0;
            $ptr = 1;
        case 1:
            $tmp = nms_Entity_isEntityInsideOpaqueBlock($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return !var$1 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_EntityPlayer_sleepInBedAt($this, $var1, $var2, $var3) {
        var var$4, $var4, $var5, $var6, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$sleeping && nms_EntityLiving_isEntityAlive($this)) {
                var$4 = $this.$worldObj0;
                if (var$4.$worldProvider.$field_4220_c) {
                    nms_EnumStatus_$callClinit();
                    return nms_EnumStatus_NOT_POSSIBLE_HERE;
                }
                if (nms_World_isDaytime(var$4)) {
                    nms_EnumStatus_$callClinit();
                    return nms_EnumStatus_NOT_POSSIBLE_NOW;
                }
                if (jl_Math_abs1($this.$posX - $var1) <= 3.0 && jl_Math_abs1($this.$posY - $var2) <= 2.0 && jl_Math_abs1($this.$posZ - $var3) <= 3.0) {
                    nms_Entity_setSize($this, 0.20000000298023224, 0.20000000298023224);
                    $this.$yOffset = 0.20000000298023224;
                    var$4 = $this.$worldObj0;
                    $ptr = 1;
                    continue main;
                }
                nms_EnumStatus_$callClinit();
                return nms_EnumStatus_TOO_FAR_AWAY;
            }
            nms_EnumStatus_$callClinit();
            return nms_EnumStatus_OTHER_PROBLEM;
        case 1:
            $tmp = nms_World_blockExists(var$4, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4) {
                nms_Entity_setPosition($this, $var1 + 0.5, $var2 + 0.9375, $var3 + 0.5);
                $this.$sleeping = 1;
                $this.$sleepTimer = 0;
                $this.$bedChunkCoordinates = nms_ChunkCoordinates__init_2($var1, $var2, $var3);
                $this.$motionY = 0.0;
                $this.$motionZ = 0.0;
                $this.$motionX = 0.0;
                var$4 = $this.$worldObj0;
                if (!var$4.$multiplayerWorld)
                    nms_World_updateAllPlayersSleepingFlag(var$4);
                nms_EnumStatus_$callClinit();
                return nms_EnumStatus_OK;
            }
            var$4 = $this.$worldObj0;
            $ptr = 2;
        case 2:
            a: {
                $tmp = nms_World_getBlockMetadata(var$4, $var1, $var2, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                $var5 = nms_BlockBed_getDirectionFromMetadata($var4);
                $var6 = 0.5;
                $var7 = 0.5;
                switch ($var5) {
                    case 0:
                        $var7 = 0.8999999761581421;
                        break a;
                    case 1:
                        $var6 = 0.10000000149011612;
                        break a;
                    case 2:
                        $var7 = 0.10000000149011612;
                        break a;
                    case 3:
                        $var6 = 0.8999999761581421;
                        break a;
                    default:
                }
            }
            b: {
                $this.$field_22063_x = 0.0;
                $this.$field_22061_z = 0.0;
                switch ($var5) {
                    case 0:
                        break;
                    case 1:
                        $this.$field_22063_x = 1.7999999523162842;
                        break b;
                    case 2:
                        $this.$field_22061_z = 1.7999999523162842;
                        break b;
                    case 3:
                        $this.$field_22063_x = (-1.7999999523162842);
                        break b;
                    default:
                        break b;
                }
                $this.$field_22061_z = (-1.7999999523162842);
            }
            nms_Entity_setPosition($this, $var1 + $var6, $var2 + 0.9375, $var3 + $var7);
            $this.$sleeping = 1;
            $this.$sleepTimer = 0;
            $this.$bedChunkCoordinates = nms_ChunkCoordinates__init_2($var1, $var2, $var3);
            $this.$motionY = 0.0;
            $this.$motionZ = 0.0;
            $this.$motionX = 0.0;
            var$4 = $this.$worldObj0;
            if (!var$4.$multiplayerWorld)
                nms_World_updateAllPlayersSleepingFlag(var$4);
            nms_EnumStatus_$callClinit();
            return nms_EnumStatus_OK;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_EntityPlayer_wakeUpPlayer($this, $var1, $var2, $var3) {
        var $var4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Entity_setSize($this, 0.6000000238418579, 1.7999999523162842);
            $this.$resetHeight();
            $var4 = $this.$bedChunkCoordinates;
            if ($var4 === null) {
                $this.$sleeping = 0;
                var$5 = $this.$worldObj0;
                if (!var$5.$multiplayerWorld && $var2)
                    nms_World_updateAllPlayersSleepingFlag(var$5);
                if (!$var1)
                    $this.$sleepTimer = 100;
                else
                    $this.$sleepTimer = 0;
                if ($var3)
                    nms_EntityPlayer_setPlayerSpawnCoordinate($this, $this.$bedChunkCoordinates);
                return;
            }
            var$5 = $this.$worldObj0;
            var$6 = $var4.$x;
            var$7 = $var4.$y;
            var$8 = $var4.$z;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId(var$5, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$6 != nms_Block_blockBed.$blockID) {
                $this.$sleeping = 0;
                var$5 = $this.$worldObj0;
                if (!var$5.$multiplayerWorld && $var2)
                    nms_World_updateAllPlayersSleepingFlag(var$5);
                if (!$var1)
                    $this.$sleepTimer = 100;
                else
                    $this.$sleepTimer = 0;
                if ($var3)
                    nms_EntityPlayer_setPlayerSpawnCoordinate($this, $this.$bedChunkCoordinates);
                return;
            }
            var$5 = $this.$worldObj0;
            var$6 = $var4.$x;
            var$7 = $var4.$y;
            var$8 = $var4.$z;
            var$9 = 0;
            $ptr = 3;
        case 3:
            nms_BlockBed_setBedOccupied(var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$worldObj0;
            var$6 = $var4.$x;
            var$7 = $var4.$y;
            var$8 = $var4.$z;
            var$9 = 0;
            $ptr = 4;
        case 4:
            $tmp = nms_BlockBed_getNearestEmptyChunkCoordinates(var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 === null)
                var$5 = nms_ChunkCoordinates__init_2($var4.$x, $var4.$y + 1 | 0, $var4.$z);
            nms_Entity_setPosition($this, var$5.$x + 0.5, var$5.$y + $this.$yOffset + 0.10000000149011612, var$5.$z + 0.5);
            $this.$sleeping = 0;
            var$5 = $this.$worldObj0;
            if (!var$5.$multiplayerWorld && $var2)
                nms_World_updateAllPlayersSleepingFlag(var$5);
            if (!$var1)
                $this.$sleepTimer = 100;
            else
                $this.$sleepTimer = 0;
            if ($var3)
                nms_EntityPlayer_setPlayerSpawnCoordinate($this, $this.$bedChunkCoordinates);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_EntityPlayer_getBedOrientationInDegrees($this) {
        var var$1, var$2, $var1, $var2, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$bedChunkCoordinates;
            if (var$1 === null)
                return 0.0;
            var$2 = $this.$worldObj0;
            $var1 = var$1.$x;
            $var2 = var$1.$y;
            var$5 = var$1.$z;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata(var$2, $var1, $var2, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            switch (nms_BlockBed_getDirectionFromMetadata($var1)) {
                case 0:
                    return 90.0;
                case 1:
                    return 0.0;
                case 2:
                    return 270.0;
                case 3:
                    return 180.0;
                default:
            }
            return 0.0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $var1, $var2, var$5, $ptr);
    }
    function nms_EntityPlayer_isPlayerSleeping($this) {
        return $this.$sleeping;
    }
    function nms_EntityPlayer_isPlayerFullyAsleep($this) {
        return $this.$sleeping && $this.$sleepTimer >= 100 ? 1 : 0;
    }
    function nms_EntityPlayer_func_22060_M($this) {
        return $this.$sleepTimer;
    }
    function nms_EntityPlayer_getPlayerSpawnCoordinate($this) {
        return $this.$playerSpawnCoordinate;
    }
    function nms_EntityPlayer_setPlayerSpawnCoordinate($this, $var1) {
        var var$2;
        if ($var1 === null)
            $this.$playerSpawnCoordinate = null;
        else {
            var$2 = new nms_ChunkCoordinates;
            var$2.$x = $var1.$x;
            var$2.$y = $var1.$y;
            var$2.$z = $var1.$z;
            $this.$playerSpawnCoordinate = var$2;
        }
    }
    function nms_EntityPlayer_addStat($this, $var1, $var2) {}
    function nms_EntityPlayer_jump($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_jump($this);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$addStat(nms_StatList_field_25171_q, 1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntityPlayer_moveEntityWithHeading($this, $var1, $var2) {
        var $var3, $var5, $var7, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $this.$posX;
            $var5 = $this.$posY;
            $var7 = $this.$posZ;
            $ptr = 1;
        case 1:
            nms_EntityLiving_moveEntityWithHeading($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $this.$posX - $var3;
            $var5 = $this.$posY - $var5;
            $var7 = $this.$posZ - $var7;
            nms_Material_$callClinit();
            var$6 = nms_Material_water;
            $ptr = 2;
        case 2:
            $tmp = nms_Entity_isInsideOfMaterial($this, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (!var$7) {
                $ptr = 3;
                continue main;
            }
            var$7 = jl_Math_round0(nms_MathHelper_sqrt_double($var3 * $var3 + $var5 * $var5 + $var7 * $var7) * 100.0);
            if (var$7 <= 0)
                return;
            $ptr = 5;
            continue main;
        case 3:
            $tmp = nms_Entity_handleWaterMovement($this);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (!var$7) {
                $ptr = 4;
                continue main;
            }
            var$7 = jl_Math_round0(nms_MathHelper_sqrt_double($var3 * $var3 + $var7 * $var7) * 100.0);
            if (var$7 <= 0)
                return;
            $ptr = 6;
            continue main;
        case 4:
            a: {
                $tmp = nms_EntityLiving_isOnLadder($this);
                if ($rt_suspending()) {
                    break main;
                }
                var$7 = $tmp;
                if (var$7) {
                    if ($var5 <= 0.0)
                        break a;
                    $ptr = 7;
                    continue main;
                }
                if ($this.$onGround0) {
                    var$7 = jl_Math_round0(nms_MathHelper_sqrt_double($var3 * $var3 + $var7 * $var7) * 100.0);
                    if (var$7 <= 0)
                        break a;
                    $ptr = 9;
                    continue main;
                }
                var$7 = jl_Math_round0(nms_MathHelper_sqrt_double($var3 * $var3 + $var7 * $var7) * 100.0);
                if (var$7 > 25) {
                    $ptr = 8;
                    continue main;
                }
            }
            return;
        case 5:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$addStat(nms_StatList_field_25173_p, var$7);
            return;
        case 6:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$addStat(nms_StatList_field_25177_l, var$7);
            return;
        case 7:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$addStat(nms_StatList_field_25175_n, Long_lo((jl_Math_round($var5 * 100.0))));
            return;
        case 8:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$addStat(nms_StatList_field_25174_o, var$7);
            return;
        case 9:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$addStat(nms_StatList_field_25178_k, var$7);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var5, $var7, var$6, var$7, $ptr);
    }
    function nms_EntityPlayer_fall($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 < 2.0) {
                $ptr = 1;
                continue main;
            }
            $ptr = 2;
            continue main;
        case 1:
            nms_EntityLiving_fall($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$addStat(nms_StatList_field_25176_m, Long_lo((jl_Math_round($var1 * 100.0))));
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityPlayerSP() {
        var a = this; nms_EntityPlayer.call(a);
        a.$movementInput = null;
        a.$mc10 = null;
        a.$field_9373_b = 0;
        a.$inPortal = 0;
        a.$timeInPortal = 0.0;
        a.$prevTimeInPortal = 0.0;
        a.$field_21903_bJ = null;
        a.$field_21904_bK = null;
        a.$field_21902_bL = null;
    }
    function nms_EntityPlayerSP__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_EntityPlayerSP();
        nms_EntityPlayerSP__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_EntityPlayerSP__init_($this, $var1, $var2, $var3, $var4) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityPlayer__init_($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_9373_b = 20;
            $this.$inPortal = 0;
            $this.$field_21903_bJ = new nms_MouseFilter;
            $this.$field_21904_bK = new nms_MouseFilter;
            $this.$field_21902_bL = new nms_MouseFilter;
            $this.$mc10 = $var1;
            $this.$dimension = $var4;
            $this.$skinUrl = $rt_s(1838);
            $this.$username = $var3.$username1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_EntityPlayerSP_moveEntity($this, $var1, $var3, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity_moveEntity($this, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, $ptr);
    }
    function nms_EntityPlayerSP_updatePlayerActionState($this) {
        var var$1;
        nms_EntityPlayer_updatePlayerActionState($this);
        var$1 = $this.$movementInput;
        $this.$moveStrafing = var$1.$moveStrafe;
        $this.$moveForward = var$1.$moveForward0;
        $this.$isJumping = var$1.$jump0;
    }
    function nms_EntityPlayerSP_onLivingUpdate($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$timeInPortal;
            $this.$prevTimeInPortal = var$1;
            if (!$this.$inPortal) {
                if (var$1 > 0.0)
                    $this.$timeInPortal = var$1 - 0.05000000074505806;
                if ($this.$timeInPortal < 0.0)
                    $this.$timeInPortal = 0.0;
            } else {
                if (var$1 === 0.0) {
                    var$2 = $this.$mc10.$sndManager;
                    var$3 = $rt_s(1839);
                    var$4 = 1.0;
                    var$1 = ju_Random_nextFloat($this.$rand3) * 0.4000000059604645 + 0.800000011920929;
                    $ptr = 1;
                    continue main;
                }
                var$4 = $this.$timeInPortal + 0.012500000186264515;
                $this.$timeInPortal = var$4;
                if (var$4 >= 1.0) {
                    $this.$timeInPortal = 1.0;
                    $this.$field_9373_b = 10;
                    var$2 = $this.$mc10.$sndManager;
                    var$3 = $rt_s(1840);
                    var$1 = 1.0;
                    var$4 = ju_Random_nextFloat($this.$rand3) * 0.4000000059604645 + 0.800000011920929;
                    $ptr = 2;
                    continue main;
                }
                $this.$inPortal = 0;
            }
            var$5 = $this.$field_9373_b;
            if (var$5 > 0)
                $this.$field_9373_b = var$5 - 1 | 0;
            var$2 = $this.$movementInput;
            var$2.$moveStrafe = 0.0;
            var$2.$moveForward0 = 0.0;
            var$6 = var$2.$movementKeyStates.data;
            if (var$6[0])
                var$2.$moveForward0 = 1.0;
            if (var$6[1])
                var$2.$moveForward0 = var$2.$moveForward0 - 1.0;
            if (var$6[2])
                var$2.$moveStrafe = 1.0;
            if (var$6[3])
                var$2.$moveStrafe = var$2.$moveStrafe - 1.0;
            var$2.$jump0 = var$6[4];
            var$5 = var$6[5];
            var$2.$sneak = var$5;
            if (var$5) {
                var$2.$moveStrafe = var$2.$moveStrafe * 0.3;
                var$2.$moveForward0 = var$2.$moveForward0 * 0.3;
            }
            if (var$5 && $this.$ySize < 0.20000000298023224)
                $this.$ySize = 0.20000000298023224;
            if (!$this.$worldObj0.$difficultySetting && $this.$health < 20 && !(($this.$ticksExisted % 20 | 0) * 12 | 0))
                $this.$heal(1);
            var$2 = $this.$inventory;
            var$5 = 0;
            while (true) {
                var$6 = var$2.$mainInventory.data;
                if (var$5 >= var$6.length)
                    break;
                if (var$6[var$5] !== null && var$6[var$5].$animationsToGo > 0) {
                    var$3 = var$6[var$5];
                    var$3.$animationsToGo = var$3.$animationsToGo - 1 | 0;
                }
                var$5 = var$5 + 1 | 0;
            }
            $this.$field_775_e = $this.$field_774_f;
            $ptr = 4;
            continue main;
        case 1:
            nms_SoundManager_func_337_a(var$2, var$3, var$4, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$timeInPortal + 0.012500000186264515;
            $this.$timeInPortal = var$4;
            if (var$4 >= 1.0) {
                $this.$timeInPortal = 1.0;
                $this.$field_9373_b = 10;
                var$2 = $this.$mc10.$sndManager;
                var$3 = $rt_s(1840);
                var$1 = 1.0;
                var$4 = ju_Random_nextFloat($this.$rand3) * 0.4000000059604645 + 0.800000011920929;
                $ptr = 2;
                continue main;
            }
            $this.$inPortal = 0;
            var$5 = $this.$field_9373_b;
            if (var$5 > 0)
                $this.$field_9373_b = var$5 - 1 | 0;
            var$2 = $this.$movementInput;
            var$2.$moveStrafe = 0.0;
            var$2.$moveForward0 = 0.0;
            var$6 = var$2.$movementKeyStates.data;
            if (var$6[0])
                var$2.$moveForward0 = 1.0;
            if (var$6[1])
                var$2.$moveForward0 = var$2.$moveForward0 - 1.0;
            if (var$6[2])
                var$2.$moveStrafe = 1.0;
            if (var$6[3])
                var$2.$moveStrafe = var$2.$moveStrafe - 1.0;
            var$2.$jump0 = var$6[4];
            var$5 = var$6[5];
            var$2.$sneak = var$5;
            if (var$5) {
                var$2.$moveStrafe = var$2.$moveStrafe * 0.3;
                var$2.$moveForward0 = var$2.$moveForward0 * 0.3;
            }
            if (var$5 && $this.$ySize < 0.20000000298023224)
                $this.$ySize = 0.20000000298023224;
            if (!$this.$worldObj0.$difficultySetting && $this.$health < 20 && !(($this.$ticksExisted % 20 | 0) * 12 | 0))
                $this.$heal(1);
            var$2 = $this.$inventory;
            var$5 = 0;
            while (true) {
                var$6 = var$2.$mainInventory.data;
                if (var$5 >= var$6.length)
                    break;
                if (var$6[var$5] !== null && var$6[var$5].$animationsToGo > 0) {
                    var$3 = var$6[var$5];
                    var$3.$animationsToGo = var$3.$animationsToGo - 1 | 0;
                }
                var$5 = var$5 + 1 | 0;
            }
            $this.$field_775_e = $this.$field_774_f;
            $ptr = 4;
            continue main;
        case 2:
            nms_SoundManager_func_337_a(var$2, var$3, var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$mc10;
            $ptr = 3;
        case 3:
            nmc_Minecraft_usePortal(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$inPortal = 0;
            var$5 = $this.$field_9373_b;
            if (var$5 > 0)
                $this.$field_9373_b = var$5 - 1 | 0;
            var$2 = $this.$movementInput;
            var$2.$moveStrafe = 0.0;
            var$2.$moveForward0 = 0.0;
            var$6 = var$2.$movementKeyStates.data;
            if (var$6[0])
                var$2.$moveForward0 = 1.0;
            if (var$6[1])
                var$2.$moveForward0 = var$2.$moveForward0 - 1.0;
            if (var$6[2])
                var$2.$moveStrafe = 1.0;
            if (var$6[3])
                var$2.$moveStrafe = var$2.$moveStrafe - 1.0;
            var$2.$jump0 = var$6[4];
            var$5 = var$6[5];
            var$2.$sneak = var$5;
            if (var$5) {
                var$2.$moveStrafe = var$2.$moveStrafe * 0.3;
                var$2.$moveForward0 = var$2.$moveForward0 * 0.3;
            }
            if (var$5 && $this.$ySize < 0.20000000298023224)
                $this.$ySize = 0.20000000298023224;
            if (!$this.$worldObj0.$difficultySetting && $this.$health < 20 && !(($this.$ticksExisted % 20 | 0) * 12 | 0))
                $this.$heal(1);
            var$2 = $this.$inventory;
            var$5 = 0;
            while (true) {
                var$6 = var$2.$mainInventory.data;
                if (var$5 >= var$6.length)
                    break;
                if (var$6[var$5] !== null && var$6[var$5].$animationsToGo > 0) {
                    var$3 = var$6[var$5];
                    var$3.$animationsToGo = var$3.$animationsToGo - 1 | 0;
                }
                var$5 = var$5 + 1 | 0;
            }
            $this.$field_775_e = $this.$field_774_f;
            $ptr = 4;
        case 4:
            nms_EntityLiving_onLivingUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$motionX;
            var$7 = var$7 * var$7;
            var$8 = $this.$motionZ;
            var$4 = nms_MathHelper_sqrt_double(var$7 + var$8 * var$8);
            var$1 = jl_Math_atan( -$this.$motionY * 0.20000000298023224) * 15.0;
            if (var$4 > 0.10000000149011612)
                var$4 = 0.10000000149011612;
            var$5 = $this.$onGround0;
            if (!(var$5 && $this.$health > 0))
                var$4 = 0.0;
            if (!(!var$5 && $this.$health > 0))
                var$1 = 0.0;
            var$9 = $this.$field_774_f;
            $this.$field_774_f = var$9 + (var$4 - var$9) * 0.4000000059604645;
            var$4 = $this.$field_9328_R;
            $this.$field_9328_R = var$4 + (var$1 - var$4) * 0.800000011920929;
            if ($this.$health <= 0)
                return;
            var$2 = $this.$worldObj0;
            var$3 = nms_AxisAlignedBB_expand($this.$boundingBox, 1.0, 0.0, 1.0);
            $ptr = 5;
        case 5:
            a: {
                $tmp = nms_World_getEntitiesWithinAABBExcludingEntity(var$2, $this, var$3);
                if ($rt_suspending()) {
                    break main;
                }
                var$2 = $tmp;
                if (var$2 !== null) {
                    var$5 = 0;
                    while (true) {
                        if (var$5 >= var$2.$size0)
                            break a;
                        var$3 = ju_ArrayList_get(var$2, var$5);
                        if (!var$3.$isDead) {
                            $ptr = 6;
                            continue main;
                        }
                        var$5 = var$5 + 1 | 0;
                    }
                }
            }
            return;
        case 6:
            var$3.$onCollideWithPlayer($this);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                var$5 = var$5 + 1 | 0;
                if (var$5 >= var$2.$size0)
                    break;
                var$3 = ju_ArrayList_get(var$2, var$5);
                if (var$3.$isDead)
                    continue;
                else {
                    continue main;
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_EntityPlayerSP_resetPlayerKeyState($this) {
        var var$1, var$2;
        var$1 = $this.$movementInput;
        var$2 = 0;
        while (var$2 < 10) {
            var$1.$movementKeyStates.data[var$2] = 0;
            var$2 = var$2 + 1 | 0;
        }
    }
    function nms_EntityPlayerSP_handleKeyPress($this, $var1, $var2) {
        var var$3, var$4, var$5;
        var$3 = $this.$movementInput;
        var$4 = (-1);
        var$5 = var$3.$gameSettings0;
        if ($var1 == var$5.$keyBindForward.$keyCode)
            var$4 = 0;
        if ($var1 == var$5.$keyBindBack.$keyCode)
            var$4 = 1;
        if ($var1 == var$5.$keyBindLeft.$keyCode)
            var$4 = 2;
        if ($var1 == var$5.$keyBindRight.$keyCode)
            var$4 = 3;
        if ($var1 == var$5.$keyBindJump.$keyCode)
            var$4 = 4;
        if ($var1 == var$5.$keyBindSneak.$keyCode)
            var$4 = 5;
        if (var$4 >= 0)
            var$3.$movementKeyStates.data[var$4] = $var2;
    }
    function nms_EntityPlayerSP_writeEntityToNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityPlayer_writeEntityToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1841);
            var$3 = $this.$score;
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setInteger($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityPlayerSP_readEntityFromNBT($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_readEntityFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1830);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getTagList($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$3 = $this.$inventory;
            var$3.$mainInventory = $rt_createArray(nms_ItemStack, 36);
            var$3.$armorInventory = $rt_createArray(nms_ItemStack, 4);
            var$4 = 0;
            if (var$4 >= nms_NBTTagList_tagCount(var$2)) {
                var$2 = $rt_s(1832);
                $ptr = 3;
                continue main;
            }
            var$5 = nms_NBTTagList_tagAt(var$2, var$4);
            var$6 = $rt_s(1831);
            $ptr = 6;
            continue main;
        case 3:
            $tmp = nms_NBTTagCompound_getInteger($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $this.$dimension = var$7;
            var$2 = $rt_s(1833);
            $ptr = 4;
        case 4:
            $tmp = nms_NBTTagCompound_getBoolean($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $this.$sleeping = var$7;
            var$2 = $rt_s(1834);
            $ptr = 5;
        case 5:
            $tmp = nms_NBTTagCompound_getShort($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $this.$sleepTimer = var$7;
            if (!$this.$sleeping) {
                var$2 = $rt_s(1835);
                $ptr = 9;
                continue main;
            }
            $this.$bedChunkCoordinates = nms_ChunkCoordinates__init_2(nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ));
            var$7 = 1;
            var$8 = 1;
            var$9 = 0;
            $ptr = 10;
            continue main;
        case 6:
            $tmp = nms_NBTTagCompound_getByte(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$7 = var$7 & 255;
            var$6 = new nms_ItemStack;
            $ptr = 7;
        case 7:
            nms_ItemStack__init_6(var$6, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $tmp = nms_ItemStack_getItem(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 !== null) {
                if (var$7 >= 0) {
                    var$10 = var$3.$mainInventory.data;
                    if (var$7 < var$10.length)
                        var$10[var$7] = var$6;
                }
                if (var$7 >= 100) {
                    var$10 = var$3.$armorInventory.data;
                    if (var$7 < (var$10.length + 100 | 0))
                        var$10[var$7 - 100 | 0] = var$6;
                }
            }
            var$4 = var$4 + 1 | 0;
            if (var$4 >= nms_NBTTagList_tagCount(var$2)) {
                var$2 = $rt_s(1832);
                $ptr = 3;
                continue main;
            }
            var$5 = nms_NBTTagList_tagAt(var$2, var$4);
            var$6 = $rt_s(1831);
            $ptr = 6;
            continue main;
        case 9:
            $tmp = nms_NBTTagCompound_hasKey($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (!var$7) {
                var$2 = $rt_s(1841);
                $ptr = 11;
                continue main;
            }
            var$2 = $rt_s(1836);
            $ptr = 12;
            continue main;
        case 10:
            nms_EntityPlayer_wakeUpPlayer($this, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1835);
            $ptr = 9;
            continue main;
        case 11:
            $tmp = nms_NBTTagCompound_getInteger($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $this.$score = var$7;
            return;
        case 12:
            $tmp = nms_NBTTagCompound_hasKey($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (!var$7) {
                var$2 = $rt_s(1841);
                $ptr = 11;
                continue main;
            }
            var$2 = $rt_s(1837);
            $ptr = 13;
        case 13:
            $tmp = nms_NBTTagCompound_hasKey($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (!var$7) {
                var$2 = $rt_s(1841);
                $ptr = 11;
                continue main;
            }
            var$5 = new nms_ChunkCoordinates;
            var$2 = $rt_s(1835);
            $ptr = 14;
        case 14:
            $tmp = nms_NBTTagCompound_getInteger($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$2 = $rt_s(1836);
            $ptr = 15;
        case 15:
            $tmp = nms_NBTTagCompound_getInteger($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            var$2 = $rt_s(1837);
            $ptr = 16;
        case 16:
            $tmp = nms_NBTTagCompound_getInteger($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            nms_ChunkCoordinates__init_0(var$5, var$7, var$8, var$9);
            $this.$playerSpawnCoordinate = var$5;
            var$2 = $rt_s(1841);
            $ptr = 11;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_EntityPlayerSP_func_20059_m($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityPlayer_func_20059_m($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$mc10;
            var$2 = null;
            $ptr = 2;
        case 2:
            nmc_Minecraft_displayGuiScreen(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_EntityPlayerSP_displayGUIEditSign($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$mc10;
            var$3 = new nms_GuiEditSign;
            $ptr = 1;
        case 1:
            nms_GuiEditSign_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_GuiScreen__init_(var$3);
            var$3.$screenTitle1 = $rt_s(1842);
            var$3.$editLine = 0;
            var$3.$entitySign = $var1;
            $ptr = 2;
        case 2:
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityPlayerSP_displayGUIChest($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$mc10;
            var$3 = new nms_GuiChest;
            var$4 = $this.$inventory;
            var$5 = new nms_CraftingInventoryChestCB;
            nms_CraftingInventoryCB__init_(var$5);
            var$5.$field_20125_a = $var1;
            var$6 = $var1.$getSizeInventory() / 9 | 0;
            var$7 = (var$6 - 4 | 0) * 18 | 0;
            var$8 = 0;
            while (var$8 < var$6) {
                var$9 = 0;
                while (var$9 < 9) {
                    nms_CraftingInventoryCB_addSlot(var$5, nms_Slot__init_0($var1, var$9 + (var$8 * 9 | 0) | 0, 8 + (var$9 * 18 | 0) | 0, 18 + (var$8 * 18 | 0) | 0));
                    var$9 = var$9 + 1 | 0;
                }
                var$8 = var$8 + 1 | 0;
            }
            var$10 = 0;
            while (var$10 < 3) {
                var$8 = 0;
                while (var$8 < 9) {
                    nms_CraftingInventoryCB_addSlot(var$5, nms_Slot__init_0(var$4, (var$8 + (var$10 * 9 | 0) | 0) + 9 | 0, 8 + (var$8 * 18 | 0) | 0, (103 + (var$10 * 18 | 0) | 0) + var$7 | 0));
                    var$8 = var$8 + 1 | 0;
                }
                var$10 = var$10 + 1 | 0;
            }
            var$10 = 0;
            var$8 = 161 + var$7 | 0;
            while (var$10 < 9) {
                nms_CraftingInventoryCB_addSlot(var$5, nms_Slot__init_0(var$4, var$10, 8 + (var$10 * 18 | 0) | 0, var$8));
                var$10 = var$10 + 1 | 0;
            }
            nms_GuiContainer__init_(var$3, var$5);
            var$3.$inventoryRows = 0;
            var$3.$upperChestInventory = var$4;
            var$3.$lowerChestInventory = $var1;
            var$3.$field_948_f = 0;
            var$7 = $var1.$getSizeInventory() / 9 | 0;
            var$3.$inventoryRows = var$7;
            var$3.$ySize0 = 114 + (var$7 * 18 | 0) | 0;
            $ptr = 1;
        case 1:
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_EntityPlayerSP_displayWorkbenchGUI($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$mc10;
            var$5 = new nms_GuiCrafting;
            var$6 = $this.$inventory;
            var$7 = $this.$worldObj0;
            var$8 = new nms_CraftingInventoryWorkbenchCB;
            nms_CraftingInventoryCB__init_(var$8);
            var$8.$craftMatrix = nms_InventoryCrafting__init_0(var$8, 3, 3);
            var$9 = nms_InventoryCraftResult__init_0();
            var$8.$craftResult = var$9;
            var$8.$field_20133_c = var$7;
            var$8.$field_20132_h = $var1;
            var$8.$field_20131_i = $var2;
            var$8.$field_20130_j = $var3;
            nms_CraftingInventoryCB_addSlot(var$8, nms_SlotCrafting__init_0(var$6.$player, var$8.$craftMatrix, var$9, 0, 124, 35));
            var$10 = 0;
            while (var$10 < 3) {
                $var1 = 0;
                while ($var1 < 3) {
                    nms_CraftingInventoryCB_addSlot(var$8, nms_Slot__init_0(var$8.$craftMatrix, $var1 + (var$10 * 3 | 0) | 0, 30 + ($var1 * 18 | 0) | 0, 17 + (var$10 * 18 | 0) | 0));
                    $var1 = $var1 + 1 | 0;
                }
                var$10 = var$10 + 1 | 0;
            }
            var$10 = 0;
            while (var$10 < 3) {
                $var2 = 0;
                while ($var2 < 9) {
                    nms_CraftingInventoryCB_addSlot(var$8, nms_Slot__init_0(var$6, ($var2 + (var$10 * 9 | 0) | 0) + 9 | 0, 8 + ($var2 * 18 | 0) | 0, 84 + (var$10 * 18 | 0) | 0));
                    $var2 = $var2 + 1 | 0;
                }
                var$10 = var$10 + 1 | 0;
            }
            $var2 = 0;
            while ($var2 < 9) {
                nms_CraftingInventoryCB_addSlot(var$8, nms_Slot__init_0(var$6, $var2, 8 + ($var2 * 18 | 0) | 0, 142));
                $var2 = $var2 + 1 | 0;
            }
            var$7 = var$8.$craftMatrix;
            $ptr = 1;
        case 1:
            nms_CraftingInventoryWorkbenchCB_onCraftMatrixChanged(var$8, var$7);
            if ($rt_suspending()) {
                break main;
            }
            nms_GuiContainer__init_(var$5, var$8);
            $ptr = 2;
        case 2:
            nmc_Minecraft_displayGuiScreen(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_EntityPlayerSP_displayGUIFurnace($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$mc10;
            var$3 = new nms_GuiFurnace;
            var$4 = $this.$inventory;
            var$5 = new nms_CraftingInventoryFurnaceCB;
            nms_CraftingInventoryCB__init_(var$5);
            var$5.$cookTime = 0;
            var$5.$burnTime = 0;
            var$5.$itemBurnTime = 0;
            var$5.$furnace = $var1;
            nms_CraftingInventoryCB_addSlot(var$5, nms_Slot__init_0($var1, 0, 56, 17));
            nms_CraftingInventoryCB_addSlot(var$5, nms_Slot__init_0($var1, 1, 56, 53));
            var$6 = new nms_SlotFurnace;
            nms_Slot__init_(var$6, $var1, 2, 116, 35);
            nms_CraftingInventoryCB_addSlot(var$5, var$6);
            var$7 = 0;
            while (var$7 < 3) {
                var$8 = 0;
                while (var$8 < 9) {
                    nms_CraftingInventoryCB_addSlot(var$5, nms_Slot__init_0(var$4, (var$8 + (var$7 * 9 | 0) | 0) + 9 | 0, 8 + (var$8 * 18 | 0) | 0, 84 + (var$7 * 18 | 0) | 0));
                    var$8 = var$8 + 1 | 0;
                }
                var$7 = var$7 + 1 | 0;
            }
            var$7 = 0;
            while (var$7 < 9) {
                nms_CraftingInventoryCB_addSlot(var$5, nms_Slot__init_0(var$4, var$7, 8 + (var$7 * 18 | 0) | 0, 142));
                var$7 = var$7 + 1 | 0;
            }
            nms_GuiContainer__init_(var$3, var$5);
            var$3.$furnaceInventory = $var1;
            $ptr = 1;
        case 1:
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_EntityPlayerSP_displayGUIDispenser($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$mc10;
            var$3 = new nms_GuiDispenser;
            var$4 = $this.$inventory;
            var$5 = new nms_CraftingInventoryDispenserCB;
            nms_CraftingInventoryCB__init_(var$5);
            var$5.$field_21149_a = $var1;
            var$6 = 0;
            while (var$6 < 3) {
                var$7 = 0;
                while (var$7 < 3) {
                    nms_CraftingInventoryCB_addSlot(var$5, nms_Slot__init_0($var1, var$7 + (var$6 * 3 | 0) | 0, 61 + (var$7 * 18 | 0) | 0, 17 + (var$6 * 18 | 0) | 0));
                    var$7 = var$7 + 1 | 0;
                }
                var$6 = var$6 + 1 | 0;
            }
            var$8 = 0;
            while (var$8 < 3) {
                var$6 = 0;
                while (var$6 < 9) {
                    nms_CraftingInventoryCB_addSlot(var$5, nms_Slot__init_0(var$4, (var$6 + (var$8 * 9 | 0) | 0) + 9 | 0, 8 + (var$6 * 18 | 0) | 0, 84 + (var$8 * 18 | 0) | 0));
                    var$6 = var$6 + 1 | 0;
                }
                var$8 = var$8 + 1 | 0;
            }
            var$9 = 0;
            while (var$9 < 9) {
                nms_CraftingInventoryCB_addSlot(var$5, nms_Slot__init_0(var$4, var$9, 8 + (var$9 * 18 | 0) | 0, 142));
                var$9 = var$9 + 1 | 0;
            }
            nms_GuiContainer__init_(var$3, var$5);
            $ptr = 1;
        case 1:
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_EntityPlayerSP_onItemPickup($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$mc10;
            var$4 = var$3.$effectRenderer;
            var$5 = new nms_EntityPickupFX;
            var$3 = var$3.$theWorld;
            var$6 = (-0.5);
            $ptr = 1;
        case 1:
            nms_EntityPickupFX__init_(var$5, var$3, $var1, $this, var$6);
            if ($rt_suspending()) {
                break main;
            }
            nms_EffectRenderer_addEffect(var$4, var$5);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_EntityPlayerSP_getPlayerArmorValue($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$inventory;
            $ptr = 1;
        case 1:
            $tmp = nms_InventoryPlayer_getTotalArmorValue(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_EntityPlayerSP_sendChatMessage($this, $var1) {}
    function nms_EntityPlayerSP_isSneaking($this) {
        return $this.$movementInput.$sneak;
    }
    function nms_EntityPlayerSP_setInPortal($this) {
        if ($this.$field_9373_b <= 0)
            $this.$inPortal = 1;
        else
            $this.$field_9373_b = 10;
    }
    function nms_EntityPlayerSP_setHealth($this, $var1) {
        var var$2, $var2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$health;
            $var2 = var$2 - $var1 | 0;
            if ($var2 <= 0) {
                $this.$health = $var1;
                return;
            }
            $this.$field_9346_af = $var2;
            $this.$prevHealth = var$2;
            $this.$field_9306_bj = $this.$field_9366_o;
            $ptr = 1;
        case 1:
            $this.$damageEntity($var2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$maxHurtTime = 10;
            $this.$hurtTime = 10;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, $ptr);
    }
    function nms_EntityPlayerSP_respawnPlayer($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$mc10;
            var$2 = 0;
            $ptr = 1;
        case 1:
            nmc_Minecraft_respawn(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_EntityPlayerSP_func_6420_o($this) {}
    function nms_EntityPlayerSP_addChatMessage($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$mc10.$ingameGUI;
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_translateKey(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            nms_GuiIngame_addChatMessage(var$2, $var1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityPlayerSP_addStat($this, $var1, $var2) {}
    var nms_MathHelper = $rt_classWithoutFields();
    var nms_MathHelper_MULTIPLY_DE_BRUIJN_BIT_POSITION = null;
    var nms_MathHelper_SQRT_2 = 0.0;
    var nms_MathHelper_SIN_TABLE = null;
    function nms_MathHelper__init_0() {
        var var_0 = new nms_MathHelper();
        nms_MathHelper__init_(var_0);
        return var_0;
    }
    function nms_MathHelper__init_($this) {}
    function nms_MathHelper_sin($var0) {
        return nms_MathHelper_SIN_TABLE.data[($var0 * 651.8986206054688 | 0) & 4095];
    }
    function nms_MathHelper_cos($var0) {
        return nms_MathHelper_SIN_TABLE.data[(($var0 + 1.5707963705062866) * 651.8986206054688 | 0) & 4095];
    }
    function nms_MathHelper_sqrt_float($var0) {
        return jl_Math_sqrt($var0);
    }
    function nms_MathHelper_sqrt_double($var0) {
        return jl_Math_sqrt($var0);
    }
    function nms_MathHelper_floor_float($var0) {
        var $var1;
        $var1 = $var0 | 0;
        if ($var0 < $var1)
            $var1 = $var1 - 1 | 0;
        return $var1;
    }
    function nms_MathHelper_floor_double($var0) {
        var $var2;
        $var2 = $var0 | 0;
        if ($var0 < $var2)
            $var2 = $var2 - 1 | 0;
        return $var2;
    }
    function nms_MathHelper_abs($var0) {
        if ($var0 < 0.0)
            $var0 =  -$var0;
        return $var0;
    }
    function nms_MathHelper_bucketInt($var0, $var1) {
        return $var0 >= 0 ? $var0 / $var1 | 0 : ( -((( -$var0 | 0) - 1 | 0) / $var1 | 0) | 0) - 1 | 0;
    }
    function nms_MathHelper_stringNullOrLengthZero($var0) {
        return $var0 !== null && jl_String_length($var0) ? 0 : 1;
    }
    function nms_MathHelper__clinit_() {
        var $j, $l, var$3, var$4;
        nms_MathHelper_SQRT_2 = nms_MathHelper_sqrt_float(2.0);
        nms_MathHelper_SIN_TABLE = $rt_createFloatArray(4096);
        $j = 0;
        while ($j < 4096) {
            nms_MathHelper_SIN_TABLE.data[$j] = jl_Math_sin(($j + 0.5) / 4096.0 * 6.2831854820251465);
            $j = $j + 1 | 0;
        }
        $l = 0;
        while ($l < 360) {
            var$3 = nms_MathHelper_SIN_TABLE.data;
            var$4 = $l;
            var$3[(var$4 * 11.377778053283691 | 0) & 4095] = jl_Math_sin(var$4 * 0.01745329238474369);
            $l = $l + 90 | 0;
        }
        nms_MathHelper_MULTIPLY_DE_BRUIJN_BIT_POSITION = $rt_createIntArrayFromData([0, 1, 28, 2, 29, 14, 24, 3, 30, 22, 20, 15, 25, 17, 4, 8, 31, 27, 13, 23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9]);
    }
    function nms_KeyBinding() {
        var a = this; jl_Object.call(a);
        a.$keyDescription = null;
        a.$keyCode = 0;
    }
    function nms_KeyBinding__init_0(var_0, var_1) {
        var var_2 = new nms_KeyBinding();
        nms_KeyBinding__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_KeyBinding__init_($this, $var1, $var2) {
        $this.$keyDescription = $var1;
        $this.$keyCode = $var2;
    }
    var nms_IInventory = $rt_classWithoutFields(0);
    function nms_InventoryPlayer() {
        var a = this; jl_Object.call(a);
        a.$mainInventory = null;
        a.$armorInventory = null;
        a.$currentItem = 0;
        a.$player = null;
        a.$itemStack = null;
        a.$inventoryChanged = 0;
    }
    function nms_InventoryPlayer_getCurrentItem($this) {
        var var$1;
        var$1 = $this.$currentItem;
        return var$1 < 9 && var$1 >= 0 ? $this.$mainInventory.data[var$1] : null;
    }
    function nms_InventoryPlayer_getInventorySlotContainItem($this, $var1) {
        var $var2, var$3;
        $var2 = 0;
        while (true) {
            var$3 = $this.$mainInventory.data;
            if ($var2 >= var$3.length)
                return (-1);
            if (var$3[$var2] !== null && var$3[$var2].$itemID == $var1)
                break;
            $var2 = $var2 + 1 | 0;
        }
        return $var2;
    }
    function nms_InventoryPlayer_getFirstEmptyStack($this) {
        var $var1, var$2;
        $var1 = 0;
        while (true) {
            var$2 = $this.$mainInventory.data;
            if ($var1 >= var$2.length)
                return (-1);
            if (var$2[$var1] === null)
                break;
            $var1 = $var1 + 1 | 0;
        }
        return $var1;
    }
    function nms_InventoryPlayer_changeCurrentItem($this, $var1) {
        if ($var1 > 0)
            $var1 = 1;
        if ($var1 < 0)
            $var1 = (-1);
        $this.$currentItem = $this.$currentItem - $var1 | 0;
        while (true) {
            $var1 = $this.$currentItem;
            if ($var1 >= 0)
                break;
            $this.$currentItem = $var1 + 9 | 0;
        }
        while (true) {
            $var1 = $this.$currentItem;
            if ($var1 < 9)
                break;
            $this.$currentItem = $var1 - 9 | 0;
        }
    }
    function nms_InventoryPlayer_addItemStackToInventory($this, $var1) {
        var $var2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            a: {
                $tmp = nms_ItemStack_isItemDamaged($var1);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $tmp;
                if (!$var2) {
                    var$3 = $var1.$itemID;
                    $var2 = $var1.$stackSize;
                    var$4 = 0;
                    var$5 = 64;
                    while (true) {
                        var$6 = $this.$mainInventory.data;
                        if (var$4 >= var$6.length) {
                            var$4 = (-1);
                            if (var$4 < 0)
                                var$4 = nms_InventoryPlayer_getFirstEmptyStack($this);
                            if (var$4 >= 0) {
                                var$6 = $this.$mainInventory.data;
                                if (var$6[var$4] === null)
                                    var$6[var$4] = nms_ItemStack__init_7(var$3, 0, $var1.$itemDamage);
                                var$7 = $this.$mainInventory.data[var$4];
                                $ptr = 5;
                                continue main;
                            }
                            $var1.$stackSize = $var2;
                            if ($var2)
                                break a;
                            return 1;
                        }
                        if (var$6[var$4] !== null && var$6[var$4].$itemID == $var1.$itemID)
                            break;
                        var$4 = var$4 + 1 | 0;
                    }
                    var$7 = var$6[var$4];
                    $ptr = 2;
                    continue main;
                }
            }
            $var2 = nms_InventoryPlayer_getFirstEmptyStack($this);
            if ($var2 < 0)
                return 0;
            var$6 = $this.$mainInventory.data;
            var$6[$var2] = $var1;
            var$6[$var2].$animationsToGo = 5;
            return 1;
        case 2:
            $tmp = nms_ItemStack_getMaxStackSize(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8 > 1) {
                $ptr = 3;
                continue main;
            }
            if (0) {
                var$6 = $this.$mainInventory.data;
                var$9 = var$6[var$4].$stackSize;
                var$7 = var$6[var$4];
                $ptr = 6;
                continue main;
            }
            while (true) {
                var$4 = var$4 + 1 | 0;
                var$6 = $this.$mainInventory.data;
                if (var$4 >= var$6.length) {
                    var$4 = (-1);
                    if (var$4 < 0)
                        var$4 = nms_InventoryPlayer_getFirstEmptyStack($this);
                    if (var$4 < 0) {
                        $var1.$stackSize = $var2;
                        if (!$var2)
                            return 1;
                        $var2 = nms_InventoryPlayer_getFirstEmptyStack($this);
                        if ($var2 < 0)
                            return 0;
                        var$6 = $this.$mainInventory.data;
                        var$6[$var2] = $var1;
                        var$6[$var2].$animationsToGo = 5;
                        return 1;
                    }
                    var$6 = $this.$mainInventory.data;
                    if (var$6[var$4] === null)
                        var$6[var$4] = nms_ItemStack__init_7(var$3, 0, $var1.$itemDamage);
                    var$7 = $this.$mainInventory.data[var$4];
                    $ptr = 5;
                    continue main;
                }
                if (var$6[var$4] === null)
                    continue;
                if (var$6[var$4].$itemID != $var1.$itemID)
                    continue;
                else
                    break;
            }
            var$7 = var$6[var$4];
            continue main;
        case 3:
            $tmp = nms_ItemStack_isItemStackDamageable(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9) {
                $ptr = 4;
                continue main;
            }
            if (1) {
                var$6 = $this.$mainInventory.data;
                var$9 = var$6[var$4].$stackSize;
                var$7 = var$6[var$4];
                $ptr = 6;
                continue main;
            }
            while (true) {
                var$4 = var$4 + 1 | 0;
                var$6 = $this.$mainInventory.data;
                if (var$4 >= var$6.length) {
                    var$4 = (-1);
                    if (var$4 < 0)
                        var$4 = nms_InventoryPlayer_getFirstEmptyStack($this);
                    if (var$4 < 0) {
                        $var1.$stackSize = $var2;
                        if (!$var2)
                            return 1;
                        $var2 = nms_InventoryPlayer_getFirstEmptyStack($this);
                        if ($var2 < 0)
                            return 0;
                        var$6 = $this.$mainInventory.data;
                        var$6[$var2] = $var1;
                        var$6[$var2].$animationsToGo = 5;
                        return 1;
                    }
                    var$6 = $this.$mainInventory.data;
                    if (var$6[var$4] === null)
                        var$6[var$4] = nms_ItemStack__init_7(var$3, 0, $var1.$itemDamage);
                    var$7 = $this.$mainInventory.data[var$4];
                    $ptr = 5;
                    continue main;
                }
                if (var$6[var$4] === null)
                    continue;
                if (var$6[var$4].$itemID != $var1.$itemID)
                    continue;
                else
                    break;
            }
            var$7 = var$6[var$4];
            $ptr = 2;
            continue main;
        case 4:
            $tmp = nms_ItemStack_isItemDamaged(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9 ? 0 : 1) {
                var$6 = $this.$mainInventory.data;
                var$9 = var$6[var$4].$stackSize;
                var$7 = var$6[var$4];
                $ptr = 6;
                continue main;
            }
            while (true) {
                var$4 = var$4 + 1 | 0;
                var$6 = $this.$mainInventory.data;
                if (var$4 >= var$6.length) {
                    var$4 = (-1);
                    if (var$4 < 0)
                        var$4 = nms_InventoryPlayer_getFirstEmptyStack($this);
                    if (var$4 < 0) {
                        $var1.$stackSize = $var2;
                        if (!$var2)
                            return 1;
                        $var2 = nms_InventoryPlayer_getFirstEmptyStack($this);
                        if ($var2 < 0)
                            return 0;
                        var$6 = $this.$mainInventory.data;
                        var$6[$var2] = $var1;
                        var$6[$var2].$animationsToGo = 5;
                        return 1;
                    }
                    var$6 = $this.$mainInventory.data;
                    if (var$6[var$4] === null)
                        var$6[var$4] = nms_ItemStack__init_7(var$3, 0, $var1.$itemDamage);
                    var$7 = $this.$mainInventory.data[var$4];
                    $ptr = 5;
                    continue main;
                }
                if (var$6[var$4] === null)
                    continue;
                if (var$6[var$4].$itemID != $var1.$itemID)
                    continue;
                else
                    break;
            }
            var$7 = var$6[var$4];
            $ptr = 2;
            continue main;
        case 5:
            $tmp = nms_ItemStack_getMaxStackSize(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            var$6 = $this.$mainInventory.data;
            if ($var2 <= (var$9 - var$6[var$4].$stackSize | 0)) {
                var$5 = $var2;
                var$6 = $this.$mainInventory.data;
                if (var$5 > (64 - var$6[var$4].$stackSize | 0))
                    var$5 = 64 - var$6[var$4].$stackSize | 0;
                if (var$5) {
                    $var2 = $var2 - var$5 | 0;
                    var$7 = var$6[var$4];
                    var$7.$stackSize = var$7.$stackSize + var$5 | 0;
                    var$6[var$4].$animationsToGo = 5;
                }
                $var1.$stackSize = $var2;
                if (!$var2)
                    return 1;
                $var2 = nms_InventoryPlayer_getFirstEmptyStack($this);
                if ($var2 < 0)
                    return 0;
                var$6 = $this.$mainInventory.data;
                var$6[$var2] = $var1;
                var$6[$var2].$animationsToGo = 5;
                return 1;
            }
            var$7 = var$6[var$4];
            $ptr = 7;
            continue main;
        case 6:
            $tmp = nms_ItemStack_getMaxStackSize(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$9 < var$8) {
                var$6 = $this.$mainInventory.data;
                if (var$6[var$4].$stackSize < var$5) {
                    var$7 = var$6[var$4];
                    $ptr = 8;
                    continue main;
                }
            }
            while (true) {
                var$4 = var$4 + 1 | 0;
                var$6 = $this.$mainInventory.data;
                if (var$4 >= var$6.length) {
                    var$4 = (-1);
                    if (var$4 < 0)
                        var$4 = nms_InventoryPlayer_getFirstEmptyStack($this);
                    if (var$4 < 0) {
                        $var1.$stackSize = $var2;
                        if (!$var2)
                            return 1;
                        $var2 = nms_InventoryPlayer_getFirstEmptyStack($this);
                        if ($var2 < 0)
                            return 0;
                        var$6 = $this.$mainInventory.data;
                        var$6[$var2] = $var1;
                        var$6[$var2].$animationsToGo = 5;
                        return 1;
                    }
                    var$6 = $this.$mainInventory.data;
                    if (var$6[var$4] === null)
                        var$6[var$4] = nms_ItemStack__init_7(var$3, 0, $var1.$itemDamage);
                    var$7 = $this.$mainInventory.data[var$4];
                    $ptr = 5;
                    continue main;
                }
                if (var$6[var$4] === null)
                    continue;
                if (var$6[var$4].$itemID != $var1.$itemID)
                    continue;
                else
                    break;
            }
            var$7 = var$6[var$4];
            $ptr = 2;
            continue main;
        case 7:
            $tmp = nms_ItemStack_getMaxStackSize(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            var$5 = var$9 - $this.$mainInventory.data[var$4].$stackSize | 0;
            var$6 = $this.$mainInventory.data;
            if (var$5 > (64 - var$6[var$4].$stackSize | 0))
                var$5 = 64 - var$6[var$4].$stackSize | 0;
            if (var$5) {
                $var2 = $var2 - var$5 | 0;
                var$7 = var$6[var$4];
                var$7.$stackSize = var$7.$stackSize + var$5 | 0;
                var$6[var$4].$animationsToGo = 5;
            }
            $var1.$stackSize = $var2;
            if (!$var2)
                return 1;
            $var2 = nms_InventoryPlayer_getFirstEmptyStack($this);
            if ($var2 < 0)
                return 0;
            var$6 = $this.$mainInventory.data;
            var$6[$var2] = $var1;
            var$6[$var2].$animationsToGo = 5;
            return 1;
        case 8:
            $tmp = nms_ItemStack_getHasSubtypes(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9 && $this.$mainInventory.data[var$4].$itemDamage != $var1.$itemDamage) {
                while (true) {
                    var$4 = var$4 + 1 | 0;
                    var$6 = $this.$mainInventory.data;
                    if (var$4 >= var$6.length)
                        break;
                    if (var$6[var$4] === null)
                        continue;
                    if (var$6[var$4].$itemID != $var1.$itemID)
                        continue;
                    else {
                        var$7 = var$6[var$4];
                        $ptr = 2;
                        continue main;
                    }
                }
                var$4 = (-1);
            }
            if (var$4 < 0)
                var$4 = nms_InventoryPlayer_getFirstEmptyStack($this);
            if (var$4 < 0) {
                $var1.$stackSize = $var2;
                if (!$var2)
                    return 1;
                $var2 = nms_InventoryPlayer_getFirstEmptyStack($this);
                if ($var2 < 0)
                    return 0;
                var$6 = $this.$mainInventory.data;
                var$6[$var2] = $var1;
                var$6[$var2].$animationsToGo = 5;
                return 1;
            }
            var$6 = $this.$mainInventory.data;
            if (var$6[var$4] === null)
                var$6[var$4] = nms_ItemStack__init_7(var$3, 0, $var1.$itemDamage);
            var$7 = $this.$mainInventory.data[var$4];
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_InventoryPlayer_decrStackSize($this, $var1, $var2) {
        var $var3, var$4, $var4, $var4_0;
        $var3 = $this.$mainInventory;
        var$4 = $var3.data.length;
        if ($var1 >= var$4) {
            $var3 = $this.$armorInventory;
            $var1 = $var1 - var$4 | 0;
        }
        $var3 = $var3.data;
        if ($var3[$var1] === null)
            return null;
        if ($var3[$var1].$stackSize <= $var2) {
            $var4 = $var3[$var1];
            $var3[$var1] = null;
            return $var4;
        }
        $var4_0 = nms_ItemStack_splitStack($var3[$var1], $var2);
        if (!$var3[$var1].$stackSize)
            $var3[$var1] = null;
        return $var4_0;
    }
    function nms_InventoryPlayer_setInventorySlotContents($this, $var1, $var2) {
        var $var3, var$4;
        $var3 = $this.$mainInventory;
        var$4 = $var3.data.length;
        if ($var1 >= var$4) {
            $var1 = $var1 - var$4 | 0;
            $var3 = $this.$armorInventory;
        }
        $var3.data[$var1] = $var2;
    }
    function nms_InventoryPlayer_getStackInSlot($this, $var1) {
        var $var2, var$3;
        $var2 = $this.$mainInventory;
        var$3 = $var2.data.length;
        if ($var1 >= var$3) {
            $var1 = $var1 - var$3 | 0;
            $var2 = $this.$armorInventory;
        }
        return $var2.data[$var1];
    }
    function nms_InventoryPlayer_getInventoryStackLimit($this) {
        return 64;
    }
    function nms_InventoryPlayer_armorItemInSlot($this, $var1) {
        return $this.$armorInventory.data[$var1];
    }
    function nms_InventoryPlayer_getTotalArmorValue($this) {
        var $var1, $var2, $var3, $var4, var$5, var$6, $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = 0;
            $var2 = 0;
            $var3 = 0;
            $var4 = 0;
            while (true) {
                var$5 = $this.$armorInventory.data;
                if ($var4 >= var$5.length)
                    break;
                if (var$5[$var4] !== null) {
                    var$6 = var$5[$var4];
                    $ptr = 1;
                    continue main;
                }
                $var4 = $var4 + 1 | 0;
            }
            if (!$var3)
                return 0;
            return ($rt_imul($var1 - 1 | 0, $var2) / $var3 | 0) + 1 | 0;
        case 1:
            $tmp = nms_ItemStack_getItem(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 instanceof nms_ItemArmor) {
                var$6 = $this.$armorInventory.data[$var4];
                $ptr = 2;
                continue main;
            }
            while (true) {
                $var4 = $var4 + 1 | 0;
                var$5 = $this.$armorInventory.data;
                if ($var4 >= var$5.length)
                    break;
                if (var$5[$var4] !== null) {
                    var$6 = var$5[$var4];
                    continue main;
                }
            }
            if (!$var3)
                return 0;
            return ($rt_imul($var1 - 1 | 0, $var2) / $var3 | 0) + 1 | 0;
        case 2:
            $tmp = nms_ItemStack_getMaxDamage(var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            var$5 = $this.$armorInventory.data;
            $var2 = $var2 + ($var5 - var$5[$var4].$itemDamage | 0) | 0;
            $var3 = $var3 + $var5 | 0;
            var$6 = var$5[$var4];
            $ptr = 3;
        case 3:
            $tmp = nms_ItemStack_getItem(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $var1 = $var1 + var$6.$damageReduceAmount | 0;
            while (true) {
                $var4 = $var4 + 1 | 0;
                var$5 = $this.$armorInventory.data;
                if ($var4 >= var$5.length)
                    break;
                if (var$5[$var4] !== null) {
                    var$6 = var$5[$var4];
                    $ptr = 1;
                    continue main;
                }
            }
            if (!$var3)
                return 0;
            return ($rt_imul($var1 - 1 | 0, $var2) / $var3 | 0) + 1 | 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $var5, $ptr);
    }
    function nms_InventoryPlayer_onInventoryChanged($this) {
        $this.$inventoryChanged = 1;
    }
    function nms_InventoryPlayer_setItemStack($this, $var1) {
        $this.$itemStack = $var1;
    }
    function nms_EnumOptions() {
        var a = this; jl_Enum.call(a);
        a.$enumFloat = 0;
        a.$enumBoolean = 0;
        a.$enumString = null;
    }
    var nms_EnumOptions_MUSIC = null;
    var nms_EnumOptions_SOUND = null;
    var nms_EnumOptions_INVERT_MOUSE = null;
    var nms_EnumOptions_SENSITIVITY = null;
    var nms_EnumOptions_RENDER_DISTANCE = null;
    var nms_EnumOptions_VIEW_BOBBING = null;
    var nms_EnumOptions_ANAGLYPH = null;
    var nms_EnumOptions_LIMIT_FRAMERATE = null;
    var nms_EnumOptions_DIFFICULTY = null;
    var nms_EnumOptions_GRAPHICS = null;
    var nms_EnumOptions_AMBIENT_OCCLUSION = null;
    var nms_EnumOptions_GUI_SCALE = null;
    var nms_EnumOptions_$VALUES = null;
    function nms_EnumOptions_$callClinit() {
        nms_EnumOptions_$callClinit = $rt_eraseClinit(nms_EnumOptions);
        nms_EnumOptions__clinit_();
    }
    function nms_EnumOptions__init_0(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nms_EnumOptions();
        nms_EnumOptions__init_(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nms_EnumOptions_values() {
        nms_EnumOptions_$callClinit();
        return nms_EnumOptions_$VALUES.$clone();
    }
    function nms_EnumOptions_func_20137_a($var0) {
        var $var1, $var2, $var3, $var4;
        nms_EnumOptions_$callClinit();
        $var1 = (nms_EnumOptions_values()).data;
        $var2 = $var1.length;
        $var3 = 0;
        while (true) {
            if ($var3 >= $var2)
                return null;
            $var4 = $var1[$var3];
            if ($var4.$ordinal0 == $var0)
                break;
            $var3 = $var3 + 1 | 0;
        }
        return $var4;
    }
    function nms_EnumOptions__init_($this, var$1, var$2, $var3, $var4, $var5) {
        nms_EnumOptions_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
        $this.$enumString = $var3;
        $this.$enumFloat = $var4;
        $this.$enumBoolean = $var5;
    }
    function nms_EnumOptions__clinit_() {
        var var$1;
        nms_EnumOptions_MUSIC = nms_EnumOptions__init_0($rt_s(1843), 0, $rt_s(1844), 1, 0);
        nms_EnumOptions_SOUND = nms_EnumOptions__init_0($rt_s(1845), 1, $rt_s(1846), 1, 0);
        nms_EnumOptions_INVERT_MOUSE = nms_EnumOptions__init_0($rt_s(1847), 2, $rt_s(1848), 0, 1);
        nms_EnumOptions_SENSITIVITY = nms_EnumOptions__init_0($rt_s(1849), 3, $rt_s(1850), 1, 0);
        nms_EnumOptions_RENDER_DISTANCE = nms_EnumOptions__init_0($rt_s(1851), 4, $rt_s(1852), 0, 0);
        nms_EnumOptions_VIEW_BOBBING = nms_EnumOptions__init_0($rt_s(1853), 5, $rt_s(1854), 0, 1);
        nms_EnumOptions_ANAGLYPH = nms_EnumOptions__init_0($rt_s(1855), 6, $rt_s(1856), 0, 1);
        nms_EnumOptions_LIMIT_FRAMERATE = nms_EnumOptions__init_0($rt_s(1857), 7, $rt_s(1858), 0, 1);
        nms_EnumOptions_DIFFICULTY = nms_EnumOptions__init_0($rt_s(1859), 8, $rt_s(1860), 0, 0);
        nms_EnumOptions_GRAPHICS = nms_EnumOptions__init_0($rt_s(1861), 9, $rt_s(1862), 0, 0);
        nms_EnumOptions_AMBIENT_OCCLUSION = nms_EnumOptions__init_0($rt_s(1863), 10, $rt_s(1864), 0, 1);
        var$1 = nms_EnumOptions__init_0($rt_s(1865), 11, $rt_s(1866), 0, 0);
        nms_EnumOptions_GUI_SCALE = var$1;
        nms_EnumOptions_$VALUES = $rt_createArrayFromData(nms_EnumOptions, [nms_EnumOptions_MUSIC, nms_EnumOptions_SOUND, nms_EnumOptions_INVERT_MOUSE, nms_EnumOptions_SENSITIVITY, nms_EnumOptions_RENDER_DISTANCE, nms_EnumOptions_VIEW_BOBBING, nms_EnumOptions_ANAGLYPH, nms_EnumOptions_LIMIT_FRAMERATE, nms_EnumOptions_DIFFICULTY, nms_EnumOptions_GRAPHICS, nms_EnumOptions_AMBIENT_OCCLUSION, var$1]);
    }
    function nms_GuiContainer() {
        var a = this; nms_GuiScreen.call(a);
        a.$xSize = 0;
        a.$ySize0 = 0;
        a.$inventorySlots0 = null;
    }
    var nms_GuiContainer_itemRenderer = null;
    function nms_GuiContainer__init_($this, $var1) {
        nms_GuiScreen__init_($this);
        $this.$xSize = 176;
        $this.$ySize0 = 166;
        $this.$inventorySlots0 = $var1;
    }
    function nms_GuiContainer_initGui($this) {
        $this.$mc6.$thePlayer.$craftingInventory = $this.$inventorySlots0;
    }
    function nms_GuiContainer_drawScreen($this, $var1, $var2, $var3) {
        var $var4, $var5, var$6, var$7, var$8, var$9, $var9, $var6, $var7, $var8, $var12, $var10, $var13, var$17, var$18, var$19, var$20, $var11, var$22, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$22 = $thread.pop();$var11 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();$var13 = $thread.pop();$var10 = $thread.pop();$var12 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var9 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiScreen_drawDefaultBackground($this);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = ($this.$width1 - $this.$xSize | 0) / 2 | 0;
            $var5 = ($this.$height3 - $this.$ySize0 | 0) / 2 | 0;
            $ptr = 2;
        case 2:
            $this.$drawGuiContainerBackgroundLayer($var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = 180.0;
            var$7 = 1.0;
            var$8 = 0.0;
            var$9 = 0.0;
            $ptr = 4;
        case 4:
            olo_GL11_glRotatef(var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_RenderHelper_enableStandardItemLighting();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $var4;
            var$9 = $var5;
            var$6 = 0.0;
            $ptr = 8;
        case 8:
            olo_GL11_glTranslatef(var$8, var$9, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 1.0;
            var$9 = 1.0;
            var$6 = 1.0;
            var$7 = 1.0;
            $ptr = 9;
        case 9:
            nleo_GlStateManager_color(var$8, var$9, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 32826;
            $ptr = 10;
        case 10:
            olo_GL11_glEnable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = null;
            $var7 = 0;
            $var8 = $this.$inventorySlots0.$slots;
            if ($var7 >= $var8.$size0) {
                $var12 = $this.$mc6.$thePlayer.$inventory;
                if ($var12.$itemStack === null) {
                    $var9 = 32826;
                    $ptr = 11;
                    continue main;
                }
                var$8 = 0.0;
                var$9 = 0.0;
                var$6 = 32.0;
                $ptr = 16;
                continue main;
            }
            $var8 = ju_ArrayList_get($var8, $var7);
            $var9 = $var8.$xDisplayPosition;
            $var10 = $var8.$yDisplayPosition;
            $var13 = nms_Slot_getStack($var8);
            var$17 = nms_GuiContainer_itemRenderer;
            var$18 = $this.$fontRenderer0;
            $var12 = $this.$mc6.$renderEngine;
            $ptr = 19;
            continue main;
        case 11:
            olo_GL11_glDisable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nms_RenderHelper_disableStandardItemLighting();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 2896;
            $ptr = 13;
        case 13:
            olo_GL11_glDisable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 2929;
            $ptr = 14;
        case 14:
            olo_GL11_glDisable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            $this.$drawGuiContainerForegroundLayer();
            if ($rt_suspending()) {
                break main;
            }
            if ($var12.$itemStack === null && $var6 !== null && nms_Slot_getHasStack($var6)) {
                $ptr = 30;
                continue main;
            }
            $ptr = 21;
            continue main;
        case 16:
            olo_GL11_glTranslatef(var$8, var$9, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = nms_GuiContainer_itemRenderer;
            var$17 = $this.$fontRenderer0;
            var$18 = $this.$mc6.$renderEngine;
            $var8 = $var12.$itemStack;
            $var9 = ($var1 - $var4 | 0) - 8 | 0;
            $var10 = ($var2 - $var5 | 0) - 8 | 0;
            $ptr = 17;
        case 17:
            nms_RenderItem_renderItemIntoGUI($var13, var$17, var$18, $var8, $var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = nms_GuiContainer_itemRenderer;
            var$17 = $this.$fontRenderer0;
            var$18 = $this.$mc6.$renderEngine;
            $var8 = $var12.$itemStack;
            $ptr = 18;
        case 18:
            nms_RenderItem_renderItemOverlayIntoGUI($var13, var$17, var$18, $var8, $var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 32826;
            $ptr = 11;
            continue main;
        case 19:
            nms_RenderItem_renderItemIntoGUI(var$17, var$18, $var12, $var13, $var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            var$17 = nms_GuiContainer_itemRenderer;
            var$18 = $this.$fontRenderer0;
            $var12 = $this.$mc6.$renderEngine;
            $ptr = 20;
        case 20:
            nms_RenderItem_renderItemOverlayIntoGUI(var$17, var$18, $var12, $var13, $var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            if (nms_GuiContainer_getIsMouseOverSlot($this, $var8, $var1, $var2)) {
                $var9 = 2896;
                $ptr = 25;
                continue main;
            }
            $var7 = $var7 + 1 | 0;
            $var8 = $this.$inventorySlots0.$slots;
            if ($var7 >= $var8.$size0) {
                $var12 = $this.$mc6.$thePlayer.$inventory;
                if ($var12.$itemStack === null) {
                    $var9 = 32826;
                    $ptr = 11;
                    continue main;
                }
                var$8 = 0.0;
                var$9 = 0.0;
                var$6 = 32.0;
                $ptr = 16;
                continue main;
            }
            $var8 = ju_ArrayList_get($var8, $var7);
            $var9 = $var8.$xDisplayPosition;
            $var10 = $var8.$yDisplayPosition;
            $var13 = nms_Slot_getStack($var8);
            var$17 = nms_GuiContainer_itemRenderer;
            var$18 = $this.$fontRenderer0;
            $var12 = $this.$mc6.$renderEngine;
            $ptr = 19;
            continue main;
        case 21:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 22;
        case 22:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 2896;
            $ptr = 23;
        case 23:
            olo_GL11_glEnable($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 2929;
            $ptr = 24;
        case 24:
            olo_GL11_glEnable($var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 25:
            olo_GL11_glDisable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 2929;
            $ptr = 26;
        case 26:
            olo_GL11_glDisable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $var8.$xDisplayPosition;
            $var10 = $var8.$yDisplayPosition;
            var$19 = $var9 + 16 | 0;
            var$20 = $var10 + 16 | 0;
            $var11 = (-2130706433);
            var$22 = (-2130706433);
            $ptr = 27;
        case 27:
            nms_Gui_drawGradientRect($this, $var9, $var10, var$19, var$20, $var11, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 2896;
            $ptr = 28;
        case 28:
            olo_GL11_glEnable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 2929;
            $ptr = 29;
        case 29:
            olo_GL11_glEnable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var8;
            $var7 = $var7 + 1 | 0;
            $var8 = $this.$inventorySlots0.$slots;
            if ($var7 >= $var8.$size0) {
                $var12 = $this.$mc6.$thePlayer.$inventory;
                if ($var12.$itemStack === null) {
                    $var9 = 32826;
                    $ptr = 11;
                    continue main;
                }
                var$8 = 0.0;
                var$9 = 0.0;
                var$6 = 32.0;
                $ptr = 16;
                continue main;
            }
            $var8 = ju_ArrayList_get($var8, $var7);
            $var9 = $var8.$xDisplayPosition;
            $var10 = $var8.$yDisplayPosition;
            $var13 = nms_Slot_getStack($var8);
            var$17 = nms_GuiContainer_itemRenderer;
            var$18 = $this.$fontRenderer0;
            $var12 = $this.$mc6.$renderEngine;
            $ptr = 19;
            continue main;
        case 30:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var13 = $tmp;
            var$17 = nms_Slot_getStack($var6);
            $ptr = 31;
        case 31:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = nms_Item_itemsList.data[var$17.$itemID];
            $ptr = 32;
        case 32:
            $tmp = $var8.$getItemNameIS(var$17);
            if ($rt_suspending()) {
                break main;
            }
            var$17 = $tmp;
            $var13 = $var13.$translateTable;
            $var8 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var8);
            $ptr = 33;
        case 33:
            $tmp = jl_StringBuilder_append($var8, var$17);
            if ($rt_suspending()) {
                break main;
            }
            var$17 = $tmp;
            var$18 = $rt_s(591);
            $ptr = 34;
        case 34:
            jl_StringBuilder_append(var$17, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 35;
        case 35:
            $tmp = jl_AbstractStringBuilder_toString($var8);
            if ($rt_suspending()) {
                break main;
            }
            var$17 = $tmp;
            $var8 = $rt_s(3);
            $ptr = 36;
        case 36:
            $tmp = ju_Properties_getProperty($var13, var$17, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = $tmp;
            $var8 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var8);
            $ptr = 37;
        case 37:
            jl_StringBuilder_append($var8, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 38;
        case 38:
            $tmp = jl_AbstractStringBuilder_toString($var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var13 = jl_String_trim($var8);
            if (jl_String_length($var13) <= 0) {
                $ptr = 21;
                continue main;
            }
            $var9 = ($var1 - $var4 | 0) + 12 | 0;
            $var10 = ($var2 - $var5 | 0) - 12 | 0;
            $var11 = nms_FontRenderer_getStringWidth($this.$fontRenderer0, $var13);
            var$19 = $var9 - 3 | 0;
            var$20 = $var10 - 3 | 0;
            $var11 = ($var9 + $var11 | 0) + 3 | 0;
            $var4 = ($var10 + 8 | 0) + 3 | 0;
            $var5 = (-1073741824);
            var$22 = (-1073741824);
            $ptr = 39;
        case 39:
            nms_Gui_drawGradientRect($this, var$19, var$20, $var11, $var4, $var5, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $this.$fontRenderer0;
            var$8 = $var9;
            var$9 = $var10;
            $var4 = (-1);
            $ptr = 40;
        case 40:
            nms_FontRenderer_drawStringWithShadow($var8, $var13, var$8, var$9, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 21;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, var$9, $var9, $var6, $var7, $var8, $var12, $var10, $var13, var$17, var$18, var$19, var$20, $var11, var$22, $ptr);
    }
    function nms_GuiContainer_getIsMouseOverSlot($this, $var1, $var2, $var3) {
        var $var4, $var5;
        a: {
            $var4 = ($this.$width1 - $this.$xSize | 0) / 2 | 0;
            $var5 = ($this.$height3 - $this.$ySize0 | 0) / 2 | 0;
            $var4 = $var2 - $var4 | 0;
            $var3 = $var3 - $var5 | 0;
            $var5 = $var1.$xDisplayPosition;
            if ($var4 >= ($var5 - 1 | 0) && $var4 < (($var5 + 16 | 0) + 1 | 0)) {
                $var2 = $var1.$yDisplayPosition;
                if ($var3 >= ($var2 - 1 | 0) && $var3 < (($var2 + 16 | 0) + 1 | 0)) {
                    $var2 = 1;
                    break a;
                }
            }
            $var2 = 0;
        }
        return $var2;
    }
    function nms_GuiContainer_mouseClicked($this, $var1, $var2, $var3) {
        var $var7, $var4, $var5, $var6, $var8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var7 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiScreen_mouseClicked($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            if (!($var3 && $var3 != 1)) {
                $var7 = 0;
                a: {
                    while (true) {
                        $var4 = $this.$inventorySlots0.$slots;
                        if ($var7 >= $var4.$size0) {
                            $var4 = null;
                            break a;
                        }
                        $var4 = ju_ArrayList_get($var4, $var7);
                        if (nms_GuiContainer_getIsMouseOverSlot($this, $var4, $var1, $var2))
                            break;
                        $var7 = $var7 + 1 | 0;
                    }
                }
                $var5 = $this.$width1;
                $var7 = $this.$xSize;
                $var5 = ($var5 - $var7 | 0) / 2 | 0;
                $var6 = $this.$height3;
                $var8 = $this.$ySize0;
                $var6 = ($var6 - $var8 | 0) / 2 | 0;
                $var7 = $var1 >= $var5 && $var2 >= $var6 && $var1 < ($var5 + $var7 | 0) && $var2 < ($var6 + $var8 | 0) ? 0 : 1;
                $var8 = (-1);
                if ($var4 !== null)
                    $var8 = $var4.$slotNumber;
                if ($var7)
                    $var8 = (-999);
                if ($var8 != (-1)) {
                    $var4 = $this.$mc6;
                    var$9 = $var4.$playerController;
                    $var1 = $this.$inventorySlots0.$windowId;
                    $var4 = $var4.$thePlayer;
                    $ptr = 2;
                    continue main;
                }
            }
            return;
        case 2:
            var$9.$func_20085_a($var1, $var8, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var7, $var4, $var5, $var6, $var8, var$9, $ptr);
    }
    function nms_GuiContainer_mouseMovedOrUp($this, $var1, $var2, $var3) {}
    function nms_GuiContainer_keyTyped($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var2 != 1 && $var2 != $this.$mc6.$gameSettings.$keyBindInventory.$keyCode)
                return;
            var$3 = $this.$mc6.$thePlayer;
            $ptr = 1;
        case 1:
            var$3.$func_20059_m();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_GuiContainer_onGuiClosed($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$mc6;
            var$2 = var$1.$thePlayer;
            if (var$2 === null)
                return;
            var$1 = var$1.$playerController;
            var$3 = $this.$inventorySlots0.$windowId;
            $ptr = 1;
        case 1:
            var$1.$func_20086_a(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_GuiContainer_doesGuiPauseGame($this) {
        return 0;
    }
    function nms_GuiContainer__clinit_() {
        nms_GuiContainer_itemRenderer = nms_RenderItem__init_0();
    }
    function nms_GuiInventory() {
        var a = this; nms_GuiContainer.call(a);
        a.$xSize_lo = 0.0;
        a.$ySize_lo = 0.0;
    }
    function nms_GuiInventory__init_0(var_0) {
        var var_1 = new nms_GuiInventory();
        nms_GuiInventory__init_(var_1, var_0);
        return var_1;
    }
    function nms_GuiInventory__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_GuiContainer__init_($this, $var1.$inventorySlots);
            $this.$field_948_f = 1;
            $ptr = 1;
        case 1:
            nms_AchievementList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_GuiInventory_initGui($this) {
        ju_ArrayList_clear($this.$controlList);
    }
    function nms_GuiInventory_drawGuiContainerForegroundLayer($this) {
        var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$fontRenderer0;
            var$2 = $rt_s(1867);
            var$3 = 86;
            var$4 = 16;
            var$5 = 4210752;
            $ptr = 1;
        case 1:
            nms_FontRenderer_drawString(var$1, var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_GuiInventory_drawScreen($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiContainer_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$xSize_lo = $var1;
            $this.$ySize_lo = $var2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_GuiInventory_drawGuiContainerBackgroundLayer($this, $var1) {
        var var$2, var$3, $var2, $var6, $var9, $var5, var$8, $var3, var$10, $var4, var$12, $var7, $var8, $var10, var$16, var$17, var$18, var$19, var$20, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$12 = $thread.pop();$var4 = $thread.pop();var$10 = $thread.pop();$var3 = $thread.pop();var$8 = $thread.pop();$var5 = $thread.pop();$var9 = $thread.pop();$var6 = $thread.pop();$var2 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$mc6.$renderEngine;
            var$3 = $rt_s(1868);
            $ptr = 1;
        case 1:
            $tmp = nms_RenderEngine_getTexture(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var6 = 1.0;
            $var9 = 1.0;
            $var1 = 1.0;
            $var5 = 1.0;
            $ptr = 2;
        case 2:
            nleo_GlStateManager_color($var6, $var9, $var1, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$mc6.$renderEngine;
            $ptr = 3;
        case 3:
            nms_RenderEngine_bindTexture(var$3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$width1;
            var$8 = $this.$xSize;
            $var3 = ($var2 - var$8 | 0) / 2 | 0;
            $var2 = $this.$height3;
            var$10 = $this.$ySize0;
            $var4 = ($var2 - var$10 | 0) / 2 | 0;
            var$12 = 0;
            $var2 = 0;
            $ptr = 4;
        case 4:
            nms_Gui_drawTexturedModalRect($this, $var3, $var4, var$12, $var2, var$8, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 32826;
            $ptr = 5;
        case 5:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 2903;
            $ptr = 6;
        case 6:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var3 + 51 | 0;
            $var2 = $var4 + 75 | 0;
            $var5 = $var2;
            $var6 = 50.0;
            $ptr = 8;
        case 8:
            olo_GL11_glTranslatef($var1, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 30.0;
            $var6 = (-30.0);
            $ptr = 9;
        case 9:
            olo_GL11_glScalef($var6, $var5, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 180.0;
            $var6 = 0.0;
            $var9 = 0.0;
            $var7 = 1.0;
            $ptr = 10;
        case 10:
            olo_GL11_glRotatef($var5, $var6, $var9, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$mc6.$thePlayer;
            $var6 = var$3.$renderYawOffset;
            $var7 = var$3.$rotationYaw;
            $var8 = var$3.$rotationPitch;
            $var9 = $var1 - $this.$xSize_lo;
            $var10 = ($var2 - 50 | 0) - $this.$ySize_lo;
            $var1 = 135.0;
            $var5 = 0.0;
            var$16 = 1.0;
            var$17 = 0.0;
            $ptr = 11;
        case 11:
            olo_GL11_glRotatef($var1, $var5, var$16, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nms_RenderHelper_enableStandardItemLighting();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = (-135.0);
            $var5 = 0.0;
            var$16 = 1.0;
            var$17 = 0.0;
            $ptr = 13;
        case 13:
            olo_GL11_glRotatef($var1, $var5, var$16, var$17);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $var10 / 40.0;
            $var1 =  -jl_Math_atan(var$18) * 20.0;
            $var5 = 1.0;
            $var10 = 0.0;
            var$16 = 0.0;
            $ptr = 14;
        case 14:
            olo_GL11_glRotatef($var1, $var5, $var10, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$mc6.$thePlayer;
            var$19 = $var9 / 40.0;
            var$3.$renderYawOffset = jl_Math_atan(var$19) * 20.0;
            $this.$mc6.$thePlayer.$rotationYaw = jl_Math_atan(var$19) * 40.0;
            $this.$mc6.$thePlayer.$rotationPitch =  -jl_Math_atan(var$18) * 20.0;
            $var1 = 0.0;
            $var5 = $this.$mc6.$thePlayer.$yOffset;
            $var9 = 0.0;
            $ptr = 15;
        case 15:
            olo_GL11_glTranslatef($var1, $var5, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
        case 16:
            nms_RenderManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nms_RenderManager_instance;
            var$2 = $this.$mc6.$thePlayer;
            var$18 = 0.0;
            var$19 = 0.0;
            var$20 = 0.0;
            $var1 = 0.0;
            $var5 = 1.0;
            $ptr = 17;
        case 17:
            nms_RenderManager_renderEntityWithPosYaw(var$3, var$2, var$18, var$19, var$20, $var1, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$mc6.$thePlayer;
            var$3.$renderYawOffset = $var6;
            var$3.$rotationYaw = $var7;
            var$3.$rotationPitch = $var8;
            $ptr = 18;
        case 18:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 19;
        case 19:
            nms_RenderHelper_disableStandardItemLighting();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 32826;
            $ptr = 20;
        case 20:
            olo_GL11_glDisable($var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $var2, $var6, $var9, $var5, var$8, $var3, var$10, $var4, var$12, $var7, $var8, $var10, var$16, var$17, var$18, var$19, var$20, $ptr);
    }
    function nms_GuiInventory_actionPerformed($this, $var1) {}
    function nms_GuiChat() {
        var a = this; nms_GuiScreen.call(a);
        a.$message1 = null;
        a.$updateCounter3 = 0;
    }
    var nms_GuiChat_field_20082_i = null;
    var nms_GuiChat_$clinitCalled = false;
    function nms_GuiChat_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_GuiChat_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_GuiChat_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_GuiChat__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_GuiChat_$callClinit = $rt_eraseClinit(nms_GuiChat);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_GuiChat__init_0() {
        var var_0 = new nms_GuiChat();
        nms_GuiChat__init_(var_0);
        return var_0;
    }
    function nms_GuiChat__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiChat_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_GuiScreen__init_($this);
            $this.$message1 = $rt_s(3);
            $this.$updateCounter3 = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_GuiChat_initGui($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nlei_PlatformInput_enableRepeatEvents = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_GuiChat_onGuiClosed($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nlei_PlatformInput_enableRepeatEvents = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_GuiChat_updateScreen($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$updateCounter3 = $this.$updateCounter3 + 1 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_GuiChat_keyTyped($this, $var1, $var2) {
        var $var3, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var2 == 1) {
                $var3 = $this.$mc6;
                $var4 = null;
                $ptr = 1;
                continue main;
            }
            if ($var2 != 28) {
                if ($var2 == 14 && jl_String_length($this.$message1) > 0) {
                    $var3 = $this.$message1;
                    $this.$message1 = jl_String_substring0($var3, 0, jl_String_length($var3) - 1 | 0);
                }
                $ptr = 2;
                continue main;
            }
            if (jl_String_length(jl_String_trim($this.$message1)) <= 0) {
                $var3 = $this.$mc6;
                $var4 = null;
                $ptr = 3;
                continue main;
            }
            $var4 = jl_String_trim($this.$message1);
            jl_String_startsWith($var4, $rt_s(5));
            $var3 = $this.$mc6.$thePlayer;
            $ptr = 4;
            continue main;
        case 1:
            nmc_Minecraft_displayGuiScreen($var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            $tmp = nms_FontAllowedCharacters_isAllowed($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 >= 0 && jl_String_length($this.$message1) < 100) {
                $var3 = $this.$message1;
                $var4 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var4);
                $ptr = 5;
                continue main;
            }
            return;
        case 3:
            nmc_Minecraft_displayGuiScreen($var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            $var3.$sendChatMessage($var4);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $this.$mc6;
            $var4 = null;
            $ptr = 3;
            continue main;
        case 5:
            $tmp = jl_StringBuilder_append($var4, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            jl_AbstractStringBuilder_append($var3, $var1);
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString($var4);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $this.$message1 = $var3;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_GuiChat_drawScreen($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = 2;
            var$5 = $this.$height3;
            var$6 = var$5 - 14 | 0;
            var$7 = $this.$width1 - 2 | 0;
            var$5 = var$5 - 2 | 0;
            var$8 = (-2147483648);
            $ptr = 1;
        case 1:
            nms_Gui_drawRect($this, var$4, var$6, var$7, var$5, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $this.$fontRenderer0;
            var$10 = $this.$message1;
            var$11 = ($this.$updateCounter3 / 6 | 0) % 2 | 0 ? $rt_s(3) : $rt_s(1869);
            var$12 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$12);
            var$13 = $rt_s(1870);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$13, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            var$5 = 4;
            var$6 = $this.$height3 - 12 | 0;
            var$7 = 14737632;
            $ptr = 6;
        case 6:
            nms_Gui_drawString($this, var$9, var$10, var$5, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
    }
    function nms_GuiChat_mouseClicked($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var3)
                return;
            if ($this.$mc6.$ingameGUI.$field_933_a === null) {
                $ptr = 1;
                continue main;
            }
            if (jl_String_length($this.$message1) > 0 && !jl_String_endsWith($this.$message1, $rt_s(1224))) {
                var$4 = $this.$message1;
                var$5 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$5);
                $ptr = 5;
                continue main;
            }
            var$4 = $this.$message1;
            var$5 = $this.$mc6.$ingameGUI.$field_933_a;
            var$6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$6);
            $ptr = 2;
            continue main;
        case 1:
            nms_GuiScreen_mouseClicked($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            $tmp = jl_StringBuilder_append(var$6, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 3;
        case 3:
            jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $this.$message1 = var$4;
            if (jl_String_length(var$4) > 100)
                $this.$message1 = jl_String_substring0($this.$message1, 0, 100);
            return;
        case 5:
            $tmp = jl_StringBuilder_append(var$5, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_AbstractStringBuilder_append(var$4, 32);
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $this.$message1 = var$4;
            var$4 = $this.$message1;
            var$5 = $this.$mc6.$ingameGUI.$field_933_a;
            var$6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$6);
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, $ptr);
    }
    function nms_GuiChat__clinit_() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_FontAllowedCharacters_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_GuiChat_field_20082_i = nms_FontAllowedCharacters_allowedCharacters;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    var nms_GuiSleepMP = $rt_classWithoutFields(nms_GuiChat);
    function nms_GuiSleepMP__init_0() {
        var var_0 = new nms_GuiSleepMP();
        nms_GuiSleepMP__init_(var_0);
        return var_0;
    }
    function nms_GuiSleepMP__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiChat__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_GuiSleepMP_initGui($this) {
        var $var1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nlei_PlatformInput_enableRepeatEvents = 1;
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$2 = $this.$controlList;
            var$3 = new nms_GuiButton;
            var$4 = 1;
            var$5 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$6 = $this.$height3 - 40 | 0;
            var$7 = $rt_s(1871);
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_translateKey($var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            nms_GuiButton__init_(var$3, var$4, var$5, var$6, var$7);
            $ptr = 3;
        case 3:
            ju_ArrayList_add(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_GuiSleepMP_onGuiClosed($this) {
        nlei_PlatformInput_enableRepeatEvents = 0;
    }
    function nms_GuiSleepMP_keyTyped($this, $var1, $var2) {
        var $var3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var2 == 1) {
                $ptr = 1;
                continue main;
            }
            if ($var2 != 28) {
                $ptr = 2;
                continue main;
            }
            if (jl_String_length(jl_String_trim($this.$message1)) <= 0) {
                $this.$message1 = $rt_s(3);
                return;
            }
            $var3 = $this.$mc6.$thePlayer;
            var$4 = jl_String_trim($this.$message1);
            $ptr = 3;
            continue main;
        case 1:
            nms_GuiSleepMP_func_22115_j($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nms_GuiChat_keyTyped($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            $var3.$sendChatMessage(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$message1 = $rt_s(3);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_GuiSleepMP_drawScreen($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiChat_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_GuiSleepMP_actionPerformed($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$id2 != 1)
                return;
            $ptr = 1;
        case 1:
            nms_GuiSleepMP_func_22115_j($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_GuiSleepMP_func_22115_j($this) {
        var var$1, $var1, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var1 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$mc6.$thePlayer;
            if (!(var$1 instanceof nms_EntityClientPlayerMP))
                return;
            $var1 = var$1.$sendQueue;
            var$3 = new nms_Packet19;
            var$4 = 3;
            $ptr = 1;
        case 1:
            nms_Packet19__init_0(var$3, var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_NetClientHandler_addToSendQueue($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $var1, var$3, var$4, $ptr);
    }
    var nms_GuiUnused = $rt_classWithoutFields(nms_GuiScreen);
    function nms_GuiUnused__init_0() {
        var var_0 = new nms_GuiUnused();
        nms_GuiUnused__init_(var_0);
        return var_0;
    }
    function nms_GuiUnused__init_($this) {
        nms_GuiScreen__init_($this);
    }
    var nms_GuiGameOver = $rt_classWithoutFields(nms_GuiScreen);
    function nms_GuiGameOver__init_0() {
        var var_0 = new nms_GuiGameOver();
        nms_GuiGameOver__init_(var_0);
        return var_0;
    }
    function nms_GuiGameOver__init_($this) {
        nms_GuiScreen__init_($this);
    }
    function nms_GuiGameOver_initGui($this) {
        ju_ArrayList_clear($this.$controlList);
        ju_ArrayList_add($this.$controlList, nms_GuiButton__init_1(1, ($this.$width1 / 2 | 0) - 100 | 0, ($this.$height3 / 4 | 0) + 72 | 0, $rt_s(1872)));
        ju_ArrayList_add($this.$controlList, nms_GuiButton__init_1(2, ($this.$width1 / 2 | 0) - 100 | 0, ($this.$height3 / 4 | 0) + 96 | 0, $rt_s(1873)));
        if ($this.$mc6.$session === null)
            (ju_ArrayList_get($this.$controlList, 1)).$enabled0 = 0;
    }
    function nms_GuiGameOver_keyTyped($this, $var1, $var2) {}
    function nms_GuiGameOver_actionPerformed($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $var1.$id2;
            if (var$2 == 1) {
                var$3 = $this.$mc6.$thePlayer;
                $ptr = 1;
                continue main;
            }
            if ($var1.$id2 != 2)
                return;
            $var1 = $this.$mc6;
            var$3 = null;
            $ptr = 3;
            continue main;
        case 1:
            var$3.$respawnPlayer();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$mc6;
            var$4 = null;
            $ptr = 2;
        case 2:
            nmc_Minecraft_displayGuiScreen(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$id2 != 2)
                return;
            $var1 = $this.$mc6;
            var$3 = null;
            $ptr = 3;
        case 3:
            nmc_Minecraft_changeWorld1($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$mc6;
            var$3 = new nms_GuiMainMenu;
            $ptr = 4;
        case 4:
            nms_GuiMainMenu__init_(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nmc_Minecraft_displayGuiScreen($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_GuiGameOver_drawScreen($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = 0;
            var$5 = 0;
            var$6 = $this.$width1;
            var$7 = $this.$height3;
            var$8 = 1615855616;
            var$9 = (-1602211792);
            $ptr = 1;
        case 1:
            nms_Gui_drawGradientRect($this, var$4, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$10 = 2.0;
            var$11 = 2.0;
            var$12 = 2.0;
            $ptr = 3;
        case 3:
            olo_GL11_glScalef(var$10, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $this.$fontRenderer0;
            var$14 = $rt_s(1874);
            var$6 = ($this.$width1 / 2 | 0) / 2 | 0;
            var$7 = 30;
            var$4 = 16777215;
            $ptr = 4;
        case 4:
            nms_Gui_drawCenteredString($this, var$13, var$14, var$6, var$7, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $this.$fontRenderer0;
            var$6 = $this.$mc6.$thePlayer.$score;
            var$14 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$14);
            var$15 = $rt_s(1875);
            $ptr = 6;
        case 6:
            $tmp = jl_StringBuilder_append(var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $tmp;
            jl_AbstractStringBuilder_append0(var$15, var$6);
            $ptr = 7;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString(var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $tmp;
            var$6 = $this.$width1 / 2 | 0;
            var$7 = 100;
            var$4 = 16777215;
            $ptr = 8;
        case 8:
            nms_Gui_drawCenteredString($this, var$13, var$14, var$6, var$7, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr);
    }
    function nms_GuiGameOver_doesGuiPauseGame($this) {
        return 0;
    }
    function ju_LinkedList$SequentialListIterator() {
        var a = this; jl_Object.call(a);
        a.$nextEntry = null;
        a.$prevEntry = null;
        a.$currentEntry0 = null;
        a.$index9 = 0;
        a.$version = 0;
        a.$this$01 = null;
    }
    function ju_LinkedList$SequentialListIterator__init_(var_0, var_1, var_2, var_3) {
        var var_4 = new ju_LinkedList$SequentialListIterator();
        ju_LinkedList$SequentialListIterator__init_0(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function ju_LinkedList$SequentialListIterator__init_0($this, var$1, $nextEntry, $prevEntry, $index) {
        $this.$this$01 = var$1;
        $this.$version = var$1.$modCount0;
        $this.$nextEntry = $nextEntry;
        $this.$prevEntry = $prevEntry;
        $this.$index9 = $index;
    }
    function ju_LinkedList$SequentialListIterator_hasNext($this) {
        return $this.$nextEntry === null ? 0 : 1;
    }
    function ju_LinkedList$SequentialListIterator_next($this) {
        var var$1, $result;
        ju_LinkedList$SequentialListIterator_checkConcurrentModification($this);
        var$1 = $this.$nextEntry;
        if (var$1 === null) {
            var$1 = new ju_NoSuchElementException;
            jl_Throwable__init_0(var$1);
            $rt_throw(var$1);
        }
        $result = var$1.$item;
        $this.$currentEntry0 = var$1;
        $this.$prevEntry = var$1;
        $this.$nextEntry = var$1.$next2;
        $this.$index9 = $this.$index9 + 1 | 0;
        return $result;
    }
    function ju_LinkedList$SequentialListIterator_remove($this) {
        var var$1, var$2, var$3, var$4;
        var$1 = $this.$currentEntry0;
        if (var$1 === null) {
            var$1 = new jl_IllegalStateException;
            jl_Throwable__init_0(var$1);
            $rt_throw(var$1);
        }
        var$2 = $this.$this$01;
        var$3 = var$1.$previous;
        if (var$3 === null)
            var$2.$firstEntry = var$1.$next2;
        else
            var$3.$next2 = var$1.$next2;
        var$4 = var$1.$next2;
        if (var$4 === null)
            var$2.$lastEntry = var$3;
        else
            var$4.$previous = var$3;
        var$2.$size2 = var$2.$size2 - 1 | 0;
        var$2.$modCount0 = var$2.$modCount0 + 1 | 0;
        var$2 = $this.$prevEntry;
        if (var$1 === var$2) {
            $this.$prevEntry = !ju_LinkedList$SequentialListIterator_hasNext($this) ? null : $this.$nextEntry.$previous;
            $this.$index9 = $this.$index9 - 1 | 0;
        } else if (var$1 === $this.$nextEntry)
            $this.$nextEntry = !(var$2 === null ? 0 : 1) ? null : var$2.$next2;
        $this.$version = $this.$this$01.$modCount0;
        $this.$currentEntry0 = null;
    }
    function ju_LinkedList$SequentialListIterator_checkConcurrentModification($this) {
        var var$1;
        if ($this.$version >= $this.$this$01.$modCount0)
            return;
        var$1 = new ju_ConcurrentModificationException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    function ju_HashMap$1() {
        ju_AbstractSet.call(this);
        this.$this$0 = null;
    }
    function ju_HashMap$1_iterator($this) {
        var var$1;
        var$1 = new ju_HashMap$KeyIterator;
        ju_HashMap$AbstractMapIterator__init_(var$1, $this.$this$0);
        return var$1;
    }
    var cch_BitMixer = $rt_classWithoutFields();
    function cch_BitMixer__init_0() {
        var var_0 = new cch_BitMixer();
        cch_BitMixer__init_(var_0);
        return var_0;
    }
    function cch_BitMixer__init_($this) {}
    function nle_BaseNCodec$Context() {
        var a = this; jl_Object.call(a);
        a.$ibitWorkArea = 0;
        a.$buffer4 = null;
        a.$pos0 = 0;
        a.$readPos = 0;
        a.$eof = 0;
        a.$currentLinePos = 0;
        a.$modulus = 0;
    }
    function nle_BaseNCodec$Context__init_0() {
        var var_0 = new nle_BaseNCodec$Context();
        nle_BaseNCodec$Context__init_(var_0);
        return var_0;
    }
    function nle_BaseNCodec$Context__init_($this) {}
    var jl_ArrayIndexOutOfBoundsException = $rt_classWithoutFields(jl_IndexOutOfBoundsException);
    function jl_ArrayIndexOutOfBoundsException__init_() {
        var var_0 = new jl_ArrayIndexOutOfBoundsException();
        jl_ArrayIndexOutOfBoundsException__init_0(var_0);
        return var_0;
    }
    function jl_ArrayIndexOutOfBoundsException__init_0($this) {
        jl_Throwable__init_0($this);
    }
    function nlei_PlatformInput$VMouseEvent() {
        var a = this; jl_Object.call(a);
        a.$posX1 = 0;
        a.$posY1 = 0;
        a.$button = 0;
        a.$wheel = 0.0;
        a.$type2 = 0;
    }
    function nlei_PlatformInput$VMouseEvent__init_(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nlei_PlatformInput$VMouseEvent();
        nlei_PlatformInput$VMouseEvent__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nlei_PlatformInput$VMouseEvent__init_0($this, $posX, $posY, $button, $wheel, $type) {
        $this.$posX1 = $posX;
        $this.$posY1 = $posY;
        $this.$button = $button;
        $this.$wheel = $wheel;
        $this.$type2 = $type;
    }
    function nlei_PlatformInput$VKeyEvent() {
        var a = this; jl_Object.call(a);
        a.$keyCode1 = 0;
        a.$location0 = 0;
        a.$eagKey = 0;
        a.$keyChar = 0;
        a.$type1 = 0;
    }
    function nlei_PlatformInput$VKeyEvent__init_(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nlei_PlatformInput$VKeyEvent();
        nlei_PlatformInput$VKeyEvent__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nlei_PlatformInput$VKeyEvent__init_0($this, $keyCode, $location, $eagKey, $keyChar, $type) {
        $this.$keyCode1 = $keyCode;
        $this.$location0 = $location;
        $this.$eagKey = $eagKey;
        $this.$keyChar = $keyChar;
        $this.$type1 = $type;
    }
    var jl_VirtualMachineError = $rt_classWithoutFields(jl_Error);
    function jl_VirtualMachineError__init_1() {
        var var_0 = new jl_VirtualMachineError();
        jl_VirtualMachineError__init_(var_0);
        return var_0;
    }
    function jl_VirtualMachineError__init_($this) {
        jl_Throwable__init_0($this);
    }
    var jl_OutOfMemoryError = $rt_classWithoutFields(jl_VirtualMachineError);
    function jl_OutOfMemoryError__init_1() {
        var var_0 = new jl_OutOfMemoryError();
        jl_OutOfMemoryError__init_(var_0);
        return var_0;
    }
    function jl_OutOfMemoryError__init_($this) {
        jl_Throwable__init_0($this);
    }
    function cjj_InfBlocks() {
        var a = this; jl_Object.call(a);
        a.$mode2 = 0;
        a.$left0 = 0;
        a.$table0 = 0;
        a.$index10 = 0;
        a.$blens = null;
        a.$bb = null;
        a.$tb = null;
        a.$bl = null;
        a.$bd = null;
        a.$tl = null;
        a.$td = null;
        a.$tli = null;
        a.$tdi = null;
        a.$codes = null;
        a.$last = 0;
        a.$bitk = 0;
        a.$bitb = 0;
        a.$hufts = null;
        a.$window = null;
        a.$end1 = 0;
        a.$read4 = 0;
        a.$write2 = 0;
        a.$check = 0;
        a.$inftree = null;
        a.$z4 = null;
    }
    var cjj_InfBlocks_inflate_mask = null;
    var cjj_InfBlocks_border = null;
    function cjj_InfBlocks_reset($this) {
        var var$1;
        var$1 = $this.$mode2;
        var$1 != 4 && var$1 != 5;
        $this.$mode2 = 0;
        $this.$bitk = 0;
        $this.$bitb = 0;
        $this.$write2 = 0;
        $this.$read4 = 0;
        if ($this.$check)
            $this.$z4.$adler.$reset0();
    }
    function cjj_InfBlocks_proc($this, $r) {
        var var$2, $p, $n, $b, $k, $q, var$8, $m, var$10, $i, $t, $c, var$14, var$15, var$16, $i_0, $j;
        var$2 = $this.$z4;
        $p = var$2.$next_in_index;
        $n = var$2.$avail_in;
        $b = $this.$bitb;
        $k = $this.$bitk;
        $q = $this.$write2;
        var$8 = $this.$read4;
        $m = $q >= var$8 ? $this.$end1 - $q | 0 : (var$8 - $q | 0) - 1 | 0;
        a: {
            b: {
                c: {
                    d: {
                        e: while (true) {
                            f: {
                                g: {
                                    h: {
                                        i: {
                                            j: {
                                                switch ($this.$mode2) {
                                                    case 2:
                                                        break f;
                                                    case 9:
                                                        $this.$bitb = $b;
                                                        $this.$bitk = $k;
                                                        var$2 = $this.$z4;
                                                        var$2.$avail_in = $n;
                                                        var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                                                        var$2.$next_in_index = $p;
                                                        $this.$write2 = $q;
                                                        return cjj_InfBlocks_inflate_flush($this, (-3));
                                                    case 0:
                                                        break j;
                                                    case 1:
                                                        break;
                                                    case 3:
                                                        while ($k < 14) {
                                                            if (!$n) {
                                                                $this.$bitb = $b;
                                                                $this.$bitk = $k;
                                                                var$2 = $this.$z4;
                                                                var$2.$avail_in = $n;
                                                                var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                                                                var$2.$next_in_index = $p;
                                                                $this.$write2 = $q;
                                                                return cjj_InfBlocks_inflate_flush($this, $r);
                                                            }
                                                            $r = 0;
                                                            $n = $n + (-1) | 0;
                                                            var$10 = $this.$z4.$next_in.data;
                                                            var$8 = $p + 1 | 0;
                                                            $b = $b | (var$10[$p] & 255) << $k;
                                                            $k = $k + 8 | 0;
                                                            $p = var$8;
                                                        }
                                                        var$8 = $b & 16383;
                                                        $this.$table0 = var$8;
                                                        $i = var$8 & 31;
                                                        if ($i > 29)
                                                            break d;
                                                        var$8 = var$8 >> 5 & 31;
                                                        if (var$8 > 29)
                                                            break d;
                                                        k: {
                                                            l: {
                                                                var$8 = (258 + $i | 0) + var$8 | 0;
                                                                var$10 = $this.$blens;
                                                                if (var$10 !== null) {
                                                                    var$10 = var$10.data;
                                                                    if (var$10.length >= var$8)
                                                                        break l;
                                                                }
                                                                $this.$blens = $rt_createIntArray(var$8);
                                                                break k;
                                                            }
                                                            $i = 0;
                                                            while (true) {
                                                                if ($i >= var$8)
                                                                    break k;
                                                                var$10[$i] = 0;
                                                                $i = $i + 1 | 0;
                                                            }
                                                        }
                                                        $b = $b >>> 14 | 0;
                                                        $k = $k + (-14) | 0;
                                                        $this.$index10 = 0;
                                                        $this.$mode2 = 4;
                                                        break i;
                                                    case 4:
                                                        break i;
                                                    case 5:
                                                        break h;
                                                    case 6:
                                                        break g;
                                                    case 7:
                                                        break b;
                                                    case 8:
                                                        break a;
                                                    default:
                                                        $this.$bitb = $b;
                                                        $this.$bitk = $k;
                                                        var$2 = $this.$z4;
                                                        var$2.$avail_in = $n;
                                                        var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                                                        var$2.$next_in_index = $p;
                                                        $this.$write2 = $q;
                                                        return cjj_InfBlocks_inflate_flush($this, (-2));
                                                }
                                                while ($k < 32) {
                                                    if (!$n) {
                                                        $this.$bitb = $b;
                                                        $this.$bitk = $k;
                                                        var$2 = $this.$z4;
                                                        var$2.$avail_in = $n;
                                                        var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                                                        var$2.$next_in_index = $p;
                                                        $this.$write2 = $q;
                                                        return cjj_InfBlocks_inflate_flush($this, $r);
                                                    }
                                                    $r = 0;
                                                    $n = $n + (-1) | 0;
                                                    var$10 = $this.$z4.$next_in.data;
                                                    var$8 = $p + 1 | 0;
                                                    $b = $b | (var$10[$p] & 255) << $k;
                                                    $k = $k + 8 | 0;
                                                    $p = var$8;
                                                }
                                                var$8 = (($b ^ (-1)) >>> 16 | 0) & 65535;
                                                $i = $b & 65535;
                                                if (var$8 != $i) {
                                                    $this.$mode2 = 9;
                                                    var$2 = $this.$z4;
                                                    var$2.$msg = $rt_s(1876);
                                                    $this.$bitb = $b;
                                                    $this.$bitk = $k;
                                                    var$2.$avail_in = $n;
                                                    var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                                                    var$2.$next_in_index = $p;
                                                    $this.$write2 = $q;
                                                    return cjj_InfBlocks_inflate_flush($this, (-3));
                                                }
                                                $this.$left0 = $i;
                                                $k = 0;
                                                $this.$mode2 = $i ? 2 : !$this.$last ? 0 : 7;
                                                $b = $k;
                                                continue e;
                                            }
                                            while ($k < 3) {
                                                if (!$n) {
                                                    $this.$bitb = $b;
                                                    $this.$bitk = $k;
                                                    var$2 = $this.$z4;
                                                    var$2.$avail_in = $n;
                                                    var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                                                    var$2.$next_in_index = $p;
                                                    $this.$write2 = $q;
                                                    return cjj_InfBlocks_inflate_flush($this, $r);
                                                }
                                                $r = 0;
                                                $n = $n + (-1) | 0;
                                                var$10 = $this.$z4.$next_in.data;
                                                var$8 = $p + 1 | 0;
                                                $b = $b | (var$10[$p] & 255) << $k;
                                                $k = $k + 8 | 0;
                                                $p = var$8;
                                            }
                                            m: {
                                                $t = $b & 7;
                                                $this.$last = $t & 1;
                                                switch ($t >>> 1 | 0) {
                                                    case 0:
                                                        var$8 = $b >>> 3 | 0;
                                                        $i = $k + (-3) | 0;
                                                        $c = $i & 7;
                                                        $b = var$8 >>> $c | 0;
                                                        $k = $i - $c | 0;
                                                        $this.$mode2 = 1;
                                                        break m;
                                                    case 1:
                                                        cjj_InfTree_inflate_trees_fixed($this.$bl, $this.$bd, $this.$tl, $this.$td, $this.$z4);
                                                        cjj_InfCodes_init($this.$codes, $this.$bl.data[0], $this.$bd.data[0], $this.$tl.data[0], 0, $this.$td.data[0], 0);
                                                        $b = $b >>> 3 | 0;
                                                        $k = $k + (-3) | 0;
                                                        $this.$mode2 = 6;
                                                        break m;
                                                    case 2:
                                                        $b = $b >>> 3 | 0;
                                                        $k = $k + (-3) | 0;
                                                        $this.$mode2 = 3;
                                                        break m;
                                                    case 3:
                                                        $r = $b >>> 3 | 0;
                                                        var$8 = $k + (-3) | 0;
                                                        $this.$mode2 = 9;
                                                        var$2 = $this.$z4;
                                                        var$2.$msg = $rt_s(1877);
                                                        $this.$bitb = $r;
                                                        $this.$bitk = var$8;
                                                        var$2.$avail_in = $n;
                                                        var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                                                        var$2.$next_in_index = $p;
                                                        $this.$write2 = $q;
                                                        return cjj_InfBlocks_inflate_flush($this, (-3));
                                                    default:
                                                }
                                            }
                                            continue e;
                                        }
                                        while (true) {
                                            var$8 = $this.$index10;
                                            if (var$8 >= (4 + ($this.$table0 >>> 10 | 0) | 0))
                                                break;
                                            while ($k < 3) {
                                                if (!$n) {
                                                    $this.$bitb = $b;
                                                    $this.$bitk = $k;
                                                    var$2 = $this.$z4;
                                                    var$2.$avail_in = $n;
                                                    var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                                                    var$2.$next_in_index = $p;
                                                    $this.$write2 = $q;
                                                    return cjj_InfBlocks_inflate_flush($this, $r);
                                                }
                                                $r = 0;
                                                $n = $n + (-1) | 0;
                                                var$10 = $this.$z4.$next_in.data;
                                                $i = $p + 1 | 0;
                                                $b = $b | (var$10[$p] & 255) << $k;
                                                $k = $k + 8 | 0;
                                                $p = $i;
                                            }
                                            var$14 = $this.$blens.data;
                                            var$10 = cjj_InfBlocks_border.data;
                                            $this.$index10 = var$8 + 1 | 0;
                                            var$14[var$10[var$8]] = $b & 7;
                                            $b = $b >>> 3 | 0;
                                            $k = $k + (-3) | 0;
                                        }
                                        while (true) {
                                            var$8 = $this.$index10;
                                            if (var$8 >= 19)
                                                break;
                                            var$14 = $this.$blens.data;
                                            var$10 = cjj_InfBlocks_border.data;
                                            $this.$index10 = var$8 + 1 | 0;
                                            var$14[var$10[var$8]] = 0;
                                        }
                                        var$10 = $this.$bb;
                                        var$10.data[0] = 7;
                                        var$8 = cjj_InfTree_inflate_trees_bits($this.$inftree, $this.$blens, var$10, $this.$tb, $this.$hufts, $this.$z4);
                                        if (var$8) {
                                            if (var$8 == (-3)) {
                                                $this.$blens = null;
                                                $this.$mode2 = 9;
                                            }
                                            $this.$bitb = $b;
                                            $this.$bitk = $k;
                                            var$2 = $this.$z4;
                                            var$2.$avail_in = $n;
                                            var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                                            var$2.$next_in_index = $p;
                                            $this.$write2 = $q;
                                            return cjj_InfBlocks_inflate_flush($this, var$8);
                                        }
                                        $this.$index10 = 0;
                                        $this.$mode2 = 5;
                                    }
                                    while (true) {
                                        var$8 = $this.$table0;
                                        $i = $this.$index10;
                                        $c = var$8 & 31;
                                        $m = 258 + $c | 0;
                                        var$8 = var$8 >> 5 & 31;
                                        $m = $m + var$8 | 0;
                                        if ($i >= $m)
                                            break;
                                        $t = $this.$bb.data[0];
                                        while ($k < $t) {
                                            if (!$n) {
                                                $this.$bitb = $b;
                                                $this.$bitk = $k;
                                                var$2 = $this.$z4;
                                                var$2.$avail_in = $n;
                                                var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                                                var$2.$next_in_index = $p;
                                                $this.$write2 = $q;
                                                return cjj_InfBlocks_inflate_flush($this, $r);
                                            }
                                            $r = 0;
                                            $n = $n + (-1) | 0;
                                            var$10 = $this.$z4.$next_in.data;
                                            var$8 = $p + 1 | 0;
                                            $b = $b | (var$10[$p] & 255) << $k;
                                            $k = $k + 8 | 0;
                                            $p = var$8;
                                        }
                                        var$10 = $this.$tb.data;
                                        var$15 = $this.$hufts.data;
                                        var$8 = var$10[0];
                                        var$14 = cjj_InfBlocks_inflate_mask.data;
                                        var$16 = var$15[((var$8 + ($b & var$14[$t]) | 0) * 3 | 0) + 1 | 0];
                                        $c = var$15[((var$10[0] + ($b & var$14[var$16]) | 0) * 3 | 0) + 2 | 0];
                                        $t = $rt_compare($c, 16);
                                        if ($t < 0) {
                                            $b = $b >>> var$16 | 0;
                                            $k = $k - var$16 | 0;
                                            var$10 = $this.$blens.data;
                                            $this.$index10 = $i + 1 | 0;
                                            var$10[$i] = $c;
                                        } else {
                                            var$8 = $rt_compare($c, 18);
                                            $i_0 = !var$8 ? 7 : $c - 14 | 0;
                                            $j = var$8 ? 3 : 11;
                                            while ($k < (var$16 + $i_0 | 0)) {
                                                if (!$n) {
                                                    $this.$bitb = $b;
                                                    $this.$bitk = $k;
                                                    var$2 = $this.$z4;
                                                    var$2.$avail_in = $n;
                                                    var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                                                    var$2.$next_in_index = $p;
                                                    $this.$write2 = $q;
                                                    return cjj_InfBlocks_inflate_flush($this, $r);
                                                }
                                                $r = 0;
                                                $n = $n + (-1) | 0;
                                                var$10 = $this.$z4.$next_in.data;
                                                var$8 = $p + 1 | 0;
                                                $b = $b | (var$10[$p] & 255) << $k;
                                                $k = $k + 8 | 0;
                                                $p = var$8;
                                            }
                                            $c = $b >>> var$16 | 0;
                                            $k = $k - var$16 | 0;
                                            var$8 = $j + ($c & var$14[$i_0]) | 0;
                                            $b = $c >>> $i_0 | 0;
                                            $k = $k - $i_0 | 0;
                                            if (($i + var$8 | 0) > $m)
                                                break c;
                                            if (!$t && $i < 1)
                                                break c;
                                            $m = $t ? 0 : $this.$blens.data[$i - 1 | 0];
                                            while (true) {
                                                var$10 = $this.$blens.data;
                                                $c = $i + 1 | 0;
                                                var$10[$i] = $m;
                                                var$8 = var$8 + (-1) | 0;
                                                if (!var$8)
                                                    break;
                                                $i = $c;
                                            }
                                            $this.$index10 = $c;
                                        }
                                    }
                                    $this.$tb.data[0] = (-1);
                                    var$10 = $this.$bl;
                                    var$10.data[0] = 9;
                                    var$14 = $this.$bd;
                                    var$14.data[0] = 6;
                                    var$8 = cjj_InfTree_inflate_trees_dynamic($this.$inftree, 257 + $c | 0, 1 + var$8 | 0, $this.$blens, var$10, var$14, $this.$tli, $this.$tdi, $this.$hufts, $this.$z4);
                                    if (var$8) {
                                        if (var$8 == (-3)) {
                                            $this.$blens = null;
                                            $this.$mode2 = 9;
                                        }
                                        $this.$bitb = $b;
                                        $this.$bitk = $k;
                                        var$2 = $this.$z4;
                                        var$2.$avail_in = $n;
                                        var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                                        var$2.$next_in_index = $p;
                                        $this.$write2 = $q;
                                        return cjj_InfBlocks_inflate_flush($this, var$8);
                                    }
                                    var$2 = $this.$codes;
                                    var$8 = $this.$bl.data[0];
                                    $i = $this.$bd.data[0];
                                    var$10 = $this.$hufts;
                                    cjj_InfCodes_init(var$2, var$8, $i, var$10, $this.$tli.data[0], var$10, $this.$tdi.data[0]);
                                    $this.$mode2 = 6;
                                }
                                $this.$bitb = $b;
                                $this.$bitk = $k;
                                var$2 = $this.$z4;
                                var$2.$avail_in = $n;
                                var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                                var$2.$next_in_index = $p;
                                $this.$write2 = $q;
                                $r = cjj_InfCodes_proc($this.$codes, $r);
                                if ($r != 1)
                                    break e;
                                $r = 0;
                                cjj_InfCodes_free($this.$codes, $this.$z4);
                                var$2 = $this.$z4;
                                $p = var$2.$next_in_index;
                                $n = var$2.$avail_in;
                                $b = $this.$bitb;
                                $k = $this.$bitk;
                                $q = $this.$write2;
                                var$8 = $this.$read4;
                                $m = $q >= var$8 ? $this.$end1 - $q | 0 : (var$8 - $q | 0) - 1 | 0;
                                if ($this.$last) {
                                    $this.$mode2 = 7;
                                    break b;
                                }
                                $this.$mode2 = 0;
                                continue e;
                            }
                            if (!$n) {
                                $this.$bitb = $b;
                                $this.$bitk = $k;
                                var$2 = $this.$z4;
                                var$2.$avail_in = $n;
                                var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                                var$2.$next_in_index = $p;
                                $this.$write2 = $q;
                                return cjj_InfBlocks_inflate_flush($this, $r);
                            }
                            if (!$m) {
                                $c = $this.$end1;
                                if ($q == $c) {
                                    var$8 = $this.$read4;
                                    if (var$8) {
                                        $q = 0;
                                        $m = $q >= var$8 ? $c - $q | 0 : (var$8 - $q | 0) - 1 | 0;
                                    }
                                }
                                if (!$m) {
                                    $this.$write2 = $q;
                                    $i = cjj_InfBlocks_inflate_flush($this, $r);
                                    $q = $this.$write2;
                                    var$8 = $this.$read4;
                                    $m = $q >= var$8 ? $this.$end1 - $q | 0 : (var$8 - $q | 0) - 1 | 0;
                                    $c = $this.$end1;
                                    if ($q == $c && var$8) {
                                        $q = 0;
                                        $m = $q >= var$8 ? $c - $q | 0 : (var$8 - $q | 0) - 1 | 0;
                                    }
                                    if (!$m) {
                                        $this.$bitb = $b;
                                        $this.$bitk = $k;
                                        var$2 = $this.$z4;
                                        var$2.$avail_in = $n;
                                        var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                                        var$2.$next_in_index = $p;
                                        $this.$write2 = $q;
                                        return cjj_InfBlocks_inflate_flush($this, $i);
                                    }
                                }
                            }
                            $r = 0;
                            var$8 = $this.$left0;
                            if (var$8 > $n)
                                var$8 = $n;
                            if (var$8 > $m)
                                var$8 = $m;
                            jl_System_fastArraycopy($this.$z4.$next_in, $p, $this.$window, $q, var$8);
                            $p = $p + var$8 | 0;
                            $n = $n - var$8 | 0;
                            $q = $q + var$8 | 0;
                            $m = $m - var$8 | 0;
                            var$8 = $this.$left0 - var$8 | 0;
                            $this.$left0 = var$8;
                            if (var$8)
                                continue;
                            $this.$mode2 = !$this.$last ? 0 : 7;
                        }
                        return cjj_InfBlocks_inflate_flush($this, $r);
                    }
                    $this.$mode2 = 9;
                    var$2 = $this.$z4;
                    var$2.$msg = $rt_s(1878);
                    $this.$bitb = $b;
                    $this.$bitk = $k;
                    var$2.$avail_in = $n;
                    var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                    var$2.$next_in_index = $p;
                    $this.$write2 = $q;
                    return cjj_InfBlocks_inflate_flush($this, (-3));
                }
                $this.$blens = null;
                $this.$mode2 = 9;
                var$2 = $this.$z4;
                var$2.$msg = $rt_s(1879);
                $this.$bitb = $b;
                $this.$bitk = $k;
                var$2.$avail_in = $n;
                var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                var$2.$next_in_index = $p;
                $this.$write2 = $q;
                return cjj_InfBlocks_inflate_flush($this, (-3));
            }
            $this.$write2 = $q;
            $r = cjj_InfBlocks_inflate_flush($this, $r);
            $q = $this.$write2;
            var$8 = $this.$read4;
            if (var$8 != $q) {
                $this.$bitb = $b;
                $this.$bitk = $k;
                var$2 = $this.$z4;
                var$2.$avail_in = $n;
                var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
                var$2.$next_in_index = $p;
                $this.$write2 = $q;
                return cjj_InfBlocks_inflate_flush($this, $r);
            }
            $this.$mode2 = 8;
        }
        $this.$bitb = $b;
        $this.$bitk = $k;
        var$2 = $this.$z4;
        var$2.$avail_in = $n;
        var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt($p - var$2.$next_in_index | 0));
        var$2.$next_in_index = $p;
        $this.$write2 = $q;
        return cjj_InfBlocks_inflate_flush($this, 1);
    }
    function cjj_InfBlocks_free($this) {
        cjj_InfBlocks_reset($this);
        $this.$window = null;
        $this.$hufts = null;
    }
    function cjj_InfBlocks_inflate_flush($this, $r) {
        var var$2, $p, $q, var$5, $n, var$7;
        var$2 = $this.$z4;
        $p = var$2.$next_out_index;
        $q = $this.$read4;
        var$5 = $this.$write2;
        if ($q > var$5)
            var$5 = $this.$end1;
        $n = var$5 - $q | 0;
        var$5 = var$2.$avail_out;
        if ($n > var$5)
            $n = var$5;
        if ($n && $r == (-5))
            $r = 0;
        var$2.$avail_out = var$5 - $n | 0;
        var$2.$total_out = Long_add(var$2.$total_out, Long_fromInt($n));
        if ($this.$check && $n > 0)
            var$2.$adler.$update2($this.$window, $q, $n);
        jl_System_fastArraycopy($this.$window, $q, $this.$z4.$next_out, $p, $n);
        var$5 = $p + $n | 0;
        var$7 = $q + $n | 0;
        $p = $this.$end1;
        if (var$7 == $p) {
            if ($this.$write2 == $p)
                $this.$write2 = 0;
            $p = $this.$write2 - 0 | 0;
            var$2 = $this.$z4;
            $q = var$2.$avail_out;
            if ($p > $q)
                $p = $q;
            if ($p && $r == (-5))
                $r = 0;
            var$2.$avail_out = $q - $p | 0;
            var$2.$total_out = Long_add(var$2.$total_out, Long_fromInt($p));
            if ($this.$check && $p > 0)
                var$2.$adler.$update2($this.$window, 0, $p);
            jl_System_fastArraycopy($this.$window, 0, $this.$z4.$next_out, var$5, $p);
            var$5 = var$5 + $p | 0;
            var$7 = 0 + $p | 0;
        }
        $this.$z4.$next_out_index = var$5;
        $this.$read4 = var$7;
        return $r;
    }
    function cjj_InfBlocks__clinit_() {
        cjj_InfBlocks_inflate_mask = $rt_createIntArrayFromData([0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535]);
        cjj_InfBlocks_border = $rt_createIntArrayFromData([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
    }
    var otji_IDBObjectStoreParameters = $rt_classWithoutFields();
    function otji_IDBObjectStoreParameters_create$js_body$_1() {
        return {  };
    }
    var jt_DecimalFormat$MinusField = $rt_classWithoutFields();
    function jt_DecimalFormat$MinusField__init_0() {
        var var_0 = new jt_DecimalFormat$MinusField();
        jt_DecimalFormat$MinusField__init_(var_0);
        return var_0;
    }
    function jt_DecimalFormat$MinusField__init_($this) {}
    function jt_DecimalFormat$MinusField_equals($this, $obj) {
        return $obj instanceof jt_DecimalFormat$MinusField;
    }
    function jt_DecimalFormat$MinusField_hashCode($this) {
        return 3;
    }
    function jt_DateFormatElement$Numeric() {
        var a = this; jt_DateFormatElement.call(a);
        a.$field = 0;
        a.$length5 = 0;
        a.$maxLength = 0;
    }
    function jt_DateFormatElement$Numeric__init_0(var_0, var_1, var_2) {
        var var_3 = new jt_DateFormatElement$Numeric();
        jt_DateFormatElement$Numeric__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function jt_DateFormatElement$Numeric__init_($this, $field, $length, $maxLength) {
        $this.$field = $field;
        $this.$length5 = $length;
        $this.$maxLength = jl_Math_max($length, $maxLength);
    }
    function jt_DateFormatElement$Numeric_format($this, $date, $buffer) {
        var $number, $str, $i, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$i = $thread.pop();$str = $thread.pop();$number = $thread.pop();$buffer = $thread.pop();$date = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $number = $this.$field;
            $ptr = 1;
        case 1:
            $tmp = ju_Calendar_get($date, $number);
            if ($rt_suspending()) {
                break main;
            }
            $number = $tmp;
            $number = $this.$processBeforeFormat($number);
            $ptr = 2;
        case 2:
            $tmp = jl_Integer_toString($number);
            if ($rt_suspending()) {
                break main;
            }
            $str = $tmp;
            $i = jl_String_length($str);
            while ($i < $this.$length5) {
                jl_AbstractStringBuilder_append($buffer, 48);
                $i = $i + 1 | 0;
            }
            jl_AbstractStringBuilder_append2($buffer, $str);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $date, $buffer, $number, $str, $i, $ptr);
    }
    function jt_DateFormatElement$Numeric_processBeforeFormat($this, $num) {
        return $num;
    }
    function jt_DateFormatElement$Numeric_equals($this, $o) {
        var $numeric;
        if ($this === $o)
            return 1;
        if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
            $numeric = $o;
            return $this.$field == $numeric.$field && $this.$length5 == $numeric.$length5 ? 1 : 0;
        }
        return 0;
    }
    function jt_DateFormatElement$Numeric_hashCode($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_createArrayFromData(jl_Object, [jl_Integer_valueOf($this.$field), jl_Integer_valueOf($this.$length5)]);
            $ptr = 1;
        case 1:
            $tmp = ju_Arrays_hashCode(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function jt_DateFormatElement$WeekdayText() {
        var a = this; jt_DateFormatElement.call(a);
        a.$weeks = null;
        a.$shortWeeks = null;
        a.$abbreviated = 0;
    }
    function jt_DateFormatElement$WeekdayText__init_0(var_0, var_1) {
        var var_2 = new jt_DateFormatElement$WeekdayText();
        jt_DateFormatElement$WeekdayText__init_(var_2, var_0, var_1);
        return var_2;
    }
    function jt_DateFormatElement$WeekdayText__init_($this, $symbols, $abbreviated) {
        var var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$abbreviated = $thread.pop();$symbols = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($symbols.$weekdays === null) {
                $symbols.$weekdays = $rt_createArray(jl_String, 8);
                var$3 = $symbols.$locale0;
                var$4 = var$3.$languageCode;
                var$5 = var$3.$countryCode;
                if (otciu_CLDRHelper_$$metadata$$5 === null)
                    otciu_CLDRHelper_$$metadata$$5 = otciu_CLDRHelper_getWeekdayMap$$create();
                var$3 = otciu_CLDRHelper_$$metadata$$5;
                $ptr = 1;
                continue main;
            }
            $this.$weeks = $symbols.$weekdays.$clone();
            if ($symbols.$shortWeekdays !== null) {
                $this.$shortWeeks = $symbols.$shortWeekdays.$clone();
                $this.$abbreviated = $abbreviated;
                return;
            }
            $symbols.$shortWeekdays = $rt_createArray(jl_String, 8);
            var$3 = $symbols.$locale0;
            var$4 = var$3.$languageCode;
            var$5 = var$3.$countryCode;
            if (otciu_CLDRHelper_$$metadata$$6 === null)
                otciu_CLDRHelper_$$metadata$$6 = otciu_CLDRHelper_getShortWeekdayMap$$create();
            var$3 = otciu_CLDRHelper_$$metadata$$6;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = otciu_CLDRHelper_resolveDateFormatSymbols(var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$7 = 0;
            while (var$7 < 7) {
                var$8 = var$6.data;
                var$9 = $symbols.$weekdays.data;
                var$10 = var$7 + 1 | 0;
                var$9[var$10] = var$8[var$7];
                var$7 = var$10;
            }
            $this.$weeks = $symbols.$weekdays.$clone();
            if ($symbols.$shortWeekdays !== null) {
                $this.$shortWeeks = $symbols.$shortWeekdays.$clone();
                $this.$abbreviated = $abbreviated;
                return;
            }
            $symbols.$shortWeekdays = $rt_createArray(jl_String, 8);
            var$3 = $symbols.$locale0;
            var$4 = var$3.$languageCode;
            var$5 = var$3.$countryCode;
            if (otciu_CLDRHelper_$$metadata$$6 === null)
                otciu_CLDRHelper_$$metadata$$6 = otciu_CLDRHelper_getShortWeekdayMap$$create();
            var$3 = otciu_CLDRHelper_$$metadata$$6;
            $ptr = 2;
        case 2:
            $tmp = otciu_CLDRHelper_resolveDateFormatSymbols(var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$10 = 0;
            while (var$10 < 7) {
                var$8 = var$6.data;
                var$9 = $symbols.$shortWeekdays.data;
                var$7 = var$10 + 1 | 0;
                var$9[var$7] = var$8[var$10];
                var$10 = var$7;
            }
            $this.$shortWeeks = $symbols.$shortWeekdays.$clone();
            $this.$abbreviated = $abbreviated;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $symbols, $abbreviated, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function jt_DateFormatElement$WeekdayText_format($this, $date, $buffer) {
        var $weekday, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$weekday = $thread.pop();$buffer = $thread.pop();$date = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $weekday = 7;
            $ptr = 1;
        case 1:
            $tmp = ju_Calendar_get($date, $weekday);
            if ($rt_suspending()) {
                break main;
            }
            $weekday = $tmp;
            jl_AbstractStringBuilder_append2($buffer, !$this.$abbreviated ? $this.$weeks.data[$weekday] : $this.$shortWeeks.data[$weekday]);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $date, $buffer, $weekday, $ptr);
    }
    function jt_DateFormatElement$WeekdayText_equals($this, $o) {
        var $that, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$that = $thread.pop();$o = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this === $o)
                return 1;
            if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
                $that = $o;
                if ($this.$abbreviated != $that.$abbreviated)
                    return 0;
                var$3 = $this.$weeks;
                var$4 = $that.$weeks;
                $ptr = 1;
                continue main;
            }
            return 0;
        case 1:
            $tmp = ju_Arrays_equals0(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (!var$5)
                return 0;
            var$3 = $this.$shortWeeks;
            var$4 = $that.$shortWeeks;
            $ptr = 2;
        case 2:
            $tmp = ju_Arrays_equals0(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            return !var$5 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $o, $that, var$3, var$4, var$5, $ptr);
    }
    function jt_DateFormatElement$WeekdayText_hashCode($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_createArrayFromData(jl_Object, [$this.$weeks, $this.$shortWeeks, jl_Boolean_valueOf($this.$abbreviated)]);
            $ptr = 1;
        case 1:
            $tmp = ju_Arrays_hashCode(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function jt_DateFormatElement$EraText() {
        jt_DateFormatElement.call(this);
        this.$eras0 = null;
    }
    function jt_DateFormatElement$EraText_format($this, $date, $buffer) {
        var $era, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$era = $thread.pop();$buffer = $thread.pop();$date = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $era = 0;
            $ptr = 1;
        case 1:
            $tmp = ju_Calendar_get($date, $era);
            if ($rt_suspending()) {
                break main;
            }
            $era = $tmp;
            jl_AbstractStringBuilder_append2($buffer, $this.$eras0.data[$era]);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $date, $buffer, $era, $ptr);
    }
    function jt_DateFormatElement$EraText_equals($this, $o) {
        var $eraText, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$eraText = $thread.pop();$o = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this === $o)
                return 1;
            if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
                $eraText = $o;
                var$3 = $this.$eras0;
                var$4 = $eraText.$eras0;
                $ptr = 1;
                continue main;
            }
            return 0;
        case 1:
            $tmp = ju_Arrays_equals0(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            return var$5;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $o, $eraText, var$3, var$4, var$5, $ptr);
    }
    function jt_DateFormatElement$EraText_hashCode($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$eras0;
            $ptr = 1;
        case 1:
            $tmp = ju_Arrays_hashCode(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function jt_DateFormatElement$BaseTimezone() {
        var a = this; jt_DateFormatElement.call(a);
        a.$locale4 = null;
        a.$searchTrie = null;
    }
    function jt_DateFormatElement$BaseTimezone__init_($this, $locale) {
        $this.$locale4 = $locale;
    }
    function jt_DateFormatElement$BaseTimezone_equals($this, $o) {
        var $that, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$that = $thread.pop();$o = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this === $o)
                return 1;
            if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
                $that = $o;
                $o = $this.$locale4;
                var$3 = $that.$locale4;
                $ptr = 1;
                continue main;
            }
            return 0;
        case 1:
            $tmp = ju_Objects_equals($o, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (!var$4)
                return 0;
            $o = $this.$searchTrie;
            $that = $that.$searchTrie;
            $ptr = 2;
        case 2:
            $tmp = ju_Objects_equals($o, $that);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return !var$4 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $o, $that, var$3, var$4, $ptr);
    }
    function jt_DateFormatElement$BaseTimezone_hashCode($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_createArrayFromData(jl_Object, [$this.$locale4, $this.$searchTrie]);
            $ptr = 1;
        case 1:
            $tmp = ju_Arrays_hashCode(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    var jt_DateFormatElement$Rfc822Timezone = $rt_classWithoutFields(jt_DateFormatElement$BaseTimezone);
    function jt_DateFormatElement$Rfc822Timezone_format($this, $date, $buffer) {
        var $tz, var$4, $minutes, $hours, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$hours = $thread.pop();$minutes = $thread.pop();var$4 = $thread.pop();$tz = $thread.pop();$buffer = $thread.pop();$date = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $tz = $date.$zone;
            $ptr = 1;
        case 1:
            $tmp = ju_Calendar_getTimeInMillis($date);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = ju_IANATimeZone_getOffset($tz, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $minutes = $tmp;
            $minutes = $minutes / 60000 | 0;
            if ($minutes >= 0)
                jl_AbstractStringBuilder_append($buffer, 43);
            else {
                $minutes =  -$minutes | 0;
                jl_AbstractStringBuilder_append($buffer, 45);
            }
            $hours = $minutes / 60 | 0;
            var$7 = $minutes % 60 | 0;
            jl_AbstractStringBuilder_append0($buffer, $hours / 10 | 0);
            jl_AbstractStringBuilder_append0($buffer, $hours % 10 | 0);
            jl_AbstractStringBuilder_append0($buffer, var$7 / 10 | 0);
            jl_AbstractStringBuilder_append0($buffer, var$7 % 10 | 0);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $date, $buffer, $tz, var$4, $minutes, $hours, var$7, $ptr);
    }
    function jt_DateFormatElement$AmPmText() {
        jt_DateFormatElement.call(this);
        this.$ampms0 = null;
    }
    function jt_DateFormatElement$AmPmText__init_0(var_0) {
        var var_1 = new jt_DateFormatElement$AmPmText();
        jt_DateFormatElement$AmPmText__init_(var_1, var_0);
        return var_1;
    }
    function jt_DateFormatElement$AmPmText__init_($this, $symbols) {
        var var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$symbols = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($symbols.$ampms !== null) {
                $this.$ampms0 = $symbols.$ampms.$clone();
                return;
            }
            var$2 = $symbols.$locale0;
            var$3 = var$2.$languageCode;
            var$4 = var$2.$countryCode;
            if (otciu_CLDRHelper_$$metadata$$2 === null)
                otciu_CLDRHelper_$$metadata$$2 = otciu_CLDRHelper_getAmPmMap$$create();
            var$2 = otciu_CLDRHelper_$$metadata$$2;
            $ptr = 1;
        case 1:
            $tmp = otciu_CLDRHelper_resolveDateFormatSymbols(var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $symbols.$ampms = var$5;
            $this.$ampms0 = $symbols.$ampms.$clone();
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $symbols, var$2, var$3, var$4, var$5, $ptr);
    }
    function jt_DateFormatElement$AmPmText_format($this, $date, $buffer) {
        var $ampm, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$ampm = $thread.pop();$buffer = $thread.pop();$date = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ampm = 9;
            $ptr = 1;
        case 1:
            $tmp = ju_Calendar_get($date, $ampm);
            if ($rt_suspending()) {
                break main;
            }
            $ampm = $tmp;
            jl_AbstractStringBuilder_append2($buffer, $this.$ampms0.data[$ampm]);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $date, $buffer, $ampm, $ptr);
    }
    function jt_DateFormatElement$AmPmText_equals($this, $o) {
        var $amPmText, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$amPmText = $thread.pop();$o = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this === $o)
                return 1;
            if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
                $amPmText = $o;
                var$3 = $this.$ampms0;
                var$4 = $amPmText.$ampms0;
                $ptr = 1;
                continue main;
            }
            return 0;
        case 1:
            $tmp = ju_Arrays_equals0(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            return var$5;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $o, $amPmText, var$3, var$4, var$5, $ptr);
    }
    function jt_DateFormatElement$AmPmText_hashCode($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$ampms0;
            $ptr = 1;
        case 1:
            $tmp = ju_Arrays_hashCode(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function jt_DateFormatElement$NumericHour() {
        jt_DateFormatElement$Numeric.call(this);
        this.$limit5 = 0;
    }
    function jt_DateFormatElement$NumericHour__init_0(var_0, var_1, var_2) {
        var var_3 = new jt_DateFormatElement$NumericHour();
        jt_DateFormatElement$NumericHour__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function jt_DateFormatElement$NumericHour__init_($this, $field, $length, $limit) {
        jt_DateFormatElement$Numeric__init_($this, $field, $length, 2);
        $this.$limit5 = $limit;
    }
    function jt_DateFormatElement$NumericHour_processBeforeFormat($this, $num) {
        if (!$num)
            $num = $this.$limit5;
        return $num;
    }
    function jt_DateFormatElement$NumericHour_equals($this, $o) {
        var $that;
        if ($this === $o)
            return 1;
        if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
            if (!jt_DateFormatElement$Numeric_equals($this, $o))
                return 0;
            $that = $o;
            return $this.$limit5 != $that.$limit5 ? 0 : 1;
        }
        return 0;
    }
    function jt_DateFormatElement$NumericHour_hashCode($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_createArray(jl_Object, 2);
            var$2 = var$1.data;
            var$3 = 0;
            $ptr = 1;
        case 1:
            $tmp = jt_DateFormatElement$Numeric_hashCode($this);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$2[var$3] = jl_Integer_valueOf(var$4);
            var$2[1] = jl_Integer_valueOf($this.$limit5);
            $ptr = 2;
        case 2:
            $tmp = ju_Arrays_hashCode(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    var jt_DateFormatElement$NumericWeekday = $rt_classWithoutFields(jt_DateFormatElement$Numeric);
    function jt_DateFormatElement$NumericWeekday__init_0(var_0) {
        var var_1 = new jt_DateFormatElement$NumericWeekday();
        jt_DateFormatElement$NumericWeekday__init_(var_1, var_0);
        return var_1;
    }
    function jt_DateFormatElement$NumericWeekday__init_($this, $length) {
        jt_DateFormatElement$Numeric__init_($this, 7, $length, 1);
    }
    function jt_DateFormatElement$NumericWeekday_processBeforeFormat($this, $num) {
        return $num == 1 ? 7 : $num - 1 | 0;
    }
    var jt_DateFormatElement$GeneralTimezone = $rt_classWithoutFields(jt_DateFormatElement$BaseTimezone);
    function jt_DateFormatElement$GeneralTimezone__init_0(var_0) {
        var var_1 = new jt_DateFormatElement$GeneralTimezone();
        jt_DateFormatElement$GeneralTimezone__init_(var_1, var_0);
        return var_1;
    }
    function jt_DateFormatElement$GeneralTimezone__init_($this, $locale) {
        jt_DateFormatElement$BaseTimezone__init_($this, $locale);
    }
    function jt_DateFormatElement$GeneralTimezone_format($this, $date, $buffer) {
        var $tz, $minutes, $hours, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$hours = $thread.pop();$minutes = $thread.pop();$tz = $thread.pop();$buffer = $thread.pop();$date = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $tz = $date.$zone;
            if (jl_String_startsWith($tz.$id1, $rt_s(1193))) {
                $minutes = $tz.$rawOffset / 60000 | 0;
                jl_AbstractStringBuilder_append2($buffer, $rt_s(1193));
                if ($minutes >= 0)
                    jl_AbstractStringBuilder_append($buffer, 43);
                else {
                    $minutes =  -$minutes | 0;
                    jl_AbstractStringBuilder_append($buffer, 45);
                }
                $hours = $minutes / 60 | 0;
                $minutes = $minutes % 60 | 0;
                jl_AbstractStringBuilder_append0($buffer, $hours / 10 | 0);
                jl_AbstractStringBuilder_append0($buffer, $hours % 10 | 0);
                jl_AbstractStringBuilder_append($buffer, 58);
                jl_AbstractStringBuilder_append0($buffer, $minutes / 10 | 0);
                jl_AbstractStringBuilder_append0($buffer, $minutes % 10 | 0);
                return;
            }
            $date = $this.$locale4;
            var$6 = $date.$languageCode;
            var$7 = $date.$countryCode;
            $date = $tz.$id1;
            $ptr = 1;
        case 1:
            $tmp = otciu_CLDRHelper_getCode(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if ((otciu_CLDRHelper_getTimeZoneLocalizationMap()).hasOwnProperty($rt_ustr(var$7)))
                var$6 = var$7;
            if (!(otciu_CLDRHelper_getTimeZoneLocalizationMap()).hasOwnProperty($rt_ustr(var$6)))
                $date = null;
            else {
                var$7 = (otciu_CLDRHelper_getTimeZoneLocalizationMap())[$rt_ustr(var$6)];
                $minutes = jl_String_indexOf0($date, 47);
                if ($minutes < 0)
                    $date = null;
                else {
                    var$8 = jl_String_substring0($date, 0, $minutes);
                    $date = jl_String_substring($date, $minutes + 1 | 0);
                    if (!var$7.timeZones.hasOwnProperty($rt_ustr(var$8)))
                        $date = null;
                    else {
                        var$7 = var$7.timeZones[$rt_ustr(var$8)];
                        $date = !var$7.hasOwnProperty($rt_ustr($date)) ? null : (var$7[$rt_ustr($date)].value !== null ? $rt_str(var$7[$rt_ustr($date)].value) : null);
                    }
                }
            }
            if ($date === null)
                $date = $tz.$id1;
            jl_AbstractStringBuilder_append2($buffer, $date);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $date, $buffer, $tz, $minutes, $hours, var$6, var$7, var$8, $ptr);
    }
    function jt_DateFormatElement$ConstantText() {
        jt_DateFormatElement.call(this);
        this.$textConstant = null;
    }
    function jt_DateFormatElement$ConstantText__init_0(var_0) {
        var var_1 = new jt_DateFormatElement$ConstantText();
        jt_DateFormatElement$ConstantText__init_(var_1, var_0);
        return var_1;
    }
    function jt_DateFormatElement$ConstantText__init_($this, $textConstant) {
        $this.$textConstant = $textConstant;
    }
    function jt_DateFormatElement$ConstantText_format($this, $date, $buffer) {
        jl_AbstractStringBuilder_append2($buffer, $this.$textConstant);
    }
    function jt_DateFormatElement$ConstantText_equals($this, $o) {
        var $that, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$that = $thread.pop();$o = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this === $o)
                return 1;
            if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
                $that = $o;
                $o = $this.$textConstant;
                $that = $that.$textConstant;
                $ptr = 1;
                continue main;
            }
            return 0;
        case 1:
            $tmp = ju_Objects_equals($o, $that);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $o, $that, var$3, $ptr);
    }
    function jt_DateFormatElement$ConstantText_hashCode($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_createArray(jl_Object, 1);
            var$1.data[0] = $this.$textConstant;
            $ptr = 1;
        case 1:
            $tmp = ju_Arrays_hashCode(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function jt_DateFormatElement$Year() {
        jt_DateFormatElement.call(this);
        this.$field0 = 0;
    }
    function jt_DateFormatElement$Year__init_0(var_0) {
        var var_1 = new jt_DateFormatElement$Year();
        jt_DateFormatElement$Year__init_(var_1, var_0);
        return var_1;
    }
    function jt_DateFormatElement$Year__init_($this, $field) {
        $this.$field0 = $field;
    }
    function jt_DateFormatElement$Year_format($this, $date, $buffer) {
        var var$3, $number, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$number = $thread.pop();var$3 = $thread.pop();$buffer = $thread.pop();$date = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$field0;
            $ptr = 1;
        case 1:
            $tmp = ju_Calendar_get($date, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $number = $tmp;
            if ($number < 10)
                jl_AbstractStringBuilder_append0($buffer, $number);
            else {
                jl_AbstractStringBuilder_append($buffer, ((($number % 100 | 0) / 10 | 0) + 48 | 0) & 65535);
                jl_AbstractStringBuilder_append($buffer, (($number % 10 | 0) + 48 | 0) & 65535);
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $date, $buffer, var$3, $number, $ptr);
    }
    function jt_DateFormatElement$Year_equals($this, $o) {
        var $year;
        if ($this === $o)
            return 1;
        if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
            $year = $o;
            return $this.$field0 != $year.$field0 ? 0 : 1;
        }
        return 0;
    }
    function jt_DateFormatElement$Year_hashCode($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_createArray(jl_Object, 1);
            var$1.data[0] = jl_Integer_valueOf($this.$field0);
            $ptr = 1;
        case 1:
            $tmp = ju_Arrays_hashCode(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function jt_DateFormatElement$Iso8601Timezone() {
        jt_DateFormatElement.call(this);
        this.$size8 = 0;
    }
    function jt_DateFormatElement$Iso8601Timezone__init_0(var_0) {
        var var_1 = new jt_DateFormatElement$Iso8601Timezone();
        jt_DateFormatElement$Iso8601Timezone__init_(var_1, var_0);
        return var_1;
    }
    function jt_DateFormatElement$Iso8601Timezone__init_($this, $size) {
        $this.$size8 = $size;
    }
    function jt_DateFormatElement$Iso8601Timezone_format($this, $date, $buffer) {
        var var$3, var$4, $minutes, $hours, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$hours = $thread.pop();$minutes = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$buffer = $thread.pop();$date = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $date.$zone;
            $ptr = 1;
        case 1:
            $tmp = ju_Calendar_getTimeInMillis($date);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = ju_IANATimeZone_getOffset(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $minutes = $tmp;
            $minutes = $minutes / 60000 | 0;
            if (!$minutes) {
                jl_AbstractStringBuilder_append($buffer, 90);
                return;
            }
            if ($minutes > 0)
                jl_AbstractStringBuilder_append($buffer, 43);
            else {
                $minutes =  -$minutes | 0;
                jl_AbstractStringBuilder_append($buffer, 45);
            }
            $hours = $minutes / 60 | 0;
            var$7 = $minutes % 60 | 0;
            jl_AbstractStringBuilder_append0($buffer, $hours / 10 | 0);
            jl_AbstractStringBuilder_append0($buffer, $hours % 10 | 0);
            if ($this.$size8 >= 3)
                jl_AbstractStringBuilder_append($buffer, 58);
            if ($this.$size8 > 1) {
                jl_AbstractStringBuilder_append0($buffer, var$7 / 10 | 0);
                jl_AbstractStringBuilder_append0($buffer, var$7 % 10 | 0);
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $date, $buffer, var$3, var$4, $minutes, $hours, var$7, $ptr);
    }
    function jt_DateFormatElement$Iso8601Timezone_equals($this, $o) {
        var $that;
        if ($this === $o)
            return 1;
        if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
            $that = $o;
            return $this.$size8 != $that.$size8 ? 0 : 1;
        }
        return 0;
    }
    function jt_DateFormatElement$Iso8601Timezone_hashCode($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_createArray(jl_Object, 1);
            var$1.data[0] = jl_Integer_valueOf($this.$size8);
            $ptr = 1;
        case 1:
            $tmp = ju_Arrays_hashCode(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function jt_DateFormatElement$MonthText() {
        var a = this; jt_DateFormatElement.call(a);
        a.$months0 = null;
        a.$shortMonths0 = null;
        a.$abbreviated0 = 0;
    }
    function jt_DateFormatElement$MonthText__init_0(var_0, var_1) {
        var var_2 = new jt_DateFormatElement$MonthText();
        jt_DateFormatElement$MonthText__init_(var_2, var_0, var_1);
        return var_2;
    }
    function jt_DateFormatElement$MonthText__init_($this, $symbols, $abbreviated) {
        var var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$abbreviated = $thread.pop();$symbols = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($symbols.$months === null) {
                var$3 = $symbols.$locale0;
                var$4 = var$3.$languageCode;
                var$5 = var$3.$countryCode;
                if (otciu_CLDRHelper_$$metadata$$3 === null)
                    otciu_CLDRHelper_$$metadata$$3 = otciu_CLDRHelper_getMonthMap$$create();
                var$3 = otciu_CLDRHelper_$$metadata$$3;
                $ptr = 1;
                continue main;
            }
            $this.$months0 = $symbols.$months.$clone();
            if ($symbols.$shortMonths !== null) {
                $this.$shortMonths0 = $symbols.$shortMonths.$clone();
                $this.$abbreviated0 = $abbreviated;
                return;
            }
            var$3 = $symbols.$locale0;
            var$5 = var$3.$languageCode;
            var$6 = var$3.$countryCode;
            if (otciu_CLDRHelper_$$metadata$$4 === null)
                otciu_CLDRHelper_$$metadata$$4 = otciu_CLDRHelper_getShortMonthMap$$create();
            var$3 = otciu_CLDRHelper_$$metadata$$4;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = otciu_CLDRHelper_resolveDateFormatSymbols(var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $symbols.$months = var$7;
            $this.$months0 = $symbols.$months.$clone();
            if ($symbols.$shortMonths !== null) {
                $this.$shortMonths0 = $symbols.$shortMonths.$clone();
                $this.$abbreviated0 = $abbreviated;
                return;
            }
            var$3 = $symbols.$locale0;
            var$5 = var$3.$languageCode;
            var$6 = var$3.$countryCode;
            if (otciu_CLDRHelper_$$metadata$$4 === null)
                otciu_CLDRHelper_$$metadata$$4 = otciu_CLDRHelper_getShortMonthMap$$create();
            var$3 = otciu_CLDRHelper_$$metadata$$4;
            $ptr = 2;
        case 2:
            $tmp = otciu_CLDRHelper_resolveDateFormatSymbols(var$3, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $symbols.$shortMonths = var$7;
            $this.$shortMonths0 = $symbols.$shortMonths.$clone();
            $this.$abbreviated0 = $abbreviated;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $symbols, $abbreviated, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function jt_DateFormatElement$MonthText_format($this, $date, $buffer) {
        var $month, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$month = $thread.pop();$buffer = $thread.pop();$date = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $month = 2;
            $ptr = 1;
        case 1:
            $tmp = ju_Calendar_get($date, $month);
            if ($rt_suspending()) {
                break main;
            }
            $month = $tmp;
            jl_AbstractStringBuilder_append2($buffer, !$this.$abbreviated0 ? $this.$months0.data[$month] : $this.$shortMonths0.data[$month]);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $date, $buffer, $month, $ptr);
    }
    function jt_DateFormatElement$MonthText_equals($this, $o) {
        var $monthText, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$monthText = $thread.pop();$o = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this === $o)
                return 1;
            if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
                $monthText = $o;
                if ($this.$abbreviated0 != $monthText.$abbreviated0)
                    return 0;
                var$3 = $this.$months0;
                var$4 = $monthText.$months0;
                $ptr = 1;
                continue main;
            }
            return 0;
        case 1:
            $tmp = ju_Arrays_equals0(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (!var$5)
                return 0;
            var$3 = $this.$shortMonths0;
            var$4 = $monthText.$shortMonths0;
            $ptr = 2;
        case 2:
            $tmp = ju_Arrays_equals0(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            return !var$5 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $o, $monthText, var$3, var$4, var$5, $ptr);
    }
    function jt_DateFormatElement$MonthText_hashCode($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_createArrayFromData(jl_Object, [$this.$months0, $this.$shortMonths0, jl_Boolean_valueOf($this.$abbreviated0)]);
            $ptr = 1;
        case 1:
            $tmp = ju_Arrays_hashCode(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    var jt_DateFormatElement$NumericMonth = $rt_classWithoutFields(jt_DateFormatElement$Numeric);
    function jt_DateFormatElement$NumericMonth__init_0(var_0) {
        var var_1 = new jt_DateFormatElement$NumericMonth();
        jt_DateFormatElement$NumericMonth__init_(var_1, var_0);
        return var_1;
    }
    function jt_DateFormatElement$NumericMonth__init_($this, $length) {
        jt_DateFormatElement$Numeric__init_($this, 2, $length, 2);
    }
    function jt_DateFormatElement$NumericMonth_processBeforeFormat($this, $num) {
        return $num + 1 | 0;
    }
    function jnci_BufferedEncoder() {
        var a = this; jnc_CharsetEncoder.call(a);
        a.$inArray0 = null;
        a.$outArray0 = null;
    }
    function jnci_BufferedEncoder__init_($this, $cs, $averageBytesPerChar, $maxBytesPerChar) {
        var var$4, var$5, var$6, var$7;
        var$4 = $rt_createByteArray(1);
        var$5 = var$4.data;
        var$5[0] = 63;
        jnc_CodingErrorAction_$callClinit();
        var$6 = jnc_CodingErrorAction_REPORT;
        $this.$malformedAction0 = var$6;
        $this.$unmappableAction0 = var$6;
        var$7 = var$5.length;
        if (var$7 && var$7 >= $this.$maxBytesPerChar) {
            $this.$charset1 = $cs;
            $this.$replacement1 = var$4.$clone();
            $this.$averageBytesPerChar = $averageBytesPerChar;
            $this.$maxBytesPerChar = $maxBytesPerChar;
            $this.$inArray0 = $rt_createCharArray(512);
            $this.$outArray0 = $rt_createByteArray(512);
            return;
        }
        var$6 = new jl_IllegalArgumentException;
        jl_Throwable__init_(var$6, $rt_s(1880));
        $rt_throw(var$6);
    }
    function jnci_BufferedEncoder_encodeLoop($this, $in, $out) {
        var $inArray, $inPos, $inSize, $outArray, $i, var$8, $outSize, $result, $controller, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$controller = $thread.pop();$result = $thread.pop();$outSize = $thread.pop();var$8 = $thread.pop();$i = $thread.pop();$outArray = $thread.pop();$inSize = $thread.pop();$inPos = $thread.pop();$inArray = $thread.pop();$out = $thread.pop();$in = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $inArray = $this.$inArray0;
            $inPos = 0;
            $inSize = 0;
            $outArray = $this.$outArray0;
            if (($inPos + 32 | 0) > $inSize && jn_Buffer_hasRemaining($in)) {
                $i = $inPos;
                while ($i < $inSize) {
                    var$8 = $inArray.data;
                    var$8[$i - $inPos | 0] = var$8[$i];
                    $i = $i + 1 | 0;
                }
                var$8 = $inArray.data;
                $outSize = $inSize - $inPos | 0;
                $inSize = jl_Math_min(jn_Buffer_remaining($in) + $outSize | 0, var$8.length);
                $i = $inSize - $outSize | 0;
                $ptr = 1;
                continue main;
            }
            if (!jn_Buffer_hasRemaining($out)) {
                $result = !jn_Buffer_hasRemaining($in) && $inPos >= $inSize ? jnc_CoderResult_UNDERFLOW : jnc_CoderResult_OVERFLOW;
                $outSize = $in.$position - ($inSize - $inPos | 0) | 0;
                $ptr = 3;
                continue main;
            }
            var$8 = $outArray.data;
            $outSize = jl_Math_min(jn_Buffer_remaining($out), var$8.length);
            $controller = new jnci_BufferedEncoder$Controller;
            $controller.$in1 = $in;
            $controller.$out3 = $out;
            $result = $this.$arrayEncode($inArray, $inPos, $inSize, $outArray, 0, $outSize, $controller);
            $inPos = $controller.$inPosition0;
            $outSize = $controller.$outPosition0;
            if ($result === null) {
                if (!jn_Buffer_hasRemaining($in) && $inPos >= $inSize)
                    $result = jnc_CoderResult_UNDERFLOW;
                else if (!jn_Buffer_hasRemaining($out) && $inPos >= $inSize)
                    $result = jnc_CoderResult_OVERFLOW;
            }
            $i = 0;
            $ptr = 2;
            continue main;
        case 1:
            jn_CharBuffer_get($in, $inArray, $outSize, $i);
            if ($rt_suspending()) {
                break main;
            }
            $inPos = 0;
            if (!jn_Buffer_hasRemaining($out)) {
                $result = !jn_Buffer_hasRemaining($in) && $inPos >= $inSize ? jnc_CoderResult_UNDERFLOW : jnc_CoderResult_OVERFLOW;
                $outSize = $in.$position - ($inSize - $inPos | 0) | 0;
                $ptr = 3;
                continue main;
            }
            var$8 = $outArray.data;
            $outSize = jl_Math_min(jn_Buffer_remaining($out), var$8.length);
            $controller = new jnci_BufferedEncoder$Controller;
            $controller.$in1 = $in;
            $controller.$out3 = $out;
            $result = $this.$arrayEncode($inArray, $inPos, $inSize, $outArray, 0, $outSize, $controller);
            $inPos = $controller.$inPosition0;
            $outSize = $controller.$outPosition0;
            if ($result === null) {
                if (!jn_Buffer_hasRemaining($in) && $inPos >= $inSize)
                    $result = jnc_CoderResult_UNDERFLOW;
                else if (!jn_Buffer_hasRemaining($out) && $inPos >= $inSize)
                    $result = jnc_CoderResult_OVERFLOW;
            }
            $i = 0;
            $ptr = 2;
        case 2:
            jn_ByteBuffer_put0($out, $outArray, $i, $outSize);
            if ($rt_suspending()) {
                break main;
            }
            if ($result === null) {
                if (($inPos + 32 | 0) > $inSize && jn_Buffer_hasRemaining($in)) {
                    $i = $inPos;
                    while ($i < $inSize) {
                        var$8 = $inArray.data;
                        var$8[$i - $inPos | 0] = var$8[$i];
                        $i = $i + 1 | 0;
                    }
                    var$8 = $inArray.data;
                    $outSize = $inSize - $inPos | 0;
                    $inSize = jl_Math_min(jn_Buffer_remaining($in) + $outSize | 0, var$8.length);
                    $i = $inSize - $outSize | 0;
                    $ptr = 1;
                    continue main;
                }
                if (jn_Buffer_hasRemaining($out)) {
                    var$8 = $outArray.data;
                    $outSize = jl_Math_min(jn_Buffer_remaining($out), var$8.length);
                    $controller = new jnci_BufferedEncoder$Controller;
                    $controller.$in1 = $in;
                    $controller.$out3 = $out;
                    $result = $this.$arrayEncode($inArray, $inPos, $inSize, $outArray, 0, $outSize, $controller);
                    $inPos = $controller.$inPosition0;
                    $outSize = $controller.$outPosition0;
                    if ($result === null) {
                        if (!jn_Buffer_hasRemaining($in) && $inPos >= $inSize)
                            $result = jnc_CoderResult_UNDERFLOW;
                        else if (!jn_Buffer_hasRemaining($out) && $inPos >= $inSize)
                            $result = jnc_CoderResult_OVERFLOW;
                    }
                    $i = 0;
                    continue main;
                }
                $result = !jn_Buffer_hasRemaining($in) && $inPos >= $inSize ? jnc_CoderResult_UNDERFLOW : jnc_CoderResult_OVERFLOW;
            }
            $outSize = $in.$position - ($inSize - $inPos | 0) | 0;
            $ptr = 3;
        case 3:
            jn_Buffer_position0($in, $outSize);
            if ($rt_suspending()) {
                break main;
            }
            return $result;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $in, $out, $inArray, $inPos, $inSize, $outArray, $i, var$8, $outSize, $result, $controller, $ptr);
    }
    var jnci_UTF8Encoder = $rt_classWithoutFields(jnci_BufferedEncoder);
    function jnci_UTF8Encoder_arrayEncode($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller) {
        var $result, var$9, var$10, $ch, $low, var$13, $codePoint;
        $result = null;
        a: {
            while ($inPos < $inSize) {
                if ($outPos >= $outSize) {
                    var$9 = $inPos;
                    break a;
                }
                var$10 = $inArray.data;
                var$9 = $inPos + 1 | 0;
                $ch = var$10[$inPos];
                if ($ch < 128) {
                    var$10 = $outArray.data;
                    $low = $outPos + 1 | 0;
                    var$10[$outPos] = $ch << 24 >> 24;
                } else if ($ch < 2048) {
                    if (($outPos + 2 | 0) > $outSize) {
                        var$9 = var$9 + (-1) | 0;
                        if (jnci_BufferedEncoder$Controller_hasMoreOutput($controller, 2))
                            break a;
                        $result = jnc_CoderResult_OVERFLOW;
                        break a;
                    }
                    var$10 = $outArray.data;
                    $inPos = $outPos + 1 | 0;
                    var$10[$outPos] = (192 | $ch >> 6) << 24 >> 24;
                    $low = $inPos + 1 | 0;
                    var$10[$inPos] = (128 | $ch & 63) << 24 >> 24;
                } else if (!jl_Character_isSurrogate($ch)) {
                    if (($outPos + 3 | 0) > $outSize) {
                        var$9 = var$9 + (-1) | 0;
                        if (jnci_BufferedEncoder$Controller_hasMoreOutput($controller, 3))
                            break a;
                        $result = jnc_CoderResult_OVERFLOW;
                        break a;
                    }
                    var$10 = $outArray.data;
                    var$13 = $outPos + 1 | 0;
                    var$10[$outPos] = (224 | $ch >> 12) << 24 >> 24;
                    $inPos = var$13 + 1 | 0;
                    var$10[var$13] = (128 | $ch >> 6 & 63) << 24 >> 24;
                    $low = $inPos + 1 | 0;
                    var$10[$inPos] = (128 | $ch & 63) << 24 >> 24;
                } else {
                    if (!jl_Character_isHighSurrogate($ch)) {
                        $result = jnc_CoderResult_malformedForLength(1);
                        break a;
                    }
                    if (var$9 >= $inSize) {
                        if (jn_Buffer_hasRemaining($controller.$in1))
                            break a;
                        $result = jnc_CoderResult_UNDERFLOW;
                        break a;
                    }
                    $inPos = var$9 + 1 | 0;
                    $low = var$10[var$9];
                    if (!jl_Character_isLowSurrogate($low)) {
                        var$9 = $inPos + (-2) | 0;
                        $result = jnc_CoderResult_malformedForLength(1);
                        break a;
                    }
                    if (($outPos + 4 | 0) > $outSize) {
                        var$9 = $inPos + (-2) | 0;
                        if (jnci_BufferedEncoder$Controller_hasMoreOutput($controller, 4))
                            break a;
                        $result = jnc_CoderResult_OVERFLOW;
                        break a;
                    }
                    var$10 = $outArray.data;
                    $codePoint = jl_Character_toCodePoint($ch, $low);
                    $low = $outPos + 1 | 0;
                    var$10[$outPos] = (240 | $codePoint >> 18) << 24 >> 24;
                    var$13 = $low + 1 | 0;
                    var$10[$low] = (128 | $codePoint >> 12 & 63) << 24 >> 24;
                    $outPos = var$13 + 1 | 0;
                    var$10[var$13] = (128 | $codePoint >> 6 & 63) << 24 >> 24;
                    $low = $outPos + 1 | 0;
                    var$10[$outPos] = (128 | $codePoint & 63) << 24 >> 24;
                    var$9 = $inPos;
                }
                $inPos = var$9;
                $outPos = $low;
            }
            var$9 = $inPos;
        }
        $controller.$inPosition0 = var$9;
        $controller.$outPosition0 = $outPos;
        return $result;
    }
    var ju_ConcurrentModificationException = $rt_classWithoutFields(jl_RuntimeException);
    function ju_ConcurrentModificationException__init_0() {
        var var_0 = new ju_ConcurrentModificationException();
        ju_ConcurrentModificationException__init_(var_0);
        return var_0;
    }
    function ju_ConcurrentModificationException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function nleit_TeaVMClientConfigAdapterHooks$callHookSafe$lambda$_5_0() {
        var a = this; jl_Object.call(a);
        a.$_017 = null;
        a.$_110 = null;
    }
    function nleit_TeaVMClientConfigAdapterHooks$callHookSafe$lambda$_5_0_onTimer$exported$0(var$0) {
        var var$1, var$2, var$3, var$4, var$5, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = var$0.$_017;
            var$2 = var$0.$_110;
            $ptr = 1;
        case 1:
            nleit_TeaVMClientConfigAdapterHooks_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            try {
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    var$3 = $$je;
                } else {
                    throw $$e;
                }
            }
            var$4 = nleit_TeaVMClientConfigAdapterHooks_logger;
            var$1 = $rt_s(1881);
            var$5 = $rt_createArray(jl_Object, 1);
            var$5.data[0] = var$2;
            $ptr = 3;
            continue main;
        case 2:
            a: {
                try {
                    var$1.$run();
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$3 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return;
            }
            var$4 = nleit_TeaVMClientConfigAdapterHooks_logger;
            var$1 = $rt_s(1881);
            var$5 = $rt_createArray(jl_Object, 1);
            var$5.data[0] = var$2;
            $ptr = 3;
        case 3:
            oall_Logger_error(var$4, var$1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nleit_TeaVMClientConfigAdapterHooks_logger;
            $ptr = 4;
        case 4:
            oall_Logger_error1(var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    var jur_MatchResult = $rt_classWithoutFields(0);
    function jur_Matcher() {
        var a = this; jl_Object.call(a);
        a.$pat = null;
        a.$start2 = null;
        a.$string = null;
        a.$matchResult = null;
        a.$leftBound = 0;
        a.$rightBound = 0;
        a.$appendPos = 0;
        a.$replacement = null;
        a.$processedRepl = null;
        a.$replacementParts = null;
    }
    function jur_Matcher_processReplacement($this, $replacement) {
        var $res, $repl, $index, $replacementPos, $nextBackSlashed, var$7, $i, $gr, $group, $sb, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$sb = $thread.pop();$group = $thread.pop();$gr = $thread.pop();$i = $thread.pop();var$7 = $thread.pop();$nextBackSlashed = $thread.pop();$replacementPos = $thread.pop();$index = $thread.pop();$repl = $thread.pop();$res = $thread.pop();$replacement = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $res = $this.$replacement;
            if ($res !== null) {
                $ptr = 1;
                continue main;
            }
            $this.$replacement = $replacement;
            $repl = jl_String_toCharArray($replacement);
            $res = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($res);
            $this.$replacementParts = null;
            $index = 0;
            $replacementPos = 0;
            $nextBackSlashed = 0;
            a: {
                while (true) {
                    var$7 = $repl.data;
                    $i = var$7.length;
                    if ($index >= $i)
                        break a;
                    if (var$7[$index] == 92 && !$nextBackSlashed) {
                        $nextBackSlashed = 1;
                        $index = $index + 1 | 0;
                    }
                    if ($nextBackSlashed) {
                        if ($index >= $i)
                            break;
                        jl_AbstractStringBuilder_append($res, var$7[$index]);
                        $nextBackSlashed = 0;
                    } else {
                        if (var$7[$index] == 36) {
                            if ($this.$replacementParts === null)
                                $this.$replacementParts = ju_ArrayList__init_0();
                            try {
                                $replacement = new jl_String;
                                $index = $index + 1 | 0;
                                jl_String__init_4($replacement, $repl, $index, 1);
                                $ptr = 6;
                                continue main;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof jl_Exception) {
                                } else {
                                    throw $$e;
                                }
                            }
                            $replacement = new jl_IllegalArgumentException;
                            jl_Throwable__init_($replacement, $rt_s(3));
                            $rt_throw($replacement);
                        }
                        jl_AbstractStringBuilder_append($res, var$7[$index]);
                    }
                    $index = $index + 1 | 0;
                }
                $replacement = new jl_IndexOutOfBoundsException;
                jl_Throwable__init_0($replacement);
                $rt_throw($replacement);
            }
            $replacement = $this.$replacementParts;
            if ($replacement !== null) {
                $gr = $res.$length0;
                if ($replacementPos != $gr) {
                    $group = jl_StringBuilder_subSequence($res, $replacementPos, $gr);
                    $ptr = 3;
                    continue main;
                }
            }
            $ptr = 2;
            continue main;
        case 1:
            $tmp = jl_String_equals($res, $replacement);
            if ($rt_suspending()) {
                break main;
            }
            $gr = $tmp;
            if ($gr) {
                if ($this.$replacementParts === null)
                    return $this.$processedRepl;
                $sb = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($sb);
                $i = 0;
                $replacement = $this.$replacementParts;
                if ($i >= $replacement.$size0) {
                    $ptr = 4;
                    continue main;
                }
                $replacement = ju_ArrayList_get($replacement, $i);
                $ptr = 5;
                continue main;
            }
            $this.$replacement = $replacement;
            $repl = jl_String_toCharArray($replacement);
            $res = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($res);
            $this.$replacementParts = null;
            $index = 0;
            $replacementPos = 0;
            $nextBackSlashed = 0;
            b: {
                while (true) {
                    var$7 = $repl.data;
                    $i = var$7.length;
                    if ($index >= $i)
                        break b;
                    if (var$7[$index] == 92 && !$nextBackSlashed) {
                        $nextBackSlashed = 1;
                        $index = $index + 1 | 0;
                    }
                    if ($nextBackSlashed) {
                        if ($index >= $i)
                            break;
                        jl_AbstractStringBuilder_append($res, var$7[$index]);
                        $nextBackSlashed = 0;
                    } else {
                        if (var$7[$index] == 36) {
                            if ($this.$replacementParts === null)
                                $this.$replacementParts = ju_ArrayList__init_0();
                            try {
                                $replacement = new jl_String;
                                $index = $index + 1 | 0;
                                jl_String__init_4($replacement, $repl, $index, 1);
                                $ptr = 6;
                                continue main;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof jl_Exception) {
                                } else {
                                    throw $$e;
                                }
                            }
                            $replacement = new jl_IllegalArgumentException;
                            jl_Throwable__init_($replacement, $rt_s(3));
                            $rt_throw($replacement);
                        }
                        jl_AbstractStringBuilder_append($res, var$7[$index]);
                    }
                    $index = $index + 1 | 0;
                }
                $replacement = new jl_IndexOutOfBoundsException;
                jl_Throwable__init_0($replacement);
                $rt_throw($replacement);
            }
            $replacement = $this.$replacementParts;
            if ($replacement !== null) {
                $gr = $res.$length0;
                if ($replacementPos != $gr) {
                    $group = jl_StringBuilder_subSequence($res, $replacementPos, $gr);
                    $ptr = 3;
                    continue main;
                }
            }
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString($res);
            if ($rt_suspending()) {
                break main;
            }
            $replacement = $tmp;
            return $replacement;
        case 3:
            ju_ArrayList_add($replacement, $group);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
            continue main;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            $replacement = $tmp;
            return $replacement;
        case 5:
            jl_StringBuilder_append($sb, $replacement);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            $replacement = $this.$replacementParts;
            if ($i >= $replacement.$size0) {
                $ptr = 4;
                continue main;
            }
            $replacement = ju_ArrayList_get($replacement, $i);
            continue main;
        case 6:
            try {
                $tmp = jl_Integer_parseInt0($replacement);
                if ($rt_suspending()) {
                    break main;
                }
                $gr = $tmp;
                if ($replacementPos != jl_StringBuilder_length($res)) {
                    $group = $this.$replacementParts;
                    $replacement = jl_StringBuilder_subSequence($res, $replacementPos, jl_StringBuilder_length($res));
                    $ptr = 7;
                    continue main;
                }
                $replacement = $this.$replacementParts;
                $group = jur_Matcher$1__init_0($this, $gr);
                $ptr = 8;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                } else {
                    throw $$e;
                }
            }
            $replacement = new jl_IllegalArgumentException;
            jl_Throwable__init_($replacement, $rt_s(3));
            $rt_throw($replacement);
        case 7:
            try {
                ju_ArrayList_add($group, $replacement);
                if ($rt_suspending()) {
                    break main;
                }
                $replacementPos = jl_StringBuilder_length($res);
                $replacement = $this.$replacementParts;
                $group = jur_Matcher$1__init_0($this, $gr);
                $ptr = 8;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                } else {
                    throw $$e;
                }
            }
            $replacement = new jl_IllegalArgumentException;
            jl_Throwable__init_($replacement, $rt_s(3));
            $rt_throw($replacement);
        case 8:
            try {
                ju_ArrayList_add($replacement, $group);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 9;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                } else {
                    throw $$e;
                }
            }
            $replacement = new jl_IllegalArgumentException;
            jl_Throwable__init_($replacement, $rt_s(3));
            $rt_throw($replacement);
        case 9:
            c: {
                try {
                    $tmp = jur_Matcher_group($this, $gr);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $group = $tmp;
                    $replacementPos = $replacementPos + jl_String_length($group) | 0;
                    jl_StringBuilder_append0($res, $group);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        break c;
                    } else {
                        throw $$e;
                    }
                }
                a: {
                    while (true) {
                        $index = $index + 1 | 0;
                        var$7 = $repl.data;
                        $i = var$7.length;
                        if ($index >= $i) {
                            $replacement = $this.$replacementParts;
                            if ($replacement !== null) {
                                $gr = $res.$length0;
                                if ($replacementPos != $gr) {
                                    $group = jl_StringBuilder_subSequence($res, $replacementPos, $gr);
                                    $ptr = 3;
                                    continue main;
                                }
                            }
                            $ptr = 2;
                            continue main;
                        }
                        if (var$7[$index] == 92 && !$nextBackSlashed) {
                            $nextBackSlashed = 1;
                            $index = $index + 1 | 0;
                        }
                        if ($nextBackSlashed) {
                            if ($index >= $i)
                                break;
                            jl_AbstractStringBuilder_append($res, var$7[$index]);
                            $nextBackSlashed = 0;
                            continue;
                        }
                        if (var$7[$index] == 36)
                            break a;
                        jl_AbstractStringBuilder_append($res, var$7[$index]);
                    }
                    $replacement = new jl_IndexOutOfBoundsException;
                    jl_Throwable__init_0($replacement);
                    $rt_throw($replacement);
                }
                if ($this.$replacementParts === null)
                    $this.$replacementParts = ju_ArrayList__init_0();
                try {
                    $replacement = new jl_String;
                    $index = $index + 1 | 0;
                    jl_String__init_4($replacement, $repl, $index, 1);
                    $ptr = 6;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                    } else {
                        throw $$e;
                    }
                }
            }
            $replacement = new jl_IllegalArgumentException;
            jl_Throwable__init_($replacement, $rt_s(3));
            $rt_throw($replacement);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $replacement, $res, $repl, $index, $replacementPos, $nextBackSlashed, var$7, $i, $gr, $group, $sb, $ptr);
    }
    function jur_Matcher_group($this, $group) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$group = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$matchResult;
            $ptr = 1;
        case 1:
            $tmp = jur_MatchResultImpl_start0(var$2, $group);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3 < 0)
                return null;
            var$4 = var$2.$string3;
            $ptr = 2;
        case 2:
            $tmp = jur_MatchResultImpl_start0(var$2, $group);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = jur_MatchResultImpl_end0(var$2, $group);
            if ($rt_suspending()) {
                break main;
            }
            $group = $tmp;
            return jl_String_substring0(var$4, var$3, $group);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $group, var$2, var$3, var$4, $ptr);
    }
    function jur_Matcher_find0($this, $start) {
        var $stringLength, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$stringLength = $thread.pop();$start = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $stringLength = jl_String_length($this.$string);
            if ($start >= 0 && $start <= $stringLength) {
                jur_MatchResultImpl_reset($this.$matchResult, null, (-1), (-1));
                var$3 = $this.$matchResult;
                var$3.$mode3 = 1;
                var$3.$startIndex = $start;
                $stringLength = var$3.$previousMatch;
                if ($stringLength < 0)
                    $stringLength = $start;
                var$3.$previousMatch = $stringLength;
                var$4 = $this.$start2;
                var$5 = $this.$string;
                $ptr = 2;
                continue main;
            }
            var$3 = new jl_IndexOutOfBoundsException;
            $ptr = 1;
        case 1:
            $tmp = jl_String_valueOf1($start);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_Throwable__init_(var$3, var$4);
            $rt_throw(var$3);
        case 2:
            $tmp = var$4.$find0($start, var$5, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $start = $tmp;
            if ($start == (-1))
                $this.$matchResult.$hitEnd = 1;
            if ($start >= 0) {
                var$3 = $this.$matchResult;
                if (var$3.$valid) {
                    var$6 = var$3.$groupBounds.data;
                    if (var$6[0] == (-1)) {
                        $stringLength = var$3.$startIndex;
                        var$6[0] = $stringLength;
                        var$6[1] = $stringLength;
                    }
                    $ptr = 3;
                    continue main;
                }
            }
            $this.$matchResult.$startIndex = (-1);
            return 0;
        case 3:
            $tmp = jur_MatchResultImpl_end(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $start = $tmp;
            var$3.$previousMatch = $start;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $start, $stringLength, var$3, var$4, var$5, var$6, $ptr);
    }
    function jur_Matcher_find($this) {
        var $length, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$length = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $length = jl_String_length($this.$string);
            var$2 = $this.$matchResult;
            if (!var$2.$transparentBounds)
                $length = $this.$rightBound;
            if (var$2.$startIndex >= 0 && var$2.$mode3 == 1) {
                $ptr = 2;
                continue main;
            }
            var$3 = $this.$leftBound;
            $ptr = 1;
        case 1:
            $tmp = jur_Matcher_find0($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        case 2:
            $tmp = jur_MatchResultImpl_end(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$2.$startIndex = var$3;
            var$2 = $this.$matchResult;
            $ptr = 3;
        case 3:
            $tmp = jur_MatchResultImpl_end(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$2 = $this.$matchResult;
            var$4 = 0;
            $ptr = 4;
        case 4:
            $tmp = jur_MatchResultImpl_start0(var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$3 == var$4) {
                var$2 = $this.$matchResult;
                var$2.$startIndex = var$2.$startIndex + 1 | 0;
            }
            var$3 = $this.$matchResult.$startIndex;
            if (var$3 > $length)
                return 0;
            $ptr = 5;
        case 5:
            $tmp = jur_Matcher_find0($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return !var$3 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $length, var$2, var$3, var$4, $ptr);
    }
    function jur_Matcher_start($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 0;
            var$2 = $this.$matchResult;
            $ptr = 1;
        case 1:
            $tmp = jur_MatchResultImpl_start0(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function jur_Matcher_end($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 0;
            var$2 = $this.$matchResult;
            $ptr = 1;
        case 1:
            $tmp = jur_MatchResultImpl_end0(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_XGuiUmmm() {
        var a = this; nms_Gui.call(a);
        a.$field_25090_a = null;
        a.$field_25089_b = null;
    }
    function nms_XGuiUmmm_func_25088_a($this) {
        var $var1, $var2, var$3;
        $var1 = 0;
        while (true) {
            $var2 = $this.$field_25090_a;
            if ($var1 >= $var2.$size0)
                break;
            $var2 = ju_ArrayList_get($var2, $var1);
            $var2.$func_25127_a();
            $var2.$func_25125_a($this);
            if (!$var2.$field_25139_h)
                var$3 = $var1;
            else {
                $var2 = $this.$field_25090_a;
                var$3 = $var1 + (-1) | 0;
                ju_ArrayList_remove($var2, $var1);
            }
            $var1 = var$3 + 1 | 0;
        }
    }
    function nms_TexturePackBase() {
        var a = this; jl_Object.call(a);
        a.$texturePackFileName = null;
        a.$firstDescriptionLine = null;
        a.$secondDescriptionLine = null;
        a.$field_6488_d = null;
    }
    function nms_TexturePackBase_getReqResStream($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nle_EagRuntime_getRequiredResourceStream($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_TexturePackDefault() {
        var a = this; nms_TexturePackBase.call(a);
        a.$texturePackName = 0;
        a.$texturePackThumbnail = null;
    }
    function nms_TexturePackDefault__init_0() {
        var var_0 = new nms_TexturePackDefault();
        nms_TexturePackDefault__init_(var_0);
        return var_0;
    }
    function nms_TexturePackDefault__init_($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$texturePackName = (-1);
            $this.$texturePackFileName = $rt_s(516);
            $this.$firstDescriptionLine = $rt_s(1882);
            var$1 = $rt_s(1883);
            $ptr = 1;
        case 1:
            $tmp = nleo_ImageData_loadImageFile(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $this.$texturePackThumbnail = nleo_ImageData_swapRB(var$1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_RenderList() {
        var a = this; jl_Object.call(a);
        a.$field_1242_a = 0;
        a.$field_1241_b = 0;
        a.$field_1240_c = 0;
        a.$field_1239_d = 0.0;
        a.$field_1238_e = 0.0;
        a.$field_1237_f = 0.0;
        a.$field_1236_g = null;
        a.$field_1235_h = 0;
        a.$field_1234_i = 0;
    }
    function nms_RenderList__init_0() {
        var var_0 = new nms_RenderList();
        nms_RenderList__init_(var_0);
        return var_0;
    }
    function nms_RenderList__init_($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 65536;
            $ptr = 1;
        case 1:
            $tmp = nms_GLAllocation_createDirectIntBuffer(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$field_1236_g = var$2;
            $this.$field_1235_h = 0;
            $this.$field_1234_i = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_RenderList_func_860_a($this) {
        var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$field_1235_h) {
                if (!$this.$field_1234_i) {
                    nleib_EaglerArrayIntBuffer_flip($this.$field_1236_g);
                    $this.$field_1234_i = 1;
                }
                if (nleib_EaglerArrayIntBuffer_remaining($this.$field_1236_g) > 0) {
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        case 1:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$field_1242_a - $this.$field_1239_d;
            var$2 = $this.$field_1241_b - $this.$field_1238_e;
            var$3 = $this.$field_1240_c - $this.$field_1237_f;
            $ptr = 2;
        case 2:
            olo_GL11_glTranslatef(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$field_1236_g;
            if (!nleib_EaglerArrayIntBuffer_hasRemaining(var$4)) {
                $ptr = 3;
                continue main;
            }
            $ptr = 4;
            continue main;
        case 3:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            $tmp = nleib_EaglerArrayIntBuffer_get0(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 5;
        case 5:
            nleo_EaglercraftGPU_glCallList(var$5);
            if ($rt_suspending()) {
                break main;
            }
            if (!nleib_EaglerArrayIntBuffer_hasRemaining(var$4)) {
                $ptr = 3;
                continue main;
            }
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    var nms_NetHandler = $rt_classWithoutFields();
    function nms_NetHandler__init_0() {
        var var_0 = new nms_NetHandler();
        nms_NetHandler__init_(var_0);
        return var_0;
    }
    function nms_NetHandler__init_($this) {}
    function nms_NetClientHandler() {
        var a = this; nms_NetHandler.call(a);
        a.$disconnected = 0;
        a.$netManager = null;
        a.$field_1209_a = null;
        a.$mc9 = null;
        a.$worldClient = null;
        a.$field_1210_g = 0;
        a.$rand4 = null;
    }
    function nms_NetClientHandler_processReadPackets($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$disconnected)
                return;
            var$1 = $this.$netManager;
            var$2 = var$1.$webSocket0;
            var$3 = var$2.$recievedPacketBuffer;
            $ptr = 1;
        case 1:
            jl_Object_monitorEnter(var$3);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                try {
                    if (var$2.$availableBinaryFrames > 0) {
                        $ptr = 2;
                        continue main;
                    }
                    var$4 = null;
                    jl_Object_monitorExit(var$3);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$1 = $$je;

                }
                jl_Object_monitorExit(var$3);
                $rt_throw(var$1);
            }
            if (var$4 === null) {
                var$1 = $this.$netManager;
                ju_Objects_requireNonNull(var$1);
                if (!ju_AbstractCollection_isEmpty(var$1.$readPackets))
                    var$1.$timeSinceLastRead = 0;
                else {
                    var$5 = var$1.$timeSinceLastRead;
                    var$1.$timeSinceLastRead = var$5 + 1 | 0;
                    if (var$5 == 1200)
                        nms_NetworkManager_networkShutdown(var$1, $rt_s(1884), $rt_createArray(jl_Object, 0));
                }
                if (!ju_AbstractCollection_isEmpty(var$1.$readPackets)) {
                    var$5 = 100 + (-1) | 0;
                    if (100 >= 0) {
                        var$2 = ju_ArrayList_remove(var$1.$readPackets, 0);
                        var$4 = var$1.$netHandler;
                        $ptr = 5;
                        continue main;
                    }
                }
                if (var$1.$isTerminating && ju_AbstractCollection_isEmpty(var$1.$readPackets)) {
                    var$2 = var$1.$netHandler;
                    var$4 = var$1.$terminationReason;
                    var$6 = var$1.$field_20101_t;
                    if (!var$2.$disconnected) {
                        var$2.$disconnected = 1;
                        var$1 = var$2.$mc9;
                        var$3 = null;
                        $ptr = 10;
                        continue main;
                    }
                }
                return;
            }
            if (var$4.$str)
                var$6 = null;
            else {
                var$6 = var$4.$cachedByteContent;
                if (var$6 === null) {
                    var$6 = nleit_TeaVMUtils_wrapByteArrayBuffer(var$4.$data3);
                    var$4.$cachedByteContent = var$6;
                }
            }
            if (var$6 !== null) {
                try {
                    var$2 = ji_ByteArrayInputStream__init_(var$6);
                    try {
                        var$4 = ji_DataInputStream__init_(var$2);
                        try {
                            $ptr = 7;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                var$3 = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        try {
                            $ptr = 13;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                var$4 = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        jl_Throwable_addSuppressed(var$3, var$4);
                        $rt_throw(var$3);
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$4 = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    try {
                        $ptr = 8;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$2 = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    jl_Throwable_addSuppressed(var$4, var$2);
                    $rt_throw(var$4);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        var$2 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                if (!var$1.$isTerminating) {
                    $ptr = 6;
                    continue main;
                }
            }
            var$2 = var$1.$webSocket0;
            var$3 = var$2.$recievedPacketBuffer;
            continue main;
        case 2:
            a: {
                try {
                    $tmp = ju_AbstractSequentialList_iterator(var$3);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$7 = $tmp;
                    if (ju_LinkedList$SequentialListIterator_hasNext(var$7)) {
                        $ptr = 3;
                        continue main;
                    }
                    var$2.$availableBinaryFrames = 0;
                    var$4 = null;
                    jl_Object_monitorExit(var$3);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$1 = $$je;

                }
                jl_Object_monitorExit(var$3);
                $rt_throw(var$1);
            }
            if (var$4 === null) {
                var$1 = $this.$netManager;
                ju_Objects_requireNonNull(var$1);
                if (!ju_AbstractCollection_isEmpty(var$1.$readPackets))
                    var$1.$timeSinceLastRead = 0;
                else {
                    var$5 = var$1.$timeSinceLastRead;
                    var$1.$timeSinceLastRead = var$5 + 1 | 0;
                    if (var$5 == 1200)
                        nms_NetworkManager_networkShutdown(var$1, $rt_s(1884), $rt_createArray(jl_Object, 0));
                }
                if (!ju_AbstractCollection_isEmpty(var$1.$readPackets)) {
                    var$5 = 100 + (-1) | 0;
                    if (100 >= 0) {
                        var$2 = ju_ArrayList_remove(var$1.$readPackets, 0);
                        var$4 = var$1.$netHandler;
                        $ptr = 5;
                        continue main;
                    }
                }
                if (var$1.$isTerminating && ju_AbstractCollection_isEmpty(var$1.$readPackets)) {
                    var$2 = var$1.$netHandler;
                    var$4 = var$1.$terminationReason;
                    var$6 = var$1.$field_20101_t;
                    if (!var$2.$disconnected) {
                        var$2.$disconnected = 1;
                        var$1 = var$2.$mc9;
                        var$3 = null;
                        $ptr = 10;
                        continue main;
                    }
                }
                return;
            }
            if (var$4.$str)
                var$6 = null;
            else {
                var$6 = var$4.$cachedByteContent;
                if (var$6 === null) {
                    var$6 = nleit_TeaVMUtils_wrapByteArrayBuffer(var$4.$data3);
                    var$4.$cachedByteContent = var$6;
                }
            }
            if (var$6 !== null) {
                try {
                    var$2 = ji_ByteArrayInputStream__init_(var$6);
                    try {
                        var$4 = ji_DataInputStream__init_(var$2);
                        try {
                            $ptr = 7;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                var$3 = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        try {
                            $ptr = 13;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                var$4 = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        jl_Throwable_addSuppressed(var$3, var$4);
                        $rt_throw(var$3);
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$4 = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    try {
                        $ptr = 8;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$2 = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    jl_Throwable_addSuppressed(var$4, var$2);
                    $rt_throw(var$4);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        var$2 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                if (!var$1.$isTerminating) {
                    $ptr = 6;
                    continue main;
                }
            }
            var$2 = var$1.$webSocket0;
            var$3 = var$2.$recievedPacketBuffer;
            $ptr = 1;
            continue main;
        case 3:
            a: {
                try {
                    $tmp = ju_LinkedList$SequentialListIterator_next(var$7);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$4 = $tmp;
                    var$4 = var$4;
                    if (!nleit_TeaVMWebSocketFrame_isString(var$4)) {
                        $ptr = 4;
                        continue main;
                    }
                    if (ju_LinkedList$SequentialListIterator_hasNext(var$7)) {
                        continue main;
                    }
                    var$2.$availableBinaryFrames = 0;
                    var$4 = null;
                    jl_Object_monitorExit(var$3);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$1 = $$je;

                }
                jl_Object_monitorExit(var$3);
                $rt_throw(var$1);
            }
            if (var$4 === null) {
                var$1 = $this.$netManager;
                ju_Objects_requireNonNull(var$1);
                if (!ju_AbstractCollection_isEmpty(var$1.$readPackets))
                    var$1.$timeSinceLastRead = 0;
                else {
                    var$5 = var$1.$timeSinceLastRead;
                    var$1.$timeSinceLastRead = var$5 + 1 | 0;
                    if (var$5 == 1200)
                        nms_NetworkManager_networkShutdown(var$1, $rt_s(1884), $rt_createArray(jl_Object, 0));
                }
                if (!ju_AbstractCollection_isEmpty(var$1.$readPackets)) {
                    var$5 = 100 + (-1) | 0;
                    if (100 >= 0) {
                        var$2 = ju_ArrayList_remove(var$1.$readPackets, 0);
                        var$4 = var$1.$netHandler;
                        $ptr = 5;
                        continue main;
                    }
                }
                if (var$1.$isTerminating && ju_AbstractCollection_isEmpty(var$1.$readPackets)) {
                    var$2 = var$1.$netHandler;
                    var$4 = var$1.$terminationReason;
                    var$6 = var$1.$field_20101_t;
                    if (!var$2.$disconnected) {
                        var$2.$disconnected = 1;
                        var$1 = var$2.$mc9;
                        var$3 = null;
                        $ptr = 10;
                        continue main;
                    }
                }
                return;
            }
            if (var$4.$str)
                var$6 = null;
            else {
                var$6 = var$4.$cachedByteContent;
                if (var$6 === null) {
                    var$6 = nleit_TeaVMUtils_wrapByteArrayBuffer(var$4.$data3);
                    var$4.$cachedByteContent = var$6;
                }
            }
            if (var$6 !== null) {
                try {
                    var$2 = ji_ByteArrayInputStream__init_(var$6);
                    try {
                        var$4 = ji_DataInputStream__init_(var$2);
                        try {
                            $ptr = 7;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                var$3 = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        try {
                            $ptr = 13;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                var$4 = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        jl_Throwable_addSuppressed(var$3, var$4);
                        $rt_throw(var$3);
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$4 = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    try {
                        $ptr = 8;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$2 = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    jl_Throwable_addSuppressed(var$4, var$2);
                    $rt_throw(var$4);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        var$2 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                if (!var$1.$isTerminating) {
                    $ptr = 6;
                    continue main;
                }
            }
            var$2 = var$1.$webSocket0;
            var$3 = var$2.$recievedPacketBuffer;
            $ptr = 1;
            continue main;
        case 4:
            a: {
                try {
                    ju_LinkedList$SequentialListIterator_remove(var$7);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$2.$availableBinaryFrames = var$2.$availableBinaryFrames - 1 | 0;
                    jl_Object_monitorExit(var$3);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$1 = $$je;

                }
                jl_Object_monitorExit(var$3);
                $rt_throw(var$1);
            }
            if (var$4 === null) {
                var$1 = $this.$netManager;
                ju_Objects_requireNonNull(var$1);
                if (!ju_AbstractCollection_isEmpty(var$1.$readPackets))
                    var$1.$timeSinceLastRead = 0;
                else {
                    var$5 = var$1.$timeSinceLastRead;
                    var$1.$timeSinceLastRead = var$5 + 1 | 0;
                    if (var$5 == 1200)
                        nms_NetworkManager_networkShutdown(var$1, $rt_s(1884), $rt_createArray(jl_Object, 0));
                }
                if (!ju_AbstractCollection_isEmpty(var$1.$readPackets)) {
                    var$5 = 100 + (-1) | 0;
                    if (100 >= 0) {
                        var$2 = ju_ArrayList_remove(var$1.$readPackets, 0);
                        var$4 = var$1.$netHandler;
                        $ptr = 5;
                        continue main;
                    }
                }
                if (var$1.$isTerminating && ju_AbstractCollection_isEmpty(var$1.$readPackets)) {
                    var$2 = var$1.$netHandler;
                    var$4 = var$1.$terminationReason;
                    var$6 = var$1.$field_20101_t;
                    if (!var$2.$disconnected) {
                        var$2.$disconnected = 1;
                        var$1 = var$2.$mc9;
                        var$3 = null;
                        $ptr = 10;
                        continue main;
                    }
                }
                return;
            }
            if (var$4.$str)
                var$6 = null;
            else {
                var$6 = var$4.$cachedByteContent;
                if (var$6 === null) {
                    var$6 = nleit_TeaVMUtils_wrapByteArrayBuffer(var$4.$data3);
                    var$4.$cachedByteContent = var$6;
                }
            }
            if (var$6 !== null) {
                try {
                    var$2 = ji_ByteArrayInputStream__init_(var$6);
                    try {
                        var$4 = ji_DataInputStream__init_(var$2);
                        try {
                            $ptr = 7;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                var$3 = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        try {
                            $ptr = 13;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                var$4 = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        jl_Throwable_addSuppressed(var$3, var$4);
                        $rt_throw(var$3);
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$4 = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    try {
                        $ptr = 8;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$2 = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    jl_Throwable_addSuppressed(var$4, var$2);
                    $rt_throw(var$4);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        var$2 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                if (!var$1.$isTerminating) {
                    $ptr = 6;
                    continue main;
                }
            }
            var$2 = var$1.$webSocket0;
            var$3 = var$2.$recievedPacketBuffer;
            $ptr = 1;
            continue main;
        case 5:
            var$2.$processPacket(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = var$5;
            if (!ju_AbstractCollection_isEmpty(var$1.$readPackets)) {
                var$5 = var$8 + (-1) | 0;
                if (var$8 >= 0) {
                    var$2 = ju_ArrayList_remove(var$1.$readPackets, 0);
                    var$4 = var$1.$netHandler;
                    continue main;
                }
            }
            if (var$1.$isTerminating && ju_AbstractCollection_isEmpty(var$1.$readPackets)) {
                var$2 = var$1.$netHandler;
                var$4 = var$1.$terminationReason;
                var$6 = var$1.$field_20101_t;
                if (!var$2.$disconnected) {
                    var$2.$disconnected = 1;
                    var$1 = var$2.$mc9;
                    var$3 = null;
                    $ptr = 10;
                    continue main;
                }
            }
            return;
        case 6:
            nms_NetworkManager_onNetworkError(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = var$1.$webSocket0;
            var$3 = var$2.$recievedPacketBuffer;
            $ptr = 1;
            continue main;
        case 7:
            try {
                try {
                    b: {
                        try {
                            $tmp = nms_Packet_readPacket(var$4);
                            if ($rt_suspending()) {
                                break main;
                            }
                            var$3 = $tmp;
                            if (var$3 !== null) {
                                var$7 = var$1.$readPackets;
                                $ptr = 9;
                                continue main;
                            }
                            nms_NetworkManager_networkShutdown(var$1, $rt_s(1885), $rt_createArray(jl_Object, 0));
                            break b;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                var$3 = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        try {
                            $ptr = 13;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                var$4 = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        jl_Throwable_addSuppressed(var$3, var$4);
                        $rt_throw(var$3);
                    }
                    $ptr = 14;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$4 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                try {
                    $ptr = 8;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$2 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                jl_Throwable_addSuppressed(var$4, var$2);
                $rt_throw(var$4);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    var$2 = $$je;
                } else {
                    throw $$e;
                }
            }
            if (!var$1.$isTerminating) {
                $ptr = 6;
                continue main;
            }
            var$2 = var$1.$webSocket0;
            var$3 = var$2.$recievedPacketBuffer;
            $ptr = 1;
            continue main;
        case 8:
            try {
                c: {
                    try {
                        ji_ByteArrayInputStream_close(var$2);
                        if ($rt_suspending()) {
                            break main;
                        }
                        break c;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$2 = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    jl_Throwable_addSuppressed(var$4, var$2);
                }
                $rt_throw(var$4);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    var$2 = $$je;
                } else {
                    throw $$e;
                }
            }
            if (!var$1.$isTerminating) {
                $ptr = 6;
                continue main;
            }
            var$2 = var$1.$webSocket0;
            var$3 = var$2.$recievedPacketBuffer;
            $ptr = 1;
            continue main;
        case 9:
            try {
                try {
                    b: {
                        try {
                            ju_ArrayList_add(var$7, var$3);
                            if ($rt_suspending()) {
                                break main;
                            }
                            break b;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                var$3 = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        try {
                            $ptr = 13;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                var$4 = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        jl_Throwable_addSuppressed(var$3, var$4);
                        $rt_throw(var$3);
                    }
                    $ptr = 14;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$4 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                try {
                    $ptr = 8;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$2 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                jl_Throwable_addSuppressed(var$4, var$2);
                $rt_throw(var$4);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    var$2 = $$je;
                } else {
                    throw $$e;
                }
            }
            if (!var$1.$isTerminating) {
                $ptr = 6;
                continue main;
            }
            var$2 = var$1.$webSocket0;
            var$3 = var$2.$recievedPacketBuffer;
            $ptr = 1;
            continue main;
        case 10:
            nmc_Minecraft_changeWorld1(var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = var$2.$mc9;
            var$3 = new nms_GuiConnectFailed;
            var$1 = $rt_s(1886);
            $ptr = 11;
        case 11:
            nms_GuiConnectFailed__init_(var$3, var$1, var$4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 13:
            try {
                try {
                    b: {
                        try {
                            ji_FilterInputStream_close(var$4);
                            if ($rt_suspending()) {
                                break main;
                            }
                            break b;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Throwable) {
                                var$4 = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        jl_Throwable_addSuppressed(var$3, var$4);
                    }
                    $rt_throw(var$3);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$4 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                try {
                    $ptr = 8;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$2 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                jl_Throwable_addSuppressed(var$4, var$2);
                $rt_throw(var$4);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    var$2 = $$je;
                } else {
                    throw $$e;
                }
            }
            if (!var$1.$isTerminating) {
                $ptr = 6;
                continue main;
            }
            var$2 = var$1.$webSocket0;
            var$3 = var$2.$recievedPacketBuffer;
            $ptr = 1;
            continue main;
        case 14:
            try {
                c: {
                    try {
                        ji_FilterInputStream_close(var$4);
                        if ($rt_suspending()) {
                            break main;
                        }
                        break c;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$4 = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    try {
                        $ptr = 8;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$2 = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    jl_Throwable_addSuppressed(var$4, var$2);
                    $rt_throw(var$4);
                }
                $ptr = 15;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    var$2 = $$je;
                } else {
                    throw $$e;
                }
            }
            if (!var$1.$isTerminating) {
                $ptr = 6;
                continue main;
            }
            var$2 = var$1.$webSocket0;
            var$3 = var$2.$recievedPacketBuffer;
            $ptr = 1;
            continue main;
        case 15:
            a: {
                try {
                    ji_ByteArrayInputStream_close(var$2);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        var$2 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                if (!var$1.$isTerminating) {
                    $ptr = 6;
                    continue main;
                }
            }
            var$2 = var$1.$webSocket0;
            var$3 = var$2.$recievedPacketBuffer;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_NetClientHandler_handleVehicleSpawn($this, $var1) {
        var $var2, $var4, $var6, $var8, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $var1.$xPosition1 / 32.0;
            $var4 = $var1.$yPosition1 / 32.0;
            $var6 = $var1.$zPosition1 / 32.0;
            $var8 = null;
            if ($var1.$type3 == 10) {
                $var8 = new nms_EntityMinecart;
                var$6 = $this.$worldClient;
                var$7 = 0;
                $ptr = 1;
                continue main;
            }
            if ($var1.$type3 == 11) {
                $var8 = new nms_EntityMinecart;
                var$6 = $this.$worldClient;
                var$7 = 1;
                $ptr = 2;
                continue main;
            }
            if ($var1.$type3 == 12) {
                $var8 = new nms_EntityMinecart;
                var$6 = $this.$worldClient;
                var$7 = 2;
                $ptr = 3;
                continue main;
            }
            if ($var1.$type3 == 90) {
                $var8 = new nms_EntityFish;
                var$6 = $this.$worldClient;
                $ptr = 4;
                continue main;
            }
            if ($var1.$type3 == 60) {
                $var8 = new nms_EntityArrow;
                var$6 = $this.$worldClient;
                $ptr = 5;
                continue main;
            }
            if ($var1.$type3 == 61) {
                $var8 = new nms_EntitySnowball;
                var$6 = $this.$worldClient;
                $ptr = 6;
                continue main;
            }
            if ($var1.$type3 == 62) {
                $var8 = new nms_EntityEgg;
                var$6 = $this.$worldClient;
                $ptr = 7;
                continue main;
            }
            if ($var1.$type3 == 1) {
                $var8 = new nms_EntityBoat;
                var$6 = $this.$worldClient;
                $ptr = 8;
                continue main;
            }
            if ($var1.$type3 == 50) {
                $var8 = new nms_EntityTNTPrimed;
                var$6 = $this.$worldClient;
                $ptr = 9;
                continue main;
            }
            if ($var1.$type3 == 70) {
                $var8 = new nms_EntityFallingSand;
                var$6 = $this.$worldClient;
                $ptr = 10;
                continue main;
            }
            if ($var1.$type3 == 71) {
                $var8 = new nms_EntityFallingSand;
                var$8 = $this.$worldClient;
                $ptr = 12;
                continue main;
            }
            if ($var8 === null)
                return;
            $var8.$serverPosX = $var1.$xPosition1;
            $var8.$serverPosY = $var1.$yPosition1;
            $var8.$serverPosZ = $var1.$zPosition1;
            $var8.$rotationYaw = 0.0;
            $var8.$rotationPitch = 0.0;
            var$7 = $var1.$entityId0;
            $var8.$entityId = var$7;
            $var1 = $this.$worldClient;
            $ptr = 14;
            continue main;
        case 1:
            nms_EntityMinecart__init_($var8, var$6, $var2, $var4, $var6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$type3 == 11) {
                $var8 = new nms_EntityMinecart;
                var$6 = $this.$worldClient;
                var$7 = 1;
                $ptr = 2;
                continue main;
            }
            if ($var1.$type3 == 12) {
                $var8 = new nms_EntityMinecart;
                var$6 = $this.$worldClient;
                var$7 = 2;
                $ptr = 3;
                continue main;
            }
            if ($var1.$type3 == 90) {
                $var8 = new nms_EntityFish;
                var$6 = $this.$worldClient;
                $ptr = 4;
                continue main;
            }
            if ($var1.$type3 == 60) {
                $var8 = new nms_EntityArrow;
                var$6 = $this.$worldClient;
                $ptr = 5;
                continue main;
            }
            if ($var1.$type3 == 61) {
                $var8 = new nms_EntitySnowball;
                var$6 = $this.$worldClient;
                $ptr = 6;
                continue main;
            }
            if ($var1.$type3 == 62) {
                $var8 = new nms_EntityEgg;
                var$6 = $this.$worldClient;
                $ptr = 7;
                continue main;
            }
            if ($var1.$type3 == 1) {
                $var8 = new nms_EntityBoat;
                var$6 = $this.$worldClient;
                $ptr = 8;
                continue main;
            }
            if ($var1.$type3 == 50) {
                $var8 = new nms_EntityTNTPrimed;
                var$6 = $this.$worldClient;
                $ptr = 9;
                continue main;
            }
            if ($var1.$type3 == 70) {
                $var8 = new nms_EntityFallingSand;
                var$6 = $this.$worldClient;
                $ptr = 10;
                continue main;
            }
            if ($var1.$type3 == 71) {
                $var8 = new nms_EntityFallingSand;
                var$8 = $this.$worldClient;
                $ptr = 12;
                continue main;
            }
            if ($var8 === null)
                return;
            $var8.$serverPosX = $var1.$xPosition1;
            $var8.$serverPosY = $var1.$yPosition1;
            $var8.$serverPosZ = $var1.$zPosition1;
            $var8.$rotationYaw = 0.0;
            $var8.$rotationPitch = 0.0;
            var$7 = $var1.$entityId0;
            $var8.$entityId = var$7;
            $var1 = $this.$worldClient;
            $ptr = 14;
            continue main;
        case 2:
            nms_EntityMinecart__init_($var8, var$6, $var2, $var4, $var6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$type3 == 12) {
                $var8 = new nms_EntityMinecart;
                var$6 = $this.$worldClient;
                var$7 = 2;
                $ptr = 3;
                continue main;
            }
            if ($var1.$type3 == 90) {
                $var8 = new nms_EntityFish;
                var$6 = $this.$worldClient;
                $ptr = 4;
                continue main;
            }
            if ($var1.$type3 == 60) {
                $var8 = new nms_EntityArrow;
                var$6 = $this.$worldClient;
                $ptr = 5;
                continue main;
            }
            if ($var1.$type3 == 61) {
                $var8 = new nms_EntitySnowball;
                var$6 = $this.$worldClient;
                $ptr = 6;
                continue main;
            }
            if ($var1.$type3 == 62) {
                $var8 = new nms_EntityEgg;
                var$6 = $this.$worldClient;
                $ptr = 7;
                continue main;
            }
            if ($var1.$type3 == 1) {
                $var8 = new nms_EntityBoat;
                var$6 = $this.$worldClient;
                $ptr = 8;
                continue main;
            }
            if ($var1.$type3 == 50) {
                $var8 = new nms_EntityTNTPrimed;
                var$6 = $this.$worldClient;
                $ptr = 9;
                continue main;
            }
            if ($var1.$type3 == 70) {
                $var8 = new nms_EntityFallingSand;
                var$6 = $this.$worldClient;
                $ptr = 10;
                continue main;
            }
            if ($var1.$type3 == 71) {
                $var8 = new nms_EntityFallingSand;
                var$8 = $this.$worldClient;
                $ptr = 12;
                continue main;
            }
            if ($var8 === null)
                return;
            $var8.$serverPosX = $var1.$xPosition1;
            $var8.$serverPosY = $var1.$yPosition1;
            $var8.$serverPosZ = $var1.$zPosition1;
            $var8.$rotationYaw = 0.0;
            $var8.$rotationPitch = 0.0;
            var$7 = $var1.$entityId0;
            $var8.$entityId = var$7;
            $var1 = $this.$worldClient;
            $ptr = 14;
            continue main;
        case 3:
            nms_EntityMinecart__init_($var8, var$6, $var2, $var4, $var6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$type3 == 90) {
                $var8 = new nms_EntityFish;
                var$6 = $this.$worldClient;
                $ptr = 4;
                continue main;
            }
            if ($var1.$type3 == 60) {
                $var8 = new nms_EntityArrow;
                var$6 = $this.$worldClient;
                $ptr = 5;
                continue main;
            }
            if ($var1.$type3 == 61) {
                $var8 = new nms_EntitySnowball;
                var$6 = $this.$worldClient;
                $ptr = 6;
                continue main;
            }
            if ($var1.$type3 == 62) {
                $var8 = new nms_EntityEgg;
                var$6 = $this.$worldClient;
                $ptr = 7;
                continue main;
            }
            if ($var1.$type3 == 1) {
                $var8 = new nms_EntityBoat;
                var$6 = $this.$worldClient;
                $ptr = 8;
                continue main;
            }
            if ($var1.$type3 == 50) {
                $var8 = new nms_EntityTNTPrimed;
                var$6 = $this.$worldClient;
                $ptr = 9;
                continue main;
            }
            if ($var1.$type3 == 70) {
                $var8 = new nms_EntityFallingSand;
                var$6 = $this.$worldClient;
                $ptr = 10;
                continue main;
            }
            if ($var1.$type3 == 71) {
                $var8 = new nms_EntityFallingSand;
                var$8 = $this.$worldClient;
                $ptr = 12;
                continue main;
            }
            if ($var8 === null)
                return;
            $var8.$serverPosX = $var1.$xPosition1;
            $var8.$serverPosY = $var1.$yPosition1;
            $var8.$serverPosZ = $var1.$zPosition1;
            $var8.$rotationYaw = 0.0;
            $var8.$rotationPitch = 0.0;
            var$7 = $var1.$entityId0;
            $var8.$entityId = var$7;
            $var1 = $this.$worldClient;
            $ptr = 14;
            continue main;
        case 4:
            nms_Entity__init_($var8, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var8.$tileX = (-1);
            $var8.$tileY = (-1);
            $var8.$tileZ = (-1);
            $var8.$field_4092_g = 0;
            $var8.$field_4091_h = 0;
            $var8.$field_4098_a = 0;
            $var8.$field_4089_j = 0;
            $var8.$field_4088_k = 0;
            $var8.$field_4096_c = null;
            nms_Entity_setSize($var8, 0.25, 0.25);
            nms_Entity_setPosition($var8, $var2, $var4, $var6);
            if ($var1.$type3 == 60) {
                $var8 = new nms_EntityArrow;
                var$6 = $this.$worldClient;
                $ptr = 5;
                continue main;
            }
            if ($var1.$type3 == 61) {
                $var8 = new nms_EntitySnowball;
                var$6 = $this.$worldClient;
                $ptr = 6;
                continue main;
            }
            if ($var1.$type3 == 62) {
                $var8 = new nms_EntityEgg;
                var$6 = $this.$worldClient;
                $ptr = 7;
                continue main;
            }
            if ($var1.$type3 == 1) {
                $var8 = new nms_EntityBoat;
                var$6 = $this.$worldClient;
                $ptr = 8;
                continue main;
            }
            if ($var1.$type3 == 50) {
                $var8 = new nms_EntityTNTPrimed;
                var$6 = $this.$worldClient;
                $ptr = 9;
                continue main;
            }
            if ($var1.$type3 == 70) {
                $var8 = new nms_EntityFallingSand;
                var$6 = $this.$worldClient;
                $ptr = 10;
                continue main;
            }
            if ($var1.$type3 == 71) {
                $var8 = new nms_EntityFallingSand;
                var$8 = $this.$worldClient;
                $ptr = 12;
                continue main;
            }
            if ($var8 === null)
                return;
            $var8.$serverPosX = $var1.$xPosition1;
            $var8.$serverPosY = $var1.$yPosition1;
            $var8.$serverPosZ = $var1.$zPosition1;
            $var8.$rotationYaw = 0.0;
            $var8.$rotationPitch = 0.0;
            var$7 = $var1.$entityId0;
            $var8.$entityId = var$7;
            $var1 = $this.$worldClient;
            $ptr = 14;
            continue main;
        case 5:
            nms_EntityArrow__init_($var8, var$6, $var2, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$type3 == 61) {
                $var8 = new nms_EntitySnowball;
                var$6 = $this.$worldClient;
                $ptr = 6;
                continue main;
            }
            if ($var1.$type3 == 62) {
                $var8 = new nms_EntityEgg;
                var$6 = $this.$worldClient;
                $ptr = 7;
                continue main;
            }
            if ($var1.$type3 == 1) {
                $var8 = new nms_EntityBoat;
                var$6 = $this.$worldClient;
                $ptr = 8;
                continue main;
            }
            if ($var1.$type3 == 50) {
                $var8 = new nms_EntityTNTPrimed;
                var$6 = $this.$worldClient;
                $ptr = 9;
                continue main;
            }
            if ($var1.$type3 == 70) {
                $var8 = new nms_EntityFallingSand;
                var$6 = $this.$worldClient;
                $ptr = 10;
                continue main;
            }
            if ($var1.$type3 == 71) {
                $var8 = new nms_EntityFallingSand;
                var$8 = $this.$worldClient;
                $ptr = 12;
                continue main;
            }
            if ($var8 === null)
                return;
            $var8.$serverPosX = $var1.$xPosition1;
            $var8.$serverPosY = $var1.$yPosition1;
            $var8.$serverPosZ = $var1.$zPosition1;
            $var8.$rotationYaw = 0.0;
            $var8.$rotationPitch = 0.0;
            var$7 = $var1.$entityId0;
            $var8.$entityId = var$7;
            $var1 = $this.$worldClient;
            $ptr = 14;
            continue main;
        case 6:
            nms_EntitySnowball__init_($var8, var$6, $var2, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$type3 == 62) {
                $var8 = new nms_EntityEgg;
                var$6 = $this.$worldClient;
                $ptr = 7;
                continue main;
            }
            if ($var1.$type3 == 1) {
                $var8 = new nms_EntityBoat;
                var$6 = $this.$worldClient;
                $ptr = 8;
                continue main;
            }
            if ($var1.$type3 == 50) {
                $var8 = new nms_EntityTNTPrimed;
                var$6 = $this.$worldClient;
                $ptr = 9;
                continue main;
            }
            if ($var1.$type3 == 70) {
                $var8 = new nms_EntityFallingSand;
                var$6 = $this.$worldClient;
                $ptr = 10;
                continue main;
            }
            if ($var1.$type3 == 71) {
                $var8 = new nms_EntityFallingSand;
                var$8 = $this.$worldClient;
                $ptr = 12;
                continue main;
            }
            if ($var8 === null)
                return;
            $var8.$serverPosX = $var1.$xPosition1;
            $var8.$serverPosY = $var1.$yPosition1;
            $var8.$serverPosZ = $var1.$zPosition1;
            $var8.$rotationYaw = 0.0;
            $var8.$rotationPitch = 0.0;
            var$7 = $var1.$entityId0;
            $var8.$entityId = var$7;
            $var1 = $this.$worldClient;
            $ptr = 14;
            continue main;
        case 7:
            nms_EntityEgg__init_($var8, var$6, $var2, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$type3 == 1) {
                $var8 = new nms_EntityBoat;
                var$6 = $this.$worldClient;
                $ptr = 8;
                continue main;
            }
            if ($var1.$type3 == 50) {
                $var8 = new nms_EntityTNTPrimed;
                var$6 = $this.$worldClient;
                $ptr = 9;
                continue main;
            }
            if ($var1.$type3 == 70) {
                $var8 = new nms_EntityFallingSand;
                var$6 = $this.$worldClient;
                $ptr = 10;
                continue main;
            }
            if ($var1.$type3 == 71) {
                $var8 = new nms_EntityFallingSand;
                var$8 = $this.$worldClient;
                $ptr = 12;
                continue main;
            }
            if ($var8 === null)
                return;
            $var8.$serverPosX = $var1.$xPosition1;
            $var8.$serverPosY = $var1.$yPosition1;
            $var8.$serverPosZ = $var1.$zPosition1;
            $var8.$rotationYaw = 0.0;
            $var8.$rotationPitch = 0.0;
            var$7 = $var1.$entityId0;
            $var8.$entityId = var$7;
            $var1 = $this.$worldClient;
            $ptr = 14;
            continue main;
        case 8:
            nms_EntityBoat__init_($var8, var$6, $var2, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$type3 == 50) {
                $var8 = new nms_EntityTNTPrimed;
                var$6 = $this.$worldClient;
                $ptr = 9;
                continue main;
            }
            if ($var1.$type3 == 70) {
                $var8 = new nms_EntityFallingSand;
                var$6 = $this.$worldClient;
                $ptr = 10;
                continue main;
            }
            if ($var1.$type3 == 71) {
                $var8 = new nms_EntityFallingSand;
                var$8 = $this.$worldClient;
                $ptr = 12;
                continue main;
            }
            if ($var8 === null)
                return;
            $var8.$serverPosX = $var1.$xPosition1;
            $var8.$serverPosY = $var1.$yPosition1;
            $var8.$serverPosZ = $var1.$zPosition1;
            $var8.$rotationYaw = 0.0;
            $var8.$rotationPitch = 0.0;
            var$7 = $var1.$entityId0;
            $var8.$entityId = var$7;
            $var1 = $this.$worldClient;
            $ptr = 14;
            continue main;
        case 9:
            nms_EntityTNTPrimed__init_($var8, var$6, $var2, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$type3 == 70) {
                $var8 = new nms_EntityFallingSand;
                var$6 = $this.$worldClient;
                $ptr = 10;
                continue main;
            }
            if ($var1.$type3 == 71) {
                $var8 = new nms_EntityFallingSand;
                var$8 = $this.$worldClient;
                $ptr = 12;
                continue main;
            }
            if ($var8 === null)
                return;
            $var8.$serverPosX = $var1.$xPosition1;
            $var8.$serverPosY = $var1.$yPosition1;
            $var8.$serverPosZ = $var1.$zPosition1;
            $var8.$rotationYaw = 0.0;
            $var8.$rotationPitch = 0.0;
            var$7 = $var1.$entityId0;
            $var8.$entityId = var$7;
            $var1 = $this.$worldClient;
            $ptr = 14;
            continue main;
        case 10:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = nms_Block_sand.$blockID;
            $ptr = 11;
        case 11:
            nms_EntityFallingSand__init_($var8, var$6, $var2, $var4, $var6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$type3 == 71) {
                $var8 = new nms_EntityFallingSand;
                var$8 = $this.$worldClient;
                $ptr = 12;
                continue main;
            }
            if ($var8 === null)
                return;
            $var8.$serverPosX = $var1.$xPosition1;
            $var8.$serverPosY = $var1.$yPosition1;
            $var8.$serverPosZ = $var1.$zPosition1;
            $var8.$rotationYaw = 0.0;
            $var8.$rotationPitch = 0.0;
            var$7 = $var1.$entityId0;
            $var8.$entityId = var$7;
            $var1 = $this.$worldClient;
            $ptr = 14;
            continue main;
        case 12:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = nms_Block_gravel.$blockID;
            $ptr = 13;
        case 13:
            nms_EntityFallingSand__init_($var8, var$8, $var2, $var4, $var6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var8 === null)
                return;
            $var8.$serverPosX = $var1.$xPosition1;
            $var8.$serverPosY = $var1.$yPosition1;
            $var8.$serverPosZ = $var1.$zPosition1;
            $var8.$rotationYaw = 0.0;
            $var8.$rotationPitch = 0.0;
            var$7 = $var1.$entityId0;
            $var8.$entityId = var$7;
            $var1 = $this.$worldClient;
            $ptr = 14;
        case 14:
            nms_WorldClient_func_712_a($var1, var$7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, var$6, var$7, var$8, $ptr);
    }
    function nms_NetClientHandler_addToSendQueue($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$disconnected)
                return;
            var$2 = $this.$netManager;
            $ptr = 1;
        case 1:
            nms_NetworkManager_addToSendQueue(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_NetClientHandler_getEntityByID($this, $var1) {
        var var$2;
        var$2 = $this.$mc9.$thePlayer;
        if ($var1 != var$2.$entityId)
            var$2 = nms_WorldClient_func_709_b($this.$worldClient, $var1);
        return var$2;
    }
    function nms_MovingObjectPosition() {
        var a = this; jl_Object.call(a);
        a.$typeOfHit = null;
        a.$blockX = 0;
        a.$blockY = 0;
        a.$blockZ = 0;
        a.$sideHit = 0;
        a.$hitVec = null;
        a.$entityHit = null;
    }
    function nms_MovingObjectPosition__init_0(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nms_MovingObjectPosition();
        nms_MovingObjectPosition__init_2(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nms_MovingObjectPosition__init_(var_0) {
        var var_1 = new nms_MovingObjectPosition();
        nms_MovingObjectPosition__init_1(var_1, var_0);
        return var_1;
    }
    function nms_MovingObjectPosition__init_2($this, $var1, $var2, $var3, $var4, $var5) {
        nms_EnumMovingObjectType_$callClinit();
        $this.$typeOfHit = nms_EnumMovingObjectType_TILE;
        $this.$blockX = $var1;
        $this.$blockY = $var2;
        $this.$blockZ = $var3;
        $this.$sideHit = $var4;
        $this.$hitVec = nms_Vec3D_createVector($var5.$xCoord, $var5.$yCoord, $var5.$zCoord);
    }
    function nms_MovingObjectPosition__init_1($this, $var1) {
        nms_EnumMovingObjectType_$callClinit();
        $this.$typeOfHit = nms_EnumMovingObjectType_ENTITY;
        $this.$entityHit = $var1;
        $this.$hitVec = nms_Vec3D_createVector($var1.$posX, $var1.$posY, $var1.$posZ);
    }
    var nms_EnumMovingObjectType = $rt_classWithoutFields(jl_Enum);
    var nms_EnumMovingObjectType_TILE = null;
    var nms_EnumMovingObjectType_ENTITY = null;
    var nms_EnumMovingObjectType_$VALUES = null;
    function nms_EnumMovingObjectType_$callClinit() {
        nms_EnumMovingObjectType_$callClinit = $rt_eraseClinit(nms_EnumMovingObjectType);
        nms_EnumMovingObjectType__clinit_();
    }
    function nms_EnumMovingObjectType__init_0(var_0, var_1) {
        var var_2 = new nms_EnumMovingObjectType();
        nms_EnumMovingObjectType__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_EnumMovingObjectType_values() {
        nms_EnumMovingObjectType_$callClinit();
        return nms_EnumMovingObjectType_$VALUES.$clone();
    }
    function nms_EnumMovingObjectType__init_($this, var$1, var$2) {
        nms_EnumMovingObjectType_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
    }
    function nms_EnumMovingObjectType__clinit_() {
        var var$1;
        nms_EnumMovingObjectType_TILE = nms_EnumMovingObjectType__init_0($rt_s(1887), 0);
        var$1 = nms_EnumMovingObjectType__init_0($rt_s(1888), 1);
        nms_EnumMovingObjectType_ENTITY = var$1;
        nms_EnumMovingObjectType_$VALUES = $rt_createArrayFromData(nms_EnumMovingObjectType, [nms_EnumMovingObjectType_TILE, var$1]);
    }
    var nms_PlayerControllerTest = $rt_classWithoutFields(nms_PlayerController);
    function cjj_InfTree() {
        var a = this; jl_Object.call(a);
        a.$hn = null;
        a.$v0 = null;
        a.$c = null;
        a.$r0 = null;
        a.$u = null;
        a.$x3 = null;
    }
    var cjj_InfTree_fixed_tl = null;
    var cjj_InfTree_fixed_td = null;
    var cjj_InfTree_cplens = null;
    var cjj_InfTree_cplext = null;
    var cjj_InfTree_cpdist = null;
    var cjj_InfTree_cpdext = null;
    function cjj_InfTree__init_0() {
        var var_0 = new cjj_InfTree();
        cjj_InfTree__init_(var_0);
        return var_0;
    }
    function cjj_InfTree__init_($this) {
        $this.$hn = null;
        $this.$v0 = null;
        $this.$c = null;
        $this.$r0 = null;
        $this.$u = null;
        $this.$x3 = null;
    }
    function cjj_InfTree_huft_build($this, $b, $bindex, $n, $s, $d, $e, $t, $m, $hp, $hn, $v) {
        var $p, $i, var$14, var$15, $a, $l, $j, $y, $xp, $mask, $w, $f, var$24, var$25, $h, $q, $z, $a_0;
        $p = 0;
        $i = $n;
        while (true) {
            var$14 = $b.data;
            var$15 = $this.$c.data;
            $a = var$14[$bindex + $p | 0];
            var$15[$a] = var$15[$a] + 1 | 0;
            $p = $p + 1 | 0;
            $i = $i + (-1) | 0;
            if (!$i)
                break;
        }
        if (var$15[0] == $n) {
            $b = $t.data;
            $d = $m.data;
            $b[0] = (-1);
            $d[0] = 0;
            return 0;
        }
        $b = $m.data;
        $l = $b[0];
        $j = 1;
        a: {
            while (true) {
                if ($j > 15)
                    break a;
                if (var$15[$j])
                    break;
                $j = $j + 1 | 0;
            }
        }
        if ($l < $j)
            $l = $j;
        $p = 15;
        b: {
            while (true) {
                if (!$p)
                    break b;
                if (var$15[$p])
                    break;
                $p = $p + (-1) | 0;
            }
        }
        if ($l > $p)
            $l = $p;
        $b[0] = $l;
        $y = 1 << $j;
        $xp = $j;
        while (true) {
            if ($xp >= $p) {
                $i = $y - var$15[$p] | 0;
                if ($i < 0)
                    return (-3);
                var$15[$p] = var$15[$p] + $i | 0;
                $b = $this.$x3.data;
                $mask = 0;
                $b[1] = $mask;
                $w = 1;
                $xp = 2;
                $f = $p;
                while (true) {
                    $f = $f + (-1) | 0;
                    if (!$f)
                        break;
                    $mask = $mask + var$15[$w] | 0;
                    $b[$xp] = $mask;
                    $xp = $xp + 1 | 0;
                    $w = $w + 1 | 0;
                }
                $a = 0;
                $xp = 0;
                while (true) {
                    $f = var$14[$bindex + $xp | 0];
                    if ($f) {
                        $m = $v.data;
                        $w = $b[$f];
                        $b[$f] = $w + 1 | 0;
                        $m[$w] = $a;
                    }
                    $xp = $xp + 1 | 0;
                    $a = $a + 1 | 0;
                    if ($a >= $n)
                        break;
                }
                $xp = $b[$p];
                var$24 = 0;
                $b[0] = var$24;
                var$25 = 0;
                $h = (-1);
                $w =  -$l | 0;
                $this.$u.data[0] = 0;
                $q = 0;
                $z = 0;
                c: while (true) {
                    if ($j > $p)
                        return $i && $p != 1 ? (-5) : 0;
                    $a = $this.$c.data[$j];
                    while (true) {
                        $a_0 = $a + (-1) | 0;
                        if (!$a)
                            break;
                        $y = $a_0 + 1 | 0;
                        while (true) {
                            $f = $w + $l | 0;
                            if ($j <= $f)
                                break;
                            $h = $h + 1 | 0;
                            $mask = $p - $f | 0;
                            if ($mask > $l)
                                $mask = $l;
                            d: {
                                $w = $j - $f | 0;
                                $bindex = 1 << $w;
                                if ($bindex > $y) {
                                    $bindex = $bindex - $y | 0;
                                    if ($w < $mask) {
                                        $n = $j;
                                        while (true) {
                                            $w = $w + 1 | 0;
                                            if ($w >= $mask)
                                                break;
                                            $bindex = $bindex << 1;
                                            $b = $this.$c.data;
                                            $n = $n + 1 | 0;
                                            if ($bindex <= $b[$n])
                                                break d;
                                            $bindex = $bindex - $b[$n] | 0;
                                        }
                                    }
                                }
                            }
                            $m = $hn.data;
                            $z = 1 << $w;
                            if (($m[0] + $z | 0) > 1440)
                                break c;
                            $b = $this.$u.data;
                            $q = $m[0];
                            $b[$h] = $q;
                            $m[0] = $m[0] + $z | 0;
                            if (!$h) {
                                $t.data[0] = $q;
                                $w = $f;
                                continue;
                            }
                            $this.$x3.data[$h] = var$24;
                            $m = $this.$r0;
                            var$15 = $m.data;
                            var$15[0] = $w << 24 >> 24;
                            var$15[1] = $l << 24 >> 24;
                            $mask = var$24 >>> ($f - $l | 0) | 0;
                            $n = $h - 1 | 0;
                            var$15[2] = ($q - $b[$n] | 0) - $mask | 0;
                            jl_System_fastArraycopy($m, 0, $hp, ($b[$n] + $mask | 0) * 3 | 0, 3);
                            $w = $f;
                        }
                        var$15 = $this.$r0.data;
                        $f = $j - $w | 0;
                        var$15[1] = $f << 24 >> 24;
                        if (var$25 >= $xp)
                            var$15[0] = 192;
                        else {
                            var$14 = $v.data;
                            if (var$14[var$25] >= $s) {
                                $b = $e.data;
                                $m = $d.data;
                                var$15[0] = (($b[var$14[var$25] - $s | 0] + 16 | 0) + 64 | 0) << 24 >> 24;
                                $n = var$25 + 1 | 0;
                                var$15[2] = $m[var$14[var$25] - $s | 0];
                                var$25 = $n;
                            } else {
                                var$15[0] = (var$14[var$25] >= 256 ? 96 : 0) << 24 >> 24;
                                $n = var$25 + 1 | 0;
                                var$15[2] = var$14[var$25];
                                var$25 = $n;
                            }
                        }
                        $f = 1 << $f;
                        $bindex = var$24 >>> $w | 0;
                        while ($bindex < $z) {
                            jl_System_fastArraycopy($this.$r0, 0, $hp, ($q + $bindex | 0) * 3 | 0, 3);
                            $bindex = $bindex + $f | 0;
                        }
                        $bindex = 1 << ($j - 1 | 0);
                        while (var$24 & $bindex) {
                            var$24 = var$24 ^ $bindex;
                            $bindex = $bindex >>> 1 | 0;
                        }
                        var$24 = var$24 ^ $bindex;
                        $mask = (1 << $w) - 1 | 0;
                        while ((var$24 & $mask) != $this.$x3.data[$h]) {
                            $h = $h + (-1) | 0;
                            $w = $w - $l | 0;
                            $mask = (1 << $w) - 1 | 0;
                        }
                        $a = $a_0;
                    }
                    $j = $j + 1 | 0;
                }
                return (-3);
            }
            $a = $y - var$15[$xp] | 0;
            if ($a < 0)
                break;
            $xp = $xp + 1 | 0;
            $y = $a << 1;
        }
        return (-3);
    }
    function cjj_InfTree_inflate_trees_bits($this, $c, $bb, $tb, $hp, $z) {
        var var$6, $result;
        cjj_InfTree_initWorkArea($this, 19);
        var$6 = $this.$hn;
        var$6.data[0] = 0;
        $result = cjj_InfTree_huft_build($this, $c, 0, 19, 19, null, null, $tb, $bb, $hp, var$6, $this.$v0);
        if ($result == (-3))
            $z.$msg = $rt_s(1889);
        else if (!($result != (-5) && $bb.data[0])) {
            $z.$msg = $rt_s(1890);
            $result = (-3);
        }
        return $result;
    }
    function cjj_InfTree_inflate_trees_dynamic($this, $nl, $nd, $c, $bl, $bd, $tl, $td, $hp, $z) {
        var var$10, $result;
        cjj_InfTree_initWorkArea($this, 288);
        var$10 = $this.$hn;
        var$10.data[0] = 0;
        $result = cjj_InfTree_huft_build($this, $c, 0, $nl, 257, cjj_InfTree_cplens, cjj_InfTree_cplext, $tl, $bl, $hp, var$10, $this.$v0);
        if (!$result && $bl.data[0]) {
            cjj_InfTree_initWorkArea($this, 288);
            $nd = cjj_InfTree_huft_build($this, $c, $nl, $nd, 0, cjj_InfTree_cpdist, cjj_InfTree_cpdext, $td, $bd, $hp, $this.$hn, $this.$v0);
            if (!$nd && !(!$bd.data[0] && $nl > 257))
                return 0;
            if ($nd == (-3))
                $z.$msg = $rt_s(1891);
            else if ($nd == (-5)) {
                $z.$msg = $rt_s(1892);
                $nd = (-3);
            } else if ($nd != (-4)) {
                $z.$msg = $rt_s(1893);
                $nd = (-3);
            }
            return $nd;
        }
        if ($result == (-3))
            $z.$msg = $rt_s(1894);
        else if ($result != (-4)) {
            $z.$msg = $rt_s(1895);
            $result = (-3);
        }
        return $result;
    }
    function cjj_InfTree_inflate_trees_fixed($bl, $bd, $tl, $td, $z) {
        $td = $td.data;
        $tl = $tl.data;
        $bd = $bd.data;
        $bl.data[0] = 9;
        $bd[0] = 5;
        $tl[0] = cjj_InfTree_fixed_tl;
        $td[0] = cjj_InfTree_fixed_td;
        return 0;
    }
    function cjj_InfTree_initWorkArea($this, $vsize) {
        var $i;
        if ($this.$hn === null) {
            $this.$hn = $rt_createIntArray(1);
            $this.$v0 = $rt_createIntArray($vsize);
            $this.$c = $rt_createIntArray(16);
            $this.$r0 = $rt_createIntArray(3);
            $this.$u = $rt_createIntArray(15);
            $this.$x3 = $rt_createIntArray(16);
        }
        if ($this.$v0.data.length < $vsize)
            $this.$v0 = $rt_createIntArray($vsize);
        $i = 0;
        while ($i < $vsize) {
            $this.$v0.data[$i] = 0;
            $i = $i + 1 | 0;
        }
        $i = 0;
        while ($i < 16) {
            $this.$c.data[$i] = 0;
            $i = $i + 1 | 0;
        }
        $i = 0;
        while ($i < 3) {
            $this.$r0.data[$i] = 0;
            $i = $i + 1 | 0;
        }
        jl_System_fastArraycopy($this.$c, 0, $this.$u, 0, 15);
        jl_System_fastArraycopy($this.$c, 0, $this.$x3, 0, 16);
    }
    function cjj_InfTree__clinit_() {
        cjj_InfTree_fixed_tl = $rt_createIntArrayFromData([96, 7, 256, 0, 8, 80, 0, 8, 16, 84, 8, 115, 82, 7, 31, 0, 8, 112, 0, 8, 48, 0, 9, 192, 80, 7, 10, 0, 8, 96, 0, 8, 32, 0, 9, 160, 0, 8, 0, 0, 8, 128, 0, 8, 64, 0, 9, 224, 80, 7, 6, 0, 8, 88, 0, 8, 24, 0, 9, 144, 83, 7, 59, 0, 8, 120, 0, 8, 56, 0, 9, 208, 81, 7, 17, 0, 8, 104, 0, 8, 40, 0, 9, 176, 0, 8, 8, 0, 8, 136, 0, 8, 72, 0, 9, 240, 80, 7, 4, 0, 8, 84, 0, 8, 20, 85, 8, 227, 83, 7, 43, 0, 8, 116, 0, 8, 52, 0, 9, 200, 81, 7, 13, 0, 8, 100, 0, 8, 36,
        0, 9, 168, 0, 8, 4, 0, 8, 132, 0, 8, 68, 0, 9, 232, 80, 7, 8, 0, 8, 92, 0, 8, 28, 0, 9, 152, 84, 7, 83, 0, 8, 124, 0, 8, 60, 0, 9, 216, 82, 7, 23, 0, 8, 108, 0, 8, 44, 0, 9, 184, 0, 8, 12, 0, 8, 140, 0, 8, 76, 0, 9, 248, 80, 7, 3, 0, 8, 82, 0, 8, 18, 85, 8, 163, 83, 7, 35, 0, 8, 114, 0, 8, 50, 0, 9, 196, 81, 7, 11, 0, 8, 98, 0, 8, 34, 0, 9, 164, 0, 8, 2, 0, 8, 130, 0, 8, 66, 0, 9, 228, 80, 7, 7, 0, 8, 90, 0, 8, 26, 0, 9, 148, 84, 7, 67, 0, 8, 122, 0, 8, 58, 0, 9, 212, 82, 7, 19, 0, 8, 106, 0, 8, 42,
        0, 9, 180, 0, 8, 10, 0, 8, 138, 0, 8, 74, 0, 9, 244, 80, 7, 5, 0, 8, 86, 0, 8, 22, 192, 8, 0, 83, 7, 51, 0, 8, 118, 0, 8, 54, 0, 9, 204, 81, 7, 15, 0, 8, 102, 0, 8, 38, 0, 9, 172, 0, 8, 6, 0, 8, 134, 0, 8, 70, 0, 9, 236, 80, 7, 9, 0, 8, 94, 0, 8, 30, 0, 9, 156, 84, 7, 99, 0, 8, 126, 0, 8, 62, 0, 9, 220, 82, 7, 27, 0, 8, 110, 0, 8, 46, 0, 9, 188, 0, 8, 14, 0, 8, 142, 0, 8, 78, 0, 9, 252, 96, 7, 256, 0, 8, 81, 0, 8, 17, 85, 8, 131, 82, 7, 31, 0, 8, 113, 0, 8, 49, 0, 9, 194, 80, 7, 10, 0, 8, 97, 0, 8, 33,
        0, 9, 162, 0, 8, 1, 0, 8, 129, 0, 8, 65, 0, 9, 226, 80, 7, 6, 0, 8, 89, 0, 8, 25, 0, 9, 146, 83, 7, 59, 0, 8, 121, 0, 8, 57, 0, 9, 210, 81, 7, 17, 0, 8, 105, 0, 8, 41, 0, 9, 178, 0, 8, 9, 0, 8, 137, 0, 8, 73, 0, 9, 242, 80, 7, 4, 0, 8, 85, 0, 8, 21, 80, 8, 258, 83, 7, 43, 0, 8, 117, 0, 8, 53, 0, 9, 202, 81, 7, 13, 0, 8, 101, 0, 8, 37, 0, 9, 170, 0, 8, 5, 0, 8, 133, 0, 8, 69, 0, 9, 234, 80, 7, 8, 0, 8, 93, 0, 8, 29, 0, 9, 154, 84, 7, 83, 0, 8, 125, 0, 8, 61, 0, 9, 218, 82, 7, 23, 0, 8, 109, 0, 8, 45,
        0, 9, 186, 0, 8, 13, 0, 8, 141, 0, 8, 77, 0, 9, 250, 80, 7, 3, 0, 8, 83, 0, 8, 19, 85, 8, 195, 83, 7, 35, 0, 8, 115, 0, 8, 51, 0, 9, 198, 81, 7, 11, 0, 8, 99, 0, 8, 35, 0, 9, 166, 0, 8, 3, 0, 8, 131, 0, 8, 67, 0, 9, 230, 80, 7, 7, 0, 8, 91, 0, 8, 27, 0, 9, 150, 84, 7, 67, 0, 8, 123, 0, 8, 59, 0, 9, 214, 82, 7, 19, 0, 8, 107, 0, 8, 43, 0, 9, 182, 0, 8, 11, 0, 8, 139, 0, 8, 75, 0, 9, 246, 80, 7, 5, 0, 8, 87, 0, 8, 23, 192, 8, 0, 83, 7, 51, 0, 8, 119, 0, 8, 55, 0, 9, 206, 81, 7, 15, 0, 8, 103, 0, 8, 39,
        0, 9, 174, 0, 8, 7, 0, 8, 135, 0, 8, 71, 0, 9, 238, 80, 7, 9, 0, 8, 95, 0, 8, 31, 0, 9, 158, 84, 7, 99, 0, 8, 127, 0, 8, 63, 0, 9, 222, 82, 7, 27, 0, 8, 111, 0, 8, 47, 0, 9, 190, 0, 8, 15, 0, 8, 143, 0, 8, 79, 0, 9, 254, 96, 7, 256, 0, 8, 80, 0, 8, 16, 84, 8, 115, 82, 7, 31, 0, 8, 112, 0, 8, 48, 0, 9, 193, 80, 7, 10, 0, 8, 96, 0, 8, 32, 0, 9, 161, 0, 8, 0, 0, 8, 128, 0, 8, 64, 0, 9, 225, 80, 7, 6, 0, 8, 88, 0, 8, 24, 0, 9, 145, 83, 7, 59, 0, 8, 120, 0, 8, 56, 0, 9, 209, 81, 7, 17, 0, 8, 104, 0, 8, 40,
        0, 9, 177, 0, 8, 8, 0, 8, 136, 0, 8, 72, 0, 9, 241, 80, 7, 4, 0, 8, 84, 0, 8, 20, 85, 8, 227, 83, 7, 43, 0, 8, 116, 0, 8, 52, 0, 9, 201, 81, 7, 13, 0, 8, 100, 0, 8, 36, 0, 9, 169, 0, 8, 4, 0, 8, 132, 0, 8, 68, 0, 9, 233, 80, 7, 8, 0, 8, 92, 0, 8, 28, 0, 9, 153, 84, 7, 83, 0, 8, 124, 0, 8, 60, 0, 9, 217, 82, 7, 23, 0, 8, 108, 0, 8, 44, 0, 9, 185, 0, 8, 12, 0, 8, 140, 0, 8, 76, 0, 9, 249, 80, 7, 3, 0, 8, 82, 0, 8, 18, 85, 8, 163, 83, 7, 35, 0, 8, 114, 0, 8, 50, 0, 9, 197, 81, 7, 11, 0, 8, 98, 0, 8, 34,
        0, 9, 165, 0, 8, 2, 0, 8, 130, 0, 8, 66, 0, 9, 229, 80, 7, 7, 0, 8, 90, 0, 8, 26, 0, 9, 149, 84, 7, 67, 0, 8, 122, 0, 8, 58, 0, 9, 213, 82, 7, 19, 0, 8, 106, 0, 8, 42, 0, 9, 181, 0, 8, 10, 0, 8, 138, 0, 8, 74, 0, 9, 245, 80, 7, 5, 0, 8, 86, 0, 8, 22, 192, 8, 0, 83, 7, 51, 0, 8, 118, 0, 8, 54, 0, 9, 205, 81, 7, 15, 0, 8, 102, 0, 8, 38, 0, 9, 173, 0, 8, 6, 0, 8, 134, 0, 8, 70, 0, 9, 237, 80, 7, 9, 0, 8, 94, 0, 8, 30, 0, 9, 157, 84, 7, 99, 0, 8, 126, 0, 8, 62, 0, 9, 221, 82, 7, 27, 0, 8, 110, 0, 8, 46,
        0, 9, 189, 0, 8, 14, 0, 8, 142, 0, 8, 78, 0, 9, 253, 96, 7, 256, 0, 8, 81, 0, 8, 17, 85, 8, 131, 82, 7, 31, 0, 8, 113, 0, 8, 49, 0, 9, 195, 80, 7, 10, 0, 8, 97, 0, 8, 33, 0, 9, 163, 0, 8, 1, 0, 8, 129, 0, 8, 65, 0, 9, 227, 80, 7, 6, 0, 8, 89, 0, 8, 25, 0, 9, 147, 83, 7, 59, 0, 8, 121, 0, 8, 57, 0, 9, 211, 81, 7, 17, 0, 8, 105, 0, 8, 41, 0, 9, 179, 0, 8, 9, 0, 8, 137, 0, 8, 73, 0, 9, 243, 80, 7, 4, 0, 8, 85, 0, 8, 21, 80, 8, 258, 83, 7, 43, 0, 8, 117, 0, 8, 53, 0, 9, 203, 81, 7, 13, 0, 8, 101, 0, 8, 37,
        0, 9, 171, 0, 8, 5, 0, 8, 133, 0, 8, 69, 0, 9, 235, 80, 7, 8, 0, 8, 93, 0, 8, 29, 0, 9, 155, 84, 7, 83, 0, 8, 125, 0, 8, 61, 0, 9, 219, 82, 7, 23, 0, 8, 109, 0, 8, 45, 0, 9, 187, 0, 8, 13, 0, 8, 141, 0, 8, 77, 0, 9, 251, 80, 7, 3, 0, 8, 83, 0, 8, 19, 85, 8, 195, 83, 7, 35, 0, 8, 115, 0, 8, 51, 0, 9, 199, 81, 7, 11, 0, 8, 99, 0, 8, 35, 0, 9, 167, 0, 8, 3, 0, 8, 131, 0, 8, 67, 0, 9, 231, 80, 7, 7, 0, 8, 91, 0, 8, 27, 0, 9, 151, 84, 7, 67, 0, 8, 123, 0, 8, 59, 0, 9, 215, 82, 7, 19, 0, 8, 107, 0, 8, 43,
        0, 9, 183, 0, 8, 11, 0, 8, 139, 0, 8, 75, 0, 9, 247, 80, 7, 5, 0, 8, 87, 0, 8, 23, 192, 8, 0, 83, 7, 51, 0, 8, 119, 0, 8, 55, 0, 9, 207, 81, 7, 15, 0, 8, 103, 0, 8, 39, 0, 9, 175, 0, 8, 7, 0, 8, 135, 0, 8, 71, 0, 9, 239, 80, 7, 9, 0, 8, 95, 0, 8, 31, 0, 9, 159, 84, 7, 99, 0, 8, 127, 0, 8, 63, 0, 9, 223, 82, 7, 27, 0, 8, 111, 0, 8, 47, 0, 9, 191, 0, 8, 15, 0, 8, 143, 0, 8, 79, 0, 9, 255]);
        cjj_InfTree_fixed_td = $rt_createIntArrayFromData([80, 5, 1, 87, 5, 257, 83, 5, 17, 91, 5, 4097, 81, 5, 5, 89, 5, 1025, 85, 5, 65, 93, 5, 16385, 80, 5, 3, 88, 5, 513, 84, 5, 33, 92, 5, 8193, 82, 5, 9, 90, 5, 2049, 86, 5, 129, 192, 5, 24577, 80, 5, 2, 87, 5, 385, 83, 5, 25, 91, 5, 6145, 81, 5, 7, 89, 5, 1537, 85, 5, 97, 93, 5, 24577, 80, 5, 4, 88, 5, 769, 84, 5, 49, 92, 5, 12289, 82, 5, 13, 90, 5, 3073, 86, 5, 193, 192, 5, 24577]);
        cjj_InfTree_cplens = $rt_createIntArrayFromData([3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0]);
        cjj_InfTree_cplext = $rt_createIntArrayFromData([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 112, 112]);
        cjj_InfTree_cpdist = $rt_createIntArrayFromData([1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577]);
        cjj_InfTree_cpdext = $rt_createIntArrayFromData([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13]);
    }
    function cjj_InfCodes() {
        var a = this; jl_Object.call(a);
        a.$mode4 = 0;
        a.$len = 0;
        a.$tree = null;
        a.$tree_index = 0;
        a.$need0 = 0;
        a.$lit = 0;
        a.$get11 = 0;
        a.$dist = 0;
        a.$lbits = 0;
        a.$dbits = 0;
        a.$ltree = null;
        a.$ltree_index = 0;
        a.$dtree = null;
        a.$dtree_index = 0;
        a.$z5 = null;
        a.$s = null;
    }
    var cjj_InfCodes_inflate_mask = null;
    function cjj_InfCodes_init($this, $bl, $bd, $tl, $tl_index, $td, $td_index) {
        $this.$mode4 = 0;
        $this.$lbits = $bl << 24 >> 24;
        $this.$dbits = $bd << 24 >> 24;
        $this.$ltree = $tl;
        $this.$ltree_index = $tl_index;
        $this.$dtree = $td;
        $this.$dtree_index = $td_index;
        $this.$tree = null;
    }
    function cjj_InfCodes_proc($this, $r) {
        var var$2, var$3, $n, var$5, var$6, $q, $f, $m, var$10, var$11, $j, $tindex, $e;
        var$2 = $this.$z5;
        var$3 = var$2.$next_in_index;
        $n = var$2.$avail_in;
        var$2 = $this.$s;
        var$5 = var$2.$bitb;
        var$6 = var$2.$bitk;
        $q = var$2.$write2;
        $f = var$2.$read4;
        $m = $q >= $f ? var$2.$end1 - $q | 0 : ($f - $q | 0) - 1 | 0;
        a: {
            b: while (true) {
                c: {
                    d: {
                        e: {
                            f: {
                                g: {
                                    switch ($this.$mode4) {
                                        case 0:
                                            break f;
                                        case 2:
                                            $f = $this.$get11;
                                            while (var$6 < $f) {
                                                if (!$n) {
                                                    var$2 = $this.$s;
                                                    var$2.$bitb = var$5;
                                                    var$2.$bitk = var$6;
                                                    var$10 = $this.$z5;
                                                    var$10.$avail_in = $n;
                                                    var$10.$total_in = Long_add(var$10.$total_in, Long_fromInt(var$3 - var$10.$next_in_index | 0));
                                                    var$10.$next_in_index = var$3;
                                                    var$2.$write2 = $q;
                                                    return cjj_InfBlocks_inflate_flush(var$2, $r);
                                                }
                                                $r = 0;
                                                $n = $n + (-1) | 0;
                                                var$11 = $this.$z5.$next_in.data;
                                                $j = var$3 + 1 | 0;
                                                var$5 = var$5 | (var$11[var$3] & 255) << var$6;
                                                var$6 = var$6 + 8 | 0;
                                                var$3 = $j;
                                            }
                                            $this.$len = $this.$len + (var$5 & cjj_InfCodes_inflate_mask.data[$f]) | 0;
                                            var$5 = var$5 >> $f;
                                            var$6 = var$6 - $f | 0;
                                            $this.$need0 = $this.$dbits;
                                            $this.$tree = $this.$dtree;
                                            $this.$tree_index = $this.$dtree_index;
                                            $this.$mode4 = 3;
                                            break g;
                                        case 4:
                                            $j = $this.$get11;
                                            while (var$6 < $j) {
                                                if (!$n) {
                                                    var$2 = $this.$s;
                                                    var$2.$bitb = var$5;
                                                    var$2.$bitk = var$6;
                                                    var$10 = $this.$z5;
                                                    var$10.$avail_in = $n;
                                                    var$10.$total_in = Long_add(var$10.$total_in, Long_fromInt(var$3 - var$10.$next_in_index | 0));
                                                    var$10.$next_in_index = var$3;
                                                    var$2.$write2 = $q;
                                                    return cjj_InfBlocks_inflate_flush(var$2, $r);
                                                }
                                                $r = 0;
                                                $n = $n + (-1) | 0;
                                                var$11 = $this.$z5.$next_in.data;
                                                $f = var$3 + 1 | 0;
                                                var$5 = var$5 | (var$11[var$3] & 255) << var$6;
                                                var$6 = var$6 + 8 | 0;
                                                var$3 = $f;
                                            }
                                            $this.$dist = $this.$dist + (var$5 & cjj_InfCodes_inflate_mask.data[$j]) | 0;
                                            var$5 = var$5 >> $j;
                                            var$6 = var$6 - $j | 0;
                                            $this.$mode4 = 5;
                                            break c;
                                        case 6:
                                            break d;
                                        case 7:
                                            if (var$6 > 7) {
                                                var$6 = var$6 + (-8) | 0;
                                                $n = $n + 1 | 0;
                                                var$3 = var$3 + (-1) | 0;
                                            }
                                            var$2 = $this.$s;
                                            var$2.$write2 = $q;
                                            $r = cjj_InfBlocks_inflate_flush(var$2, $r);
                                            var$2 = $this.$s;
                                            $q = var$2.$write2;
                                            $f = var$2.$read4;
                                            if ($f != $q) {
                                                var$2.$bitb = var$5;
                                                var$2.$bitk = var$6;
                                                var$10 = $this.$z5;
                                                var$10.$avail_in = $n;
                                                var$10.$total_in = Long_add(var$10.$total_in, Long_fromInt(var$3 - var$10.$next_in_index | 0));
                                                var$10.$next_in_index = var$3;
                                                var$2.$write2 = $q;
                                                return cjj_InfBlocks_inflate_flush(var$2, $r);
                                            }
                                            $this.$mode4 = 8;
                                            break a;
                                        case 9:
                                            var$2 = $this.$s;
                                            var$2.$bitb = var$5;
                                            var$2.$bitk = var$6;
                                            var$10 = $this.$z5;
                                            var$10.$avail_in = $n;
                                            var$10.$total_in = Long_add(var$10.$total_in, Long_fromInt(var$3 - var$10.$next_in_index | 0));
                                            var$10.$next_in_index = var$3;
                                            var$2.$write2 = $q;
                                            return cjj_InfBlocks_inflate_flush(var$2, (-3));
                                        case 1:
                                            break e;
                                        case 3:
                                            break;
                                        case 5:
                                            break c;
                                        case 8:
                                            break a;
                                        default:
                                            var$2 = $this.$s;
                                            var$2.$bitb = var$5;
                                            var$2.$bitk = var$6;
                                            var$10 = $this.$z5;
                                            var$10.$avail_in = $n;
                                            var$10.$total_in = Long_add(var$10.$total_in, Long_fromInt(var$3 - var$10.$next_in_index | 0));
                                            var$10.$next_in_index = var$3;
                                            var$2.$write2 = $q;
                                            return cjj_InfBlocks_inflate_flush(var$2, (-2));
                                    }
                                }
                                $f = $this.$need0;
                                while (var$6 < $f) {
                                    if (!$n) {
                                        var$2 = $this.$s;
                                        var$2.$bitb = var$5;
                                        var$2.$bitk = var$6;
                                        var$10 = $this.$z5;
                                        var$10.$avail_in = $n;
                                        var$10.$total_in = Long_add(var$10.$total_in, Long_fromInt(var$3 - var$10.$next_in_index | 0));
                                        var$10.$next_in_index = var$3;
                                        var$2.$write2 = $q;
                                        return cjj_InfBlocks_inflate_flush(var$2, $r);
                                    }
                                    $r = 0;
                                    $n = $n + (-1) | 0;
                                    var$11 = $this.$z5.$next_in.data;
                                    $j = var$3 + 1 | 0;
                                    var$5 = var$5 | (var$11[var$3] & 255) << var$6;
                                    var$6 = var$6 + 8 | 0;
                                    var$3 = $j;
                                }
                                $f = ($this.$tree_index + (var$5 & cjj_InfCodes_inflate_mask.data[$f]) | 0) * 3 | 0;
                                var$11 = $this.$tree.data;
                                $j = $f + 1 | 0;
                                var$5 = var$5 >> var$11[$j];
                                var$6 = var$6 - var$11[$j] | 0;
                                $j = var$11[$f];
                                if ($j & 16) {
                                    $this.$get11 = $j & 15;
                                    $this.$dist = var$11[$f + 2 | 0];
                                    $this.$mode4 = 4;
                                    continue b;
                                }
                                if ($j & 64) {
                                    $this.$mode4 = 9;
                                    var$2 = $this.$z5;
                                    var$2.$msg = $rt_s(1896);
                                    var$10 = $this.$s;
                                    var$10.$bitb = var$5;
                                    var$10.$bitk = var$6;
                                    var$2.$avail_in = $n;
                                    var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt(var$3 - var$2.$next_in_index | 0));
                                    var$2.$next_in_index = var$3;
                                    var$10.$write2 = $q;
                                    return cjj_InfBlocks_inflate_flush(var$10, (-3));
                                }
                                $this.$need0 = $j;
                                $this.$tree_index = ($f / 3 | 0) + var$11[$f + 2 | 0] | 0;
                                continue b;
                            }
                            if ($m >= 258 && $n >= 10) {
                                var$2 = $this.$s;
                                var$2.$bitb = var$5;
                                var$2.$bitk = var$6;
                                var$10 = $this.$z5;
                                var$10.$avail_in = $n;
                                var$10.$total_in = Long_add(var$10.$total_in, Long_fromInt(var$3 - var$10.$next_in_index | 0));
                                var$10.$next_in_index = var$3;
                                var$2.$write2 = $q;
                                $r = cjj_InfCodes_inflate_fast($this, $this.$lbits, $this.$dbits, $this.$ltree, $this.$ltree_index, $this.$dtree, $this.$dtree_index, var$2, var$10);
                                var$2 = $this.$z5;
                                var$3 = var$2.$next_in_index;
                                $n = var$2.$avail_in;
                                var$2 = $this.$s;
                                var$5 = var$2.$bitb;
                                var$6 = var$2.$bitk;
                                $q = var$2.$write2;
                                $f = var$2.$read4;
                                $m = $q >= $f ? var$2.$end1 - $q | 0 : ($f - $q | 0) - 1 | 0;
                                if ($r) {
                                    $this.$mode4 = $r != 1 ? 9 : 7;
                                    continue b;
                                }
                            }
                            $this.$need0 = $this.$lbits;
                            $this.$tree = $this.$ltree;
                            $this.$tree_index = $this.$ltree_index;
                            $this.$mode4 = 1;
                        }
                        $j = $this.$need0;
                        while (var$6 < $j) {
                            if (!$n) {
                                var$2 = $this.$s;
                                var$2.$bitb = var$5;
                                var$2.$bitk = var$6;
                                var$10 = $this.$z5;
                                var$10.$avail_in = $n;
                                var$10.$total_in = Long_add(var$10.$total_in, Long_fromInt(var$3 - var$10.$next_in_index | 0));
                                var$10.$next_in_index = var$3;
                                var$2.$write2 = $q;
                                return cjj_InfBlocks_inflate_flush(var$2, $r);
                            }
                            $r = 0;
                            $n = $n + (-1) | 0;
                            var$11 = $this.$z5.$next_in.data;
                            $f = var$3 + 1 | 0;
                            var$5 = var$5 | (var$11[var$3] & 255) << var$6;
                            var$6 = var$6 + 8 | 0;
                            var$3 = $f;
                        }
                        $tindex = ($this.$tree_index + (var$5 & cjj_InfCodes_inflate_mask.data[$j]) | 0) * 3 | 0;
                        var$11 = $this.$tree.data;
                        $f = $tindex + 1 | 0;
                        var$5 = var$5 >>> var$11[$f] | 0;
                        var$6 = var$6 - var$11[$f] | 0;
                        $e = var$11[$tindex];
                        if (!$e) {
                            $this.$lit = var$11[$tindex + 2 | 0];
                            $this.$mode4 = 6;
                            continue b;
                        }
                        if ($e & 16) {
                            $this.$get11 = $e & 15;
                            $this.$len = var$11[$tindex + 2 | 0];
                            $this.$mode4 = 2;
                            continue b;
                        }
                        if (!($e & 64)) {
                            $this.$need0 = $e;
                            $this.$tree_index = ($tindex / 3 | 0) + var$11[$tindex + 2 | 0] | 0;
                            continue b;
                        }
                        if (!($e & 32)) {
                            $this.$mode4 = 9;
                            var$2 = $this.$z5;
                            var$2.$msg = $rt_s(1897);
                            var$10 = $this.$s;
                            var$10.$bitb = var$5;
                            var$10.$bitk = var$6;
                            var$2.$avail_in = $n;
                            var$2.$total_in = Long_add(var$2.$total_in, Long_fromInt(var$3 - var$2.$next_in_index | 0));
                            var$2.$next_in_index = var$3;
                            var$10.$write2 = $q;
                            return cjj_InfBlocks_inflate_flush(var$10, (-3));
                        }
                        $this.$mode4 = 7;
                        continue b;
                    }
                    if ($m)
                        $f = $q;
                    else {
                        var$2 = $this.$s;
                        $j = var$2.$end1;
                        if ($q != $j)
                            $f = $q;
                        else {
                            $tindex = var$2.$read4;
                            if (!$tindex)
                                $f = $q;
                            else {
                                $f = 0;
                                $m = $f >= $tindex ? $j - $f | 0 : ($tindex - $f | 0) - 1 | 0;
                            }
                        }
                        if (!$m) {
                            var$2.$write2 = $f;
                            $r = cjj_InfBlocks_inflate_flush(var$2, $r);
                            var$2 = $this.$s;
                            $f = var$2.$write2;
                            $j = var$2.$read4;
                            $m = $f >= $j ? var$2.$end1 - $f | 0 : ($j - $f | 0) - 1 | 0;
                            $tindex = var$2.$end1;
                            if ($f == $tindex && $j) {
                                $f = 0;
                                $m = $f >= $j ? $tindex - $f | 0 : ($j - $f | 0) - 1 | 0;
                            }
                            if (!$m) {
                                var$2.$bitb = var$5;
                                var$2.$bitk = var$6;
                                var$10 = $this.$z5;
                                var$10.$avail_in = $n;
                                var$10.$total_in = Long_add(var$10.$total_in, Long_fromInt(var$3 - var$10.$next_in_index | 0));
                                var$10.$next_in_index = var$3;
                                var$2.$write2 = $f;
                                return cjj_InfBlocks_inflate_flush(var$2, $r);
                            }
                        }
                    }
                    $r = 0;
                    var$11 = $this.$s.$window.data;
                    $q = $f + 1 | 0;
                    var$11[$f] = $this.$lit << 24 >> 24;
                    $m = $m + (-1) | 0;
                    $this.$mode4 = 0;
                    continue b;
                }
                $f = $q - $this.$dist | 0;
                while ($f < 0) {
                    $f = $f + $this.$s.$end1 | 0;
                }
                while ($this.$len) {
                    if ($m)
                        $j = $q;
                    else {
                        var$2 = $this.$s;
                        $tindex = var$2.$end1;
                        if ($q != $tindex)
                            $j = $q;
                        else {
                            $e = var$2.$read4;
                            if (!$e)
                                $j = $q;
                            else {
                                $j = 0;
                                $m = $j >= $e ? $tindex - $j | 0 : ($e - $j | 0) - 1 | 0;
                            }
                        }
                        if (!$m) {
                            var$2.$write2 = $j;
                            $r = cjj_InfBlocks_inflate_flush(var$2, $r);
                            var$2 = $this.$s;
                            $j = var$2.$write2;
                            $tindex = var$2.$read4;
                            $m = $j >= $tindex ? var$2.$end1 - $j | 0 : ($tindex - $j | 0) - 1 | 0;
                            $e = var$2.$end1;
                            if ($j == $e && $tindex) {
                                $j = 0;
                                $m = $j >= $tindex ? $e - $j | 0 : ($tindex - $j | 0) - 1 | 0;
                            }
                            if (!$m)
                                break b;
                        }
                    }
                    var$2 = $this.$s;
                    var$11 = var$2.$window.data;
                    $q = $j + 1 | 0;
                    $tindex = $f + 1 | 0;
                    var$11[$j] = var$11[$f];
                    $m = $m + (-1) | 0;
                    $f = $tindex == var$2.$end1 ? 0 : $tindex;
                    $this.$len = $this.$len - 1 | 0;
                }
                $this.$mode4 = 0;
            }
            var$2.$bitb = var$5;
            var$2.$bitk = var$6;
            var$10 = $this.$z5;
            var$10.$avail_in = $n;
            var$10.$total_in = Long_add(var$10.$total_in, Long_fromInt(var$3 - var$10.$next_in_index | 0));
            var$10.$next_in_index = var$3;
            var$2.$write2 = $j;
            return cjj_InfBlocks_inflate_flush(var$2, $r);
        }
        var$2 = $this.$s;
        var$2.$bitb = var$5;
        var$2.$bitk = var$6;
        var$10 = $this.$z5;
        var$10.$avail_in = $n;
        var$10.$total_in = Long_add(var$10.$total_in, Long_fromInt(var$3 - var$10.$next_in_index | 0));
        var$10.$next_in_index = var$3;
        var$2.$write2 = $q;
        return cjj_InfBlocks_inflate_flush(var$2, 1);
    }
    function cjj_InfCodes_free($this, $z) {}
    function cjj_InfCodes_inflate_fast($this, $bl, $bd, $tl, $tl_index, $td, $td_index, $s, $z) {
        var $p, $n, $b, $k, $q, $r, $m, var$16, $ml, $md, var$19, $t, $tp_index_t_3, $d, var$23, $c;
        $p = $z.$next_in_index;
        $n = $z.$avail_in;
        $b = $s.$bitb;
        $k = $s.$bitk;
        $q = $s.$write2;
        $r = $s.$read4;
        $m = $q >= $r ? $s.$end1 - $q | 0 : ($r - $q | 0) - 1 | 0;
        var$16 = cjj_InfCodes_inflate_mask.data;
        $ml = var$16[$bl];
        $md = var$16[$bd];
        while (true) {
            if ($k < 20) {
                $n = $n + (-1) | 0;
                var$16 = $z.$next_in.data;
                $bl = $p + 1 | 0;
                $b = $b | (var$16[$p] & 255) << $k;
                $k = $k + 8 | 0;
                $p = $bl;
                continue;
            }
            a: {
                var$19 = $tl.data;
                $t = $b & $ml;
                $tp_index_t_3 = ($tl_index + $t | 0) * 3 | 0;
                $bd = var$19[$tp_index_t_3];
                if (!$bd) {
                    $bl = $tp_index_t_3 + 1 | 0;
                    $b = $b >> var$19[$bl];
                    $k = $k - var$19[$bl] | 0;
                    var$16 = $s.$window.data;
                    $d = $q + 1 | 0;
                    var$16[$q] = var$19[$tp_index_t_3 + 2 | 0] << 24 >> 24;
                    $m = $m + (-1) | 0;
                } else {
                    while (true) {
                        $bl = $tp_index_t_3 + 1 | 0;
                        $b = $b >> var$19[$bl];
                        $k = $k - var$19[$bl] | 0;
                        if ($bd & 16) {
                            $bd = $bd & 15;
                            $bl = var$19[$tp_index_t_3 + 2 | 0];
                            var$23 = cjj_InfCodes_inflate_mask.data;
                            $c = $bl + ($b & var$23[$bd]) | 0;
                            $bl = $b >> $bd;
                            $bd = $k - $bd | 0;
                            while ($bd < 15) {
                                $n = $n + (-1) | 0;
                                var$16 = $z.$next_in.data;
                                $r = $p + 1 | 0;
                                $bl = $bl | (var$16[$p] & 255) << $bd;
                                $bd = $bd + 8 | 0;
                                $p = $r;
                            }
                            var$16 = $td.data;
                            $r = $bl & $md;
                            $d = ($td_index + $r | 0) * 3 | 0;
                            $b = var$16[$d];
                            while (true) {
                                $k = $d + 1 | 0;
                                $bl = $bl >> var$16[$k];
                                $bd = $bd - var$16[$k] | 0;
                                if ($b & 16)
                                    break;
                                if ($b & 64) {
                                    $z.$msg = $rt_s(1896);
                                    $tl_index = $z.$avail_in - $n | 0;
                                    $td_index = $bd >> 3;
                                    if ($td_index < $tl_index)
                                        $tl_index = $td_index;
                                    $td_index = $n + $tl_index | 0;
                                    $r = $p - $tl_index | 0;
                                    $bd = $bd - ($tl_index << 3) | 0;
                                    $s.$bitb = $bl;
                                    $s.$bitk = $bd;
                                    $z.$avail_in = $td_index;
                                    $z.$total_in = Long_add($z.$total_in, Long_fromInt($r - $z.$next_in_index | 0));
                                    $z.$next_in_index = $r;
                                    $s.$write2 = $q;
                                    return (-3);
                                }
                                $r = ($r + var$16[$d + 2 | 0] | 0) + ($bl & var$23[$b]) | 0;
                                $d = ($td_index + $r | 0) * 3 | 0;
                                $b = var$16[$d];
                            }
                            $r = $b & 15;
                            while ($bd < $r) {
                                $n = $n + (-1) | 0;
                                var$19 = $z.$next_in.data;
                                $b = $p + 1 | 0;
                                $bl = $bl | (var$19[$p] & 255) << $bd;
                                $bd = $bd + 8 | 0;
                                $p = $b;
                            }
                            $d = var$16[$d + 2 | 0] + ($bl & var$23[$r]) | 0;
                            $b = $bl >> $r;
                            $k = $bd - $r | 0;
                            $m = $m - $c | 0;
                            if ($q >= $d) {
                                $r = $q - $d | 0;
                                $bl = $q - $r | 0;
                                if ($bl > 0 && 2 > $bl) {
                                    var$16 = $s.$window.data;
                                    $bl = $q + 1 | 0;
                                    $bd = $r + 1 | 0;
                                    var$16[$q] = var$16[$r];
                                    $q = $bl + 1 | 0;
                                    $r = $bd + 1 | 0;
                                    var$16[$bl] = var$16[$bd];
                                    $c = $c + (-2) | 0;
                                } else {
                                    var$16 = $s.$window;
                                    jl_System_fastArraycopy(var$16, $r, var$16, $q, 2);
                                    $q = $q + 2 | 0;
                                    $r = $r + 2 | 0;
                                    $c = $c + (-2) | 0;
                                }
                            } else {
                                $r = $q - $d | 0;
                                while (true) {
                                    $bl = $s.$end1;
                                    $r = $r + $bl | 0;
                                    if ($r >= 0)
                                        break;
                                }
                                $bl = $bl - $r | 0;
                                if ($c > $bl) {
                                    $c = $c - $bl | 0;
                                    $bd = $q - $r | 0;
                                    if ($bd > 0 && $bl > $bd) {
                                        $bd = $q;
                                        while (true) {
                                            var$16 = $s.$window.data;
                                            $q = $bd + 1 | 0;
                                            $d = $r + 1 | 0;
                                            var$16[$bd] = var$16[$r];
                                            $bl = $bl + (-1) | 0;
                                            if (!$bl)
                                                break;
                                            $bd = $q;
                                            $r = $d;
                                        }
                                    } else {
                                        var$16 = $s.$window;
                                        jl_System_fastArraycopy(var$16, $r, var$16, $q, $bl);
                                        $q = $q + $bl | 0;
                                    }
                                    $r = 0;
                                }
                            }
                            $bl = $q - $r | 0;
                            if ($bl > 0 && $c > $bl) {
                                while (true) {
                                    var$16 = $s.$window.data;
                                    $d = $q + 1 | 0;
                                    $bl = $r + 1 | 0;
                                    var$16[$q] = var$16[$r];
                                    $c = $c + (-1) | 0;
                                    if (!$c)
                                        break;
                                    $q = $d;
                                    $r = $bl;
                                }
                                break a;
                            }
                            var$16 = $s.$window;
                            jl_System_fastArraycopy(var$16, $r, var$16, $q, $c);
                            $d = $q + $c | 0;
                            break a;
                        }
                        if ($bd & 64) {
                            if ($bd & 32) {
                                $c = $z.$avail_in - $n | 0;
                                $bl = $k >> 3;
                                if ($bl < $c)
                                    $c = $bl;
                                $bl = $n + $c | 0;
                                $bd = $p - $c | 0;
                                $tl_index = $k - ($c << 3) | 0;
                                $s.$bitb = $b;
                                $s.$bitk = $tl_index;
                                $z.$avail_in = $bl;
                                $z.$total_in = Long_add($z.$total_in, Long_fromInt($bd - $z.$next_in_index | 0));
                                $z.$next_in_index = $bd;
                                $s.$write2 = $q;
                                return 1;
                            }
                            $z.$msg = $rt_s(1897);
                            $c = $z.$avail_in - $n | 0;
                            $bl = $k >> 3;
                            if ($bl < $c)
                                $c = $bl;
                            $bl = $n + $c | 0;
                            $bd = $p - $c | 0;
                            $tl_index = $k - ($c << 3) | 0;
                            $s.$bitb = $b;
                            $s.$bitk = $tl_index;
                            $z.$avail_in = $bl;
                            $z.$total_in = Long_add($z.$total_in, Long_fromInt($bd - $z.$next_in_index | 0));
                            $z.$next_in_index = $bd;
                            $s.$write2 = $q;
                            return (-3);
                        }
                        $t = ($t + var$19[$tp_index_t_3 + 2 | 0] | 0) + ($b & cjj_InfCodes_inflate_mask.data[$bd]) | 0;
                        $tp_index_t_3 = ($tl_index + $t | 0) * 3 | 0;
                        $bd = var$19[$tp_index_t_3];
                        if (!$bd)
                            break;
                    }
                    $bl = $tp_index_t_3 + 1 | 0;
                    $b = $b >> var$19[$bl];
                    $k = $k - var$19[$bl] | 0;
                    var$16 = $s.$window.data;
                    $d = $q + 1 | 0;
                    var$16[$q] = var$19[$tp_index_t_3 + 2 | 0] << 24 >> 24;
                    $m = $m + (-1) | 0;
                }
            }
            if ($m < 258)
                break;
            if ($n < 10)
                break;
            $q = $d;
        }
        $c = $z.$avail_in - $n | 0;
        $bl = $k >> 3;
        if ($bl < $c)
            $c = $bl;
        $bl = $n + $c | 0;
        $bd = $p - $c | 0;
        $tl_index = $k - ($c << 3) | 0;
        $s.$bitb = $b;
        $s.$bitk = $tl_index;
        $z.$avail_in = $bl;
        $z.$total_in = Long_add($z.$total_in, Long_fromInt($bd - $z.$next_in_index | 0));
        $z.$next_in_index = $bd;
        $s.$write2 = $d;
        return 0;
    }
    function cjj_InfCodes__clinit_() {
        cjj_InfCodes_inflate_mask = $rt_createIntArrayFromData([0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535]);
    }
    function nleit_TeaVMClientConfigAdapterHooks$callHookSafeSync$lambda$_7_0() {
        var a = this; jl_Object.call(a);
        a.$_018 = null;
        a.$_111 = null;
        a.$_24 = null;
    }
    function nleit_TeaVMClientConfigAdapterHooks$callHookSafeSync$lambda$_7_0_onTimer$exported$0(var$0) {
        var var$1, var$2, var$3, var$4, var$5, var$6, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = var$0.$_018;
            var$2 = var$0.$_111;
            var$3 = var$0.$_24;
            $ptr = 1;
        case 1:
            nleit_TeaVMClientConfigAdapterHooks_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            try {
                try {
                    $ptr = 2;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$1 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                var$4 = nleit_TeaVMClientConfigAdapterHooks_logger;
                var$5 = $rt_s(1881);
                var$6 = $rt_createArray(jl_Object, 1);
                var$6.data[0] = var$2;
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$1 = $$je;

            }
            otpp_AsyncCallbackWrapper_complete(var$3, null);
            $rt_throw(var$1);
        case 2:
            a: {
                b: {
                    try {
                        nleit_TeaVMClientConfigAdapterHooks$callCrashReportHook$lambda$_4_0_run(var$1);
                        if ($rt_suspending()) {
                            break main;
                        }
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$1 = $$je;
                            break b;
                        } else{
                            var$1 = $$je;
                            break a;
                        }
                    }
                    otpp_AsyncCallbackWrapper_complete(var$3, null);
                    return;
                }
                try {
                    var$4 = nleit_TeaVMClientConfigAdapterHooks_logger;
                    var$5 = $rt_s(1881);
                    var$6 = $rt_createArray(jl_Object, 1);
                    var$6.data[0] = var$2;
                    $ptr = 3;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$1 = $$je;

                }
            }
            otpp_AsyncCallbackWrapper_complete(var$3, null);
            $rt_throw(var$1);
        case 3:
            try {
                oall_Logger_error(var$4, var$5, var$6);
                if ($rt_suspending()) {
                    break main;
                }
                var$2 = nleit_TeaVMClientConfigAdapterHooks_logger;
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$1 = $$je;

            }
            otpp_AsyncCallbackWrapper_complete(var$3, null);
            $rt_throw(var$1);
        case 4:
            a: {
                try {
                    oall_Logger_error1(var$2, var$1);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$1 = $$je;

                }
                otpp_AsyncCallbackWrapper_complete(var$3, null);
                $rt_throw(var$1);
            }
            otpp_AsyncCallbackWrapper_complete(var$3, null);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nleit_TeaVMClientConfigAdapterHooks$callHookSafeWithReturn$lambda$_9_0() {
        var a = this; jl_Object.call(a);
        a.$_019 = null;
        a.$_112 = null;
        a.$_25 = null;
    }
    function nleit_TeaVMClientConfigAdapterHooks$callHookSafeWithReturn$lambda$_9_0_onTimer$exported$0(var$0) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = var$0.$_019;
            var$2 = var$0.$_112;
            var$3 = var$0.$_25;
            $ptr = 1;
        case 1:
            nleit_TeaVMClientConfigAdapterHooks_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = null;
            try {
                try {
                    var$5 = var$4;
                    $ptr = 2;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$6 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                var$5 = var$4;
                var$1 = nleit_TeaVMClientConfigAdapterHooks_logger;
                var$7 = $rt_s(1881);
                var$8 = $rt_createArray(jl_Object, 1);
                var$8.data[0] = var$2;
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$1 = $$je;

            }
            otpp_AsyncCallbackWrapper_complete(var$3, var$5);
            $rt_throw(var$1);
        case 2:
            a: {
                b: {
                    try {
                        $tmp = nleit_TeaVMClientConfigAdapterHooks$callLocalStorageLoadHook$lambda$_2_0_get(var$1);
                        if ($rt_suspending()) {
                            break main;
                        }
                        var$1 = $tmp;
                        var$4 = var$1;
                        var$5 = var$1;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$6 = $$je;
                            break b;
                        } else{
                            var$1 = $$je;
                            break a;
                        }
                    }
                    otpp_AsyncCallbackWrapper_complete(var$3, var$1);
                    return;
                }
                try {
                    var$5 = var$4;
                    var$1 = nleit_TeaVMClientConfigAdapterHooks_logger;
                    var$7 = $rt_s(1881);
                    var$8 = $rt_createArray(jl_Object, 1);
                    var$8.data[0] = var$2;
                    $ptr = 3;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$1 = $$je;

                }
            }
            otpp_AsyncCallbackWrapper_complete(var$3, var$5);
            $rt_throw(var$1);
        case 3:
            try {
                oall_Logger_error(var$1, var$7, var$8);
                if ($rt_suspending()) {
                    break main;
                }
                var$1 = nleit_TeaVMClientConfigAdapterHooks_logger;
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$1 = $$je;

            }
            otpp_AsyncCallbackWrapper_complete(var$3, var$5);
            $rt_throw(var$1);
        case 4:
            a: {
                try {
                    oall_Logger_error1(var$1, var$6);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$1 = $$je;

                }
                otpp_AsyncCallbackWrapper_complete(var$3, var$5);
                $rt_throw(var$1);
            }
            otpp_AsyncCallbackWrapper_complete(var$3, var$4);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nleo_FixedFunctionPipeline() {
        var a = this; jl_Object.call(a);
        a.$stateCoreBits = 0;
        a.$stateExtBits = 0;
        a.$extensionPointer = null;
        a.$stateHasAttribTexture = 0;
        a.$stateHasAttribColor = 0;
        a.$stateHasAttribNormal = 0;
        a.$stateHasAttribLightmap = 0;
        a.$stateEnableTexture2D = 0;
        a.$stateEnableLightmap = 0;
        a.$stateEnableAlphaTest = 0;
        a.$stateEnableMCLighting = 0;
        a.$stateEnableEndPortal = 0;
        a.$stateEnableAnisotropicFix = 0;
        a.$stateEnableFog = 0;
        a.$stateEnableBlendAdd = 0;
        a.$attribTextureIndex = 0;
        a.$attribTextureOffset = 0;
        a.$attribColorIndex = 0;
        a.$attribColorOffset = 0;
        a.$attribNormalIndex = 0;
        a.$attribNormalOffset = 0;
        a.$attribLightmapIndex = 0;
        a.$attribLightmapOffset = 0;
        a.$attribStride = 0;
        a.$shaderProgram = null;
        a.$stateColorUniform4f = null;
        a.$stateColorR = 0.0;
        a.$stateColorG = 0.0;
        a.$stateColorB = 0.0;
        a.$stateColorA = 0.0;
        a.$stateColorSerial = 0;
        a.$stateShaderBlendSrcColorUniform4f = null;
        a.$stateShaderBlendSrcColorR = 0.0;
        a.$stateShaderBlendSrcColorG = 0.0;
        a.$stateShaderBlendSrcColorB = 0.0;
        a.$stateShaderBlendSrcColorA = 0.0;
        a.$stateShaderBlendAddColorUniform4f = null;
        a.$stateShaderBlendAddColorR = 0.0;
        a.$stateShaderBlendAddColorG = 0.0;
        a.$stateShaderBlendAddColorB = 0.0;
        a.$stateShaderBlendAddColorA = 0.0;
        a.$stateShaderBlendColorSerial = 0;
        a.$stateAlphaTestUniform1f = null;
        a.$stateAlphaTestRef = 0.0;
        a.$stateLightsEnabledUniform1i = null;
        a.$stateLightsVectorsArrayUniform4f = null;
        a.$stateLightsEnabled = 0;
        a.$stateLightsVectors = null;
        a.$stateLightingSerial = 0;
        a.$stateLightingAmbientUniform3f = null;
        a.$stateLightingAmbientR = 0.0;
        a.$stateLightingAmbientG = 0.0;
        a.$stateLightingAmbientB = 0.0;
        a.$stateLightingAmbientSerial = 0;
        a.$stateNormalUniform3f = null;
        a.$stateNormalX = 0.0;
        a.$stateNormalY = 0.0;
        a.$stateNormalZ = 0.0;
        a.$stateNormalSerial = 0;
        a.$stateFogParamUniform4f = null;
        a.$stateFogEXP = 0;
        a.$stateFogDensity = 0.0;
        a.$stateFogStart = 0.0;
        a.$stateFogEnd = 0.0;
        a.$stateFogColorUniform4f = null;
        a.$stateFogColorR = 0.0;
        a.$stateFogColorG = 0.0;
        a.$stateFogColorB = 0.0;
        a.$stateFogColorA = 0.0;
        a.$stateFogSerial = 0;
        a.$stateTexGenPlaneUniform4i = null;
        a.$stateTexGenSPlane = 0;
        a.$stateTexGenSVectorUniform4f = null;
        a.$stateTexGenSVector = null;
        a.$stateTexGenTPlane = 0;
        a.$stateTexGenTVectorUniform4f = null;
        a.$stateTexGenTVector = null;
        a.$stateTexGenRPlane = 0;
        a.$stateTexGenRVectorUniform4f = null;
        a.$stateTexGenRVector = null;
        a.$stateTexGenQPlane = 0;
        a.$stateTexGenQVectorUniform4f = null;
        a.$stateTexGenQVector = null;
        a.$stateTexGenSerial = 0;
        a.$stateModelMatrixUniformMat4f = null;
        a.$stateModelMatrixSerial = 0;
        a.$stateProjectionMatrixUniformMat4f = null;
        a.$stateProjectionMatrixSerial = 0;
        a.$stateModelProjectionMatrixUniformMat4f = null;
        a.$stateTextureMatrix01UniformMat4f = null;
        a.$stateTextureMatrix02UniformMat4f = null;
        a.$stateTextureMatrixSerial = null;
        a.$stateTextureCoords01Uniform2f = null;
        a.$stateTextureCoords02Uniform2f = null;
        a.$stateTextureCoordsX = null;
        a.$stateTextureCoordsY = null;
        a.$stateTextureCoordsAccessSerial = null;
        a.$stateTextureCoordsMatrixSerial = null;
        a.$stateAnisotropicFix2f = null;
        a.$stateAnisotropicFixW = 0.0;
        a.$stateAnisotropicFixH = 0.0;
        a.$stateAnisotropicFixSerial = 0.0;
        a.$streamBuffer = null;
        a.$currentVertexArray = null;
    }
    var nleo_FixedFunctionPipeline_LOGGER = null;
    var nleo_FixedFunctionPipeline_extensionProvider = null;
    var nleo_FixedFunctionPipeline_pipelineStateCache = null;
    var nleo_FixedFunctionPipeline_pipelineExtStateCache = null;
    var nleo_FixedFunctionPipeline_pipelineListTracker = null;
    var nleo_FixedFunctionPipeline_shaderSourceCacheVSH = null;
    var nleo_FixedFunctionPipeline_shaderSourceCacheFSH = null;
    var nleo_FixedFunctionPipeline_tmpMatrixForInv = null;
    var nleo_FixedFunctionPipeline_tmpVec4ForTex = null;
    var nleo_FixedFunctionPipeline_matrixCopyBuffer = null;
    var nleo_FixedFunctionPipeline_$clinitCalled = false;
    function nleo_FixedFunctionPipeline_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nleo_FixedFunctionPipeline_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleo_FixedFunctionPipeline_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nleo_FixedFunctionPipeline__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nleo_FixedFunctionPipeline_$callClinit = $rt_eraseClinit(nleo_FixedFunctionPipeline);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nleo_FixedFunctionPipeline__init_0(var_0, var_1, var_2) {
        var var_3 = new nleo_FixedFunctionPipeline();
        nleo_FixedFunctionPipeline__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nleo_FixedFunctionPipeline_getFragmentState() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_FixedFunctionPipeline_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nleo_GlStateManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nleo_GlStateManager_stateTexture.data;
            return (!var$1[0] ? 0 : 16) | (!var$1[1] ? 0 : 32) | (!nleo_GlStateManager_stateAlphaTest ? 0 : 64) | (nleo_GlStateManager_stateLighting && nleo_GlStateManager_stateMaterial ? 128 : 0) | (var$1[0] && nleo_GlStateManager_stateTexGen ? 256 : 0) | (nleo_GlStateManager_stateFog && nleo_GlStateManager_stateFogDensity > 0.0 ? 1024 : 0) | (!nleo_GlStateManager_stateEnableShaderBlendColor ? 0 : 2048);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nleo_FixedFunctionPipeline_drawElements($this, $mode, $count, $type, $offset) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$offset = $thread.pop();$type = $thread.pop();$count = $thread.pop();$mode = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $this.$shaderProgram;
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_bindGLShaderProgram(var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nleo_EaglercraftGPU_drawElements($mode, $count, $type, $offset);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $mode, $count, $type, $offset, var$5, $ptr);
    }
    function nleo_FixedFunctionPipeline_getPipelineInstanceCore($bits) {
        var var$2, $pp, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$pp = $thread.pop();var$2 = $thread.pop();$bits = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_FixedFunctionPipeline_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nleo_FixedFunctionPipeline_pipelineStateCache.data;
            $pp = var$2[$bits];
            if ($pp !== null)
                return $pp;
            var$4 = 0;
            var$5 = 0;
            $ptr = 2;
        case 2:
            $tmp = nleo_FixedFunctionPipeline_makeNewPipeline($bits, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $pp = $tmp;
            var$2[$bits] = $pp;
            return $pp;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($bits, var$2, $pp, var$4, var$5, $ptr);
    }
    function nleo_FixedFunctionPipeline_getPipelineInstanceExt($coreBits, $extBits) {
        var var$3, var$4, $pp, $ppp, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$ppp = $thread.pop();$pp = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$extBits = $thread.pop();$coreBits = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_FixedFunctionPipeline_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $coreBits & (15 | nleo_FixedFunctionPipeline_extensionProvider.$getCoreStateMask($extBits));
            var$4 = nleo_FixedFunctionPipeline_pipelineExtStateCache.data;
            $pp = var$4[var$3];
            if ($pp !== null) {
                var$4 = $pp.data;
                $ppp = var$4[$extBits];
                if ($ppp !== null)
                    return $ppp;
                $coreBits = 1;
                $ptr = 3;
                continue main;
            }
            $pp = $rt_createArray(nleo_FixedFunctionPipeline, 1 << nleo_FixedFunctionPipeline_extensionProvider.$getExtensionStatesCount());
            var$7 = $pp.data;
            var$4[var$3] = $pp;
            $coreBits = 1;
            $ptr = 2;
        case 2:
            $tmp = nleo_FixedFunctionPipeline_makeNewPipeline(var$3, $extBits, $coreBits);
            if ($rt_suspending()) {
                break main;
            }
            $ppp = $tmp;
            var$7[$extBits] = $ppp;
            return $ppp;
        case 3:
            $tmp = nleo_FixedFunctionPipeline_makeNewPipeline(var$3, $extBits, $coreBits);
            if ($rt_suspending()) {
                break main;
            }
            $ppp = $tmp;
            var$4[$extBits] = $ppp;
            return $ppp;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($coreBits, $extBits, var$3, var$4, $pp, $ppp, var$7, $ptr);
    }
    function nleo_FixedFunctionPipeline_makeNewPipeline($coreBits, $extBits, $enableExt) {
        var $extProviderUserPointer, $extSource, $vshSource, $fshSource, $vsh, $macros, $i, $macrosStr, $fsh, $prog, $pp, $t, $log, $lines, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$lines = $thread.pop();$log = $thread.pop();$t = $thread.pop();$pp = $thread.pop();$prog = $thread.pop();$fsh = $thread.pop();$macrosStr = $thread.pop();$i = $thread.pop();$macros = $thread.pop();$vsh = $thread.pop();$fshSource = $thread.pop();$vshSource = $thread.pop();$extSource = $thread.pop();$extProviderUserPointer = $thread.pop();$enableExt = $thread.pop();$extBits = $thread.pop();$coreBits = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_FixedFunctionPipeline_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $extProviderUserPointer = null;
            if ($enableExt) {
                $extProviderUserPointer = $rt_createArray(jl_Object, 1);
                $extSource = (nleo_FixedFunctionPipeline_extensionProvider.$getShaderSource($coreBits, $extBits, $extProviderUserPointer)).data;
                $vshSource = $extSource[0];
                $fshSource = $extSource[1];
            } else {
                if (nleo_FixedFunctionPipeline_shaderSourceCacheVSH === null) {
                    $vsh = $rt_s(1898);
                    $ptr = 2;
                    continue main;
                }
                $vshSource = nleo_FixedFunctionPipeline_shaderSourceCacheVSH;
                if (nleo_FixedFunctionPipeline_shaderSourceCacheFSH === null) {
                    $vsh = $rt_s(1899);
                    $ptr = 3;
                    continue main;
                }
                $fshSource = nleo_FixedFunctionPipeline_shaderSourceCacheFSH;
            }
            $macros = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($macros);
            if ($coreBits & 1)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1900));
            if ($coreBits & 2)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1901));
            if ($coreBits & 4)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1902));
            if ($coreBits & 8)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1903));
            if ($coreBits & 16)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1904));
            if ($coreBits & 32)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1905));
            if ($coreBits & 64)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1906));
            if ($coreBits & 128)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1907));
            if ($coreBits & 256)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1908));
            if ($coreBits & 512)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1909));
            if ($coreBits & 1024)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1910));
            if ($coreBits & 2048)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1911));
            jl_AbstractStringBuilder_append2($macros, $rt_s(1912));
            jl_AbstractStringBuilder_append2($macros, $rt_s(547));
            jl_AbstractStringBuilder_append2($macros, $rt_s(1913));
            $i = 35633;
            $ptr = 4;
            continue main;
        case 2:
            $tmp = nle_EagRuntime_getRequiredResourceString($vsh);
            if ($rt_suspending()) {
                break main;
            }
            $vsh = $tmp;
            nleo_FixedFunctionPipeline_shaderSourceCacheVSH = $vsh;
            $vshSource = nleo_FixedFunctionPipeline_shaderSourceCacheVSH;
            if (nleo_FixedFunctionPipeline_shaderSourceCacheFSH === null) {
                $vsh = $rt_s(1899);
                $ptr = 3;
                continue main;
            }
            $fshSource = nleo_FixedFunctionPipeline_shaderSourceCacheFSH;
            $macros = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($macros);
            if ($coreBits & 1)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1900));
            if ($coreBits & 2)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1901));
            if ($coreBits & 4)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1902));
            if ($coreBits & 8)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1903));
            if ($coreBits & 16)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1904));
            if ($coreBits & 32)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1905));
            if ($coreBits & 64)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1906));
            if ($coreBits & 128)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1907));
            if ($coreBits & 256)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1908));
            if ($coreBits & 512)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1909));
            if ($coreBits & 1024)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1910));
            if ($coreBits & 2048)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1911));
            jl_AbstractStringBuilder_append2($macros, $rt_s(1912));
            jl_AbstractStringBuilder_append2($macros, $rt_s(547));
            jl_AbstractStringBuilder_append2($macros, $rt_s(1913));
            $i = 35633;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = nle_EagRuntime_getRequiredResourceString($vsh);
            if ($rt_suspending()) {
                break main;
            }
            $vsh = $tmp;
            nleo_FixedFunctionPipeline_shaderSourceCacheFSH = $vsh;
            $fshSource = nleo_FixedFunctionPipeline_shaderSourceCacheFSH;
            $macros = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($macros);
            if ($coreBits & 1)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1900));
            if ($coreBits & 2)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1901));
            if ($coreBits & 4)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1902));
            if ($coreBits & 8)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1903));
            if ($coreBits & 16)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1904));
            if ($coreBits & 32)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1905));
            if ($coreBits & 64)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1906));
            if ($coreBits & 128)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1907));
            if ($coreBits & 256)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1908));
            if ($coreBits & 512)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1909));
            if ($coreBits & 1024)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1910));
            if ($coreBits & 2048)
                jl_AbstractStringBuilder_append2($macros, $rt_s(1911));
            jl_AbstractStringBuilder_append2($macros, $rt_s(1912));
            jl_AbstractStringBuilder_append2($macros, $rt_s(547));
            jl_AbstractStringBuilder_append2($macros, $rt_s(1913));
            $i = 35633;
            $ptr = 4;
        case 4:
            $tmp = nlei_PlatformOpenGL__wglCreateShader($i);
            if ($rt_suspending()) {
                break main;
            }
            $vsh = $tmp;
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString($macros);
            if ($rt_suspending()) {
                break main;
            }
            $macrosStr = $tmp;
            $ptr = 6;
        case 6:
            $tmp = nleo_GLSLHeader_getVertexHeaderCompat($vshSource, $macrosStr);
            if ($rt_suspending()) {
                break main;
            }
            $fsh = $tmp;
            $ptr = 7;
        case 7:
            nlei_PlatformOpenGL__wglShaderSource($vsh, $fsh);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            nlei_PlatformOpenGL__wglCompileShader($vsh);
            if ($rt_suspending()) {
                break main;
            }
            $i = 35713;
            $ptr = 9;
        case 9:
            $tmp = nlei_PlatformOpenGL__wglGetShaderi($vsh, $i);
            if ($rt_suspending()) {
                break main;
            }
            $i = $tmp;
            if ($i == 1) {
                $i = 35632;
                $ptr = 10;
                continue main;
            }
            $fsh = nleo_FixedFunctionPipeline_LOGGER;
            $prog = $rt_s(1914);
            $extProviderUserPointer = $rt_createArray(jl_Object, 1);
            $i = 0;
            $ptr = 15;
            continue main;
        case 10:
            $tmp = nlei_PlatformOpenGL__wglCreateShader($i);
            if ($rt_suspending()) {
                break main;
            }
            $fsh = $tmp;
            $ptr = 11;
        case 11:
            $tmp = nleo_GLSLHeader_getFragmentHeaderCompat($fshSource, $macrosStr);
            if ($rt_suspending()) {
                break main;
            }
            $prog = $tmp;
            $ptr = 12;
        case 12:
            nlei_PlatformOpenGL__wglShaderSource($fsh, $prog);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nlei_PlatformOpenGL__wglCompileShader($fsh);
            if ($rt_suspending()) {
                break main;
            }
            $i = 35713;
            $ptr = 14;
        case 14:
            $tmp = nlei_PlatformOpenGL__wglGetShaderi($fsh, $i);
            if ($rt_suspending()) {
                break main;
            }
            $i = $tmp;
            if ($i == 1) {
                $ptr = 16;
                continue main;
            }
            $prog = nleo_FixedFunctionPipeline_LOGGER;
            $pp = $rt_s(1915);
            $extProviderUserPointer = $rt_createArray(jl_Object, 1);
            $i = 0;
            $ptr = 19;
            continue main;
        case 15:
            $tmp = nleo_FixedFunctionPipeline_visualizeBits($coreBits);
            if ($rt_suspending()) {
                break main;
            }
            $pp = $tmp;
            if ($enableExt && $extBits) {
                $ptr = 26;
                continue main;
            }
            $t = $rt_s(3);
            $extSource = $extProviderUserPointer.data;
            $macrosStr = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($macrosStr);
            $ptr = 21;
            continue main;
        case 16:
            $tmp = nlei_PlatformOpenGL__wglCreateProgram();
            if ($rt_suspending()) {
                break main;
            }
            $prog = $tmp;
            $ptr = 17;
        case 17:
            nlei_PlatformOpenGL__wglAttachShader($prog, $vsh);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 18;
        case 18:
            nlei_PlatformOpenGL__wglAttachShader($prog, $fsh);
            if ($rt_suspending()) {
                break main;
            }
            $pp = null;
            $t = null;
            try {
                $macrosStr = new nleo_FixedFunctionPipeline;
                $pp = $macrosStr;
                $ptr = 20;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_IllegalStateException) {
                    $t = $$je;
                } else {
                    throw $$e;
                }
            }
            $macrosStr = $pp;
            $ptr = 41;
            continue main;
        case 19:
            $tmp = nleo_FixedFunctionPipeline_visualizeBits($coreBits);
            if ($rt_suspending()) {
                break main;
            }
            $vshSource = $tmp;
            if ($enableExt && $extBits) {
                $ptr = 35;
                continue main;
            }
            $fshSource = $rt_s(3);
            $extSource = $extProviderUserPointer.data;
            $t = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($t);
            $ptr = 30;
            continue main;
        case 20:
            a: {
                try {
                    nleo_FixedFunctionPipeline__init_($macrosStr, $coreBits, $extBits, $prog);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_IllegalStateException) {
                        $t = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $macrosStr = $pp;
            }
            $ptr = 41;
            continue main;
        case 21:
            $tmp = jl_StringBuilder_append($macrosStr, $pp);
            if ($rt_suspending()) {
                break main;
            }
            $pp = $tmp;
            $ptr = 22;
        case 22:
            jl_StringBuilder_append($pp, $t);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 23;
        case 23:
            $tmp = jl_AbstractStringBuilder_toString($macrosStr);
            if ($rt_suspending()) {
                break main;
            }
            $pp = $tmp;
            $extSource[$i] = $pp;
            $ptr = 24;
        case 24:
            oall_Logger_error($fsh, $prog, $extProviderUserPointer);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 25;
        case 25:
            $tmp = nlei_PlatformOpenGL__wglGetShaderInfoLog($vsh);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            if ($log === null) {
                $ptr = 39;
                continue main;
            }
            $fsh = $rt_s(550);
            $ptr = 40;
            continue main;
        case 26:
            $tmp = nleo_FixedFunctionPipeline_visualizeBits($extBits);
            if ($rt_suspending()) {
                break main;
            }
            $t = $tmp;
            $macrosStr = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($macrosStr);
            $vshSource = $rt_s(1916);
            $ptr = 27;
        case 27:
            $tmp = jl_StringBuilder_append($macrosStr, $vshSource);
            if ($rt_suspending()) {
                break main;
            }
            $vshSource = $tmp;
            $ptr = 28;
        case 28:
            jl_StringBuilder_append($vshSource, $t);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 29;
        case 29:
            $tmp = jl_AbstractStringBuilder_toString($macrosStr);
            if ($rt_suspending()) {
                break main;
            }
            $t = $tmp;
            $extSource = $extProviderUserPointer.data;
            $macrosStr = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($macrosStr);
            $ptr = 21;
            continue main;
        case 30:
            $tmp = jl_StringBuilder_append($t, $vshSource);
            if ($rt_suspending()) {
                break main;
            }
            $macrosStr = $tmp;
            $ptr = 31;
        case 31:
            jl_StringBuilder_append($macrosStr, $fshSource);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 32;
        case 32:
            $tmp = jl_AbstractStringBuilder_toString($t);
            if ($rt_suspending()) {
                break main;
            }
            $t = $tmp;
            $extSource[$i] = $t;
            $ptr = 33;
        case 33:
            oall_Logger_error($prog, $pp, $extProviderUserPointer);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 34;
        case 34:
            $tmp = nlei_PlatformOpenGL__wglGetShaderInfoLog($fsh);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            if ($log === null) {
                $ptr = 45;
                continue main;
            }
            $prog = $rt_s(550);
            $ptr = 47;
            continue main;
        case 35:
            $tmp = nleo_FixedFunctionPipeline_visualizeBits($extBits);
            if ($rt_suspending()) {
                break main;
            }
            $fshSource = $tmp;
            $t = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($t);
            $macrosStr = $rt_s(1916);
            $ptr = 36;
        case 36:
            $tmp = jl_StringBuilder_append($t, $macrosStr);
            if ($rt_suspending()) {
                break main;
            }
            $macrosStr = $tmp;
            $ptr = 37;
        case 37:
            jl_StringBuilder_append($macrosStr, $fshSource);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 38;
        case 38:
            $tmp = jl_AbstractStringBuilder_toString($t);
            if ($rt_suspending()) {
                break main;
            }
            $fshSource = $tmp;
            $extSource = $extProviderUserPointer.data;
            $t = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($t);
            $ptr = 30;
            continue main;
        case 39:
            nlei_PlatformOpenGL__wglDeleteShader($vsh);
            if ($rt_suspending()) {
                break main;
            }
            $vsh = new jl_IllegalStateException;
            jl_Throwable__init_($vsh, $rt_s(1917));
            $rt_throw($vsh);
        case 40:
            $tmp = jl_String_split($log, $fsh);
            if ($rt_suspending()) {
                break main;
            }
            $lines = $tmp;
            $i = 0;
            $extProviderUserPointer = $lines.data;
            if ($i >= $extProviderUserPointer.length) {
                $ptr = 39;
                continue main;
            }
            $fsh = nleo_FixedFunctionPipeline_LOGGER;
            $prog = $rt_s(551);
            $extSource = $rt_createArray(jl_Object, 1);
            $extSource.data[0] = $extProviderUserPointer[$i];
            $ptr = 49;
            continue main;
        case 41:
            nlei_PlatformOpenGL__wglDetachShader($prog, $vsh);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 42;
        case 42:
            nlei_PlatformOpenGL__wglDetachShader($prog, $fsh);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 43;
        case 43:
            nlei_PlatformOpenGL__wglDeleteShader($fsh);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 44;
        case 44:
            nlei_PlatformOpenGL__wglDeleteShader($vsh);
            if ($rt_suspending()) {
                break main;
            }
            if ($t !== null) {
                $ptr = 48;
                continue main;
            }
            if ($extProviderUserPointer !== null) {
                $macrosStr.$extensionPointer = $extProviderUserPointer;
                nleo_FixedFunctionPipeline_extensionProvider.$initializeNewShader($prog, $macrosStr.$stateCoreBits, $macrosStr.$stateExtBits, $extProviderUserPointer);
            }
            $vsh = nleo_FixedFunctionPipeline_pipelineListTracker;
            $ptr = 50;
            continue main;
        case 45:
            nlei_PlatformOpenGL__wglDeleteShader($fsh);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 46;
        case 46:
            nlei_PlatformOpenGL__wglDeleteShader($vsh);
            if ($rt_suspending()) {
                break main;
            }
            $vsh = new jl_IllegalStateException;
            jl_Throwable__init_($vsh, $rt_s(1918));
            $rt_throw($vsh);
        case 47:
            $tmp = jl_String_split($log, $prog);
            if ($rt_suspending()) {
                break main;
            }
            $lines = $tmp;
            $i = 0;
            $extProviderUserPointer = $lines.data;
            if ($i >= $extProviderUserPointer.length) {
                $ptr = 45;
                continue main;
            }
            $prog = nleo_FixedFunctionPipeline_LOGGER;
            $pp = $rt_s(560);
            $extSource = $rt_createArray(jl_Object, 1);
            $extSource.data[0] = $extProviderUserPointer[$i];
            $ptr = 51;
            continue main;
        case 48:
            nlei_PlatformOpenGL__wglDeleteProgram($prog);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw($t);
        case 49:
            oall_Logger_error($fsh, $prog, $extSource);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            $extProviderUserPointer = $lines.data;
            if ($i >= $extProviderUserPointer.length) {
                $ptr = 39;
                continue main;
            }
            $fsh = nleo_FixedFunctionPipeline_LOGGER;
            $prog = $rt_s(551);
            $extSource = $rt_createArray(jl_Object, 1);
            $extSource.data[0] = $extProviderUserPointer[$i];
            continue main;
        case 50:
            ju_ArrayList_add($vsh, $macrosStr);
            if ($rt_suspending()) {
                break main;
            }
            return $macrosStr;
        case 51:
            oall_Logger_error($prog, $pp, $extSource);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            $extProviderUserPointer = $lines.data;
            if ($i >= $extProviderUserPointer.length) {
                $ptr = 45;
                continue main;
            }
            $prog = nleo_FixedFunctionPipeline_LOGGER;
            $pp = $rt_s(560);
            $extSource = $rt_createArray(jl_Object, 1);
            $extSource.data[0] = $extProviderUserPointer[$i];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($coreBits, $extBits, $enableExt, $extProviderUserPointer, $extSource, $vshSource, $fshSource, $vsh, $macros, $i, $macrosStr, $fsh, $prog, $pp, $t, $log, $lines, $ptr);
    }
    function nleo_FixedFunctionPipeline_visualizeBits($i) {
        var $sb, $j, $l, var$5, $l_0, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$l_0 = $thread.pop();var$5 = $thread.pop();$l = $thread.pop();$j = $thread.pop();$sb = $thread.pop();$i = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_FixedFunctionPipeline_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!$i)
                return $rt_s(19);
            $sb = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($sb);
            $j = 0;
            $l = 0;
            while (true) {
                var$5 = $i & 1 << $j;
                if (var$5 <= 0)
                    $l_0 = $l;
                else {
                    $l_0 = $l + 1 | 0;
                    if ($l > 0)
                        jl_AbstractStringBuilder_append($sb, 32);
                    jl_AbstractStringBuilder_append0($sb, var$5);
                }
                $j = $j + 1 | 0;
                if ($i < 1 << $j)
                    break;
                $l = $l_0;
            }
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            $sb = $tmp;
            return $sb;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($i, $sb, $j, $l, var$5, $l_0, $ptr);
    }
    function nleo_FixedFunctionPipeline__init_($this, $bits, $extBits, $compiledProg) {
        var $index, $log, $i, var$7, $lines, var$9, var$10, var$11, var$12, var$13, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$lines = $thread.pop();var$7 = $thread.pop();$i = $thread.pop();$log = $thread.pop();$index = $thread.pop();$compiledProg = $thread.pop();$extBits = $thread.pop();$bits = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleo_FixedFunctionPipeline_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            jl_Object__init_0($this);
            $this.$stateColorR = (-999.0);
            $this.$stateColorG = (-999.0);
            $this.$stateColorB = (-999.0);
            $this.$stateColorA = (-999.0);
            $this.$stateColorSerial = (-1);
            $this.$stateShaderBlendSrcColorR = (-999.0);
            $this.$stateShaderBlendSrcColorG = (-999.0);
            $this.$stateShaderBlendSrcColorB = (-999.0);
            $this.$stateShaderBlendSrcColorA = (-999.0);
            $this.$stateShaderBlendAddColorR = (-999.0);
            $this.$stateShaderBlendAddColorG = (-999.0);
            $this.$stateShaderBlendAddColorB = (-999.0);
            $this.$stateShaderBlendAddColorA = (-999.0);
            $this.$stateShaderBlendColorSerial = (-1);
            $this.$stateAlphaTestRef = (-999.0);
            $this.$stateLightsVectorsArrayUniform4f = $rt_createArray(nlei_IUniformGL, 4);
            $this.$stateLightsEnabled = (-1);
            $this.$stateLightsVectors = $rt_createArray(nlev_Vector4f, 4);
            $this.$stateLightingSerial = (-1);
            $this.$stateLightingAmbientR = (-999.0);
            $this.$stateLightingAmbientG = (-999.0);
            $this.$stateLightingAmbientB = (-999.0);
            $this.$stateLightingAmbientSerial = (-1);
            $this.$stateNormalX = (-999.0);
            $this.$stateNormalY = (-999.0);
            $this.$stateNormalZ = (-999.0);
            $this.$stateNormalSerial = (-1);
            $this.$stateFogEXP = 0;
            $this.$stateFogDensity = (-999.0);
            $this.$stateFogStart = (-999.0);
            $this.$stateFogEnd = (-999.0);
            $this.$stateFogColorR = (-999.0);
            $this.$stateFogColorG = (-999.0);
            $this.$stateFogColorB = (-999.0);
            $this.$stateFogColorA = (-999.0);
            $this.$stateFogSerial = (-1);
            $this.$stateTexGenSPlane = (-1);
            $this.$stateTexGenSVector = nlev_Vector4f__init_2();
            $this.$stateTexGenTPlane = (-1);
            $this.$stateTexGenTVector = nlev_Vector4f__init_2();
            $this.$stateTexGenRPlane = (-1);
            $this.$stateTexGenRVector = nlev_Vector4f__init_2();
            $this.$stateTexGenQPlane = (-1);
            $this.$stateTexGenQVector = nlev_Vector4f__init_2();
            $this.$stateTexGenSerial = (-1);
            $this.$stateModelMatrixSerial = (-1);
            $this.$stateProjectionMatrixSerial = (-1);
            $this.$stateTextureMatrixSerial = $rt_createIntArray(8);
            $this.$stateTextureCoordsX = $rt_createFloatArray(8);
            $this.$stateTextureCoordsY = $rt_createFloatArray(8);
            $this.$stateTextureCoordsAccessSerial = $rt_createIntArray(8);
            $this.$stateTextureCoordsMatrixSerial = $rt_createIntArray(8);
            $this.$stateAnisotropicFixW = (-999.0);
            $this.$stateAnisotropicFixH = (-999.0);
            $this.$stateAnisotropicFixSerial = 0.0;
            $this.$currentVertexArray = null;
            $this.$shaderProgram = $compiledProg;
            $this.$stateHasAttribTexture = !($bits & 1) ? 0 : 1;
            $this.$stateHasAttribColor = !($bits & 2) ? 0 : 1;
            $this.$stateHasAttribNormal = !($bits & 4) ? 0 : 1;
            $this.$stateHasAttribLightmap = !($bits & 8) ? 0 : 1;
            $this.$stateCoreBits = $bits;
            $this.$stateExtBits = $extBits;
            $index = 0;
            $log = $rt_s(1919);
            $ptr = 2;
        case 2:
            nlei_PlatformOpenGL__wglBindAttribLocation($compiledProg, $index, $log);
            if ($rt_suspending()) {
                break main;
            }
            $i = 12;
            if ($this.$stateHasAttribColor) {
                $index = 1;
                $this.$attribColorIndex = $index;
                $this.$attribColorOffset = $i;
                $log = $rt_s(1920);
                $ptr = 3;
                continue main;
            }
            $this.$attribColorIndex = (-1);
            $this.$attribColorOffset = (-1);
            if ($this.$stateHasAttribTexture) {
                $index = $index + 1 | 0;
                $this.$attribTextureIndex = $index;
                $this.$attribTextureOffset = $i;
                $log = $rt_s(1921);
                $ptr = 4;
                continue main;
            }
            $this.$attribTextureIndex = (-1);
            $this.$attribTextureOffset = (-1);
            if ($this.$stateHasAttribNormal) {
                $index = $index + 1 | 0;
                $this.$attribNormalIndex = $index;
                $this.$attribNormalOffset = $i;
                $log = $rt_s(1922);
                $ptr = 5;
                continue main;
            }
            $this.$attribNormalIndex = (-1);
            $this.$attribNormalOffset = (-1);
            if ($this.$stateHasAttribLightmap) {
                $index = $index + 1 | 0;
                $this.$attribLightmapIndex = $index;
                $this.$attribLightmapOffset = $i;
                $log = $rt_s(1923);
                $ptr = 6;
                continue main;
            }
            $this.$attribLightmapIndex = (-1);
            $this.$attribLightmapOffset = (-1);
            $this.$attribStride = $i;
            $ptr = 7;
            continue main;
        case 3:
            nlei_PlatformOpenGL__wglBindAttribLocation($compiledProg, $index, $log);
            if ($rt_suspending()) {
                break main;
            }
            $i = 16;
            if ($this.$stateHasAttribTexture) {
                $index = $index + 1 | 0;
                $this.$attribTextureIndex = $index;
                $this.$attribTextureOffset = $i;
                $log = $rt_s(1921);
                $ptr = 4;
                continue main;
            }
            $this.$attribTextureIndex = (-1);
            $this.$attribTextureOffset = (-1);
            if ($this.$stateHasAttribNormal) {
                $index = $index + 1 | 0;
                $this.$attribNormalIndex = $index;
                $this.$attribNormalOffset = $i;
                $log = $rt_s(1922);
                $ptr = 5;
                continue main;
            }
            $this.$attribNormalIndex = (-1);
            $this.$attribNormalOffset = (-1);
            if ($this.$stateHasAttribLightmap) {
                $index = $index + 1 | 0;
                $this.$attribLightmapIndex = $index;
                $this.$attribLightmapOffset = $i;
                $log = $rt_s(1923);
                $ptr = 6;
                continue main;
            }
            $this.$attribLightmapIndex = (-1);
            $this.$attribLightmapOffset = (-1);
            $this.$attribStride = $i;
            $ptr = 7;
            continue main;
        case 4:
            nlei_PlatformOpenGL__wglBindAttribLocation($compiledProg, $index, $log);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 8 | 0;
            if ($this.$stateHasAttribNormal) {
                $index = $index + 1 | 0;
                $this.$attribNormalIndex = $index;
                $this.$attribNormalOffset = $i;
                $log = $rt_s(1922);
                $ptr = 5;
                continue main;
            }
            $this.$attribNormalIndex = (-1);
            $this.$attribNormalOffset = (-1);
            if ($this.$stateHasAttribLightmap) {
                $index = $index + 1 | 0;
                $this.$attribLightmapIndex = $index;
                $this.$attribLightmapOffset = $i;
                $log = $rt_s(1923);
                $ptr = 6;
                continue main;
            }
            $this.$attribLightmapIndex = (-1);
            $this.$attribLightmapOffset = (-1);
            $this.$attribStride = $i;
            $ptr = 7;
            continue main;
        case 5:
            nlei_PlatformOpenGL__wglBindAttribLocation($compiledProg, $index, $log);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 4 | 0;
            if ($this.$stateHasAttribLightmap) {
                $index = $index + 1 | 0;
                $this.$attribLightmapIndex = $index;
                $this.$attribLightmapOffset = $i;
                $log = $rt_s(1923);
                $ptr = 6;
                continue main;
            }
            $this.$attribLightmapIndex = (-1);
            $this.$attribLightmapOffset = (-1);
            $this.$attribStride = $i;
            $ptr = 7;
            continue main;
        case 6:
            nlei_PlatformOpenGL__wglBindAttribLocation($compiledProg, $index, $log);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 4 | 0;
            $this.$attribStride = $i;
            $ptr = 7;
        case 7:
            nlei_PlatformOpenGL__wglLinkProgram($compiledProg);
            if ($rt_suspending()) {
                break main;
            }
            $index = 35714;
            $ptr = 8;
        case 8:
            $tmp = nlei_PlatformOpenGL__wglGetProgrami($compiledProg, $index);
            if ($rt_suspending()) {
                break main;
            }
            $index = $tmp;
            if ($index != 1) {
                $log = nleo_FixedFunctionPipeline_LOGGER;
                var$7 = $rt_s(1924);
                $lines = $rt_createArray(jl_Object, 1);
                $index = 0;
                $ptr = 9;
                continue main;
            }
            $this.$streamBuffer = nleo_StreamBuffer__init_0(32768, 3, 8, nleo_FixedFunctionPipeline$_init_$lambda$_12_0__init_0($this));
            $this.$stateEnableTexture2D = !($bits & 16) ? 0 : 1;
            $this.$stateEnableLightmap = !($bits & 32) ? 0 : 1;
            $this.$stateEnableAlphaTest = !($bits & 64) ? 0 : 1;
            $this.$stateEnableMCLighting = !($bits & 128) ? 0 : 1;
            $this.$stateEnableEndPortal = !($bits & 256) ? 0 : 1;
            $this.$stateEnableAnisotropicFix = !($bits & 512) ? 0 : 1;
            $this.$stateEnableFog = !($bits & 1024) ? 0 : 1;
            $this.$stateEnableBlendAdd = !($bits & 2048) ? 0 : 1;
            $i = 0;
            while (true) {
                $lines = $this.$stateLightsVectors.data;
                if ($i >= $lines.length)
                    break;
                $lines[$i] = nlev_Vector4f__init_0((-999.0), (-999.0), (-999.0), 0.0);
                $i = $i + 1 | 0;
            }
            $i = 0;
            while (true) {
                $lines = $this.$stateTextureMatrixSerial.data;
                if ($i >= $lines.length)
                    break;
                $lines[$i] = (-1);
                $i = $i + 1 | 0;
            }
            $log = $rt_s(564);
            $ptr = 21;
            continue main;
        case 9:
            $tmp = nleo_FixedFunctionPipeline_visualizeBits($bits);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (nleo_FixedFunctionPipeline_extensionProvider !== null && $extBits) {
                $ptr = 15;
                continue main;
            }
            var$10 = $rt_s(3);
            var$11 = $lines.data;
            var$12 = jl_StringBuilder__init_0();
            $ptr = 10;
        case 10:
            $tmp = jl_StringBuilder_append(var$12, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            $ptr = 11;
        case 11:
            jl_StringBuilder_append(var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            $tmp = jl_StringBuilder_toString(var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            var$11[$index] = var$9;
            $ptr = 13;
        case 13:
            oall_Logger_error($log, var$7, $lines);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            $tmp = nlei_PlatformOpenGL__wglGetProgramInfoLog($compiledProg);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            if ($log === null)
                $rt_throw(jl_IllegalStateException__init_0($rt_s(1925)));
            $compiledProg = $rt_s(550);
            $ptr = 19;
            continue main;
        case 15:
            $tmp = nleo_FixedFunctionPipeline_visualizeBits($extBits);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            var$12 = jl_StringBuilder__init_0();
            var$13 = $rt_s(1916);
            $ptr = 16;
        case 16:
            $tmp = jl_StringBuilder_append(var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            $ptr = 17;
        case 17:
            jl_StringBuilder_append(var$13, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 18;
        case 18:
            $tmp = jl_StringBuilder_toString(var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            var$11 = $lines.data;
            var$12 = jl_StringBuilder__init_0();
            $ptr = 10;
            continue main;
        case 19:
            $tmp = jl_String_split($log, $compiledProg);
            if ($rt_suspending()) {
                break main;
            }
            $lines = $tmp;
            $i = 0;
            var$11 = $lines.data;
            if ($i >= var$11.length)
                $rt_throw(jl_IllegalStateException__init_0($rt_s(1925)));
            $compiledProg = nleo_FixedFunctionPipeline_LOGGER;
            $log = $rt_s(568);
            var$14 = $rt_createArray(jl_Object, 1);
            var$14.data[0] = var$11[$i];
            $ptr = 20;
        case 20:
            oall_Logger_error($compiledProg, $log, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            var$11 = $lines.data;
            if ($i >= var$11.length)
                $rt_throw(jl_IllegalStateException__init_0($rt_s(1925)));
            $compiledProg = nleo_FixedFunctionPipeline_LOGGER;
            $log = $rt_s(568);
            var$14 = $rt_createArray(jl_Object, 1);
            var$14.data[0] = var$11[$i];
            continue main;
        case 21:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateColorUniform4f = $log;
            if ($this.$stateEnableAlphaTest) {
                $log = $rt_s(1926);
                $ptr = 22;
                continue main;
            }
            $this.$stateAlphaTestUniform1f = null;
            if ($this.$stateEnableMCLighting) {
                $log = $rt_s(1927);
                $ptr = 23;
                continue main;
            }
            $this.$stateLightsEnabledUniform1i = null;
            if ($this.$stateEnableMCLighting) {
                $i = 0;
                $extBits = 93;
                $lines = $this.$stateLightsVectorsArrayUniform4f.data;
                if ($i < $lines.length) {
                    $log = jl_StringBuilder__init_0();
                    var$7 = $rt_s(1928);
                    $ptr = 25;
                    continue main;
                }
            }
            if ($this.$stateEnableMCLighting) {
                $log = $rt_s(1929);
                $ptr = 24;
                continue main;
            }
            $this.$stateLightingAmbientUniform3f = null;
            if (!$this.$stateHasAttribNormal && $this.$stateEnableMCLighting) {
                $log = $rt_s(1930);
                $ptr = 28;
                continue main;
            }
            $this.$stateNormalUniform3f = null;
            if ($this.$stateEnableFog) {
                $log = $rt_s(1931);
                $ptr = 29;
                continue main;
            }
            $this.$stateFogParamUniform4f = null;
            if ($this.$stateEnableFog) {
                $log = $rt_s(1932);
                $ptr = 30;
                continue main;
            }
            $this.$stateFogColorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1933);
                $ptr = 31;
                continue main;
            }
            $this.$stateTexGenPlaneUniform4i = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1934);
                $ptr = 32;
                continue main;
            }
            $this.$stateTexGenSVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1935);
                $ptr = 33;
                continue main;
            }
            $this.$stateTexGenTVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1936);
                $ptr = 34;
                continue main;
            }
            $this.$stateTexGenRVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1937);
                $ptr = 35;
                continue main;
            }
            $this.$stateTexGenQVectorUniform4f = null;
            $log = $rt_s(1938);
            $ptr = 36;
            continue main;
        case 22:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateAlphaTestUniform1f = $log;
            if ($this.$stateEnableMCLighting) {
                $log = $rt_s(1927);
                $ptr = 23;
                continue main;
            }
            $this.$stateLightsEnabledUniform1i = null;
            if ($this.$stateEnableMCLighting) {
                $i = 0;
                $extBits = 93;
                $lines = $this.$stateLightsVectorsArrayUniform4f.data;
                if ($i < $lines.length) {
                    $log = jl_StringBuilder__init_0();
                    var$7 = $rt_s(1928);
                    $ptr = 25;
                    continue main;
                }
            }
            if ($this.$stateEnableMCLighting) {
                $log = $rt_s(1929);
                $ptr = 24;
                continue main;
            }
            $this.$stateLightingAmbientUniform3f = null;
            if (!$this.$stateHasAttribNormal && $this.$stateEnableMCLighting) {
                $log = $rt_s(1930);
                $ptr = 28;
                continue main;
            }
            $this.$stateNormalUniform3f = null;
            if ($this.$stateEnableFog) {
                $log = $rt_s(1931);
                $ptr = 29;
                continue main;
            }
            $this.$stateFogParamUniform4f = null;
            if ($this.$stateEnableFog) {
                $log = $rt_s(1932);
                $ptr = 30;
                continue main;
            }
            $this.$stateFogColorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1933);
                $ptr = 31;
                continue main;
            }
            $this.$stateTexGenPlaneUniform4i = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1934);
                $ptr = 32;
                continue main;
            }
            $this.$stateTexGenSVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1935);
                $ptr = 33;
                continue main;
            }
            $this.$stateTexGenTVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1936);
                $ptr = 34;
                continue main;
            }
            $this.$stateTexGenRVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1937);
                $ptr = 35;
                continue main;
            }
            $this.$stateTexGenQVectorUniform4f = null;
            $log = $rt_s(1938);
            $ptr = 36;
            continue main;
        case 23:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateLightsEnabledUniform1i = $log;
            if ($this.$stateEnableMCLighting) {
                $i = 0;
                $extBits = 93;
                $lines = $this.$stateLightsVectorsArrayUniform4f.data;
                if ($i < $lines.length) {
                    $log = jl_StringBuilder__init_0();
                    var$7 = $rt_s(1928);
                    $ptr = 25;
                    continue main;
                }
            }
            if ($this.$stateEnableMCLighting) {
                $log = $rt_s(1929);
                $ptr = 24;
                continue main;
            }
            $this.$stateLightingAmbientUniform3f = null;
            if (!$this.$stateHasAttribNormal && $this.$stateEnableMCLighting) {
                $log = $rt_s(1930);
                $ptr = 28;
                continue main;
            }
            $this.$stateNormalUniform3f = null;
            if ($this.$stateEnableFog) {
                $log = $rt_s(1931);
                $ptr = 29;
                continue main;
            }
            $this.$stateFogParamUniform4f = null;
            if ($this.$stateEnableFog) {
                $log = $rt_s(1932);
                $ptr = 30;
                continue main;
            }
            $this.$stateFogColorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1933);
                $ptr = 31;
                continue main;
            }
            $this.$stateTexGenPlaneUniform4i = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1934);
                $ptr = 32;
                continue main;
            }
            $this.$stateTexGenSVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1935);
                $ptr = 33;
                continue main;
            }
            $this.$stateTexGenTVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1936);
                $ptr = 34;
                continue main;
            }
            $this.$stateTexGenRVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1937);
                $ptr = 35;
                continue main;
            }
            $this.$stateTexGenQVectorUniform4f = null;
            $log = $rt_s(1938);
            $ptr = 36;
            continue main;
        case 24:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateLightingAmbientUniform3f = $log;
            if (!$this.$stateHasAttribNormal && $this.$stateEnableMCLighting) {
                $log = $rt_s(1930);
                $ptr = 28;
                continue main;
            }
            $this.$stateNormalUniform3f = null;
            if ($this.$stateEnableFog) {
                $log = $rt_s(1931);
                $ptr = 29;
                continue main;
            }
            $this.$stateFogParamUniform4f = null;
            if ($this.$stateEnableFog) {
                $log = $rt_s(1932);
                $ptr = 30;
                continue main;
            }
            $this.$stateFogColorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1933);
                $ptr = 31;
                continue main;
            }
            $this.$stateTexGenPlaneUniform4i = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1934);
                $ptr = 32;
                continue main;
            }
            $this.$stateTexGenSVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1935);
                $ptr = 33;
                continue main;
            }
            $this.$stateTexGenTVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1936);
                $ptr = 34;
                continue main;
            }
            $this.$stateTexGenRVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1937);
                $ptr = 35;
                continue main;
            }
            $this.$stateTexGenQVectorUniform4f = null;
            $log = $rt_s(1938);
            $ptr = 36;
            continue main;
        case 25:
            $tmp = jl_StringBuilder_append($log, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_StringBuilder_append5(jl_StringBuilder_append1(var$7, $i), $extBits);
            $ptr = 26;
        case 26:
            $tmp = jl_StringBuilder_toString($log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $ptr = 27;
        case 27:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $lines[$i] = $log;
            $i = $i + 1 | 0;
            $lines = $this.$stateLightsVectorsArrayUniform4f.data;
            if ($i < $lines.length) {
                $log = jl_StringBuilder__init_0();
                var$7 = $rt_s(1928);
                $ptr = 25;
                continue main;
            }
            if ($this.$stateEnableMCLighting) {
                $log = $rt_s(1929);
                $ptr = 24;
                continue main;
            }
            $this.$stateLightingAmbientUniform3f = null;
            if (!$this.$stateHasAttribNormal && $this.$stateEnableMCLighting) {
                $log = $rt_s(1930);
                $ptr = 28;
                continue main;
            }
            $this.$stateNormalUniform3f = null;
            if ($this.$stateEnableFog) {
                $log = $rt_s(1931);
                $ptr = 29;
                continue main;
            }
            $this.$stateFogParamUniform4f = null;
            if ($this.$stateEnableFog) {
                $log = $rt_s(1932);
                $ptr = 30;
                continue main;
            }
            $this.$stateFogColorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1933);
                $ptr = 31;
                continue main;
            }
            $this.$stateTexGenPlaneUniform4i = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1934);
                $ptr = 32;
                continue main;
            }
            $this.$stateTexGenSVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1935);
                $ptr = 33;
                continue main;
            }
            $this.$stateTexGenTVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1936);
                $ptr = 34;
                continue main;
            }
            $this.$stateTexGenRVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1937);
                $ptr = 35;
                continue main;
            }
            $this.$stateTexGenQVectorUniform4f = null;
            $log = $rt_s(1938);
            $ptr = 36;
            continue main;
        case 28:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateNormalUniform3f = $log;
            if ($this.$stateEnableFog) {
                $log = $rt_s(1931);
                $ptr = 29;
                continue main;
            }
            $this.$stateFogParamUniform4f = null;
            if ($this.$stateEnableFog) {
                $log = $rt_s(1932);
                $ptr = 30;
                continue main;
            }
            $this.$stateFogColorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1933);
                $ptr = 31;
                continue main;
            }
            $this.$stateTexGenPlaneUniform4i = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1934);
                $ptr = 32;
                continue main;
            }
            $this.$stateTexGenSVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1935);
                $ptr = 33;
                continue main;
            }
            $this.$stateTexGenTVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1936);
                $ptr = 34;
                continue main;
            }
            $this.$stateTexGenRVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1937);
                $ptr = 35;
                continue main;
            }
            $this.$stateTexGenQVectorUniform4f = null;
            $log = $rt_s(1938);
            $ptr = 36;
            continue main;
        case 29:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateFogParamUniform4f = $log;
            if ($this.$stateEnableFog) {
                $log = $rt_s(1932);
                $ptr = 30;
                continue main;
            }
            $this.$stateFogColorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1933);
                $ptr = 31;
                continue main;
            }
            $this.$stateTexGenPlaneUniform4i = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1934);
                $ptr = 32;
                continue main;
            }
            $this.$stateTexGenSVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1935);
                $ptr = 33;
                continue main;
            }
            $this.$stateTexGenTVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1936);
                $ptr = 34;
                continue main;
            }
            $this.$stateTexGenRVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1937);
                $ptr = 35;
                continue main;
            }
            $this.$stateTexGenQVectorUniform4f = null;
            $log = $rt_s(1938);
            $ptr = 36;
            continue main;
        case 30:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateFogColorUniform4f = $log;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1933);
                $ptr = 31;
                continue main;
            }
            $this.$stateTexGenPlaneUniform4i = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1934);
                $ptr = 32;
                continue main;
            }
            $this.$stateTexGenSVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1935);
                $ptr = 33;
                continue main;
            }
            $this.$stateTexGenTVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1936);
                $ptr = 34;
                continue main;
            }
            $this.$stateTexGenRVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1937);
                $ptr = 35;
                continue main;
            }
            $this.$stateTexGenQVectorUniform4f = null;
            $log = $rt_s(1938);
            $ptr = 36;
            continue main;
        case 31:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateTexGenPlaneUniform4i = $log;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1934);
                $ptr = 32;
                continue main;
            }
            $this.$stateTexGenSVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1935);
                $ptr = 33;
                continue main;
            }
            $this.$stateTexGenTVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1936);
                $ptr = 34;
                continue main;
            }
            $this.$stateTexGenRVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1937);
                $ptr = 35;
                continue main;
            }
            $this.$stateTexGenQVectorUniform4f = null;
            $log = $rt_s(1938);
            $ptr = 36;
            continue main;
        case 32:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateTexGenSVectorUniform4f = $log;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1935);
                $ptr = 33;
                continue main;
            }
            $this.$stateTexGenTVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1936);
                $ptr = 34;
                continue main;
            }
            $this.$stateTexGenRVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1937);
                $ptr = 35;
                continue main;
            }
            $this.$stateTexGenQVectorUniform4f = null;
            $log = $rt_s(1938);
            $ptr = 36;
            continue main;
        case 33:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateTexGenTVectorUniform4f = $log;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1936);
                $ptr = 34;
                continue main;
            }
            $this.$stateTexGenRVectorUniform4f = null;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1937);
                $ptr = 35;
                continue main;
            }
            $this.$stateTexGenQVectorUniform4f = null;
            $log = $rt_s(1938);
            $ptr = 36;
            continue main;
        case 34:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateTexGenRVectorUniform4f = $log;
            if ($this.$stateEnableEndPortal) {
                $log = $rt_s(1937);
                $ptr = 35;
                continue main;
            }
            $this.$stateTexGenQVectorUniform4f = null;
            $log = $rt_s(1938);
            $ptr = 36;
            continue main;
        case 35:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateTexGenQVectorUniform4f = $log;
            $log = $rt_s(1938);
            $ptr = 36;
        case 36:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateModelMatrixUniformMat4f = $log;
            $log = $rt_s(1939);
            $ptr = 37;
        case 37:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateProjectionMatrixUniformMat4f = $log;
            $log = $rt_s(1940);
            $ptr = 38;
        case 38:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateModelProjectionMatrixUniformMat4f = $log;
            if (!$this.$stateEnableEndPortal && !$this.$stateHasAttribTexture) {
                $this.$stateTextureMatrix01UniformMat4f = null;
                if ($this.$stateHasAttribLightmap) {
                    $log = $rt_s(1941);
                    $ptr = 40;
                    continue main;
                }
                $this.$stateTextureMatrix02UniformMat4f = null;
                if (!$this.$stateHasAttribTexture && $this.$stateEnableTexture2D) {
                    $log = $rt_s(1942);
                    $ptr = 41;
                    continue main;
                }
                $this.$stateTextureCoords01Uniform2f = null;
                if (!$this.$stateHasAttribLightmap && $this.$stateEnableLightmap) {
                    $log = $rt_s(1943);
                    $ptr = 42;
                    continue main;
                }
                $this.$stateTextureCoords02Uniform2f = null;
                if ($this.$stateEnableAnisotropicFix) {
                    $log = $rt_s(1944);
                    $ptr = 43;
                    continue main;
                }
                $this.$stateAnisotropicFix2f = null;
                if ($this.$stateEnableBlendAdd) {
                    $log = $rt_s(1945);
                    $ptr = 44;
                    continue main;
                }
                $this.$stateShaderBlendSrcColorUniform4f = null;
                if ($this.$stateEnableBlendAdd) {
                    $log = $rt_s(1946);
                    $ptr = 45;
                    continue main;
                }
                $this.$stateShaderBlendAddColorUniform4f = null;
                if ($this.$stateEnableTexture2D) {
                    $ptr = 46;
                    continue main;
                }
                if (!$this.$stateEnableLightmap)
                    return;
                $ptr = 49;
                continue main;
            }
            $log = $rt_s(1947);
            $ptr = 39;
        case 39:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateTextureMatrix01UniformMat4f = $log;
            if ($this.$stateHasAttribLightmap) {
                $log = $rt_s(1941);
                $ptr = 40;
                continue main;
            }
            $this.$stateTextureMatrix02UniformMat4f = null;
            if (!$this.$stateHasAttribTexture && $this.$stateEnableTexture2D) {
                $log = $rt_s(1942);
                $ptr = 41;
                continue main;
            }
            $this.$stateTextureCoords01Uniform2f = null;
            if (!$this.$stateHasAttribLightmap && $this.$stateEnableLightmap) {
                $log = $rt_s(1943);
                $ptr = 42;
                continue main;
            }
            $this.$stateTextureCoords02Uniform2f = null;
            if ($this.$stateEnableAnisotropicFix) {
                $log = $rt_s(1944);
                $ptr = 43;
                continue main;
            }
            $this.$stateAnisotropicFix2f = null;
            if ($this.$stateEnableBlendAdd) {
                $log = $rt_s(1945);
                $ptr = 44;
                continue main;
            }
            $this.$stateShaderBlendSrcColorUniform4f = null;
            if ($this.$stateEnableBlendAdd) {
                $log = $rt_s(1946);
                $ptr = 45;
                continue main;
            }
            $this.$stateShaderBlendAddColorUniform4f = null;
            if ($this.$stateEnableTexture2D) {
                $ptr = 46;
                continue main;
            }
            if (!$this.$stateEnableLightmap)
                return;
            $ptr = 49;
            continue main;
        case 40:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateTextureMatrix02UniformMat4f = $log;
            if (!$this.$stateHasAttribTexture && $this.$stateEnableTexture2D) {
                $log = $rt_s(1942);
                $ptr = 41;
                continue main;
            }
            $this.$stateTextureCoords01Uniform2f = null;
            if (!$this.$stateHasAttribLightmap && $this.$stateEnableLightmap) {
                $log = $rt_s(1943);
                $ptr = 42;
                continue main;
            }
            $this.$stateTextureCoords02Uniform2f = null;
            if ($this.$stateEnableAnisotropicFix) {
                $log = $rt_s(1944);
                $ptr = 43;
                continue main;
            }
            $this.$stateAnisotropicFix2f = null;
            if ($this.$stateEnableBlendAdd) {
                $log = $rt_s(1945);
                $ptr = 44;
                continue main;
            }
            $this.$stateShaderBlendSrcColorUniform4f = null;
            if ($this.$stateEnableBlendAdd) {
                $log = $rt_s(1946);
                $ptr = 45;
                continue main;
            }
            $this.$stateShaderBlendAddColorUniform4f = null;
            if ($this.$stateEnableTexture2D) {
                $ptr = 46;
                continue main;
            }
            if (!$this.$stateEnableLightmap)
                return;
            $ptr = 49;
            continue main;
        case 41:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateTextureCoords01Uniform2f = $log;
            if (!$this.$stateHasAttribLightmap && $this.$stateEnableLightmap) {
                $log = $rt_s(1943);
                $ptr = 42;
                continue main;
            }
            $this.$stateTextureCoords02Uniform2f = null;
            if ($this.$stateEnableAnisotropicFix) {
                $log = $rt_s(1944);
                $ptr = 43;
                continue main;
            }
            $this.$stateAnisotropicFix2f = null;
            if ($this.$stateEnableBlendAdd) {
                $log = $rt_s(1945);
                $ptr = 44;
                continue main;
            }
            $this.$stateShaderBlendSrcColorUniform4f = null;
            if ($this.$stateEnableBlendAdd) {
                $log = $rt_s(1946);
                $ptr = 45;
                continue main;
            }
            $this.$stateShaderBlendAddColorUniform4f = null;
            if ($this.$stateEnableTexture2D) {
                $ptr = 46;
                continue main;
            }
            if (!$this.$stateEnableLightmap)
                return;
            $ptr = 49;
            continue main;
        case 42:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateTextureCoords02Uniform2f = $log;
            if ($this.$stateEnableAnisotropicFix) {
                $log = $rt_s(1944);
                $ptr = 43;
                continue main;
            }
            $this.$stateAnisotropicFix2f = null;
            if ($this.$stateEnableBlendAdd) {
                $log = $rt_s(1945);
                $ptr = 44;
                continue main;
            }
            $this.$stateShaderBlendSrcColorUniform4f = null;
            if ($this.$stateEnableBlendAdd) {
                $log = $rt_s(1946);
                $ptr = 45;
                continue main;
            }
            $this.$stateShaderBlendAddColorUniform4f = null;
            if ($this.$stateEnableTexture2D) {
                $ptr = 46;
                continue main;
            }
            if (!$this.$stateEnableLightmap)
                return;
            $ptr = 49;
            continue main;
        case 43:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateAnisotropicFix2f = $log;
            if ($this.$stateEnableBlendAdd) {
                $log = $rt_s(1945);
                $ptr = 44;
                continue main;
            }
            $this.$stateShaderBlendSrcColorUniform4f = null;
            if ($this.$stateEnableBlendAdd) {
                $log = $rt_s(1946);
                $ptr = 45;
                continue main;
            }
            $this.$stateShaderBlendAddColorUniform4f = null;
            if ($this.$stateEnableTexture2D) {
                $ptr = 46;
                continue main;
            }
            if (!$this.$stateEnableLightmap)
                return;
            $ptr = 49;
            continue main;
        case 44:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateShaderBlendSrcColorUniform4f = $log;
            if ($this.$stateEnableBlendAdd) {
                $log = $rt_s(1946);
                $ptr = 45;
                continue main;
            }
            $this.$stateShaderBlendAddColorUniform4f = null;
            if ($this.$stateEnableTexture2D) {
                $ptr = 46;
                continue main;
            }
            if (!$this.$stateEnableLightmap)
                return;
            $ptr = 49;
            continue main;
        case 45:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $this.$stateShaderBlendAddColorUniform4f = $log;
            if ($this.$stateEnableTexture2D) {
                $ptr = 46;
                continue main;
            }
            if (!$this.$stateEnableLightmap)
                return;
            $ptr = 49;
            continue main;
        case 46:
            nleo_EaglercraftGPU_bindGLShaderProgram($compiledProg);
            if ($rt_suspending()) {
                break main;
            }
            $log = $rt_s(1948);
            $ptr = 47;
        case 47:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $log = $tmp;
            $bits = 0;
            $ptr = 48;
        case 48:
            nlei_PlatformOpenGL__wglUniform1i($log, $bits);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$stateEnableLightmap)
                return;
            $ptr = 49;
        case 49:
            nleo_EaglercraftGPU_bindGLShaderProgram($compiledProg);
            if ($rt_suspending()) {
                break main;
            }
            $log = $rt_s(1949);
            $ptr = 50;
        case 50:
            $tmp = nlei_PlatformOpenGL__wglGetUniformLocation($compiledProg, $log);
            if ($rt_suspending()) {
                break main;
            }
            $compiledProg = $tmp;
            $bits = 1;
            $ptr = 51;
        case 51:
            nlei_PlatformOpenGL__wglUniform1i($compiledProg, $bits);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $bits, $extBits, $compiledProg, $index, $log, $i, var$7, $lines, var$9, var$10, var$11, var$12, var$13, var$14, $ptr);
    }
    function nleo_FixedFunctionPipeline_update($this) {
        var $vecS, $serial, $r, $g, $b, $a, $ptr_0, $vecT, $ptr2, $serial2, $b_0, $v, $en, $x, $y, $lightsCounter, $i, var$18, $lightDirOld, $lightDirNew, $z, $w, $c, $fogEXP, $fogDensity, $fogStart, $fogEnd, $h, $planeS, $planeT, $planeR, $planeQ, $vecR, $vecQ, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$vecQ = $thread.pop();$vecR = $thread.pop();$planeQ = $thread.pop();$planeR = $thread.pop();$planeT = $thread.pop();$planeS = $thread.pop();$h = $thread.pop();$fogEnd = $thread.pop();$fogStart = $thread.pop();$fogDensity = $thread.pop();$fogEXP = $thread.pop();$c = $thread.pop();$w = $thread.pop();$z = $thread.pop();$lightDirNew = $thread.pop();$lightDirOld = $thread.pop();var$18 = $thread.pop();$i = $thread.pop();$lightsCounter = $thread.pop();$y = $thread.pop();$x = $thread.pop();$en
            = $thread.pop();$v = $thread.pop();$b_0 = $thread.pop();$serial2 = $thread.pop();$ptr2 = $thread.pop();$vecT = $thread.pop();$ptr_0 = $thread.pop();$a = $thread.pop();$b = $thread.pop();$g = $thread.pop();$r = $thread.pop();$serial = $thread.pop();$vecS = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $vecS = $this.$shaderProgram;
            $ptr = 1;
        case 1:
            nleo_EaglercraftGPU_bindGLShaderProgram($vecS);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            a: {
                nleo_GlStateManager_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                $serial = nleo_GlStateManager_stateColorSerial;
                if ($this.$stateColorSerial != $serial) {
                    $this.$stateColorSerial = $serial;
                    $r = nleo_GlStateManager_stateColorR;
                    $g = nleo_GlStateManager_stateColorG;
                    $b = nleo_GlStateManager_stateColorB;
                    $a = nleo_GlStateManager_stateColorA;
                    if ($this.$stateColorR !== $r)
                        break a;
                    if ($this.$stateColorG !== $g)
                        break a;
                    if ($this.$stateColorB !== $b)
                        break a;
                    if ($this.$stateColorA !== $a)
                        break a;
                }
                $ptr = 3;
                continue main;
            }
            $vecS = $this.$stateColorUniform4f;
            $ptr = 5;
            continue main;
        case 3:
            nleo_FixedFunctionPipeline_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nleo_FixedFunctionPipeline_matrixCopyBuffer === null) {
                $serial = 16;
                $ptr = 4;
                continue main;
            }
            b: {
                c: {
                    if ($this.$stateModelProjectionMatrixUniformMat4f === null) {
                        $ptr_0 = nleo_GlStateManager_modelMatrixStackPointer;
                        $serial = nleo_GlStateManager_modelMatrixStackAccessSerial.data[$ptr_0];
                        if ($this.$stateModelMatrixSerial != $serial) {
                            $this.$stateModelMatrixSerial = $serial;
                            nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                            $vecS = nleo_GlStateManager_modelMatrixStack.data[$ptr_0];
                            $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                            $ptr = 6;
                            continue main;
                        }
                        $serial = nleo_GlStateManager_projectionMatrixStackPointer;
                        $ptr_0 = nleo_GlStateManager_projectionMatrixStackAccessSerial.data[$serial];
                        if ($this.$stateProjectionMatrixSerial == $ptr_0)
                            break c;
                        $this.$stateProjectionMatrixSerial = $ptr_0;
                        nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                        $vecS = nleo_GlStateManager_projectionMatrixStack.data[$serial];
                        $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                        $ptr = 8;
                        continue main;
                    }
                    $ptr_0 = nleo_GlStateManager_modelMatrixStackPointer;
                    $serial = nleo_GlStateManager_modelMatrixStackAccessSerial.data[$ptr_0];
                    $ptr2 = nleo_GlStateManager_projectionMatrixStackPointer;
                    $serial2 = nleo_GlStateManager_projectionMatrixStackAccessSerial.data[$ptr2];
                    $b_0 = $this.$stateModelMatrixSerial == $serial ? 0 : 1;
                    if ($b_0)
                        break b;
                    if ($this.$stateProjectionMatrixSerial != $serial2)
                        break b;
                }
                if ($this.$stateEnableAlphaTest) {
                    $v = nleo_GlStateManager_stateAlphaTestRef;
                    if ($this.$stateAlphaTestRef !== $v) {
                        $this.$stateAlphaTestRef = $v;
                        $vecS = $this.$stateAlphaTestUniform1f;
                        $ptr = 12;
                        continue main;
                    }
                }
                d: {
                    if ($this.$stateEnableTexture2D) {
                        $serial = nleo_GlStateManager_textureMatrixStackPointer.data[0];
                        $ptr_0 = nleo_GlStateManager_textureMatrixStackAccessSerial.data[0].data[$serial];
                        if (!(!$this.$stateHasAttribTexture && !$this.$stateEnableEndPortal)) {
                            $en = $this.$stateTextureMatrixSerial.data;
                            if ($en[0] != $ptr_0) {
                                $en[0] = $ptr_0;
                                nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                                $vecS = nleo_GlStateManager_textureMatrixStack.data[0].data[$serial];
                                $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                                $ptr = 15;
                                continue main;
                            }
                        }
                        if (!$this.$stateHasAttribTexture && !$this.$stateEnableEndPortal) {
                            $serial2 = nleo_GlStateManager_textureCoordsAccessSerial.data[0];
                            $en = $this.$stateTextureCoordsAccessSerial.data;
                            if (!($en[0] == $serial2 && $this.$stateTextureCoordsMatrixSerial.data[0] == $ptr_0)) {
                                $en[0] = $serial2;
                                $this.$stateTextureCoordsMatrixSerial.data[0] = $ptr_0;
                                $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                $vecS.$x0 = nleo_GlStateManager_textureCoordsX.data[0];
                                $vecS.$y0 = nleo_GlStateManager_textureCoordsY.data[0];
                                $vecS.$z0 = 0.0;
                                $vecS.$w = 1.0;
                                nlev_Matrix4f_transform(nleo_GlStateManager_textureMatrixStack.data[0].data[$serial], $vecS, $vecS);
                                $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                $r = $vecS.$x0;
                                $g = $vecS.$w;
                                $x = $r / $g;
                                $y = $vecS.$y0 / $g;
                                $en = $this.$stateTextureCoordsX.data;
                                if ($x !== $en[0])
                                    break d;
                                if ($y !== $this.$stateTextureCoordsY.data[0])
                                    break d;
                            }
                        }
                    }
                    e: {
                        f: {
                            if ($this.$stateEnableLightmap) {
                                $serial = nleo_GlStateManager_textureMatrixStackPointer.data[1];
                                $ptr_0 = nleo_GlStateManager_textureMatrixStackAccessSerial.data[1].data[$serial];
                                if ($this.$stateHasAttribLightmap) {
                                    $en = $this.$stateTextureMatrixSerial.data;
                                    if ($en[1] == $ptr_0)
                                        break f;
                                    $en[1] = $ptr_0;
                                    nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                                    $vecS = nleo_GlStateManager_textureMatrixStack.data[1].data[$serial];
                                    $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                                    $ptr = 17;
                                    continue main;
                                }
                                $serial2 = nleo_GlStateManager_textureCoordsAccessSerial.data[1];
                                $en = $this.$stateTextureCoordsAccessSerial.data;
                                if (!($en[1] == $serial2 && $this.$stateTextureCoordsMatrixSerial.data[1] == $ptr_0)) {
                                    $en[1] = $serial2;
                                    $this.$stateTextureCoordsMatrixSerial.data[1] = $ptr_0;
                                    $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                    $vecS.$x0 = nleo_GlStateManager_textureCoordsX.data[1];
                                    $vecS.$y0 = nleo_GlStateManager_textureCoordsY.data[1];
                                    $vecS.$z0 = 0.0;
                                    $vecS.$w = 1.0;
                                    nlev_Matrix4f_transform(nleo_GlStateManager_textureMatrixStack.data[1].data[$serial], $vecS, $vecS);
                                    $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                    $r = $vecS.$x0;
                                    $g = $vecS.$w;
                                    $x = $r / $g;
                                    $y = $vecS.$y0 / $g;
                                    $en = $this.$stateTextureCoordsX.data;
                                    if ($x !== $en[1])
                                        break e;
                                    if ($y !== $this.$stateTextureCoordsY.data[1])
                                        break e;
                                }
                            }
                        }
                        g: {
                            h: {
                                if ($this.$stateEnableMCLighting) {
                                    $serial = nleo_GlStateManager_stateLightsStackPointer;
                                    $ptr_0 = nleo_GlStateManager_stateLightingSerial.data[$serial];
                                    if ($this.$stateLightingSerial != $ptr_0) {
                                        $this.$stateLightingSerial = $ptr_0;
                                        $en = nleo_GlStateManager_stateLightsEnabled.data[$serial];
                                        $lightsCounter = 0;
                                        $i = 0;
                                        i: {
                                            while (true) {
                                                var$18 = $en.data;
                                                if ($i >= var$18.length)
                                                    break;
                                                if (var$18[$i]) {
                                                    $lightDirOld = $this.$stateLightsVectors.data[$lightsCounter];
                                                    $lightDirNew = nleo_GlStateManager_stateLightsStack.data[$serial].data[$i];
                                                    $x = $lightDirNew.$x0;
                                                    $y = $lightDirNew.$y0;
                                                    $z = $lightDirNew.$z0;
                                                    $w = $lightDirNew.$w;
                                                    if ($lightDirOld.$x0 !== $x)
                                                        break g;
                                                    if ($lightDirOld.$y0 !== $y)
                                                        break g;
                                                    if ($lightDirOld.$z0 !== $z)
                                                        break g;
                                                    if ($lightDirOld.$w !== $w)
                                                        break g;
                                                    $lightsCounter = $lightsCounter + 1 | 0;
                                                    if ($lightsCounter >= $this.$stateLightsVectors.data.length)
                                                        break i;
                                                }
                                                $i = $i + 1 | 0;
                                            }
                                        }
                                        if ($this.$stateLightsEnabled != $lightsCounter) {
                                            $this.$stateLightsEnabled = $lightsCounter;
                                            $vecS = $this.$stateLightsEnabledUniform1i;
                                            $ptr = 24;
                                            continue main;
                                        }
                                    }
                                    $serial = nleo_GlStateManager_stateLightingAmbientSerial;
                                    if ($this.$stateLightingAmbientSerial != $serial) {
                                        $this.$stateLightingAmbientSerial = $serial;
                                        $r = nleo_GlStateManager_stateLightingAmbientR;
                                        $g = nleo_GlStateManager_stateLightingAmbientG;
                                        $b = nleo_GlStateManager_stateLightingAmbientB;
                                        if ($this.$stateLightingAmbientR !== $r)
                                            break h;
                                        if ($this.$stateLightingAmbientG !== $g)
                                            break h;
                                        if ($this.$stateLightingAmbientB !== $b)
                                            break h;
                                    }
                                }
                                j: {
                                    if ($this.$stateEnableMCLighting && !$this.$stateHasAttribNormal) {
                                        $serial = nleo_GlStateManager_stateNormalSerial;
                                        if ($this.$stateNormalSerial != $serial) {
                                            $this.$stateNormalSerial = $serial;
                                            $x = nleo_GlStateManager_stateNormalX;
                                            $y = nleo_GlStateManager_stateNormalY;
                                            $z = nleo_GlStateManager_stateNormalZ;
                                            $c = 1.0 / nms_MathHelper_sqrt_float($x * $x + $y * $y + $z * $z);
                                            $r = $x * $c;
                                            $g = $y * $c;
                                            $b = $z * $c;
                                            if ($this.$stateNormalX !== $r)
                                                break j;
                                            if ($this.$stateNormalY !== $g)
                                                break j;
                                            if ($this.$stateNormalZ !== $b)
                                                break j;
                                        }
                                    }
                                    k: {
                                        l: {
                                            if ($this.$stateEnableFog) {
                                                $serial = nleo_GlStateManager_stateFogSerial;
                                                if ($this.$stateFogSerial != $serial) {
                                                    $this.$stateFogSerial = $serial;
                                                    $fogEXP = nleo_GlStateManager_stateFogEXP;
                                                    $fogDensity = nleo_GlStateManager_stateFogDensity;
                                                    $fogStart = nleo_GlStateManager_stateFogStart;
                                                    $fogEnd = nleo_GlStateManager_stateFogEnd;
                                                    if ($this.$stateFogEXP == $fogEXP && $this.$stateFogDensity === $fogDensity && $this.$stateFogStart === $fogStart && $this.$stateFogEnd === $fogEnd) {
                                                        $r = nleo_GlStateManager_stateFogColorR;
                                                        $g = nleo_GlStateManager_stateFogColorG;
                                                        $b = nleo_GlStateManager_stateFogColorB;
                                                        $a = nleo_GlStateManager_stateFogColorA;
                                                        if ($this.$stateFogColorR !== $r)
                                                            break k;
                                                        if ($this.$stateFogColorG !== $g)
                                                            break k;
                                                        if ($this.$stateFogColorB !== $b)
                                                            break k;
                                                        if ($this.$stateFogColorA === $a)
                                                            break l;
                                                        else
                                                            break k;
                                                    }
                                                    $this.$stateFogEXP = $fogEXP;
                                                    $this.$stateFogDensity = $fogDensity;
                                                    $this.$stateFogStart = $fogStart;
                                                    $this.$stateFogEnd = $fogEnd;
                                                    $vecS = $this.$stateFogParamUniform4f;
                                                    $r = !$fogEXP ? 0.0 : 1.0;
                                                    $ptr = 26;
                                                    continue main;
                                                }
                                            }
                                        }
                                        m: {
                                            if ($this.$stateEnableAnisotropicFix) {
                                                $serial = nleo_GlStateManager_stateAnisotropicFixSerial;
                                                $r = $this.$stateAnisotropicFixSerial;
                                                $g = $serial;
                                                if ($r !== $g) {
                                                    $this.$stateAnisotropicFixSerial = $g;
                                                    $w = nleo_GlStateManager_stateAnisotropicFixW;
                                                    $h = nleo_GlStateManager_stateAnisotropicFixH;
                                                    if ($this.$stateAnisotropicFixW !== $w)
                                                        break m;
                                                    if ($this.$stateAnisotropicFixH !== $h)
                                                        break m;
                                                }
                                            }
                                            n: {
                                                o: {
                                                    if ($this.$stateEnableEndPortal) {
                                                        $serial = nleo_GlStateManager_stateTexGenSerial;
                                                        if ($this.$stateTexGenSerial != $serial) {
                                                            $this.$stateTexGenSerial = $serial;
                                                            nleo_GlStateManager$TexGen_$callClinit();
                                                            $planeS = nleo_GlStateManager$TexGen_S.$plane;
                                                            $planeT = nleo_GlStateManager$TexGen_T.$plane;
                                                            $planeR = nleo_GlStateManager$TexGen_R.$plane;
                                                            $planeQ = nleo_GlStateManager$TexGen_Q.$plane;
                                                            if ($this.$stateTexGenSPlane == $planeS && $this.$stateTexGenTPlane == $planeT && $this.$stateTexGenRPlane == $planeR && $this.$stateTexGenQPlane == $planeQ) {
                                                                $vecS = nleo_GlStateManager$TexGen_S.$vector;
                                                                $vecT = $this.$stateTexGenSVector;
                                                                $r = $vecT.$x0;
                                                                $g = $vecS.$x0;
                                                                if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                                                                    $vecT = nleo_GlStateManager$TexGen_T.$vector;
                                                                    $vecS = $this.$stateTexGenTVector;
                                                                    $r = $vecS.$x0;
                                                                    $g = $vecT.$x0;
                                                                    if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                                                                        $vecR = nleo_GlStateManager$TexGen_R.$vector;
                                                                        $vecS = $this.$stateTexGenRVector;
                                                                        $r = $vecS.$x0;
                                                                        $g = $vecR.$x0;
                                                                        if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                                                                            $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                                                                            $vecS = $this.$stateTexGenQVector;
                                                                            $r = $vecS.$x0;
                                                                            $g = $vecQ.$x0;
                                                                            if ($r !== $g)
                                                                                break n;
                                                                            if ($vecS.$y0 !== $vecQ.$y0)
                                                                                break n;
                                                                            if ($vecS.$z0 !== $vecQ.$z0)
                                                                                break n;
                                                                            if ($vecS.$w === $vecQ.$w)
                                                                                break o;
                                                                            else
                                                                                break n;
                                                                        }
                                                                        $vecS.$x0 = $g;
                                                                        $vecS.$y0 = $vecR.$y0;
                                                                        $vecS.$z0 = $vecR.$z0;
                                                                        $vecS.$w = $vecR.$w;
                                                                        $vecS = $this.$stateTexGenRVectorUniform4f;
                                                                        $r = $vecR.$x0;
                                                                        $g = $vecR.$y0;
                                                                        $b = $vecR.$z0;
                                                                        $a = $vecR.$w;
                                                                        $ptr = 33;
                                                                        continue main;
                                                                    }
                                                                    $vecS.$x0 = $g;
                                                                    $vecS.$y0 = $vecT.$y0;
                                                                    $vecS.$z0 = $vecT.$z0;
                                                                    $vecS.$w = $vecT.$w;
                                                                    $vecS = $this.$stateTexGenTVectorUniform4f;
                                                                    $r = $vecT.$x0;
                                                                    $g = $vecT.$y0;
                                                                    $b = $vecT.$z0;
                                                                    $a = $vecT.$w;
                                                                    $ptr = 31;
                                                                    continue main;
                                                                }
                                                                $vecT.$x0 = $g;
                                                                $vecT.$y0 = $vecS.$y0;
                                                                $vecT.$z0 = $vecS.$z0;
                                                                $vecT.$w = $vecS.$w;
                                                                $vecT = $this.$stateTexGenSVectorUniform4f;
                                                                $r = $vecS.$x0;
                                                                $g = $vecS.$y0;
                                                                $b = $vecS.$z0;
                                                                $a = $vecS.$w;
                                                                $ptr = 30;
                                                                continue main;
                                                            }
                                                            $this.$stateTexGenSPlane = $planeS;
                                                            $this.$stateTexGenTPlane = $planeT;
                                                            $this.$stateTexGenRPlane = $planeR;
                                                            $this.$stateTexGenQPlane = $planeQ;
                                                            $vecS = $this.$stateTexGenPlaneUniform4i;
                                                            $ptr_0 = $planeS != 9474 ? 0 : 1;
                                                            $ptr2 = $planeT != 9474 ? 0 : 1;
                                                            $serial2 = $planeR != 9474 ? 0 : 1;
                                                            $serial = $planeQ != 9474 ? 0 : 1;
                                                            $ptr = 32;
                                                            continue main;
                                                        }
                                                    }
                                                }
                                                p: {
                                                    q: {
                                                        if ($this.$stateEnableBlendAdd) {
                                                            $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                                            if ($this.$stateShaderBlendColorSerial != $serial) {
                                                                $this.$stateShaderBlendColorSerial = $serial;
                                                                $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                                                $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                                                $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                                                $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                                                if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                                                    $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                                                    $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                                                    $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                                                    $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                                                    if ($this.$stateShaderBlendAddColorR !== $r)
                                                                        break p;
                                                                    if ($this.$stateShaderBlendAddColorG !== $g)
                                                                        break p;
                                                                    if ($this.$stateShaderBlendAddColorB !== $b)
                                                                        break p;
                                                                    if ($this.$stateShaderBlendAddColorA === $a)
                                                                        break q;
                                                                    else
                                                                        break p;
                                                                }
                                                                $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                                                $ptr = 27;
                                                                continue main;
                                                            }
                                                        }
                                                    }
                                                    $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                                                    if ($vecS !== null) {
                                                        $en = $this.$extensionPointer;
                                                        if ($en !== null)
                                                            $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                                                    }
                                                    return $this;
                                                }
                                                $vecS = $this.$stateShaderBlendAddColorUniform4f;
                                                $ptr = 29;
                                                continue main;
                                            }
                                            $vecS.$x0 = $g;
                                            $vecS.$y0 = $vecQ.$y0;
                                            $vecS.$z0 = $vecQ.$z0;
                                            $vecS.$w = $vecQ.$w;
                                            $vecS = $this.$stateTexGenQVectorUniform4f;
                                            $r = $vecQ.$x0;
                                            $g = $vecQ.$y0;
                                            $b = $vecQ.$z0;
                                            $a = $vecQ.$w;
                                            $ptr = 34;
                                            continue main;
                                        }
                                        $this.$stateAnisotropicFixW = $w;
                                        $this.$stateAnisotropicFixH = $h;
                                        $vecS = $this.$stateAnisotropicFix2f;
                                        $ptr = 23;
                                        continue main;
                                    }
                                    $this.$stateFogColorR = $r;
                                    $this.$stateFogColorG = $g;
                                    $this.$stateFogColorB = $b;
                                    $this.$stateFogColorA = $a;
                                    $vecS = $this.$stateFogColorUniform4f;
                                    $ptr = 28;
                                    continue main;
                                }
                                $this.$stateNormalX = $r;
                                $this.$stateNormalY = $g;
                                $this.$stateNormalZ = $b;
                                $vecS = $this.$stateNormalUniform3f;
                                $ptr = 21;
                                continue main;
                            }
                            $this.$stateLightingAmbientR = $r;
                            $this.$stateLightingAmbientG = $g;
                            $this.$stateLightingAmbientB = $b;
                            $vecS = $this.$stateLightingAmbientUniform3f;
                            $ptr = 20;
                            continue main;
                        }
                        $lightDirOld.$x0 = $x;
                        $lightDirOld.$y0 = $y;
                        $lightDirOld.$z0 = $z;
                        $lightDirOld.$w = $w;
                        $vecS = $this.$stateLightsVectorsArrayUniform4f.data[$lightsCounter];
                        $ptr = 25;
                        continue main;
                    }
                    $en[1] = $x;
                    $this.$stateTextureCoordsY.data[1] = $y;
                    $vecS = $this.$stateTextureCoords02Uniform2f;
                    $ptr = 19;
                    continue main;
                }
                $en[0] = $x;
                $this.$stateTextureCoordsY.data[0] = $y;
                $vecS = $this.$stateTextureCoords01Uniform2f;
                $ptr = 22;
                continue main;
            }
            $this.$stateModelMatrixSerial = $serial;
            $this.$stateProjectionMatrixSerial = $serial2;
            if ($b_0 && $this.$stateModelMatrixUniformMat4f !== null) {
                nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                $vecS = nleo_GlStateManager_modelMatrixStack.data[$ptr_0];
                $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                $ptr = 13;
                continue main;
            }
            nlev_Matrix4f_mul(nleo_GlStateManager_projectionMatrixStack.data[$ptr2], nleo_GlStateManager_modelMatrixStack.data[$ptr_0], nleo_FixedFunctionPipeline_tmpMatrixForInv);
            nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
            $vecS = nleo_FixedFunctionPipeline_tmpMatrixForInv;
            $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
            $ptr = 10;
            continue main;
        case 4:
            $tmp = nlei_PlatformRuntime_allocateFloatBuffer($serial);
            if ($rt_suspending()) {
                break main;
            }
            $vecS = $tmp;
            nleo_FixedFunctionPipeline_matrixCopyBuffer = $vecS;
            a: {
                b: {
                    if ($this.$stateModelProjectionMatrixUniformMat4f === null) {
                        $ptr_0 = nleo_GlStateManager_modelMatrixStackPointer;
                        $serial = nleo_GlStateManager_modelMatrixStackAccessSerial.data[$ptr_0];
                        if ($this.$stateModelMatrixSerial != $serial) {
                            $this.$stateModelMatrixSerial = $serial;
                            nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                            $vecS = nleo_GlStateManager_modelMatrixStack.data[$ptr_0];
                            $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                            $ptr = 6;
                            continue main;
                        }
                        $serial = nleo_GlStateManager_projectionMatrixStackPointer;
                        $ptr_0 = nleo_GlStateManager_projectionMatrixStackAccessSerial.data[$serial];
                        if ($this.$stateProjectionMatrixSerial == $ptr_0)
                            break b;
                        $this.$stateProjectionMatrixSerial = $ptr_0;
                        nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                        $vecS = nleo_GlStateManager_projectionMatrixStack.data[$serial];
                        $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                        $ptr = 8;
                        continue main;
                    }
                    $ptr_0 = nleo_GlStateManager_modelMatrixStackPointer;
                    $serial = nleo_GlStateManager_modelMatrixStackAccessSerial.data[$ptr_0];
                    $ptr2 = nleo_GlStateManager_projectionMatrixStackPointer;
                    $serial2 = nleo_GlStateManager_projectionMatrixStackAccessSerial.data[$ptr2];
                    $b_0 = $this.$stateModelMatrixSerial == $serial ? 0 : 1;
                    if ($b_0)
                        break a;
                    if ($this.$stateProjectionMatrixSerial != $serial2)
                        break a;
                }
                if ($this.$stateEnableAlphaTest) {
                    $v = nleo_GlStateManager_stateAlphaTestRef;
                    if ($this.$stateAlphaTestRef !== $v) {
                        $this.$stateAlphaTestRef = $v;
                        $vecS = $this.$stateAlphaTestUniform1f;
                        $ptr = 12;
                        continue main;
                    }
                }
                r: {
                    if ($this.$stateEnableTexture2D) {
                        $serial = nleo_GlStateManager_textureMatrixStackPointer.data[0];
                        $ptr_0 = nleo_GlStateManager_textureMatrixStackAccessSerial.data[0].data[$serial];
                        if (!(!$this.$stateHasAttribTexture && !$this.$stateEnableEndPortal)) {
                            $en = $this.$stateTextureMatrixSerial.data;
                            if ($en[0] != $ptr_0) {
                                $en[0] = $ptr_0;
                                nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                                $vecS = nleo_GlStateManager_textureMatrixStack.data[0].data[$serial];
                                $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                                $ptr = 15;
                                continue main;
                            }
                        }
                        if (!$this.$stateHasAttribTexture && !$this.$stateEnableEndPortal) {
                            $serial2 = nleo_GlStateManager_textureCoordsAccessSerial.data[0];
                            $en = $this.$stateTextureCoordsAccessSerial.data;
                            if (!($en[0] == $serial2 && $this.$stateTextureCoordsMatrixSerial.data[0] == $ptr_0)) {
                                $en[0] = $serial2;
                                $this.$stateTextureCoordsMatrixSerial.data[0] = $ptr_0;
                                $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                $vecS.$x0 = nleo_GlStateManager_textureCoordsX.data[0];
                                $vecS.$y0 = nleo_GlStateManager_textureCoordsY.data[0];
                                $vecS.$z0 = 0.0;
                                $vecS.$w = 1.0;
                                nlev_Matrix4f_transform(nleo_GlStateManager_textureMatrixStack.data[0].data[$serial], $vecS, $vecS);
                                $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                $r = $vecS.$x0;
                                $g = $vecS.$w;
                                $x = $r / $g;
                                $y = $vecS.$y0 / $g;
                                $en = $this.$stateTextureCoordsX.data;
                                if ($x !== $en[0])
                                    break r;
                                if ($y !== $this.$stateTextureCoordsY.data[0])
                                    break r;
                            }
                        }
                    }
                    s: {
                        e: {
                            if ($this.$stateEnableLightmap) {
                                $serial = nleo_GlStateManager_textureMatrixStackPointer.data[1];
                                $ptr_0 = nleo_GlStateManager_textureMatrixStackAccessSerial.data[1].data[$serial];
                                if ($this.$stateHasAttribLightmap) {
                                    $en = $this.$stateTextureMatrixSerial.data;
                                    if ($en[1] == $ptr_0)
                                        break e;
                                    $en[1] = $ptr_0;
                                    nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                                    $vecS = nleo_GlStateManager_textureMatrixStack.data[1].data[$serial];
                                    $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                                    $ptr = 17;
                                    continue main;
                                }
                                $serial2 = nleo_GlStateManager_textureCoordsAccessSerial.data[1];
                                $en = $this.$stateTextureCoordsAccessSerial.data;
                                if (!($en[1] == $serial2 && $this.$stateTextureCoordsMatrixSerial.data[1] == $ptr_0)) {
                                    $en[1] = $serial2;
                                    $this.$stateTextureCoordsMatrixSerial.data[1] = $ptr_0;
                                    $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                    $vecS.$x0 = nleo_GlStateManager_textureCoordsX.data[1];
                                    $vecS.$y0 = nleo_GlStateManager_textureCoordsY.data[1];
                                    $vecS.$z0 = 0.0;
                                    $vecS.$w = 1.0;
                                    nlev_Matrix4f_transform(nleo_GlStateManager_textureMatrixStack.data[1].data[$serial], $vecS, $vecS);
                                    $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                    $r = $vecS.$x0;
                                    $g = $vecS.$w;
                                    $x = $r / $g;
                                    $y = $vecS.$y0 / $g;
                                    $en = $this.$stateTextureCoordsX.data;
                                    if ($x !== $en[1])
                                        break s;
                                    if ($y !== $this.$stateTextureCoordsY.data[1])
                                        break s;
                                }
                            }
                        }
                        t: {
                            g: {
                                if ($this.$stateEnableMCLighting) {
                                    $serial = nleo_GlStateManager_stateLightsStackPointer;
                                    $ptr_0 = nleo_GlStateManager_stateLightingSerial.data[$serial];
                                    if ($this.$stateLightingSerial != $ptr_0) {
                                        $this.$stateLightingSerial = $ptr_0;
                                        $en = nleo_GlStateManager_stateLightsEnabled.data[$serial];
                                        $lightsCounter = 0;
                                        $i = 0;
                                        u: {
                                            while (true) {
                                                var$18 = $en.data;
                                                if ($i >= var$18.length)
                                                    break;
                                                if (var$18[$i]) {
                                                    $lightDirOld = $this.$stateLightsVectors.data[$lightsCounter];
                                                    $lightDirNew = nleo_GlStateManager_stateLightsStack.data[$serial].data[$i];
                                                    $x = $lightDirNew.$x0;
                                                    $y = $lightDirNew.$y0;
                                                    $z = $lightDirNew.$z0;
                                                    $w = $lightDirNew.$w;
                                                    if ($lightDirOld.$x0 !== $x)
                                                        break t;
                                                    if ($lightDirOld.$y0 !== $y)
                                                        break t;
                                                    if ($lightDirOld.$z0 !== $z)
                                                        break t;
                                                    if ($lightDirOld.$w !== $w)
                                                        break t;
                                                    $lightsCounter = $lightsCounter + 1 | 0;
                                                    if ($lightsCounter >= $this.$stateLightsVectors.data.length)
                                                        break u;
                                                }
                                                $i = $i + 1 | 0;
                                            }
                                        }
                                        if ($this.$stateLightsEnabled != $lightsCounter) {
                                            $this.$stateLightsEnabled = $lightsCounter;
                                            $vecS = $this.$stateLightsEnabledUniform1i;
                                            $ptr = 24;
                                            continue main;
                                        }
                                    }
                                    $serial = nleo_GlStateManager_stateLightingAmbientSerial;
                                    if ($this.$stateLightingAmbientSerial != $serial) {
                                        $this.$stateLightingAmbientSerial = $serial;
                                        $r = nleo_GlStateManager_stateLightingAmbientR;
                                        $g = nleo_GlStateManager_stateLightingAmbientG;
                                        $b = nleo_GlStateManager_stateLightingAmbientB;
                                        if ($this.$stateLightingAmbientR !== $r)
                                            break g;
                                        if ($this.$stateLightingAmbientG !== $g)
                                            break g;
                                        if ($this.$stateLightingAmbientB !== $b)
                                            break g;
                                    }
                                }
                                v: {
                                    if ($this.$stateEnableMCLighting && !$this.$stateHasAttribNormal) {
                                        $serial = nleo_GlStateManager_stateNormalSerial;
                                        if ($this.$stateNormalSerial != $serial) {
                                            $this.$stateNormalSerial = $serial;
                                            $x = nleo_GlStateManager_stateNormalX;
                                            $y = nleo_GlStateManager_stateNormalY;
                                            $z = nleo_GlStateManager_stateNormalZ;
                                            $c = 1.0 / nms_MathHelper_sqrt_float($x * $x + $y * $y + $z * $z);
                                            $r = $x * $c;
                                            $g = $y * $c;
                                            $b = $z * $c;
                                            if ($this.$stateNormalX !== $r)
                                                break v;
                                            if ($this.$stateNormalY !== $g)
                                                break v;
                                            if ($this.$stateNormalZ !== $b)
                                                break v;
                                        }
                                    }
                                    w: {
                                        k: {
                                            if ($this.$stateEnableFog) {
                                                $serial = nleo_GlStateManager_stateFogSerial;
                                                if ($this.$stateFogSerial != $serial) {
                                                    $this.$stateFogSerial = $serial;
                                                    $fogEXP = nleo_GlStateManager_stateFogEXP;
                                                    $fogDensity = nleo_GlStateManager_stateFogDensity;
                                                    $fogStart = nleo_GlStateManager_stateFogStart;
                                                    $fogEnd = nleo_GlStateManager_stateFogEnd;
                                                    if ($this.$stateFogEXP == $fogEXP && $this.$stateFogDensity === $fogDensity && $this.$stateFogStart === $fogStart && $this.$stateFogEnd === $fogEnd) {
                                                        $r = nleo_GlStateManager_stateFogColorR;
                                                        $g = nleo_GlStateManager_stateFogColorG;
                                                        $b = nleo_GlStateManager_stateFogColorB;
                                                        $a = nleo_GlStateManager_stateFogColorA;
                                                        if ($this.$stateFogColorR !== $r)
                                                            break w;
                                                        if ($this.$stateFogColorG !== $g)
                                                            break w;
                                                        if ($this.$stateFogColorB !== $b)
                                                            break w;
                                                        if ($this.$stateFogColorA === $a)
                                                            break k;
                                                        else
                                                            break w;
                                                    }
                                                    $this.$stateFogEXP = $fogEXP;
                                                    $this.$stateFogDensity = $fogDensity;
                                                    $this.$stateFogStart = $fogStart;
                                                    $this.$stateFogEnd = $fogEnd;
                                                    $vecS = $this.$stateFogParamUniform4f;
                                                    $r = !$fogEXP ? 0.0 : 1.0;
                                                    $ptr = 26;
                                                    continue main;
                                                }
                                            }
                                        }
                                        x: {
                                            if ($this.$stateEnableAnisotropicFix) {
                                                $serial = nleo_GlStateManager_stateAnisotropicFixSerial;
                                                $r = $this.$stateAnisotropicFixSerial;
                                                $g = $serial;
                                                if ($r !== $g) {
                                                    $this.$stateAnisotropicFixSerial = $g;
                                                    $w = nleo_GlStateManager_stateAnisotropicFixW;
                                                    $h = nleo_GlStateManager_stateAnisotropicFixH;
                                                    if ($this.$stateAnisotropicFixW !== $w)
                                                        break x;
                                                    if ($this.$stateAnisotropicFixH !== $h)
                                                        break x;
                                                }
                                            }
                                            y: {
                                                n: {
                                                    if ($this.$stateEnableEndPortal) {
                                                        $serial = nleo_GlStateManager_stateTexGenSerial;
                                                        if ($this.$stateTexGenSerial != $serial) {
                                                            $this.$stateTexGenSerial = $serial;
                                                            nleo_GlStateManager$TexGen_$callClinit();
                                                            $planeS = nleo_GlStateManager$TexGen_S.$plane;
                                                            $planeT = nleo_GlStateManager$TexGen_T.$plane;
                                                            $planeR = nleo_GlStateManager$TexGen_R.$plane;
                                                            $planeQ = nleo_GlStateManager$TexGen_Q.$plane;
                                                            if ($this.$stateTexGenSPlane == $planeS && $this.$stateTexGenTPlane == $planeT && $this.$stateTexGenRPlane == $planeR && $this.$stateTexGenQPlane == $planeQ) {
                                                                $vecS = nleo_GlStateManager$TexGen_S.$vector;
                                                                $vecT = $this.$stateTexGenSVector;
                                                                $r = $vecT.$x0;
                                                                $g = $vecS.$x0;
                                                                if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                                                                    $vecT = nleo_GlStateManager$TexGen_T.$vector;
                                                                    $vecS = $this.$stateTexGenTVector;
                                                                    $r = $vecS.$x0;
                                                                    $g = $vecT.$x0;
                                                                    if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                                                                        $vecR = nleo_GlStateManager$TexGen_R.$vector;
                                                                        $vecS = $this.$stateTexGenRVector;
                                                                        $r = $vecS.$x0;
                                                                        $g = $vecR.$x0;
                                                                        if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                                                                            $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                                                                            $vecS = $this.$stateTexGenQVector;
                                                                            $r = $vecS.$x0;
                                                                            $g = $vecQ.$x0;
                                                                            if ($r !== $g)
                                                                                break y;
                                                                            if ($vecS.$y0 !== $vecQ.$y0)
                                                                                break y;
                                                                            if ($vecS.$z0 !== $vecQ.$z0)
                                                                                break y;
                                                                            if ($vecS.$w === $vecQ.$w)
                                                                                break n;
                                                                            else
                                                                                break y;
                                                                        }
                                                                        $vecS.$x0 = $g;
                                                                        $vecS.$y0 = $vecR.$y0;
                                                                        $vecS.$z0 = $vecR.$z0;
                                                                        $vecS.$w = $vecR.$w;
                                                                        $vecS = $this.$stateTexGenRVectorUniform4f;
                                                                        $r = $vecR.$x0;
                                                                        $g = $vecR.$y0;
                                                                        $b = $vecR.$z0;
                                                                        $a = $vecR.$w;
                                                                        $ptr = 33;
                                                                        continue main;
                                                                    }
                                                                    $vecS.$x0 = $g;
                                                                    $vecS.$y0 = $vecT.$y0;
                                                                    $vecS.$z0 = $vecT.$z0;
                                                                    $vecS.$w = $vecT.$w;
                                                                    $vecS = $this.$stateTexGenTVectorUniform4f;
                                                                    $r = $vecT.$x0;
                                                                    $g = $vecT.$y0;
                                                                    $b = $vecT.$z0;
                                                                    $a = $vecT.$w;
                                                                    $ptr = 31;
                                                                    continue main;
                                                                }
                                                                $vecT.$x0 = $g;
                                                                $vecT.$y0 = $vecS.$y0;
                                                                $vecT.$z0 = $vecS.$z0;
                                                                $vecT.$w = $vecS.$w;
                                                                $vecT = $this.$stateTexGenSVectorUniform4f;
                                                                $r = $vecS.$x0;
                                                                $g = $vecS.$y0;
                                                                $b = $vecS.$z0;
                                                                $a = $vecS.$w;
                                                                $ptr = 30;
                                                                continue main;
                                                            }
                                                            $this.$stateTexGenSPlane = $planeS;
                                                            $this.$stateTexGenTPlane = $planeT;
                                                            $this.$stateTexGenRPlane = $planeR;
                                                            $this.$stateTexGenQPlane = $planeQ;
                                                            $vecS = $this.$stateTexGenPlaneUniform4i;
                                                            $ptr_0 = $planeS != 9474 ? 0 : 1;
                                                            $ptr2 = $planeT != 9474 ? 0 : 1;
                                                            $serial2 = $planeR != 9474 ? 0 : 1;
                                                            $serial = $planeQ != 9474 ? 0 : 1;
                                                            $ptr = 32;
                                                            continue main;
                                                        }
                                                    }
                                                }
                                                z: {
                                                    p: {
                                                        if ($this.$stateEnableBlendAdd) {
                                                            $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                                            if ($this.$stateShaderBlendColorSerial != $serial) {
                                                                $this.$stateShaderBlendColorSerial = $serial;
                                                                $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                                                $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                                                $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                                                $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                                                if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                                                    $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                                                    $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                                                    $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                                                    $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                                                    if ($this.$stateShaderBlendAddColorR !== $r)
                                                                        break z;
                                                                    if ($this.$stateShaderBlendAddColorG !== $g)
                                                                        break z;
                                                                    if ($this.$stateShaderBlendAddColorB !== $b)
                                                                        break z;
                                                                    if ($this.$stateShaderBlendAddColorA === $a)
                                                                        break p;
                                                                    else
                                                                        break z;
                                                                }
                                                                $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                                                $ptr = 27;
                                                                continue main;
                                                            }
                                                        }
                                                    }
                                                    $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                                                    if ($vecS !== null) {
                                                        $en = $this.$extensionPointer;
                                                        if ($en !== null)
                                                            $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                                                    }
                                                    return $this;
                                                }
                                                $vecS = $this.$stateShaderBlendAddColorUniform4f;
                                                $ptr = 29;
                                                continue main;
                                            }
                                            $vecS.$x0 = $g;
                                            $vecS.$y0 = $vecQ.$y0;
                                            $vecS.$z0 = $vecQ.$z0;
                                            $vecS.$w = $vecQ.$w;
                                            $vecS = $this.$stateTexGenQVectorUniform4f;
                                            $r = $vecQ.$x0;
                                            $g = $vecQ.$y0;
                                            $b = $vecQ.$z0;
                                            $a = $vecQ.$w;
                                            $ptr = 34;
                                            continue main;
                                        }
                                        $this.$stateAnisotropicFixW = $w;
                                        $this.$stateAnisotropicFixH = $h;
                                        $vecS = $this.$stateAnisotropicFix2f;
                                        $ptr = 23;
                                        continue main;
                                    }
                                    $this.$stateFogColorR = $r;
                                    $this.$stateFogColorG = $g;
                                    $this.$stateFogColorB = $b;
                                    $this.$stateFogColorA = $a;
                                    $vecS = $this.$stateFogColorUniform4f;
                                    $ptr = 28;
                                    continue main;
                                }
                                $this.$stateNormalX = $r;
                                $this.$stateNormalY = $g;
                                $this.$stateNormalZ = $b;
                                $vecS = $this.$stateNormalUniform3f;
                                $ptr = 21;
                                continue main;
                            }
                            $this.$stateLightingAmbientR = $r;
                            $this.$stateLightingAmbientG = $g;
                            $this.$stateLightingAmbientB = $b;
                            $vecS = $this.$stateLightingAmbientUniform3f;
                            $ptr = 20;
                            continue main;
                        }
                        $lightDirOld.$x0 = $x;
                        $lightDirOld.$y0 = $y;
                        $lightDirOld.$z0 = $z;
                        $lightDirOld.$w = $w;
                        $vecS = $this.$stateLightsVectorsArrayUniform4f.data[$lightsCounter];
                        $ptr = 25;
                        continue main;
                    }
                    $en[1] = $x;
                    $this.$stateTextureCoordsY.data[1] = $y;
                    $vecS = $this.$stateTextureCoords02Uniform2f;
                    $ptr = 19;
                    continue main;
                }
                $en[0] = $x;
                $this.$stateTextureCoordsY.data[0] = $y;
                $vecS = $this.$stateTextureCoords01Uniform2f;
                $ptr = 22;
                continue main;
            }
            $this.$stateModelMatrixSerial = $serial;
            $this.$stateProjectionMatrixSerial = $serial2;
            if ($b_0 && $this.$stateModelMatrixUniformMat4f !== null) {
                nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                $vecS = nleo_GlStateManager_modelMatrixStack.data[$ptr_0];
                $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                $ptr = 13;
                continue main;
            }
            nlev_Matrix4f_mul(nleo_GlStateManager_projectionMatrixStack.data[$ptr2], nleo_GlStateManager_modelMatrixStack.data[$ptr_0], nleo_FixedFunctionPipeline_tmpMatrixForInv);
            nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
            $vecS = nleo_FixedFunctionPipeline_tmpMatrixForInv;
            $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
            $ptr = 10;
            continue main;
        case 5:
            nlei_PlatformOpenGL__wglUniform4f($vecS, $r, $g, $b, $a);
            if ($rt_suspending()) {
                break main;
            }
            $this.$stateColorR = $r;
            $this.$stateColorG = $g;
            $this.$stateColorB = $b;
            $this.$stateColorA = $a;
            $ptr = 3;
            continue main;
        case 6:
            nlev_Matrix4f_store($vecS, $vecT);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayFloatBuffer_flip(nleo_FixedFunctionPipeline_matrixCopyBuffer);
            $vecS = $this.$stateModelMatrixUniformMat4f;
            $serial = 0;
            $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
            $ptr = 7;
        case 7:
            nlei_PlatformOpenGL__wglUniformMatrix4fv($vecS, $serial, $vecT);
            if ($rt_suspending()) {
                break main;
            }
            $serial = nleo_GlStateManager_projectionMatrixStackPointer;
            $ptr_0 = nleo_GlStateManager_projectionMatrixStackAccessSerial.data[$serial];
            if ($this.$stateProjectionMatrixSerial != $ptr_0) {
                $this.$stateProjectionMatrixSerial = $ptr_0;
                nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                $vecS = nleo_GlStateManager_projectionMatrixStack.data[$serial];
                $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                $ptr = 8;
                continue main;
            }
            if ($this.$stateEnableAlphaTest) {
                $v = nleo_GlStateManager_stateAlphaTestRef;
                if ($this.$stateAlphaTestRef !== $v) {
                    $this.$stateAlphaTestRef = $v;
                    $vecS = $this.$stateAlphaTestUniform1f;
                    $ptr = 12;
                    continue main;
                }
            }
            c: {
                if ($this.$stateEnableTexture2D) {
                    $serial = nleo_GlStateManager_textureMatrixStackPointer.data[0];
                    $ptr_0 = nleo_GlStateManager_textureMatrixStackAccessSerial.data[0].data[$serial];
                    if (!(!$this.$stateHasAttribTexture && !$this.$stateEnableEndPortal)) {
                        $en = $this.$stateTextureMatrixSerial.data;
                        if ($en[0] != $ptr_0) {
                            $en[0] = $ptr_0;
                            nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                            $vecS = nleo_GlStateManager_textureMatrixStack.data[0].data[$serial];
                            $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                            $ptr = 15;
                            continue main;
                        }
                    }
                    if (!$this.$stateHasAttribTexture && !$this.$stateEnableEndPortal) {
                        $serial2 = nleo_GlStateManager_textureCoordsAccessSerial.data[0];
                        $en = $this.$stateTextureCoordsAccessSerial.data;
                        if (!($en[0] == $serial2 && $this.$stateTextureCoordsMatrixSerial.data[0] == $ptr_0)) {
                            $en[0] = $serial2;
                            $this.$stateTextureCoordsMatrixSerial.data[0] = $ptr_0;
                            $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                            $vecS.$x0 = nleo_GlStateManager_textureCoordsX.data[0];
                            $vecS.$y0 = nleo_GlStateManager_textureCoordsY.data[0];
                            $vecS.$z0 = 0.0;
                            $vecS.$w = 1.0;
                            nlev_Matrix4f_transform(nleo_GlStateManager_textureMatrixStack.data[0].data[$serial], $vecS, $vecS);
                            $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                            $r = $vecS.$x0;
                            $g = $vecS.$w;
                            $x = $r / $g;
                            $y = $vecS.$y0 / $g;
                            $en = $this.$stateTextureCoordsX.data;
                            if ($x !== $en[0])
                                break c;
                            if ($y !== $this.$stateTextureCoordsY.data[0])
                                break c;
                        }
                    }
                }
                r: {
                    d: {
                        if ($this.$stateEnableLightmap) {
                            $serial = nleo_GlStateManager_textureMatrixStackPointer.data[1];
                            $ptr_0 = nleo_GlStateManager_textureMatrixStackAccessSerial.data[1].data[$serial];
                            if ($this.$stateHasAttribLightmap) {
                                $en = $this.$stateTextureMatrixSerial.data;
                                if ($en[1] == $ptr_0)
                                    break d;
                                $en[1] = $ptr_0;
                                nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                                $vecS = nleo_GlStateManager_textureMatrixStack.data[1].data[$serial];
                                $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                                $ptr = 17;
                                continue main;
                            }
                            $serial2 = nleo_GlStateManager_textureCoordsAccessSerial.data[1];
                            $en = $this.$stateTextureCoordsAccessSerial.data;
                            if (!($en[1] == $serial2 && $this.$stateTextureCoordsMatrixSerial.data[1] == $ptr_0)) {
                                $en[1] = $serial2;
                                $this.$stateTextureCoordsMatrixSerial.data[1] = $ptr_0;
                                $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                $vecS.$x0 = nleo_GlStateManager_textureCoordsX.data[1];
                                $vecS.$y0 = nleo_GlStateManager_textureCoordsY.data[1];
                                $vecS.$z0 = 0.0;
                                $vecS.$w = 1.0;
                                nlev_Matrix4f_transform(nleo_GlStateManager_textureMatrixStack.data[1].data[$serial], $vecS, $vecS);
                                $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                $r = $vecS.$x0;
                                $g = $vecS.$w;
                                $x = $r / $g;
                                $y = $vecS.$y0 / $g;
                                $en = $this.$stateTextureCoordsX.data;
                                if ($x !== $en[1])
                                    break r;
                                if ($y !== $this.$stateTextureCoordsY.data[1])
                                    break r;
                            }
                        }
                    }
                    s: {
                        e: {
                            if ($this.$stateEnableMCLighting) {
                                $serial = nleo_GlStateManager_stateLightsStackPointer;
                                $ptr_0 = nleo_GlStateManager_stateLightingSerial.data[$serial];
                                if ($this.$stateLightingSerial != $ptr_0) {
                                    $this.$stateLightingSerial = $ptr_0;
                                    $en = nleo_GlStateManager_stateLightsEnabled.data[$serial];
                                    $lightsCounter = 0;
                                    $i = 0;
                                    ba: {
                                        while (true) {
                                            var$18 = $en.data;
                                            if ($i >= var$18.length)
                                                break;
                                            if (var$18[$i]) {
                                                $lightDirOld = $this.$stateLightsVectors.data[$lightsCounter];
                                                $lightDirNew = nleo_GlStateManager_stateLightsStack.data[$serial].data[$i];
                                                $x = $lightDirNew.$x0;
                                                $y = $lightDirNew.$y0;
                                                $z = $lightDirNew.$z0;
                                                $w = $lightDirNew.$w;
                                                if ($lightDirOld.$x0 !== $x)
                                                    break s;
                                                if ($lightDirOld.$y0 !== $y)
                                                    break s;
                                                if ($lightDirOld.$z0 !== $z)
                                                    break s;
                                                if ($lightDirOld.$w !== $w)
                                                    break s;
                                                $lightsCounter = $lightsCounter + 1 | 0;
                                                if ($lightsCounter >= $this.$stateLightsVectors.data.length)
                                                    break ba;
                                            }
                                            $i = $i + 1 | 0;
                                        }
                                    }
                                    if ($this.$stateLightsEnabled != $lightsCounter) {
                                        $this.$stateLightsEnabled = $lightsCounter;
                                        $vecS = $this.$stateLightsEnabledUniform1i;
                                        $ptr = 24;
                                        continue main;
                                    }
                                }
                                $serial = nleo_GlStateManager_stateLightingAmbientSerial;
                                if ($this.$stateLightingAmbientSerial != $serial) {
                                    $this.$stateLightingAmbientSerial = $serial;
                                    $r = nleo_GlStateManager_stateLightingAmbientR;
                                    $g = nleo_GlStateManager_stateLightingAmbientG;
                                    $b = nleo_GlStateManager_stateLightingAmbientB;
                                    if ($this.$stateLightingAmbientR !== $r)
                                        break e;
                                    if ($this.$stateLightingAmbientG !== $g)
                                        break e;
                                    if ($this.$stateLightingAmbientB !== $b)
                                        break e;
                                }
                            }
                            u: {
                                if ($this.$stateEnableMCLighting && !$this.$stateHasAttribNormal) {
                                    $serial = nleo_GlStateManager_stateNormalSerial;
                                    if ($this.$stateNormalSerial != $serial) {
                                        $this.$stateNormalSerial = $serial;
                                        $x = nleo_GlStateManager_stateNormalX;
                                        $y = nleo_GlStateManager_stateNormalY;
                                        $z = nleo_GlStateManager_stateNormalZ;
                                        $c = 1.0 / nms_MathHelper_sqrt_float($x * $x + $y * $y + $z * $z);
                                        $r = $x * $c;
                                        $g = $y * $c;
                                        $b = $z * $c;
                                        if ($this.$stateNormalX !== $r)
                                            break u;
                                        if ($this.$stateNormalY !== $g)
                                            break u;
                                        if ($this.$stateNormalZ !== $b)
                                            break u;
                                    }
                                }
                                bb: {
                                    bc: {
                                        if ($this.$stateEnableFog) {
                                            $serial = nleo_GlStateManager_stateFogSerial;
                                            if ($this.$stateFogSerial != $serial) {
                                                $this.$stateFogSerial = $serial;
                                                $fogEXP = nleo_GlStateManager_stateFogEXP;
                                                $fogDensity = nleo_GlStateManager_stateFogDensity;
                                                $fogStart = nleo_GlStateManager_stateFogStart;
                                                $fogEnd = nleo_GlStateManager_stateFogEnd;
                                                if ($this.$stateFogEXP == $fogEXP && $this.$stateFogDensity === $fogDensity && $this.$stateFogStart === $fogStart && $this.$stateFogEnd === $fogEnd) {
                                                    $r = nleo_GlStateManager_stateFogColorR;
                                                    $g = nleo_GlStateManager_stateFogColorG;
                                                    $b = nleo_GlStateManager_stateFogColorB;
                                                    $a = nleo_GlStateManager_stateFogColorA;
                                                    if ($this.$stateFogColorR !== $r)
                                                        break bb;
                                                    if ($this.$stateFogColorG !== $g)
                                                        break bb;
                                                    if ($this.$stateFogColorB !== $b)
                                                        break bb;
                                                    if ($this.$stateFogColorA === $a)
                                                        break bc;
                                                    else
                                                        break bb;
                                                }
                                                $this.$stateFogEXP = $fogEXP;
                                                $this.$stateFogDensity = $fogDensity;
                                                $this.$stateFogStart = $fogStart;
                                                $this.$stateFogEnd = $fogEnd;
                                                $vecS = $this.$stateFogParamUniform4f;
                                                $r = !$fogEXP ? 0.0 : 1.0;
                                                $ptr = 26;
                                                continue main;
                                            }
                                        }
                                    }
                                    k: {
                                        if ($this.$stateEnableAnisotropicFix) {
                                            $serial = nleo_GlStateManager_stateAnisotropicFixSerial;
                                            $r = $this.$stateAnisotropicFixSerial;
                                            $g = $serial;
                                            if ($r !== $g) {
                                                $this.$stateAnisotropicFixSerial = $g;
                                                $w = nleo_GlStateManager_stateAnisotropicFixW;
                                                $h = nleo_GlStateManager_stateAnisotropicFixH;
                                                if ($this.$stateAnisotropicFixW !== $w)
                                                    break k;
                                                if ($this.$stateAnisotropicFixH !== $h)
                                                    break k;
                                            }
                                        }
                                        bd: {
                                            be: {
                                                if ($this.$stateEnableEndPortal) {
                                                    $serial = nleo_GlStateManager_stateTexGenSerial;
                                                    if ($this.$stateTexGenSerial != $serial) {
                                                        $this.$stateTexGenSerial = $serial;
                                                        nleo_GlStateManager$TexGen_$callClinit();
                                                        $planeS = nleo_GlStateManager$TexGen_S.$plane;
                                                        $planeT = nleo_GlStateManager$TexGen_T.$plane;
                                                        $planeR = nleo_GlStateManager$TexGen_R.$plane;
                                                        $planeQ = nleo_GlStateManager$TexGen_Q.$plane;
                                                        if ($this.$stateTexGenSPlane == $planeS && $this.$stateTexGenTPlane == $planeT && $this.$stateTexGenRPlane == $planeR && $this.$stateTexGenQPlane == $planeQ) {
                                                            $vecS = nleo_GlStateManager$TexGen_S.$vector;
                                                            $vecT = $this.$stateTexGenSVector;
                                                            $r = $vecT.$x0;
                                                            $g = $vecS.$x0;
                                                            if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                                                                $vecT = nleo_GlStateManager$TexGen_T.$vector;
                                                                $vecS = $this.$stateTexGenTVector;
                                                                $r = $vecS.$x0;
                                                                $g = $vecT.$x0;
                                                                if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                                                                    $vecR = nleo_GlStateManager$TexGen_R.$vector;
                                                                    $vecS = $this.$stateTexGenRVector;
                                                                    $r = $vecS.$x0;
                                                                    $g = $vecR.$x0;
                                                                    if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                                                                        $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                                                                        $vecS = $this.$stateTexGenQVector;
                                                                        $r = $vecS.$x0;
                                                                        $g = $vecQ.$x0;
                                                                        if ($r !== $g)
                                                                            break bd;
                                                                        if ($vecS.$y0 !== $vecQ.$y0)
                                                                            break bd;
                                                                        if ($vecS.$z0 !== $vecQ.$z0)
                                                                            break bd;
                                                                        if ($vecS.$w === $vecQ.$w)
                                                                            break be;
                                                                        else
                                                                            break bd;
                                                                    }
                                                                    $vecS.$x0 = $g;
                                                                    $vecS.$y0 = $vecR.$y0;
                                                                    $vecS.$z0 = $vecR.$z0;
                                                                    $vecS.$w = $vecR.$w;
                                                                    $vecS = $this.$stateTexGenRVectorUniform4f;
                                                                    $r = $vecR.$x0;
                                                                    $g = $vecR.$y0;
                                                                    $b = $vecR.$z0;
                                                                    $a = $vecR.$w;
                                                                    $ptr = 33;
                                                                    continue main;
                                                                }
                                                                $vecS.$x0 = $g;
                                                                $vecS.$y0 = $vecT.$y0;
                                                                $vecS.$z0 = $vecT.$z0;
                                                                $vecS.$w = $vecT.$w;
                                                                $vecS = $this.$stateTexGenTVectorUniform4f;
                                                                $r = $vecT.$x0;
                                                                $g = $vecT.$y0;
                                                                $b = $vecT.$z0;
                                                                $a = $vecT.$w;
                                                                $ptr = 31;
                                                                continue main;
                                                            }
                                                            $vecT.$x0 = $g;
                                                            $vecT.$y0 = $vecS.$y0;
                                                            $vecT.$z0 = $vecS.$z0;
                                                            $vecT.$w = $vecS.$w;
                                                            $vecT = $this.$stateTexGenSVectorUniform4f;
                                                            $r = $vecS.$x0;
                                                            $g = $vecS.$y0;
                                                            $b = $vecS.$z0;
                                                            $a = $vecS.$w;
                                                            $ptr = 30;
                                                            continue main;
                                                        }
                                                        $this.$stateTexGenSPlane = $planeS;
                                                        $this.$stateTexGenTPlane = $planeT;
                                                        $this.$stateTexGenRPlane = $planeR;
                                                        $this.$stateTexGenQPlane = $planeQ;
                                                        $vecS = $this.$stateTexGenPlaneUniform4i;
                                                        $ptr_0 = $planeS != 9474 ? 0 : 1;
                                                        $ptr2 = $planeT != 9474 ? 0 : 1;
                                                        $serial2 = $planeR != 9474 ? 0 : 1;
                                                        $serial = $planeQ != 9474 ? 0 : 1;
                                                        $ptr = 32;
                                                        continue main;
                                                    }
                                                }
                                            }
                                            bf: {
                                                bg: {
                                                    if ($this.$stateEnableBlendAdd) {
                                                        $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                                        if ($this.$stateShaderBlendColorSerial != $serial) {
                                                            $this.$stateShaderBlendColorSerial = $serial;
                                                            $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                                            $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                                            $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                                            $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                                            if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                                                $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                                                $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                                                $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                                                $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                                                if ($this.$stateShaderBlendAddColorR !== $r)
                                                                    break bf;
                                                                if ($this.$stateShaderBlendAddColorG !== $g)
                                                                    break bf;
                                                                if ($this.$stateShaderBlendAddColorB !== $b)
                                                                    break bf;
                                                                if ($this.$stateShaderBlendAddColorA === $a)
                                                                    break bg;
                                                                else
                                                                    break bf;
                                                            }
                                                            $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                                            $ptr = 27;
                                                            continue main;
                                                        }
                                                    }
                                                }
                                                $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                                                if ($vecS !== null) {
                                                    $en = $this.$extensionPointer;
                                                    if ($en !== null)
                                                        $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                                                }
                                                return $this;
                                            }
                                            $vecS = $this.$stateShaderBlendAddColorUniform4f;
                                            $ptr = 29;
                                            continue main;
                                        }
                                        $vecS.$x0 = $g;
                                        $vecS.$y0 = $vecQ.$y0;
                                        $vecS.$z0 = $vecQ.$z0;
                                        $vecS.$w = $vecQ.$w;
                                        $vecS = $this.$stateTexGenQVectorUniform4f;
                                        $r = $vecQ.$x0;
                                        $g = $vecQ.$y0;
                                        $b = $vecQ.$z0;
                                        $a = $vecQ.$w;
                                        $ptr = 34;
                                        continue main;
                                    }
                                    $this.$stateAnisotropicFixW = $w;
                                    $this.$stateAnisotropicFixH = $h;
                                    $vecS = $this.$stateAnisotropicFix2f;
                                    $ptr = 23;
                                    continue main;
                                }
                                $this.$stateFogColorR = $r;
                                $this.$stateFogColorG = $g;
                                $this.$stateFogColorB = $b;
                                $this.$stateFogColorA = $a;
                                $vecS = $this.$stateFogColorUniform4f;
                                $ptr = 28;
                                continue main;
                            }
                            $this.$stateNormalX = $r;
                            $this.$stateNormalY = $g;
                            $this.$stateNormalZ = $b;
                            $vecS = $this.$stateNormalUniform3f;
                            $ptr = 21;
                            continue main;
                        }
                        $this.$stateLightingAmbientR = $r;
                        $this.$stateLightingAmbientG = $g;
                        $this.$stateLightingAmbientB = $b;
                        $vecS = $this.$stateLightingAmbientUniform3f;
                        $ptr = 20;
                        continue main;
                    }
                    $lightDirOld.$x0 = $x;
                    $lightDirOld.$y0 = $y;
                    $lightDirOld.$z0 = $z;
                    $lightDirOld.$w = $w;
                    $vecS = $this.$stateLightsVectorsArrayUniform4f.data[$lightsCounter];
                    $ptr = 25;
                    continue main;
                }
                $en[1] = $x;
                $this.$stateTextureCoordsY.data[1] = $y;
                $vecS = $this.$stateTextureCoords02Uniform2f;
                $ptr = 19;
                continue main;
            }
            $en[0] = $x;
            $this.$stateTextureCoordsY.data[0] = $y;
            $vecS = $this.$stateTextureCoords01Uniform2f;
            $ptr = 22;
            continue main;
        case 8:
            nlev_Matrix4f_store($vecS, $vecT);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayFloatBuffer_flip(nleo_FixedFunctionPipeline_matrixCopyBuffer);
            $vecS = $this.$stateProjectionMatrixUniformMat4f;
            $serial = 0;
            $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
            $ptr = 9;
        case 9:
            nlei_PlatformOpenGL__wglUniformMatrix4fv($vecS, $serial, $vecT);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$stateEnableAlphaTest) {
                $v = nleo_GlStateManager_stateAlphaTestRef;
                if ($this.$stateAlphaTestRef !== $v) {
                    $this.$stateAlphaTestRef = $v;
                    $vecS = $this.$stateAlphaTestUniform1f;
                    $ptr = 12;
                    continue main;
                }
            }
            b: {
                if ($this.$stateEnableTexture2D) {
                    $serial = nleo_GlStateManager_textureMatrixStackPointer.data[0];
                    $ptr_0 = nleo_GlStateManager_textureMatrixStackAccessSerial.data[0].data[$serial];
                    if (!(!$this.$stateHasAttribTexture && !$this.$stateEnableEndPortal)) {
                        $en = $this.$stateTextureMatrixSerial.data;
                        if ($en[0] != $ptr_0) {
                            $en[0] = $ptr_0;
                            nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                            $vecS = nleo_GlStateManager_textureMatrixStack.data[0].data[$serial];
                            $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                            $ptr = 15;
                            continue main;
                        }
                    }
                    if (!$this.$stateHasAttribTexture && !$this.$stateEnableEndPortal) {
                        $serial2 = nleo_GlStateManager_textureCoordsAccessSerial.data[0];
                        $en = $this.$stateTextureCoordsAccessSerial.data;
                        if (!($en[0] == $serial2 && $this.$stateTextureCoordsMatrixSerial.data[0] == $ptr_0)) {
                            $en[0] = $serial2;
                            $this.$stateTextureCoordsMatrixSerial.data[0] = $ptr_0;
                            $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                            $vecS.$x0 = nleo_GlStateManager_textureCoordsX.data[0];
                            $vecS.$y0 = nleo_GlStateManager_textureCoordsY.data[0];
                            $vecS.$z0 = 0.0;
                            $vecS.$w = 1.0;
                            nlev_Matrix4f_transform(nleo_GlStateManager_textureMatrixStack.data[0].data[$serial], $vecS, $vecS);
                            $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                            $r = $vecS.$x0;
                            $g = $vecS.$w;
                            $x = $r / $g;
                            $y = $vecS.$y0 / $g;
                            $en = $this.$stateTextureCoordsX.data;
                            if ($x !== $en[0])
                                break b;
                            if ($y !== $this.$stateTextureCoordsY.data[0])
                                break b;
                        }
                    }
                }
                bh: {
                    r: {
                        if ($this.$stateEnableLightmap) {
                            $serial = nleo_GlStateManager_textureMatrixStackPointer.data[1];
                            $ptr_0 = nleo_GlStateManager_textureMatrixStackAccessSerial.data[1].data[$serial];
                            if ($this.$stateHasAttribLightmap) {
                                $en = $this.$stateTextureMatrixSerial.data;
                                if ($en[1] == $ptr_0)
                                    break r;
                                $en[1] = $ptr_0;
                                nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                                $vecS = nleo_GlStateManager_textureMatrixStack.data[1].data[$serial];
                                $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                                $ptr = 17;
                                continue main;
                            }
                            $serial2 = nleo_GlStateManager_textureCoordsAccessSerial.data[1];
                            $en = $this.$stateTextureCoordsAccessSerial.data;
                            if (!($en[1] == $serial2 && $this.$stateTextureCoordsMatrixSerial.data[1] == $ptr_0)) {
                                $en[1] = $serial2;
                                $this.$stateTextureCoordsMatrixSerial.data[1] = $ptr_0;
                                $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                $vecS.$x0 = nleo_GlStateManager_textureCoordsX.data[1];
                                $vecS.$y0 = nleo_GlStateManager_textureCoordsY.data[1];
                                $vecS.$z0 = 0.0;
                                $vecS.$w = 1.0;
                                nlev_Matrix4f_transform(nleo_GlStateManager_textureMatrixStack.data[1].data[$serial], $vecS, $vecS);
                                $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                $r = $vecS.$x0;
                                $g = $vecS.$w;
                                $x = $r / $g;
                                $y = $vecS.$y0 / $g;
                                $en = $this.$stateTextureCoordsX.data;
                                if ($x !== $en[1])
                                    break bh;
                                if ($y !== $this.$stateTextureCoordsY.data[1])
                                    break bh;
                            }
                        }
                    }
                    bi: {
                        s: {
                            if ($this.$stateEnableMCLighting) {
                                $serial = nleo_GlStateManager_stateLightsStackPointer;
                                $ptr_0 = nleo_GlStateManager_stateLightingSerial.data[$serial];
                                if ($this.$stateLightingSerial != $ptr_0) {
                                    $this.$stateLightingSerial = $ptr_0;
                                    $en = nleo_GlStateManager_stateLightsEnabled.data[$serial];
                                    $lightsCounter = 0;
                                    $i = 0;
                                    bj: {
                                        while (true) {
                                            var$18 = $en.data;
                                            if ($i >= var$18.length)
                                                break;
                                            if (var$18[$i]) {
                                                $lightDirOld = $this.$stateLightsVectors.data[$lightsCounter];
                                                $lightDirNew = nleo_GlStateManager_stateLightsStack.data[$serial].data[$i];
                                                $x = $lightDirNew.$x0;
                                                $y = $lightDirNew.$y0;
                                                $z = $lightDirNew.$z0;
                                                $w = $lightDirNew.$w;
                                                if ($lightDirOld.$x0 !== $x)
                                                    break bi;
                                                if ($lightDirOld.$y0 !== $y)
                                                    break bi;
                                                if ($lightDirOld.$z0 !== $z)
                                                    break bi;
                                                if ($lightDirOld.$w !== $w)
                                                    break bi;
                                                $lightsCounter = $lightsCounter + 1 | 0;
                                                if ($lightsCounter >= $this.$stateLightsVectors.data.length)
                                                    break bj;
                                            }
                                            $i = $i + 1 | 0;
                                        }
                                    }
                                    if ($this.$stateLightsEnabled != $lightsCounter) {
                                        $this.$stateLightsEnabled = $lightsCounter;
                                        $vecS = $this.$stateLightsEnabledUniform1i;
                                        $ptr = 24;
                                        continue main;
                                    }
                                }
                                $serial = nleo_GlStateManager_stateLightingAmbientSerial;
                                if ($this.$stateLightingAmbientSerial != $serial) {
                                    $this.$stateLightingAmbientSerial = $serial;
                                    $r = nleo_GlStateManager_stateLightingAmbientR;
                                    $g = nleo_GlStateManager_stateLightingAmbientG;
                                    $b = nleo_GlStateManager_stateLightingAmbientB;
                                    if ($this.$stateLightingAmbientR !== $r)
                                        break s;
                                    if ($this.$stateLightingAmbientG !== $g)
                                        break s;
                                    if ($this.$stateLightingAmbientB !== $b)
                                        break s;
                                }
                            }
                            bk: {
                                if ($this.$stateEnableMCLighting && !$this.$stateHasAttribNormal) {
                                    $serial = nleo_GlStateManager_stateNormalSerial;
                                    if ($this.$stateNormalSerial != $serial) {
                                        $this.$stateNormalSerial = $serial;
                                        $x = nleo_GlStateManager_stateNormalX;
                                        $y = nleo_GlStateManager_stateNormalY;
                                        $z = nleo_GlStateManager_stateNormalZ;
                                        $c = 1.0 / nms_MathHelper_sqrt_float($x * $x + $y * $y + $z * $z);
                                        $r = $x * $c;
                                        $g = $y * $c;
                                        $b = $z * $c;
                                        if ($this.$stateNormalX !== $r)
                                            break bk;
                                        if ($this.$stateNormalY !== $g)
                                            break bk;
                                        if ($this.$stateNormalZ !== $b)
                                            break bk;
                                    }
                                }
                                i: {
                                    bb: {
                                        if ($this.$stateEnableFog) {
                                            $serial = nleo_GlStateManager_stateFogSerial;
                                            if ($this.$stateFogSerial != $serial) {
                                                $this.$stateFogSerial = $serial;
                                                $fogEXP = nleo_GlStateManager_stateFogEXP;
                                                $fogDensity = nleo_GlStateManager_stateFogDensity;
                                                $fogStart = nleo_GlStateManager_stateFogStart;
                                                $fogEnd = nleo_GlStateManager_stateFogEnd;
                                                if ($this.$stateFogEXP == $fogEXP && $this.$stateFogDensity === $fogDensity && $this.$stateFogStart === $fogStart && $this.$stateFogEnd === $fogEnd) {
                                                    $r = nleo_GlStateManager_stateFogColorR;
                                                    $g = nleo_GlStateManager_stateFogColorG;
                                                    $b = nleo_GlStateManager_stateFogColorB;
                                                    $a = nleo_GlStateManager_stateFogColorA;
                                                    if ($this.$stateFogColorR !== $r)
                                                        break i;
                                                    if ($this.$stateFogColorG !== $g)
                                                        break i;
                                                    if ($this.$stateFogColorB !== $b)
                                                        break i;
                                                    if ($this.$stateFogColorA === $a)
                                                        break bb;
                                                    else
                                                        break i;
                                                }
                                                $this.$stateFogEXP = $fogEXP;
                                                $this.$stateFogDensity = $fogDensity;
                                                $this.$stateFogStart = $fogStart;
                                                $this.$stateFogEnd = $fogEnd;
                                                $vecS = $this.$stateFogParamUniform4f;
                                                $r = !$fogEXP ? 0.0 : 1.0;
                                                $ptr = 26;
                                                continue main;
                                            }
                                        }
                                    }
                                    w: {
                                        if ($this.$stateEnableAnisotropicFix) {
                                            $serial = nleo_GlStateManager_stateAnisotropicFixSerial;
                                            $r = $this.$stateAnisotropicFixSerial;
                                            $g = $serial;
                                            if ($r !== $g) {
                                                $this.$stateAnisotropicFixSerial = $g;
                                                $w = nleo_GlStateManager_stateAnisotropicFixW;
                                                $h = nleo_GlStateManager_stateAnisotropicFixH;
                                                if ($this.$stateAnisotropicFixW !== $w)
                                                    break w;
                                                if ($this.$stateAnisotropicFixH !== $h)
                                                    break w;
                                            }
                                        }
                                        l: {
                                            bd: {
                                                if ($this.$stateEnableEndPortal) {
                                                    $serial = nleo_GlStateManager_stateTexGenSerial;
                                                    if ($this.$stateTexGenSerial != $serial) {
                                                        $this.$stateTexGenSerial = $serial;
                                                        nleo_GlStateManager$TexGen_$callClinit();
                                                        $planeS = nleo_GlStateManager$TexGen_S.$plane;
                                                        $planeT = nleo_GlStateManager$TexGen_T.$plane;
                                                        $planeR = nleo_GlStateManager$TexGen_R.$plane;
                                                        $planeQ = nleo_GlStateManager$TexGen_Q.$plane;
                                                        if ($this.$stateTexGenSPlane == $planeS && $this.$stateTexGenTPlane == $planeT && $this.$stateTexGenRPlane == $planeR && $this.$stateTexGenQPlane == $planeQ) {
                                                            $vecS = nleo_GlStateManager$TexGen_S.$vector;
                                                            $vecT = $this.$stateTexGenSVector;
                                                            $r = $vecT.$x0;
                                                            $g = $vecS.$x0;
                                                            if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                                                                $vecT = nleo_GlStateManager$TexGen_T.$vector;
                                                                $vecS = $this.$stateTexGenTVector;
                                                                $r = $vecS.$x0;
                                                                $g = $vecT.$x0;
                                                                if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                                                                    $vecR = nleo_GlStateManager$TexGen_R.$vector;
                                                                    $vecS = $this.$stateTexGenRVector;
                                                                    $r = $vecS.$x0;
                                                                    $g = $vecR.$x0;
                                                                    if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                                                                        $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                                                                        $vecS = $this.$stateTexGenQVector;
                                                                        $r = $vecS.$x0;
                                                                        $g = $vecQ.$x0;
                                                                        if ($r !== $g)
                                                                            break l;
                                                                        if ($vecS.$y0 !== $vecQ.$y0)
                                                                            break l;
                                                                        if ($vecS.$z0 !== $vecQ.$z0)
                                                                            break l;
                                                                        if ($vecS.$w === $vecQ.$w)
                                                                            break bd;
                                                                        else
                                                                            break l;
                                                                    }
                                                                    $vecS.$x0 = $g;
                                                                    $vecS.$y0 = $vecR.$y0;
                                                                    $vecS.$z0 = $vecR.$z0;
                                                                    $vecS.$w = $vecR.$w;
                                                                    $vecS = $this.$stateTexGenRVectorUniform4f;
                                                                    $r = $vecR.$x0;
                                                                    $g = $vecR.$y0;
                                                                    $b = $vecR.$z0;
                                                                    $a = $vecR.$w;
                                                                    $ptr = 33;
                                                                    continue main;
                                                                }
                                                                $vecS.$x0 = $g;
                                                                $vecS.$y0 = $vecT.$y0;
                                                                $vecS.$z0 = $vecT.$z0;
                                                                $vecS.$w = $vecT.$w;
                                                                $vecS = $this.$stateTexGenTVectorUniform4f;
                                                                $r = $vecT.$x0;
                                                                $g = $vecT.$y0;
                                                                $b = $vecT.$z0;
                                                                $a = $vecT.$w;
                                                                $ptr = 31;
                                                                continue main;
                                                            }
                                                            $vecT.$x0 = $g;
                                                            $vecT.$y0 = $vecS.$y0;
                                                            $vecT.$z0 = $vecS.$z0;
                                                            $vecT.$w = $vecS.$w;
                                                            $vecT = $this.$stateTexGenSVectorUniform4f;
                                                            $r = $vecS.$x0;
                                                            $g = $vecS.$y0;
                                                            $b = $vecS.$z0;
                                                            $a = $vecS.$w;
                                                            $ptr = 30;
                                                            continue main;
                                                        }
                                                        $this.$stateTexGenSPlane = $planeS;
                                                        $this.$stateTexGenTPlane = $planeT;
                                                        $this.$stateTexGenRPlane = $planeR;
                                                        $this.$stateTexGenQPlane = $planeQ;
                                                        $vecS = $this.$stateTexGenPlaneUniform4i;
                                                        $ptr_0 = $planeS != 9474 ? 0 : 1;
                                                        $ptr2 = $planeT != 9474 ? 0 : 1;
                                                        $serial2 = $planeR != 9474 ? 0 : 1;
                                                        $serial = $planeQ != 9474 ? 0 : 1;
                                                        $ptr = 32;
                                                        continue main;
                                                    }
                                                }
                                            }
                                            bl: {
                                                bf: {
                                                    if ($this.$stateEnableBlendAdd) {
                                                        $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                                        if ($this.$stateShaderBlendColorSerial != $serial) {
                                                            $this.$stateShaderBlendColorSerial = $serial;
                                                            $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                                            $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                                            $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                                            $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                                            if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                                                $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                                                $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                                                $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                                                $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                                                if ($this.$stateShaderBlendAddColorR !== $r)
                                                                    break bl;
                                                                if ($this.$stateShaderBlendAddColorG !== $g)
                                                                    break bl;
                                                                if ($this.$stateShaderBlendAddColorB !== $b)
                                                                    break bl;
                                                                if ($this.$stateShaderBlendAddColorA === $a)
                                                                    break bf;
                                                                else
                                                                    break bl;
                                                            }
                                                            $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                                            $ptr = 27;
                                                            continue main;
                                                        }
                                                    }
                                                }
                                                $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                                                if ($vecS !== null) {
                                                    $en = $this.$extensionPointer;
                                                    if ($en !== null)
                                                        $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                                                }
                                                return $this;
                                            }
                                            $vecS = $this.$stateShaderBlendAddColorUniform4f;
                                            $ptr = 29;
                                            continue main;
                                        }
                                        $vecS.$x0 = $g;
                                        $vecS.$y0 = $vecQ.$y0;
                                        $vecS.$z0 = $vecQ.$z0;
                                        $vecS.$w = $vecQ.$w;
                                        $vecS = $this.$stateTexGenQVectorUniform4f;
                                        $r = $vecQ.$x0;
                                        $g = $vecQ.$y0;
                                        $b = $vecQ.$z0;
                                        $a = $vecQ.$w;
                                        $ptr = 34;
                                        continue main;
                                    }
                                    $this.$stateAnisotropicFixW = $w;
                                    $this.$stateAnisotropicFixH = $h;
                                    $vecS = $this.$stateAnisotropicFix2f;
                                    $ptr = 23;
                                    continue main;
                                }
                                $this.$stateFogColorR = $r;
                                $this.$stateFogColorG = $g;
                                $this.$stateFogColorB = $b;
                                $this.$stateFogColorA = $a;
                                $vecS = $this.$stateFogColorUniform4f;
                                $ptr = 28;
                                continue main;
                            }
                            $this.$stateNormalX = $r;
                            $this.$stateNormalY = $g;
                            $this.$stateNormalZ = $b;
                            $vecS = $this.$stateNormalUniform3f;
                            $ptr = 21;
                            continue main;
                        }
                        $this.$stateLightingAmbientR = $r;
                        $this.$stateLightingAmbientG = $g;
                        $this.$stateLightingAmbientB = $b;
                        $vecS = $this.$stateLightingAmbientUniform3f;
                        $ptr = 20;
                        continue main;
                    }
                    $lightDirOld.$x0 = $x;
                    $lightDirOld.$y0 = $y;
                    $lightDirOld.$z0 = $z;
                    $lightDirOld.$w = $w;
                    $vecS = $this.$stateLightsVectorsArrayUniform4f.data[$lightsCounter];
                    $ptr = 25;
                    continue main;
                }
                $en[1] = $x;
                $this.$stateTextureCoordsY.data[1] = $y;
                $vecS = $this.$stateTextureCoords02Uniform2f;
                $ptr = 19;
                continue main;
            }
            $en[0] = $x;
            $this.$stateTextureCoordsY.data[0] = $y;
            $vecS = $this.$stateTextureCoords01Uniform2f;
            $ptr = 22;
            continue main;
        case 10:
            nlev_Matrix4f_store($vecS, $vecT);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayFloatBuffer_flip(nleo_FixedFunctionPipeline_matrixCopyBuffer);
            $vecS = $this.$stateModelProjectionMatrixUniformMat4f;
            $serial = 0;
            $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
            $ptr = 11;
        case 11:
            nlei_PlatformOpenGL__wglUniformMatrix4fv($vecS, $serial, $vecT);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$stateEnableAlphaTest) {
                $v = nleo_GlStateManager_stateAlphaTestRef;
                if ($this.$stateAlphaTestRef !== $v) {
                    $this.$stateAlphaTestRef = $v;
                    $vecS = $this.$stateAlphaTestUniform1f;
                    $ptr = 12;
                    continue main;
                }
            }
            b: {
                if ($this.$stateEnableTexture2D) {
                    $serial = nleo_GlStateManager_textureMatrixStackPointer.data[0];
                    $ptr_0 = nleo_GlStateManager_textureMatrixStackAccessSerial.data[0].data[$serial];
                    if (!(!$this.$stateHasAttribTexture && !$this.$stateEnableEndPortal)) {
                        $en = $this.$stateTextureMatrixSerial.data;
                        if ($en[0] != $ptr_0) {
                            $en[0] = $ptr_0;
                            nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                            $vecS = nleo_GlStateManager_textureMatrixStack.data[0].data[$serial];
                            $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                            $ptr = 15;
                            continue main;
                        }
                    }
                    if (!$this.$stateHasAttribTexture && !$this.$stateEnableEndPortal) {
                        $serial2 = nleo_GlStateManager_textureCoordsAccessSerial.data[0];
                        $en = $this.$stateTextureCoordsAccessSerial.data;
                        if (!($en[0] == $serial2 && $this.$stateTextureCoordsMatrixSerial.data[0] == $ptr_0)) {
                            $en[0] = $serial2;
                            $this.$stateTextureCoordsMatrixSerial.data[0] = $ptr_0;
                            $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                            $vecS.$x0 = nleo_GlStateManager_textureCoordsX.data[0];
                            $vecS.$y0 = nleo_GlStateManager_textureCoordsY.data[0];
                            $vecS.$z0 = 0.0;
                            $vecS.$w = 1.0;
                            nlev_Matrix4f_transform(nleo_GlStateManager_textureMatrixStack.data[0].data[$serial], $vecS, $vecS);
                            $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                            $r = $vecS.$x0;
                            $g = $vecS.$w;
                            $x = $r / $g;
                            $y = $vecS.$y0 / $g;
                            $en = $this.$stateTextureCoordsX.data;
                            if ($x !== $en[0])
                                break b;
                            if ($y !== $this.$stateTextureCoordsY.data[0])
                                break b;
                        }
                    }
                }
                bh: {
                    r: {
                        if ($this.$stateEnableLightmap) {
                            $serial = nleo_GlStateManager_textureMatrixStackPointer.data[1];
                            $ptr_0 = nleo_GlStateManager_textureMatrixStackAccessSerial.data[1].data[$serial];
                            if ($this.$stateHasAttribLightmap) {
                                $en = $this.$stateTextureMatrixSerial.data;
                                if ($en[1] == $ptr_0)
                                    break r;
                                $en[1] = $ptr_0;
                                nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                                $vecS = nleo_GlStateManager_textureMatrixStack.data[1].data[$serial];
                                $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                                $ptr = 17;
                                continue main;
                            }
                            $serial2 = nleo_GlStateManager_textureCoordsAccessSerial.data[1];
                            $en = $this.$stateTextureCoordsAccessSerial.data;
                            if (!($en[1] == $serial2 && $this.$stateTextureCoordsMatrixSerial.data[1] == $ptr_0)) {
                                $en[1] = $serial2;
                                $this.$stateTextureCoordsMatrixSerial.data[1] = $ptr_0;
                                $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                $vecS.$x0 = nleo_GlStateManager_textureCoordsX.data[1];
                                $vecS.$y0 = nleo_GlStateManager_textureCoordsY.data[1];
                                $vecS.$z0 = 0.0;
                                $vecS.$w = 1.0;
                                nlev_Matrix4f_transform(nleo_GlStateManager_textureMatrixStack.data[1].data[$serial], $vecS, $vecS);
                                $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                $r = $vecS.$x0;
                                $g = $vecS.$w;
                                $x = $r / $g;
                                $y = $vecS.$y0 / $g;
                                $en = $this.$stateTextureCoordsX.data;
                                if ($x !== $en[1])
                                    break bh;
                                if ($y !== $this.$stateTextureCoordsY.data[1])
                                    break bh;
                            }
                        }
                    }
                    bi: {
                        s: {
                            if ($this.$stateEnableMCLighting) {
                                $serial = nleo_GlStateManager_stateLightsStackPointer;
                                $ptr_0 = nleo_GlStateManager_stateLightingSerial.data[$serial];
                                if ($this.$stateLightingSerial != $ptr_0) {
                                    $this.$stateLightingSerial = $ptr_0;
                                    $en = nleo_GlStateManager_stateLightsEnabled.data[$serial];
                                    $lightsCounter = 0;
                                    $i = 0;
                                    bj: {
                                        while (true) {
                                            var$18 = $en.data;
                                            if ($i >= var$18.length)
                                                break;
                                            if (var$18[$i]) {
                                                $lightDirOld = $this.$stateLightsVectors.data[$lightsCounter];
                                                $lightDirNew = nleo_GlStateManager_stateLightsStack.data[$serial].data[$i];
                                                $x = $lightDirNew.$x0;
                                                $y = $lightDirNew.$y0;
                                                $z = $lightDirNew.$z0;
                                                $w = $lightDirNew.$w;
                                                if ($lightDirOld.$x0 !== $x)
                                                    break bi;
                                                if ($lightDirOld.$y0 !== $y)
                                                    break bi;
                                                if ($lightDirOld.$z0 !== $z)
                                                    break bi;
                                                if ($lightDirOld.$w !== $w)
                                                    break bi;
                                                $lightsCounter = $lightsCounter + 1 | 0;
                                                if ($lightsCounter >= $this.$stateLightsVectors.data.length)
                                                    break bj;
                                            }
                                            $i = $i + 1 | 0;
                                        }
                                    }
                                    if ($this.$stateLightsEnabled != $lightsCounter) {
                                        $this.$stateLightsEnabled = $lightsCounter;
                                        $vecS = $this.$stateLightsEnabledUniform1i;
                                        $ptr = 24;
                                        continue main;
                                    }
                                }
                                $serial = nleo_GlStateManager_stateLightingAmbientSerial;
                                if ($this.$stateLightingAmbientSerial != $serial) {
                                    $this.$stateLightingAmbientSerial = $serial;
                                    $r = nleo_GlStateManager_stateLightingAmbientR;
                                    $g = nleo_GlStateManager_stateLightingAmbientG;
                                    $b = nleo_GlStateManager_stateLightingAmbientB;
                                    if ($this.$stateLightingAmbientR !== $r)
                                        break s;
                                    if ($this.$stateLightingAmbientG !== $g)
                                        break s;
                                    if ($this.$stateLightingAmbientB !== $b)
                                        break s;
                                }
                            }
                            bk: {
                                if ($this.$stateEnableMCLighting && !$this.$stateHasAttribNormal) {
                                    $serial = nleo_GlStateManager_stateNormalSerial;
                                    if ($this.$stateNormalSerial != $serial) {
                                        $this.$stateNormalSerial = $serial;
                                        $x = nleo_GlStateManager_stateNormalX;
                                        $y = nleo_GlStateManager_stateNormalY;
                                        $z = nleo_GlStateManager_stateNormalZ;
                                        $c = 1.0 / nms_MathHelper_sqrt_float($x * $x + $y * $y + $z * $z);
                                        $r = $x * $c;
                                        $g = $y * $c;
                                        $b = $z * $c;
                                        if ($this.$stateNormalX !== $r)
                                            break bk;
                                        if ($this.$stateNormalY !== $g)
                                            break bk;
                                        if ($this.$stateNormalZ !== $b)
                                            break bk;
                                    }
                                }
                                i: {
                                    bb: {
                                        if ($this.$stateEnableFog) {
                                            $serial = nleo_GlStateManager_stateFogSerial;
                                            if ($this.$stateFogSerial != $serial) {
                                                $this.$stateFogSerial = $serial;
                                                $fogEXP = nleo_GlStateManager_stateFogEXP;
                                                $fogDensity = nleo_GlStateManager_stateFogDensity;
                                                $fogStart = nleo_GlStateManager_stateFogStart;
                                                $fogEnd = nleo_GlStateManager_stateFogEnd;
                                                if ($this.$stateFogEXP == $fogEXP && $this.$stateFogDensity === $fogDensity && $this.$stateFogStart === $fogStart && $this.$stateFogEnd === $fogEnd) {
                                                    $r = nleo_GlStateManager_stateFogColorR;
                                                    $g = nleo_GlStateManager_stateFogColorG;
                                                    $b = nleo_GlStateManager_stateFogColorB;
                                                    $a = nleo_GlStateManager_stateFogColorA;
                                                    if ($this.$stateFogColorR !== $r)
                                                        break i;
                                                    if ($this.$stateFogColorG !== $g)
                                                        break i;
                                                    if ($this.$stateFogColorB !== $b)
                                                        break i;
                                                    if ($this.$stateFogColorA === $a)
                                                        break bb;
                                                    else
                                                        break i;
                                                }
                                                $this.$stateFogEXP = $fogEXP;
                                                $this.$stateFogDensity = $fogDensity;
                                                $this.$stateFogStart = $fogStart;
                                                $this.$stateFogEnd = $fogEnd;
                                                $vecS = $this.$stateFogParamUniform4f;
                                                $r = !$fogEXP ? 0.0 : 1.0;
                                                $ptr = 26;
                                                continue main;
                                            }
                                        }
                                    }
                                    w: {
                                        if ($this.$stateEnableAnisotropicFix) {
                                            $serial = nleo_GlStateManager_stateAnisotropicFixSerial;
                                            $r = $this.$stateAnisotropicFixSerial;
                                            $g = $serial;
                                            if ($r !== $g) {
                                                $this.$stateAnisotropicFixSerial = $g;
                                                $w = nleo_GlStateManager_stateAnisotropicFixW;
                                                $h = nleo_GlStateManager_stateAnisotropicFixH;
                                                if ($this.$stateAnisotropicFixW !== $w)
                                                    break w;
                                                if ($this.$stateAnisotropicFixH !== $h)
                                                    break w;
                                            }
                                        }
                                        l: {
                                            bd: {
                                                if ($this.$stateEnableEndPortal) {
                                                    $serial = nleo_GlStateManager_stateTexGenSerial;
                                                    if ($this.$stateTexGenSerial != $serial) {
                                                        $this.$stateTexGenSerial = $serial;
                                                        nleo_GlStateManager$TexGen_$callClinit();
                                                        $planeS = nleo_GlStateManager$TexGen_S.$plane;
                                                        $planeT = nleo_GlStateManager$TexGen_T.$plane;
                                                        $planeR = nleo_GlStateManager$TexGen_R.$plane;
                                                        $planeQ = nleo_GlStateManager$TexGen_Q.$plane;
                                                        if ($this.$stateTexGenSPlane == $planeS && $this.$stateTexGenTPlane == $planeT && $this.$stateTexGenRPlane == $planeR && $this.$stateTexGenQPlane == $planeQ) {
                                                            $vecS = nleo_GlStateManager$TexGen_S.$vector;
                                                            $vecT = $this.$stateTexGenSVector;
                                                            $r = $vecT.$x0;
                                                            $g = $vecS.$x0;
                                                            if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                                                                $vecT = nleo_GlStateManager$TexGen_T.$vector;
                                                                $vecS = $this.$stateTexGenTVector;
                                                                $r = $vecS.$x0;
                                                                $g = $vecT.$x0;
                                                                if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                                                                    $vecR = nleo_GlStateManager$TexGen_R.$vector;
                                                                    $vecS = $this.$stateTexGenRVector;
                                                                    $r = $vecS.$x0;
                                                                    $g = $vecR.$x0;
                                                                    if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                                                                        $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                                                                        $vecS = $this.$stateTexGenQVector;
                                                                        $r = $vecS.$x0;
                                                                        $g = $vecQ.$x0;
                                                                        if ($r !== $g)
                                                                            break l;
                                                                        if ($vecS.$y0 !== $vecQ.$y0)
                                                                            break l;
                                                                        if ($vecS.$z0 !== $vecQ.$z0)
                                                                            break l;
                                                                        if ($vecS.$w === $vecQ.$w)
                                                                            break bd;
                                                                        else
                                                                            break l;
                                                                    }
                                                                    $vecS.$x0 = $g;
                                                                    $vecS.$y0 = $vecR.$y0;
                                                                    $vecS.$z0 = $vecR.$z0;
                                                                    $vecS.$w = $vecR.$w;
                                                                    $vecS = $this.$stateTexGenRVectorUniform4f;
                                                                    $r = $vecR.$x0;
                                                                    $g = $vecR.$y0;
                                                                    $b = $vecR.$z0;
                                                                    $a = $vecR.$w;
                                                                    $ptr = 33;
                                                                    continue main;
                                                                }
                                                                $vecS.$x0 = $g;
                                                                $vecS.$y0 = $vecT.$y0;
                                                                $vecS.$z0 = $vecT.$z0;
                                                                $vecS.$w = $vecT.$w;
                                                                $vecS = $this.$stateTexGenTVectorUniform4f;
                                                                $r = $vecT.$x0;
                                                                $g = $vecT.$y0;
                                                                $b = $vecT.$z0;
                                                                $a = $vecT.$w;
                                                                $ptr = 31;
                                                                continue main;
                                                            }
                                                            $vecT.$x0 = $g;
                                                            $vecT.$y0 = $vecS.$y0;
                                                            $vecT.$z0 = $vecS.$z0;
                                                            $vecT.$w = $vecS.$w;
                                                            $vecT = $this.$stateTexGenSVectorUniform4f;
                                                            $r = $vecS.$x0;
                                                            $g = $vecS.$y0;
                                                            $b = $vecS.$z0;
                                                            $a = $vecS.$w;
                                                            $ptr = 30;
                                                            continue main;
                                                        }
                                                        $this.$stateTexGenSPlane = $planeS;
                                                        $this.$stateTexGenTPlane = $planeT;
                                                        $this.$stateTexGenRPlane = $planeR;
                                                        $this.$stateTexGenQPlane = $planeQ;
                                                        $vecS = $this.$stateTexGenPlaneUniform4i;
                                                        $ptr_0 = $planeS != 9474 ? 0 : 1;
                                                        $ptr2 = $planeT != 9474 ? 0 : 1;
                                                        $serial2 = $planeR != 9474 ? 0 : 1;
                                                        $serial = $planeQ != 9474 ? 0 : 1;
                                                        $ptr = 32;
                                                        continue main;
                                                    }
                                                }
                                            }
                                            bl: {
                                                bf: {
                                                    if ($this.$stateEnableBlendAdd) {
                                                        $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                                        if ($this.$stateShaderBlendColorSerial != $serial) {
                                                            $this.$stateShaderBlendColorSerial = $serial;
                                                            $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                                            $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                                            $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                                            $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                                            if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                                                $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                                                $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                                                $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                                                $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                                                if ($this.$stateShaderBlendAddColorR !== $r)
                                                                    break bl;
                                                                if ($this.$stateShaderBlendAddColorG !== $g)
                                                                    break bl;
                                                                if ($this.$stateShaderBlendAddColorB !== $b)
                                                                    break bl;
                                                                if ($this.$stateShaderBlendAddColorA === $a)
                                                                    break bf;
                                                                else
                                                                    break bl;
                                                            }
                                                            $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                                            $ptr = 27;
                                                            continue main;
                                                        }
                                                    }
                                                }
                                                $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                                                if ($vecS !== null) {
                                                    $en = $this.$extensionPointer;
                                                    if ($en !== null)
                                                        $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                                                }
                                                return $this;
                                            }
                                            $vecS = $this.$stateShaderBlendAddColorUniform4f;
                                            $ptr = 29;
                                            continue main;
                                        }
                                        $vecS.$x0 = $g;
                                        $vecS.$y0 = $vecQ.$y0;
                                        $vecS.$z0 = $vecQ.$z0;
                                        $vecS.$w = $vecQ.$w;
                                        $vecS = $this.$stateTexGenQVectorUniform4f;
                                        $r = $vecQ.$x0;
                                        $g = $vecQ.$y0;
                                        $b = $vecQ.$z0;
                                        $a = $vecQ.$w;
                                        $ptr = 34;
                                        continue main;
                                    }
                                    $this.$stateAnisotropicFixW = $w;
                                    $this.$stateAnisotropicFixH = $h;
                                    $vecS = $this.$stateAnisotropicFix2f;
                                    $ptr = 23;
                                    continue main;
                                }
                                $this.$stateFogColorR = $r;
                                $this.$stateFogColorG = $g;
                                $this.$stateFogColorB = $b;
                                $this.$stateFogColorA = $a;
                                $vecS = $this.$stateFogColorUniform4f;
                                $ptr = 28;
                                continue main;
                            }
                            $this.$stateNormalX = $r;
                            $this.$stateNormalY = $g;
                            $this.$stateNormalZ = $b;
                            $vecS = $this.$stateNormalUniform3f;
                            $ptr = 21;
                            continue main;
                        }
                        $this.$stateLightingAmbientR = $r;
                        $this.$stateLightingAmbientG = $g;
                        $this.$stateLightingAmbientB = $b;
                        $vecS = $this.$stateLightingAmbientUniform3f;
                        $ptr = 20;
                        continue main;
                    }
                    $lightDirOld.$x0 = $x;
                    $lightDirOld.$y0 = $y;
                    $lightDirOld.$z0 = $z;
                    $lightDirOld.$w = $w;
                    $vecS = $this.$stateLightsVectorsArrayUniform4f.data[$lightsCounter];
                    $ptr = 25;
                    continue main;
                }
                $en[1] = $x;
                $this.$stateTextureCoordsY.data[1] = $y;
                $vecS = $this.$stateTextureCoords02Uniform2f;
                $ptr = 19;
                continue main;
            }
            $en[0] = $x;
            $this.$stateTextureCoordsY.data[0] = $y;
            $vecS = $this.$stateTextureCoords01Uniform2f;
            $ptr = 22;
            continue main;
        case 12:
            nlei_PlatformOpenGL__wglUniform1f($vecS, $v);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                if ($this.$stateEnableTexture2D) {
                    $serial = nleo_GlStateManager_textureMatrixStackPointer.data[0];
                    $ptr_0 = nleo_GlStateManager_textureMatrixStackAccessSerial.data[0].data[$serial];
                    if (!(!$this.$stateHasAttribTexture && !$this.$stateEnableEndPortal)) {
                        $en = $this.$stateTextureMatrixSerial.data;
                        if ($en[0] != $ptr_0) {
                            $en[0] = $ptr_0;
                            nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                            $vecS = nleo_GlStateManager_textureMatrixStack.data[0].data[$serial];
                            $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                            $ptr = 15;
                            continue main;
                        }
                    }
                    if (!$this.$stateHasAttribTexture && !$this.$stateEnableEndPortal) {
                        $serial2 = nleo_GlStateManager_textureCoordsAccessSerial.data[0];
                        $en = $this.$stateTextureCoordsAccessSerial.data;
                        if (!($en[0] == $serial2 && $this.$stateTextureCoordsMatrixSerial.data[0] == $ptr_0)) {
                            $en[0] = $serial2;
                            $this.$stateTextureCoordsMatrixSerial.data[0] = $ptr_0;
                            $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                            $vecS.$x0 = nleo_GlStateManager_textureCoordsX.data[0];
                            $vecS.$y0 = nleo_GlStateManager_textureCoordsY.data[0];
                            $vecS.$z0 = 0.0;
                            $vecS.$w = 1.0;
                            nlev_Matrix4f_transform(nleo_GlStateManager_textureMatrixStack.data[0].data[$serial], $vecS, $vecS);
                            $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                            $r = $vecS.$x0;
                            $g = $vecS.$w;
                            $x = $r / $g;
                            $y = $vecS.$y0 / $g;
                            $en = $this.$stateTextureCoordsX.data;
                            if ($x !== $en[0])
                                break a;
                            if ($y !== $this.$stateTextureCoordsY.data[0])
                                break a;
                        }
                    }
                }
                bm: {
                    bh: {
                        if ($this.$stateEnableLightmap) {
                            $serial = nleo_GlStateManager_textureMatrixStackPointer.data[1];
                            $ptr_0 = nleo_GlStateManager_textureMatrixStackAccessSerial.data[1].data[$serial];
                            if ($this.$stateHasAttribLightmap) {
                                $en = $this.$stateTextureMatrixSerial.data;
                                if ($en[1] == $ptr_0)
                                    break bh;
                                $en[1] = $ptr_0;
                                nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                                $vecS = nleo_GlStateManager_textureMatrixStack.data[1].data[$serial];
                                $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                                $ptr = 17;
                                continue main;
                            }
                            $serial2 = nleo_GlStateManager_textureCoordsAccessSerial.data[1];
                            $en = $this.$stateTextureCoordsAccessSerial.data;
                            if (!($en[1] == $serial2 && $this.$stateTextureCoordsMatrixSerial.data[1] == $ptr_0)) {
                                $en[1] = $serial2;
                                $this.$stateTextureCoordsMatrixSerial.data[1] = $ptr_0;
                                $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                $vecS.$x0 = nleo_GlStateManager_textureCoordsX.data[1];
                                $vecS.$y0 = nleo_GlStateManager_textureCoordsY.data[1];
                                $vecS.$z0 = 0.0;
                                $vecS.$w = 1.0;
                                nlev_Matrix4f_transform(nleo_GlStateManager_textureMatrixStack.data[1].data[$serial], $vecS, $vecS);
                                $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                $r = $vecS.$x0;
                                $g = $vecS.$w;
                                $x = $r / $g;
                                $y = $vecS.$y0 / $g;
                                $en = $this.$stateTextureCoordsX.data;
                                if ($x !== $en[1])
                                    break bm;
                                if ($y !== $this.$stateTextureCoordsY.data[1])
                                    break bm;
                            }
                        }
                    }
                    bn: {
                        bi: {
                            if ($this.$stateEnableMCLighting) {
                                $serial = nleo_GlStateManager_stateLightsStackPointer;
                                $ptr_0 = nleo_GlStateManager_stateLightingSerial.data[$serial];
                                if ($this.$stateLightingSerial != $ptr_0) {
                                    $this.$stateLightingSerial = $ptr_0;
                                    $en = nleo_GlStateManager_stateLightsEnabled.data[$serial];
                                    $lightsCounter = 0;
                                    $i = 0;
                                    f: {
                                        while (true) {
                                            var$18 = $en.data;
                                            if ($i >= var$18.length)
                                                break;
                                            if (var$18[$i]) {
                                                $lightDirOld = $this.$stateLightsVectors.data[$lightsCounter];
                                                $lightDirNew = nleo_GlStateManager_stateLightsStack.data[$serial].data[$i];
                                                $x = $lightDirNew.$x0;
                                                $y = $lightDirNew.$y0;
                                                $z = $lightDirNew.$z0;
                                                $w = $lightDirNew.$w;
                                                if ($lightDirOld.$x0 !== $x)
                                                    break bn;
                                                if ($lightDirOld.$y0 !== $y)
                                                    break bn;
                                                if ($lightDirOld.$z0 !== $z)
                                                    break bn;
                                                if ($lightDirOld.$w !== $w)
                                                    break bn;
                                                $lightsCounter = $lightsCounter + 1 | 0;
                                                if ($lightsCounter >= $this.$stateLightsVectors.data.length)
                                                    break f;
                                            }
                                            $i = $i + 1 | 0;
                                        }
                                    }
                                    if ($this.$stateLightsEnabled != $lightsCounter) {
                                        $this.$stateLightsEnabled = $lightsCounter;
                                        $vecS = $this.$stateLightsEnabledUniform1i;
                                        $ptr = 24;
                                        continue main;
                                    }
                                }
                                $serial = nleo_GlStateManager_stateLightingAmbientSerial;
                                if ($this.$stateLightingAmbientSerial != $serial) {
                                    $this.$stateLightingAmbientSerial = $serial;
                                    $r = nleo_GlStateManager_stateLightingAmbientR;
                                    $g = nleo_GlStateManager_stateLightingAmbientG;
                                    $b = nleo_GlStateManager_stateLightingAmbientB;
                                    if ($this.$stateLightingAmbientR !== $r)
                                        break bi;
                                    if ($this.$stateLightingAmbientG !== $g)
                                        break bi;
                                    if ($this.$stateLightingAmbientB !== $b)
                                        break bi;
                                }
                            }
                            h: {
                                if ($this.$stateEnableMCLighting && !$this.$stateHasAttribNormal) {
                                    $serial = nleo_GlStateManager_stateNormalSerial;
                                    if ($this.$stateNormalSerial != $serial) {
                                        $this.$stateNormalSerial = $serial;
                                        $x = nleo_GlStateManager_stateNormalX;
                                        $y = nleo_GlStateManager_stateNormalY;
                                        $z = nleo_GlStateManager_stateNormalZ;
                                        $c = 1.0 / nms_MathHelper_sqrt_float($x * $x + $y * $y + $z * $z);
                                        $r = $x * $c;
                                        $g = $y * $c;
                                        $b = $z * $c;
                                        if ($this.$stateNormalX !== $r)
                                            break h;
                                        if ($this.$stateNormalY !== $g)
                                            break h;
                                        if ($this.$stateNormalZ !== $b)
                                            break h;
                                    }
                                }
                                u: {
                                    i: {
                                        if ($this.$stateEnableFog) {
                                            $serial = nleo_GlStateManager_stateFogSerial;
                                            if ($this.$stateFogSerial != $serial) {
                                                $this.$stateFogSerial = $serial;
                                                $fogEXP = nleo_GlStateManager_stateFogEXP;
                                                $fogDensity = nleo_GlStateManager_stateFogDensity;
                                                $fogStart = nleo_GlStateManager_stateFogStart;
                                                $fogEnd = nleo_GlStateManager_stateFogEnd;
                                                if ($this.$stateFogEXP == $fogEXP && $this.$stateFogDensity === $fogDensity && $this.$stateFogStart === $fogStart && $this.$stateFogEnd === $fogEnd) {
                                                    $r = nleo_GlStateManager_stateFogColorR;
                                                    $g = nleo_GlStateManager_stateFogColorG;
                                                    $b = nleo_GlStateManager_stateFogColorB;
                                                    $a = nleo_GlStateManager_stateFogColorA;
                                                    if ($this.$stateFogColorR !== $r)
                                                        break u;
                                                    if ($this.$stateFogColorG !== $g)
                                                        break u;
                                                    if ($this.$stateFogColorB !== $b)
                                                        break u;
                                                    if ($this.$stateFogColorA === $a)
                                                        break i;
                                                    else
                                                        break u;
                                                }
                                                $this.$stateFogEXP = $fogEXP;
                                                $this.$stateFogDensity = $fogDensity;
                                                $this.$stateFogStart = $fogStart;
                                                $this.$stateFogEnd = $fogEnd;
                                                $vecS = $this.$stateFogParamUniform4f;
                                                $r = !$fogEXP ? 0.0 : 1.0;
                                                $ptr = 26;
                                                continue main;
                                            }
                                        }
                                    }
                                    j: {
                                        if ($this.$stateEnableAnisotropicFix) {
                                            $serial = nleo_GlStateManager_stateAnisotropicFixSerial;
                                            $r = $this.$stateAnisotropicFixSerial;
                                            $g = $serial;
                                            if ($r !== $g) {
                                                $this.$stateAnisotropicFixSerial = $g;
                                                $w = nleo_GlStateManager_stateAnisotropicFixW;
                                                $h = nleo_GlStateManager_stateAnisotropicFixH;
                                                if ($this.$stateAnisotropicFixW !== $w)
                                                    break j;
                                                if ($this.$stateAnisotropicFixH !== $h)
                                                    break j;
                                            }
                                        }
                                        k: {
                                            l: {
                                                if ($this.$stateEnableEndPortal) {
                                                    $serial = nleo_GlStateManager_stateTexGenSerial;
                                                    if ($this.$stateTexGenSerial != $serial) {
                                                        $this.$stateTexGenSerial = $serial;
                                                        nleo_GlStateManager$TexGen_$callClinit();
                                                        $planeS = nleo_GlStateManager$TexGen_S.$plane;
                                                        $planeT = nleo_GlStateManager$TexGen_T.$plane;
                                                        $planeR = nleo_GlStateManager$TexGen_R.$plane;
                                                        $planeQ = nleo_GlStateManager$TexGen_Q.$plane;
                                                        if ($this.$stateTexGenSPlane == $planeS && $this.$stateTexGenTPlane == $planeT && $this.$stateTexGenRPlane == $planeR && $this.$stateTexGenQPlane == $planeQ) {
                                                            $vecS = nleo_GlStateManager$TexGen_S.$vector;
                                                            $vecT = $this.$stateTexGenSVector;
                                                            $r = $vecT.$x0;
                                                            $g = $vecS.$x0;
                                                            if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                                                                $vecT = nleo_GlStateManager$TexGen_T.$vector;
                                                                $vecS = $this.$stateTexGenTVector;
                                                                $r = $vecS.$x0;
                                                                $g = $vecT.$x0;
                                                                if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                                                                    $vecR = nleo_GlStateManager$TexGen_R.$vector;
                                                                    $vecS = $this.$stateTexGenRVector;
                                                                    $r = $vecS.$x0;
                                                                    $g = $vecR.$x0;
                                                                    if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                                                                        $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                                                                        $vecS = $this.$stateTexGenQVector;
                                                                        $r = $vecS.$x0;
                                                                        $g = $vecQ.$x0;
                                                                        if ($r !== $g)
                                                                            break k;
                                                                        if ($vecS.$y0 !== $vecQ.$y0)
                                                                            break k;
                                                                        if ($vecS.$z0 !== $vecQ.$z0)
                                                                            break k;
                                                                        if ($vecS.$w === $vecQ.$w)
                                                                            break l;
                                                                        else
                                                                            break k;
                                                                    }
                                                                    $vecS.$x0 = $g;
                                                                    $vecS.$y0 = $vecR.$y0;
                                                                    $vecS.$z0 = $vecR.$z0;
                                                                    $vecS.$w = $vecR.$w;
                                                                    $vecS = $this.$stateTexGenRVectorUniform4f;
                                                                    $r = $vecR.$x0;
                                                                    $g = $vecR.$y0;
                                                                    $b = $vecR.$z0;
                                                                    $a = $vecR.$w;
                                                                    $ptr = 33;
                                                                    continue main;
                                                                }
                                                                $vecS.$x0 = $g;
                                                                $vecS.$y0 = $vecT.$y0;
                                                                $vecS.$z0 = $vecT.$z0;
                                                                $vecS.$w = $vecT.$w;
                                                                $vecS = $this.$stateTexGenTVectorUniform4f;
                                                                $r = $vecT.$x0;
                                                                $g = $vecT.$y0;
                                                                $b = $vecT.$z0;
                                                                $a = $vecT.$w;
                                                                $ptr = 31;
                                                                continue main;
                                                            }
                                                            $vecT.$x0 = $g;
                                                            $vecT.$y0 = $vecS.$y0;
                                                            $vecT.$z0 = $vecS.$z0;
                                                            $vecT.$w = $vecS.$w;
                                                            $vecT = $this.$stateTexGenSVectorUniform4f;
                                                            $r = $vecS.$x0;
                                                            $g = $vecS.$y0;
                                                            $b = $vecS.$z0;
                                                            $a = $vecS.$w;
                                                            $ptr = 30;
                                                            continue main;
                                                        }
                                                        $this.$stateTexGenSPlane = $planeS;
                                                        $this.$stateTexGenTPlane = $planeT;
                                                        $this.$stateTexGenRPlane = $planeR;
                                                        $this.$stateTexGenQPlane = $planeQ;
                                                        $vecS = $this.$stateTexGenPlaneUniform4i;
                                                        $ptr_0 = $planeS != 9474 ? 0 : 1;
                                                        $ptr2 = $planeT != 9474 ? 0 : 1;
                                                        $serial2 = $planeR != 9474 ? 0 : 1;
                                                        $serial = $planeQ != 9474 ? 0 : 1;
                                                        $ptr = 32;
                                                        continue main;
                                                    }
                                                }
                                            }
                                            bo: {
                                                bl: {
                                                    if ($this.$stateEnableBlendAdd) {
                                                        $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                                        if ($this.$stateShaderBlendColorSerial != $serial) {
                                                            $this.$stateShaderBlendColorSerial = $serial;
                                                            $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                                            $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                                            $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                                            $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                                            if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                                                $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                                                $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                                                $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                                                $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                                                if ($this.$stateShaderBlendAddColorR !== $r)
                                                                    break bo;
                                                                if ($this.$stateShaderBlendAddColorG !== $g)
                                                                    break bo;
                                                                if ($this.$stateShaderBlendAddColorB !== $b)
                                                                    break bo;
                                                                if ($this.$stateShaderBlendAddColorA === $a)
                                                                    break bl;
                                                                else
                                                                    break bo;
                                                            }
                                                            $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                                            $ptr = 27;
                                                            continue main;
                                                        }
                                                    }
                                                }
                                                $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                                                if ($vecS !== null) {
                                                    $en = $this.$extensionPointer;
                                                    if ($en !== null)
                                                        $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                                                }
                                                return $this;
                                            }
                                            $vecS = $this.$stateShaderBlendAddColorUniform4f;
                                            $ptr = 29;
                                            continue main;
                                        }
                                        $vecS.$x0 = $g;
                                        $vecS.$y0 = $vecQ.$y0;
                                        $vecS.$z0 = $vecQ.$z0;
                                        $vecS.$w = $vecQ.$w;
                                        $vecS = $this.$stateTexGenQVectorUniform4f;
                                        $r = $vecQ.$x0;
                                        $g = $vecQ.$y0;
                                        $b = $vecQ.$z0;
                                        $a = $vecQ.$w;
                                        $ptr = 34;
                                        continue main;
                                    }
                                    $this.$stateAnisotropicFixW = $w;
                                    $this.$stateAnisotropicFixH = $h;
                                    $vecS = $this.$stateAnisotropicFix2f;
                                    $ptr = 23;
                                    continue main;
                                }
                                $this.$stateFogColorR = $r;
                                $this.$stateFogColorG = $g;
                                $this.$stateFogColorB = $b;
                                $this.$stateFogColorA = $a;
                                $vecS = $this.$stateFogColorUniform4f;
                                $ptr = 28;
                                continue main;
                            }
                            $this.$stateNormalX = $r;
                            $this.$stateNormalY = $g;
                            $this.$stateNormalZ = $b;
                            $vecS = $this.$stateNormalUniform3f;
                            $ptr = 21;
                            continue main;
                        }
                        $this.$stateLightingAmbientR = $r;
                        $this.$stateLightingAmbientG = $g;
                        $this.$stateLightingAmbientB = $b;
                        $vecS = $this.$stateLightingAmbientUniform3f;
                        $ptr = 20;
                        continue main;
                    }
                    $lightDirOld.$x0 = $x;
                    $lightDirOld.$y0 = $y;
                    $lightDirOld.$z0 = $z;
                    $lightDirOld.$w = $w;
                    $vecS = $this.$stateLightsVectorsArrayUniform4f.data[$lightsCounter];
                    $ptr = 25;
                    continue main;
                }
                $en[1] = $x;
                $this.$stateTextureCoordsY.data[1] = $y;
                $vecS = $this.$stateTextureCoords02Uniform2f;
                $ptr = 19;
                continue main;
            }
            $en[0] = $x;
            $this.$stateTextureCoordsY.data[0] = $y;
            $vecS = $this.$stateTextureCoords01Uniform2f;
            $ptr = 22;
            continue main;
        case 13:
            nlev_Matrix4f_store($vecS, $vecT);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayFloatBuffer_flip(nleo_FixedFunctionPipeline_matrixCopyBuffer);
            $vecS = $this.$stateModelMatrixUniformMat4f;
            $serial = 0;
            $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
            $ptr = 14;
        case 14:
            nlei_PlatformOpenGL__wglUniformMatrix4fv($vecS, $serial, $vecT);
            if ($rt_suspending()) {
                break main;
            }
            nlev_Matrix4f_mul(nleo_GlStateManager_projectionMatrixStack.data[$ptr2], nleo_GlStateManager_modelMatrixStack.data[$ptr_0], nleo_FixedFunctionPipeline_tmpMatrixForInv);
            nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
            $vecS = nleo_FixedFunctionPipeline_tmpMatrixForInv;
            $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
            $ptr = 10;
            continue main;
        case 15:
            nlev_Matrix4f_store($vecS, $vecT);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayFloatBuffer_flip(nleo_FixedFunctionPipeline_matrixCopyBuffer);
            $vecS = $this.$stateTextureMatrix01UniformMat4f;
            $ptr2 = 0;
            $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
            $ptr = 16;
        case 16:
            nlei_PlatformOpenGL__wglUniformMatrix4fv($vecS, $ptr2, $vecT);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                if (!$this.$stateHasAttribTexture && !$this.$stateEnableEndPortal) {
                    $serial2 = nleo_GlStateManager_textureCoordsAccessSerial.data[0];
                    $en = $this.$stateTextureCoordsAccessSerial.data;
                    if (!($en[0] == $serial2 && $this.$stateTextureCoordsMatrixSerial.data[0] == $ptr_0)) {
                        $en[0] = $serial2;
                        $this.$stateTextureCoordsMatrixSerial.data[0] = $ptr_0;
                        $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                        $vecS.$x0 = nleo_GlStateManager_textureCoordsX.data[0];
                        $vecS.$y0 = nleo_GlStateManager_textureCoordsY.data[0];
                        $vecS.$z0 = 0.0;
                        $vecS.$w = 1.0;
                        nlev_Matrix4f_transform(nleo_GlStateManager_textureMatrixStack.data[0].data[$serial], $vecS, $vecS);
                        $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                        $r = $vecS.$x0;
                        $g = $vecS.$w;
                        $x = $r / $g;
                        $y = $vecS.$y0 / $g;
                        $en = $this.$stateTextureCoordsX.data;
                        if ($x !== $en[0])
                            break a;
                        if ($y !== $this.$stateTextureCoordsY.data[0])
                            break a;
                    }
                }
                bp: {
                    bq: {
                        if ($this.$stateEnableLightmap) {
                            $serial = nleo_GlStateManager_textureMatrixStackPointer.data[1];
                            $ptr_0 = nleo_GlStateManager_textureMatrixStackAccessSerial.data[1].data[$serial];
                            if ($this.$stateHasAttribLightmap) {
                                $en = $this.$stateTextureMatrixSerial.data;
                                if ($en[1] == $ptr_0)
                                    break bq;
                                $en[1] = $ptr_0;
                                nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                                $vecS = nleo_GlStateManager_textureMatrixStack.data[1].data[$serial];
                                $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                                $ptr = 17;
                                continue main;
                            }
                            $serial2 = nleo_GlStateManager_textureCoordsAccessSerial.data[1];
                            $en = $this.$stateTextureCoordsAccessSerial.data;
                            if (!($en[1] == $serial2 && $this.$stateTextureCoordsMatrixSerial.data[1] == $ptr_0)) {
                                $en[1] = $serial2;
                                $this.$stateTextureCoordsMatrixSerial.data[1] = $ptr_0;
                                $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                $vecS.$x0 = nleo_GlStateManager_textureCoordsX.data[1];
                                $vecS.$y0 = nleo_GlStateManager_textureCoordsY.data[1];
                                $vecS.$z0 = 0.0;
                                $vecS.$w = 1.0;
                                nlev_Matrix4f_transform(nleo_GlStateManager_textureMatrixStack.data[1].data[$serial], $vecS, $vecS);
                                $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                                $r = $vecS.$x0;
                                $g = $vecS.$w;
                                $x = $r / $g;
                                $y = $vecS.$y0 / $g;
                                $en = $this.$stateTextureCoordsX.data;
                                if ($x !== $en[1])
                                    break bp;
                                if ($y !== $this.$stateTextureCoordsY.data[1])
                                    break bp;
                            }
                        }
                    }
                    d: {
                        br: {
                            if ($this.$stateEnableMCLighting) {
                                $serial = nleo_GlStateManager_stateLightsStackPointer;
                                $ptr_0 = nleo_GlStateManager_stateLightingSerial.data[$serial];
                                if ($this.$stateLightingSerial != $ptr_0) {
                                    $this.$stateLightingSerial = $ptr_0;
                                    $en = nleo_GlStateManager_stateLightsEnabled.data[$serial];
                                    $lightsCounter = 0;
                                    $i = 0;
                                    s: {
                                        while (true) {
                                            var$18 = $en.data;
                                            if ($i >= var$18.length)
                                                break;
                                            if (var$18[$i]) {
                                                $lightDirOld = $this.$stateLightsVectors.data[$lightsCounter];
                                                $lightDirNew = nleo_GlStateManager_stateLightsStack.data[$serial].data[$i];
                                                $x = $lightDirNew.$x0;
                                                $y = $lightDirNew.$y0;
                                                $z = $lightDirNew.$z0;
                                                $w = $lightDirNew.$w;
                                                if ($lightDirOld.$x0 !== $x)
                                                    break d;
                                                if ($lightDirOld.$y0 !== $y)
                                                    break d;
                                                if ($lightDirOld.$z0 !== $z)
                                                    break d;
                                                if ($lightDirOld.$w !== $w)
                                                    break d;
                                                $lightsCounter = $lightsCounter + 1 | 0;
                                                if ($lightsCounter >= $this.$stateLightsVectors.data.length)
                                                    break s;
                                            }
                                            $i = $i + 1 | 0;
                                        }
                                    }
                                    if ($this.$stateLightsEnabled != $lightsCounter) {
                                        $this.$stateLightsEnabled = $lightsCounter;
                                        $vecS = $this.$stateLightsEnabledUniform1i;
                                        $ptr = 24;
                                        continue main;
                                    }
                                }
                                $serial = nleo_GlStateManager_stateLightingAmbientSerial;
                                if ($this.$stateLightingAmbientSerial != $serial) {
                                    $this.$stateLightingAmbientSerial = $serial;
                                    $r = nleo_GlStateManager_stateLightingAmbientR;
                                    $g = nleo_GlStateManager_stateLightingAmbientG;
                                    $b = nleo_GlStateManager_stateLightingAmbientB;
                                    if ($this.$stateLightingAmbientR !== $r)
                                        break br;
                                    if ($this.$stateLightingAmbientG !== $g)
                                        break br;
                                    if ($this.$stateLightingAmbientB !== $b)
                                        break br;
                                }
                            }
                            t: {
                                if ($this.$stateEnableMCLighting && !$this.$stateHasAttribNormal) {
                                    $serial = nleo_GlStateManager_stateNormalSerial;
                                    if ($this.$stateNormalSerial != $serial) {
                                        $this.$stateNormalSerial = $serial;
                                        $x = nleo_GlStateManager_stateNormalX;
                                        $y = nleo_GlStateManager_stateNormalY;
                                        $z = nleo_GlStateManager_stateNormalZ;
                                        $c = 1.0 / nms_MathHelper_sqrt_float($x * $x + $y * $y + $z * $z);
                                        $r = $x * $c;
                                        $g = $y * $c;
                                        $b = $z * $c;
                                        if ($this.$stateNormalX !== $r)
                                            break t;
                                        if ($this.$stateNormalY !== $g)
                                            break t;
                                        if ($this.$stateNormalZ !== $b)
                                            break t;
                                    }
                                }
                                h: {
                                    bk: {
                                        if ($this.$stateEnableFog) {
                                            $serial = nleo_GlStateManager_stateFogSerial;
                                            if ($this.$stateFogSerial != $serial) {
                                                $this.$stateFogSerial = $serial;
                                                $fogEXP = nleo_GlStateManager_stateFogEXP;
                                                $fogDensity = nleo_GlStateManager_stateFogDensity;
                                                $fogStart = nleo_GlStateManager_stateFogStart;
                                                $fogEnd = nleo_GlStateManager_stateFogEnd;
                                                if ($this.$stateFogEXP == $fogEXP && $this.$stateFogDensity === $fogDensity && $this.$stateFogStart === $fogStart && $this.$stateFogEnd === $fogEnd) {
                                                    $r = nleo_GlStateManager_stateFogColorR;
                                                    $g = nleo_GlStateManager_stateFogColorG;
                                                    $b = nleo_GlStateManager_stateFogColorB;
                                                    $a = nleo_GlStateManager_stateFogColorA;
                                                    if ($this.$stateFogColorR !== $r)
                                                        break h;
                                                    if ($this.$stateFogColorG !== $g)
                                                        break h;
                                                    if ($this.$stateFogColorB !== $b)
                                                        break h;
                                                    if ($this.$stateFogColorA === $a)
                                                        break bk;
                                                    else
                                                        break h;
                                                }
                                                $this.$stateFogEXP = $fogEXP;
                                                $this.$stateFogDensity = $fogDensity;
                                                $this.$stateFogStart = $fogStart;
                                                $this.$stateFogEnd = $fogEnd;
                                                $vecS = $this.$stateFogParamUniform4f;
                                                $r = !$fogEXP ? 0.0 : 1.0;
                                                $ptr = 26;
                                                continue main;
                                            }
                                        }
                                    }
                                    bs: {
                                        if ($this.$stateEnableAnisotropicFix) {
                                            $serial = nleo_GlStateManager_stateAnisotropicFixSerial;
                                            $r = $this.$stateAnisotropicFixSerial;
                                            $g = $serial;
                                            if ($r !== $g) {
                                                $this.$stateAnisotropicFixSerial = $g;
                                                $w = nleo_GlStateManager_stateAnisotropicFixW;
                                                $h = nleo_GlStateManager_stateAnisotropicFixH;
                                                if ($this.$stateAnisotropicFixW !== $w)
                                                    break bs;
                                                if ($this.$stateAnisotropicFixH !== $h)
                                                    break bs;
                                            }
                                        }
                                        j: {
                                            w: {
                                                if ($this.$stateEnableEndPortal) {
                                                    $serial = nleo_GlStateManager_stateTexGenSerial;
                                                    if ($this.$stateTexGenSerial != $serial) {
                                                        $this.$stateTexGenSerial = $serial;
                                                        nleo_GlStateManager$TexGen_$callClinit();
                                                        $planeS = nleo_GlStateManager$TexGen_S.$plane;
                                                        $planeT = nleo_GlStateManager$TexGen_T.$plane;
                                                        $planeR = nleo_GlStateManager$TexGen_R.$plane;
                                                        $planeQ = nleo_GlStateManager$TexGen_Q.$plane;
                                                        if ($this.$stateTexGenSPlane == $planeS && $this.$stateTexGenTPlane == $planeT && $this.$stateTexGenRPlane == $planeR && $this.$stateTexGenQPlane == $planeQ) {
                                                            $vecS = nleo_GlStateManager$TexGen_S.$vector;
                                                            $vecT = $this.$stateTexGenSVector;
                                                            $r = $vecT.$x0;
                                                            $g = $vecS.$x0;
                                                            if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                                                                $vecT = nleo_GlStateManager$TexGen_T.$vector;
                                                                $vecS = $this.$stateTexGenTVector;
                                                                $r = $vecS.$x0;
                                                                $g = $vecT.$x0;
                                                                if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                                                                    $vecR = nleo_GlStateManager$TexGen_R.$vector;
                                                                    $vecS = $this.$stateTexGenRVector;
                                                                    $r = $vecS.$x0;
                                                                    $g = $vecR.$x0;
                                                                    if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                                                                        $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                                                                        $vecS = $this.$stateTexGenQVector;
                                                                        $r = $vecS.$x0;
                                                                        $g = $vecQ.$x0;
                                                                        if ($r !== $g)
                                                                            break j;
                                                                        if ($vecS.$y0 !== $vecQ.$y0)
                                                                            break j;
                                                                        if ($vecS.$z0 !== $vecQ.$z0)
                                                                            break j;
                                                                        if ($vecS.$w === $vecQ.$w)
                                                                            break w;
                                                                        else
                                                                            break j;
                                                                    }
                                                                    $vecS.$x0 = $g;
                                                                    $vecS.$y0 = $vecR.$y0;
                                                                    $vecS.$z0 = $vecR.$z0;
                                                                    $vecS.$w = $vecR.$w;
                                                                    $vecS = $this.$stateTexGenRVectorUniform4f;
                                                                    $r = $vecR.$x0;
                                                                    $g = $vecR.$y0;
                                                                    $b = $vecR.$z0;
                                                                    $a = $vecR.$w;
                                                                    $ptr = 33;
                                                                    continue main;
                                                                }
                                                                $vecS.$x0 = $g;
                                                                $vecS.$y0 = $vecT.$y0;
                                                                $vecS.$z0 = $vecT.$z0;
                                                                $vecS.$w = $vecT.$w;
                                                                $vecS = $this.$stateTexGenTVectorUniform4f;
                                                                $r = $vecT.$x0;
                                                                $g = $vecT.$y0;
                                                                $b = $vecT.$z0;
                                                                $a = $vecT.$w;
                                                                $ptr = 31;
                                                                continue main;
                                                            }
                                                            $vecT.$x0 = $g;
                                                            $vecT.$y0 = $vecS.$y0;
                                                            $vecT.$z0 = $vecS.$z0;
                                                            $vecT.$w = $vecS.$w;
                                                            $vecT = $this.$stateTexGenSVectorUniform4f;
                                                            $r = $vecS.$x0;
                                                            $g = $vecS.$y0;
                                                            $b = $vecS.$z0;
                                                            $a = $vecS.$w;
                                                            $ptr = 30;
                                                            continue main;
                                                        }
                                                        $this.$stateTexGenSPlane = $planeS;
                                                        $this.$stateTexGenTPlane = $planeT;
                                                        $this.$stateTexGenRPlane = $planeR;
                                                        $this.$stateTexGenQPlane = $planeQ;
                                                        $vecS = $this.$stateTexGenPlaneUniform4i;
                                                        $ptr_0 = $planeS != 9474 ? 0 : 1;
                                                        $ptr2 = $planeT != 9474 ? 0 : 1;
                                                        $serial2 = $planeR != 9474 ? 0 : 1;
                                                        $serial = $planeQ != 9474 ? 0 : 1;
                                                        $ptr = 32;
                                                        continue main;
                                                    }
                                                }
                                            }
                                            bt: {
                                                bu: {
                                                    if ($this.$stateEnableBlendAdd) {
                                                        $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                                        if ($this.$stateShaderBlendColorSerial != $serial) {
                                                            $this.$stateShaderBlendColorSerial = $serial;
                                                            $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                                            $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                                            $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                                            $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                                            if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                                                $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                                                $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                                                $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                                                $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                                                if ($this.$stateShaderBlendAddColorR !== $r)
                                                                    break bt;
                                                                if ($this.$stateShaderBlendAddColorG !== $g)
                                                                    break bt;
                                                                if ($this.$stateShaderBlendAddColorB !== $b)
                                                                    break bt;
                                                                if ($this.$stateShaderBlendAddColorA === $a)
                                                                    break bu;
                                                                else
                                                                    break bt;
                                                            }
                                                            $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                                            $ptr = 27;
                                                            continue main;
                                                        }
                                                    }
                                                }
                                                $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                                                if ($vecS !== null) {
                                                    $en = $this.$extensionPointer;
                                                    if ($en !== null)
                                                        $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                                                }
                                                return $this;
                                            }
                                            $vecS = $this.$stateShaderBlendAddColorUniform4f;
                                            $ptr = 29;
                                            continue main;
                                        }
                                        $vecS.$x0 = $g;
                                        $vecS.$y0 = $vecQ.$y0;
                                        $vecS.$z0 = $vecQ.$z0;
                                        $vecS.$w = $vecQ.$w;
                                        $vecS = $this.$stateTexGenQVectorUniform4f;
                                        $r = $vecQ.$x0;
                                        $g = $vecQ.$y0;
                                        $b = $vecQ.$z0;
                                        $a = $vecQ.$w;
                                        $ptr = 34;
                                        continue main;
                                    }
                                    $this.$stateAnisotropicFixW = $w;
                                    $this.$stateAnisotropicFixH = $h;
                                    $vecS = $this.$stateAnisotropicFix2f;
                                    $ptr = 23;
                                    continue main;
                                }
                                $this.$stateFogColorR = $r;
                                $this.$stateFogColorG = $g;
                                $this.$stateFogColorB = $b;
                                $this.$stateFogColorA = $a;
                                $vecS = $this.$stateFogColorUniform4f;
                                $ptr = 28;
                                continue main;
                            }
                            $this.$stateNormalX = $r;
                            $this.$stateNormalY = $g;
                            $this.$stateNormalZ = $b;
                            $vecS = $this.$stateNormalUniform3f;
                            $ptr = 21;
                            continue main;
                        }
                        $this.$stateLightingAmbientR = $r;
                        $this.$stateLightingAmbientG = $g;
                        $this.$stateLightingAmbientB = $b;
                        $vecS = $this.$stateLightingAmbientUniform3f;
                        $ptr = 20;
                        continue main;
                    }
                    $lightDirOld.$x0 = $x;
                    $lightDirOld.$y0 = $y;
                    $lightDirOld.$z0 = $z;
                    $lightDirOld.$w = $w;
                    $vecS = $this.$stateLightsVectorsArrayUniform4f.data[$lightsCounter];
                    $ptr = 25;
                    continue main;
                }
                $en[1] = $x;
                $this.$stateTextureCoordsY.data[1] = $y;
                $vecS = $this.$stateTextureCoords02Uniform2f;
                $ptr = 19;
                continue main;
            }
            $en[0] = $x;
            $this.$stateTextureCoordsY.data[0] = $y;
            $vecS = $this.$stateTextureCoords01Uniform2f;
            $ptr = 22;
            continue main;
        case 17:
            nlev_Matrix4f_store($vecS, $vecT);
            if ($rt_suspending()) {
                break main;
            }
            nleib_EaglerArrayFloatBuffer_flip(nleo_FixedFunctionPipeline_matrixCopyBuffer);
            $vecS = $this.$stateTextureMatrix02UniformMat4f;
            $serial = 0;
            $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
            $ptr = 18;
        case 18:
            nlei_PlatformOpenGL__wglUniformMatrix4fv($vecS, $serial, $vecT);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                b: {
                    if ($this.$stateEnableMCLighting) {
                        $serial = nleo_GlStateManager_stateLightsStackPointer;
                        $ptr_0 = nleo_GlStateManager_stateLightingSerial.data[$serial];
                        if ($this.$stateLightingSerial != $ptr_0) {
                            $this.$stateLightingSerial = $ptr_0;
                            $en = nleo_GlStateManager_stateLightsEnabled.data[$serial];
                            $lightsCounter = 0;
                            $i = 0;
                            bq: {
                                while (true) {
                                    var$18 = $en.data;
                                    if ($i >= var$18.length)
                                        break;
                                    if (var$18[$i]) {
                                        $lightDirOld = $this.$stateLightsVectors.data[$lightsCounter];
                                        $lightDirNew = nleo_GlStateManager_stateLightsStack.data[$serial].data[$i];
                                        $x = $lightDirNew.$x0;
                                        $y = $lightDirNew.$y0;
                                        $z = $lightDirNew.$z0;
                                        $w = $lightDirNew.$w;
                                        if ($lightDirOld.$x0 !== $x)
                                            break a;
                                        if ($lightDirOld.$y0 !== $y)
                                            break a;
                                        if ($lightDirOld.$z0 !== $z)
                                            break a;
                                        if ($lightDirOld.$w !== $w)
                                            break a;
                                        $lightsCounter = $lightsCounter + 1 | 0;
                                        if ($lightsCounter >= $this.$stateLightsVectors.data.length)
                                            break bq;
                                    }
                                    $i = $i + 1 | 0;
                                }
                            }
                            if ($this.$stateLightsEnabled != $lightsCounter) {
                                $this.$stateLightsEnabled = $lightsCounter;
                                $vecS = $this.$stateLightsEnabledUniform1i;
                                $ptr = 24;
                                continue main;
                            }
                        }
                        $serial = nleo_GlStateManager_stateLightingAmbientSerial;
                        if ($this.$stateLightingAmbientSerial != $serial) {
                            $this.$stateLightingAmbientSerial = $serial;
                            $r = nleo_GlStateManager_stateLightingAmbientR;
                            $g = nleo_GlStateManager_stateLightingAmbientG;
                            $b = nleo_GlStateManager_stateLightingAmbientB;
                            if ($this.$stateLightingAmbientR !== $r)
                                break b;
                            if ($this.$stateLightingAmbientG !== $g)
                                break b;
                            if ($this.$stateLightingAmbientB !== $b)
                                break b;
                        }
                    }
                    br: {
                        if ($this.$stateEnableMCLighting && !$this.$stateHasAttribNormal) {
                            $serial = nleo_GlStateManager_stateNormalSerial;
                            if ($this.$stateNormalSerial != $serial) {
                                $this.$stateNormalSerial = $serial;
                                $x = nleo_GlStateManager_stateNormalX;
                                $y = nleo_GlStateManager_stateNormalY;
                                $z = nleo_GlStateManager_stateNormalZ;
                                $c = 1.0 / nms_MathHelper_sqrt_float($x * $x + $y * $y + $z * $z);
                                $r = $x * $c;
                                $g = $y * $c;
                                $b = $z * $c;
                                if ($this.$stateNormalX !== $r)
                                    break br;
                                if ($this.$stateNormalY !== $g)
                                    break br;
                                if ($this.$stateNormalZ !== $b)
                                    break br;
                            }
                        }
                        bi: {
                            s: {
                                if ($this.$stateEnableFog) {
                                    $serial = nleo_GlStateManager_stateFogSerial;
                                    if ($this.$stateFogSerial != $serial) {
                                        $this.$stateFogSerial = $serial;
                                        $fogEXP = nleo_GlStateManager_stateFogEXP;
                                        $fogDensity = nleo_GlStateManager_stateFogDensity;
                                        $fogStart = nleo_GlStateManager_stateFogStart;
                                        $fogEnd = nleo_GlStateManager_stateFogEnd;
                                        if ($this.$stateFogEXP == $fogEXP && $this.$stateFogDensity === $fogDensity && $this.$stateFogStart === $fogStart && $this.$stateFogEnd === $fogEnd) {
                                            $r = nleo_GlStateManager_stateFogColorR;
                                            $g = nleo_GlStateManager_stateFogColorG;
                                            $b = nleo_GlStateManager_stateFogColorB;
                                            $a = nleo_GlStateManager_stateFogColorA;
                                            if ($this.$stateFogColorR !== $r)
                                                break bi;
                                            if ($this.$stateFogColorG !== $g)
                                                break bi;
                                            if ($this.$stateFogColorB !== $b)
                                                break bi;
                                            if ($this.$stateFogColorA === $a)
                                                break s;
                                            else
                                                break bi;
                                        }
                                        $this.$stateFogEXP = $fogEXP;
                                        $this.$stateFogDensity = $fogDensity;
                                        $this.$stateFogStart = $fogStart;
                                        $this.$stateFogEnd = $fogEnd;
                                        $vecS = $this.$stateFogParamUniform4f;
                                        $r = !$fogEXP ? 0.0 : 1.0;
                                        $ptr = 26;
                                        continue main;
                                    }
                                }
                            }
                            t: {
                                if ($this.$stateEnableAnisotropicFix) {
                                    $serial = nleo_GlStateManager_stateAnisotropicFixSerial;
                                    $r = $this.$stateAnisotropicFixSerial;
                                    $g = $serial;
                                    if ($r !== $g) {
                                        $this.$stateAnisotropicFixSerial = $g;
                                        $w = nleo_GlStateManager_stateAnisotropicFixW;
                                        $h = nleo_GlStateManager_stateAnisotropicFixH;
                                        if ($this.$stateAnisotropicFixW !== $w)
                                            break t;
                                        if ($this.$stateAnisotropicFixH !== $h)
                                            break t;
                                    }
                                }
                                h: {
                                    bk: {
                                        if ($this.$stateEnableEndPortal) {
                                            $serial = nleo_GlStateManager_stateTexGenSerial;
                                            if ($this.$stateTexGenSerial != $serial) {
                                                $this.$stateTexGenSerial = $serial;
                                                nleo_GlStateManager$TexGen_$callClinit();
                                                $planeS = nleo_GlStateManager$TexGen_S.$plane;
                                                $planeT = nleo_GlStateManager$TexGen_T.$plane;
                                                $planeR = nleo_GlStateManager$TexGen_R.$plane;
                                                $planeQ = nleo_GlStateManager$TexGen_Q.$plane;
                                                if ($this.$stateTexGenSPlane == $planeS && $this.$stateTexGenTPlane == $planeT && $this.$stateTexGenRPlane == $planeR && $this.$stateTexGenQPlane == $planeQ) {
                                                    $vecS = nleo_GlStateManager$TexGen_S.$vector;
                                                    $vecT = $this.$stateTexGenSVector;
                                                    $r = $vecT.$x0;
                                                    $g = $vecS.$x0;
                                                    if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                                                        $vecT = nleo_GlStateManager$TexGen_T.$vector;
                                                        $vecS = $this.$stateTexGenTVector;
                                                        $r = $vecS.$x0;
                                                        $g = $vecT.$x0;
                                                        if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                                                            $vecR = nleo_GlStateManager$TexGen_R.$vector;
                                                            $vecS = $this.$stateTexGenRVector;
                                                            $r = $vecS.$x0;
                                                            $g = $vecR.$x0;
                                                            if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                                                                $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                                                                $vecS = $this.$stateTexGenQVector;
                                                                $r = $vecS.$x0;
                                                                $g = $vecQ.$x0;
                                                                if ($r !== $g)
                                                                    break h;
                                                                if ($vecS.$y0 !== $vecQ.$y0)
                                                                    break h;
                                                                if ($vecS.$z0 !== $vecQ.$z0)
                                                                    break h;
                                                                if ($vecS.$w === $vecQ.$w)
                                                                    break bk;
                                                                else
                                                                    break h;
                                                            }
                                                            $vecS.$x0 = $g;
                                                            $vecS.$y0 = $vecR.$y0;
                                                            $vecS.$z0 = $vecR.$z0;
                                                            $vecS.$w = $vecR.$w;
                                                            $vecS = $this.$stateTexGenRVectorUniform4f;
                                                            $r = $vecR.$x0;
                                                            $g = $vecR.$y0;
                                                            $b = $vecR.$z0;
                                                            $a = $vecR.$w;
                                                            $ptr = 33;
                                                            continue main;
                                                        }
                                                        $vecS.$x0 = $g;
                                                        $vecS.$y0 = $vecT.$y0;
                                                        $vecS.$z0 = $vecT.$z0;
                                                        $vecS.$w = $vecT.$w;
                                                        $vecS = $this.$stateTexGenTVectorUniform4f;
                                                        $r = $vecT.$x0;
                                                        $g = $vecT.$y0;
                                                        $b = $vecT.$z0;
                                                        $a = $vecT.$w;
                                                        $ptr = 31;
                                                        continue main;
                                                    }
                                                    $vecT.$x0 = $g;
                                                    $vecT.$y0 = $vecS.$y0;
                                                    $vecT.$z0 = $vecS.$z0;
                                                    $vecT.$w = $vecS.$w;
                                                    $vecT = $this.$stateTexGenSVectorUniform4f;
                                                    $r = $vecS.$x0;
                                                    $g = $vecS.$y0;
                                                    $b = $vecS.$z0;
                                                    $a = $vecS.$w;
                                                    $ptr = 30;
                                                    continue main;
                                                }
                                                $this.$stateTexGenSPlane = $planeS;
                                                $this.$stateTexGenTPlane = $planeT;
                                                $this.$stateTexGenRPlane = $planeR;
                                                $this.$stateTexGenQPlane = $planeQ;
                                                $vecS = $this.$stateTexGenPlaneUniform4i;
                                                $ptr_0 = $planeS != 9474 ? 0 : 1;
                                                $ptr2 = $planeT != 9474 ? 0 : 1;
                                                $serial2 = $planeR != 9474 ? 0 : 1;
                                                $serial = $planeQ != 9474 ? 0 : 1;
                                                $ptr = 32;
                                                continue main;
                                            }
                                        }
                                    }
                                    n: {
                                        o: {
                                            if ($this.$stateEnableBlendAdd) {
                                                $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                                if ($this.$stateShaderBlendColorSerial != $serial) {
                                                    $this.$stateShaderBlendColorSerial = $serial;
                                                    $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                                    $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                                    $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                                    $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                                    if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                                        $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                                        $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                                        $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                                        $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                                        if ($this.$stateShaderBlendAddColorR !== $r)
                                                            break n;
                                                        if ($this.$stateShaderBlendAddColorG !== $g)
                                                            break n;
                                                        if ($this.$stateShaderBlendAddColorB !== $b)
                                                            break n;
                                                        if ($this.$stateShaderBlendAddColorA === $a)
                                                            break o;
                                                        else
                                                            break n;
                                                    }
                                                    $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                                    $ptr = 27;
                                                    continue main;
                                                }
                                            }
                                        }
                                        $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                                        if ($vecS !== null) {
                                            $en = $this.$extensionPointer;
                                            if ($en !== null)
                                                $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                                        }
                                        return $this;
                                    }
                                    $vecS = $this.$stateShaderBlendAddColorUniform4f;
                                    $ptr = 29;
                                    continue main;
                                }
                                $vecS.$x0 = $g;
                                $vecS.$y0 = $vecQ.$y0;
                                $vecS.$z0 = $vecQ.$z0;
                                $vecS.$w = $vecQ.$w;
                                $vecS = $this.$stateTexGenQVectorUniform4f;
                                $r = $vecQ.$x0;
                                $g = $vecQ.$y0;
                                $b = $vecQ.$z0;
                                $a = $vecQ.$w;
                                $ptr = 34;
                                continue main;
                            }
                            $this.$stateAnisotropicFixW = $w;
                            $this.$stateAnisotropicFixH = $h;
                            $vecS = $this.$stateAnisotropicFix2f;
                            $ptr = 23;
                            continue main;
                        }
                        $this.$stateFogColorR = $r;
                        $this.$stateFogColorG = $g;
                        $this.$stateFogColorB = $b;
                        $this.$stateFogColorA = $a;
                        $vecS = $this.$stateFogColorUniform4f;
                        $ptr = 28;
                        continue main;
                    }
                    $this.$stateNormalX = $r;
                    $this.$stateNormalY = $g;
                    $this.$stateNormalZ = $b;
                    $vecS = $this.$stateNormalUniform3f;
                    $ptr = 21;
                    continue main;
                }
                $this.$stateLightingAmbientR = $r;
                $this.$stateLightingAmbientG = $g;
                $this.$stateLightingAmbientB = $b;
                $vecS = $this.$stateLightingAmbientUniform3f;
                $ptr = 20;
                continue main;
            }
            $lightDirOld.$x0 = $x;
            $lightDirOld.$y0 = $y;
            $lightDirOld.$z0 = $z;
            $lightDirOld.$w = $w;
            $vecS = $this.$stateLightsVectorsArrayUniform4f.data[$lightsCounter];
            $ptr = 25;
            continue main;
        case 19:
            nlei_PlatformOpenGL__wglUniform2f($vecS, $x, $y);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                b: {
                    if ($this.$stateEnableMCLighting) {
                        $serial = nleo_GlStateManager_stateLightsStackPointer;
                        $ptr_0 = nleo_GlStateManager_stateLightingSerial.data[$serial];
                        if ($this.$stateLightingSerial != $ptr_0) {
                            $this.$stateLightingSerial = $ptr_0;
                            $en = nleo_GlStateManager_stateLightsEnabled.data[$serial];
                            $lightsCounter = 0;
                            $i = 0;
                            bq: {
                                while (true) {
                                    var$18 = $en.data;
                                    if ($i >= var$18.length)
                                        break;
                                    if (var$18[$i]) {
                                        $lightDirOld = $this.$stateLightsVectors.data[$lightsCounter];
                                        $lightDirNew = nleo_GlStateManager_stateLightsStack.data[$serial].data[$i];
                                        $x = $lightDirNew.$x0;
                                        $y = $lightDirNew.$y0;
                                        $z = $lightDirNew.$z0;
                                        $w = $lightDirNew.$w;
                                        if ($lightDirOld.$x0 !== $x)
                                            break a;
                                        if ($lightDirOld.$y0 !== $y)
                                            break a;
                                        if ($lightDirOld.$z0 !== $z)
                                            break a;
                                        if ($lightDirOld.$w !== $w)
                                            break a;
                                        $lightsCounter = $lightsCounter + 1 | 0;
                                        if ($lightsCounter >= $this.$stateLightsVectors.data.length)
                                            break bq;
                                    }
                                    $i = $i + 1 | 0;
                                }
                            }
                            if ($this.$stateLightsEnabled != $lightsCounter) {
                                $this.$stateLightsEnabled = $lightsCounter;
                                $vecS = $this.$stateLightsEnabledUniform1i;
                                $ptr = 24;
                                continue main;
                            }
                        }
                        $serial = nleo_GlStateManager_stateLightingAmbientSerial;
                        if ($this.$stateLightingAmbientSerial != $serial) {
                            $this.$stateLightingAmbientSerial = $serial;
                            $r = nleo_GlStateManager_stateLightingAmbientR;
                            $g = nleo_GlStateManager_stateLightingAmbientG;
                            $b = nleo_GlStateManager_stateLightingAmbientB;
                            if ($this.$stateLightingAmbientR !== $r)
                                break b;
                            if ($this.$stateLightingAmbientG !== $g)
                                break b;
                            if ($this.$stateLightingAmbientB !== $b)
                                break b;
                        }
                    }
                    br: {
                        if ($this.$stateEnableMCLighting && !$this.$stateHasAttribNormal) {
                            $serial = nleo_GlStateManager_stateNormalSerial;
                            if ($this.$stateNormalSerial != $serial) {
                                $this.$stateNormalSerial = $serial;
                                $x = nleo_GlStateManager_stateNormalX;
                                $y = nleo_GlStateManager_stateNormalY;
                                $z = nleo_GlStateManager_stateNormalZ;
                                $c = 1.0 / nms_MathHelper_sqrt_float($x * $x + $y * $y + $z * $z);
                                $r = $x * $c;
                                $g = $y * $c;
                                $b = $z * $c;
                                if ($this.$stateNormalX !== $r)
                                    break br;
                                if ($this.$stateNormalY !== $g)
                                    break br;
                                if ($this.$stateNormalZ !== $b)
                                    break br;
                            }
                        }
                        bi: {
                            s: {
                                if ($this.$stateEnableFog) {
                                    $serial = nleo_GlStateManager_stateFogSerial;
                                    if ($this.$stateFogSerial != $serial) {
                                        $this.$stateFogSerial = $serial;
                                        $fogEXP = nleo_GlStateManager_stateFogEXP;
                                        $fogDensity = nleo_GlStateManager_stateFogDensity;
                                        $fogStart = nleo_GlStateManager_stateFogStart;
                                        $fogEnd = nleo_GlStateManager_stateFogEnd;
                                        if ($this.$stateFogEXP == $fogEXP && $this.$stateFogDensity === $fogDensity && $this.$stateFogStart === $fogStart && $this.$stateFogEnd === $fogEnd) {
                                            $r = nleo_GlStateManager_stateFogColorR;
                                            $g = nleo_GlStateManager_stateFogColorG;
                                            $b = nleo_GlStateManager_stateFogColorB;
                                            $a = nleo_GlStateManager_stateFogColorA;
                                            if ($this.$stateFogColorR !== $r)
                                                break bi;
                                            if ($this.$stateFogColorG !== $g)
                                                break bi;
                                            if ($this.$stateFogColorB !== $b)
                                                break bi;
                                            if ($this.$stateFogColorA === $a)
                                                break s;
                                            else
                                                break bi;
                                        }
                                        $this.$stateFogEXP = $fogEXP;
                                        $this.$stateFogDensity = $fogDensity;
                                        $this.$stateFogStart = $fogStart;
                                        $this.$stateFogEnd = $fogEnd;
                                        $vecS = $this.$stateFogParamUniform4f;
                                        $r = !$fogEXP ? 0.0 : 1.0;
                                        $ptr = 26;
                                        continue main;
                                    }
                                }
                            }
                            t: {
                                if ($this.$stateEnableAnisotropicFix) {
                                    $serial = nleo_GlStateManager_stateAnisotropicFixSerial;
                                    $r = $this.$stateAnisotropicFixSerial;
                                    $g = $serial;
                                    if ($r !== $g) {
                                        $this.$stateAnisotropicFixSerial = $g;
                                        $w = nleo_GlStateManager_stateAnisotropicFixW;
                                        $h = nleo_GlStateManager_stateAnisotropicFixH;
                                        if ($this.$stateAnisotropicFixW !== $w)
                                            break t;
                                        if ($this.$stateAnisotropicFixH !== $h)
                                            break t;
                                    }
                                }
                                h: {
                                    bk: {
                                        if ($this.$stateEnableEndPortal) {
                                            $serial = nleo_GlStateManager_stateTexGenSerial;
                                            if ($this.$stateTexGenSerial != $serial) {
                                                $this.$stateTexGenSerial = $serial;
                                                nleo_GlStateManager$TexGen_$callClinit();
                                                $planeS = nleo_GlStateManager$TexGen_S.$plane;
                                                $planeT = nleo_GlStateManager$TexGen_T.$plane;
                                                $planeR = nleo_GlStateManager$TexGen_R.$plane;
                                                $planeQ = nleo_GlStateManager$TexGen_Q.$plane;
                                                if ($this.$stateTexGenSPlane == $planeS && $this.$stateTexGenTPlane == $planeT && $this.$stateTexGenRPlane == $planeR && $this.$stateTexGenQPlane == $planeQ) {
                                                    $vecS = nleo_GlStateManager$TexGen_S.$vector;
                                                    $vecT = $this.$stateTexGenSVector;
                                                    $r = $vecT.$x0;
                                                    $g = $vecS.$x0;
                                                    if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                                                        $vecT = nleo_GlStateManager$TexGen_T.$vector;
                                                        $vecS = $this.$stateTexGenTVector;
                                                        $r = $vecS.$x0;
                                                        $g = $vecT.$x0;
                                                        if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                                                            $vecR = nleo_GlStateManager$TexGen_R.$vector;
                                                            $vecS = $this.$stateTexGenRVector;
                                                            $r = $vecS.$x0;
                                                            $g = $vecR.$x0;
                                                            if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                                                                $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                                                                $vecS = $this.$stateTexGenQVector;
                                                                $r = $vecS.$x0;
                                                                $g = $vecQ.$x0;
                                                                if ($r !== $g)
                                                                    break h;
                                                                if ($vecS.$y0 !== $vecQ.$y0)
                                                                    break h;
                                                                if ($vecS.$z0 !== $vecQ.$z0)
                                                                    break h;
                                                                if ($vecS.$w === $vecQ.$w)
                                                                    break bk;
                                                                else
                                                                    break h;
                                                            }
                                                            $vecS.$x0 = $g;
                                                            $vecS.$y0 = $vecR.$y0;
                                                            $vecS.$z0 = $vecR.$z0;
                                                            $vecS.$w = $vecR.$w;
                                                            $vecS = $this.$stateTexGenRVectorUniform4f;
                                                            $r = $vecR.$x0;
                                                            $g = $vecR.$y0;
                                                            $b = $vecR.$z0;
                                                            $a = $vecR.$w;
                                                            $ptr = 33;
                                                            continue main;
                                                        }
                                                        $vecS.$x0 = $g;
                                                        $vecS.$y0 = $vecT.$y0;
                                                        $vecS.$z0 = $vecT.$z0;
                                                        $vecS.$w = $vecT.$w;
                                                        $vecS = $this.$stateTexGenTVectorUniform4f;
                                                        $r = $vecT.$x0;
                                                        $g = $vecT.$y0;
                                                        $b = $vecT.$z0;
                                                        $a = $vecT.$w;
                                                        $ptr = 31;
                                                        continue main;
                                                    }
                                                    $vecT.$x0 = $g;
                                                    $vecT.$y0 = $vecS.$y0;
                                                    $vecT.$z0 = $vecS.$z0;
                                                    $vecT.$w = $vecS.$w;
                                                    $vecT = $this.$stateTexGenSVectorUniform4f;
                                                    $r = $vecS.$x0;
                                                    $g = $vecS.$y0;
                                                    $b = $vecS.$z0;
                                                    $a = $vecS.$w;
                                                    $ptr = 30;
                                                    continue main;
                                                }
                                                $this.$stateTexGenSPlane = $planeS;
                                                $this.$stateTexGenTPlane = $planeT;
                                                $this.$stateTexGenRPlane = $planeR;
                                                $this.$stateTexGenQPlane = $planeQ;
                                                $vecS = $this.$stateTexGenPlaneUniform4i;
                                                $ptr_0 = $planeS != 9474 ? 0 : 1;
                                                $ptr2 = $planeT != 9474 ? 0 : 1;
                                                $serial2 = $planeR != 9474 ? 0 : 1;
                                                $serial = $planeQ != 9474 ? 0 : 1;
                                                $ptr = 32;
                                                continue main;
                                            }
                                        }
                                    }
                                    n: {
                                        o: {
                                            if ($this.$stateEnableBlendAdd) {
                                                $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                                if ($this.$stateShaderBlendColorSerial != $serial) {
                                                    $this.$stateShaderBlendColorSerial = $serial;
                                                    $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                                    $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                                    $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                                    $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                                    if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                                        $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                                        $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                                        $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                                        $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                                        if ($this.$stateShaderBlendAddColorR !== $r)
                                                            break n;
                                                        if ($this.$stateShaderBlendAddColorG !== $g)
                                                            break n;
                                                        if ($this.$stateShaderBlendAddColorB !== $b)
                                                            break n;
                                                        if ($this.$stateShaderBlendAddColorA === $a)
                                                            break o;
                                                        else
                                                            break n;
                                                    }
                                                    $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                                    $ptr = 27;
                                                    continue main;
                                                }
                                            }
                                        }
                                        $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                                        if ($vecS !== null) {
                                            $en = $this.$extensionPointer;
                                            if ($en !== null)
                                                $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                                        }
                                        return $this;
                                    }
                                    $vecS = $this.$stateShaderBlendAddColorUniform4f;
                                    $ptr = 29;
                                    continue main;
                                }
                                $vecS.$x0 = $g;
                                $vecS.$y0 = $vecQ.$y0;
                                $vecS.$z0 = $vecQ.$z0;
                                $vecS.$w = $vecQ.$w;
                                $vecS = $this.$stateTexGenQVectorUniform4f;
                                $r = $vecQ.$x0;
                                $g = $vecQ.$y0;
                                $b = $vecQ.$z0;
                                $a = $vecQ.$w;
                                $ptr = 34;
                                continue main;
                            }
                            $this.$stateAnisotropicFixW = $w;
                            $this.$stateAnisotropicFixH = $h;
                            $vecS = $this.$stateAnisotropicFix2f;
                            $ptr = 23;
                            continue main;
                        }
                        $this.$stateFogColorR = $r;
                        $this.$stateFogColorG = $g;
                        $this.$stateFogColorB = $b;
                        $this.$stateFogColorA = $a;
                        $vecS = $this.$stateFogColorUniform4f;
                        $ptr = 28;
                        continue main;
                    }
                    $this.$stateNormalX = $r;
                    $this.$stateNormalY = $g;
                    $this.$stateNormalZ = $b;
                    $vecS = $this.$stateNormalUniform3f;
                    $ptr = 21;
                    continue main;
                }
                $this.$stateLightingAmbientR = $r;
                $this.$stateLightingAmbientG = $g;
                $this.$stateLightingAmbientB = $b;
                $vecS = $this.$stateLightingAmbientUniform3f;
                $ptr = 20;
                continue main;
            }
            $lightDirOld.$x0 = $x;
            $lightDirOld.$y0 = $y;
            $lightDirOld.$z0 = $z;
            $lightDirOld.$w = $w;
            $vecS = $this.$stateLightsVectorsArrayUniform4f.data[$lightsCounter];
            $ptr = 25;
            continue main;
        case 20:
            nlei_PlatformOpenGL__wglUniform3f($vecS, $r, $g, $b);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                if ($this.$stateEnableMCLighting && !$this.$stateHasAttribNormal) {
                    $serial = nleo_GlStateManager_stateNormalSerial;
                    if ($this.$stateNormalSerial != $serial) {
                        $this.$stateNormalSerial = $serial;
                        $x = nleo_GlStateManager_stateNormalX;
                        $y = nleo_GlStateManager_stateNormalY;
                        $z = nleo_GlStateManager_stateNormalZ;
                        $c = 1.0 / nms_MathHelper_sqrt_float($x * $x + $y * $y + $z * $z);
                        $r = $x * $c;
                        $g = $y * $c;
                        $b = $z * $c;
                        if ($this.$stateNormalX !== $r)
                            break a;
                        if ($this.$stateNormalY !== $g)
                            break a;
                        if ($this.$stateNormalZ !== $b)
                            break a;
                    }
                }
                c: {
                    bp: {
                        if ($this.$stateEnableFog) {
                            $serial = nleo_GlStateManager_stateFogSerial;
                            if ($this.$stateFogSerial != $serial) {
                                $this.$stateFogSerial = $serial;
                                $fogEXP = nleo_GlStateManager_stateFogEXP;
                                $fogDensity = nleo_GlStateManager_stateFogDensity;
                                $fogStart = nleo_GlStateManager_stateFogStart;
                                $fogEnd = nleo_GlStateManager_stateFogEnd;
                                if ($this.$stateFogEXP == $fogEXP && $this.$stateFogDensity === $fogDensity && $this.$stateFogStart === $fogStart && $this.$stateFogEnd === $fogEnd) {
                                    $r = nleo_GlStateManager_stateFogColorR;
                                    $g = nleo_GlStateManager_stateFogColorG;
                                    $b = nleo_GlStateManager_stateFogColorB;
                                    $a = nleo_GlStateManager_stateFogColorA;
                                    if ($this.$stateFogColorR !== $r)
                                        break c;
                                    if ($this.$stateFogColorG !== $g)
                                        break c;
                                    if ($this.$stateFogColorB !== $b)
                                        break c;
                                    if ($this.$stateFogColorA === $a)
                                        break bp;
                                    else
                                        break c;
                                }
                                $this.$stateFogEXP = $fogEXP;
                                $this.$stateFogDensity = $fogDensity;
                                $this.$stateFogStart = $fogStart;
                                $this.$stateFogEnd = $fogEnd;
                                $vecS = $this.$stateFogParamUniform4f;
                                $r = !$fogEXP ? 0.0 : 1.0;
                                $ptr = 26;
                                continue main;
                            }
                        }
                    }
                    d: {
                        if ($this.$stateEnableAnisotropicFix) {
                            $serial = nleo_GlStateManager_stateAnisotropicFixSerial;
                            $r = $this.$stateAnisotropicFixSerial;
                            $g = $serial;
                            if ($r !== $g) {
                                $this.$stateAnisotropicFixSerial = $g;
                                $w = nleo_GlStateManager_stateAnisotropicFixW;
                                $h = nleo_GlStateManager_stateAnisotropicFixH;
                                if ($this.$stateAnisotropicFixW !== $w)
                                    break d;
                                if ($this.$stateAnisotropicFixH !== $h)
                                    break d;
                            }
                        }
                        bn: {
                            bi: {
                                if ($this.$stateEnableEndPortal) {
                                    $serial = nleo_GlStateManager_stateTexGenSerial;
                                    if ($this.$stateTexGenSerial != $serial) {
                                        $this.$stateTexGenSerial = $serial;
                                        nleo_GlStateManager$TexGen_$callClinit();
                                        $planeS = nleo_GlStateManager$TexGen_S.$plane;
                                        $planeT = nleo_GlStateManager$TexGen_T.$plane;
                                        $planeR = nleo_GlStateManager$TexGen_R.$plane;
                                        $planeQ = nleo_GlStateManager$TexGen_Q.$plane;
                                        if ($this.$stateTexGenSPlane == $planeS && $this.$stateTexGenTPlane == $planeT && $this.$stateTexGenRPlane == $planeR && $this.$stateTexGenQPlane == $planeQ) {
                                            $vecS = nleo_GlStateManager$TexGen_S.$vector;
                                            $vecT = $this.$stateTexGenSVector;
                                            $r = $vecT.$x0;
                                            $g = $vecS.$x0;
                                            if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                                                $vecT = nleo_GlStateManager$TexGen_T.$vector;
                                                $vecS = $this.$stateTexGenTVector;
                                                $r = $vecS.$x0;
                                                $g = $vecT.$x0;
                                                if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                                                    $vecR = nleo_GlStateManager$TexGen_R.$vector;
                                                    $vecS = $this.$stateTexGenRVector;
                                                    $r = $vecS.$x0;
                                                    $g = $vecR.$x0;
                                                    if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                                                        $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                                                        $vecS = $this.$stateTexGenQVector;
                                                        $r = $vecS.$x0;
                                                        $g = $vecQ.$x0;
                                                        if ($r !== $g)
                                                            break bn;
                                                        if ($vecS.$y0 !== $vecQ.$y0)
                                                            break bn;
                                                        if ($vecS.$z0 !== $vecQ.$z0)
                                                            break bn;
                                                        if ($vecS.$w === $vecQ.$w)
                                                            break bi;
                                                        else
                                                            break bn;
                                                    }
                                                    $vecS.$x0 = $g;
                                                    $vecS.$y0 = $vecR.$y0;
                                                    $vecS.$z0 = $vecR.$z0;
                                                    $vecS.$w = $vecR.$w;
                                                    $vecS = $this.$stateTexGenRVectorUniform4f;
                                                    $r = $vecR.$x0;
                                                    $g = $vecR.$y0;
                                                    $b = $vecR.$z0;
                                                    $a = $vecR.$w;
                                                    $ptr = 33;
                                                    continue main;
                                                }
                                                $vecS.$x0 = $g;
                                                $vecS.$y0 = $vecT.$y0;
                                                $vecS.$z0 = $vecT.$z0;
                                                $vecS.$w = $vecT.$w;
                                                $vecS = $this.$stateTexGenTVectorUniform4f;
                                                $r = $vecT.$x0;
                                                $g = $vecT.$y0;
                                                $b = $vecT.$z0;
                                                $a = $vecT.$w;
                                                $ptr = 31;
                                                continue main;
                                            }
                                            $vecT.$x0 = $g;
                                            $vecT.$y0 = $vecS.$y0;
                                            $vecT.$z0 = $vecS.$z0;
                                            $vecT.$w = $vecS.$w;
                                            $vecT = $this.$stateTexGenSVectorUniform4f;
                                            $r = $vecS.$x0;
                                            $g = $vecS.$y0;
                                            $b = $vecS.$z0;
                                            $a = $vecS.$w;
                                            $ptr = 30;
                                            continue main;
                                        }
                                        $this.$stateTexGenSPlane = $planeS;
                                        $this.$stateTexGenTPlane = $planeT;
                                        $this.$stateTexGenRPlane = $planeR;
                                        $this.$stateTexGenQPlane = $planeQ;
                                        $vecS = $this.$stateTexGenPlaneUniform4i;
                                        $ptr_0 = $planeS != 9474 ? 0 : 1;
                                        $ptr2 = $planeT != 9474 ? 0 : 1;
                                        $serial2 = $planeR != 9474 ? 0 : 1;
                                        $serial = $planeQ != 9474 ? 0 : 1;
                                        $ptr = 32;
                                        continue main;
                                    }
                                }
                            }
                            w: {
                                k: {
                                    if ($this.$stateEnableBlendAdd) {
                                        $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                        if ($this.$stateShaderBlendColorSerial != $serial) {
                                            $this.$stateShaderBlendColorSerial = $serial;
                                            $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                            $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                            $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                            $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                            if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                                $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                                $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                                $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                                $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                                if ($this.$stateShaderBlendAddColorR !== $r)
                                                    break w;
                                                if ($this.$stateShaderBlendAddColorG !== $g)
                                                    break w;
                                                if ($this.$stateShaderBlendAddColorB !== $b)
                                                    break w;
                                                if ($this.$stateShaderBlendAddColorA === $a)
                                                    break k;
                                                else
                                                    break w;
                                            }
                                            $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                            $ptr = 27;
                                            continue main;
                                        }
                                    }
                                }
                                $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                                if ($vecS !== null) {
                                    $en = $this.$extensionPointer;
                                    if ($en !== null)
                                        $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                                }
                                return $this;
                            }
                            $vecS = $this.$stateShaderBlendAddColorUniform4f;
                            $ptr = 29;
                            continue main;
                        }
                        $vecS.$x0 = $g;
                        $vecS.$y0 = $vecQ.$y0;
                        $vecS.$z0 = $vecQ.$z0;
                        $vecS.$w = $vecQ.$w;
                        $vecS = $this.$stateTexGenQVectorUniform4f;
                        $r = $vecQ.$x0;
                        $g = $vecQ.$y0;
                        $b = $vecQ.$z0;
                        $a = $vecQ.$w;
                        $ptr = 34;
                        continue main;
                    }
                    $this.$stateAnisotropicFixW = $w;
                    $this.$stateAnisotropicFixH = $h;
                    $vecS = $this.$stateAnisotropicFix2f;
                    $ptr = 23;
                    continue main;
                }
                $this.$stateFogColorR = $r;
                $this.$stateFogColorG = $g;
                $this.$stateFogColorB = $b;
                $this.$stateFogColorA = $a;
                $vecS = $this.$stateFogColorUniform4f;
                $ptr = 28;
                continue main;
            }
            $this.$stateNormalX = $r;
            $this.$stateNormalY = $g;
            $this.$stateNormalZ = $b;
            $vecS = $this.$stateNormalUniform3f;
            $ptr = 21;
        case 21:
            nlei_PlatformOpenGL__wglUniform3f($vecS, $r, $g, $b);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                b: {
                    if ($this.$stateEnableFog) {
                        $serial = nleo_GlStateManager_stateFogSerial;
                        if ($this.$stateFogSerial != $serial) {
                            $this.$stateFogSerial = $serial;
                            $fogEXP = nleo_GlStateManager_stateFogEXP;
                            $fogDensity = nleo_GlStateManager_stateFogDensity;
                            $fogStart = nleo_GlStateManager_stateFogStart;
                            $fogEnd = nleo_GlStateManager_stateFogEnd;
                            if ($this.$stateFogEXP == $fogEXP && $this.$stateFogDensity === $fogDensity && $this.$stateFogStart === $fogStart && $this.$stateFogEnd === $fogEnd) {
                                $r = nleo_GlStateManager_stateFogColorR;
                                $g = nleo_GlStateManager_stateFogColorG;
                                $b = nleo_GlStateManager_stateFogColorB;
                                $a = nleo_GlStateManager_stateFogColorA;
                                if ($this.$stateFogColorR !== $r)
                                    break a;
                                if ($this.$stateFogColorG !== $g)
                                    break a;
                                if ($this.$stateFogColorB !== $b)
                                    break a;
                                if ($this.$stateFogColorA === $a)
                                    break b;
                                else
                                    break a;
                            }
                            $this.$stateFogEXP = $fogEXP;
                            $this.$stateFogDensity = $fogDensity;
                            $this.$stateFogStart = $fogStart;
                            $this.$stateFogEnd = $fogEnd;
                            $vecS = $this.$stateFogParamUniform4f;
                            $r = !$fogEXP ? 0.0 : 1.0;
                            $ptr = 26;
                            continue main;
                        }
                    }
                }
                bh: {
                    if ($this.$stateEnableAnisotropicFix) {
                        $serial = nleo_GlStateManager_stateAnisotropicFixSerial;
                        $r = $this.$stateAnisotropicFixSerial;
                        $g = $serial;
                        if ($r !== $g) {
                            $this.$stateAnisotropicFixSerial = $g;
                            $w = nleo_GlStateManager_stateAnisotropicFixW;
                            $h = nleo_GlStateManager_stateAnisotropicFixH;
                            if ($this.$stateAnisotropicFixW !== $w)
                                break bh;
                            if ($this.$stateAnisotropicFixH !== $h)
                                break bh;
                        }
                    }
                    d: {
                        br: {
                            if ($this.$stateEnableEndPortal) {
                                $serial = nleo_GlStateManager_stateTexGenSerial;
                                if ($this.$stateTexGenSerial != $serial) {
                                    $this.$stateTexGenSerial = $serial;
                                    nleo_GlStateManager$TexGen_$callClinit();
                                    $planeS = nleo_GlStateManager$TexGen_S.$plane;
                                    $planeT = nleo_GlStateManager$TexGen_T.$plane;
                                    $planeR = nleo_GlStateManager$TexGen_R.$plane;
                                    $planeQ = nleo_GlStateManager$TexGen_Q.$plane;
                                    if ($this.$stateTexGenSPlane == $planeS && $this.$stateTexGenTPlane == $planeT && $this.$stateTexGenRPlane == $planeR && $this.$stateTexGenQPlane == $planeQ) {
                                        $vecS = nleo_GlStateManager$TexGen_S.$vector;
                                        $vecT = $this.$stateTexGenSVector;
                                        $r = $vecT.$x0;
                                        $g = $vecS.$x0;
                                        if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                                            $vecT = nleo_GlStateManager$TexGen_T.$vector;
                                            $vecS = $this.$stateTexGenTVector;
                                            $r = $vecS.$x0;
                                            $g = $vecT.$x0;
                                            if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                                                $vecR = nleo_GlStateManager$TexGen_R.$vector;
                                                $vecS = $this.$stateTexGenRVector;
                                                $r = $vecS.$x0;
                                                $g = $vecR.$x0;
                                                if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                                                    $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                                                    $vecS = $this.$stateTexGenQVector;
                                                    $r = $vecS.$x0;
                                                    $g = $vecQ.$x0;
                                                    if ($r !== $g)
                                                        break d;
                                                    if ($vecS.$y0 !== $vecQ.$y0)
                                                        break d;
                                                    if ($vecS.$z0 !== $vecQ.$z0)
                                                        break d;
                                                    if ($vecS.$w === $vecQ.$w)
                                                        break br;
                                                    else
                                                        break d;
                                                }
                                                $vecS.$x0 = $g;
                                                $vecS.$y0 = $vecR.$y0;
                                                $vecS.$z0 = $vecR.$z0;
                                                $vecS.$w = $vecR.$w;
                                                $vecS = $this.$stateTexGenRVectorUniform4f;
                                                $r = $vecR.$x0;
                                                $g = $vecR.$y0;
                                                $b = $vecR.$z0;
                                                $a = $vecR.$w;
                                                $ptr = 33;
                                                continue main;
                                            }
                                            $vecS.$x0 = $g;
                                            $vecS.$y0 = $vecT.$y0;
                                            $vecS.$z0 = $vecT.$z0;
                                            $vecS.$w = $vecT.$w;
                                            $vecS = $this.$stateTexGenTVectorUniform4f;
                                            $r = $vecT.$x0;
                                            $g = $vecT.$y0;
                                            $b = $vecT.$z0;
                                            $a = $vecT.$w;
                                            $ptr = 31;
                                            continue main;
                                        }
                                        $vecT.$x0 = $g;
                                        $vecT.$y0 = $vecS.$y0;
                                        $vecT.$z0 = $vecS.$z0;
                                        $vecT.$w = $vecS.$w;
                                        $vecT = $this.$stateTexGenSVectorUniform4f;
                                        $r = $vecS.$x0;
                                        $g = $vecS.$y0;
                                        $b = $vecS.$z0;
                                        $a = $vecS.$w;
                                        $ptr = 30;
                                        continue main;
                                    }
                                    $this.$stateTexGenSPlane = $planeS;
                                    $this.$stateTexGenTPlane = $planeT;
                                    $this.$stateTexGenRPlane = $planeR;
                                    $this.$stateTexGenQPlane = $planeQ;
                                    $vecS = $this.$stateTexGenPlaneUniform4i;
                                    $ptr_0 = $planeS != 9474 ? 0 : 1;
                                    $ptr2 = $planeT != 9474 ? 0 : 1;
                                    $serial2 = $planeR != 9474 ? 0 : 1;
                                    $serial = $planeQ != 9474 ? 0 : 1;
                                    $ptr = 32;
                                    continue main;
                                }
                            }
                        }
                        v: {
                            j: {
                                if ($this.$stateEnableBlendAdd) {
                                    $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                    if ($this.$stateShaderBlendColorSerial != $serial) {
                                        $this.$stateShaderBlendColorSerial = $serial;
                                        $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                        $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                        $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                        $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                        if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                            $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                            $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                            $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                            $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                            if ($this.$stateShaderBlendAddColorR !== $r)
                                                break v;
                                            if ($this.$stateShaderBlendAddColorG !== $g)
                                                break v;
                                            if ($this.$stateShaderBlendAddColorB !== $b)
                                                break v;
                                            if ($this.$stateShaderBlendAddColorA === $a)
                                                break j;
                                            else
                                                break v;
                                        }
                                        $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                        $ptr = 27;
                                        continue main;
                                    }
                                }
                            }
                            $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                            if ($vecS !== null) {
                                $en = $this.$extensionPointer;
                                if ($en !== null)
                                    $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                            }
                            return $this;
                        }
                        $vecS = $this.$stateShaderBlendAddColorUniform4f;
                        $ptr = 29;
                        continue main;
                    }
                    $vecS.$x0 = $g;
                    $vecS.$y0 = $vecQ.$y0;
                    $vecS.$z0 = $vecQ.$z0;
                    $vecS.$w = $vecQ.$w;
                    $vecS = $this.$stateTexGenQVectorUniform4f;
                    $r = $vecQ.$x0;
                    $g = $vecQ.$y0;
                    $b = $vecQ.$z0;
                    $a = $vecQ.$w;
                    $ptr = 34;
                    continue main;
                }
                $this.$stateAnisotropicFixW = $w;
                $this.$stateAnisotropicFixH = $h;
                $vecS = $this.$stateAnisotropicFix2f;
                $ptr = 23;
                continue main;
            }
            $this.$stateFogColorR = $r;
            $this.$stateFogColorG = $g;
            $this.$stateFogColorB = $b;
            $this.$stateFogColorA = $a;
            $vecS = $this.$stateFogColorUniform4f;
            $ptr = 28;
            continue main;
        case 22:
            nlei_PlatformOpenGL__wglUniform2f($vecS, $x, $y);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                b: {
                    if ($this.$stateEnableLightmap) {
                        $serial = nleo_GlStateManager_textureMatrixStackPointer.data[1];
                        $ptr_0 = nleo_GlStateManager_textureMatrixStackAccessSerial.data[1].data[$serial];
                        if ($this.$stateHasAttribLightmap) {
                            $en = $this.$stateTextureMatrixSerial.data;
                            if ($en[1] == $ptr_0)
                                break b;
                            $en[1] = $ptr_0;
                            nleib_EaglerArrayFloatBuffer_clear(nleo_FixedFunctionPipeline_matrixCopyBuffer);
                            $vecS = nleo_GlStateManager_textureMatrixStack.data[1].data[$serial];
                            $vecT = nleo_FixedFunctionPipeline_matrixCopyBuffer;
                            $ptr = 17;
                            continue main;
                        }
                        $serial2 = nleo_GlStateManager_textureCoordsAccessSerial.data[1];
                        $en = $this.$stateTextureCoordsAccessSerial.data;
                        if (!($en[1] == $serial2 && $this.$stateTextureCoordsMatrixSerial.data[1] == $ptr_0)) {
                            $en[1] = $serial2;
                            $this.$stateTextureCoordsMatrixSerial.data[1] = $ptr_0;
                            $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                            $vecS.$x0 = nleo_GlStateManager_textureCoordsX.data[1];
                            $vecS.$y0 = nleo_GlStateManager_textureCoordsY.data[1];
                            $vecS.$z0 = 0.0;
                            $vecS.$w = 1.0;
                            nlev_Matrix4f_transform(nleo_GlStateManager_textureMatrixStack.data[1].data[$serial], $vecS, $vecS);
                            $vecS = nleo_FixedFunctionPipeline_tmpVec4ForTex;
                            $r = $vecS.$x0;
                            $g = $vecS.$w;
                            $x = $r / $g;
                            $y = $vecS.$y0 / $g;
                            $en = $this.$stateTextureCoordsX.data;
                            if ($x !== $en[1])
                                break a;
                            if ($y !== $this.$stateTextureCoordsY.data[1])
                                break a;
                        }
                    }
                }
                bm: {
                    bh: {
                        if ($this.$stateEnableMCLighting) {
                            $serial = nleo_GlStateManager_stateLightsStackPointer;
                            $ptr_0 = nleo_GlStateManager_stateLightingSerial.data[$serial];
                            if ($this.$stateLightingSerial != $ptr_0) {
                                $this.$stateLightingSerial = $ptr_0;
                                $en = nleo_GlStateManager_stateLightsEnabled.data[$serial];
                                $lightsCounter = 0;
                                $i = 0;
                                br: {
                                    while (true) {
                                        var$18 = $en.data;
                                        if ($i >= var$18.length)
                                            break;
                                        if (var$18[$i]) {
                                            $lightDirOld = $this.$stateLightsVectors.data[$lightsCounter];
                                            $lightDirNew = nleo_GlStateManager_stateLightsStack.data[$serial].data[$i];
                                            $x = $lightDirNew.$x0;
                                            $y = $lightDirNew.$y0;
                                            $z = $lightDirNew.$z0;
                                            $w = $lightDirNew.$w;
                                            if ($lightDirOld.$x0 !== $x)
                                                break bm;
                                            if ($lightDirOld.$y0 !== $y)
                                                break bm;
                                            if ($lightDirOld.$z0 !== $z)
                                                break bm;
                                            if ($lightDirOld.$w !== $w)
                                                break bm;
                                            $lightsCounter = $lightsCounter + 1 | 0;
                                            if ($lightsCounter >= $this.$stateLightsVectors.data.length)
                                                break br;
                                        }
                                        $i = $i + 1 | 0;
                                    }
                                }
                                if ($this.$stateLightsEnabled != $lightsCounter) {
                                    $this.$stateLightsEnabled = $lightsCounter;
                                    $vecS = $this.$stateLightsEnabledUniform1i;
                                    $ptr = 24;
                                    continue main;
                                }
                            }
                            $serial = nleo_GlStateManager_stateLightingAmbientSerial;
                            if ($this.$stateLightingAmbientSerial != $serial) {
                                $this.$stateLightingAmbientSerial = $serial;
                                $r = nleo_GlStateManager_stateLightingAmbientR;
                                $g = nleo_GlStateManager_stateLightingAmbientG;
                                $b = nleo_GlStateManager_stateLightingAmbientB;
                                if ($this.$stateLightingAmbientR !== $r)
                                    break bh;
                                if ($this.$stateLightingAmbientG !== $g)
                                    break bh;
                                if ($this.$stateLightingAmbientB !== $b)
                                    break bh;
                            }
                        }
                        f: {
                            if ($this.$stateEnableMCLighting && !$this.$stateHasAttribNormal) {
                                $serial = nleo_GlStateManager_stateNormalSerial;
                                if ($this.$stateNormalSerial != $serial) {
                                    $this.$stateNormalSerial = $serial;
                                    $x = nleo_GlStateManager_stateNormalX;
                                    $y = nleo_GlStateManager_stateNormalY;
                                    $z = nleo_GlStateManager_stateNormalZ;
                                    $c = 1.0 / nms_MathHelper_sqrt_float($x * $x + $y * $y + $z * $z);
                                    $r = $x * $c;
                                    $g = $y * $c;
                                    $b = $z * $c;
                                    if ($this.$stateNormalX !== $r)
                                        break f;
                                    if ($this.$stateNormalY !== $g)
                                        break f;
                                    if ($this.$stateNormalZ !== $b)
                                        break f;
                                }
                            }
                            ba: {
                                t: {
                                    if ($this.$stateEnableFog) {
                                        $serial = nleo_GlStateManager_stateFogSerial;
                                        if ($this.$stateFogSerial != $serial) {
                                            $this.$stateFogSerial = $serial;
                                            $fogEXP = nleo_GlStateManager_stateFogEXP;
                                            $fogDensity = nleo_GlStateManager_stateFogDensity;
                                            $fogStart = nleo_GlStateManager_stateFogStart;
                                            $fogEnd = nleo_GlStateManager_stateFogEnd;
                                            if ($this.$stateFogEXP == $fogEXP && $this.$stateFogDensity === $fogDensity && $this.$stateFogStart === $fogStart && $this.$stateFogEnd === $fogEnd) {
                                                $r = nleo_GlStateManager_stateFogColorR;
                                                $g = nleo_GlStateManager_stateFogColorG;
                                                $b = nleo_GlStateManager_stateFogColorB;
                                                $a = nleo_GlStateManager_stateFogColorA;
                                                if ($this.$stateFogColorR !== $r)
                                                    break ba;
                                                if ($this.$stateFogColorG !== $g)
                                                    break ba;
                                                if ($this.$stateFogColorB !== $b)
                                                    break ba;
                                                if ($this.$stateFogColorA === $a)
                                                    break t;
                                                else
                                                    break ba;
                                            }
                                            $this.$stateFogEXP = $fogEXP;
                                            $this.$stateFogDensity = $fogDensity;
                                            $this.$stateFogStart = $fogStart;
                                            $this.$stateFogEnd = $fogEnd;
                                            $vecS = $this.$stateFogParamUniform4f;
                                            $r = !$fogEXP ? 0.0 : 1.0;
                                            $ptr = 26;
                                            continue main;
                                        }
                                    }
                                }
                                i: {
                                    if ($this.$stateEnableAnisotropicFix) {
                                        $serial = nleo_GlStateManager_stateAnisotropicFixSerial;
                                        $r = $this.$stateAnisotropicFixSerial;
                                        $g = $serial;
                                        if ($r !== $g) {
                                            $this.$stateAnisotropicFixSerial = $g;
                                            $w = nleo_GlStateManager_stateAnisotropicFixW;
                                            $h = nleo_GlStateManager_stateAnisotropicFixH;
                                            if ($this.$stateAnisotropicFixW !== $w)
                                                break i;
                                            if ($this.$stateAnisotropicFixH !== $h)
                                                break i;
                                        }
                                    }
                                    bc: {
                                        bs: {
                                            if ($this.$stateEnableEndPortal) {
                                                $serial = nleo_GlStateManager_stateTexGenSerial;
                                                if ($this.$stateTexGenSerial != $serial) {
                                                    $this.$stateTexGenSerial = $serial;
                                                    nleo_GlStateManager$TexGen_$callClinit();
                                                    $planeS = nleo_GlStateManager$TexGen_S.$plane;
                                                    $planeT = nleo_GlStateManager$TexGen_T.$plane;
                                                    $planeR = nleo_GlStateManager$TexGen_R.$plane;
                                                    $planeQ = nleo_GlStateManager$TexGen_Q.$plane;
                                                    if ($this.$stateTexGenSPlane == $planeS && $this.$stateTexGenTPlane == $planeT && $this.$stateTexGenRPlane == $planeR && $this.$stateTexGenQPlane == $planeQ) {
                                                        $vecS = nleo_GlStateManager$TexGen_S.$vector;
                                                        $vecT = $this.$stateTexGenSVector;
                                                        $r = $vecT.$x0;
                                                        $g = $vecS.$x0;
                                                        if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                                                            $vecT = nleo_GlStateManager$TexGen_T.$vector;
                                                            $vecS = $this.$stateTexGenTVector;
                                                            $r = $vecS.$x0;
                                                            $g = $vecT.$x0;
                                                            if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                                                                $vecR = nleo_GlStateManager$TexGen_R.$vector;
                                                                $vecS = $this.$stateTexGenRVector;
                                                                $r = $vecS.$x0;
                                                                $g = $vecR.$x0;
                                                                if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                                                                    $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                                                                    $vecS = $this.$stateTexGenQVector;
                                                                    $r = $vecS.$x0;
                                                                    $g = $vecQ.$x0;
                                                                    if ($r !== $g)
                                                                        break bc;
                                                                    if ($vecS.$y0 !== $vecQ.$y0)
                                                                        break bc;
                                                                    if ($vecS.$z0 !== $vecQ.$z0)
                                                                        break bc;
                                                                    if ($vecS.$w === $vecQ.$w)
                                                                        break bs;
                                                                    else
                                                                        break bc;
                                                                }
                                                                $vecS.$x0 = $g;
                                                                $vecS.$y0 = $vecR.$y0;
                                                                $vecS.$z0 = $vecR.$z0;
                                                                $vecS.$w = $vecR.$w;
                                                                $vecS = $this.$stateTexGenRVectorUniform4f;
                                                                $r = $vecR.$x0;
                                                                $g = $vecR.$y0;
                                                                $b = $vecR.$z0;
                                                                $a = $vecR.$w;
                                                                $ptr = 33;
                                                                continue main;
                                                            }
                                                            $vecS.$x0 = $g;
                                                            $vecS.$y0 = $vecT.$y0;
                                                            $vecS.$z0 = $vecT.$z0;
                                                            $vecS.$w = $vecT.$w;
                                                            $vecS = $this.$stateTexGenTVectorUniform4f;
                                                            $r = $vecT.$x0;
                                                            $g = $vecT.$y0;
                                                            $b = $vecT.$z0;
                                                            $a = $vecT.$w;
                                                            $ptr = 31;
                                                            continue main;
                                                        }
                                                        $vecT.$x0 = $g;
                                                        $vecT.$y0 = $vecS.$y0;
                                                        $vecT.$z0 = $vecS.$z0;
                                                        $vecT.$w = $vecS.$w;
                                                        $vecT = $this.$stateTexGenSVectorUniform4f;
                                                        $r = $vecS.$x0;
                                                        $g = $vecS.$y0;
                                                        $b = $vecS.$z0;
                                                        $a = $vecS.$w;
                                                        $ptr = 30;
                                                        continue main;
                                                    }
                                                    $this.$stateTexGenSPlane = $planeS;
                                                    $this.$stateTexGenTPlane = $planeT;
                                                    $this.$stateTexGenRPlane = $planeR;
                                                    $this.$stateTexGenQPlane = $planeQ;
                                                    $vecS = $this.$stateTexGenPlaneUniform4i;
                                                    $ptr_0 = $planeS != 9474 ? 0 : 1;
                                                    $ptr2 = $planeT != 9474 ? 0 : 1;
                                                    $serial2 = $planeR != 9474 ? 0 : 1;
                                                    $serial = $planeQ != 9474 ? 0 : 1;
                                                    $ptr = 32;
                                                    continue main;
                                                }
                                            }
                                        }
                                        bv: {
                                            bw: {
                                                if ($this.$stateEnableBlendAdd) {
                                                    $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                                    if ($this.$stateShaderBlendColorSerial != $serial) {
                                                        $this.$stateShaderBlendColorSerial = $serial;
                                                        $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                                        $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                                        $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                                        $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                                        if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                                            $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                                            $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                                            $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                                            $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                                            if ($this.$stateShaderBlendAddColorR !== $r)
                                                                break bv;
                                                            if ($this.$stateShaderBlendAddColorG !== $g)
                                                                break bv;
                                                            if ($this.$stateShaderBlendAddColorB !== $b)
                                                                break bv;
                                                            if ($this.$stateShaderBlendAddColorA === $a)
                                                                break bw;
                                                            else
                                                                break bv;
                                                        }
                                                        $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                                        $ptr = 27;
                                                        continue main;
                                                    }
                                                }
                                            }
                                            $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                                            if ($vecS !== null) {
                                                $en = $this.$extensionPointer;
                                                if ($en !== null)
                                                    $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                                            }
                                            return $this;
                                        }
                                        $vecS = $this.$stateShaderBlendAddColorUniform4f;
                                        $ptr = 29;
                                        continue main;
                                    }
                                    $vecS.$x0 = $g;
                                    $vecS.$y0 = $vecQ.$y0;
                                    $vecS.$z0 = $vecQ.$z0;
                                    $vecS.$w = $vecQ.$w;
                                    $vecS = $this.$stateTexGenQVectorUniform4f;
                                    $r = $vecQ.$x0;
                                    $g = $vecQ.$y0;
                                    $b = $vecQ.$z0;
                                    $a = $vecQ.$w;
                                    $ptr = 34;
                                    continue main;
                                }
                                $this.$stateAnisotropicFixW = $w;
                                $this.$stateAnisotropicFixH = $h;
                                $vecS = $this.$stateAnisotropicFix2f;
                                $ptr = 23;
                                continue main;
                            }
                            $this.$stateFogColorR = $r;
                            $this.$stateFogColorG = $g;
                            $this.$stateFogColorB = $b;
                            $this.$stateFogColorA = $a;
                            $vecS = $this.$stateFogColorUniform4f;
                            $ptr = 28;
                            continue main;
                        }
                        $this.$stateNormalX = $r;
                        $this.$stateNormalY = $g;
                        $this.$stateNormalZ = $b;
                        $vecS = $this.$stateNormalUniform3f;
                        $ptr = 21;
                        continue main;
                    }
                    $this.$stateLightingAmbientR = $r;
                    $this.$stateLightingAmbientG = $g;
                    $this.$stateLightingAmbientB = $b;
                    $vecS = $this.$stateLightingAmbientUniform3f;
                    $ptr = 20;
                    continue main;
                }
                $lightDirOld.$x0 = $x;
                $lightDirOld.$y0 = $y;
                $lightDirOld.$z0 = $z;
                $lightDirOld.$w = $w;
                $vecS = $this.$stateLightsVectorsArrayUniform4f.data[$lightsCounter];
                $ptr = 25;
                continue main;
            }
            $en[1] = $x;
            $this.$stateTextureCoordsY.data[1] = $y;
            $vecS = $this.$stateTextureCoords02Uniform2f;
            $ptr = 19;
            continue main;
        case 23:
            nlei_PlatformOpenGL__wglUniform2f($vecS, $w, $h);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                b: {
                    if ($this.$stateEnableEndPortal) {
                        $serial = nleo_GlStateManager_stateTexGenSerial;
                        if ($this.$stateTexGenSerial != $serial) {
                            $this.$stateTexGenSerial = $serial;
                            nleo_GlStateManager$TexGen_$callClinit();
                            $planeS = nleo_GlStateManager$TexGen_S.$plane;
                            $planeT = nleo_GlStateManager$TexGen_T.$plane;
                            $planeR = nleo_GlStateManager$TexGen_R.$plane;
                            $planeQ = nleo_GlStateManager$TexGen_Q.$plane;
                            if ($this.$stateTexGenSPlane == $planeS && $this.$stateTexGenTPlane == $planeT && $this.$stateTexGenRPlane == $planeR && $this.$stateTexGenQPlane == $planeQ) {
                                $vecS = nleo_GlStateManager$TexGen_S.$vector;
                                $vecT = $this.$stateTexGenSVector;
                                $r = $vecT.$x0;
                                $g = $vecS.$x0;
                                if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                                    $vecT = nleo_GlStateManager$TexGen_T.$vector;
                                    $vecS = $this.$stateTexGenTVector;
                                    $r = $vecS.$x0;
                                    $g = $vecT.$x0;
                                    if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                                        $vecR = nleo_GlStateManager$TexGen_R.$vector;
                                        $vecS = $this.$stateTexGenRVector;
                                        $r = $vecS.$x0;
                                        $g = $vecR.$x0;
                                        if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                                            $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                                            $vecS = $this.$stateTexGenQVector;
                                            $r = $vecS.$x0;
                                            $g = $vecQ.$x0;
                                            if ($r !== $g)
                                                break a;
                                            if ($vecS.$y0 !== $vecQ.$y0)
                                                break a;
                                            if ($vecS.$z0 !== $vecQ.$z0)
                                                break a;
                                            if ($vecS.$w === $vecQ.$w)
                                                break b;
                                            else
                                                break a;
                                        }
                                        $vecS.$x0 = $g;
                                        $vecS.$y0 = $vecR.$y0;
                                        $vecS.$z0 = $vecR.$z0;
                                        $vecS.$w = $vecR.$w;
                                        $vecS = $this.$stateTexGenRVectorUniform4f;
                                        $r = $vecR.$x0;
                                        $g = $vecR.$y0;
                                        $b = $vecR.$z0;
                                        $a = $vecR.$w;
                                        $ptr = 33;
                                        continue main;
                                    }
                                    $vecS.$x0 = $g;
                                    $vecS.$y0 = $vecT.$y0;
                                    $vecS.$z0 = $vecT.$z0;
                                    $vecS.$w = $vecT.$w;
                                    $vecS = $this.$stateTexGenTVectorUniform4f;
                                    $r = $vecT.$x0;
                                    $g = $vecT.$y0;
                                    $b = $vecT.$z0;
                                    $a = $vecT.$w;
                                    $ptr = 31;
                                    continue main;
                                }
                                $vecT.$x0 = $g;
                                $vecT.$y0 = $vecS.$y0;
                                $vecT.$z0 = $vecS.$z0;
                                $vecT.$w = $vecS.$w;
                                $vecT = $this.$stateTexGenSVectorUniform4f;
                                $r = $vecS.$x0;
                                $g = $vecS.$y0;
                                $b = $vecS.$z0;
                                $a = $vecS.$w;
                                $ptr = 30;
                                continue main;
                            }
                            $this.$stateTexGenSPlane = $planeS;
                            $this.$stateTexGenTPlane = $planeT;
                            $this.$stateTexGenRPlane = $planeR;
                            $this.$stateTexGenQPlane = $planeQ;
                            $vecS = $this.$stateTexGenPlaneUniform4i;
                            $ptr_0 = $planeS != 9474 ? 0 : 1;
                            $ptr2 = $planeT != 9474 ? 0 : 1;
                            $serial2 = $planeR != 9474 ? 0 : 1;
                            $serial = $planeQ != 9474 ? 0 : 1;
                            $ptr = 32;
                            continue main;
                        }
                    }
                }
                g: {
                    h: {
                        if ($this.$stateEnableBlendAdd) {
                            $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                            if ($this.$stateShaderBlendColorSerial != $serial) {
                                $this.$stateShaderBlendColorSerial = $serial;
                                $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                    $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                    $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                    $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                    $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                    if ($this.$stateShaderBlendAddColorR !== $r)
                                        break g;
                                    if ($this.$stateShaderBlendAddColorG !== $g)
                                        break g;
                                    if ($this.$stateShaderBlendAddColorB !== $b)
                                        break g;
                                    if ($this.$stateShaderBlendAddColorA === $a)
                                        break h;
                                    else
                                        break g;
                                }
                                $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                $ptr = 27;
                                continue main;
                            }
                        }
                    }
                    $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                    if ($vecS !== null) {
                        $en = $this.$extensionPointer;
                        if ($en !== null)
                            $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                    }
                    return $this;
                }
                $vecS = $this.$stateShaderBlendAddColorUniform4f;
                $ptr = 29;
                continue main;
            }
            $vecS.$x0 = $g;
            $vecS.$y0 = $vecQ.$y0;
            $vecS.$z0 = $vecQ.$z0;
            $vecS.$w = $vecQ.$w;
            $vecS = $this.$stateTexGenQVectorUniform4f;
            $r = $vecQ.$x0;
            $g = $vecQ.$y0;
            $b = $vecQ.$z0;
            $a = $vecQ.$w;
            $ptr = 34;
            continue main;
        case 24:
            nlei_PlatformOpenGL__wglUniform1i($vecS, $lightsCounter);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                $serial = nleo_GlStateManager_stateLightingAmbientSerial;
                if ($this.$stateLightingAmbientSerial != $serial) {
                    $this.$stateLightingAmbientSerial = $serial;
                    $r = nleo_GlStateManager_stateLightingAmbientR;
                    $g = nleo_GlStateManager_stateLightingAmbientG;
                    $b = nleo_GlStateManager_stateLightingAmbientB;
                    if ($this.$stateLightingAmbientR !== $r)
                        break a;
                    if ($this.$stateLightingAmbientG !== $g)
                        break a;
                    if ($this.$stateLightingAmbientB !== $b)
                        break a;
                }
                c: {
                    if ($this.$stateEnableMCLighting && !$this.$stateHasAttribNormal) {
                        $serial = nleo_GlStateManager_stateNormalSerial;
                        if ($this.$stateNormalSerial != $serial) {
                            $this.$stateNormalSerial = $serial;
                            $x = nleo_GlStateManager_stateNormalX;
                            $y = nleo_GlStateManager_stateNormalY;
                            $z = nleo_GlStateManager_stateNormalZ;
                            $c = 1.0 / nms_MathHelper_sqrt_float($x * $x + $y * $y + $z * $z);
                            $r = $x * $c;
                            $g = $y * $c;
                            $b = $z * $c;
                            if ($this.$stateNormalX !== $r)
                                break c;
                            if ($this.$stateNormalY !== $g)
                                break c;
                            if ($this.$stateNormalZ !== $b)
                                break c;
                        }
                    }
                    bq: {
                        bm: {
                            if ($this.$stateEnableFog) {
                                $serial = nleo_GlStateManager_stateFogSerial;
                                if ($this.$stateFogSerial != $serial) {
                                    $this.$stateFogSerial = $serial;
                                    $fogEXP = nleo_GlStateManager_stateFogEXP;
                                    $fogDensity = nleo_GlStateManager_stateFogDensity;
                                    $fogStart = nleo_GlStateManager_stateFogStart;
                                    $fogEnd = nleo_GlStateManager_stateFogEnd;
                                    if ($this.$stateFogEXP == $fogEXP && $this.$stateFogDensity === $fogDensity && $this.$stateFogStart === $fogStart && $this.$stateFogEnd === $fogEnd) {
                                        $r = nleo_GlStateManager_stateFogColorR;
                                        $g = nleo_GlStateManager_stateFogColorG;
                                        $b = nleo_GlStateManager_stateFogColorB;
                                        $a = nleo_GlStateManager_stateFogColorA;
                                        if ($this.$stateFogColorR !== $r)
                                            break bq;
                                        if ($this.$stateFogColorG !== $g)
                                            break bq;
                                        if ($this.$stateFogColorB !== $b)
                                            break bq;
                                        if ($this.$stateFogColorA === $a)
                                            break bm;
                                        else
                                            break bq;
                                    }
                                    $this.$stateFogEXP = $fogEXP;
                                    $this.$stateFogDensity = $fogDensity;
                                    $this.$stateFogStart = $fogStart;
                                    $this.$stateFogEnd = $fogEnd;
                                    $vecS = $this.$stateFogParamUniform4f;
                                    $r = !$fogEXP ? 0.0 : 1.0;
                                    $ptr = 26;
                                    continue main;
                                }
                            }
                        }
                        bn: {
                            if ($this.$stateEnableAnisotropicFix) {
                                $serial = nleo_GlStateManager_stateAnisotropicFixSerial;
                                $r = $this.$stateAnisotropicFixSerial;
                                $g = $serial;
                                if ($r !== $g) {
                                    $this.$stateAnisotropicFixSerial = $g;
                                    $w = nleo_GlStateManager_stateAnisotropicFixW;
                                    $h = nleo_GlStateManager_stateAnisotropicFixH;
                                    if ($this.$stateAnisotropicFixW !== $w)
                                        break bn;
                                    if ($this.$stateAnisotropicFixH !== $h)
                                        break bn;
                                }
                            }
                            s: {
                                e: {
                                    if ($this.$stateEnableEndPortal) {
                                        $serial = nleo_GlStateManager_stateTexGenSerial;
                                        if ($this.$stateTexGenSerial != $serial) {
                                            $this.$stateTexGenSerial = $serial;
                                            nleo_GlStateManager$TexGen_$callClinit();
                                            $planeS = nleo_GlStateManager$TexGen_S.$plane;
                                            $planeT = nleo_GlStateManager$TexGen_T.$plane;
                                            $planeR = nleo_GlStateManager$TexGen_R.$plane;
                                            $planeQ = nleo_GlStateManager$TexGen_Q.$plane;
                                            if ($this.$stateTexGenSPlane == $planeS && $this.$stateTexGenTPlane == $planeT && $this.$stateTexGenRPlane == $planeR && $this.$stateTexGenQPlane == $planeQ) {
                                                $vecS = nleo_GlStateManager$TexGen_S.$vector;
                                                $vecT = $this.$stateTexGenSVector;
                                                $r = $vecT.$x0;
                                                $g = $vecS.$x0;
                                                if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                                                    $vecT = nleo_GlStateManager$TexGen_T.$vector;
                                                    $vecS = $this.$stateTexGenTVector;
                                                    $r = $vecS.$x0;
                                                    $g = $vecT.$x0;
                                                    if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                                                        $vecR = nleo_GlStateManager$TexGen_R.$vector;
                                                        $vecS = $this.$stateTexGenRVector;
                                                        $r = $vecS.$x0;
                                                        $g = $vecR.$x0;
                                                        if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                                                            $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                                                            $vecS = $this.$stateTexGenQVector;
                                                            $r = $vecS.$x0;
                                                            $g = $vecQ.$x0;
                                                            if ($r !== $g)
                                                                break s;
                                                            if ($vecS.$y0 !== $vecQ.$y0)
                                                                break s;
                                                            if ($vecS.$z0 !== $vecQ.$z0)
                                                                break s;
                                                            if ($vecS.$w === $vecQ.$w)
                                                                break e;
                                                            else
                                                                break s;
                                                        }
                                                        $vecS.$x0 = $g;
                                                        $vecS.$y0 = $vecR.$y0;
                                                        $vecS.$z0 = $vecR.$z0;
                                                        $vecS.$w = $vecR.$w;
                                                        $vecS = $this.$stateTexGenRVectorUniform4f;
                                                        $r = $vecR.$x0;
                                                        $g = $vecR.$y0;
                                                        $b = $vecR.$z0;
                                                        $a = $vecR.$w;
                                                        $ptr = 33;
                                                        continue main;
                                                    }
                                                    $vecS.$x0 = $g;
                                                    $vecS.$y0 = $vecT.$y0;
                                                    $vecS.$z0 = $vecT.$z0;
                                                    $vecS.$w = $vecT.$w;
                                                    $vecS = $this.$stateTexGenTVectorUniform4f;
                                                    $r = $vecT.$x0;
                                                    $g = $vecT.$y0;
                                                    $b = $vecT.$z0;
                                                    $a = $vecT.$w;
                                                    $ptr = 31;
                                                    continue main;
                                                }
                                                $vecT.$x0 = $g;
                                                $vecT.$y0 = $vecS.$y0;
                                                $vecT.$z0 = $vecS.$z0;
                                                $vecT.$w = $vecS.$w;
                                                $vecT = $this.$stateTexGenSVectorUniform4f;
                                                $r = $vecS.$x0;
                                                $g = $vecS.$y0;
                                                $b = $vecS.$z0;
                                                $a = $vecS.$w;
                                                $ptr = 30;
                                                continue main;
                                            }
                                            $this.$stateTexGenSPlane = $planeS;
                                            $this.$stateTexGenTPlane = $planeT;
                                            $this.$stateTexGenRPlane = $planeR;
                                            $this.$stateTexGenQPlane = $planeQ;
                                            $vecS = $this.$stateTexGenPlaneUniform4i;
                                            $ptr_0 = $planeS != 9474 ? 0 : 1;
                                            $ptr2 = $planeT != 9474 ? 0 : 1;
                                            $serial2 = $planeR != 9474 ? 0 : 1;
                                            $serial = $planeQ != 9474 ? 0 : 1;
                                            $ptr = 32;
                                            continue main;
                                        }
                                    }
                                }
                                l: {
                                    bd: {
                                        if ($this.$stateEnableBlendAdd) {
                                            $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                            if ($this.$stateShaderBlendColorSerial != $serial) {
                                                $this.$stateShaderBlendColorSerial = $serial;
                                                $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                                $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                                $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                                $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                                if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                                    $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                                    $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                                    $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                                    $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                                    if ($this.$stateShaderBlendAddColorR !== $r)
                                                        break l;
                                                    if ($this.$stateShaderBlendAddColorG !== $g)
                                                        break l;
                                                    if ($this.$stateShaderBlendAddColorB !== $b)
                                                        break l;
                                                    if ($this.$stateShaderBlendAddColorA === $a)
                                                        break bd;
                                                    else
                                                        break l;
                                                }
                                                $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                                $ptr = 27;
                                                continue main;
                                            }
                                        }
                                    }
                                    $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                                    if ($vecS !== null) {
                                        $en = $this.$extensionPointer;
                                        if ($en !== null)
                                            $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                                    }
                                    return $this;
                                }
                                $vecS = $this.$stateShaderBlendAddColorUniform4f;
                                $ptr = 29;
                                continue main;
                            }
                            $vecS.$x0 = $g;
                            $vecS.$y0 = $vecQ.$y0;
                            $vecS.$z0 = $vecQ.$z0;
                            $vecS.$w = $vecQ.$w;
                            $vecS = $this.$stateTexGenQVectorUniform4f;
                            $r = $vecQ.$x0;
                            $g = $vecQ.$y0;
                            $b = $vecQ.$z0;
                            $a = $vecQ.$w;
                            $ptr = 34;
                            continue main;
                        }
                        $this.$stateAnisotropicFixW = $w;
                        $this.$stateAnisotropicFixH = $h;
                        $vecS = $this.$stateAnisotropicFix2f;
                        $ptr = 23;
                        continue main;
                    }
                    $this.$stateFogColorR = $r;
                    $this.$stateFogColorG = $g;
                    $this.$stateFogColorB = $b;
                    $this.$stateFogColorA = $a;
                    $vecS = $this.$stateFogColorUniform4f;
                    $ptr = 28;
                    continue main;
                }
                $this.$stateNormalX = $r;
                $this.$stateNormalY = $g;
                $this.$stateNormalZ = $b;
                $vecS = $this.$stateNormalUniform3f;
                $ptr = 21;
                continue main;
            }
            $this.$stateLightingAmbientR = $r;
            $this.$stateLightingAmbientG = $g;
            $this.$stateLightingAmbientB = $b;
            $vecS = $this.$stateLightingAmbientUniform3f;
            $ptr = 20;
            continue main;
        case 25:
            nlei_PlatformOpenGL__wglUniform4f($vecS, $x, $y, $z, $w);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                b: {
                    while (true) {
                        $lightsCounter = $lightsCounter + 1 | 0;
                        if ($lightsCounter >= $this.$stateLightsVectors.data.length)
                            break;
                        while (true) {
                            $i = $i + 1 | 0;
                            var$18 = $en.data;
                            if ($i >= var$18.length)
                                break b;
                            if (var$18[$i])
                                break;
                        }
                        $lightDirOld = $this.$stateLightsVectors.data[$lightsCounter];
                        $lightDirNew = nleo_GlStateManager_stateLightsStack.data[$serial].data[$i];
                        $x = $lightDirNew.$x0;
                        $y = $lightDirNew.$y0;
                        $z = $lightDirNew.$z0;
                        $w = $lightDirNew.$w;
                        if ($lightDirOld.$x0 !== $x)
                            break a;
                        if ($lightDirOld.$y0 !== $y)
                            break a;
                        if ($lightDirOld.$z0 !== $z)
                            break a;
                        if ($lightDirOld.$w === $w)
                            continue;
                        else
                            break a;
                    }
                }
                if ($this.$stateLightsEnabled != $lightsCounter) {
                    $this.$stateLightsEnabled = $lightsCounter;
                    $vecS = $this.$stateLightsEnabledUniform1i;
                    $ptr = 24;
                    continue main;
                }
                r: {
                    $serial = nleo_GlStateManager_stateLightingAmbientSerial;
                    if ($this.$stateLightingAmbientSerial != $serial) {
                        $this.$stateLightingAmbientSerial = $serial;
                        $r = nleo_GlStateManager_stateLightingAmbientR;
                        $g = nleo_GlStateManager_stateLightingAmbientG;
                        $b = nleo_GlStateManager_stateLightingAmbientB;
                        if ($this.$stateLightingAmbientR !== $r)
                            break r;
                        if ($this.$stateLightingAmbientG !== $g)
                            break r;
                        if ($this.$stateLightingAmbientB !== $b)
                            break r;
                    }
                    br: {
                        if ($this.$stateEnableMCLighting && !$this.$stateHasAttribNormal) {
                            $serial = nleo_GlStateManager_stateNormalSerial;
                            if ($this.$stateNormalSerial != $serial) {
                                $this.$stateNormalSerial = $serial;
                                $x = nleo_GlStateManager_stateNormalX;
                                $y = nleo_GlStateManager_stateNormalY;
                                $z = nleo_GlStateManager_stateNormalZ;
                                $c = 1.0 / nms_MathHelper_sqrt_float($x * $x + $y * $y + $z * $z);
                                $r = $x * $c;
                                $g = $y * $c;
                                $b = $z * $c;
                                if ($this.$stateNormalX !== $r)
                                    break br;
                                if ($this.$stateNormalY !== $g)
                                    break br;
                                if ($this.$stateNormalZ !== $b)
                                    break br;
                            }
                        }
                        bi: {
                            s: {
                                if ($this.$stateEnableFog) {
                                    $serial = nleo_GlStateManager_stateFogSerial;
                                    if ($this.$stateFogSerial != $serial) {
                                        $this.$stateFogSerial = $serial;
                                        $fogEXP = nleo_GlStateManager_stateFogEXP;
                                        $fogDensity = nleo_GlStateManager_stateFogDensity;
                                        $fogStart = nleo_GlStateManager_stateFogStart;
                                        $fogEnd = nleo_GlStateManager_stateFogEnd;
                                        if ($this.$stateFogEXP == $fogEXP && $this.$stateFogDensity === $fogDensity && $this.$stateFogStart === $fogStart && $this.$stateFogEnd === $fogEnd) {
                                            $r = nleo_GlStateManager_stateFogColorR;
                                            $g = nleo_GlStateManager_stateFogColorG;
                                            $b = nleo_GlStateManager_stateFogColorB;
                                            $a = nleo_GlStateManager_stateFogColorA;
                                            if ($this.$stateFogColorR !== $r)
                                                break bi;
                                            if ($this.$stateFogColorG !== $g)
                                                break bi;
                                            if ($this.$stateFogColorB !== $b)
                                                break bi;
                                            if ($this.$stateFogColorA === $a)
                                                break s;
                                            else
                                                break bi;
                                        }
                                        $this.$stateFogEXP = $fogEXP;
                                        $this.$stateFogDensity = $fogDensity;
                                        $this.$stateFogStart = $fogStart;
                                        $this.$stateFogEnd = $fogEnd;
                                        $vecS = $this.$stateFogParamUniform4f;
                                        $r = !$fogEXP ? 0.0 : 1.0;
                                        $ptr = 26;
                                        continue main;
                                    }
                                }
                            }
                            t: {
                                if ($this.$stateEnableAnisotropicFix) {
                                    $serial = nleo_GlStateManager_stateAnisotropicFixSerial;
                                    $r = $this.$stateAnisotropicFixSerial;
                                    $g = $serial;
                                    if ($r !== $g) {
                                        $this.$stateAnisotropicFixSerial = $g;
                                        $w = nleo_GlStateManager_stateAnisotropicFixW;
                                        $h = nleo_GlStateManager_stateAnisotropicFixH;
                                        if ($this.$stateAnisotropicFixW !== $w)
                                            break t;
                                        if ($this.$stateAnisotropicFixH !== $h)
                                            break t;
                                    }
                                }
                                h: {
                                    bk: {
                                        if ($this.$stateEnableEndPortal) {
                                            $serial = nleo_GlStateManager_stateTexGenSerial;
                                            if ($this.$stateTexGenSerial != $serial) {
                                                $this.$stateTexGenSerial = $serial;
                                                nleo_GlStateManager$TexGen_$callClinit();
                                                $planeS = nleo_GlStateManager$TexGen_S.$plane;
                                                $planeT = nleo_GlStateManager$TexGen_T.$plane;
                                                $planeR = nleo_GlStateManager$TexGen_R.$plane;
                                                $planeQ = nleo_GlStateManager$TexGen_Q.$plane;
                                                if ($this.$stateTexGenSPlane == $planeS && $this.$stateTexGenTPlane == $planeT && $this.$stateTexGenRPlane == $planeR && $this.$stateTexGenQPlane == $planeQ) {
                                                    $vecS = nleo_GlStateManager$TexGen_S.$vector;
                                                    $vecT = $this.$stateTexGenSVector;
                                                    $r = $vecT.$x0;
                                                    $g = $vecS.$x0;
                                                    if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                                                        $vecT = nleo_GlStateManager$TexGen_T.$vector;
                                                        $vecS = $this.$stateTexGenTVector;
                                                        $r = $vecS.$x0;
                                                        $g = $vecT.$x0;
                                                        if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                                                            $vecR = nleo_GlStateManager$TexGen_R.$vector;
                                                            $vecS = $this.$stateTexGenRVector;
                                                            $r = $vecS.$x0;
                                                            $g = $vecR.$x0;
                                                            if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                                                                $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                                                                $vecS = $this.$stateTexGenQVector;
                                                                $r = $vecS.$x0;
                                                                $g = $vecQ.$x0;
                                                                if ($r !== $g)
                                                                    break h;
                                                                if ($vecS.$y0 !== $vecQ.$y0)
                                                                    break h;
                                                                if ($vecS.$z0 !== $vecQ.$z0)
                                                                    break h;
                                                                if ($vecS.$w === $vecQ.$w)
                                                                    break bk;
                                                                else
                                                                    break h;
                                                            }
                                                            $vecS.$x0 = $g;
                                                            $vecS.$y0 = $vecR.$y0;
                                                            $vecS.$z0 = $vecR.$z0;
                                                            $vecS.$w = $vecR.$w;
                                                            $vecS = $this.$stateTexGenRVectorUniform4f;
                                                            $r = $vecR.$x0;
                                                            $g = $vecR.$y0;
                                                            $b = $vecR.$z0;
                                                            $a = $vecR.$w;
                                                            $ptr = 33;
                                                            continue main;
                                                        }
                                                        $vecS.$x0 = $g;
                                                        $vecS.$y0 = $vecT.$y0;
                                                        $vecS.$z0 = $vecT.$z0;
                                                        $vecS.$w = $vecT.$w;
                                                        $vecS = $this.$stateTexGenTVectorUniform4f;
                                                        $r = $vecT.$x0;
                                                        $g = $vecT.$y0;
                                                        $b = $vecT.$z0;
                                                        $a = $vecT.$w;
                                                        $ptr = 31;
                                                        continue main;
                                                    }
                                                    $vecT.$x0 = $g;
                                                    $vecT.$y0 = $vecS.$y0;
                                                    $vecT.$z0 = $vecS.$z0;
                                                    $vecT.$w = $vecS.$w;
                                                    $vecT = $this.$stateTexGenSVectorUniform4f;
                                                    $r = $vecS.$x0;
                                                    $g = $vecS.$y0;
                                                    $b = $vecS.$z0;
                                                    $a = $vecS.$w;
                                                    $ptr = 30;
                                                    continue main;
                                                }
                                                $this.$stateTexGenSPlane = $planeS;
                                                $this.$stateTexGenTPlane = $planeT;
                                                $this.$stateTexGenRPlane = $planeR;
                                                $this.$stateTexGenQPlane = $planeQ;
                                                $vecS = $this.$stateTexGenPlaneUniform4i;
                                                $ptr_0 = $planeS != 9474 ? 0 : 1;
                                                $ptr2 = $planeT != 9474 ? 0 : 1;
                                                $serial2 = $planeR != 9474 ? 0 : 1;
                                                $serial = $planeQ != 9474 ? 0 : 1;
                                                $ptr = 32;
                                                continue main;
                                            }
                                        }
                                    }
                                    n: {
                                        o: {
                                            if ($this.$stateEnableBlendAdd) {
                                                $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                                if ($this.$stateShaderBlendColorSerial != $serial) {
                                                    $this.$stateShaderBlendColorSerial = $serial;
                                                    $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                                    $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                                    $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                                    $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                                    if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                                        $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                                        $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                                        $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                                        $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                                        if ($this.$stateShaderBlendAddColorR !== $r)
                                                            break n;
                                                        if ($this.$stateShaderBlendAddColorG !== $g)
                                                            break n;
                                                        if ($this.$stateShaderBlendAddColorB !== $b)
                                                            break n;
                                                        if ($this.$stateShaderBlendAddColorA === $a)
                                                            break o;
                                                        else
                                                            break n;
                                                    }
                                                    $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                                    $ptr = 27;
                                                    continue main;
                                                }
                                            }
                                        }
                                        $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                                        if ($vecS !== null) {
                                            $en = $this.$extensionPointer;
                                            if ($en !== null)
                                                $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                                        }
                                        return $this;
                                    }
                                    $vecS = $this.$stateShaderBlendAddColorUniform4f;
                                    $ptr = 29;
                                    continue main;
                                }
                                $vecS.$x0 = $g;
                                $vecS.$y0 = $vecQ.$y0;
                                $vecS.$z0 = $vecQ.$z0;
                                $vecS.$w = $vecQ.$w;
                                $vecS = $this.$stateTexGenQVectorUniform4f;
                                $r = $vecQ.$x0;
                                $g = $vecQ.$y0;
                                $b = $vecQ.$z0;
                                $a = $vecQ.$w;
                                $ptr = 34;
                                continue main;
                            }
                            $this.$stateAnisotropicFixW = $w;
                            $this.$stateAnisotropicFixH = $h;
                            $vecS = $this.$stateAnisotropicFix2f;
                            $ptr = 23;
                            continue main;
                        }
                        $this.$stateFogColorR = $r;
                        $this.$stateFogColorG = $g;
                        $this.$stateFogColorB = $b;
                        $this.$stateFogColorA = $a;
                        $vecS = $this.$stateFogColorUniform4f;
                        $ptr = 28;
                        continue main;
                    }
                    $this.$stateNormalX = $r;
                    $this.$stateNormalY = $g;
                    $this.$stateNormalZ = $b;
                    $vecS = $this.$stateNormalUniform3f;
                    $ptr = 21;
                    continue main;
                }
                $this.$stateLightingAmbientR = $r;
                $this.$stateLightingAmbientG = $g;
                $this.$stateLightingAmbientB = $b;
                $vecS = $this.$stateLightingAmbientUniform3f;
                $ptr = 20;
                continue main;
            }
            $lightDirOld.$x0 = $x;
            $lightDirOld.$y0 = $y;
            $lightDirOld.$z0 = $z;
            $lightDirOld.$w = $w;
            $vecS = $this.$stateLightsVectorsArrayUniform4f.data[$lightsCounter];
            continue main;
        case 26:
            nlei_PlatformOpenGL__wglUniform4f($vecS, $r, $fogDensity, $fogStart, $fogEnd);
            if ($rt_suspending()) {
                break main;
            }
            $r = nleo_GlStateManager_stateFogColorR;
            $g = nleo_GlStateManager_stateFogColorG;
            $b = nleo_GlStateManager_stateFogColorB;
            $a = nleo_GlStateManager_stateFogColorA;
            if ($this.$stateFogColorR === $r && $this.$stateFogColorG === $g && $this.$stateFogColorB === $b && $this.$stateFogColorA === $a) {
                c: {
                    if ($this.$stateEnableAnisotropicFix) {
                        $serial = nleo_GlStateManager_stateAnisotropicFixSerial;
                        $r = $this.$stateAnisotropicFixSerial;
                        $g = $serial;
                        if ($r !== $g) {
                            $this.$stateAnisotropicFixSerial = $g;
                            $w = nleo_GlStateManager_stateAnisotropicFixW;
                            $h = nleo_GlStateManager_stateAnisotropicFixH;
                            if ($this.$stateAnisotropicFixW !== $w)
                                break c;
                            if ($this.$stateAnisotropicFixH !== $h)
                                break c;
                        }
                    }
                    bq: {
                        bm: {
                            if ($this.$stateEnableEndPortal) {
                                $serial = nleo_GlStateManager_stateTexGenSerial;
                                if ($this.$stateTexGenSerial != $serial) {
                                    $this.$stateTexGenSerial = $serial;
                                    nleo_GlStateManager$TexGen_$callClinit();
                                    $planeS = nleo_GlStateManager$TexGen_S.$plane;
                                    $planeT = nleo_GlStateManager$TexGen_T.$plane;
                                    $planeR = nleo_GlStateManager$TexGen_R.$plane;
                                    $planeQ = nleo_GlStateManager$TexGen_Q.$plane;
                                    if ($this.$stateTexGenSPlane == $planeS && $this.$stateTexGenTPlane == $planeT && $this.$stateTexGenRPlane == $planeR && $this.$stateTexGenQPlane == $planeQ) {
                                        $vecS = nleo_GlStateManager$TexGen_S.$vector;
                                        $vecT = $this.$stateTexGenSVector;
                                        $r = $vecT.$x0;
                                        $g = $vecS.$x0;
                                        if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                                            $vecT = nleo_GlStateManager$TexGen_T.$vector;
                                            $vecS = $this.$stateTexGenTVector;
                                            $r = $vecS.$x0;
                                            $g = $vecT.$x0;
                                            if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                                                $vecR = nleo_GlStateManager$TexGen_R.$vector;
                                                $vecS = $this.$stateTexGenRVector;
                                                $r = $vecS.$x0;
                                                $g = $vecR.$x0;
                                                if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                                                    $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                                                    $vecS = $this.$stateTexGenQVector;
                                                    $r = $vecS.$x0;
                                                    $g = $vecQ.$x0;
                                                    if ($r !== $g)
                                                        break bq;
                                                    if ($vecS.$y0 !== $vecQ.$y0)
                                                        break bq;
                                                    if ($vecS.$z0 !== $vecQ.$z0)
                                                        break bq;
                                                    if ($vecS.$w === $vecQ.$w)
                                                        break bm;
                                                    else
                                                        break bq;
                                                }
                                                $vecS.$x0 = $g;
                                                $vecS.$y0 = $vecR.$y0;
                                                $vecS.$z0 = $vecR.$z0;
                                                $vecS.$w = $vecR.$w;
                                                $vecS = $this.$stateTexGenRVectorUniform4f;
                                                $r = $vecR.$x0;
                                                $g = $vecR.$y0;
                                                $b = $vecR.$z0;
                                                $a = $vecR.$w;
                                                $ptr = 33;
                                                continue main;
                                            }
                                            $vecS.$x0 = $g;
                                            $vecS.$y0 = $vecT.$y0;
                                            $vecS.$z0 = $vecT.$z0;
                                            $vecS.$w = $vecT.$w;
                                            $vecS = $this.$stateTexGenTVectorUniform4f;
                                            $r = $vecT.$x0;
                                            $g = $vecT.$y0;
                                            $b = $vecT.$z0;
                                            $a = $vecT.$w;
                                            $ptr = 31;
                                            continue main;
                                        }
                                        $vecT.$x0 = $g;
                                        $vecT.$y0 = $vecS.$y0;
                                        $vecT.$z0 = $vecS.$z0;
                                        $vecT.$w = $vecS.$w;
                                        $vecT = $this.$stateTexGenSVectorUniform4f;
                                        $r = $vecS.$x0;
                                        $g = $vecS.$y0;
                                        $b = $vecS.$z0;
                                        $a = $vecS.$w;
                                        $ptr = 30;
                                        continue main;
                                    }
                                    $this.$stateTexGenSPlane = $planeS;
                                    $this.$stateTexGenTPlane = $planeT;
                                    $this.$stateTexGenRPlane = $planeR;
                                    $this.$stateTexGenQPlane = $planeQ;
                                    $vecS = $this.$stateTexGenPlaneUniform4i;
                                    $ptr_0 = $planeS != 9474 ? 0 : 1;
                                    $ptr2 = $planeT != 9474 ? 0 : 1;
                                    $serial2 = $planeR != 9474 ? 0 : 1;
                                    $serial = $planeQ != 9474 ? 0 : 1;
                                    $ptr = 32;
                                    continue main;
                                }
                            }
                        }
                        i: {
                            bb: {
                                if ($this.$stateEnableBlendAdd) {
                                    $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                    if ($this.$stateShaderBlendColorSerial != $serial) {
                                        $this.$stateShaderBlendColorSerial = $serial;
                                        $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                        $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                        $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                        $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                        if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                            $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                            $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                            $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                            $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                            if ($this.$stateShaderBlendAddColorR !== $r)
                                                break i;
                                            if ($this.$stateShaderBlendAddColorG !== $g)
                                                break i;
                                            if ($this.$stateShaderBlendAddColorB !== $b)
                                                break i;
                                            if ($this.$stateShaderBlendAddColorA === $a)
                                                break bb;
                                            else
                                                break i;
                                        }
                                        $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                        $ptr = 27;
                                        continue main;
                                    }
                                }
                            }
                            $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                            if ($vecS !== null) {
                                $en = $this.$extensionPointer;
                                if ($en !== null)
                                    $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                            }
                            return $this;
                        }
                        $vecS = $this.$stateShaderBlendAddColorUniform4f;
                        $ptr = 29;
                        continue main;
                    }
                    $vecS.$x0 = $g;
                    $vecS.$y0 = $vecQ.$y0;
                    $vecS.$z0 = $vecQ.$z0;
                    $vecS.$w = $vecQ.$w;
                    $vecS = $this.$stateTexGenQVectorUniform4f;
                    $r = $vecQ.$x0;
                    $g = $vecQ.$y0;
                    $b = $vecQ.$z0;
                    $a = $vecQ.$w;
                    $ptr = 34;
                    continue main;
                }
                $this.$stateAnisotropicFixW = $w;
                $this.$stateAnisotropicFixH = $h;
                $vecS = $this.$stateAnisotropicFix2f;
                $ptr = 23;
                continue main;
            }
            $this.$stateFogColorR = $r;
            $this.$stateFogColorG = $g;
            $this.$stateFogColorB = $b;
            $this.$stateFogColorA = $a;
            $vecS = $this.$stateFogColorUniform4f;
            $ptr = 28;
            continue main;
        case 27:
            nlei_PlatformOpenGL__wglUniform4f($vecS, $r, $g, $b, $a);
            if ($rt_suspending()) {
                break main;
            }
            $this.$stateShaderBlendSrcColorR = $r;
            $this.$stateShaderBlendSrcColorG = $g;
            $this.$stateShaderBlendSrcColorB = $b;
            $this.$stateShaderBlendSrcColorA = $a;
            $r = nleo_GlStateManager_stateShaderBlendAddColorR;
            $g = nleo_GlStateManager_stateShaderBlendAddColorG;
            $b = nleo_GlStateManager_stateShaderBlendAddColorB;
            $a = nleo_GlStateManager_stateShaderBlendAddColorA;
            if ($this.$stateShaderBlendAddColorR === $r && $this.$stateShaderBlendAddColorG === $g && $this.$stateShaderBlendAddColorB === $b && $this.$stateShaderBlendAddColorA === $a) {
                $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                if ($vecS !== null) {
                    $en = $this.$extensionPointer;
                    if ($en !== null)
                        $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                }
                return $this;
            }
            $vecS = $this.$stateShaderBlendAddColorUniform4f;
            $ptr = 29;
            continue main;
        case 28:
            nlei_PlatformOpenGL__wglUniform4f($vecS, $r, $g, $b, $a);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                if ($this.$stateEnableAnisotropicFix) {
                    $serial = nleo_GlStateManager_stateAnisotropicFixSerial;
                    $r = $this.$stateAnisotropicFixSerial;
                    $g = $serial;
                    if ($r !== $g) {
                        $this.$stateAnisotropicFixSerial = $g;
                        $w = nleo_GlStateManager_stateAnisotropicFixW;
                        $h = nleo_GlStateManager_stateAnisotropicFixH;
                        if ($this.$stateAnisotropicFixW !== $w)
                            break a;
                        if ($this.$stateAnisotropicFixH !== $h)
                            break a;
                    }
                }
                c: {
                    bp: {
                        if ($this.$stateEnableEndPortal) {
                            $serial = nleo_GlStateManager_stateTexGenSerial;
                            if ($this.$stateTexGenSerial != $serial) {
                                $this.$stateTexGenSerial = $serial;
                                nleo_GlStateManager$TexGen_$callClinit();
                                $planeS = nleo_GlStateManager$TexGen_S.$plane;
                                $planeT = nleo_GlStateManager$TexGen_T.$plane;
                                $planeR = nleo_GlStateManager$TexGen_R.$plane;
                                $planeQ = nleo_GlStateManager$TexGen_Q.$plane;
                                if ($this.$stateTexGenSPlane == $planeS && $this.$stateTexGenTPlane == $planeT && $this.$stateTexGenRPlane == $planeR && $this.$stateTexGenQPlane == $planeQ) {
                                    $vecS = nleo_GlStateManager$TexGen_S.$vector;
                                    $vecT = $this.$stateTexGenSVector;
                                    $r = $vecT.$x0;
                                    $g = $vecS.$x0;
                                    if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                                        $vecT = nleo_GlStateManager$TexGen_T.$vector;
                                        $vecS = $this.$stateTexGenTVector;
                                        $r = $vecS.$x0;
                                        $g = $vecT.$x0;
                                        if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                                            $vecR = nleo_GlStateManager$TexGen_R.$vector;
                                            $vecS = $this.$stateTexGenRVector;
                                            $r = $vecS.$x0;
                                            $g = $vecR.$x0;
                                            if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                                                $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                                                $vecS = $this.$stateTexGenQVector;
                                                $r = $vecS.$x0;
                                                $g = $vecQ.$x0;
                                                if ($r !== $g)
                                                    break c;
                                                if ($vecS.$y0 !== $vecQ.$y0)
                                                    break c;
                                                if ($vecS.$z0 !== $vecQ.$z0)
                                                    break c;
                                                if ($vecS.$w === $vecQ.$w)
                                                    break bp;
                                                else
                                                    break c;
                                            }
                                            $vecS.$x0 = $g;
                                            $vecS.$y0 = $vecR.$y0;
                                            $vecS.$z0 = $vecR.$z0;
                                            $vecS.$w = $vecR.$w;
                                            $vecS = $this.$stateTexGenRVectorUniform4f;
                                            $r = $vecR.$x0;
                                            $g = $vecR.$y0;
                                            $b = $vecR.$z0;
                                            $a = $vecR.$w;
                                            $ptr = 33;
                                            continue main;
                                        }
                                        $vecS.$x0 = $g;
                                        $vecS.$y0 = $vecT.$y0;
                                        $vecS.$z0 = $vecT.$z0;
                                        $vecS.$w = $vecT.$w;
                                        $vecS = $this.$stateTexGenTVectorUniform4f;
                                        $r = $vecT.$x0;
                                        $g = $vecT.$y0;
                                        $b = $vecT.$z0;
                                        $a = $vecT.$w;
                                        $ptr = 31;
                                        continue main;
                                    }
                                    $vecT.$x0 = $g;
                                    $vecT.$y0 = $vecS.$y0;
                                    $vecT.$z0 = $vecS.$z0;
                                    $vecT.$w = $vecS.$w;
                                    $vecT = $this.$stateTexGenSVectorUniform4f;
                                    $r = $vecS.$x0;
                                    $g = $vecS.$y0;
                                    $b = $vecS.$z0;
                                    $a = $vecS.$w;
                                    $ptr = 30;
                                    continue main;
                                }
                                $this.$stateTexGenSPlane = $planeS;
                                $this.$stateTexGenTPlane = $planeT;
                                $this.$stateTexGenRPlane = $planeR;
                                $this.$stateTexGenQPlane = $planeQ;
                                $vecS = $this.$stateTexGenPlaneUniform4i;
                                $ptr_0 = $planeS != 9474 ? 0 : 1;
                                $ptr2 = $planeT != 9474 ? 0 : 1;
                                $serial2 = $planeR != 9474 ? 0 : 1;
                                $serial = $planeQ != 9474 ? 0 : 1;
                                $ptr = 32;
                                continue main;
                            }
                        }
                    }
                    bk: {
                        u: {
                            if ($this.$stateEnableBlendAdd) {
                                $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                if ($this.$stateShaderBlendColorSerial != $serial) {
                                    $this.$stateShaderBlendColorSerial = $serial;
                                    $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                    $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                    $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                    $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                    if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                        $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                        $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                        $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                        $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                        if ($this.$stateShaderBlendAddColorR !== $r)
                                            break bk;
                                        if ($this.$stateShaderBlendAddColorG !== $g)
                                            break bk;
                                        if ($this.$stateShaderBlendAddColorB !== $b)
                                            break bk;
                                        if ($this.$stateShaderBlendAddColorA === $a)
                                            break u;
                                        else
                                            break bk;
                                    }
                                    $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                    $ptr = 27;
                                    continue main;
                                }
                            }
                        }
                        $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                        if ($vecS !== null) {
                            $en = $this.$extensionPointer;
                            if ($en !== null)
                                $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                        }
                        return $this;
                    }
                    $vecS = $this.$stateShaderBlendAddColorUniform4f;
                    $ptr = 29;
                    continue main;
                }
                $vecS.$x0 = $g;
                $vecS.$y0 = $vecQ.$y0;
                $vecS.$z0 = $vecQ.$z0;
                $vecS.$w = $vecQ.$w;
                $vecS = $this.$stateTexGenQVectorUniform4f;
                $r = $vecQ.$x0;
                $g = $vecQ.$y0;
                $b = $vecQ.$z0;
                $a = $vecQ.$w;
                $ptr = 34;
                continue main;
            }
            $this.$stateAnisotropicFixW = $w;
            $this.$stateAnisotropicFixH = $h;
            $vecS = $this.$stateAnisotropicFix2f;
            $ptr = 23;
            continue main;
        case 29:
            nlei_PlatformOpenGL__wglUniform4f($vecS, $r, $g, $b, $a);
            if ($rt_suspending()) {
                break main;
            }
            $this.$stateShaderBlendAddColorR = $r;
            $this.$stateShaderBlendAddColorG = $g;
            $this.$stateShaderBlendAddColorB = $b;
            $this.$stateShaderBlendAddColorA = $a;
            $vecS = nleo_FixedFunctionPipeline_extensionProvider;
            if ($vecS !== null) {
                $en = $this.$extensionPointer;
                if ($en !== null)
                    $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
            }
            return $this;
        case 30:
            nlei_PlatformOpenGL__wglUniform4f($vecT, $r, $g, $b, $a);
            if ($rt_suspending()) {
                break main;
            }
            $vecT = nleo_GlStateManager$TexGen_T.$vector;
            $vecS = $this.$stateTexGenTVector;
            $r = $vecS.$x0;
            $g = $vecT.$x0;
            if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                $vecR = nleo_GlStateManager$TexGen_R.$vector;
                $vecS = $this.$stateTexGenRVector;
                $r = $vecS.$x0;
                $g = $vecR.$x0;
                if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                    $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                    $vecS = $this.$stateTexGenQVector;
                    $r = $vecS.$x0;
                    $g = $vecQ.$x0;
                    if ($r === $g && $vecS.$y0 === $vecQ.$y0 && $vecS.$z0 === $vecQ.$z0 && $vecS.$w === $vecQ.$w) {
                        bh: {
                            r: {
                                if ($this.$stateEnableBlendAdd) {
                                    $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                    if ($this.$stateShaderBlendColorSerial != $serial) {
                                        $this.$stateShaderBlendColorSerial = $serial;
                                        $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                        $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                        $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                        $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                        if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                            $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                            $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                            $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                            $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                            if ($this.$stateShaderBlendAddColorR !== $r)
                                                break bh;
                                            if ($this.$stateShaderBlendAddColorG !== $g)
                                                break bh;
                                            if ($this.$stateShaderBlendAddColorB !== $b)
                                                break bh;
                                            if ($this.$stateShaderBlendAddColorA === $a)
                                                break r;
                                            else
                                                break bh;
                                        }
                                        $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                        $ptr = 27;
                                        continue main;
                                    }
                                }
                            }
                            $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                            if ($vecS !== null) {
                                $en = $this.$extensionPointer;
                                if ($en !== null)
                                    $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                            }
                            return $this;
                        }
                        $vecS = $this.$stateShaderBlendAddColorUniform4f;
                        $ptr = 29;
                        continue main;
                    }
                    $vecS.$x0 = $g;
                    $vecS.$y0 = $vecQ.$y0;
                    $vecS.$z0 = $vecQ.$z0;
                    $vecS.$w = $vecQ.$w;
                    $vecS = $this.$stateTexGenQVectorUniform4f;
                    $r = $vecQ.$x0;
                    $g = $vecQ.$y0;
                    $b = $vecQ.$z0;
                    $a = $vecQ.$w;
                    $ptr = 34;
                    continue main;
                }
                $vecS.$x0 = $g;
                $vecS.$y0 = $vecR.$y0;
                $vecS.$z0 = $vecR.$z0;
                $vecS.$w = $vecR.$w;
                $vecS = $this.$stateTexGenRVectorUniform4f;
                $r = $vecR.$x0;
                $g = $vecR.$y0;
                $b = $vecR.$z0;
                $a = $vecR.$w;
                $ptr = 33;
                continue main;
            }
            $vecS.$x0 = $g;
            $vecS.$y0 = $vecT.$y0;
            $vecS.$z0 = $vecT.$z0;
            $vecS.$w = $vecT.$w;
            $vecS = $this.$stateTexGenTVectorUniform4f;
            $r = $vecT.$x0;
            $g = $vecT.$y0;
            $b = $vecT.$z0;
            $a = $vecT.$w;
            $ptr = 31;
        case 31:
            nlei_PlatformOpenGL__wglUniform4f($vecS, $r, $g, $b, $a);
            if ($rt_suspending()) {
                break main;
            }
            $vecR = nleo_GlStateManager$TexGen_R.$vector;
            $vecS = $this.$stateTexGenRVector;
            $r = $vecS.$x0;
            $g = $vecR.$x0;
            if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                $vecS = $this.$stateTexGenQVector;
                $r = $vecS.$x0;
                $g = $vecQ.$x0;
                if ($r === $g && $vecS.$y0 === $vecQ.$y0 && $vecS.$z0 === $vecQ.$z0 && $vecS.$w === $vecQ.$w) {
                    bq: {
                        bm: {
                            if ($this.$stateEnableBlendAdd) {
                                $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                if ($this.$stateShaderBlendColorSerial != $serial) {
                                    $this.$stateShaderBlendColorSerial = $serial;
                                    $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                    $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                    $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                    $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                    if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                        $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                        $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                        $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                        $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                        if ($this.$stateShaderBlendAddColorR !== $r)
                                            break bq;
                                        if ($this.$stateShaderBlendAddColorG !== $g)
                                            break bq;
                                        if ($this.$stateShaderBlendAddColorB !== $b)
                                            break bq;
                                        if ($this.$stateShaderBlendAddColorA === $a)
                                            break bm;
                                        else
                                            break bq;
                                    }
                                    $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                    $ptr = 27;
                                    continue main;
                                }
                            }
                        }
                        $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                        if ($vecS !== null) {
                            $en = $this.$extensionPointer;
                            if ($en !== null)
                                $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                        }
                        return $this;
                    }
                    $vecS = $this.$stateShaderBlendAddColorUniform4f;
                    $ptr = 29;
                    continue main;
                }
                $vecS.$x0 = $g;
                $vecS.$y0 = $vecQ.$y0;
                $vecS.$z0 = $vecQ.$z0;
                $vecS.$w = $vecQ.$w;
                $vecS = $this.$stateTexGenQVectorUniform4f;
                $r = $vecQ.$x0;
                $g = $vecQ.$y0;
                $b = $vecQ.$z0;
                $a = $vecQ.$w;
                $ptr = 34;
                continue main;
            }
            $vecS.$x0 = $g;
            $vecS.$y0 = $vecR.$y0;
            $vecS.$z0 = $vecR.$z0;
            $vecS.$w = $vecR.$w;
            $vecS = $this.$stateTexGenRVectorUniform4f;
            $r = $vecR.$x0;
            $g = $vecR.$y0;
            $b = $vecR.$z0;
            $a = $vecR.$w;
            $ptr = 33;
            continue main;
        case 32:
            nlei_PlatformOpenGL__wglUniform4i($vecS, $ptr_0, $ptr2, $serial2, $serial);
            if ($rt_suspending()) {
                break main;
            }
            $vecS = nleo_GlStateManager$TexGen_S.$vector;
            $vecT = $this.$stateTexGenSVector;
            $r = $vecT.$x0;
            $g = $vecS.$x0;
            if ($r === $g && $vecT.$y0 === $vecS.$y0 && $vecT.$z0 === $vecS.$z0 && $vecT.$w === $vecS.$w) {
                $vecT = nleo_GlStateManager$TexGen_T.$vector;
                $vecS = $this.$stateTexGenTVector;
                $r = $vecS.$x0;
                $g = $vecT.$x0;
                if ($r === $g && $vecS.$y0 === $vecT.$y0 && $vecS.$z0 === $vecT.$z0 && $vecS.$w === $vecT.$w) {
                    $vecR = nleo_GlStateManager$TexGen_R.$vector;
                    $vecS = $this.$stateTexGenRVector;
                    $r = $vecS.$x0;
                    $g = $vecR.$x0;
                    if ($r === $g && $vecS.$y0 === $vecR.$y0 && $vecS.$z0 === $vecR.$z0 && $vecS.$w === $vecR.$w) {
                        $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
                        $vecS = $this.$stateTexGenQVector;
                        $r = $vecS.$x0;
                        $g = $vecQ.$x0;
                        if ($r === $g && $vecS.$y0 === $vecQ.$y0 && $vecS.$z0 === $vecQ.$z0 && $vecS.$w === $vecQ.$w) {
                            d: {
                                br: {
                                    if ($this.$stateEnableBlendAdd) {
                                        $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                                        if ($this.$stateShaderBlendColorSerial != $serial) {
                                            $this.$stateShaderBlendColorSerial = $serial;
                                            $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                            $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                            $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                            $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                            if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                                $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                                $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                                $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                                $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                                if ($this.$stateShaderBlendAddColorR !== $r)
                                                    break d;
                                                if ($this.$stateShaderBlendAddColorG !== $g)
                                                    break d;
                                                if ($this.$stateShaderBlendAddColorB !== $b)
                                                    break d;
                                                if ($this.$stateShaderBlendAddColorA === $a)
                                                    break br;
                                                else
                                                    break d;
                                            }
                                            $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                            $ptr = 27;
                                            continue main;
                                        }
                                    }
                                }
                                $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                                if ($vecS !== null) {
                                    $en = $this.$extensionPointer;
                                    if ($en !== null)
                                        $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                                }
                                return $this;
                            }
                            $vecS = $this.$stateShaderBlendAddColorUniform4f;
                            $ptr = 29;
                            continue main;
                        }
                        $vecS.$x0 = $g;
                        $vecS.$y0 = $vecQ.$y0;
                        $vecS.$z0 = $vecQ.$z0;
                        $vecS.$w = $vecQ.$w;
                        $vecS = $this.$stateTexGenQVectorUniform4f;
                        $r = $vecQ.$x0;
                        $g = $vecQ.$y0;
                        $b = $vecQ.$z0;
                        $a = $vecQ.$w;
                        $ptr = 34;
                        continue main;
                    }
                    $vecS.$x0 = $g;
                    $vecS.$y0 = $vecR.$y0;
                    $vecS.$z0 = $vecR.$z0;
                    $vecS.$w = $vecR.$w;
                    $vecS = $this.$stateTexGenRVectorUniform4f;
                    $r = $vecR.$x0;
                    $g = $vecR.$y0;
                    $b = $vecR.$z0;
                    $a = $vecR.$w;
                    $ptr = 33;
                    continue main;
                }
                $vecS.$x0 = $g;
                $vecS.$y0 = $vecT.$y0;
                $vecS.$z0 = $vecT.$z0;
                $vecS.$w = $vecT.$w;
                $vecS = $this.$stateTexGenTVectorUniform4f;
                $r = $vecT.$x0;
                $g = $vecT.$y0;
                $b = $vecT.$z0;
                $a = $vecT.$w;
                $ptr = 31;
                continue main;
            }
            $vecT.$x0 = $g;
            $vecT.$y0 = $vecS.$y0;
            $vecT.$z0 = $vecS.$z0;
            $vecT.$w = $vecS.$w;
            $vecT = $this.$stateTexGenSVectorUniform4f;
            $r = $vecS.$x0;
            $g = $vecS.$y0;
            $b = $vecS.$z0;
            $a = $vecS.$w;
            $ptr = 30;
            continue main;
        case 33:
            nlei_PlatformOpenGL__wglUniform4f($vecS, $r, $g, $b, $a);
            if ($rt_suspending()) {
                break main;
            }
            $vecQ = nleo_GlStateManager$TexGen_Q.$vector;
            $vecS = $this.$stateTexGenQVector;
            $r = $vecS.$x0;
            $g = $vecQ.$x0;
            if ($r === $g && $vecS.$y0 === $vecQ.$y0 && $vecS.$z0 === $vecQ.$z0 && $vecS.$w === $vecQ.$w) {
                c: {
                    bp: {
                        if ($this.$stateEnableBlendAdd) {
                            $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                            if ($this.$stateShaderBlendColorSerial != $serial) {
                                $this.$stateShaderBlendColorSerial = $serial;
                                $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                                $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                                $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                                $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                                if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                    $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                    $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                    $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                    $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                    if ($this.$stateShaderBlendAddColorR !== $r)
                                        break c;
                                    if ($this.$stateShaderBlendAddColorG !== $g)
                                        break c;
                                    if ($this.$stateShaderBlendAddColorB !== $b)
                                        break c;
                                    if ($this.$stateShaderBlendAddColorA === $a)
                                        break bp;
                                    else
                                        break c;
                                }
                                $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                                $ptr = 27;
                                continue main;
                            }
                        }
                    }
                    $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                    if ($vecS !== null) {
                        $en = $this.$extensionPointer;
                        if ($en !== null)
                            $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                    }
                    return $this;
                }
                $vecS = $this.$stateShaderBlendAddColorUniform4f;
                $ptr = 29;
                continue main;
            }
            $vecS.$x0 = $g;
            $vecS.$y0 = $vecQ.$y0;
            $vecS.$z0 = $vecQ.$z0;
            $vecS.$w = $vecQ.$w;
            $vecS = $this.$stateTexGenQVectorUniform4f;
            $r = $vecQ.$x0;
            $g = $vecQ.$y0;
            $b = $vecQ.$z0;
            $a = $vecQ.$w;
            $ptr = 34;
        case 34:
            nlei_PlatformOpenGL__wglUniform4f($vecS, $r, $g, $b, $a);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                b: {
                    if ($this.$stateEnableBlendAdd) {
                        $serial = nleo_GlStateManager_stateShaderBlendColorSerial;
                        if ($this.$stateShaderBlendColorSerial != $serial) {
                            $this.$stateShaderBlendColorSerial = $serial;
                            $r = nleo_GlStateManager_stateShaderBlendSrcColorR;
                            $g = nleo_GlStateManager_stateShaderBlendSrcColorG;
                            $b = nleo_GlStateManager_stateShaderBlendSrcColorB;
                            $a = nleo_GlStateManager_stateShaderBlendSrcColorA;
                            if ($this.$stateShaderBlendSrcColorR === $r && $this.$stateShaderBlendSrcColorG === $g && $this.$stateShaderBlendSrcColorB === $b && $this.$stateShaderBlendSrcColorA === $a) {
                                $r = nleo_GlStateManager_stateShaderBlendAddColorR;
                                $g = nleo_GlStateManager_stateShaderBlendAddColorG;
                                $b = nleo_GlStateManager_stateShaderBlendAddColorB;
                                $a = nleo_GlStateManager_stateShaderBlendAddColorA;
                                if ($this.$stateShaderBlendAddColorR !== $r)
                                    break a;
                                if ($this.$stateShaderBlendAddColorG !== $g)
                                    break a;
                                if ($this.$stateShaderBlendAddColorB !== $b)
                                    break a;
                                if ($this.$stateShaderBlendAddColorA === $a)
                                    break b;
                                else
                                    break a;
                            }
                            $vecS = $this.$stateShaderBlendSrcColorUniform4f;
                            $ptr = 27;
                            continue main;
                        }
                    }
                }
                $vecS = nleo_FixedFunctionPipeline_extensionProvider;
                if ($vecS !== null) {
                    $en = $this.$extensionPointer;
                    if ($en !== null)
                        $vecS.$updatePipeline($this.$shaderProgram, $this.$stateCoreBits, $this.$stateExtBits, $en);
                }
                return $this;
            }
            $vecS = $this.$stateShaderBlendAddColorUniform4f;
            $ptr = 29;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $vecS, $serial, $r, $g, $b, $a, $ptr_0, $vecT, $ptr2, $serial2, $b_0, $v, $en, $x, $y, $lightsCounter, $i, var$18, $lightDirOld, $lightDirNew, $z, $w, $c, $fogEXP, $fogDensity, $fogStart, $fogEnd, $h, $planeS, $planeT, $planeR, $planeQ, $vecR, $vecQ, $ptr);
    }
    function nleo_FixedFunctionPipeline__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(1950);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleo_FixedFunctionPipeline_LOGGER = var$1;
            nleo_FixedFunctionPipeline_pipelineStateCache = $rt_createArray(nleo_FixedFunctionPipeline, 4096);
            nleo_FixedFunctionPipeline_pipelineExtStateCache = $rt_createArray($rt_arraycls(nleo_FixedFunctionPipeline), 4096);
            nleo_FixedFunctionPipeline_pipelineListTracker = ju_ArrayList__init_1(1024);
            nleo_FixedFunctionPipeline_shaderSourceCacheVSH = null;
            nleo_FixedFunctionPipeline_shaderSourceCacheFSH = null;
            nleo_FixedFunctionPipeline_tmpMatrixForInv = nlev_Matrix4f__init_0();
            nleo_FixedFunctionPipeline_tmpVec4ForTex = new nlev_Vector4f;
            nleo_FixedFunctionPipeline_matrixCopyBuffer = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nleo_DisplayList() {
        var a = this; jl_Object.call(a);
        a.$vertexArray = null;
        a.$vertexBuffer = null;
        a.$attribs = 0;
        a.$mode = 0;
        a.$count1 = 0;
        a.$bindQuad16 = 0;
        a.$bindQuad32 = 0;
    }
    function nleo_DisplayList__init_0() {
        var var_0 = new nleo_DisplayList();
        nleo_DisplayList__init_(var_0);
        return var_0;
    }
    function nleo_DisplayList__init_($this) {
        $this.$vertexArray = null;
        $this.$vertexBuffer = null;
        $this.$attribs = (-1);
        $this.$mode = (-1);
        $this.$count1 = 0;
        $this.$bindQuad16 = 0;
        $this.$bindQuad32 = 0;
    }
    var nlep_EaglerProfile$UserSkin = $rt_classWithoutFields(0);
    function nlep_EaglerProfile$UserPresetSkin() {
        jl_Object.call(this);
        this.$skinType = 0;
    }
    function nlep_EaglerProfile$EaglerProfileSkin() {
        var a = this; jl_Object.call(a);
        a.$name11 = null;
        a.$data2 = null;
        a.$slim = 0;
        a.$glTex = 0;
    }
    function nms_Render() {
        var a = this; jl_Object.call(a);
        a.$renderManager = null;
        a.$modelBase = null;
        a.$renderBlocks = null;
        a.$shadowSize = 0.0;
        a.$field_194_c = 0.0;
    }
    function nms_Render__init_($this) {
        $this.$modelBase = nms_ModelBiped__init_1();
        $this.$renderBlocks = nms_RenderBlocks__init_1();
        $this.$shadowSize = 0.0;
        $this.$field_194_c = 1.0;
    }
    function nms_Render_loadTexture($this, $var1) {
        var $var2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $this.$renderManager.$renderEngine0;
            $ptr = 1;
        case 1:
            $tmp = nms_RenderEngine_getTexture($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 2;
        case 2:
            nms_RenderEngine_bindTexture($var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_Render_loadDownloadableImageTexture($this, $var1, $var2) {
        var $var3, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $this.$renderManager.$renderEngine0;
            $ptr = 1;
        case 1:
            $tmp = nms_RenderEngine_getTexture($var3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4 < 0)
                return 0;
            $ptr = 2;
        case 2:
            nms_RenderEngine_bindTexture($var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_Render_renderEntityOnFire($this, $var1, $var2, $var4, $var6, $var8) {
        var $var10, $var9, $var11, $var12, $var13, $var14, $var15, $var18, $var16, $var17, $var19, $var20, $var21, var$19, var$20, var$21, var$22, var$23, var$24, var$25, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var18 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6
            = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var10 = 2896;
            $ptr = 1;
        case 1:
            olo_GL11_glDisable($var10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = nms_Block_fire.$blockIndexInTexture;
            $var10 = ($var9 & 15) << 4;
            $var11 = $var9 & 240;
            $var8 = $var10;
            $var12 = $var8 / 256.0;
            $var13 = ($var8 + 15.989999771118164) / 256.0;
            $var8 = $var11;
            $var14 = $var8 / 256.0;
            $var15 = ($var8 + 15.989999771118164) / 256.0;
            $ptr = 3;
        case 3:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var18 = $var2;
            $var8 = $var4;
            $var16 = $var6;
            $ptr = 4;
        case 4:
            olo_GL11_glTranslatef($var18, $var8, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $var1.$width2 * 1.399999976158142;
            $ptr = 5;
        case 5:
            olo_GL11_glScalef($var16, $var16, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var17 = $rt_s(266);
            $ptr = 6;
        case 6:
            nms_Render_loadTexture($this, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var17 = nms_Tessellator_instance;
            $var18 = 1.0;
            $var19 = 0.5;
            $var20 = 0.0;
            $var21 = $var1.$height4 / $var1.$width2;
            $var8 =  -$this.$renderManager.$playerViewY;
            $var16 = 0.0;
            var$19 = 1.0;
            var$20 = 0.0;
            $ptr = 8;
        case 8:
            olo_GL11_glRotatef($var8, $var16, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 0.0;
            $var16 = 0.0;
            var$19 = (-0.4000000059604645) + ($var21 | 0) * 0.019999999552965164;
            $ptr = 9;
        case 9:
            olo_GL11_glTranslatef($var8, $var16, var$19);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 1.0;
            $var16 = 1.0;
            var$19 = 1.0;
            var$20 = 1.0;
            $ptr = 10;
        case 10:
            nleo_GlStateManager_color($var8, $var16, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_Tessellator_startDrawingQuads($var17);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var13;
            var$21 = $var15;
            var$22 = $var12;
            var$23 = $var14;
            if ($var21 <= 0.0) {
                $ptr = 12;
                continue main;
            }
            $var2 = $var18 - $var19;
            $var4 = 0.0 - $var20;
            var$24 = 0.0;
            $ptr = 15;
            continue main;
        case 12:
            nms_Tessellator_draw($var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 2896;
            $ptr = 14;
        case 14:
            olo_GL11_glEnable($var10);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 15:
            nms_Tessellator_addVertexWithUV($var17, $var2, $var4, var$24, $var6, var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$24 = (-0.5);
            var$25 = 0.0;
            $ptr = 16;
        case 16:
            nms_Tessellator_addVertexWithUV($var17, var$24, $var4, var$25, var$22, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 1.399999976158142 - $var20;
            var$25 = 0.0;
            $ptr = 17;
        case 17:
            nms_Tessellator_addVertexWithUV($var17, var$24, $var4, var$25, var$22, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$24 = 0.0;
            $ptr = 18;
        case 18:
            nms_Tessellator_addVertexWithUV($var17, $var2, $var4, var$24, $var6, var$23);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = $var21 - 1.0;
            $var20 = $var20 - 1.0;
            $var18 = $var18 * 0.8999999761581421;
            $var8 = 0.0;
            $var12 = 0.0;
            $var16 = (-0.03999999910593033);
            $ptr = 19;
        case 19:
            olo_GL11_glTranslatef($var8, $var12, $var16);
            if ($rt_suspending()) {
                break main;
            }
            if ($var21 <= 0.0) {
                $ptr = 12;
                continue main;
            }
            $var2 = $var18 - $var19;
            $var4 = 0.0 - $var20;
            var$24 = 0.0;
            $ptr = 15;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var10, $var9, $var11, $var12, $var13, $var14, $var15, $var18, $var16, $var17, $var19, $var20, $var21, var$19, var$20, var$21, var$22, var$23, var$24, var$25, $ptr);
    }
    function nms_Render_getWorldFromRenderManager($this) {
        return $this.$renderManager.$worldObj2;
    }
    function nms_Render_renderOffsetAABB($var0, $var1, $var3, $var5) {
        var var$5, $var7, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var7 = $thread.pop();var$5 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = 3553;
            $ptr = 1;
        case 1:
            olo_GL11_glDisable(var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var7 = nms_Tessellator_instance;
            var$7 = 1.0;
            var$8 = 1.0;
            var$9 = 1.0;
            var$10 = 1.0;
            $ptr = 3;
        case 3:
            nleo_GlStateManager_color(var$7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_Tessellator_startDrawingQuads($var7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Tessellator_setTranslationD($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = (-1.0);
            $ptr = 6;
        case 6:
            nms_Tessellator_setNormal($var7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$minX0;
            $var3 = $var0.$maxY0;
            $var5 = $var0.$minZ0;
            $ptr = 7;
        case 7:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$maxX0;
            $var3 = $var0.$maxY0;
            $var5 = $var0.$minZ0;
            $ptr = 8;
        case 8:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$maxX0;
            $var3 = $var0.$minY0;
            $var5 = $var0.$minZ0;
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$minX0;
            $var3 = $var0.$minY0;
            $var5 = $var0.$minZ0;
            $ptr = 10;
        case 10:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = 0.0;
            var$10 = 1.0;
            $ptr = 11;
        case 11:
            nms_Tessellator_setNormal($var7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$minX0;
            $var3 = $var0.$minY0;
            $var5 = $var0.$maxZ0;
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$maxX0;
            $var3 = $var0.$minY0;
            $var5 = $var0.$maxZ0;
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$maxX0;
            $var3 = $var0.$maxY0;
            $var5 = $var0.$maxZ0;
            $ptr = 14;
        case 14:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$minX0;
            $var3 = $var0.$maxY0;
            $var5 = $var0.$maxZ0;
            $ptr = 15;
        case 15:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = (-1.0);
            var$10 = 0.0;
            $ptr = 16;
        case 16:
            nms_Tessellator_setNormal($var7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$minX0;
            $var3 = $var0.$minY0;
            $var5 = $var0.$minZ0;
            $ptr = 17;
        case 17:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$maxX0;
            $var3 = $var0.$minY0;
            $var5 = $var0.$minZ0;
            $ptr = 18;
        case 18:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$maxX0;
            $var3 = $var0.$minY0;
            $var5 = $var0.$maxZ0;
            $ptr = 19;
        case 19:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$minX0;
            $var3 = $var0.$minY0;
            $var5 = $var0.$maxZ0;
            $ptr = 20;
        case 20:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0.0;
            var$9 = 1.0;
            var$10 = 0.0;
            $ptr = 21;
        case 21:
            nms_Tessellator_setNormal($var7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$minX0;
            $var3 = $var0.$maxY0;
            $var5 = $var0.$maxZ0;
            $ptr = 22;
        case 22:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$maxX0;
            $var3 = $var0.$maxY0;
            $var5 = $var0.$maxZ0;
            $ptr = 23;
        case 23:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$maxX0;
            $var3 = $var0.$maxY0;
            $var5 = $var0.$minZ0;
            $ptr = 24;
        case 24:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$minX0;
            $var3 = $var0.$maxY0;
            $var5 = $var0.$minZ0;
            $ptr = 25;
        case 25:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = (-1.0);
            var$9 = 0.0;
            var$10 = 0.0;
            $ptr = 26;
        case 26:
            nms_Tessellator_setNormal($var7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$minX0;
            $var3 = $var0.$minY0;
            $var5 = $var0.$maxZ0;
            $ptr = 27;
        case 27:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$minX0;
            $var3 = $var0.$maxY0;
            $var5 = $var0.$maxZ0;
            $ptr = 28;
        case 28:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$minX0;
            $var3 = $var0.$maxY0;
            $var5 = $var0.$minZ0;
            $ptr = 29;
        case 29:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$minX0;
            $var3 = $var0.$minY0;
            $var5 = $var0.$minZ0;
            $ptr = 30;
        case 30:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 1.0;
            var$8 = 0.0;
            var$10 = 0.0;
            $ptr = 31;
        case 31:
            nms_Tessellator_setNormal($var7, var$9, var$8, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$maxX0;
            $var3 = $var0.$minY0;
            $var5 = $var0.$minZ0;
            $ptr = 32;
        case 32:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$maxX0;
            $var3 = $var0.$maxY0;
            $var5 = $var0.$minZ0;
            $ptr = 33;
        case 33:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var0.$maxX0;
            $var3 = $var0.$maxY0;
            $var5 = $var0.$maxZ0;
            $ptr = 34;
        case 34:
            nms_Tessellator_addVertex($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var0.$maxX0;
            $var5 = $var0.$minY0;
            $var1 = $var0.$maxZ0;
            $ptr = 35;
        case 35:
            nms_Tessellator_addVertex($var7, $var3, $var5, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0.0;
            $var3 = 0.0;
            $var5 = 0.0;
            $ptr = 36;
        case 36:
            nms_Tessellator_setTranslationD($var7, $var1, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 37;
        case 37:
            nms_Tessellator_draw($var7);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 3553;
            $ptr = 38;
        case 38:
            olo_GL11_glEnable(var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $var3, $var5, var$5, $var7, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_Render_setRenderManager($this, $var1) {
        $this.$renderManager = $var1;
    }
    function nms_Render_doRenderShadowAndFire($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var var$7, var$8, var$9, $var10, $var12, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, var$25, var$26, var$27, var$28, var$29, var$30, var$31, var$32, var$33, var$34, var$35, var$36, var$37, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$37 = $thread.pop();var$36 = $thread.pop();var$35 = $thread.pop();var$34 = $thread.pop();var$33 = $thread.pop();var$32 = $thread.pop();var$31 = $thread.pop();var$30 = $thread.pop();var$29 = $thread.pop();var$28 = $thread.pop();var$27 = $thread.pop();var$26 = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16
            = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$7 = $this.$renderManager;
            if (var$7.$options1.$fancyGraphics && $this.$shadowSize > 0.0) {
                var$8 = $var1.$posX;
                var$9 = $var1.$posY;
                $var10 = $var1.$posZ;
                var$8 = var$8 - var$7.$field_1222_l;
                var$9 = var$9 - var$7.$field_1221_m;
                $var10 = $var10 - var$7.$field_1220_n;
                $var12 = (1.0 - (var$8 * var$8 + var$9 * var$9 + $var10 * $var10) / 256.0) * $this.$field_194_c;
                if ($var12 > 0.0) {
                    var$12 = 3042;
                    $ptr = 3;
                    continue main;
                }
            }
            $ptr = 1;
        case 1:
            $tmp = nms_Entity_isBurning($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            if (!var$12)
                return;
            $ptr = 2;
        case 2:
            nms_Render_renderEntityOnFire($this, $var1, $var2, $var4, $var6, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            olo_GL11_glEnable(var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = 770;
            var$12 = 771;
            $ptr = 4;
        case 4:
            olo_GL11_glBlendFunc(var$13, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$renderManager.$renderEngine0;
            var$14 = $rt_s(1951);
            $ptr = 5;
        case 5:
            $tmp = nms_RenderEngine_getTexture(var$7, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            $ptr = 6;
        case 6:
            nms_RenderEngine_bindTexture(var$7, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = nms_Render_getWorldFromRenderManager($this);
            var$12 = 0;
            $ptr = 7;
        case 7:
            olo_GL11_glDepthMask(var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $this.$shadowSize;
            var$8 = $var1.$lastTickPosX;
            var$9 = $var1.$posX - var$8;
            $var10 = $var9;
            var$8 = var$8 + var$9 * $var10;
            var$9 = $var1.$lastTickPosY;
            var$9 = var$9 + ($var1.$posY - var$9) * $var10 + $var1.$getShadowSize();
            var$15 = $var1.$lastTickPosZ;
            $var10 = var$15 + ($var1.$posZ - var$15) * $var10;
            var$16 = $var8;
            var$13 = nms_MathHelper_floor_double(var$8 - var$16);
            var$17 = nms_MathHelper_floor_double(var$8 + var$16);
            var$18 = nms_MathHelper_floor_double(var$9 - var$16);
            var$19 = nms_MathHelper_floor_double(var$9);
            var$20 = nms_MathHelper_floor_double($var10 - var$16);
            var$21 = nms_MathHelper_floor_double($var10 + var$16);
            var$22 = $var2 - var$8;
            var$23 = $var4 - var$9;
            var$24 = $var6 - $var10;
            $ptr = 8;
        case 8:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$25 = nms_Tessellator_instance;
            $ptr = 9;
        case 9:
            nms_Tessellator_startDrawingQuads(var$25);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $var12;
            while (var$13 <= var$17) {
                var$26 = var$18;
                while (var$26 <= var$19) {
                    var$27 = var$20;
                    if (var$27 <= var$21) {
                        var$12 = var$26 - 1 | 0;
                        $ptr = 14;
                        continue main;
                    }
                    var$26 = var$26 + 1 | 0;
                }
                var$13 = var$13 + 1 | 0;
            }
            $ptr = 10;
        case 10:
            nms_Tessellator_draw(var$25);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = 1.0;
            var$28 = 1.0;
            var$29 = 1.0;
            $var8 = 1.0;
            $ptr = 11;
        case 11:
            nleo_GlStateManager_color($var12, var$28, var$29, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = 3042;
            $ptr = 12;
        case 12:
            olo_GL11_glDisable(var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = 1;
            $ptr = 13;
        case 13:
            olo_GL11_glDepthMask(var$12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 1;
            continue main;
        case 14:
            $tmp = nms_World_getBlockId(var$14, var$13, var$12, var$27);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            if (var$12 > 0) {
                $ptr = 15;
                continue main;
            }
            var$27 = var$27 + 1 | 0;
            a: while (true) {
                if (var$27 <= var$21) {
                    var$12 = var$26 - 1 | 0;
                    continue main;
                }
                var$26 = var$26 + 1 | 0;
                while (var$26 > var$19) {
                    var$13 = var$13 + 1 | 0;
                    if (var$13 > var$17)
                        break a;
                    var$26 = var$18;
                }
                var$27 = var$20;
            }
            $ptr = 10;
            continue main;
        case 15:
            $tmp = nms_World_getBlockLightValue(var$14, var$13, var$26, var$27);
            if ($rt_suspending()) {
                break main;
            }
            var$30 = $tmp;
            if (var$30 > 3) {
                $ptr = 16;
                continue main;
            }
            var$27 = var$27 + 1 | 0;
            a: while (true) {
                if (var$27 <= var$21) {
                    var$12 = var$26 - 1 | 0;
                    $ptr = 14;
                    continue main;
                }
                var$26 = var$26 + 1 | 0;
                while (var$26 > var$19) {
                    var$13 = var$13 + 1 | 0;
                    if (var$13 > var$17)
                        break a;
                    var$26 = var$18;
                }
                var$27 = var$20;
            }
            $ptr = 10;
            continue main;
        case 16:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$31 = nms_Block_blocksList.data[var$12];
            $var10 = $var4 + $var1.$getShadowSize();
            var$8 = var$23 + $var1.$getShadowSize();
            var$7 = nms_Tessellator_instance;
            $ptr = 17;
        case 17:
            $tmp = var$31.$renderAsNormalBlock();
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            if (var$12) {
                var$32 = var$26;
                $var10 = (var$9 - ($var10 - (var$32 + var$8)) / 2.0) * 0.5;
                var$33 = nms_Render_getWorldFromRenderManager($this);
                $ptr = 18;
                continue main;
            }
            var$27 = var$27 + 1 | 0;
            a: while (true) {
                if (var$27 <= var$21) {
                    var$12 = var$26 - 1 | 0;
                    $ptr = 14;
                    continue main;
                }
                var$26 = var$26 + 1 | 0;
                while (var$26 > var$19) {
                    var$13 = var$13 + 1 | 0;
                    if (var$13 > var$17)
                        break a;
                    var$26 = var$18;
                }
                var$27 = var$20;
            }
            $ptr = 10;
            continue main;
        case 18:
            $tmp = nms_World_getLightBrightness(var$33, var$13, var$26, var$27);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var10 = $var10 * $var8;
            if ($var10 >= 0.0) {
                if ($var10 > 1.0)
                    $var10 = 1.0;
                $var8 = 1.0;
                var$28 = 1.0;
                var$29 = 1.0;
                $var12 = $var10;
                $ptr = 19;
                continue main;
            }
            var$27 = var$27 + 1 | 0;
            b: while (true) {
                if (var$27 <= var$21) {
                    var$12 = var$26 - 1 | 0;
                    $ptr = 14;
                    continue main;
                }
                var$26 = var$26 + 1 | 0;
                while (var$26 > var$19) {
                    var$13 = var$13 + 1 | 0;
                    if (var$13 > var$17)
                        break b;
                    var$26 = var$18;
                }
                var$27 = var$20;
            }
            $ptr = 10;
            continue main;
        case 19:
            nms_Tessellator_setColorRGBA_F(var$7, $var8, var$28, var$29, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = var$13;
            var$34 = $var10 + var$31.$minX + var$22;
            var$35 = $var10 + var$31.$maxX + var$22;
            var$32 = var$32 + var$31.$minY + var$8 + 0.015625;
            var$8 = var$27;
            var$36 = var$8 + var$31.$minZ + var$24;
            var$37 = var$8 + var$31.$maxZ + var$24;
            var$29 = ($var2 - var$34) / 2.0 / var$16 + 0.5;
            $var12 = ($var2 - var$35) / 2.0 / var$16 + 0.5;
            var$28 = ($var6 - var$36) / 2.0 / var$16 + 0.5;
            $var8 = ($var6 - var$37) / 2.0 / var$16 + 0.5;
            var$8 = var$29;
            $var10 = var$28;
            $ptr = 20;
        case 20:
            nms_Tessellator_addVertexWithUV(var$7, var$34, var$32, var$36, var$8, $var10);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $var8;
            $ptr = 21;
        case 21:
            nms_Tessellator_addVertexWithUV(var$7, var$34, var$32, var$37, var$8, var$15);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $var12;
            $ptr = 22;
        case 22:
            nms_Tessellator_addVertexWithUV(var$7, var$35, var$32, var$37, var$8, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 23;
        case 23:
            nms_Tessellator_addVertexWithUV(var$7, var$35, var$32, var$36, var$8, $var10);
            if ($rt_suspending()) {
                break main;
            }
            var$27 = var$27 + 1 | 0;
            c: while (true) {
                if (var$27 <= var$21) {
                    var$12 = var$26 - 1 | 0;
                    $ptr = 14;
                    continue main;
                }
                var$26 = var$26 + 1 | 0;
                while (var$26 > var$19) {
                    var$13 = var$13 + 1 | 0;
                    if (var$13 > var$17)
                        break c;
                    var$26 = var$18;
                }
                var$27 = var$20;
            }
            $ptr = 10;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, var$7, var$8, var$9, $var10, $var12, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, var$25, var$26, var$27, var$28, var$29, var$30, var$31, var$32, var$33, var$34, var$35, var$36, var$37, $ptr);
    }
    function nms_Render_getFontRendererFromRenderManager($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this.$renderManager.$fontRenderer1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_RenderItem() {
        var a = this; nms_Render.call(a);
        a.$renderBlocks0 = null;
        a.$random2 = null;
    }
    function nms_RenderItem__init_0() {
        var var_0 = new nms_RenderItem();
        nms_RenderItem__init_(var_0);
        return var_0;
    }
    function nms_RenderItem__init_($this) {
        nms_Render__init_($this);
        $this.$renderBlocks0 = nms_RenderBlocks__init_1();
        $this.$random2 = new ju_Random;
        $this.$shadowSize = 0.15000000596046448;
        $this.$field_194_c = 0.75;
    }
    function nms_RenderItem_doRenderItem($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $var10, $var11, $var12, $var13, $var14, $var27, $var15, $var28, $var16, $var17, $var18, $var19, $var23, var$20, var$21, $var24, $var25, $var26, var$25, var$26, var$27, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$27 = $thread.pop();var$26 = $thread.pop();var$25 = $thread.pop();$var26 = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();$var23 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var28 = $thread.pop();$var15 = $thread.pop();$var27 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9
            = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var10 = $var1.$item0;
            $ptr = 1;
        case 1:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var11 = nms_MathHelper_sin(($var1.$age + $var9) / 10.0 + $var1.$field_804_d) * 0.10000000149011612 + 0.10000000149011612;
            $var12 = (($var1.$age + $var9) / 20.0 + $var1.$field_804_d) * 57.2957763671875;
            $var13 = 1;
            $var14 = $var1.$item0.$stackSize;
            if ($var14 > 1)
                $var13 = 2;
            if ($var14 > 5)
                $var13 = 3;
            if ($var14 > 20)
                $var13 = 4;
            $var27 = $var2;
            $var8 = $var4 + $var11;
            $var9 = $var6;
            $ptr = 2;
        case 2:
            olo_GL11_glTranslatef($var27, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 32826;
            $ptr = 3;
        case 3:
            olo_GL11_glEnable($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $var10.$itemID;
            if ($var14 < 256) {
                $ptr = 6;
                continue main;
            }
            $var8 = 0.5;
            $var9 = 0.5;
            $var27 = 0.5;
            $ptr = 4;
        case 4:
            olo_GL11_glScalef($var8, $var9, $var27);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = nms_ItemStack_getIconIndex($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if ($var10.$itemID >= 256) {
                $var1 = $rt_s(341);
                $ptr = 8;
                continue main;
            }
            $var1 = $rt_s(266);
            $ptr = 9;
            continue main;
        case 6:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Block_blocksList.data[$var14];
            $ptr = 7;
        case 7:
            $tmp = $var1.$getRenderType();
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if (!nms_RenderBlocks_renderItemIn3d($var14)) {
                $var8 = 0.5;
                $var9 = 0.5;
                $var27 = 0.5;
                $ptr = 4;
                continue main;
            }
            $var8 = 0.0;
            $var9 = 1.0;
            $var27 = 0.0;
            $ptr = 10;
            continue main;
        case 8:
            nms_Render_loadTexture($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
            continue main;
        case 9:
            nms_Render_loadTexture($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
            continue main;
        case 10:
            olo_GL11_glRotatef($var12, $var8, $var9, $var27);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $rt_s(266);
            $ptr = 11;
        case 11:
            nms_Render_loadTexture($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = 0.25;
            $var1 = nms_Block_blocksList.data[$var10.$itemID];
            $ptr = 12;
        case 12:
            $tmp = $var1.$renderAsNormalBlock();
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if (!$var14 && $var10.$itemID != nms_Block_stairSingle.$blockID)
                $var27 = 0.5;
            $ptr = 14;
            continue main;
        case 13:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var15 = nms_Tessellator_instance;
            $var28 = ($var14 % 16 | 0) * 16 | 0;
            $var16 = ($var28 + 0 | 0) / 256.0;
            $var17 = ($var28 + 16 | 0) / 256.0;
            $var14 = ($var14 / 16 | 0) * 16 | 0;
            $var18 = ($var14 + 0 | 0) / 256.0;
            $var19 = ($var14 + 16 | 0) / 256.0;
            $var23 = 0;
            $var4 = $var16;
            $var6 = $var19;
            var$20 = $var17;
            var$21 = $var18;
            if ($var23 < $var13) {
                $ptr = 17;
                continue main;
            }
            $var14 = 32826;
            $ptr = 15;
            continue main;
        case 14:
            olo_GL11_glScalef($var27, $var27, $var27);
            if ($rt_suspending()) {
                break main;
            }
            $var28 = 0;
            if ($var28 < $var13) {
                $ptr = 28;
                continue main;
            }
            $var14 = 32826;
            $ptr = 15;
        case 15:
            olo_GL11_glDisable($var14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
        case 16:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 17:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            if ($var23 <= 0) {
                $var9 = 180.0 - $this.$renderManager.$playerViewY;
                $var27 = 0.0;
                $var16 = 1.0;
                $var8 = 0.0;
                $ptr = 18;
                continue main;
            }
            $var24 = (ju_Random_nextFloat($this.$random2) * 2.0 - 1.0) * 0.30000001192092896;
            $var25 = (ju_Random_nextFloat($this.$random2) * 2.0 - 1.0) * 0.30000001192092896;
            $var26 = (ju_Random_nextFloat($this.$random2) * 2.0 - 1.0) * 0.30000001192092896;
            $ptr = 27;
            continue main;
        case 18:
            olo_GL11_glRotatef($var9, $var27, $var16, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 19;
        case 19:
            nms_Tessellator_startDrawingQuads($var15);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 0.0;
            $var9 = 1.0;
            $var27 = 0.0;
            $ptr = 20;
        case 20:
            nms_Tessellator_setNormal($var15, $var8, $var9, $var27);
            if ($rt_suspending()) {
                break main;
            }
            var$25 = (-0.5);
            var$26 = (-0.25);
            $var2 = 0.0;
            $ptr = 21;
        case 21:
            nms_Tessellator_addVertexWithUV($var15, var$25, var$26, $var2, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 0.5;
            var$27 = 0.0;
            $ptr = 22;
        case 22:
            nms_Tessellator_addVertexWithUV($var15, $var2, var$26, var$27, var$20, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$26 = 0.75;
            var$27 = 0.0;
            $ptr = 23;
        case 23:
            nms_Tessellator_addVertexWithUV($var15, $var2, var$26, var$27, var$20, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 0.0;
            $ptr = 24;
        case 24:
            nms_Tessellator_addVertexWithUV($var15, var$25, var$26, $var2, $var4, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 25;
        case 25:
            nms_Tessellator_draw($var15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 26;
        case 26:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var23 = $var23 + 1 | 0;
            if ($var23 < $var13) {
                $ptr = 17;
                continue main;
            }
            $var14 = 32826;
            $ptr = 15;
            continue main;
        case 27:
            olo_GL11_glTranslatef($var24, $var25, $var26);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 180.0 - $this.$renderManager.$playerViewY;
            $var27 = 0.0;
            $var16 = 1.0;
            $var8 = 0.0;
            $ptr = 18;
            continue main;
        case 28:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            if ($var28 <= 0) {
                $var1 = $this.$renderBlocks0;
                $var15 = nms_Block_blocksList.data[$var10.$itemID];
                $var14 = $var10.$itemDamage;
                $ptr = 29;
                continue main;
            }
            $var16 = (ju_Random_nextFloat($this.$random2) * 2.0 - 1.0) * 0.20000000298023224 / $var27;
            $var17 = (ju_Random_nextFloat($this.$random2) * 2.0 - 1.0) * 0.20000000298023224 / $var27;
            $var18 = (ju_Random_nextFloat($this.$random2) * 2.0 - 1.0) * 0.20000000298023224 / $var27;
            $ptr = 31;
            continue main;
        case 29:
            nms_RenderBlocks_renderBlockOnInventory($var1, $var15, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 30;
        case 30:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var28 = $var28 + 1 | 0;
            if ($var28 < $var13) {
                $ptr = 28;
                continue main;
            }
            $var14 = 32826;
            $ptr = 15;
            continue main;
        case 31:
            olo_GL11_glTranslatef($var16, $var17, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$renderBlocks0;
            $var15 = nms_Block_blocksList.data[$var10.$itemID];
            $var14 = $var10.$itemDamage;
            $ptr = 29;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $var27, $var15, $var28, $var16, $var17, $var18, $var19, $var23, var$20, var$21, $var24, $var25, $var26, var$25, var$26, var$27, $ptr);
    }
    function nms_RenderItem_renderItemIntoGUI($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var6, $var7, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1
            = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var3 === null)
                return;
            var$6 = $var3.$itemID;
            if (var$6 >= 256) {
                $ptr = 1;
                continue main;
            }
            $ptr = 2;
            continue main;
        case 1:
            $tmp = nms_ItemStack_getIconIndex($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 < 0) {
                $var4 = 2884;
                $ptr = 4;
                continue main;
            }
            $var6 = 2896;
            $ptr = 5;
            continue main;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Block_blocksList.data[var$6];
            $ptr = 3;
        case 3:
            $tmp = $var1.$getRenderType();
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!nms_RenderBlocks_renderItemIn3d($var6)) {
                $ptr = 1;
                continue main;
            }
            $var6 = $var3.$itemID;
            $var1 = $rt_s(266);
            $ptr = 6;
            continue main;
        case 4:
            olo_GL11_glEnable($var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            olo_GL11_glDisable($var6);
            if ($rt_suspending()) {
                break main;
            }
            if ($var3.$itemID >= 256) {
                $var1 = $rt_s(341);
                $ptr = 18;
                continue main;
            }
            $var1 = $rt_s(266);
            $ptr = 20;
            continue main;
        case 6:
            $tmp = nms_RenderEngine_getTexture($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 7;
        case 7:
            nms_RenderEngine_bindTexture($var2, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = nms_Block_blocksList.data[$var6];
            $ptr = 8;
        case 8:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $var4 - 2 | 0;
            var$10 = $var5 + 3 | 0;
            var$11 = 0.0;
            $ptr = 9;
        case 9:
            olo_GL11_glTranslatef(var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 10.0;
            var$10 = 10.0;
            var$11 = 10.0;
            $ptr = 10;
        case 10:
            olo_GL11_glScalef(var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 1.0;
            var$10 = 0.5;
            var$11 = 8.0;
            $ptr = 11;
        case 11:
            olo_GL11_glTranslatef(var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 210.0;
            var$10 = 1.0;
            var$11 = 0.0;
            var$12 = 0.0;
            $ptr = 12;
        case 12:
            olo_GL11_glRotatef(var$9, var$10, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 45.0;
            var$10 = 0.0;
            var$11 = 1.0;
            var$12 = 0.0;
            $ptr = 13;
        case 13:
            olo_GL11_glRotatef(var$9, var$10, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 1.0;
            var$10 = 1.0;
            var$11 = 1.0;
            var$12 = 1.0;
            $ptr = 14;
        case 14:
            nleo_GlStateManager_color(var$9, var$10, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 1.0;
            var$10 = 1.0;
            var$11 = 1.0;
            $ptr = 15;
        case 15:
            olo_GL11_glScalef(var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$renderBlocks0;
            $var4 = $var3.$itemDamage;
            $ptr = 16;
        case 16:
            nms_RenderBlocks_renderBlockOnInventory($var1, $var7, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 2884;
            $ptr = 4;
            continue main;
        case 18:
            $tmp = nms_RenderEngine_getTexture($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 19;
        case 19:
            nms_RenderEngine_bindTexture($var2, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 22;
            continue main;
        case 20:
            $tmp = nms_RenderEngine_getTexture($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 21;
        case 21:
            nms_RenderEngine_bindTexture($var2, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 22;
        case 22:
            $tmp = nms_ItemStack_getIconIndex($var3);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$13 = (var$6 % 16 | 0) * 16 | 0;
            $ptr = 23;
        case 23:
            $tmp = nms_ItemStack_getIconIndex($var3);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$6 = (var$6 / 16 | 0) * 16 | 0;
            var$14 = 16;
            var$15 = 16;
            var$9 = 0.00390625;
            var$10 = 0.00390625;
            $ptr = 24;
        case 24:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Tessellator_instance;
            $ptr = 25;
        case 25:
            nms_Tessellator_startDrawingQuads($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = $var4 + 0 | 0;
            var$17 = $var5 + var$15 | 0;
            var$18 = 0.0;
            var$19 = (var$13 + 0 | 0) * var$9;
            var$20 = (var$6 + var$15 | 0) * var$10;
            $ptr = 26;
        case 26:
            nms_Tessellator_addVertexWithUV($var1, var$16, var$17, var$18, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            var$21 = $var4 + var$14 | 0;
            var$22 = (var$13 + var$14 | 0) * var$9;
            $ptr = 27;
        case 27:
            nms_Tessellator_addVertexWithUV($var1, var$21, var$17, var$18, var$22, var$20);
            if ($rt_suspending()) {
                break main;
            }
            var$17 = $var5 + 0 | 0;
            var$20 = (var$6 + 0 | 0) * var$10;
            $ptr = 28;
        case 28:
            nms_Tessellator_addVertexWithUV($var1, var$21, var$17, var$18, var$22, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 29;
        case 29:
            nms_Tessellator_addVertexWithUV($var1, var$16, var$17, var$18, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 30;
        case 30:
            nms_Tessellator_draw($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 2896;
            $ptr = 31;
        case 31:
            olo_GL11_glEnable($var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 2884;
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, $var7, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, $ptr);
    }
    function nms_RenderItem_renderItemOverlayIntoGUI($this, $var1, $var2, $var3, $var4, $var5) {
        var $var9, $var10, var$8, var$9, var$10, var$11, $var11, $var7, $var8, var$15, var$16, var$17, var$18, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var11 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var3 === null)
                return;
            $var9 = $var3.$stackSize;
            if ($var9 <= 1) {
                $ptr = 1;
                continue main;
            }
            $var2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var2);
            jl_AbstractStringBuilder_append0($var2, $var9);
            $ptr = 2;
            continue main;
        case 1:
            $tmp = nms_ItemStack_isItemDamaged($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            if (!$var10)
                return;
            var$8 = 13.0;
            var$9 = $var3.$itemDamage * 13.0;
            $ptr = 8;
            continue main;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var10 = 2896;
            $ptr = 3;
        case 3:
            olo_GL11_glDisable($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 2929;
            $ptr = 4;
        case 4:
            olo_GL11_glDisable($var10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = (($var4 + 19 | 0) - 2 | 0) - nms_FontRenderer_getStringWidth($var1, $var2) | 0;
            var$11 = ($var5 + 6 | 0) + 3 | 0;
            $var10 = 16777215;
            $ptr = 5;
        case 5:
            nms_FontRenderer_drawStringWithShadow($var1, $var2, var$10, var$11, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 2896;
            $ptr = 6;
        case 6:
            olo_GL11_glEnable($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 2929;
            $ptr = 7;
        case 7:
            olo_GL11_glEnable($var10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 1;
            continue main;
        case 8:
            $tmp = nms_ItemStack_getMaxDamage($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $var11 = Long_lo((jl_Math_round(var$8 - var$9 / $var10)));
            var$9 = 255.0;
            var$8 = $var3.$itemDamage * 255.0;
            $ptr = 9;
        case 9:
            $tmp = nms_ItemStack_getMaxDamage($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $var7 = Long_lo((jl_Math_round(var$9 - var$8 / $var10)));
            $var10 = 2896;
            $ptr = 10;
        case 10:
            olo_GL11_glDisable($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 2929;
            $ptr = 11;
        case 11:
            olo_GL11_glDisable($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 3553;
            $ptr = 12;
        case 12:
            olo_GL11_glDisable($var10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = nms_Tessellator_instance;
            $var10 = 255 - $var7 | 0;
            $var9 = $var10 << 16 | $var7 << 8;
            $var10 = ($var10 / 4 | 0) << 16 | 16128;
            var$15 = $var4 + 2 | 0;
            $var7 = $var5 + 13 | 0;
            var$16 = 13;
            $var4 = 2;
            $var5 = 0;
            $ptr = 14;
        case 14:
            nms_RenderItem_renderQuad($this, $var8, var$15, $var7, var$16, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 12;
            $var5 = 1;
            $ptr = 15;
        case 15:
            nms_RenderItem_renderQuad($this, $var8, var$15, $var7, $var4, $var5, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 1;
            $ptr = 16;
        case 16:
            nms_RenderItem_renderQuad($this, $var8, var$15, $var7, $var11, $var4, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 3553;
            $ptr = 17;
        case 17:
            olo_GL11_glEnable($var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 2896;
            $ptr = 18;
        case 18:
            olo_GL11_glEnable($var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 2929;
            $ptr = 19;
        case 19:
            olo_GL11_glEnable($var4);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = 1.0;
            var$11 = 1.0;
            var$17 = 1.0;
            var$18 = 1.0;
            $ptr = 20;
        case 20:
            nleo_GlStateManager_color(var$10, var$11, var$17, var$18);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var9, $var10, var$8, var$9, var$10, var$11, $var11, $var7, $var8, var$15, var$16, var$17, var$18, $ptr);
    }
    function nms_RenderItem_renderQuad($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_startDrawingQuads($var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_Tessellator_setColorOpaque_I($var1, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $var2 + 0 | 0;
            var$8 = $var3 + 0 | 0;
            var$9 = 0.0;
            $ptr = 3;
        case 3:
            nms_Tessellator_addVertex($var1, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $var3 + $var5 | 0;
            var$10 = 0.0;
            $ptr = 4;
        case 4:
            nms_Tessellator_addVertex($var1, var$7, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $var2 + $var4 | 0;
            var$10 = 0.0;
            $ptr = 5;
        case 5:
            nms_Tessellator_addVertex($var1, var$7, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 0.0;
            $ptr = 6;
        case 6:
            nms_Tessellator_addVertex($var1, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_Tessellator_draw($var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_RenderItem_doRender($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            nms_RenderItem_doRenderItem($this, $var1, $var2, $var4, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $ptr);
    }
    function nms_NetworkManager() {
        var a = this; jl_Object.call(a);
        a.$isRunning = 0;
        a.$netHandler = null;
        a.$readPackets = null;
        a.$isServerTerminating = 0;
        a.$isTerminating = 0;
        a.$terminationReason = null;
        a.$field_20101_t = null;
        a.$timeSinceLastRead = 0;
        a.$sendQueueByteLength = 0;
        a.$chunkDataSendCounter = 0;
        a.$webSocket0 = null;
        a.$sendBuffer = null;
    }
    function nms_NetworkManager_addToSendQueue($this, $var1) {
        var $e, $dos, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$dos = $thread.pop();$e = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            ju_Objects_requireNonNull($this);
            if (!nms_NetworkManager_isOpen($this)) {
                nms_NetworkManager_networkShutdown($this, $rt_s(1952), $rt_createArray(jl_Object, 0));
                return;
            }
            $e = $this.$sendBuffer;
            $e.$count6 = 0;
            try {
                $dos = ji_DataOutputStream__init_0($e);
                try {
                    $ptr = 2;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $var1 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                try {
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $e = $$je;
                    } else {
                        throw $$e;
                    }
                }
                jl_Throwable_addSuppressed($var1, $e);
                $rt_throw($var1);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 1;
        case 1:
            nms_NetworkManager_onNetworkError($this, $e);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            try {
                a: {
                    try {
                        nms_Packet_writePacket($var1, $dos);
                        if ($rt_suspending()) {
                            break main;
                        }
                        nleit_TeaVMWebSocketClient_send($this.$webSocket0, nle_EaglerOutputStream_toByteArray($this.$sendBuffer));
                        break a;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            $var1 = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    try {
                        $ptr = 4;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            $e = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    jl_Throwable_addSuppressed($var1, $e);
                    $rt_throw($var1);
                }
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 1;
            continue main;
        case 3:
            b: {
                try {
                    ji_FilterOutputStream_close($dos);
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $e = $$je;
                        break b;
                    } else {
                        throw $$e;
                    }
                }
                return;
            }
            $ptr = 1;
            continue main;
        case 4:
            try {
                a: {
                    try {
                        ji_FilterOutputStream_close($dos);
                        if ($rt_suspending()) {
                            break main;
                        }
                        break a;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            $e = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    jl_Throwable_addSuppressed($var1, $e);
                }
                $rt_throw($var1);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $e, $dos, $ptr);
    }
    function nms_NetworkManager_onNetworkError($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jl_Throwable_printStackTrace($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1817);
            var$3 = $rt_createArray(jl_Object, 1);
            var$4 = var$3.data;
            var$5 = 0;
            $ptr = 2;
        case 2:
            $tmp = jl_String_valueOf($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $var1 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var1);
            var$7 = $rt_s(1953);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append($var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$7, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$4[var$5] = $var1;
            nms_NetworkManager_networkShutdown($this, var$2, var$3);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_NetworkManager_networkShutdown($this, $var1, $var2) {
        var $$je;
        if ($this.$isRunning) {
            $this.$isTerminating = 1;
            $this.$terminationReason = $var1;
            $this.$field_20101_t = $var2;
            $this.$isRunning = 0;
        }
        if (nms_NetworkManager_isOpen($this)) {
            a: {
                try {
                    nleit_TeaVMWebSocketClient_close($this.$webSocket0);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                    } else {
                        throw $$e;
                    }
                }
            }
            $this.$webSocket0 = null;
        }
    }
    function nms_NetworkManager_isOpen($this) {
        var var$1, var$2, var$3;
        a: {
            var$1 = $this.$webSocket0;
            if (var$1 !== null) {
                var$2 = nleit_TeaVMWebSocketClient_getState(var$1);
                nlei_EnumEaglerConnectionState_$callClinit();
                if (var$2 === nlei_EnumEaglerConnectionState_CONNECTED && $this.$webSocket0.$sockIsConnected) {
                    var$3 = 1;
                    break a;
                }
            }
            var$3 = 0;
        }
        return var$3;
    }
    var nms_FontAllowedCharacters = $rt_classWithoutFields();
    var nms_FontAllowedCharacters_allowedCharacters = null;
    var nms_FontAllowedCharacters_field_22286_b = null;
    var nms_FontAllowedCharacters_allowedChars = null;
    var nms_FontAllowedCharacters_$clinitCalled = false;
    function nms_FontAllowedCharacters_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_FontAllowedCharacters_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_FontAllowedCharacters_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_FontAllowedCharacters__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_FontAllowedCharacters_$callClinit = $rt_eraseClinit(nms_FontAllowedCharacters);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_FontAllowedCharacters__init_0() {
        var var_0 = new nms_FontAllowedCharacters();
        nms_FontAllowedCharacters__init_(var_0);
        return var_0;
    }
    function nms_FontAllowedCharacters__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_FontAllowedCharacters_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_FontAllowedCharacters_getAllowedCharacters() {
        var $var0, var$2, $var1, var$4, var$5, var$6, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var1 = $thread.pop();var$2 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_FontAllowedCharacters_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var0 = $rt_s(3);
            try {
                var$2 = $var0;
                $var1 = new ji_BufferedReader;
                var$4 = new ji_InputStreamReader;
                var$5 = $rt_cls(nms_FontAllowedCharacters);
                var$6 = $rt_s(1954);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                } else {
                    throw $$e;
                }
            }
            $var0 = var$2;
            return $var0;
        case 2:
            try {
                $tmp = jl_Class_getResourceAsStream(var$5, var$6);
                if ($rt_suspending()) {
                    break main;
                }
                var$5 = $tmp;
                var$6 = $rt_s(669);
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                } else {
                    throw $$e;
                }
            }
            $var0 = var$2;
            return $var0;
        case 3:
            try {
                ji_InputStreamReader__init_1(var$4, var$5, var$6);
                if ($rt_suspending()) {
                    break main;
                }
                ji_BufferedReader__init_($var1, var$4);
                var$2 = $var0;
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                } else {
                    throw $$e;
                }
            }
            $var0 = var$2;
            return $var0;
        case 4:
            try {
                $tmp = ji_BufferedReader_readLine($var1);
                if ($rt_suspending()) {
                    break main;
                }
                var$4 = $tmp;
                if (var$4 === null) {
                    var$2 = $var0;
                    $ptr = 5;
                    continue main;
                }
                var$2 = $var0;
                if (!jl_String_startsWith(var$4, $rt_s(464))) {
                    var$2 = $var0;
                    var$5 = jl_StringBuilder__init_0();
                    $ptr = 6;
                    continue main;
                }
                var$2 = $var0;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                } else {
                    throw $$e;
                }
            }
            $var0 = var$2;
            return $var0;
        case 5:
            a: {
                try {
                    ji_BufferedReader_close($var1);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                    } else {
                        throw $$e;
                    }
                }
                $var0 = var$2;
            }
            return $var0;
        case 6:
            try {
                $tmp = jl_StringBuilder_append(var$5, $var0);
                if ($rt_suspending()) {
                    break main;
                }
                $var0 = $tmp;
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                } else {
                    throw $$e;
                }
            }
            $var0 = var$2;
            return $var0;
        case 7:
            try {
                jl_StringBuilder_append($var0, var$4);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 8;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                } else {
                    throw $$e;
                }
            }
            $var0 = var$2;
            return $var0;
        case 8:
            try {
                $tmp = jl_StringBuilder_toString(var$5);
                if ($rt_suspending()) {
                    break main;
                }
                $var0 = $tmp;
                var$2 = $var0;
                var$2 = $var0;
                var$2 = $var0;
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                } else {
                    throw $$e;
                }
            }
            $var0 = var$2;
            return $var0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, var$2, $var1, var$4, var$5, var$6, $ptr);
    }
    function nms_FontAllowedCharacters_isAllowed($c) {
        var $i, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$i = $thread.pop();$c = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_FontAllowedCharacters_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $i = 0;
            while (true) {
                var$3 = nms_FontAllowedCharacters_allowedChars.data;
                if ($i >= var$3.length)
                    return (-1);
                if ($c == var$3[$i])
                    break;
                $i = $i + 1 | 0;
            }
            return $i;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($c, $i, var$3, $ptr);
    }
    function nms_FontAllowedCharacters__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_FontAllowedCharacters_getAllowedCharacters();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nms_FontAllowedCharacters_allowedCharacters = var$1;
            nms_FontAllowedCharacters_field_22286_b = $rt_createCharArrayFromData([47, 10, 13, 9, 0, 12, 96, 63, 42, 92, 60, 62, 124, 34, 58]);
            nms_FontAllowedCharacters_allowedChars = $rt_createIntArrayFromData([32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 39, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 8962, 199, 252, 233, 226,
            228, 224, 229, 231, 234, 235, 232, 239, 238, 236, 196, 197, 201, 230, 198, 244, 246, 242, 251, 249, 255, 214, 220, 248, 163, 216, 215, 402, 225, 237, 243, 250, 241, 209, 170, 186, 191, 174, 172, 189, 188, 161, 171, 187]);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    var ji_UTFDataFormatException = $rt_classWithoutFields(ji_IOException);
    function ji_UTFDataFormatException__init_1() {
        var var_0 = new ji_UTFDataFormatException();
        ji_UTFDataFormatException__init_(var_0);
        return var_0;
    }
    function ji_UTFDataFormatException__init_($this) {
        jl_Throwable__init_0($this);
    }
    var nlei_PlatformInput$15 = $rt_classWithoutFields();
    function nlei_PlatformInput$15__init_0() {
        var var_0 = new nlei_PlatformInput$15();
        nlei_PlatformInput$15__init_(var_0);
        return var_0;
    }
    function nlei_PlatformInput$15__init_($this) {}
    function nlei_PlatformInput$15_onTimer$exported$0(var$0) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = nlei_PlatformInput_canvas;
            $ptr = 1;
        case 1:
            nlei_PlatformInput_callRequestPointerLock(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, $ptr);
    }
    function nms_EntityCreature() {
        var a = this; nms_EntityLiving.call(a);
        a.$pathToEntity = null;
        a.$playerToAttack = null;
        a.$hasAttacked = 0;
    }
    function nms_EntityCreature__init_0(var_0) {
        var var_1 = new nms_EntityCreature();
        nms_EntityCreature__init_(var_1, var_0);
        return var_1;
    }
    function nms_EntityCreature__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$hasAttacked = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityCreature_func_25028_d_($this) {
        return 0;
    }
    function nms_EntityCreature_updatePlayerActionState($this) {
        var $var21, $var1, $var25, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var22, var$14, $var23, $var24, $var26, $var12, $var27, $var28, $var14, $var15, $var20, $var16, $var11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var11 = $thread.pop();$var16 = $thread.pop();$var20 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var28 = $thread.pop();$var27 = $thread.pop();$var12 = $thread.pop();$var26 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();var$14 = $thread.pop();$var22 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2
            = $thread.pop();$var25 = $thread.pop();$var1 = $thread.pop();$var21 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $this.$func_25028_d_();
            if ($rt_suspending()) {
                break main;
            }
            $var21 = $tmp;
            $this.$hasAttacked = $var21;
            $var1 = 16.0;
            $var25 = $this.$playerToAttack;
            if ($var25 === null) {
                $ptr = 2;
                continue main;
            }
            if ($var25.$isEntityAlive()) {
                $var2 = nms_Entity_getDistanceToEntity($this.$playerToAttack, $this);
                $var25 = $this.$playerToAttack;
                $ptr = 3;
                continue main;
            }
            $this.$playerToAttack = null;
            a: {
                if (!$this.$hasAttacked && $this.$playerToAttack !== null) {
                    if ($this.$pathToEntity === null)
                        break a;
                    if (!ju_Random_nextInt($this.$rand3, 20))
                        break a;
                }
                if (!$this.$hasAttacked && !(!($this.$pathToEntity === null && !ju_Random_nextInt($this.$rand3, 80)) && ju_Random_nextInt($this.$rand3, 80))) {
                    $var21 = 0;
                    $var3 = (-1);
                    $var4 = (-1);
                    $var5 = (-1);
                    $var6 = (-99999.0);
                    $var7 = 0;
                    if ($var7 < 10) {
                        $var8 = nms_MathHelper_floor_double($this.$posX + ju_Random_nextInt($this.$rand3, 13) - 6.0);
                        $var9 = nms_MathHelper_floor_double($this.$posY + ju_Random_nextInt($this.$rand3, 7) - 3.0);
                        $var10 = nms_MathHelper_floor_double($this.$posZ + ju_Random_nextInt($this.$rand3, 13) - 6.0);
                        $ptr = 10;
                        continue main;
                    }
                    if ($var21) {
                        $var25 = $this.$worldObj0;
                        $var1 = 10.0;
                        $ptr = 11;
                        continue main;
                    }
                }
                $var22 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
                $ptr = 6;
                continue main;
            }
            $var25 = $this.$worldObj0;
            var$14 = $this.$playerToAttack;
            $ptr = 9;
            continue main;
        case 2:
            $tmp = $this.$findPlayerToAttack();
            if ($rt_suspending()) {
                break main;
            }
            $var25 = $tmp;
            $this.$playerToAttack = $var25;
            if ($var25 !== null) {
                var$14 = $this.$worldObj0;
                $ptr = 4;
                continue main;
            }
            b: {
                if (!$this.$hasAttacked && $this.$playerToAttack !== null) {
                    if ($this.$pathToEntity === null)
                        break b;
                    if (!ju_Random_nextInt($this.$rand3, 20))
                        break b;
                }
                if (!$this.$hasAttacked && !(!($this.$pathToEntity === null && !ju_Random_nextInt($this.$rand3, 80)) && ju_Random_nextInt($this.$rand3, 80))) {
                    $var21 = 0;
                    $var3 = (-1);
                    $var4 = (-1);
                    $var5 = (-1);
                    $var6 = (-99999.0);
                    $var7 = 0;
                    if ($var7 < 10) {
                        $var8 = nms_MathHelper_floor_double($this.$posX + ju_Random_nextInt($this.$rand3, 13) - 6.0);
                        $var9 = nms_MathHelper_floor_double($this.$posY + ju_Random_nextInt($this.$rand3, 7) - 3.0);
                        $var10 = nms_MathHelper_floor_double($this.$posZ + ju_Random_nextInt($this.$rand3, 13) - 6.0);
                        $ptr = 10;
                        continue main;
                    }
                    if ($var21) {
                        $var25 = $this.$worldObj0;
                        $var1 = 10.0;
                        $ptr = 11;
                        continue main;
                    }
                }
                $var22 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
                $ptr = 6;
                continue main;
            }
            $var25 = $this.$worldObj0;
            var$14 = $this.$playerToAttack;
            $ptr = 9;
            continue main;
        case 3:
            $tmp = nms_EntityLiving_canEntityBeSeen($this, $var25);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = $tmp;
            if ($var21) {
                $var25 = $this.$playerToAttack;
                $ptr = 5;
                continue main;
            }
            b: {
                if (!$this.$hasAttacked && $this.$playerToAttack !== null) {
                    if ($this.$pathToEntity === null)
                        break b;
                    if (!ju_Random_nextInt($this.$rand3, 20))
                        break b;
                }
                if (!$this.$hasAttacked && !(!($this.$pathToEntity === null && !ju_Random_nextInt($this.$rand3, 80)) && ju_Random_nextInt($this.$rand3, 80))) {
                    $var21 = 0;
                    $var3 = (-1);
                    $var4 = (-1);
                    $var5 = (-1);
                    $var6 = (-99999.0);
                    $var7 = 0;
                    if ($var7 < 10) {
                        $var8 = nms_MathHelper_floor_double($this.$posX + ju_Random_nextInt($this.$rand3, 13) - 6.0);
                        $var9 = nms_MathHelper_floor_double($this.$posY + ju_Random_nextInt($this.$rand3, 7) - 3.0);
                        $var10 = nms_MathHelper_floor_double($this.$posZ + ju_Random_nextInt($this.$rand3, 13) - 6.0);
                        $ptr = 10;
                        continue main;
                    }
                    if ($var21) {
                        $var25 = $this.$worldObj0;
                        $var1 = 10.0;
                        $ptr = 11;
                        continue main;
                    }
                }
                $var22 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
                $ptr = 6;
                continue main;
            }
            $var25 = $this.$worldObj0;
            var$14 = $this.$playerToAttack;
            $ptr = 9;
            continue main;
        case 4:
            $tmp = nms_World_getPathToEntity(var$14, $this, $var25, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var25 = $tmp;
            $this.$pathToEntity = $var25;
            c: {
                if (!$this.$hasAttacked && $this.$playerToAttack !== null) {
                    if ($this.$pathToEntity === null)
                        break c;
                    if (!ju_Random_nextInt($this.$rand3, 20))
                        break c;
                }
                if (!$this.$hasAttacked && !(!($this.$pathToEntity === null && !ju_Random_nextInt($this.$rand3, 80)) && ju_Random_nextInt($this.$rand3, 80))) {
                    $var21 = 0;
                    $var3 = (-1);
                    $var4 = (-1);
                    $var5 = (-1);
                    $var6 = (-99999.0);
                    $var7 = 0;
                    if ($var7 < 10) {
                        $var8 = nms_MathHelper_floor_double($this.$posX + ju_Random_nextInt($this.$rand3, 13) - 6.0);
                        $var9 = nms_MathHelper_floor_double($this.$posY + ju_Random_nextInt($this.$rand3, 7) - 3.0);
                        $var10 = nms_MathHelper_floor_double($this.$posZ + ju_Random_nextInt($this.$rand3, 13) - 6.0);
                        $ptr = 10;
                        continue main;
                    }
                    if ($var21) {
                        $var25 = $this.$worldObj0;
                        $var1 = 10.0;
                        $ptr = 11;
                        continue main;
                    }
                }
                $var22 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
                $ptr = 6;
                continue main;
            }
            $var25 = $this.$worldObj0;
            var$14 = $this.$playerToAttack;
            $ptr = 9;
            continue main;
        case 5:
            $this.$attackEntity($var25, $var2);
            if ($rt_suspending()) {
                break main;
            }
            c: {
                if (!$this.$hasAttacked && $this.$playerToAttack !== null) {
                    if ($this.$pathToEntity === null)
                        break c;
                    if (!ju_Random_nextInt($this.$rand3, 20))
                        break c;
                }
                if (!$this.$hasAttacked && !(!($this.$pathToEntity === null && !ju_Random_nextInt($this.$rand3, 80)) && ju_Random_nextInt($this.$rand3, 80))) {
                    $var21 = 0;
                    $var3 = (-1);
                    $var4 = (-1);
                    $var5 = (-1);
                    $var6 = (-99999.0);
                    $var7 = 0;
                    if ($var7 < 10) {
                        $var8 = nms_MathHelper_floor_double($this.$posX + ju_Random_nextInt($this.$rand3, 13) - 6.0);
                        $var9 = nms_MathHelper_floor_double($this.$posY + ju_Random_nextInt($this.$rand3, 7) - 3.0);
                        $var10 = nms_MathHelper_floor_double($this.$posZ + ju_Random_nextInt($this.$rand3, 13) - 6.0);
                        $ptr = 10;
                        continue main;
                    }
                    if ($var21) {
                        $var25 = $this.$worldObj0;
                        $var1 = 10.0;
                        $ptr = 11;
                        continue main;
                    }
                }
                $var22 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
                $ptr = 6;
                continue main;
            }
            $var25 = $this.$worldObj0;
            var$14 = $this.$playerToAttack;
            $ptr = 9;
            continue main;
        case 6:
            $tmp = $this.$handleWaterMovement();
            if ($rt_suspending()) {
                break main;
            }
            $var23 = $tmp;
            $ptr = 7;
        case 7:
            $tmp = nms_Entity_handleLavaMovement($this);
            if ($rt_suspending()) {
                break main;
            }
            $var24 = $tmp;
            $this.$rotationPitch = 0.0;
            if ($this.$pathToEntity !== null && ju_Random_nextInt($this.$rand3, 100)) {
                $var25 = nms_PathEntity_getPosition($this.$pathToEntity, $this);
                $var26 = $this.$width2 * 2.0;
                $var12 = $var26 * $var26;
                while ($var25 !== null) {
                    $var26 = $this.$posX;
                    $var27 = $var25.$yCoord;
                    $var28 = $this.$posZ;
                    $var26 = $var26 - $var25.$xCoord;
                    $var27 = $var27 - $var27;
                    $var28 = $var28 - $var25.$zCoord;
                    if ($var26 * $var26 + $var27 * $var27 + $var28 * $var28 >= $var12)
                        break;
                    $var25 = $this.$pathToEntity;
                    $var25.$pathIndex = $var25.$pathIndex + 1 | 0;
                    if (!nms_PathEntity_isFinished($var25)) {
                        $var25 = nms_PathEntity_getPosition($this.$pathToEntity, $this);
                        continue;
                    }
                    $var25 = null;
                    $this.$pathToEntity = null;
                }
                $this.$isJumping = 0;
                if ($var25 !== null) {
                    $var27 = $var25.$xCoord - $this.$posX;
                    $var28 = $var25.$zCoord - $this.$posZ;
                    $var12 = $var25.$yCoord - $var22;
                    $var14 = jl_Math_atan2($var28, $var27) * 180.0 / 3.1415927410125732 - 90.0;
                    $var1 = $this.$rotationYaw;
                    $var15 = $var14 - $var1;
                    $this.$moveForward = $this.$moveSpeed;
                    while ($var15 < (-180.0)) {
                        $var15 = $var15 + 360.0;
                    }
                    while ($var15 >= 180.0) {
                        $var15 = $var15 - 360.0;
                    }
                    if ($var15 > 30.0)
                        $var15 = 30.0;
                    if ($var15 < (-30.0))
                        $var15 = (-30.0);
                    $var20 = $var1 + $var15;
                    $this.$rotationYaw = $var20;
                    if ($this.$hasAttacked) {
                        $var25 = $this.$playerToAttack;
                        if ($var25 !== null) {
                            $var16 = $var25.$posX - $this.$posX;
                            $var1 = jl_Math_atan2($var25.$posZ - $this.$posZ, $var16) * 180.0 / 3.1415927410125732 - 90.0;
                            $this.$rotationYaw = $var1;
                            $var1 = ($var20 - $var1 + 90.0) * 3.1415927410125732 / 180.0;
                            $this.$moveStrafing =  -nms_MathHelper_sin($var1) * $this.$moveForward * 1.0;
                            $this.$moveForward = nms_MathHelper_cos($var1) * $this.$moveForward * 1.0;
                        }
                    }
                    if ($var12 > 0.0)
                        $this.$isJumping = 1;
                }
                $var25 = $this.$playerToAttack;
                if ($var25 !== null)
                    nms_EntityLiving_faceEntity($this, $var25, 30.0, 30.0);
                if ($this.$isCollidedHorizontally)
                    $this.$isJumping = 1;
                if (ju_Random_nextFloat($this.$rand3) < 0.800000011920929 && !(!$var23 && !$var24))
                    $this.$isJumping = 1;
                return;
            }
            $ptr = 8;
        case 8:
            nms_EntityLiving_updatePlayerActionState($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$pathToEntity = null;
            return;
        case 9:
            $tmp = nms_World_getPathToEntity($var25, $this, var$14, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var25 = $tmp;
            $this.$pathToEntity = $var25;
            $var22 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
            $ptr = 6;
            continue main;
        case 10:
            $tmp = $this.$getBlockPathWeight($var8, $var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            if ($var11 > $var6) {
                $var21 = 1;
                $var6 = $var11;
                $var3 = $var8;
                $var4 = $var9;
                $var5 = $var10;
            }
            $var7 = $var7 + 1 | 0;
            if ($var7 >= 10) {
                if ($var21) {
                    $var25 = $this.$worldObj0;
                    $var1 = 10.0;
                    $ptr = 11;
                    continue main;
                }
                $var22 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
                $ptr = 6;
                continue main;
            }
            $var8 = nms_MathHelper_floor_double($this.$posX + ju_Random_nextInt($this.$rand3, 13) - 6.0);
            $var9 = nms_MathHelper_floor_double($this.$posY + ju_Random_nextInt($this.$rand3, 7) - 3.0);
            $var10 = nms_MathHelper_floor_double($this.$posZ + ju_Random_nextInt($this.$rand3, 13) - 6.0);
            continue main;
        case 11:
            $tmp = nms_World_getEntityPathToXYZ($var25, $this, $var3, $var4, $var5, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var25 = $tmp;
            $this.$pathToEntity = $var25;
            $var22 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var21, $var1, $var25, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var22, var$14, $var23, $var24, $var26, $var12, $var27, $var28, $var14, $var15, $var20, $var16, $var11, $ptr);
    }
    function nms_EntityCreature_attackEntity($this, $var1, $var2) {}
    function nms_EntityCreature_getBlockPathWeight($this, $var1, $var2, $var3) {
        return 0.0;
    }
    function nms_EntityCreature_findPlayerToAttack($this) {
        return null;
    }
    function nms_EntityCreature_getCanSpawnHere($this) {
        var $var1, $var2, $var3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = nms_MathHelper_floor_double($this.$posX);
            $var2 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
            $var3 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 1;
        case 1:
            $tmp = nms_EntityLiving_getCanSpawnHere($this);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (!var$4)
                return 0;
            $ptr = 2;
        case 2:
            $tmp = $this.$getBlockPathWeight($var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            return var$5 < 0.0 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $ptr);
    }
    function nms_EntityCreature_hasPath($this) {
        return $this.$pathToEntity === null ? 0 : 1;
    }
    var nms_IMobs = $rt_classWithoutFields(0);
    function nms_EntityMobs() {
        nms_EntityCreature.call(this);
        this.$attackStrength = 0;
    }
    function nms_EntityMobs__init_0(var_0) {
        var var_1 = new nms_EntityMobs();
        nms_EntityMobs__init_(var_1, var_0);
        return var_1;
    }
    function nms_EntityMobs__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityCreature__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$attackStrength = 2;
            $this.$health = 20;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityMobs_onLivingUpdate($this) {
        var $var1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = 1.0;
            $ptr = 1;
        case 1:
            $tmp = nms_Entity_getEntityBrightness($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 > 0.5)
                $this.$field_9344_ag = $this.$field_9344_ag + 2 | 0;
            $ptr = 2;
        case 2:
            nms_EntityLiving_onLivingUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityMobs_onUpdate($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_onUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$worldObj0.$difficultySetting)
                return;
            $ptr = 2;
        case 2:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntityMobs_findPlayerToAttack($this) {
        var $var1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = nms_World_getClosestPlayerToEntity($this.$worldObj0, $this, 16.0);
            if ($var1 === null) {
                $var1 = null;
                return $var1;
            }
            $ptr = 1;
        case 1:
            $tmp = nms_EntityLiving_canEntityBeSeen($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (!var$2)
                $var1 = null;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_EntityMobs_attackEntityFrom($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_EntityLiving_attackEntityFrom($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if (!$var2)
                return 0;
            if ($this.$riddenByEntity !== $var1 && $this.$ridingEntity !== $var1) {
                if ($var1 !== $this)
                    $this.$playerToAttack = $var1;
                return 1;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_EntityMobs_attackEntity($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$attackTime <= 0 && $var2 < 2.0) {
                var$3 = $var1.$boundingBox;
                var$4 = var$3.$maxY0;
                var$5 = $this.$boundingBox;
                if (var$4 > var$5.$minY0 && var$3.$minY0 < var$5.$maxY0) {
                    $this.$attackTime = 20;
                    var$6 = $this.$attackStrength;
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        case 1:
            $var1.$attackEntityFrom($this, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_EntityMobs_getBlockPathWeight($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = 0.5;
            var$5 = $this.$worldObj0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getLightBrightness(var$5, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            return var$4 - var$6;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, $ptr);
    }
    function nms_EntityMobs_writeEntityToNBT($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_writeEntityToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityMobs_readEntityFromNBT($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_readEntityFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityMobs_getCanSpawnHere($this) {
        var $var1, $var2, $var3, var$4, var$5, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = nms_MathHelper_floor_double($this.$posX);
            $var2 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
            $var3 = nms_MathHelper_floor_double($this.$posZ);
            var$4 = $this.$worldObj0;
            nms_EnumSkyBlock_$callClinit();
            var$5 = nms_EnumSkyBlock_Sky;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getSavedLightValue(var$4, var$5, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4 > ju_Random_nextInt($this.$rand3, 32))
                return 0;
            var$5 = $this.$worldObj0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockLightValue(var$5, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4 > ju_Random_nextInt($this.$rand3, 8))
                return 0;
            $ptr = 3;
        case 3:
            $tmp = nms_EntityCreature_getCanSpawnHere($this);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return !$var1 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $var4, $ptr);
    }
    var nms_EntitySpider = $rt_classWithoutFields(nms_EntityMobs);
    function nms_EntitySpider__init_0(var_0) {
        var var_1 = new nms_EntitySpider();
        nms_EntitySpider__init_(var_1, var_0);
        return var_1;
    }
    function nms_EntitySpider__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityMobs__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$texture = $rt_s(1955);
            nms_Entity_setSize($this, 1.399999976158142, 0.8999999761581421);
            $this.$moveSpeed = 0.800000011920929;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntitySpider_getMountedYOffset($this) {
        return $this.$height4 * 0.75 - 0.5;
    }
    function nms_EntitySpider_canTriggerWalking($this) {
        return 0;
    }
    function nms_EntitySpider_findPlayerToAttack($this) {
        var $var1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = 1.0;
            $ptr = 1;
        case 1:
            $tmp = nms_Entity_getEntityBrightness($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 >= 0.5)
                return null;
            return nms_World_getClosestPlayerToEntity($this.$worldObj0, $this, 16.0);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntitySpider_getLivingSound($this) {
        return $rt_s(1956);
    }
    function nms_EntitySpider_getHurtSound($this) {
        return $rt_s(1956);
    }
    function nms_EntitySpider_getDeathSound($this) {
        return $rt_s(1957);
    }
    function nms_EntitySpider_attackEntity($this, $var1, $var2) {
        var $var3, $var4, $var6, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = 1.0;
            $ptr = 1;
        case 1:
            a: {
                $tmp = nms_Entity_getEntityBrightness($this, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                if ($var3 > 0.5 && !ju_Random_nextInt($this.$rand3, 100))
                    $this.$playerToAttack = null;
                else {
                    if ($var2 <= 2.0)
                        break a;
                    if ($var2 >= 6.0)
                        break a;
                    if (ju_Random_nextInt($this.$rand3, 10))
                        break a;
                    if ($this.$onGround0) {
                        $var4 = $var1.$posX - $this.$posX;
                        $var6 = $var1.$posZ - $this.$posZ;
                        var$6 = nms_MathHelper_sqrt_double($var4 * $var4 + $var6 * $var6);
                        $this.$motionX = $var4 / var$6 * 0.5 * 0.800000011920929 + $this.$motionX * 0.20000000298023224;
                        $this.$motionZ = $var6 / var$6 * 0.5 * 0.800000011920929 + $this.$motionZ * 0.20000000298023224;
                        $this.$motionY = 0.4000000059604645;
                    }
                }
                return;
            }
            $ptr = 2;
        case 2:
            nms_EntityMobs_attackEntity($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var6, var$6, $ptr);
    }
    function nms_EntitySpider_writeEntityToNBT($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_writeEntityToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntitySpider_readEntityFromNBT($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_readEntityFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntitySpider_getDropItemId($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_silk.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntitySpider_isOnLadder($this) {
        return $this.$isCollidedHorizontally;
    }
    function nms_RenderLiving() {
        var a = this; nms_Render.call(a);
        a.$mainModel = null;
        a.$renderPassModel = null;
    }
    function nms_RenderLiving__init_0(var_0, var_1) {
        var var_2 = new nms_RenderLiving();
        nms_RenderLiving__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_RenderLiving__init_($this, $var1, $var2) {
        nms_Render__init_($this);
        $this.$mainModel = $var1;
        $this.$shadowSize = $var2;
    }
    function nms_RenderLiving_doRenderLiving($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $var17, $var24, $var10, $var11, $var12, $var13, $var14, $var25, $var26, $var15, $var16, var$18, $var18, $var23, $var19, $var20, $var21, $var22, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var23 = $thread.pop();$var18 = $thread.pop();var$18 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var26 = $thread.pop();$var25 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var24 = $thread.pop();$var17 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4
            = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var17 = 2884;
            $ptr = 2;
        case 2:
            olo_GL11_glDisable($var17);
            if ($rt_suspending()) {
                break main;
            }
            $this.$mainModel.$onGround = nms_EntityLiving_getSwingProgress($var1, $var9);
            $var24 = $this.$mainModel;
            $ptr = 3;
        case 3:
            $tmp = nms_Entity_isRiding($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var17 = $tmp;
            $var24.$isRiding = $var17;
            $var24 = $this.$renderPassModel;
            if ($var24 !== null)
                $var24.$isRiding = $this.$mainModel.$isRiding;
            try {
                $var8 = $var1.$prevRenderYawOffset;
                $var10 = $var8 + ($var1.$renderYawOffset - $var8) * $var9;
                $var8 = $var1.$prevRotationYaw;
                $var11 = $var8 + ($var1.$rotationYaw - $var8) * $var9;
                $var8 = $var1.$prevRotationPitch;
                $var12 = $var8 + ($var1.$rotationPitch - $var8) * $var9;
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 4:
            try {
                $this.$func_22012_b($var1, $var2, $var4, $var6);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 5;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 5:
            try {
                $tmp = $this.$func_170_d($var1, $var9);
                if ($rt_suspending()) {
                    break main;
                }
                $var13 = $tmp;
                $ptr = 6;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 6:
            try {
                $this.$func_21004_a($var1, $var13, $var10, $var9);
                if ($rt_suspending()) {
                    break main;
                }
                $var14 = 0.0625;
                $var17 = 32826;
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 7:
            try {
                olo_GL11_glEnable($var17);
                if ($rt_suspending()) {
                    break main;
                }
                $var8 = (-1.0);
                $var25 = (-1.0);
                $var26 = 1.0;
                $ptr = 8;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 8:
            try {
                olo_GL11_glScalef($var8, $var25, $var26);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 9;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 9:
            try {
                $this.$preRenderCallback($var1, $var9);
                if ($rt_suspending()) {
                    break main;
                }
                $var8 = 0.0;
                $var25 = (-1.5078125);
                $var26 = 0.0;
                $ptr = 10;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 10:
            try {
                olo_GL11_glTranslatef($var8, $var25, $var26);
                if ($rt_suspending()) {
                    break main;
                }
                $var8 = $var1.$field_705_Q;
                $var25 = $var1.$field_704_R;
                $var15 = $var8 + ($var25 - $var8) * $var9;
                $var16 = $var1.$field_703_S - $var25 * (1.0 - $var9);
                if ($var15 > 1.0)
                    $var15 = 1.0;
                $var24 = $var1.$skinUrl;
                $ptr = 15;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
        case 11:
            jl_Throwable_printStackTrace($var24);
            if ($rt_suspending()) {
                break main;
            }
            $var17 = 2884;
            $ptr = 12;
        case 12:
            olo_GL11_glEnable($var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            $this.$passSpecialRender($var1, $var2, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 15:
            try {
                $tmp = $var1.$getEntityTexture();
                if ($rt_suspending()) {
                    break main;
                }
                var$18 = $tmp;
                $ptr = 16;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 16:
            try {
                $this.$loadDownloadableImageTexture($var24, var$18);
                if ($rt_suspending()) {
                    break main;
                }
                $var17 = 3008;
                $ptr = 17;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 17:
            try {
                olo_GL11_glEnable($var17);
                if ($rt_suspending()) {
                    break main;
                }
                $var24 = $this.$mainModel;
                $ptr = 18;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 18:
            try {
                $var24.$func_25103_a($var1, $var16, $var15, $var9);
                if ($rt_suspending()) {
                    break main;
                }
                $var24 = $this.$mainModel;
                $var8 = $var11 - $var10;
                $ptr = 19;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 19:
            try {
                $var24.$render0($var16, $var15, $var13, $var8, $var12, $var14);
                if ($rt_suspending()) {
                    break main;
                }
                $var17 = 0;
                if ($var17 >= 4) {
                    $ptr = 20;
                    continue main;
                }
                $ptr = 22;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 20:
            try {
                $this.$renderEquippedItems($var1, $var9);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 21;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 21:
            try {
                $tmp = nms_Entity_getEntityBrightness($var1, $var9);
                if ($rt_suspending()) {
                    break main;
                }
                $var25 = $tmp;
                $var18 = $this.$getColorMultiplier($var1, $var25, $var9);
                $var23 = $var18 >> 24 & 255;
                if ($var23 <= 0 && $var1.$hurtTime <= 0 && $var1.$deathTime <= 0) {
                    $var17 = 32826;
                    $ptr = 33;
                    continue main;
                }
                $var17 = 3553;
                $ptr = 23;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 22:
            try {
                $tmp = $this.$shouldRenderPass($var1, $var17, $var9);
                if ($rt_suspending()) {
                    break main;
                }
                $var18 = $tmp;
                if ($var18) {
                    $var24 = $this.$renderPassModel;
                    $ptr = 28;
                    continue main;
                }
                $var17 = $var17 + 1 | 0;
                if ($var17 >= 4) {
                    $ptr = 20;
                    continue main;
                }
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 23:
            try {
                olo_GL11_glDisable($var17);
                if ($rt_suspending()) {
                    break main;
                }
                $var17 = 3008;
                $ptr = 24;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 24:
            try {
                olo_GL11_glDisable($var17);
                if ($rt_suspending()) {
                    break main;
                }
                $var17 = 3042;
                $ptr = 25;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 25:
            try {
                olo_GL11_glEnable($var17);
                if ($rt_suspending()) {
                    break main;
                }
                $var19 = 770;
                $var17 = 771;
                $ptr = 26;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 26:
            try {
                olo_GL11_glBlendFunc($var19, $var17);
                if ($rt_suspending()) {
                    break main;
                }
                $var17 = 514;
                $ptr = 27;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 27:
            try {
                olo_GL11_glDepthFunc($var17);
                if ($rt_suspending()) {
                    break main;
                }
                if ($var1.$hurtTime <= 0 && $var1.$deathTime <= 0) {
                    if ($var23 <= 0) {
                        $var17 = 515;
                        $ptr = 35;
                        continue main;
                    }
                    $var26 = ($var18 >> 16 & 255) / 255.0;
                    $var20 = ($var18 >> 8 & 255) / 255.0;
                    $var21 = ($var18 & 255) / 255.0;
                    $var22 = $var23 / 255.0;
                    $ptr = 39;
                    continue main;
                }
                $var26 = 0.0;
                $var10 = 0.0;
                $var11 = 0.4000000059604645;
                $ptr = 31;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 28:
            try {
                $var24.$render0($var16, $var15, $var13, $var8, $var12, $var14);
                if ($rt_suspending()) {
                    break main;
                }
                $var18 = 3042;
                $ptr = 29;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 29:
            try {
                olo_GL11_glDisable($var18);
                if ($rt_suspending()) {
                    break main;
                }
                $var18 = 3008;
                $ptr = 30;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 30:
            try {
                olo_GL11_glEnable($var18);
                if ($rt_suspending()) {
                    break main;
                }
                $var17 = $var17 + 1 | 0;
                if ($var17 >= 4) {
                    $ptr = 20;
                    continue main;
                }
                $ptr = 22;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 31:
            try {
                olo_GL11_glColor4f($var25, $var26, $var10, $var11);
                if ($rt_suspending()) {
                    break main;
                }
                $var24 = $this.$mainModel;
                $ptr = 32;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 32:
            try {
                $var24.$render0($var16, $var15, $var13, $var8, $var12, $var14);
                if ($rt_suspending()) {
                    break main;
                }
                $var19 = 0;
                if ($var19 < 4) {
                    $ptr = 34;
                    continue main;
                }
                if ($var23 <= 0) {
                    $var17 = 515;
                    $ptr = 35;
                    continue main;
                }
                $var26 = ($var18 >> 16 & 255) / 255.0;
                $var20 = ($var18 >> 8 & 255) / 255.0;
                $var21 = ($var18 & 255) / 255.0;
                $var22 = $var23 / 255.0;
                $ptr = 39;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 33:
            a: {
                try {
                    olo_GL11_glDisable($var17);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var24 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 11;
                continue main;
            }
            $var17 = 2884;
            $ptr = 12;
            continue main;
        case 34:
            try {
                $tmp = $this.$shouldRenderPass($var1, $var19, $var9);
                if ($rt_suspending()) {
                    break main;
                }
                $var17 = $tmp;
                if ($var17) {
                    $var10 = 0.0;
                    $var11 = 0.0;
                    $var26 = 0.4000000059604645;
                    $ptr = 41;
                    continue main;
                }
                $var19 = $var19 + 1 | 0;
                if ($var19 < 4) {
                    continue main;
                }
                if ($var23 <= 0) {
                    $var17 = 515;
                    $ptr = 35;
                    continue main;
                }
                $var26 = ($var18 >> 16 & 255) / 255.0;
                $var20 = ($var18 >> 8 & 255) / 255.0;
                $var21 = ($var18 & 255) / 255.0;
                $var22 = $var23 / 255.0;
                $ptr = 39;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 35:
            try {
                olo_GL11_glDepthFunc($var17);
                if ($rt_suspending()) {
                    break main;
                }
                $var17 = 3042;
                $ptr = 36;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 36:
            try {
                olo_GL11_glDisable($var17);
                if ($rt_suspending()) {
                    break main;
                }
                $var17 = 3008;
                $ptr = 37;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 37:
            try {
                olo_GL11_glEnable($var17);
                if ($rt_suspending()) {
                    break main;
                }
                $var17 = 3553;
                $ptr = 38;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 38:
            try {
                olo_GL11_glEnable($var17);
                if ($rt_suspending()) {
                    break main;
                }
                $var17 = 32826;
                $ptr = 33;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 39:
            try {
                olo_GL11_glColor4f($var26, $var20, $var21, $var22);
                if ($rt_suspending()) {
                    break main;
                }
                $var24 = $this.$mainModel;
                $ptr = 40;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 40:
            try {
                $var24.$render0($var16, $var15, $var13, $var8, $var12, $var14);
                if ($rt_suspending()) {
                    break main;
                }
                $var23 = 0;
                if ($var23 < 4) {
                    $ptr = 43;
                    continue main;
                }
                $var17 = 515;
                $ptr = 35;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 41:
            try {
                olo_GL11_glColor4f($var25, $var10, $var11, $var26);
                if ($rt_suspending()) {
                    break main;
                }
                $var24 = $this.$renderPassModel;
                $ptr = 42;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 42:
            try {
                $var24.$render0($var16, $var15, $var13, $var8, $var12, $var14);
                if ($rt_suspending()) {
                    break main;
                }
                $var19 = $var19 + 1 | 0;
                if ($var19 < 4) {
                    $ptr = 34;
                    continue main;
                }
                if ($var23 <= 0) {
                    $var17 = 515;
                    $ptr = 35;
                    continue main;
                }
                $var26 = ($var18 >> 16 & 255) / 255.0;
                $var20 = ($var18 >> 8 & 255) / 255.0;
                $var21 = ($var18 & 255) / 255.0;
                $var22 = $var23 / 255.0;
                $ptr = 39;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 43:
            try {
                $tmp = $this.$shouldRenderPass($var1, $var23, $var9);
                if ($rt_suspending()) {
                    break main;
                }
                $var17 = $tmp;
                if ($var17) {
                    $ptr = 44;
                    continue main;
                }
                $var23 = $var23 + 1 | 0;
                if ($var23 < 4) {
                    continue main;
                }
                $var17 = 515;
                $ptr = 35;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 44:
            try {
                olo_GL11_glColor4f($var26, $var20, $var21, $var22);
                if ($rt_suspending()) {
                    break main;
                }
                $var24 = $this.$renderPassModel;
                $ptr = 45;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        case 45:
            try {
                $var24.$render0($var16, $var15, $var13, $var8, $var12, $var14);
                if ($rt_suspending()) {
                    break main;
                }
                $var23 = $var23 + 1 | 0;
                if ($var23 < 4) {
                    $ptr = 43;
                    continue main;
                }
                $var17 = 515;
                $ptr = 35;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var24 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 11;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var17, $var24, $var10, $var11, $var12, $var13, $var14, $var25, $var26, $var15, $var16, var$18, $var18, $var23, $var19, $var20, $var21, $var22, $ptr);
    }
    function nms_RenderLiving_func_22012_b($this, $var1, $var2, $var4, $var6) {
        var var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var2;
            var$6 = $var4;
            var$7 = $var6;
            $ptr = 1;
        case 1:
            olo_GL11_glTranslatef(var$5, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, var$5, var$6, var$7, $ptr);
    }
    function nms_RenderLiving_func_21004_a($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = 180.0 - $var3;
            var$6 = 0.0;
            $var2 = 1.0;
            $var3 = 0.0;
            $ptr = 1;
        case 1:
            olo_GL11_glRotatef($var5, var$6, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $var1.$deathTime;
            if (var$7 <= 0)
                return;
            $var2 = nms_MathHelper_sqrt_float((var$7 + $var4 - 1.0) / 20.0 * 1.600000023841858);
            if ($var2 > 1.0)
                $var2 = 1.0;
            $var2 = $var2 * $this.$func_172_a($var1);
            $var3 = 0.0;
            $var4 = 0.0;
            $var5 = 1.0;
            $ptr = 2;
        case 2:
            olo_GL11_glRotatef($var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, $ptr);
    }
    function nms_RenderLiving_func_167_c($this, $var1, $var2) {
        return nms_EntityLiving_getSwingProgress($var1, $var2);
    }
    function nms_RenderLiving_func_170_d($this, $var1, $var2) {
        return $var1.$ticksExisted + $var2;
    }
    function nms_RenderLiving_renderEquippedItems($this, $var1, $var2) {}
    function nms_RenderLiving_shouldRenderPass($this, $var1, $var2, $var3) {
        return 0;
    }
    function nms_RenderLiving_func_172_a($this, $var1) {
        return 90.0;
    }
    function nms_RenderLiving_getColorMultiplier($this, $var1, $var2, $var3) {
        return 0;
    }
    function nms_RenderLiving_preRenderCallback($this, $var1, $var2) {}
    function nms_RenderLiving_passSpecialRender($this, $var1, $var2, $var4, $var6) {
        var var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = nmc_Minecraft_theMinecraft;
            if (!(var$5 !== null && var$5.$gameSettings.$showDebugInfo ? 1 : 0))
                return;
            var$6 = $var1.$entityId;
            $ptr = 1;
        case 1:
            $tmp = jl_Integer_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            var$6 = 64;
            $ptr = 2;
        case 2:
            nms_RenderLiving_renderLivingLabel($this, $var1, var$5, $var2, $var4, $var6, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, var$5, var$6, $ptr);
    }
    function nms_RenderLiving_renderLivingLabel($this, $var1, $var2, $var3, $var5, $var7, $var9) {
        var $var11, $var13, var$9, $var10, var$11, var$12, $var15, $var14, $var16, var$16, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$16 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var15 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var10 = $thread.pop();var$9 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (nms_Entity_getDistanceToEntity($var1, $this.$renderManager.$livingPlayer) > $var9)
                return;
            $ptr = 1;
        case 1:
            $tmp = nms_Render_getFontRendererFromRenderManager($this);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var13 = 0.0266666691750288;
            $ptr = 2;
        case 2:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $var3 + 0.0;
            $var10 = $var5 + 2.299999952316284;
            var$11 = $var7;
            $ptr = 3;
        case 3:
            olo_GL11_glTranslatef(var$9, $var10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 0.0;
            var$9 = 1.0;
            var$11 = 0.0;
            $ptr = 4;
        case 4:
            nleo_EaglercraftGPU_glNormal3f($var10, var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$9 =  -$this.$renderManager.$playerViewY;
            var$11 = 0.0;
            var$12 = 1.0;
            $var10 = 0.0;
            $ptr = 5;
        case 5:
            olo_GL11_glRotatef(var$9, var$11, var$12, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $this.$renderManager.$playerViewX;
            var$9 = 1.0;
            var$11 = 0.0;
            var$12 = 0.0;
            $ptr = 6;
        case 6:
            olo_GL11_glRotatef($var10, var$9, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = (-0.0266666691750288);
            $ptr = 7;
        case 7:
            olo_GL11_glScalef($var10, $var10, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 2896;
            $ptr = 8;
        case 8:
            olo_GL11_glDisable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 0;
            $ptr = 9;
        case 9:
            olo_GL11_glDepthMask($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 2929;
            $ptr = 10;
        case 10:
            olo_GL11_glDisable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 3042;
            $ptr = 11;
        case 11:
            olo_GL11_glEnable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = 770;
            $var9 = 771;
            $ptr = 12;
        case 12:
            olo_GL11_glBlendFunc($var15, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var14 = nms_Tessellator_instance;
            $var15 = 0;
            $var1 = $rt_s(1958);
            $ptr = 14;
        case 14:
            $tmp = jl_String_equals($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var9)
                $var15 = (-10);
            $var9 = 3553;
            $ptr = 15;
        case 15:
            olo_GL11_glDisable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
        case 16:
            nms_Tessellator_startDrawingQuads($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = nms_FontRenderer_getStringWidth($var11, $var2) / 2 | 0;
            $var10 = 0.0;
            $var13 = 0.0;
            var$9 = 0.0;
            var$11 = 0.25;
            $ptr = 17;
        case 17:
            nms_Tessellator_setColorRGBA_F($var14, $var10, $var13, var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = ( -$var16 | 0) - 1 | 0;
            $var5 = (-1) + $var15 | 0;
            $var7 = 0.0;
            $ptr = 18;
        case 18:
            nms_Tessellator_addVertex($var14, $var3, $var5, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 8 + $var15 | 0;
            var$16 = 0.0;
            $ptr = 19;
        case 19:
            nms_Tessellator_addVertex($var14, $var3, $var7, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var16 + 1 | 0;
            var$16 = 0.0;
            $ptr = 20;
        case 20:
            nms_Tessellator_addVertex($var14, $var3, $var7, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 0.0;
            $ptr = 21;
        case 21:
            nms_Tessellator_addVertex($var14, $var3, $var5, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 22;
        case 22:
            nms_Tessellator_draw($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 3553;
            $ptr = 23;
        case 23:
            olo_GL11_glEnable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = ( -nms_FontRenderer_getStringWidth($var11, $var2) | 0) / 2 | 0;
            $var16 = 553648127;
            $ptr = 24;
        case 24:
            nms_FontRenderer_drawString($var11, $var2, $var9, $var15, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 2929;
            $ptr = 25;
        case 25:
            olo_GL11_glEnable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 1;
            $ptr = 26;
        case 26:
            olo_GL11_glDepthMask($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = ( -nms_FontRenderer_getStringWidth($var11, $var2) | 0) / 2 | 0;
            $var16 = (-1);
            $ptr = 27;
        case 27:
            nms_FontRenderer_drawString($var11, $var2, $var9, $var15, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 2896;
            $ptr = 28;
        case 28:
            olo_GL11_glEnable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 3042;
            $ptr = 29;
        case 29:
            olo_GL11_glDisable($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 1.0;
            $var13 = 1.0;
            var$9 = 1.0;
            var$11 = 1.0;
            $ptr = 30;
        case 30:
            nleo_GlStateManager_color($var10, $var13, var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 31;
        case 31:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var5, $var7, $var9, $var11, $var13, var$9, $var10, var$11, var$12, $var15, $var14, $var16, var$16, $ptr);
    }
    function nms_RenderLiving_doRender($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            $this.$doRenderLiving($var1, $var2, $var4, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $ptr);
    }
    var nms_RenderSpider = $rt_classWithoutFields(nms_RenderLiving);
    function nms_RenderSpider__init_0() {
        var var_0 = new nms_RenderSpider();
        nms_RenderSpider__init_(var_0);
        return var_0;
    }
    function nms_RenderSpider__init_($this) {
        nms_RenderLiving__init_($this, nms_ModelSpider__init_0(), 1.0);
        $this.$renderPassModel = nms_ModelSpider__init_0();
    }
    function nms_RenderSpider_func_172_a($this, $var1) {
        return 180.0;
    }
    function nms_RenderSpider_shouldRenderPass($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            if ($var2)
                $var2 = 0;
            else {
                if (!$var2) {
                    var$4 = $rt_s(1959);
                    $ptr = 1;
                    continue main;
                }
                $var2 = 0;
            }
            return $var2;
        case 1:
            nms_Render_loadTexture($this, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 1.0;
            $var3 = 1.0;
            $ptr = 2;
        case 2:
            $tmp = nms_Entity_getEntityBrightness($var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var3 = (var$5 - $var3) * 0.5;
            $var2 = 3042;
            $ptr = 3;
        case 3:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3008;
            $ptr = 4;
        case 4:
            olo_GL11_glDisable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 770;
            var$6 = 771;
            $ptr = 5;
        case 5:
            olo_GL11_glBlendFunc($var2, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 1.0;
            var$7 = 1.0;
            var$8 = 1.0;
            $ptr = 6;
        case 6:
            nleo_GlStateManager_color(var$5, var$7, var$8, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    var nms_EntityAnimals = $rt_classWithoutFields(nms_EntityCreature);
    function nms_EntityAnimals_getBlockPathWeight($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$worldObj0;
            var$5 = $var2 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId(var$4, $var1, var$5, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$6 == nms_Block_grass.$blockID)
                return 10.0;
            var$4 = $this.$worldObj0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getLightBrightness(var$4, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            return var$7 - 0.5;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_EntityAnimals_getCanSpawnHere($this) {
        var $var1, $var2, $var3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = nms_MathHelper_floor_double($this.$posX);
            $var2 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
            $var3 = nms_MathHelper_floor_double($this.$posZ);
            var$4 = $this.$worldObj0;
            var$5 = $var2 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId(var$4, $var1, var$5, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$5 != nms_Block_grass.$blockID)
                return 0;
            var$4 = $this.$worldObj0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockLightValue(var$4, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 <= 8)
                return 0;
            $ptr = 4;
        case 4:
            $tmp = nms_EntityCreature_getCanSpawnHere($this);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            return !var$5 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $ptr);
    }
    function nms_EntityAnimals_getTalkInterval($this) {
        return 120;
    }
    var nms_EntityPig = $rt_classWithoutFields(nms_EntityAnimals);
    function nms_EntityPig__init_0(var_0) {
        var var_1 = new nms_EntityPig();
        nms_EntityPig__init_(var_1, var_0);
        return var_1;
    }
    function nms_EntityPig__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityCreature__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$texture = $rt_s(1960);
            nms_Entity_setSize($this, 0.8999999761581421, 0.8999999761581421);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityPig_entityInit($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$dataWatcher;
            var$2 = 16;
            var$3 = jl_Byte_valueOf(0);
            $ptr = 1;
        case 1:
            nms_DataWatcher_addObject(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_EntityPig_writeEntityToNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_writeEntityToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1961);
            $ptr = 2;
        case 2:
            $tmp = nms_EntityPig_getSaddled($this);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setBoolean($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityPig_readEntityFromNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_readEntityFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1961);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getBoolean($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 3;
        case 3:
            nms_EntityPig_setSaddled($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityPig_getLivingSound($this) {
        return $rt_s(1962);
    }
    function nms_EntityPig_getHurtSound($this) {
        return $rt_s(1962);
    }
    function nms_EntityPig_getDeathSound($this) {
        return $rt_s(1963);
    }
    function nms_EntityPig_interact($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            a: {
                $tmp = nms_EntityPig_getSaddled($this);
                if ($rt_suspending()) {
                    break main;
                }
                var$2 = $tmp;
                if (var$2 && !$this.$worldObj0.$multiplayerWorld) {
                    var$3 = $this.$riddenByEntity;
                    if (var$3 === null)
                        break a;
                    if (var$3 === $var1)
                        break a;
                }
                return 0;
            }
            nms_Entity_mountEntity($var1, $this);
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityPig_getDropItemId($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_porkRaw.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntityPig_getSaddled($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$dataWatcher;
            var$2 = 16;
            $ptr = 1;
        case 1:
            $tmp = nms_DataWatcher_getWatchableObjectByte(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return !(var$2 & 1) ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_EntityPig_setSaddled($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$var1) {
                var$2 = $this.$dataWatcher;
                $var1 = 16;
                var$3 = jl_Byte_valueOf(0);
                $ptr = 1;
                continue main;
            }
            var$2 = $this.$dataWatcher;
            $var1 = 16;
            var$3 = jl_Byte_valueOf(1);
            $ptr = 2;
            continue main;
        case 1:
            nms_DataWatcher_updateObject(var$2, $var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nms_DataWatcher_updateObject(var$2, $var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    var nms_RenderPig = $rt_classWithoutFields(nms_RenderLiving);
    function nms_RenderPig_shouldRenderPass($this, $var1, $var2, $var3) {
        var var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            var$4 = $rt_s(1964);
            $ptr = 1;
        case 1:
            nms_Render_loadTexture($this, var$4);
            if ($rt_suspending()) {
                break main;
            }
            if ($var2)
                return 0;
            $ptr = 2;
        case 2:
            $tmp = nms_EntityPig_getSaddled($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return !$var2 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_ModelQuadraped() {
        var a = this; nms_ModelBase.call(a);
        a.$head = null;
        a.$body = null;
        a.$leg1 = null;
        a.$leg2 = null;
        a.$leg3 = null;
        a.$leg4 = null;
    }
    function nms_ModelQuadraped__init_0(var_0, var_1) {
        var var_2 = new nms_ModelQuadraped();
        nms_ModelQuadraped__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ModelQuadraped__init_($this, $var1, $var2) {
        var var$3, var$4;
        nms_ModelBase__init_($this);
        var$3 = nms_ModelRenderer__init_(0, 0);
        $this.$head = var$3;
        nms_ModelRenderer_addBox(var$3, (-4.0), (-4.0), (-8.0), 8, 8, 8, $var2);
        nms_ModelRenderer_setPosition($this.$head, 0.0, 18 - $var1 | 0, (-6.0));
        var$3 = nms_ModelRenderer__init_(28, 8);
        $this.$body = var$3;
        nms_ModelRenderer_addBox(var$3, (-5.0), (-10.0), (-7.0), 10, 16, 8, $var2);
        nms_ModelRenderer_setPosition($this.$body, 0.0, 17 - $var1 | 0, 2.0);
        var$3 = nms_ModelRenderer__init_(0, 16);
        $this.$leg1 = var$3;
        nms_ModelRenderer_addBox(var$3, (-2.0), 0.0, (-2.0), 4, $var1, 4, $var2);
        var$3 = $this.$leg1;
        var$4 = 24 - $var1 | 0;
        nms_ModelRenderer_setPosition(var$3, (-3.0), var$4, 7.0);
        var$3 = nms_ModelRenderer__init_(0, 16);
        $this.$leg2 = var$3;
        nms_ModelRenderer_addBox(var$3, (-2.0), 0.0, (-2.0), 4, $var1, 4, $var2);
        nms_ModelRenderer_setPosition($this.$leg2, 3.0, var$4, 7.0);
        var$3 = nms_ModelRenderer__init_(0, 16);
        $this.$leg3 = var$3;
        nms_ModelRenderer_addBox(var$3, (-2.0), 0.0, (-2.0), 4, $var1, 4, $var2);
        nms_ModelRenderer_setPosition($this.$leg3, (-3.0), var$4, (-5.0));
        var$3 = nms_ModelRenderer__init_(0, 16);
        $this.$leg4 = var$3;
        nms_ModelRenderer_addBox(var$3, (-2.0), 0.0, (-2.0), 4, $var1, 4, $var2);
        nms_ModelRenderer_setPosition($this.$leg4, 3.0, var$4, (-5.0));
    }
    function nms_ModelQuadraped_render($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$setRotationAngles($var1, $var2, $var3, $var4, $var5, $var6);
            var$7 = $this.$head;
            $ptr = 1;
        case 1:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$body;
            $ptr = 2;
        case 2:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$leg1;
            $ptr = 3;
        case 3:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$leg2;
            $ptr = 4;
        case 4:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$leg3;
            $ptr = 5;
        case 5:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$leg4;
            $ptr = 6;
        case 6:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
    }
    function nms_ModelQuadraped_setRotationAngles($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7;
        var$7 = $this.$head;
        var$7.$rotateAngleX =  -($var5 / 57.2957763671875);
        var$7.$rotateAngleY = $var4 / 57.2957763671875;
        $this.$body.$rotateAngleX = 1.5707963705062866;
        var$7 = $this.$leg1;
        $var1 = $var1 * 0.6661999821662903;
        var$7.$rotateAngleX = nms_MathHelper_cos($var1) * 1.399999976158142 * $var2;
        var$7 = $this.$leg2;
        $var3 = $var1 + 3.1415927410125732;
        var$7.$rotateAngleX = nms_MathHelper_cos($var3) * 1.399999976158142 * $var2;
        $this.$leg3.$rotateAngleX = nms_MathHelper_cos($var3) * 1.399999976158142 * $var2;
        $this.$leg4.$rotateAngleX = nms_MathHelper_cos($var1) * 1.399999976158142 * $var2;
    }
    var nms_ModelPig = $rt_classWithoutFields(nms_ModelQuadraped);
    function nms_ModelPig__init_1() {
        var var_0 = new nms_ModelPig();
        nms_ModelPig__init_(var_0);
        return var_0;
    }
    function nms_ModelPig__init_($this) {
        nms_ModelQuadraped__init_($this, 6, 0.0);
    }
    var nms_EntitySheep = $rt_classWithoutFields(nms_EntityAnimals);
    var nms_EntitySheep_fleeceColorTable = null;
    function nms_EntitySheep__init_0(var_0) {
        var var_1 = new nms_EntitySheep();
        nms_EntitySheep__init_(var_1, var_0);
        return var_1;
    }
    function nms_EntitySheep__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityCreature__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$texture = $rt_s(1965);
            nms_Entity_setSize($this, 0.8999999761581421, 1.2999999523162842);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntitySheep_entityInit($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$dataWatcher;
            var$2 = 16;
            var$3 = jl_Byte__init_0(0);
            $ptr = 1;
        case 1:
            nms_DataWatcher_addObject(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_EntitySheep_attackEntityFrom($this, $var1, $var2) {
        var $var3, $var4, $var5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$worldObj0.$multiplayerWorld) {
                $ptr = 1;
                continue main;
            }
            $ptr = 2;
            continue main;
        case 1:
            $tmp = nms_EntityLiving_attackEntityFrom($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        case 2:
            $tmp = nms_EntitySheep_getSheared($this);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if (!$var3 && $var1 instanceof nms_EntityLiving) {
                $var3 = 1;
                $ptr = 3;
                continue main;
            }
            $ptr = 1;
            continue main;
        case 3:
            nms_EntitySheep_setSheared($this, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 1 + ju_Random_nextInt($this.$rand3, 3) | 0;
            $var4 = 0;
            if ($var4 >= $var3) {
                $ptr = 1;
                continue main;
            }
            $var5 = new nms_ItemStack;
            $ptr = 4;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_Block_cloth.$blockID;
            var$7 = 1;
            $ptr = 5;
        case 5:
            $tmp = nms_EntitySheep_getFleeceColor($this);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            nms_ItemStack__init_0($var5, var$6, var$7, var$8);
            var$9 = 1.0;
            $ptr = 6;
        case 6:
            $tmp = nms_Entity_entityDropItem($this, $var5, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var5.$motionY = $var5.$motionY + ju_Random_nextFloat($this.$rand3) * 0.05000000074505806;
            $var5.$motionX = $var5.$motionX + (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.10000000149011612;
            $var5.$motionZ = $var5.$motionZ + (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.10000000149011612;
            $var4 = $var4 + 1 | 0;
            if ($var4 >= $var3) {
                $ptr = 1;
                continue main;
            }
            $var5 = new nms_ItemStack;
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_EntitySheep_writeEntityToNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_writeEntityToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1966);
            $ptr = 2;
        case 2:
            $tmp = nms_EntitySheep_getSheared($this);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setBoolean($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1967);
            $ptr = 4;
        case 4:
            $tmp = nms_EntitySheep_getFleeceColor($this);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$3 = var$3 << 24 >> 24;
            $ptr = 5;
        case 5:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntitySheep_readEntityFromNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_readEntityFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1966);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getBoolean($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 3;
        case 3:
            nms_EntitySheep_setSheared($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1967);
            $ptr = 4;
        case 4:
            $tmp = nms_NBTTagCompound_getByte($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 5;
        case 5:
            nms_EntitySheep_setFleeceColor($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntitySheep_getLivingSound($this) {
        return $rt_s(1968);
    }
    function nms_EntitySheep_getHurtSound($this) {
        return $rt_s(1968);
    }
    function nms_EntitySheep_getDeathSound($this) {
        return $rt_s(1968);
    }
    function nms_EntitySheep_getFleeceColor($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$dataWatcher;
            var$2 = 16;
            $ptr = 1;
        case 1:
            $tmp = nms_DataWatcher_getWatchableObjectByte(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2 & 15;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_EntitySheep_setFleeceColor($this, $var1) {
        var var$2, $var2, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$dataWatcher;
            $var2 = 16;
            $ptr = 1;
        case 1:
            $tmp = nms_DataWatcher_getWatchableObjectByte(var$2, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$2 = $this.$dataWatcher;
            var$4 = 16;
            var$5 = jl_Byte_valueOf(($var2 & 240 | $var1 & 15) << 24 >> 24);
            $ptr = 2;
        case 2:
            nms_DataWatcher_updateObject(var$2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, var$4, var$5, $ptr);
    }
    function nms_EntitySheep_getSheared($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$dataWatcher;
            var$2 = 16;
            $ptr = 1;
        case 1:
            $tmp = nms_DataWatcher_getWatchableObjectByte(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return !(var$2 & 16) ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_EntitySheep_setSheared($this, $var1) {
        var var$2, $var2, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$dataWatcher;
            $var2 = 16;
            $ptr = 1;
        case 1:
            $tmp = nms_DataWatcher_getWatchableObjectByte(var$2, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if (!$var1) {
                var$2 = $this.$dataWatcher;
                var$4 = 16;
                var$5 = jl_Byte_valueOf(($var2 & (-17)) << 24 >> 24);
                $ptr = 2;
                continue main;
            }
            var$2 = $this.$dataWatcher;
            $var1 = 16;
            var$5 = jl_Byte_valueOf(($var2 | 16) << 24 >> 24);
            $ptr = 3;
            continue main;
        case 2:
            nms_DataWatcher_updateObject(var$2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_DataWatcher_updateObject(var$2, $var1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, var$4, var$5, $ptr);
    }
    function nms_EntitySheep__clinit_() {
        nms_EntitySheep_fleeceColorTable = $rt_createArrayFromData($rt_arraycls($rt_floatcls()), [$rt_createFloatArrayFromData([1.0, 1.0, 1.0]), $rt_createFloatArrayFromData([0.949999988079071, 0.699999988079071, 0.20000000298023224]), $rt_createFloatArrayFromData([0.8999999761581421, 0.5, 0.8500000238418579]), $rt_createFloatArrayFromData([0.6000000238418579, 0.699999988079071, 0.949999988079071]), $rt_createFloatArrayFromData([0.8999999761581421, 0.8999999761581421, 0.20000000298023224]), $rt_createFloatArrayFromData([0.5,
        0.800000011920929, 0.10000000149011612]), $rt_createFloatArrayFromData([0.949999988079071, 0.699999988079071, 0.800000011920929]), $rt_createFloatArrayFromData([0.30000001192092896, 0.30000001192092896, 0.30000001192092896]), $rt_createFloatArrayFromData([0.6000000238418579, 0.6000000238418579, 0.6000000238418579]), $rt_createFloatArrayFromData([0.30000001192092896, 0.6000000238418579, 0.699999988079071]), $rt_createFloatArrayFromData([0.699999988079071, 0.4000000059604645, 0.8999999761581421]), $rt_createFloatArrayFromData([0.20000000298023224,
        0.4000000059604645, 0.800000011920929]), $rt_createFloatArrayFromData([0.5, 0.4000000059604645, 0.30000001192092896]), $rt_createFloatArrayFromData([0.4000000059604645, 0.5, 0.20000000298023224]), $rt_createFloatArrayFromData([0.800000011920929, 0.30000001192092896, 0.30000001192092896]), $rt_createFloatArrayFromData([0.10000000149011612, 0.10000000149011612, 0.10000000149011612])]);
    }
    var nms_RenderSheep = $rt_classWithoutFields(nms_RenderLiving);
    function nms_RenderSheep_shouldRenderPass($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            if ($var2)
                return 0;
            $ptr = 1;
        case 1:
            $tmp = nms_EntitySheep_getSheared($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2)
                return 0;
            var$4 = $rt_s(1969);
            $ptr = 2;
        case 2:
            nms_Render_loadTexture($this, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = nms_Entity_getEntityBrightness($var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $ptr = 4;
        case 4:
            $tmp = nms_EntitySheep_getFleeceColor($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$5 = nms_EntitySheep_fleeceColorTable.data;
            var$6 = $var3 * var$5[$var2].data[0];
            var$7 = $var3 * var$5[$var2].data[1];
            $var3 = $var3 * var$5[$var2].data[2];
            $ptr = 5;
        case 5:
            olo_GL11_glColor3f(var$6, var$7, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, $ptr);
    }
    var nms_ModelSheep2 = $rt_classWithoutFields(nms_ModelQuadraped);
    function nms_ModelSheep2__init_0() {
        var var_0 = new nms_ModelSheep2();
        nms_ModelSheep2__init_(var_0);
        return var_0;
    }
    function nms_ModelSheep2__init_($this) {
        var var$1;
        nms_ModelQuadraped__init_($this, 12, 0.0);
        var$1 = nms_ModelRenderer__init_(0, 0);
        $this.$head = var$1;
        nms_ModelRenderer_addBox(var$1, (-3.0), (-4.0), (-6.0), 6, 6, 8, 0.0);
        nms_ModelRenderer_setPosition($this.$head, 0.0, 6.0, (-8.0));
        var$1 = nms_ModelRenderer__init_(28, 8);
        $this.$body = var$1;
        nms_ModelRenderer_addBox(var$1, (-4.0), (-10.0), (-7.0), 8, 16, 6, 0.0);
        nms_ModelRenderer_setPosition($this.$body, 0.0, 5.0, 2.0);
    }
    var nms_ModelSheep1 = $rt_classWithoutFields(nms_ModelQuadraped);
    function nms_ModelSheep1__init_0() {
        var var_0 = new nms_ModelSheep1();
        nms_ModelSheep1__init_(var_0);
        return var_0;
    }
    function nms_ModelSheep1__init_($this) {
        var var$1;
        nms_ModelQuadraped__init_($this, 12, 0.0);
        var$1 = nms_ModelRenderer__init_(0, 0);
        $this.$head = var$1;
        nms_ModelRenderer_addBox(var$1, (-3.0), (-4.0), (-4.0), 6, 6, 6, 0.6000000238418579);
        nms_ModelRenderer_setPosition($this.$head, 0.0, 6.0, (-8.0));
        var$1 = nms_ModelRenderer__init_(28, 8);
        $this.$body = var$1;
        nms_ModelRenderer_addBox(var$1, (-4.0), (-10.0), (-7.0), 8, 16, 6, 1.75);
        nms_ModelRenderer_setPosition($this.$body, 0.0, 5.0, 2.0);
        var$1 = nms_ModelRenderer__init_(0, 16);
        $this.$leg1 = var$1;
        nms_ModelRenderer_addBox(var$1, (-2.0), 0.0, (-2.0), 4, 6, 4, 0.5);
        nms_ModelRenderer_setPosition($this.$leg1, (-3.0), 12.0, 7.0);
        var$1 = nms_ModelRenderer__init_(0, 16);
        $this.$leg2 = var$1;
        nms_ModelRenderer_addBox(var$1, (-2.0), 0.0, (-2.0), 4, 6, 4, 0.5);
        nms_ModelRenderer_setPosition($this.$leg2, 3.0, 12.0, 7.0);
        var$1 = nms_ModelRenderer__init_(0, 16);
        $this.$leg3 = var$1;
        nms_ModelRenderer_addBox(var$1, (-2.0), 0.0, (-2.0), 4, 6, 4, 0.5);
        nms_ModelRenderer_setPosition($this.$leg3, (-3.0), 12.0, (-5.0));
        var$1 = nms_ModelRenderer__init_(0, 16);
        $this.$leg4 = var$1;
        nms_ModelRenderer_addBox(var$1, (-2.0), 0.0, (-2.0), 4, 6, 4, 0.5);
        nms_ModelRenderer_setPosition($this.$leg4, 3.0, 12.0, (-5.0));
    }
    var nms_EntityCow = $rt_classWithoutFields(nms_EntityAnimals);
    function nms_EntityCow__init_0(var_0) {
        var var_1 = new nms_EntityCow();
        nms_EntityCow__init_(var_1, var_0);
        return var_1;
    }
    function nms_EntityCow__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityCreature__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$texture = $rt_s(1970);
            nms_Entity_setSize($this, 0.8999999761581421, 1.2999999523162842);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityCow_writeEntityToNBT($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_writeEntityToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityCow_readEntityFromNBT($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_readEntityFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityCow_getLivingSound($this) {
        return $rt_s(1971);
    }
    function nms_EntityCow_getHurtSound($this) {
        return $rt_s(1972);
    }
    function nms_EntityCow_getDeathSound($this) {
        return $rt_s(1972);
    }
    function nms_EntityCow_getSoundVolume($this) {
        return 0.4000000059604645;
    }
    function nms_EntityCow_getDropItemId($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_leather.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntityCow_interact($this, $var1) {
        var $var2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = nms_InventoryPlayer_getCurrentItem($var1.$inventory);
            if ($var2 === null)
                return 0;
            var$3 = $var2.$itemID;
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$3 != nms_Item_bucketEmpty.$shiftedIndex)
                return 0;
            var$4 = $var1.$inventory;
            var$3 = var$4.$currentItem;
            $var1 = nms_ItemStack__init_12(nms_Item_bucketMilk);
            $ptr = 2;
        case 2:
            nms_InventoryPlayer_setInventorySlotContents(var$4, var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    var nms_RenderCow = $rt_classWithoutFields(nms_RenderLiving);
    function nms_RenderCow_doRenderLiving($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            nms_RenderLiving_doRenderLiving($this, $var1, $var2, $var4, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $ptr);
    }
    function nms_RenderCow_doRender($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            nms_RenderLiving_doRenderLiving($this, $var1, $var2, $var4, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $ptr);
    }
    function nms_ModelCow() {
        var a = this; nms_ModelQuadraped.call(a);
        a.$udders = null;
        a.$horn1 = null;
        a.$horn2 = null;
    }
    function nms_ModelCow__init_0() {
        var var_0 = new nms_ModelCow();
        nms_ModelCow__init_(var_0);
        return var_0;
    }
    function nms_ModelCow__init_($this) {
        var var$1, var$2;
        nms_ModelQuadraped__init_($this, 12, 0.0);
        var$1 = nms_ModelRenderer__init_(0, 0);
        $this.$head = var$1;
        nms_ModelRenderer_addBox(var$1, (-4.0), (-4.0), (-6.0), 8, 8, 6, 0.0);
        nms_ModelRenderer_setPosition($this.$head, 0.0, 4.0, (-8.0));
        var$1 = nms_ModelRenderer__init_(22, 0);
        $this.$horn1 = var$1;
        nms_ModelRenderer_addBox(var$1, (-4.0), (-5.0), (-4.0), 1, 3, 1, 0.0);
        nms_ModelRenderer_setPosition($this.$horn1, 0.0, 3.0, (-7.0));
        var$1 = nms_ModelRenderer__init_(22, 0);
        $this.$horn2 = var$1;
        nms_ModelRenderer_addBox(var$1, 3.0, (-5.0), (-4.0), 1, 3, 1, 0.0);
        nms_ModelRenderer_setPosition($this.$horn2, 0.0, 3.0, (-7.0));
        var$1 = nms_ModelRenderer__init_(52, 0);
        $this.$udders = var$1;
        nms_ModelRenderer_addBox(var$1, (-2.0), (-3.0), 0.0, 4, 6, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$udders, 0.0, 14.0, 6.0);
        $this.$udders.$rotateAngleX = 1.5707963705062866;
        var$1 = nms_ModelRenderer__init_(18, 4);
        $this.$body = var$1;
        nms_ModelRenderer_addBox(var$1, (-6.0), (-10.0), (-7.0), 12, 18, 10, 0.0);
        nms_ModelRenderer_setPosition($this.$body, 0.0, 5.0, 2.0);
        var$1 = $this.$leg1;
        var$1.$offsetX = var$1.$offsetX - 1.0;
        var$2 = $this.$leg2;
        var$2.$offsetX = var$2.$offsetX + 1.0;
        var$1.$offsetZ = var$1.$offsetZ + 0.0;
        var$2.$offsetZ = var$2.$offsetZ + 0.0;
        var$1 = $this.$leg3;
        var$1.$offsetX = var$1.$offsetX - 1.0;
        var$2 = $this.$leg4;
        var$2.$offsetX = var$2.$offsetX + 1.0;
        var$1.$offsetZ = var$1.$offsetZ - 1.0;
        var$2.$offsetZ = var$2.$offsetZ - 1.0;
    }
    function nms_ModelCow_render($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_ModelQuadraped_render($this, $var1, $var2, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$horn1;
            $ptr = 2;
        case 2:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$horn2;
            $ptr = 3;
        case 3:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$udders;
            $ptr = 4;
        case 4:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
    }
    function nms_ModelCow_setRotationAngles($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, var$8;
        nms_ModelQuadraped_setRotationAngles($this, $var1, $var2, $var3, $var4, $var5, $var6);
        var$7 = $this.$horn1;
        var$8 = $this.$head;
        var$7.$rotateAngleY = var$8.$rotateAngleY;
        var$7.$rotateAngleX = var$8.$rotateAngleX;
        var$7 = $this.$horn2;
        var$7.$rotateAngleY = var$8.$rotateAngleY;
        var$7.$rotateAngleX = var$8.$rotateAngleX;
    }
    function nms_EntityWolf() {
        var a = this; nms_EntityAnimals.call(a);
        a.$looksWithInterest = 0;
        a.$field_25048_b = 0.0;
        a.$field_25054_c = 0.0;
        a.$field_25053_f = 0;
        a.$field_25052_g = 0;
        a.$timeWolfIsShaking = 0.0;
        a.$field_25050_i = 0.0;
    }
    function nms_EntityWolf__init_0(var_0) {
        var var_1 = new nms_EntityWolf();
        nms_EntityWolf__init_(var_1, var_0);
        return var_1;
    }
    function nms_EntityWolf__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityCreature__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$looksWithInterest = 0;
            $this.$texture = $rt_s(1973);
            nms_Entity_setSize($this, 0.800000011920929, 0.800000011920929);
            $this.$moveSpeed = 1.100000023841858;
            $this.$health = 8;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityWolf_entityInit($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$dataWatcher;
            var$2 = 16;
            var$3 = jl_Byte_valueOf(0);
            $ptr = 1;
        case 1:
            nms_DataWatcher_addObject(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$dataWatcher;
            var$2 = 17;
            var$3 = $rt_s(3);
            $ptr = 2;
        case 2:
            nms_DataWatcher_addObject(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$dataWatcher;
            var$2 = 18;
            var$3 = jl_Integer__init_($this.$health);
            $ptr = 3;
        case 3:
            nms_DataWatcher_addObject(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_EntityWolf_canTriggerWalking($this) {
        return 0;
    }
    function nms_EntityWolf_getEntityTexture($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_EntityWolf_isWolfTamed($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1)
                return $rt_s(1974);
            $ptr = 2;
        case 2:
            $tmp = nms_EntityWolf_isWolfAngry($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1 ? $rt_s(1975) : $this.$texture;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_EntityWolf_writeEntityToNBT($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_writeEntityToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1976);
            $ptr = 2;
        case 2:
            $tmp = nms_EntityWolf_isWolfAngry($this);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setBoolean($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(1977);
            $ptr = 4;
        case 4:
            $tmp = nms_EntityWolf_isWolfSitting($this);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 5;
        case 5:
            nms_NBTTagCompound_setBoolean($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = nms_EntityWolf_getWolfOwner($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (var$2 !== null) {
                var$2 = $rt_s(1978);
                $ptr = 7;
                continue main;
            }
            var$2 = $rt_s(1978);
            var$4 = $rt_s(3);
            $ptr = 9;
            continue main;
        case 7:
            $tmp = nms_EntityWolf_getWolfOwner($this);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 8;
        case 8:
            nms_NBTTagCompound_setString($var1, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 9:
            nms_NBTTagCompound_setString($var1, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_EntityWolf_readEntityFromNBT($this, $var1) {
        var $var2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_readEntityFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $rt_s(1976);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getBoolean($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 3;
        case 3:
            nms_EntityWolf_setWolfAngry($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $rt_s(1977);
            $ptr = 4;
        case 4:
            $tmp = nms_NBTTagCompound_getBoolean($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 5;
        case 5:
            nms_EntityWolf_setWolfSitting($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $rt_s(1978);
            $ptr = 6;
        case 6:
            $tmp = nms_NBTTagCompound_getString($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if (jl_String_length($var2) <= 0)
                return;
            $ptr = 7;
        case 7:
            nms_EntityWolf_setWolfOwner($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 1;
            $ptr = 8;
        case 8:
            nms_EntityWolf_func_25038_d($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_EntityWolf_canDespawn($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_EntityWolf_isWolfTamed($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_EntityWolf_getLivingSound($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_EntityWolf_isWolfAngry($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1)
                var$2 = $rt_s(1979);
            else {
                if (!ju_Random_nextInt($this.$rand3, 3)) {
                    $ptr = 2;
                    continue main;
                }
                var$2 = $rt_s(1980);
            }
            return var$2;
        case 2:
            $tmp = nms_EntityWolf_isWolfTamed($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1 && $this.$health < 10 ? $rt_s(1981) : $rt_s(1982);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_EntityWolf_getHurtSound($this) {
        return $rt_s(1983);
    }
    function nms_EntityWolf_getDeathSound($this) {
        return $rt_s(1984);
    }
    function nms_EntityWolf_getSoundVolume($this) {
        return 0.4000000059604645;
    }
    function nms_EntityWolf_getDropItemId($this) {
        return (-1);
    }
    function nms_EntityWolf_updatePlayerActionState($this) {
        var var$1, $var1, $var3, var$4, var$5, var$6, var$7, $var2, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var2 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityCreature_updatePlayerActionState($this);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$hasAttacked && !nms_EntityCreature_hasPath($this)) {
                $ptr = 3;
                continue main;
            }
            if ($this.$playerToAttack === null && !nms_EntityCreature_hasPath($this)) {
                $ptr = 5;
                continue main;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_Entity_handleWaterMovement($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1) {
                var$1 = 0;
                $ptr = 4;
                continue main;
            }
            if ($this.$worldObj0.$multiplayerWorld)
                return;
            $var1 = $this.$dataWatcher;
            var$1 = 18;
            $var3 = jl_Integer_valueOf($this.$health);
            $ptr = 7;
            continue main;
        case 3:
            $tmp = nms_EntityWolf_isWolfTamed($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1) {
                $var1 = $this.$worldObj0;
                $ptr = 6;
                continue main;
            }
            if ($this.$playerToAttack === null && !nms_EntityCreature_hasPath($this)) {
                $ptr = 5;
                continue main;
            }
            $ptr = 2;
            continue main;
        case 4:
            nms_EntityWolf_setWolfSitting($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$worldObj0.$multiplayerWorld)
                return;
            $var1 = $this.$dataWatcher;
            var$1 = 18;
            $var3 = jl_Integer_valueOf($this.$health);
            $ptr = 7;
            continue main;
        case 5:
            $tmp = nms_EntityWolf_isWolfTamed($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (!var$1 && !ju_Random_nextInt($this.$worldObj0.$rand2, 100)) {
                $var1 = $this.$worldObj0;
                $var3 = $rt_cls(nms_EntitySheep);
                var$4 = $this.$posX;
                var$5 = $this.$posY;
                var$6 = $this.$posZ;
                var$7 = nms_AxisAlignedBB_expand(nms_AxisAlignedBB_getBoundingBoxFromPool(var$4, var$5, var$6, var$4 + 1.0, var$5 + 1.0, var$6 + 1.0), 16.0, 4.0, 16.0);
                $ptr = 9;
                continue main;
            }
            $ptr = 2;
            continue main;
        case 6:
            $tmp = nms_EntityWolf_getWolfOwner($this);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var3 = nms_World_getPlayerEntityByName($var1, $var3);
            if ($var3 === null) {
                $ptr = 8;
                continue main;
            }
            $var2 = nms_Entity_getDistanceToEntity($var3, $this);
            if ($var2 <= 5.0) {
                $ptr = 2;
                continue main;
            }
            $var1 = $this.$worldObj0;
            var$9 = 16.0;
            $ptr = 11;
            continue main;
        case 7:
            nms_DataWatcher_updateObject($var1, var$1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            $tmp = nms_Entity_handleWaterMovement($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1) {
                $ptr = 2;
                continue main;
            }
            var$1 = 1;
            $ptr = 10;
            continue main;
        case 9:
            $tmp = nms_World_getEntitiesWithinAABB($var1, $var3, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!ju_AbstractCollection_isEmpty($var1))
                $this.$playerToAttack = ju_ArrayList_get($var1, ju_Random_nextInt($this.$worldObj0.$rand2, $var1.$size0));
            $ptr = 2;
            continue main;
        case 10:
            nms_EntityWolf_setWolfSitting($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
            continue main;
        case 11:
            a: {
                $tmp = nms_World_getPathToEntity($var1, $this, $var3, var$9);
                if ($rt_suspending()) {
                    break main;
                }
                $var1 = $tmp;
                if ($var1 === null && $var2 > 12.0) {
                    var$1 = nms_MathHelper_floor_double($var3.$posX) - 2 | 0;
                    var$10 = nms_MathHelper_floor_double($var3.$posZ) - 2 | 0;
                    var$11 = nms_MathHelper_floor_double($var3.$boundingBox.$minY0);
                    var$12 = 0;
                    var$13 = var$11 - 1 | 0;
                    var$14 = var$11 + 1 | 0;
                    while (var$12 <= 4) {
                        var$15 = 0;
                        while (var$15 <= 4) {
                            if (var$12 < 1)
                                break a;
                            if (var$15 < 1)
                                break a;
                            if (var$12 > 3)
                                break a;
                            if (var$15 > 3)
                                break a;
                            var$15 = var$15 + 1 | 0;
                        }
                        var$12 = var$12 + 1 | 0;
                    }
                } else
                    $this.$pathToEntity = $var1;
                $ptr = 2;
                continue main;
            }
            $var1 = $this.$worldObj0;
            var$16 = var$1 + var$12 | 0;
            var$17 = var$10 + var$15 | 0;
            $ptr = 12;
        case 12:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$16, var$13, var$17);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $tmp;
            if (var$18) {
                $var1 = $this.$worldObj0;
                $ptr = 13;
                continue main;
            }
            while (true) {
                var$15 = var$15 + 1 | 0;
                while (var$15 > 4) {
                    var$12 = var$12 + 1 | 0;
                    if (var$12 > 4) {
                        $ptr = 2;
                        continue main;
                    }
                    var$15 = 0;
                }
                if (var$12 < 1)
                    break;
                if (var$15 < 1)
                    break;
                if (var$12 > 3)
                    break;
                if (var$15 <= 3)
                    continue;
                else
                    break;
            }
            $var1 = $this.$worldObj0;
            var$16 = var$1 + var$12 | 0;
            var$17 = var$10 + var$15 | 0;
            continue main;
        case 13:
            $tmp = nms_World_isBlockOpaqueCube($var1, var$16, var$11, var$17);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $tmp;
            if (!var$18) {
                $var1 = $this.$worldObj0;
                $ptr = 14;
                continue main;
            }
            while (true) {
                var$15 = var$15 + 1 | 0;
                while (var$15 > 4) {
                    var$12 = var$12 + 1 | 0;
                    if (var$12 > 4) {
                        $ptr = 2;
                        continue main;
                    }
                    var$15 = 0;
                }
                if (var$12 < 1)
                    break;
                if (var$15 < 1)
                    break;
                if (var$12 > 3)
                    break;
                if (var$15 <= 3)
                    continue;
                else
                    break;
            }
            $var1 = $this.$worldObj0;
            var$16 = var$1 + var$12 | 0;
            var$17 = var$10 + var$15 | 0;
            $ptr = 12;
            continue main;
        case 14:
            a: {
                $tmp = nms_World_isBlockOpaqueCube($var1, var$16, var$14, var$17);
                if ($rt_suspending()) {
                    break main;
                }
                var$18 = $tmp;
                if (!var$18)
                    nms_Entity_setLocationAndAngles($this, var$16 + 0.5, var$11, var$17 + 0.5, $this.$rotationYaw, $this.$rotationPitch);
                else
                    b: while (true) {
                        var$15 = var$15 + 1 | 0;
                        while (var$15 > 4) {
                            var$12 = var$12 + 1 | 0;
                            if (var$12 > 4)
                                break b;
                            var$15 = 0;
                        }
                        if (var$12 < 1)
                            break a;
                        if (var$15 < 1)
                            break a;
                        if (var$12 > 3)
                            break a;
                        if (var$15 <= 3)
                            continue;
                        else
                            break a;
                    }
                $ptr = 2;
                continue main;
            }
            $var1 = $this.$worldObj0;
            var$16 = var$1 + var$12 | 0;
            var$17 = var$10 + var$15 | 0;
            $ptr = 12;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $var1, $var3, var$4, var$5, var$6, var$7, $var2, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, $ptr);
    }
    function nms_EntityWolf_onLivingUpdate($this) {
        var var$1, $var1, $var3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_onLivingUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$looksWithInterest = 0;
            var$1 = $this.$currentTarget === null ? 0 : 1;
            if (var$1 && !nms_EntityCreature_hasPath($this)) {
                $ptr = 2;
                continue main;
            }
            if (!$this.$field_9343_G && $this.$field_25053_f && !$this.$field_25052_g && !nms_EntityCreature_hasPath($this)) {
                $this.$field_25052_g = 1;
                $this.$timeWolfIsShaking = 0.0;
                $this.$field_25050_i = 0.0;
            }
            return;
        case 2:
            $tmp = nms_EntityWolf_isWolfAngry($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (!var$1) {
                $var1 = $this.$currentTarget;
                if ($var1 instanceof nms_EntityPlayer) {
                    $var3 = nms_InventoryPlayer_getCurrentItem($var1.$inventory);
                    if ($var3 !== null) {
                        $ptr = 3;
                        continue main;
                    }
                }
            }
            if (!$this.$field_9343_G && $this.$field_25053_f && !$this.$field_25052_g && !nms_EntityCreature_hasPath($this)) {
                $this.$field_25052_g = 1;
                $this.$timeWolfIsShaking = 0.0;
                $this.$field_25050_i = 0.0;
            }
            return;
        case 3:
            $tmp = nms_EntityWolf_isWolfTamed($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1) {
                $ptr = 4;
                continue main;
            }
            var$1 = $var3.$itemID;
            $ptr = 5;
            continue main;
        case 4:
            $tmp = nms_EntityWolf_isWolfTamed($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (!var$1) {
                if (!$this.$field_9343_G && $this.$field_25053_f && !$this.$field_25052_g && !nms_EntityCreature_hasPath($this)) {
                    $this.$field_25052_g = 1;
                    $this.$timeWolfIsShaking = 0.0;
                    $this.$field_25050_i = 0.0;
                }
                return;
            }
            $ptr = 6;
            continue main;
        case 5:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$1 == nms_Item_bone.$shiftedIndex) {
                $this.$looksWithInterest = 1;
                if (!$this.$field_9343_G && $this.$field_25053_f && !$this.$field_25052_g && !nms_EntityCreature_hasPath($this)) {
                    $this.$field_25052_g = 1;
                    $this.$timeWolfIsShaking = 0.0;
                    $this.$field_25050_i = 0.0;
                }
                return;
            }
            $ptr = 4;
            continue main;
        case 6:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_Item_itemsList.data;
            var$1 = $var3.$itemID;
            if (var$4[var$1] instanceof nms_ItemFood)
                $this.$looksWithInterest = var$4[var$1].$isWolfsFavoriteMeat;
            if (!$this.$field_9343_G && $this.$field_25053_f && !$this.$field_25052_g && !nms_EntityCreature_hasPath($this)) {
                $this.$field_25052_g = 1;
                $this.$timeWolfIsShaking = 0.0;
                $this.$field_25050_i = 0.0;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $var1, $var3, var$4, $ptr);
    }
    function nms_EntityWolf_onUpdate($this) {
        var $var1, $var2, var$3, var$4, $var5, $var4, $var3, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var3 = $thread.pop();$var4 = $thread.pop();$var5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_onUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$field_25048_b;
            $this.$field_25054_c = $var1;
            $var2 = $this.$looksWithInterest;
            if (!$var2)
                $this.$field_25048_b = $var1 + (0.0 - $var1) * 0.4000000059604645;
            else
                $this.$field_25048_b = $var1 + (1.0 - $var1) * 0.4000000059604645;
            if ($var2)
                $this.$numTicksToChaseTarget = 10;
            $ptr = 2;
        case 2:
            $tmp = nms_Entity_handleWaterMovement($this);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2) {
                $this.$field_25053_f = 1;
                $this.$field_25052_g = 0;
                $this.$timeWolfIsShaking = 0.0;
                $this.$field_25050_i = 0.0;
            } else if (!(!$this.$field_25053_f && !$this.$field_25052_g) && $this.$field_25052_g) {
                if ($this.$timeWolfIsShaking === 0.0) {
                    var$3 = $this.$worldObj0;
                    var$4 = $rt_s(1985);
                    $var5 = 0.4000000059604645;
                    $var4 = (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.20000000298023224 + 1.0;
                    $ptr = 3;
                    continue main;
                }
                $var4 = $this.$timeWolfIsShaking;
                $this.$field_25050_i = $var4;
                $this.$timeWolfIsShaking = $var4 + 0.05000000074505806;
                if ($var4 >= 2.0) {
                    $this.$field_25053_f = 0;
                    $this.$field_25052_g = 0;
                    $this.$field_25050_i = 0.0;
                    $this.$timeWolfIsShaking = 0.0;
                }
                $var4 = $this.$timeWolfIsShaking;
                if ($var4 > 0.4000000059604645) {
                    $var1 = $this.$boundingBox.$minY0;
                    $var2 = nms_MathHelper_sin(($var4 - 0.4000000059604645) * 3.1415927410125732) * 7.0 | 0;
                    $var3 = 0;
                    var$8 = $var1 + 0.800000011920929;
                    if ($var3 < $var2) {
                        $var4 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2 * 0.5;
                        $var5 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2 * 0.5;
                        var$3 = $this.$worldObj0;
                        var$4 = $rt_s(1660);
                        var$9 = $this.$posX + $var4;
                        var$10 = $this.$posZ + $var5;
                        var$11 = $this.$motionX;
                        var$12 = $this.$motionY;
                        var$13 = $this.$motionZ;
                        $ptr = 4;
                        continue main;
                    }
                }
            }
            return;
        case 3:
            nms_World_playSoundAtEntity(var$3, $this, var$4, $var5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $this.$timeWolfIsShaking;
            $this.$field_25050_i = $var4;
            $this.$timeWolfIsShaking = $var4 + 0.05000000074505806;
            if ($var4 >= 2.0) {
                $this.$field_25053_f = 0;
                $this.$field_25052_g = 0;
                $this.$field_25050_i = 0.0;
                $this.$timeWolfIsShaking = 0.0;
            }
            $var4 = $this.$timeWolfIsShaking;
            if ($var4 > 0.4000000059604645) {
                $var1 = $this.$boundingBox.$minY0;
                $var2 = nms_MathHelper_sin(($var4 - 0.4000000059604645) * 3.1415927410125732) * 7.0 | 0;
                $var3 = 0;
                var$8 = $var1 + 0.800000011920929;
                if ($var3 < $var2) {
                    $var4 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2 * 0.5;
                    $var5 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2 * 0.5;
                    var$3 = $this.$worldObj0;
                    var$4 = $rt_s(1660);
                    var$9 = $this.$posX + $var4;
                    var$10 = $this.$posZ + $var5;
                    var$11 = $this.$motionX;
                    var$12 = $this.$motionY;
                    var$13 = $this.$motionZ;
                    $ptr = 4;
                    continue main;
                }
            }
            return;
        case 4:
            nms_World_spawnParticle(var$3, var$4, var$9, var$8, var$10, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var3 + 1 | 0;
            if ($var3 >= $var2)
                return;
            $var4 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2 * 0.5;
            $var5 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2 * 0.5;
            var$3 = $this.$worldObj0;
            var$4 = $rt_s(1660);
            var$9 = $this.$posX + $var4;
            var$10 = $this.$posZ + $var5;
            var$11 = $this.$motionX;
            var$12 = $this.$motionY;
            var$13 = $this.$motionZ;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $var5, $var4, $var3, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
    }
    function nms_EntityWolf_func_25042_a($this, $var1, $var2) {
        var $var3;
        $var3 = $this.$field_25050_i;
        $var3 = ($var3 + ($this.$timeWolfIsShaking - $var3) * $var1 + $var2) / 1.7999999523162842;
        if ($var3 < 0.0)
            $var3 = 0.0;
        else if ($var3 > 1.0)
            $var3 = 1.0;
        $var1 = $var3 * 3.1415927410125732;
        return nms_MathHelper_sin($var1) * nms_MathHelper_sin($var1 * 11.0) * 0.15000000596046448 * 3.1415927410125732;
    }
    function nms_EntityWolf_getEyeHeight($this) {
        return $this.$height4 * 0.800000011920929;
    }
    function nms_EntityWolf_func_25026_x($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_EntityWolf_isWolfSitting($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1 ? 20 : 10;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_EntityWolf_func_25028_d_($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_EntityWolf_isWolfSitting($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return !var$1 && !$this.$field_25052_g ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_EntityWolf_attackEntityFrom($this, $var1, $var2) {
        var var$3, var$4, $var3, var$6, var$7, var$8, $var4, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var3 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = 0;
            $ptr = 1;
        case 1:
            nms_EntityWolf_setWolfSitting($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1 !== null && !($var1 instanceof nms_EntityPlayer) && !($var1 instanceof nms_EntityArrow))
                $var2 = ($var2 + 1 | 0) / 2 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_EntityLiving_attackEntityFrom($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if (!$var2)
                return 0;
            $ptr = 3;
        case 3:
            $tmp = nms_EntityWolf_isWolfTamed($this);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if (!$var2) {
                $ptr = 4;
                continue main;
            }
            if ($var1 !== $this && $var1 !== null) {
                $ptr = 5;
                continue main;
            }
            return 1;
        case 4:
            a: {
                $tmp = nms_EntityWolf_isWolfAngry($this);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $tmp;
                if ($var2) {
                    if ($var1 === $this)
                        break a;
                    if ($var1 === null)
                        break a;
                    $ptr = 5;
                    continue main;
                }
                if ($var1 instanceof nms_EntityPlayer) {
                    $var2 = 1;
                    $ptr = 6;
                    continue main;
                }
                if (!($var1 instanceof nms_EntityArrow))
                    var$4 = $var1;
                else {
                    var$4 = $var1.$archer;
                    if (var$4 === null)
                        var$4 = $var1;
                }
                if (var$4 instanceof nms_EntityLiving) {
                    $var1 = $this.$worldObj0;
                    $var3 = $rt_cls(nms_EntityWolf);
                    var$6 = $this.$posX;
                    var$7 = $this.$posY;
                    var$8 = $this.$posZ;
                    $var4 = nms_AxisAlignedBB_expand(nms_AxisAlignedBB_getBoundingBoxFromPool(var$6, var$7, var$8, var$6 + 1.0, var$7 + 1.0, var$8 + 1.0), 16.0, 4.0, 16.0);
                    $ptr = 9;
                    continue main;
                }
            }
            return 1;
        case 5:
            $tmp = nms_EntityWolf_isWolfTamed($this);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 && $var1 instanceof nms_EntityPlayer) {
                var$4 = $var1.$username;
                $ptr = 7;
                continue main;
            }
            $this.$playerToAttack = $var1;
            return 1;
        case 6:
            nms_EntityWolf_setWolfAngry($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$playerToAttack = $var1;
            if (!($var1 instanceof nms_EntityArrow))
                var$4 = $var1;
            else {
                var$4 = $var1.$archer;
                if (var$4 === null)
                    var$4 = $var1;
            }
            if (!(var$4 instanceof nms_EntityLiving))
                return 1;
            $var1 = $this.$worldObj0;
            $var3 = $rt_cls(nms_EntityWolf);
            var$6 = $this.$posX;
            var$7 = $this.$posY;
            var$8 = $this.$posZ;
            $var4 = nms_AxisAlignedBB_expand(nms_AxisAlignedBB_getBoundingBoxFromPool(var$6, var$7, var$8, var$6 + 1.0, var$7 + 1.0, var$8 + 1.0), 16.0, 4.0, 16.0);
            $ptr = 9;
            continue main;
        case 7:
            $tmp = nms_EntityWolf_getWolfOwner($this);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $ptr = 8;
        case 8:
            $tmp = jl_String_equals(var$4, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2)
                return 1;
            $this.$playerToAttack = $var1;
            return 1;
        case 9:
            $tmp = nms_World_getEntitiesWithinAABB($var1, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $ptr = 10;
        case 10:
            $tmp = ju_AbstractList_iterator($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!ju_AbstractList$1_hasNext($var4))
                return 1;
            $ptr = 11;
        case 11:
            $tmp = ju_AbstractList$1_next($var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var6 = $var1;
            $ptr = 12;
        case 12:
            $tmp = nms_EntityWolf_isWolfTamed($var6);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if (!$var2 && $var6.$playerToAttack === null) {
                $var6.$playerToAttack = var$4;
                if (var$4 instanceof nms_EntityPlayer) {
                    $var2 = 1;
                    $ptr = 13;
                    continue main;
                }
            }
            if (!ju_AbstractList$1_hasNext($var4))
                return 1;
            $ptr = 11;
            continue main;
        case 13:
            nms_EntityWolf_setWolfAngry($var6, $var2);
            if ($rt_suspending()) {
                break main;
            }
            if (!ju_AbstractList$1_hasNext($var4))
                return 1;
            $ptr = 11;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $var3, var$6, var$7, var$8, $var4, $var6, $ptr);
    }
    function nms_EntityWolf_findPlayerToAttack($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_EntityWolf_isWolfAngry($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return !var$1 ? null : nms_World_getClosestPlayerToEntity($this.$worldObj0, $this, 16.0);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_EntityWolf_attackEntity($this, $var1, $var2) {
        var $var8, $var5, var$5, var$6, var$7, $var3, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();$var3 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var5 = $thread.pop();$var8 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var2 > 2.0 && $var2 < 6.0 && !ju_Random_nextInt($this.$rand3, 10)) {
                if ($this.$onGround0) {
                    $var8 = $var1.$posX - $this.$posX;
                    $var5 = $var1.$posZ - $this.$posZ;
                    var$5 = nms_MathHelper_sqrt_double($var8 * $var8 + $var5 * $var5);
                    $this.$motionX = $var8 / var$5 * 0.5 * 0.800000011920929 + $this.$motionX * 0.20000000298023224;
                    $this.$motionZ = $var5 / var$5 * 0.5 * 0.800000011920929 + $this.$motionZ * 0.20000000298023224;
                    $this.$motionY = 0.4000000059604645;
                }
            } else if ($var2 < 1.5) {
                var$6 = $var1.$boundingBox;
                $var8 = var$6.$maxY0;
                var$7 = $this.$boundingBox;
                if ($var8 > var$7.$minY0 && var$6.$minY0 < var$7.$maxY0) {
                    $this.$attackTime = 20;
                    $var3 = 2;
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        case 1:
            $tmp = nms_EntityWolf_isWolfTamed($this);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9)
                $var3 = 4;
            $ptr = 2;
        case 2:
            $var1.$attackEntityFrom($this, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var8, $var5, var$5, var$6, var$7, $var3, var$9, $ptr);
    }
    function nms_EntityWolf_interact($this, $var1) {
        var $var2, var$3, var$4, $var3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = nms_InventoryPlayer_getCurrentItem($var1.$inventory);
            $ptr = 1;
        case 1:
            $tmp = nms_EntityWolf_isWolfTamed($this);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3) {
                if ($var2 !== null) {
                    $ptr = 4;
                    continue main;
                }
                $var1 = $var1.$username;
                $ptr = 2;
                continue main;
            }
            if ($var2 === null)
                return 0;
            var$3 = $var2.$itemID;
            $ptr = 5;
            continue main;
        case 2:
            $tmp = nms_EntityWolf_getWolfOwner($this);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = jl_String_equals($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return 0;
            if ($this.$worldObj0.$multiplayerWorld)
                return 1;
            $ptr = 7;
            continue main;
        case 4:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_Item_itemsList.data;
            var$3 = $var2.$itemID;
            if (var$4[var$3] instanceof nms_ItemFood && var$4[var$3].$isWolfsFavoriteMeat) {
                $var3 = $this.$dataWatcher;
                var$3 = 18;
                $ptr = 8;
                continue main;
            }
            $var1 = $var1.$username;
            $ptr = 2;
            continue main;
        case 5:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$3 != nms_Item_bone.$shiftedIndex)
                return 0;
            $ptr = 6;
        case 6:
            $tmp = nms_EntityWolf_isWolfAngry($this);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3)
                return 0;
            var$3 = $var2.$stackSize - 1 | 0;
            $var2.$stackSize = var$3;
            if (var$3 <= 0) {
                $var2 = $var1.$inventory;
                var$3 = $var2.$currentItem;
                $var3 = null;
                $ptr = 9;
                continue main;
            }
            if ($this.$worldObj0.$multiplayerWorld)
                return 1;
            if (ju_Random_nextInt($this.$rand3, 3)) {
                var$3 = 0;
                $ptr = 12;
                continue main;
            }
            var$3 = 1;
            $ptr = 13;
            continue main;
        case 7:
            $tmp = nms_EntityWolf_isWolfSitting($this);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$3 = var$3 ? 0 : 1;
            $ptr = 10;
            continue main;
        case 8:
            $tmp = nms_DataWatcher_func_25115_b($var3, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3 >= 20) {
                $var1 = $var1.$username;
                $ptr = 2;
                continue main;
            }
            var$3 = $var2.$stackSize - 1 | 0;
            $var2.$stackSize = var$3;
            if (var$3 > 0) {
                nms_EntityLiving_heal($this, nms_Item_porkRaw.$healAmount);
                return 1;
            }
            $var1 = $var1.$inventory;
            var$3 = $var1.$currentItem;
            $var2 = null;
            $ptr = 11;
            continue main;
        case 9:
            nms_InventoryPlayer_setInventorySlotContents($var2, var$3, $var3);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$worldObj0.$multiplayerWorld)
                return 1;
            if (ju_Random_nextInt($this.$rand3, 3)) {
                var$3 = 0;
                $ptr = 12;
                continue main;
            }
            var$3 = 1;
            $ptr = 13;
            continue main;
        case 10:
            nms_EntityWolf_setWolfSitting($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isJumping = 0;
            $this.$pathToEntity = null;
            return 1;
        case 11:
            nms_InventoryPlayer_setInventorySlotContents($var1, var$3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            nms_EntityLiving_heal($this, nms_Item_porkRaw.$healAmount);
            return 1;
        case 12:
            nms_EntityWolf_showHeartsOrSmokeFX($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 13:
            nms_EntityWolf_func_25038_d($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$pathToEntity = null;
            var$3 = 1;
            $ptr = 14;
        case 14:
            nms_EntityWolf_setWolfSitting($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$health = 20;
            $var1 = $var1.$username;
            $ptr = 15;
        case 15:
            nms_EntityWolf_setWolfOwner($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 1;
            $ptr = 16;
        case 16:
            nms_EntityWolf_showHeartsOrSmokeFX($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $var3, $ptr);
    }
    function nms_EntityWolf_showHeartsOrSmokeFX($this, $var1) {
        var $var2, $var3, $var4, $var6, $var8, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $rt_s(1695);
            if (!$var1)
                $var2 = $rt_s(920);
            $var3 = 0;
            if ($var3 >= 7)
                return;
            $var4 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            $var6 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            $var8 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            var$7 = $this.$worldObj0;
            var$8 = $this.$posX;
            var$9 = ju_Random_nextFloat($this.$rand3);
            var$10 = $this.$width2;
            var$11 = var$8 + var$9 * var$10 * 2.0 - var$10;
            var$12 = $this.$posY + 0.5 + ju_Random_nextFloat($this.$rand3) * $this.$height4;
            var$13 = $this.$posZ;
            var$10 = ju_Random_nextFloat($this.$rand3);
            var$9 = $this.$width2;
            var$8 = var$13 + var$10 * var$9 * 2.0 - var$9;
            $ptr = 1;
        case 1:
            nms_World_spawnParticle(var$7, $var2, var$11, var$12, var$8, $var4, $var6, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var3 + 1 | 0;
            if ($var3 >= 7)
                return;
            $var4 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            $var6 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            $var8 = ju_Random_nextGaussian($this.$rand3) * 0.02;
            var$7 = $this.$worldObj0;
            var$8 = $this.$posX;
            var$9 = ju_Random_nextFloat($this.$rand3);
            var$10 = $this.$width2;
            var$11 = var$8 + var$9 * var$10 * 2.0 - var$10;
            var$12 = $this.$posY + 0.5 + ju_Random_nextFloat($this.$rand3) * $this.$height4;
            var$13 = $this.$posZ;
            var$10 = ju_Random_nextFloat($this.$rand3);
            var$9 = $this.$width2;
            var$8 = var$13 + var$10 * var$9 * 2.0 - var$9;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var6, $var8, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
    }
    function nms_EntityWolf_handleHealthUpdate($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 == 7) {
                $var1 = 1;
                $ptr = 1;
                continue main;
            }
            if ($var1 == 6) {
                $var1 = 0;
                $ptr = 2;
                continue main;
            }
            if ($var1 == 8) {
                $this.$field_25052_g = 1;
                $this.$timeWolfIsShaking = 0.0;
                $this.$field_25050_i = 0.0;
                return;
            }
            $ptr = 3;
            continue main;
        case 1:
            nms_EntityWolf_showHeartsOrSmokeFX($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nms_EntityWolf_showHeartsOrSmokeFX($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_EntityLiving_handleHealthUpdate($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityWolf_getMaxSpawnedInChunk($this) {
        return 8;
    }
    function nms_EntityWolf_getWolfOwner($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$dataWatcher.$watchedObjects;
            var$2 = jl_Integer_valueOf(17);
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_get(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1.$watchedObject;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_EntityWolf_setWolfOwner($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$dataWatcher;
            var$3 = 17;
            $ptr = 1;
        case 1:
            nms_DataWatcher_updateObject(var$2, var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityWolf_isWolfSitting($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$dataWatcher;
            var$2 = 16;
            $ptr = 1;
        case 1:
            $tmp = nms_DataWatcher_getWatchableObjectByte(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return !(var$2 & 1) ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_EntityWolf_setWolfSitting($this, $var1) {
        var var$2, $var2, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$dataWatcher;
            $var2 = 16;
            $ptr = 1;
        case 1:
            $tmp = nms_DataWatcher_getWatchableObjectByte(var$2, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if (!$var1) {
                var$2 = $this.$dataWatcher;
                var$4 = 16;
                var$5 = jl_Byte_valueOf(($var2 & (-2)) << 24 >> 24);
                $ptr = 2;
                continue main;
            }
            var$2 = $this.$dataWatcher;
            $var1 = 16;
            var$5 = jl_Byte_valueOf(($var2 | 1) << 24 >> 24);
            $ptr = 3;
            continue main;
        case 2:
            nms_DataWatcher_updateObject(var$2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_DataWatcher_updateObject(var$2, $var1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, var$4, var$5, $ptr);
    }
    function nms_EntityWolf_isWolfAngry($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$dataWatcher;
            var$2 = 16;
            $ptr = 1;
        case 1:
            $tmp = nms_DataWatcher_getWatchableObjectByte(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return !(var$2 & 2) ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_EntityWolf_setWolfAngry($this, $var1) {
        var var$2, $var2, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$dataWatcher;
            $var2 = 16;
            $ptr = 1;
        case 1:
            $tmp = nms_DataWatcher_getWatchableObjectByte(var$2, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if (!$var1) {
                var$2 = $this.$dataWatcher;
                var$4 = 16;
                var$5 = jl_Byte_valueOf(($var2 & (-3)) << 24 >> 24);
                $ptr = 2;
                continue main;
            }
            var$2 = $this.$dataWatcher;
            $var1 = 16;
            var$5 = jl_Byte_valueOf(($var2 | 2) << 24 >> 24);
            $ptr = 3;
            continue main;
        case 2:
            nms_DataWatcher_updateObject(var$2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_DataWatcher_updateObject(var$2, $var1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, var$4, var$5, $ptr);
    }
    function nms_EntityWolf_isWolfTamed($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$dataWatcher;
            var$2 = 16;
            $ptr = 1;
        case 1:
            $tmp = nms_DataWatcher_getWatchableObjectByte(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return !(var$2 & 4) ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_EntityWolf_func_25038_d($this, $var1) {
        var var$2, $var2, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$dataWatcher;
            $var2 = 16;
            $ptr = 1;
        case 1:
            $tmp = nms_DataWatcher_getWatchableObjectByte(var$2, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if (!$var1) {
                var$2 = $this.$dataWatcher;
                var$4 = 16;
                var$5 = jl_Byte_valueOf(($var2 & (-5)) << 24 >> 24);
                $ptr = 2;
                continue main;
            }
            var$2 = $this.$dataWatcher;
            $var1 = 16;
            var$5 = jl_Byte_valueOf(($var2 | 4) << 24 >> 24);
            $ptr = 3;
            continue main;
        case 2:
            nms_DataWatcher_updateObject(var$2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_DataWatcher_updateObject(var$2, $var1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, var$4, var$5, $ptr);
    }
    var nms_RenderWolf = $rt_classWithoutFields(nms_RenderLiving);
    function nms_RenderWolf_preRenderCallback($this, $var1, $var2) {}
    function nms_RenderWolf_func_170_d($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            $tmp = nms_EntityWolf_isWolfAngry($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3)
                return 1.539380431175232;
            $ptr = 2;
        case 2:
            $tmp = nms_EntityWolf_isWolfTamed($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return 0.6283185482025146;
            $var2 = 0.550000011920929;
            var$3 = 20;
            $var1 = $var1.$dataWatcher;
            var$4 = 18;
            $ptr = 3;
        case 3:
            $tmp = nms_DataWatcher_func_25115_b($var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return ($var2 - (var$3 - var$4 | 0) * 0.019999999552965164) * 3.1415927410125732;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_RenderWolf_doRenderLiving($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            nms_RenderLiving_doRenderLiving($this, $var1, $var2, $var4, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $ptr);
    }
    function nms_RenderWolf_doRender($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            nms_RenderLiving_doRenderLiving($this, $var1, $var2, $var4, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $ptr);
    }
    function nms_ModelWolf() {
        var a = this; nms_ModelBase.call(a);
        a.$wolfHeadMain = null;
        a.$wolfBody = null;
        a.$wolfLeg1 = null;
        a.$wolfLeg2 = null;
        a.$wolfLeg3 = null;
        a.$wolfLeg4 = null;
        a.$wolfRightEar = null;
        a.$wolfLeftEar = null;
        a.$wolfSnout = null;
        a.$wolfTail = null;
        a.$wolfMane = null;
    }
    function nms_ModelWolf__init_0() {
        var var_0 = new nms_ModelWolf();
        nms_ModelWolf__init_(var_0);
        return var_0;
    }
    function nms_ModelWolf__init_($this) {
        var var$1;
        nms_ModelBase__init_($this);
        var$1 = nms_ModelRenderer__init_(0, 0);
        $this.$wolfHeadMain = var$1;
        nms_ModelRenderer_addBox(var$1, (-3.0), (-3.0), (-2.0), 6, 6, 4, 0.0);
        nms_ModelRenderer_setPosition($this.$wolfHeadMain, (-1.0), 13.5, (-7.0));
        var$1 = nms_ModelRenderer__init_(18, 14);
        $this.$wolfBody = var$1;
        nms_ModelRenderer_addBox(var$1, (-4.0), (-2.0), (-3.0), 6, 9, 6, 0.0);
        nms_ModelRenderer_setPosition($this.$wolfBody, 0.0, 14.0, 2.0);
        var$1 = nms_ModelRenderer__init_(21, 0);
        $this.$wolfMane = var$1;
        nms_ModelRenderer_addBox(var$1, (-4.0), (-3.0), (-3.0), 8, 6, 7, 0.0);
        nms_ModelRenderer_setPosition($this.$wolfMane, (-1.0), 14.0, 2.0);
        var$1 = nms_ModelRenderer__init_(0, 18);
        $this.$wolfLeg1 = var$1;
        nms_ModelRenderer_addBox(var$1, (-1.0), 0.0, (-1.0), 2, 8, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$wolfLeg1, (-2.5), 16.0, 7.0);
        var$1 = nms_ModelRenderer__init_(0, 18);
        $this.$wolfLeg2 = var$1;
        nms_ModelRenderer_addBox(var$1, (-1.0), 0.0, (-1.0), 2, 8, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$wolfLeg2, 0.5, 16.0, 7.0);
        var$1 = nms_ModelRenderer__init_(0, 18);
        $this.$wolfLeg3 = var$1;
        nms_ModelRenderer_addBox(var$1, (-1.0), 0.0, (-1.0), 2, 8, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$wolfLeg3, (-2.5), 16.0, (-4.0));
        var$1 = nms_ModelRenderer__init_(0, 18);
        $this.$wolfLeg4 = var$1;
        nms_ModelRenderer_addBox(var$1, (-1.0), 0.0, (-1.0), 2, 8, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$wolfLeg4, 0.5, 16.0, (-4.0));
        var$1 = nms_ModelRenderer__init_(9, 18);
        $this.$wolfTail = var$1;
        nms_ModelRenderer_addBox(var$1, (-1.0), 0.0, (-1.0), 2, 8, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$wolfTail, (-1.0), 12.0, 8.0);
        var$1 = nms_ModelRenderer__init_(16, 14);
        $this.$wolfRightEar = var$1;
        nms_ModelRenderer_addBox(var$1, (-3.0), (-5.0), 0.0, 2, 2, 1, 0.0);
        nms_ModelRenderer_setPosition($this.$wolfRightEar, (-1.0), 13.5, (-7.0));
        var$1 = nms_ModelRenderer__init_(16, 14);
        $this.$wolfLeftEar = var$1;
        nms_ModelRenderer_addBox(var$1, 1.0, (-5.0), 0.0, 2, 2, 1, 0.0);
        nms_ModelRenderer_setPosition($this.$wolfLeftEar, (-1.0), 13.5, (-7.0));
        var$1 = nms_ModelRenderer__init_(0, 10);
        $this.$wolfSnout = var$1;
        nms_ModelRenderer_addBox(var$1, (-2.0), 0.0, (-5.0), 3, 3, 4, 0.0);
        nms_ModelRenderer_setPosition($this.$wolfSnout, (-0.5), 13.5, (-7.0));
    }
    function nms_ModelWolf_render($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$7 = $this.$wolfHeadMain;
            $var1 =  -($var5 / 57.2957763671875);
            var$7.$rotateAngleX = $var1;
            $var2 = $var4 / 57.2957763671875;
            var$7.$rotateAngleY = $var2;
            var$8 = $this.$wolfRightEar;
            var$8.$rotateAngleY = $var2;
            var$8.$rotateAngleX = $var1;
            var$8 = $this.$wolfLeftEar;
            var$8.$rotateAngleY = var$7.$rotateAngleY;
            var$8.$rotateAngleX = var$7.$rotateAngleX;
            var$8 = $this.$wolfSnout;
            var$8.$rotateAngleY = var$7.$rotateAngleY;
            var$8.$rotateAngleX = var$7.$rotateAngleX;
            $this.$wolfTail.$rotateAngleX = $var3;
            $ptr = 1;
        case 1:
            nms_ModelRenderer_func_25122_b(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$wolfBody;
            $ptr = 2;
        case 2:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$wolfLeg1;
            $ptr = 3;
        case 3:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$wolfLeg2;
            $ptr = 4;
        case 4:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$wolfLeg3;
            $ptr = 5;
        case 5:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$wolfLeg4;
            $ptr = 6;
        case 6:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$wolfRightEar;
            $ptr = 7;
        case 7:
            nms_ModelRenderer_func_25122_b(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$wolfLeftEar;
            $ptr = 8;
        case 8:
            nms_ModelRenderer_func_25122_b(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$wolfSnout;
            $ptr = 9;
        case 9:
            nms_ModelRenderer_func_25122_b(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$wolfTail;
            $ptr = 10;
        case 10:
            nms_ModelRenderer_func_25122_b(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$wolfMane;
            $ptr = 11;
        case 11:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, $ptr);
    }
    function nms_ModelWolf_func_25103_a($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, var$7, $var6, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = $var1;
            $ptr = 1;
        case 1:
            $tmp = nms_EntityWolf_isWolfAngry($var5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6)
                $this.$wolfTail.$rotateAngleY = 0.0;
            else
                $this.$wolfTail.$rotateAngleY = nms_MathHelper_cos($var2 * 0.6661999821662903) * 1.399999976158142 * $var3;
            $ptr = 2;
        case 2:
            $tmp = nms_EntityWolf_isWolfSitting($var5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6) {
                nms_ModelRenderer_setPosition($this.$wolfMane, (-1.0), 16.0, (-3.0));
                $var1 = $this.$wolfMane;
                $var1.$rotateAngleX = 1.2566370964050293;
                $var1.$rotateAngleY = 0.0;
                nms_ModelRenderer_setPosition($this.$wolfBody, 0.0, 18.0, 0.0);
                $this.$wolfBody.$rotateAngleX = 0.7853981852531433;
                nms_ModelRenderer_setPosition($this.$wolfTail, (-1.0), 21.0, 6.0);
                nms_ModelRenderer_setPosition($this.$wolfLeg1, (-2.5), 22.0, 2.0);
                $this.$wolfLeg1.$rotateAngleX = 4.71238899230957;
                nms_ModelRenderer_setPosition($this.$wolfLeg2, 0.5, 22.0, 2.0);
                $this.$wolfLeg2.$rotateAngleX = 4.71238899230957;
                $var1 = $this.$wolfLeg3;
                $var1.$rotateAngleX = 5.811946868896484;
                nms_ModelRenderer_setPosition($var1, (-2.490000009536743), 17.0, (-4.0));
                $var1 = $this.$wolfLeg4;
                $var1.$rotateAngleX = 5.811946868896484;
                nms_ModelRenderer_setPosition($var1, 0.5099999904632568, 17.0, (-4.0));
            } else {
                nms_ModelRenderer_setPosition($this.$wolfBody, 0.0, 14.0, 2.0);
                $this.$wolfBody.$rotateAngleX = 1.5707963705062866;
                nms_ModelRenderer_setPosition($this.$wolfMane, (-1.0), 14.0, (-3.0));
                $this.$wolfMane.$rotateAngleX = $this.$wolfBody.$rotateAngleX;
                nms_ModelRenderer_setPosition($this.$wolfTail, (-1.0), 12.0, 8.0);
                nms_ModelRenderer_setPosition($this.$wolfLeg1, (-2.5), 16.0, 7.0);
                nms_ModelRenderer_setPosition($this.$wolfLeg2, 0.5, 16.0, 7.0);
                nms_ModelRenderer_setPosition($this.$wolfLeg3, (-2.5), 16.0, (-4.0));
                nms_ModelRenderer_setPosition($this.$wolfLeg4, 0.5, 16.0, (-4.0));
                $var1 = $this.$wolfLeg1;
                var$7 = $var2 * 0.6661999821662903;
                $var1.$rotateAngleX = nms_MathHelper_cos(var$7) * 1.399999976158142 * $var3;
                $var1 = $this.$wolfLeg2;
                $var2 = var$7 + 3.1415927410125732;
                $var1.$rotateAngleX = nms_MathHelper_cos($var2) * 1.399999976158142 * $var3;
                $this.$wolfLeg3.$rotateAngleX = nms_MathHelper_cos($var2) * 1.399999976158142 * $var3;
                $this.$wolfLeg4.$rotateAngleX = nms_MathHelper_cos(var$7) * 1.399999976158142 * $var3;
            }
            $var2 = $var5.$field_25054_c;
            $var6 = ($var2 + ($var5.$field_25048_b - $var2) * $var4) * 0.15000000596046448 * 3.1415927410125732 + nms_EntityWolf_func_25042_a($var5, $var4, 0.0);
            $this.$wolfHeadMain.$rotateAngleZ = $var6;
            $this.$wolfRightEar.$rotateAngleZ = $var6;
            $this.$wolfLeftEar.$rotateAngleZ = $var6;
            $this.$wolfSnout.$rotateAngleZ = $var6;
            $this.$wolfMane.$rotateAngleZ = nms_EntityWolf_func_25042_a($var5, $var4, (-0.07999999821186066));
            $this.$wolfBody.$rotateAngleZ = nms_EntityWolf_func_25042_a($var5, $var4, (-0.1599999964237213));
            $this.$wolfTail.$rotateAngleZ = nms_EntityWolf_func_25042_a($var5, $var4, (-0.20000000298023224));
            if (!$var5.$field_25053_f)
                return;
            $ptr = 3;
        case 3:
            $tmp = nms_Entity_getEntityBrightness($var5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var6 = $var5.$field_25050_i;
            $var7 = $var2 * (0.75 + ($var6 + ($var5.$timeWolfIsShaking - $var6) * $var4) / 2.0 * 0.25);
            $ptr = 4;
        case 4:
            olo_GL11_glColor3f($var7, $var7, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, $var6, $var7, $ptr);
    }
    function nms_EntityChicken() {
        var a = this; nms_EntityAnimals.call(a);
        a.$field_753_a = 0;
        a.$field_752_b = 0.0;
        a.$field_758_c = 0.0;
        a.$field_757_d = 0.0;
        a.$field_756_e = 0.0;
        a.$field_755_h = 0.0;
        a.$timeUntilNextEgg = 0;
    }
    function nms_EntityChicken__init_0(var_0) {
        var var_1 = new nms_EntityChicken();
        nms_EntityChicken__init_(var_1, var_0);
        return var_1;
    }
    function nms_EntityChicken__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityCreature__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_753_a = 0;
            $this.$field_752_b = 0.0;
            $this.$field_758_c = 0.0;
            $this.$field_755_h = 1.0;
            $this.$texture = $rt_s(1986);
            nms_Entity_setSize($this, 0.30000001192092896, 0.4000000059604645);
            $this.$health = 4;
            $this.$timeUntilNextEgg = ju_Random_nextInt($this.$rand3, 6000) + 6000 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityChicken_onLivingUpdate($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_onLivingUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$field_752_b;
            $this.$field_756_e = var$1;
            var$2 = $this.$field_758_c;
            $this.$field_757_d = var$2;
            var$3 = var$2;
            var$4 = $this.$onGround0;
            var$2 = var$3 + (!var$4 ? 4 : (-1)) * 0.3;
            $this.$field_758_c = var$2;
            if (var$2 < 0.0)
                $this.$field_758_c = 0.0;
            if ($this.$field_758_c > 1.0)
                $this.$field_758_c = 1.0;
            if (!var$4 && $this.$field_755_h < 1.0)
                $this.$field_755_h = 1.0;
            var$2 = $this.$field_755_h * 0.9;
            $this.$field_755_h = var$2;
            if (!var$4) {
                var$5 = $this.$motionY;
                if (var$5 < 0.0)
                    $this.$motionY = var$5 * 0.6;
            }
            $this.$field_752_b = var$1 + var$2 * 2.0;
            var$6 = $this.$worldObj0;
            if (!var$6.$multiplayerWorld) {
                var$4 = $this.$timeUntilNextEgg - 1 | 0;
                $this.$timeUntilNextEgg = var$4;
                if (var$4 <= 0) {
                    var$7 = $rt_s(1987);
                    var$8 = 1.0;
                    var$1 = (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.20000000298023224 + 1.0;
                    $ptr = 2;
                    continue main;
                }
            }
            return;
        case 2:
            nms_World_playSoundAtEntity(var$6, $this, var$7, var$8, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_Item_egg.$shiftedIndex;
            var$9 = 1;
            $ptr = 4;
        case 4:
            nms_Entity_dropItem($this, var$4, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $this.$timeUntilNextEgg = ju_Random_nextInt($this.$rand3, 6000) + 6000 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_EntityChicken_fall($this, $var1) {}
    function nms_EntityChicken_writeEntityToNBT($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_writeEntityToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityChicken_readEntityFromNBT($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_readEntityFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityChicken_getLivingSound($this) {
        return $rt_s(1988);
    }
    function nms_EntityChicken_getHurtSound($this) {
        return $rt_s(1989);
    }
    function nms_EntityChicken_getDeathSound($this) {
        return $rt_s(1989);
    }
    function nms_EntityChicken_getDropItemId($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_feather.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    var nms_RenderChicken = $rt_classWithoutFields(nms_RenderLiving);
    function nms_RenderChicken_func_170_d($this, $var1, $var2) {
        var var$3, var$4;
        $var1 = $var1;
        var$3 = $var1.$field_756_e;
        var$3 = var$3 + ($var1.$field_752_b - var$3) * $var2;
        var$4 = $var1.$field_757_d;
        $var2 = var$4 + ($var1.$field_758_c - var$4) * $var2;
        return (nms_MathHelper_sin(var$3) + 1.0) * $var2;
    }
    function nms_RenderChicken_doRenderLiving($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            nms_RenderLiving_doRenderLiving($this, $var1, $var2, $var4, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $ptr);
    }
    function nms_RenderChicken_doRender($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            nms_RenderLiving_doRenderLiving($this, $var1, $var2, $var4, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $ptr);
    }
    function nms_ModelChicken() {
        var a = this; nms_ModelBase.call(a);
        a.$head0 = null;
        a.$body0 = null;
        a.$rightLeg = null;
        a.$leftLeg = null;
        a.$rightWing = null;
        a.$leftWing = null;
        a.$bill = null;
        a.$chin = null;
    }
    function nms_ModelChicken__init_0() {
        var var_0 = new nms_ModelChicken();
        nms_ModelChicken__init_(var_0);
        return var_0;
    }
    function nms_ModelChicken__init_($this) {
        var var$1;
        nms_ModelBase__init_($this);
        var$1 = nms_ModelRenderer__init_(0, 0);
        $this.$head0 = var$1;
        nms_ModelRenderer_addBox(var$1, (-2.0), (-6.0), (-2.0), 4, 6, 3, 0.0);
        nms_ModelRenderer_setPosition($this.$head0, 0.0, 15.0, (-4.0));
        var$1 = nms_ModelRenderer__init_(14, 0);
        $this.$bill = var$1;
        nms_ModelRenderer_addBox(var$1, (-2.0), (-4.0), (-4.0), 4, 2, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$bill, 0.0, 15.0, (-4.0));
        var$1 = nms_ModelRenderer__init_(14, 4);
        $this.$chin = var$1;
        nms_ModelRenderer_addBox(var$1, (-1.0), (-2.0), (-3.0), 2, 2, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$chin, 0.0, 15.0, (-4.0));
        var$1 = nms_ModelRenderer__init_(0, 9);
        $this.$body0 = var$1;
        nms_ModelRenderer_addBox(var$1, (-3.0), (-4.0), (-3.0), 6, 8, 6, 0.0);
        nms_ModelRenderer_setPosition($this.$body0, 0.0, 16.0, 0.0);
        var$1 = nms_ModelRenderer__init_(26, 0);
        $this.$rightLeg = var$1;
        nms_ModelRenderer_addBox0(var$1, (-1.0), 0.0, (-3.0), 3, 5, 3);
        nms_ModelRenderer_setPosition($this.$rightLeg, (-2.0), 19.0, 1.0);
        var$1 = nms_ModelRenderer__init_(26, 0);
        $this.$leftLeg = var$1;
        nms_ModelRenderer_addBox0(var$1, (-1.0), 0.0, (-3.0), 3, 5, 3);
        nms_ModelRenderer_setPosition($this.$leftLeg, 1.0, 19.0, 1.0);
        var$1 = nms_ModelRenderer__init_(24, 13);
        $this.$rightWing = var$1;
        nms_ModelRenderer_addBox0(var$1, 0.0, 0.0, (-3.0), 1, 4, 6);
        nms_ModelRenderer_setPosition($this.$rightWing, (-4.0), 13.0, 0.0);
        var$1 = nms_ModelRenderer__init_(24, 13);
        $this.$leftWing = var$1;
        nms_ModelRenderer_addBox0(var$1, (-1.0), 0.0, (-3.0), 1, 4, 6);
        nms_ModelRenderer_setPosition($this.$leftWing, 4.0, 13.0, 0.0);
    }
    function nms_ModelChicken_render($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$7 = $this.$head0;
            $var5 =  -($var5 / 57.2957763671875);
            var$7.$rotateAngleX = $var5;
            $var4 = $var4 / 57.2957763671875;
            var$7.$rotateAngleY = $var4;
            var$8 = $this.$bill;
            var$8.$rotateAngleX = $var5;
            var$8.$rotateAngleY = $var4;
            var$8 = $this.$chin;
            var$8.$rotateAngleX = var$7.$rotateAngleX;
            var$8.$rotateAngleY = var$7.$rotateAngleY;
            $this.$body0.$rotateAngleX = 1.5707963705062866;
            var$7 = $this.$rightLeg;
            $var1 = $var1 * 0.6661999821662903;
            var$7.$rotateAngleX = nms_MathHelper_cos($var1) * 1.399999976158142 * $var2;
            $this.$leftLeg.$rotateAngleX = nms_MathHelper_cos($var1 + 3.1415927410125732) * 1.399999976158142 * $var2;
            $this.$rightWing.$rotateAngleZ = $var3;
            $this.$leftWing.$rotateAngleZ =  -$var3;
            var$7 = $this.$head0;
            $ptr = 1;
        case 1:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$bill;
            $ptr = 2;
        case 2:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$chin;
            $ptr = 3;
        case 3:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$body0;
            $ptr = 4;
        case 4:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$rightLeg;
            $ptr = 5;
        case 5:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$leftLeg;
            $ptr = 6;
        case 6:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$rightWing;
            $ptr = 7;
        case 7:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$leftWing;
            $ptr = 8;
        case 8:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, $ptr);
    }
    function nms_EntityCreeper() {
        var a = this; nms_EntityMobs.call(a);
        a.$timeSinceIgnited = 0;
        a.$lastActiveTime = 0;
    }
    function nms_EntityCreeper__init_0(var_0) {
        var var_1 = new nms_EntityCreeper();
        nms_EntityCreeper__init_(var_1, var_0);
        return var_1;
    }
    function nms_EntityCreeper__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityMobs__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$texture = $rt_s(1990);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityCreeper_entityInit($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$dataWatcher;
            var$2 = 16;
            var$3 = jl_Byte_valueOf((-1));
            $ptr = 1;
        case 1:
            nms_DataWatcher_addObject(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_EntityCreeper_writeEntityToNBT($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_writeEntityToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityCreeper_readEntityFromNBT($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_readEntityFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityCreeper_onUpdate($this) {
        var $var1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$lastActiveTime = $this.$timeSinceIgnited;
            if (!$this.$worldObj0.$multiplayerWorld) {
                $ptr = 1;
                continue main;
            }
            $ptr = 2;
            continue main;
        case 1:
            nms_EntityMobs_onUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            $tmp = nms_EntityCreeper_func_21091_q($this);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 > 0 && !$this.$timeSinceIgnited) {
                var$2 = $this.$worldObj0;
                var$3 = $rt_s(931);
                var$4 = 1.0;
                var$5 = 0.5;
                $ptr = 3;
                continue main;
            }
            $var1 = $this.$timeSinceIgnited + $var1 | 0;
            $this.$timeSinceIgnited = $var1;
            if ($var1 < 0)
                $this.$timeSinceIgnited = 0;
            if ($this.$timeSinceIgnited >= 30)
                $this.$timeSinceIgnited = 30;
            $ptr = 1;
            continue main;
        case 3:
            nms_World_playSoundAtEntity(var$2, $this, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$timeSinceIgnited + $var1 | 0;
            $this.$timeSinceIgnited = $var1;
            if ($var1 < 0)
                $this.$timeSinceIgnited = 0;
            if ($this.$timeSinceIgnited >= 30)
                $this.$timeSinceIgnited = 30;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_EntityCreeper_getHurtSound($this) {
        return $rt_s(1991);
    }
    function nms_EntityCreeper_getDeathSound($this) {
        return $rt_s(1992);
    }
    function nms_EntityCreeper_onDeath($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_onDeath($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            if (!($var1 instanceof nms_EntitySkeleton))
                return;
            $ptr = 2;
        case 2:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_Item_record13.$shiftedIndex + ju_Random_nextInt($this.$rand3, 2) | 0;
            var$3 = 1;
            $ptr = 3;
        case 3:
            nms_Entity_dropItem($this, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityCreeper_attackEntity($this, $var1, $var2) {
        var $var3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            a: {
                $tmp = nms_EntityCreeper_func_21091_q($this);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                if (!($var3 <= 0 && $var2 < 3.0)) {
                    if ($var3 <= 0)
                        break a;
                    if ($var2 >= 7.0)
                        break a;
                }
                if ($this.$timeSinceIgnited) {
                    $var3 = 1;
                    $ptr = 3;
                    continue main;
                }
                $var1 = $this.$worldObj0;
                var$4 = $rt_s(931);
                $var2 = 1.0;
                var$5 = 0.5;
                $ptr = 4;
                continue main;
            }
            $var3 = (-1);
            $ptr = 2;
        case 2:
            nms_EntityCreeper_func_21090_e($this, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $this.$timeSinceIgnited - 1 | 0;
            $this.$timeSinceIgnited = $var3;
            if ($var3 < 0)
                $this.$timeSinceIgnited = 0;
            return;
        case 3:
            nms_EntityCreeper_func_21090_e($this, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $this.$timeSinceIgnited + 1 | 0;
            $this.$timeSinceIgnited = $var3;
            if ($var3 < 30) {
                $this.$hasAttacked = 1;
                return;
            }
            $var1 = $this.$worldObj0;
            var$6 = $this.$posX;
            var$7 = $this.$posY;
            var$8 = $this.$posZ;
            $var2 = 3.0;
            $ptr = 5;
            continue main;
        case 4:
            nms_World_playSoundAtEntity($var1, $this, var$4, $var2, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 1;
            $ptr = 3;
            continue main;
        case 5:
            nms_World_createExplosion($var1, $this, var$6, var$7, var$8, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$hasAttacked = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_EntityCreeper_setCreeperFlashTime($this, $var1) {
        var var$2;
        var$2 = $this.$lastActiveTime;
        return (var$2 + ($this.$timeSinceIgnited - var$2 | 0) * $var1) / 28.0;
    }
    function nms_EntityCreeper_getDropItemId($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_gunpowder.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntityCreeper_func_21091_q($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$dataWatcher;
            var$2 = 16;
            $ptr = 1;
        case 1:
            $tmp = nms_DataWatcher_getWatchableObjectByte(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_EntityCreeper_func_21090_e($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$dataWatcher;
            var$3 = 16;
            var$4 = jl_Byte_valueOf($var1 << 24 >> 24);
            $ptr = 1;
        case 1:
            nms_DataWatcher_updateObject(var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    var nms_RenderCreeper = $rt_classWithoutFields(nms_RenderLiving);
    function nms_RenderCreeper__init_0() {
        var var_0 = new nms_RenderCreeper();
        nms_RenderCreeper__init_(var_0);
        return var_0;
    }
    function nms_RenderCreeper__init_($this) {
        nms_RenderLiving__init_($this, nms_ModelCreeper__init_0(), 0.5);
    }
    function nms_RenderCreeper_preRenderCallback($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = nms_EntityCreeper_setCreeperFlashTime($var1, $var2);
            $var2 = 1.0 + nms_MathHelper_sin(var$3 * 100.0) * var$3 * 0.009999999776482582;
            if (var$3 < 0.0)
                var$3 = 0.0;
            if (var$3 > 1.0)
                var$3 = 1.0;
            var$3 = var$3 * var$3;
            var$3 = var$3 * var$3;
            var$4 = (1.0 + var$3 * 0.4000000059604645) * $var2;
            $var2 = (1.0 + var$3 * 0.10000000149011612) / $var2;
            $ptr = 1;
        case 1:
            olo_GL11_glScalef(var$4, $var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_RenderCreeper_getColorMultiplier($this, $var1, $var2, $var3) {
        var var$4;
        $var2 = nms_EntityCreeper_setCreeperFlashTime($var1, $var3);
        if (!(($var2 * 10.0 | 0) % 2 | 0))
            var$4 = 0;
        else {
            var$4 = $var2 * 0.20000000298023224 * 255.0 | 0;
            if (var$4 < 0)
                var$4 = 0;
            if (var$4 > 255)
                var$4 = 255;
            var$4 = var$4 << 24 | 16711680 | 65280 | 255;
        }
        return var$4;
    }
    var nms_EntitySkeleton = $rt_classWithoutFields(nms_EntityMobs);
    var nms_EntitySkeleton_defaultHeldItem = null;
    var nms_EntitySkeleton_$clinitCalled = false;
    function nms_EntitySkeleton_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_EntitySkeleton_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_EntitySkeleton_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_EntitySkeleton__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_EntitySkeleton_$callClinit = $rt_eraseClinit(nms_EntitySkeleton);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_EntitySkeleton__init_0(var_0) {
        var var_1 = new nms_EntitySkeleton();
        nms_EntitySkeleton__init_(var_1, var_0);
        return var_1;
    }
    function nms_EntitySkeleton__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntitySkeleton_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_EntityMobs__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$texture = $rt_s(1993);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntitySkeleton_getLivingSound($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $rt_s(1994);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntitySkeleton_getHurtSound($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $rt_s(1995);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntitySkeleton_getDeathSound($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $rt_s(1995);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntitySkeleton_onLivingUpdate($this) {
        var $var1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!nms_World_isDaytime($this.$worldObj0)) {
                $ptr = 1;
                continue main;
            }
            $var1 = 1.0;
            $ptr = 2;
            continue main;
        case 1:
            nms_EntityMobs_onLivingUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            $tmp = nms_Entity_getEntityBrightness($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 <= 0.5) {
                $ptr = 1;
                continue main;
            }
            var$2 = $this.$worldObj0;
            var$3 = nms_MathHelper_floor_double($this.$posX);
            var$4 = nms_MathHelper_floor_double($this.$posY);
            var$5 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 3;
        case 3:
            $tmp = nms_World_canBlockSeeTheSky(var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3 && ju_Random_nextFloat($this.$rand3) * 30.0 < ($var1 - 0.4000000059604645) * 2.0)
                $this.$fire = 300;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_EntitySkeleton_attackEntity($this, $var1, $var2) {
        var $var3, $var5, $var7, var$6, var$7, $var8, $var10, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var2 < 10.0) {
                $var3 = $var1.$posX - $this.$posX;
                $var5 = $var1.$posZ - $this.$posZ;
                if (!$this.$attackTime) {
                    $var7 = new nms_EntityArrow;
                    var$6 = $this.$worldObj0;
                    $ptr = 1;
                    continue main;
                }
                $this.$rotationYaw = jl_Math_atan2($var5, $var3) * 180.0 / 3.1415927410125732 - 90.0;
                $this.$hasAttacked = 1;
            }
            return;
        case 1:
            nms_EntityArrow__init_1($var7, var$6, $this);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $var7.$posY + 1.399999976158142;
            $var7.$posY = var$7;
            $var8 = $var1.$posY - 0.20000000298023224 - var$7;
            $var10 = nms_MathHelper_sqrt_double($var3 * $var3 + $var5 * $var5) * 0.20000000298023224;
            $var1 = $this.$worldObj0;
            var$6 = $rt_s(919);
            var$10 = 1.0;
            $var2 = 1.0 / (ju_Random_nextFloat($this.$rand3) * 0.4000000059604645 + 0.800000011920929);
            $ptr = 2;
        case 2:
            nms_World_playSoundAtEntity($var1, $this, var$6, var$10, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$worldObj0;
            $ptr = 3;
        case 3:
            $var1.$entityJoinedWorld($var7);
            if ($rt_suspending()) {
                break main;
            }
            nms_EntityArrow_setArrowHeading($var7, $var3, $var8 + $var10, $var5, 0.6000000238418579, 12.0);
            $this.$attackTime = 30;
            $this.$rotationYaw = jl_Math_atan2($var5, $var3) * 180.0 / 3.1415927410125732 - 90.0;
            $this.$hasAttacked = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var5, $var7, var$6, var$7, $var8, $var10, var$10, $ptr);
    }
    function nms_EntitySkeleton_writeEntityToNBT($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_writeEntityToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntitySkeleton_readEntityFromNBT($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_readEntityFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntitySkeleton_getDropItemId($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_arrow.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntitySkeleton_dropFewItems($this) {
        var $var1, $var2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = ju_Random_nextInt($this.$rand3, 3);
            $var2 = 0;
            if ($var2 < $var1) {
                $ptr = 1;
                continue main;
            }
            $var2 = ju_Random_nextInt($this.$rand3, 3);
            var$3 = 0;
            if (var$3 >= $var2)
                return;
            $ptr = 3;
            continue main;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nms_Item_arrow.$shiftedIndex;
            var$4 = 1;
            $ptr = 2;
        case 2:
            nms_Entity_dropItem($this, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 < $var1) {
                $ptr = 1;
                continue main;
            }
            $var2 = ju_Random_nextInt($this.$rand3, 3);
            var$3 = 0;
            if (var$3 >= $var2)
                return;
            $ptr = 3;
        case 3:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_Item_bone.$shiftedIndex;
            $var1 = 1;
            $ptr = 4;
        case 4:
            nms_Entity_dropItem($this, var$4, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = var$3 + 1 | 0;
            if (var$3 >= $var2)
                return;
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_EntitySkeleton_getHeldItem($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntitySkeleton_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_EntitySkeleton_defaultHeldItem;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntitySkeleton__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nms_ItemStack;
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_1(var$1, nms_Item_bow, 1);
            nms_EntitySkeleton_defaultHeldItem = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nms_RenderBiped() {
        nms_RenderLiving.call(this);
        this.$modelBipedMain0 = null;
    }
    function nms_RenderBiped__init_0(var_0, var_1) {
        var var_2 = new nms_RenderBiped();
        nms_RenderBiped__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_RenderBiped__init_($this, $var1, $var2) {
        nms_RenderLiving__init_($this, $var1, $var2);
        $this.$modelBipedMain0 = $var1;
    }
    function nms_RenderBiped_renderEquippedItems($this, $var1, $var2) {
        var $var3, $var4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $var1.$getHeldItem();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3 === null)
                return;
            $ptr = 2;
        case 2:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$modelBipedMain0.$bipedRightArm;
            $var2 = 0.0625;
            $ptr = 3;
        case 3:
            nms_ModelRenderer_postRender($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = (-0.0625);
            var$5 = 0.4375;
            $var2 = 0.0625;
            $ptr = 4;
        case 4:
            olo_GL11_glTranslatef($var4, var$5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $var3.$itemID;
            if (var$6 >= 256) {
                $ptr = 5;
                continue main;
            }
            $ptr = 7;
            continue main;
        case 5:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Item_itemsList.data[$var3.$itemID];
            $ptr = 6;
        case 6:
            $tmp = $var1.$isFull3D();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6) {
                $var4 = 0.375;
                $var2 = 0.25;
                var$5 = 0.1875;
                var$7 = (-0.1875);
                $ptr = 9;
                continue main;
            }
            $var4 = 0.625;
            $var2 = 0.0;
            var$5 = 0.1875;
            var$7 = 0.0;
            $ptr = 14;
            continue main;
        case 7:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Block_blocksList.data[var$6];
            $ptr = 8;
        case 8:
            $tmp = $var1.$getRenderType();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!nms_RenderBlocks_renderItemIn3d(var$6)) {
                $ptr = 5;
                continue main;
            }
            $var2 = 0.0;
            $var4 = 0.1875;
            var$5 = (-0.3125);
            $ptr = 18;
            continue main;
        case 9:
            olo_GL11_glTranslatef($var2, var$5, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            olo_GL11_glScalef($var4, $var4, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 60.0;
            var$5 = 0.0;
            var$7 = 0.0;
            $var2 = 1.0;
            $ptr = 11;
        case 11:
            olo_GL11_glRotatef($var4, var$5, var$7, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-90.0);
            $var4 = 1.0;
            var$5 = 0.0;
            var$7 = 0.0;
            $ptr = 12;
        case 12:
            olo_GL11_glRotatef($var2, $var4, var$5, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 20.0;
            $var4 = 0.0;
            var$5 = 0.0;
            var$7 = 1.0;
            $ptr = 13;
        case 13:
            olo_GL11_glRotatef($var2, $var4, var$5, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$renderManager.$itemRenderer0;
            $ptr = 22;
            continue main;
        case 14:
            olo_GL11_glTranslatef($var2, var$5, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-0.625);
            $ptr = 15;
        case 15:
            olo_GL11_glScalef($var4, $var2, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-100.0);
            $var4 = 1.0;
            var$5 = 0.0;
            var$7 = 0.0;
            $ptr = 16;
        case 16:
            olo_GL11_glRotatef($var2, $var4, var$5, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 45.0;
            $var4 = 0.0;
            var$5 = 1.0;
            var$7 = 0.0;
            $ptr = 17;
        case 17:
            olo_GL11_glRotatef($var2, $var4, var$5, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$renderManager.$itemRenderer0;
            $ptr = 22;
            continue main;
        case 18:
            olo_GL11_glTranslatef($var2, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 0.375;
            $var4 = 20.0;
            var$5 = 1.0;
            var$7 = 0.0;
            var$8 = 0.0;
            $ptr = 19;
        case 19:
            olo_GL11_glRotatef($var4, var$5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 45.0;
            var$5 = 0.0;
            var$7 = 1.0;
            var$8 = 0.0;
            $ptr = 20;
        case 20:
            olo_GL11_glRotatef($var4, var$5, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = (-0.375);
            $ptr = 21;
        case 21:
            olo_GL11_glScalef($var2, $var4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$renderManager.$itemRenderer0;
            $ptr = 22;
        case 22:
            nms_ItemRenderer_renderItem($var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 23;
        case 23:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, $ptr);
    }
    var nms_ModelZombie = $rt_classWithoutFields(nms_ModelBiped);
    function nms_ModelZombie__init_0() {
        var var_0 = new nms_ModelZombie();
        nms_ModelZombie__init_(var_0);
        return var_0;
    }
    function nms_ModelZombie__init_($this) {
        nms_ModelBiped__init_($this);
    }
    function nms_ModelZombie_setRotationAngles($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var7, $var8, var$9, var$10;
        nms_ModelBiped_setRotationAngles($this, $var1, $var2, $var3, $var4, $var5, $var6);
        $var7 = nms_MathHelper_sin($this.$onGround * 3.1415927410125732);
        $var2 = 1.0 - $this.$onGround;
        $var8 = nms_MathHelper_sin((1.0 - $var2 * $var2) * 3.1415927410125732);
        var$9 = $this.$bipedRightArm;
        var$9.$rotateAngleZ = 0.0;
        var$10 = $this.$bipedLeftArm;
        var$10.$rotateAngleZ = 0.0;
        $var1 = 0.10000000149011612 - $var7 * 0.6000000238418579;
        var$9.$rotateAngleY =  -$var1;
        var$10.$rotateAngleY = $var1;
        var$9.$rotateAngleX = (-1.5707963705062866);
        var$10.$rotateAngleX = (-1.5707963705062866);
        $var1 = var$9.$rotateAngleX;
        $var2 = $var7 * 1.2000000476837158 - $var8 * 0.4000000059604645;
        var$9.$rotateAngleX = $var1 - $var2;
        var$10.$rotateAngleX = var$10.$rotateAngleX - $var2;
        $var1 = var$9.$rotateAngleZ;
        $var2 = $var3 * 0.09000000357627869;
        var$9.$rotateAngleZ = $var1 + nms_MathHelper_cos($var2) * 0.05000000074505806 + 0.05000000074505806;
        var$9 = $this.$bipedLeftArm;
        var$9.$rotateAngleZ = var$9.$rotateAngleZ - (nms_MathHelper_cos($var2) * 0.05000000074505806 + 0.05000000074505806);
        var$9 = $this.$bipedRightArm;
        $var1 = var$9.$rotateAngleX;
        $var2 = $var3 * 0.06700000166893005;
        var$9.$rotateAngleX = $var1 + nms_MathHelper_sin($var2) * 0.05000000074505806;
        var$9 = $this.$bipedLeftArm;
        var$9.$rotateAngleX = var$9.$rotateAngleX - nms_MathHelper_sin($var2) * 0.05000000074505806;
    }
    var nms_ModelSkeleton = $rt_classWithoutFields(nms_ModelZombie);
    function nms_ModelSkeleton__init_0() {
        var var_0 = new nms_ModelSkeleton();
        nms_ModelSkeleton__init_(var_0);
        return var_0;
    }
    function nms_ModelSkeleton__init_($this) {
        var var$1;
        nms_ModelBiped__init_($this);
        var$1 = nms_ModelRenderer__init_(40, 16);
        $this.$bipedRightArm = var$1;
        nms_ModelRenderer_addBox(var$1, (-1.0), (-2.0), (-1.0), 2, 12, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$bipedRightArm, (-5.0), 2.0, 0.0);
        var$1 = nms_ModelRenderer__init_(40, 16);
        $this.$bipedLeftArm = var$1;
        var$1.$mirror = 1;
        nms_ModelRenderer_addBox(var$1, (-1.0), (-2.0), (-1.0), 2, 12, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$bipedLeftArm, 5.0, 2.0, 0.0);
        var$1 = nms_ModelRenderer__init_(0, 16);
        $this.$bipedRightLeg = var$1;
        nms_ModelRenderer_addBox(var$1, (-1.0), 0.0, (-1.0), 2, 12, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$bipedRightLeg, (-2.0), 12.0, 0.0);
        var$1 = nms_ModelRenderer__init_(0, 16);
        $this.$bipedLeftLeg = var$1;
        var$1.$mirror = 1;
        nms_ModelRenderer_addBox(var$1, (-1.0), 0.0, (-1.0), 2, 12, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$bipedLeftLeg, 2.0, 12.0, 0.0);
    }
    var nms_EntityZombie = $rt_classWithoutFields(nms_EntityMobs);
    function nms_EntityZombie__init_0(var_0) {
        var var_1 = new nms_EntityZombie();
        nms_EntityZombie__init_(var_1, var_0);
        return var_1;
    }
    function nms_EntityZombie__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityMobs__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$texture = $rt_s(1996);
            $this.$moveSpeed = 0.5;
            $this.$attackStrength = 5;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityZombie_onLivingUpdate($this) {
        var $var1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!nms_World_isDaytime($this.$worldObj0)) {
                $ptr = 1;
                continue main;
            }
            $var1 = 1.0;
            $ptr = 2;
            continue main;
        case 1:
            nms_EntityMobs_onLivingUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            $tmp = nms_Entity_getEntityBrightness($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 <= 0.5) {
                $ptr = 1;
                continue main;
            }
            var$2 = $this.$worldObj0;
            var$3 = nms_MathHelper_floor_double($this.$posX);
            var$4 = nms_MathHelper_floor_double($this.$posY);
            var$5 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 3;
        case 3:
            $tmp = nms_World_canBlockSeeTheSky(var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3 && ju_Random_nextFloat($this.$rand3) * 30.0 < ($var1 - 0.4000000059604645) * 2.0)
                $this.$fire = 300;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_EntityZombie_getLivingSound($this) {
        return $rt_s(1997);
    }
    function nms_EntityZombie_getHurtSound($this) {
        return $rt_s(1998);
    }
    function nms_EntityZombie_getDeathSound($this) {
        return $rt_s(1999);
    }
    function nms_EntityZombie_getDropItemId($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_feather.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntitySlime() {
        var a = this; nms_EntityLiving.call(a);
        a.$field_768_a = 0.0;
        a.$field_767_b = 0.0;
        a.$slimeJumpDelay = 0;
    }
    function nms_EntitySlime__init_0(var_0) {
        var var_1 = new nms_EntitySlime();
        nms_EntitySlime__init_(var_1, var_0);
        return var_1;
    }
    function nms_EntitySlime__init_($this, $var1) {
        var $var2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$slimeJumpDelay = 0;
            $this.$texture = $rt_s(2000);
            $var2 = 1 << ju_Random_nextInt($this.$rand3, 3);
            $this.$yOffset = 0.0;
            $this.$slimeJumpDelay = ju_Random_nextInt($this.$rand3, 20) + 10 | 0;
            $ptr = 2;
        case 2:
            nms_EntitySlime_setSlimeSize($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_EntitySlime_entityInit($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$dataWatcher;
            var$2 = 16;
            var$3 = jl_Byte__init_0(1);
            $ptr = 1;
        case 1:
            nms_DataWatcher_addObject(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_EntitySlime_setSlimeSize($this, $var1) {
        var var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$dataWatcher;
            var$3 = 16;
            var$4 = jl_Byte__init_0($var1 << 24 >> 24);
            $ptr = 1;
        case 1:
            nms_DataWatcher_updateObject(var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 0.6000000238418579 * $var1;
            nms_Entity_setSize($this, var$5, var$5);
            $this.$health = $rt_imul($var1, $var1);
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_EntitySlime_getSlimeSize($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$dataWatcher;
            var$2 = 16;
            $ptr = 1;
        case 1:
            $tmp = nms_DataWatcher_getWatchableObjectByte(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_EntitySlime_writeEntityToNBT($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_writeEntityToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2001);
            $ptr = 2;
        case 2:
            $tmp = nms_EntitySlime_getSlimeSize($this);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$4 = var$3 - 1 | 0;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setInteger($var1, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_EntitySlime_readEntityFromNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_readEntityFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2001);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getInteger($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$3 = var$3 + 1 | 0;
            $ptr = 3;
        case 3:
            nms_EntitySlime_setSlimeSize($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntitySlime_onUpdate($this) {
        var $var1, $var2, $var3, var$4, var$5, var$6, var$7, $var7, $var6, $var4, $var5, var$12, var$13, var$14, var$15, var$16, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var6 = $thread.pop();$var7 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$field_767_b = $this.$field_768_a;
            $var1 = $this.$onGround0;
            $ptr = 1;
        case 1:
            nms_EntityLiving_onUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$onGround0 && !$var1) {
                $ptr = 2;
                continue main;
            }
            $this.$field_768_a = $this.$field_768_a * 0.6000000238418579;
            return;
        case 2:
            $tmp = nms_EntitySlime_getSlimeSize($this);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var3 = 0;
            var$4 = $var2 * 8 | 0;
            var$5 = $var2;
            if ($var3 >= var$4) {
                if ($var2 <= 2) {
                    $this.$field_768_a = (-0.5);
                    $this.$field_768_a = $this.$field_768_a * 0.6000000238418579;
                    return;
                }
                var$6 = $this.$worldObj0;
                var$7 = $rt_s(2002);
                $var7 = 0.6000000238418579;
                $var6 = ((ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.20000000298023224 + 1.0) / 0.800000011920929;
                $ptr = 4;
                continue main;
            }
            $var4 = ju_Random_nextFloat($this.$rand3) * 3.1415927410125732 * 2.0;
            $var5 = ju_Random_nextFloat($this.$rand3) * 0.5 + 0.5;
            $var6 = nms_MathHelper_sin($var4) * var$5 * 0.5 * $var5;
            $var7 = nms_MathHelper_cos($var4) * var$5 * 0.5 * $var5;
            var$6 = $this.$worldObj0;
            var$7 = $rt_s(1694);
            var$12 = $this.$posX + $var6;
            var$13 = $this.$boundingBox.$minY0;
            var$14 = $this.$posZ + $var7;
            var$15 = 0.0;
            var$16 = 0.0;
            var$17 = 0.0;
            $ptr = 3;
        case 3:
            nms_World_spawnParticle(var$6, var$7, var$12, var$13, var$14, var$15, var$16, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var3 + 1 | 0;
            if ($var3 >= var$4) {
                if ($var2 <= 2) {
                    $this.$field_768_a = (-0.5);
                    $this.$field_768_a = $this.$field_768_a * 0.6000000238418579;
                    return;
                }
                var$6 = $this.$worldObj0;
                var$7 = $rt_s(2002);
                $var7 = 0.6000000238418579;
                $var6 = ((ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.20000000298023224 + 1.0) / 0.800000011920929;
                $ptr = 4;
                continue main;
            }
            $var4 = ju_Random_nextFloat($this.$rand3) * 3.1415927410125732 * 2.0;
            $var5 = ju_Random_nextFloat($this.$rand3) * 0.5 + 0.5;
            $var6 = nms_MathHelper_sin($var4) * var$5 * 0.5 * $var5;
            $var7 = nms_MathHelper_cos($var4) * var$5 * 0.5 * $var5;
            var$6 = $this.$worldObj0;
            var$7 = $rt_s(1694);
            var$12 = $this.$posX + $var6;
            var$13 = $this.$boundingBox.$minY0;
            var$14 = $this.$posZ + $var7;
            var$15 = 0.0;
            var$16 = 0.0;
            var$17 = 0.0;
            continue main;
        case 4:
            nms_World_playSoundAtEntity(var$6, $this, var$7, $var7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_768_a = (-0.5);
            $this.$field_768_a = $this.$field_768_a * 0.6000000238418579;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, $var7, $var6, $var4, $var5, var$12, var$13, var$14, var$15, var$16, var$17, $ptr);
    }
    function nms_EntitySlime_updatePlayerActionState($this) {
        var $var1, var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = nms_World_getClosestPlayerToEntity($this.$worldObj0, $this, 16.0);
            if ($var1 !== null)
                nms_EntityLiving_faceEntity($this, $var1, 10.0, 20.0);
            var$2 = $this.$onGround0;
            if (var$2) {
                var$3 = $this.$slimeJumpDelay;
                $this.$slimeJumpDelay = var$3 - 1 | 0;
                if (var$3 <= 0) {
                    var$2 = ju_Random_nextInt($this.$rand3, 20) + 10 | 0;
                    $this.$slimeJumpDelay = var$2;
                    if ($var1 !== null)
                        $this.$slimeJumpDelay = var$2 / 3 | 0;
                    $this.$isJumping = 1;
                    $ptr = 1;
                    continue main;
                }
            }
            $this.$isJumping = 0;
            if (var$2) {
                $this.$moveForward = 0.0;
                $this.$moveStrafing = 0.0;
            }
            return;
        case 1:
            $tmp = nms_EntitySlime_getSlimeSize($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (var$2 <= 1) {
                $this.$field_768_a = 1.0;
                $this.$moveStrafing = 1.0 - ju_Random_nextFloat($this.$rand3) * 2.0;
                var$2 = 1;
                $ptr = 2;
                continue main;
            }
            $var1 = $this.$worldObj0;
            var$4 = $rt_s(2002);
            var$5 = 0.6000000238418579;
            var$6 = ((ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.20000000298023224 + 1.0) * 0.800000011920929;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_EntitySlime_getSlimeSize($this);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$moveForward = $rt_imul(var$2, var$3);
            return;
        case 3:
            nms_World_playSoundAtEntity($var1, $this, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_768_a = 1.0;
            $this.$moveStrafing = 1.0 - ju_Random_nextFloat($this.$rand3) * 2.0;
            var$2 = 1;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_EntitySlime_setEntityDead($this) {
        var $var1, $var2, var$3, $var3, $var4, $var5, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_EntitySlime_getSlimeSize($this);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!$this.$worldObj0.$multiplayerWorld && $var1 > 1 && !$this.$health) {
                $var2 = 0;
                var$3 = $var1;
                if ($var2 < 4) {
                    $var3 = (($var2 % 2 | 0) - 0.5) * var$3 / 4.0;
                    $var4 = (($var2 / 2 | 0) - 0.5) * var$3 / 4.0;
                    $var5 = new nms_EntitySlime;
                    var$7 = $this.$worldObj0;
                    $ptr = 3;
                    continue main;
                }
            }
            $ptr = 2;
        case 2:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_EntitySlime__init_($var5, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $var1 / 2 | 0;
            $ptr = 4;
        case 4:
            nms_EntitySlime_setSlimeSize($var5, var$8);
            if ($rt_suspending()) {
                break main;
            }
            nms_Entity_setLocationAndAngles($var5, $this.$posX + $var3, $this.$posY + 0.5, $this.$posZ + $var4, ju_Random_nextFloat($this.$rand3) * 360.0, 0.0);
            var$7 = $this.$worldObj0;
            $ptr = 5;
        case 5:
            var$7.$entityJoinedWorld($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 >= 4) {
                $ptr = 2;
                continue main;
            }
            $var3 = (($var2 % 2 | 0) - 0.5) * var$3 / 4.0;
            $var4 = (($var2 / 2 | 0) - 0.5) * var$3 / 4.0;
            $var5 = new nms_EntitySlime;
            var$7 = $this.$worldObj0;
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, $var4, $var5, var$7, var$8, $ptr);
    }
    function nms_EntitySlime_onCollideWithPlayer($this, $var1) {
        var $var2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_EntitySlime_getSlimeSize($this);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 <= 1)
                return;
            $ptr = 2;
        case 2:
            $tmp = nms_EntityLiving_canEntityBeSeen($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3 && nms_Entity_getDistanceToEntity($this, $var1) < 0.6 * $var2) {
                $ptr = 3;
                continue main;
            }
            return;
        case 3:
            $tmp = $var1.$attackEntityFrom($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return;
            $var1 = $this.$worldObj0;
            var$4 = $rt_s(2003);
            var$5 = 1.0;
            var$6 = (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.20000000298023224 + 1.0;
            $ptr = 4;
        case 4:
            nms_World_playSoundAtEntity($var1, $this, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_EntitySlime_getHurtSound($this) {
        return $rt_s(2002);
    }
    function nms_EntitySlime_getDeathSound($this) {
        return $rt_s(2002);
    }
    function nms_EntitySlime_getDropItemId($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_EntitySlime_getSlimeSize($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1 != 1)
                return 0;
            $ptr = 2;
        case 2:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_slimeBall.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_EntitySlime_getCanSpawnHere($this) {
        var $var1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $this.$worldObj0;
            var$2 = nms_MathHelper_floor_double($this.$posX);
            var$3 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 1;
        case 1:
            $tmp = nms_World_getChunkFromBlockCoords($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = nms_EntitySlime_getSlimeSize($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return !(var$2 != 1 && $this.$worldObj0.$difficultySetting <= 0) && !ju_Random_nextInt($this.$rand3, 10) && !ju_Random_nextInt($var1.$func_997_a(Long_fromInt(987234911)), 10) && $this.$posY < 16.0 ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntitySlime_getSoundVolume($this) {
        return 0.6000000238418579;
    }
    function nms_RenderSlime() {
        nms_RenderLiving.call(this);
        this.$scaleAmount = null;
    }
    function nms_RenderSlime_preRenderCallback($this, $var1, $var2) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            $tmp = nms_EntitySlime_getSlimeSize($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$4 = $var1.$field_767_b;
            $var2 = var$4 + ($var1.$field_768_a - var$4) * $var2;
            var$4 = var$3;
            $var2 = 1.0 / ($var2 / (var$4 * 0.5 + 1.0) + 1.0);
            var$5 = $var2 * var$4;
            $var2 = 1.0 / $var2 * var$4;
            $ptr = 2;
        case 2:
            olo_GL11_glScalef(var$5, $var2, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, $ptr);
    }
    function nms_RenderSlime_shouldRenderPass($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$var2) {
                $this.$renderPassModel = $this.$scaleAmount;
                $var2 = 2977;
                $ptr = 1;
                continue main;
            }
            if ($var2 != 1)
                return 0;
            $var2 = 3042;
            $ptr = 4;
            continue main;
        case 1:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 3042;
            $ptr = 2;
        case 2:
            olo_GL11_glEnable($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 770;
            var$4 = 771;
            $ptr = 3;
        case 3:
            olo_GL11_glBlendFunc($var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 4:
            olo_GL11_glDisable($var2);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 1.0;
            var$6 = 1.0;
            $var3 = 1.0;
            var$7 = 1.0;
            $ptr = 5;
        case 5:
            nleo_GlStateManager_color(var$5, var$6, $var3, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_ModelSlime() {
        var a = this; nms_ModelBase.call(a);
        a.$slimeBodies = null;
        a.$slimeRightEye = null;
        a.$slimeLeftEye = null;
        a.$slimeMouth = null;
    }
    function nms_ModelSlime__init_0(var_0) {
        var var_1 = new nms_ModelSlime();
        nms_ModelSlime__init_(var_1, var_0);
        return var_1;
    }
    function nms_ModelSlime__init_($this, $var1) {
        var var$2;
        nms_ModelBase__init_($this);
        var$2 = nms_ModelRenderer__init_(0, $var1);
        $this.$slimeBodies = var$2;
        nms_ModelRenderer_addBox0(var$2, (-4.0), 16.0, (-4.0), 8, 8, 8);
        if ($var1 > 0) {
            var$2 = nms_ModelRenderer__init_(0, $var1);
            $this.$slimeBodies = var$2;
            nms_ModelRenderer_addBox0(var$2, (-3.0), 17.0, (-3.0), 6, 6, 6);
            var$2 = nms_ModelRenderer__init_(32, 0);
            $this.$slimeRightEye = var$2;
            nms_ModelRenderer_addBox0(var$2, (-3.25), 18.0, (-3.5), 2, 2, 2);
            var$2 = nms_ModelRenderer__init_(32, 4);
            $this.$slimeLeftEye = var$2;
            nms_ModelRenderer_addBox0(var$2, 1.25, 18.0, (-3.5), 2, 2, 2);
            var$2 = nms_ModelRenderer__init_(32, 8);
            $this.$slimeMouth = var$2;
            nms_ModelRenderer_addBox0(var$2, 0.0, 21.0, (-3.5), 1, 1, 1);
        }
    }
    function nms_ModelSlime_render($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$7 = $this.$slimeBodies;
            $ptr = 1;
        case 1:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$slimeRightEye;
            if (var$7 === null)
                return;
            $ptr = 2;
        case 2:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$slimeLeftEye;
            $ptr = 3;
        case 3:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$slimeMouth;
            $ptr = 4;
        case 4:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
    }
    function nms_RenderPlayer() {
        var a = this; nms_RenderLiving.call(a);
        a.$modelBipedMain = null;
        a.$modelArmorChestplate = null;
        a.$modelArmor = null;
    }
    var nms_RenderPlayer_armorFilenamePrefix = null;
    function nms_RenderPlayer_$callClinit() {
        nms_RenderPlayer_$callClinit = $rt_eraseClinit(nms_RenderPlayer);
        nms_RenderPlayer__clinit_();
    }
    function nms_RenderPlayer__init_0() {
        var var_0 = new nms_RenderPlayer();
        nms_RenderPlayer__init_(var_0);
        return var_0;
    }
    function nms_RenderPlayer__init_($this) {
        nms_RenderPlayer_$callClinit();
        nms_RenderLiving__init_($this, nms_ModelBiped__init_0(0.0), 0.5);
        $this.$modelBipedMain = $this.$mainModel;
        $this.$modelArmorChestplate = nms_ModelBiped__init_0(1.0);
        $this.$modelArmor = nms_ModelBiped__init_0(0.5);
    }
    function nms_RenderPlayer_func_188_a($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $var10, var$8, var$9, var$10, var$11, $var11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var11 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var10 = nms_InventoryPlayer_getCurrentItem($var1.$inventory);
            var$8 = $this.$modelArmorChestplate;
            var$9 = $this.$modelArmor;
            var$10 = $this.$modelBipedMain;
            var$11 = $var10 === null ? 0 : 1;
            var$10.$field_1278_i = var$11;
            var$9.$field_1278_i = var$11;
            var$8.$field_1278_i = var$11;
            $ptr = 1;
        case 1:
            $tmp = $var1.$isSneaking();
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            var$10.$isSneak = var$11;
            var$9.$isSneak = var$11;
            var$8.$isSneak = var$11;
            $var11 = $var4 - $var1.$yOffset;
            $ptr = 2;
        case 2:
            $tmp = $var1.$isSneaking();
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            if (var$11)
                $var11 = $var11 - 0.125;
            $ptr = 3;
        case 3:
            nms_RenderLiving_doRenderLiving($this, $var1, $var2, $var11, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$modelArmorChestplate;
            $var10 = $this.$modelArmor;
            var$8 = $this.$modelBipedMain;
            var$8.$isSneak = 0;
            $var10.$isSneak = 0;
            $var1.$isSneak = 0;
            var$8.$field_1278_i = 0;
            $var10.$field_1278_i = 0;
            $var1.$field_1278_i = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var10, var$8, var$9, var$10, var$11, $var11, $ptr);
    }
    function nms_RenderPlayer_renderName($this, $var1, $var2, $var4, $var6) {
        var $var12, $var9, $var10, var$8, $var13, $var11, var$11, var$12, var$13, $var14, $var15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var11 = $thread.pop();$var13 = $thread.pop();var$8 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var12 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var12 = nmc_Minecraft_theMinecraft;
            if ($var12 !== null && $var12.$gameSettings.$hideGUI ? 0 : 1) {
                $var12 = $this.$renderManager.$livingPlayer;
                if ($var1 !== $var12) {
                    $var9 = 0.0266666691750288;
                    $var10 = nms_Entity_getDistanceToEntity($var1, $var12);
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        case 1:
            $tmp = $var1.$isSneaking();
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if ($var10 >= (!var$8 ? 64.0 : 32.0))
                return;
            $var12 = $var1.$username;
            $ptr = 2;
        case 2:
            $tmp = $var1.$isSneaking();
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8) {
                $ptr = 3;
                continue main;
            }
            var$8 = 64;
            $ptr = 31;
            continue main;
        case 3:
            $tmp = nms_Render_getFontRendererFromRenderManager($this);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = $tmp;
            $ptr = 4;
        case 4:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $var2 + 0.0;
            $var10 = $var4 + 2.299999952316284;
            var$11 = $var6;
            $ptr = 5;
        case 5:
            olo_GL11_glTranslatef($var11, $var10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 0.0;
            $var11 = 1.0;
            var$11 = 0.0;
            $ptr = 6;
        case 6:
            nleo_EaglercraftGPU_glNormal3f($var10, $var11, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var11 =  -$this.$renderManager.$playerViewY;
            var$11 = 0.0;
            var$12 = 1.0;
            $var10 = 0.0;
            $ptr = 7;
        case 7:
            olo_GL11_glRotatef($var11, var$11, var$12, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $this.$renderManager.$playerViewX;
            $var11 = 1.0;
            var$11 = 0.0;
            var$12 = 0.0;
            $ptr = 8;
        case 8:
            olo_GL11_glRotatef($var10, $var11, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = (-0.0266666691750288);
            $ptr = 9;
        case 9:
            olo_GL11_glScalef($var10, $var10, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 2896;
            $ptr = 10;
        case 10:
            olo_GL11_glDisable(var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 0.0;
            $var9 = 9.374999046325684;
            $var11 = 0.0;
            $ptr = 11;
        case 11:
            olo_GL11_glTranslatef($var10, $var9, $var11);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 0;
            $ptr = 12;
        case 12:
            olo_GL11_glDepthMask(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 3042;
            $ptr = 13;
        case 13:
            olo_GL11_glEnable(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 770;
            var$13 = 771;
            $ptr = 14;
        case 14:
            olo_GL11_glBlendFunc(var$8, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var14 = nms_Tessellator_instance;
            var$8 = 3553;
            $ptr = 16;
        case 16:
            olo_GL11_glDisable(var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            nms_Tessellator_startDrawingQuads($var14);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = nms_FontRenderer_getStringWidth($var13, $var12) / 2 | 0;
            $var9 = 0.0;
            $var11 = 0.0;
            var$11 = 0.0;
            $var10 = 0.25;
            $ptr = 18;
        case 18:
            nms_Tessellator_setColorRGBA_F($var14, $var9, $var11, var$11, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = ( -$var15 | 0) - 1 | 0;
            $var4 = (-1.0);
            $var6 = 0.0;
            $ptr = 19;
        case 19:
            nms_Tessellator_addVertex($var14, $var2, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 8.0;
            $var6 = 0.0;
            $ptr = 20;
        case 20:
            nms_Tessellator_addVertex($var14, $var2, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var15 + 1 | 0;
            $var4 = 8.0;
            $var6 = 0.0;
            $ptr = 21;
        case 21:
            nms_Tessellator_addVertex($var14, $var2, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = (-1.0);
            $var6 = 0.0;
            $ptr = 22;
        case 22:
            nms_Tessellator_addVertex($var14, $var2, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 23;
        case 23:
            nms_Tessellator_draw($var14);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 3553;
            $ptr = 24;
        case 24:
            olo_GL11_glEnable(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 1;
            $ptr = 25;
        case 25:
            olo_GL11_glDepthMask(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = ( -nms_FontRenderer_getStringWidth($var13, $var12) | 0) / 2 | 0;
            var$13 = 0;
            $var15 = 553648127;
            $ptr = 26;
        case 26:
            nms_FontRenderer_drawString($var13, $var12, var$8, var$13, $var15);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 2896;
            $ptr = 27;
        case 27:
            olo_GL11_glEnable(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 3042;
            $ptr = 28;
        case 28:
            olo_GL11_glDisable(var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 1.0;
            $var9 = 1.0;
            $var11 = 1.0;
            var$11 = 1.0;
            $ptr = 29;
        case 29:
            nleo_GlStateManager_color($var10, $var9, $var11, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 30;
        case 30:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 31:
            nms_RenderLiving_renderLivingLabel($this, $var1, $var12, $var2, $var4, $var6, var$8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var12, $var9, $var10, var$8, $var13, $var11, var$11, var$12, var$13, $var14, $var15, $ptr);
    }
    function nms_RenderPlayer_renderSpecials($this, $var1, $var2) {
        var $var3, $var21, $var5, $var4, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var4 = $thread.pop();$var5 = $thread.pop();$var21 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = nms_InventoryPlayer_armorItemInSlot($var1.$inventory, 3);
            if ($var3 !== null) {
                $ptr = 1;
                continue main;
            }
            $var21 = nms_InventoryPlayer_getCurrentItem($var1.$inventory);
            if ($var21 === null)
                return;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = nms_ItemStack_getItem($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = $tmp;
            if ($var21.$shiftedIndex < 256) {
                $ptr = 5;
                continue main;
            }
            $var21 = nms_InventoryPlayer_getCurrentItem($var1.$inventory);
            if ($var21 === null)
                return;
            $ptr = 2;
        case 2:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $this.$modelBipedMain.$bipedRightArm;
            $var2 = 0.0625;
            $ptr = 3;
        case 3:
            nms_ModelRenderer_postRender($var3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = (-0.0625);
            $var4 = 0.4375;
            $var2 = 0.0625;
            $ptr = 4;
        case 4:
            olo_GL11_glTranslatef($var5, $var4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$fishEntity !== null) {
                $var21 = new nms_ItemStack;
                $ptr = 9;
                continue main;
            }
            var$7 = $var21.$itemID;
            if (var$7 >= 256) {
                $ptr = 15;
                continue main;
            }
            $ptr = 17;
            continue main;
        case 5:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var21 = $this.$modelBipedMain.$bipedHead;
            $var2 = 0.0625;
            $ptr = 6;
        case 6:
            nms_ModelRenderer_postRender($var21, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var21 = nms_Block_blocksList.data[$var3.$itemID];
            $ptr = 8;
        case 8:
            $tmp = $var21.$getRenderType();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (!nms_RenderBlocks_renderItemIn3d(var$7)) {
                $var21 = $this.$renderManager.$itemRenderer0;
                $ptr = 10;
                continue main;
            }
            $var4 = 0.625;
            $var2 = 0.0;
            $var5 = (-0.25);
            var$8 = 0.0;
            $ptr = 12;
            continue main;
        case 9:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_($var21, nms_Item_stick);
            var$7 = $var21.$itemID;
            if (var$7 >= 256) {
                $ptr = 15;
                continue main;
            }
            $ptr = 17;
            continue main;
        case 10:
            nms_ItemRenderer_renderItem($var21, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var21 = nms_InventoryPlayer_getCurrentItem($var1.$inventory);
            if ($var21 === null)
                return;
            $ptr = 2;
            continue main;
        case 12:
            olo_GL11_glTranslatef($var2, $var5, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 180.0;
            $var5 = 0.0;
            var$8 = 1.0;
            var$9 = 0.0;
            $ptr = 13;
        case 13:
            olo_GL11_glRotatef($var2, $var5, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-0.625);
            $ptr = 14;
        case 14:
            olo_GL11_glScalef($var4, $var2, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = $this.$renderManager.$itemRenderer0;
            $ptr = 10;
            continue main;
        case 15:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Item_itemsList.data[$var21.$itemID];
            $ptr = 16;
        case 16:
            $tmp = $var1.$isFull3D();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (!var$7) {
                $var5 = 0.375;
                $var2 = 0.25;
                $var4 = 0.1875;
                var$8 = (-0.1875);
                $ptr = 19;
                continue main;
            }
            $var5 = 0.625;
            $var1 = nms_Item_itemsList.data[$var21.$itemID];
            $ptr = 24;
            continue main;
        case 17:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Block_blocksList.data[var$7];
            $ptr = 18;
        case 18:
            $tmp = $var1.$getRenderType();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (!nms_RenderBlocks_renderItemIn3d(var$7)) {
                $ptr = 15;
                continue main;
            }
            $var2 = 0.0;
            $var5 = 0.1875;
            $var4 = (-0.3125);
            $ptr = 25;
            continue main;
        case 19:
            olo_GL11_glTranslatef($var2, $var4, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 20;
        case 20:
            olo_GL11_glScalef($var5, $var5, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 60.0;
            $var4 = 0.0;
            var$8 = 0.0;
            $var2 = 1.0;
            $ptr = 21;
        case 21:
            olo_GL11_glRotatef($var5, $var4, var$8, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-90.0);
            $var5 = 1.0;
            $var4 = 0.0;
            var$8 = 0.0;
            $ptr = 22;
        case 22:
            olo_GL11_glRotatef($var2, $var5, $var4, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 20.0;
            $var5 = 0.0;
            $var4 = 0.0;
            var$8 = 1.0;
            $ptr = 23;
        case 23:
            olo_GL11_glRotatef($var2, $var5, $var4, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$renderManager.$itemRenderer0;
            $ptr = 29;
            continue main;
        case 24:
            $tmp = $var1.$shouldRotateAroundWhenRendering();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (!var$7) {
                $var2 = 0.0;
                $var4 = 0.1875;
                var$8 = 0.0;
                $ptr = 31;
                continue main;
            }
            $var2 = 180.0;
            $var4 = 0.0;
            var$8 = 0.0;
            var$9 = 1.0;
            $ptr = 35;
            continue main;
        case 25:
            olo_GL11_glTranslatef($var2, $var5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 0.375;
            $var5 = 20.0;
            $var4 = 1.0;
            var$8 = 0.0;
            var$9 = 0.0;
            $ptr = 26;
        case 26:
            olo_GL11_glRotatef($var5, $var4, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = 45.0;
            $var4 = 0.0;
            var$8 = 1.0;
            var$9 = 0.0;
            $ptr = 27;
        case 27:
            olo_GL11_glRotatef($var5, $var4, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = (-0.375);
            $ptr = 28;
        case 28:
            olo_GL11_glScalef($var2, $var5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$renderManager.$itemRenderer0;
            $ptr = 29;
        case 29:
            nms_ItemRenderer_renderItem($var1, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 30;
        case 30:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 31:
            olo_GL11_glTranslatef($var2, $var4, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-0.625);
            $ptr = 32;
        case 32:
            olo_GL11_glScalef($var5, $var2, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-100.0);
            $var5 = 1.0;
            $var4 = 0.0;
            var$8 = 0.0;
            $ptr = 33;
        case 33:
            olo_GL11_glRotatef($var2, $var5, $var4, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 45.0;
            $var5 = 0.0;
            $var4 = 1.0;
            var$8 = 0.0;
            $ptr = 34;
        case 34:
            olo_GL11_glRotatef($var2, $var5, $var4, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$renderManager.$itemRenderer0;
            $ptr = 29;
            continue main;
        case 35:
            olo_GL11_glRotatef($var2, $var4, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 0.0;
            var$8 = (-0.125);
            $var2 = 0.0;
            $ptr = 36;
        case 36:
            olo_GL11_glTranslatef($var4, var$8, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 0.0;
            $var4 = 0.1875;
            var$8 = 0.0;
            $ptr = 31;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var21, $var5, $var4, var$7, var$8, var$9, $ptr);
    }
    function nms_RenderPlayer_passSpecialRender($this, $var1, $var2, $var4, $var6) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            nms_RenderPlayer_renderName($this, $var1, $var2, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $ptr);
    }
    function nms_RenderPlayer_preRenderCallback($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = 0.9375;
            $ptr = 1;
        case 1:
            olo_GL11_glScalef($var2, $var2, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_RenderPlayer_shouldRenderPass($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = nms_InventoryPlayer_armorItemInSlot($var1.$inventory, 3 - $var2 | 0);
            if ($var1 === null)
                return 0;
            $ptr = 1;
        case 1:
            $tmp = nms_ItemStack_getItem($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!($var1 instanceof nms_ItemArmor))
                return 0;
            $var1 = $var1;
            nms_RenderPlayer_$callClinit();
            $var1 = nms_RenderPlayer_armorFilenamePrefix.data[$var1.$renderIndex];
            var$4 = $rt_compare($var2, 2);
            var$5 = var$4 ? 1 : 2;
            var$6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$6);
            var$7 = $rt_s(2004);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$7, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            jl_AbstractStringBuilder_append($var1, 95);
            jl_AbstractStringBuilder_append0($var1, var$5);
            var$7 = $rt_s(1756);
            $ptr = 4;
        case 4:
            jl_StringBuilder_append($var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $ptr = 6;
        case 6:
            nms_Render_loadTexture($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = var$4 ? $this.$modelArmorChestplate : $this.$modelArmor;
            var$6.$bipedHead.$showModel = $var2 ? 0 : 1;
            var$6.$bipedHeadwear.$showModel = $var2 ? 0 : 1;
            $var1 = var$6.$bipedBody;
            var$5 = $rt_compare($var2, 1);
            $var1.$showModel = var$5 && var$4 ? 0 : 1;
            var$6.$bipedRightArm.$showModel = var$5 ? 0 : 1;
            var$6.$bipedLeftArm.$showModel = var$5 ? 0 : 1;
            var$6.$bipedRightLeg.$showModel = var$4 && $var2 != 3 ? 0 : 1;
            var$6.$bipedLeftLeg.$showModel = var$4 && $var2 != 3 ? 0 : 1;
            $this.$renderPassModel = var$6;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_RenderPlayer_renderEquippedItems($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            nms_RenderPlayer_renderSpecials($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_RenderPlayer_func_21004_a($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            if (nms_EntityLiving_isEntityAlive($var1) && $var1.$sleeping) {
                $ptr = 2;
                continue main;
            }
            $ptr = 1;
        case 1:
            nms_RenderLiving_func_21004_a($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            $tmp = nms_EntityPlayer_getBedOrientationInDegrees($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var3 = 0.0;
            $var4 = 1.0;
            var$5 = 0.0;
            $ptr = 3;
        case 3:
            olo_GL11_glRotatef($var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 90.0;
            $var2 = 0.0;
            $var3 = 0.0;
            $var4 = 1.0;
            $ptr = 4;
        case 4:
            olo_GL11_glRotatef(var$5, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 270.0;
            $var3 = 0.0;
            $var4 = 1.0;
            var$5 = 0.0;
            $ptr = 5;
        case 5:
            olo_GL11_glRotatef($var2, $var3, $var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_RenderPlayer_func_22012_b($this, $var1, $var2, $var4, $var6) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            if (nms_EntityLiving_isEntityAlive($var1) && $var1.$sleeping) {
                $var2 = $var2 + $var1.$field_22063_x;
                $var4 = $var4 + $var1.$field_22062_y;
                $var6 = $var6 + $var1.$field_22061_z;
                $ptr = 2;
                continue main;
            }
            $ptr = 1;
        case 1:
            nms_RenderLiving_func_22012_b($this, $var1, $var2, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nms_RenderLiving_func_22012_b($this, $var1, $var2, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $ptr);
    }
    function nms_RenderPlayer_doRenderLiving($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            nms_RenderPlayer_func_188_a($this, $var1, $var2, $var4, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $ptr);
    }
    function nms_RenderPlayer_doRender($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            nms_RenderPlayer_func_188_a($this, $var1, $var2, $var4, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $ptr);
    }
    function nms_RenderPlayer_loadDownloadableImageTexture($this, $s, $s1) {
        var $re, var$4, $un, var$6, $us, $st, $w, $dao, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$dao = $thread.pop();$w = $thread.pop();$st = $thread.pop();$us = $thread.pop();var$6 = $thread.pop();$un = $thread.pop();var$4 = $thread.pop();$re = $thread.pop();$s1 = $thread.pop();$s = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $re = nmc_Minecraft_theMinecraft.$renderEngine;
            if ($s !== null) {
                $s1 = $rt_s(1838);
                $ptr = 1;
                continue main;
            }
            var$4 = 3553;
            $s = $rt_s(1668);
            $ptr = 2;
            continue main;
        case 1:
            $tmp = jl_String_equals($s, $s1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4) {
                $ptr = 4;
                continue main;
            }
            if (!jl_String_startsWith($s, $rt_s(2005))) {
                var$4 = 3553;
                $s = $rt_s(1668);
                $ptr = 5;
                continue main;
            }
            $un = jl_String_substring($s, 6);
            $ptr = 7;
            continue main;
        case 2:
            $tmp = nms_RenderEngine_getTexture($re, $s);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 3;
        case 3:
            olo_GL11_glBindTexture(var$4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 4:
            nlep_EaglerProfile_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nlep_EaglerProfile_presetSkinId;
            if (var$4 >= 0) {
                var$6 = 3553;
                $s = nlep_EaglerProfile_defaultOptionsTextures.data[var$4];
                $ptr = 9;
                continue main;
            }
            var$4 = (ju_ArrayList_get(nlep_EaglerProfile_skins, nlep_EaglerProfile_customSkinId)).$glTex;
            $ptr = 11;
            continue main;
        case 5:
            $tmp = nms_RenderEngine_getTexture($re, $s);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 6;
        case 6:
            olo_GL11_glBindTexture(var$4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 7:
            nlep_EaglerProfile_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $s = nlep_EaglerProfile_multiplayerSkinCache;
            $ptr = 8;
        case 8:
            $tmp = ju_HashMap_get($s, $un);
            if ($rt_suspending()) {
                break main;
            }
            $s = $tmp;
            $s = $s;
            if ($s === null)
                $us = null;
            else {
                $s.$age0 = jl_System_currentTimeMillis();
                $us = $s.$skin0;
            }
            if ($us === null) {
                $s = nlep_EaglerProfile_multiplayerWaitingSkinCache;
                $ptr = 12;
                continue main;
            }
            $st = $us.$getSkinType();
            nlep_EaglerProfile$EnumSkinType_$callClinit();
            if ($st !== nlep_EaglerProfile$EnumSkinType_PRESET) {
                if ($st === nlep_EaglerProfile$EnumSkinType_CUSTOM_LEGACY) {
                    var$4 = $us.$getTexture0();
                    $ptr = 19;
                    continue main;
                }
                var$4 = 3553;
                $s = $rt_s(1668);
                $ptr = 17;
                continue main;
            }
            var$4 = 3553;
            $s = nlep_EaglerProfile_defaultOptionsTextures.data[$us.$getSkin()];
            $ptr = 13;
            continue main;
        case 9:
            $tmp = nms_RenderEngine_getTexture($re, $s);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 10;
        case 10:
            olo_GL11_glBindTexture(var$6, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 11:
            nms_RenderEngine_bindTexture($re, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 12:
            $tmp = ju_HashMap_containsKey($s, $un);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (!var$4) {
                $w = nmc_Minecraft_theMinecraft.$theWorld;
                if ($w !== null && $w instanceof nms_WorldClient)
                    try {
                        $dao = ji_DataOutputStream__init_0(ji_ByteArrayOutputStream__init_1());
                        $ptr = 20;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof ji_IOException) {
                        } else {
                            throw $$e;
                        }
                    }
            }
            var$4 = 3553;
            $s = $rt_s(1668);
            $ptr = 15;
            continue main;
        case 13:
            $tmp = nms_RenderEngine_getTexture($re, $s);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 14;
        case 14:
            olo_GL11_glBindTexture(var$4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 15:
            $tmp = nms_RenderEngine_getTexture($re, $s);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 16;
        case 16:
            olo_GL11_glBindTexture(var$4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 17:
            $tmp = nms_RenderEngine_getTexture($re, $s);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 18;
        case 18:
            olo_GL11_glBindTexture(var$4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 19:
            nms_RenderEngine_bindTexture($re, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 20:
            a: {
                try {
                    $tmp = nlep_EaglerProfile_beginSkinRequest($un);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$4 = $tmp;
                    ji_DataOutputStream_writeShort($dao, var$4);
                    ji_DataOutputStream_writeUTF($dao, $un);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                    } else {
                        throw $$e;
                    }
                }
            }
            var$4 = 3553;
            $s = $rt_s(1668);
            $ptr = 15;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $s, $s1, $re, var$4, $un, var$6, $us, $st, $w, $dao, $ptr);
    }
    function nms_RenderPlayer__clinit_() {
        nms_RenderPlayer_armorFilenamePrefix = $rt_createArrayFromData(jl_String, [$rt_s(596), $rt_s(2006), $rt_s(2007), $rt_s(2008), $rt_s(2009)]);
    }
    var nms_EntityZombieSimple = $rt_classWithoutFields(nms_EntityMobs);
    function nms_EntityZombieSimple_getBlockPathWeight($this, $var1, $var2, $var3) {
        var var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$worldObj0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getLightBrightness(var$4, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            return var$5 - 0.5;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $ptr);
    }
    function nms_RenderZombieSimple() {
        nms_RenderLiving.call(this);
        this.$scale = 0.0;
    }
    function nms_RenderZombieSimple_preRenderCallback($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $this.$scale;
            $ptr = 1;
        case 1:
            olo_GL11_glScalef($var2, $var2, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    var nms_EntityFlying = $rt_classWithoutFields(nms_EntityLiving);
    function nms_EntityFlying_fall($this, $var1) {}
    function nms_EntityFlying_moveEntityWithHeading($this, $var1, $var2) {
        var $var5, $var10, $var9, var$6, $var3, var$8, $var4, var$10, $var8, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var8 = $thread.pop();var$10 = $thread.pop();$var4 = $thread.pop();var$8 = $thread.pop();$var3 = $thread.pop();var$6 = $thread.pop();$var9 = $thread.pop();$var10 = $thread.pop();$var5 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_Entity_handleWaterMovement($this);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5) {
                $ptr = 2;
                continue main;
            }
            nms_Entity_moveFlying($this, $var1, $var2, 0.019999999552965164);
            $var10 = $this.$motionX;
            $var9 = $this.$motionY;
            var$6 = $this.$motionZ;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_Entity_handleLavaMovement($this);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5) {
                nms_Entity_moveFlying($this, $var1, $var2, 0.019999999552965164);
                $var10 = $this.$motionX;
                $var9 = $this.$motionY;
                var$6 = $this.$motionZ;
                $ptr = 4;
                continue main;
            }
            $var3 = 0.9100000262260437;
            if ($this.$onGround0) {
                $var3 = 0.546000063419342;
                var$8 = $this.$worldObj0;
                $var5 = nms_MathHelper_floor_double($this.$posX);
                $var4 = nms_MathHelper_floor_double($this.$boundingBox.$minY0) - 1 | 0;
                var$10 = nms_MathHelper_floor_double($this.$posZ);
                $ptr = 5;
                continue main;
            }
            $var8 = 0.16277135908603668 / ($var3 * $var3 * $var3);
            nms_Entity_moveFlying($this, $var1, $var2, !$this.$onGround0 ? 0.019999999552965164 : 0.10000000149011612 * $var8);
            $var1 = 0.9100000262260437;
            if (!$this.$onGround0) {
                $var10 = $this.$motionX;
                $var9 = $this.$motionY;
                var$6 = $this.$motionZ;
                $ptr = 8;
                continue main;
            }
            $var1 = 0.546000063419342;
            var$8 = $this.$worldObj0;
            $var5 = nms_MathHelper_floor_double($this.$posX);
            $var4 = nms_MathHelper_floor_double($this.$boundingBox.$minY0) - 1 | 0;
            var$10 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 7;
            continue main;
        case 3:
            nms_Entity_moveEntity($this, $var10, $var9, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $this.$motionX = $this.$motionX * 0.800000011920929;
            $this.$motionY = $this.$motionY * 0.800000011920929;
            $this.$motionZ = $this.$motionZ * 0.800000011920929;
            $this.$field_705_Q = $this.$field_704_R;
            $var10 = $this.$posX - $this.$prevPosX;
            $var9 = $this.$posZ - $this.$prevPosZ;
            $var7 = nms_MathHelper_sqrt_double($var10 * $var10 + $var9 * $var9) * 4.0;
            if ($var7 > 1.0)
                $var7 = 1.0;
            $var1 = $this.$field_704_R;
            $var1 = $var1 + ($var7 - $var1) * 0.4000000059604645;
            $this.$field_704_R = $var1;
            $this.$field_703_S = $this.$field_703_S + $var1;
            return;
        case 4:
            nms_Entity_moveEntity($this, $var10, $var9, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $this.$motionX = $this.$motionX * 0.5;
            $this.$motionY = $this.$motionY * 0.5;
            $this.$motionZ = $this.$motionZ * 0.5;
            $this.$field_705_Q = $this.$field_704_R;
            $var10 = $this.$posX - $this.$prevPosX;
            $var9 = $this.$posZ - $this.$prevPosZ;
            $var7 = nms_MathHelper_sqrt_double($var10 * $var10 + $var9 * $var9) * 4.0;
            if ($var7 > 1.0)
                $var7 = 1.0;
            $var1 = $this.$field_704_R;
            $var1 = $var1 + ($var7 - $var1) * 0.4000000059604645;
            $this.$field_704_R = $var1;
            $this.$field_703_S = $this.$field_703_S + $var1;
            return;
        case 5:
            $tmp = nms_World_getBlockId(var$8, $var5, $var4, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4 > 0) {
                $ptr = 6;
                continue main;
            }
            $var8 = 0.16277135908603668 / ($var3 * $var3 * $var3);
            nms_Entity_moveFlying($this, $var1, $var2, !$this.$onGround0 ? 0.019999999552965164 : 0.10000000149011612 * $var8);
            $var1 = 0.9100000262260437;
            if (!$this.$onGround0) {
                $var10 = $this.$motionX;
                $var9 = $this.$motionY;
                var$6 = $this.$motionZ;
                $ptr = 8;
                continue main;
            }
            $var1 = 0.546000063419342;
            var$8 = $this.$worldObj0;
            $var5 = nms_MathHelper_floor_double($this.$posX);
            $var4 = nms_MathHelper_floor_double($this.$boundingBox.$minY0) - 1 | 0;
            var$10 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 7;
            continue main;
        case 6:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_Block_blocksList.data[$var4].$slipperiness * 0.9100000262260437;
            $var8 = 0.16277135908603668 / ($var3 * $var3 * $var3);
            nms_Entity_moveFlying($this, $var1, $var2, !$this.$onGround0 ? 0.019999999552965164 : 0.10000000149011612 * $var8);
            $var1 = 0.9100000262260437;
            if (!$this.$onGround0) {
                $var10 = $this.$motionX;
                $var9 = $this.$motionY;
                var$6 = $this.$motionZ;
                $ptr = 8;
                continue main;
            }
            $var1 = 0.546000063419342;
            var$8 = $this.$worldObj0;
            $var5 = nms_MathHelper_floor_double($this.$posX);
            $var4 = nms_MathHelper_floor_double($this.$boundingBox.$minY0) - 1 | 0;
            var$10 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 7;
        case 7:
            $tmp = nms_World_getBlockId(var$8, $var5, $var4, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 > 0) {
                $ptr = 9;
                continue main;
            }
            $var10 = $this.$motionX;
            $var9 = $this.$motionY;
            var$6 = $this.$motionZ;
            $ptr = 8;
        case 8:
            nms_Entity_moveEntity($this, $var10, $var9, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $this.$motionX;
            $var9 = $var1;
            $this.$motionX = $var10 * $var9;
            $this.$motionY = $this.$motionY * $var9;
            $this.$motionZ = $this.$motionZ * $var9;
            $this.$field_705_Q = $this.$field_704_R;
            $var10 = $this.$posX - $this.$prevPosX;
            $var9 = $this.$posZ - $this.$prevPosZ;
            $var7 = nms_MathHelper_sqrt_double($var10 * $var10 + $var9 * $var9) * 4.0;
            if ($var7 > 1.0)
                $var7 = 1.0;
            $var1 = $this.$field_704_R;
            $var1 = $var1 + ($var7 - $var1) * 0.4000000059604645;
            $this.$field_704_R = $var1;
            $this.$field_703_S = $this.$field_703_S + $var1;
            return;
        case 9:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Block_blocksList.data[$var5].$slipperiness * 0.9100000262260437;
            $var10 = $this.$motionX;
            $var9 = $this.$motionY;
            var$6 = $this.$motionZ;
            $ptr = 8;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var5, $var10, $var9, var$6, $var3, var$8, $var4, var$10, $var8, $var7, $ptr);
    }
    function nms_EntityFlying_isOnLadder($this) {
        return 0;
    }
    function nms_EntityGhast() {
        var a = this; nms_EntityFlying.call(a);
        a.$courseChangeCooldown = 0;
        a.$waypointX = 0.0;
        a.$waypointY = 0.0;
        a.$waypointZ = 0.0;
        a.$targetedEntity = null;
        a.$aggroCooldown = 0;
        a.$prevAttackCounter = 0;
        a.$attackCounter = 0;
    }
    function nms_EntityGhast__init_0(var_0) {
        var var_1 = new nms_EntityGhast();
        nms_EntityGhast__init_(var_1, var_0);
        return var_1;
    }
    function nms_EntityGhast__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$courseChangeCooldown = 0;
            $this.$targetedEntity = null;
            $this.$aggroCooldown = 0;
            $this.$prevAttackCounter = 0;
            $this.$attackCounter = 0;
            $this.$texture = $rt_s(2010);
            nms_Entity_setSize($this, 4.0, 4.0);
            $this.$isImmuneToFire = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityGhast_updatePlayerActionState($this) {
        var $var1, $var3, $var5, $var7, var$5, var$6, $var11, $var13, $var15, $var17, var$11, $var20, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();$var20 = $thread.pop();var$11 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$worldObj0.$difficultySetting) {
                $ptr = 1;
                continue main;
            }
            $this.$prevAttackCounter = $this.$attackCounter;
            $var1 = $this.$waypointX - $this.$posX;
            $var3 = $this.$waypointY - $this.$posY;
            $var5 = $this.$waypointZ - $this.$posZ;
            $var7 = nms_MathHelper_sqrt_double($var1 * $var1 + $var3 * $var3 + $var5 * $var5);
            if (!($var7 >= 1.0 && $var7 <= 60.0)) {
                $this.$waypointX = $this.$posX + (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * 16.0;
                $this.$waypointY = $this.$posY + (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * 16.0;
                $this.$waypointZ = $this.$posZ + (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * 16.0;
            }
            var$5 = $this.$courseChangeCooldown;
            var$6 = var$5 - 1 | 0;
            $this.$courseChangeCooldown = var$6;
            if (var$5 <= 0) {
                $this.$courseChangeCooldown = var$6 + (ju_Random_nextInt($this.$rand3, 5) + 2 | 0) | 0;
                $var11 = $this.$waypointX;
                $var13 = $this.$waypointY;
                $var15 = $this.$waypointZ;
                $ptr = 2;
                continue main;
            }
            $var17 = $this.$targetedEntity;
            if ($var17 !== null && $var17.$isDead)
                $this.$targetedEntity = null;
            a: {
                if ($this.$targetedEntity !== null) {
                    var$5 = $this.$aggroCooldown;
                    $this.$aggroCooldown = var$5 - 1 | 0;
                    if (var$5 > 0)
                        break a;
                }
                $var17 = nms_World_getClosestPlayerToEntity($this.$worldObj0, $this, 100.0);
                $this.$targetedEntity = $var17;
                if ($var17 !== null)
                    $this.$aggroCooldown = 20;
            }
            $var17 = $this.$targetedEntity;
            if ($var17 !== null && nms_Entity_getDistanceSqToEntity($var17, $this) < 4096.0) {
                $var17 = $this.$targetedEntity;
                $var11 = $var17.$posX - $this.$posX;
                $var13 = $var17.$boundingBox.$minY0 + $var17.$height4 / 2.0 - ($this.$posY + $this.$height4 / 2.0);
                $var15 = $var17.$posZ - $this.$posZ;
                var$11 =  -jl_Math_atan2($var11, $var15) * 180.0 / 3.1415927410125732;
                $this.$rotationYaw = var$11;
                $this.$renderYawOffset = var$11;
                $var17 = $this.$targetedEntity;
                $ptr = 3;
                continue main;
            }
            var$11 =  -jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
            $this.$rotationYaw = var$11;
            $this.$renderYawOffset = var$11;
            var$5 = $this.$attackCounter;
            if (var$5 > 0)
                $this.$attackCounter = var$5 - 1 | 0;
            $this.$texture = $this.$attackCounter <= 10 ? $rt_s(2010) : $rt_s(2011);
            return;
        case 1:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$prevAttackCounter = $this.$attackCounter;
            $var1 = $this.$waypointX - $this.$posX;
            $var3 = $this.$waypointY - $this.$posY;
            $var5 = $this.$waypointZ - $this.$posZ;
            $var7 = nms_MathHelper_sqrt_double($var1 * $var1 + $var3 * $var3 + $var5 * $var5);
            if (!($var7 >= 1.0 && $var7 <= 60.0)) {
                $this.$waypointX = $this.$posX + (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * 16.0;
                $this.$waypointY = $this.$posY + (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * 16.0;
                $this.$waypointZ = $this.$posZ + (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * 16.0;
            }
            var$5 = $this.$courseChangeCooldown;
            var$6 = var$5 - 1 | 0;
            $this.$courseChangeCooldown = var$6;
            if (var$5 <= 0) {
                $this.$courseChangeCooldown = var$6 + (ju_Random_nextInt($this.$rand3, 5) + 2 | 0) | 0;
                $var11 = $this.$waypointX;
                $var13 = $this.$waypointY;
                $var15 = $this.$waypointZ;
                $ptr = 2;
                continue main;
            }
            $var17 = $this.$targetedEntity;
            if ($var17 !== null && $var17.$isDead)
                $this.$targetedEntity = null;
            b: {
                if ($this.$targetedEntity !== null) {
                    var$5 = $this.$aggroCooldown;
                    $this.$aggroCooldown = var$5 - 1 | 0;
                    if (var$5 > 0)
                        break b;
                }
                $var17 = nms_World_getClosestPlayerToEntity($this.$worldObj0, $this, 100.0);
                $this.$targetedEntity = $var17;
                if ($var17 !== null)
                    $this.$aggroCooldown = 20;
            }
            $var17 = $this.$targetedEntity;
            if ($var17 !== null && nms_Entity_getDistanceSqToEntity($var17, $this) < 4096.0) {
                $var17 = $this.$targetedEntity;
                $var11 = $var17.$posX - $this.$posX;
                $var13 = $var17.$boundingBox.$minY0 + $var17.$height4 / 2.0 - ($this.$posY + $this.$height4 / 2.0);
                $var15 = $var17.$posZ - $this.$posZ;
                var$11 =  -jl_Math_atan2($var11, $var15) * 180.0 / 3.1415927410125732;
                $this.$rotationYaw = var$11;
                $this.$renderYawOffset = var$11;
                $var17 = $this.$targetedEntity;
                $ptr = 3;
                continue main;
            }
            var$11 =  -jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
            $this.$rotationYaw = var$11;
            $this.$renderYawOffset = var$11;
            var$5 = $this.$attackCounter;
            if (var$5 > 0)
                $this.$attackCounter = var$5 - 1 | 0;
            $this.$texture = $this.$attackCounter <= 10 ? $rt_s(2010) : $rt_s(2011);
            return;
        case 2:
            $tmp = nms_EntityGhast_isCourseTraversable($this, $var11, $var13, $var15, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (!var$5) {
                $this.$waypointX = $this.$posX;
                $this.$waypointY = $this.$posY;
                $this.$waypointZ = $this.$posZ;
            } else {
                $this.$motionX = $this.$motionX + $var1 / $var7 * 0.1;
                $this.$motionY = $this.$motionY + $var3 / $var7 * 0.1;
                $this.$motionZ = $this.$motionZ + $var5 / $var7 * 0.1;
            }
            $var17 = $this.$targetedEntity;
            if ($var17 !== null && $var17.$isDead)
                $this.$targetedEntity = null;
            c: {
                if ($this.$targetedEntity !== null) {
                    var$5 = $this.$aggroCooldown;
                    $this.$aggroCooldown = var$5 - 1 | 0;
                    if (var$5 > 0)
                        break c;
                }
                $var17 = nms_World_getClosestPlayerToEntity($this.$worldObj0, $this, 100.0);
                $this.$targetedEntity = $var17;
                if ($var17 !== null)
                    $this.$aggroCooldown = 20;
            }
            $var17 = $this.$targetedEntity;
            if ($var17 !== null && nms_Entity_getDistanceSqToEntity($var17, $this) < 4096.0) {
                $var17 = $this.$targetedEntity;
                $var11 = $var17.$posX - $this.$posX;
                $var13 = $var17.$boundingBox.$minY0 + $var17.$height4 / 2.0 - ($this.$posY + $this.$height4 / 2.0);
                $var15 = $var17.$posZ - $this.$posZ;
                var$11 =  -jl_Math_atan2($var11, $var15) * 180.0 / 3.1415927410125732;
                $this.$rotationYaw = var$11;
                $this.$renderYawOffset = var$11;
                $var17 = $this.$targetedEntity;
                $ptr = 3;
                continue main;
            }
            var$11 =  -jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
            $this.$rotationYaw = var$11;
            $this.$renderYawOffset = var$11;
            var$5 = $this.$attackCounter;
            if (var$5 > 0)
                $this.$attackCounter = var$5 - 1 | 0;
            $this.$texture = $this.$attackCounter <= 10 ? $rt_s(2010) : $rt_s(2011);
            return;
        case 3:
            $tmp = nms_EntityLiving_canEntityBeSeen($this, $var17);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (!var$5) {
                var$5 = $this.$attackCounter;
                if (var$5 > 0)
                    $this.$attackCounter = var$5 - 1 | 0;
            } else {
                if ($this.$attackCounter == 10) {
                    $var17 = $this.$worldObj0;
                    $var20 = $rt_s(2012);
                    var$13 = 10.0;
                    var$11 = (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.20000000298023224 + 1.0;
                    $ptr = 4;
                    continue main;
                }
                var$5 = $this.$attackCounter + 1 | 0;
                $this.$attackCounter = var$5;
                if (var$5 == 20) {
                    $var17 = $this.$worldObj0;
                    $var20 = $rt_s(2013);
                    var$13 = 10.0;
                    var$11 = (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.20000000298023224 + 1.0;
                    $ptr = 5;
                    continue main;
                }
            }
            $this.$texture = $this.$attackCounter <= 10 ? $rt_s(2010) : $rt_s(2011);
            return;
        case 4:
            nms_World_playSoundAtEntity($var17, $this, $var20, var$13, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$attackCounter + 1 | 0;
            $this.$attackCounter = var$5;
            if (var$5 != 20) {
                $this.$texture = $this.$attackCounter <= 10 ? $rt_s(2010) : $rt_s(2011);
                return;
            }
            $var17 = $this.$worldObj0;
            $var20 = $rt_s(2013);
            var$13 = 10.0;
            var$11 = (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.20000000298023224 + 1.0;
            $ptr = 5;
        case 5:
            nms_World_playSoundAtEntity($var17, $this, $var20, var$13, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var17 = new nms_EntityFireball;
            $var20 = $this.$worldObj0;
            $ptr = 6;
        case 6:
            nms_EntityFireball__init_($var17, $var20, $this, $var11, $var13, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $var20 = nms_EntityLiving_getLook($this, 1.0);
            $var17.$posX = $this.$posX + $var20.$xCoord * 4.0;
            $var17.$posY = $this.$posY + $this.$height4 / 2.0 + 0.5;
            $var17.$posZ = $this.$posZ + $var20.$zCoord * 4.0;
            $var20 = $this.$worldObj0;
            $ptr = 7;
        case 7:
            $var20.$entityJoinedWorld($var17);
            if ($rt_suspending()) {
                break main;
            }
            $this.$attackCounter = (-40);
            $this.$texture = $this.$attackCounter <= 10 ? $rt_s(2010) : $rt_s(2011);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, $var7, var$5, var$6, $var11, $var13, $var15, $var17, var$11, $var20, var$13, $ptr);
    }
    function nms_EntityGhast_isCourseTraversable($this, $var1, $var3, $var5, $var7) {
        var $var9, $var11, $var13, $var15, $var16, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var9 = ($this.$waypointX - $this.$posX) / $var7;
            $var11 = ($this.$waypointY - $this.$posY) / $var7;
            $var13 = ($this.$waypointZ - $this.$posZ) / $var7;
            $var15 = nms_AxisAlignedBB_copy($this.$boundingBox);
            $var16 = 1;
            if ($var16 >= $var7)
                return 1;
            nms_AxisAlignedBB_offset($var15, $var9, $var11, $var13);
            var$10 = $this.$worldObj0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getCollidingBoundingBoxes(var$10, $this, $var15);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            if (var$10.$size0 > 0)
                return 0;
            $var16 = $var16 + 1 | 0;
            if ($var16 >= $var7)
                return 1;
            nms_AxisAlignedBB_offset($var15, $var9, $var11, $var13);
            var$10 = $this.$worldObj0;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, $var7, $var9, $var11, $var13, $var15, $var16, var$10, $ptr);
    }
    function nms_EntityGhast_getLivingSound($this) {
        return $rt_s(2014);
    }
    function nms_EntityGhast_getHurtSound($this) {
        return $rt_s(2015);
    }
    function nms_EntityGhast_getDeathSound($this) {
        return $rt_s(2016);
    }
    function nms_EntityGhast_getDropItemId($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_gunpowder.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntityGhast_getSoundVolume($this) {
        return 10.0;
    }
    function nms_EntityGhast_getCanSpawnHere($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (ju_Random_nextInt($this.$rand3, 20))
                return 0;
            $ptr = 1;
        case 1:
            $tmp = nms_EntityLiving_getCanSpawnHere($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1 && $this.$worldObj0.$difficultySetting > 0 ? 1 : 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_EntityGhast_getMaxSpawnedInChunk($this) {
        return 1;
    }
    var nms_RenderGhast = $rt_classWithoutFields(nms_RenderLiving);
    function nms_RenderGhast__init_0() {
        var var_0 = new nms_RenderGhast();
        nms_RenderGhast__init_(var_0);
        return var_0;
    }
    function nms_RenderGhast__init_($this) {
        nms_RenderLiving__init_($this, nms_ModelGhast__init_0(), 0.5);
    }
    function nms_RenderGhast_preRenderCallback($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            var$3 = $var1.$prevAttackCounter;
            $var2 = (var$3 + ($var1.$attackCounter - var$3 | 0) * $var2) / 20.0;
            if ($var2 < 0.0)
                $var2 = 0.0;
            $var2 = 1.0 / ($var2 * $var2 * $var2 * $var2 * $var2 * 2.0 + 1.0);
            var$4 = (8.0 + $var2) / 2.0;
            $var2 = (8.0 + 1.0 / $var2) / 2.0;
            $ptr = 1;
        case 1:
            olo_GL11_glScalef($var2, var$4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 1.0;
            var$5 = 1.0;
            var$6 = 1.0;
            $var2 = 1.0;
            $ptr = 2;
        case 2:
            nleo_GlStateManager_color(var$4, var$5, var$6, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, $ptr);
    }
    var nms_EntityWaterMob = $rt_classWithoutFields(nms_EntityCreature);
    function nms_EntityWaterMob_canBreatheUnderwater($this) {
        return 1;
    }
    function nms_EntityWaterMob_getCanSpawnHere($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$worldObj0;
            var$2 = $this.$boundingBox;
            $ptr = 1;
        case 1:
            $tmp = nms_World_checkIfAABBIsClear(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_EntityWaterMob_getTalkInterval($this) {
        return 120;
    }
    function nms_EntitySquid() {
        var a = this; nms_EntityWaterMob.call(a);
        a.$field_21089_a = 0.0;
        a.$field_21088_b = 0.0;
        a.$field_21087_c = 0.0;
        a.$field_21086_f = 0.0;
        a.$field_21085_g = 0.0;
        a.$field_21084_h = 0.0;
        a.$field_21083_i = 0.0;
        a.$field_21082_j = 0.0;
        a.$randomMotionSpeed = 0.0;
        a.$field_21080_l = 0.0;
        a.$field_21079_m = 0.0;
        a.$randomMotionVecX = 0.0;
        a.$randomMotionVecY = 0.0;
        a.$randomMotionVecZ = 0.0;
    }
    function nms_EntitySquid__init_0(var_0) {
        var var_1 = new nms_EntitySquid();
        nms_EntitySquid__init_(var_1, var_0);
        return var_1;
    }
    function nms_EntitySquid__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityCreature__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_21089_a = 0.0;
            $this.$field_21088_b = 0.0;
            $this.$field_21087_c = 0.0;
            $this.$field_21086_f = 0.0;
            $this.$field_21085_g = 0.0;
            $this.$field_21084_h = 0.0;
            $this.$field_21083_i = 0.0;
            $this.$field_21082_j = 0.0;
            $this.$randomMotionSpeed = 0.0;
            $this.$field_21080_l = 0.0;
            $this.$field_21079_m = 0.0;
            $this.$randomMotionVecX = 0.0;
            $this.$randomMotionVecY = 0.0;
            $this.$randomMotionVecZ = 0.0;
            $this.$texture = $rt_s(2017);
            nms_Entity_setSize($this, 0.949999988079071, 0.949999988079071);
            $this.$field_21080_l = 1.0 / (ju_Random_nextFloat($this.$rand3) + 1.0) * 0.20000000298023224;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntitySquid_writeEntityToNBT($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_writeEntityToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntitySquid_readEntityFromNBT($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_readEntityFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntitySquid_getLivingSound($this) {
        return null;
    }
    function nms_EntitySquid_getHurtSound($this) {
        return null;
    }
    function nms_EntitySquid_getDeathSound($this) {
        return null;
    }
    function nms_EntitySquid_getSoundVolume($this) {
        return 0.4000000059604645;
    }
    function nms_EntitySquid_getDropItemId($this) {
        return 0;
    }
    function nms_EntitySquid_dropFewItems($this) {
        var $var1, $var2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = ju_Random_nextInt($this.$rand3, 3) + 1 | 0;
            $var2 = 0;
            if ($var2 >= $var1)
                return;
            var$3 = new nms_ItemStack;
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_4(var$3, nms_Item_dyePowder, 1, 0);
            var$4 = 0.0;
            $ptr = 2;
        case 2:
            nms_Entity_entityDropItem($this, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 >= $var1)
                return;
            var$3 = new nms_ItemStack;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_EntitySquid_interact($this, $var1) {
        return 0;
    }
    function nms_EntitySquid_handleWaterMovement($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$worldObj0;
            var$2 = nms_AxisAlignedBB_expand($this.$boundingBox, 0.0, (-0.6000000238418579), 0.0);
            nms_Material_$callClinit();
            var$3 = nms_Material_water;
            $ptr = 1;
        case 1:
            $tmp = nms_World_handleMaterialAcceleration(var$1, var$2, var$3, $this);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return var$4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_EntitySquid_onLivingUpdate($this) {
        var $var1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_onLivingUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_21088_b = $this.$field_21089_a;
            $this.$field_21086_f = $this.$field_21087_c;
            $var1 = $this.$field_21085_g;
            $this.$field_21084_h = $var1;
            $this.$field_21082_j = $this.$field_21083_i;
            $var1 = $var1 + $this.$field_21080_l;
            $this.$field_21085_g = $var1;
            if ($var1 > 6.2831854820251465) {
                $this.$field_21085_g = $var1 - 6.2831854820251465;
                if (!ju_Random_nextInt($this.$rand3, 10))
                    $this.$field_21080_l = 1.0 / (ju_Random_nextFloat($this.$rand3) + 1.0) * 0.20000000298023224;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_EntitySquid_handleWaterMovement($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (!var$2) {
                $this.$field_21083_i = nms_MathHelper_abs(nms_MathHelper_sin($this.$field_21085_g)) * 3.1415927410125732 * 0.25;
                if (!$this.$field_9343_G) {
                    $this.$motionX = 0.0;
                    var$3 = $this.$motionY - 0.08;
                    $this.$motionY = var$3;
                    $this.$motionY = var$3 * 0.9800000190734863;
                    $this.$motionZ = 0.0;
                }
                var$4 = $this.$field_21089_a;
                $this.$field_21089_a = var$4 + ((-90.0) - var$4) * 0.02;
            } else {
                $var1 = $this.$field_21085_g;
                if ($var1 >= 3.1415927410125732) {
                    $this.$field_21083_i = 0.0;
                    $this.$randomMotionSpeed = $this.$randomMotionSpeed * 0.8999999761581421;
                    $this.$field_21079_m = $this.$field_21079_m * 0.9900000095367432;
                } else {
                    $var1 = $var1 / 3.1415927410125732;
                    $this.$field_21083_i = nms_MathHelper_sin($var1 * $var1 * 3.1415927410125732) * 3.1415927410125732 * 0.25;
                    if ($var1 <= 0.75)
                        $this.$field_21079_m = $this.$field_21079_m * 0.800000011920929;
                    else {
                        $this.$randomMotionSpeed = 1.0;
                        $this.$field_21079_m = 1.0;
                    }
                }
                if (!$this.$field_9343_G) {
                    $var1 = $this.$randomMotionVecX;
                    var$4 = $this.$randomMotionSpeed;
                    $this.$motionX = $var1 * var$4;
                    $this.$motionY = $this.$randomMotionVecY * var$4;
                    $this.$motionZ = $this.$randomMotionVecZ * var$4;
                }
                var$3 = $this.$motionX;
                var$3 = var$3 * var$3;
                var$5 = $this.$motionZ;
                $var1 = nms_MathHelper_sqrt_double(var$3 + var$5 * var$5);
                var$4 = $this.$renderYawOffset + ( -jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732 - $this.$renderYawOffset) * 0.10000000149011612;
                $this.$renderYawOffset = var$4;
                $this.$rotationYaw = var$4;
                $this.$field_21087_c = $this.$field_21087_c + 3.1415927410125732 * $this.$field_21079_m * 1.5;
                $this.$field_21089_a = $this.$field_21089_a + ( -jl_Math_atan2($var1, $this.$motionY) * 180.0 / 3.1415927410125732 - $this.$field_21089_a) * 0.10000000149011612;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_EntitySquid_moveEntityWithHeading($this, $var1, $var2) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$motionX;
            var$4 = $this.$motionY;
            var$5 = $this.$motionZ;
            $ptr = 1;
        case 1:
            nms_Entity_moveEntity($this, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, $ptr);
    }
    function nms_EntitySquid_updatePlayerActionState($this) {
        var $var1;
        a: {
            if (ju_Random_nextInt($this.$rand3, 50) && $this.$inWater) {
                if ($this.$randomMotionVecX !== 0.0)
                    break a;
                if ($this.$randomMotionVecY !== 0.0)
                    break a;
                if ($this.$randomMotionVecZ !== 0.0)
                    break a;
            }
            $var1 = ju_Random_nextFloat($this.$rand3) * 3.1415927410125732 * 2.0;
            $this.$randomMotionVecX = nms_MathHelper_cos($var1) * 0.20000000298023224;
            $this.$randomMotionVecY = (-0.10000000149011612) + ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
            $this.$randomMotionVecZ = nms_MathHelper_sin($var1) * 0.20000000298023224;
        }
    }
    var nms_RenderSquid = $rt_classWithoutFields(nms_RenderLiving);
    function nms_RenderSquid_preRenderCallback($this, $var1, $var2) {}
    function nms_RenderSquid_func_170_d($this, $var1, $var2) {
        var var$3;
        $var1 = $var1;
        var$3 = $var1.$field_21082_j;
        return var$3 + ($var1.$field_21083_i - var$3) * $var2;
    }
    function nms_RenderSquid_func_21004_a($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $var2 = $var1.$field_21088_b;
            $var2 = $var2 + ($var1.$field_21089_a - $var2) * $var4;
            var$5 = $var1.$field_21086_f;
            $var4 = var$5 + ($var1.$field_21087_c - var$5) * $var4;
            var$5 = 0.0;
            var$6 = 0.5;
            var$7 = 0.0;
            $ptr = 1;
        case 1:
            olo_GL11_glTranslatef(var$5, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = 180.0 - $var3;
            var$6 = 0.0;
            var$7 = 1.0;
            $var3 = 0.0;
            $ptr = 2;
        case 2:
            olo_GL11_glRotatef(var$5, var$6, var$7, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 1.0;
            var$5 = 0.0;
            var$6 = 0.0;
            $ptr = 3;
        case 3:
            olo_GL11_glRotatef($var2, $var3, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 0.0;
            $var3 = 1.0;
            var$5 = 0.0;
            $ptr = 4;
        case 4:
            olo_GL11_glRotatef($var4, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 0.0;
            $var3 = (-1.2000000476837158);
            $var4 = 0.0;
            $ptr = 5;
        case 5:
            olo_GL11_glTranslatef($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, $ptr);
    }
    function nms_RenderSquid_doRenderLiving($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            nms_RenderLiving_doRenderLiving($this, $var1, $var2, $var4, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $ptr);
    }
    function nms_RenderSquid_doRender($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            nms_RenderLiving_doRenderLiving($this, $var1, $var2, $var4, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $ptr);
    }
    function nms_ModelSquid() {
        var a = this; nms_ModelBase.call(a);
        a.$squidBody = null;
        a.$squidTentacles = null;
    }
    function nms_ModelSquid__init_0() {
        var var_0 = new nms_ModelSquid();
        nms_ModelSquid__init_(var_0);
        return var_0;
    }
    function nms_ModelSquid__init_($this) {
        var var$1, $var2, var$3, var$4, $var3, $var5, $var6;
        nms_ModelBase__init_($this);
        $this.$squidTentacles = $rt_createArray(nms_ModelRenderer, 8);
        var$1 = nms_ModelRenderer__init_(0, 0);
        $this.$squidBody = var$1;
        nms_ModelRenderer_addBox0(var$1, (-6.0), (-8.0), (-6.0), 12, 16, 12);
        var$1 = $this.$squidBody;
        var$1.$offsetY = var$1.$offsetY + 8.0;
        $var2 = 0;
        while (true) {
            var$3 = $this.$squidTentacles.data;
            if ($var2 >= var$3.length)
                break;
            var$3[$var2] = nms_ModelRenderer__init_(48, 0);
            var$4 = $var2 * 3.141592653589793;
            $var3 = var$4 * 2.0 / $this.$squidTentacles.data.length;
            $var5 = jl_Math_cos($var3) * 5.0;
            $var6 = jl_Math_sin($var3) * 5.0;
            nms_ModelRenderer_addBox0($this.$squidTentacles.data[$var2], (-1.0), 0.0, (-1.0), 2, 18, 2);
            var$3 = $this.$squidTentacles.data;
            var$3[$var2].$offsetX = $var5;
            var$3[$var2].$offsetZ = $var6;
            var$3[$var2].$offsetY = 15.0;
            var$4 = var$4 * (-2.0) / var$3.length + 1.5707963267948966;
            var$3[$var2].$rotateAngleY = var$4;
            $var2 = $var2 + 1 | 0;
        }
    }
    function nms_ModelSquid_render($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, var$8, var$9, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$7 = 0;
            while (true) {
                var$8 = $this.$squidTentacles.data;
                if (var$7 >= var$8.length)
                    break;
                var$8[var$7].$rotateAngleX = $var3;
                var$7 = var$7 + 1 | 0;
            }
            var$9 = $this.$squidBody;
            $ptr = 1;
        case 1:
            nms_ModelRenderer_render(var$9, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 0;
            var$8 = $this.$squidTentacles.data;
            if ($var7 >= var$8.length)
                return;
            var$9 = var$8[$var7];
            $ptr = 2;
        case 2:
            nms_ModelRenderer_render(var$9, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var7 + 1 | 0;
            var$8 = $this.$squidTentacles.data;
            if ($var7 >= var$8.length)
                return;
            var$9 = var$8[$var7];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, var$9, $var7, $ptr);
    }
    var nms_RenderEntity = $rt_classWithoutFields(nms_Render);
    function nms_RenderEntity__init_0() {
        var var_0 = new nms_RenderEntity();
        nms_RenderEntity__init_(var_0);
        return var_0;
    }
    function nms_RenderEntity__init_($this) {
        nms_Render__init_($this);
    }
    function nms_RenderEntity_doRender($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $var1.$boundingBox;
            var$8 = $var2 - $var1.$lastTickPosX;
            $var2 = $var4 - $var1.$lastTickPosY;
            $var4 = $var6 - $var1.$lastTickPosZ;
            $ptr = 2;
        case 2:
            nms_Render_renderOffsetAABB(var$7, var$8, $var2, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, var$7, var$8, $ptr);
    }
    function nms_EntityPainting() {
        var a = this; nms_Entity.call(a);
        a.$field_695_c = 0;
        a.$direction = 0;
        a.$xPosition0 = 0;
        a.$yPosition0 = 0;
        a.$zPosition0 = 0;
        a.$art = null;
    }
    function nms_EntityPainting__init_2(var_0) {
        var var_1 = new nms_EntityPainting();
        nms_EntityPainting__init_0(var_1, var_0);
        return var_1;
    }
    function nms_EntityPainting__init_0($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_695_c = 0;
            $this.$direction = 0;
            $this.$yOffset = 0.0;
            nms_Entity_setSize($this, 0.5, 0.5);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityPainting_entityInit($this) {}
    function nms_EntityPainting_func_412_b($this, $var1) {
        var $var4, var$3, var$4, $var3, $var9, var$7, var$8, $var5, $var6, $var7, var$12, var$13, var$14;
        $this.$direction = $var1;
        $var4 = $var1 * 90 | 0;
        $this.$rotationYaw = $var4;
        $this.$prevRotationYaw = $var4;
        var$3 = $this.$art;
        var$4 = var$3.$sizeX;
        $var4 = var$4;
        $var3 = var$3.$sizeY;
        if ($var1 && $var1 != 2) {
            $var9 = $var4;
            $var4 = 0.5;
        } else
            $var9 = 0.5;
        $var4 = $var4 / 32.0;
        var$7 = $var3 / 32.0;
        var$8 = $var9 / 32.0;
        $var5 = $this.$xPosition0 + 0.5;
        $var6 = $this.$yPosition0 + 0.5;
        $var7 = $this.$zPosition0 + 0.5;
        if (!$var1)
            $var7 = $var7 - 0.5625;
        var$12 = $rt_compare($var1, 1);
        if (!var$12)
            $var5 = $var5 - 0.5625;
        var$13 = $rt_compare($var1, 2);
        if (!var$13)
            $var7 = $var7 + 0.5625;
        var$14 = $rt_compare($var1, 3);
        if (!var$14)
            $var5 = $var5 + 0.5625;
        if (!$var1)
            $var5 = $var5 - nms_EntityPainting_func_411_c($this, var$4);
        if (!var$12)
            $var7 = $var7 + nms_EntityPainting_func_411_c($this, $this.$art.$sizeX);
        if (!var$13)
            $var5 = $var5 + nms_EntityPainting_func_411_c($this, $this.$art.$sizeX);
        if (!var$14)
            $var7 = $var7 - nms_EntityPainting_func_411_c($this, $this.$art.$sizeX);
        $var3 = $var6 + nms_EntityPainting_func_411_c($this, $this.$art.$sizeY);
        nms_Entity_setPosition($this, $var5, $var3, $var7);
        nms_AxisAlignedBB_setBounds($this.$boundingBox, $var5 - $var4 + 0.0062500000931322575, $var3 - var$7 + 0.0062500000931322575, $var7 - var$8 + 0.0062500000931322575, $var5 + $var4 + (-0.0062500000931322575), $var3 + var$7 + (-0.0062500000931322575), $var7 + var$8 + (-0.0062500000931322575));
    }
    function nms_EntityPainting_func_411_c($this, $var1) {
        return $var1 == 32 ? 0.5 : $var1 != 64 ? 0.0 : 0.5;
    }
    function nms_EntityPainting_onUpdate($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$field_695_c;
            $this.$field_695_c = var$1 + 1 | 0;
            if (var$1 == 100 && !$this.$worldObj0.$multiplayerWorld) {
                $this.$field_695_c = 0;
                $ptr = 1;
                continue main;
            }
            return;
        case 1:
            $tmp = nms_EntityPainting_func_410_i($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (var$2)
                return;
            $ptr = 2;
        case 2:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$worldObj0;
            var$4 = new nms_EntityItem;
            var$5 = $this.$posX;
            var$6 = $this.$posY;
            var$7 = $this.$posZ;
            var$8 = new nms_ItemStack;
            $ptr = 3;
        case 3:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_(var$8, nms_Item_painting);
            $ptr = 4;
        case 4:
            nms_EntityItem__init_(var$4, var$3, var$5, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            var$3.$entityJoinedWorld(var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_EntityPainting_func_410_i($this) {
        var $var8, $var9, $var7, $var1, $var2, $var3, $var5, var$8, $var6, $var7_0, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var7_0 = $thread.pop();$var6 = $thread.pop();var$8 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var7 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var8 = $this.$worldObj0;
            $var9 = $this.$boundingBox;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getCollidingBoundingBoxes($var8, $this, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8.$size0 > 0)
                return 0;
            $var8 = $this.$art;
            $var7 = $var8.$sizeX;
            $var1 = $var7 / 16 | 0;
            $var2 = $var8.$sizeY / 16 | 0;
            $var3 = $this.$xPosition0;
            $var5 = $this.$zPosition0;
            if (!$this.$direction)
                $var3 = nms_MathHelper_floor_double($this.$posX - $var7 / 32.0);
            if ($this.$direction == 1)
                $var5 = nms_MathHelper_floor_double($this.$posZ - $this.$art.$sizeX / 32.0);
            if ($this.$direction == 2)
                $var3 = nms_MathHelper_floor_double($this.$posX - $this.$art.$sizeX / 32.0);
            if ($this.$direction == 3)
                $var5 = nms_MathHelper_floor_double($this.$posZ - $this.$art.$sizeX / 32.0);
            var$8 = nms_MathHelper_floor_double($this.$posY - $this.$art.$sizeY / 32.0);
            $var6 = 0;
            while ($var6 < $var1) {
                $var7_0 = 0;
                if ($var7_0 < $var2) {
                    var$11 = $this.$direction;
                    if (var$11 && var$11 != 2) {
                        $var8 = $this.$worldObj0;
                        $var7 = $this.$xPosition0;
                        var$11 = var$8 + $var7_0 | 0;
                        var$12 = $var5 + $var6 | 0;
                        $ptr = 4;
                        continue main;
                    }
                    $var8 = $this.$worldObj0;
                    $var7 = $var3 + $var6 | 0;
                    var$11 = var$8 + $var7_0 | 0;
                    var$12 = $this.$zPosition0;
                    $ptr = 3;
                    continue main;
                }
                $var6 = $var6 + 1 | 0;
            }
            $var8 = $this.$worldObj0;
            $var9 = $this.$boundingBox;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getEntitiesWithinAABBExcludingEntity($var8, $this, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $var7 = 0;
            while ($var7 < $var9.$size0) {
                if (ju_ArrayList_get($var9, $var7) instanceof nms_EntityPainting)
                    return 0;
                $var7 = $var7 + 1 | 0;
            }
            return 1;
        case 3:
            $tmp = nms_World_getBlockMaterial($var8, $var7, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if (!$var8.$isSolid())
                return 0;
            $var7_0 = $var7_0 + 1 | 0;
            while (true) {
                if ($var7_0 < $var2) {
                    var$11 = $this.$direction;
                    if (var$11 && var$11 != 2) {
                        $var8 = $this.$worldObj0;
                        $var7 = $this.$xPosition0;
                        var$11 = var$8 + $var7_0 | 0;
                        var$12 = $var5 + $var6 | 0;
                        $ptr = 4;
                        continue main;
                    }
                    $var8 = $this.$worldObj0;
                    $var7 = $var3 + $var6 | 0;
                    var$11 = var$8 + $var7_0 | 0;
                    var$12 = $this.$zPosition0;
                    continue main;
                }
                $var6 = $var6 + 1 | 0;
                if ($var6 >= $var1)
                    break;
                $var7_0 = 0;
            }
            $var8 = $this.$worldObj0;
            $var9 = $this.$boundingBox;
            $ptr = 2;
            continue main;
        case 4:
            $tmp = nms_World_getBlockMaterial($var8, $var7, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if (!$var8.$isSolid())
                return 0;
            $var7_0 = $var7_0 + 1 | 0;
            while (true) {
                if ($var7_0 < $var2) {
                    var$11 = $this.$direction;
                    if (var$11 && var$11 != 2) {
                        $var8 = $this.$worldObj0;
                        $var7 = $this.$xPosition0;
                        var$11 = var$8 + $var7_0 | 0;
                        var$12 = $var5 + $var6 | 0;
                        continue main;
                    }
                    $var8 = $this.$worldObj0;
                    $var7 = $var3 + $var6 | 0;
                    var$11 = var$8 + $var7_0 | 0;
                    var$12 = $this.$zPosition0;
                    $ptr = 3;
                    continue main;
                }
                $var6 = $var6 + 1 | 0;
                if ($var6 >= $var1)
                    break;
                $var7_0 = 0;
            }
            $var8 = $this.$worldObj0;
            $var9 = $this.$boundingBox;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var8, $var9, $var7, $var1, $var2, $var3, $var5, var$8, $var6, $var7_0, var$11, var$12, $ptr);
    }
    function nms_EntityPainting_canBeCollidedWith($this) {
        return 1;
    }
    function nms_EntityPainting_attackEntityFrom($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$isDead && !$this.$worldObj0.$multiplayerWorld) {
                $ptr = 1;
                continue main;
            }
            return 1;
        case 1:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            nms_Entity_setBeenAttacked($this);
            var$3 = $this.$worldObj0;
            $var1 = new nms_EntityItem;
            var$4 = $this.$posX;
            var$5 = $this.$posY;
            var$6 = $this.$posZ;
            var$7 = new nms_ItemStack;
            $ptr = 2;
        case 2:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_(var$7, nms_Item_painting);
            $ptr = 3;
        case 3:
            nms_EntityItem__init_($var1, var$3, var$4, var$5, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            var$3.$entityJoinedWorld($var1);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_EntityPainting_writeEntityToNBT($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(2018);
            var$3 = $this.$direction << 24 >> 24;
            $ptr = 1;
        case 1:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2019);
            var$4 = $this.$art.$title;
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setString($var1, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2020);
            var$3 = $this.$xPosition0;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setInteger($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2021);
            var$3 = $this.$yPosition0;
            $ptr = 4;
        case 4:
            nms_NBTTagCompound_setInteger($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2022);
            var$3 = $this.$zPosition0;
            $ptr = 5;
        case 5:
            nms_NBTTagCompound_setInteger($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_EntityPainting_readEntityFromNBT($this, $var1) {
        var $var2, $var4, $var3, $var5, $var6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $rt_s(2018);
            $ptr = 1;
        case 1:
            $tmp = nms_NBTTagCompound_getByte($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $this.$direction = $var4;
            $var2 = $rt_s(2020);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getInteger($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $this.$xPosition0 = $var4;
            $var2 = $rt_s(2021);
            $ptr = 3;
        case 3:
            $tmp = nms_NBTTagCompound_getInteger($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $this.$yPosition0 = $var4;
            $var2 = $rt_s(2022);
            $ptr = 4;
        case 4:
            $tmp = nms_NBTTagCompound_getInteger($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $this.$zPosition0 = $var4;
            $var2 = $rt_s(2019);
            $ptr = 5;
        case 5:
            $tmp = nms_NBTTagCompound_getString($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var3 = (nms_EnumArt_values()).data;
            $var4 = $var3.length;
            $var5 = 0;
            if ($var5 >= $var4) {
                if ($this.$art === null)
                    $this.$art = nms_EnumArt_Kebab;
                nms_EntityPainting_func_412_b($this, $this.$direction);
                return;
            }
            $var6 = $var3[$var5];
            $var1 = $var6.$title;
            $ptr = 6;
        case 6:
            $tmp = jl_String_equals($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7)
                $this.$art = $var6;
            $var5 = $var5 + 1 | 0;
            if ($var5 >= $var4) {
                if ($this.$art === null)
                    $this.$art = nms_EnumArt_Kebab;
                nms_EntityPainting_func_412_b($this, $this.$direction);
                return;
            }
            $var6 = $var3[$var5];
            $var1 = $var6.$title;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var3, $var5, $var6, var$7, $ptr);
    }
    function nms_RenderPainting() {
        nms_Render.call(this);
        this.$rand5 = null;
    }
    function nms_RenderPainting__init_0() {
        var var_0 = new nms_RenderPainting();
        nms_RenderPainting__init_(var_0);
        return var_0;
    }
    function nms_RenderPainting__init_($this) {
        nms_Render__init_($this);
        $this.$rand5 = new ju_Random;
    }
    function nms_RenderPainting_func_159_a($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var10, var$9, var$10, var$11, var$12, $var12, var$14, $var13, $var11, $var14, $var11_0, $var15, $var17, $var18, var$22, var$23, var$24, $var32, $var16, $var19, var$28, var$29, var$30, var$31, var$32, var$33, var$34, var$35, var$36, var$37, var$38, var$39, var$40, var$41, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$41 = $thread.pop();var$40 = $thread.pop();var$39 = $thread.pop();var$38 = $thread.pop();var$37 = $thread.pop();var$36 = $thread.pop();var$35 = $thread.pop();var$34 = $thread.pop();var$33 = $thread.pop();var$32 = $thread.pop();var$31 = $thread.pop();var$30 = $thread.pop();var$29 = $thread.pop();var$28 = $thread.pop();$var19 = $thread.pop();$var16 = $thread.pop();$var32 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();$var18 = $thread.pop();$var17
            = $thread.pop();$var15 = $thread.pop();$var11_0 = $thread.pop();$var14 = $thread.pop();$var11 = $thread.pop();$var13 = $thread.pop();var$14 = $thread.pop();$var12 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var10 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = ( -$var2 | 0) / 2.0;
            $var7 = ( -$var3 | 0) / 2.0;
            $var10 = 0;
            var$9 = $var2 / 16 | 0;
            var$10 = $var3 / 16 | 0;
            var$11 = $var4 + $var2 | 0;
            var$12 = $var5 + $var3 | 0;
            while ($var10 < var$9) {
                if (0 < var$10) {
                    $var2 = ($var10 + 1 | 0) * 16 | 0;
                    $var12 = $var6 + $var2;
                    var$14 = $var10 * 16 | 0;
                    $var13 = $var6 + var$14;
                    $var11 = 0 + 1 | 0;
                    $var5 = $var11 * 16 | 0;
                    $var14 = $var7 + $var5;
                    $var11_0 = 0 * 16 | 0;
                    $var15 = $var7 + $var11_0;
                    $var17 = ($var12 + $var13) / 2.0;
                    $var18 = ($var14 + $var15) / 2.0;
                    var$22 = nms_MathHelper_floor_double($var1.$posX);
                    var$23 = nms_MathHelper_floor_double($var1.$posY + $var18 / 16.0);
                    var$24 = nms_MathHelper_floor_double($var1.$posZ);
                    if (!$var1.$direction)
                        var$22 = nms_MathHelper_floor_double($var1.$posX + $var17 / 16.0);
                    if ($var1.$direction == 1)
                        var$24 = nms_MathHelper_floor_double($var1.$posZ - $var17 / 16.0);
                    if ($var1.$direction == 2)
                        var$22 = nms_MathHelper_floor_double($var1.$posX - $var17 / 16.0);
                    if ($var1.$direction == 3)
                        var$24 = nms_MathHelper_floor_double($var1.$posZ + $var17 / 16.0);
                    $var32 = $this.$renderManager.$worldObj2;
                    $ptr = 1;
                    continue main;
                }
                $var10 = $var10 + 1 | 0;
            }
            return;
        case 1:
            $tmp = nms_World_getLightBrightness($var32, var$22, var$23, var$24);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            $ptr = 2;
        case 2:
            olo_GL11_glColor3f($var16, $var16, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = (var$11 - var$14 | 0) / 256.0;
            $var17 = (var$11 - $var2 | 0) / 256.0;
            $var18 = (var$12 - $var11_0 | 0) / 256.0;
            $var19 = (var$12 - $var5 | 0) / 256.0;
            $ptr = 3;
        case 3:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var32 = nms_Tessellator_instance;
            $ptr = 4;
        case 4:
            nms_Tessellator_startDrawingQuads($var32);
            if ($rt_suspending()) {
                break main;
            }
            var$28 = 0.0;
            var$29 = 0.0;
            var$30 = (-1.0);
            $ptr = 5;
        case 5:
            nms_Tessellator_setNormal($var32, var$28, var$29, var$30);
            if ($rt_suspending()) {
                break main;
            }
            var$31 = $var12;
            var$32 = $var15;
            var$33 = (-0.5);
            var$34 = $var17;
            var$35 = $var18;
            $ptr = 6;
        case 6:
            nms_Tessellator_addVertexWithUV($var32, var$31, var$32, var$33, var$34, var$35);
            if ($rt_suspending()) {
                break main;
            }
            var$36 = $var13;
            var$37 = $var16;
            $ptr = 7;
        case 7:
            nms_Tessellator_addVertexWithUV($var32, var$36, var$32, var$33, var$37, var$35);
            if ($rt_suspending()) {
                break main;
            }
            var$35 = $var14;
            var$38 = $var19;
            $ptr = 8;
        case 8:
            nms_Tessellator_addVertexWithUV($var32, var$36, var$35, var$33, var$37, var$38);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var32, var$31, var$35, var$33, var$34, var$38);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = 0.0;
            $var12 = 0.0;
            $var13 = 1.0;
            $ptr = 10;
        case 10:
            nms_Tessellator_setNormal($var32, $var16, $var12, $var13);
            if ($rt_suspending()) {
                break main;
            }
            var$34 = 0.5;
            var$37 = 0.75;
            var$38 = 0.0;
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var32, var$31, var$35, var$34, var$37, var$38);
            if ($rt_suspending()) {
                break main;
            }
            var$39 = 0.8125;
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertexWithUV($var32, var$36, var$35, var$34, var$39, var$38);
            if ($rt_suspending()) {
                break main;
            }
            var$40 = 0.0625;
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var32, var$36, var$32, var$34, var$39, var$40);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            nms_Tessellator_addVertexWithUV($var32, var$31, var$32, var$34, var$37, var$40);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = 0.0;
            $var12 = (-1.0);
            $var13 = 0.0;
            $ptr = 15;
        case 15:
            nms_Tessellator_setNormal($var32, $var16, $var12, $var13);
            if ($rt_suspending()) {
                break main;
            }
            var$41 = 0.001953125;
            $ptr = 16;
        case 16:
            nms_Tessellator_addVertexWithUV($var32, var$31, var$35, var$33, var$37, var$41);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            nms_Tessellator_addVertexWithUV($var32, var$36, var$35, var$33, var$39, var$41);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 18;
        case 18:
            nms_Tessellator_addVertexWithUV($var32, var$36, var$35, var$34, var$39, var$41);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 19;
        case 19:
            nms_Tessellator_addVertexWithUV($var32, var$31, var$35, var$34, var$37, var$41);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = 0.0;
            $var12 = 1.0;
            $var13 = 0.0;
            $ptr = 20;
        case 20:
            nms_Tessellator_setNormal($var32, $var16, $var12, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 21;
        case 21:
            nms_Tessellator_addVertexWithUV($var32, var$31, var$32, var$34, var$37, var$41);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 22;
        case 22:
            nms_Tessellator_addVertexWithUV($var32, var$36, var$32, var$34, var$39, var$41);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 23;
        case 23:
            nms_Tessellator_addVertexWithUV($var32, var$36, var$32, var$33, var$39, var$41);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 24;
        case 24:
            nms_Tessellator_addVertexWithUV($var32, var$31, var$32, var$33, var$37, var$41);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = (-1.0);
            $var12 = 0.0;
            $var13 = 0.0;
            $ptr = 25;
        case 25:
            nms_Tessellator_setNormal($var32, $var16, $var12, $var13);
            if ($rt_suspending()) {
                break main;
            }
            var$37 = 0.751953125;
            $ptr = 26;
        case 26:
            nms_Tessellator_addVertexWithUV($var32, var$31, var$35, var$34, var$37, var$38);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 27;
        case 27:
            nms_Tessellator_addVertexWithUV($var32, var$31, var$32, var$34, var$37, var$40);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 28;
        case 28:
            nms_Tessellator_addVertexWithUV($var32, var$31, var$32, var$33, var$37, var$40);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 29;
        case 29:
            nms_Tessellator_addVertexWithUV($var32, var$31, var$35, var$33, var$37, var$38);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = 1.0;
            $var12 = 0.0;
            $var13 = 0.0;
            $ptr = 30;
        case 30:
            nms_Tessellator_setNormal($var32, $var16, $var12, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 31;
        case 31:
            nms_Tessellator_addVertexWithUV($var32, var$36, var$35, var$33, var$37, var$38);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 32;
        case 32:
            nms_Tessellator_addVertexWithUV($var32, var$36, var$32, var$33, var$37, var$40);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 33;
        case 33:
            nms_Tessellator_addVertexWithUV($var32, var$36, var$32, var$34, var$37, var$40);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 34;
        case 34:
            nms_Tessellator_addVertexWithUV($var32, var$36, var$35, var$34, var$37, var$38);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 35;
        case 35:
            nms_Tessellator_draw($var32);
            if ($rt_suspending()) {
                break main;
            }
            $var11_0 = $var11;
            while (true) {
                if ($var11_0 < var$10) {
                    $var2 = ($var10 + 1 | 0) * 16 | 0;
                    $var12 = $var6 + $var2;
                    var$14 = $var10 * 16 | 0;
                    $var13 = $var6 + var$14;
                    $var11 = $var11_0 + 1 | 0;
                    $var5 = $var11 * 16 | 0;
                    $var14 = $var7 + $var5;
                    $var11_0 = $var11_0 * 16 | 0;
                    $var15 = $var7 + $var11_0;
                    $var17 = ($var12 + $var13) / 2.0;
                    $var18 = ($var14 + $var15) / 2.0;
                    var$22 = nms_MathHelper_floor_double($var1.$posX);
                    var$23 = nms_MathHelper_floor_double($var1.$posY + $var18 / 16.0);
                    var$24 = nms_MathHelper_floor_double($var1.$posZ);
                    if (!$var1.$direction)
                        var$22 = nms_MathHelper_floor_double($var1.$posX + $var17 / 16.0);
                    if ($var1.$direction == 1)
                        var$24 = nms_MathHelper_floor_double($var1.$posZ - $var17 / 16.0);
                    if ($var1.$direction == 2)
                        var$22 = nms_MathHelper_floor_double($var1.$posX - $var17 / 16.0);
                    if ($var1.$direction == 3)
                        var$24 = nms_MathHelper_floor_double($var1.$posZ + $var17 / 16.0);
                    $var32 = $this.$renderManager.$worldObj2;
                    $ptr = 1;
                    continue main;
                }
                $var10 = $var10 + 1 | 0;
                if ($var10 >= var$9)
                    break;
                $var11_0 = 0;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var10, var$9, var$10, var$11, var$12, $var12, var$14, $var13, $var11, $var14, $var11_0, $var15, $var17, $var18, var$22, var$23, var$24, $var32, $var16, $var19, var$28, var$29, var$30, var$31, var$32, var$33, var$34, var$35, var$36, var$37, var$38, var$39, var$40, var$41, $ptr);
    }
    function nms_RenderPainting_doRender($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $var2;
            var$7 = $var4;
            var$8 = $var6;
            $ptr = 2;
        case 2:
            olo_GL11_glTranslatef($var9, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 0.0;
            var$7 = 1.0;
            var$8 = 0.0;
            $ptr = 3;
        case 3:
            olo_GL11_glRotatef($var8, $var9, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 32826;
            $ptr = 4;
        case 4:
            olo_GL11_glEnable(var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $rt_s(2023);
            $ptr = 5;
        case 5:
            nms_Render_loadTexture($this, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $var1.$art;
            $var8 = 0.0625;
            $ptr = 6;
        case 6:
            olo_GL11_glScalef($var8, $var8, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = var$10.$sizeX;
            var$11 = var$10.$sizeY;
            var$12 = var$10.$offsetX0;
            var$13 = var$10.$offsetY0;
            $ptr = 7;
        case 7:
            nms_RenderPainting_func_159_a($this, $var1, var$9, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 32826;
            $ptr = 8;
        case 8:
            olo_GL11_glDisable(var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
    }
    function nms_EntityArrow() {
        var a = this; nms_Entity.call(a);
        a.$xTile = 0;
        a.$yTile = 0;
        a.$zTile = 0;
        a.$inTile = 0;
        a.$inGround = 0;
        a.$arrowShake = 0;
        a.$archer = null;
        a.$timeTillDeath = 0;
        a.$flyTime = 0;
    }
    function nms_EntityArrow__init_2(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_EntityArrow();
        nms_EntityArrow__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_EntityArrow__init_3(var_0, var_1) {
        var var_2 = new nms_EntityArrow();
        nms_EntityArrow__init_1(var_2, var_0, var_1);
        return var_2;
    }
    function nms_EntityArrow__init_($this, $var1, $var2, $var4, $var6) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$xTile = (-1);
            $this.$yTile = (-1);
            $this.$zTile = (-1);
            $this.$inTile = 0;
            $this.$inGround = 0;
            $this.$arrowShake = 0;
            $this.$flyTime = 0;
            nms_Entity_setSize($this, 0.5, 0.5);
            nms_Entity_setPosition($this, $var2, $var4, $var6);
            $this.$yOffset = 0.0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $ptr);
    }
    function nms_EntityArrow__init_1($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$xTile = (-1);
            $this.$yTile = (-1);
            $this.$zTile = (-1);
            $this.$inTile = 0;
            $this.$inGround = 0;
            $this.$arrowShake = 0;
            $this.$flyTime = 0;
            $this.$archer = $var2;
            nms_Entity_setSize($this, 0.5, 0.5);
            nms_Entity_setLocationAndAngles($this, $var2.$posX, $var2.$posY + $var2.$getEyeHeight(), $var2.$posZ, $var2.$rotationYaw, $var2.$rotationPitch);
            $this.$posX = $this.$posX - nms_MathHelper_cos($this.$rotationYaw / 180.0 * 3.1415927410125732) * 0.1599999964237213;
            $this.$posY = $this.$posY - 0.10000000149011612;
            var$3 = $this.$posZ - nms_MathHelper_sin($this.$rotationYaw / 180.0 * 3.1415927410125732) * 0.1599999964237213;
            $this.$posZ = var$3;
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, var$3);
            $this.$yOffset = 0.0;
            $this.$motionX =  -nms_MathHelper_sin($this.$rotationYaw / 180.0 * 3.1415927410125732) * nms_MathHelper_cos($this.$rotationPitch / 180.0 * 3.1415927410125732);
            $this.$motionZ = nms_MathHelper_cos($this.$rotationYaw / 180.0 * 3.1415927410125732) * nms_MathHelper_cos($this.$rotationPitch / 180.0 * 3.1415927410125732);
            var$3 =  -nms_MathHelper_sin($this.$rotationPitch / 180.0 * 3.1415927410125732);
            $this.$motionY = var$3;
            nms_EntityArrow_setArrowHeading($this, $this.$motionX, var$3, $this.$motionZ, 1.5, 1.0);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_EntityArrow_entityInit($this) {}
    function nms_EntityArrow_setArrowHeading($this, $var1, $var3, $var5, $var7, $var8) {
        var var$6, var$7, $var10;
        var$6 = nms_MathHelper_sqrt_double($var1 * $var1 + $var3 * $var3 + $var5 * $var5);
        $var1 = $var1 / var$6;
        $var3 = $var3 / var$6;
        $var5 = $var5 / var$6;
        var$6 = ju_Random_nextGaussian($this.$rand3) * 0.007499999832361937;
        var$7 = $var8;
        $var1 = $var1 + var$6 * var$7;
        $var3 = $var3 + ju_Random_nextGaussian($this.$rand3) * 0.007499999832361937 * var$7;
        $var5 = $var5 + ju_Random_nextGaussian($this.$rand3) * 0.007499999832361937 * var$7;
        var$6 = $var7;
        $var1 = $var1 * var$6;
        $var3 = $var3 * var$6;
        $var5 = $var5 * var$6;
        $this.$motionX = $var1;
        $this.$motionY = $var3;
        $this.$motionZ = $var5;
        $var10 = nms_MathHelper_sqrt_double($var1 * $var1 + $var5 * $var5);
        $var7 = jl_Math_atan2($var1, $var5) * 180.0 / 3.1415927410125732;
        $this.$rotationYaw = $var7;
        $this.$prevRotationYaw = $var7;
        $var7 = jl_Math_atan2($var3, $var10) * 180.0 / 3.1415927410125732;
        $this.$rotationPitch = $var7;
        $this.$prevRotationPitch = $var7;
        $this.$timeTillDeath = 0;
    }
    function nms_EntityArrow_setVelocity($this, $var1, $var3, $var5) {
        var $var7, var$5;
        $this.$motionX = $var1;
        $this.$motionY = $var3;
        $this.$motionZ = $var5;
        if ($this.$prevRotationPitch === 0.0 && $this.$prevRotationYaw === 0.0) {
            $var7 = nms_MathHelper_sqrt_double($var1 * $var1 + $var5 * $var5);
            var$5 = jl_Math_atan2($var1, $var5) * 180.0 / 3.1415927410125732;
            $this.$rotationYaw = var$5;
            $this.$prevRotationYaw = var$5;
            $var7 = jl_Math_atan2($var3, $var7) * 180.0 / 3.1415927410125732;
            $this.$rotationPitch = $var7;
            $this.$prevRotationPitch = $var7;
        }
    }
    function nms_EntityArrow_onUpdate($this) {
        var $var6, $var13, $var1, $var17, $var15, $var16, $var8, $var19, $var2, $var3, $var4, $var5, $var9, $var12, var$15, $var18, var$17, var$18, var$19, var$20, var$21, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();$var18 = $thread.pop();var$15 = $thread.pop();$var12 = $thread.pop();$var9 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var19 = $thread.pop();$var8 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var17 = $thread.pop();$var1 = $thread.pop();$var13 = $thread.pop();$var6 = $thread.pop();$this
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity_onUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$prevRotationPitch === 0.0 && $this.$prevRotationYaw === 0.0) {
                $var6 = $this.$motionX;
                $var6 = $var6 * $var6;
                $var13 = $this.$motionZ;
                $var1 = nms_MathHelper_sqrt_double($var6 + $var13 * $var13);
                $var17 = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
                $this.$rotationYaw = $var17;
                $this.$prevRotationYaw = $var17;
                $var17 = jl_Math_atan2($this.$motionY, $var1) * 180.0 / 3.1415927410125732;
                $this.$rotationPitch = $var17;
                $this.$prevRotationPitch = $var17;
            }
            $var15 = $this.$arrowShake;
            if ($var15 > 0)
                $this.$arrowShake = $var15 - 1 | 0;
            if ($this.$inGround) {
                $var16 = $this.$worldObj0;
                $var15 = $this.$xTile;
                $var8 = $this.$yTile;
                $var19 = $this.$zTile;
                $ptr = 2;
                continue main;
            }
            $this.$flyTime = $this.$flyTime + 1 | 0;
            $var16 = nms_Vec3D_createVector($this.$posX, $this.$posY, $this.$posZ);
            $var2 = nms_Vec3D_createVector($this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
            $var3 = $this.$worldObj0;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_World_getBlockId($var16, $var15, $var8, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $tmp;
            if ($var15 == $this.$inTile) {
                $var15 = $this.$timeTillDeath + 1 | 0;
                $this.$timeTillDeath = $var15;
                if ($var15 != 1200)
                    return;
                $ptr = 4;
                continue main;
            }
            $this.$inGround = 0;
            $this.$motionX = $this.$motionX * ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
            $this.$motionY = $this.$motionY * ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
            $this.$motionZ = $this.$motionZ * ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
            $this.$timeTillDeath = 0;
            $this.$flyTime = 0;
            $var16 = nms_Vec3D_createVector($this.$posX, $this.$posY, $this.$posZ);
            $var2 = nms_Vec3D_createVector($this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
            $var3 = $this.$worldObj0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_rayTraceBlocks($var3, $var16, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var16 = nms_Vec3D_createVector($this.$posX, $this.$posY, $this.$posZ);
            $var2 = nms_Vec3D_createVector($this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
            if ($var3 !== null) {
                $var2 = $var3.$hitVec;
                $var2 = nms_Vec3D_createVector($var2.$xCoord, $var2.$yCoord, $var2.$zCoord);
            }
            $var4 = null;
            $var5 = $this.$worldObj0;
            $var9 = nms_AxisAlignedBB_expand(nms_AxisAlignedBB_addCoord($this.$boundingBox, $this.$motionX, $this.$motionY, $this.$motionZ), 1.0, 1.0, 1.0);
            $ptr = 5;
            continue main;
        case 4:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            $tmp = nms_World_getEntitiesWithinAABBExcludingEntity($var5, $this, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = 0.0;
            $var8 = 0;
            while ($var8 < ju_ArrayList_size($var5)) {
                $var9 = ju_ArrayList_get($var5, $var8);
                if ($var9.$canBeCollidedWith() && !($var9 === $this.$archer && $this.$flyTime < 5)) {
                    $var12 = nms_AxisAlignedBB_func_1169_a(nms_AxisAlignedBB_expand($var9.$boundingBox, 0.30000001192092896, 0.30000001192092896, 0.30000001192092896), $var16, $var2);
                    if ($var12 !== null) {
                        $var13 = nms_Vec3D_distanceTo($var16, $var12.$hitVec);
                        if (!($var13 >= $var6 && $var6 !== 0.0)) {
                            $var4 = $var9;
                            $var6 = $var13;
                        }
                    }
                }
                $var8 = $var8 + 1 | 0;
            }
            if ($var4 !== null)
                $var3 = nms_MovingObjectPosition__init_($var4);
            if ($var3 !== null) {
                $var16 = $var3.$entityHit;
                if ($var16 !== null) {
                    $var2 = $this.$archer;
                    $var15 = 4;
                    $ptr = 8;
                    continue main;
                }
                $var15 = $var3.$blockX;
                $this.$xTile = $var15;
                $var8 = $var3.$blockY;
                $this.$yTile = $var8;
                $var19 = $var3.$blockZ;
                $this.$zTile = $var19;
                $var16 = $this.$worldObj0;
                $ptr = 6;
                continue main;
            }
            $var6 = $this.$posX;
            $var13 = $this.$motionX;
            $this.$posX = $var6 + $var13;
            $this.$posY = $this.$posY + $this.$motionY;
            $var6 = $this.$posZ;
            var$15 = $this.$motionZ;
            $this.$posZ = $var6 + var$15;
            $var17 = nms_MathHelper_sqrt_double($var13 * $var13 + var$15 * var$15);
            $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
            $var17 = jl_Math_atan2($this.$motionY, $var17) * 180.0 / 3.1415927410125732;
            $this.$rotationPitch = $var17;
            while (true) {
                $var18 = $this.$prevRotationPitch;
                if ($var17 - $var18 >= (-180.0))
                    break;
                $this.$prevRotationPitch = $var18 - 360.0;
            }
            while (true) {
                $var18 = $this.$prevRotationPitch;
                $var1 = $var17 - $var18;
                if ($var1 < 180.0)
                    break;
                $this.$prevRotationPitch = $var18 + 360.0;
            }
            while (true) {
                $var17 = $this.$rotationYaw;
                var$17 = $this.$prevRotationYaw;
                if ($var17 - var$17 >= (-180.0))
                    break;
                $this.$prevRotationYaw = var$17 - 360.0;
            }
            while (true) {
                var$17 = $this.$prevRotationYaw;
                var$18 = $var17 - var$17;
                if (var$18 < 180.0)
                    break;
                $this.$prevRotationYaw = var$17 + 360.0;
            }
            $this.$rotationPitch = $var18 + $var1 * 0.20000000298023224;
            $this.$rotationYaw = var$17 + var$18 * 0.20000000298023224;
            $var18 = 0.9900000095367432;
            $ptr = 11;
            continue main;
        case 6:
            $tmp = nms_World_getBlockId($var16, $var15, $var8, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $tmp;
            $this.$inTile = $var15;
            $var16 = $var3.$hitVec;
            $var6 = $var16.$xCoord - $this.$posX;
            $this.$motionX = $var6;
            $var13 = $var16.$yCoord - $this.$posY;
            $this.$motionY = $var13;
            var$15 = $var16.$zCoord - $this.$posZ;
            $this.$motionZ = var$15;
            $var17 = nms_MathHelper_sqrt_double($var6 * $var6 + $var13 * $var13 + var$15 * var$15);
            $var6 = $this.$posX;
            $var13 = $this.$motionX;
            var$15 = $var17;
            $this.$posX = $var6 - $var13 / var$15 * 0.05000000074505806;
            $this.$posY = $this.$posY - $this.$motionY / var$15 * 0.05000000074505806;
            $this.$posZ = $this.$posZ - $this.$motionZ / var$15 * 0.05000000074505806;
            $var16 = $this.$worldObj0;
            $var2 = $rt_s(2024);
            $var17 = 1.0;
            $var18 = 1.2000000476837158 / (ju_Random_nextFloat($this.$rand3) * 0.20000000298023224 + 0.8999999761581421);
            $ptr = 7;
        case 7:
            nms_World_playSoundAtEntity($var16, $this, $var2, $var17, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $this.$inGround = 1;
            $this.$arrowShake = 7;
            $var6 = $this.$posX;
            $var13 = $this.$motionX;
            $this.$posX = $var6 + $var13;
            $this.$posY = $this.$posY + $this.$motionY;
            $var6 = $this.$posZ;
            var$15 = $this.$motionZ;
            $this.$posZ = $var6 + var$15;
            $var17 = nms_MathHelper_sqrt_double($var13 * $var13 + var$15 * var$15);
            $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
            $var17 = jl_Math_atan2($this.$motionY, $var17) * 180.0 / 3.1415927410125732;
            $this.$rotationPitch = $var17;
            while (true) {
                $var18 = $this.$prevRotationPitch;
                if ($var17 - $var18 >= (-180.0))
                    break;
                $this.$prevRotationPitch = $var18 - 360.0;
            }
            while (true) {
                $var18 = $this.$prevRotationPitch;
                $var1 = $var17 - $var18;
                if ($var1 < 180.0)
                    break;
                $this.$prevRotationPitch = $var18 + 360.0;
            }
            while (true) {
                $var17 = $this.$rotationYaw;
                var$17 = $this.$prevRotationYaw;
                if ($var17 - var$17 >= (-180.0))
                    break;
                $this.$prevRotationYaw = var$17 - 360.0;
            }
            while (true) {
                var$17 = $this.$prevRotationYaw;
                var$18 = $var17 - var$17;
                if (var$18 < 180.0)
                    break;
                $this.$prevRotationYaw = var$17 + 360.0;
            }
            $this.$rotationPitch = $var18 + $var1 * 0.20000000298023224;
            $this.$rotationYaw = var$17 + var$18 * 0.20000000298023224;
            $var18 = 0.9900000095367432;
            $ptr = 11;
            continue main;
        case 8:
            $tmp = $var16.$attackEntityFrom($var2, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $tmp;
            if ($var15) {
                $var16 = $this.$worldObj0;
                $var2 = $rt_s(2024);
                $var17 = 1.0;
                $var18 = 1.2000000476837158 / (ju_Random_nextFloat($this.$rand3) * 0.20000000298023224 + 0.8999999761581421);
                $ptr = 9;
                continue main;
            }
            $this.$motionX = $this.$motionX * (-0.10000000149011612);
            $this.$motionY = $this.$motionY * (-0.10000000149011612);
            $this.$motionZ = $this.$motionZ * (-0.10000000149011612);
            $this.$rotationYaw = $this.$rotationYaw + 180.0;
            $this.$prevRotationYaw = $this.$prevRotationYaw + 180.0;
            $this.$flyTime = 0;
            $var6 = $this.$posX;
            $var13 = $this.$motionX;
            $this.$posX = $var6 + $var13;
            $this.$posY = $this.$posY + $this.$motionY;
            $var6 = $this.$posZ;
            var$15 = $this.$motionZ;
            $this.$posZ = $var6 + var$15;
            $var17 = nms_MathHelper_sqrt_double($var13 * $var13 + var$15 * var$15);
            $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
            $var17 = jl_Math_atan2($this.$motionY, $var17) * 180.0 / 3.1415927410125732;
            $this.$rotationPitch = $var17;
            while (true) {
                $var18 = $this.$prevRotationPitch;
                if ($var17 - $var18 >= (-180.0))
                    break;
                $this.$prevRotationPitch = $var18 - 360.0;
            }
            while (true) {
                $var18 = $this.$prevRotationPitch;
                $var1 = $var17 - $var18;
                if ($var1 < 180.0)
                    break;
                $this.$prevRotationPitch = $var18 + 360.0;
            }
            while (true) {
                $var17 = $this.$rotationYaw;
                var$17 = $this.$prevRotationYaw;
                if ($var17 - var$17 >= (-180.0))
                    break;
                $this.$prevRotationYaw = var$17 - 360.0;
            }
            while (true) {
                var$17 = $this.$prevRotationYaw;
                var$18 = $var17 - var$17;
                if (var$18 < 180.0)
                    break;
                $this.$prevRotationYaw = var$17 + 360.0;
            }
            $this.$rotationPitch = $var18 + $var1 * 0.20000000298023224;
            $this.$rotationYaw = var$17 + var$18 * 0.20000000298023224;
            $var18 = 0.9900000095367432;
            $ptr = 11;
            continue main;
        case 9:
            nms_World_playSoundAtEntity($var16, $this, $var2, $var17, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $this.$posX;
            $var13 = $this.$motionX;
            $this.$posX = $var6 + $var13;
            $this.$posY = $this.$posY + $this.$motionY;
            $var6 = $this.$posZ;
            var$15 = $this.$motionZ;
            $this.$posZ = $var6 + var$15;
            $var17 = nms_MathHelper_sqrt_double($var13 * $var13 + var$15 * var$15);
            $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
            $var17 = jl_Math_atan2($this.$motionY, $var17) * 180.0 / 3.1415927410125732;
            $this.$rotationPitch = $var17;
            while (true) {
                $var18 = $this.$prevRotationPitch;
                if ($var17 - $var18 >= (-180.0))
                    break;
                $this.$prevRotationPitch = $var18 - 360.0;
            }
            while (true) {
                $var18 = $this.$prevRotationPitch;
                $var1 = $var17 - $var18;
                if ($var1 < 180.0)
                    break;
                $this.$prevRotationPitch = $var18 + 360.0;
            }
            while (true) {
                $var17 = $this.$rotationYaw;
                var$17 = $this.$prevRotationYaw;
                if ($var17 - var$17 >= (-180.0))
                    break;
                $this.$prevRotationYaw = var$17 - 360.0;
            }
            while (true) {
                var$17 = $this.$prevRotationYaw;
                var$18 = $var17 - var$17;
                if (var$18 < 180.0)
                    break;
                $this.$prevRotationYaw = var$17 + 360.0;
            }
            $this.$rotationPitch = $var18 + $var1 * 0.20000000298023224;
            $this.$rotationYaw = var$17 + var$18 * 0.20000000298023224;
            $var18 = 0.9900000095367432;
            $ptr = 11;
        case 11:
            $tmp = nms_Entity_handleWaterMovement($this);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $tmp;
            if ($var15) {
                $var19 = 0;
                if ($var19 < 4) {
                    $var16 = $this.$worldObj0;
                    $var2 = $rt_s(1659);
                    $var6 = $this.$posX;
                    var$19 = $this.$motionX;
                    var$20 = $var6 - var$19 * 0.25;
                    $var13 = $this.$posY;
                    var$21 = $this.$motionY;
                    $var6 = $var13 - var$21 * 0.25;
                    $var13 = $this.$posZ;
                    var$15 = $this.$motionZ;
                    $var13 = $var13 - var$15 * 0.25;
                    $ptr = 12;
                    continue main;
                }
                $var18 = 0.800000011920929;
            }
            $var6 = $this.$motionX;
            $var13 = $var18;
            $this.$motionX = $var6 * $var13;
            $var6 = $this.$motionY * $var13;
            $this.$motionY = $var6;
            $this.$motionZ = $this.$motionZ * $var13;
            $this.$motionY = $var6 - 0.029999999329447746;
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
            return;
        case 12:
            nms_World_spawnParticle($var16, $var2, var$20, $var6, $var13, var$19, var$21, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $var19 = $var19 + 1 | 0;
            if ($var19 >= 4) {
                $var18 = 0.800000011920929;
                $var6 = $this.$motionX;
                $var13 = $var18;
                $this.$motionX = $var6 * $var13;
                $var6 = $this.$motionY * $var13;
                $this.$motionY = $var6;
                $this.$motionZ = $this.$motionZ * $var13;
                $this.$motionY = $var6 - 0.029999999329447746;
                nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
                return;
            }
            $var16 = $this.$worldObj0;
            $var2 = $rt_s(1659);
            $var6 = $this.$posX;
            var$19 = $this.$motionX;
            var$20 = $var6 - var$19 * 0.25;
            $var13 = $this.$posY;
            var$21 = $this.$motionY;
            $var6 = $var13 - var$21 * 0.25;
            $var13 = $this.$posZ;
            var$15 = $this.$motionZ;
            $var13 = $var13 - var$15 * 0.25;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var6, $var13, $var1, $var17, $var15, $var16, $var8, $var19, $var2, $var3, $var4, $var5, $var9, $var12, var$15, $var18, var$17, var$18, var$19, var$20, var$21, $ptr);
    }
    function nms_EntityArrow_writeEntityToNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(2025);
            var$3 = $this.$xTile << 16 >> 16;
            $ptr = 1;
        case 1:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2026);
            var$3 = $this.$yTile << 16 >> 16;
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2027);
            var$3 = $this.$zTile << 16 >> 16;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2028);
            var$3 = $this.$inTile << 24 >> 24;
            $ptr = 4;
        case 4:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2029);
            var$3 = $this.$arrowShake << 24 >> 24;
            $ptr = 5;
        case 5:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2030);
            var$3 = (!$this.$inGround ? 0 : 1) << 24 >> 24;
            $ptr = 6;
        case 6:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityArrow_readEntityFromNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(2025);
            $ptr = 1;
        case 1:
            $tmp = nms_NBTTagCompound_getShort($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$xTile = var$3;
            var$2 = $rt_s(2026);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getShort($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$yTile = var$3;
            var$2 = $rt_s(2027);
            $ptr = 3;
        case 3:
            $tmp = nms_NBTTagCompound_getShort($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$zTile = var$3;
            var$2 = $rt_s(2028);
            $ptr = 4;
        case 4:
            $tmp = nms_NBTTagCompound_getByte($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$inTile = var$3 & 255;
            var$2 = $rt_s(2029);
            $ptr = 5;
        case 5:
            $tmp = nms_NBTTagCompound_getByte($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$arrowShake = var$3 & 255;
            var$2 = $rt_s(2030);
            $ptr = 6;
        case 6:
            $tmp = nms_NBTTagCompound_getByte($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$inGround = var$3 != 1 ? 0 : 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityArrow_onCollideWithPlayer($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$worldObj0.$multiplayerWorld && $this.$inGround && $this.$archer === $var1 && $this.$arrowShake <= 0) {
                var$2 = $var1.$inventory;
                var$3 = new nms_ItemStack;
                $ptr = 1;
                continue main;
            }
            return;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_1(var$3, nms_Item_arrow, 1);
            $ptr = 2;
        case 2:
            $tmp = nms_InventoryPlayer_addItemStackToInventory(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (!var$4)
                return;
            var$5 = $this.$worldObj0;
            var$2 = $rt_s(2031);
            var$6 = 0.20000000298023224;
            var$7 = ((ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.699999988079071 + 1.0) * 2.0;
            $ptr = 3;
        case 3:
            nms_World_playSoundAtEntity(var$5, $this, var$2, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 1;
            $ptr = 4;
        case 4:
            nms_EntityPlayerSP_onItemPickup($var1, $this, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_EntityArrow_getShadowSize($this) {
        return 0.0;
    }
    var nms_RenderArrow = $rt_classWithoutFields(nms_Render);
    function nms_RenderArrow__init_0() {
        var var_0 = new nms_RenderArrow();
        nms_RenderArrow__init_(var_0);
        return var_0;
    }
    function nms_RenderArrow__init_($this) {
        nms_Render__init_($this);
    }
    function nms_RenderArrow_func_154_a($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $var10, $var20, $var21, $var22, $var23, var$12, var$13, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var10 = $rt_s(2032);
            $ptr = 1;
        case 1:
            nms_Render_loadTexture($this, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var2;
            $var20 = $var4;
            $var21 = $var6;
            $ptr = 3;
        case 3:
            olo_GL11_glTranslatef($var8, $var20, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$prevRotationYaw;
            $var20 = $var8 + ($var1.$rotationYaw - $var8) * $var9 - 90.0;
            $var21 = 0.0;
            $var22 = 1.0;
            $var8 = 0.0;
            $ptr = 4;
        case 4:
            olo_GL11_glRotatef($var20, $var21, $var22, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$prevRotationPitch;
            $var8 = $var8 + ($var1.$rotationPitch - $var8) * $var9;
            $var20 = 0.0;
            $var21 = 0.0;
            $var22 = 1.0;
            $ptr = 5;
        case 5:
            olo_GL11_glRotatef($var8, $var20, $var21, $var22);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var10 = nms_Tessellator_instance;
            $var20 = 0.05624999850988388;
            $var23 = 32826;
            $ptr = 7;
        case 7:
            olo_GL11_glEnable($var23);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = $var1.$arrowShake - $var9;
            if ($var21 <= 0.0) {
                $var8 = 45.0;
                $var9 = 1.0;
                $var21 = 0.0;
                $var22 = 0.0;
                $ptr = 8;
                continue main;
            }
            $var22 =  -nms_MathHelper_sin($var21 * 3.0) * $var21;
            $var8 = 0.0;
            $var9 = 0.0;
            $var21 = 1.0;
            $ptr = 25;
            continue main;
        case 8:
            olo_GL11_glRotatef($var8, $var9, $var21, $var22);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            olo_GL11_glScalef($var20, $var20, $var20);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = (-4.0);
            $var9 = 0.0;
            $var21 = 0.0;
            $ptr = 10;
        case 10:
            olo_GL11_glTranslatef($var8, $var9, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 0.0;
            $var9 = 0.0;
            $ptr = 11;
        case 11:
            nleo_EaglercraftGPU_glNormal3f($var20, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nms_Tessellator_startDrawingQuads($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = (-7.0);
            $var6 = (-2.0);
            $var2 = (-2.0);
            var$12 = 0.0;
            var$13 = 0.15625;
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var10, $var4, $var6, $var2, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-7.0);
            $var6 = (-2.0);
            var$14 = 2.0;
            $var4 = 0.15625;
            $ptr = 14;
        case 14:
            nms_Tessellator_addVertexWithUV($var10, $var2, $var6, var$14, $var4, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-7.0);
            var$14 = 2.0;
            var$15 = 2.0;
            $var6 = 0.3125;
            $ptr = 15;
        case 15:
            nms_Tessellator_addVertexWithUV($var10, $var2, var$14, var$15, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-7.0);
            var$14 = 2.0;
            var$15 = (-2.0);
            $ptr = 16;
        case 16:
            nms_Tessellator_addVertexWithUV($var10, $var2, var$14, var$15, var$12, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            nms_Tessellator_draw($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = (-0.05624999850988388);
            $var9 = 0.0;
            $var21 = 0.0;
            $ptr = 18;
        case 18:
            nleo_EaglercraftGPU_glNormal3f($var8, $var9, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 19;
        case 19:
            nms_Tessellator_startDrawingQuads($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-7.0);
            var$14 = 2.0;
            var$15 = (-2.0);
            $ptr = 20;
        case 20:
            nms_Tessellator_addVertexWithUV($var10, $var2, var$14, var$15, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = (-7.0);
            $var2 = 2.0;
            var$15 = 2.0;
            $ptr = 21;
        case 21:
            nms_Tessellator_addVertexWithUV($var10, var$14, $var2, var$15, $var4, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-7.0);
            var$14 = (-2.0);
            var$15 = 2.0;
            $ptr = 22;
        case 22:
            nms_Tessellator_addVertexWithUV($var10, $var2, var$14, var$15, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-7.0);
            $var4 = (-2.0);
            var$14 = (-2.0);
            $ptr = 23;
        case 23:
            nms_Tessellator_addVertexWithUV($var10, $var2, $var4, var$14, var$12, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 24;
        case 24:
            nms_Tessellator_draw($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var23 = 0;
            var$14 = 0.0;
            if ($var23 >= 4) {
                $var23 = 32826;
                $ptr = 26;
                continue main;
            }
            $var8 = 90.0;
            $var9 = 1.0;
            $var21 = 0.0;
            $var22 = 0.0;
            $ptr = 28;
            continue main;
        case 25:
            olo_GL11_glRotatef($var22, $var8, $var9, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 45.0;
            $var9 = 1.0;
            $var21 = 0.0;
            $var22 = 0.0;
            $ptr = 8;
            continue main;
        case 26:
            olo_GL11_glDisable($var23);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 27;
        case 27:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 28:
            olo_GL11_glRotatef($var8, $var9, $var21, $var22);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 0.0;
            $var9 = 0.0;
            $ptr = 29;
        case 29:
            nleo_EaglercraftGPU_glNormal3f($var8, $var9, $var20);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 30;
        case 30:
            nms_Tessellator_startDrawingQuads($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-8.0);
            $var4 = (-2.0);
            $var6 = 0.0;
            $ptr = 31;
        case 31:
            nms_Tessellator_addVertexWithUV($var10, $var2, $var4, $var6, var$12, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 8.0;
            $var4 = (-2.0);
            $var6 = 0.0;
            var$15 = 0.5;
            $ptr = 32;
        case 32:
            nms_Tessellator_addVertexWithUV($var10, $var2, $var4, $var6, var$15, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 8.0;
            $var4 = 2.0;
            $var6 = 0.0;
            $ptr = 33;
        case 33:
            nms_Tessellator_addVertexWithUV($var10, $var2, $var4, $var6, var$15, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-8.0);
            $var4 = 2.0;
            $var6 = 0.0;
            $ptr = 34;
        case 34:
            nms_Tessellator_addVertexWithUV($var10, $var2, $var4, $var6, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 35;
        case 35:
            nms_Tessellator_draw($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var23 = $var23 + 1 | 0;
            if ($var23 >= 4) {
                $var23 = 32826;
                $ptr = 26;
                continue main;
            }
            $var8 = 90.0;
            $var9 = 1.0;
            $var21 = 0.0;
            $var22 = 0.0;
            $ptr = 28;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var10, $var20, $var21, $var22, $var23, var$12, var$13, var$14, var$15, $ptr);
    }
    function nms_RenderArrow_doRender($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            nms_RenderArrow_func_154_a($this, $var1, $var2, $var4, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $ptr);
    }
    function nms_EntitySnowball() {
        var a = this; nms_Entity.call(a);
        a.$xTileSnowball = 0;
        a.$yTileSnowball = 0;
        a.$zTileSnowball = 0;
        a.$inTileSnowball = 0;
        a.$inGroundSnowball = 0;
        a.$shakeSnowball = 0;
        a.$thrower = null;
        a.$field_810_h = 0;
        a.$field_809_i = 0;
    }
    function nms_EntitySnowball__init_2(var_0, var_1) {
        var var_2 = new nms_EntitySnowball();
        nms_EntitySnowball__init_1(var_2, var_0, var_1);
        return var_2;
    }
    function nms_EntitySnowball__init_3(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_EntitySnowball();
        nms_EntitySnowball__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_EntitySnowball_entityInit($this) {}
    function nms_EntitySnowball_isInRangeToRenderDist($this, $var1) {
        var $var3;
        $var3 = nms_AxisAlignedBB_getAverageEdgeLength($this.$boundingBox) * 4.0 * 64.0;
        return $var1 >= $var3 * $var3 ? 0 : 1;
    }
    function nms_EntitySnowball__init_1($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$xTileSnowball = (-1);
            $this.$yTileSnowball = (-1);
            $this.$zTileSnowball = (-1);
            $this.$inTileSnowball = 0;
            $this.$inGroundSnowball = 0;
            $this.$shakeSnowball = 0;
            $this.$field_809_i = 0;
            $this.$thrower = $var2;
            nms_Entity_setSize($this, 0.25, 0.25);
            nms_Entity_setLocationAndAngles($this, $var2.$posX, $var2.$posY + 0.11999999731779099, $var2.$posZ, $var2.$rotationYaw, $var2.$rotationPitch);
            $this.$posX = $this.$posX - nms_MathHelper_cos($this.$rotationYaw / 180.0 * 3.1415927410125732) * 0.1599999964237213;
            $this.$posY = $this.$posY - 0.10000000149011612;
            var$3 = $this.$posZ - nms_MathHelper_sin($this.$rotationYaw / 180.0 * 3.1415927410125732) * 0.1599999964237213;
            $this.$posZ = var$3;
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, var$3);
            $this.$yOffset = 0.0;
            $this.$motionX =  -nms_MathHelper_sin($this.$rotationYaw / 180.0 * 3.1415927410125732) * nms_MathHelper_cos($this.$rotationPitch / 180.0 * 3.1415927410125732) * 0.4000000059604645;
            $this.$motionZ = nms_MathHelper_cos($this.$rotationYaw / 180.0 * 3.1415927410125732) * nms_MathHelper_cos($this.$rotationPitch / 180.0 * 3.1415927410125732) * 0.4000000059604645;
            var$3 =  -nms_MathHelper_sin($this.$rotationPitch / 180.0 * 3.1415927410125732) * 0.4000000059604645;
            $this.$motionY = var$3;
            nms_EntitySnowball_func_467_a($this, $this.$motionX, var$3, $this.$motionZ, 1.5, 1.0);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_EntitySnowball__init_($this, $var1, $var2, $var4, $var6) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$xTileSnowball = (-1);
            $this.$yTileSnowball = (-1);
            $this.$zTileSnowball = (-1);
            $this.$inTileSnowball = 0;
            $this.$inGroundSnowball = 0;
            $this.$shakeSnowball = 0;
            $this.$field_809_i = 0;
            $this.$field_810_h = 0;
            nms_Entity_setSize($this, 0.25, 0.25);
            nms_Entity_setPosition($this, $var2, $var4, $var6);
            $this.$yOffset = 0.0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $ptr);
    }
    function nms_EntitySnowball_func_467_a($this, $var1, $var3, $var5, $var7, $var8) {
        var var$6, var$7, $var10;
        var$6 = nms_MathHelper_sqrt_double($var1 * $var1 + $var3 * $var3 + $var5 * $var5);
        $var1 = $var1 / var$6;
        $var3 = $var3 / var$6;
        $var5 = $var5 / var$6;
        var$6 = ju_Random_nextGaussian($this.$rand3) * 0.007499999832361937;
        var$7 = $var8;
        $var1 = $var1 + var$6 * var$7;
        $var3 = $var3 + ju_Random_nextGaussian($this.$rand3) * 0.007499999832361937 * var$7;
        $var5 = $var5 + ju_Random_nextGaussian($this.$rand3) * 0.007499999832361937 * var$7;
        var$6 = $var7;
        $var1 = $var1 * var$6;
        $var3 = $var3 * var$6;
        $var5 = $var5 * var$6;
        $this.$motionX = $var1;
        $this.$motionY = $var3;
        $this.$motionZ = $var5;
        $var10 = nms_MathHelper_sqrt_double($var1 * $var1 + $var5 * $var5);
        $var7 = jl_Math_atan2($var1, $var5) * 180.0 / 3.1415927410125732;
        $this.$rotationYaw = $var7;
        $this.$prevRotationYaw = $var7;
        $var7 = jl_Math_atan2($var3, $var10) * 180.0 / 3.1415927410125732;
        $this.$rotationPitch = $var7;
        $this.$prevRotationPitch = $var7;
        $this.$field_810_h = 0;
    }
    function nms_EntitySnowball_setVelocity($this, $var1, $var3, $var5) {
        var $var7, var$5;
        $this.$motionX = $var1;
        $this.$motionY = $var3;
        $this.$motionZ = $var5;
        if ($this.$prevRotationPitch === 0.0 && $this.$prevRotationYaw === 0.0) {
            $var7 = nms_MathHelper_sqrt_double($var1 * $var1 + $var5 * $var5);
            var$5 = jl_Math_atan2($var1, $var5) * 180.0 / 3.1415927410125732;
            $this.$rotationYaw = var$5;
            $this.$prevRotationYaw = var$5;
            $var7 = jl_Math_atan2($var3, $var7) * 180.0 / 3.1415927410125732;
            $this.$rotationPitch = $var7;
            $this.$prevRotationPitch = $var7;
        }
    }
    function nms_EntitySnowball_onUpdate($this) {
        var $var1, $var15, $var7, $var16, $var2, $var3, $var5, $var4, $var9, $var6, $var13, var$12, var$13, var$14, var$15, $var17, $var18, var$18, var$19, var$20, $var8, $var12, var$23, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$23 = $thread.pop();$var12 = $thread.pop();$var8 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var13 = $thread.pop();$var6 = $thread.pop();$var9 = $thread.pop();$var4 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var16 = $thread.pop();$var7 = $thread.pop();$var15
            = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$lastTickPosX = $this.$posX;
            $this.$lastTickPosY = $this.$posY;
            $this.$lastTickPosZ = $this.$posZ;
            $ptr = 1;
        case 1:
            nms_Entity_onUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$shakeSnowball;
            if ($var1 > 0)
                $this.$shakeSnowball = $var1 - 1 | 0;
            if ($this.$inGroundSnowball) {
                $var15 = $this.$worldObj0;
                $var1 = $this.$xTileSnowball;
                $var7 = $this.$yTileSnowball;
                $var16 = $this.$zTileSnowball;
                $ptr = 2;
                continue main;
            }
            $this.$field_809_i = $this.$field_809_i + 1 | 0;
            $var15 = nms_Vec3D_createVector($this.$posX, $this.$posY, $this.$posZ);
            $var2 = nms_Vec3D_createVector($this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
            $var3 = $this.$worldObj0;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_World_getBlockId($var15, $var1, $var7, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 == $this.$inTileSnowball) {
                $var1 = $this.$field_810_h + 1 | 0;
                $this.$field_810_h = $var1;
                if ($var1 != 1200)
                    return;
                $ptr = 4;
                continue main;
            }
            $this.$inGroundSnowball = 0;
            $this.$motionX = $this.$motionX * ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
            $this.$motionY = $this.$motionY * ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
            $this.$motionZ = $this.$motionZ * ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
            $this.$field_810_h = 0;
            $this.$field_809_i = 0;
            $var15 = nms_Vec3D_createVector($this.$posX, $this.$posY, $this.$posZ);
            $var2 = nms_Vec3D_createVector($this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
            $var3 = $this.$worldObj0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_rayTraceBlocks($var3, $var15, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var15 = nms_Vec3D_createVector($this.$posX, $this.$posY, $this.$posZ);
            $var2 = nms_Vec3D_createVector($this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
            if ($var3 !== null) {
                $var2 = $var3.$hitVec;
                $var2 = nms_Vec3D_createVector($var2.$xCoord, $var2.$yCoord, $var2.$zCoord);
            }
            $var5 = $this.$worldObj0;
            if (!$var5.$multiplayerWorld) {
                $var4 = null;
                $var9 = nms_AxisAlignedBB_expand(nms_AxisAlignedBB_addCoord($this.$boundingBox, $this.$motionX, $this.$motionY, $this.$motionZ), 1.0, 1.0, 1.0);
                $ptr = 5;
                continue main;
            }
            if ($var3 !== null) {
                $var15 = $var3.$entityHit;
                if ($var15 !== null) {
                    $var2 = $this.$thrower;
                    $var1 = 0;
                    $ptr = 6;
                    continue main;
                }
                $var16 = 0;
                if ($var16 >= 8) {
                    $ptr = 7;
                    continue main;
                }
                $var15 = $this.$worldObj0;
                $var2 = $rt_s(1693);
                $var6 = $this.$posX;
                $var13 = $this.$posY;
                var$12 = $this.$posZ;
                var$13 = 0.0;
                var$14 = 0.0;
                var$15 = 0.0;
                $ptr = 8;
                continue main;
            }
            $var6 = $this.$posX;
            $var13 = $this.$motionX;
            $this.$posX = $var6 + $var13;
            $this.$posY = $this.$posY + $this.$motionY;
            $var6 = $this.$posZ;
            var$12 = $this.$motionZ;
            $this.$posZ = $var6 + var$12;
            $var17 = nms_MathHelper_sqrt_double($var13 * $var13 + var$12 * var$12);
            $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
            $var17 = jl_Math_atan2($this.$motionY, $var17) * 180.0 / 3.1415927410125732;
            $this.$rotationPitch = $var17;
            while (true) {
                $var18 = $this.$prevRotationPitch;
                if ($var17 - $var18 >= (-180.0))
                    break;
                $this.$prevRotationPitch = $var18 - 360.0;
            }
            while (true) {
                $var18 = $this.$prevRotationPitch;
                var$18 = $var17 - $var18;
                if (var$18 < 180.0)
                    break;
                $this.$prevRotationPitch = $var18 + 360.0;
            }
            while (true) {
                $var17 = $this.$rotationYaw;
                var$19 = $this.$prevRotationYaw;
                if ($var17 - var$19 >= (-180.0))
                    break;
                $this.$prevRotationYaw = var$19 - 360.0;
            }
            while (true) {
                var$19 = $this.$prevRotationYaw;
                var$20 = $var17 - var$19;
                if (var$20 < 180.0)
                    break;
                $this.$prevRotationYaw = var$19 + 360.0;
            }
            $this.$rotationPitch = $var18 + var$18 * 0.20000000298023224;
            $this.$rotationYaw = var$19 + var$20 * 0.20000000298023224;
            $var18 = 0.9900000095367432;
            $ptr = 9;
            continue main;
        case 4:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            $tmp = nms_World_getEntitiesWithinAABBExcludingEntity($var5, $this, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = 0.0;
            $var8 = 0;
            while ($var8 < ju_ArrayList_size($var5)) {
                $var9 = ju_ArrayList_get($var5, $var8);
                if ($var9.$canBeCollidedWith() && !($var9 === $this.$thrower && $this.$field_809_i < 5)) {
                    $var12 = nms_AxisAlignedBB_func_1169_a(nms_AxisAlignedBB_expand($var9.$boundingBox, 0.30000001192092896, 0.30000001192092896, 0.30000001192092896), $var15, $var2);
                    if ($var12 !== null) {
                        $var13 = nms_Vec3D_distanceTo($var15, $var12.$hitVec);
                        if (!($var13 >= $var6 && $var6 !== 0.0)) {
                            $var4 = $var9;
                            $var6 = $var13;
                        }
                    }
                }
                $var8 = $var8 + 1 | 0;
            }
            if ($var4 !== null)
                $var3 = nms_MovingObjectPosition__init_($var4);
            if ($var3 !== null) {
                $var15 = $var3.$entityHit;
                if ($var15 !== null) {
                    $var2 = $this.$thrower;
                    $var1 = 0;
                    $ptr = 6;
                    continue main;
                }
                $var16 = 0;
                if ($var16 >= 8) {
                    $ptr = 7;
                    continue main;
                }
                $var15 = $this.$worldObj0;
                $var2 = $rt_s(1693);
                $var6 = $this.$posX;
                $var13 = $this.$posY;
                var$12 = $this.$posZ;
                var$13 = 0.0;
                var$14 = 0.0;
                var$15 = 0.0;
                $ptr = 8;
                continue main;
            }
            $var6 = $this.$posX;
            $var13 = $this.$motionX;
            $this.$posX = $var6 + $var13;
            $this.$posY = $this.$posY + $this.$motionY;
            $var6 = $this.$posZ;
            var$12 = $this.$motionZ;
            $this.$posZ = $var6 + var$12;
            $var17 = nms_MathHelper_sqrt_double($var13 * $var13 + var$12 * var$12);
            $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
            $var17 = jl_Math_atan2($this.$motionY, $var17) * 180.0 / 3.1415927410125732;
            $this.$rotationPitch = $var17;
            while (true) {
                $var18 = $this.$prevRotationPitch;
                if ($var17 - $var18 >= (-180.0))
                    break;
                $this.$prevRotationPitch = $var18 - 360.0;
            }
            while (true) {
                $var18 = $this.$prevRotationPitch;
                var$18 = $var17 - $var18;
                if (var$18 < 180.0)
                    break;
                $this.$prevRotationPitch = $var18 + 360.0;
            }
            while (true) {
                $var17 = $this.$rotationYaw;
                var$19 = $this.$prevRotationYaw;
                if ($var17 - var$19 >= (-180.0))
                    break;
                $this.$prevRotationYaw = var$19 - 360.0;
            }
            while (true) {
                var$19 = $this.$prevRotationYaw;
                var$20 = $var17 - var$19;
                if (var$20 < 180.0)
                    break;
                $this.$prevRotationYaw = var$19 + 360.0;
            }
            $this.$rotationPitch = $var18 + var$18 * 0.20000000298023224;
            $this.$rotationYaw = var$19 + var$20 * 0.20000000298023224;
            $var18 = 0.9900000095367432;
            $ptr = 9;
            continue main;
        case 6:
            $tmp = $var15.$attackEntityFrom($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var16 = 0;
            if ($var16 >= 8) {
                $ptr = 7;
                continue main;
            }
            $var15 = $this.$worldObj0;
            $var2 = $rt_s(1693);
            $var6 = $this.$posX;
            $var13 = $this.$posY;
            var$12 = $this.$posZ;
            var$13 = 0.0;
            var$14 = 0.0;
            var$15 = 0.0;
            $ptr = 8;
            continue main;
        case 7:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $this.$posX;
            $var13 = $this.$motionX;
            $this.$posX = $var6 + $var13;
            $this.$posY = $this.$posY + $this.$motionY;
            $var6 = $this.$posZ;
            var$12 = $this.$motionZ;
            $this.$posZ = $var6 + var$12;
            $var17 = nms_MathHelper_sqrt_double($var13 * $var13 + var$12 * var$12);
            $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
            $var17 = jl_Math_atan2($this.$motionY, $var17) * 180.0 / 3.1415927410125732;
            $this.$rotationPitch = $var17;
            while (true) {
                $var18 = $this.$prevRotationPitch;
                if ($var17 - $var18 >= (-180.0))
                    break;
                $this.$prevRotationPitch = $var18 - 360.0;
            }
            while (true) {
                $var18 = $this.$prevRotationPitch;
                var$18 = $var17 - $var18;
                if (var$18 < 180.0)
                    break;
                $this.$prevRotationPitch = $var18 + 360.0;
            }
            while (true) {
                $var17 = $this.$rotationYaw;
                var$19 = $this.$prevRotationYaw;
                if ($var17 - var$19 >= (-180.0))
                    break;
                $this.$prevRotationYaw = var$19 - 360.0;
            }
            while (true) {
                var$19 = $this.$prevRotationYaw;
                var$20 = $var17 - var$19;
                if (var$20 < 180.0)
                    break;
                $this.$prevRotationYaw = var$19 + 360.0;
            }
            $this.$rotationPitch = $var18 + var$18 * 0.20000000298023224;
            $this.$rotationYaw = var$19 + var$20 * 0.20000000298023224;
            $var18 = 0.9900000095367432;
            $ptr = 9;
            continue main;
        case 8:
            nms_World_spawnParticle($var15, $var2, $var6, $var13, var$12, var$13, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $var16 + 1 | 0;
            if ($var16 >= 8) {
                $ptr = 7;
                continue main;
            }
            $var15 = $this.$worldObj0;
            $var2 = $rt_s(1693);
            $var6 = $this.$posX;
            $var13 = $this.$posY;
            var$12 = $this.$posZ;
            var$13 = 0.0;
            var$14 = 0.0;
            var$15 = 0.0;
            continue main;
        case 9:
            $tmp = nms_Entity_handleWaterMovement($this);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1) {
                $var7 = 0;
                if ($var7 < 4) {
                    $var15 = $this.$worldObj0;
                    $var2 = $rt_s(1659);
                    var$13 = $this.$posX;
                    $var6 = $this.$motionX;
                    var$12 = var$13 - $var6 * 0.25;
                    var$13 = $this.$posY;
                    var$14 = $this.$motionY;
                    var$13 = var$13 - var$14 * 0.25;
                    var$15 = $this.$posZ;
                    var$23 = $this.$motionZ;
                    $var13 = var$15 - var$23 * 0.25;
                    $ptr = 10;
                    continue main;
                }
                $var18 = 0.800000011920929;
            }
            $var6 = $this.$motionX;
            $var13 = $var18;
            $this.$motionX = $var6 * $var13;
            $var6 = $this.$motionY * $var13;
            $this.$motionY = $var6;
            $this.$motionZ = $this.$motionZ * $var13;
            $this.$motionY = $var6 - 0.029999999329447746;
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
            return;
        case 10:
            nms_World_spawnParticle($var15, $var2, var$12, var$13, $var13, $var6, var$14, var$23);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var7 + 1 | 0;
            if ($var7 >= 4) {
                $var18 = 0.800000011920929;
                $var6 = $this.$motionX;
                $var13 = $var18;
                $this.$motionX = $var6 * $var13;
                $var6 = $this.$motionY * $var13;
                $this.$motionY = $var6;
                $this.$motionZ = $this.$motionZ * $var13;
                $this.$motionY = $var6 - 0.029999999329447746;
                nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
                return;
            }
            $var15 = $this.$worldObj0;
            $var2 = $rt_s(1659);
            var$13 = $this.$posX;
            $var6 = $this.$motionX;
            var$12 = var$13 - $var6 * 0.25;
            var$13 = $this.$posY;
            var$14 = $this.$motionY;
            var$13 = var$13 - var$14 * 0.25;
            var$15 = $this.$posZ;
            var$23 = $this.$motionZ;
            $var13 = var$15 - var$23 * 0.25;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var15, $var7, $var16, $var2, $var3, $var5, $var4, $var9, $var6, $var13, var$12, var$13, var$14, var$15, $var17, $var18, var$18, var$19, var$20, $var8, $var12, var$23, $ptr);
    }
    function nms_EntitySnowball_writeEntityToNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(2025);
            var$3 = $this.$xTileSnowball << 16 >> 16;
            $ptr = 1;
        case 1:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2026);
            var$3 = $this.$yTileSnowball << 16 >> 16;
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2027);
            var$3 = $this.$zTileSnowball << 16 >> 16;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2028);
            var$3 = $this.$inTileSnowball << 24 >> 24;
            $ptr = 4;
        case 4:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2029);
            var$3 = $this.$shakeSnowball << 24 >> 24;
            $ptr = 5;
        case 5:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2030);
            var$3 = (!$this.$inGroundSnowball ? 0 : 1) << 24 >> 24;
            $ptr = 6;
        case 6:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntitySnowball_readEntityFromNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(2025);
            $ptr = 1;
        case 1:
            $tmp = nms_NBTTagCompound_getShort($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$xTileSnowball = var$3;
            var$2 = $rt_s(2026);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getShort($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$yTileSnowball = var$3;
            var$2 = $rt_s(2027);
            $ptr = 3;
        case 3:
            $tmp = nms_NBTTagCompound_getShort($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$zTileSnowball = var$3;
            var$2 = $rt_s(2028);
            $ptr = 4;
        case 4:
            $tmp = nms_NBTTagCompound_getByte($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$inTileSnowball = var$3 & 255;
            var$2 = $rt_s(2029);
            $ptr = 5;
        case 5:
            $tmp = nms_NBTTagCompound_getByte($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$shakeSnowball = var$3 & 255;
            var$2 = $rt_s(2030);
            $ptr = 6;
        case 6:
            $tmp = nms_NBTTagCompound_getByte($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$inGroundSnowball = var$3 != 1 ? 0 : 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntitySnowball_onCollideWithPlayer($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$inGroundSnowball && $this.$thrower === $var1 && $this.$shakeSnowball <= 0) {
                var$2 = $var1.$inventory;
                var$3 = new nms_ItemStack;
                $ptr = 1;
                continue main;
            }
            return;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_1(var$3, nms_Item_arrow, 1);
            $ptr = 2;
        case 2:
            $tmp = nms_InventoryPlayer_addItemStackToInventory(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (!var$4)
                return;
            var$5 = $this.$worldObj0;
            var$2 = $rt_s(2031);
            var$6 = 0.20000000298023224;
            var$7 = ((ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.699999988079071 + 1.0) * 2.0;
            $ptr = 3;
        case 3:
            nms_World_playSoundAtEntity(var$5, $this, var$2, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 1;
            $ptr = 4;
        case 4:
            nms_EntityPlayerSP_onItemPickup($var1, $this, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_EntitySnowball_getShadowSize($this) {
        return 0.0;
    }
    function nms_RenderSnowball() {
        nms_Render.call(this);
        this.$field_20003_a = 0;
    }
    function nms_RenderSnowball__init_0(var_0) {
        var var_1 = new nms_RenderSnowball();
        nms_RenderSnowball__init_(var_1, var_0);
        return var_1;
    }
    function nms_RenderSnowball__init_($this, $var1) {
        nms_Render__init_($this);
        $this.$field_20003_a = $var1;
    }
    function nms_RenderSnowball_doRender($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $var11, var$8, $var10, var$10, $var12, $var13, $var14, var$14, var$15, var$16, var$17, var$18, var$19, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();var$10 = $thread.pop();$var10 = $thread.pop();var$8 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var2;
            $var9 = $var4;
            $var11 = $var6;
            $ptr = 2;
        case 2:
            olo_GL11_glTranslatef($var8, $var9, $var11);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 32826;
            $ptr = 3;
        case 3:
            olo_GL11_glEnable(var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 0.5;
            $var9 = 0.5;
            $var11 = 0.5;
            $ptr = 4;
        case 4:
            olo_GL11_glScalef($var8, $var9, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $rt_s(341);
            $ptr = 5;
        case 5:
            nms_Render_loadTexture($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var10 = nms_Tessellator_instance;
            var$8 = $this.$field_20003_a;
            var$10 = (var$8 % 16 | 0) * 16 | 0;
            $var11 = (var$10 + 0 | 0) / 256.0;
            $var12 = (var$10 + 16 | 0) / 256.0;
            var$10 = (var$8 / 16 | 0) * 16 | 0;
            $var13 = (var$10 + 0 | 0) / 256.0;
            $var14 = (var$10 + 16 | 0) / 256.0;
            $var9 = 180.0 - $this.$renderManager.$playerViewY;
            var$14 = 0.0;
            var$15 = 1.0;
            $var8 = 0.0;
            $ptr = 7;
        case 7:
            olo_GL11_glRotatef($var9, var$14, var$15, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 =  -$this.$renderManager.$playerViewX;
            $var9 = 1.0;
            var$14 = 0.0;
            var$15 = 0.0;
            $ptr = 8;
        case 8:
            olo_GL11_glRotatef($var8, $var9, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Tessellator_startDrawingQuads($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 0.0;
            $var9 = 1.0;
            var$14 = 0.0;
            $ptr = 10;
        case 10:
            nms_Tessellator_setNormal($var10, $var8, $var9, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-0.5);
            $var4 = (-0.25);
            $var6 = 0.0;
            var$16 = $var11;
            var$17 = $var14;
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var10, $var2, $var4, $var6, var$16, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = 0.5;
            var$18 = 0.0;
            var$19 = $var12;
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertexWithUV($var10, $var6, $var4, var$18, var$19, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 0.75;
            var$17 = 0.0;
            var$18 = $var13;
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var10, $var6, $var4, var$17, var$19, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = 0.0;
            $ptr = 14;
        case 14:
            nms_Tessellator_addVertexWithUV($var10, $var2, $var4, $var6, var$16, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            nms_Tessellator_draw($var10);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 32826;
            $ptr = 16;
        case 16:
            olo_GL11_glDisable(var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var11, var$8, $var10, var$10, $var12, $var13, $var14, var$14, var$15, var$16, var$17, var$18, var$19, $ptr);
    }
    function nms_EntityEgg() {
        var a = this; nms_Entity.call(a);
        a.$field_20056_b = 0;
        a.$field_20055_c = 0;
        a.$field_20054_d = 0;
        a.$field_20053_e = 0;
        a.$field_20052_f = 0;
        a.$field_20057_a = 0;
        a.$field_20051_g = null;
        a.$field_20050_h = 0;
        a.$field_20049_i = 0;
    }
    function nms_EntityEgg__init_1(var_0, var_1) {
        var var_2 = new nms_EntityEgg();
        nms_EntityEgg__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function nms_EntityEgg__init_2(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_EntityEgg();
        nms_EntityEgg__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_EntityEgg_entityInit($this) {}
    function nms_EntityEgg_isInRangeToRenderDist($this, $var1) {
        var $var3;
        $var3 = nms_AxisAlignedBB_getAverageEdgeLength($this.$boundingBox) * 4.0 * 64.0;
        return $var1 >= $var3 * $var3 ? 0 : 1;
    }
    function nms_EntityEgg__init_0($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_20056_b = (-1);
            $this.$field_20055_c = (-1);
            $this.$field_20054_d = (-1);
            $this.$field_20053_e = 0;
            $this.$field_20052_f = 0;
            $this.$field_20057_a = 0;
            $this.$field_20049_i = 0;
            $this.$field_20051_g = $var2;
            nms_Entity_setSize($this, 0.25, 0.25);
            nms_Entity_setLocationAndAngles($this, $var2.$posX, $var2.$posY + 0.11999999731779099, $var2.$posZ, $var2.$rotationYaw, $var2.$rotationPitch);
            $this.$posX = $this.$posX - nms_MathHelper_cos($this.$rotationYaw / 180.0 * 3.1415927410125732) * 0.1599999964237213;
            $this.$posY = $this.$posY - 0.10000000149011612;
            var$3 = $this.$posZ - nms_MathHelper_sin($this.$rotationYaw / 180.0 * 3.1415927410125732) * 0.1599999964237213;
            $this.$posZ = var$3;
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, var$3);
            $this.$yOffset = 0.0;
            $this.$motionX =  -nms_MathHelper_sin($this.$rotationYaw / 180.0 * 3.1415927410125732) * nms_MathHelper_cos($this.$rotationPitch / 180.0 * 3.1415927410125732) * 0.4000000059604645;
            $this.$motionZ = nms_MathHelper_cos($this.$rotationYaw / 180.0 * 3.1415927410125732) * nms_MathHelper_cos($this.$rotationPitch / 180.0 * 3.1415927410125732) * 0.4000000059604645;
            var$3 =  -nms_MathHelper_sin($this.$rotationPitch / 180.0 * 3.1415927410125732) * 0.4000000059604645;
            $this.$motionY = var$3;
            nms_EntityEgg_func_20048_a($this, $this.$motionX, var$3, $this.$motionZ, 1.5, 1.0);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_EntityEgg__init_($this, $var1, $var2, $var4, $var6) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_20056_b = (-1);
            $this.$field_20055_c = (-1);
            $this.$field_20054_d = (-1);
            $this.$field_20053_e = 0;
            $this.$field_20052_f = 0;
            $this.$field_20057_a = 0;
            $this.$field_20049_i = 0;
            $this.$field_20050_h = 0;
            nms_Entity_setSize($this, 0.25, 0.25);
            nms_Entity_setPosition($this, $var2, $var4, $var6);
            $this.$yOffset = 0.0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $ptr);
    }
    function nms_EntityEgg_func_20048_a($this, $var1, $var3, $var5, $var7, $var8) {
        var var$6, var$7, $var10;
        var$6 = nms_MathHelper_sqrt_double($var1 * $var1 + $var3 * $var3 + $var5 * $var5);
        $var1 = $var1 / var$6;
        $var3 = $var3 / var$6;
        $var5 = $var5 / var$6;
        var$6 = ju_Random_nextGaussian($this.$rand3) * 0.007499999832361937;
        var$7 = $var8;
        $var1 = $var1 + var$6 * var$7;
        $var3 = $var3 + ju_Random_nextGaussian($this.$rand3) * 0.007499999832361937 * var$7;
        $var5 = $var5 + ju_Random_nextGaussian($this.$rand3) * 0.007499999832361937 * var$7;
        var$6 = $var7;
        $var1 = $var1 * var$6;
        $var3 = $var3 * var$6;
        $var5 = $var5 * var$6;
        $this.$motionX = $var1;
        $this.$motionY = $var3;
        $this.$motionZ = $var5;
        $var10 = nms_MathHelper_sqrt_double($var1 * $var1 + $var5 * $var5);
        $var7 = jl_Math_atan2($var1, $var5) * 180.0 / 3.1415927410125732;
        $this.$rotationYaw = $var7;
        $this.$prevRotationYaw = $var7;
        $var7 = jl_Math_atan2($var3, $var10) * 180.0 / 3.1415927410125732;
        $this.$rotationPitch = $var7;
        $this.$prevRotationPitch = $var7;
        $this.$field_20050_h = 0;
    }
    function nms_EntityEgg_setVelocity($this, $var1, $var3, $var5) {
        var $var7, var$5;
        $this.$motionX = $var1;
        $this.$motionY = $var3;
        $this.$motionZ = $var5;
        if ($this.$prevRotationPitch === 0.0 && $this.$prevRotationYaw === 0.0) {
            $var7 = nms_MathHelper_sqrt_double($var1 * $var1 + $var5 * $var5);
            var$5 = jl_Math_atan2($var1, $var5) * 180.0 / 3.1415927410125732;
            $this.$rotationYaw = var$5;
            $this.$prevRotationYaw = var$5;
            $var7 = jl_Math_atan2($var3, $var7) * 180.0 / 3.1415927410125732;
            $this.$rotationPitch = $var7;
            $this.$prevRotationPitch = $var7;
        }
    }
    function nms_EntityEgg_onUpdate($this) {
        var $var1, $var15, $var7, $var18, $var2, $var3, $var21, $var4, $var5, $var6, $var13, var$12, $var20, $var19, var$15, var$16, var$17, $var16, $var17, var$20, var$21, var$22, $var8, $var9, $var12, var$26, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$26 = $thread.pop();$var12 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();$var19 = $thread.pop();$var20 = $thread.pop();var$12 = $thread.pop();$var13 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var21 = $thread.pop();$var3 = $thread.pop();$var2
            = $thread.pop();$var18 = $thread.pop();$var7 = $thread.pop();$var15 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$lastTickPosX = $this.$posX;
            $this.$lastTickPosY = $this.$posY;
            $this.$lastTickPosZ = $this.$posZ;
            $ptr = 1;
        case 1:
            nms_Entity_onUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$field_20057_a;
            if ($var1 > 0)
                $this.$field_20057_a = $var1 - 1 | 0;
            if ($this.$field_20052_f) {
                $var15 = $this.$worldObj0;
                $var1 = $this.$field_20056_b;
                $var7 = $this.$field_20055_c;
                $var18 = $this.$field_20054_d;
                $ptr = 2;
                continue main;
            }
            $this.$field_20049_i = $this.$field_20049_i + 1 | 0;
            $var15 = nms_Vec3D_createVector($this.$posX, $this.$posY, $this.$posZ);
            $var2 = nms_Vec3D_createVector($this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
            $var3 = $this.$worldObj0;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_World_getBlockId($var15, $var1, $var7, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 == $this.$field_20053_e) {
                $var1 = $this.$field_20050_h + 1 | 0;
                $this.$field_20050_h = $var1;
                if ($var1 != 1200)
                    return;
                $ptr = 4;
                continue main;
            }
            $this.$field_20052_f = 0;
            $this.$motionX = $this.$motionX * ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
            $this.$motionY = $this.$motionY * ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
            $this.$motionZ = $this.$motionZ * ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
            $this.$field_20050_h = 0;
            $this.$field_20049_i = 0;
            $var15 = nms_Vec3D_createVector($this.$posX, $this.$posY, $this.$posZ);
            $var2 = nms_Vec3D_createVector($this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
            $var3 = $this.$worldObj0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_rayTraceBlocks($var3, $var15, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var15 = nms_Vec3D_createVector($this.$posX, $this.$posY, $this.$posZ);
            $var2 = nms_Vec3D_createVector($this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
            if ($var3 !== null) {
                $var2 = $var3.$hitVec;
                $var2 = nms_Vec3D_createVector($var2.$xCoord, $var2.$yCoord, $var2.$zCoord);
            }
            $var21 = $this.$worldObj0;
            if (!$var21.$multiplayerWorld) {
                $var4 = null;
                $var5 = nms_AxisAlignedBB_expand(nms_AxisAlignedBB_addCoord($this.$boundingBox, $this.$motionX, $this.$motionY, $this.$motionZ), 1.0, 1.0, 1.0);
                $ptr = 5;
                continue main;
            }
            if ($var3 === null) {
                $var6 = $this.$posX;
                $var13 = $this.$motionX;
                $this.$posX = $var6 + $var13;
                $this.$posY = $this.$posY + $this.$motionY;
                $var6 = $this.$posZ;
                var$12 = $this.$motionZ;
                $this.$posZ = $var6 + var$12;
                $var20 = nms_MathHelper_sqrt_double($var13 * $var13 + var$12 * var$12);
                $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
                $var20 = jl_Math_atan2($this.$motionY, $var20) * 180.0 / 3.1415927410125732;
                $this.$rotationPitch = $var20;
                while (true) {
                    $var19 = $this.$prevRotationPitch;
                    if ($var20 - $var19 >= (-180.0))
                        break;
                    $this.$prevRotationPitch = $var19 - 360.0;
                }
                while (true) {
                    $var19 = $this.$prevRotationPitch;
                    var$15 = $var20 - $var19;
                    if (var$15 < 180.0)
                        break;
                    $this.$prevRotationPitch = $var19 + 360.0;
                }
                while (true) {
                    $var20 = $this.$rotationYaw;
                    var$16 = $this.$prevRotationYaw;
                    if ($var20 - var$16 >= (-180.0))
                        break;
                    $this.$prevRotationYaw = var$16 - 360.0;
                }
                while (true) {
                    var$16 = $this.$prevRotationYaw;
                    var$17 = $var20 - var$16;
                    if (var$17 < 180.0)
                        break;
                    $this.$prevRotationYaw = var$16 + 360.0;
                }
                $this.$rotationPitch = $var19 + var$15 * 0.20000000298023224;
                $this.$rotationYaw = var$16 + var$17 * 0.20000000298023224;
                $var19 = 0.9900000095367432;
                $ptr = 9;
                continue main;
            }
            $var15 = $var3.$entityHit;
            if ($var15 !== null) {
                $var2 = $this.$field_20051_g;
                $var1 = 0;
                $ptr = 6;
                continue main;
            }
            if (!$this.$worldObj0.$multiplayerWorld && !ju_Random_nextInt($this.$rand3, 8)) {
                $var16 = 1;
                if (!ju_Random_nextInt($this.$rand3, 32))
                    $var16 = 4;
                $var17 = 0;
                if ($var17 < $var16) {
                    $var21 = new nms_EntityChicken;
                    $var15 = $this.$worldObj0;
                    $ptr = 10;
                    continue main;
                }
            }
            $var18 = 0;
            if ($var18 >= 8) {
                $ptr = 7;
                continue main;
            }
            $var15 = $this.$worldObj0;
            $var2 = $rt_s(1693);
            $var6 = $this.$posX;
            $var13 = $this.$posY;
            var$12 = $this.$posZ;
            var$20 = 0.0;
            var$21 = 0.0;
            var$22 = 0.0;
            $ptr = 8;
            continue main;
        case 4:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            $tmp = nms_World_getEntitiesWithinAABBExcludingEntity($var21, $this, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = 0.0;
            $var8 = 0;
            while ($var8 < ju_ArrayList_size($var5)) {
                $var9 = ju_ArrayList_get($var5, $var8);
                if ($var9.$canBeCollidedWith() && !($var9 === $this.$field_20051_g && $this.$field_20049_i < 5)) {
                    $var12 = nms_AxisAlignedBB_func_1169_a(nms_AxisAlignedBB_expand($var9.$boundingBox, 0.30000001192092896, 0.30000001192092896, 0.30000001192092896), $var15, $var2);
                    if ($var12 !== null) {
                        $var13 = nms_Vec3D_distanceTo($var15, $var12.$hitVec);
                        if (!($var13 >= $var6 && $var6 !== 0.0)) {
                            $var4 = $var9;
                            $var6 = $var13;
                        }
                    }
                }
                $var8 = $var8 + 1 | 0;
            }
            if ($var4 !== null)
                $var3 = nms_MovingObjectPosition__init_($var4);
            if ($var3 === null) {
                $var6 = $this.$posX;
                $var13 = $this.$motionX;
                $this.$posX = $var6 + $var13;
                $this.$posY = $this.$posY + $this.$motionY;
                $var6 = $this.$posZ;
                var$12 = $this.$motionZ;
                $this.$posZ = $var6 + var$12;
                $var20 = nms_MathHelper_sqrt_double($var13 * $var13 + var$12 * var$12);
                $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
                $var20 = jl_Math_atan2($this.$motionY, $var20) * 180.0 / 3.1415927410125732;
                $this.$rotationPitch = $var20;
                while (true) {
                    $var19 = $this.$prevRotationPitch;
                    if ($var20 - $var19 >= (-180.0))
                        break;
                    $this.$prevRotationPitch = $var19 - 360.0;
                }
                while (true) {
                    $var19 = $this.$prevRotationPitch;
                    var$15 = $var20 - $var19;
                    if (var$15 < 180.0)
                        break;
                    $this.$prevRotationPitch = $var19 + 360.0;
                }
                while (true) {
                    $var20 = $this.$rotationYaw;
                    var$16 = $this.$prevRotationYaw;
                    if ($var20 - var$16 >= (-180.0))
                        break;
                    $this.$prevRotationYaw = var$16 - 360.0;
                }
                while (true) {
                    var$16 = $this.$prevRotationYaw;
                    var$17 = $var20 - var$16;
                    if (var$17 < 180.0)
                        break;
                    $this.$prevRotationYaw = var$16 + 360.0;
                }
                $this.$rotationPitch = $var19 + var$15 * 0.20000000298023224;
                $this.$rotationYaw = var$16 + var$17 * 0.20000000298023224;
                $var19 = 0.9900000095367432;
                $ptr = 9;
                continue main;
            }
            $var15 = $var3.$entityHit;
            if ($var15 !== null) {
                $var2 = $this.$field_20051_g;
                $var1 = 0;
                $ptr = 6;
                continue main;
            }
            if (!$this.$worldObj0.$multiplayerWorld && !ju_Random_nextInt($this.$rand3, 8)) {
                $var16 = 1;
                if (!ju_Random_nextInt($this.$rand3, 32))
                    $var16 = 4;
                $var17 = 0;
                if ($var17 < $var16) {
                    $var21 = new nms_EntityChicken;
                    $var15 = $this.$worldObj0;
                    $ptr = 10;
                    continue main;
                }
            }
            $var18 = 0;
            if ($var18 >= 8) {
                $ptr = 7;
                continue main;
            }
            $var15 = $this.$worldObj0;
            $var2 = $rt_s(1693);
            $var6 = $this.$posX;
            $var13 = $this.$posY;
            var$12 = $this.$posZ;
            var$20 = 0.0;
            var$21 = 0.0;
            var$22 = 0.0;
            $ptr = 8;
            continue main;
        case 6:
            $tmp = $var15.$attackEntityFrom($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!$this.$worldObj0.$multiplayerWorld && !ju_Random_nextInt($this.$rand3, 8)) {
                $var16 = 1;
                if (!ju_Random_nextInt($this.$rand3, 32))
                    $var16 = 4;
                $var17 = 0;
                if ($var17 < $var16) {
                    $var21 = new nms_EntityChicken;
                    $var15 = $this.$worldObj0;
                    $ptr = 10;
                    continue main;
                }
            }
            $var18 = 0;
            if ($var18 >= 8) {
                $ptr = 7;
                continue main;
            }
            $var15 = $this.$worldObj0;
            $var2 = $rt_s(1693);
            $var6 = $this.$posX;
            $var13 = $this.$posY;
            var$12 = $this.$posZ;
            var$20 = 0.0;
            var$21 = 0.0;
            var$22 = 0.0;
            $ptr = 8;
            continue main;
        case 7:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $this.$posX;
            $var13 = $this.$motionX;
            $this.$posX = $var6 + $var13;
            $this.$posY = $this.$posY + $this.$motionY;
            $var6 = $this.$posZ;
            var$12 = $this.$motionZ;
            $this.$posZ = $var6 + var$12;
            $var20 = nms_MathHelper_sqrt_double($var13 * $var13 + var$12 * var$12);
            $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
            $var20 = jl_Math_atan2($this.$motionY, $var20) * 180.0 / 3.1415927410125732;
            $this.$rotationPitch = $var20;
            while (true) {
                $var19 = $this.$prevRotationPitch;
                if ($var20 - $var19 >= (-180.0))
                    break;
                $this.$prevRotationPitch = $var19 - 360.0;
            }
            while (true) {
                $var19 = $this.$prevRotationPitch;
                var$15 = $var20 - $var19;
                if (var$15 < 180.0)
                    break;
                $this.$prevRotationPitch = $var19 + 360.0;
            }
            while (true) {
                $var20 = $this.$rotationYaw;
                var$16 = $this.$prevRotationYaw;
                if ($var20 - var$16 >= (-180.0))
                    break;
                $this.$prevRotationYaw = var$16 - 360.0;
            }
            while (true) {
                var$16 = $this.$prevRotationYaw;
                var$17 = $var20 - var$16;
                if (var$17 < 180.0)
                    break;
                $this.$prevRotationYaw = var$16 + 360.0;
            }
            $this.$rotationPitch = $var19 + var$15 * 0.20000000298023224;
            $this.$rotationYaw = var$16 + var$17 * 0.20000000298023224;
            $var19 = 0.9900000095367432;
            $ptr = 9;
            continue main;
        case 8:
            nms_World_spawnParticle($var15, $var2, $var6, $var13, var$12, var$20, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $var18 = $var18 + 1 | 0;
            if ($var18 >= 8) {
                $ptr = 7;
                continue main;
            }
            $var15 = $this.$worldObj0;
            $var2 = $rt_s(1693);
            $var6 = $this.$posX;
            $var13 = $this.$posY;
            var$12 = $this.$posZ;
            var$20 = 0.0;
            var$21 = 0.0;
            var$22 = 0.0;
            continue main;
        case 9:
            $tmp = nms_Entity_handleWaterMovement($this);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1) {
                $var7 = 0;
                if ($var7 < 4) {
                    $var15 = $this.$worldObj0;
                    $var2 = $rt_s(1659);
                    $var6 = $this.$posX;
                    $var13 = $this.$motionX;
                    var$21 = $var6 - $var13 * 0.25;
                    $var6 = $this.$posY;
                    var$22 = $this.$motionY;
                    var$26 = $var6 - var$22 * 0.25;
                    $var6 = $this.$posZ;
                    var$12 = $this.$motionZ;
                    $var6 = $var6 - var$12 * 0.25;
                    $ptr = 12;
                    continue main;
                }
                $var19 = 0.800000011920929;
            }
            $var6 = $this.$motionX;
            $var13 = $var19;
            $this.$motionX = $var6 * $var13;
            $var6 = $this.$motionY * $var13;
            $this.$motionY = $var6;
            $this.$motionZ = $this.$motionZ * $var13;
            $this.$motionY = $var6 - 0.029999999329447746;
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
            return;
        case 10:
            nms_EntityChicken__init_($var21, $var15);
            if ($rt_suspending()) {
                break main;
            }
            nms_Entity_setLocationAndAngles($var21, $this.$posX, $this.$posY, $this.$posZ, $this.$rotationYaw, 0.0);
            $var15 = $this.$worldObj0;
            $ptr = 11;
        case 11:
            $var15.$entityJoinedWorld($var21);
            if ($rt_suspending()) {
                break main;
            }
            $var17 = $var17 + 1 | 0;
            if ($var17 < $var16) {
                $var21 = new nms_EntityChicken;
                $var15 = $this.$worldObj0;
                $ptr = 10;
                continue main;
            }
            $var18 = 0;
            if ($var18 >= 8) {
                $ptr = 7;
                continue main;
            }
            $var15 = $this.$worldObj0;
            $var2 = $rt_s(1693);
            $var6 = $this.$posX;
            $var13 = $this.$posY;
            var$12 = $this.$posZ;
            var$20 = 0.0;
            var$21 = 0.0;
            var$22 = 0.0;
            $ptr = 8;
            continue main;
        case 12:
            nms_World_spawnParticle($var15, $var2, var$21, var$26, $var6, $var13, var$22, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var7 + 1 | 0;
            if ($var7 >= 4) {
                $var19 = 0.800000011920929;
                $var6 = $this.$motionX;
                $var13 = $var19;
                $this.$motionX = $var6 * $var13;
                $var6 = $this.$motionY * $var13;
                $this.$motionY = $var6;
                $this.$motionZ = $this.$motionZ * $var13;
                $this.$motionY = $var6 - 0.029999999329447746;
                nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
                return;
            }
            $var15 = $this.$worldObj0;
            $var2 = $rt_s(1659);
            $var6 = $this.$posX;
            $var13 = $this.$motionX;
            var$21 = $var6 - $var13 * 0.25;
            $var6 = $this.$posY;
            var$22 = $this.$motionY;
            var$26 = $var6 - var$22 * 0.25;
            $var6 = $this.$posZ;
            var$12 = $this.$motionZ;
            $var6 = $var6 - var$12 * 0.25;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var15, $var7, $var18, $var2, $var3, $var21, $var4, $var5, $var6, $var13, var$12, $var20, $var19, var$15, var$16, var$17, $var16, $var17, var$20, var$21, var$22, $var8, $var9, $var12, var$26, $ptr);
    }
    function nms_EntityEgg_writeEntityToNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(2025);
            var$3 = $this.$field_20056_b << 16 >> 16;
            $ptr = 1;
        case 1:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2026);
            var$3 = $this.$field_20055_c << 16 >> 16;
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2027);
            var$3 = $this.$field_20054_d << 16 >> 16;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2028);
            var$3 = $this.$field_20053_e << 24 >> 24;
            $ptr = 4;
        case 4:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2029);
            var$3 = $this.$field_20057_a << 24 >> 24;
            $ptr = 5;
        case 5:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2030);
            var$3 = (!$this.$field_20052_f ? 0 : 1) << 24 >> 24;
            $ptr = 6;
        case 6:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityEgg_onCollideWithPlayer($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$field_20052_f && $this.$field_20051_g === $var1 && $this.$field_20057_a <= 0) {
                var$2 = $var1.$inventory;
                var$3 = new nms_ItemStack;
                $ptr = 1;
                continue main;
            }
            return;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_1(var$3, nms_Item_arrow, 1);
            $ptr = 2;
        case 2:
            $tmp = nms_InventoryPlayer_addItemStackToInventory(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (!var$4)
                return;
            var$5 = $this.$worldObj0;
            var$2 = $rt_s(2031);
            var$6 = 0.20000000298023224;
            var$7 = ((ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.699999988079071 + 1.0) * 2.0;
            $ptr = 3;
        case 3:
            nms_World_playSoundAtEntity(var$5, $this, var$2, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = 1;
            $ptr = 4;
        case 4:
            nms_EntityPlayerSP_onItemPickup($var1, $this, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_EntityEgg_getShadowSize($this) {
        return 0.0;
    }
    function nms_EntityFireball() {
        var a = this; nms_Entity.call(a);
        a.$field_9402_e = 0;
        a.$field_9401_f = 0;
        a.$field_9400_g = 0;
        a.$field_9399_h = 0;
        a.$field_9398_i = 0;
        a.$field_9406_a = 0;
        a.$field_9397_j = null;
        a.$field_9396_k = 0;
        a.$field_9395_l = 0;
        a.$field_9405_b = 0.0;
        a.$field_9404_c = 0.0;
        a.$field_9403_d = 0.0;
    }
    function nms_EntityFireball__init_0(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nms_EntityFireball();
        nms_EntityFireball__init_(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nms_EntityFireball_entityInit($this) {}
    function nms_EntityFireball_isInRangeToRenderDist($this, $var1) {
        var $var3;
        $var3 = nms_AxisAlignedBB_getAverageEdgeLength($this.$boundingBox) * 4.0 * 64.0;
        return $var1 >= $var3 * $var3 ? 0 : 1;
    }
    function nms_EntityFireball__init_($this, $var1, $var2, $var3, $var5, $var7) {
        var $var9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_9402_e = (-1);
            $this.$field_9401_f = (-1);
            $this.$field_9400_g = (-1);
            $this.$field_9399_h = 0;
            $this.$field_9398_i = 0;
            $this.$field_9406_a = 0;
            $this.$field_9395_l = 0;
            $this.$field_9397_j = $var2;
            nms_Entity_setSize($this, 1.0, 1.0);
            nms_Entity_setLocationAndAngles($this, $var2.$posX, $var2.$posY, $var2.$posZ, $var2.$rotationYaw, $var2.$rotationPitch);
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
            $this.$yOffset = 0.0;
            $this.$motionZ = 0.0;
            $this.$motionY = 0.0;
            $this.$motionX = 0.0;
            $var3 = $var3 + ju_Random_nextGaussian($this.$rand3) * 0.4;
            $var5 = $var5 + ju_Random_nextGaussian($this.$rand3) * 0.4;
            $var7 = $var7 + ju_Random_nextGaussian($this.$rand3) * 0.4;
            $var9 = nms_MathHelper_sqrt_double($var3 * $var3 + $var5 * $var5 + $var7 * $var7);
            $this.$field_9405_b = $var3 / $var9 * 0.1;
            $this.$field_9404_c = $var5 / $var9 * 0.1;
            $this.$field_9403_d = $var7 / $var9 * 0.1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var5, $var7, $var9, $ptr);
    }
    function nms_EntityFireball_onUpdate($this) {
        var $var1, $var15, $var8, $var18, $var2, $var3, $var4, $var5, $var9, $var6, $var12, $var13, var$13, $var16, $var17, var$16, var$17, var$18, var$19, var$20, var$21, var$22, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();var$13 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var6 = $thread.pop();$var9 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var18 = $thread.pop();$var8 = $thread.pop();$var15 = $thread.pop();$var1
            = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity_onUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$fire = 10;
            $var1 = $this.$field_9406_a;
            if ($var1 > 0)
                $this.$field_9406_a = $var1 - 1 | 0;
            if ($this.$field_9398_i) {
                $var15 = $this.$worldObj0;
                $var1 = $this.$field_9402_e;
                $var8 = $this.$field_9401_f;
                $var18 = $this.$field_9400_g;
                $ptr = 2;
                continue main;
            }
            $this.$field_9395_l = $this.$field_9395_l + 1 | 0;
            $var15 = nms_Vec3D_createVector($this.$posX, $this.$posY, $this.$posZ);
            $var2 = nms_Vec3D_createVector($this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
            $var3 = $this.$worldObj0;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_World_getBlockId($var15, $var1, $var8, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 == $this.$field_9399_h) {
                $var1 = $this.$field_9396_k + 1 | 0;
                $this.$field_9396_k = $var1;
                if ($var1 != 1200)
                    return;
                $ptr = 4;
                continue main;
            }
            $this.$field_9398_i = 0;
            $this.$motionX = $this.$motionX * ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
            $this.$motionY = $this.$motionY * ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
            $this.$motionZ = $this.$motionZ * ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
            $this.$field_9396_k = 0;
            $this.$field_9395_l = 0;
            $var15 = nms_Vec3D_createVector($this.$posX, $this.$posY, $this.$posZ);
            $var2 = nms_Vec3D_createVector($this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
            $var3 = $this.$worldObj0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_rayTraceBlocks($var3, $var15, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var15 = nms_Vec3D_createVector($this.$posX, $this.$posY, $this.$posZ);
            $var2 = nms_Vec3D_createVector($this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
            if ($var3 !== null) {
                $var2 = $var3.$hitVec;
                $var2 = nms_Vec3D_createVector($var2.$xCoord, $var2.$yCoord, $var2.$zCoord);
            }
            $var4 = null;
            $var5 = $this.$worldObj0;
            $var9 = nms_AxisAlignedBB_expand(nms_AxisAlignedBB_addCoord($this.$boundingBox, $this.$motionX, $this.$motionY, $this.$motionZ), 1.0, 1.0, 1.0);
            $ptr = 5;
            continue main;
        case 4:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            $tmp = nms_World_getEntitiesWithinAABBExcludingEntity($var5, $this, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = 0.0;
            $var8 = 0;
            while ($var8 < ju_ArrayList_size($var5)) {
                $var9 = ju_ArrayList_get($var5, $var8);
                if ($var9.$canBeCollidedWith() && !($var9 === $this.$field_9397_j && $this.$field_9395_l < 25)) {
                    $var12 = nms_AxisAlignedBB_func_1169_a(nms_AxisAlignedBB_expand($var9.$boundingBox, 0.30000001192092896, 0.30000001192092896, 0.30000001192092896), $var15, $var2);
                    if ($var12 !== null) {
                        $var13 = nms_Vec3D_distanceTo($var15, $var12.$hitVec);
                        if (!($var13 >= $var6 && $var6 !== 0.0)) {
                            $var4 = $var9;
                            $var6 = $var13;
                        }
                    }
                }
                $var8 = $var8 + 1 | 0;
            }
            if ($var4 !== null)
                $var3 = nms_MovingObjectPosition__init_($var4);
            if ($var3 !== null) {
                $var15 = $var3.$entityHit;
                if ($var15 !== null) {
                    $var2 = $this.$field_9397_j;
                    $var1 = 0;
                    $ptr = 8;
                    continue main;
                }
                $var15 = $this.$worldObj0;
                $var2 = null;
                $var6 = $this.$posX;
                $var13 = $this.$posY;
                var$13 = $this.$posZ;
                $var16 = 1.0;
                $var1 = 1;
                $ptr = 6;
                continue main;
            }
            $var6 = $this.$posX;
            $var13 = $this.$motionX;
            $this.$posX = $var6 + $var13;
            $this.$posY = $this.$posY + $this.$motionY;
            $var6 = $this.$posZ;
            var$13 = $this.$motionZ;
            $this.$posZ = $var6 + var$13;
            $var16 = nms_MathHelper_sqrt_double($var13 * $var13 + var$13 * var$13);
            $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
            $var16 = jl_Math_atan2($this.$motionY, $var16) * 180.0 / 3.1415927410125732;
            $this.$rotationPitch = $var16;
            while (true) {
                $var17 = $this.$prevRotationPitch;
                if ($var16 - $var17 >= (-180.0))
                    break;
                $this.$prevRotationPitch = $var17 - 360.0;
            }
            while (true) {
                $var17 = $this.$prevRotationPitch;
                var$16 = $var16 - $var17;
                if (var$16 < 180.0)
                    break;
                $this.$prevRotationPitch = $var17 + 360.0;
            }
            while (true) {
                $var16 = $this.$rotationYaw;
                var$17 = $this.$prevRotationYaw;
                if ($var16 - var$17 >= (-180.0))
                    break;
                $this.$prevRotationYaw = var$17 - 360.0;
            }
            while (true) {
                var$17 = $this.$prevRotationYaw;
                var$18 = $var16 - var$17;
                if (var$18 < 180.0)
                    break;
                $this.$prevRotationYaw = var$17 + 360.0;
            }
            $this.$rotationPitch = $var17 + var$16 * 0.20000000298023224;
            $this.$rotationYaw = var$17 + var$18 * 0.20000000298023224;
            $var17 = 0.949999988079071;
            $ptr = 9;
            continue main;
        case 6:
            nms_World_newExplosion($var15, $var2, $var6, $var13, var$13, $var16, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $this.$posX;
            $var13 = $this.$motionX;
            $this.$posX = $var6 + $var13;
            $this.$posY = $this.$posY + $this.$motionY;
            $var6 = $this.$posZ;
            var$13 = $this.$motionZ;
            $this.$posZ = $var6 + var$13;
            $var16 = nms_MathHelper_sqrt_double($var13 * $var13 + var$13 * var$13);
            $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
            $var16 = jl_Math_atan2($this.$motionY, $var16) * 180.0 / 3.1415927410125732;
            $this.$rotationPitch = $var16;
            while (true) {
                $var17 = $this.$prevRotationPitch;
                if ($var16 - $var17 >= (-180.0))
                    break;
                $this.$prevRotationPitch = $var17 - 360.0;
            }
            while (true) {
                $var17 = $this.$prevRotationPitch;
                var$16 = $var16 - $var17;
                if (var$16 < 180.0)
                    break;
                $this.$prevRotationPitch = $var17 + 360.0;
            }
            while (true) {
                $var16 = $this.$rotationYaw;
                var$17 = $this.$prevRotationYaw;
                if ($var16 - var$17 >= (-180.0))
                    break;
                $this.$prevRotationYaw = var$17 - 360.0;
            }
            while (true) {
                var$17 = $this.$prevRotationYaw;
                var$18 = $var16 - var$17;
                if (var$18 < 180.0)
                    break;
                $this.$prevRotationYaw = var$17 + 360.0;
            }
            $this.$rotationPitch = $var17 + var$16 * 0.20000000298023224;
            $this.$rotationYaw = var$17 + var$18 * 0.20000000298023224;
            $var17 = 0.949999988079071;
            $ptr = 9;
            continue main;
        case 8:
            $tmp = $var15.$attackEntityFrom($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var15 = $this.$worldObj0;
            $var2 = null;
            $var6 = $this.$posX;
            $var13 = $this.$posY;
            var$13 = $this.$posZ;
            $var16 = 1.0;
            $var1 = 1;
            $ptr = 6;
            continue main;
        case 9:
            $tmp = nms_Entity_handleWaterMovement($this);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1) {
                $var18 = 0;
                if ($var18 < 4) {
                    $var15 = $this.$worldObj0;
                    $var2 = $rt_s(1659);
                    $var6 = $this.$posX;
                    $var13 = $this.$motionX;
                    $var6 = $var6 - $var13 * 0.25;
                    var$19 = $this.$posY;
                    var$20 = $this.$motionY;
                    var$19 = var$19 - var$20 * 0.25;
                    var$21 = $this.$posZ;
                    var$22 = $this.$motionZ;
                    var$13 = var$21 - var$22 * 0.25;
                    $ptr = 11;
                    continue main;
                }
                $var17 = 0.800000011920929;
            }
            $var6 = $this.$motionX + $this.$field_9405_b;
            $this.$motionX = $var6;
            $var13 = $this.$motionY + $this.$field_9404_c;
            $this.$motionY = $var13;
            var$13 = $this.$motionZ + $this.$field_9403_d;
            $this.$motionZ = var$13;
            var$19 = $var17;
            $this.$motionX = $var6 * var$19;
            $this.$motionY = $var13 * var$19;
            $this.$motionZ = var$13 * var$19;
            $var15 = $this.$worldObj0;
            $var2 = $rt_s(920);
            var$19 = $this.$posX;
            var$20 = $this.$posY + 0.5;
            var$21 = $this.$posZ;
            $var6 = 0.0;
            $var13 = 0.0;
            var$13 = 0.0;
            $ptr = 10;
        case 10:
            nms_World_spawnParticle($var15, $var2, var$19, var$20, var$21, $var6, $var13, var$13);
            if ($rt_suspending()) {
                break main;
            }
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
            return;
        case 11:
            nms_World_spawnParticle($var15, $var2, $var6, var$19, var$13, $var13, var$20, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $var18 = $var18 + 1 | 0;
            if ($var18 < 4) {
                $var15 = $this.$worldObj0;
                $var2 = $rt_s(1659);
                $var6 = $this.$posX;
                $var13 = $this.$motionX;
                $var6 = $var6 - $var13 * 0.25;
                var$19 = $this.$posY;
                var$20 = $this.$motionY;
                var$19 = var$19 - var$20 * 0.25;
                var$21 = $this.$posZ;
                var$22 = $this.$motionZ;
                var$13 = var$21 - var$22 * 0.25;
                continue main;
            }
            $var17 = 0.800000011920929;
            $var6 = $this.$motionX + $this.$field_9405_b;
            $this.$motionX = $var6;
            $var13 = $this.$motionY + $this.$field_9404_c;
            $this.$motionY = $var13;
            var$13 = $this.$motionZ + $this.$field_9403_d;
            $this.$motionZ = var$13;
            var$19 = $var17;
            $this.$motionX = $var6 * var$19;
            $this.$motionY = $var13 * var$19;
            $this.$motionZ = var$13 * var$19;
            $var15 = $this.$worldObj0;
            $var2 = $rt_s(920);
            var$19 = $this.$posX;
            var$20 = $this.$posY + 0.5;
            var$21 = $this.$posZ;
            $var6 = 0.0;
            $var13 = 0.0;
            var$13 = 0.0;
            $ptr = 10;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var15, $var8, $var18, $var2, $var3, $var4, $var5, $var9, $var6, $var12, $var13, var$13, $var16, $var17, var$16, var$17, var$18, var$19, var$20, var$21, var$22, $ptr);
    }
    function nms_EntityFireball_writeEntityToNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(2025);
            var$3 = $this.$field_9402_e << 16 >> 16;
            $ptr = 1;
        case 1:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2026);
            var$3 = $this.$field_9401_f << 16 >> 16;
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2027);
            var$3 = $this.$field_9400_g << 16 >> 16;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2028);
            var$3 = $this.$field_9399_h << 24 >> 24;
            $ptr = 4;
        case 4:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2029);
            var$3 = $this.$field_9406_a << 24 >> 24;
            $ptr = 5;
        case 5:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2030);
            var$3 = (!$this.$field_9398_i ? 0 : 1) << 24 >> 24;
            $ptr = 6;
        case 6:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityFireball_canBeCollidedWith($this) {
        return 1;
    }
    function nms_EntityFireball_getCollisionBorderSize($this) {
        return 1.0;
    }
    function nms_EntityFireball_attackEntityFrom($this, $var1, $var2) {
        var $var3, var$4, var$5, var$6;
        nms_Entity_setBeenAttacked($this);
        if ($var1 === null)
            return 0;
        $var3 = nms_EntityLiving_getLookVec($var1);
        if ($var3 !== null) {
            var$4 = $var3.$xCoord;
            $this.$motionX = var$4;
            var$5 = $var3.$yCoord;
            $this.$motionY = var$5;
            var$6 = $var3.$zCoord;
            $this.$motionZ = var$6;
            $this.$field_9405_b = var$4 * 0.1;
            $this.$field_9404_c = var$5 * 0.1;
            $this.$field_9403_d = var$6 * 0.1;
        }
        return 1;
    }
    function nms_EntityFireball_getShadowSize($this) {
        return 0.0;
    }
    var nms_RenderFireball = $rt_classWithoutFields(nms_Render);
    function nms_RenderFireball__init_0() {
        var var_0 = new nms_RenderFireball();
        nms_RenderFireball__init_(var_0);
        return var_0;
    }
    function nms_RenderFireball__init_($this) {
        nms_Render__init_($this);
    }
    function nms_RenderFireball_doRender($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var2;
            $var9 = $var4;
            var$7 = $var6;
            $ptr = 2;
        case 2:
            olo_GL11_glTranslatef($var8, $var9, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 32826;
            $ptr = 3;
        case 3:
            olo_GL11_glEnable(var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 2.0;
            $ptr = 4;
        case 4:
            olo_GL11_glScalef($var8, $var8, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Item_snowball;
            var$9 = null;
            $ptr = 6;
        case 6:
            $tmp = $var1.$getIconIndex0(var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $var1 = $rt_s(341);
            $ptr = 7;
        case 7:
            nms_Render_loadTexture($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Tessellator_instance;
            var$10 = (var$8 % 16 | 0) * 16 | 0;
            $var8 = (var$10 + 0 | 0) / 256.0;
            var$11 = (var$10 + 16 | 0) / 256.0;
            var$8 = (var$8 / 16 | 0) * 16 | 0;
            var$12 = (var$8 + 0 | 0) / 256.0;
            var$13 = (var$8 + 16 | 0) / 256.0;
            $var9 = 180.0 - $this.$renderManager.$playerViewY;
            var$7 = 0.0;
            var$14 = 1.0;
            var$15 = 0.0;
            $ptr = 9;
        case 9:
            olo_GL11_glRotatef($var9, var$7, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $var9 =  -$this.$renderManager.$playerViewX;
            var$7 = 1.0;
            var$14 = 0.0;
            var$15 = 0.0;
            $ptr = 10;
        case 10:
            olo_GL11_glRotatef($var9, var$7, var$14, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_Tessellator_startDrawingQuads($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 0.0;
            var$7 = 1.0;
            var$14 = 0.0;
            $ptr = 12;
        case 12:
            nms_Tessellator_setNormal($var1, $var9, var$7, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-0.5);
            $var4 = (-0.25);
            $var6 = 0.0;
            var$16 = $var8;
            var$17 = var$13;
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var1, $var2, $var4, $var6, var$16, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = 0.5;
            var$18 = 0.0;
            var$19 = var$11;
            $ptr = 14;
        case 14:
            nms_Tessellator_addVertexWithUV($var1, $var6, $var4, var$18, var$19, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = 0.75;
            var$17 = 0.0;
            var$18 = var$12;
            $ptr = 15;
        case 15:
            nms_Tessellator_addVertexWithUV($var1, $var6, $var4, var$17, var$19, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = 0.0;
            $ptr = 16;
        case 16:
            nms_Tessellator_addVertexWithUV($var1, $var2, $var4, $var6, var$16, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            nms_Tessellator_draw($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = 32826;
            $ptr = 18;
        case 18:
            olo_GL11_glDisable(var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 19;
        case 19:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, $ptr);
    }
    function nms_EntityItem() {
        var a = this; nms_Entity.call(a);
        a.$item0 = null;
        a.$field_803_e = 0;
        a.$age = 0;
        a.$delayBeforeCanPickup = 0;
        a.$health0 = 0;
        a.$field_804_d = 0.0;
    }
    function nms_EntityItem__init_1(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nms_EntityItem();
        nms_EntityItem__init_(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nms_EntityItem__init_($this, $var1, $var2, $var4, $var6, $var8) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$age = 0;
            $this.$health0 = 5;
            $this.$field_804_d = jl_Math_random() * 3.141592653589793 * 2.0;
            nms_Entity_setSize($this, 0.25, 0.25);
            $this.$yOffset = $this.$height4 / 2.0;
            nms_Entity_setPosition($this, $var2, $var4, $var6);
            $this.$item0 = $var8;
            $this.$rotationYaw = jl_Math_random() * 360.0;
            $this.$motionX = jl_Math_random() * 0.20000000298023224 - 0.10000000149011612;
            $this.$motionY = 0.20000000298023224;
            $this.$motionZ = jl_Math_random() * 0.20000000298023224 - 0.10000000149011612;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $ptr);
    }
    function nms_EntityItem_canTriggerWalking($this) {
        return 0;
    }
    function nms_EntityItem_entityInit($this) {}
    function nms_EntityItem_onUpdate($this) {
        var $var2, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $var1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var2 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $this.$onEntityUpdate();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$delayBeforeCanPickup;
            if ($var2 > 0)
                $this.$delayBeforeCanPickup = $var2 - 1 | 0;
            var$2 = $this.$posX;
            $this.$prevPosX = var$2;
            $this.$prevPosY = $this.$posY;
            $this.$prevPosZ = $this.$posZ;
            $this.$motionY = $this.$motionY - 0.03999999910593033;
            var$3 = $this.$worldObj0;
            $var2 = nms_MathHelper_floor_double(var$2);
            var$4 = nms_MathHelper_floor_double($this.$posY);
            var$5 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMaterial(var$3, $var2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            nms_Material_$callClinit();
            if (var$3 !== nms_Material_lava) {
                var$6 = $this.$posX;
                var$2 = $this.$posY;
                var$7 = $this.$posZ;
                $ptr = 3;
                continue main;
            }
            $this.$motionY = 0.20000000298023224;
            $this.$motionX = (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.20000000298023224;
            $this.$motionZ = (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.20000000298023224;
            var$3 = $this.$worldObj0;
            var$8 = $rt_s(916);
            var$9 = 0.4000000059604645;
            $var1 = 2.0 + ju_Random_nextFloat($this.$rand3) * 0.4000000059604645;
            $ptr = 5;
            continue main;
        case 3:
            nms_EntityItem_func_466_g($this, var$6, var$2, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $this.$motionX;
            var$2 = $this.$motionY;
            var$7 = $this.$motionZ;
            $ptr = 4;
        case 4:
            nms_Entity_moveEntity($this, var$6, var$2, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0.9800000190734863;
            if ($this.$onGround0) {
                $var1 = 0.5880000591278076;
                var$3 = $this.$worldObj0;
                $var2 = nms_MathHelper_floor_double($this.$posX);
                var$4 = nms_MathHelper_floor_double($this.$boundingBox.$minY0) - 1 | 0;
                var$5 = nms_MathHelper_floor_double($this.$posZ);
                $ptr = 6;
                continue main;
            }
            var$6 = $this.$motionX;
            var$2 = $var1;
            $this.$motionX = var$6 * var$2;
            var$6 = $this.$motionY * 0.9800000190734863;
            $this.$motionY = var$6;
            $this.$motionZ = $this.$motionZ * var$2;
            if ($this.$onGround0)
                $this.$motionY = var$6 * (-0.5);
            $this.$field_803_e = $this.$field_803_e + 1 | 0;
            $var2 = $this.$age + 1 | 0;
            $this.$age = $var2;
            if ($var2 < 6000)
                return;
            $ptr = 8;
            continue main;
        case 5:
            nms_World_playSoundAtEntity(var$3, $this, var$8, var$9, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $this.$posX;
            var$2 = $this.$posY;
            var$7 = $this.$posZ;
            $ptr = 3;
            continue main;
        case 6:
            $tmp = nms_World_getBlockId(var$3, $var2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 > 0) {
                $ptr = 7;
                continue main;
            }
            var$6 = $this.$motionX;
            var$2 = $var1;
            $this.$motionX = var$6 * var$2;
            var$6 = $this.$motionY * 0.9800000190734863;
            $this.$motionY = var$6;
            $this.$motionZ = $this.$motionZ * var$2;
            if ($this.$onGround0)
                $this.$motionY = var$6 * (-0.5);
            $this.$field_803_e = $this.$field_803_e + 1 | 0;
            $var2 = $this.$age + 1 | 0;
            $this.$age = $var2;
            if ($var2 < 6000)
                return;
            $ptr = 8;
            continue main;
        case 7:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Block_blocksList.data[$var2].$slipperiness * 0.9800000190734863;
            var$6 = $this.$motionX;
            var$2 = $var1;
            $this.$motionX = var$6 * var$2;
            var$6 = $this.$motionY * 0.9800000190734863;
            $this.$motionY = var$6;
            $this.$motionZ = $this.$motionZ * var$2;
            if ($this.$onGround0)
                $this.$motionY = var$6 * (-0.5);
            $this.$field_803_e = $this.$field_803_e + 1 | 0;
            $var2 = $this.$age + 1 | 0;
            $this.$age = $var2;
            if ($var2 < 6000)
                return;
            $ptr = 8;
        case 8:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var2, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $var1, $ptr);
    }
    function nms_EntityItem_handleWaterMovement($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$worldObj0;
            var$2 = $this.$boundingBox;
            nms_Material_$callClinit();
            var$3 = nms_Material_water;
            $ptr = 1;
        case 1:
            $tmp = nms_World_handleMaterialAcceleration(var$1, var$2, var$3, $this);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return var$4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_EntityItem_func_466_g($this, $var1, $var3, $var5) {
        var $var7, $var8, $var9, $var10, $var12, $var14, var$10, var$11, $var20, $var16, $var17, $var18, $var19, $var21, $var22, $var23, $var25, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var25 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var20 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var7 = nms_MathHelper_floor_double($var1);
            $var8 = nms_MathHelper_floor_double($var3);
            $var9 = nms_MathHelper_floor_double($var5);
            $var10 = $var1 - $var7;
            $var12 = $var3 - $var8;
            $var14 = $var5 - $var9;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$10 = nms_Block_opaqueCubeLookup.data;
            var$11 = $this.$worldObj0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId(var$11, $var7, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var20 = $tmp;
            if (!var$10[$var20])
                return 0;
            var$10 = nms_Block_opaqueCubeLookup.data;
            var$11 = $this.$worldObj0;
            $var20 = $var7 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId(var$11, $var20, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var20 = $tmp;
            $var16 = var$10[$var20] ? 0 : 1;
            var$10 = nms_Block_opaqueCubeLookup.data;
            var$11 = $this.$worldObj0;
            $var20 = $var7 + 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockId(var$11, $var20, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var20 = $tmp;
            $var17 = var$10[$var20] ? 0 : 1;
            var$10 = nms_Block_opaqueCubeLookup.data;
            var$11 = $this.$worldObj0;
            $var20 = $var8 - 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = nms_World_getBlockId(var$11, $var7, $var20, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var20 = $tmp;
            $var18 = var$10[$var20] ? 0 : 1;
            var$10 = nms_Block_opaqueCubeLookup.data;
            var$11 = $this.$worldObj0;
            $var20 = $var8 + 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = nms_World_getBlockId(var$11, $var7, $var20, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var20 = $tmp;
            $var19 = var$10[$var20] ? 0 : 1;
            var$10 = nms_Block_opaqueCubeLookup.data;
            var$11 = $this.$worldObj0;
            $var20 = $var9 - 1 | 0;
            $ptr = 7;
        case 7:
            $tmp = nms_World_getBlockId(var$11, $var7, $var8, $var20);
            if ($rt_suspending()) {
                break main;
            }
            $var20 = $tmp;
            $var20 = var$10[$var20] ? 0 : 1;
            var$10 = nms_Block_opaqueCubeLookup.data;
            var$11 = $this.$worldObj0;
            $var21 = $var9 + 1 | 0;
            $ptr = 8;
        case 8:
            $tmp = nms_World_getBlockId(var$11, $var7, $var8, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var21 = var$10[$var7] ? 0 : 1;
            $var22 = (-1);
            $var23 = 9999.0;
            if ($var16 && $var10 < $var23) {
                $var22 = 0;
                $var23 = $var10;
            }
            if (!$var17)
                $var1 = $var23;
            else {
                $var1 = 1.0 - $var10;
                if ($var1 < $var23)
                    $var22 = 1;
                else
                    $var1 = $var23;
            }
            if ($var18 && $var12 < $var1) {
                $var22 = 2;
                $var1 = $var12;
            }
            if (!$var19)
                $var3 = $var1;
            else {
                $var3 = 1.0 - $var12;
                if ($var3 < $var1)
                    $var22 = 3;
                else
                    $var3 = $var1;
            }
            if ($var20 && $var14 < $var3) {
                $var22 = 4;
                $var3 = $var14;
            }
            if ($var21 && 1.0 - $var14 < $var3)
                $var22 = 5;
            $var25 = ju_Random_nextFloat($this.$rand3) * 0.20000000298023224 + 0.10000000149011612;
            if (!$var22)
                $this.$motionX =  -$var25;
            if ($var22 == 1)
                $this.$motionX = $var25;
            if ($var22 == 2)
                $this.$motionY =  -$var25;
            if ($var22 == 3)
                $this.$motionY = $var25;
            if ($var22 == 4)
                $this.$motionZ =  -$var25;
            if ($var22 == 5)
                $this.$motionZ = $var25;
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, $var7, $var8, $var9, $var10, $var12, $var14, var$10, var$11, $var20, $var16, $var17, $var18, $var19, $var21, $var22, $var23, $var25, $ptr);
    }
    function nms_EntityItem_dealFireDamage($this, $var1) {
        nms_EntityItem_attackEntityFrom($this, null, $var1);
    }
    function nms_EntityItem_attackEntityFrom($this, $var1, $var2) {
        nms_Entity_setBeenAttacked($this);
        $var2 = $this.$health0 - $var2 | 0;
        $this.$health0 = $var2;
        if ($var2 <= 0)
            nms_Entity_setEntityDead($this);
        return 0;
    }
    function nms_EntityItem_writeEntityToNBT($this, $var1) {
        var var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(1671);
            var$3 = $this.$health0 << 24 >> 24 << 16 >> 16;
            $ptr = 1;
        case 1:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2033);
            var$3 = $this.$age << 16 >> 16;
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2034);
            var$4 = $this.$item0;
            var$5 = nms_NBTTagCompound__init_0();
            $ptr = 3;
        case 3:
            $tmp = nms_ItemStack_writeToNBT(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 4;
        case 4:
            nms_NBTTagCompound_setCompoundTag($var1, var$2, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_EntityItem_readEntityFromNBT($this, $var1) {
        var $var2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $rt_s(1671);
            $ptr = 1;
        case 1:
            $tmp = nms_NBTTagCompound_getShort($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$health0 = var$3 & 255;
            $var2 = $rt_s(2033);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getShort($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$age = var$3;
            $var2 = $rt_s(2034);
            $ptr = 3;
        case 3:
            $tmp = nms_NBTTagCompound_getCompoundTag($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var1 = new nms_ItemStack;
            $ptr = 4;
        case 4:
            nms_ItemStack__init_6($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$item0 = $var1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_EntityItem_onCollideWithPlayer($this, $var1) {
        var var$2, $var2, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$worldObj0.$multiplayerWorld) {
                var$2 = $this.$item0;
                $var2 = var$2.$stackSize;
                if (!$this.$delayBeforeCanPickup) {
                    var$4 = $var1.$inventory;
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        case 1:
            $tmp = nms_InventoryPlayer_addItemStackToInventory(var$4, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (!var$5)
                return;
            var$6 = $this.$worldObj0;
            var$2 = $rt_s(2031);
            var$7 = 0.20000000298023224;
            var$8 = ((ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.699999988079071 + 1.0) * 2.0;
            $ptr = 2;
        case 2:
            nms_World_playSoundAtEntity(var$6, $this, var$2, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_EntityPlayerSP_onItemPickup($var1, $this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_EntityTNTPrimed() {
        nms_Entity.call(this);
        this.$fuse = 0;
    }
    function nms_EntityTNTPrimed__init_1(var_0) {
        var var_1 = new nms_EntityTNTPrimed();
        nms_EntityTNTPrimed__init_0(var_1, var_0);
        return var_1;
    }
    function nms_EntityTNTPrimed__init_2(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_EntityTNTPrimed();
        nms_EntityTNTPrimed__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_EntityTNTPrimed__init_0($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$fuse = 0;
            $this.$preventEntitySpawning = 1;
            nms_Entity_setSize($this, 0.9800000190734863, 0.9800000190734863);
            $this.$yOffset = $this.$height4 / 2.0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityTNTPrimed__init_($this, $var1, $var2, $var4, $var6) {
        var $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityTNTPrimed__init_0($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            nms_Entity_setPosition($this, $var2, $var4, $var6);
            $var8 = jl_Math_random() * 3.1415927410125732 * 2.0 * 3.1415927410125732 / 180.0;
            $this.$motionX =  -nms_MathHelper_sin($var8) * 0.019999999552965164;
            $this.$motionY = 0.20000000298023224;
            $this.$motionZ =  -nms_MathHelper_cos($var8) * 0.019999999552965164;
            $this.$fuse = 80;
            $this.$prevPosX = $var2;
            $this.$prevPosY = $var4;
            $this.$prevPosZ = $var6;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $ptr);
    }
    function nms_EntityTNTPrimed_entityInit($this) {}
    function nms_EntityTNTPrimed_canTriggerWalking($this) {
        return 0;
    }
    function nms_EntityTNTPrimed_canBeCollidedWith($this) {
        return $this.$isDead ? 0 : 1;
    }
    function nms_EntityTNTPrimed_onUpdate($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$prevPosX = $this.$posX;
            $this.$prevPosY = $this.$posY;
            $this.$prevPosZ = $this.$posZ;
            var$1 = $this.$motionY - 0.03999999910593033;
            $this.$motionY = var$1;
            var$2 = $this.$motionX;
            var$3 = $this.$motionZ;
            $ptr = 1;
        case 1:
            nms_Entity_moveEntity($this, var$2, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$motionX * 0.9800000190734863;
            $this.$motionX = var$1;
            var$2 = $this.$motionY * 0.9800000190734863;
            $this.$motionY = var$2;
            var$3 = $this.$motionZ * 0.9800000190734863;
            $this.$motionZ = var$3;
            if ($this.$onGround0) {
                $this.$motionX = var$1 * 0.699999988079071;
                $this.$motionZ = var$3 * 0.699999988079071;
                $this.$motionY = var$2 * (-0.5);
            }
            var$4 = $this.$fuse;
            $this.$fuse = var$4 - 1 | 0;
            if (var$4 <= 0) {
                $ptr = 3;
                continue main;
            }
            var$5 = $this.$worldObj0;
            var$6 = $rt_s(920);
            var$2 = $this.$posX;
            var$1 = $this.$posY + 0.5;
            var$7 = $this.$posZ;
            var$3 = 0.0;
            var$8 = 0.0;
            var$9 = 0.0;
            $ptr = 2;
        case 2:
            nms_World_spawnParticle(var$5, var$6, var$2, var$1, var$7, var$3, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = 4.0;
            var$6 = $this.$worldObj0;
            var$5 = null;
            var$1 = $this.$posX;
            var$2 = $this.$posY;
            var$3 = $this.$posZ;
            $ptr = 4;
        case 4:
            nms_World_createExplosion(var$6, var$5, var$1, var$2, var$3, var$10);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_EntityTNTPrimed_writeEntityToNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(2035);
            var$3 = $this.$fuse << 24 >> 24;
            $ptr = 1;
        case 1:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityTNTPrimed_readEntityFromNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(2035);
            $ptr = 1;
        case 1:
            $tmp = nms_NBTTagCompound_getByte($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$fuse = var$3;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityTNTPrimed_getShadowSize($this) {
        return 0.0;
    }
    function nms_RenderTNTPrimed() {
        nms_Render.call(this);
        this.$field_196_d = null;
    }
    function nms_RenderTNTPrimed__init_0() {
        var var_0 = new nms_RenderTNTPrimed();
        nms_RenderTNTPrimed__init_(var_0);
        return var_0;
    }
    function nms_RenderTNTPrimed__init_($this) {
        nms_Render__init_($this);
        $this.$field_196_d = nms_RenderBlocks__init_1();
        $this.$shadowSize = 0.5;
    }
    function nms_RenderTNTPrimed_doRender($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var2;
            var$7 = $var4;
            var$8 = $var6;
            $ptr = 2;
        case 2:
            olo_GL11_glTranslatef($var8, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$fuse - $var9 + 1.0;
            if ($var8 >= 10.0) {
                $var8 = (1.0 - ($var1.$fuse - $var9 + 1.0) / 100.0) * 0.800000011920929;
                var$9 = $rt_s(266);
                $ptr = 3;
                continue main;
            }
            var$7 = 1.0 - $var8 / 10.0;
            if (var$7 < 0.0)
                var$7 = 0.0;
            if (var$7 > 1.0)
                var$7 = 1.0;
            $var8 = var$7 * var$7;
            $var8 = 1.0 + $var8 * $var8 * 0.30000001192092896;
            $ptr = 17;
            continue main;
        case 3:
            nms_Render_loadTexture($this, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $this.$field_196_d;
            $ptr = 4;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$10 = nms_Block_tnt;
            var$11 = 0;
            $ptr = 5;
        case 5:
            nms_RenderBlocks_renderBlockOnInventory(var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            if (($var1.$fuse / 5 | 0) % 2 | 0) {
                $ptr = 6;
                continue main;
            }
            var$11 = 3553;
            $ptr = 7;
            continue main;
        case 6:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            olo_GL11_glDisable(var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 2896;
            $ptr = 8;
        case 8:
            olo_GL11_glDisable(var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 3042;
            $ptr = 9;
        case 9:
            olo_GL11_glEnable(var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 770;
            var$12 = 772;
            $ptr = 10;
        case 10:
            olo_GL11_glBlendFunc(var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 1.0;
            var$7 = 1.0;
            var$8 = 1.0;
            $ptr = 11;
        case 11:
            nleo_GlStateManager_color($var9, var$7, var$8, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$field_196_d;
            var$9 = nms_Block_tnt;
            var$11 = 0;
            $ptr = 12;
        case 12:
            nms_RenderBlocks_renderBlockOnInventory($var1, var$9, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 1.0;
            $var9 = 1.0;
            var$7 = 1.0;
            var$8 = 1.0;
            $ptr = 13;
        case 13:
            nleo_GlStateManager_color($var8, $var9, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 3042;
            $ptr = 14;
        case 14:
            olo_GL11_glDisable(var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 2896;
            $ptr = 15;
        case 15:
            olo_GL11_glEnable(var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 3553;
            $ptr = 16;
        case 16:
            olo_GL11_glEnable(var$11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
            continue main;
        case 17:
            olo_GL11_glScalef($var8, $var8, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = (1.0 - ($var1.$fuse - $var9 + 1.0) / 100.0) * 0.800000011920929;
            var$9 = $rt_s(266);
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function nms_EntityFallingSand() {
        var a = this; nms_Entity.call(a);
        a.$blockID2 = 0;
        a.$fallTime = 0;
    }
    function nms_EntityFallingSand__init_1(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nms_EntityFallingSand();
        nms_EntityFallingSand__init_(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nms_EntityFallingSand__init_($this, $var1, $var2, $var4, $var6, $var8) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$fallTime = 0;
            $this.$blockID2 = $var8;
            $this.$preventEntitySpawning = 1;
            nms_Entity_setSize($this, 0.9800000190734863, 0.9800000190734863);
            $this.$yOffset = $this.$height4 / 2.0;
            nms_Entity_setPosition($this, $var2, $var4, $var6);
            $this.$motionX = 0.0;
            $this.$motionY = 0.0;
            $this.$motionZ = 0.0;
            $this.$prevPosX = $var2;
            $this.$prevPosY = $var4;
            $this.$prevPosZ = $var6;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $ptr);
    }
    function nms_EntityFallingSand_canTriggerWalking($this) {
        return 0;
    }
    function nms_EntityFallingSand_entityInit($this) {}
    function nms_EntityFallingSand_canBeCollidedWith($this) {
        return $this.$isDead ? 0 : 1;
    }
    function nms_EntityFallingSand_onUpdate($this) {
        var var$1, var$2, var$3, $var1, $var2, $var3, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$blockID2) {
                $ptr = 3;
                continue main;
            }
            $this.$prevPosX = $this.$posX;
            $this.$prevPosY = $this.$posY;
            $this.$prevPosZ = $this.$posZ;
            $this.$fallTime = $this.$fallTime + 1 | 0;
            var$1 = $this.$motionY - 0.03999999910593033;
            $this.$motionY = var$1;
            var$2 = $this.$motionX;
            var$3 = $this.$motionZ;
            $ptr = 1;
        case 1:
            nms_Entity_moveEntity($this, var$2, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$motionX = $this.$motionX * 0.9800000190734863;
            $this.$motionY = $this.$motionY * 0.9800000190734863;
            $this.$motionZ = $this.$motionZ * 0.9800000190734863;
            $var1 = nms_MathHelper_floor_double($this.$posX);
            $var2 = nms_MathHelper_floor_double($this.$posY);
            $var3 = nms_MathHelper_floor_double($this.$posZ);
            var$7 = $this.$worldObj0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId(var$7, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8 == $this.$blockID2) {
                var$7 = $this.$worldObj0;
                var$8 = 0;
                $ptr = 4;
                continue main;
            }
            if (!$this.$onGround0) {
                if ($this.$fallTime > 100 && !$this.$worldObj0.$multiplayerWorld) {
                    $var1 = $this.$blockID2;
                    $var2 = 1;
                    $ptr = 8;
                    continue main;
                }
                return;
            }
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
            $this.$motionY = $this.$motionY * (-0.5);
            $ptr = 5;
            continue main;
        case 3:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            nms_World_setBlockWithNotify(var$7, $var1, $var2, $var3, var$8);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$onGround0) {
                if ($this.$fallTime > 100 && !$this.$worldObj0.$multiplayerWorld) {
                    $var1 = $this.$blockID2;
                    $var2 = 1;
                    $ptr = 8;
                    continue main;
                }
                return;
            }
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
            $this.$motionY = $this.$motionY * (-0.5);
            $ptr = 5;
        case 5:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$worldObj0;
            var$8 = $this.$blockID2;
            var$9 = 1;
            $ptr = 6;
        case 6:
            $tmp = nms_World_canBlockBePlacedAt(var$7, var$8, $var1, $var2, $var3, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8) {
                var$7 = $this.$worldObj0;
                var$8 = $this.$blockID2;
                $ptr = 7;
                continue main;
            }
            if ($this.$worldObj0.$multiplayerWorld)
                return;
            $var1 = $this.$blockID2;
            $var2 = 1;
            $ptr = 10;
            continue main;
        case 7:
            $tmp = nms_World_setBlockWithNotify(var$7, $var1, $var2, $var3, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!$var1 && !$this.$worldObj0.$multiplayerWorld) {
                $var1 = $this.$blockID2;
                $var2 = 1;
                $ptr = 10;
                continue main;
            }
            return;
        case 8:
            nms_Entity_dropItem($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 10:
            nms_Entity_dropItem($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $var1, $var2, $var3, var$7, var$8, var$9, $ptr);
    }
    function nms_EntityFallingSand_writeEntityToNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(2036);
            var$3 = $this.$blockID2 << 24 >> 24;
            $ptr = 1;
        case 1:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityFallingSand_readEntityFromNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(2036);
            $ptr = 1;
        case 1:
            $tmp = nms_NBTTagCompound_getByte($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$blockID2 = var$3 & 255;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityFallingSand_getShadowSize($this) {
        return 0.0;
    }
    function nms_RenderFallingSand() {
        nms_Render.call(this);
        this.$field_197_d = null;
    }
    function nms_RenderFallingSand__init_0() {
        var var_0 = new nms_RenderFallingSand();
        nms_RenderFallingSand__init_(var_0);
        return var_0;
    }
    function nms_RenderFallingSand__init_($this) {
        nms_Render__init_($this);
        $this.$field_197_d = nms_RenderBlocks__init_1();
        $this.$shadowSize = 0.5;
    }
    function nms_RenderFallingSand_doRender($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var2;
            $var9 = $var4;
            var$7 = $var6;
            $ptr = 2;
        case 2:
            olo_GL11_glTranslatef($var8, $var9, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $rt_s(266);
            $ptr = 3;
        case 3:
            nms_Render_loadTexture($this, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$8 = nms_Block_blocksList.data[$var1.$blockID2];
            var$9 = $var1.$worldObj0;
            var$10 = 2896;
            $ptr = 5;
        case 5:
            olo_GL11_glDisable(var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $this.$field_197_d;
            var$12 = nms_MathHelper_floor_double($var1.$posX);
            var$13 = nms_MathHelper_floor_double($var1.$posY);
            var$14 = nms_MathHelper_floor_double($var1.$posZ);
            $var8 = 0.5;
            var$15 = 1.0;
            var$7 = 0.800000011920929;
            var$16 = 0.6000000238418579;
            $ptr = 6;
        case 6:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Tessellator_instance;
            $ptr = 7;
        case 7:
            nms_Tessellator_startDrawingQuads($var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $tmp = var$8.$getBlockBrightness(var$9, var$12, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            var$10 = var$13 - 1 | 0;
            $ptr = 9;
        case 9:
            $tmp = var$8.$getBlockBrightness(var$9, var$12, var$10, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$17 = $tmp;
            if (var$17 < $var9)
                var$17 = $var9;
            $var8 = $var8 * var$17;
            $ptr = 10;
        case 10:
            nms_Tessellator_setColorOpaque_F($var1, $var8, $var8, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = (-0.5);
            $var6 = (-0.5);
            $var2 = (-0.5);
            var$10 = 0;
            $ptr = 11;
        case 11:
            $tmp = var$8.$getBlockTextureFromSide(var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 12;
        case 12:
            nms_RenderBlocks_renderBottomFace(var$11, var$8, $var4, $var6, $var2, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = var$13 + 1 | 0;
            $ptr = 13;
        case 13:
            $tmp = var$8.$getBlockBrightness(var$9, var$12, var$10, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8 < $var9)
                $var8 = $var9;
            $var8 = var$15 * $var8;
            $ptr = 14;
        case 14:
            nms_Tessellator_setColorOpaque_F($var1, $var8, $var8, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-0.5);
            $var4 = (-0.5);
            $var6 = (-0.5);
            var$10 = 1;
            $ptr = 15;
        case 15:
            $tmp = var$8.$getBlockTextureFromSide(var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 16;
        case 16:
            nms_RenderBlocks_renderTopFace(var$11, var$8, $var2, $var4, $var6, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = var$14 - 1 | 0;
            $ptr = 17;
        case 17:
            $tmp = var$8.$getBlockBrightness(var$9, var$12, var$13, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8 < $var9)
                $var8 = $var9;
            $var8 = var$7 * $var8;
            $ptr = 18;
        case 18:
            nms_Tessellator_setColorOpaque_F($var1, $var8, $var8, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-0.5);
            $var4 = (-0.5);
            $var6 = (-0.5);
            var$10 = 2;
            $ptr = 19;
        case 19:
            $tmp = var$8.$getBlockTextureFromSide(var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 20;
        case 20:
            nms_RenderBlocks_renderEastFace(var$11, var$8, $var2, $var4, $var6, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = var$14 + 1 | 0;
            $ptr = 21;
        case 21:
            $tmp = var$8.$getBlockBrightness(var$9, var$12, var$13, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8 < $var9)
                $var8 = $var9;
            $var8 = var$7 * $var8;
            $ptr = 22;
        case 22:
            nms_Tessellator_setColorOpaque_F($var1, $var8, $var8, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-0.5);
            $var4 = (-0.5);
            $var6 = (-0.5);
            var$10 = 3;
            $ptr = 23;
        case 23:
            $tmp = var$8.$getBlockTextureFromSide(var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 24;
        case 24:
            nms_RenderBlocks_renderWestFace(var$11, var$8, $var2, $var4, $var6, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = var$12 - 1 | 0;
            $ptr = 25;
        case 25:
            $tmp = var$8.$getBlockBrightness(var$9, var$10, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8 < $var9)
                $var8 = $var9;
            $var8 = var$16 * $var8;
            $ptr = 26;
        case 26:
            nms_Tessellator_setColorOpaque_F($var1, $var8, $var8, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-0.5);
            $var4 = (-0.5);
            $var6 = (-0.5);
            var$10 = 4;
            $ptr = 27;
        case 27:
            $tmp = var$8.$getBlockTextureFromSide(var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 28;
        case 28:
            nms_RenderBlocks_renderNorthFace(var$11, var$8, $var2, $var4, $var6, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = var$12 + 1 | 0;
            $ptr = 29;
        case 29:
            $tmp = var$8.$getBlockBrightness(var$9, var$10, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8 >= $var9)
                $var9 = $var8;
            $var8 = var$16 * $var9;
            $ptr = 30;
        case 30:
            nms_Tessellator_setColorOpaque_F($var1, $var8, $var8, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = (-0.5);
            $var4 = (-0.5);
            $var6 = (-0.5);
            var$10 = 5;
            $ptr = 31;
        case 31:
            $tmp = var$8.$getBlockTextureFromSide(var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 32;
        case 32:
            nms_RenderBlocks_renderSouthFace(var$11, var$8, $var2, $var4, $var6, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 33;
        case 33:
            nms_Tessellator_draw($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = 2896;
            $ptr = 34;
        case 34:
            olo_GL11_glEnable(var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 35;
        case 35:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr);
    }
    function nms_EntityMinecart() {
        var a = this; nms_Entity.call(a);
        a.$cargoItems = null;
        a.$minecartCurrentDamage = 0;
        a.$minecartTimeSinceHit = 0;
        a.$minecartRockDirection = 0;
        a.$field_856_i = 0;
        a.$minecartType0 = 0;
        a.$fuel = 0;
        a.$pushX = 0.0;
        a.$pushZ = 0.0;
        a.$field_9415_k = 0;
        a.$field_9414_l = 0.0;
        a.$field_9413_m = 0.0;
        a.$field_9412_n = 0.0;
        a.$field_9411_o = 0.0;
        a.$field_9410_p = 0.0;
        a.$field_9409_q = 0.0;
        a.$field_9408_r = 0.0;
        a.$field_9407_s = 0.0;
    }
    var nms_EntityMinecart_field_855_j = null;
    function nms_EntityMinecart__init_1(var_0) {
        var var_1 = new nms_EntityMinecart();
        nms_EntityMinecart__init_0(var_1, var_0);
        return var_1;
    }
    function nms_EntityMinecart__init_2(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nms_EntityMinecart();
        nms_EntityMinecart__init_(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nms_EntityMinecart__init_0($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$cargoItems = $rt_createArray(nms_ItemStack, 36);
            $this.$minecartCurrentDamage = 0;
            $this.$minecartTimeSinceHit = 0;
            $this.$minecartRockDirection = 1;
            $this.$field_856_i = 0;
            $this.$preventEntitySpawning = 1;
            nms_Entity_setSize($this, 0.9800000190734863, 0.699999988079071);
            $this.$yOffset = $this.$height4 / 2.0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityMinecart_canTriggerWalking($this) {
        return 0;
    }
    function nms_EntityMinecart_entityInit($this) {}
    function nms_EntityMinecart_getCollisionBox($this, $var1) {
        return $var1.$boundingBox;
    }
    function nms_EntityMinecart_getBoundingBox($this) {
        return null;
    }
    function nms_EntityMinecart_canBePushed($this) {
        return 1;
    }
    function nms_EntityMinecart__init_($this, $var1, $var2, $var4, $var6, $var8) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityMinecart__init_0($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            nms_Entity_setPosition($this, $var2, $var4 + $this.$yOffset, $var6);
            $this.$motionX = 0.0;
            $this.$motionY = 0.0;
            $this.$motionZ = 0.0;
            $this.$prevPosX = $var2;
            $this.$prevPosY = $var4;
            $this.$prevPosZ = $var6;
            $this.$minecartType0 = $var8;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $ptr);
    }
    function nms_EntityMinecart_getMountedYOffset($this) {
        return $this.$height4 * 0.0 - 0.30000001192092896;
    }
    function nms_EntityMinecart_attackEntityFrom($this, $var1, $var2) {
        var var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$worldObj0.$multiplayerWorld && !$this.$isDead) {
                $this.$minecartRockDirection =  -$this.$minecartRockDirection | 0;
                $this.$minecartTimeSinceHit = 10;
                nms_Entity_setBeenAttacked($this);
                $var2 = $this.$minecartCurrentDamage + ($var2 * 10 | 0) | 0;
                $this.$minecartCurrentDamage = $var2;
                if ($var2 <= 40)
                    return 1;
                $ptr = 1;
                continue main;
            }
            return 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_Item_minecartEmpty.$shiftedIndex;
            var$3 = 1;
            var$4 = 0.0;
            $ptr = 2;
        case 2:
            nms_Entity_dropItemWithOffset($this, $var2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$minecartType0;
            if ($var2 == 1) {
                $ptr = 3;
                continue main;
            }
            if ($var2 != 2) {
                $ptr = 5;
                continue main;
            }
            $ptr = 6;
            continue main;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_Block_crate.$blockID;
            var$3 = 1;
            var$4 = 0.0;
            $ptr = 4;
        case 4:
            nms_Entity_dropItemWithOffset($this, $var2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_EntityMinecart_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 6:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_Block_stoneOvenIdle.$blockID;
            var$3 = 1;
            var$4 = 0.0;
            $ptr = 7;
        case 7:
            nms_Entity_dropItemWithOffset($this, $var2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_EntityMinecart_performHurtAnimation($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = jl_System_out();
            var$2 = $rt_s(2037);
            $ptr = 1;
        case 1:
            ji_PrintStream_println0(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$minecartRockDirection =  -$this.$minecartRockDirection | 0;
            $this.$minecartTimeSinceHit = 10;
            var$3 = $this.$minecartCurrentDamage;
            $this.$minecartCurrentDamage = var$3 + (var$3 * 10 | 0) | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_EntityMinecart_canBeCollidedWith($this) {
        return $this.$isDead ? 0 : 1;
    }
    function nms_EntityMinecart_setEntityDead($this) {
        var $var1, var$2, $var2, $var3, $var4, $var5, var$7, var$8, var$9, $var6, var$11, $var7, var$13, var$14, var$15, var$16, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var7 = $thread.pop();var$11 = $thread.pop();$var6 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = 0;
            var$2 = 27;
            while ($var1 < var$2) {
                $var2 = nms_EntityMinecart_getStackInSlot($this, $var1);
                if ($var2 !== null) {
                    $var3 = ju_Random_nextFloat($this.$rand3) * 0.800000011920929 + 0.10000000149011612;
                    $var4 = ju_Random_nextFloat($this.$rand3) * 0.800000011920929 + 0.10000000149011612;
                    $var5 = ju_Random_nextFloat($this.$rand3) * 0.800000011920929 + 0.10000000149011612;
                    var$7 = $var3;
                    var$8 = $var4;
                    var$9 = $var5;
                    if ($var2.$stackSize > 0) {
                        $var6 = ju_Random_nextInt($this.$rand3, 21) + 10 | 0;
                        var$11 = $var2.$stackSize;
                        if ($var6 > var$11)
                            $var6 = var$11;
                        $var2.$stackSize = var$11 - $var6 | 0;
                        $var7 = new nms_EntityItem;
                        var$13 = $this.$worldObj0;
                        var$14 = $this.$posX + var$7;
                        var$15 = $this.$posY + var$8;
                        var$16 = $this.$posZ + var$9;
                        var$17 = nms_ItemStack__init_7($var2.$itemID, $var6, $var2.$itemDamage);
                        $ptr = 2;
                        continue main;
                    }
                }
                $var1 = $var1 + 1 | 0;
            }
            $ptr = 1;
        case 1:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nms_EntityItem__init_($var7, var$13, var$14, var$15, var$16, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var7.$motionX = ju_Random_nextGaussian($this.$rand3) * 0.05000000074505806;
            $var7.$motionY = ju_Random_nextGaussian($this.$rand3) * 0.05000000074505806 + 0.20000000298023224;
            $var7.$motionZ = ju_Random_nextGaussian($this.$rand3) * 0.05000000074505806;
            var$17 = $this.$worldObj0;
            $ptr = 3;
        case 3:
            var$17.$entityJoinedWorld($var7);
            if ($rt_suspending()) {
                break main;
            }
            a: while (true) {
                if ($var2.$stackSize > 0) {
                    $var6 = ju_Random_nextInt($this.$rand3, 21) + 10 | 0;
                    var$11 = $var2.$stackSize;
                    if ($var6 > var$11)
                        $var6 = var$11;
                    $var2.$stackSize = var$11 - $var6 | 0;
                    $var7 = new nms_EntityItem;
                    var$13 = $this.$worldObj0;
                    var$14 = $this.$posX + var$7;
                    var$15 = $this.$posY + var$8;
                    var$16 = $this.$posZ + var$9;
                    var$17 = nms_ItemStack__init_7($var2.$itemID, $var6, $var2.$itemDamage);
                    $ptr = 2;
                    continue main;
                }
                while (true) {
                    $var1 = $var1 + 1 | 0;
                    if ($var1 >= var$2)
                        break a;
                    $var2 = nms_EntityMinecart_getStackInSlot($this, $var1);
                    if ($var2 === null)
                        continue;
                    else
                        break;
                }
                $var3 = ju_Random_nextFloat($this.$rand3) * 0.800000011920929 + 0.10000000149011612;
                $var4 = ju_Random_nextFloat($this.$rand3) * 0.800000011920929 + 0.10000000149011612;
                $var5 = ju_Random_nextFloat($this.$rand3) * 0.800000011920929 + 0.10000000149011612;
                var$7 = $var3;
                var$8 = $var4;
                var$9 = $var5;
            }
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, $var3, $var4, $var5, var$7, var$8, var$9, $var6, var$11, $var7, var$13, var$14, var$15, var$16, var$17, $ptr);
    }
    function nms_EntityMinecart_onUpdate($this) {
        var $var2, $var36, $var37, $var38, $var41, $var42, $var5, $var7, $var1, $var3, $var46, $var47, $var4, $var6, $var9, $var10, $var48, var$18, $var12, $var14, $var16, $var20, $var32, $var24, $var34, $var26, $var28, $var30, $var43, $var44, var$31, $var13, $var15, $var45, $var17, $var39, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var39 = $thread.pop();$var17 = $thread.pop();$var45 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();var$31 = $thread.pop();$var44 = $thread.pop();$var43 = $thread.pop();$var30 = $thread.pop();$var28 = $thread.pop();$var26 = $thread.pop();$var34 = $thread.pop();$var24 = $thread.pop();$var32 = $thread.pop();$var20 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();var$18 = $thread.pop();$var48 = $thread.pop();$var10 = $thread.pop();$var9
            = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var47 = $thread.pop();$var46 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var42 = $thread.pop();$var41 = $thread.pop();$var38 = $thread.pop();$var37 = $thread.pop();$var36 = $thread.pop();$var2 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $this.$minecartTimeSinceHit;
            if ($var2 > 0)
                $this.$minecartTimeSinceHit = $var2 - 1 | 0;
            $var2 = $this.$minecartCurrentDamage;
            if ($var2 > 0)
                $this.$minecartCurrentDamage = $var2 - 1 | 0;
            if ($this.$worldObj0.$multiplayerWorld) {
                $var2 = $this.$field_9415_k;
                if ($var2 > 0) {
                    if ($var2 <= 0) {
                        nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
                        nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
                    } else {
                        $var36 = $this.$posX;
                        $var37 = $this.$field_9414_l - $var36;
                        $var38 = $var2;
                        $var41 = $var36 + $var37 / $var38;
                        $var36 = $this.$posY;
                        $var42 = $var36 + ($this.$field_9413_m - $var36) / $var38;
                        $var36 = $this.$posZ;
                        $var5 = $var36 + ($this.$field_9412_n - $var36) / $var38;
                        $var36 = $this.$field_9411_o;
                        $var37 = $this.$rotationYaw;
                        $var7 = $var36 - $var37;
                        while ($var7 < (-180.0)) {
                            $var7 = $var7 + 360.0;
                        }
                        while ($var7 >= 180.0) {
                            $var7 = $var7 - 360.0;
                        }
                        $this.$rotationYaw = $var37 + $var7 / $var38;
                        $var36 = $this.$rotationPitch;
                        $this.$rotationPitch = $var36 + ($this.$field_9410_p - $var36) / $var38;
                        $this.$field_9415_k = $var2 - 1 | 0;
                        nms_Entity_setPosition($this, $var41, $var42, $var5);
                        nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
                    }
                    return;
                }
            }
            $var37 = $this.$posX;
            $this.$prevPosX = $var37;
            $this.$prevPosY = $this.$posY;
            $this.$prevPosZ = $this.$posZ;
            $this.$motionY = $this.$motionY - 0.03999999910593033;
            $var1 = nms_MathHelper_floor_double($var37);
            $var2 = nms_MathHelper_floor_double($this.$posY);
            $var3 = nms_MathHelper_floor_double($this.$posZ);
            $var46 = $this.$worldObj0;
            $var47 = $var2 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var46, $var1, $var47, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var47 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var47 == nms_Block_minecartTrack.$blockID)
                $var2 = $var2 + (-1) | 0;
            $var4 = 0.4;
            $var6 = 0;
            $var7 = 0.0078125;
            $var46 = $this.$worldObj0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId($var46, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var47 = $tmp;
            if ($var47 == nms_Block_minecartTrack.$blockID) {
                $var36 = $this.$posX;
                $var37 = $this.$posY;
                $var38 = $this.$posZ;
                $ptr = 4;
                continue main;
            }
            if ($this.$motionX < (-0.4))
                $this.$motionX = (-0.4);
            if ($this.$motionX > $var4)
                $this.$motionX = $var4;
            if ($this.$motionZ < (-0.4))
                $this.$motionZ = (-0.4);
            if ($this.$motionZ > $var4)
                $this.$motionZ = $var4;
            if ($this.$onGround0) {
                $this.$motionX = $this.$motionX * 0.5;
                $this.$motionY = $this.$motionY * 0.5;
                $this.$motionZ = $this.$motionZ * 0.5;
            }
            $var36 = $this.$motionX;
            $var37 = $this.$motionY;
            $var38 = $this.$motionZ;
            $ptr = 6;
            continue main;
        case 4:
            $tmp = nms_EntityMinecart_func_514_g($this, $var36, $var37, $var38);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $var46 = $this.$worldObj0;
            $ptr = 5;
        case 5:
            $tmp = nms_World_getBlockMetadata($var46, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $this.$posY = $var2;
            $var48 = $rt_compare($var10, 2);
            if ($var48 >= 0 && $var10 <= 5)
                $this.$posY = $var2 + 1 | 0;
            if (!$var48)
                $this.$motionX = $this.$motionX - $var7;
            if ($var10 == 3)
                $this.$motionX = $this.$motionX + $var7;
            if ($var10 == 4)
                $this.$motionZ = $this.$motionZ + $var7;
            if ($var10 == 5)
                $this.$motionZ = $this.$motionZ - $var7;
            var$18 = nms_EntityMinecart_field_855_j.data[$var10].data;
            $var12 = var$18[1].data[0] - var$18[0].data[0] | 0;
            $var14 = var$18[1].data[2] - var$18[0].data[2] | 0;
            $var16 = jl_Math_sqrt($var12 * $var12 + $var14 * $var14);
            $var36 = $this.$motionX;
            $var37 = $var36 * $var12;
            $var38 = $this.$motionZ;
            if ($var37 + $var38 * $var14 < 0.0) {
                $var12 =  -$var12;
                $var14 =  -$var14;
            }
            $var20 = jl_Math_sqrt($var36 * $var36 + $var38 * $var38);
            $this.$motionX = $var20 * $var12 / $var16;
            $this.$motionZ = $var20 * $var14 / $var16;
            $var32 = $var1;
            $var36 = $var32 + 0.5;
            $var24 = $var36 + var$18[0].data[0] * 0.5;
            $var34 = $var3;
            $var7 = $var34 + 0.5;
            $var26 = $var7 + var$18[0].data[2] * 0.5;
            $var28 = $var36 + var$18[1].data[0] * 0.5;
            $var30 = $var7 + var$18[1].data[2] * 0.5;
            $var37 = $var28 - $var24;
            $var38 = $var30 - $var26;
            if ($var37 === 0.0) {
                $this.$posX = $var36;
                $var36 = $this.$posZ - $var34;
            } else if ($var38 === 0.0) {
                $this.$posZ = $var7;
                $var36 = $this.$posX - $var32;
            } else
                $var36 = (($this.$posX - $var24) * $var37 + ($this.$posZ - $var26) * $var38) * 2.0;
            $var37 = $var24 + $var37 * $var36;
            $this.$posX = $var37;
            $var36 = $var26 + $var38 * $var36;
            $this.$posZ = $var36;
            nms_Entity_setPosition($this, $var37, $this.$posY + $this.$yOffset, $var36);
            $var32 = $this.$motionX;
            $var34 = $this.$motionZ;
            if ($this.$riddenByEntity !== null) {
                $var32 = $var32 * 0.75;
                $var34 = $var34 * 0.75;
            }
            $var36 = (-0.4);
            if ($var32 < $var36)
                $var32 = $var36;
            if ($var32 > $var4)
                $var32 = $var4;
            if ($var34 >= $var36)
                $var36 = $var34;
            if ($var36 <= $var4)
                $var4 = $var36;
            $var36 = 0.0;
            $ptr = 9;
            continue main;
        case 6:
            nms_Entity_moveEntity($this, $var36, $var37, $var38);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$onGround0) {
                $this.$motionX = $this.$motionX * 0.949999988079071;
                $this.$motionY = $this.$motionY * 0.949999988079071;
                $this.$motionZ = $this.$motionZ * 0.949999988079071;
            }
            $this.$rotationPitch = 0.0;
            $var43 = $this.$prevPosX - $this.$posX;
            $var44 = $this.$prevPosZ - $this.$posZ;
            if ($var43 * $var43 + $var44 * $var44 > 0.001) {
                var$31 = jl_Math_atan2($var44, $var43) * 180.0 / 3.141592653589793;
                $this.$rotationYaw = var$31;
                if ($this.$field_856_i)
                    $this.$rotationYaw = var$31 + 180.0;
            }
            var$31 = $this.$rotationYaw;
            $var13 = var$31 - $this.$prevRotationYaw;
            while ($var13 >= 180.0) {
                $var13 = $var13 - 360.0;
            }
            while ($var13 < (-180.0)) {
                $var13 = $var13 + 360.0;
            }
            if (!($var13 >= (-170.0) && $var13 < 170.0)) {
                $this.$rotationYaw = var$31 + 180.0;
                $this.$field_856_i = $this.$field_856_i ? 0 : 1;
            }
            nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
            $var46 = $this.$worldObj0;
            $var9 = nms_AxisAlignedBB_expand($this.$boundingBox, 0.20000000298023224, 0.0, 0.20000000298023224);
            $ptr = 7;
        case 7:
            a: {
                $tmp = nms_World_getEntitiesWithinAABBExcludingEntity($var46, $this, $var9);
                if ($rt_suspending()) {
                    break main;
                }
                $var15 = $tmp;
                if ($var15 !== null && ju_ArrayList_size($var15) > 0) {
                    $var45 = 0;
                    while (true) {
                        if ($var45 >= ju_ArrayList_size($var15))
                            break a;
                        $var17 = ju_ArrayList_get($var15, $var45);
                        if ($var17 !== $this.$riddenByEntity && $var17.$canBePushed() && $var17 instanceof nms_EntityMinecart)
                            $var17.$applyEntityCollision($this);
                        $var45 = $var45 + 1 | 0;
                    }
                }
            }
            $var46 = $this.$riddenByEntity;
            if ($var46 !== null && $var46.$isDead)
                $this.$riddenByEntity = null;
            if ($var6 && !ju_Random_nextInt($this.$rand3, 4)) {
                $var2 = $this.$fuel - 1 | 0;
                $this.$fuel = $var2;
                if ($var2 < 0) {
                    $this.$pushZ = 0.0;
                    $this.$pushX = 0.0;
                }
                $var46 = $this.$worldObj0;
                $var9 = $rt_s(917);
                $var32 = $this.$posX;
                $var34 = $this.$posY + 0.8;
                $var4 = $this.$posZ;
                $var36 = 0.0;
                $var37 = 0.0;
                $var38 = 0.0;
                $ptr = 8;
                continue main;
            }
            return;
        case 8:
            nms_World_spawnParticle($var46, $var9, $var32, $var34, $var4, $var36, $var37, $var38);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 9:
            nms_Entity_moveEntity($this, $var32, $var36, $var4);
            if ($rt_suspending()) {
                break main;
            }
            if (var$18[0].data[1] && (nms_MathHelper_floor_double($this.$posX) - $var1 | 0) == var$18[0].data[0] && (nms_MathHelper_floor_double($this.$posZ) - $var3 | 0) == var$18[0].data[2])
                nms_Entity_setPosition($this, $this.$posX, $this.$posY + var$18[0].data[1], $this.$posZ);
            else if (var$18[1].data[1] && (nms_MathHelper_floor_double($this.$posX) - $var1 | 0) == var$18[1].data[0] && (nms_MathHelper_floor_double($this.$posZ) - $var3 | 0) == var$18[1].data[2])
                nms_Entity_setPosition($this, $this.$posX, $this.$posY + var$18[1].data[1], $this.$posZ);
            if ($this.$riddenByEntity !== null) {
                $this.$motionX = $this.$motionX * 0.996999979019165;
                $this.$motionY = $this.$motionY * 0.0;
                $this.$motionZ = $this.$motionZ * 0.996999979019165;
            } else {
                if ($this.$minecartType0 == 2) {
                    $var36 = $this.$pushX;
                    $var36 = $var36 * $var36;
                    $var37 = $this.$pushZ;
                    $var36 = nms_MathHelper_sqrt_double($var36 + $var37 * $var37);
                    if ($var36 <= 0.01) {
                        $this.$motionX = $this.$motionX * 0.8999999761581421;
                        $this.$motionY = $this.$motionY * 0.0;
                        $this.$motionZ = $this.$motionZ * 0.8999999761581421;
                    } else {
                        $var6 = 1;
                        $var37 = $this.$pushX / $var36;
                        $this.$pushX = $var37;
                        $var36 = $this.$pushZ / $var36;
                        $this.$pushZ = $var36;
                        $var32 = $this.$motionX * 0.800000011920929;
                        $this.$motionX = $var32;
                        $this.$motionY = $this.$motionY * 0.0;
                        $var34 = $this.$motionZ * 0.800000011920929;
                        $this.$motionZ = $var34;
                        $this.$motionX = $var32 + $var37 * 0.04;
                        $this.$motionZ = $var34 + $var36 * 0.04;
                    }
                }
                $this.$motionX = $this.$motionX * 0.9599999785423279;
                $this.$motionY = $this.$motionY * 0.0;
                $this.$motionZ = $this.$motionZ * 0.9599999785423279;
            }
            $var36 = $this.$posX;
            $var37 = $this.$posY;
            $var38 = $this.$posZ;
            $ptr = 10;
        case 10:
            $tmp = nms_EntityMinecart_func_514_g($this, $var36, $var37, $var38);
            if ($rt_suspending()) {
                break main;
            }
            $var46 = $tmp;
            if ($var46 !== null && $var9 !== null) {
                $var37 = ($var9.$yCoord - $var46.$yCoord) * 0.05;
                $var36 = $this.$motionX;
                $var36 = $var36 * $var36;
                $var38 = $this.$motionZ;
                $var36 = jl_Math_sqrt($var36 + $var38 * $var38);
                if ($var36 > 0.0) {
                    $var38 = $this.$motionX / $var36;
                    $var37 = $var36 + $var37;
                    $this.$motionX = $var38 * $var37;
                    $this.$motionZ = $this.$motionZ / $var36 * $var37;
                }
                nms_Entity_setPosition($this, $this.$posX, $var46.$yCoord, $this.$posZ);
            }
            $var47 = nms_MathHelper_floor_double($this.$posX);
            $var48 = nms_MathHelper_floor_double($this.$posZ);
            if (!($var47 == $var1 && $var48 == $var3)) {
                $var36 = $this.$motionX;
                $var36 = $var36 * $var36;
                $var37 = $this.$motionZ;
                $var36 = jl_Math_sqrt($var36 + $var37 * $var37);
                $this.$motionX = $var36 * ($var47 - $var1 | 0);
                $this.$motionZ = $var36 * ($var48 - $var3 | 0);
            }
            if ($this.$minecartType0 == 2) {
                $var36 = $this.$pushX;
                $var36 = $var36 * $var36;
                $var37 = $this.$pushZ;
                $var39 = nms_MathHelper_sqrt_double($var36 + $var37 * $var37);
                if ($var39 > 0.01) {
                    $var36 = $this.$motionX;
                    $var37 = $var36 * $var36;
                    $var38 = $this.$motionZ;
                    if ($var37 + $var38 * $var38 > 0.001) {
                        $var37 = $this.$pushX / $var39;
                        $this.$pushX = $var37;
                        $var32 = $this.$pushZ / $var39;
                        $this.$pushZ = $var32;
                        if ($var37 * $var36 + $var32 * $var38 >= 0.0) {
                            $this.$pushX = $var36;
                            $this.$pushZ = $var38;
                        } else {
                            $this.$pushX = 0.0;
                            $this.$pushZ = 0.0;
                        }
                    }
                }
            }
            $this.$rotationPitch = 0.0;
            $var43 = $this.$prevPosX - $this.$posX;
            $var44 = $this.$prevPosZ - $this.$posZ;
            if ($var43 * $var43 + $var44 * $var44 > 0.001) {
                var$31 = jl_Math_atan2($var44, $var43) * 180.0 / 3.141592653589793;
                $this.$rotationYaw = var$31;
                if ($this.$field_856_i)
                    $this.$rotationYaw = var$31 + 180.0;
            }
            var$31 = $this.$rotationYaw;
            $var13 = var$31 - $this.$prevRotationYaw;
            while ($var13 >= 180.0) {
                $var13 = $var13 - 360.0;
            }
            while ($var13 < (-180.0)) {
                $var13 = $var13 + 360.0;
            }
            if (!($var13 >= (-170.0) && $var13 < 170.0)) {
                $this.$rotationYaw = var$31 + 180.0;
                $this.$field_856_i = $this.$field_856_i ? 0 : 1;
            }
            nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
            $var46 = $this.$worldObj0;
            $var9 = nms_AxisAlignedBB_expand($this.$boundingBox, 0.20000000298023224, 0.0, 0.20000000298023224);
            $ptr = 7;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var2, $var36, $var37, $var38, $var41, $var42, $var5, $var7, $var1, $var3, $var46, $var47, $var4, $var6, $var9, $var10, $var48, var$18, $var12, $var14, $var16, $var20, $var32, $var24, $var34, $var26, $var28, $var30, $var43, $var44, var$31, $var13, $var15, $var45, $var17, $var39, $ptr);
    }
    function nms_EntityMinecart_func_515_a($this, $var1, $var3, $var5, $var7) {
        var $var9, $var10, $var11, var$8, $var12, var$10, $var14, $var16, $var18, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();var$10 = $thread.pop();$var12 = $thread.pop();var$8 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var9 = nms_MathHelper_floor_double($var1);
            $var10 = nms_MathHelper_floor_double($var3);
            $var11 = nms_MathHelper_floor_double($var5);
            var$8 = $this.$worldObj0;
            $var12 = $var10 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId(var$8, $var9, $var12, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var12 == nms_Block_minecartTrack.$blockID)
                $var10 = $var10 + (-1) | 0;
            var$8 = $this.$worldObj0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId(var$8, $var9, $var10, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if ($var12 != nms_Block_minecartTrack.$blockID)
                return null;
            var$8 = $this.$worldObj0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockMetadata(var$8, $var9, $var10, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            $var3 = $var10;
            if ($var12 >= 2 && $var12 <= 5)
                $var3 = $var10 + 1 | 0;
            var$10 = nms_EntityMinecart_field_855_j.data[$var12].data;
            $var14 = var$10[1].data[0] - var$10[0].data[0] | 0;
            $var16 = var$10[1].data[2] - var$10[0].data[2] | 0;
            $var18 = jl_Math_sqrt($var14 * $var14 + $var16 * $var16);
            $var14 = $var14 / $var18;
            $var16 = $var16 / $var18;
            $var14 = $var1 + $var14 * $var7;
            $var5 = $var5 + $var16 * $var7;
            if (var$10[0].data[1] && (nms_MathHelper_floor_double($var14) - $var9 | 0) == var$10[0].data[0] && (nms_MathHelper_floor_double($var5) - $var11 | 0) == var$10[0].data[2])
                $var3 = $var3 + var$10[0].data[1];
            else if (var$10[1].data[1] && (nms_MathHelper_floor_double($var14) - $var9 | 0) == var$10[1].data[0] && (nms_MathHelper_floor_double($var5) - $var11 | 0) == var$10[1].data[2])
                $var3 = $var3 + var$10[1].data[1];
            $ptr = 5;
        case 5:
            $tmp = nms_EntityMinecart_func_514_g($this, $var14, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            return var$8;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, $var7, $var9, $var10, $var11, var$8, $var12, var$10, $var14, $var16, $var18, $ptr);
    }
    function nms_EntityMinecart_func_514_g($this, $var1, $var3, $var5) {
        var $var7, $var8, $var9, var$7, var$8, $var10, $var11, $var36, $var20, $var14, $var24, $var16, $var32, $var26, $var18, $var22, $var28, $var30, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var30 = $thread.pop();$var28 = $thread.pop();$var22 = $thread.pop();$var18 = $thread.pop();$var26 = $thread.pop();$var32 = $thread.pop();$var16 = $thread.pop();$var24 = $thread.pop();$var14 = $thread.pop();$var20 = $thread.pop();$var36 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var7 = nms_MathHelper_floor_double($var1);
            $var8 = nms_MathHelper_floor_double($var3);
            $var9 = nms_MathHelper_floor_double($var5);
            var$7 = $this.$worldObj0;
            var$8 = $var8 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId(var$7, $var7, var$8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$8 == nms_Block_minecartTrack.$blockID)
                $var8 = $var8 + (-1) | 0;
            var$7 = $this.$worldObj0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId(var$7, $var7, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8 != nms_Block_minecartTrack.$blockID)
                return null;
            var$7 = $this.$worldObj0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockMetadata(var$7, $var7, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $var3 = $var8;
            $var10 >= 2 && $var10 > 5;
            $var11 = nms_EntityMinecart_field_855_j.data[$var10].data;
            $var36 = $var7;
            $var20 = $var36 + 0.5;
            $var14 = $var20 + $var11[0].data[0] * 0.5;
            $var24 = $var3 + 0.5;
            $var16 = $var24 + $var11[0].data[1] * 0.5;
            $var32 = $var9;
            $var26 = $var32 + 0.5;
            $var18 = $var26 + $var11[0].data[2] * 0.5;
            $var20 = $var20 + $var11[1].data[0] * 0.5;
            $var22 = $var24 + $var11[1].data[1] * 0.5;
            $var24 = $var26 + $var11[1].data[2] * 0.5;
            $var26 = $var20 - $var14;
            $var28 = ($var22 - $var16) * 2.0;
            $var30 = $var24 - $var18;
            $var36 = $var26 === 0.0 ? $var5 - $var32 : $var30 === 0.0 ? $var1 - $var36 : (($var1 - $var14) * $var26 + ($var5 - $var18) * $var30) * 2.0;
            $var1 = $var14 + $var26 * $var36;
            $var3 = $var16 + $var28 * $var36;
            $var5 = $var18 + $var30 * $var36;
            var$8 = $rt_compare($var28, 0.0);
            if (var$8 < 0)
                $var3 = $var3 + 1.0;
            if (var$8 > 0)
                $var3 = $var3 + 0.5;
            return nms_Vec3D_createVector($var1, $var3, $var5);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, $var7, $var8, $var9, var$7, var$8, $var10, $var11, $var36, $var20, $var14, $var24, $var16, $var32, $var26, $var18, $var22, $var28, $var30, $ptr);
    }
    function nms_EntityMinecart_writeEntityToNBT($this, $var1) {
        var $var2, $var3, var$4, var$5, $var4, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var4 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $rt_s(2038);
            $var3 = $this.$minecartType0;
            $ptr = 1;
        case 1:
            nms_NBTTagCompound_setInteger($var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $this.$minecartType0;
            if ($var3 == 2) {
                $var2 = $rt_s(2039);
                var$4 = $this.$pushX;
                $ptr = 2;
                continue main;
            }
            if ($var3 != 1)
                return;
            $var2 = nms_NBTTagList__init_0();
            $var3 = 0;
            while (true) {
                var$5 = $this.$cargoItems.data;
                if ($var3 >= var$5.length)
                    break;
                if (var$5[$var3] !== null) {
                    $var4 = nms_NBTTagCompound__init_0();
                    var$7 = $rt_s(1831);
                    var$8 = $var3 << 24 >> 24;
                    $ptr = 6;
                    continue main;
                }
                $var3 = $var3 + 1 | 0;
            }
            var$7 = $rt_s(2040);
            $ptr = 5;
            continue main;
        case 2:
            nms_NBTTagCompound_setDouble($var1, $var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $rt_s(2041);
            var$4 = $this.$pushZ;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setDouble($var1, $var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $rt_s(2042);
            $var3 = $this.$fuel << 16 >> 16;
            $ptr = 4;
        case 4:
            nms_NBTTagCompound_setShort($var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            nms_NBTTagCompound_setTag($var1, var$7, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nms_NBTTagCompound_setByte($var4, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$cargoItems.data[$var3];
            $ptr = 7;
        case 7:
            nms_ItemStack_writeToNBT(var$7, $var4);
            if ($rt_suspending()) {
                break main;
            }
            nms_NBTTagList_setTag($var2, $var4);
            while (true) {
                $var3 = $var3 + 1 | 0;
                var$5 = $this.$cargoItems.data;
                if ($var3 >= var$5.length)
                    break;
                if (var$5[$var3] === null)
                    continue;
                else {
                    $var4 = nms_NBTTagCompound__init_0();
                    var$7 = $rt_s(1831);
                    var$8 = $var3 << 24 >> 24;
                    $ptr = 6;
                    continue main;
                }
            }
            var$7 = $rt_s(2040);
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $var4, var$7, var$8, $ptr);
    }
    function nms_EntityMinecart_readEntityFromNBT($this, $var1) {
        var $var2, $var3, var$4, $var4, $var5, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $rt_s(2038);
            $ptr = 1;
        case 1:
            $tmp = nms_NBTTagCompound_getInteger($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $this.$minecartType0 = $var3;
            if ($var3 == 2) {
                $var2 = $rt_s(2039);
                $ptr = 2;
                continue main;
            }
            if ($var3 != 1)
                return;
            $var2 = $rt_s(2040);
            $ptr = 5;
            continue main;
        case 2:
            $tmp = nms_NBTTagCompound_getDouble($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $this.$pushX = var$4;
            $var2 = $rt_s(2041);
            $ptr = 3;
        case 3:
            $tmp = nms_NBTTagCompound_getDouble($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $this.$pushZ = var$4;
            $var2 = $rt_s(2042);
            $ptr = 4;
        case 4:
            $tmp = nms_NBTTagCompound_getShort($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $this.$fuel = $var3;
            return;
        case 5:
            $tmp = nms_NBTTagCompound_getTagList($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$cargoItems = $rt_createArray(nms_ItemStack, 27);
            $var3 = 0;
            if ($var3 >= nms_NBTTagList_tagCount($var2))
                return;
            $var4 = nms_NBTTagList_tagAt($var2, $var3);
            $var1 = $rt_s(1831);
            $ptr = 6;
        case 6:
            $tmp = nms_NBTTagCompound_getByte($var4, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var5 = $var5 & 255;
            if ($var5 >= 0) {
                var$7 = $this.$cargoItems.data;
                if ($var5 < var$7.length) {
                    $var1 = new nms_ItemStack;
                    $ptr = 7;
                    continue main;
                }
            }
            $var3 = $var3 + 1 | 0;
            if ($var3 >= nms_NBTTagList_tagCount($var2))
                return;
            $var4 = nms_NBTTagList_tagAt($var2, $var3);
            $var1 = $rt_s(1831);
            continue main;
        case 7:
            nms_ItemStack__init_6($var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7[$var5] = $var1;
            $var3 = $var3 + 1 | 0;
            if ($var3 >= nms_NBTTagList_tagCount($var2))
                return;
            $var4 = nms_NBTTagList_tagAt($var2, $var3);
            $var1 = $rt_s(1831);
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $var4, $var5, var$7, $ptr);
    }
    function nms_EntityMinecart_getShadowSize($this) {
        return 0.0;
    }
    function nms_EntityMinecart_applyEntityCollision($this, $var1) {
        var var$2, $var2, $var4, $var6, $var8, $var10, var$8, var$9, $var12, var$11;
        if (!$this.$worldObj0.$multiplayerWorld) {
            var$2 = $this.$riddenByEntity;
            if ($var1 !== var$2) {
                if ($var1 instanceof nms_EntityLiving && !($var1 instanceof nms_EntityPlayer) && !$this.$minecartType0) {
                    $var2 = $this.$motionX;
                    $var2 = $var2 * $var2;
                    $var4 = $this.$motionZ;
                    if ($var2 + $var4 * $var4 > 0.01 && var$2 === null && $var1.$ridingEntity === null)
                        nms_Entity_mountEntity($var1, $this);
                }
                $var2 = $var1.$posX - $this.$posX;
                $var4 = $var1.$posZ - $this.$posZ;
                $var6 = $var2 * $var2 + $var4 * $var4;
                if ($var6 >= 9.999999747378752E-5) {
                    $var6 = nms_MathHelper_sqrt_double($var6);
                    $var2 = $var2 / $var6;
                    $var4 = $var4 / $var6;
                    $var8 = 1.0 / $var6;
                    if ($var8 > 1.0)
                        $var8 = 1.0;
                    $var2 = $var2 * $var8;
                    $var4 = $var4 * $var8;
                    $var2 = $var2 * 0.10000000149011612;
                    $var6 = $var4 * 0.10000000149011612;
                    $var4 = 1.0 - $this.$entityCollisionReduction;
                    $var2 = $var2 * $var4;
                    $var4 = $var6 * $var4;
                    $var2 = $var2 * 0.5;
                    $var4 = $var4 * 0.5;
                    if (!($var1 instanceof nms_EntityMinecart)) {
                        nms_Entity_addVelocity($this,  -$var2, 0.0,  -$var4);
                        nms_Entity_addVelocity($var1, $var2 / 4.0, 0.0, $var4 / 4.0);
                    } else {
                        $var6 = $var1.$motionX;
                        $var8 = $this.$motionX;
                        $var10 = $var6 + $var8;
                        var$8 = $var1.$motionZ;
                        var$9 = $this.$motionZ;
                        $var12 = var$8 + var$9;
                        var$11 = $rt_compare($var1.$minecartType0, 2);
                        if (!var$11 && $this.$minecartType0 != 2) {
                            $this.$motionX = $var8 * 0.20000000298023224;
                            $this.$motionZ = var$9 * 0.20000000298023224;
                            nms_Entity_addVelocity($this, $var1.$motionX - $var2, 0.0, $var1.$motionZ - $var4);
                            $var1.$motionX = $var1.$motionX * 0.699999988079071;
                            $var1.$motionZ = $var1.$motionZ * 0.699999988079071;
                        } else if (var$11 && $this.$minecartType0 == 2) {
                            $var1.$motionX = $var6 * 0.20000000298023224;
                            $var1.$motionZ = var$8 * 0.20000000298023224;
                            nms_Entity_addVelocity($var1, $this.$motionX + $var2, 0.0, $this.$motionZ + $var4);
                            $this.$motionX = $this.$motionX * 0.699999988079071;
                            $this.$motionZ = $this.$motionZ * 0.699999988079071;
                        } else {
                            $var6 = $var10 / 2.0;
                            $var10 = $var12 / 2.0;
                            $this.$motionX = $var8 * 0.20000000298023224;
                            $this.$motionZ = var$9 * 0.20000000298023224;
                            nms_Entity_addVelocity($this, $var6 - $var2, 0.0, $var10 - $var4);
                            $var1.$motionX = $var1.$motionX * 0.20000000298023224;
                            $var1.$motionZ = $var1.$motionZ * 0.20000000298023224;
                            nms_Entity_addVelocity($var1, $var6 + $var2, 0.0, $var10 + $var4);
                        }
                    }
                }
            }
        }
    }
    function nms_EntityMinecart_getSizeInventory($this) {
        return 27;
    }
    function nms_EntityMinecart_getStackInSlot($this, $var1) {
        return $this.$cargoItems.data[$var1];
    }
    function nms_EntityMinecart_decrStackSize($this, $var1, $var2) {
        var var$3, $var3;
        var$3 = $this.$cargoItems.data;
        if (var$3[$var1] === null)
            return null;
        if (var$3[$var1].$stackSize <= $var2) {
            $var3 = var$3[$var1];
            var$3[$var1] = null;
            return $var3;
        }
        $var3 = nms_ItemStack_splitStack(var$3[$var1], $var2);
        var$3 = $this.$cargoItems.data;
        if (!var$3[$var1].$stackSize)
            var$3[$var1] = null;
        return $var3;
    }
    function nms_EntityMinecart_setInventorySlotContents($this, $var1, $var2) {
        $this.$cargoItems.data[$var1] = $var2;
        if ($var2 !== null && $var2.$stackSize > 64)
            $var2.$stackSize = 64;
    }
    function nms_EntityMinecart_getInvName($this) {
        return $rt_s(2043);
    }
    function nms_EntityMinecart_getInventoryStackLimit($this) {
        return 64;
    }
    function nms_EntityMinecart_onInventoryChanged($this) {}
    function nms_EntityMinecart_interact($this, $var1) {
        var var$2, $var2, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                var$2 = $this.$minecartType0;
                if (!var$2) {
                    $var2 = $this.$riddenByEntity;
                    if ($var2 !== null && $var2 instanceof nms_EntityPlayer && $var2 !== $var1)
                        return 1;
                    if (!$this.$worldObj0.$multiplayerWorld)
                        nms_Entity_mountEntity($var1, $this);
                } else {
                    if (var$2 == 1) {
                        if ($this.$worldObj0.$multiplayerWorld)
                            break a;
                        $ptr = 1;
                        continue main;
                    }
                    if (var$2 == 2) {
                        $var2 = nms_InventoryPlayer_getCurrentItem($var1.$inventory);
                        if ($var2 !== null) {
                            var$4 = $var2.$itemID;
                            $ptr = 2;
                            continue main;
                        }
                        $this.$pushX = $this.$posX - $var1.$posX;
                        $this.$pushZ = $this.$posZ - $var1.$posZ;
                    }
                }
            }
            return 1;
        case 1:
            nms_EntityPlayerSP_displayGUIChest($var1, $this);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 2:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$4 == nms_Item_coal.$shiftedIndex) {
                var$4 = $var2.$stackSize - 1 | 0;
                $var2.$stackSize = var$4;
                if (!var$4) {
                    $var2 = $var1.$inventory;
                    var$4 = $var2.$currentItem;
                    var$5 = null;
                    $ptr = 3;
                    continue main;
                }
                $this.$fuel = $this.$fuel + 1200 | 0;
            }
            $this.$pushX = $this.$posX - $var1.$posX;
            $this.$pushZ = $this.$posZ - $var1.$posZ;
            return 1;
        case 3:
            nms_InventoryPlayer_setInventorySlotContents($var2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $this.$fuel = $this.$fuel + 1200 | 0;
            $this.$pushX = $this.$posX - $var1.$posX;
            $this.$pushZ = $this.$posZ - $var1.$posZ;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, var$4, var$5, $ptr);
    }
    function nms_EntityMinecart_setPositionAndRotation2($this, $var1, $var3, $var5, $var7, $var8, $var9) {
        $this.$field_9414_l = $var1;
        $this.$field_9413_m = $var3;
        $this.$field_9412_n = $var5;
        $this.$field_9411_o = $var7;
        $this.$field_9410_p = $var8;
        $this.$field_9415_k = $var9 + 2 | 0;
        $this.$motionX = $this.$field_9409_q;
        $this.$motionY = $this.$field_9408_r;
        $this.$motionZ = $this.$field_9407_s;
    }
    function nms_EntityMinecart_setVelocity($this, $var1, $var3, $var5) {
        $this.$motionX = $var1;
        $this.$field_9409_q = $var1;
        $this.$motionY = $var3;
        $this.$field_9408_r = $var3;
        $this.$motionZ = $var5;
        $this.$field_9407_s = $var5;
    }
    function nms_EntityMinecart_canInteractWith($this, $var1) {
        return $this.$isDead ? 0 : nms_Entity_getDistanceSqToEntity($var1, $this) > 64.0 ? 0 : 1;
    }
    function nms_EntityMinecart__clinit_() {
        nms_EntityMinecart_field_855_j = $rt_createArrayFromData($rt_arraycls($rt_arraycls($rt_intcls())), [$rt_createArrayFromData($rt_arraycls($rt_intcls()), [$rt_createIntArrayFromData([0, 0, (-1)]), $rt_createIntArrayFromData([0, 0, 1])]), $rt_createArrayFromData($rt_arraycls($rt_intcls()), [$rt_createIntArrayFromData([(-1), 0, 0]), $rt_createIntArrayFromData([1, 0, 0])]), $rt_createArrayFromData($rt_arraycls($rt_intcls()), [$rt_createIntArrayFromData([(-1), (-1), 0]), $rt_createIntArrayFromData([1, 0, 0])]),
        $rt_createArrayFromData($rt_arraycls($rt_intcls()), [$rt_createIntArrayFromData([(-1), 0, 0]), $rt_createIntArrayFromData([1, (-1), 0])]), $rt_createArrayFromData($rt_arraycls($rt_intcls()), [$rt_createIntArrayFromData([0, 0, (-1)]), $rt_createIntArrayFromData([0, (-1), 1])]), $rt_createArrayFromData($rt_arraycls($rt_intcls()), [$rt_createIntArrayFromData([0, (-1), (-1)]), $rt_createIntArrayFromData([0, 0, 1])]), $rt_createArrayFromData($rt_arraycls($rt_intcls()), [$rt_createIntArrayFromData([0, 0, 1]),
        $rt_createIntArrayFromData([1, 0, 0])]), $rt_createArrayFromData($rt_arraycls($rt_intcls()), [$rt_createIntArrayFromData([0, 0, 1]), $rt_createIntArrayFromData([(-1), 0, 0])]), $rt_createArrayFromData($rt_arraycls($rt_intcls()), [$rt_createIntArrayFromData([0, 0, (-1)]), $rt_createIntArrayFromData([(-1), 0, 0])]), $rt_createArrayFromData($rt_arraycls($rt_intcls()), [$rt_createIntArrayFromData([0, 0, (-1)]), $rt_createIntArrayFromData([1, 0, 0])])]);
    }
    function nms_RenderMinecart() {
        nms_Render.call(this);
        this.$modelMinecart = null;
    }
    function nms_RenderMinecart__init_0() {
        var var_0 = new nms_RenderMinecart();
        nms_RenderMinecart__init_(var_0);
        return var_0;
    }
    function nms_RenderMinecart__init_($this) {
        nms_Render__init_($this);
        $this.$shadowSize = 0.5;
        $this.$modelMinecart = nms_ModelMinecart__init_0();
    }
    function nms_RenderMinecart_func_152_a($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $var10, $var12, $var14, $var16, $var18, $var23, $var19, $var24, $var25, $var20, $var21, $var22, var$19, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$19 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();$var19 = $thread.pop();$var23 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $var1.$lastTickPosX;
            $var12 = $var1.$posX - $var10;
            $var14 = $var9;
            $var10 = $var10 + $var12 * $var14;
            $var12 = $var1.$lastTickPosY;
            $var12 = $var12 + ($var1.$posY - $var12) * $var14;
            $var16 = $var1.$lastTickPosZ;
            $var14 = $var16 + ($var1.$posZ - $var16) * $var14;
            $var16 = 0.30000001192092896;
            $ptr = 2;
        case 2:
            $tmp = nms_EntityMinecart_func_514_g($var1, $var10, $var12, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var18 = $tmp;
            $var23 = $var1.$prevRotationPitch;
            $var19 = $var23 + ($var1.$rotationPitch - $var23) * $var9;
            if ($var18 !== null) {
                $ptr = 3;
                continue main;
            }
            $var23 = $var2;
            $var24 = $var4;
            $var25 = $var6;
            $ptr = 5;
            continue main;
        case 3:
            $tmp = nms_EntityMinecart_func_515_a($var1, $var10, $var12, $var14, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var20 = $tmp;
            $var16 = (-0.30000001192092896);
            $ptr = 4;
        case 4:
            $tmp = nms_EntityMinecart_func_515_a($var1, $var10, $var12, $var14, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = $tmp;
            if ($var20 === null)
                $var20 = $var18;
            if ($var21 === null)
                $var21 = $var18;
            $var2 = $var2 + $var18.$xCoord - $var10;
            $var10 = $var20.$yCoord;
            $var4 = $var4 + ($var10 + $var21.$yCoord) / 2.0 - $var12;
            $var6 = $var6 + $var18.$zCoord - $var14;
            $var22 = nms_Vec3D_addVector($var21,  -$var20.$xCoord,  -$var10,  -$var20.$zCoord);
            if (nms_Vec3D_lengthVector($var22) !== 0.0) {
                $var20 = nms_Vec3D_normalize($var22);
                $var8 = jl_Math_atan2($var20.$zCoord, $var20.$xCoord) * 180.0 / 3.141592653589793;
                $var19 = jl_Math_atan($var20.$yCoord) * 73.0;
            }
            $var23 = $var2;
            $var24 = $var4;
            $var25 = $var6;
            $ptr = 5;
        case 5:
            olo_GL11_glTranslatef($var23, $var24, $var25);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 180.0 - $var8;
            $var23 = 0.0;
            $var24 = 1.0;
            $var25 = 0.0;
            $ptr = 6;
        case 6:
            olo_GL11_glRotatef($var8, $var23, $var24, $var25);
            if ($rt_suspending()) {
                break main;
            }
            $var8 =  -$var19;
            $var19 = 0.0;
            $var23 = 0.0;
            $var24 = 1.0;
            $ptr = 7;
        case 7:
            olo_GL11_glRotatef($var8, $var19, $var23, $var24);
            if ($rt_suspending()) {
                break main;
            }
            $var23 = $var1.$minecartTimeSinceHit - $var9;
            $var24 = $var1.$minecartCurrentDamage - $var9;
            if ($var24 < 0.0)
                $var24 = 0.0;
            if ($var23 <= 0.0) {
                if (!$var1.$minecartType0) {
                    $var1 = $rt_s(2044);
                    $ptr = 9;
                    continue main;
                }
                $var20 = $rt_s(266);
                $ptr = 11;
                continue main;
            }
            $var8 = nms_MathHelper_sin($var23) * $var23 * $var24 / 10.0 * $var1.$minecartRockDirection;
            $var9 = 1.0;
            $var19 = 0.0;
            $var23 = 0.0;
            $ptr = 8;
        case 8:
            olo_GL11_glRotatef($var8, $var9, $var19, $var23);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var1.$minecartType0) {
                $var1 = $rt_s(2044);
                $ptr = 9;
                continue main;
            }
            $var20 = $rt_s(266);
            $ptr = 11;
            continue main;
        case 9:
            nms_Render_loadTexture($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = (-1.0);
            $var9 = (-1.0);
            $var19 = 1.0;
            $ptr = 10;
        case 10:
            olo_GL11_glScalef($var8, $var9, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$modelMinecart;
            $var8 = 0.0625;
            $var1.$sideModels.data[5].$offsetY = 4.099999904632568;
            var$19 = 0;
            if (var$19 >= 6) {
                $ptr = 17;
                continue main;
            }
            $var20 = $var1.$sideModels.data[var$19];
            $ptr = 18;
            continue main;
        case 11:
            nms_Render_loadTexture($this, $var20);
            if ($rt_suspending()) {
                break main;
            }
            $var25 = 0.75;
            $ptr = 12;
        case 12:
            olo_GL11_glScalef($var25, $var25, $var25);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 0.0;
            $var9 = 0.3125;
            $var19 = 0.0;
            $ptr = 13;
        case 13:
            olo_GL11_glTranslatef($var8, $var9, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 90.0;
            $var9 = 0.0;
            $var19 = 1.0;
            $var23 = 0.0;
            $ptr = 14;
        case 14:
            olo_GL11_glRotatef($var8, $var9, $var19, $var23);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = $var1.$minecartType0;
            if (var$19 == 1) {
                $var1 = nms_RenderBlocks__init_1();
                $ptr = 15;
                continue main;
            }
            if (var$19 == 2) {
                $var1 = nms_RenderBlocks__init_1();
                $ptr = 22;
                continue main;
            }
            $var8 = (-90.0);
            $var9 = 0.0;
            $var19 = 1.0;
            $var23 = 0.0;
            $ptr = 19;
            continue main;
        case 15:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var20 = nms_Block_crate;
            var$19 = 0;
            $ptr = 16;
        case 16:
            nms_RenderBlocks_renderBlockOnInventory($var1, $var20, var$19);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = (-90.0);
            $var9 = 0.0;
            $var19 = 1.0;
            $var23 = 0.0;
            $ptr = 19;
            continue main;
        case 17:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 18:
            nms_ModelRenderer_render($var20, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = var$19 + 1 | 0;
            if (var$19 >= 6) {
                $ptr = 17;
                continue main;
            }
            $var20 = $var1.$sideModels.data[var$19];
            continue main;
        case 19:
            olo_GL11_glRotatef($var8, $var9, $var19, $var23);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 0.0;
            $var9 = (-0.3125);
            $var19 = 0.0;
            $ptr = 20;
        case 20:
            olo_GL11_glTranslatef($var8, $var9, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 1.3333333730697632;
            $ptr = 21;
        case 21:
            olo_GL11_glScalef($var8, $var8, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $rt_s(2044);
            $ptr = 9;
            continue main;
        case 22:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var20 = nms_Block_stoneOvenIdle;
            var$19 = 0;
            $ptr = 23;
        case 23:
            nms_RenderBlocks_renderBlockOnInventory($var1, $var20, var$19);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = (-90.0);
            $var9 = 0.0;
            $var19 = 1.0;
            $var23 = 0.0;
            $ptr = 19;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var10, $var12, $var14, $var16, $var18, $var23, $var19, $var24, $var25, $var20, $var21, $var22, var$19, $ptr);
    }
    function nms_RenderMinecart_doRender($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            nms_RenderMinecart_func_152_a($this, $var1, $var2, $var4, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $ptr);
    }
    function nms_EntityBoat() {
        var a = this; nms_Entity.call(a);
        a.$boatCurrentDamage = 0;
        a.$boatTimeSinceHit = 0;
        a.$boatRockDirection = 0;
        a.$field_9394_d = 0;
        a.$field_9393_e = 0.0;
        a.$field_9392_f = 0.0;
        a.$field_9391_g = 0.0;
        a.$field_9390_h = 0.0;
        a.$field_9389_i = 0.0;
        a.$field_9388_j = 0.0;
        a.$field_9387_k = 0.0;
        a.$field_9386_l = 0.0;
    }
    function nms_EntityBoat__init_1(var_0) {
        var var_1 = new nms_EntityBoat();
        nms_EntityBoat__init_0(var_1, var_0);
        return var_1;
    }
    function nms_EntityBoat__init_2(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_EntityBoat();
        nms_EntityBoat__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_EntityBoat__init_0($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$boatCurrentDamage = 0;
            $this.$boatTimeSinceHit = 0;
            $this.$boatRockDirection = 1;
            $this.$preventEntitySpawning = 1;
            nms_Entity_setSize($this, 1.5, 0.6000000238418579);
            $this.$yOffset = $this.$height4 / 2.0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityBoat_canTriggerWalking($this) {
        return 0;
    }
    function nms_EntityBoat_entityInit($this) {}
    function nms_EntityBoat_getCollisionBox($this, $var1) {
        return $var1.$boundingBox;
    }
    function nms_EntityBoat_getBoundingBox($this) {
        return $this.$boundingBox;
    }
    function nms_EntityBoat_canBePushed($this) {
        return 1;
    }
    function nms_EntityBoat__init_($this, $var1, $var2, $var4, $var6) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityBoat__init_0($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            nms_Entity_setPosition($this, $var2, $var4 + $this.$yOffset, $var6);
            $this.$motionX = 0.0;
            $this.$motionY = 0.0;
            $this.$motionZ = 0.0;
            $this.$prevPosX = $var2;
            $this.$prevPosY = $var4;
            $this.$prevPosZ = $var6;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $ptr);
    }
    function nms_EntityBoat_getMountedYOffset($this) {
        return $this.$height4 * 0.0 - 0.30000001192092896;
    }
    function nms_EntityBoat_attackEntityFrom($this, $var1, $var2) {
        var $var3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$worldObj0.$multiplayerWorld && !$this.$isDead) {
                $this.$boatRockDirection =  -$this.$boatRockDirection | 0;
                $this.$boatTimeSinceHit = 10;
                $this.$boatCurrentDamage = $this.$boatCurrentDamage + ($var2 * 10 | 0) | 0;
                nms_Entity_setBeenAttacked($this);
                if ($this.$boatCurrentDamage <= 40)
                    return 1;
                $var3 = 0;
                if ($var3 < 3) {
                    $ptr = 1;
                    continue main;
                }
                $var2 = 0;
                if ($var2 >= 2) {
                    $ptr = 3;
                    continue main;
                }
                $ptr = 4;
                continue main;
            }
            return 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_Block_planks.$blockID;
            var$4 = 1;
            var$5 = 0.0;
            $ptr = 2;
        case 2:
            nms_Entity_dropItemWithOffset($this, $var2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var3 + 1 | 0;
            if ($var3 < 3) {
                $ptr = 1;
                continue main;
            }
            $var2 = 0;
            if ($var2 >= 2) {
                $ptr = 3;
                continue main;
            }
            $ptr = 4;
            continue main;
        case 3:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 4:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_Item_stick.$shiftedIndex;
            var$4 = 1;
            var$5 = 0.0;
            $ptr = 5;
        case 5:
            nms_Entity_dropItemWithOffset($this, $var3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 >= 2) {
                $ptr = 3;
                continue main;
            }
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $ptr);
    }
    function nms_EntityBoat_performHurtAnimation($this) {
        var var$1;
        $this.$boatRockDirection =  -$this.$boatRockDirection | 0;
        $this.$boatTimeSinceHit = 10;
        var$1 = $this.$boatCurrentDamage;
        $this.$boatCurrentDamage = var$1 + (var$1 * 10 | 0) | 0;
    }
    function nms_EntityBoat_canBeCollidedWith($this) {
        return $this.$isDead ? 0 : 1;
    }
    function nms_EntityBoat_setPositionAndRotation2($this, $var1, $var3, $var5, $var7, $var8, $var9) {
        $this.$field_9393_e = $var1;
        $this.$field_9392_f = $var3;
        $this.$field_9391_g = $var5;
        $this.$field_9390_h = $var7;
        $this.$field_9389_i = $var8;
        $this.$field_9394_d = $var9 + 4 | 0;
        $this.$motionX = $this.$field_9388_j;
        $this.$motionY = $this.$field_9387_k;
        $this.$motionZ = $this.$field_9386_l;
    }
    function nms_EntityBoat_setVelocity($this, $var1, $var3, $var5) {
        $this.$motionX = $var1;
        $this.$field_9388_j = $var1;
        $this.$motionY = $var3;
        $this.$field_9387_k = $var3;
        $this.$motionZ = $var5;
        $this.$field_9386_l = $var5;
    }
    function nms_EntityBoat_onUpdate($this) {
        var $var1, $var2, $var4, $var25, $var18, $var8, $var23, $var5, $var7, $var9, $var20, $var23_0, $var6, $var10, $var10_0, $var24, $var12, $var14, $var15, $var17, $var19, $var21, $var16, var$24, $var26, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var26 = $thread.pop();var$24 = $thread.pop();$var16 = $thread.pop();$var21 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var24 = $thread.pop();$var10_0 = $thread.pop();$var10 = $thread.pop();$var6 = $thread.pop();$var23_0 = $thread.pop();$var20 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var23 = $thread.pop();$var8 = $thread.pop();$var18 = $thread.pop();$var25
            = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity_onUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$boatTimeSinceHit;
            if ($var1 > 0)
                $this.$boatTimeSinceHit = $var1 - 1 | 0;
            $var1 = $this.$boatCurrentDamage;
            if ($var1 > 0)
                $this.$boatCurrentDamage = $var1 - 1 | 0;
            $this.$prevPosX = $this.$posX;
            $this.$prevPosY = $this.$posY;
            $this.$prevPosZ = $this.$posZ;
            $var1 = 5;
            $var2 = 0.0;
            $var4 = 0;
            $var25 = 0.2;
            if ($var4 < $var1) {
                $var18 = $this.$boundingBox;
                $var8 = $var18.$minY0;
                $var23 = $var18.$maxY0 - $var8;
                $var5 = $var8 + $var23 * ($var4 + 0 | 0) / 5.0 - 0.125;
                $var4 = $var4 + 1 | 0;
                $var7 = $var8 + $var23 * $var4 / 5.0 - 0.125;
                $var9 = nms_AxisAlignedBB_getBoundingBoxFromPool($var18.$minX0, $var5, $var18.$minZ0, $var18.$maxX0, $var7, $var18.$maxZ0);
                $var18 = $this.$worldObj0;
                nms_Material_$callClinit();
                $var20 = nms_Material_water;
                $ptr = 2;
                continue main;
            }
            if ($this.$worldObj0.$multiplayerWorld) {
                $var1 = $this.$field_9394_d;
                if ($var1 <= 0) {
                    nms_Entity_setPosition($this, $this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
                    if ($this.$onGround0) {
                        $this.$motionX = $this.$motionX * 0.5;
                        $this.$motionY = $this.$motionY * 0.5;
                        $this.$motionZ = $this.$motionZ * 0.5;
                    }
                    $this.$motionX = $this.$motionX * 0.9900000095367432;
                    $this.$motionY = $this.$motionY * 0.949999988079071;
                    $this.$motionZ = $this.$motionZ * 0.9900000095367432;
                } else {
                    $var8 = $this.$posX;
                    $var2 = $this.$field_9393_e - $var8;
                    $var23 = $var1;
                    $var23_0 = $var8 + $var2 / $var23;
                    $var8 = $this.$posY;
                    $var6 = $var8 + ($this.$field_9392_f - $var8) / $var23;
                    $var8 = $this.$posZ;
                    $var8 = $var8 + ($this.$field_9391_g - $var8) / $var23;
                    $var2 = $this.$field_9390_h;
                    $var10 = $this.$rotationYaw;
                    $var10_0 = $var2 - $var10;
                    while ($var10_0 < (-180.0)) {
                        $var10_0 = $var10_0 + 360.0;
                    }
                    while ($var10_0 >= 180.0) {
                        $var10_0 = $var10_0 - 360.0;
                    }
                    $this.$rotationYaw = $var10 + $var10_0 / $var23;
                    $var2 = $this.$rotationPitch;
                    $this.$rotationPitch = $var2 + ($this.$field_9389_i - $var2) / $var23;
                    $this.$field_9394_d = $var1 - 1 | 0;
                    nms_Entity_setPosition($this, $var23_0, $var6, $var8);
                    nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
                }
                return;
            }
            $var23 = $var2 * 2.0 - 1.0;
            $var8 = $this.$motionY + 0.03999999910593033 * $var23;
            $this.$motionY = $var8;
            $var18 = $this.$riddenByEntity;
            if ($var18 !== null) {
                $this.$motionX = $this.$motionX + $var18.$motionX * 0.2;
                $this.$motionZ = $this.$motionZ + $var18.$motionZ * 0.2;
            }
            if ($this.$motionX < (-0.4))
                $this.$motionX = (-0.4);
            if ($this.$motionX > 0.4)
                $this.$motionX = 0.4;
            if ($this.$motionZ < (-0.4))
                $this.$motionZ = (-0.4);
            if ($this.$motionZ > 0.4)
                $this.$motionZ = 0.4;
            if ($this.$onGround0) {
                $this.$motionX = $this.$motionX * 0.5;
                $this.$motionY = $var8 * 0.5;
                $this.$motionZ = $this.$motionZ * 0.5;
            }
            $var8 = $this.$motionX;
            $var2 = $this.$motionY;
            $var23 = $this.$motionZ;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_World_isAABBInMaterial($var18, $var9, $var20);
            if ($rt_suspending()) {
                break main;
            }
            $var24 = $tmp;
            if ($var24)
                $var2 = $var2 + $var25;
            if ($var4 < $var1) {
                $var18 = $this.$boundingBox;
                $var8 = $var18.$minY0;
                $var23 = $var18.$maxY0 - $var8;
                $var5 = $var8 + $var23 * ($var4 + 0 | 0) / 5.0 - 0.125;
                $var4 = $var4 + 1 | 0;
                $var7 = $var8 + $var23 * $var4 / 5.0 - 0.125;
                $var9 = nms_AxisAlignedBB_getBoundingBoxFromPool($var18.$minX0, $var5, $var18.$minZ0, $var18.$maxX0, $var7, $var18.$maxZ0);
                $var18 = $this.$worldObj0;
                nms_Material_$callClinit();
                $var20 = nms_Material_water;
                continue main;
            }
            if ($this.$worldObj0.$multiplayerWorld) {
                $var1 = $this.$field_9394_d;
                if ($var1 <= 0) {
                    nms_Entity_setPosition($this, $this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
                    if ($this.$onGround0) {
                        $this.$motionX = $this.$motionX * 0.5;
                        $this.$motionY = $this.$motionY * 0.5;
                        $this.$motionZ = $this.$motionZ * 0.5;
                    }
                    $this.$motionX = $this.$motionX * 0.9900000095367432;
                    $this.$motionY = $this.$motionY * 0.949999988079071;
                    $this.$motionZ = $this.$motionZ * 0.9900000095367432;
                } else {
                    $var8 = $this.$posX;
                    $var2 = $this.$field_9393_e - $var8;
                    $var23 = $var1;
                    $var23_0 = $var8 + $var2 / $var23;
                    $var8 = $this.$posY;
                    $var6 = $var8 + ($this.$field_9392_f - $var8) / $var23;
                    $var8 = $this.$posZ;
                    $var8 = $var8 + ($this.$field_9391_g - $var8) / $var23;
                    $var2 = $this.$field_9390_h;
                    $var10 = $this.$rotationYaw;
                    $var10_0 = $var2 - $var10;
                    while ($var10_0 < (-180.0)) {
                        $var10_0 = $var10_0 + 360.0;
                    }
                    while ($var10_0 >= 180.0) {
                        $var10_0 = $var10_0 - 360.0;
                    }
                    $this.$rotationYaw = $var10 + $var10_0 / $var23;
                    $var2 = $this.$rotationPitch;
                    $this.$rotationPitch = $var2 + ($this.$field_9389_i - $var2) / $var23;
                    $this.$field_9394_d = $var1 - 1 | 0;
                    nms_Entity_setPosition($this, $var23_0, $var6, $var8);
                    nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
                }
                return;
            }
            $var23 = $var2 * 2.0 - 1.0;
            $var8 = $this.$motionY + 0.03999999910593033 * $var23;
            $this.$motionY = $var8;
            $var18 = $this.$riddenByEntity;
            if ($var18 !== null) {
                $this.$motionX = $this.$motionX + $var18.$motionX * 0.2;
                $this.$motionZ = $this.$motionZ + $var18.$motionZ * 0.2;
            }
            if ($this.$motionX < (-0.4))
                $this.$motionX = (-0.4);
            if ($this.$motionX > 0.4)
                $this.$motionX = 0.4;
            if ($this.$motionZ < (-0.4))
                $this.$motionZ = (-0.4);
            if ($this.$motionZ > 0.4)
                $this.$motionZ = 0.4;
            if ($this.$onGround0) {
                $this.$motionX = $this.$motionX * 0.5;
                $this.$motionY = $var8 * 0.5;
                $this.$motionZ = $this.$motionZ * 0.5;
            }
            $var8 = $this.$motionX;
            $var2 = $this.$motionY;
            $var23 = $this.$motionZ;
            $ptr = 3;
        case 3:
            nms_Entity_moveEntity($this, $var8, $var2, $var23);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $this.$motionX;
            $var8 = $var8 * $var8;
            $var2 = $this.$motionZ;
            $var8 = jl_Math_sqrt($var8 + $var2 * $var2);
            $var1 = $rt_compare($var8, 0.15);
            if ($var1 > 0) {
                $var10 = jl_Math_cos($this.$rotationYaw * 3.141592653589793 / 180.0);
                $var12 = jl_Math_sin($this.$rotationYaw * 3.141592653589793 / 180.0);
                $var14 = 0;
                $var25 = 1.0 + $var8 * 60.0;
                if ($var14 < $var25) {
                    $var15 = ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0;
                    $var17 = ((ju_Random_nextInt($this.$rand3, 2) * 2 | 0) - 1 | 0) * 0.7;
                    if (!jur_RandomGenerator_nextBoolean($this.$rand3)) {
                        $var19 = $this.$posX + $var10 + $var12 * $var15 * 0.7;
                        $var21 = $this.$posZ + $var12 - $var10 * $var15 * 0.7;
                        $var18 = $this.$worldObj0;
                        $var20 = $rt_s(1660);
                        $var8 = $this.$posY - 0.125;
                        $var2 = $this.$motionX;
                        $var23 = $this.$motionY;
                        $var6 = $this.$motionZ;
                        $ptr = 5;
                        continue main;
                    }
                    $var19 = $this.$posX - $var10 * $var15 * 0.8 + $var12 * $var17;
                    $var21 = $this.$posZ - $var12 * $var15 * 0.8 - $var10 * $var17;
                    $var18 = $this.$worldObj0;
                    $var20 = $rt_s(1660);
                    $var8 = $this.$posY - 0.125;
                    $var2 = $this.$motionX;
                    $var23 = $this.$motionY;
                    $var6 = $this.$motionZ;
                    $ptr = 6;
                    continue main;
                }
            }
            a: {
                if ($this.$isCollidedHorizontally && $var1 > 0) {
                    if ($this.$worldObj0.$multiplayerWorld)
                        break a;
                    $ptr = 4;
                    continue main;
                }
                $this.$motionX = $this.$motionX * 0.9900000095367432;
                $this.$motionY = $this.$motionY * 0.949999988079071;
                $this.$motionZ = $this.$motionZ * 0.9900000095367432;
            }
            $this.$rotationPitch = 0.0;
            $var10 = $this.$rotationYaw;
            $var12 = $this.$prevPosX - $this.$posX;
            $var25 = $this.$prevPosZ - $this.$posZ;
            if ($var12 * $var12 + $var25 * $var25 > 0.001)
                $var10 = jl_Math_atan2($var25, $var12) * 180.0 / 3.141592653589793;
            $var8 = $this.$rotationYaw;
            $var16 = $var10 - $var8;
            while ($var16 >= 180.0) {
                $var16 = $var16 - 360.0;
            }
            while ($var16 < (-180.0)) {
                $var16 = $var16 + 360.0;
            }
            if ($var16 > 20.0)
                $var16 = 20.0;
            if ($var16 < (-20.0))
                $var16 = (-20.0);
            var$24 = $var8 + $var16;
            $this.$rotationYaw = var$24;
            nms_Entity_setRotation($this, var$24, $this.$rotationPitch);
            $var18 = $this.$worldObj0;
            $var20 = nms_AxisAlignedBB_expand($this.$boundingBox, 0.20000000298023224, 0.0, 0.20000000298023224);
            $ptr = 11;
            continue main;
        case 4:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            $var24 = 0;
            if ($var24 < 3) {
                $ptr = 7;
                continue main;
            }
            $var1 = 0;
            if ($var1 < 2) {
                $ptr = 9;
                continue main;
            }
            $this.$rotationPitch = 0.0;
            $var10 = $this.$rotationYaw;
            $var12 = $this.$prevPosX - $this.$posX;
            $var25 = $this.$prevPosZ - $this.$posZ;
            if ($var12 * $var12 + $var25 * $var25 > 0.001)
                $var10 = jl_Math_atan2($var25, $var12) * 180.0 / 3.141592653589793;
            $var8 = $this.$rotationYaw;
            $var16 = $var10 - $var8;
            while ($var16 >= 180.0) {
                $var16 = $var16 - 360.0;
            }
            while ($var16 < (-180.0)) {
                $var16 = $var16 + 360.0;
            }
            if ($var16 > 20.0)
                $var16 = 20.0;
            if ($var16 < (-20.0))
                $var16 = (-20.0);
            var$24 = $var8 + $var16;
            $this.$rotationYaw = var$24;
            nms_Entity_setRotation($this, var$24, $this.$rotationPitch);
            $var18 = $this.$worldObj0;
            $var20 = nms_AxisAlignedBB_expand($this.$boundingBox, 0.20000000298023224, 0.0, 0.20000000298023224);
            $ptr = 11;
            continue main;
        case 5:
            nms_World_spawnParticle($var18, $var20, $var19, $var8, $var21, $var2, $var23, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $var14 + 1 | 0;
            if ($var14 < $var25) {
                $var15 = ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0;
                $var17 = ((ju_Random_nextInt($this.$rand3, 2) * 2 | 0) - 1 | 0) * 0.7;
                if (!jur_RandomGenerator_nextBoolean($this.$rand3)) {
                    $var19 = $this.$posX + $var10 + $var12 * $var15 * 0.7;
                    $var21 = $this.$posZ + $var12 - $var10 * $var15 * 0.7;
                    $var18 = $this.$worldObj0;
                    $var20 = $rt_s(1660);
                    $var8 = $this.$posY - 0.125;
                    $var2 = $this.$motionX;
                    $var23 = $this.$motionY;
                    $var6 = $this.$motionZ;
                    continue main;
                }
                $var19 = $this.$posX - $var10 * $var15 * 0.8 + $var12 * $var17;
                $var21 = $this.$posZ - $var12 * $var15 * 0.8 - $var10 * $var17;
                $var18 = $this.$worldObj0;
                $var20 = $rt_s(1660);
                $var8 = $this.$posY - 0.125;
                $var2 = $this.$motionX;
                $var23 = $this.$motionY;
                $var6 = $this.$motionZ;
                $ptr = 6;
                continue main;
            }
            a: {
                if ($this.$isCollidedHorizontally && $var1 > 0) {
                    if ($this.$worldObj0.$multiplayerWorld)
                        break a;
                    $ptr = 4;
                    continue main;
                }
                $this.$motionX = $this.$motionX * 0.9900000095367432;
                $this.$motionY = $this.$motionY * 0.949999988079071;
                $this.$motionZ = $this.$motionZ * 0.9900000095367432;
            }
            $this.$rotationPitch = 0.0;
            $var10 = $this.$rotationYaw;
            $var12 = $this.$prevPosX - $this.$posX;
            $var25 = $this.$prevPosZ - $this.$posZ;
            if ($var12 * $var12 + $var25 * $var25 > 0.001)
                $var10 = jl_Math_atan2($var25, $var12) * 180.0 / 3.141592653589793;
            $var8 = $this.$rotationYaw;
            $var16 = $var10 - $var8;
            while ($var16 >= 180.0) {
                $var16 = $var16 - 360.0;
            }
            while ($var16 < (-180.0)) {
                $var16 = $var16 + 360.0;
            }
            if ($var16 > 20.0)
                $var16 = 20.0;
            if ($var16 < (-20.0))
                $var16 = (-20.0);
            var$24 = $var8 + $var16;
            $this.$rotationYaw = var$24;
            nms_Entity_setRotation($this, var$24, $this.$rotationPitch);
            $var18 = $this.$worldObj0;
            $var20 = nms_AxisAlignedBB_expand($this.$boundingBox, 0.20000000298023224, 0.0, 0.20000000298023224);
            $ptr = 11;
            continue main;
        case 6:
            nms_World_spawnParticle($var18, $var20, $var19, $var8, $var21, $var2, $var23, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $var14 + 1 | 0;
            if ($var14 < $var25) {
                $var15 = ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0;
                $var17 = ((ju_Random_nextInt($this.$rand3, 2) * 2 | 0) - 1 | 0) * 0.7;
                if (!jur_RandomGenerator_nextBoolean($this.$rand3)) {
                    $var19 = $this.$posX + $var10 + $var12 * $var15 * 0.7;
                    $var21 = $this.$posZ + $var12 - $var10 * $var15 * 0.7;
                    $var18 = $this.$worldObj0;
                    $var20 = $rt_s(1660);
                    $var8 = $this.$posY - 0.125;
                    $var2 = $this.$motionX;
                    $var23 = $this.$motionY;
                    $var6 = $this.$motionZ;
                    $ptr = 5;
                    continue main;
                }
                $var19 = $this.$posX - $var10 * $var15 * 0.8 + $var12 * $var17;
                $var21 = $this.$posZ - $var12 * $var15 * 0.8 - $var10 * $var17;
                $var18 = $this.$worldObj0;
                $var20 = $rt_s(1660);
                $var8 = $this.$posY - 0.125;
                $var2 = $this.$motionX;
                $var23 = $this.$motionY;
                $var6 = $this.$motionZ;
                continue main;
            }
            a: {
                if ($this.$isCollidedHorizontally && $var1 > 0) {
                    if ($this.$worldObj0.$multiplayerWorld)
                        break a;
                    $ptr = 4;
                    continue main;
                }
                $this.$motionX = $this.$motionX * 0.9900000095367432;
                $this.$motionY = $this.$motionY * 0.949999988079071;
                $this.$motionZ = $this.$motionZ * 0.9900000095367432;
            }
            $this.$rotationPitch = 0.0;
            $var10 = $this.$rotationYaw;
            $var12 = $this.$prevPosX - $this.$posX;
            $var25 = $this.$prevPosZ - $this.$posZ;
            if ($var12 * $var12 + $var25 * $var25 > 0.001)
                $var10 = jl_Math_atan2($var25, $var12) * 180.0 / 3.141592653589793;
            $var8 = $this.$rotationYaw;
            $var16 = $var10 - $var8;
            while ($var16 >= 180.0) {
                $var16 = $var16 - 360.0;
            }
            while ($var16 < (-180.0)) {
                $var16 = $var16 + 360.0;
            }
            if ($var16 > 20.0)
                $var16 = 20.0;
            if ($var16 < (-20.0))
                $var16 = (-20.0);
            var$24 = $var8 + $var16;
            $this.$rotationYaw = var$24;
            nms_Entity_setRotation($this, var$24, $this.$rotationPitch);
            $var18 = $this.$worldObj0;
            $var20 = nms_AxisAlignedBB_expand($this.$boundingBox, 0.20000000298023224, 0.0, 0.20000000298023224);
            $ptr = 11;
            continue main;
        case 7:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Block_planks.$blockID;
            $var4 = 1;
            var$24 = 0.0;
            $ptr = 8;
        case 8:
            nms_Entity_dropItemWithOffset($this, $var1, $var4, var$24);
            if ($rt_suspending()) {
                break main;
            }
            $var24 = $var24 + 1 | 0;
            if ($var24 < 3) {
                $ptr = 7;
                continue main;
            }
            $var1 = 0;
            if ($var1 < 2) {
                $ptr = 9;
                continue main;
            }
            $this.$rotationPitch = 0.0;
            $var10 = $this.$rotationYaw;
            $var12 = $this.$prevPosX - $this.$posX;
            $var25 = $this.$prevPosZ - $this.$posZ;
            if ($var12 * $var12 + $var25 * $var25 > 0.001)
                $var10 = jl_Math_atan2($var25, $var12) * 180.0 / 3.141592653589793;
            $var8 = $this.$rotationYaw;
            $var16 = $var10 - $var8;
            while ($var16 >= 180.0) {
                $var16 = $var16 - 360.0;
            }
            while ($var16 < (-180.0)) {
                $var16 = $var16 + 360.0;
            }
            if ($var16 > 20.0)
                $var16 = 20.0;
            if ($var16 < (-20.0))
                $var16 = (-20.0);
            var$24 = $var8 + $var16;
            $this.$rotationYaw = var$24;
            nms_Entity_setRotation($this, var$24, $this.$rotationPitch);
            $var18 = $this.$worldObj0;
            $var20 = nms_AxisAlignedBB_expand($this.$boundingBox, 0.20000000298023224, 0.0, 0.20000000298023224);
            $ptr = 11;
            continue main;
        case 9:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = nms_Item_stick.$shiftedIndex;
            $var24 = 1;
            var$24 = 0.0;
            $ptr = 10;
        case 10:
            nms_Entity_dropItemWithOffset($this, $var4, $var24, var$24);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var1 + 1 | 0;
            if ($var1 < 2) {
                $ptr = 9;
                continue main;
            }
            $this.$rotationPitch = 0.0;
            $var10 = $this.$rotationYaw;
            $var12 = $this.$prevPosX - $this.$posX;
            $var25 = $this.$prevPosZ - $this.$posZ;
            if ($var12 * $var12 + $var25 * $var25 > 0.001)
                $var10 = jl_Math_atan2($var25, $var12) * 180.0 / 3.141592653589793;
            $var8 = $this.$rotationYaw;
            $var16 = $var10 - $var8;
            while ($var16 >= 180.0) {
                $var16 = $var16 - 360.0;
            }
            while ($var16 < (-180.0)) {
                $var16 = $var16 + 360.0;
            }
            if ($var16 > 20.0)
                $var16 = 20.0;
            if ($var16 < (-20.0))
                $var16 = (-20.0);
            var$24 = $var8 + $var16;
            $this.$rotationYaw = var$24;
            nms_Entity_setRotation($this, var$24, $this.$rotationPitch);
            $var18 = $this.$worldObj0;
            $var20 = nms_AxisAlignedBB_expand($this.$boundingBox, 0.20000000298023224, 0.0, 0.20000000298023224);
            $ptr = 11;
        case 11:
            b: {
                $tmp = nms_World_getEntitiesWithinAABBExcludingEntity($var18, $this, $var20);
                if ($rt_suspending()) {
                    break main;
                }
                $var18 = $tmp;
                if ($var18 !== null && ju_ArrayList_size($var18) > 0) {
                    $var26 = 0;
                    while (true) {
                        if ($var26 >= ju_ArrayList_size($var18))
                            break b;
                        $var20 = ju_ArrayList_get($var18, $var26);
                        if ($var20 !== $this.$riddenByEntity && $var20.$canBePushed() && $var20 instanceof nms_EntityBoat)
                            $var20.$applyEntityCollision($this);
                        $var26 = $var26 + 1 | 0;
                    }
                }
            }
            $var18 = $this.$riddenByEntity;
            if ($var18 !== null && $var18.$isDead)
                $this.$riddenByEntity = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var25, $var18, $var8, $var23, $var5, $var7, $var9, $var20, $var23_0, $var6, $var10, $var10_0, $var24, $var12, $var14, $var15, $var17, $var19, $var21, $var16, var$24, $var26, $ptr);
    }
    function nms_EntityBoat_updateRiderPosition($this) {
        var $var1, $var3;
        if ($this.$riddenByEntity !== null) {
            $var1 = jl_Math_cos($this.$rotationYaw * 3.141592653589793 / 180.0) * 0.4;
            $var3 = jl_Math_sin($this.$rotationYaw * 3.141592653589793 / 180.0) * 0.4;
            nms_Entity_setPosition($this.$riddenByEntity, $this.$posX + $var1, $this.$posY + nms_EntityBoat_getMountedYOffset($this) + $this.$riddenByEntity.$getYOffset(), $this.$posZ + $var3);
        }
    }
    function nms_EntityBoat_writeEntityToNBT($this, $var1) {}
    function nms_EntityBoat_readEntityFromNBT($this, $var1) {}
    function nms_EntityBoat_getShadowSize($this) {
        return 0.0;
    }
    function nms_EntityBoat_interact($this, $var1) {
        var var$2;
        var$2 = $this.$riddenByEntity;
        if (var$2 !== null && var$2 instanceof nms_EntityPlayer && var$2 !== $var1)
            return 1;
        if (!$this.$worldObj0.$multiplayerWorld)
            nms_Entity_mountEntity($var1, $this);
        return 1;
    }
    function nms_RenderBoat() {
        nms_Render.call(this);
        this.$modelBoat = null;
    }
    function nms_RenderBoat__init_0() {
        var var_0 = new nms_RenderBoat();
        nms_RenderBoat__init_(var_0);
        return var_0;
    }
    function nms_RenderBoat__init_($this) {
        nms_Render__init_($this);
        $this.$shadowSize = 0.5;
        $this.$modelBoat = nms_ModelBoat__init_0();
    }
    function nms_RenderBoat_doRender($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $var2;
            var$8 = $var4;
            var$9 = $var6;
            $ptr = 2;
        case 2:
            olo_GL11_glTranslatef(var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = 180.0 - $var8;
            var$8 = 0.0;
            var$9 = 1.0;
            $var8 = 0.0;
            $ptr = 3;
        case 3:
            olo_GL11_glRotatef(var$7, var$8, var$9, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var1.$boatTimeSinceHit - $var9;
            $var9 = $var1.$boatCurrentDamage - $var9;
            if ($var9 < 0.0)
                $var9 = 0.0;
            if ($var8 <= 0.0) {
                $var1 = $rt_s(266);
                $ptr = 4;
                continue main;
            }
            $var8 = nms_MathHelper_sin($var8) * $var8 * $var9 / 10.0 * $var1.$boatRockDirection;
            $var9 = 1.0;
            var$7 = 0.0;
            var$8 = 0.0;
            $ptr = 9;
            continue main;
        case 4:
            nms_Render_loadTexture($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 0.75;
            $ptr = 5;
        case 5:
            olo_GL11_glScalef($var8, $var8, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 1.3333333730697632;
            $ptr = 6;
        case 6:
            olo_GL11_glScalef($var8, $var8, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $rt_s(2045);
            $ptr = 7;
        case 7:
            nms_Render_loadTexture($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = (-1.0);
            $var9 = (-1.0);
            var$7 = 1.0;
            $ptr = 8;
        case 8:
            olo_GL11_glScalef($var8, $var9, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$modelBoat;
            $var8 = 0.0625;
            var$10 = 0;
            if (var$10 >= 5) {
                $ptr = 10;
                continue main;
            }
            var$11 = $var1.$boatSides.data[var$10];
            $ptr = 11;
            continue main;
        case 9:
            olo_GL11_glRotatef($var8, $var9, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $rt_s(266);
            $ptr = 4;
            continue main;
        case 10:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 11:
            nms_ModelRenderer_render(var$11, $var8);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = var$10 + 1 | 0;
            if (var$10 >= 5) {
                $ptr = 10;
                continue main;
            }
            var$11 = $var1.$boatSides.data[var$10];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    function nms_EntityFish() {
        var a = this; nms_Entity.call(a);
        a.$tileX = 0;
        a.$tileY = 0;
        a.$tileZ = 0;
        a.$field_4092_g = 0;
        a.$field_4091_h = 0;
        a.$field_4098_a = 0;
        a.$angler = null;
        a.$field_4090_i = 0;
        a.$field_4089_j = 0;
        a.$field_4088_k = 0;
        a.$field_4096_c = null;
        a.$field_6388_l = 0;
        a.$field_6387_m = 0.0;
        a.$field_6386_n = 0.0;
        a.$field_6385_o = 0.0;
        a.$field_6384_p = 0.0;
        a.$field_6383_q = 0.0;
        a.$velocityX = 0.0;
        a.$velocityY = 0.0;
        a.$velocityZ = 0.0;
    }
    function nms_EntityFish__init_2(var_0, var_1) {
        var var_2 = new nms_EntityFish();
        nms_EntityFish__init_1(var_2, var_0, var_1);
        return var_2;
    }
    function nms_EntityFish_entityInit($this) {}
    function nms_EntityFish_isInRangeToRenderDist($this, $var1) {
        var $var3;
        $var3 = nms_AxisAlignedBB_getAverageEdgeLength($this.$boundingBox) * 4.0 * 64.0;
        return $var1 >= $var3 * $var3 ? 0 : 1;
    }
    function nms_EntityFish__init_1($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, $var3, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();$var3 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$tileX = (-1);
            $this.$tileY = (-1);
            $this.$tileZ = (-1);
            $this.$field_4092_g = 0;
            $this.$field_4091_h = 0;
            $this.$field_4098_a = 0;
            $this.$field_4089_j = 0;
            $this.$field_4088_k = 0;
            $this.$field_4096_c = null;
            $this.$angler = $var2;
            $var2.$fishEntity = $this;
            nms_Entity_setSize($this, 0.25, 0.25);
            nms_Entity_setLocationAndAngles($this, $var2.$posX, $var2.$posY + 1.62 - $var2.$yOffset, $var2.$posZ, $var2.$rotationYaw, $var2.$rotationPitch);
            $this.$posX = $this.$posX - nms_MathHelper_cos($this.$rotationYaw / 180.0 * 3.1415927410125732) * 0.1599999964237213;
            $this.$posY = $this.$posY - 0.10000000149011612;
            var$3 = $this.$posZ - nms_MathHelper_sin($this.$rotationYaw / 180.0 * 3.1415927410125732) * 0.1599999964237213;
            $this.$posZ = var$3;
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, var$3);
            $this.$yOffset = 0.0;
            $this.$motionX =  -nms_MathHelper_sin($this.$rotationYaw / 180.0 * 3.1415927410125732) * nms_MathHelper_cos($this.$rotationPitch / 180.0 * 3.1415927410125732) * 0.4000000059604645;
            $this.$motionZ = nms_MathHelper_cos($this.$rotationYaw / 180.0 * 3.1415927410125732) * nms_MathHelper_cos($this.$rotationPitch / 180.0 * 3.1415927410125732) * 0.4000000059604645;
            var$3 =  -nms_MathHelper_sin($this.$rotationPitch / 180.0 * 3.1415927410125732) * 0.4000000059604645;
            $this.$motionY = var$3;
            var$4 = $this.$motionX;
            var$5 = $this.$motionZ;
            var$6 = nms_MathHelper_sqrt_double(var$4 * var$4 + var$3 * var$3 + var$5 * var$5);
            var$4 = var$4 / var$6;
            var$3 = var$3 / var$6;
            var$5 = var$5 / var$6;
            var$4 = var$4 + ju_Random_nextGaussian($this.$rand3) * 0.007499999832361937 * 1.0;
            var$3 = var$3 + ju_Random_nextGaussian($this.$rand3) * 0.007499999832361937 * 1.0;
            var$5 = var$5 + ju_Random_nextGaussian($this.$rand3) * 0.007499999832361937 * 1.0;
            var$4 = var$4 * 1.5;
            var$3 = var$3 * 1.5;
            var$5 = var$5 * 1.5;
            $this.$motionX = var$4;
            $this.$motionY = var$3;
            $this.$motionZ = var$5;
            $var3 = nms_MathHelper_sqrt_double(var$4 * var$4 + var$5 * var$5);
            var$8 = jl_Math_atan2(var$4, var$5) * 180.0 / 3.1415927410125732;
            $this.$rotationYaw = var$8;
            $this.$prevRotationYaw = var$8;
            $var3 = jl_Math_atan2(var$3, $var3) * 180.0 / 3.1415927410125732;
            $this.$rotationPitch = $var3;
            $this.$prevRotationPitch = $var3;
            $this.$field_4090_i = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, $var3, var$8, $ptr);
    }
    function nms_EntityFish_setPositionAndRotation2($this, $var1, $var3, $var5, $var7, $var8, $var9) {
        $this.$field_6387_m = $var1;
        $this.$field_6386_n = $var3;
        $this.$field_6385_o = $var5;
        $this.$field_6384_p = $var7;
        $this.$field_6383_q = $var8;
        $this.$field_6388_l = $var9;
        $this.$motionX = $this.$velocityX;
        $this.$motionY = $this.$velocityY;
        $this.$motionZ = $this.$velocityZ;
    }
    function nms_EntityFish_setVelocity($this, $var1, $var3, $var5) {
        $this.$motionX = $var1;
        $this.$velocityX = $var1;
        $this.$motionY = $var3;
        $this.$velocityY = $var3;
        $this.$motionZ = $var5;
        $this.$velocityZ = $var5;
    }
    function nms_EntityFish_onUpdate($this) {
        var $var19, $var6, $var16, $var14, $var21, $var22, $var23, $var7, $var1, $var20, $var8, $var30, $var2, $var3, $var4, $var5, $var18, $var9, $var12, $var13, $var24, $var25, $var15, $var31, $var29, $var26, $var27, $var28, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var28 = $thread.pop();$var27 = $thread.pop();$var26 = $thread.pop();$var29 = $thread.pop();$var31 = $thread.pop();$var15 = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var9 = $thread.pop();$var18 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var30 = $thread.pop();$var8 = $thread.pop();$var20 = $thread.pop();$var1 = $thread.pop();$var7 = $thread.pop();$var23
            = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var14 = $thread.pop();$var16 = $thread.pop();$var6 = $thread.pop();$var19 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity_onUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            $var19 = $this.$field_6388_l;
            if ($var19 > 0) {
                $var6 = $this.$posX;
                $var16 = $this.$field_6387_m - $var6;
                $var14 = $var19;
                $var21 = $var6 + $var16 / $var14;
                $var6 = $this.$posY;
                $var22 = $var6 + ($this.$field_6386_n - $var6) / $var14;
                $var6 = $this.$posZ;
                $var23 = $var6 + ($this.$field_6385_o - $var6) / $var14;
                $var6 = $this.$field_6384_p;
                $var16 = $this.$rotationYaw;
                $var7 = $var6 - $var16;
                while ($var7 < (-180.0)) {
                    $var7 = $var7 + 360.0;
                }
                while ($var7 >= 180.0) {
                    $var7 = $var7 - 360.0;
                }
                $this.$rotationYaw = $var16 + $var7 / $var14;
                $var6 = $this.$rotationPitch;
                $this.$rotationPitch = $var6 + ($this.$field_6383_q - $var6) / $var14;
                $this.$field_6388_l = $var19 - 1 | 0;
                nms_Entity_setPosition($this, $var21, $var22, $var23);
                nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
                return;
            }
            if (!$this.$worldObj0.$multiplayerWorld) {
                $var1 = nms_EntityPlayer_getCurrentEquippedItem($this.$angler);
                $var20 = $this.$angler;
                if (!$var20.$isDead && nms_EntityLiving_isEntityAlive($var20) && $var1 !== null) {
                    $ptr = 5;
                    continue main;
                }
                $ptr = 2;
                continue main;
            }
            $var19 = $this.$field_4098_a;
            if ($var19 > 0)
                $this.$field_4098_a = $var19 - 1 | 0;
            if ($this.$field_4091_h) {
                $var20 = $this.$worldObj0;
                $var19 = $this.$tileX;
                $var8 = $this.$tileY;
                $var30 = $this.$tileZ;
                $ptr = 3;
                continue main;
            }
            $this.$field_4089_j = $this.$field_4089_j + 1 | 0;
            $var20 = nms_Vec3D_createVector($this.$posX, $this.$posY, $this.$posZ);
            $var2 = nms_Vec3D_createVector($this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
            $var3 = $this.$worldObj0;
            $ptr = 4;
            continue main;
        case 2:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$angler.$fishEntity = null;
            return;
        case 3:
            $tmp = nms_World_getBlockId($var20, $var19, $var8, $var30);
            if ($rt_suspending()) {
                break main;
            }
            $var19 = $tmp;
            if ($var19 == $this.$field_4092_g) {
                $var19 = $this.$field_4090_i + 1 | 0;
                $this.$field_4090_i = $var19;
                if ($var19 != 1200)
                    return;
                $ptr = 7;
                continue main;
            }
            $this.$field_4091_h = 0;
            $this.$motionX = $this.$motionX * ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
            $this.$motionY = $this.$motionY * ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
            $this.$motionZ = $this.$motionZ * ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
            $this.$field_4090_i = 0;
            $this.$field_4089_j = 0;
            $var20 = nms_Vec3D_createVector($this.$posX, $this.$posY, $this.$posZ);
            $var2 = nms_Vec3D_createVector($this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
            $var3 = $this.$worldObj0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_rayTraceBlocks($var3, $var20, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var20 = nms_Vec3D_createVector($this.$posX, $this.$posY, $this.$posZ);
            $var2 = nms_Vec3D_createVector($this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
            if ($var3 !== null) {
                $var2 = $var3.$hitVec;
                $var2 = nms_Vec3D_createVector($var2.$xCoord, $var2.$yCoord, $var2.$zCoord);
            }
            $var4 = null;
            $var5 = $this.$worldObj0;
            $var18 = nms_AxisAlignedBB_expand(nms_AxisAlignedBB_addCoord($this.$boundingBox, $this.$motionX, $this.$motionY, $this.$motionZ), 1.0, 1.0, 1.0);
            $ptr = 8;
            continue main;
        case 5:
            $tmp = nms_ItemStack_getItem($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var20 = $tmp;
            $ptr = 6;
        case 6:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var20 === nms_Item_fishingRod && nms_Entity_getDistanceSqToEntity($this, $this.$angler) <= 1024.0) {
                $var20 = $this.$field_4096_c;
                if ($var20 !== null) {
                    if (!$var20.$isDead) {
                        $this.$posX = $var20.$posX;
                        $this.$posY = $var20.$boundingBox.$minY0 + $var20.$height4 * 0.8;
                        $this.$posZ = $var20.$posZ;
                        return;
                    }
                    $this.$field_4096_c = null;
                }
                $var19 = $this.$field_4098_a;
                if ($var19 > 0)
                    $this.$field_4098_a = $var19 - 1 | 0;
                if ($this.$field_4091_h) {
                    $var20 = $this.$worldObj0;
                    $var19 = $this.$tileX;
                    $var8 = $this.$tileY;
                    $var30 = $this.$tileZ;
                    $ptr = 3;
                    continue main;
                }
                $this.$field_4089_j = $this.$field_4089_j + 1 | 0;
                $var20 = nms_Vec3D_createVector($this.$posX, $this.$posY, $this.$posZ);
                $var2 = nms_Vec3D_createVector($this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
                $var3 = $this.$worldObj0;
                $ptr = 4;
                continue main;
            }
            $ptr = 2;
            continue main;
        case 7:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            $tmp = nms_World_getEntitiesWithinAABBExcludingEntity($var5, $this, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = 0.0;
            $var8 = 0;
            while ($var8 < ju_ArrayList_size($var5)) {
                $var9 = ju_ArrayList_get($var5, $var8);
                if ($var9.$canBeCollidedWith() && !($var9 === $this.$angler && $this.$field_4089_j < 5)) {
                    $var12 = nms_AxisAlignedBB_func_1169_a(nms_AxisAlignedBB_expand($var9.$boundingBox, 0.30000001192092896, 0.30000001192092896, 0.30000001192092896), $var20, $var2);
                    if ($var12 !== null) {
                        $var13 = nms_Vec3D_distanceTo($var20, $var12.$hitVec);
                        if (!($var13 >= $var6 && $var6 !== 0.0)) {
                            $var4 = $var9;
                            $var6 = $var13;
                        }
                    }
                }
                $var8 = $var8 + 1 | 0;
            }
            if ($var4 !== null)
                $var3 = nms_MovingObjectPosition__init_($var4);
            if ($var3 !== null) {
                $var20 = $var3.$entityHit;
                if ($var20 !== null) {
                    $var2 = $this.$angler;
                    $var19 = 0;
                    $ptr = 10;
                    continue main;
                }
                $this.$field_4091_h = 1;
            }
            if ($this.$field_4091_h)
                return;
            $var6 = $this.$motionX;
            $var16 = $this.$motionY;
            $var14 = $this.$motionZ;
            $ptr = 9;
        case 9:
            nms_Entity_moveEntity($this, $var6, $var16, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $this.$motionX;
            $var6 = $var6 * $var6;
            $var16 = $this.$motionZ;
            $var24 = nms_MathHelper_sqrt_double($var6 + $var16 * $var16);
            $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
            $var24 = jl_Math_atan2($this.$motionY, $var24) * 180.0 / 3.1415927410125732;
            $this.$rotationPitch = $var24;
            while (true) {
                $var25 = $this.$prevRotationPitch;
                if ($var24 - $var25 >= (-180.0))
                    break;
                $this.$prevRotationPitch = $var25 - 360.0;
            }
            while (true) {
                $var25 = $this.$prevRotationPitch;
                $var15 = $var24 - $var25;
                if ($var15 < 180.0)
                    break;
                $this.$prevRotationPitch = $var25 + 360.0;
            }
            while (true) {
                $var24 = $this.$rotationYaw;
                $var31 = $this.$prevRotationYaw;
                if ($var24 - $var31 >= (-180.0))
                    break;
                $this.$prevRotationYaw = $var31 - 360.0;
            }
            while (true) {
                $var31 = $this.$prevRotationYaw;
                $var29 = $var24 - $var31;
                if ($var29 < 180.0)
                    break;
                $this.$prevRotationYaw = $var31 + 360.0;
            }
            $this.$rotationPitch = $var25 + $var15 * 0.20000000298023224;
            $this.$rotationYaw = $var31 + $var29 * 0.20000000298023224;
            $var25 = 0.9200000166893005;
            if (!(!$this.$onGround0 && !$this.$isCollidedHorizontally))
                $var25 = 0.5;
            $var26 = 5;
            $var27 = 0.0;
            $var28 = 0;
            $var23 = 0.2;
            if ($var28 < $var26) {
                $var20 = $this.$boundingBox;
                $var6 = $var20.$minY0;
                $var16 = $var20.$maxY0 - $var6;
                $var14 = $var6 + $var16 * ($var28 + 0 | 0) / 5.0 - 0.125 + 0.125;
                $var28 = $var28 + 1 | 0;
                $var16 = $var6 + $var16 * $var28 / 5.0 - 0.125 + 0.125;
                $var18 = nms_AxisAlignedBB_getBoundingBoxFromPool($var20.$minX0, $var14, $var20.$minZ0, $var20.$maxX0, $var16, $var20.$maxZ0);
                $var20 = $this.$worldObj0;
                nms_Material_$callClinit();
                $var2 = nms_Material_water;
                $ptr = 11;
                continue main;
            }
            $var8 = $rt_compare($var27, 0.0);
            if ($var8 > 0) {
                $var30 = $this.$field_4088_k;
                if ($var30 > 0)
                    $this.$field_4088_k = $var30 - 1 | 0;
                else if (!ju_Random_nextInt($this.$rand3, 500)) {
                    $this.$field_4088_k = ju_Random_nextInt($this.$rand3, 30) + 10 | 0;
                    $this.$motionY = $this.$motionY - 0.20000000298023224;
                    $var20 = $this.$worldObj0;
                    $var2 = $rt_s(1658);
                    $var24 = 0.25;
                    $var15 = 1.0 + (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.4000000059604645;
                    $ptr = 12;
                    continue main;
                }
            }
            if ($this.$field_4088_k > 0)
                $this.$motionY = $this.$motionY - ju_Random_nextFloat($this.$rand3) * ju_Random_nextFloat($this.$rand3) * ju_Random_nextFloat($this.$rand3) * 0.2;
            $var13 = $var27 * 2.0 - 1.0;
            $var6 = $this.$motionY + 0.03999999910593033 * $var13;
            $this.$motionY = $var6;
            if ($var8 > 0) {
                $var25 = $var25 * 0.9;
                $this.$motionY = $var6 * 0.8;
            }
            $var6 = $this.$motionX;
            $var16 = $var25;
            $this.$motionX = $var6 * $var16;
            $this.$motionY = $this.$motionY * $var16;
            $this.$motionZ = $this.$motionZ * $var16;
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
            return;
        case 10:
            $tmp = $var20.$attackEntityFrom($var2, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var19 = $tmp;
            if ($var19)
                $this.$field_4096_c = $var3.$entityHit;
            if ($this.$field_4091_h)
                return;
            $var6 = $this.$motionX;
            $var16 = $this.$motionY;
            $var14 = $this.$motionZ;
            $ptr = 9;
            continue main;
        case 11:
            $tmp = nms_World_isAABBInMaterial($var20, $var18, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var19 = $tmp;
            if ($var19)
                $var27 = $var27 + $var23;
            if ($var28 < $var26) {
                $var20 = $this.$boundingBox;
                $var6 = $var20.$minY0;
                $var16 = $var20.$maxY0 - $var6;
                $var14 = $var6 + $var16 * ($var28 + 0 | 0) / 5.0 - 0.125 + 0.125;
                $var28 = $var28 + 1 | 0;
                $var16 = $var6 + $var16 * $var28 / 5.0 - 0.125 + 0.125;
                $var18 = nms_AxisAlignedBB_getBoundingBoxFromPool($var20.$minX0, $var14, $var20.$minZ0, $var20.$maxX0, $var16, $var20.$maxZ0);
                $var20 = $this.$worldObj0;
                nms_Material_$callClinit();
                $var2 = nms_Material_water;
                continue main;
            }
            $var8 = $rt_compare($var27, 0.0);
            if ($var8 > 0) {
                $var30 = $this.$field_4088_k;
                if ($var30 > 0)
                    $this.$field_4088_k = $var30 - 1 | 0;
                else if (!ju_Random_nextInt($this.$rand3, 500)) {
                    $this.$field_4088_k = ju_Random_nextInt($this.$rand3, 30) + 10 | 0;
                    $this.$motionY = $this.$motionY - 0.20000000298023224;
                    $var20 = $this.$worldObj0;
                    $var2 = $rt_s(1658);
                    $var24 = 0.25;
                    $var15 = 1.0 + (ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.4000000059604645;
                    $ptr = 12;
                    continue main;
                }
            }
            if ($this.$field_4088_k > 0)
                $this.$motionY = $this.$motionY - ju_Random_nextFloat($this.$rand3) * ju_Random_nextFloat($this.$rand3) * ju_Random_nextFloat($this.$rand3) * 0.2;
            $var13 = $var27 * 2.0 - 1.0;
            $var6 = $this.$motionY + 0.03999999910593033 * $var13;
            $this.$motionY = $var6;
            if ($var8 > 0) {
                $var25 = $var25 * 0.9;
                $this.$motionY = $var6 * 0.8;
            }
            $var6 = $this.$motionX;
            $var16 = $var25;
            $this.$motionX = $var6 * $var16;
            $this.$motionY = $this.$motionY * $var16;
            $this.$motionZ = $this.$motionZ * $var16;
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
            return;
        case 12:
            nms_World_playSoundAtEntity($var20, $this, $var2, $var24, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $var29 = nms_MathHelper_floor_double($this.$boundingBox.$minY0);
            $var30 = 0;
            $var14 = $var29 + 1.0;
            if ($var30 < 1.0 + $this.$width2 * 20.0) {
                $var15 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
                $var31 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
                $var20 = $this.$worldObj0;
                $var2 = $rt_s(1659);
                $var6 = $this.$posX + $var15;
                $var16 = $this.$posZ + $var31;
                $var13 = $this.$motionX;
                $var21 = $this.$motionY - ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
                $var22 = $this.$motionZ;
                $ptr = 13;
                continue main;
            }
            $var19 = 0;
            if ($var19 >= 1.0 + $this.$width2 * 20.0) {
                if ($this.$field_4088_k > 0)
                    $this.$motionY = $this.$motionY - ju_Random_nextFloat($this.$rand3) * ju_Random_nextFloat($this.$rand3) * ju_Random_nextFloat($this.$rand3) * 0.2;
                $var13 = $var27 * 2.0 - 1.0;
                $var6 = $this.$motionY + 0.03999999910593033 * $var13;
                $this.$motionY = $var6;
                if ($var8 > 0) {
                    $var25 = $var25 * 0.9;
                    $this.$motionY = $var6 * 0.8;
                }
                $var6 = $this.$motionX;
                $var16 = $var25;
                $this.$motionX = $var6 * $var16;
                $this.$motionY = $this.$motionY * $var16;
                $this.$motionZ = $this.$motionZ * $var16;
                nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
                return;
            }
            $var15 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
            $var31 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
            $var20 = $this.$worldObj0;
            $var2 = $rt_s(1660);
            $var6 = $this.$posX + $var15;
            $var16 = $this.$posZ + $var31;
            $var13 = $this.$motionX;
            $var21 = $this.$motionY;
            $var22 = $this.$motionZ;
            $ptr = 14;
            continue main;
        case 13:
            nms_World_spawnParticle($var20, $var2, $var6, $var14, $var16, $var13, $var21, $var22);
            if ($rt_suspending()) {
                break main;
            }
            $var30 = $var30 + 1 | 0;
            if ($var30 < 1.0 + $this.$width2 * 20.0) {
                $var15 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
                $var31 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
                $var20 = $this.$worldObj0;
                $var2 = $rt_s(1659);
                $var6 = $this.$posX + $var15;
                $var16 = $this.$posZ + $var31;
                $var13 = $this.$motionX;
                $var21 = $this.$motionY - ju_Random_nextFloat($this.$rand3) * 0.20000000298023224;
                $var22 = $this.$motionZ;
                continue main;
            }
            $var19 = 0;
            if ($var19 >= 1.0 + $this.$width2 * 20.0) {
                if ($this.$field_4088_k > 0)
                    $this.$motionY = $this.$motionY - ju_Random_nextFloat($this.$rand3) * ju_Random_nextFloat($this.$rand3) * ju_Random_nextFloat($this.$rand3) * 0.2;
                $var13 = $var27 * 2.0 - 1.0;
                $var6 = $this.$motionY + 0.03999999910593033 * $var13;
                $this.$motionY = $var6;
                if ($var8 > 0) {
                    $var25 = $var25 * 0.9;
                    $this.$motionY = $var6 * 0.8;
                }
                $var6 = $this.$motionX;
                $var16 = $var25;
                $this.$motionX = $var6 * $var16;
                $this.$motionY = $this.$motionY * $var16;
                $this.$motionZ = $this.$motionZ * $var16;
                nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
                return;
            }
            $var15 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
            $var31 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
            $var20 = $this.$worldObj0;
            $var2 = $rt_s(1660);
            $var6 = $this.$posX + $var15;
            $var16 = $this.$posZ + $var31;
            $var13 = $this.$motionX;
            $var21 = $this.$motionY;
            $var22 = $this.$motionZ;
            $ptr = 14;
        case 14:
            nms_World_spawnParticle($var20, $var2, $var6, $var14, $var16, $var13, $var21, $var22);
            if ($rt_suspending()) {
                break main;
            }
            $var19 = $var19 + 1 | 0;
            if ($var19 >= 1.0 + $this.$width2 * 20.0) {
                if ($this.$field_4088_k > 0)
                    $this.$motionY = $this.$motionY - ju_Random_nextFloat($this.$rand3) * ju_Random_nextFloat($this.$rand3) * ju_Random_nextFloat($this.$rand3) * 0.2;
                $var13 = $var27 * 2.0 - 1.0;
                $var6 = $this.$motionY + 0.03999999910593033 * $var13;
                $this.$motionY = $var6;
                if ($var8 > 0) {
                    $var25 = $var25 * 0.9;
                    $this.$motionY = $var6 * 0.8;
                }
                $var6 = $this.$motionX;
                $var16 = $var25;
                $this.$motionX = $var6 * $var16;
                $this.$motionY = $this.$motionY * $var16;
                $this.$motionZ = $this.$motionZ * $var16;
                nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
                return;
            }
            $var15 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
            $var31 = (ju_Random_nextFloat($this.$rand3) * 2.0 - 1.0) * $this.$width2;
            $var20 = $this.$worldObj0;
            $var2 = $rt_s(1660);
            $var6 = $this.$posX + $var15;
            $var16 = $this.$posZ + $var31;
            $var13 = $this.$motionX;
            $var21 = $this.$motionY;
            $var22 = $this.$motionZ;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var19, $var6, $var16, $var14, $var21, $var22, $var23, $var7, $var1, $var20, $var8, $var30, $var2, $var3, $var4, $var5, $var18, $var9, $var12, $var13, $var24, $var25, $var15, $var31, $var29, $var26, $var27, $var28, $ptr);
    }
    function nms_EntityFish_writeEntityToNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(2025);
            var$3 = $this.$tileX << 16 >> 16;
            $ptr = 1;
        case 1:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2026);
            var$3 = $this.$tileY << 16 >> 16;
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2027);
            var$3 = $this.$tileZ << 16 >> 16;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2028);
            var$3 = $this.$field_4092_g << 24 >> 24;
            $ptr = 4;
        case 4:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2029);
            var$3 = $this.$field_4098_a << 24 >> 24;
            $ptr = 5;
        case 5:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2030);
            var$3 = (!$this.$field_4091_h ? 0 : 1) << 24 >> 24;
            $ptr = 6;
        case 6:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityFish_getShadowSize($this) {
        return 0.0;
    }
    function nms_EntityFish_catchFish($this) {
        var $var1, var$2, $var2, $var4, $var6, $var8, $var13, var$8, $var3, $var5, $var7, $var9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();var$8 = $thread.pop();$var13 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = 0;
            if ($this.$field_4096_c !== null) {
                var$2 = $this.$angler;
                $var2 = var$2.$posX - $this.$posX;
                $var4 = var$2.$posY - $this.$posY;
                $var6 = var$2.$posZ - $this.$posZ;
                $var8 = nms_MathHelper_sqrt_double($var2 * $var2 + $var4 * $var4 + $var6 * $var6);
                var$2 = $this.$field_4096_c;
                var$2.$motionX = var$2.$motionX + $var2 * 0.1;
                var$2.$motionY = var$2.$motionY + $var4 * 0.1 + nms_MathHelper_sqrt_double($var8) * 0.08;
                var$2 = $this.$field_4096_c;
                var$2.$motionZ = var$2.$motionZ + $var6 * 0.1;
                $var1 = 3;
            } else if ($this.$field_4088_k > 0) {
                $var13 = new nms_EntityItem;
                var$8 = $this.$worldObj0;
                $var3 = $this.$posX;
                $var5 = $this.$posY;
                $var7 = $this.$posZ;
                var$2 = new nms_ItemStack;
                $ptr = 1;
                continue main;
            }
            if ($this.$field_4091_h)
                $var1 = 2;
            $ptr = 5;
            continue main;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_(var$2, nms_Item_fishRaw);
            $ptr = 2;
        case 2:
            nms_EntityItem__init_($var13, var$8, $var3, $var5, $var7, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$angler;
            $var3 = var$2.$posX - $this.$posX;
            $var5 = var$2.$posY - $this.$posY;
            $var7 = var$2.$posZ - $this.$posZ;
            $var9 = nms_MathHelper_sqrt_double($var3 * $var3 + $var5 * $var5 + $var7 * $var7);
            $var13.$motionX = $var3 * 0.1;
            $var13.$motionY = $var5 * 0.1 + nms_MathHelper_sqrt_double($var9) * 0.08;
            $var13.$motionZ = $var7 * 0.1;
            var$2 = $this.$worldObj0;
            $ptr = 3;
        case 3:
            var$2.$entityJoinedWorld($var13);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 1;
            if ($this.$field_4091_h)
                $var1 = 2;
            $ptr = 5;
        case 5:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$angler.$fishEntity = null;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, $var4, $var6, $var8, $var13, var$8, $var3, $var5, $var7, $var9, $ptr);
    }
    var nms_RenderFish = $rt_classWithoutFields(nms_Render);
    function nms_RenderFish__init_0() {
        var var_0 = new nms_RenderFish();
        nms_RenderFish__init_(var_0);
        return var_0;
    }
    function nms_RenderFish__init_($this) {
        nms_Render__init_($this);
    }
    function nms_RenderFish_func_4011_a($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $var20, $var21, var$9, var$10, $var12, $var50, $var36, $var34, $var38, $var40, $var42, $var30, $var22, $var24, $var26, $var28, var$23, $var32, $var44, $var46, $var48, $var49, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var49 = $thread.pop();$var48 = $thread.pop();$var46 = $thread.pop();$var44 = $thread.pop();$var32 = $thread.pop();var$23 = $thread.pop();$var28 = $thread.pop();$var26 = $thread.pop();$var24 = $thread.pop();$var22 = $thread.pop();$var30 = $thread.pop();$var42 = $thread.pop();$var40 = $thread.pop();$var38 = $thread.pop();$var34 = $thread.pop();$var36 = $thread.pop();$var50 = $thread.pop();$var12 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var21 = $thread.pop();$var20
            = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var2;
            $var20 = $var4;
            $var21 = $var6;
            $ptr = 2;
        case 2:
            olo_GL11_glTranslatef($var8, $var20, $var21);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 32826;
            $ptr = 3;
        case 3:
            olo_GL11_glEnable(var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 0.5;
            $var20 = 0.5;
            $var21 = 0.5;
            $ptr = 4;
        case 4:
            olo_GL11_glScalef($var8, $var20, $var21);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $rt_s(1696);
            $ptr = 5;
        case 5:
            nms_Render_loadTexture($this, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var12 = nms_Tessellator_instance;
            $var20 = 180.0 - $this.$renderManager.$playerViewY;
            $var21 = 0.0;
            $var50 = 1.0;
            $var8 = 0.0;
            $ptr = 7;
        case 7:
            olo_GL11_glRotatef($var20, $var21, $var50, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 =  -$this.$renderManager.$playerViewX;
            $var20 = 1.0;
            $var21 = 0.0;
            $var50 = 0.0;
            $ptr = 8;
        case 8:
            olo_GL11_glRotatef($var8, $var20, $var21, $var50);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_Tessellator_startDrawingQuads($var12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 0.0;
            $var20 = 1.0;
            $var21 = 0.0;
            $ptr = 10;
        case 10:
            nms_Tessellator_setNormal($var12, $var8, $var20, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $var36 = (-0.5);
            $var34 = 0.0;
            $var38 = 0.0625;
            $var40 = 0.1875;
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var12, $var36, $var36, $var34, $var38, $var40);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = 0.5;
            $var42 = 0.0;
            $var30 = 0.125;
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertexWithUV($var12, $var34, $var36, $var42, $var30, $var40);
            if ($rt_suspending()) {
                break main;
            }
            $var40 = 0.0;
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var12, $var34, $var34, $var40, $var30, $var30);
            if ($rt_suspending()) {
                break main;
            }
            $var40 = 0.0;
            $ptr = 14;
        case 14:
            nms_Tessellator_addVertexWithUV($var12, $var36, $var34, $var40, $var38, $var30);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            nms_Tessellator_draw($var12);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 32826;
            $ptr = 16;
        case 16:
            olo_GL11_glDisable(var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $var1.$angler;
            if (var$10 === null)
                return;
            $var8 = var$10.$prevRotationYaw;
            $var20 = ($var8 + (var$10.$rotationYaw - $var8) * $var9) * 3.1415927410125732 / 180.0;
            $var8 = var$10.$prevRotationPitch;
            $var21 = ($var8 + (var$10.$rotationPitch - $var8) * $var9) * 3.1415927410125732 / 180.0;
            $var22 = nms_MathHelper_sin($var20);
            $var24 = nms_MathHelper_cos($var20);
            $var26 = nms_MathHelper_sin($var21);
            $var28 = nms_MathHelper_cos($var21);
            var$23 = $var1.$angler;
            $var34 = var$23.$prevPosX;
            $var36 = var$23.$posX - $var34;
            $var42 = $var9;
            $var30 = $var34 + $var36 * $var42 - $var24 * 0.7 - $var22 * 0.5 * $var28;
            $var34 = var$23.$prevPosY;
            $var32 = $var34 + (var$23.$posY - $var34) * $var42 - $var26 * 0.5;
            $var34 = var$23.$prevPosZ;
            $var34 = $var34 + (var$23.$posZ - $var34) * $var42 - $var22 * 0.7 + $var24 * 0.5 * $var28;
            if ($this.$renderManager.$options1.$thirdPersonView) {
                $var8 = var$23.$prevRenderYawOffset;
                $var8 = ($var8 + (var$23.$renderYawOffset - $var8) * $var9) * 3.1415927410125732 / 180.0;
                $var34 = nms_MathHelper_sin($var8);
                $var36 = nms_MathHelper_cos($var8);
                var$10 = $var1.$angler;
                $var38 = var$10.$prevPosX;
                $var30 = $var38 + (var$10.$posX - $var38) * $var42 - $var36 * 0.35 - $var34 * 0.85;
                $var38 = var$10.$prevPosY;
                $var32 = $var38 + (var$10.$posY - $var38) * $var42 - 0.45;
                $var38 = var$10.$prevPosZ;
                $var34 = $var38 + (var$10.$posZ - $var38) * $var42 - $var34 * 0.35 + $var36 * 0.85;
            }
            $var36 = $var1.$prevPosX;
            $var36 = $var36 + ($var1.$posX - $var36) * $var42;
            $var38 = $var1.$prevPosY;
            $var38 = $var38 + ($var1.$posY - $var38) * $var42 + 0.25;
            $var40 = $var1.$prevPosZ;
            $var40 = $var40 + ($var1.$posZ - $var40) * $var42;
            $var42 = $var30 - $var36;
            $var44 = $var32 - $var38;
            $var46 = $var34 - $var40;
            var$9 = 3553;
            $ptr = 18;
        case 18:
            olo_GL11_glDisable(var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 2896;
            $ptr = 19;
        case 19:
            olo_GL11_glDisable(var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 3;
            $ptr = 20;
        case 20:
            nms_Tessellator_startDrawing($var12, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 0;
            $ptr = 21;
        case 21:
            nms_Tessellator_setColorOpaque_I($var12, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var48 = 16;
            $var49 = 0;
            if ($var49 > $var48) {
                $ptr = 22;
                continue main;
            }
            $var50 = $var49 / 16.0;
            $var40 = $var50;
            $var34 = $var2 + $var42 * $var40;
            $var36 = $var4 + $var44 * ($var50 * $var50 + $var50) * 0.5 + 0.25;
            $var38 = $var6 + $var46 * $var40;
            $ptr = 25;
            continue main;
        case 22:
            nms_Tessellator_draw($var12);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 2896;
            $ptr = 23;
        case 23:
            olo_GL11_glEnable(var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 3553;
            $ptr = 24;
        case 24:
            olo_GL11_glEnable(var$9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 25:
            nms_Tessellator_addVertex($var12, $var34, $var36, $var38);
            if ($rt_suspending()) {
                break main;
            }
            $var49 = $var49 + 1 | 0;
            if ($var49 > $var48) {
                $ptr = 22;
                continue main;
            }
            $var50 = $var49 / 16.0;
            $var40 = $var50;
            $var34 = $var2 + $var42 * $var40;
            $var36 = $var4 + $var44 * ($var50 * $var50 + $var50) * 0.5 + 0.25;
            $var38 = $var6 + $var46 * $var40;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var20, $var21, var$9, var$10, $var12, $var50, $var36, $var34, $var38, $var40, $var42, $var30, $var22, $var24, $var26, $var28, var$23, $var32, $var44, $var46, $var48, $var49, $ptr);
    }
    function nms_RenderFish_doRender($this, $var1, $var2, $var4, $var6, $var8, $var9) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            nms_RenderFish_func_4011_a($this, $var1, $var2, $var4, $var6, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $ptr);
    }
    function nle_EaglerOutputStream() {
        var a = this; ji_OutputStream.call(a);
        a.$buf3 = null;
        a.$count6 = 0;
    }
    function nle_EaglerOutputStream__init_1() {
        var var_0 = new nle_EaglerOutputStream();
        nle_EaglerOutputStream__init_(var_0);
        return var_0;
    }
    function nle_EaglerOutputStream__init_2(var_0) {
        var var_1 = new nle_EaglerOutputStream();
        nle_EaglerOutputStream__init_0(var_1, var_0);
        return var_1;
    }
    function nle_EaglerOutputStream__init_($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 32;
            $ptr = 1;
        case 1:
            nle_EaglerOutputStream__init_0($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nle_EaglerOutputStream__init_0($this, $size) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$size = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($size >= 0) {
                $this.$buf3 = $rt_createByteArray($size);
                return;
            }
            var$2 = new jl_IllegalArgumentException;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$4 = $rt_s(2046);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_AbstractStringBuilder_append0(var$4, $size);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_Throwable__init_(var$2, var$3);
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $size, var$2, var$3, var$4, $ptr);
    }
    function nle_EaglerOutputStream_ensureCapacity($this, $minCapacity) {
        var var$2;
        var$2 = $this.$buf3.data.length;
        if (var$2 < $minCapacity) {
            $minCapacity = jl_Math_max($minCapacity, (var$2 * 3 | 0) / 2 | 0);
            $this.$buf3 = ju_Arrays_copyOf1($this.$buf3, $minCapacity);
        }
    }
    function nle_EaglerOutputStream_write0($this, $b) {
        var var$2, var$3;
        nle_EaglerOutputStream_ensureCapacity($this, $this.$count6 + 1 | 0);
        var$2 = $this.$buf3.data;
        var$3 = $this.$count6;
        var$2[var$3] = $b << 24 >> 24;
        $this.$count6 = var$3 + 1 | 0;
    }
    function nle_EaglerOutputStream_write($this, $b, $off, $len) {
        var var$4, var$5;
        if ($off >= 0) {
            var$4 = $b.data.length;
            if ($off <= var$4 && $len >= 0 && (($off + $len | 0) - var$4 | 0) <= 0) {
                nle_EaglerOutputStream_ensureCapacity($this, $this.$count6 + $len | 0);
                jl_System_fastArraycopy($b, $off, $this.$buf3, $this.$count6, $len);
                $this.$count6 = $this.$count6 + $len | 0;
                return;
            }
        }
        var$5 = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0(var$5);
        $rt_throw(var$5);
    }
    function nle_EaglerOutputStream_toByteArray($this) {
        return ju_Arrays_copyOf1($this.$buf3, $this.$count6);
    }
    function nle_EaglerOutputStream_close($this) {}
    function nleo_StreamBuffer() {
        var a = this; jl_Object.call(a);
        a.$initialSize = 0;
        a.$initialCount = 0;
        a.$maxCount = 0;
        a.$buffers = null;
        a.$currentBufferId = 0;
        a.$overflowCounter = 0;
        a.$initializer = null;
    }
    var nleo_StreamBuffer_pool = null;
    var nleo_StreamBuffer_poolBufferID = 0;
    function nleo_StreamBuffer__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new nleo_StreamBuffer();
        nleo_StreamBuffer__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nleo_StreamBuffer__init_($this, $initialSize, $initialCount, $maxCount, $initializer) {
        var $i, $j, var$7, var$8, var$9, var$10;
        $this.$currentBufferId = 0;
        $this.$overflowCounter = 0;
        if ($maxCount > 16)
            $maxCount = 16;
        $this.$buffers = $rt_createArray(nleo_StreamBuffer$StreamBufferInstance, $initialCount);
        $i = 0;
        while ($i < $this.$buffers.data.length) {
            $j = nleo_StreamBuffer$StreamBufferInstance__init_0();
            var$7 = nleo_StreamBuffer_pool.data;
            var$8 = nleo_StreamBuffer_poolBufferID;
            var$9 = var$8 + 1 | 0;
            nleo_StreamBuffer_poolBufferID = var$9;
            var$10 = var$7[var$8];
            if (var$9 > 15)
                nleo_StreamBuffer_poolBufferID = 0;
            $j.$poolInstance = var$10;
            $this.$buffers.data[$i] = $j;
            $i = $i + 1 | 0;
        }
        $this.$initialSize = $initialSize;
        $this.$initialCount = $initialCount;
        $this.$maxCount = $maxCount;
        $this.$initializer = $initializer;
    }
    function nleo_StreamBuffer__clinit_() {
        var $i;
        nleo_StreamBuffer_pool = $rt_createArray(nleo_StreamBuffer$PoolInstance, 16);
        nleo_StreamBuffer_poolBufferID = 0;
        $i = 0;
        while ($i < 16) {
            nleo_StreamBuffer_pool.data[$i] = nleo_StreamBuffer$PoolInstance__init_0();
            $i = $i + 1 | 0;
        }
    }
    function nleo_StreamBuffer$StreamBufferInstance() {
        var a = this; jl_Object.call(a);
        a.$poolInstance = null;
        a.$vertexArray0 = null;
        a.$bindQuad160 = 0;
        a.$bindQuad320 = 0;
    }
    function nleo_StreamBuffer$StreamBufferInstance__init_0() {
        var var_0 = new nleo_StreamBuffer$StreamBufferInstance();
        nleo_StreamBuffer$StreamBufferInstance__init_(var_0);
        return var_0;
    }
    function nleo_StreamBuffer$StreamBufferInstance__init_($this) {
        $this.$poolInstance = null;
        $this.$vertexArray0 = null;
        $this.$bindQuad160 = 0;
        $this.$bindQuad320 = 0;
    }
    function nms_ModelSpider() {
        var a = this; nms_ModelBase.call(a);
        a.$spiderHead = null;
        a.$spiderNeck = null;
        a.$spiderBody = null;
        a.$spiderLeg1 = null;
        a.$spiderLeg2 = null;
        a.$spiderLeg3 = null;
        a.$spiderLeg4 = null;
        a.$spiderLeg5 = null;
        a.$spiderLeg6 = null;
        a.$spiderLeg7 = null;
        a.$spiderLeg8 = null;
    }
    function nms_ModelSpider__init_0() {
        var var_0 = new nms_ModelSpider();
        nms_ModelSpider__init_(var_0);
        return var_0;
    }
    function nms_ModelSpider__init_($this) {
        var var$1;
        nms_ModelBase__init_($this);
        var$1 = nms_ModelRenderer__init_(32, 4);
        $this.$spiderHead = var$1;
        nms_ModelRenderer_addBox(var$1, (-4.0), (-4.0), (-8.0), 8, 8, 8, 0.0);
        nms_ModelRenderer_setPosition($this.$spiderHead, 0.0, 15.0, (-3.0));
        var$1 = nms_ModelRenderer__init_(0, 0);
        $this.$spiderNeck = var$1;
        nms_ModelRenderer_addBox(var$1, (-3.0), (-3.0), (-3.0), 6, 6, 6, 0.0);
        nms_ModelRenderer_setPosition($this.$spiderNeck, 0.0, 15.0, 0.0);
        var$1 = nms_ModelRenderer__init_(0, 12);
        $this.$spiderBody = var$1;
        nms_ModelRenderer_addBox(var$1, (-5.0), (-4.0), (-6.0), 10, 8, 12, 0.0);
        nms_ModelRenderer_setPosition($this.$spiderBody, 0.0, 15.0, 9.0);
        var$1 = nms_ModelRenderer__init_(18, 0);
        $this.$spiderLeg1 = var$1;
        nms_ModelRenderer_addBox(var$1, (-15.0), (-1.0), (-1.0), 16, 2, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$spiderLeg1, (-4.0), 15.0, 2.0);
        var$1 = nms_ModelRenderer__init_(18, 0);
        $this.$spiderLeg2 = var$1;
        nms_ModelRenderer_addBox(var$1, (-1.0), (-1.0), (-1.0), 16, 2, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$spiderLeg2, 4.0, 15.0, 2.0);
        var$1 = nms_ModelRenderer__init_(18, 0);
        $this.$spiderLeg3 = var$1;
        nms_ModelRenderer_addBox(var$1, (-15.0), (-1.0), (-1.0), 16, 2, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$spiderLeg3, (-4.0), 15.0, 1.0);
        var$1 = nms_ModelRenderer__init_(18, 0);
        $this.$spiderLeg4 = var$1;
        nms_ModelRenderer_addBox(var$1, (-1.0), (-1.0), (-1.0), 16, 2, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$spiderLeg4, 4.0, 15.0, 1.0);
        var$1 = nms_ModelRenderer__init_(18, 0);
        $this.$spiderLeg5 = var$1;
        nms_ModelRenderer_addBox(var$1, (-15.0), (-1.0), (-1.0), 16, 2, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$spiderLeg5, (-4.0), 15.0, 0.0);
        var$1 = nms_ModelRenderer__init_(18, 0);
        $this.$spiderLeg6 = var$1;
        nms_ModelRenderer_addBox(var$1, (-1.0), (-1.0), (-1.0), 16, 2, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$spiderLeg6, 4.0, 15.0, 0.0);
        var$1 = nms_ModelRenderer__init_(18, 0);
        $this.$spiderLeg7 = var$1;
        nms_ModelRenderer_addBox(var$1, (-15.0), (-1.0), (-1.0), 16, 2, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$spiderLeg7, (-4.0), 15.0, (-1.0));
        var$1 = nms_ModelRenderer__init_(18, 0);
        $this.$spiderLeg8 = var$1;
        nms_ModelRenderer_addBox(var$1, (-1.0), (-1.0), (-1.0), 16, 2, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$spiderLeg8, 4.0, 15.0, (-1.0));
    }
    function nms_ModelSpider_render($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_ModelSpider_setRotationAngles($this, $var1, $var2, $var3, $var4, $var5, $var6);
            var$7 = $this.$spiderHead;
            $ptr = 1;
        case 1:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$spiderNeck;
            $ptr = 2;
        case 2:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$spiderBody;
            $ptr = 3;
        case 3:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$spiderLeg1;
            $ptr = 4;
        case 4:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$spiderLeg2;
            $ptr = 5;
        case 5:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$spiderLeg3;
            $ptr = 6;
        case 6:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$spiderLeg4;
            $ptr = 7;
        case 7:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$spiderLeg5;
            $ptr = 8;
        case 8:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$spiderLeg6;
            $ptr = 9;
        case 9:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$spiderLeg7;
            $ptr = 10;
        case 10:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$spiderLeg8;
            $ptr = 11;
        case 11:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
    }
    function nms_ModelSpider_setRotationAngles($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $var10, $var11, $var12, $var13, $var14, $var15, $var16, $var17;
        var$7 = $this.$spiderHead;
        var$7.$rotateAngleY = $var4 / 57.2957763671875;
        var$7.$rotateAngleX = $var5 / 57.2957763671875;
        var$7 = $this.$spiderLeg1;
        var$7.$rotateAngleZ = (-0.7853981852531433);
        var$8 = $this.$spiderLeg2;
        var$8.$rotateAngleZ = 0.7853981852531433;
        var$9 = $this.$spiderLeg3;
        var$9.$rotateAngleZ = (-0.5811946392059326);
        var$10 = $this.$spiderLeg4;
        var$10.$rotateAngleZ = 0.5811946392059326;
        var$11 = $this.$spiderLeg5;
        var$11.$rotateAngleZ = (-0.5811946392059326);
        var$12 = $this.$spiderLeg6;
        var$12.$rotateAngleZ = 0.5811946392059326;
        var$13 = $this.$spiderLeg7;
        var$13.$rotateAngleZ = (-0.7853981852531433);
        var$14 = $this.$spiderLeg8;
        var$14.$rotateAngleZ = 0.7853981852531433;
        var$7.$rotateAngleY = 0.7853981852531433;
        var$8.$rotateAngleY = (-0.7853981852531433);
        var$9.$rotateAngleY = 0.39269909262657166;
        var$10.$rotateAngleY = (-0.39269909262657166);
        var$11.$rotateAngleY = (-0.39269909262657166);
        var$12.$rotateAngleY = 0.39269909262657166;
        var$13.$rotateAngleY = (-0.7853981852531433);
        var$14.$rotateAngleY = 0.7853981852531433;
        $var1 = $var1 * 0.6661999821662903;
        $var3 = $var1 * 2.0;
        $var10 =  -(nms_MathHelper_cos($var3 + 0.0) * 0.4000000059604645) * $var2;
        $var11 =  -(nms_MathHelper_cos($var3 + 3.1415927410125732) * 0.4000000059604645) * $var2;
        $var12 =  -(nms_MathHelper_cos($var3 + 1.5707963705062866) * 0.4000000059604645) * $var2;
        $var13 =  -(nms_MathHelper_cos($var3 + 4.71238899230957) * 0.4000000059604645) * $var2;
        $var14 = jl_Math_abs0(nms_MathHelper_sin($var1 + 0.0) * 0.4000000059604645) * $var2;
        $var15 = jl_Math_abs0(nms_MathHelper_sin($var1 + 3.1415927410125732) * 0.4000000059604645) * $var2;
        $var16 = jl_Math_abs0(nms_MathHelper_sin($var1 + 1.5707963705062866) * 0.4000000059604645) * $var2;
        $var17 = jl_Math_abs0(nms_MathHelper_sin($var1 + 4.71238899230957) * 0.4000000059604645) * $var2;
        var$14 = $this.$spiderLeg1;
        var$14.$rotateAngleY = var$14.$rotateAngleY + $var10;
        var$7 = $this.$spiderLeg2;
        var$7.$rotateAngleY = var$7.$rotateAngleY +  -$var10;
        var$8 = $this.$spiderLeg3;
        var$8.$rotateAngleY = var$8.$rotateAngleY + $var11;
        var$9 = $this.$spiderLeg4;
        var$9.$rotateAngleY = var$9.$rotateAngleY +  -$var11;
        var$10 = $this.$spiderLeg5;
        var$10.$rotateAngleY = var$10.$rotateAngleY + $var12;
        var$11 = $this.$spiderLeg6;
        var$11.$rotateAngleY = var$11.$rotateAngleY +  -$var12;
        var$12 = $this.$spiderLeg7;
        var$12.$rotateAngleY = var$12.$rotateAngleY + $var13;
        var$13 = $this.$spiderLeg8;
        var$13.$rotateAngleY = var$13.$rotateAngleY +  -$var13;
        var$14.$rotateAngleZ = var$14.$rotateAngleZ + $var14;
        var$7.$rotateAngleZ = var$7.$rotateAngleZ +  -$var14;
        var$8.$rotateAngleZ = var$8.$rotateAngleZ + $var15;
        var$9.$rotateAngleZ = var$9.$rotateAngleZ +  -$var15;
        var$10.$rotateAngleZ = var$10.$rotateAngleZ + $var16;
        var$11.$rotateAngleZ = var$11.$rotateAngleZ +  -$var16;
        var$12.$rotateAngleZ = var$12.$rotateAngleZ + $var17;
        var$13.$rotateAngleZ = var$13.$rotateAngleZ +  -$var17;
    }
    function nms_ModelCreeper() {
        var a = this; nms_ModelBase.call(a);
        a.$head1 = null;
        a.$field_1270_b = null;
        a.$body1 = null;
        a.$leg10 = null;
        a.$leg20 = null;
        a.$leg30 = null;
        a.$leg40 = null;
    }
    function nms_ModelCreeper__init_0() {
        var var_0 = new nms_ModelCreeper();
        nms_ModelCreeper__init_(var_0);
        return var_0;
    }
    function nms_ModelCreeper__init_($this) {
        var var$1;
        nms_ModelBase__init_($this);
        var$1 = nms_ModelRenderer__init_(0, 0);
        $this.$head1 = var$1;
        nms_ModelRenderer_addBox(var$1, (-4.0), (-8.0), (-4.0), 8, 8, 8, 0.0);
        nms_ModelRenderer_setPosition($this.$head1, 0.0, 4.0, 0.0);
        var$1 = nms_ModelRenderer__init_(32, 0);
        $this.$field_1270_b = var$1;
        nms_ModelRenderer_addBox(var$1, (-4.0), (-8.0), (-4.0), 8, 8, 8, 0.5);
        nms_ModelRenderer_setPosition($this.$field_1270_b, 0.0, 4.0, 0.0);
        var$1 = nms_ModelRenderer__init_(16, 16);
        $this.$body1 = var$1;
        nms_ModelRenderer_addBox(var$1, (-4.0), 0.0, (-2.0), 8, 12, 4, 0.0);
        nms_ModelRenderer_setPosition($this.$body1, 0.0, 4.0, 0.0);
        var$1 = nms_ModelRenderer__init_(0, 16);
        $this.$leg10 = var$1;
        nms_ModelRenderer_addBox(var$1, (-2.0), 0.0, (-2.0), 4, 6, 4, 0.0);
        nms_ModelRenderer_setPosition($this.$leg10, (-2.0), 16.0, 4.0);
        var$1 = nms_ModelRenderer__init_(0, 16);
        $this.$leg20 = var$1;
        nms_ModelRenderer_addBox(var$1, (-2.0), 0.0, (-2.0), 4, 6, 4, 0.0);
        nms_ModelRenderer_setPosition($this.$leg20, 2.0, 16.0, 4.0);
        var$1 = nms_ModelRenderer__init_(0, 16);
        $this.$leg30 = var$1;
        nms_ModelRenderer_addBox(var$1, (-2.0), 0.0, (-2.0), 4, 6, 4, 0.0);
        nms_ModelRenderer_setPosition($this.$leg30, (-2.0), 16.0, (-4.0));
        var$1 = nms_ModelRenderer__init_(0, 16);
        $this.$leg40 = var$1;
        nms_ModelRenderer_addBox(var$1, (-2.0), 0.0, (-2.0), 4, 6, 4, 0.0);
        nms_ModelRenderer_setPosition($this.$leg40, 2.0, 16.0, (-4.0));
    }
    function nms_ModelCreeper_render($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$7 = $this.$head1;
            var$7.$rotateAngleY = $var4 / 57.2957763671875;
            var$7.$rotateAngleX = $var5 / 57.2957763671875;
            var$7 = $this.$leg10;
            $var1 = $var1 * 0.6661999821662903;
            var$7.$rotateAngleX = nms_MathHelper_cos($var1) * 1.399999976158142 * $var2;
            var$7 = $this.$leg20;
            $var3 = $var1 + 3.1415927410125732;
            var$7.$rotateAngleX = nms_MathHelper_cos($var3) * 1.399999976158142 * $var2;
            $this.$leg30.$rotateAngleX = nms_MathHelper_cos($var3) * 1.399999976158142 * $var2;
            $this.$leg40.$rotateAngleX = nms_MathHelper_cos($var1) * 1.399999976158142 * $var2;
            var$7 = $this.$head1;
            $ptr = 1;
        case 1:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$body1;
            $ptr = 2;
        case 2:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$leg10;
            $ptr = 3;
        case 3:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$leg20;
            $ptr = 4;
        case 4:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$leg30;
            $ptr = 5;
        case 5:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$leg40;
            $ptr = 6;
        case 6:
            nms_ModelRenderer_render(var$7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
    }
    function nms_ModelGhast() {
        var a = this; nms_ModelBase.call(a);
        a.$body2 = null;
        a.$tentacles = null;
    }
    function nms_ModelGhast__init_0() {
        var var_0 = new nms_ModelGhast();
        nms_ModelGhast__init_(var_0);
        return var_0;
    }
    function nms_ModelGhast__init_($this) {
        var $var2, $var3, var$3, $var4, $var6, $var5;
        nms_ModelBase__init_($this);
        $this.$tentacles = $rt_createArray(nms_ModelRenderer, 9);
        $var2 = nms_ModelRenderer__init_(0, 0);
        $this.$body2 = $var2;
        nms_ModelRenderer_addBox0($var2, (-8.0), (-8.0), (-8.0), 16, 16, 16);
        $var2 = $this.$body2;
        $var2.$offsetY = $var2.$offsetY + 8.0;
        $var2 = new ju_Random;
        $var3 = 0;
        while (true) {
            var$3 = $this.$tentacles.data;
            if ($var3 >= var$3.length)
                break;
            var$3[$var3] = nms_ModelRenderer__init_(0, 0);
            $var4 = $var3 % 3 | 0;
            $var6 = $var3 / 3 | 0;
            $var4 = (($var4 - ($var6 % 2 | 0) * 0.5 + 0.25) / 2.0 * 2.0 - 1.0) * 5.0;
            $var5 = ($var6 / 2.0 * 2.0 - 1.0) * 5.0;
            $var6 = ju_Random_nextInt($var2, 7) + 8 | 0;
            nms_ModelRenderer_addBox0($this.$tentacles.data[$var3], (-1.0), 0.0, (-1.0), 2, $var6, 2);
            var$3 = $this.$tentacles.data;
            var$3[$var3].$offsetX = $var4;
            var$3[$var3].$offsetZ = $var5;
            var$3[$var3].$offsetY = 15.0;
            $var3 = $var3 + 1 | 0;
        }
    }
    function nms_ModelGhast_render($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var7 = 0;
            $var2 = $var3 * 0.30000001192092896;
            while (true) {
                var$8 = $this.$tentacles.data;
                if ($var7 >= var$8.length)
                    break;
                var$8[$var7].$rotateAngleX = 0.20000000298023224 * nms_MathHelper_sin($var2 + $var7) + 0.4000000059604645;
                $var7 = $var7 + 1 | 0;
            }
            var$9 = $this.$body2;
            $ptr = 1;
        case 1:
            nms_ModelRenderer_render(var$9, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 0;
            var$8 = $this.$tentacles.data;
            if ($var7 >= var$8.length)
                return;
            var$9 = var$8[$var7];
            $ptr = 2;
        case 2:
            nms_ModelRenderer_render(var$9, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var7 + 1 | 0;
            var$8 = $this.$tentacles.data;
            if ($var7 >= var$8.length)
                return;
            var$9 = var$8[$var7];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, var$9, $ptr);
    }
    function nms_ModelMinecart() {
        nms_ModelBase.call(this);
        this.$sideModels = null;
    }
    function nms_ModelMinecart__init_0() {
        var var_0 = new nms_ModelMinecart();
        nms_ModelMinecart__init_(var_0);
        return var_0;
    }
    function nms_ModelMinecart__init_($this) {
        var var$1, var$2;
        nms_ModelBase__init_($this);
        var$1 = $rt_createArray(nms_ModelRenderer, 7);
        var$2 = var$1.data;
        $this.$sideModels = var$1;
        var$2[0] = nms_ModelRenderer__init_(0, 10);
        $this.$sideModels.data[1] = nms_ModelRenderer__init_(0, 0);
        $this.$sideModels.data[2] = nms_ModelRenderer__init_(0, 0);
        $this.$sideModels.data[3] = nms_ModelRenderer__init_(0, 0);
        $this.$sideModels.data[4] = nms_ModelRenderer__init_(0, 0);
        $this.$sideModels.data[5] = nms_ModelRenderer__init_(44, 10);
        nms_ModelRenderer_addBox($this.$sideModels.data[0], (-10.0), (-8.0), (-1.0), 20, 16, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$sideModels.data[0], 0.0, 4.0, 0.0);
        nms_ModelRenderer_addBox($this.$sideModels.data[5], (-9.0), (-7.0), (-1.0), 18, 14, 1, 0.0);
        nms_ModelRenderer_setPosition($this.$sideModels.data[5], 0.0, 4.0, 0.0);
        nms_ModelRenderer_addBox($this.$sideModels.data[1], (-8.0), (-9.0), (-1.0), 16, 8, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$sideModels.data[1], (-9.0), 4.0, 0.0);
        nms_ModelRenderer_addBox($this.$sideModels.data[2], (-8.0), (-9.0), (-1.0), 16, 8, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$sideModels.data[2], 9.0, 4.0, 0.0);
        nms_ModelRenderer_addBox($this.$sideModels.data[3], (-8.0), (-9.0), (-1.0), 16, 8, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$sideModels.data[3], 0.0, 4.0, (-7.0));
        nms_ModelRenderer_addBox($this.$sideModels.data[4], (-8.0), (-9.0), (-1.0), 16, 8, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$sideModels.data[4], 0.0, 4.0, 7.0);
        var$1 = $this.$sideModels.data;
        var$1[0].$rotateAngleX = 1.5707963705062866;
        var$1[1].$rotateAngleY = 4.71238899230957;
        var$1[2].$rotateAngleY = 1.5707963705062866;
        var$1[3].$rotateAngleY = 3.1415927410125732;
        var$1[5].$rotateAngleX = (-1.5707963705062866);
    }
    function nms_ModelBoat() {
        nms_ModelBase.call(this);
        this.$boatSides = null;
    }
    function nms_ModelBoat__init_0() {
        var var_0 = new nms_ModelBoat();
        nms_ModelBoat__init_(var_0);
        return var_0;
    }
    function nms_ModelBoat__init_($this) {
        var var$1, var$2;
        nms_ModelBase__init_($this);
        var$1 = $rt_createArray(nms_ModelRenderer, 5);
        var$2 = var$1.data;
        $this.$boatSides = var$1;
        var$2[0] = nms_ModelRenderer__init_(0, 8);
        $this.$boatSides.data[1] = nms_ModelRenderer__init_(0, 0);
        $this.$boatSides.data[2] = nms_ModelRenderer__init_(0, 0);
        $this.$boatSides.data[3] = nms_ModelRenderer__init_(0, 0);
        $this.$boatSides.data[4] = nms_ModelRenderer__init_(0, 0);
        nms_ModelRenderer_addBox($this.$boatSides.data[0], (-12.0), (-8.0), (-3.0), 24, 16, 4, 0.0);
        nms_ModelRenderer_setPosition($this.$boatSides.data[0], 0.0, 4.0, 0.0);
        nms_ModelRenderer_addBox($this.$boatSides.data[1], (-10.0), (-7.0), (-1.0), 20, 6, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$boatSides.data[1], (-11.0), 4.0, 0.0);
        nms_ModelRenderer_addBox($this.$boatSides.data[2], (-10.0), (-7.0), (-1.0), 20, 6, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$boatSides.data[2], 11.0, 4.0, 0.0);
        nms_ModelRenderer_addBox($this.$boatSides.data[3], (-10.0), (-7.0), (-1.0), 20, 6, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$boatSides.data[3], 0.0, 4.0, (-9.0));
        nms_ModelRenderer_addBox($this.$boatSides.data[4], (-10.0), (-7.0), (-1.0), 20, 6, 2, 0.0);
        nms_ModelRenderer_setPosition($this.$boatSides.data[4], 0.0, 4.0, 9.0);
        var$1 = $this.$boatSides.data;
        var$1[0].$rotateAngleX = 1.5707963705062866;
        var$1[1].$rotateAngleY = 4.71238899230957;
        var$1[2].$rotateAngleY = 1.5707963705062866;
        var$1[3].$rotateAngleY = 3.1415927410125732;
    }
    var nleo_StreamBuffer$IStreamBufferInitializer = $rt_classWithoutFields(0);
    function nleo_FixedFunctionPipeline$_init_$lambda$_12_0() {
        jl_Object.call(this);
        this.$_030 = null;
    }
    function nleo_FixedFunctionPipeline$_init_$lambda$_12_0__init_0(var_0) {
        var var_1 = new nleo_FixedFunctionPipeline$_init_$lambda$_12_0();
        nleo_FixedFunctionPipeline$_init_$lambda$_12_0__init_(var_1, var_0);
        return var_1;
    }
    function nleo_FixedFunctionPipeline$_init_$lambda$_12_0__init_(var$0, var$1) {
        var$0.$_030 = var$1;
    }
    function nleo_StreamBuffer$PoolInstance() {
        var a = this; jl_Object.call(a);
        a.$vertexBuffer0 = null;
        a.$vertexBufferSize = 0;
    }
    function nleo_StreamBuffer$PoolInstance__init_0() {
        var var_0 = new nleo_StreamBuffer$PoolInstance();
        nleo_StreamBuffer$PoolInstance__init_(var_0);
        return var_0;
    }
    function nleo_StreamBuffer$PoolInstance__init_($this) {
        $this.$vertexBuffer0 = null;
        $this.$vertexBufferSize = 0;
    }
    var ji_UnsupportedEncodingException = $rt_classWithoutFields(ji_IOException);
    function ji_UnsupportedEncodingException__init_1() {
        var var_0 = new ji_UnsupportedEncodingException();
        ji_UnsupportedEncodingException__init_(var_0);
        return var_0;
    }
    function ji_UnsupportedEncodingException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function ju_HashMap$AbstractMapIterator() {
        var a = this; jl_Object.call(a);
        a.$position6 = 0;
        a.$expectedModCount = 0;
        a.$futureEntry = null;
        a.$currentEntry = null;
        a.$prevEntry0 = null;
        a.$associatedMap = null;
    }
    function ju_HashMap$AbstractMapIterator__init_0(var_0) {
        var var_1 = new ju_HashMap$AbstractMapIterator();
        ju_HashMap$AbstractMapIterator__init_(var_1, var_0);
        return var_1;
    }
    function ju_HashMap$AbstractMapIterator__init_($this, $hm) {
        $this.$associatedMap = $hm;
        $this.$expectedModCount = $hm.$modCount;
        $this.$futureEntry = null;
    }
    function ju_HashMap$AbstractMapIterator_hasNext($this) {
        var var$1, var$2;
        if ($this.$futureEntry !== null)
            return 1;
        while (true) {
            var$1 = $this.$position6;
            var$2 = $this.$associatedMap.$elementData.data;
            if (var$1 >= var$2.length)
                break;
            if (var$2[var$1] !== null)
                return 1;
            $this.$position6 = var$1 + 1 | 0;
        }
        return 0;
    }
    function ju_HashMap$AbstractMapIterator_checkConcurrentMod($this) {
        var var$1;
        if ($this.$expectedModCount == $this.$associatedMap.$modCount)
            return;
        var$1 = new ju_ConcurrentModificationException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    function ju_HashMap$AbstractMapIterator_makeNext($this) {
        var var$1, var$2, var$3, var$4;
        ju_HashMap$AbstractMapIterator_checkConcurrentMod($this);
        if (!ju_HashMap$AbstractMapIterator_hasNext($this)) {
            var$1 = new ju_NoSuchElementException;
            jl_Throwable__init_0(var$1);
            $rt_throw(var$1);
        }
        var$1 = $this.$futureEntry;
        if (var$1 !== null) {
            var$2 = $this.$currentEntry;
            if (var$2 !== null)
                $this.$prevEntry0 = var$2;
            $this.$currentEntry = var$1;
            $this.$futureEntry = var$1.$next1;
        } else {
            var$3 = $this.$associatedMap.$elementData.data;
            var$4 = $this.$position6;
            $this.$position6 = var$4 + 1 | 0;
            var$1 = var$3[var$4];
            $this.$currentEntry = var$1;
            $this.$futureEntry = var$1.$next1;
            $this.$prevEntry0 = null;
        }
    }
    function ju_HashMap$AbstractMapIterator_remove($this) {
        var var$1, var$2, var$3, var$4, $index;
        ju_HashMap$AbstractMapIterator_checkConcurrentMod($this);
        var$1 = $this.$currentEntry;
        if (var$1 === null) {
            var$1 = new jl_IllegalStateException;
            jl_Throwable__init_0(var$1);
            $rt_throw(var$1);
        }
        var$2 = $this.$prevEntry0;
        if (var$2 !== null)
            var$2.$next1 = var$1.$next1;
        else {
            var$3 = var$1.$origKeyHash;
            var$4 = $this.$associatedMap.$elementData.data;
            $index = var$3 & (var$4.length - 1 | 0);
            var$4[$index] = var$4[$index].$next1;
        }
        $this.$currentEntry = null;
        $this.$expectedModCount = $this.$expectedModCount + 1 | 0;
        var$1 = $this.$associatedMap;
        var$1.$modCount = var$1.$modCount + 1 | 0;
        var$1.$elementCount = var$1.$elementCount - 1 | 0;
    }
    var ju_HashMap$ValueIterator = $rt_classWithoutFields(ju_HashMap$AbstractMapIterator);
    function ju_HashMap$ValueIterator_next($this) {
        ju_HashMap$AbstractMapIterator_makeNext($this);
        return $this.$currentEntry.$value2;
    }
    var nms_RenderHelper = $rt_classWithoutFields();
    var nms_RenderHelper_LIGHT0_POS = null;
    var nms_RenderHelper_LIGHT1_POS = null;
    function nms_RenderHelper_$callClinit() {
        nms_RenderHelper_$callClinit = $rt_eraseClinit(nms_RenderHelper);
        nms_RenderHelper__clinit_();
    }
    function nms_RenderHelper__init_0() {
        var var_0 = new nms_RenderHelper();
        nms_RenderHelper__init_(var_0);
        return var_0;
    }
    function nms_RenderHelper__init_($this) {
        nms_RenderHelper_$callClinit();
    }
    function nms_RenderHelper_disableStandardItemLighting() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_RenderHelper_$callClinit();
            var$1 = 2896;
            $ptr = 1;
        case 1:
            olo_GL11_glDisable(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 16384;
            $ptr = 2;
        case 2:
            olo_GL11_glDisable(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 16385;
            $ptr = 3;
        case 3:
            olo_GL11_glDisable(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 2903;
            $ptr = 4;
        case 4:
            olo_GL11_glDisable(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nms_RenderHelper_enableStandardItemLighting() {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_RenderHelper_$callClinit();
            var$1 = 2896;
            $ptr = 1;
        case 1:
            olo_GL11_glEnable(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 0;
            var$2 = 0.6000000238418579;
            var$3 = nms_RenderHelper_LIGHT0_POS;
            var$4 = var$3.$xCoord2;
            var$5 = var$3.$yCoord2;
            var$6 = var$3.$zCoord2;
            var$7 = 0.0;
            $ptr = 2;
        case 2:
            nleo_GlStateManager_enableMCLight(var$1, var$2, var$4, var$5, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 1;
            var$2 = 0.6000000238418579;
            var$3 = nms_RenderHelper_LIGHT1_POS;
            var$7 = var$3.$xCoord2;
            var$4 = var$3.$yCoord2;
            var$5 = var$3.$zCoord2;
            var$6 = 0.0;
            $ptr = 3;
        case 3:
            nleo_GlStateManager_enableMCLight(var$1, var$2, var$7, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            nleo_GlStateManager_stateLightingAmbientR = 0.4000000059604645;
            nleo_GlStateManager_stateLightingAmbientG = 0.4000000059604645;
            nleo_GlStateManager_stateLightingAmbientB = 0.4000000059604645;
            nleo_GlStateManager_stateLightingAmbientSerial = nleo_GlStateManager_stateLightingAmbientSerial + 1 | 0;
            var$1 = 2903;
            $ptr = 4;
        case 4:
            olo_GL11_glEnable(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_RenderHelper__clinit_() {
        nms_RenderHelper_LIGHT0_POS = npevv_Vec3D_112_normalize(npevv_Vec3D_112__init_0(0.20000000298023224, 1.0, (-0.699999988079071)));
        nms_RenderHelper_LIGHT1_POS = npevv_Vec3D_112_normalize(npevv_Vec3D_112__init_0((-0.20000000298023224), 1.0, 0.699999988079071));
    }
    function npja_Color() {
        var a = this; jl_Object.call(a);
        a.$value10 = 0;
        a.$frgbvalue = null;
        a.$fvalue = null;
        a.$falpha = 0.0;
    }
    var npja_Color_white = null;
    var npja_Color_WHITE = null;
    var npja_Color_lightGray = null;
    var npja_Color_LIGHT_GRAY = null;
    var npja_Color_gray = null;
    var npja_Color_GRAY = null;
    var npja_Color_darkGray = null;
    var npja_Color_DARK_GRAY = null;
    var npja_Color_black = null;
    var npja_Color_BLACK = null;
    var npja_Color_red = null;
    var npja_Color_RED = null;
    var npja_Color_pink = null;
    var npja_Color_PINK = null;
    var npja_Color_orange = null;
    var npja_Color_ORANGE = null;
    var npja_Color_yellow = null;
    var npja_Color_YELLOW = null;
    var npja_Color_green = null;
    var npja_Color_GREEN = null;
    var npja_Color_magenta = null;
    var npja_Color_MAGENTA = null;
    var npja_Color_cyan = null;
    var npja_Color_CYAN = null;
    var npja_Color_blue = null;
    var npja_Color_BLUE = null;
    var npja_Color_$clinitCalled = false;
    function npja_Color_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (npja_Color_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            npja_Color_$clinitCalled = true;
            $ptr = 1;
        case 1:
            npja_Color__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            npja_Color_$callClinit = $rt_eraseClinit(npja_Color);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function npja_Color__init_2(var_0, var_1, var_2) {
        var var_3 = new npja_Color();
        npja_Color__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function npja_Color__init_($this, $r, $g, $b) {
        var var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$b = $thread.pop();$g = $thread.pop();$r = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            npja_Color_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$frgbvalue = null;
            $this.$fvalue = null;
            $this.$falpha = 0.0;
            $this.$value10 = (-16777216) | ($r & 255) << 16 | ($g & 255) << 8 | ($b & 255) << 0;
            var$4 = 0;
            var$5 = $rt_s(3);
            if ($r >= 0 && $r <= 255) {
                if ($g >= 0 && $g <= 255) {
                    if ($b >= 0 && $b <= 255) {
                        if (var$4 != 1)
                            return;
                        var$6 = new jl_IllegalArgumentException;
                        var$7 = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_(var$7);
                        var$8 = $rt_s(2047);
                        $ptr = 11;
                        continue main;
                    }
                    var$4 = 1;
                    var$6 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$6);
                    $ptr = 8;
                    continue main;
                }
                var$4 = 1;
                var$6 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$6);
                $ptr = 5;
                continue main;
            }
            var$4 = 1;
            var$6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$6);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$6, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            var$7 = $rt_s(2048);
            $ptr = 3;
        case 3:
            jl_StringBuilder_append(var$5, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if ($g >= 0 && $g <= 255) {
                if ($b >= 0 && $b <= 255) {
                    if (var$4 != 1)
                        return;
                    var$6 = new jl_IllegalArgumentException;
                    var$7 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$7);
                    var$8 = $rt_s(2047);
                    $ptr = 11;
                    continue main;
                }
                var$4 = 1;
                var$6 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$6);
                $ptr = 8;
                continue main;
            }
            var$4 = 1;
            var$6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$6);
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append(var$6, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            var$7 = $rt_s(2049);
            $ptr = 6;
        case 6:
            jl_StringBuilder_append(var$5, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if ($b >= 0 && $b <= 255) {
                if (var$4 != 1)
                    return;
                var$6 = new jl_IllegalArgumentException;
                var$7 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$7);
                var$8 = $rt_s(2047);
                $ptr = 11;
                continue main;
            }
            var$4 = 1;
            var$6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$6);
            $ptr = 8;
        case 8:
            $tmp = jl_StringBuilder_append(var$6, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            var$7 = $rt_s(2050);
            $ptr = 9;
        case 9:
            jl_StringBuilder_append(var$5, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$4 != 1)
                return;
            var$6 = new jl_IllegalArgumentException;
            var$7 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$7);
            var$8 = $rt_s(2047);
            $ptr = 11;
        case 11:
            $tmp = jl_StringBuilder_append(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            $ptr = 12;
        case 12:
            jl_StringBuilder_append(var$8, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            $tmp = jl_AbstractStringBuilder_toString(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            jl_Throwable__init_(var$6, var$5);
            $rt_throw(var$6);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $r, $g, $b, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function npja_Color_HSBtoRGB($hue, $saturation, $brightness) {
        var $r, $g, $b, $h, $f, $p, $q, $t, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$t = $thread.pop();$q = $thread.pop();$p = $thread.pop();$f = $thread.pop();$h = $thread.pop();$b = $thread.pop();$g = $thread.pop();$r = $thread.pop();$brightness = $thread.pop();$saturation = $thread.pop();$hue = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            npja_Color_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            a: {
                $r = 0;
                $g = 0;
                $b = 0;
                if ($saturation === 0.0) {
                    $r = $brightness * 255.0 + 0.5 | 0;
                    $b = $r;
                    $g = $r;
                } else {
                    $h = ($hue - jl_Math_floor($hue)) * 6.0;
                    $f = $h - jl_Math_floor($h);
                    $p = $brightness * (1.0 - $saturation);
                    $q = $brightness * (1.0 - $saturation * $f);
                    $t = $brightness * (1.0 - $saturation * (1.0 - $f));
                    switch ($h | 0) {
                        case 0:
                            $r = $brightness * 255.0 + 0.5 | 0;
                            $g = $t * 255.0 + 0.5 | 0;
                            $b = $p * 255.0 + 0.5 | 0;
                            break a;
                        case 1:
                            $r = $q * 255.0 + 0.5 | 0;
                            $g = $brightness * 255.0 + 0.5 | 0;
                            $b = $p * 255.0 + 0.5 | 0;
                            break a;
                        case 2:
                            $r = $p * 255.0 + 0.5 | 0;
                            $g = $brightness * 255.0 + 0.5 | 0;
                            $b = $t * 255.0 + 0.5 | 0;
                            break a;
                        case 3:
                            $r = $p * 255.0 + 0.5 | 0;
                            $g = $q * 255.0 + 0.5 | 0;
                            $b = $brightness * 255.0 + 0.5 | 0;
                            break a;
                        case 4:
                            $r = $t * 255.0 + 0.5 | 0;
                            $g = $p * 255.0 + 0.5 | 0;
                            $b = $brightness * 255.0 + 0.5 | 0;
                            break a;
                        case 5:
                            $r = $brightness * 255.0 + 0.5 | 0;
                            $g = $p * 255.0 + 0.5 | 0;
                            $b = $q * 255.0 + 0.5 | 0;
                            break a;
                        default:
                    }
                }
            }
            return (-16777216) | $r << 16 | $g << 8 | $b << 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($hue, $saturation, $brightness, $r, $g, $b, $h, $f, $p, $q, $t, $ptr);
    }
    function npja_Color__clinit_() {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new npja_Color;
            var$2 = 255;
            var$3 = 255;
            var$4 = 255;
            $ptr = 1;
        case 1:
            npja_Color__init_(var$1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            npja_Color_white = var$1;
            npja_Color_WHITE = var$1;
            var$1 = new npja_Color;
            var$2 = 192;
            var$3 = 192;
            var$4 = 192;
            $ptr = 2;
        case 2:
            npja_Color__init_(var$1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            npja_Color_lightGray = var$1;
            npja_Color_LIGHT_GRAY = var$1;
            var$1 = new npja_Color;
            var$2 = 128;
            var$3 = 128;
            var$4 = 128;
            $ptr = 3;
        case 3:
            npja_Color__init_(var$1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            npja_Color_gray = var$1;
            npja_Color_GRAY = var$1;
            var$1 = new npja_Color;
            var$2 = 64;
            var$3 = 64;
            var$4 = 64;
            $ptr = 4;
        case 4:
            npja_Color__init_(var$1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            npja_Color_darkGray = var$1;
            npja_Color_DARK_GRAY = var$1;
            var$1 = new npja_Color;
            var$2 = 0;
            var$3 = 0;
            var$4 = 0;
            $ptr = 5;
        case 5:
            npja_Color__init_(var$1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            npja_Color_black = var$1;
            npja_Color_BLACK = var$1;
            var$1 = new npja_Color;
            var$2 = 255;
            var$3 = 0;
            var$4 = 0;
            $ptr = 6;
        case 6:
            npja_Color__init_(var$1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            npja_Color_red = var$1;
            npja_Color_RED = var$1;
            var$1 = new npja_Color;
            var$2 = 255;
            var$3 = 175;
            var$4 = 175;
            $ptr = 7;
        case 7:
            npja_Color__init_(var$1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            npja_Color_pink = var$1;
            npja_Color_PINK = var$1;
            var$1 = new npja_Color;
            var$2 = 255;
            var$3 = 200;
            var$4 = 0;
            $ptr = 8;
        case 8:
            npja_Color__init_(var$1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            npja_Color_orange = var$1;
            npja_Color_ORANGE = var$1;
            var$1 = new npja_Color;
            var$2 = 255;
            var$3 = 255;
            var$4 = 0;
            $ptr = 9;
        case 9:
            npja_Color__init_(var$1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            npja_Color_yellow = var$1;
            npja_Color_YELLOW = var$1;
            var$1 = new npja_Color;
            var$2 = 0;
            var$3 = 255;
            var$4 = 0;
            $ptr = 10;
        case 10:
            npja_Color__init_(var$1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            npja_Color_green = var$1;
            npja_Color_GREEN = var$1;
            var$1 = new npja_Color;
            var$2 = 255;
            var$3 = 0;
            var$4 = 255;
            $ptr = 11;
        case 11:
            npja_Color__init_(var$1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            npja_Color_magenta = var$1;
            npja_Color_MAGENTA = var$1;
            var$1 = new npja_Color;
            var$2 = 0;
            var$3 = 255;
            var$4 = 255;
            $ptr = 12;
        case 12:
            npja_Color__init_(var$1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            npja_Color_cyan = var$1;
            npja_Color_CYAN = var$1;
            var$1 = new npja_Color;
            var$2 = 0;
            var$3 = 0;
            var$4 = 255;
            $ptr = 13;
        case 13:
            npja_Color__init_(var$1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            npja_Color_blue = var$1;
            npja_Color_BLUE = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_ChatLine() {
        var a = this; jl_Object.call(a);
        a.$message0 = null;
        a.$updateCounter1 = 0;
    }
    function ju_LinkedList$Entry() {
        var a = this; jl_Object.call(a);
        a.$item = null;
        a.$next2 = null;
        a.$previous = null;
    }
    function ju_LinkedList$Entry__init_0() {
        var var_0 = new ju_LinkedList$Entry();
        ju_LinkedList$Entry__init_(var_0);
        return var_0;
    }
    function ju_LinkedList$Entry__init_($this) {}
    var ju_HashMap$KeyIterator = $rt_classWithoutFields(ju_HashMap$AbstractMapIterator);
    function ju_HashMap$KeyIterator_next($this) {
        ju_HashMap$AbstractMapIterator_makeNext($this);
        return $this.$currentEntry.$key0;
    }
    function nleo_GlStateManager$TexGen() {
        var a = this; jl_Enum.call(a);
        a.$source0 = 0;
        a.$plane = 0;
        a.$vector = null;
    }
    var nleo_GlStateManager$TexGen_S = null;
    var nleo_GlStateManager$TexGen_T = null;
    var nleo_GlStateManager$TexGen_R = null;
    var nleo_GlStateManager$TexGen_Q = null;
    var nleo_GlStateManager$TexGen_$VALUES = null;
    function nleo_GlStateManager$TexGen_$callClinit() {
        nleo_GlStateManager$TexGen_$callClinit = $rt_eraseClinit(nleo_GlStateManager$TexGen);
        nleo_GlStateManager$TexGen__clinit_();
    }
    function nleo_GlStateManager$TexGen__init_0(var_0, var_1) {
        var var_2 = new nleo_GlStateManager$TexGen();
        nleo_GlStateManager$TexGen__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nleo_GlStateManager$TexGen_values() {
        nleo_GlStateManager$TexGen_$callClinit();
        return nleo_GlStateManager$TexGen_$VALUES.$clone();
    }
    function nleo_GlStateManager$TexGen__init_($this, var$1, var$2) {
        nleo_GlStateManager$TexGen_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
        $this.$source0 = 9217;
        $this.$plane = 9473;
        $this.$vector = new nlev_Vector4f;
    }
    function nleo_GlStateManager$TexGen__clinit_() {
        var var$1;
        nleo_GlStateManager$TexGen_S = nleo_GlStateManager$TexGen__init_0($rt_s(1292), 0);
        nleo_GlStateManager$TexGen_T = nleo_GlStateManager$TexGen__init_0($rt_s(1574), 1);
        nleo_GlStateManager$TexGen_R = nleo_GlStateManager$TexGen__init_0($rt_s(1573), 2);
        var$1 = nleo_GlStateManager$TexGen__init_0($rt_s(1572), 3);
        nleo_GlStateManager$TexGen_Q = var$1;
        nleo_GlStateManager$TexGen_$VALUES = $rt_createArrayFromData(nleo_GlStateManager$TexGen, [nleo_GlStateManager$TexGen_S, nleo_GlStateManager$TexGen_T, nleo_GlStateManager$TexGen_R, var$1]);
    }
    function jur_AbstractCharClass$LazyJavaLowerCase$1() {
        jur_AbstractCharClass.call(this);
        this.$this$026 = null;
    }
    function jur_AbstractCharClass$LazyJavaLowerCase$1_contains($this, $ch) {
        return jl_Character_getType($ch) != 2 ? 0 : 1;
    }
    function jur_AbstractCharClass$LazyJavaUpperCase$1() {
        jur_AbstractCharClass.call(this);
        this.$this$027 = null;
    }
    function jur_AbstractCharClass$LazyJavaUpperCase$1_contains($this, $ch) {
        return jl_Character_getType($ch) != 1 ? 0 : 1;
    }
    function jur_AbstractCharClass$LazyJavaWhitespace$1() {
        jur_AbstractCharClass.call(this);
        this.$this$028 = null;
    }
    function jur_AbstractCharClass$LazyJavaWhitespace$1_contains($this, $ch) {
        return jl_Character_isWhitespace($ch);
    }
    function jur_AbstractCharClass$LazyJavaMirrored$1() {
        jur_AbstractCharClass.call(this);
        this.$this$029 = null;
    }
    function jur_AbstractCharClass$LazyJavaMirrored$1_contains($this, $ch) {
        return 0;
    }
    function jur_AbstractCharClass$LazyJavaDefined$1() {
        jur_AbstractCharClass.call(this);
        this.$this$030 = null;
    }
    function jur_AbstractCharClass$LazyJavaDefined$1_contains($this, $ch) {
        return !jl_Character_getType($ch) ? 0 : 1;
    }
    function jur_AbstractCharClass$LazyJavaDigit$1() {
        jur_AbstractCharClass.call(this);
        this.$this$031 = null;
    }
    function jur_AbstractCharClass$LazyJavaDigit$1_contains($this, $ch) {
        return jl_Character_getType($ch) != 9 ? 0 : 1;
    }
    function jur_AbstractCharClass$LazyJavaIdentifierIgnorable$1() {
        jur_AbstractCharClass.call(this);
        this.$this$032 = null;
    }
    function jur_AbstractCharClass$LazyJavaIdentifierIgnorable$1_contains($this, $ch) {
        return jl_Character_isIdentifierIgnorable($ch);
    }
    function jur_AbstractCharClass$LazyJavaISOControl$1() {
        jur_AbstractCharClass.call(this);
        this.$this$033 = null;
    }
    function jur_AbstractCharClass$LazyJavaISOControl$1_contains($this, $ch) {
        a: {
            b: {
                if (!($ch >= 0 && $ch <= 31)) {
                    if ($ch < 127)
                        break b;
                    if ($ch > 159)
                        break b;
                }
                $ch = 1;
                break a;
            }
            $ch = 0;
        }
        return $ch;
    }
    function jur_AbstractCharClass$LazyJavaJavaIdentifierPart$1() {
        jur_AbstractCharClass.call(this);
        this.$this$034 = null;
    }
    function jur_AbstractCharClass$LazyJavaJavaIdentifierPart$1_contains($this, $ch) {
        a: {
            b: {
                switch (jl_Character_getType($ch)) {
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                    case 6:
                    case 8:
                    case 9:
                    case 10:
                    case 23:
                    case 26:
                        break;
                    case 7:
                    case 11:
                    case 12:
                    case 13:
                    case 14:
                    case 15:
                    case 16:
                    case 17:
                    case 18:
                    case 19:
                    case 20:
                    case 21:
                    case 22:
                    case 24:
                    case 25:
                        break b;
                    default:
                        break b;
                }
                $ch = 1;
                break a;
            }
            $ch = jl_Character_isIdentifierIgnorable($ch);
        }
        return $ch;
    }
    function jur_AbstractCharClass$LazyJavaJavaIdentifierStart$1() {
        jur_AbstractCharClass.call(this);
        this.$this$035 = null;
    }
    function jur_AbstractCharClass$LazyJavaJavaIdentifierStart$1_contains($this, $ch) {
        a: {
            b: {
                switch (jl_Character_getType($ch)) {
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                    case 10:
                    case 23:
                    case 26:
                        break;
                    case 6:
                    case 7:
                    case 8:
                    case 9:
                    case 11:
                    case 12:
                    case 13:
                    case 14:
                    case 15:
                    case 16:
                    case 17:
                    case 18:
                    case 19:
                    case 20:
                    case 21:
                    case 22:
                    case 24:
                    case 25:
                        break b;
                    default:
                        break b;
                }
                $ch = 1;
                break a;
            }
            $ch = jl_Character_isIdentifierIgnorable($ch);
        }
        return $ch;
    }
    function jur_AbstractCharClass$LazyJavaLetter$1() {
        jur_AbstractCharClass.call(this);
        this.$this$036 = null;
    }
    function jur_AbstractCharClass$LazyJavaLetter$1_contains($this, $ch) {
        a: {
            switch (jl_Character_getType($ch)) {
                case 1:
                case 2:
                case 3:
                case 4:
                case 5:
                    break;
                default:
                    $ch = 0;
                    break a;
            }
            $ch = 1;
        }
        return $ch;
    }
    function jur_AbstractCharClass$LazyJavaLetterOrDigit$1() {
        jur_AbstractCharClass.call(this);
        this.$this$037 = null;
    }
    function jur_AbstractCharClass$LazyJavaLetterOrDigit$1_contains($this, $ch) {
        return jl_Character_isLetterOrDigit($ch);
    }
    function jur_AbstractCharClass$LazyJavaSpaceChar$1() {
        jur_AbstractCharClass.call(this);
        this.$this$038 = null;
    }
    function jur_AbstractCharClass$LazyJavaSpaceChar$1_contains($this, $ch) {
        return jl_Character_isSpaceChar($ch);
    }
    function jur_AbstractCharClass$LazyJavaTitleCase$1() {
        jur_AbstractCharClass.call(this);
        this.$this$039 = null;
    }
    function jur_AbstractCharClass$LazyJavaTitleCase$1_contains($this, $ch) {
        return jl_Character_getType($ch) != 3 ? 0 : 1;
    }
    function jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart$1() {
        jur_AbstractCharClass.call(this);
        this.$this$040 = null;
    }
    function jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart$1_contains($this, $ch) {
        a: {
            b: {
                switch (jl_Character_getType($ch)) {
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                    case 6:
                    case 8:
                    case 9:
                    case 10:
                    case 23:
                        break;
                    case 7:
                    case 11:
                    case 12:
                    case 13:
                    case 14:
                    case 15:
                    case 16:
                    case 17:
                    case 18:
                    case 19:
                    case 20:
                    case 21:
                    case 22:
                        break b;
                    default:
                        break b;
                }
                $ch = 1;
                break a;
            }
            $ch = jl_Character_isIdentifierIgnorable($ch);
        }
        return $ch;
    }
    function jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart$1() {
        jur_AbstractCharClass.call(this);
        this.$this$041 = null;
    }
    function jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart$1_contains($this, $ch) {
        a: {
            b: {
                switch (jl_Character_getType($ch)) {
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                    case 10:
                        break;
                    case 6:
                    case 7:
                    case 8:
                    case 9:
                        break b;
                    default:
                        break b;
                }
                $ch = 1;
                break a;
            }
            $ch = jl_Character_isIdentifierIgnorable($ch);
        }
        return $ch;
    }
    function jur_UnicodeCategory() {
        jur_AbstractCharClass.call(this);
        this.$category1 = 0;
    }
    function jur_UnicodeCategory__init_0(var_0) {
        var var_1 = new jur_UnicodeCategory();
        jur_UnicodeCategory__init_(var_1, var_0);
        return var_1;
    }
    function jur_UnicodeCategory__init_($this, $category) {
        jur_AbstractCharClass__init_($this);
        $this.$category1 = $category;
    }
    function jur_UnicodeCategory_contains($this, $ch) {
        return $this.$alt0 ^ ($this.$category1 != jl_Character_getType($ch & 65535) ? 0 : 1);
    }
    var jur_UnicodeCategoryScope = $rt_classWithoutFields(jur_UnicodeCategory);
    function jur_UnicodeCategoryScope_contains($this, $ch) {
        return $this.$alt0 ^ (!($this.$category1 >> jl_Character_getType($ch & 65535) & 1) ? 0 : 1);
    }
    var jnci_AsciiEncoder = $rt_classWithoutFields(jnci_BufferedEncoder);
    function jnci_AsciiEncoder_arrayEncode($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller) {
        var $result, var$9, var$10, $c, $next;
        $result = null;
        a: {
            while ($inPos < $inSize) {
                if ($outPos >= $outSize) {
                    var$9 = $inPos;
                    break a;
                }
                var$10 = $inArray.data;
                var$9 = $inPos + 1 | 0;
                $c = var$10[$inPos];
                if (jl_Character_isHighSurrogate($c)) {
                    if (var$9 >= $inSize) {
                        if (!jnci_BufferedEncoder$Controller_hasMoreInput0($controller, 2)) {
                            $result = jnc_CoderResult_UNDERFLOW;
                            break a;
                        }
                        var$9 = var$9 + (-1) | 0;
                        break a;
                    }
                    if (!jl_Character_isLowSurrogate(var$10[var$9])) {
                        $result = jnc_CoderResult_malformedForLength(1);
                        break a;
                    }
                    var$9 = var$9 + (-1) | 0;
                    $result = jnc_CoderResult_unmappableForLength(2);
                    break a;
                }
                if (jl_Character_isLowSurrogate($c))
                    $result = jnc_CoderResult_malformedForLength(1);
                if ($c >= 128) {
                    $result = jnc_CoderResult_unmappableForLength(1);
                    var$9 = var$9 + (-1) | 0;
                    break a;
                }
                var$10 = $outArray.data;
                $next = $outPos + 1 | 0;
                var$10[$outPos] = $c << 24 >> 24;
                $inPos = var$9;
                $outPos = $next;
            }
            var$9 = $inPos;
        }
        $controller.$inPosition0 = var$9;
        $controller.$outPosition0 = $outPos;
        return $result;
    }
    var jnci_Iso8859Encoder = $rt_classWithoutFields(jnci_BufferedEncoder);
    function jnci_Iso8859Encoder_arrayEncode($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller) {
        var $result, var$9, var$10, $c, $next;
        $result = null;
        a: {
            while ($inPos < $inSize) {
                if ($outPos >= $outSize) {
                    var$9 = $inPos;
                    break a;
                }
                var$10 = $inArray.data;
                var$9 = $inPos + 1 | 0;
                $c = var$10[$inPos];
                if (jl_Character_isHighSurrogate($c)) {
                    if (var$9 == $inSize) {
                        if (!jnci_BufferedEncoder$Controller_hasMoreInput0($controller, 2)) {
                            $result = jnc_CoderResult_UNDERFLOW;
                            break a;
                        }
                        var$9 = var$9 + (-1) | 0;
                        break a;
                    }
                    if (!jl_Character_isLowSurrogate(var$10[var$9])) {
                        $result = jnc_CoderResult_malformedForLength(1);
                        break a;
                    }
                    var$9 = var$9 + (-1) | 0;
                    $result = jnc_CoderResult_unmappableForLength(2);
                    break a;
                }
                if (jl_Character_isLowSurrogate($c))
                    $result = jnc_CoderResult_malformedForLength(1);
                if ($c >= 256) {
                    var$9 = var$9 + (-1) | 0;
                    $result = jnc_CoderResult_unmappableForLength(1);
                    break a;
                }
                var$10 = $outArray.data;
                $next = $outPos + 1 | 0;
                var$10[$outPos] = $c << 24 >> 24;
                $inPos = var$9;
                $outPos = $next;
            }
            var$9 = $inPos;
        }
        $controller.$inPosition0 = var$9;
        $controller.$outPosition0 = $outPos;
        return $result;
    }
    function jnci_UTF16Encoder() {
        var a = this; jnci_BufferedEncoder.call(a);
        a.$bom1 = 0;
        a.$littleEndian1 = 0;
    }
    function jnci_UTF16Encoder_arrayEncode($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller) {
        var var$8, var$9;
        if ($this.$bom1) {
            if (($outPos + 2 | 0) > $outSize)
                return !jn_Buffer_hasRemaining($controller.$out3) ? jnc_CoderResult_OVERFLOW : null;
            $this.$bom1 = 0;
            if (!$this.$littleEndian1) {
                var$8 = $outArray.data;
                var$9 = $outPos + 1 | 0;
                var$8[$outPos] = (-2);
                $outPos = var$9 + 1 | 0;
                var$8[var$9] = (-1);
            } else {
                var$8 = $outArray.data;
                var$9 = $outPos + 1 | 0;
                var$8[$outPos] = (-1);
                $outPos = var$9 + 1 | 0;
                var$8[var$9] = (-2);
            }
        }
        return !$this.$littleEndian1 ? jnci_UTF16Encoder_arrayEncodeBE($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller) : jnci_UTF16Encoder_arrayEncodeLE($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller);
    }
    function jnci_UTF16Encoder_arrayEncodeLE($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller) {
        var $result, var$9, var$10, $c, $next, var$13;
        $result = null;
        a: {
            while ($inPos < $inSize) {
                if ($outPos >= $outSize)
                    break a;
                var$9 = $inArray.data;
                var$10 = $inPos + 1 | 0;
                $c = var$9[$inPos];
                if (!jl_Character_isHighSurrogate($c)) {
                    if (jl_Character_isLowSurrogate($c)) {
                        $inPos = var$10 + (-1) | 0;
                        $result = jnc_CoderResult_malformedForLength(1);
                        break a;
                    }
                    if (($outPos + 2 | 0) > $outSize) {
                        $inPos = var$10 + (-1) | 0;
                        if (jnci_BufferedEncoder$Controller_hasMoreOutput($controller, 2))
                            break a;
                        $result = jnc_CoderResult_OVERFLOW;
                        break a;
                    }
                    var$9 = $outArray.data;
                    $inPos = $outPos + 1 | 0;
                    var$9[$outPos] = ($c & 255) << 24 >> 24;
                    $outPos = $inPos + 1 | 0;
                    var$9[$inPos] = $c >> 8 << 24 >> 24;
                    $inPos = var$10;
                } else {
                    if (var$10 == $inSize) {
                        $inPos = var$10 + (-1) | 0;
                        if (jnci_BufferedEncoder$Controller_hasMoreInput0($controller, 2))
                            break a;
                        $result = jnc_CoderResult_UNDERFLOW;
                        break a;
                    }
                    $inPos = var$10 + 1 | 0;
                    $next = var$9[var$10];
                    if (!jl_Character_isLowSurrogate($next)) {
                        $inPos = $inPos + (-2) | 0;
                        $result = jnc_CoderResult_malformedForLength(1);
                        break a;
                    }
                    if (($outPos + 4 | 0) > $outSize) {
                        $inPos = $inPos + (-2) | 0;
                        if (jnci_BufferedEncoder$Controller_hasMoreOutput($controller, 4))
                            break a;
                        $result = jnc_CoderResult_OVERFLOW;
                        break a;
                    }
                    var$9 = $outArray.data;
                    var$13 = $outPos + 1 | 0;
                    var$9[$outPos] = ($c & 255) << 24 >> 24;
                    $outPos = var$13 + 1 | 0;
                    var$9[var$13] = $c >> 8 << 24 >> 24;
                    var$13 = $outPos + 1 | 0;
                    var$9[$outPos] = ($next & 255) << 24 >> 24;
                    $outPos = var$13 + 1 | 0;
                    var$9[var$13] = $next >> 8 << 24 >> 24;
                }
            }
        }
        $controller.$inPosition0 = $inPos;
        $controller.$outPosition0 = $outPos;
        return $result;
    }
    function jnci_UTF16Encoder_arrayEncodeBE($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller) {
        var $result, var$9, var$10, $c, $next, var$13;
        $result = null;
        a: {
            while ($inPos < $inSize) {
                if ($outPos >= $outSize)
                    break a;
                var$9 = $inArray.data;
                var$10 = $inPos + 1 | 0;
                $c = var$9[$inPos];
                if (!jl_Character_isHighSurrogate($c)) {
                    if (jl_Character_isLowSurrogate($c)) {
                        $inPos = var$10 + (-1) | 0;
                        $result = jnc_CoderResult_malformedForLength(1);
                        break a;
                    }
                    if (($outPos + 2 | 0) > $outSize) {
                        $inPos = var$10 + (-1) | 0;
                        if (jnci_BufferedEncoder$Controller_hasMoreOutput($controller, 2))
                            break a;
                        $result = jnc_CoderResult_OVERFLOW;
                        break a;
                    }
                    var$9 = $outArray.data;
                    $inPos = $outPos + 1 | 0;
                    var$9[$outPos] = $c >> 8 << 24 >> 24;
                    $outPos = $inPos + 1 | 0;
                    var$9[$inPos] = ($c & 255) << 24 >> 24;
                    $inPos = var$10;
                } else {
                    if (var$10 == $inSize) {
                        $inPos = var$10 + (-1) | 0;
                        if (jnci_BufferedEncoder$Controller_hasMoreInput0($controller, 2))
                            break a;
                        $result = jnc_CoderResult_UNDERFLOW;
                        break a;
                    }
                    $inPos = var$10 + 1 | 0;
                    $next = var$9[var$10];
                    if (!jl_Character_isLowSurrogate($next)) {
                        $inPos = $inPos + (-2) | 0;
                        $result = jnc_CoderResult_malformedForLength(1);
                        break a;
                    }
                    if (($outPos + 4 | 0) > $outSize) {
                        $inPos = $inPos + (-2) | 0;
                        if (jnci_BufferedEncoder$Controller_hasMoreOutput($controller, 4))
                            break a;
                        $result = jnc_CoderResult_OVERFLOW;
                        break a;
                    }
                    var$9 = $outArray.data;
                    var$13 = $outPos + 1 | 0;
                    var$9[$outPos] = $c >> 8 << 24 >> 24;
                    $outPos = var$13 + 1 | 0;
                    var$9[var$13] = ($c & 255) << 24 >> 24;
                    var$13 = $outPos + 1 | 0;
                    var$9[$outPos] = $next >> 8 << 24 >> 24;
                    $outPos = var$13 + 1 | 0;
                    var$9[var$13] = ($next & 255) << 24 >> 24;
                }
            }
        }
        $controller.$inPosition0 = $inPos;
        $controller.$outPosition0 = $outPos;
        return $result;
    }
    function nms_GuiIngameMenu() {
        var a = this; nms_GuiScreen.call(a);
        a.$updateCounter20 = 0;
        a.$updateCounter4 = 0;
    }
    function nms_GuiIngameMenu__init_0() {
        var var_0 = new nms_GuiIngameMenu();
        nms_GuiIngameMenu__init_(var_0);
        return var_0;
    }
    function nms_GuiIngameMenu__init_($this) {
        nms_GuiScreen__init_($this);
        $this.$updateCounter20 = 0;
        $this.$updateCounter4 = 0;
    }
    function nms_GuiIngameMenu_initGui($this) {
        $this.$updateCounter20 = 0;
        ju_ArrayList_clear($this.$controlList);
        ju_ArrayList_add($this.$controlList, nms_GuiButton__init_1(1, ($this.$width1 / 2 | 0) - 100 | 0, ($this.$height3 / 4 | 0) + 48 | 0, $rt_s(2051)));
        if (nmc_Minecraft_isMultiplayerWorld($this.$mc6))
            (ju_ArrayList_get($this.$controlList, 0)).$displayString = $rt_s(2052);
        ju_ArrayList_add($this.$controlList, nms_GuiButton__init_1(4, ($this.$width1 / 2 | 0) - 100 | 0, ($this.$height3 / 4 | 0) + 24 | 0, $rt_s(2053)));
        ju_ArrayList_add($this.$controlList, nms_GuiButton__init_1(0, ($this.$width1 / 2 | 0) - 100 | 0, ($this.$height3 / 4 | 0) + 96 | 0, $rt_s(2054)));
    }
    function nms_GuiIngameMenu_actionPerformed($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$var1.$id2) {
                var$2 = $this.$mc6;
                var$3 = nms_GuiOptions__init_0($this, var$2.$gameSettings);
                $ptr = 1;
                continue main;
            }
            if ($var1.$id2 == 1) {
                var$2 = $this.$mc6.$field_25001_G;
                $ptr = 2;
                continue main;
            }
            if ($var1.$id2 != 4)
                return;
            $var1 = $this.$mc6;
            var$2 = null;
            $ptr = 4;
            continue main;
        case 1:
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$id2 == 1) {
                var$2 = $this.$mc6.$field_25001_G;
                $ptr = 2;
                continue main;
            }
            if ($var1.$id2 != 4)
                return;
            $var1 = $this.$mc6;
            var$2 = null;
            $ptr = 4;
            continue main;
        case 2:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nms_StatList_field_25180_i;
            var$4 = 1;
            $ptr = 3;
        case 3:
            nms_XBlah_func_25100_a(var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            if (!nmc_Minecraft_isMultiplayerWorld($this.$mc6)) {
                var$2 = $this.$mc6;
                var$3 = null;
                $ptr = 6;
                continue main;
            }
            var$2 = $this.$mc6.$theWorld;
            $ptr = 9;
            continue main;
        case 4:
            nmc_Minecraft_displayGuiScreen($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$mc6;
            $ptr = 5;
        case 5:
            nmc_Minecraft_setIngameFocus($var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nmc_Minecraft_changeWorld1(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$mc6;
            var$3 = new nms_GuiMainMenu;
            $ptr = 7;
        case 7:
            nms_GuiMainMenu__init_(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$id2 != 4)
                return;
            $var1 = $this.$mc6;
            var$2 = null;
            $ptr = 4;
            continue main;
        case 9:
            var$2.$sendQuittingDisconnectingPacket();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$mc6;
            var$3 = null;
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_GuiIngameMenu_updateScreen($this) {
        $this.$updateCounter4 = $this.$updateCounter4 + 1 | 0;
    }
    function nms_GuiIngameMenu_drawScreen($this, $var1, $var2, $var3) {
        var var$4, $var4, var$6, $var6, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiScreen_drawDefaultBackground($this);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$mc6.$theWorld;
            $var4 = $this.$updateCounter20;
            $this.$updateCounter20 = $var4 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_func_650_a(var$4, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $var4 = $var4 ? 0 : 1;
            if (!$var4 && $this.$updateCounter4 >= 20) {
                var$4 = $this.$fontRenderer0;
                var$6 = $rt_s(2055);
                $var4 = $this.$width1 / 2 | 0;
                $var6 = 40;
                var$8 = 16777215;
                $ptr = 4;
                continue main;
            }
            $var6 = 255.0 * (nms_MathHelper_sin((($this.$updateCounter4 % 10 | 0) + $var3) / 10.0 * 3.1415927410125732 * 2.0) * 0.20000000298023224 + 0.800000011920929) | 0;
            var$4 = $this.$fontRenderer0;
            var$6 = $rt_s(2056);
            $var4 = 8;
            var$8 = $this.$height3 - 16 | 0;
            $var6 = $var6 << 16 | $var6 << 8 | $var6;
            $ptr = 3;
        case 3:
            nms_Gui_drawString($this, var$4, var$6, $var4, var$8, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$fontRenderer0;
            var$6 = $rt_s(2055);
            $var4 = $this.$width1 / 2 | 0;
            $var6 = 40;
            var$8 = 16777215;
            $ptr = 4;
        case 4:
            nms_Gui_drawCenteredString($this, var$4, var$6, $var4, $var6, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $var4, var$6, $var6, var$8, $ptr);
    }
    function nms_ClippingHelper() {
        var a = this; jl_Object.call(a);
        a.$frustum = null;
        a.$projectionMatrix = null;
        a.$modelviewMatrix = null;
        a.$clippingMatrix = null;
    }
    function nms_ClippingHelper__init_0() {
        var var_0 = new nms_ClippingHelper();
        nms_ClippingHelper__init_(var_0);
        return var_0;
    }
    function nms_ClippingHelper__init_($this) {
        $this.$frustum = $rt_createFloatMultiArray([16, 16]);
        $this.$projectionMatrix = $rt_createFloatArray(16);
        $this.$modelviewMatrix = $rt_createFloatArray(16);
        $this.$clippingMatrix = $rt_createFloatArray(16);
    }
    function nms_ClippingHelper_isBoxInFrustum($this, $var1, $var3, $var5, $var7, $var9, $var11) {
        var $var13, var$8;
        $var13 = 0;
        while ($var13 < 6) {
            var$8 = $this.$frustum.data;
            if (var$8[$var13].data[0] * $var1 + var$8[$var13].data[1] * $var3 + var$8[$var13].data[2] * $var5 + var$8[$var13].data[3] <= 0.0 && var$8[$var13].data[0] * $var7 + var$8[$var13].data[1] * $var3 + var$8[$var13].data[2] * $var5 + var$8[$var13].data[3] <= 0.0 && var$8[$var13].data[0] * $var1 + var$8[$var13].data[1] * $var9 + var$8[$var13].data[2] * $var5 + var$8[$var13].data[3] <= 0.0 && var$8[$var13].data[0] * $var7 + var$8[$var13].data[1] * $var9 + var$8[$var13].data[2] * $var5 + var$8[$var13].data[3]
            <= 0.0 && var$8[$var13].data[0] * $var1 + var$8[$var13].data[1] * $var3 + var$8[$var13].data[2] * $var11 + var$8[$var13].data[3] <= 0.0 && var$8[$var13].data[0] * $var7 + var$8[$var13].data[1] * $var3 + var$8[$var13].data[2] * $var11 + var$8[$var13].data[3] <= 0.0 && var$8[$var13].data[0] * $var1 + var$8[$var13].data[1] * $var9 + var$8[$var13].data[2] * $var11 + var$8[$var13].data[3] <= 0.0 && var$8[$var13].data[0] * $var7 + var$8[$var13].data[1] * $var9 + var$8[$var13].data[2] * $var11 + var$8[$var13].data[3]
            <= 0.0)
                return 0;
            $var13 = $var13 + 1 | 0;
        }
        return 1;
    }
    function nms_ClippingHelperImplementation() {
        var a = this; nms_ClippingHelper.call(a);
        a.$projectionMatrixBuffer = null;
        a.$modelviewMatrixBuffer = null;
        a.$field_1691_h = null;
    }
    var nms_ClippingHelperImplementation_instance = null;
    var nms_ClippingHelperImplementation_$clinitCalled = false;
    function nms_ClippingHelperImplementation_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_ClippingHelperImplementation_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_ClippingHelperImplementation_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_ClippingHelperImplementation__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_ClippingHelperImplementation_$callClinit = $rt_eraseClinit(nms_ClippingHelperImplementation);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_ClippingHelperImplementation__init_0() {
        var var_0 = new nms_ClippingHelperImplementation();
        nms_ClippingHelperImplementation__init_(var_0);
        return var_0;
    }
    function nms_ClippingHelperImplementation__init_($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_ClippingHelperImplementation_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ClippingHelper__init_($this);
            var$1 = 16;
            $ptr = 2;
        case 2:
            $tmp = nms_GLAllocation_createDirectFloatBuffer(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$projectionMatrixBuffer = var$2;
            var$1 = 16;
            $ptr = 3;
        case 3:
            $tmp = nms_GLAllocation_createDirectFloatBuffer(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$modelviewMatrixBuffer = var$2;
            var$1 = 16;
            $ptr = 4;
        case 4:
            $tmp = nms_GLAllocation_createDirectFloatBuffer(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$field_1691_h = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_ClippingHelperImplementation_getInstance() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_ClippingHelperImplementation_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_ClippingHelperImplementation_instance;
            $ptr = 2;
        case 2:
            nms_ClippingHelperImplementation_init(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return nms_ClippingHelperImplementation_instance;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nms_ClippingHelperImplementation_normalize($this, $var1, $var2) {
        var $var3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1.data;
            $var3 = nms_MathHelper_sqrt_float($var1[$var2].data[0] * $var1[$var2].data[0] + $var1[$var2].data[1] * $var1[$var2].data[1] + $var1[$var2].data[2] * $var1[$var2].data[2]);
            var$4 = $var1[$var2].data;
            var$4[0] = var$4[0] / $var3;
            var$4 = $var1[$var2].data;
            var$4[1] = var$4[1] / $var3;
            var$4 = $var1[$var2].data;
            var$4[2] = var$4[2] / $var3;
            $var1 = $var1[$var2].data;
            $var1[3] = $var1[3] / $var3;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_ClippingHelperImplementation_init($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleib_EaglerArrayFloatBuffer_clear($this.$projectionMatrixBuffer);
            nleib_EaglerArrayFloatBuffer_clear($this.$modelviewMatrixBuffer);
            nleib_EaglerArrayFloatBuffer_clear($this.$field_1691_h);
            var$1 = 2983;
            var$2 = $this.$projectionMatrixBuffer;
            $ptr = 1;
        case 1:
            olo_GL11_glGetFloat(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 2982;
            var$2 = $this.$modelviewMatrixBuffer;
            $ptr = 2;
        case 2:
            olo_GL11_glGetFloat(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nleib_EaglerArrayFloatBuffer_flip($this.$projectionMatrixBuffer);
            var$1 = 16;
            $ptr = 3;
        case 3:
            nleib_EaglerArrayFloatBuffer_limit(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$projectionMatrixBuffer;
            var$3 = $this.$projectionMatrix;
            $ptr = 4;
        case 4:
            nleib_EaglerArrayFloatBuffer_get0(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nleib_EaglerArrayFloatBuffer_flip($this.$modelviewMatrixBuffer);
            var$1 = 16;
            $ptr = 5;
        case 5:
            nleib_EaglerArrayFloatBuffer_limit(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$modelviewMatrixBuffer;
            var$3 = $this.$modelviewMatrix;
            $ptr = 6;
        case 6:
            nleib_EaglerArrayFloatBuffer_get0(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$clippingMatrix.data;
            var$3 = $this.$modelviewMatrix.data;
            var$5 = var$3[0];
            var$6 = $this.$projectionMatrix.data;
            var$4[0] = var$5 * var$6[0] + var$3[1] * var$6[4] + var$3[2] * var$6[8] + var$3[3] * var$6[12];
            var$4[1] = var$3[0] * var$6[1] + var$3[1] * var$6[5] + var$3[2] * var$6[9] + var$3[3] * var$6[13];
            var$4[2] = var$3[0] * var$6[2] + var$3[1] * var$6[6] + var$3[2] * var$6[10] + var$3[3] * var$6[14];
            var$4[3] = var$3[0] * var$6[3] + var$3[1] * var$6[7] + var$3[2] * var$6[11] + var$3[3] * var$6[15];
            var$4[4] = var$3[4] * var$6[0] + var$3[5] * var$6[4] + var$3[6] * var$6[8] + var$3[7] * var$6[12];
            var$4[5] = var$3[4] * var$6[1] + var$3[5] * var$6[5] + var$3[6] * var$6[9] + var$3[7] * var$6[13];
            var$4[6] = var$3[4] * var$6[2] + var$3[5] * var$6[6] + var$3[6] * var$6[10] + var$3[7] * var$6[14];
            var$4[7] = var$3[4] * var$6[3] + var$3[5] * var$6[7] + var$3[6] * var$6[11] + var$3[7] * var$6[15];
            var$4[8] = var$3[8] * var$6[0] + var$3[9] * var$6[4] + var$3[10] * var$6[8] + var$3[11] * var$6[12];
            var$4[9] = var$3[8] * var$6[1] + var$3[9] * var$6[5] + var$3[10] * var$6[9] + var$3[11] * var$6[13];
            var$4[10] = var$3[8] * var$6[2] + var$3[9] * var$6[6] + var$3[10] * var$6[10] + var$3[11] * var$6[14];
            var$4[11] = var$3[8] * var$6[3] + var$3[9] * var$6[7] + var$3[10] * var$6[11] + var$3[11] * var$6[15];
            var$4[12] = var$3[12] * var$6[0] + var$3[13] * var$6[4] + var$3[14] * var$6[8] + var$3[15] * var$6[12];
            var$4[13] = var$3[12] * var$6[1] + var$3[13] * var$6[5] + var$3[14] * var$6[9] + var$3[15] * var$6[13];
            var$4[14] = var$3[12] * var$6[2] + var$3[13] * var$6[6] + var$3[14] * var$6[10] + var$3[15] * var$6[14];
            var$4[15] = var$3[12] * var$6[3] + var$3[13] * var$6[7] + var$3[14] * var$6[11] + var$3[15] * var$6[15];
            var$3 = $this.$frustum;
            var$6 = var$3.data;
            var$6[0].data[0] = var$4[3] - var$4[0];
            var$6[0].data[1] = var$4[7] - var$4[4];
            var$6[0].data[2] = var$4[11] - var$4[8];
            var$6[0].data[3] = var$4[15] - var$4[12];
            var$1 = 0;
            $ptr = 7;
        case 7:
            nms_ClippingHelperImplementation_normalize($this, var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$frustum;
            var$6 = var$3.data;
            var$7 = var$6[1].data;
            var$4 = $this.$clippingMatrix.data;
            var$7[0] = var$4[3] + var$4[0];
            var$6[1].data[1] = var$4[7] + var$4[4];
            var$6[1].data[2] = var$4[11] + var$4[8];
            var$6[1].data[3] = var$4[15] + var$4[12];
            var$1 = 1;
            $ptr = 8;
        case 8:
            nms_ClippingHelperImplementation_normalize($this, var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$frustum;
            var$6 = var$3.data;
            var$7 = var$6[2].data;
            var$4 = $this.$clippingMatrix.data;
            var$7[0] = var$4[3] + var$4[1];
            var$6[2].data[1] = var$4[7] + var$4[5];
            var$6[2].data[2] = var$4[11] + var$4[9];
            var$6[2].data[3] = var$4[15] + var$4[13];
            var$1 = 2;
            $ptr = 9;
        case 9:
            nms_ClippingHelperImplementation_normalize($this, var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$frustum;
            var$6 = var$3.data;
            var$7 = var$6[3].data;
            var$4 = $this.$clippingMatrix.data;
            var$7[0] = var$4[3] - var$4[1];
            var$6[3].data[1] = var$4[7] - var$4[5];
            var$6[3].data[2] = var$4[11] - var$4[9];
            var$6[3].data[3] = var$4[15] - var$4[13];
            var$1 = 3;
            $ptr = 10;
        case 10:
            nms_ClippingHelperImplementation_normalize($this, var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$frustum;
            var$6 = var$3.data;
            var$7 = var$6[4].data;
            var$4 = $this.$clippingMatrix.data;
            var$7[0] = var$4[3] - var$4[2];
            var$6[4].data[1] = var$4[7] - var$4[6];
            var$6[4].data[2] = var$4[11] - var$4[10];
            var$6[4].data[3] = var$4[15] - var$4[14];
            var$1 = 4;
            $ptr = 11;
        case 11:
            nms_ClippingHelperImplementation_normalize($this, var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$frustum;
            var$6 = var$3.data;
            var$7 = var$6[5].data;
            var$4 = $this.$clippingMatrix.data;
            var$7[0] = var$4[3] + var$4[2];
            var$6[5].data[1] = var$4[7] + var$4[6];
            var$6[5].data[2] = var$4[11] + var$4[10];
            var$6[5].data[3] = var$4[15] + var$4[14];
            var$1 = 5;
            $ptr = 12;
        case 12:
            nms_ClippingHelperImplementation_normalize($this, var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_ClippingHelperImplementation__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nms_ClippingHelperImplementation;
            $ptr = 1;
        case 1:
            nms_ClippingHelperImplementation__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nms_ClippingHelperImplementation_instance = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    var nms_ICamera = $rt_classWithoutFields(0);
    function nms_Frustrum() {
        var a = this; jl_Object.call(a);
        a.$clippingHelper = null;
        a.$xPosition = 0.0;
        a.$yPosition = 0.0;
        a.$zPosition = 0.0;
    }
    function nms_Frustrum__init_0() {
        var var_0 = new nms_Frustrum();
        nms_Frustrum__init_(var_0);
        return var_0;
    }
    function nms_Frustrum__init_($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_ClippingHelperImplementation_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $this.$clippingHelper = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_Frustrum_isBoundingBoxInFrustum($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
        var$2 = $var1.$minX0;
        var$3 = $var1.$minY0;
        var$4 = $var1.$minZ0;
        var$5 = $var1.$maxX0;
        var$6 = $var1.$maxY0;
        var$7 = $var1.$maxZ0;
        $var1 = $this.$clippingHelper;
        var$8 = $this.$xPosition;
        var$2 = var$2 - var$8;
        var$9 = $this.$yPosition;
        var$3 = var$3 - var$9;
        var$10 = $this.$zPosition;
        return nms_ClippingHelper_isBoxInFrustum($var1, var$2, var$3, var$4 - var$10, var$5 - var$8, var$6 - var$9, var$7 - var$10);
    }
    function nlei_FileChooserResult() {
        var a = this; jl_Object.call(a);
        a.$fileName = null;
        a.$fileData = null;
    }
    function nms_EntityFX() {
        var a = this; nms_Entity.call(a);
        a.$particleTextureIndex = 0;
        a.$particleTextureJitterX = 0.0;
        a.$particleTextureJitterY = 0.0;
        a.$particleAge = 0;
        a.$particleMaxAge = 0;
        a.$particleScale = 0.0;
        a.$particleGravity = 0.0;
        a.$particleRed = 0.0;
        a.$particleGreen = 0.0;
        a.$particleBlue = 0.0;
    }
    var nms_EntityFX_interpPosX = 0.0;
    var nms_EntityFX_interpPosY = 0.0;
    var nms_EntityFX_interpPosZ = 0.0;
    function nms_EntityFX__init_0(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
        var var_7 = new nms_EntityFX();
        nms_EntityFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
        return var_7;
    }
    function nms_EntityFX__init_($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12) {
        var $var14, $var15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Entity__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$particleAge = 0;
            $this.$particleMaxAge = 0;
            nms_Entity_setSize($this, 0.20000000298023224, 0.20000000298023224);
            $this.$yOffset = $this.$height4 / 2.0;
            nms_Entity_setPosition($this, $var2, $var4, $var6);
            $this.$particleBlue = 1.0;
            $this.$particleGreen = 1.0;
            $this.$particleRed = 1.0;
            $this.$motionX = $var8 + (jl_Math_random() * 2.0 - 1.0) * 0.4000000059604645;
            $this.$motionY = $var10 + (jl_Math_random() * 2.0 - 1.0) * 0.4000000059604645;
            $this.$motionZ = $var12 + (jl_Math_random() * 2.0 - 1.0) * 0.4000000059604645;
            $var14 = (jl_Math_random() + jl_Math_random() + 1.0) * 0.15000000596046448;
            $var2 = $this.$motionX;
            $var2 = $var2 * $var2;
            $var4 = $this.$motionY;
            $var2 = $var2 + $var4 * $var4;
            $var4 = $this.$motionZ;
            $var15 = nms_MathHelper_sqrt_double($var2 + $var4 * $var4);
            $var2 = $this.$motionX;
            $var4 = $var15;
            $var2 = $var2 / $var4;
            $var6 = $var14;
            $this.$motionX = $var2 * $var6 * 0.4000000059604645;
            $this.$motionY = $this.$motionY / $var4 * $var6 * 0.4000000059604645 + 0.10000000149011612;
            $this.$motionZ = $this.$motionZ / $var4 * $var6 * 0.4000000059604645;
            $this.$particleTextureJitterX = ju_Random_nextFloat($this.$rand3) * 3.0;
            $this.$particleTextureJitterY = ju_Random_nextFloat($this.$rand3) * 3.0;
            $this.$particleScale = (ju_Random_nextFloat($this.$rand3) * 0.5 + 0.5) * 2.0;
            $this.$particleMaxAge = 4.0 / (ju_Random_nextFloat($this.$rand3) * 0.8999999761581421 + 0.10000000149011612) | 0;
            $this.$particleAge = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12, $var14, $var15, $ptr);
    }
    function nms_EntityFX_canTriggerWalking($this) {
        return 0;
    }
    function nms_EntityFX_entityInit($this) {}
    function nms_EntityFX_onUpdate($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$prevPosX = $this.$posX;
            $this.$prevPosY = $this.$posY;
            $this.$prevPosZ = $this.$posZ;
            var$1 = $this.$particleAge;
            $this.$particleAge = var$1 + 1 | 0;
            if (var$1 >= $this.$particleMaxAge) {
                $ptr = 2;
                continue main;
            }
            var$2 = $this.$motionY - 0.04 * $this.$particleGravity;
            $this.$motionY = var$2;
            var$3 = $this.$motionX;
            var$4 = $this.$motionZ;
            $ptr = 1;
        case 1:
            nms_Entity_moveEntity($this, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$motionX * 0.9800000190734863;
            $this.$motionX = var$2;
            $this.$motionY = $this.$motionY * 0.9800000190734863;
            var$3 = $this.$motionZ * 0.9800000190734863;
            $this.$motionZ = var$3;
            if ($this.$onGround0) {
                $this.$motionX = var$2 * 0.699999988079071;
                $this.$motionZ = var$3 * 0.699999988079071;
            }
            return;
        case 2:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$motionY - 0.04 * $this.$particleGravity;
            $this.$motionY = var$2;
            var$3 = $this.$motionX;
            var$4 = $this.$motionZ;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_EntityFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var var$8, $var8, $var9, $var10, $var11, $var12, var$14, var$15, var$16, $var13, $var14, $var15, $var16, var$21, var$22, var$23, var$24, var$25, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4
            = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$8 = $this.$particleTextureIndex;
            $var8 = (var$8 % 16 | 0) / 16.0;
            $var9 = $var8 + 0.062437500804662704;
            $var10 = (var$8 / 16 | 0) / 16.0;
            $var11 = $var10 + 0.062437500804662704;
            $var12 = 0.10000000149011612 * $this.$particleScale;
            var$14 = $this.$prevPosX;
            var$15 = $this.$posX - var$14;
            var$16 = $var2;
            $var13 = var$14 + var$15 * var$16 - nms_EntityFX_interpPosX;
            var$14 = $this.$prevPosY;
            $var14 = var$14 + ($this.$posY - var$14) * var$16 - nms_EntityFX_interpPosY;
            var$14 = $this.$prevPosZ;
            $var15 = var$14 + ($this.$posZ - var$14) * var$16 - nms_EntityFX_interpPosZ;
            $ptr = 1;
        case 1:
            $tmp = $this.$getEntityBrightness($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            $var2 = $this.$particleRed * $var16;
            var$21 = $this.$particleGreen * $var16;
            $var16 = $this.$particleBlue * $var16;
            $ptr = 2;
        case 2:
            nms_Tessellator_setColorOpaque_F($var1, $var2, var$21, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var3 * $var12;
            $var3 = $var13 - $var2;
            $var6 = $var6 * $var12;
            var$14 = $var3 - $var6;
            $var4 = $var4 * $var12;
            var$15 = $var14 - $var4;
            $var5 = $var5 * $var12;
            $var16 = $var15 - $var5;
            $var7 = $var7 * $var12;
            var$16 = $var16 - $var7;
            var$22 = $var9;
            var$23 = $var11;
            $ptr = 3;
        case 3:
            nms_Tessellator_addVertexWithUV($var1, var$14, var$15, var$16, var$22, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $var3 + $var6;
            var$16 = $var14 + $var4;
            var$24 = $var16 + $var7;
            var$25 = $var10;
            $ptr = 4;
        case 4:
            nms_Tessellator_addVertexWithUV($var1, var$14, var$16, var$24, var$22, var$25);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var13 + $var2;
            var$14 = $var2 + $var6;
            $var3 = $var15 + $var5;
            var$22 = $var3 + $var7;
            var$24 = $var8;
            $ptr = 5;
        case 5:
            nms_Tessellator_addVertexWithUV($var1, var$14, var$16, var$22, var$24, var$25);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $var2 - $var6;
            var$16 = $var3 - $var7;
            $ptr = 6;
        case 6:
            nms_Tessellator_addVertexWithUV($var1, var$14, var$15, var$16, var$24, var$23);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, $var8, $var9, $var10, $var11, $var12, var$14, var$15, var$16, $var13, $var14, $var15, $var16, var$21, var$22, var$23, var$24, var$25, $ptr);
    }
    function nms_EntityFX_getFXLayer($this) {
        return 0;
    }
    function nms_EntityFX_writeEntityToNBT($this, $var1) {}
    function nms_CraftingInventoryCB() {
        var a = this; jl_Object.call(a);
        a.$field_20123_d = null;
        a.$slots = null;
        a.$windowId = 0;
        a.$field_20917_a = 0;
        a.$field_20121_g = null;
        a.$field_20918_b = null;
    }
    function nms_CraftingInventoryCB__init_($this) {
        $this.$field_20123_d = ju_ArrayList__init_0();
        $this.$slots = ju_ArrayList__init_0();
        $this.$windowId = 0;
        $this.$field_20917_a = 0;
        $this.$field_20121_g = ju_ArrayList__init_0();
        $this.$field_20918_b = ju_HashSet__init_0();
    }
    function nms_CraftingInventoryCB_addSlot($this, $var1) {
        var var$2;
        var$2 = $this.$slots;
        $var1.$slotNumber = var$2.$size0;
        ju_ArrayList_add(var$2, $var1);
        ju_ArrayList_add($this.$field_20123_d, null);
    }
    function nms_CraftingInventoryCB_getSlot($this, $var1) {
        return ju_ArrayList_get($this.$slots, $var1);
    }
    function nms_CraftingInventoryCB_func_20116_a($this, $var1, $var2, $var3) {
        var $var4, $var5, $var9, $var6, $var10, $var7, $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var10 = $thread.pop();$var6 = $thread.pop();$var9 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                $var4 = null;
                if (!($var2 && $var2 != 1)) {
                    $var5 = $var3.$inventory;
                    $var9 = $rt_compare($var1, (-999));
                    if ($var9) {
                        $var6 = ju_ArrayList_get($this.$slots, $var1);
                        if ($var6 === null)
                            break a;
                        $ptr = 1;
                        continue main;
                    }
                    $var10 = $var5.$itemStack;
                    if ($var10 !== null && !$var9) {
                        if (!$var2) {
                            $ptr = 2;
                            continue main;
                        }
                        if ($var2 == 1) {
                            $var10 = nms_ItemStack_splitStack($var5.$itemStack, 1);
                            $ptr = 3;
                            continue main;
                        }
                    }
                }
            }
            return $var4;
        case 1:
            nms_Slot_onSlotChanged($var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = nms_Slot_getStack($var6);
            $var8 = $var5.$itemStack;
            if ($var7 !== null)
                $var4 = nms_ItemStack_copy($var7);
            if ($var7 === null) {
                if ($var8 === null)
                    return $var4;
                $ptr = 5;
                continue main;
            }
            if ($var8 !== null) {
                $ptr = 4;
                continue main;
            }
            $var9 = !$var2 ? $var7.$stackSize : ($var7.$stackSize + 1 | 0) / 2 | 0;
            $ptr = 8;
            continue main;
        case 2:
            nms_EntityPlayer_dropPlayerItem($var3, $var10);
            if ($rt_suspending()) {
                break main;
            }
            nms_InventoryPlayer_setItemStack($var5, null);
            if ($var2 != 1)
                return $var4;
            $var10 = nms_ItemStack_splitStack($var5.$itemStack, 1);
            $ptr = 3;
        case 3:
            nms_EntityPlayer_dropPlayerItem($var3, $var10);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var5.$itemStack.$stackSize)
                nms_InventoryPlayer_setItemStack($var5, null);
            return $var4;
        case 4:
            a: {
                $tmp = $var6.$isItemValid($var8);
                if ($rt_suspending()) {
                    break main;
                }
                $var1 = $tmp;
                if (!$var1) {
                    if ($var7.$itemID != $var8.$itemID)
                        break a;
                    $ptr = 6;
                    continue main;
                }
                if ($var7.$itemID == $var8.$itemID) {
                    $ptr = 7;
                    continue main;
                }
                if ($var8.$stackSize <= $var6.$getSlotStackLimit()) {
                    $ptr = 10;
                    continue main;
                }
            }
            return $var4;
        case 5:
            $tmp = $var6.$isItemValid($var8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!$var1)
                return $var4;
            $var9 = $var2 ? 1 : $var8.$stackSize;
            if ($var9 > $var6.$getSlotStackLimit())
                $var9 = $var6.$getSlotStackLimit();
            $var3 = nms_ItemStack_splitStack($var8, $var9);
            $ptr = 15;
            continue main;
        case 6:
            $tmp = nms_ItemStack_getMaxStackSize($var8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 <= 1)
                return $var4;
            $ptr = 9;
            continue main;
        case 7:
            $tmp = nms_ItemStack_getHasSubtypes($var7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 && $var7.$itemDamage != $var8.$itemDamage) {
                if ($var8.$stackSize > $var6.$getSlotStackLimit())
                    return $var4;
                $ptr = 10;
                continue main;
            }
            $var9 = $var2 ? 1 : $var8.$stackSize;
            if ($var9 > ($var6.$getSlotStackLimit() - $var7.$stackSize | 0))
                $var9 = $var6.$getSlotStackLimit() - $var7.$stackSize | 0;
            $ptr = 16;
            continue main;
        case 8:
            $tmp = nms_Slot_decrStackSize($var6, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            if ($var10 !== null && $var6.$func_25014_f()) {
                $ptr = 13;
                continue main;
            }
            nms_InventoryPlayer_setItemStack($var5, $var10);
            if (!$var7.$stackSize) {
                $var3 = null;
                $ptr = 12;
                continue main;
            }
            $var3 = $var5.$itemStack;
            $ptr = 11;
            continue main;
        case 9:
            $tmp = nms_ItemStack_getHasSubtypes($var7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!($var1 && $var7.$itemDamage != $var8.$itemDamage)) {
                $var9 = $var7.$stackSize;
                if ($var9 > 0) {
                    $var1 = $var9 + $var8.$stackSize | 0;
                    $ptr = 14;
                    continue main;
                }
            }
            return $var4;
        case 10:
            nms_Slot_putStack($var6, $var8);
            if ($rt_suspending()) {
                break main;
            }
            nms_InventoryPlayer_setItemStack($var5, $var7);
            return $var4;
        case 11:
            $var6.$onPickupFromSlot($var3);
            if ($rt_suspending()) {
                break main;
            }
            return $var4;
        case 12:
            nms_Slot_putStack($var6, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var5.$itemStack;
            $ptr = 11;
            continue main;
        case 13:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_InventoryPlayer_setItemStack($var5, $var10);
            if (!$var7.$stackSize) {
                $var3 = null;
                $ptr = 12;
                continue main;
            }
            $var3 = $var5.$itemStack;
            $ptr = 11;
            continue main;
        case 14:
            $tmp = nms_ItemStack_getMaxStackSize($var8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var1 > $var2)
                return $var4;
            $var8.$stackSize = $var8.$stackSize + $var9 | 0;
            if (nms_ItemStack_splitStack($var7, $var9) !== null && $var6.$func_25014_f()) {
                $ptr = 19;
                continue main;
            }
            if (!$var7.$stackSize) {
                $var3 = null;
                $ptr = 18;
                continue main;
            }
            $var3 = $var5.$itemStack;
            $ptr = 17;
            continue main;
        case 15:
            nms_Slot_putStack($var6, $var3);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var8.$stackSize)
                nms_InventoryPlayer_setItemStack($var5, null);
            return $var4;
        case 16:
            $tmp = nms_ItemStack_getMaxStackSize($var8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var9 <= ($var1 - $var7.$stackSize | 0)) {
                nms_ItemStack_splitStack($var8, $var9);
                if (!$var8.$stackSize)
                    nms_InventoryPlayer_setItemStack($var5, null);
                $var7.$stackSize = $var7.$stackSize + $var9 | 0;
                return $var4;
            }
            $ptr = 20;
            continue main;
        case 17:
            $var6.$onPickupFromSlot($var3);
            if ($rt_suspending()) {
                break main;
            }
            return $var4;
        case 18:
            nms_Slot_putStack($var6, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var5.$itemStack;
            $ptr = 17;
            continue main;
        case 19:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!$var7.$stackSize) {
                $var3 = null;
                $ptr = 18;
                continue main;
            }
            $var3 = $var5.$itemStack;
            $ptr = 17;
            continue main;
        case 20:
            $tmp = nms_ItemStack_getMaxStackSize($var8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var9 = $var1 - $var7.$stackSize | 0;
            nms_ItemStack_splitStack($var8, $var9);
            if (!$var8.$stackSize)
                nms_InventoryPlayer_setItemStack($var5, null);
            $var7.$stackSize = $var7.$stackSize + $var9 | 0;
            return $var4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var9, $var6, $var10, $var7, $var8, $ptr);
    }
    function nms_CraftingInventoryCB_onCraftGuiClosed($this, $var1) {
        var $var2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $var1.$inventory;
            var$3 = $var2.$itemStack;
            if (var$3 === null)
                return;
            $ptr = 1;
        case 1:
            nms_EntityPlayer_dropPlayerItem($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            nms_InventoryPlayer_setItemStack($var2, null);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_CraftingInventoryCB_putStackInSlot($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = nms_CraftingInventoryCB_getSlot($this, $var1);
            $ptr = 1;
        case 1:
            nms_Slot_putStack(var$3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_CraftingInventoryCB_putStacksInSlots($this, $var1) {
        var $var2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = 0;
            var$3 = $var1.data;
            if ($var2 >= var$3.length)
                return;
            var$4 = nms_CraftingInventoryCB_getSlot($this, $var2);
            var$5 = var$3[$var2];
            $ptr = 1;
        case 1:
            nms_Slot_putStack(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            var$3 = $var1.data;
            if ($var2 >= var$3.length)
                return;
            var$4 = nms_CraftingInventoryCB_getSlot($this, $var2);
            var$5 = var$3[$var2];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, $ptr);
    }
    function nms_CraftingInventoryCB_func_20112_a($this, $var1, $var2) {}
    function nms_CraftingInventoryCB_func_20111_a($this, $var1) {
        var var$2;
        var$2 = ($this.$field_20917_a + 1 | 0) << 16 >> 16;
        $this.$field_20917_a = var$2;
        return var$2;
    }
    function nms_CraftingInventoryCB_func_20113_a($this, $var1) {}
    function nms_CraftingInventoryCB_func_20110_b($this, $var1) {}
    var jt_DecimalFormat$PerMillField = $rt_classWithoutFields();
    function jt_DecimalFormat$PerMillField__init_0() {
        var var_0 = new jt_DecimalFormat$PerMillField();
        jt_DecimalFormat$PerMillField__init_(var_0);
        return var_0;
    }
    function jt_DecimalFormat$PerMillField__init_($this) {}
    function jt_DecimalFormat$PerMillField_equals($this, $obj) {
        return $obj instanceof jt_DecimalFormat$PerMillField;
    }
    function jt_DecimalFormat$PerMillField_hashCode($this) {
        return 2;
    }
    var jt_DecimalFormat$CurrencyField = $rt_classWithoutFields();
    function jt_DecimalFormat$CurrencyField__init_0() {
        var var_0 = new jt_DecimalFormat$CurrencyField();
        jt_DecimalFormat$CurrencyField__init_(var_0);
        return var_0;
    }
    function jt_DecimalFormat$CurrencyField__init_($this) {}
    function jt_DecimalFormat$CurrencyField_equals($this, $obj) {
        return $obj instanceof jt_DecimalFormat$CurrencyField;
    }
    function jt_DecimalFormat$CurrencyField_hashCode($this) {
        return 0;
    }
    var jt_DecimalFormat$PercentField = $rt_classWithoutFields();
    function jt_DecimalFormat$PercentField__init_0() {
        var var_0 = new jt_DecimalFormat$PercentField();
        jt_DecimalFormat$PercentField__init_(var_0);
        return var_0;
    }
    function jt_DecimalFormat$PercentField__init_($this) {}
    function jt_DecimalFormat$PercentField_equals($this, $obj) {
        return $obj instanceof jt_DecimalFormat$PercentField;
    }
    function jt_DecimalFormat$PercentField_hashCode($this) {
        return 1;
    }
    function ju_Formatter$FormatWriter() {
        var a = this; jl_Object.call(a);
        a.$formatter = null;
        a.$out4 = null;
        a.$locale5 = null;
        a.$format6 = null;
        a.$args = null;
        a.$index11 = 0;
        a.$formatSpecifierStart = 0;
        a.$defaultArgumentIndex = 0;
        a.$argumentIndex = 0;
        a.$previousArgumentIndex = 0;
        a.$width3 = 0;
        a.$precision = 0;
        a.$flags2 = 0;
    }
    function ju_Formatter$FormatWriter__init_0(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new ju_Formatter$FormatWriter();
        ju_Formatter$FormatWriter__init_(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function ju_Formatter$FormatWriter__init_($this, $formatter, $out, $locale, $format, $args) {
        $this.$formatter = $formatter;
        $this.$out4 = $out;
        $this.$locale5 = $locale;
        $this.$format6 = $format;
        $this.$args = $args;
    }
    function ju_Formatter$FormatWriter_write($this) {
        var $next, $specifier, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$specifier = $thread.pop();$next = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $next = jl_String_indexOf($this.$format6, 37, $this.$index11);
            if ($next < 0) {
                jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring($this.$format6, $this.$index11));
                return;
            }
            jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring0($this.$format6, $this.$index11, $next));
            $next = $next + 1 | 0;
            $this.$index11 = $next;
            $this.$formatSpecifierStart = $next;
            $ptr = 1;
        case 1:
            $tmp = ju_Formatter$FormatWriter_parseFormatSpecifier($this);
            if ($rt_suspending()) {
                break main;
            }
            $specifier = $tmp;
            if ($this.$flags2 & 256)
                $this.$argumentIndex = jl_Math_max(0, $this.$previousArgumentIndex);
            if ($this.$argumentIndex == (-1)) {
                var$3 = $this.$defaultArgumentIndex;
                $this.$defaultArgumentIndex = var$3 + 1 | 0;
                $this.$argumentIndex = var$3;
            }
            a: {
                $this.$previousArgumentIndex = $this.$argumentIndex;
                switch ($specifier) {
                    case 66:
                        break;
                    case 67:
                        $next = 1;
                        $ptr = 3;
                        continue main;
                    case 68:
                        $next = 1;
                        $ptr = 4;
                        continue main;
                    case 69:
                    case 70:
                    case 71:
                    case 73:
                    case 74:
                    case 75:
                    case 76:
                    case 77:
                    case 78:
                    case 80:
                    case 81:
                    case 82:
                    case 84:
                    case 85:
                    case 86:
                    case 87:
                    case 89:
                    case 90:
                    case 91:
                    case 92:
                    case 93:
                    case 94:
                    case 95:
                    case 96:
                    case 97:
                    case 101:
                    case 102:
                    case 103:
                    case 105:
                    case 106:
                    case 107:
                    case 108:
                    case 109:
                    case 110:
                    case 112:
                    case 113:
                    case 114:
                    case 116:
                    case 117:
                    case 118:
                    case 119:
                        break a;
                    case 72:
                        $next = 1;
                        $ptr = 6;
                        continue main;
                    case 79:
                        var$3 = 3;
                        $next = 1;
                        $ptr = 7;
                        continue main;
                    case 83:
                        $next = 1;
                        $ptr = 8;
                        continue main;
                    case 88:
                        $next = 4;
                        var$3 = 1;
                        $ptr = 9;
                        continue main;
                    case 98:
                        $next = 0;
                        $ptr = 10;
                        continue main;
                    case 99:
                        $next = 0;
                        $ptr = 11;
                        continue main;
                    case 100:
                        $next = 0;
                        $ptr = 12;
                        continue main;
                    case 104:
                        $next = 0;
                        $ptr = 13;
                        continue main;
                    case 111:
                        $next = 3;
                        var$3 = 0;
                        $ptr = 14;
                        continue main;
                    case 115:
                        $next = 0;
                        $ptr = 15;
                        continue main;
                    case 120:
                        $next = 4;
                        var$3 = 0;
                        $ptr = 16;
                        continue main;
                    default:
                        break a;
                }
                $next = 1;
                $ptr = 2;
                continue main;
            }
            var$4 = new ju_UnknownFormatConversionException;
            var$5 = jl_String_valueOf0($specifier);
            $ptr = 5;
            continue main;
        case 2:
            ju_Formatter$FormatWriter_formatBoolean($this, $specifier, $next);
            if ($rt_suspending()) {
                break main;
            }
            $next = jl_String_indexOf($this.$format6, 37, $this.$index11);
            if ($next < 0) {
                jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring($this.$format6, $this.$index11));
                return;
            }
            jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring0($this.$format6, $this.$index11, $next));
            $next = $next + 1 | 0;
            $this.$index11 = $next;
            $this.$formatSpecifierStart = $next;
            $ptr = 1;
            continue main;
        case 3:
            ju_Formatter$FormatWriter_formatChar($this, $specifier, $next);
            if ($rt_suspending()) {
                break main;
            }
            $next = jl_String_indexOf($this.$format6, 37, $this.$index11);
            if ($next < 0) {
                jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring($this.$format6, $this.$index11));
                return;
            }
            jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring0($this.$format6, $this.$index11, $next));
            $next = $next + 1 | 0;
            $this.$index11 = $next;
            $this.$formatSpecifierStart = $next;
            $ptr = 1;
            continue main;
        case 4:
            ju_Formatter$FormatWriter_formatDecimalInt($this, $specifier, $next);
            if ($rt_suspending()) {
                break main;
            }
            $next = jl_String_indexOf($this.$format6, 37, $this.$index11);
            if ($next < 0) {
                jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring($this.$format6, $this.$index11));
                return;
            }
            jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring0($this.$format6, $this.$index11, $next));
            $next = $next + 1 | 0;
            $this.$index11 = $next;
            $this.$formatSpecifierStart = $next;
            $ptr = 1;
            continue main;
        case 5:
            ju_UnknownFormatConversionException__init_(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw(var$4);
        case 6:
            ju_Formatter$FormatWriter_formatHex($this, $specifier, $next);
            if ($rt_suspending()) {
                break main;
            }
            $next = jl_String_indexOf($this.$format6, 37, $this.$index11);
            if ($next < 0) {
                jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring($this.$format6, $this.$index11));
                return;
            }
            jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring0($this.$format6, $this.$index11, $next));
            $next = $next + 1 | 0;
            $this.$index11 = $next;
            $this.$formatSpecifierStart = $next;
            $ptr = 1;
            continue main;
        case 7:
            ju_Formatter$FormatWriter_formatRadixInt($this, $specifier, var$3, $next);
            if ($rt_suspending()) {
                break main;
            }
            $next = jl_String_indexOf($this.$format6, 37, $this.$index11);
            if ($next < 0) {
                jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring($this.$format6, $this.$index11));
                return;
            }
            jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring0($this.$format6, $this.$index11, $next));
            $next = $next + 1 | 0;
            $this.$index11 = $next;
            $this.$formatSpecifierStart = $next;
            $ptr = 1;
            continue main;
        case 8:
            ju_Formatter$FormatWriter_formatString($this, $specifier, $next);
            if ($rt_suspending()) {
                break main;
            }
            $next = jl_String_indexOf($this.$format6, 37, $this.$index11);
            if ($next < 0) {
                jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring($this.$format6, $this.$index11));
                return;
            }
            jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring0($this.$format6, $this.$index11, $next));
            $next = $next + 1 | 0;
            $this.$index11 = $next;
            $this.$formatSpecifierStart = $next;
            $ptr = 1;
            continue main;
        case 9:
            ju_Formatter$FormatWriter_formatRadixInt($this, $specifier, $next, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $next = jl_String_indexOf($this.$format6, 37, $this.$index11);
            if ($next < 0) {
                jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring($this.$format6, $this.$index11));
                return;
            }
            jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring0($this.$format6, $this.$index11, $next));
            $next = $next + 1 | 0;
            $this.$index11 = $next;
            $this.$formatSpecifierStart = $next;
            $ptr = 1;
            continue main;
        case 10:
            ju_Formatter$FormatWriter_formatBoolean($this, $specifier, $next);
            if ($rt_suspending()) {
                break main;
            }
            $next = jl_String_indexOf($this.$format6, 37, $this.$index11);
            if ($next < 0) {
                jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring($this.$format6, $this.$index11));
                return;
            }
            jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring0($this.$format6, $this.$index11, $next));
            $next = $next + 1 | 0;
            $this.$index11 = $next;
            $this.$formatSpecifierStart = $next;
            $ptr = 1;
            continue main;
        case 11:
            ju_Formatter$FormatWriter_formatChar($this, $specifier, $next);
            if ($rt_suspending()) {
                break main;
            }
            $next = jl_String_indexOf($this.$format6, 37, $this.$index11);
            if ($next < 0) {
                jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring($this.$format6, $this.$index11));
                return;
            }
            jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring0($this.$format6, $this.$index11, $next));
            $next = $next + 1 | 0;
            $this.$index11 = $next;
            $this.$formatSpecifierStart = $next;
            $ptr = 1;
            continue main;
        case 12:
            ju_Formatter$FormatWriter_formatDecimalInt($this, $specifier, $next);
            if ($rt_suspending()) {
                break main;
            }
            $next = jl_String_indexOf($this.$format6, 37, $this.$index11);
            if ($next < 0) {
                jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring($this.$format6, $this.$index11));
                return;
            }
            jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring0($this.$format6, $this.$index11, $next));
            $next = $next + 1 | 0;
            $this.$index11 = $next;
            $this.$formatSpecifierStart = $next;
            $ptr = 1;
            continue main;
        case 13:
            ju_Formatter$FormatWriter_formatHex($this, $specifier, $next);
            if ($rt_suspending()) {
                break main;
            }
            $next = jl_String_indexOf($this.$format6, 37, $this.$index11);
            if ($next < 0) {
                jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring($this.$format6, $this.$index11));
                return;
            }
            jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring0($this.$format6, $this.$index11, $next));
            $next = $next + 1 | 0;
            $this.$index11 = $next;
            $this.$formatSpecifierStart = $next;
            $ptr = 1;
            continue main;
        case 14:
            ju_Formatter$FormatWriter_formatRadixInt($this, $specifier, $next, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $next = jl_String_indexOf($this.$format6, 37, $this.$index11);
            if ($next < 0) {
                jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring($this.$format6, $this.$index11));
                return;
            }
            jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring0($this.$format6, $this.$index11, $next));
            $next = $next + 1 | 0;
            $this.$index11 = $next;
            $this.$formatSpecifierStart = $next;
            $ptr = 1;
            continue main;
        case 15:
            ju_Formatter$FormatWriter_formatString($this, $specifier, $next);
            if ($rt_suspending()) {
                break main;
            }
            $next = jl_String_indexOf($this.$format6, 37, $this.$index11);
            if ($next < 0) {
                jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring($this.$format6, $this.$index11));
                return;
            }
            jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring0($this.$format6, $this.$index11, $next));
            $next = $next + 1 | 0;
            $this.$index11 = $next;
            $this.$formatSpecifierStart = $next;
            $ptr = 1;
            continue main;
        case 16:
            ju_Formatter$FormatWriter_formatRadixInt($this, $specifier, $next, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $next = jl_String_indexOf($this.$format6, 37, $this.$index11);
            if ($next < 0) {
                jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring($this.$format6, $this.$index11));
                return;
            }
            jl_AbstractStringBuilder_append1($this.$out4, jl_String_substring0($this.$format6, $this.$index11, $next));
            $next = $next + 1 | 0;
            $this.$index11 = $next;
            $this.$formatSpecifierStart = $next;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $next, $specifier, var$3, var$4, var$5, $ptr);
    }
    function ju_Formatter$FormatWriter_formatBoolean($this, $specifier, $upperCase) {
        var $arg, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$arg = $thread.pop();$upperCase = $thread.pop();$specifier = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            ju_Formatter$FormatWriter_verifyFlagsForGeneralFormat($this, $specifier);
            if ($rt_suspending()) {
                break main;
            }
            $arg = $this.$args.data[$this.$argumentIndex];
            ju_Formatter$FormatWriter_formatGivenString($this, $upperCase, !($arg instanceof jl_Boolean ? $arg.$booleanValue() : $arg === null ? 0 : 1) ? $rt_s(16) : $rt_s(17));
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $specifier, $upperCase, $arg, $ptr);
    }
    function ju_Formatter$FormatWriter_formatHex($this, $specifier, $upperCase) {
        var $arg, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$arg = $thread.pop();$upperCase = $thread.pop();$specifier = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            ju_Formatter$FormatWriter_verifyFlagsForGeneralFormat($this, $specifier);
            if ($rt_suspending()) {
                break main;
            }
            $arg = $this.$args.data[$this.$argumentIndex];
            if ($arg === null) {
                ju_Formatter$FormatWriter_formatGivenString($this, $upperCase, $rt_s(9));
                return;
            }
            $ptr = 2;
        case 2:
            $tmp = $arg.$hashCode0();
            if ($rt_suspending()) {
                break main;
            }
            $specifier = $tmp;
            ju_Formatter$FormatWriter_formatGivenString($this, $upperCase, jl_Integer_toHexString($specifier));
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $specifier, $upperCase, $arg, $ptr);
    }
    function ju_Formatter$FormatWriter_formatString($this, $specifier, $upperCase) {
        var $arg, $flagsToPass, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$flagsToPass = $thread.pop();$arg = $thread.pop();$upperCase = $thread.pop();$specifier = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            ju_Formatter$FormatWriter_verifyFlagsForGeneralFormat($this, $specifier);
            if ($rt_suspending()) {
                break main;
            }
            $arg = $this.$args.data[$this.$argumentIndex];
            if ($rt_isInstance($arg, ju_Formattable)) {
                $flagsToPass = $this.$flags2 & 7;
                if ($upperCase)
                    $flagsToPass = $flagsToPass | 2;
                $arg.$formatTo($this.$formatter, $flagsToPass, $this.$width3, $this.$precision);
                return;
            }
            $ptr = 2;
        case 2:
            $tmp = jl_String_valueOf($arg);
            if ($rt_suspending()) {
                break main;
            }
            $arg = $tmp;
            ju_Formatter$FormatWriter_formatGivenString($this, $upperCase, $arg);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $specifier, $upperCase, $arg, $flagsToPass, $ptr);
    }
    function ju_Formatter$FormatWriter_formatChar($this, $specifier, $upperCase) {
        var $c, $arg, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$arg = $thread.pop();$c = $thread.pop();$upperCase = $thread.pop();$specifier = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $c = 259;
            $ptr = 1;
        case 1:
            ju_Formatter$FormatWriter_verifyFlags($this, $specifier, $c);
            if ($rt_suspending()) {
                break main;
            }
            $arg = $this.$args.data[$this.$argumentIndex];
            $c = $this.$precision;
            if ($c >= 0) {
                $arg = new ju_IllegalFormatPrecisionException;
                $ptr = 2;
                continue main;
            }
            if ($arg instanceof jl_Character)
                $c = $arg.$charValue();
            else if ($arg instanceof jl_Byte)
                $c = $arg.$byteValue0() & 65535;
            else if ($arg instanceof jl_Short)
                $c = $arg.$shortValue0() & 65535;
            else {
                if (!($arg instanceof jl_Integer)) {
                    if ($arg === null) {
                        ju_Formatter$FormatWriter_formatGivenString($this, $upperCase, $rt_s(9));
                        return;
                    }
                    var$5 = new ju_IllegalFormatConversionException;
                    $arg = jl_Object_getClass($arg);
                    $ptr = 3;
                    continue main;
                }
                $c = $arg.$value;
                if (!($c >= 0 && $c <= 1114111 ? 1 : 0)) {
                    $arg = new ju_IllegalFormatCodePointException;
                    var$5 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$5);
                    var$6 = $rt_s(2057);
                    $ptr = 4;
                    continue main;
                }
            }
            ju_Formatter$FormatWriter_formatGivenString($this, $upperCase, jl_String__init_(jl_Character_toChars($c)));
            return;
        case 2:
            ju_IllegalFormatPrecisionException__init_($arg, $c);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw($arg);
        case 3:
            ju_IllegalFormatConversionException__init_(var$5, $specifier, $arg);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw(var$5);
        case 4:
            $tmp = jl_StringBuilder_append(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_AbstractStringBuilder_append0(var$6, $c);
            var$7 = $rt_s(2058);
            $ptr = 5;
        case 5:
            jl_StringBuilder_append(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            jl_Throwable__init_($arg, var$5);
            $arg.$codePoint = $c;
            $rt_throw($arg);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $specifier, $upperCase, $c, $arg, var$5, var$6, var$7, $ptr);
    }
    function ju_Formatter$FormatWriter_formatDecimalInt($this, $specifier, $upperCase) {
        var $value, $arg, $value_0, $str, $sb, $negative, $additionalSymbols, $valueSb, var$11, $i, $separator, var$14, var$15, $size, $prev, $i_0, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$i_0 = $thread.pop();$prev = $thread.pop();$size = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$separator = $thread.pop();$i = $thread.pop();var$11 = $thread.pop();$valueSb = $thread.pop();$additionalSymbols = $thread.pop();$negative = $thread.pop();$sb = $thread.pop();$str = $thread.pop();$value_0 = $thread.pop();$arg = $thread.pop();$value = $thread.pop();$upperCase = $thread.pop();$specifier = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $value = 507;
            $ptr = 1;
        case 1:
            ju_Formatter$FormatWriter_verifyFlags($this, $specifier, $value);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            ju_Formatter$FormatWriter_verifyIntFlags($this);
            if ($rt_suspending()) {
                break main;
            }
            $arg = $this.$args.data[$this.$argumentIndex];
            if ($arg instanceof jl_Long) {
                $value_0 = $arg.$longValue0();
                $specifier = Long_compare($value_0, Long_ZERO);
                if ($specifier < 0)
                    $value_0 = Long_neg($value_0);
                $ptr = 4;
                continue main;
            }
            if (!($arg instanceof jl_Integer) && !($arg instanceof jl_Byte) && !($arg instanceof jl_Short)) {
                $str = new ju_IllegalFormatConversionException;
                $sb = $arg === null ? null : jl_Object_getClass($arg);
                $ptr = 5;
                continue main;
            }
            $value = $arg.$intValue0();
            $specifier = jl_Math_abs($value);
            $ptr = 3;
        case 3:
            $tmp = jl_Integer_toString($specifier);
            if ($rt_suspending()) {
                break main;
            }
            $str = $tmp;
            $negative = $value >= 0 ? 0 : 1;
            $additionalSymbols = 0;
            $sb = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($sb);
            if ($negative) {
                if (!($this.$flags2 & 128)) {
                    jl_AbstractStringBuilder_append($sb, 45);
                    $additionalSymbols = 1;
                } else {
                    jl_AbstractStringBuilder_append($sb, 40);
                    $additionalSymbols = 2;
                }
            } else {
                $specifier = $this.$flags2;
                if ($specifier & 8) {
                    jl_AbstractStringBuilder_append($sb, 43);
                    $additionalSymbols = 1;
                } else if ($specifier & 16) {
                    jl_AbstractStringBuilder_append($sb, 32);
                    $additionalSymbols = 1;
                }
            }
            $valueSb = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($valueSb);
            if ($this.$flags2 & 64) {
                $arg = new jt_DecimalFormatSymbols;
                var$11 = $this.$locale5;
                $ptr = 6;
                continue main;
            }
            jl_AbstractStringBuilder_append2($valueSb, $str);
            a: {
                if ($this.$flags2 & 32) {
                    $i = $valueSb.$length0 + $additionalSymbols | 0;
                    while (true) {
                        if ($i >= $this.$width3)
                            break a;
                        jl_AbstractStringBuilder_append($sb, jl_Character_forDigit(0, 10));
                        $i = $i + 1 | 0;
                    }
                }
            }
            jl_AbstractStringBuilder_append1($sb, $valueSb);
            if ($negative && $this.$flags2 & 128)
                jl_AbstractStringBuilder_append($sb, 41);
            $ptr = 10;
            continue main;
        case 4:
            $tmp = jl_Long_toString0($value_0);
            if ($rt_suspending()) {
                break main;
            }
            $str = $tmp;
            $negative = $specifier >= 0 ? 0 : 1;
            $additionalSymbols = 0;
            $sb = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($sb);
            if ($negative) {
                if (!($this.$flags2 & 128)) {
                    jl_AbstractStringBuilder_append($sb, 45);
                    $additionalSymbols = 1;
                } else {
                    jl_AbstractStringBuilder_append($sb, 40);
                    $additionalSymbols = 2;
                }
            } else {
                $specifier = $this.$flags2;
                if ($specifier & 8) {
                    jl_AbstractStringBuilder_append($sb, 43);
                    $additionalSymbols = 1;
                } else if ($specifier & 16) {
                    jl_AbstractStringBuilder_append($sb, 32);
                    $additionalSymbols = 1;
                }
            }
            $valueSb = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($valueSb);
            if ($this.$flags2 & 64) {
                $arg = new jt_DecimalFormatSymbols;
                var$11 = $this.$locale5;
                $ptr = 6;
                continue main;
            }
            jl_AbstractStringBuilder_append2($valueSb, $str);
            a: {
                if ($this.$flags2 & 32) {
                    $i = $valueSb.$length0 + $additionalSymbols | 0;
                    while (true) {
                        if ($i >= $this.$width3)
                            break a;
                        jl_AbstractStringBuilder_append($sb, jl_Character_forDigit(0, 10));
                        $i = $i + 1 | 0;
                    }
                }
            }
            jl_AbstractStringBuilder_append1($sb, $valueSb);
            if ($negative && $this.$flags2 & 128)
                jl_AbstractStringBuilder_append($sb, 41);
            $ptr = 10;
            continue main;
        case 5:
            ju_IllegalFormatConversionException__init_($str, $specifier, $sb);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw($str);
        case 6:
            jt_DecimalFormatSymbols__init_0($arg, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $separator = $arg.$groupingSeparator;
            var$14 = $this.$locale5;
            var$11 = var$14.$languageCode;
            $arg = var$14.$countryCode;
            $ptr = 7;
        case 7:
            $tmp = otciu_CLDRHelper_resolveNumberFormat(var$11, $arg);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            var$15 = new jt_DecimalFormat;
            $arg = new jt_DecimalFormatSymbols;
            $ptr = 8;
        case 8:
            jt_DecimalFormatSymbols__init_0($arg, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            jt_DecimalFormat__init_1(var$15, var$11, $arg);
            if ($rt_suspending()) {
                break main;
            }
            $size = var$15.$groupingSize;
            $i = jl_String_length($str) % $size | 0;
            if (!$i)
                $i = $size;
            $prev = 0;
            while ($i < jl_String_length($str)) {
                jl_AbstractStringBuilder_append2($valueSb, jl_String_substring0($str, $prev, $i));
                jl_AbstractStringBuilder_append($valueSb, $separator);
                $i_0 = $i + $size | 0;
                $prev = $i;
                $i = $i_0;
            }
            jl_AbstractStringBuilder_append2($valueSb, jl_String_substring($str, $prev));
            b: {
                if ($this.$flags2 & 32) {
                    $i = $valueSb.$length0 + $additionalSymbols | 0;
                    while (true) {
                        if ($i >= $this.$width3)
                            break b;
                        jl_AbstractStringBuilder_append($sb, jl_Character_forDigit(0, 10));
                        $i = $i + 1 | 0;
                    }
                }
            }
            jl_AbstractStringBuilder_append1($sb, $valueSb);
            if ($negative && $this.$flags2 & 128)
                jl_AbstractStringBuilder_append($sb, 41);
            $ptr = 10;
        case 10:
            $tmp = jl_AbstractStringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            $str = $tmp;
            ju_Formatter$FormatWriter_formatGivenString($this, $upperCase, $str);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $specifier, $upperCase, $value, $arg, $value_0, $str, $sb, $negative, $additionalSymbols, $valueSb, var$11, $i, $separator, var$14, var$15, $size, $prev, $i_0, $ptr);
    }
    function ju_Formatter$FormatWriter_formatRadixInt($this, $specifier, $radixLog2, $upperCase) {
        var $i, $arg, $str, $sb, $prefix, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$prefix = $thread.pop();$sb = $thread.pop();$str = $thread.pop();$arg = $thread.pop();$i = $thread.pop();$upperCase = $thread.pop();$radixLog2 = $thread.pop();$specifier = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $i = 423;
            $ptr = 1;
        case 1:
            ju_Formatter$FormatWriter_verifyFlags($this, $specifier, $i);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            ju_Formatter$FormatWriter_verifyIntFlags($this);
            if ($rt_suspending()) {
                break main;
            }
            $arg = $this.$args.data[$this.$argumentIndex];
            if ($arg instanceof jl_Long)
                $str = otci_IntegerUtil_toUnsignedLogRadixString0($arg.$longValue0(), $radixLog2);
            else if ($arg instanceof jl_Integer)
                $str = otci_IntegerUtil_toUnsignedLogRadixString($arg.$value, $radixLog2);
            else if ($arg instanceof jl_Short)
                $str = otci_IntegerUtil_toUnsignedLogRadixString($arg.$shortValue0() & 65535, $radixLog2);
            else {
                if (!($arg instanceof jl_Byte)) {
                    $str = new ju_IllegalFormatConversionException;
                    $sb = $arg === null ? null : jl_Object_getClass($arg);
                    $ptr = 7;
                    continue main;
                }
                $str = otci_IntegerUtil_toUnsignedLogRadixString($arg.$byteValue0() & 255, $radixLog2);
            }
            $sb = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($sb);
            if ($this.$flags2 & 4) {
                $prefix = $radixLog2 != 4 ? $rt_s(19) : $rt_s(2059);
                $arg = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($arg);
                $ptr = 4;
                continue main;
            }
            a: {
                if ($this.$flags2 & 32) {
                    $i = jl_String_length($str);
                    while (true) {
                        if ($i >= $this.$width3)
                            break a;
                        jl_AbstractStringBuilder_append($sb, jl_Character_forDigit(0, 10));
                        $i = $i + 1 | 0;
                    }
                }
            }
            jl_AbstractStringBuilder_append2($sb, $str);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString($sb);
            if ($rt_suspending()) {
                break main;
            }
            $str = $tmp;
            ju_Formatter$FormatWriter_formatGivenString($this, $upperCase, $str);
            return;
        case 4:
            $tmp = jl_StringBuilder_append($arg, $prefix);
            if ($rt_suspending()) {
                break main;
            }
            $prefix = $tmp;
            $ptr = 5;
        case 5:
            jl_StringBuilder_append($prefix, $str);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString($arg);
            if ($rt_suspending()) {
                break main;
            }
            $str = $tmp;
            b: {
                if ($this.$flags2 & 32) {
                    $i = jl_String_length($str);
                    while (true) {
                        if ($i >= $this.$width3)
                            break b;
                        jl_AbstractStringBuilder_append($sb, jl_Character_forDigit(0, 10));
                        $i = $i + 1 | 0;
                    }
                }
            }
            jl_AbstractStringBuilder_append2($sb, $str);
            $ptr = 3;
            continue main;
        case 7:
            ju_IllegalFormatConversionException__init_($str, $specifier, $sb);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw($str);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $specifier, $radixLog2, $upperCase, $i, $arg, $str, $sb, $prefix, $ptr);
    }
    function ju_Formatter$FormatWriter_verifyIntFlags($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$flags2;
            if (var$1 & 8 && var$1 & 16) {
                var$2 = new ju_IllegalFormatFlagsException;
                var$3 = $rt_s(2060);
                $ptr = 1;
                continue main;
            }
            if (var$1 & 32 && var$1 & 1) {
                var$2 = new ju_IllegalFormatFlagsException;
                var$3 = $rt_s(2061);
                $ptr = 3;
                continue main;
            }
            var$4 = $this.$precision;
            if (var$4 >= 0) {
                var$2 = new ju_IllegalFormatPrecisionException;
                $ptr = 2;
                continue main;
            }
            if (var$1 & 1 && $this.$width3 < 0) {
                var$2 = new ju_MissingFormatWidthException;
                var$3 = jl_String_substring0($this.$format6, $this.$formatSpecifierStart, $this.$index11);
                var$5 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$5);
                var$6 = $rt_s(2062);
                $ptr = 4;
                continue main;
            }
            return;
        case 1:
            ju_IllegalFormatFlagsException__init_(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw(var$2);
        case 2:
            ju_IllegalFormatPrecisionException__init_(var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw(var$2);
        case 3:
            ju_IllegalFormatFlagsException__init_(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw(var$2);
        case 4:
            $tmp = jl_StringBuilder_append(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 5;
        case 5:
            jl_StringBuilder_append(var$6, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            jl_Throwable__init_(var$2, var$5);
            var$2.$formatSpecifier = var$3;
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function ju_Formatter$FormatWriter_formatGivenString($this, $upperCase, $str) {
        var var$3;
        var$3 = $this.$precision;
        if (var$3 > 0)
            $str = jl_String_substring0($str, 0, var$3);
        if ($upperCase)
            $str = jl_String_toUpperCase($str);
        if (!($this.$flags2 & 1)) {
            ju_Formatter$FormatWriter_mayBeAppendSpaces($this, $str);
            jl_AbstractStringBuilder_append1($this.$out4, $str);
        } else {
            jl_AbstractStringBuilder_append1($this.$out4, $str);
            ju_Formatter$FormatWriter_mayBeAppendSpaces($this, $str);
        }
    }
    function ju_Formatter$FormatWriter_verifyFlagsForGeneralFormat($this, $conversion) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$conversion = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = 263;
            $ptr = 1;
        case 1:
            ju_Formatter$FormatWriter_verifyFlags($this, $conversion, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $conversion, var$2, $ptr);
    }
    function ju_Formatter$FormatWriter_verifyFlags($this, $conversion, $mask) {
        var var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$mask = $thread.pop();$conversion = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$flags2;
            if ((var$3 | $mask) == $mask)
                return;
            var$4 = new ju_FormatFlagsConversionMismatchException;
            var$5 = jl_String_valueOf0(jl_String_charAt($rt_s(2063), jl_Integer_numberOfTrailingZeros(var$3 & ($mask ^ (-1)))));
            var$6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$6);
            var$7 = $rt_s(2064);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$7, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$8 = $rt_s(2065);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append(var$7, $conversion);
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_(var$4, var$6);
            var$4.$flags3 = var$5;
            var$4.$conversion = $conversion;
            $rt_throw(var$4);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $conversion, $mask, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function ju_Formatter$FormatWriter_mayBeAppendSpaces($this, $str) {
        var $diff, $sb, $i;
        if ($this.$width3 > jl_String_length($str)) {
            $diff = $this.$width3 - jl_String_length($str) | 0;
            $sb = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_2($sb, $diff);
            $i = 0;
            while ($i < $diff) {
                jl_AbstractStringBuilder_append($sb, 32);
                $i = $i + 1 | 0;
            }
            jl_AbstractStringBuilder_append1($this.$out4, $sb);
        }
    }
    function ju_Formatter$FormatWriter_parseFormatSpecifier($this) {
        var $c, $n, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$n = $thread.pop();$c = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$flags2 = 0;
            $this.$argumentIndex = (-1);
            $this.$width3 = (-1);
            $this.$precision = (-1);
            $c = jl_String_charAt($this.$format6, $this.$index11);
            if ($c != 48 && ju_Formatter$FormatWriter_isDigit($c)) {
                $n = ju_Formatter$FormatWriter_readInt($this);
                if ($this.$index11 < jl_String_length($this.$format6) && jl_String_charAt($this.$format6, $this.$index11) == 36) {
                    $this.$index11 = $this.$index11 + 1 | 0;
                    $this.$argumentIndex = $n - 1 | 0;
                } else
                    $this.$width3 = $n;
            }
            a: {
                b: {
                    while ($this.$index11 < jl_String_length($this.$format6)) {
                        c: {
                            $c = jl_String_charAt($this.$format6, $this.$index11);
                            switch ($c) {
                                case 32:
                                    break;
                                case 33:
                                case 34:
                                case 36:
                                case 37:
                                case 38:
                                case 39:
                                case 41:
                                case 42:
                                case 46:
                                case 47:
                                case 49:
                                case 50:
                                case 51:
                                case 52:
                                case 53:
                                case 54:
                                case 55:
                                case 56:
                                case 57:
                                case 58:
                                case 59:
                                    break b;
                                case 35:
                                    $n = 4;
                                    break c;
                                case 40:
                                    $n = 128;
                                    break c;
                                case 43:
                                    $n = 8;
                                    break c;
                                case 44:
                                    $n = 64;
                                    break c;
                                case 45:
                                    $n = 1;
                                    break c;
                                case 48:
                                    $n = 32;
                                    break c;
                                case 60:
                                    $n = 256;
                                    break c;
                                default:
                                    break b;
                            }
                            $n = 16;
                        }
                        var$3 = $this.$flags2;
                        if (var$3 & $n) {
                            var$4 = new ju_DuplicateFormatFlagsException;
                            var$5 = jl_String_valueOf0($c);
                            var$6 = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_(var$6);
                            var$7 = $rt_s(2066);
                            $ptr = 1;
                            continue main;
                        }
                        $this.$flags2 = var$3 | $n;
                        $this.$index11 = $this.$index11 + 1 | 0;
                    }
                    break a;
                }
            }
            if ($this.$width3 < 0 && $this.$index11 < jl_String_length($this.$format6) && ju_Formatter$FormatWriter_isDigit(jl_String_charAt($this.$format6, $this.$index11)))
                $this.$width3 = ju_Formatter$FormatWriter_readInt($this);
            d: {
                if ($this.$index11 < jl_String_length($this.$format6) && jl_String_charAt($this.$format6, $this.$index11) == 46) {
                    $c = $this.$index11 + 1 | 0;
                    $this.$index11 = $c;
                    if ($c >= jl_String_length($this.$format6))
                        break d;
                    if (!ju_Formatter$FormatWriter_isDigit(jl_String_charAt($this.$format6, $this.$index11)))
                        break d;
                    $this.$precision = ju_Formatter$FormatWriter_readInt($this);
                }
                if ($this.$index11 < jl_String_length($this.$format6)) {
                    var$4 = $this.$format6;
                    $n = $this.$index11;
                    $this.$index11 = $n + 1 | 0;
                    return jl_String_charAt(var$4, $n);
                }
                var$4 = new ju_UnknownFormatConversionException;
                var$5 = $this.$format6;
                var$5 = jl_String_valueOf0(jl_String_charAt(var$5, jl_String_length(var$5) - 1 | 0));
                $ptr = 4;
                continue main;
            }
            var$4 = new ju_UnknownFormatConversionException;
            var$5 = jl_String_valueOf0(jl_String_charAt($this.$format6, $this.$index11 - 1 | 0));
            $ptr = 5;
            continue main;
        case 1:
            $tmp = jl_StringBuilder_append(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$7, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_Throwable__init_(var$4, var$6);
            var$4.$flags4 = var$5;
            $rt_throw(var$4);
        case 4:
            ju_UnknownFormatConversionException__init_(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw(var$4);
        case 5:
            ju_UnknownFormatConversionException__init_(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw(var$4);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $c, $n, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function ju_Formatter$FormatWriter_readInt($this) {
        var $result, var$2, var$3, var$4;
        $result = 0;
        while ($this.$index11 < jl_String_length($this.$format6) && ju_Formatter$FormatWriter_isDigit(jl_String_charAt($this.$format6, $this.$index11))) {
            var$2 = $result * 10 | 0;
            var$3 = $this.$format6;
            var$4 = $this.$index11;
            $this.$index11 = var$4 + 1 | 0;
            $result = var$2 + (jl_String_charAt(var$3, var$4) - 48 | 0) | 0;
        }
        return $result;
    }
    function ju_Formatter$FormatWriter_isDigit($c) {
        return $c >= 48 && $c <= 57 ? 1 : 0;
    }
    var otcic_Console = $rt_classWithoutFields();
    function otcic_Console__init_0() {
        var var_0 = new otcic_Console();
        otcic_Console__init_(var_0);
        return var_0;
    }
    function otcic_Console__init_($this) {}
    function otcit_DateTimeZoneBuilder$Transition() {
        var a = this; jl_Object.call(a);
        a.$iMillis = Long_ZERO;
        a.$iWallOffset0 = 0;
        a.$iStandardOffset2 = 0;
    }
    function otcit_DateTimeZoneBuilder$Transition__init_2(var_0, var_1) {
        var var_2 = new otcit_DateTimeZoneBuilder$Transition();
        otcit_DateTimeZoneBuilder$Transition__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function otcit_DateTimeZoneBuilder$Transition__init_3(var_0, var_1, var_2) {
        var var_3 = new otcit_DateTimeZoneBuilder$Transition();
        otcit_DateTimeZoneBuilder$Transition__init_1(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function otcit_DateTimeZoneBuilder$Transition__init_4(var_0, var_1, var_2) {
        var var_3 = new otcit_DateTimeZoneBuilder$Transition();
        otcit_DateTimeZoneBuilder$Transition__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function otcit_DateTimeZoneBuilder$Transition__init_0($this, $millis, $tr) {
        $this.$iMillis = $millis;
        $this.$iWallOffset0 = $tr.$iWallOffset0;
        $this.$iStandardOffset2 = $tr.$iStandardOffset2;
    }
    function otcit_DateTimeZoneBuilder$Transition__init_1($this, $millis, $rule, $standardOffset) {
        $this.$iMillis = $millis;
        $this.$iWallOffset0 = $standardOffset + otcit_DateTimeZoneBuilder$Rule_getSaveMillis($rule) | 0;
        $this.$iStandardOffset2 = $standardOffset;
    }
    function otcit_DateTimeZoneBuilder$Transition__init_($this, $millis, $wallOffset, $standardOffset) {
        $this.$iMillis = $millis;
        $this.$iWallOffset0 = $wallOffset;
        $this.$iStandardOffset2 = $standardOffset;
    }
    function otcit_DateTimeZoneBuilder$Transition_getSaveMillis($this) {
        return $this.$iWallOffset0 - $this.$iStandardOffset2 | 0;
    }
    function otcit_DateTimeZoneBuilder$Transition_isTransitionFrom($this, $other) {
        var var$2;
        if ($other === null)
            return 1;
        a: {
            b: {
                if (Long_gt($this.$iMillis, $other.$iMillis)) {
                    if ($this.$iWallOffset0 != $other.$iWallOffset0)
                        break b;
                    if ($this.$iStandardOffset2 != $other.$iStandardOffset2)
                        break b;
                }
                var$2 = 0;
                break a;
            }
            var$2 = 1;
        }
        return var$2;
    }
    function nms_EntityDiggingFX() {
        nms_EntityFX.call(this);
        this.$field_4082_a = null;
    }
    function nms_EntityDiggingFX__init_0(var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7) {
        var var_8 = new nms_EntityDiggingFX();
        nms_EntityDiggingFX__init_(var_8, var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7);
        return var_8;
    }
    function nms_EntityDiggingFX__init_($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12, $var14) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityFX__init_($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_4082_a = $var14;
            $this.$particleTextureIndex = $var14.$blockIndexInTexture;
            $this.$particleGravity = $var14.$blockParticleGravity;
            $this.$particleBlue = 0.6000000238418579;
            $this.$particleGreen = 0.6000000238418579;
            $this.$particleRed = 0.6000000238418579;
            $this.$particleScale = $this.$particleScale / 2.0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12, $var14, $ptr);
    }
    function nms_EntityDiggingFX_func_4041_a($this, $var1, $var2, $var3) {
        var var$4, var$5, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$field_4082_a;
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$4 === nms_Block_grass)
                return $this;
            var$5 = $this.$worldObj0;
            $ptr = 2;
        case 2:
            $tmp = var$4.$colorMultiplier(var$5, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $this.$particleRed = $this.$particleRed * ($var4 >> 16 & 255) / 255.0;
            $this.$particleGreen = $this.$particleGreen * ($var4 >> 8 & 255) / 255.0;
            $this.$particleBlue = $this.$particleBlue * ($var4 & 255) / 255.0;
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $var4, $ptr);
    }
    function nms_EntityDiggingFX_getFXLayer($this) {
        return 1;
    }
    function nms_EntityDiggingFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var var$8, $var8, $var9, $var10, $var11, $var12, var$14, var$15, var$16, $var13, $var14, $var15, $var16, var$21, var$22, var$23, var$24, var$25, var$26, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$26 = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5
            = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$8 = $this.$particleTextureIndex;
            $var8 = ((var$8 % 16 | 0) + $this.$particleTextureJitterX / 4.0) / 16.0;
            $var9 = $var8 + 0.015609375201165676;
            $var10 = ((var$8 / 16 | 0) + $this.$particleTextureJitterY / 4.0) / 16.0;
            $var11 = $var10 + 0.015609375201165676;
            $var12 = 0.10000000149011612 * $this.$particleScale;
            var$14 = $this.$prevPosX;
            var$15 = $this.$posX - var$14;
            var$16 = $var2;
            $var13 = var$14 + var$15 * var$16 - nms_EntityFX_interpPosX;
            var$14 = $this.$prevPosY;
            $var14 = var$14 + ($this.$posY - var$14) * var$16 - nms_EntityFX_interpPosY;
            var$14 = $this.$prevPosZ;
            $var15 = var$14 + ($this.$posZ - var$14) * var$16 - nms_EntityFX_interpPosZ;
            $ptr = 1;
        case 1:
            $tmp = nms_Entity_getEntityBrightness($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            $var2 = $var16 * $this.$particleRed;
            var$21 = $var16 * $this.$particleGreen;
            var$22 = $var16 * $this.$particleBlue;
            $ptr = 2;
        case 2:
            nms_Tessellator_setColorOpaque_F($var1, $var2, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var3 * $var12;
            $var3 = $var13 - $var2;
            $var6 = $var6 * $var12;
            var$14 = $var3 - $var6;
            $var4 = $var4 * $var12;
            var$15 = $var14 - $var4;
            $var5 = $var5 * $var12;
            var$21 = $var15 - $var5;
            $var7 = $var7 * $var12;
            var$16 = var$21 - $var7;
            var$23 = $var8;
            var$24 = $var11;
            $ptr = 3;
        case 3:
            nms_Tessellator_addVertexWithUV($var1, var$14, var$15, var$16, var$23, var$24);
            if ($rt_suspending()) {
                break main;
            }
            var$25 = $var3 + $var6;
            var$14 = $var14 + $var4;
            var$16 = var$21 + $var7;
            var$26 = $var10;
            $ptr = 4;
        case 4:
            nms_Tessellator_addVertexWithUV($var1, var$25, var$14, var$16, var$23, var$26);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var13 + $var2;
            var$16 = $var2 + $var6;
            $var3 = $var15 + $var5;
            var$25 = $var3 + $var7;
            var$23 = $var9;
            $ptr = 5;
        case 5:
            nms_Tessellator_addVertexWithUV($var1, var$16, var$14, var$25, var$23, var$26);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $var2 - $var6;
            var$16 = $var3 - $var7;
            $ptr = 6;
        case 6:
            nms_Tessellator_addVertexWithUV($var1, var$14, var$15, var$16, var$23, var$24);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, $var8, $var9, $var10, $var11, $var12, var$14, var$15, var$16, $var13, $var14, $var15, $var16, var$21, var$22, var$23, var$24, var$25, var$26, $ptr);
    }
    function npevv_Vec3D_112() {
        var a = this; jl_Object.call(a);
        a.$xCoord2 = 0.0;
        a.$yCoord2 = 0.0;
        a.$zCoord2 = 0.0;
    }
    var npevv_Vec3D_112_ZERO = null;
    function npevv_Vec3D_112__init_0(var_0, var_1, var_2) {
        var var_3 = new npevv_Vec3D_112();
        npevv_Vec3D_112__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function npevv_Vec3D_112__init_($this, $x, $y, $z) {
        $this.$xCoord2 = $x;
        $this.$yCoord2 = $y;
        $this.$zCoord2 = $z;
    }
    function npevv_Vec3D_112_normalize($this) {
        var $d0, var$2;
        $d0 = $this.$xCoord2;
        $d0 = $d0 * $d0;
        var$2 = $this.$yCoord2;
        $d0 = $d0 + var$2 * var$2;
        var$2 = $this.$zCoord2;
        $d0 = nms_MathHelper_sqrt_double($d0 + var$2 * var$2);
        return $d0 < 1.0E-4 ? npevv_Vec3D_112_ZERO : npevv_Vec3D_112__init_0($this.$xCoord2 / $d0, $this.$yCoord2 / $d0, $this.$zCoord2 / $d0);
    }
    function npevv_Vec3D_112__clinit_() {
        npevv_Vec3D_112_ZERO = npevv_Vec3D_112__init_0(0.0, 0.0, 0.0);
    }
    function nms_GuiButton() {
        var a = this; nms_Gui.call(a);
        a.$width4 = 0;
        a.$height5 = 0;
        a.$xPosition2 = 0;
        a.$yPosition2 = 0;
        a.$displayString = null;
        a.$id2 = 0;
        a.$enabled0 = 0;
        a.$enabled2 = 0;
    }
    function nms_GuiButton__init_1(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_GuiButton();
        nms_GuiButton__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_GuiButton__init_2(var_0, var_1, var_2, var_3, var_4, var_5) {
        var var_6 = new nms_GuiButton();
        nms_GuiButton__init_0(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
        return var_6;
    }
    function nms_GuiButton__init_($this, $var1, $var2, $var3, $var4) {
        nms_GuiButton__init_0($this, $var1, $var2, $var3, 200, 20, $var4);
    }
    function nms_GuiButton__init_0($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        nms_Gui__init_($this);
        $this.$width4 = 200;
        $this.$height5 = 20;
        $this.$enabled0 = 1;
        $this.$enabled2 = 1;
        $this.$id2 = $var1;
        $this.$xPosition2 = $var2;
        $this.$yPosition2 = $var3;
        $this.$width4 = $var4;
        $this.$height5 = $var5;
        $this.$displayString = $var6;
    }
    function nms_GuiButton_getHoverState($this, $var1) {
        var $var2;
        $var2 = 1;
        if (!$this.$enabled0)
            $var2 = 0;
        else if ($var1)
            $var2 = 2;
        return $var2;
    }
    function nms_GuiButton_drawButton($this, $var1, $var2, $var3) {
        var $var4, $var5, var$6, var$7, $var6, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var6 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$enabled2)
                return;
            $var4 = $var1.$fontRenderer;
            $var5 = 3553;
            var$6 = $var1.$renderEngine;
            var$7 = $rt_s(1733);
            $ptr = 1;
        case 1:
            $tmp = nms_RenderEngine_getTexture(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 2;
        case 2:
            olo_GL11_glBindTexture($var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 1.0;
            var$10 = 1.0;
            var$11 = 1.0;
            var$12 = 1.0;
            $ptr = 3;
        case 3:
            a: {
                nleo_GlStateManager_color(var$9, var$10, var$11, var$12);
                if ($rt_suspending()) {
                    break main;
                }
                $var5 = $this.$xPosition2;
                if ($var2 >= $var5) {
                    $var6 = $this.$yPosition2;
                    if ($var3 >= $var6 && $var2 < ($var5 + $this.$width4 | 0) && $var3 < ($var6 + $this.$height5 | 0)) {
                        $var5 = 1;
                        break a;
                    }
                }
                $var5 = 0;
            }
            $var6 = $this.$getHoverState($var5);
            var$13 = $this.$xPosition2;
            var$14 = $this.$yPosition2;
            var$15 = 0;
            $var6 = 46 + ($var6 * 20 | 0) | 0;
            var$16 = $this.$width4 / 2 | 0;
            var$17 = $this.$height5;
            $ptr = 4;
        case 4:
            nms_Gui_drawTexturedModalRect($this, var$13, var$14, var$15, $var6, var$16, var$17);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $this.$xPosition2;
            var$14 = $this.$width4 / 2 | 0;
            var$13 = var$13 + var$14 | 0;
            var$15 = $this.$yPosition2;
            var$16 = 200 - var$14 | 0;
            var$17 = $this.$height5;
            $ptr = 5;
        case 5:
            nms_Gui_drawTexturedModalRect($this, var$13, var$15, var$16, $var6, var$14, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $this.$mouseDragged($var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$enabled0) {
                $var1 = $this.$displayString;
                $var2 = $this.$xPosition2 + ($this.$width4 / 2 | 0) | 0;
                $var3 = $this.$yPosition2 + (($this.$height5 - 8 | 0) / 2 | 0) | 0;
                $var5 = (-6250336);
                $ptr = 7;
                continue main;
            }
            if (!$var5) {
                $var1 = $this.$displayString;
                $var2 = $this.$xPosition2 + ($this.$width4 / 2 | 0) | 0;
                $var3 = $this.$yPosition2 + (($this.$height5 - 8 | 0) / 2 | 0) | 0;
                $var5 = 14737632;
                $ptr = 8;
                continue main;
            }
            $var1 = $this.$displayString;
            $var2 = $this.$xPosition2 + ($this.$width4 / 2 | 0) | 0;
            $var3 = $this.$yPosition2 + (($this.$height5 - 8 | 0) / 2 | 0) | 0;
            $var5 = 16777120;
            $ptr = 9;
            continue main;
        case 7:
            nms_Gui_drawCenteredString($this, $var4, $var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            nms_Gui_drawCenteredString($this, $var4, $var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 9:
            nms_Gui_drawCenteredString($this, $var4, $var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, $var6, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr);
    }
    function nms_GuiButton_mouseDragged($this, $var1, $var2, $var3) {}
    function nms_GuiButton_mouseReleased($this, $var1, $var2) {}
    function nms_GuiButton_mousePressed($this, $var1, $var2, $var3) {
        var var$4, var$5;
        a: {
            if ($this.$enabled0) {
                var$4 = $this.$xPosition2;
                if ($var2 >= var$4) {
                    var$5 = $this.$yPosition2;
                    if ($var3 >= var$5 && $var2 < (var$4 + $this.$width4 | 0) && $var3 < (var$5 + $this.$height5 | 0)) {
                        $var2 = 1;
                        break a;
                    }
                }
            }
            $var2 = 0;
        }
        return $var2;
    }
    var otjt_ArrayBuffer = $rt_classWithoutFields();
    var otjt_Int16Array = $rt_classWithoutFields(otjt_ArrayBufferView);
    function jur_MatchResultImpl() {
        var a = this; jl_Object.call(a);
        a.$groupBounds = null;
        a.$consumers = null;
        a.$compQuantCounters = null;
        a.$string3 = null;
        a.$groupCount = 0;
        a.$valid = 0;
        a.$leftBound0 = 0;
        a.$rightBound0 = 0;
        a.$startIndex = 0;
        a.$transparentBounds = 0;
        a.$anchoringBounds = 0;
        a.$hitEnd = 0;
        a.$requireEnd = 0;
        a.$previousMatch = 0;
        a.$mode3 = 0;
    }
    function jur_MatchResultImpl_setConsumed($this, $counter, $value) {
        $this.$consumers.data[$counter] = $value;
    }
    function jur_MatchResultImpl_getConsumed($this, $counter) {
        return $this.$consumers.data[$counter];
    }
    function jur_MatchResultImpl_end($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 0;
            $ptr = 1;
        case 1:
            $tmp = jur_MatchResultImpl_end0($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function jur_MatchResultImpl_end0($this, $group) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$group = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_MatchResultImpl_checkGroup($this, $group);
            if ($rt_suspending()) {
                break main;
            }
            return $this.$groupBounds.data[($group * 2 | 0) + 1 | 0];
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $group, $ptr);
    }
    function jur_MatchResultImpl_setStart($this, $group, $offset) {
        $this.$groupBounds.data[$group * 2 | 0] = $offset;
    }
    function jur_MatchResultImpl_setEnd($this, $group, $offset) {
        $this.$groupBounds.data[($group * 2 | 0) + 1 | 0] = $offset;
    }
    function jur_MatchResultImpl_getStart($this, $group) {
        return $this.$groupBounds.data[$group * 2 | 0];
    }
    function jur_MatchResultImpl_getEnd($this, $group) {
        return $this.$groupBounds.data[($group * 2 | 0) + 1 | 0];
    }
    function jur_MatchResultImpl_start0($this, $group) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$group = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            jur_MatchResultImpl_checkGroup($this, $group);
            if ($rt_suspending()) {
                break main;
            }
            return $this.$groupBounds.data[$group * 2 | 0];
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $group, $ptr);
    }
    function jur_MatchResultImpl_getEnterCounter($this, $setCounter) {
        return $this.$compQuantCounters.data[$setCounter];
    }
    function jur_MatchResultImpl_setEnterCounter($this, $setCounter, $value) {
        $this.$compQuantCounters.data[$setCounter] = $value;
    }
    function jur_MatchResultImpl_checkGroup($this, $group) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$group = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$valid) {
                var$2 = new jl_IllegalStateException;
                jl_Throwable__init_0(var$2);
                $rt_throw(var$2);
            }
            if ($group >= 0 && $group < $this.$groupCount)
                return;
            var$2 = new jl_IndexOutOfBoundsException;
            $ptr = 1;
        case 1:
            $tmp = jl_String_valueOf1($group);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_Throwable__init_(var$2, var$3);
            $rt_throw(var$2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $group, var$2, var$3, $ptr);
    }
    function jur_MatchResultImpl_reset($this, $newSequence, $leftBound, $rightBound) {
        $this.$valid = 0;
        $this.$mode3 = 2;
        ju_Arrays_fill1($this.$groupBounds, (-1));
        ju_Arrays_fill1($this.$consumers, (-1));
        if ($newSequence !== null)
            $this.$string3 = $newSequence;
        if ($leftBound >= 0) {
            $this.$leftBound0 = $leftBound;
            $this.$rightBound0 = $rightBound;
        }
        $this.$startIndex = $this.$leftBound0;
    }
    function nms_WorldProvider() {
        var a = this; jl_Object.call(a);
        a.$worldObj7 = null;
        a.$worldChunkMgr = null;
        a.$field_4220_c = 0;
        a.$isHellWorld = 0;
        a.$field_6478_e = 0;
        a.$lightBrightnessTable = null;
        a.$worldType = 0;
        a.$colorsSunriseSunset = null;
    }
    function nms_WorldProvider__init_0() {
        var var_0 = new nms_WorldProvider();
        nms_WorldProvider__init_(var_0);
        return var_0;
    }
    function nms_WorldProvider__init_($this) {
        $this.$field_4220_c = 0;
        $this.$isHellWorld = 0;
        $this.$field_6478_e = 0;
        $this.$lightBrightnessTable = $rt_createFloatArray(16);
        $this.$worldType = 0;
        $this.$colorsSunriseSunset = $rt_createFloatArray(4);
    }
    function nms_WorldProvider_registerWorld($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$worldObj7 = $var1;
            $ptr = 1;
        case 1:
            $this.$registerWorldChunkManager();
            if ($rt_suspending()) {
                break main;
            }
            $this.$generateLightBrightnessTable();
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_WorldProvider_generateLightBrightnessTable($this) {
        var $var2, $var3;
        $var2 = 0;
        while ($var2 <= 15) {
            $var3 = 1.0 - $var2 / 15.0;
            $this.$lightBrightnessTable.data[$var2] = (1.0 - $var3) / ($var3 * 3.0 + 1.0) * 0.949999988079071 + 0.05000000074505806;
            $var2 = $var2 + 1 | 0;
        }
    }
    function nms_WorldProvider_registerWorldChunkManager($this) {
        var var$1, var$2, var$3, var$4;
        var$1 = new nms_WorldChunkManager;
        var$2 = $this.$worldObj7;
        var$3 = new nms_NoiseGeneratorOctaves2;
        var$4 = new ju_Random;
        nms_World_getRandomSeed(var$2);
        nms_NoiseGeneratorOctaves2__init_(var$3, var$4, 4);
        var$1.$field_4194_e = var$3;
        var$3 = new nms_NoiseGeneratorOctaves2;
        var$4 = new ju_Random;
        nms_World_getRandomSeed(var$2);
        nms_NoiseGeneratorOctaves2__init_(var$3, var$4, 4);
        var$1.$field_4193_f = var$3;
        var$3 = new nms_NoiseGeneratorOctaves2;
        var$4 = new ju_Random;
        nms_World_getRandomSeed(var$2);
        nms_NoiseGeneratorOctaves2__init_(var$3, var$4, 2);
        var$1.$field_4192_g = var$3;
        $this.$worldChunkMgr = var$1;
    }
    function nms_WorldProvider_getChunkProvider($this) {
        var var$1, var$2, var$3;
        var$1 = new nms_ChunkProviderGenerate;
        var$2 = $this.$worldObj7;
        nms_World_getRandomSeed(var$2);
        var$1.$sandNoise = $rt_createDoubleArray(256);
        var$1.$gravelNoise = $rt_createDoubleArray(256);
        var$1.$stoneNoise = $rt_createDoubleArray(256);
        var$3 = new nms_MapGenCaves;
        nms_MapGenBase__init_(var$3);
        var$1.$field_902_u = var$3;
        var$1.$field_914_i = $rt_createIntMultiArray([32, 32]);
        var$1.$worldObj8 = var$2;
        var$2 = new ju_Random;
        var$1.$rand6 = var$2;
        var$1.$field_912_k = nms_NoiseGeneratorOctaves__init_0(var$2, 16);
        var$1.$field_911_l = nms_NoiseGeneratorOctaves__init_0(var$1.$rand6, 16);
        var$1.$field_910_m = nms_NoiseGeneratorOctaves__init_0(var$1.$rand6, 8);
        var$1.$field_909_n = nms_NoiseGeneratorOctaves__init_0(var$1.$rand6, 4);
        var$1.$field_908_o = nms_NoiseGeneratorOctaves__init_0(var$1.$rand6, 4);
        var$1.$field_922_a = nms_NoiseGeneratorOctaves__init_0(var$1.$rand6, 10);
        var$1.$field_921_b = nms_NoiseGeneratorOctaves__init_0(var$1.$rand6, 16);
        var$1.$mobSpawnerNoise = nms_NoiseGeneratorOctaves__init_0(var$1.$rand6, 8);
        return var$1;
    }
    function nms_WorldProvider_canCoordinateBeSpawn($this, $var1, $var2) {
        var var$3, $var3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$worldObj7;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getFirstUncoveredBlock(var$3, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return $var3 != nms_Block_sand.$blockID ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, $ptr);
    }
    function nms_WorldProvider_calculateCelestialAngle($this, $var1, $var3) {
        var $var5;
        $var5 = (Long_lo(Long_rem($var1, Long_fromInt(24000))) + $var3) / 24000.0 - 0.25;
        if ($var5 < 0.0)
            $var5 = $var5 + 1.0;
        if ($var5 > 1.0)
            $var5 = $var5 - 1.0;
        return $var5 + (1.0 - (jl_Math_cos($var5 * 3.141592653589793) + 1.0) / 2.0 - $var5) / 3.0;
    }
    function nms_WorldProvider_calcSunriseSunsetColors($this, $var1, $var2) {
        var $var4, $var6, $var7, var$6, var$7;
        $var4 = nms_MathHelper_cos($var1 * 3.1415927410125732 * 2.0) - 0.0;
        if ($var4 >= (-0.4000000059604645) && $var4 <= 0.4000000059604645) {
            $var6 = ($var4 - 0.0) / 0.4000000059604645 * 0.5 + 0.5;
            $var7 = 1.0 - (1.0 - nms_MathHelper_sin($var6 * 3.1415927410125732)) * 0.9900000095367432;
            $var1 = $var7 * $var7;
            var$6 = $this.$colorsSunriseSunset;
            var$7 = var$6.data;
            var$7[0] = $var6 * 0.30000001192092896 + 0.699999988079071;
            $var2 = $var6 * $var6;
            var$7[1] = $var2 * 0.699999988079071 + 0.20000000298023224;
            var$7[2] = $var2 * 0.0 + 0.20000000298023224;
            var$7[3] = $var1;
            return var$6;
        }
        return null;
    }
    function nms_WorldProvider_func_4096_a($this, $var1, $var2) {
        var $var3;
        $var3 = nms_MathHelper_cos($var1 * 3.1415927410125732 * 2.0) * 2.0 + 0.5;
        if ($var3 < 0.0)
            $var3 = 0.0;
        if ($var3 > 1.0)
            $var3 = 1.0;
        $var1 = $var3 * 0.9399999976158142 + 0.05999999865889549;
        return nms_Vec3D_createVector(0.7529411911964417 * $var1, 0.8470588326454163 * $var1, 1.0 * ($var3 * 0.9100000262260437 + 0.09000000357627869));
    }
    function nms_WorldProvider_canRespawnHere($this) {
        return 1;
    }
    function nms_GuiTextField() {
        var a = this; nms_Gui.call(a);
        a.$fontRenderer3 = null;
        a.$xPos = 0;
        a.$yPos = 0;
        a.$width5 = 0;
        a.$height6 = 0;
        a.$text0 = null;
        a.$maxStringLength = 0;
        a.$cursorCounter = 0;
        a.$isFocused = 0;
        a.$isEnabled = 0;
    }
    function nms_GuiTextField__init_0(var_0, var_1, var_2, var_3, var_4, var_5) {
        var var_6 = new nms_GuiTextField();
        nms_GuiTextField__init_(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
        return var_6;
    }
    function nms_GuiTextField__init_($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        nms_Gui__init_($this);
        $this.$isFocused = 0;
        $this.$isEnabled = 1;
        $this.$fontRenderer3 = $var1;
        $this.$xPos = $var2;
        $this.$yPos = $var3;
        $this.$width5 = $var4;
        $this.$height6 = $var5;
        $this.$text0 = $var6;
    }
    function nms_GuiTextField_updateCursorCounter($this) {
        $this.$cursorCounter = $this.$cursorCounter + 1 | 0;
    }
    function nms_GuiTextField_textboxKeyTyped($this, $var1, $var2) {
        var var$3, var$4, $var4, var$6, var$7, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$isEnabled && $this.$isFocused) {
                a: {
                    if ($var1 != 16) {
                        if (!(!nlei_PlatformInput_keyboardIsKeyDown(29) && !nlei_PlatformInput_keyboardIsKeyDown(157) ? 0 : 1))
                            break a;
                        if ($var2 != 47)
                            break a;
                    }
                    $ptr = 1;
                    continue main;
                }
                if ($var2 == 14 && jl_String_length($this.$text0) > 0) {
                    var$3 = $this.$text0;
                    $this.$text0 = jl_String_substring0(var$3, 0, jl_String_length(var$3) - 1 | 0);
                    return;
                }
                $ptr = 6;
                continue main;
            }
            return;
        case 1:
            nle_EagRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nlei_PlatformApplication_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = null;
            try {
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            $ptr = 4;
            continue main;
        case 3:
            b: {
                try {
                    $tmp = nlei_PlatformApplication_getClipboard0();
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$4 = $tmp;
                    var$3 = var$4;
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 4;
                continue main;
            }
            a: {
                if (var$4 !== null)
                    var$3 = var$4;
                else {
                    try {
                        var$3 = otjb_Window_prompt($rt_s(2067));
                        var$4 = var$3;
                        break a;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                        } else {
                            throw $$e;
                        }
                    }
                    var$3 = var$4;
                }
            }
            if (var$3 === null)
                var$3 = $rt_s(3);
            $var4 = 32 - jl_String_length($this.$text0) | 0;
            if ($var4 > jl_String_length(var$3))
                $var4 = jl_String_length(var$3);
            if ($var4 > 0) {
                var$6 = $this.$text0;
                var$3 = jl_String_substring0(var$3, 0, $var4);
                var$4 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$4);
                $ptr = 9;
                continue main;
            }
            if ($var2 == 14 && jl_String_length($this.$text0) > 0) {
                var$3 = $this.$text0;
                $this.$text0 = jl_String_substring0(var$3, 0, jl_String_length(var$3) - 1 | 0);
                return;
            }
            $ptr = 6;
            continue main;
        case 4:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nlei_PlatformRuntime_logger;
            var$4 = $rt_s(2068);
            $ptr = 5;
        case 5:
            oall_Logger_error0(var$6, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = var$3;
            b: {
                if (var$4 !== null)
                    var$3 = var$4;
                else {
                    try {
                        var$3 = otjb_Window_prompt($rt_s(2067));
                        var$4 = var$3;
                        break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                        } else {
                            throw $$e;
                        }
                    }
                    var$3 = var$4;
                }
            }
            if (var$3 === null)
                var$3 = $rt_s(3);
            $var4 = 32 - jl_String_length($this.$text0) | 0;
            if ($var4 > jl_String_length(var$3))
                $var4 = jl_String_length(var$3);
            if ($var4 > 0) {
                var$6 = $this.$text0;
                var$3 = jl_String_substring0(var$3, 0, $var4);
                var$4 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$4);
                $ptr = 9;
                continue main;
            }
            if ($var2 == 14 && jl_String_length($this.$text0) > 0) {
                var$3 = $this.$text0;
                $this.$text0 = jl_String_substring0(var$3, 0, jl_String_length(var$3) - 1 | 0);
                return;
            }
            $ptr = 6;
        case 6:
            b: {
                $tmp = nms_FontAllowedCharacters_isAllowed($var1);
                if ($rt_suspending()) {
                    break main;
                }
                $var2 = $tmp;
                if ($var2 >= 0) {
                    $var2 = jl_String_length($this.$text0);
                    var$7 = $this.$maxStringLength;
                    if ($var2 < var$7)
                        break b;
                    if (!var$7)
                        break b;
                }
                return;
            }
            var$3 = $this.$text0;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            $ptr = 7;
        case 7:
            $tmp = jl_StringBuilder_append(var$4, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_AbstractStringBuilder_append(var$3, $var1);
            $ptr = 8;
        case 8:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$text0 = var$3;
            return;
        case 9:
            $tmp = jl_StringBuilder_append(var$4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 10;
        case 10:
            jl_StringBuilder_append(var$6, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$text0 = var$3;
            if ($var2 == 14 && jl_String_length($this.$text0) > 0) {
                var$3 = $this.$text0;
                $this.$text0 = jl_String_substring0(var$3, 0, jl_String_length(var$3) - 1 | 0);
                return;
            }
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $var4, var$6, var$7, $ptr);
    }
    function nms_GuiTextField_mouseClicked($this, $var1, $var2, $var3) {
        var $var4;
        a: {
            if ($this.$isEnabled) {
                $var3 = $this.$xPos;
                if ($var1 >= $var3 && $var1 < ($var3 + $this.$width5 | 0)) {
                    $var1 = $this.$yPos;
                    if ($var2 >= $var1 && $var2 < ($var1 + $this.$height6 | 0)) {
                        $var4 = 1;
                        break a;
                    }
                }
            }
            $var4 = 0;
        }
        if ($var4 && !$this.$isFocused)
            $this.$cursorCounter = 0;
        $this.$isFocused = $var4;
    }
    function nms_GuiTextField_drawTextBox($this) {
        var var$1, var$2, var$3, $var1, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var1 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$xPos;
            var$2 = var$1 - 1 | 0;
            var$3 = $this.$yPos;
            $var1 = var$3 - 1 | 0;
            var$1 = (var$1 + $this.$width5 | 0) + 1 | 0;
            var$3 = (var$3 + $this.$height6 | 0) + 1 | 0;
            var$5 = (-6250336);
            $ptr = 1;
        case 1:
            nms_Gui_drawRect($this, var$2, $var1, var$1, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$xPos;
            var$1 = $this.$yPos;
            var$2 = $var1 + $this.$width5 | 0;
            var$3 = var$1 + $this.$height6 | 0;
            var$5 = (-16777216);
            $ptr = 2;
        case 2:
            nms_Gui_drawRect($this, $var1, var$1, var$2, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            if (!$this.$isEnabled) {
                var$6 = $this.$fontRenderer3;
                var$7 = $this.$text0;
                var$1 = $this.$xPos + 4 | 0;
                $var1 = $this.$yPos + (($this.$height6 - 8 | 0) / 2 | 0) | 0;
                var$2 = 7368816;
                $ptr = 3;
                continue main;
            }
            $var1 = $this.$isFocused && !(($this.$cursorCounter / 6 | 0) % 2 | 0) ? 1 : 0;
            var$6 = $this.$fontRenderer3;
            var$7 = $this.$text0;
            var$8 = !$var1 ? $rt_s(3) : $rt_s(1869);
            var$9 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$9);
            $ptr = 4;
            continue main;
        case 3:
            nms_Gui_drawString($this, var$6, var$7, var$1, $var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            $tmp = jl_StringBuilder_append(var$9, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $ptr = 5;
        case 5:
            jl_StringBuilder_append(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $var1 = $this.$xPos + 4 | 0;
            var$1 = $this.$yPos + (($this.$height6 - 8 | 0) / 2 | 0) | 0;
            var$2 = 14737632;
            $ptr = 7;
        case 7:
            nms_Gui_drawString($this, var$6, var$7, $var1, var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $var1, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    var nms_EntityRainFX = $rt_classWithoutFields(nms_EntityFX);
    function nms_EntityRainFX__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_EntityRainFX();
        nms_EntityRainFX__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_EntityRainFX__init_($this, $var1, $var2, $var4, $var6) {
        var var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = 0.0;
            var$6 = 0.0;
            var$7 = 0.0;
            $ptr = 1;
        case 1:
            nms_EntityFX__init_($this, $var1, $var2, $var4, $var6, var$5, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $this.$motionX = $this.$motionX * 0.30000001192092896;
            $this.$motionY = jl_Math_random() * 0.20000000298023224 + 0.10000000149011612;
            $this.$motionZ = $this.$motionZ * 0.30000001192092896;
            $this.$particleRed = 1.0;
            $this.$particleGreen = 1.0;
            $this.$particleBlue = 1.0;
            $this.$particleTextureIndex = 19 + ju_Random_nextInt($this.$rand3, 4) | 0;
            nms_Entity_setSize($this, 0.009999999776482582, 0.009999999776482582);
            $this.$particleGravity = 0.05999999865889549;
            $this.$particleMaxAge = 8.0 / (jl_Math_random() * 0.8 + 0.2) | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, var$5, var$6, var$7, $ptr);
    }
    function nms_EntityRainFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_EntityRainFX_onUpdate($this) {
        var $var2, var$2, var$3, var$4, $var1, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var1 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var2 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$prevPosX = $this.$posX;
            $this.$prevPosY = $this.$posY;
            $this.$prevPosZ = $this.$posZ;
            $var2 = $this.$motionY - $this.$particleGravity;
            $this.$motionY = $var2;
            var$2 = $this.$motionX;
            var$3 = $this.$motionZ;
            $ptr = 1;
        case 1:
            nms_Entity_moveEntity($this, var$2, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$motionX = $this.$motionX * 0.9800000190734863;
            $this.$motionY = $this.$motionY * 0.9800000190734863;
            $this.$motionZ = $this.$motionZ * 0.9800000190734863;
            var$4 = $this.$particleMaxAge;
            $this.$particleMaxAge = var$4 - 1 | 0;
            if (var$4 <= 0) {
                $ptr = 2;
                continue main;
            }
            if ($this.$onGround0) {
                if (jl_Math_random() < 0.5) {
                    $ptr = 5;
                    continue main;
                }
                $this.$motionX = $this.$motionX * 0.699999988079071;
                $this.$motionZ = $this.$motionZ * 0.699999988079071;
            }
            $var1 = $this.$worldObj0;
            var$4 = nms_MathHelper_floor_double($this.$posX);
            var$6 = nms_MathHelper_floor_double($this.$posY);
            var$7 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 3;
            continue main;
        case 2:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$onGround0) {
                if (jl_Math_random() < 0.5) {
                    $ptr = 5;
                    continue main;
                }
                $this.$motionX = $this.$motionX * 0.699999988079071;
                $this.$motionZ = $this.$motionZ * 0.699999988079071;
            }
            $var1 = $this.$worldObj0;
            var$4 = nms_MathHelper_floor_double($this.$posX);
            var$6 = nms_MathHelper_floor_double($this.$posY);
            var$7 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockMaterial($var1, var$4, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!$var1.$getIsLiquid() && !$var1.$isSolid())
                return;
            var$8 = nms_MathHelper_floor_double($this.$posY) + 1 | 0;
            $var1 = $this.$worldObj0;
            var$4 = nms_MathHelper_floor_double($this.$posX);
            var$6 = nms_MathHelper_floor_double($this.$posY);
            var$7 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockMetadata($var1, var$4, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $var2 = var$8 - nms_BlockFluids_getPercentAir(var$4);
            if ($this.$posY >= $var2)
                return;
            $ptr = 6;
            continue main;
        case 5:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
            $var1 = $this.$worldObj0;
            var$4 = nms_MathHelper_floor_double($this.$posX);
            var$6 = nms_MathHelper_floor_double($this.$posY);
            var$7 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 3;
            continue main;
        case 6:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var2, var$2, var$3, var$4, $var1, var$6, var$7, var$8, $ptr);
    }
    function nms_Slot() {
        var a = this; jl_Object.call(a);
        a.$slotIndex = 0;
        a.$inventory0 = null;
        a.$slotNumber = 0;
        a.$xDisplayPosition = 0;
        a.$yDisplayPosition = 0;
    }
    function nms_Slot__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_Slot();
        nms_Slot__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_Slot__init_($this, $var1, $var2, $var3, $var4) {
        $this.$inventory0 = $var1;
        $this.$slotIndex = $var2;
        $this.$xDisplayPosition = $var3;
        $this.$yDisplayPosition = $var4;
    }
    function nms_Slot_onPickupFromSlot($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Slot_onSlotChanged($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Slot_isItemValid($this, $var1) {
        return 1;
    }
    function nms_Slot_getStack($this) {
        return $this.$inventory0.$getStackInSlot($this.$slotIndex);
    }
    function nms_Slot_getHasStack($this) {
        return nms_Slot_getStack($this) === null ? 0 : 1;
    }
    function nms_Slot_putStack($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$inventory0;
            var$3 = $this.$slotIndex;
            $ptr = 1;
        case 1:
            var$2.$setInventorySlotContents(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_Slot_onSlotChanged($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_Slot_onSlotChanged($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$inventory0;
            $ptr = 1;
        case 1:
            var$1.$onInventoryChanged();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_Slot_getSlotStackLimit($this) {
        return $this.$inventory0.$getInventoryStackLimit();
    }
    function nms_Slot_getBackgroundIconIndex($this) {
        return (-1);
    }
    function nms_Slot_decrStackSize($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$inventory0;
            var$3 = $this.$slotIndex;
            $ptr = 1;
        case 1:
            $tmp = var$2.$decrStackSize(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_Slot_func_25014_f($this) {
        return 0;
    }
    var ju_FormatterClosedException = $rt_classWithoutFields(jl_IllegalStateException);
    function ju_FormatterClosedException__init_0() {
        var var_0 = new ju_FormatterClosedException();
        ju_FormatterClosedException__init_(var_0);
        return var_0;
    }
    function ju_FormatterClosedException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function jl_ClassLoader() {
        jl_Object.call(this);
        this.$parent0 = null;
    }
    var jl_ClassLoader_systemClassLoader = null;
    var jl_ClassLoader_resources = null;
    function jl_ClassLoader_$callClinit() {
        jl_ClassLoader_$callClinit = $rt_eraseClinit(jl_ClassLoader);
        jl_ClassLoader__clinit_();
    }
    function jl_ClassLoader_getResourceAsStream($this, $name) {
        var $dataString, $bytes, var$4, $i, var$6, var$7, var$8, var$9;
        jl_ClassLoader_$callClinit();
        if (jl_ClassLoader_resources === null)
            jl_ClassLoader_resources = {};
        $dataString = $rt_str(jl_ClassLoader_resourceToString$js_body$_6(jl_ClassLoader_resources[$rt_ustr($name)]));
        if ($dataString === null)
            return null;
        $bytes = $rt_createByteArray(jl_String_length($dataString));
        var$4 = $bytes.data;
        $i = 0;
        var$6 = var$4.length;
        while ($i < var$6) {
            var$4[$i] = jl_String_charAt($dataString, $i) << 24 >> 24;
            $i = $i + 1 | 0;
        }
        $name = new ji_ByteArrayInputStream;
        var$7 = otci_Base64Impl_reverse;
        var$8 = (var$6 / 4 | 0) * 3 | 0;
        var$9 = var$6 % 4 | 0;
        if (!(var$9 != 2 && var$9 != 3))
            var$8 = var$8 + (var$9 - 1 | 0) | 0;
        $i = var$6 - 1 | 0;
        while ($i >= 0 && var$4[$i] == 61) {
            var$8 = var$8 + (-1) | 0;
            $i = $i + (-1) | 0;
        }
        var$4 = $rt_createByteArray(var$8);
        otci_Base64Impl_decode1($bytes, var$4, var$7);
        ji_ByteArrayInputStream__init_0($name, var$4);
        return $name;
    }
    function jl_ClassLoader__clinit_() {
        jl_ClassLoader_systemClassLoader = jl_SystemClassLoader__init_0();
    }
    function jl_ClassLoader_resourceToString$js_body$_6(var$1) {
        return var$1 !== null && var$1 !== void 0 ? var$1 : null;
    }
    function nleit_DebugConsoleWindow$LogMessage() {
        var a = this; jl_Object.call(a);
        a.$err0 = 0;
        a.$msg0 = null;
    }
    function nleit_DebugConsoleWindow$LogMessage__init_(var_0, var_1) {
        var var_2 = new nleit_DebugConsoleWindow$LogMessage();
        nleit_DebugConsoleWindow$LogMessage__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function nleit_DebugConsoleWindow$LogMessage__init_0($this, $err, $msg) {
        $this.$err0 = $err;
        $this.$msg0 = $msg;
    }
    function ji_ByteArrayOutputStream() {
        var a = this; ji_OutputStream.call(a);
        a.$buf4 = null;
        a.$count7 = 0;
    }
    function ji_ByteArrayOutputStream__init_1() {
        var var_0 = new ji_ByteArrayOutputStream();
        ji_ByteArrayOutputStream__init_(var_0);
        return var_0;
    }
    function ji_ByteArrayOutputStream__init_2(var_0) {
        var var_1 = new ji_ByteArrayOutputStream();
        ji_ByteArrayOutputStream__init_0(var_1, var_0);
        return var_1;
    }
    function ji_ByteArrayOutputStream__init_($this) {
        ji_ByteArrayOutputStream__init_0($this, 32);
    }
    function ji_ByteArrayOutputStream__init_0($this, $size) {
        $this.$buf4 = $rt_createByteArray($size);
    }
    function ji_ByteArrayOutputStream_write0($this, $b) {
        var var$2, var$3;
        ji_ByteArrayOutputStream_ensureCapacity($this, $this.$count7 + 1 | 0);
        var$2 = $this.$buf4.data;
        var$3 = $this.$count7;
        $this.$count7 = var$3 + 1 | 0;
        var$2[var$3] = $b << 24 >> 24;
    }
    function ji_ByteArrayOutputStream_write($this, $b, $off, $len) {
        var $i, var$5, var$6, var$7, var$8;
        ji_ByteArrayOutputStream_ensureCapacity($this, $this.$count7 + $len | 0);
        $i = 0;
        while ($i < $len) {
            var$5 = $b.data;
            var$6 = $this.$buf4.data;
            var$7 = $this.$count7;
            $this.$count7 = var$7 + 1 | 0;
            var$8 = $off + 1 | 0;
            var$6[var$7] = var$5[$off];
            $i = $i + 1 | 0;
            $off = var$8;
        }
    }
    function ji_ByteArrayOutputStream_ensureCapacity($this, $capacity) {
        var var$2;
        var$2 = $this.$buf4.data.length;
        if (var$2 < $capacity) {
            $capacity = jl_Math_max($capacity, (var$2 * 3 | 0) / 2 | 0);
            $this.$buf4 = ju_Arrays_copyOf1($this.$buf4, $capacity);
        }
    }
    function ji_ByteArrayOutputStream_toByteArray($this) {
        return ju_Arrays_copyOf1($this.$buf4, $this.$count7);
    }
    var ji_DataOutput = $rt_classWithoutFields(0);
    function ji_DataOutputStream() {
        var a = this; ji_FilterOutputStream.call(a);
        a.$written = 0;
        a.$buff0 = null;
    }
    function ji_DataOutputStream__init_0(var_0) {
        var var_1 = new ji_DataOutputStream();
        ji_DataOutputStream__init_(var_1, var_0);
        return var_1;
    }
    function ji_DataOutputStream__init_($this, $out) {
        ji_FilterOutputStream__init_0($this, $out);
        $this.$buff0 = $rt_createByteArray(8);
    }
    function ji_DataOutputStream_write($this, $buffer, $offset, $count) {
        var var$4;
        if ($buffer !== null) {
            $this.$out0.$write($buffer, $offset, $count);
            $this.$written = $this.$written + $count | 0;
            return;
        }
        var$4 = new jl_NullPointerException;
        jl_Throwable__init_0(var$4);
        $rt_throw(var$4);
    }
    function ji_DataOutputStream_write0($this, $oneByte) {
        $this.$out0.$write3($oneByte);
        $this.$written = $this.$written + 1 | 0;
    }
    function ji_DataOutputStream_writeByte($this, $val) {
        $this.$out0.$write3($val);
        $this.$written = $this.$written + 1 | 0;
    }
    function ji_DataOutputStream_writeDouble($this, $val) {
        ji_DataOutputStream_writeLong($this, jl_Double_doubleToLongBits($val));
    }
    function ji_DataOutputStream_writeFloat($this, $val) {
        ji_DataOutputStream_writeInt($this, jl_Float_floatToIntBits($val));
    }
    function ji_DataOutputStream_writeInt($this, $val) {
        var var$2, var$3;
        var$2 = $this.$buff0;
        var$3 = var$2.data;
        var$3[0] = $val >> 24 << 24 >> 24;
        var$3[1] = $val >> 16 << 24 >> 24;
        var$3[2] = $val >> 8 << 24 >> 24;
        var$3[3] = $val << 24 >> 24;
        $this.$out0.$write(var$2, 0, 4);
        $this.$written = $this.$written + 4 | 0;
    }
    function ji_DataOutputStream_writeLong($this, $val) {
        var var$2, var$3;
        var$2 = $this.$buff0;
        var$3 = var$2.data;
        var$3[0] = Long_lo(Long_shr($val, 56)) << 24 >> 24;
        var$3[1] = Long_lo(Long_shr($val, 48)) << 24 >> 24;
        var$3[2] = Long_lo(Long_shr($val, 40)) << 24 >> 24;
        var$3[3] = Long_hi($val) << 24 >> 24;
        var$3[4] = Long_lo(Long_shr($val, 24)) << 24 >> 24;
        var$3[5] = Long_lo(Long_shr($val, 16)) << 24 >> 24;
        var$3[6] = Long_lo(Long_shr($val, 8)) << 24 >> 24;
        var$3[7] = Long_lo($val) << 24 >> 24;
        $this.$out0.$write(var$2, 0, 8);
        $this.$written = $this.$written + 8 | 0;
    }
    function ji_DataOutputStream_writeShort($this, $val) {
        var var$2, var$3;
        var$2 = $this.$buff0;
        var$3 = var$2.data;
        var$3[0] = $val >> 8 << 24 >> 24;
        var$3[1] = $val << 24 >> 24;
        $this.$out0.$write(var$2, 0, 2);
        $this.$written = $this.$written + 2 | 0;
    }
    function ji_DataOutputStream_writeUTF($this, $str) {
        var var$2, var$3, $offset, var$5, $utfCount, $buffer, var$8, var$9, var$10, var$11;
        var$2 = 0;
        var$3 = jl_String_length($str);
        $offset = 0;
        while ($offset < var$3) {
            var$5 = jl_String_charAt($str, $offset);
            var$2 = var$5 > 0 && var$5 <= 127 ? var$2 + 1 | 0 : var$5 > 2047 ? var$2 + 3 | 0 : var$2 + 2 | 0;
            $offset = $offset + 1 | 0;
        }
        $utfCount = Long_fromInt(var$2);
        if (Long_gt($utfCount, Long_fromInt(65535))) {
            $str = new ji_IOException;
            jl_Throwable__init_($str, $rt_s(2069));
            $rt_throw($str);
        }
        var$2 = Long_lo($utfCount);
        $buffer = $rt_createByteArray(var$2 + 2 | 0);
        var$8 = $buffer.data;
        var$8[0] = var$2 >> 8 << 24 >> 24;
        var$9 = 2;
        var$8[1] = var$2 << 24 >> 24;
        $offset = jl_String_length($str);
        var$5 = 0;
        while (var$5 < $offset) {
            var$10 = jl_String_charAt($str, var$5);
            if (var$10 > 0 && var$10 <= 127) {
                var$2 = var$9 + 1 | 0;
                var$8[var$9] = var$10 << 24 >> 24;
            } else if (var$10 <= 2047) {
                var$3 = var$9 + 1 | 0;
                var$8[var$9] = (192 | 31 & var$10 >> 6) << 24 >> 24;
                var$2 = var$3 + 1 | 0;
                var$8[var$3] = (128 | 63 & var$10) << 24 >> 24;
            } else {
                var$11 = var$9 + 1 | 0;
                var$8[var$9] = (224 | 15 & var$10 >> 12) << 24 >> 24;
                var$3 = var$11 + 1 | 0;
                var$8[var$11] = (128 | 63 & var$10 >> 6) << 24 >> 24;
                var$2 = var$3 + 1 | 0;
                var$8[var$3] = (128 | 63 & var$10) << 24 >> 24;
            }
            var$5 = var$5 + 1 | 0;
            var$9 = var$2;
        }
        ji_DataOutputStream_write($this, $buffer, 0, var$9);
    }
    var otcit_FloatSynthesizer = $rt_classWithoutFields();
    var otcit_FloatSynthesizer_mantissa10Table = null;
    var otcit_FloatSynthesizer_exp10Table = null;
    function otcit_FloatSynthesizer__init_0() {
        var var_0 = new otcit_FloatSynthesizer();
        otcit_FloatSynthesizer__init_(var_0);
        return var_0;
    }
    function otcit_FloatSynthesizer__init_($this) {}
    function otcit_FloatSynthesizer__clinit_() {
        otcit_FloatSynthesizer_mantissa10Table = $rt_createIntArrayFromData([(-1598972629), (-924973963), (-82475629), (-1662160004), (-1003958181), (-181205903), (-1723866425), (-1081091207), (-277622185), (-1784126602), (-1156416428), (-371778711), (-1842974431), (-1229976214), (-463728444), (-1900443013), (-1301811943), (-553523104), (-1956564676), (-1371964021), (-641213203), (-2011370988), (-1440471911), (-726848064), (-2064892776), (-1507374146), (-810475859), (-2117160148), (-1572708361), (-892143627),
        (-41437709), (-1636511304), (-971897307), (-141129809), (-1698818867), (-1049781759), (-238485375), (-1759666096), (-1125840795), (-333559170), (-1819087217), (-1200117198), (-426404673), (-1877115657), (-1272652747), (-517074110), (-1933784055), (-1343488244), (-605618481), (-1989124287), (-1412663534), (-692087594), (-2043167482), (-1480217529), (-776530087), (-2095944040), (-1546188227), (-858993459), (-2147483648), (-1610612736), (-939524096), (-100663296), (-1673527296), (-1018167296), (-198967296),
        (-1734967296), (-1094967296), (-294967296), (-1794967296), (-1169967296), (-388717296), (-1853561046), (-1243209483), (-480270030), (-1910781505), (-1314735057), (-569676998), (-1966660859), (-1384584250), (-656988489), (-2021230542), (-1452796353), (-742253617), (-2074521247), (-1519409734), (-825520344), (-2126562951), (-1584461865), (-906835507), (-59802560), (-1647989336), (-986244846), (-159064233), (-1710027882), (-1063793028), (-255999461), (-1770612399), (-1139523675), (-350662770), (-1829776967)]);
        otcit_FloatSynthesizer_exp10Table = $rt_createIntArrayFromData([(-35), (-32), (-29), (-25), (-22), (-19), (-15), (-12), (-9), (-5), (-2), 1, 5, 8, 11, 15, 18, 21, 25, 28, 31, 35, 38, 41, 45, 48, 51, 55, 58, 61, 64, 68, 71, 74, 78, 81, 84, 88, 91, 94, 98, 101, 104, 108, 111, 114, 118, 121, 124, 128, 131, 134, 138, 141, 144, 148, 151, 154, 158, 161, 164, 167, 171, 174, 177, 181, 184, 187, 191, 194, 197, 201, 204, 207, 211, 214, 217, 221, 224, 227, 231, 234, 237, 241, 244, 247, 251, 254, 257, 260, 264,
        267, 270, 274, 277, 280, 284, 287, 290, 294]);
    }
    var otcit_FloatAnalyzer = $rt_classWithoutFields();
    var otcit_FloatAnalyzer_MAX_MANTISSA = 0;
    var otcit_FloatAnalyzer_mantissa10Table = null;
    var otcit_FloatAnalyzer_exp10Table = null;
    function otcit_FloatAnalyzer__init_0() {
        var var_0 = new otcit_FloatAnalyzer();
        otcit_FloatAnalyzer__init_(var_0);
        return var_0;
    }
    function otcit_FloatAnalyzer__init_($this) {}
    function otcit_FloatAnalyzer_analyze($d, $result) {
        var $bits, $mantissa, $exponent, var$6, $decExponent, $posCmp, $upperPos, $mantissaShift, $decMantissa, $decMantissaHi, $decMantissaLow, $lowerPos, $lowerPos_0, $upperPos_0;
        $bits = jl_Float_floatToIntBits($d);
        $result.$sign = !($bits & (-2147483648)) ? 0 : 1;
        $mantissa = $bits & 8388607;
        $exponent = $bits >> 23 & 255;
        if (!$mantissa && !$exponent) {
            $result.$mantissa = 0;
            $result.$exponent = 0;
            return;
        }
        if ($exponent)
            $bits = $mantissa | 8388608;
        else {
            $bits = $mantissa << 1;
            while (Long_eq(Long_and(Long_fromInt($bits), Long_fromInt(8388608)), Long_ZERO)) {
                $bits = $bits << 1;
                $exponent = $exponent + (-1) | 0;
            }
        }
        var$6 = otcit_FloatAnalyzer_exp10Table.data;
        $mantissa = 0;
        $decExponent = var$6.length;
        if ($mantissa > $decExponent) {
            $result = new jl_IllegalArgumentException;
            jl_Throwable__init_0($result);
            $rt_throw($result);
        }
        $posCmp = $decExponent - 1 | 0;
        a: {
            while (true) {
                if ($mantissa > $posCmp) {
                    $decExponent = ( -$mantissa | 0) - 1 | 0;
                    break a;
                }
                $decExponent = ($mantissa + $posCmp | 0) / 2 | 0;
                $upperPos = var$6[$decExponent];
                if ($upperPos == $exponent)
                    break;
                if ($exponent >= $upperPos)
                    $mantissa = $decExponent + 1 | 0;
                else
                    $posCmp = $decExponent - 1 | 0;
            }
        }
        if ($decExponent < 0)
            $decExponent =  -$decExponent | 0;
        $mantissa = $decExponent + 1 | 0;
        $mantissaShift = 9 + ($exponent - var$6[$mantissa] | 0) | 0;
        $decMantissa = otcit_FloatAnalyzer_mulAndShiftRight($bits, otcit_FloatAnalyzer_mantissa10Table.data[$mantissa], $mantissaShift);
        if ($decMantissa < otcit_FloatAnalyzer_MAX_MANTISSA) {
            while ($rt_ucmp($decMantissa, otcit_FloatAnalyzer_MAX_MANTISSA) <= 0) {
                $decExponent = $decExponent + (-1) | 0;
                $decMantissa = ($decMantissa * 10 | 0) + 9 | 0;
            }
            var$6 = otcit_FloatAnalyzer_exp10Table.data;
            $mantissa = $decExponent + 1 | 0;
            $mantissaShift = 9 + ($exponent - var$6[$mantissa] | 0) | 0;
            $decMantissa = otcit_FloatAnalyzer_mulAndShiftRight($bits, otcit_FloatAnalyzer_mantissa10Table.data[$mantissa], $mantissaShift);
        }
        $mantissa = $bits << 1;
        $bits = $mantissa + 1 | 0;
        var$6 = otcit_FloatAnalyzer_mantissa10Table.data;
        $exponent = $decExponent + 1 | 0;
        $posCmp = var$6[$exponent];
        $upperPos = $mantissaShift - 1 | 0;
        $decMantissaHi = otcit_FloatAnalyzer_mulAndShiftRight($bits, $posCmp, $upperPos);
        $decMantissaLow = otcit_FloatAnalyzer_mulAndShiftRight($mantissa - 1 | 0, otcit_FloatAnalyzer_mantissa10Table.data[$exponent], $upperPos);
        $lowerPos = 1;
        while (true) {
            $lowerPos_0 = $lowerPos * 10 | 0;
            if ($rt_ucmp($rt_udiv($decMantissa, $lowerPos_0), $rt_udiv($decMantissaLow, $lowerPos_0)) <= 0)
                break;
            $lowerPos = $lowerPos_0;
        }
        $upperPos = 1;
        while (true) {
            $upperPos_0 = $upperPos * 10 | 0;
            if ($rt_ucmp($rt_udiv($decMantissa, $upperPos_0), $rt_udiv($decMantissaHi, $upperPos_0)) >= 0)
                break;
            $upperPos = $upperPos_0;
        }
        $posCmp = $rt_ucmp($lowerPos, $upperPos);
        $mantissa = $posCmp > 0 ? $rt_imul($rt_udiv($decMantissa, $lowerPos), $lowerPos) : $posCmp < 0 ? $rt_imul($rt_udiv($decMantissa, $upperPos), $upperPos) + $upperPos | 0 : $rt_imul($rt_udiv(($decMantissa + ($upperPos / 2 | 0) | 0), $upperPos), $upperPos);
        if (jl_Long_compareUnsigned(Long_fromInt($mantissa), Long_fromInt(1000000000)) >= 0)
            while (true) {
                $decExponent = $decExponent + 1 | 0;
                $mantissa = $rt_udiv($mantissa, 10);
                if ($rt_ucmp($mantissa, 1000000000) < 0)
                    break;
            }
        else if ($rt_ucmp($mantissa, 100000000) < 0) {
            $decExponent = $decExponent + (-1) | 0;
            $mantissa = $mantissa * 10 | 0;
        }
        $result.$mantissa = $mantissa;
        $result.$exponent = $decExponent - 50 | 0;
    }
    function otcit_FloatAnalyzer_mulAndShiftRight($a, $b, $shift) {
        return Long_lo(Long_shru(Long_mul(Long_and(Long_fromInt($a), Long_create(4294967295, 0)), Long_and(Long_fromInt($b), Long_create(4294967295, 0))), 32 - $shift | 0));
    }
    function otcit_FloatAnalyzer__clinit_() {
        otcit_FloatAnalyzer_MAX_MANTISSA = $rt_udiv((-1), 10);
        otcit_FloatAnalyzer_mantissa10Table = $rt_createIntArrayFromData([(-18543760), (-873828468), (-1558056233), (-2105438446), (-791721136), (-1492370368), (-2052889754), (-707643228), (-1425108042), (-1999079893), (-621547450), (-1356231419), (-1943978595), (-533385374), (-1285701758), (-1887554866), (-443107408), (-1213479385), (-1829776968), (-350662770), (-1139523676), (-1770612400), (-255999462), (-1063793029), (-1710027882), (-159064234), (-986244846), (-1647989336), (-59802560), (-906835507), (-1584461865),
        (-2126562952), (-825520345), (-1519409735), (-2074521247), (-742253618), (-1452796353), (-2021230542), (-656988489), (-1384584251), (-1966660860), (-569676998), (-1314735058), (-1910781505), (-480270031), (-1243209484), (-1853561046), (-388717296), (-1169967296), (-1794967296), (-294967296), (-1094967296), (-1734967296), (-198967296), (-1018167296), (-1673527296), (-100663296), (-939524096), (-1610612736), (-2147483648), (-858993460), (-1546188227), (-2095944041), (-776530088), (-1480217529), (-2043167483),
        (-692087595), (-1412663535), (-1989124287), (-605618482), (-1343488245), (-1933784055), (-517074110), (-1272652747), (-1877115657), (-426404674), (-1200117198), (-1819087218), (-333559171), (-1125840796), (-1759666096), (-238485376), (-1049781760), (-1698818867), (-141129810), (-971897307), (-1636511305), (-41437710), (-892143627), (-1572708361), (-2117160148), (-810475859), (-1507374147), (-2064892777), (-726848065), (-1440471911), (-2011370988), (-641213203), (-1371964022), (-1956564688)]);
        otcit_FloatAnalyzer_exp10Table = $rt_createIntArrayFromData([(-37), (-34), (-31), (-28), (-24), (-21), (-18), (-14), (-11), (-8), (-4), (-1), 2, 6, 9, 12, 16, 19, 22, 26, 29, 32, 36, 39, 42, 46, 49, 52, 56, 59, 62, 65, 69, 72, 75, 79, 82, 85, 89, 92, 95, 99, 102, 105, 109, 112, 115, 119, 122, 125, 129, 132, 135, 139, 142, 145, 149, 152, 155, 158, 162, 165, 168, 172, 175, 178, 182, 185, 188, 192, 195, 198, 202, 205, 208, 212, 215, 218, 222, 225, 228, 232, 235, 238, 242, 245, 248, 252, 255, 258, 261, 265,
        268, 271, 275, 278, 281, 285, 288, 291]);
    }
    function nms_DataWatcher() {
        var a = this; jl_Object.call(a);
        a.$watchedObjects = null;
        a.$objectChanged = 0;
    }
    var nms_DataWatcher_dataTypes = null;
    var nms_DataWatcher_$clinitCalled = false;
    function nms_DataWatcher_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_DataWatcher_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_DataWatcher_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_DataWatcher__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_DataWatcher_$callClinit = $rt_eraseClinit(nms_DataWatcher);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_DataWatcher__init_0() {
        var var_0 = new nms_DataWatcher();
        nms_DataWatcher__init_(var_0);
        return var_0;
    }
    function nms_DataWatcher__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_DataWatcher_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$watchedObjects = ju_HashMap__init_0();
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_DataWatcher_addObject($this, $var1, $var2) {
        var $var3, $var4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_DataWatcher_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_DataWatcher_dataTypes;
            $var4 = jl_Object_getClass($var2);
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get($var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var3 = $var3;
            if ($var3 === null) {
                $var3 = new jl_IllegalArgumentException;
                $var2 = jl_Object_getClass($var2);
                $ptr = 3;
                continue main;
            }
            if ($var1 <= 31) {
                $var4 = $this.$watchedObjects;
                var$5 = jl_Integer_valueOf($var1);
                $ptr = 7;
                continue main;
            }
            $var2 = new jl_IllegalArgumentException;
            $var3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var3);
            $var4 = $rt_s(2070);
            $ptr = 8;
            continue main;
        case 3:
            $tmp = jl_String_valueOf($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var4);
            var$5 = $rt_s(2071);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append($var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 5;
        case 5:
            jl_StringBuilder_append(var$5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString($var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            jl_Throwable__init_($var3, $var2);
            $rt_throw($var3);
        case 7:
            $tmp = ju_HashMap_containsKey($var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6) {
                $var2 = new jl_IllegalArgumentException;
                $var3 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var3);
                $var4 = $rt_s(2072);
                $ptr = 12;
                continue main;
            }
            $var4 = nms_WatchableObject__init_0($var3.$value, $var1, $var2);
            $var2 = $this.$watchedObjects;
            $var3 = jl_Integer_valueOf($var1);
            $ptr = 11;
            continue main;
        case 8:
            $tmp = jl_StringBuilder_append($var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            jl_AbstractStringBuilder_append0($var4, $var1);
            var$5 = $rt_s(2073);
            $ptr = 9;
        case 9:
            jl_StringBuilder_append($var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            $tmp = jl_AbstractStringBuilder_toString($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            jl_Throwable__init_($var2, $var3);
            $rt_throw($var2);
        case 11:
            ju_HashMap_putImpl($var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 12:
            $tmp = jl_StringBuilder_append($var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            jl_AbstractStringBuilder_append0($var4, $var1);
            jl_AbstractStringBuilder_append($var4, 33);
            $ptr = 13;
        case 13:
            $tmp = jl_AbstractStringBuilder_toString($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            jl_Throwable__init_($var2, $var3);
            $rt_throw($var2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $ptr);
    }
    function nms_DataWatcher_getWatchableObjectByte($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$watchedObjects;
            var$3 = jl_Integer_valueOf($var1);
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_get(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2.$watchedObject.$value11;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_DataWatcher_func_25115_b($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$watchedObjects;
            var$3 = jl_Integer_valueOf($var1);
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_get(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2.$watchedObject.$value;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_DataWatcher_updateObject($this, $var1, $var2) {
        var $var3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $this.$watchedObjects;
            var$4 = jl_Integer_valueOf($var1);
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_get($var3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var3 = $var3;
            var$4 = $var3.$watchedObject;
            $ptr = 2;
        case 2:
            $tmp = $var2.$equals(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!$var1) {
                $var3.$watchedObject = $var2;
                $var3.$isWatching = 1;
                $this.$objectChanged = 1;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_DataWatcher_readWatchableObjects($var0) {
        var $var1, $var2, $var3, $var4, $var5, var$7, var$8, $var6, $var7, $var8, $var9, $var10, $var11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_DataWatcher_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = null;
            $var2 = ji_DataInputStream_readByte($var0);
            if ($var2 == 127)
                return $var1;
            if ($var1 === null)
                $var1 = ju_ArrayList__init_0();
            a: {
                $var3 = ($var2 & 224) >> 5;
                $var4 = $var2 & 31;
                $var5 = null;
                switch ($var3) {
                    case 0:
                        $var5 = nms_WatchableObject__init_0($var3, $var4, jl_Byte_valueOf(ji_DataInputStream_readByte($var0)));
                        break a;
                    case 1:
                        $var5 = new nms_WatchableObject;
                        $ptr = 2;
                        continue main;
                    case 2:
                        $var5 = new nms_WatchableObject;
                        $ptr = 3;
                        continue main;
                    case 3:
                        $var5 = new nms_WatchableObject;
                        $ptr = 4;
                        continue main;
                    case 4:
                        $var5 = new nms_WatchableObject;
                        $ptr = 5;
                        continue main;
                    case 5:
                        $ptr = 6;
                        continue main;
                    case 6:
                        $ptr = 8;
                        continue main;
                    default:
                }
            }
            $ptr = 11;
            continue main;
        case 2:
            $tmp = ji_DataInputStream_readShort($var0);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$7 = new jl_Short;
            var$7.$value12 = $var2;
            nms_WatchableObject__init_($var5, $var3, $var4, var$7);
            $ptr = 11;
            continue main;
        case 3:
            $tmp = ji_DataInputStream_readInt($var0);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            nms_WatchableObject__init_($var5, $var3, $var4, jl_Integer_valueOf($var2));
            $ptr = 11;
            continue main;
        case 4:
            $tmp = ji_DataInputStream_readFloat($var0);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            var$7 = new jl_Float;
            var$7.$value9 = var$8;
            nms_WatchableObject__init_($var5, $var3, $var4, var$7);
            $ptr = 11;
            continue main;
        case 5:
            $tmp = ji_DataInputStream_readUTF($var0);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            nms_WatchableObject__init_($var5, $var3, $var4, var$7);
            $ptr = 11;
            continue main;
        case 6:
            $tmp = ji_DataInputStream_readShort($var0);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = ji_DataInputStream_readByte($var0);
            $ptr = 7;
        case 7:
            $tmp = ji_DataInputStream_readShort($var0);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            nms_WatchableObject__init_(new nms_WatchableObject, $var3, $var4, nms_ItemStack__init_7($var6, $var7, $var8));
            $ptr = 8;
        case 8:
            $tmp = ji_DataInputStream_readInt($var0);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $ptr = 9;
        case 9:
            $tmp = ji_DataInputStream_readInt($var0);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $ptr = 10;
        case 10:
            $tmp = ji_DataInputStream_readInt($var0);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var5 = nms_WatchableObject__init_0($var3, $var4, nms_ChunkCoordinates__init_2($var9, $var10, $var11));
            $ptr = 11;
        case 11:
            ju_ArrayList_add($var1, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = ji_DataInputStream_readByte($var0);
            if ($var2 == 127)
                return $var1;
            if ($var1 === null)
                $var1 = ju_ArrayList__init_0();
            a: {
                $var3 = ($var2 & 224) >> 5;
                $var4 = $var2 & 31;
                $var5 = null;
                switch ($var3) {
                    case 0:
                        $var5 = nms_WatchableObject__init_0($var3, $var4, jl_Byte_valueOf(ji_DataInputStream_readByte($var0)));
                        break a;
                    case 1:
                        $var5 = new nms_WatchableObject;
                        $ptr = 2;
                        continue main;
                    case 2:
                        $var5 = new nms_WatchableObject;
                        $ptr = 3;
                        continue main;
                    case 3:
                        $var5 = new nms_WatchableObject;
                        $ptr = 4;
                        continue main;
                    case 4:
                        $var5 = new nms_WatchableObject;
                        $ptr = 5;
                        continue main;
                    case 5:
                        $ptr = 6;
                        continue main;
                    case 6:
                        $ptr = 8;
                        continue main;
                    default:
                }
            }
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $var2, $var3, $var4, $var5, var$7, var$8, $var6, $var7, $var8, $var9, $var10, $var11, $ptr);
    }
    function nms_DataWatcher_updateWatchedObjectsFromList($this, $var1) {
        var $var2, $var3, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ju_AbstractList_iterator($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if (!ju_AbstractList$1_hasNext($var2))
                return;
            $ptr = 2;
        case 2:
            $tmp = ju_AbstractList$1_next($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var3 = $var1;
            $var1 = $this.$watchedObjects;
            $var4 = jl_Integer_valueOf($var3.$dataValueId);
            $ptr = 3;
        case 3:
            $tmp = ju_HashMap_get($var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var4 = $var1;
            if ($var4 !== null)
                $var4.$watchedObject = $var3.$watchedObject;
            if (!ju_AbstractList$1_hasNext($var2))
                return;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_DataWatcher__clinit_() {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = ju_HashMap__init_0();
            nms_DataWatcher_dataTypes = var$1;
            var$2 = $rt_cls(jl_Byte);
            var$3 = jl_Integer_valueOf(0);
            $ptr = 1;
        case 1:
            ju_HashMap_putImpl(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_DataWatcher_dataTypes;
            var$2 = $rt_cls(jl_Short);
            var$3 = jl_Integer_valueOf(1);
            $ptr = 2;
        case 2:
            ju_HashMap_putImpl(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_DataWatcher_dataTypes;
            var$2 = $rt_cls(jl_Integer);
            var$3 = jl_Integer_valueOf(2);
            $ptr = 3;
        case 3:
            ju_HashMap_putImpl(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_DataWatcher_dataTypes;
            var$2 = $rt_cls(jl_Float);
            var$3 = jl_Integer_valueOf(3);
            $ptr = 4;
        case 4:
            ju_HashMap_putImpl(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_DataWatcher_dataTypes;
            var$2 = $rt_cls(jl_String);
            var$3 = jl_Integer_valueOf(4);
            $ptr = 5;
        case 5:
            ju_HashMap_putImpl(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_DataWatcher_dataTypes;
            var$2 = $rt_cls(nms_ItemStack);
            var$3 = jl_Integer_valueOf(5);
            $ptr = 6;
        case 6:
            ju_HashMap_putImpl(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_DataWatcher_dataTypes;
            var$2 = $rt_cls(nms_ChunkCoordinates);
            var$3 = jl_Integer_valueOf(6);
            $ptr = 7;
        case 7:
            ju_HashMap_putImpl(var$1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, $ptr);
    }
    function jl_Byte() {
        jl_Number.call(this);
        this.$value11 = 0;
    }
    var jl_Byte_TYPE = null;
    function jl_Byte__init_0(var_0) {
        var var_1 = new jl_Byte();
        jl_Byte__init_(var_1, var_0);
        return var_1;
    }
    function jl_Byte__init_($this, $value) {
        $this.$value11 = $value;
    }
    function jl_Byte_valueOf($value) {
        return jl_Byte__init_0($value);
    }
    function jl_Byte_equals($this, $other) {
        return $other instanceof jl_Byte && $other.$value11 == $this.$value11 ? 1 : 0;
    }
    function jl_Byte__clinit_() {
        jl_Byte_TYPE = $rt_cls($rt_bytecls());
    }
    var jl_SystemClassLoader = $rt_classWithoutFields(jl_ClassLoader);
    function jl_SystemClassLoader__init_0() {
        var var_0 = new jl_SystemClassLoader();
        jl_SystemClassLoader__init_(var_0);
        return var_0;
    }
    function jl_SystemClassLoader__init_($this) {
        jl_ClassLoader_$callClinit();
        $this.$parent0 = null;
    }
    function jl_Short() {
        jl_Number.call(this);
        this.$value12 = 0;
    }
    var jl_Short_TYPE = null;
    function jl_Short__clinit_() {
        jl_Short_TYPE = $rt_cls($rt_shortcls());
    }
    function nms_ChunkCoordinates() {
        var a = this; jl_Object.call(a);
        a.$x = 0;
        a.$y = 0;
        a.$z = 0;
    }
    function nms_ChunkCoordinates__init_3() {
        var var_0 = new nms_ChunkCoordinates();
        nms_ChunkCoordinates__init_(var_0);
        return var_0;
    }
    function nms_ChunkCoordinates__init_2(var_0, var_1, var_2) {
        var var_3 = new nms_ChunkCoordinates();
        nms_ChunkCoordinates__init_0(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_ChunkCoordinates__init_($this) {}
    function nms_ChunkCoordinates__init_0($this, $var1, $var2, $var3) {
        $this.$x = $var1;
        $this.$y = $var2;
        $this.$z = $var3;
    }
    function nms_XErrr() {
        var a = this; jl_Object.call(a);
        a.$field_25146_a = 0.0;
        a.$field_25145_b = 0.0;
        a.$field_25144_c = 0.0;
        a.$field_25143_d = 0.0;
        a.$field_25139_h = 0;
        a.$field_25136_k = 0.0;
        a.$field_25135_l = 0.0;
        a.$field_25134_m = 0.0;
        a.$field_25133_n = 0.0;
        a.$field_25132_o = 0.0;
        a.$field_25131_p = 0.0;
        a.$field_25130_q = 0.0;
        a.$field_25129_r = 0.0;
    }
    var nms_XErrr_field_25128_s = null;
    function nms_XErrr__init_0() {
        var var_0 = new nms_XErrr();
        nms_XErrr__init_(var_0);
        return var_0;
    }
    function nms_XErrr__init_($this) {}
    function nms_XErrr__clinit_() {
        nms_XErrr_field_25128_s = new ju_Random;
    }
    function cjj_Inflate$Return() {
        var a = this; jl_Exception.call(a);
        a.$r = 0;
        a.$this$042 = null;
    }
    function cjj_Inflate$Return__init_0(var_0, var_1) {
        var var_2 = new cjj_Inflate$Return();
        cjj_Inflate$Return__init_(var_2, var_0, var_1);
        return var_2;
    }
    function cjj_Inflate$Return__init_($this, var$1, $r) {
        $this.$this$042 = var$1;
        jl_Throwable__init_0($this);
        $this.$r = $r;
    }
    function cjj_GZIPHeader() {
        var a = this; jl_Object.call(a);
        a.$text1 = 0;
        a.$fhcrc = 0;
        a.$time0 = Long_ZERO;
        a.$xflags = 0;
        a.$os = 0;
        a.$extra = null;
        a.$name9 = null;
        a.$comment = null;
        a.$hcrc = 0;
        a.$crc = Long_ZERO;
        a.$done = 0;
        a.$mtime = Long_ZERO;
    }
    function cjj_GZIPHeader__init_0() {
        var var_0 = new cjj_GZIPHeader();
        cjj_GZIPHeader__init_(var_0);
        return var_0;
    }
    function cjj_GZIPHeader__init_($this) {
        $this.$text1 = 0;
        $this.$fhcrc = 0;
        $this.$os = 255;
        $this.$done = 0;
        $this.$mtime = Long_ZERO;
    }
    function nms_RenderSorter() {
        jl_Object.call(this);
        this.$field_4274_a = null;
    }
    function nms_RenderSorter__init_0(var_0) {
        var var_1 = new nms_RenderSorter();
        nms_RenderSorter__init_(var_1, var_0);
        return var_1;
    }
    function nms_RenderSorter__init_($this, $var1) {
        $this.$field_4274_a = $var1;
    }
    function nms_RenderSorter_func_993_a($this, $var1, $var2) {
        var $var3, $var4, var$5, var$6, $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $var1.$isInFrustum;
            $var4 = $var2.$isInFrustum;
            if ($var3 && !$var4)
                return 1;
            if ($var4 && !$var3)
                return (-1);
            var$5 = $this.$field_4274_a;
            $ptr = 1;
        case 1:
            $tmp = nms_WorldRenderer_distanceToEntitySquared($var1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $var5 = var$6;
            var$5 = $this.$field_4274_a;
            $ptr = 2;
        case 2:
            $tmp = nms_WorldRenderer_distanceToEntitySquared($var2, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $var3 = $rt_compare($var5, var$6);
            return $var3 < 0 ? 1 : $var3 > 0 ? (-1) : $var1.$field_1735_w >= $var2.$field_1735_w ? (-1) : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $var5, $ptr);
    }
    function nms_RenderSorter_compare($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $var2 = $var2;
            $ptr = 1;
        case 1:
            $tmp = nms_RenderSorter_func_993_a($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_EntitySorter() {
        jl_Object.call(this);
        this.$entityForSorting = null;
    }
    function nms_EntitySorter__init_0(var_0) {
        var var_1 = new nms_EntitySorter();
        nms_EntitySorter__init_(var_1, var_0);
        return var_1;
    }
    function nms_EntitySorter__init_($this, $var1) {
        $this.$entityForSorting = $var1;
    }
    function nms_EntitySorter_compare($this, $var1, $var2) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $var2 = $var2;
            var$3 = $this.$entityForSorting;
            $ptr = 1;
        case 1:
            $tmp = nms_WorldRenderer_distanceToEntitySquared($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $var1 = $this.$entityForSorting;
            $ptr = 2;
        case 2:
            $tmp = nms_WorldRenderer_distanceToEntitySquared($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            return var$4 >= var$5 ? 1 : (-1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, $ptr);
    }
    function nms_TileEntityRenderer() {
        var a = this; jl_Object.call(a);
        a.$specialRendererMap = null;
        a.$fontRenderer2 = null;
        a.$renderEngine3 = null;
        a.$worldObj6 = null;
        a.$entityLivingPlayer = null;
        a.$playerYaw = 0.0;
        a.$playerPitch = 0.0;
        a.$playerX = 0.0;
        a.$playerY = 0.0;
        a.$playerZ = 0.0;
    }
    var nms_TileEntityRenderer_instance = null;
    var nms_TileEntityRenderer_staticPlayerX = 0.0;
    var nms_TileEntityRenderer_staticPlayerY = 0.0;
    var nms_TileEntityRenderer_staticPlayerZ = 0.0;
    var nms_TileEntityRenderer_$clinitCalled = false;
    function nms_TileEntityRenderer_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_TileEntityRenderer_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_TileEntityRenderer_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_TileEntityRenderer__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_TileEntityRenderer_$callClinit = $rt_eraseClinit(nms_TileEntityRenderer);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_TileEntityRenderer__init_0() {
        var var_0 = new nms_TileEntityRenderer();
        nms_TileEntityRenderer__init_(var_0);
        return var_0;
    }
    function nms_TileEntityRenderer__init_($this) {
        var $var1, $var2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntityRenderer_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = ju_HashMap__init_0();
            $this.$specialRendererMap = $var1;
            $var2 = $rt_cls(nms_TileEntitySign);
            var$3 = nms_TileEntitySignRenderer__init_0();
            $ptr = 2;
        case 2:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$specialRendererMap;
            $var2 = $rt_cls(nms_TileEntityMobSpawner);
            var$3 = nms_TileEntityMobSpawnerRenderer__init_0();
            $ptr = 3;
        case 3:
            ju_HashMap_putImpl($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = ju_HashMap_values($this.$specialRendererMap);
            $ptr = 4;
        case 4:
            $tmp = ju_HashMap$2_iterator($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!ju_HashMap$AbstractMapIterator_hasNext($var1))
                return;
            $ptr = 5;
        case 5:
            $tmp = ju_HashMap$ValueIterator_next($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var2.$tileEntityRenderer = $this;
            if (!ju_HashMap$AbstractMapIterator_hasNext($var1))
                return;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_TileEntityRenderer_getSpecialRendererForClass($this, $var1) {
        var $var2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $this.$specialRendererMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_get($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var2 = $var2;
            if ($var2 === null && $var1 !== $rt_cls(nms_TileEntity)) {
                $var2 = jl_Class_getSuperclass($var1);
                $ptr = 2;
                continue main;
            }
            return $var2;
        case 2:
            $tmp = nms_TileEntityRenderer_getSpecialRendererForClass($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$3 = $this.$specialRendererMap;
            $ptr = 3;
        case 3:
            ju_HashMap_putImpl(var$3, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_TileEntityRenderer_getSpecialRendererForEntity($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 === null)
                return null;
            $var1 = jl_Object_getClass($var1);
            $ptr = 1;
        case 1:
            $tmp = nms_TileEntityRenderer_getSpecialRendererForClass($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_TileEntityRenderer_renderTileEntityAt($this, $var1, $var2, $var4, $var6, $var8) {
        var $var9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_TileEntityRenderer_getSpecialRendererForEntity($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var9 === null)
                return;
            $ptr = 2;
        case 2:
            $var9.$renderTileEntityAt($var1, $var2, $var4, $var6, $var8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $ptr);
    }
    function nms_TileEntityRenderer__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nms_TileEntityRenderer;
            $ptr = 1;
        case 1:
            nms_TileEntityRenderer__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nms_TileEntityRenderer_instance = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function ji_Writer() {
        jl_Object.call(this);
        this.$lock0 = null;
    }
    function ji_PrintWriter() {
        var a = this; ji_Writer.call(a);
        a.$out5 = null;
        a.$ioError = 0;
        a.$autoflush = 0;
    }
    function ji_PrintWriter__init_1(var_0) {
        var var_1 = new ji_PrintWriter();
        ji_PrintWriter__init_(var_1, var_0);
        return var_1;
    }
    function ji_PrintWriter__init_($this, $wr) {
        if ($wr !== null) {
            $this.$lock0 = $wr;
            $this.$autoflush = 0;
            $this.$out5 = $wr;
            return;
        }
        $wr = new jl_NullPointerException;
        jl_Throwable__init_0($wr);
        $rt_throw($wr);
    }
    function ji_PrintWriter_close($this) {
        var var$1, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$out5;
            if (var$1 !== null) {
                try {
                    $ptr = 1;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                    } else {
                        throw $$e;
                    }
                }
                ji_PrintWriter_setError($this);
                $this.$out5 = null;
            }
            return;
        case 1:
            a: {
                try {
                    ji_OutputStreamWriter_close(var$1);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                    } else {
                        throw $$e;
                    }
                }
                ji_PrintWriter_setError($this);
            }
            $this.$out5 = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function ji_PrintWriter_print($this, $str) {
        var var$2, var$3, var$4, var$5, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$str = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($str !== null) {
                var$2 = jl_String_toCharArray($str);
                var$3 = var$2.data;
                var$4 = 0;
                var$5 = var$3.length;
                $str = $this.$out5;
                if ($str === null)
                    ji_PrintWriter_setError($this);
                else {
                    try {
                        $ptr = 2;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof ji_IOException) {
                        } else {
                            throw $$e;
                        }
                    }
                    ji_PrintWriter_setError($this);
                }
                return;
            }
            $str = null;
            $ptr = 1;
        case 1:
            $tmp = jl_String_valueOf($str);
            if ($rt_suspending()) {
                break main;
            }
            $str = $tmp;
            var$2 = jl_String_toCharArray($str);
            var$3 = var$2.data;
            var$4 = 0;
            var$5 = var$3.length;
            $str = $this.$out5;
            if ($str === null)
                ji_PrintWriter_setError($this);
            else {
                try {
                    $ptr = 2;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                    } else {
                        throw $$e;
                    }
                }
                ji_PrintWriter_setError($this);
            }
            return;
        case 2:
            a: {
                try {
                    ji_OutputStreamWriter_write($str, var$2, var$4, var$5);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                    } else {
                        throw $$e;
                    }
                }
                ji_PrintWriter_setError($this);
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $str, var$2, var$3, var$4, var$5, $ptr);
    }
    function ji_PrintWriter_println($this, $str) {
        var $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$str = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            ji_PrintWriter_print($this, $str);
            if ($rt_suspending()) {
                break main;
            }
            $str = $rt_s(198);
            $ptr = 2;
        case 2:
            ji_PrintWriter_print($this, $str);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$autoflush)
                a: {
                    $str = $this.$out5;
                    if ($str === null)
                        ji_PrintWriter_setError($this);
                    else {
                        try {
                            ji_OutputStreamWriter_flush($str);
                            break a;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof ji_IOException) {
                            } else {
                                throw $$e;
                            }
                        }
                        ji_PrintWriter_setError($this);
                    }
                }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $str, $ptr);
    }
    function ji_PrintWriter_setError($this) {
        $this.$ioError = 1;
    }
    function ji_OutputStreamWriter() {
        var a = this; ji_Writer.call(a);
        a.$out6 = null;
        a.$encoder = null;
        a.$bufferData = null;
        a.$buffer7 = null;
        a.$closed2 = 0;
    }
    function ji_OutputStreamWriter__init_2(var_0) {
        var var_1 = new ji_OutputStreamWriter();
        ji_OutputStreamWriter__init_(var_1, var_0);
        return var_1;
    }
    function ji_OutputStreamWriter__init_($this, $out) {
        var var$2, var$3, var$4;
        var$2 = ji_OutputStreamWriter_nullCheck($out);
        jnci_UTF8Charset_$callClinit();
        $out = jnci_UTF8Charset_INSTANCE;
        var$2 = ji_OutputStreamWriter_nullCheck(var$2);
        var$3 = jnci_UTF8Charset_newEncoder($out);
        jnc_CodingErrorAction_$callClinit();
        $out = jnc_CharsetEncoder_onUnmappableCharacter(jnc_CharsetEncoder_onMalformedInput(var$3, jnc_CodingErrorAction_REPLACE), jnc_CodingErrorAction_REPLACE);
        $this.$lock0 = $this;
        var$4 = $rt_createByteArray(512);
        $this.$bufferData = var$4;
        $this.$buffer7 = jn_ByteBuffer_wrap0(var$4);
        $this.$out6 = ji_OutputStreamWriter_nullCheck(var$2);
        $this.$encoder = $out;
    }
    function ji_OutputStreamWriter_nullCheck($stream) {
        if ($stream !== null)
            return $stream;
        $stream = new jl_NullPointerException;
        jl_Throwable__init_0($stream);
        $rt_throw($stream);
    }
    function ji_OutputStreamWriter_close($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$closed2) {
                ji_OutputStreamWriter_flush($this);
                $this.$closed2 = 1;
                var$1 = $this.$out6;
                if (!var$1.$closed) {
                    var$1.$closed = 1;
                    var$2 = var$1.$count6;
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        case 1:
            $tmp = nlei_PlatformRuntime_allocateByteBuffer(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            try {
                try {
                    var$4 = var$1.$buf3;
                    var$2 = 0;
                    var$5 = var$1.$count6;
                    $ptr = 2;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$1 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $rt_throw(ji_IOException__init_1($rt_s(2074), var$1));
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$1 = $$je;

            }
            $rt_throw(var$1);
        case 2:
            try {
                try {
                    nleib_EaglerArrayByteBuffer_put2(var$3, var$4, var$2, var$5);
                    if ($rt_suspending()) {
                        break main;
                    }
                    nleib_EaglerArrayByteBuffer_flip(var$3);
                    var$6 = nleiv_VFile2_getFS(var$1.$vfsFile);
                    var$1 = var$1.$vfsFile.$path0;
                    $ptr = 3;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        var$1 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $rt_throw(ji_IOException__init_1($rt_s(2074), var$1));
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$1 = $$je;

            }
            $rt_throw(var$1);
        case 3:
            a: {
                b: {
                    try {
                        nle_Filesystem$FilesystemHandleWrapper_eaglerWrite(var$6, var$1, var$3);
                        if ($rt_suspending()) {
                            break main;
                        }
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            var$1 = $$je;
                            break b;
                        } else{
                            var$1 = $$je;
                            break a;
                        }
                    }
                    return;
                }
                try {
                    $rt_throw(ji_IOException__init_1($rt_s(2074), var$1));
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$1 = $$je;

                }
            }
            $rt_throw(var$1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function ji_OutputStreamWriter_flush($this) {
        var var$1;
        ji_OutputStreamWriter_checkStatus($this);
        var$1 = $this.$buffer7.$position;
        if (var$1 > 0) {
            nle_EaglerOutputStream_write($this.$out6, $this.$bufferData, 0, var$1);
            jn_ByteBuffer_clear($this.$buffer7);
        }
    }
    function ji_OutputStreamWriter_checkStatus($this) {
        var var$1;
        if (!$this.$closed2)
            return;
        var$1 = new ji_IOException;
        jl_Throwable__init_(var$1, $rt_s(2075));
        $rt_throw(var$1);
    }
    function ji_OutputStreamWriter_write($this, $buf, $offset, $count) {
        var var$4, $input, var$6, var$7, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$input = $thread.pop();var$4 = $thread.pop();$count = $thread.pop();$offset = $thread.pop();$buf = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$lock0;
            $ptr = 1;
        case 1:
            jl_Object_monitorEnter(var$4);
            if ($rt_suspending()) {
                break main;
            }
            a: {
                try {
                    ji_OutputStreamWriter_checkStatus($this);
                    if ($buf === null)
                        $rt_throw(jl_NullPointerException__init_());
                    if (!($offset >= 0 && $offset <= ($buf.data.length - $count | 0) && $count >= 0))
                        $rt_throw(jl_IndexOutOfBoundsException__init_0());
                    $input = jn_CharBuffer_wrap0($buf, $offset, $count);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$6 = $$je;
                    break a;

                }
                b: {
                    try {
                        if (jn_Buffer_hasRemaining($input))
                            break b;
                        jl_Object_monitorExit(var$4);
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        var$6 = $$je;
                        break a;

                    }
                    return;
                }
                try {
                    var$6 = $this.$encoder;
                    var$7 = $this.$buffer7;
                    $offset = 0;
                    $ptr = 2;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$6 = $$je;

                }
            }
            jl_Object_monitorExit(var$4);
            $rt_throw(var$6);
        case 2:
            a: {
                try {
                    $tmp = jnc_CharsetEncoder_encode(var$6, $input, var$7, $offset);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$6 = $tmp;
                    if (jnc_CoderResult_isOverflow(var$6)) {
                        nle_EaglerOutputStream_write($this.$out6, $this.$bufferData, 0, jn_Buffer_position($this.$buffer7));
                        jn_ByteBuffer_clear($this.$buffer7);
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$6 = $$je;
                    break a;

                }
                c: {
                    try {
                        if (jn_Buffer_hasRemaining($input))
                            break c;
                        jl_Object_monitorExit(var$4);
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        var$6 = $$je;
                        break a;

                    }
                    return;
                }
                try {
                    var$6 = $this.$encoder;
                    var$7 = $this.$buffer7;
                    $offset = 0;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$6 = $$je;

                }
            }
            jl_Object_monitorExit(var$4);
            $rt_throw(var$6);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $buf, $offset, $count, var$4, $input, var$6, var$7, $ptr);
    }
    function nms_MovementInput() {
        var a = this; jl_Object.call(a);
        a.$moveStrafe = 0.0;
        a.$moveForward0 = 0.0;
        a.$field_1177_c = 0;
        a.$jump0 = 0;
        a.$sneak = 0;
    }
    function nms_MovementInput__init_0() {
        var var_0 = new nms_MovementInput();
        nms_MovementInput__init_(var_0);
        return var_0;
    }
    function nms_MovementInput__init_($this) {
        $this.$moveStrafe = 0.0;
        $this.$moveForward0 = 0.0;
        $this.$field_1177_c = 0;
        $this.$jump0 = 0;
        $this.$sneak = 0;
    }
    function nms_MovementInputFromOptions() {
        var a = this; nms_MovementInput.call(a);
        a.$movementKeyStates = null;
        a.$gameSettings0 = null;
    }
    function nms_MovementInputFromOptions__init_(var_0) {
        var var_1 = new nms_MovementInputFromOptions();
        nms_MovementInputFromOptions__init_0(var_1, var_0);
        return var_1;
    }
    function nms_MovementInputFromOptions__init_0($this, $var1) {
        nms_MovementInput__init_($this);
        $this.$movementKeyStates = $rt_createBooleanArray(10);
        $this.$gameSettings0 = $var1;
    }
    function ju_HashMap$HashMapEntrySet() {
        ju_AbstractSet.call(this);
        this.$associatedMap0 = null;
    }
    function nleiv_VFileInputStream() {
        ji_InputStream.call(this);
        this.$fileBuffer = null;
    }
    function nleiv_VFileInputStream_read($this, $b, $off, $len) {
        var var$4, $p, $l, $r, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$r = $thread.pop();$l = $thread.pop();$p = $thread.pop();var$4 = $thread.pop();$len = $thread.pop();$off = $thread.pop();$b = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$fileBuffer;
            if (var$4 === null) {
                var$4 = new ji_IOException;
                jl_Throwable__init_(var$4, $rt_s(1638));
                $rt_throw(var$4);
            }
            $p = var$4.$position2;
            $l = var$4.$limit2;
            $r = $l - $p | 0;
            if ($r >= $len)
                $r = $len;
            if ($r > 0) {
                $len = $p + $r | 0;
                if ($len > $l) {
                    $off = $len - 1 | 0;
                    $ptr = 1;
                    continue main;
                }
                var$8 = $b.data;
                var$9 = new $rt_globals.Int8Array(var$4.$typedArray0.buffer, var$4.$typedArray0.byteOffset + var$4.$position2 | 0, $r);
                var$8.set(var$9, $off);
                var$4.$position2 = var$4.$position2 + $r | 0;
            }
            if ($r <= 0)
                $r = (-1);
            return $r;
        case 1:
            $tmp = nleib_Buffer_makeIOOBE($off);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $rt_throw(var$4);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $b, $off, $len, var$4, $p, $l, $r, var$8, var$9, $ptr);
    }
    function nleiv_VFileInputStream_close($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$fileBuffer === null)
                return;
            $ptr = 1;
        case 1:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$fileBuffer = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    var nms_ModelBed = $rt_classWithoutFields();
    var nms_ModelBed_field_22280_a = null;
    var nms_ModelBed_field_22279_b = null;
    var nms_ModelBed_bedDirection = null;
    function nms_ModelBed__init_0() {
        var var_0 = new nms_ModelBed();
        nms_ModelBed__init_(var_0);
        return var_0;
    }
    function nms_ModelBed__init_($this) {}
    function nms_ModelBed__clinit_() {
        nms_ModelBed_field_22280_a = $rt_createIntArrayFromData([3, 4, 2, 5]);
        nms_ModelBed_field_22279_b = $rt_createIntArrayFromData([2, 3, 0, 1]);
        nms_ModelBed_bedDirection = $rt_createArrayFromData($rt_arraycls($rt_intcls()), [$rt_createIntArrayFromData([1, 0, 3, 2, 5, 4]), $rt_createIntArrayFromData([1, 0, 5, 4, 2, 3]), $rt_createIntArrayFromData([1, 0, 2, 3, 4, 5]), $rt_createIntArrayFromData([1, 0, 4, 5, 3, 2])]);
    }
    var jn_BufferUnderflowException = $rt_classWithoutFields(jl_RuntimeException);
    function jn_BufferUnderflowException__init_0() {
        var var_0 = new jn_BufferUnderflowException();
        jn_BufferUnderflowException__init_(var_0);
        return var_0;
    }
    function jn_BufferUnderflowException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function nleit_TeaVMClientConfigAdapterHooks$callScreenChangedHook$lambda$_3_0() {
        var a = this; jl_Object.call(a);
        a.$_06 = null;
        a.$_12 = null;
        a.$_20 = 0;
        a.$_30 = 0;
        a.$_4 = 0;
        a.$_5 = 0;
        a.$_6 = 0;
    }
    function nleit_TeaVMClientConfigAdapterHooks$callScreenChangedHook$lambda$_3_0_run(var$0) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = var$0.$_06;
            var$2 = var$0.$_12;
            var$3 = var$0.$_20;
            var$4 = var$0.$_30;
            var$5 = var$0.$_4;
            var$6 = var$0.$_5;
            var$7 = var$0.$_6;
            var$1.$screenChangedHook.call($rt_ustr(var$2), var$3, var$4, var$5, var$6, var$7);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    var jn_ReadOnlyBufferException = $rt_classWithoutFields(jl_UnsupportedOperationException);
    function jn_ReadOnlyBufferException__init_0() {
        var var_0 = new jn_ReadOnlyBufferException();
        jn_ReadOnlyBufferException__init_(var_0);
        return var_0;
    }
    function jn_ReadOnlyBufferException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function nms_WatchableObject() {
        var a = this; jl_Object.call(a);
        a.$objectType = 0;
        a.$dataValueId = 0;
        a.$watchedObject = null;
        a.$isWatching = 0;
    }
    function nms_WatchableObject__init_0(var_0, var_1, var_2) {
        var var_3 = new nms_WatchableObject();
        nms_WatchableObject__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_WatchableObject__init_($this, $var1, $var2, $var3) {
        $this.$dataValueId = $var2;
        $this.$watchedObject = $var3;
        $this.$objectType = $var1;
        $this.$isWatching = 1;
    }
    var nleo_TextureFormatHelper = $rt_classWithoutFields();
    function nleo_TextureFormatHelper__init_0() {
        var var_0 = new nleo_TextureFormatHelper();
        nleo_TextureFormatHelper__init_(var_0);
        return var_0;
    }
    function nleo_TextureFormatHelper__init_($this) {}
    function nms_EntityClientPlayerMP() {
        var a = this; nms_EntityPlayerSP.call(a);
        a.$sendQueue = null;
        a.$field_9380_bx = 0;
        a.$field_21093_bH = 0;
        a.$field_9379_by = 0.0;
        a.$field_9378_bz = 0.0;
        a.$field_9377_bA = 0.0;
        a.$field_9376_bB = 0.0;
        a.$field_9385_bC = 0.0;
        a.$field_9384_bD = 0.0;
        a.$field_9382_bF = 0;
        a.$field_9381_bG = 0;
        a.$field_12242_bI = 0;
    }
    function nms_EntityClientPlayerMP_attackEntityFrom($this, $var1, $var2) {
        return 0;
    }
    function nms_EntityClientPlayerMP_heal($this, $var1) {}
    function nms_EntityClientPlayerMP_onUpdate($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$worldObj0;
            var$2 = nms_MathHelper_floor_double($this.$posX);
            var$3 = 64;
            var$4 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 1;
        case 1:
            $tmp = nms_World_blockExists(var$1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return;
            $ptr = 2;
        case 2:
            nms_EntityPlayer_onUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_EntityClientPlayerMP_func_4056_N($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_EntityClientPlayerMP_func_4056_N($this) {
        var $var14, $var1, var$3, var$4, var$5, $var2, var$7, $var4, var$9, $var6, var$11, $var8, var$13, $var10, var$15, $var12, $var15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var15 = $thread.pop();$var12 = $thread.pop();var$15 = $thread.pop();$var10 = $thread.pop();var$13 = $thread.pop();$var8 = $thread.pop();var$11 = $thread.pop();$var6 = $thread.pop();var$9 = $thread.pop();$var4 = $thread.pop();var$7 = $thread.pop();$var2 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var1 = $thread.pop();$var14 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var14 = $this.$field_9380_bx;
            $this.$field_9380_bx = $var14 + 1 | 0;
            if ($var14 == 20)
                $this.$field_9380_bx = 0;
            $ptr = 1;
        case 1:
            $tmp = nms_EntityPlayerSP_isSneaking($this);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 != $this.$field_9381_bG) {
                if (!$var1) {
                    var$3 = $this.$sendQueue;
                    var$4 = new nms_Packet19;
                    $var14 = 2;
                    $ptr = 2;
                    continue main;
                }
                var$3 = $this.$sendQueue;
                var$4 = new nms_Packet19;
                $var14 = 1;
                $ptr = 4;
                continue main;
            }
            var$5 = $this.$posX;
            $var2 = var$5 - $this.$field_9379_by;
            var$7 = $this.$boundingBox.$minY0;
            $var4 = var$7 - $this.$field_9378_bz;
            var$9 = $this.$posY;
            $var6 = var$9 - $this.$field_9377_bA;
            var$11 = $this.$posZ;
            $var8 = var$11 - $this.$field_9376_bB;
            var$13 = $this.$rotationYaw;
            $var10 = var$13 - $this.$field_9385_bC;
            var$15 = $this.$rotationPitch;
            $var12 = var$15 - $this.$field_9384_bD;
            $var14 = $var4 === 0.0 && $var6 === 0.0 && $var2 === 0.0 && $var8 === 0.0 ? 0 : 1;
            $var15 = $var10 === 0.0 && $var12 === 0.0 ? 0 : 1;
            if ($this.$ridingEntity !== null) {
                if (!$var15) {
                    var$3 = $this.$sendQueue;
                    var$4 = new nms_Packet13PlayerLookMove;
                    var$5 = $this.$motionX;
                    $var2 = (-999.0);
                    var$7 = (-999.0);
                    $var4 = $this.$motionZ;
                    $var1 = $this.$onGround0;
                    $ptr = 6;
                    continue main;
                }
                var$3 = $this.$sendQueue;
                var$4 = new nms_Packet11PlayerPosition;
                var$5 = $this.$motionX;
                $var2 = (-999.0);
                var$7 = (-999.0);
                $var4 = $this.$motionZ;
                $var1 = $this.$onGround0;
                $ptr = 8;
                continue main;
            }
            if ($var14 && $var15) {
                var$4 = $this.$sendQueue;
                var$3 = new nms_Packet13PlayerLookMove;
                $var1 = $this.$onGround0;
                $ptr = 12;
                continue main;
            }
            if ($var14) {
                var$3 = $this.$sendQueue;
                var$4 = new nms_Packet11PlayerPosition;
                $var1 = $this.$onGround0;
                $ptr = 10;
                continue main;
            }
            if (!$var15) {
                var$3 = $this.$sendQueue;
                var$4 = new nms_Packet10Flying;
                $var1 = $this.$onGround0;
                $ptr = 14;
                continue main;
            }
            var$3 = $this.$sendQueue;
            var$4 = new nms_Packet12PlayerLook;
            $var1 = $this.$onGround0;
            $ptr = 16;
            continue main;
        case 2:
            nms_Packet19__init_0(var$4, $this, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_NetClientHandler_addToSendQueue(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_9381_bG = $var1;
            var$5 = $this.$posX;
            $var2 = var$5 - $this.$field_9379_by;
            var$7 = $this.$boundingBox.$minY0;
            $var4 = var$7 - $this.$field_9378_bz;
            var$9 = $this.$posY;
            $var6 = var$9 - $this.$field_9377_bA;
            var$11 = $this.$posZ;
            $var8 = var$11 - $this.$field_9376_bB;
            var$13 = $this.$rotationYaw;
            $var10 = var$13 - $this.$field_9385_bC;
            var$15 = $this.$rotationPitch;
            $var12 = var$15 - $this.$field_9384_bD;
            $var14 = $var4 === 0.0 && $var6 === 0.0 && $var2 === 0.0 && $var8 === 0.0 ? 0 : 1;
            $var15 = $var10 === 0.0 && $var12 === 0.0 ? 0 : 1;
            if ($this.$ridingEntity !== null) {
                if (!$var15) {
                    var$3 = $this.$sendQueue;
                    var$4 = new nms_Packet13PlayerLookMove;
                    var$5 = $this.$motionX;
                    $var2 = (-999.0);
                    var$7 = (-999.0);
                    $var4 = $this.$motionZ;
                    $var1 = $this.$onGround0;
                    $ptr = 6;
                    continue main;
                }
                var$3 = $this.$sendQueue;
                var$4 = new nms_Packet11PlayerPosition;
                var$5 = $this.$motionX;
                $var2 = (-999.0);
                var$7 = (-999.0);
                $var4 = $this.$motionZ;
                $var1 = $this.$onGround0;
                $ptr = 8;
                continue main;
            }
            if ($var14 && $var15) {
                var$4 = $this.$sendQueue;
                var$3 = new nms_Packet13PlayerLookMove;
                $var1 = $this.$onGround0;
                $ptr = 12;
                continue main;
            }
            if ($var14) {
                var$3 = $this.$sendQueue;
                var$4 = new nms_Packet11PlayerPosition;
                $var1 = $this.$onGround0;
                $ptr = 10;
                continue main;
            }
            if (!$var15) {
                var$3 = $this.$sendQueue;
                var$4 = new nms_Packet10Flying;
                $var1 = $this.$onGround0;
                $ptr = 14;
                continue main;
            }
            var$3 = $this.$sendQueue;
            var$4 = new nms_Packet12PlayerLook;
            $var1 = $this.$onGround0;
            $ptr = 16;
            continue main;
        case 4:
            nms_Packet19__init_0(var$4, $this, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_NetClientHandler_addToSendQueue(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_9381_bG = $var1;
            var$5 = $this.$posX;
            $var2 = var$5 - $this.$field_9379_by;
            var$7 = $this.$boundingBox.$minY0;
            $var4 = var$7 - $this.$field_9378_bz;
            var$9 = $this.$posY;
            $var6 = var$9 - $this.$field_9377_bA;
            var$11 = $this.$posZ;
            $var8 = var$11 - $this.$field_9376_bB;
            var$13 = $this.$rotationYaw;
            $var10 = var$13 - $this.$field_9385_bC;
            var$15 = $this.$rotationPitch;
            $var12 = var$15 - $this.$field_9384_bD;
            $var14 = $var4 === 0.0 && $var6 === 0.0 && $var2 === 0.0 && $var8 === 0.0 ? 0 : 1;
            $var15 = $var10 === 0.0 && $var12 === 0.0 ? 0 : 1;
            if ($this.$ridingEntity !== null) {
                if (!$var15) {
                    var$3 = $this.$sendQueue;
                    var$4 = new nms_Packet13PlayerLookMove;
                    var$5 = $this.$motionX;
                    $var2 = (-999.0);
                    var$7 = (-999.0);
                    $var4 = $this.$motionZ;
                    $var1 = $this.$onGround0;
                    $ptr = 6;
                    continue main;
                }
                var$3 = $this.$sendQueue;
                var$4 = new nms_Packet11PlayerPosition;
                var$5 = $this.$motionX;
                $var2 = (-999.0);
                var$7 = (-999.0);
                $var4 = $this.$motionZ;
                $var1 = $this.$onGround0;
                $ptr = 8;
                continue main;
            }
            if ($var14 && $var15) {
                var$4 = $this.$sendQueue;
                var$3 = new nms_Packet13PlayerLookMove;
                $var1 = $this.$onGround0;
                $ptr = 12;
                continue main;
            }
            if ($var14) {
                var$3 = $this.$sendQueue;
                var$4 = new nms_Packet11PlayerPosition;
                $var1 = $this.$onGround0;
                $ptr = 10;
                continue main;
            }
            if (!$var15) {
                var$3 = $this.$sendQueue;
                var$4 = new nms_Packet10Flying;
                $var1 = $this.$onGround0;
                $ptr = 14;
                continue main;
            }
            var$3 = $this.$sendQueue;
            var$4 = new nms_Packet12PlayerLook;
            $var1 = $this.$onGround0;
            $ptr = 16;
            continue main;
        case 6:
            nms_Packet13PlayerLookMove__init_0(var$4, var$5, $var2, var$7, $var4, var$13, var$15, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_NetClientHandler_addToSendQueue(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 0;
            $this.$field_9382_bF = $this.$onGround0;
            if ($var14) {
                $this.$field_9379_by = $this.$posX;
                $this.$field_9378_bz = $this.$boundingBox.$minY0;
                $this.$field_9377_bA = $this.$posY;
                $this.$field_9376_bB = $this.$posZ;
            }
            if ($var15) {
                $this.$field_9385_bC = $this.$rotationYaw;
                $this.$field_9384_bD = $this.$rotationPitch;
            }
            return;
        case 8:
            nms_Packet11PlayerPosition__init_0(var$4, var$5, $var2, var$7, $var4, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_NetClientHandler_addToSendQueue(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = 0;
            $this.$field_9382_bF = $this.$onGround0;
            if ($var14) {
                $this.$field_9379_by = $this.$posX;
                $this.$field_9378_bz = $this.$boundingBox.$minY0;
                $this.$field_9377_bA = $this.$posY;
                $this.$field_9376_bB = $this.$posZ;
            }
            if ($var15) {
                $this.$field_9385_bC = $this.$rotationYaw;
                $this.$field_9384_bD = $this.$rotationPitch;
            }
            return;
        case 10:
            nms_Packet11PlayerPosition__init_0(var$4, var$5, var$7, var$9, var$11, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            nms_NetClientHandler_addToSendQueue(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_12242_bI = 0;
            $this.$field_9382_bF = $this.$onGround0;
            if ($var14) {
                $this.$field_9379_by = $this.$posX;
                $this.$field_9378_bz = $this.$boundingBox.$minY0;
                $this.$field_9377_bA = $this.$posY;
                $this.$field_9376_bB = $this.$posZ;
            }
            if ($var15) {
                $this.$field_9385_bC = $this.$rotationYaw;
                $this.$field_9384_bD = $this.$rotationPitch;
            }
            return;
        case 12:
            nms_Packet13PlayerLookMove__init_0(var$3, var$5, var$7, var$9, var$11, var$13, var$15, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_NetClientHandler_addToSendQueue(var$4, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_12242_bI = 0;
            $this.$field_9382_bF = $this.$onGround0;
            if ($var14) {
                $this.$field_9379_by = $this.$posX;
                $this.$field_9378_bz = $this.$boundingBox.$minY0;
                $this.$field_9377_bA = $this.$posY;
                $this.$field_9376_bB = $this.$posZ;
            }
            if ($var15) {
                $this.$field_9385_bC = $this.$rotationYaw;
                $this.$field_9384_bD = $this.$rotationPitch;
            }
            return;
        case 14:
            nms_Packet__init_(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4.$onGround1 = $var1;
            $ptr = 15;
        case 15:
            a: {
                nms_NetClientHandler_addToSendQueue(var$3, var$4);
                if ($rt_suspending()) {
                    break main;
                }
                if ($this.$field_9382_bF == $this.$onGround0) {
                    $var1 = $this.$field_12242_bI;
                    if ($var1 <= 200) {
                        $this.$field_12242_bI = $var1 + 1 | 0;
                        break a;
                    }
                }
                $this.$field_12242_bI = 0;
            }
            $this.$field_9382_bF = $this.$onGround0;
            if ($var14) {
                $this.$field_9379_by = $this.$posX;
                $this.$field_9378_bz = $this.$boundingBox.$minY0;
                $this.$field_9377_bA = $this.$posY;
                $this.$field_9376_bB = $this.$posZ;
            }
            if ($var15) {
                $this.$field_9385_bC = $this.$rotationYaw;
                $this.$field_9384_bD = $this.$rotationPitch;
            }
            return;
        case 16:
            nms_Packet__init_(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4.$yaw = var$13;
            var$4.$pitch = var$15;
            var$4.$onGround1 = $var1;
            var$4.$rotating = 1;
            $ptr = 17;
        case 17:
            nms_NetClientHandler_addToSendQueue(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_12242_bI = 0;
            $this.$field_9382_bF = $this.$onGround0;
            if ($var14) {
                $this.$field_9379_by = $this.$posX;
                $this.$field_9378_bz = $this.$boundingBox.$minY0;
                $this.$field_9377_bA = $this.$posY;
                $this.$field_9376_bB = $this.$posZ;
            }
            if ($var15) {
                $this.$field_9385_bC = $this.$rotationYaw;
                $this.$field_9384_bD = $this.$rotationPitch;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var14, $var1, var$3, var$4, var$5, $var2, var$7, $var4, var$9, $var6, var$11, $var8, var$13, $var10, var$15, $var12, $var15, $ptr);
    }
    function nms_EntityClientPlayerMP_dropCurrentItem($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$sendQueue;
            var$2 = new nms_Packet14BlockDig;
            var$3 = 4;
            var$4 = 0;
            var$5 = 0;
            var$6 = 0;
            var$7 = 0;
            $ptr = 1;
        case 1:
            nms_Packet14BlockDig__init_0(var$2, var$3, var$4, var$5, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_NetClientHandler_addToSendQueue(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_EntityClientPlayerMP_joinEntityItemWithWorld($this, $var1) {}
    function nms_EntityClientPlayerMP_sendChatMessage($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$sendQueue;
            var$3 = new nms_Packet3Chat;
            $ptr = 1;
        case 1:
            nms_Packet__init_(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3.$message2 = $var1;
            $ptr = 2;
        case 2:
            nms_NetClientHandler_addToSendQueue(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityClientPlayerMP_swingItem($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityPlayer_swingItem($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$sendQueue;
            var$2 = new nms_Packet18ArmAnimation;
            var$3 = 1;
            $ptr = 2;
        case 2:
            nms_Packet__init_(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2.$entityId1 = $this.$entityId;
            var$2.$animate = var$3;
            $ptr = 3;
        case 3:
            nms_NetClientHandler_addToSendQueue(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_EntityClientPlayerMP_respawnPlayer($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$sendQueue;
            var$2 = new nms_Packet9;
            $ptr = 1;
        case 1:
            nms_Packet__init_(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_NetClientHandler_addToSendQueue(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_EntityClientPlayerMP_damageEntity($this, $var1) {
        $this.$health = $this.$health - $var1 | 0;
    }
    function nms_EntityClientPlayerMP_func_20059_m($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$sendQueue;
            var$2 = new nms_Packet101;
            var$3 = $this.$craftingInventory.$windowId;
            $ptr = 1;
        case 1:
            nms_Packet__init_(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2.$windowId0 = var$3;
            $ptr = 2;
        case 2:
            nms_NetClientHandler_addToSendQueue(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            nms_InventoryPlayer_setItemStack($this.$inventory, null);
            $ptr = 3;
        case 3:
            nms_EntityPlayerSP_func_20059_m($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_EntityClientPlayerMP_setHealth($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$field_21093_bH) {
                $this.$health = $var1;
                $this.$field_21093_bH = 1;
                return;
            }
            $ptr = 1;
        case 1:
            nms_EntityPlayerSP_setHealth($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Packet() {
        var a = this; jl_Object.call(a);
        a.$creationTimeMillis = Long_ZERO;
        a.$isChunkDataPacket = 0;
    }
    var nms_Packet_packetIdToClassMap = null;
    var nms_Packet_packetClassToIdMap = null;
    var nms_Packet_packetStats = null;
    var nms_Packet_totalPacketsCount = 0;
    var nms_Packet_$clinitCalled = false;
    function nms_Packet_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_Packet_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Packet_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_Packet__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_Packet_$callClinit = $rt_eraseClinit(nms_Packet);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_Packet__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$creationTimeMillis = jl_System_currentTimeMillis();
            $this.$isChunkDataPacket = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet_addIdClassMapping($var0, $var1) {
        var var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nms_Packet_packetIdToClassMap;
            var$4 = jl_Integer_valueOf($var0);
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_containsKey(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (!var$5) {
                var$3 = nms_Packet_packetClassToIdMap;
                $ptr = 3;
                continue main;
            }
            $var1 = new jl_IllegalArgumentException;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$4 = $rt_s(2076);
            $ptr = 4;
            continue main;
        case 3:
            $tmp = ju_HashMap_containsKey(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5) {
                var$3 = new jl_IllegalArgumentException;
                $ptr = 8;
                continue main;
            }
            var$3 = nms_Packet_packetIdToClassMap;
            var$4 = jl_Integer_valueOf($var0);
            $ptr = 6;
            continue main;
        case 4:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_AbstractStringBuilder_append0(var$4, $var0);
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_Throwable__init_($var1, var$3);
            $rt_throw($var1);
        case 6:
            ju_HashMap_putImpl(var$3, var$4, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nms_Packet_packetClassToIdMap;
            var$4 = jl_Integer_valueOf($var0);
            $ptr = 7;
        case 7:
            ju_HashMap_putImpl(var$3, $var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            $tmp = jl_String_valueOf($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            var$6 = $rt_s(2077);
            $ptr = 9;
        case 9:
            $tmp = jl_StringBuilder_append(var$4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 10;
        case 10:
            jl_StringBuilder_append(var$6, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            jl_Throwable__init_(var$3, $var1);
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_Packet_getNewPacket($var0) {
        var $var1, $var2, var$4, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            try {
                $var1 = nms_Packet_packetIdToClassMap;
                $var2 = jl_Integer_valueOf($var0);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var2 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 3;
            continue main;
        case 2:
            a: {
                b: {
                    try {
                        $tmp = ju_HashMap_get($var1, $var2);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $var1 = $tmp;
                        $var1 = $var1;
                        if ($var1 !== null)
                            break b;
                        $var1 = null;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Exception) {
                            $var2 = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                    return $var1;
                }
                try {
                    $ptr = 7;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var2 = $$je;
                    } else {
                        throw $$e;
                    }
                }
            }
            $ptr = 3;
        case 3:
            jl_Throwable_printStackTrace($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = jl_System_out();
            $var2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var2);
            var$4 = $rt_s(2078);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append($var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_AbstractStringBuilder_append0(var$4, $var0);
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 6;
        case 6:
            ji_PrintStream_println0($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return null;
        case 7:
            a: {
                try {
                    $tmp = jl_Class_newInstance($var1);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $var1 = $tmp;
                    $var1 = $var1;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var2 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $var1;
            }
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $var2, var$4, $ptr);
    }
    function nms_Packet_getPacketId($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nms_Packet_packetClassToIdMap;
            var$2 = jl_Object_getClass($this);
            $ptr = 2;
        case 2:
            $tmp = ju_HashMap_get(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1.$value;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_Packet_readPacket($var0) {
        var var$2, $var5, $var3, var$5, var$6, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();$var5 = $thread.pop();var$2 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            try {
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_EOFException) {
                } else {
                    throw $$e;
                }
            }
            $var0 = jl_System_out();
            var$2 = $rt_s(2079);
            $ptr = 3;
            continue main;
        case 2:
            a: {
                b: {
                    try {
                        $tmp = ji_FilterInputStream_read($var0);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $var5 = $tmp;
                        if ($var5 != (-1))
                            break b;
                        $var0 = null;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof ji_EOFException) {
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                    return $var0;
                }
                try {
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_EOFException) {
                    } else {
                        throw $$e;
                    }
                }
            }
            $var0 = jl_System_out();
            var$2 = $rt_s(2079);
            $ptr = 3;
        case 3:
            ji_PrintStream_println0($var0, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return null;
        case 4:
            try {
                $tmp = nms_Packet_getNewPacket($var5);
                if ($rt_suspending()) {
                    break main;
                }
                var$2 = $tmp;
                if (var$2 !== null) {
                    $ptr = 5;
                    continue main;
                }
                $var0 = new ji_IOException;
                var$2 = jl_StringBuilder__init_0();
                $var3 = $rt_s(2080);
                $ptr = 6;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_EOFException) {
                } else {
                    throw $$e;
                }
            }
            $var0 = jl_System_out();
            var$2 = $rt_s(2079);
            $ptr = 3;
            continue main;
        case 5:
            a: {
                try {
                    var$2.$readPacketData($var0);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_EOFException) {
                    } else {
                        throw $$e;
                    }
                }
                $var0 = jl_System_out();
                var$2 = $rt_s(2079);
                $ptr = 3;
                continue main;
            }
            $var0 = nms_Packet_packetStats;
            $var3 = jl_Integer_valueOf($var5);
            $ptr = 8;
            continue main;
        case 6:
            try {
                $tmp = jl_StringBuilder_append(var$2, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var3 = $tmp;
                jl_StringBuilder_append1($var3, $var5);
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_EOFException) {
                } else {
                    throw $$e;
                }
            }
            $var0 = jl_System_out();
            var$2 = $rt_s(2079);
            $ptr = 3;
            continue main;
        case 7:
            try {
                $tmp = jl_StringBuilder_toString(var$2);
                if ($rt_suspending()) {
                    break main;
                }
                var$2 = $tmp;
                ji_IOException__init_4($var0, var$2);
                $rt_throw($var0);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_EOFException) {
                } else {
                    throw $$e;
                }
            }
            $var0 = jl_System_out();
            var$2 = $rt_s(2079);
            $ptr = 3;
            continue main;
        case 8:
            $tmp = ju_HashMap_get($var0, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var0 = $tmp;
            $var3 = $var0;
            if ($var3 !== null) {
                var$5 = var$2.$getPacketSize();
                $var3.$totalPackets = $var3.$totalPackets + 1 | 0;
                $var3.$totalBytes = Long_add($var3.$totalBytes, Long_fromInt(var$5));
                var$5 = nms_Packet_totalPacketsCount + 1 | 0;
                nms_Packet_totalPacketsCount = var$5;
                return var$2;
            }
            $var3 = new nms_PacketCounter;
            $var0 = nms_Packet_packetStats;
            var$6 = jl_Integer_valueOf($var5);
            $ptr = 9;
        case 9:
            ju_HashMap_putImpl($var0, var$6, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = var$2.$getPacketSize();
            $var3.$totalPackets = $var3.$totalPackets + 1 | 0;
            $var3.$totalBytes = Long_add($var3.$totalBytes, Long_fromInt(var$5));
            var$5 = nms_Packet_totalPacketsCount + 1 | 0;
            nms_Packet_totalPacketsCount = var$5;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, var$2, $var5, $var3, var$5, var$6, $ptr);
    }
    function nms_Packet_writePacket($var0, $var1) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_Packet_getPacketId($var0);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            ji_DataOutputStream_write0($var1, var$3);
            $var0.$writePacketData($var1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, var$3, $ptr);
    }
    function nms_Packet__clinit_() {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Packet_packetIdToClassMap = ju_HashMap__init_0();
            nms_Packet_packetClassToIdMap = ju_HashMap__init_0();
            var$1 = 0;
            var$2 = $rt_cls(nms_Packet0KeepAlive);
            $ptr = 1;
        case 1:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 1;
            var$2 = $rt_cls(nms_Packet1Login);
            $ptr = 2;
        case 2:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 2;
            var$2 = $rt_cls(nms_Packet2Handshake);
            $ptr = 3;
        case 3:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 3;
            var$2 = $rt_cls(nms_Packet3Chat);
            $ptr = 4;
        case 4:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 4;
            var$2 = $rt_cls(nms_Packet4UpdateTime);
            $ptr = 5;
        case 5:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 5;
            var$2 = $rt_cls(nms_Packet5PlayerInventory);
            $ptr = 6;
        case 6:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 6;
            var$2 = $rt_cls(nms_Packet6SpawnPosition);
            $ptr = 7;
        case 7:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 7;
            var$2 = $rt_cls(nms_Packet7);
            $ptr = 8;
        case 8:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 8;
            var$2 = $rt_cls(nms_Packet8);
            $ptr = 9;
        case 9:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 9;
            var$2 = $rt_cls(nms_Packet9);
            $ptr = 10;
        case 10:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 10;
            var$2 = $rt_cls(nms_Packet10Flying);
            $ptr = 11;
        case 11:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 11;
            var$2 = $rt_cls(nms_Packet11PlayerPosition);
            $ptr = 12;
        case 12:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 12;
            var$2 = $rt_cls(nms_Packet12PlayerLook);
            $ptr = 13;
        case 13:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 13;
            var$2 = $rt_cls(nms_Packet13PlayerLookMove);
            $ptr = 14;
        case 14:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 14;
            var$2 = $rt_cls(nms_Packet14BlockDig);
            $ptr = 15;
        case 15:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 15;
            var$2 = $rt_cls(nms_Packet15Place);
            $ptr = 16;
        case 16:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 16;
            var$2 = $rt_cls(nms_Packet16BlockItemSwitch);
            $ptr = 17;
        case 17:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 17;
            var$2 = $rt_cls(nms_Packet17Sleep);
            $ptr = 18;
        case 18:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 18;
            var$2 = $rt_cls(nms_Packet18ArmAnimation);
            $ptr = 19;
        case 19:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 19;
            var$2 = $rt_cls(nms_Packet19);
            $ptr = 20;
        case 20:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 20;
            var$2 = $rt_cls(nms_Packet20NamedEntitySpawn);
            $ptr = 21;
        case 21:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 21;
            var$2 = $rt_cls(nms_Packet21PickupSpawn);
            $ptr = 22;
        case 22:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 22;
            var$2 = $rt_cls(nms_Packet22Collect);
            $ptr = 23;
        case 23:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 23;
            var$2 = $rt_cls(nms_Packet23VehicleSpawn);
            $ptr = 24;
        case 24:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 24;
            var$2 = $rt_cls(nms_Packet24MobSpawn);
            $ptr = 25;
        case 25:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 25;
            var$2 = $rt_cls(nms_Packet25);
            $ptr = 26;
        case 26:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 27;
            var$2 = $rt_cls(nms_Packet27);
            $ptr = 27;
        case 27:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 28;
            var$2 = $rt_cls(nms_Packet28);
            $ptr = 28;
        case 28:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 29;
            var$2 = $rt_cls(nms_Packet29DestroyEntity);
            $ptr = 29;
        case 29:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 30;
            var$2 = $rt_cls(nms_Packet30Entity);
            $ptr = 30;
        case 30:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 31;
            var$2 = $rt_cls(nms_Packet31RelEntityMove);
            $ptr = 31;
        case 31:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 32;
            var$2 = $rt_cls(nms_Packet32EntityLook);
            $ptr = 32;
        case 32:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 33;
            var$2 = $rt_cls(nms_Packet33RelEntityMoveLook);
            $ptr = 33;
        case 33:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 34;
            var$2 = $rt_cls(nms_Packet34EntityTeleport);
            $ptr = 34;
        case 34:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 38;
            var$2 = $rt_cls(nms_Packet38);
            $ptr = 35;
        case 35:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 39;
            var$2 = $rt_cls(nms_Packet39);
            $ptr = 36;
        case 36:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 40;
            var$2 = $rt_cls(nms_Packet40);
            $ptr = 37;
        case 37:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 50;
            var$2 = $rt_cls(nms_Packet50PreChunk);
            $ptr = 38;
        case 38:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 51;
            var$2 = $rt_cls(nms_Packet51MapChunk);
            $ptr = 39;
        case 39:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 52;
            var$2 = $rt_cls(nms_Packet52MultiBlockChange);
            $ptr = 40;
        case 40:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 53;
            var$2 = $rt_cls(nms_Packet53BlockChange);
            $ptr = 41;
        case 41:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 54;
            var$2 = $rt_cls(nms_Packet54);
            $ptr = 42;
        case 42:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 60;
            var$2 = $rt_cls(nms_Packet60);
            $ptr = 43;
        case 43:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 70;
            var$2 = $rt_cls(nms_Packet70);
            $ptr = 44;
        case 44:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 100;
            var$2 = $rt_cls(nms_Packet100);
            $ptr = 45;
        case 45:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 101;
            var$2 = $rt_cls(nms_Packet101);
            $ptr = 46;
        case 46:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 102;
            var$2 = $rt_cls(nms_Packet102);
            $ptr = 47;
        case 47:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 103;
            var$2 = $rt_cls(nms_Packet103);
            $ptr = 48;
        case 48:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 104;
            var$2 = $rt_cls(nms_Packet104);
            $ptr = 49;
        case 49:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 105;
            var$2 = $rt_cls(nms_Packet105);
            $ptr = 50;
        case 50:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 106;
            var$2 = $rt_cls(nms_Packet106);
            $ptr = 51;
        case 51:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 130;
            var$2 = $rt_cls(nms_Packet130);
            $ptr = 52;
        case 52:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = 255;
            var$2 = $rt_cls(nms_Packet255KickDisconnect);
            $ptr = 53;
        case 53:
            nms_Packet_addIdClassMapping(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            nms_Packet_packetStats = ju_HashMap__init_0();
            nms_Packet_totalPacketsCount = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function nms_Packet19() {
        var a = this; nms_Packet.call(a);
        a.$entityId2 = 0;
        a.$state0 = 0;
    }
    function nms_Packet19__init_1() {
        var var_0 = new nms_Packet19();
        nms_Packet19__init_(var_0);
        return var_0;
    }
    function nms_Packet19__init_2(var_0, var_1) {
        var var_2 = new nms_Packet19();
        nms_Packet19__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function nms_Packet19__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet19__init_0($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$entityId2 = $var1.$entityId;
            $this.$state0 = $var2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_Packet19_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$entityId2 = var$2;
            $this.$state0 = ji_DataInputStream_readByte($var1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet19_writePacketData($this, $var1) {
        ji_DataOutputStream_writeInt($var1, $this.$entityId2);
        ji_DataOutputStream_writeByte($var1, $this.$state0);
    }
    function nms_Packet19_processPacket($this, $var1) {}
    function nms_Packet19_getPacketSize($this) {
        return 5;
    }
    function ju_UnknownFormatConversionException() {
        ju_IllegalFormatException.call(this);
        this.$conversion0 = null;
    }
    function ju_UnknownFormatConversionException__init_0(var_0) {
        var var_1 = new ju_UnknownFormatConversionException();
        ju_UnknownFormatConversionException__init_(var_1, var_0);
        return var_1;
    }
    function ju_UnknownFormatConversionException__init_($this, $conversion) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$conversion = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(2081);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$3, $conversion);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            jl_Throwable__init_($this, var$2);
            $this.$conversion0 = $conversion;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $conversion, var$2, var$3, $ptr);
    }
    var jl_AbstractStringBuilder$Constants = $rt_classWithoutFields();
    var jl_AbstractStringBuilder$Constants_intPowersOfTen = null;
    var jl_AbstractStringBuilder$Constants_longPowersOfTen = null;
    var jl_AbstractStringBuilder$Constants_longLogPowersOfTen = null;
    var jl_AbstractStringBuilder$Constants_doubleAnalysisResult = null;
    var jl_AbstractStringBuilder$Constants_floatAnalysisResult = null;
    function jl_AbstractStringBuilder$Constants__init_0() {
        var var_0 = new jl_AbstractStringBuilder$Constants();
        jl_AbstractStringBuilder$Constants__init_(var_0);
        return var_0;
    }
    function jl_AbstractStringBuilder$Constants__init_($this) {}
    function jl_AbstractStringBuilder$Constants__clinit_() {
        jl_AbstractStringBuilder$Constants_intPowersOfTen = $rt_createIntArrayFromData([1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000]);
        jl_AbstractStringBuilder$Constants_longPowersOfTen = $rt_createLongArrayFromData([Long_fromInt(1), Long_fromInt(10), Long_fromInt(100), Long_fromInt(1000), Long_fromInt(10000), Long_fromInt(100000), Long_fromInt(1000000), Long_fromInt(10000000), Long_fromInt(100000000), Long_fromInt(1000000000), Long_create(1410065408, 2), Long_create(1215752192, 23), Long_create(3567587328, 232), Long_create(1316134912, 2328), Long_create(276447232, 23283), Long_create(2764472320, 232830), Long_create(1874919424, 2328306),
        Long_create(1569325056, 23283064), Long_create(2808348672, 232830643)]);
        jl_AbstractStringBuilder$Constants_longLogPowersOfTen = $rt_createLongArrayFromData([Long_fromInt(1), Long_fromInt(10), Long_fromInt(100), Long_fromInt(10000), Long_fromInt(100000000), Long_create(1874919424, 2328306)]);
        jl_AbstractStringBuilder$Constants_doubleAnalysisResult = new otcit_DoubleAnalyzer$Result;
        jl_AbstractStringBuilder$Constants_floatAnalysisResult = new otcit_FloatAnalyzer$Result;
    }
    function otcit_FloatAnalyzer$Result() {
        var a = this; jl_Object.call(a);
        a.$mantissa = 0;
        a.$exponent = 0;
        a.$sign = 0;
    }
    function otcit_FloatAnalyzer$Result__init_0() {
        var var_0 = new otcit_FloatAnalyzer$Result();
        otcit_FloatAnalyzer$Result__init_(var_0);
        return var_0;
    }
    function otcit_FloatAnalyzer$Result__init_($this) {}
    var nleit_TeaVMClientConfigAdapterHooks$CustomMessageCB = $rt_classWithoutFields(0);
    function nleit_TeaVMClientConfigAdapterHooks$lambda$callCrashReportHook$4$lambda$_14_0() {
        jl_Object.call(this);
        this.$_029 = null;
    }
    function nleit_TeaVMClientConfigAdapterHooks$lambda$callCrashReportHook$4$lambda$_14_0_call$exported$0(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_str(var$1);
            var$2 = var$0.$_029;
            $ptr = 1;
        case 1:
            nleit_TeaVMClientConfigAdapterHooks_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = var$2.$_09;
            $ptr = 2;
        case 2:
            ju_AbstractList_add(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    function ju_DuplicateFormatFlagsException() {
        ju_IllegalFormatException.call(this);
        this.$flags4 = null;
    }
    function ju_IllegalFormatPrecisionException() {
        ju_IllegalFormatException.call(this);
        this.$precision0 = 0;
    }
    function ju_IllegalFormatPrecisionException__init_0(var_0) {
        var var_1 = new ju_IllegalFormatPrecisionException();
        ju_IllegalFormatPrecisionException__init_(var_1, var_0);
        return var_1;
    }
    function ju_IllegalFormatPrecisionException__init_($this, $precision) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$precision = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(2082);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_AbstractStringBuilder_append0(var$3, $precision);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            jl_Throwable__init_($this, var$2);
            $this.$precision0 = $precision;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $precision, var$2, var$3, $ptr);
    }
    function ju_IllegalFormatCodePointException() {
        ju_IllegalFormatException.call(this);
        this.$codePoint = 0;
    }
    function ju_IllegalFormatConversionException() {
        var a = this; ju_IllegalFormatException.call(a);
        a.$conversion1 = 0;
        a.$argumentClass = null;
    }
    function ju_IllegalFormatConversionException__init_0(var_0, var_1) {
        var var_2 = new ju_IllegalFormatConversionException();
        ju_IllegalFormatConversionException__init_(var_2, var_0, var_1);
        return var_2;
    }
    function ju_IllegalFormatConversionException__init_($this, $conversion, $argumentClass) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$argumentClass = $thread.pop();$conversion = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$4 = $rt_s(2083);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$4, $argumentClass);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$5 = $rt_s(2084);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_AbstractStringBuilder_append(var$4, $conversion);
            var$5 = $rt_s(2085);
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_Throwable__init_($this, var$4);
            $this.$conversion1 = $conversion;
            $this.$argumentClass = $argumentClass;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $conversion, $argumentClass, var$3, var$4, var$5, $ptr);
    }
    var ju_Formattable = $rt_classWithoutFields(0);
    function nms_TileEntitySpecialRenderer() {
        jl_Object.call(this);
        this.$tileEntityRenderer = null;
    }
    function nms_TileEntitySpecialRenderer_setTileEntityRenderer($this, $var1) {
        $this.$tileEntityRenderer = $var1;
    }
    function nms_TileEntitySignRenderer() {
        nms_TileEntitySpecialRenderer.call(this);
        this.$signModel = null;
    }
    function nms_TileEntitySignRenderer__init_0() {
        var var_0 = new nms_TileEntitySignRenderer();
        nms_TileEntitySignRenderer__init_(var_0);
        return var_0;
    }
    function nms_TileEntitySignRenderer__init_($this) {
        $this.$signModel = nms_SignModel__init_0();
    }
    function nms_TileEntitySignRenderer_renderTileEntitySignAt($this, $var1, $var2, $var4, $var6, $var8) {
        var $var9, $var10, $var11, $var12, $var16, $var12_0, var$12, $var15, $var13, $var14, var$16, var$17, var$18, var$19, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var15 = $thread.pop();var$12 = $thread.pop();$var12_0 = $thread.pop();$var16 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_TileEntity_getBlockType($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $ptr = 2;
        case 2:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var10 = 0.6666666865348816;
            $ptr = 3;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var9 !== nms_Block_signPost) {
                $ptr = 4;
                continue main;
            }
            $var8 = $var2 + 0.5;
            $var11 = $var4 + 0.5;
            $var12 = $var6 + 0.5;
            $ptr = 5;
            continue main;
        case 4:
            $tmp = nms_TileEntity_getBlockMetadata($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            $var12_0 = 0.0;
            if ($var16 == 2)
                $var12_0 = 180.0;
            if ($var16 == 4)
                $var12_0 = 90.0;
            if ($var16 == 5)
                $var12_0 = (-90.0);
            var$12 = $var2 + 0.5;
            $var8 = $var4 + 0.5;
            $var11 = $var6 + 0.5;
            $ptr = 28;
            continue main;
        case 5:
            olo_GL11_glTranslatef($var8, $var11, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = nms_TileEntity_getBlockMetadata($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            $var8 =  -(($var16 * 360 | 0) / 16.0);
            $var11 = 0.0;
            $var12 = 1.0;
            $var12_0 = 0.0;
            $ptr = 7;
        case 7:
            olo_GL11_glRotatef($var8, $var11, $var12, $var12_0);
            if ($rt_suspending()) {
                break main;
            }
            $this.$signModel.$field_1345_b.$showModel = 1;
            $var15 = $rt_s(2086);
            $var9 = $this.$tileEntityRenderer.$renderEngine3;
            $ptr = 8;
        case 8:
            $tmp = nms_RenderEngine_getTexture($var9, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            $ptr = 9;
        case 9:
            nms_RenderEngine_bindTexture($var9, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var8 = (-0.6666666865348816);
            $ptr = 11;
        case 11:
            olo_GL11_glScalef($var10, $var8, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $this.$signModel;
            $var9 = $var15.$field_1346_a;
            $var8 = 0.0625;
            $ptr = 12;
        case 12:
            nms_ModelRenderer_render($var9, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $var15.$field_1345_b;
            $var8 = 0.0625;
            $ptr = 13;
        case 13:
            nms_ModelRenderer_render($var15, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $this.$tileEntityRenderer.$fontRenderer2;
            $var12 = 0.01111111231148243;
            $var8 = 0.0;
            $var10 = 0.3333333432674408;
            $var11 = 0.046666666865348816;
            $ptr = 15;
        case 15:
            olo_GL11_glTranslatef($var8, $var10, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = (-0.01111111231148243);
            $ptr = 16;
        case 16:
            olo_GL11_glScalef($var12, $var8, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 0.0;
            $var10 = 0.0;
            $var11 = (-0.01111111231148243);
            $ptr = 17;
        case 17:
            nleo_EaglercraftGPU_glNormal3f($var8, $var10, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = 0;
            $ptr = 18;
        case 18:
            olo_GL11_glDepthMask($var16);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = 0;
            $var14 = 0;
            var$16 = $var1.$signText.data;
            if ($var14 >= var$16.length) {
                $var16 = 1;
                $ptr = 19;
                continue main;
            }
            $var15 = var$16[$var14];
            if ($var14 == $var1.$lineBeingEdited) {
                var$17 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$17);
                var$18 = $rt_s(1870);
                $ptr = 23;
                continue main;
            }
            var$19 = ( -nms_FontRenderer_getStringWidth($var9, $var15) | 0) / 2 | 0;
            $var16 = ($var14 * 10 | 0) - ($var1.$signText.data.length * 5 | 0) | 0;
            $ptr = 22;
            continue main;
        case 19:
            olo_GL11_glDepthMask($var16);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 1.0;
            $var10 = 1.0;
            $var11 = 1.0;
            $var12 = 1.0;
            $ptr = 20;
        case 20:
            nleo_GlStateManager_color($var8, $var10, $var11, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 21;
        case 21:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 22:
            nms_FontRenderer_drawString($var9, $var15, var$19, $var16, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $var14 + 1 | 0;
            var$16 = $var1.$signText.data;
            if ($var14 >= var$16.length) {
                $var16 = 1;
                $ptr = 19;
                continue main;
            }
            $var15 = var$16[$var14];
            if ($var14 == $var1.$lineBeingEdited) {
                var$17 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$17);
                var$18 = $rt_s(1870);
                $ptr = 23;
                continue main;
            }
            var$19 = ( -nms_FontRenderer_getStringWidth($var9, $var15) | 0) / 2 | 0;
            $var16 = ($var14 * 10 | 0) - ($var1.$signText.data.length * 5 | 0) | 0;
            continue main;
        case 23:
            $tmp = jl_StringBuilder_append(var$17, var$18);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $tmp;
            $ptr = 24;
        case 24:
            $tmp = jl_StringBuilder_append(var$18, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $tmp;
            var$18 = $rt_s(2087);
            $ptr = 25;
        case 25:
            jl_StringBuilder_append($var15, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 26;
        case 26:
            $tmp = jl_AbstractStringBuilder_toString(var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $tmp;
            $var16 = ( -nms_FontRenderer_getStringWidth($var9, $var15) | 0) / 2 | 0;
            var$19 = ($var14 * 10 | 0) - ($var1.$signText.data.length * 5 | 0) | 0;
            $ptr = 27;
        case 27:
            nms_FontRenderer_drawString($var9, $var15, $var16, var$19, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $var14 + 1 | 0;
            var$16 = $var1.$signText.data;
            if ($var14 >= var$16.length) {
                $var16 = 1;
                $ptr = 19;
                continue main;
            }
            $var15 = var$16[$var14];
            if ($var14 == $var1.$lineBeingEdited) {
                var$17 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$17);
                var$18 = $rt_s(1870);
                $ptr = 23;
                continue main;
            }
            var$19 = ( -nms_FontRenderer_getStringWidth($var9, $var15) | 0) / 2 | 0;
            $var16 = ($var14 * 10 | 0) - ($var1.$signText.data.length * 5 | 0) | 0;
            $ptr = 22;
            continue main;
        case 28:
            olo_GL11_glTranslatef(var$12, $var8, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var8 =  -$var12_0;
            $var11 = 0.0;
            $var12 = 1.0;
            $var12_0 = 0.0;
            $ptr = 29;
        case 29:
            olo_GL11_glRotatef($var8, $var11, $var12, $var12_0);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = 0.0;
            $var11 = (-0.3125);
            $var12 = (-0.4375);
            $ptr = 30;
        case 30:
            olo_GL11_glTranslatef($var8, $var11, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $this.$signModel.$field_1345_b.$showModel = 0;
            $var15 = $rt_s(2086);
            $var9 = $this.$tileEntityRenderer.$renderEngine3;
            $ptr = 8;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var10, $var11, $var12, $var16, $var12_0, var$12, $var15, $var13, $var14, var$16, var$17, var$18, var$19, $ptr);
    }
    function nms_TileEntitySignRenderer_renderTileEntityAt($this, $var1, $var2, $var4, $var6, $var8) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1;
            $ptr = 1;
        case 1:
            nms_TileEntitySignRenderer_renderTileEntitySignAt($this, $var1, $var2, $var4, $var6, $var8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $ptr);
    }
    function nms_TileEntityMobSpawner() {
        var a = this; nms_TileEntity.call(a);
        a.$delay = 0;
        a.$mobID = null;
        a.$yaw0 = 0.0;
        a.$yaw2 = 0.0;
    }
    function nms_TileEntityMobSpawner__init_0() {
        var var_0 = new nms_TileEntityMobSpawner();
        nms_TileEntityMobSpawner__init_(var_0);
        return var_0;
    }
    function nms_TileEntityMobSpawner__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$delay = (-1);
            $this.$mobID = $rt_s(1780);
            $this.$yaw2 = 0.0;
            $this.$delay = 20;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_TileEntityMobSpawner_updateEntity($this) {
        var $var1, $var3, $var5, var$4, var$5, $var11, $var13, $var15, $var10, $var7, $var8, $var9, $var17, var$14, var$15, var$16, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var17 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var10 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$yaw2 = $this.$yaw0;
            if (!(nms_World_getClosestPlayer($this.$worldObj3, $this.$xCoord0 + 0.5, $this.$yCoord0 + 0.5, $this.$zCoord0 + 0.5, 16.0) === null ? 0 : 1))
                return;
            $var1 = $this.$xCoord0 + ju_Random_nextFloat($this.$worldObj3.$rand2);
            $var3 = $this.$yCoord0 + ju_Random_nextFloat($this.$worldObj3.$rand2);
            $var5 = $this.$zCoord0 + ju_Random_nextFloat($this.$worldObj3.$rand2);
            var$4 = $this.$worldObj3;
            var$5 = $rt_s(920);
            $var11 = 0.0;
            $var13 = 0.0;
            $var15 = 0.0;
            $ptr = 1;
        case 1:
            nms_World_spawnParticle(var$4, var$5, $var1, $var3, $var5, $var11, $var13, $var15);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$worldObj3;
            var$5 = $rt_s(932);
            $var11 = 0.0;
            $var13 = 0.0;
            $var15 = 0.0;
            $ptr = 2;
        case 2:
            nms_World_spawnParticle(var$4, var$5, $var1, $var3, $var5, $var11, $var13, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $this.$yaw0;
            $var10 = $this.$delay;
            $this.$yaw0 = $var11 + 1000.0 / ($var10 + 200.0);
            while (true) {
                $var11 = $this.$yaw0;
                if ($var11 <= 360.0)
                    break;
                $this.$yaw0 = $var11 - 360.0;
                $this.$yaw2 = $this.$yaw2 - 360.0;
            }
            if ($var10 == (-1))
                nms_TileEntityMobSpawner_updateDelay($this);
            $var10 = $this.$delay;
            if ($var10 > 0)
                $this.$delay = $var10 - 1 | 0;
            else {
                $var7 = 4;
                $var8 = 0;
                if ($var8 < $var7) {
                    var$4 = $this.$mobID;
                    var$5 = $this.$worldObj3;
                    $ptr = 3;
                    continue main;
                }
            }
            return;
        case 3:
            $tmp = nms_EntityList_createEntityInWorld(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $var9 = var$4;
            if ($var9 === null)
                return;
            var$4 = $this.$worldObj3;
            var$5 = jl_Object_getClass($var9);
            $var17 = $this.$xCoord0;
            $var11 = $var17;
            var$14 = $this.$yCoord0;
            $var13 = var$14;
            var$15 = $this.$zCoord0;
            var$16 = nms_AxisAlignedBB_expand(nms_AxisAlignedBB_getBoundingBoxFromPool($var11, $var13, var$15, $var17 + 1 | 0, var$14 + 1 | 0, var$15 + 1 | 0), 8.0, 4.0, 8.0);
            $ptr = 4;
        case 4:
            $tmp = nms_World_getEntitiesWithinAABB(var$4, var$5, var$16);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4.$size0 >= 6) {
                nms_TileEntityMobSpawner_updateDelay($this);
                return;
            }
            nms_Entity_setLocationAndAngles($var9, $this.$xCoord0 + (ju_Random_nextDouble($this.$worldObj3.$rand2) - ju_Random_nextDouble($this.$worldObj3.$rand2)) * 4.0, ($this.$yCoord0 + ju_Random_nextInt($this.$worldObj3.$rand2, 3) | 0) - 1 | 0, $this.$zCoord0 + (ju_Random_nextDouble($this.$worldObj3.$rand2) - ju_Random_nextDouble($this.$worldObj3.$rand2)) * 4.0, ju_Random_nextFloat($this.$worldObj3.$rand2) * 360.0, 0.0);
            $ptr = 5;
        case 5:
            $tmp = $var9.$getCanSpawnHere();
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            if ($var10) {
                var$4 = $this.$worldObj3;
                $ptr = 6;
                continue main;
            }
            $var8 = $var8 + 1 | 0;
            if ($var8 >= $var7)
                return;
            var$4 = $this.$mobID;
            var$5 = $this.$worldObj3;
            $ptr = 3;
            continue main;
        case 6:
            var$4.$entityJoinedWorld($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var17 = 0;
            if ($var17 >= 20) {
                $ptr = 7;
                continue main;
            }
            $var3 = $this.$xCoord0 + 0.5 + (ju_Random_nextFloat($this.$worldObj3.$rand2) - 0.5) * 2.0;
            $var5 = $this.$yCoord0 + 0.5 + (ju_Random_nextFloat($this.$worldObj3.$rand2) - 0.5) * 2.0;
            $var11 = $this.$zCoord0 + 0.5 + (ju_Random_nextFloat($this.$worldObj3.$rand2) - 0.5) * 2.0;
            var$4 = $this.$worldObj3;
            var$5 = $rt_s(920);
            $var13 = 0.0;
            $var15 = 0.0;
            $var1 = 0.0;
            $ptr = 8;
            continue main;
        case 7:
            nms_EntityLiving_spawnExplosionParticle($var9);
            if ($rt_suspending()) {
                break main;
            }
            nms_TileEntityMobSpawner_updateDelay($this);
            $var8 = $var8 + 1 | 0;
            if ($var8 >= $var7)
                return;
            var$4 = $this.$mobID;
            var$5 = $this.$worldObj3;
            $ptr = 3;
            continue main;
        case 8:
            nms_World_spawnParticle(var$4, var$5, $var3, $var5, $var11, $var13, $var15, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$worldObj3;
            var$5 = $rt_s(932);
            $var13 = 0.0;
            $var15 = 0.0;
            $var1 = 0.0;
            $ptr = 9;
        case 9:
            nms_World_spawnParticle(var$4, var$5, $var3, $var5, $var11, $var13, $var15, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var17 = $var17 + 1 | 0;
            if ($var17 >= 20) {
                $ptr = 7;
                continue main;
            }
            $var3 = $this.$xCoord0 + 0.5 + (ju_Random_nextFloat($this.$worldObj3.$rand2) - 0.5) * 2.0;
            $var5 = $this.$yCoord0 + 0.5 + (ju_Random_nextFloat($this.$worldObj3.$rand2) - 0.5) * 2.0;
            $var11 = $this.$zCoord0 + 0.5 + (ju_Random_nextFloat($this.$worldObj3.$rand2) - 0.5) * 2.0;
            var$4 = $this.$worldObj3;
            var$5 = $rt_s(920);
            $var13 = 0.0;
            $var15 = 0.0;
            $var1 = 0.0;
            $ptr = 8;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, var$4, var$5, $var11, $var13, $var15, $var10, $var7, $var8, $var9, $var17, var$14, var$15, var$16, $ptr);
    }
    function nms_TileEntityMobSpawner_updateDelay($this) {
        $this.$delay = 200 + ju_Random_nextInt($this.$worldObj3.$rand2, 600) | 0;
    }
    function nms_TileEntityMobSpawner_readFromNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity_readFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2088);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getString($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$mobID = var$2;
            var$2 = $rt_s(2089);
            $ptr = 3;
        case 3:
            $tmp = nms_NBTTagCompound_getShort($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$delay = var$3;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_TileEntityMobSpawner_writeToNBT($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity_writeToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2088);
            var$3 = $this.$mobID;
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setString($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2089);
            var$4 = $this.$delay << 16 >> 16;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setShort($var1, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_TileEntityMobSpawnerRenderer() {
        nms_TileEntitySpecialRenderer.call(this);
        this.$entityHashMap = null;
    }
    function nms_TileEntityMobSpawnerRenderer__init_0() {
        var var_0 = new nms_TileEntityMobSpawnerRenderer();
        nms_TileEntityMobSpawnerRenderer__init_(var_0);
        return var_0;
    }
    function nms_TileEntityMobSpawnerRenderer__init_($this) {
        $this.$entityHashMap = ju_HashMap__init_0();
    }
    function nms_TileEntityMobSpawnerRenderer_renderTileEntityAt($this, $var1, $var2, $var4, $var6, $var8) {
        var var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $var1;
            $ptr = 1;
        case 1:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $var2 + 0.5;
            var$8 = $var4;
            var$9 = $var6 + 0.5;
            $ptr = 2;
        case 2:
            olo_GL11_glTranslatef(var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $this.$entityHashMap;
            $var1 = var$6.$mobID;
            $ptr = 3;
        case 3:
            $tmp = ju_HashMap_get(var$10, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$11 = $var1;
            if (var$11 === null) {
                $var1 = var$6.$mobID;
                var$10 = null;
                $ptr = 4;
                continue main;
            }
            if (var$11 === null) {
                $ptr = 6;
                continue main;
            }
            var$11.$worldObj0 = var$6.$worldObj3;
            var$12 = 0.4375;
            var$9 = 0.0;
            var$7 = 0.4000000059604645;
            var$8 = 0.0;
            $ptr = 7;
            continue main;
        case 4:
            $tmp = nms_EntityList_createEntityInWorld($var1, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            var$10 = $this.$entityHashMap;
            $var1 = var$6.$mobID;
            $ptr = 5;
        case 5:
            ju_HashMap_putImpl(var$10, $var1, var$11);
            if ($rt_suspending()) {
                break main;
            }
            if (var$11 === null) {
                $ptr = 6;
                continue main;
            }
            var$11.$worldObj0 = var$6.$worldObj3;
            var$12 = 0.4375;
            var$9 = 0.0;
            var$7 = 0.4000000059604645;
            var$8 = 0.0;
            $ptr = 7;
            continue main;
        case 6:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 7:
            olo_GL11_glTranslatef(var$9, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = var$6.$yaw2;
            var$9 = (var$13 + (var$6.$yaw0 - var$13) * $var8) * 10.0;
            var$7 = 0.0;
            var$8 = 1.0;
            var$14 = 0.0;
            $ptr = 8;
        case 8:
            olo_GL11_glRotatef(var$9, var$7, var$8, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = (-30.0);
            var$7 = 1.0;
            var$8 = 0.0;
            var$14 = 0.0;
            $ptr = 9;
        case 9:
            olo_GL11_glRotatef(var$9, var$7, var$8, var$14);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 0.0;
            var$7 = (-0.4000000059604645);
            var$8 = 0.0;
            $ptr = 10;
        case 10:
            olo_GL11_glTranslatef(var$9, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            olo_GL11_glScalef(var$12, var$12, var$12);
            if ($rt_suspending()) {
                break main;
            }
            nms_Entity_setLocationAndAngles(var$11, $var2, $var4, $var6, 0.0, 0.0);
            $ptr = 12;
        case 12:
            nms_RenderManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_RenderManager_instance;
            $var4 = 0.0;
            $var6 = 0.0;
            $var2 = 0.0;
            var$9 = 0.0;
            $ptr = 13;
        case 13:
            nms_RenderManager_renderEntityWithPosYaw($var1, var$11, $var4, $var6, $var2, var$9, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr);
    }
    function ju_FormatFlagsConversionMismatchException() {
        var a = this; ju_IllegalFormatException.call(a);
        a.$flags3 = null;
        a.$conversion = 0;
    }
    function ju_IllegalFormatFlagsException() {
        ju_IllegalFormatException.call(this);
        this.$flags5 = null;
    }
    function ju_IllegalFormatFlagsException__init_0(var_0) {
        var var_1 = new ju_IllegalFormatFlagsException();
        ju_IllegalFormatFlagsException__init_(var_1, var_0);
        return var_1;
    }
    function ju_IllegalFormatFlagsException__init_($this, $flags) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$flags = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(2090);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$3, $flags);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            jl_Throwable__init_($this, var$2);
            $this.$flags5 = $flags;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $flags, var$2, var$3, $ptr);
    }
    function ju_MissingFormatWidthException() {
        ju_IllegalFormatException.call(this);
        this.$formatSpecifier = null;
    }
    function otcit_DoubleAnalyzer$Result() {
        var a = this; jl_Object.call(a);
        a.$mantissa0 = Long_ZERO;
        a.$exponent0 = 0;
        a.$sign0 = 0;
    }
    function otcit_DoubleAnalyzer$Result__init_0() {
        var var_0 = new otcit_DoubleAnalyzer$Result();
        otcit_DoubleAnalyzer$Result__init_(var_0);
        return var_0;
    }
    function otcit_DoubleAnalyzer$Result__init_($this) {}
    var nms_Packet0KeepAlive = $rt_classWithoutFields(nms_Packet);
    function nms_Packet0KeepAlive__init_0() {
        var var_0 = new nms_Packet0KeepAlive();
        nms_Packet0KeepAlive__init_(var_0);
        return var_0;
    }
    function nms_Packet0KeepAlive__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet0KeepAlive_processPacket($this, $var1) {}
    function nms_Packet0KeepAlive_readPacketData($this, $var1) {}
    function nms_Packet0KeepAlive_writePacketData($this, $var1) {}
    function nms_Packet0KeepAlive_getPacketSize($this) {
        return 0;
    }
    function nms_Packet1Login() {
        var a = this; nms_Packet.call(a);
        a.$protocolVersion = 0;
        a.$username4 = null;
        a.$password = null;
        a.$mapSeed = Long_ZERO;
        a.$dimension1 = 0;
    }
    function nms_Packet1Login__init_1() {
        var var_0 = new nms_Packet1Login();
        nms_Packet1Login__init_(var_0);
        return var_0;
    }
    function nms_Packet1Login__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet1Login_readPacketData($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$protocolVersion = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readUTF($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$username4 = var$3;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readUTF($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$password = var$3;
            $ptr = 4;
        case 4:
            $tmp = ji_DataInputStream_readLong($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $this.$mapSeed = var$4;
            $this.$dimension1 = ji_DataInputStream_readByte($var1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_Packet1Login_writePacketData($this, $var1) {
        ji_DataOutputStream_writeInt($var1, $this.$protocolVersion);
        ji_DataOutputStream_writeUTF($var1, $this.$username4);
        ji_DataOutputStream_writeUTF($var1, $this.$password);
        ji_DataOutputStream_writeLong($var1, $this.$mapSeed);
        ji_DataOutputStream_writeByte($var1, $this.$dimension1);
    }
    function nms_Packet1Login_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $var1.$mc9;
            var$3 = new nms_PlayerControllerMP;
            nms_PlayerController__init_(var$3, var$2);
            var$3.$field_9445_c = (-1);
            var$3.$field_9444_d = (-1);
            var$3.$field_9443_e = (-1);
            var$3.$field_9442_f = 0.0;
            var$3.$field_1080_g = 0.0;
            var$3.$field_9441_h = 0.0;
            var$3.$field_9440_i = 0;
            var$3.$field_9439_j = 0;
            var$3.$field_1075_l = 0;
            var$3.$netClientHandler = $var1;
            var$2.$playerController = var$3;
            var$3 = $var1.$mc9.$field_25001_G;
            $ptr = 1;
        case 1:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = nms_StatList_field_25181_h;
            var$4 = 1;
            $ptr = 2;
        case 2:
            nms_XBlah_func_25100_a(var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = new nms_WorldClient;
            var$5 = $this.$mapSeed;
            var$4 = $this.$dimension1;
            var$2 = new nms_SaveHandlerMP;
            if (!var$4)
                var$6 = nms_WorldProvider__init_0();
            else if (var$4 != (-1))
                var$6 = null;
            else {
                var$6 = new nms_WorldProviderHell;
                nms_WorldProvider__init_(var$6);
            }
            var$3.$scheduledUpdatesAreImmediate = 0;
            var$3.$field_1051_z = ju_ArrayList__init_0();
            var$3.$loadedEntityList = ju_ArrayList__init_0();
            var$3.$unloadedEntityList = ju_ArrayList__init_0();
            var$3.$scheduledTickTreeSet = ju_TreeSet__init_0();
            var$3.$scheduledTickSet = ju_HashSet__init_0();
            var$3.$loadedTileEntityList = ju_ArrayList__init_0();
            var$3.$playerEntities = ju_ArrayList__init_0();
            var$3.$field_1019_F = Long_fromInt(16777215);
            var$3.$skylightSubtracted = 0;
            var$3.$field_9437_g = ju_Random_nextInt0(new ju_Random);
            var$3.$field_9436_h = 1013904223;
            var$3.$editingBlocks = 0;
            var$3.$lockTimestamp = jl_System_currentTimeMillis();
            var$3.$autosavePeriod = 4000;
            var$3.$rand2 = new ju_Random;
            var$3.$isNewWorld = 0;
            var$3.$worldAccesses = ju_ArrayList__init_0();
            var$3.$field_9428_I = ju_ArrayList__init_0();
            var$3.$field_4204_J = 0;
            var$3.$spawnHostileMobs = 1;
            var$3.$spawnPeacefulMobs = 1;
            var$3.$field_9427_K = ju_HashSet__init_0();
            var$3.$field_9426_L = ju_Random_nextInt(var$3.$rand2, 12000);
            var$3.$field_1012_M = ju_ArrayList__init_0();
            var$3.$multiplayerWorld = 0;
            var$3.$saveHandler = var$2;
            var$3.$worldInfo = nms_WorldInfo__init_2(var$5, $rt_s(2091));
            var$3.$worldProvider = var$6;
            $ptr = 3;
        case 3:
            nms_WorldProvider_registerWorld(var$6, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = new nms_ChunkProviderClient;
            var$2.$chunkMapping = ju_HashMap__init_0();
            var$2.$field_889_c = ju_ArrayList__init_0();
            var$2.$blankChunk0 = nms_EmptyChunk__init_0(var$3, $rt_createByteArray(32768), 0, 0);
            var$2.$worldObj9 = var$3;
            var$3.$field_20915_C = var$2;
            var$3.$chunkProvider = var$2;
            nms_World_calculateInitialSkylight(var$3);
            var$3.$field_1057_z = new ju_LinkedList;
            var$3.$field_1055_D = nms_MCHashTable__init_0();
            var$3.$field_20914_E = ju_HashSet__init_0();
            var$3.$field_1053_F = ju_HashSet__init_0();
            var$3.$sendQueue0 = $var1;
            nms_World_setSpawnPoint(var$3, nms_ChunkCoordinates__init_2(8, 64, 8));
            $var1.$worldClient = var$3;
            var$3.$multiplayerWorld = 1;
            var$2 = $var1.$mc9;
            $ptr = 4;
        case 4:
            nmc_Minecraft_changeWorld1(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $var1.$mc9;
            var$2 = new nms_GuiDownloadTerrain;
            nms_GuiScreen__init_(var$2);
            var$2.$updateCounter5 = 0;
            var$2.$netHandler0 = $var1;
            $ptr = 5;
        case 5:
            nmc_Minecraft_displayGuiScreen(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$mc9.$thePlayer.$entityId = $this.$protocolVersion;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_Packet1Login_getPacketSize($this) {
        return (((4 + jl_String_length($this.$username4) | 0) + jl_String_length($this.$password) | 0) + 4 | 0) + 5 | 0;
    }
    function nms_Packet2Handshake() {
        nms_Packet.call(this);
        this.$username3 = null;
    }
    function nms_Packet2Handshake__init_1() {
        var var_0 = new nms_Packet2Handshake();
        nms_Packet2Handshake__init_(var_0);
        return var_0;
    }
    function nms_Packet2Handshake__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet2Handshake_readPacketData($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readUTF($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$username3 = $var1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Packet2Handshake_writePacketData($this, $var1) {
        ji_DataOutputStream_writeUTF($var1, $this.$username3);
    }
    function nms_Packet2Handshake_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_Packet1Login;
            var$3 = $var1.$mc9.$session.$username1;
            var$4 = $rt_s(2092);
            var$5 = 10;
            $ptr = 1;
        case 1:
            nms_Packet__init_(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2.$username4 = var$3;
            var$2.$password = var$4;
            var$2.$protocolVersion = var$5;
            $ptr = 2;
        case 2:
            nms_NetClientHandler_addToSendQueue($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_Packet2Handshake_getPacketSize($this) {
        return (4 + jl_String_length($this.$username3) | 0) + 4 | 0;
    }
    function nms_Packet3Chat() {
        nms_Packet.call(this);
        this.$message2 = null;
    }
    function nms_Packet3Chat__init_1() {
        var var_0 = new nms_Packet3Chat();
        nms_Packet3Chat__init_(var_0);
        return var_0;
    }
    function nms_Packet3Chat__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet3Chat_readPacketData($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readUTF($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$message2 = $var1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Packet3Chat_writePacketData($this, $var1) {
        ji_DataOutputStream_writeUTF($var1, $this.$message2);
    }
    function nms_Packet3Chat_processPacket($this, $var1) {
        nms_GuiIngame_addChatMessage($var1.$mc9.$ingameGUI, $this.$message2);
    }
    function nms_Packet3Chat_getPacketSize($this) {
        return jl_String_length($this.$message2);
    }
    function nms_Packet4UpdateTime() {
        nms_Packet.call(this);
        this.$time1 = Long_ZERO;
    }
    function nms_Packet4UpdateTime__init_0() {
        var var_0 = new nms_Packet4UpdateTime();
        nms_Packet4UpdateTime__init_(var_0);
        return var_0;
    }
    function nms_Packet4UpdateTime__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet4UpdateTime_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readLong($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$time1 = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet4UpdateTime_processPacket($this, $var1) {
        nms_World_setWorldTime($var1.$mc9.$theWorld, $this.$time1);
    }
    function nms_Packet4UpdateTime_getPacketSize($this) {
        return 8;
    }
    function nms_Packet5PlayerInventory() {
        var a = this; nms_Packet.call(a);
        a.$entityID = 0;
        a.$slot = 0;
        a.$itemID0 = 0;
        a.$itemDamage0 = 0;
    }
    function nms_Packet5PlayerInventory__init_0() {
        var var_0 = new nms_Packet5PlayerInventory();
        nms_Packet5PlayerInventory__init_(var_0);
        return var_0;
    }
    function nms_Packet5PlayerInventory__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet5PlayerInventory_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$entityID = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$slot = var$2;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$itemID0 = var$2;
            $ptr = 4;
        case 4:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$itemDamage0 = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet5PlayerInventory_processPacket($this, $var1) {
        $var1 = nms_NetClientHandler_getEntityByID($var1, $this.$entityID);
        if ($var1 !== null)
            $var1.$outfitWithItem($this.$slot, $this.$itemID0, $this.$itemDamage0);
    }
    function nms_Packet5PlayerInventory_getPacketSize($this) {
        return 8;
    }
    function nms_Packet6SpawnPosition() {
        var a = this; nms_Packet.call(a);
        a.$xPosition3 = 0;
        a.$yPosition3 = 0;
        a.$zPosition2 = 0;
    }
    function nms_Packet6SpawnPosition__init_0() {
        var var_0 = new nms_Packet6SpawnPosition();
        nms_Packet6SpawnPosition__init_(var_0);
        return var_0;
    }
    function nms_Packet6SpawnPosition__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet6SpawnPosition_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$xPosition3 = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$yPosition3 = var$2;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$zPosition2 = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet6SpawnPosition_processPacket($this, $var1) {
        nms_EntityPlayer_setPlayerSpawnCoordinate($var1.$mc9.$thePlayer, nms_ChunkCoordinates__init_2($this.$xPosition3, $this.$yPosition3, $this.$zPosition2));
    }
    function nms_Packet6SpawnPosition_getPacketSize($this) {
        return 12;
    }
    function nms_Packet7() {
        var a = this; nms_Packet.call(a);
        a.$playerEntityId = 0;
        a.$targetEntity = 0;
        a.$isLeftClick = 0;
    }
    function nms_Packet7__init_1() {
        var var_0 = new nms_Packet7();
        nms_Packet7__init_(var_0);
        return var_0;
    }
    function nms_Packet7__init_2(var_0, var_1, var_2) {
        var var_3 = new nms_Packet7();
        nms_Packet7__init_0(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_Packet7__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet7__init_0($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$playerEntityId = $var1;
            $this.$targetEntity = $var2;
            $this.$isLeftClick = $var3;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_Packet7_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$playerEntityId = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$targetEntity = var$2;
            $this.$isLeftClick = ji_DataInputStream_readByte($var1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet7_writePacketData($this, $var1) {
        ji_DataOutputStream_writeInt($var1, $this.$playerEntityId);
        ji_DataOutputStream_writeInt($var1, $this.$targetEntity);
        ji_DataOutputStream_writeByte($var1, $this.$isLeftClick);
    }
    function nms_Packet7_processPacket($this, $var1) {}
    function nms_Packet7_getPacketSize($this) {
        return 9;
    }
    function nms_Packet8() {
        nms_Packet.call(this);
        this.$healthMP = 0;
    }
    function nms_Packet8__init_0() {
        var var_0 = new nms_Packet8();
        nms_Packet8__init_(var_0);
        return var_0;
    }
    function nms_Packet8__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet8_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$healthMP = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet8_processPacket($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1.$mc9.$thePlayer;
            var$2 = $this.$healthMP;
            $ptr = 1;
        case 1:
            $var1.$setHealth(var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet8_getPacketSize($this) {
        return 2;
    }
    var nms_Packet9 = $rt_classWithoutFields(nms_Packet);
    function nms_Packet9__init_0() {
        var var_0 = new nms_Packet9();
        nms_Packet9__init_(var_0);
        return var_0;
    }
    function nms_Packet9__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet9_processPacket($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1.$mc9;
            var$2 = 1;
            $ptr = 1;
        case 1:
            nmc_Minecraft_respawn($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet9_readPacketData($this, $var1) {}
    function nms_Packet9_writePacketData($this, $var1) {}
    function nms_Packet9_getPacketSize($this) {
        return 0;
    }
    function nms_Packet10Flying() {
        var a = this; nms_Packet.call(a);
        a.$xPosition4 = 0.0;
        a.$yPosition4 = 0.0;
        a.$zPosition3 = 0.0;
        a.$stance = 0.0;
        a.$yaw = 0.0;
        a.$pitch = 0.0;
        a.$onGround1 = 0;
        a.$moving = 0;
        a.$rotating = 0;
    }
    function nms_Packet10Flying__init_1() {
        var var_0 = new nms_Packet10Flying();
        nms_Packet10Flying__init_(var_0);
        return var_0;
    }
    function nms_Packet10Flying__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet10Flying_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $var1.$mc9.$thePlayer;
            var$3 = var$2.$posX;
            var$4 = var$2.$posY;
            var$5 = var$2.$posZ;
            var$6 = var$2.$rotationYaw;
            var$7 = var$2.$rotationPitch;
            if ($this.$moving) {
                var$3 = $this.$xPosition4;
                var$4 = $this.$yPosition4;
                var$5 = $this.$zPosition3;
            }
            if ($this.$rotating) {
                var$6 = $this.$yaw;
                var$7 = $this.$pitch;
            }
            var$2.$ySize = 0.0;
            var$2.$motionZ = 0.0;
            var$2.$motionY = 0.0;
            var$2.$motionX = 0.0;
            nms_Entity_setPositionAndRotation(var$2, var$3, var$4, var$5, var$6, var$7);
            $this.$xPosition4 = var$2.$posX;
            $this.$yPosition4 = var$2.$boundingBox.$minY0;
            $this.$zPosition3 = var$2.$posZ;
            $this.$stance = var$2.$posY;
            var$2 = $var1.$netManager;
            $ptr = 1;
        case 1:
            nms_NetworkManager_addToSendQueue(var$2, $this);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$field_1210_g)
                return;
            var$2 = $var1.$mc9;
            var$8 = var$2.$thePlayer;
            var$8.$prevPosX = var$8.$posX;
            var$8.$prevPosY = var$8.$posY;
            var$8.$prevPosZ = var$8.$posZ;
            $var1.$field_1210_g = 1;
            $var1 = null;
            $ptr = 2;
        case 2:
            nmc_Minecraft_displayGuiScreen(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_Packet10Flying_readPacketData($this, $var1) {
        $this.$onGround1 = !ji_FilterInputStream_read($var1) ? 0 : 1;
    }
    function nms_Packet10Flying_writePacketData($this, $var1) {
        ji_DataOutputStream_write0($var1, !$this.$onGround1 ? 0 : 1);
    }
    function nms_Packet10Flying_getPacketSize($this) {
        return 1;
    }
    var nms_Packet11PlayerPosition = $rt_classWithoutFields(nms_Packet10Flying);
    function nms_Packet11PlayerPosition__init_1() {
        var var_0 = new nms_Packet11PlayerPosition();
        nms_Packet11PlayerPosition__init_(var_0);
        return var_0;
    }
    function nms_Packet11PlayerPosition__init_2(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nms_Packet11PlayerPosition();
        nms_Packet11PlayerPosition__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nms_Packet11PlayerPosition__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$moving = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet11PlayerPosition__init_0($this, $var1, $var3, $var5, $var7, $var9) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$xPosition4 = $var1;
            $this.$yPosition4 = $var3;
            $this.$stance = $var5;
            $this.$zPosition3 = $var7;
            $this.$onGround1 = $var9;
            $this.$moving = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, $var7, $var9, $ptr);
    }
    function nms_Packet11PlayerPosition_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readDouble($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$xPosition4 = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readDouble($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$yPosition4 = var$2;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readDouble($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$stance = var$2;
            $ptr = 4;
        case 4:
            $tmp = ji_DataInputStream_readDouble($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$zPosition3 = var$2;
            $ptr = 5;
        case 5:
            nms_Packet10Flying_readPacketData($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet11PlayerPosition_writePacketData($this, $var1) {
        ji_DataOutputStream_writeDouble($var1, $this.$xPosition4);
        ji_DataOutputStream_writeDouble($var1, $this.$yPosition4);
        ji_DataOutputStream_writeDouble($var1, $this.$stance);
        ji_DataOutputStream_writeDouble($var1, $this.$zPosition3);
        nms_Packet10Flying_writePacketData($this, $var1);
    }
    function nms_Packet11PlayerPosition_getPacketSize($this) {
        return 33;
    }
    var nms_Packet12PlayerLook = $rt_classWithoutFields(nms_Packet10Flying);
    function nms_Packet12PlayerLook__init_1() {
        var var_0 = new nms_Packet12PlayerLook();
        nms_Packet12PlayerLook__init_(var_0);
        return var_0;
    }
    function nms_Packet12PlayerLook__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$rotating = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet12PlayerLook_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readFloat($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$yaw = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readFloat($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$pitch = var$2;
            $ptr = 3;
        case 3:
            nms_Packet10Flying_readPacketData($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet12PlayerLook_writePacketData($this, $var1) {
        ji_DataOutputStream_writeFloat($var1, $this.$yaw);
        ji_DataOutputStream_writeFloat($var1, $this.$pitch);
        nms_Packet10Flying_writePacketData($this, $var1);
    }
    function nms_Packet12PlayerLook_getPacketSize($this) {
        return 9;
    }
    var nms_Packet13PlayerLookMove = $rt_classWithoutFields(nms_Packet10Flying);
    function nms_Packet13PlayerLookMove__init_1() {
        var var_0 = new nms_Packet13PlayerLookMove();
        nms_Packet13PlayerLookMove__init_(var_0);
        return var_0;
    }
    function nms_Packet13PlayerLookMove__init_2(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
        var var_7 = new nms_Packet13PlayerLookMove();
        nms_Packet13PlayerLookMove__init_0(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
        return var_7;
    }
    function nms_Packet13PlayerLookMove__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$rotating = 1;
            $this.$moving = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet13PlayerLookMove__init_0($this, $var1, $var3, $var5, $var7, $var9, $var10, $var11) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$xPosition4 = $var1;
            $this.$yPosition4 = $var3;
            $this.$stance = $var5;
            $this.$zPosition3 = $var7;
            $this.$yaw = $var9;
            $this.$pitch = $var10;
            $this.$onGround1 = $var11;
            $this.$rotating = 1;
            $this.$moving = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, $var7, $var9, $var10, $var11, $ptr);
    }
    function nms_Packet13PlayerLookMove_readPacketData($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readDouble($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$xPosition4 = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readDouble($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$yPosition4 = var$2;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readDouble($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$stance = var$2;
            $ptr = 4;
        case 4:
            $tmp = ji_DataInputStream_readDouble($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$zPosition3 = var$2;
            $ptr = 5;
        case 5:
            $tmp = ji_DataInputStream_readFloat($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$yaw = var$3;
            $ptr = 6;
        case 6:
            $tmp = ji_DataInputStream_readFloat($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$pitch = var$3;
            $ptr = 7;
        case 7:
            nms_Packet10Flying_readPacketData($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_Packet13PlayerLookMove_writePacketData($this, $var1) {
        ji_DataOutputStream_writeDouble($var1, $this.$xPosition4);
        ji_DataOutputStream_writeDouble($var1, $this.$yPosition4);
        ji_DataOutputStream_writeDouble($var1, $this.$stance);
        ji_DataOutputStream_writeDouble($var1, $this.$zPosition3);
        ji_DataOutputStream_writeFloat($var1, $this.$yaw);
        ji_DataOutputStream_writeFloat($var1, $this.$pitch);
        nms_Packet10Flying_writePacketData($this, $var1);
    }
    function nms_Packet13PlayerLookMove_getPacketSize($this) {
        return 41;
    }
    function nms_Packet14BlockDig() {
        var a = this; nms_Packet.call(a);
        a.$xPosition5 = 0;
        a.$yPosition5 = 0;
        a.$zPosition4 = 0;
        a.$face = 0;
        a.$status1 = 0;
    }
    function nms_Packet14BlockDig__init_1() {
        var var_0 = new nms_Packet14BlockDig();
        nms_Packet14BlockDig__init_(var_0);
        return var_0;
    }
    function nms_Packet14BlockDig__init_2(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nms_Packet14BlockDig();
        nms_Packet14BlockDig__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nms_Packet14BlockDig__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet14BlockDig__init_0($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$status1 = $var1;
            $this.$xPosition5 = $var2;
            $this.$yPosition5 = $var3;
            $this.$zPosition4 = $var4;
            $this.$face = $var5;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Packet14BlockDig_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_FilterInputStream_read($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$status1 = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$xPosition5 = var$2;
            $ptr = 3;
        case 3:
            $tmp = ji_FilterInputStream_read($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$yPosition5 = var$2;
            $ptr = 4;
        case 4:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$zPosition4 = var$2;
            $ptr = 5;
        case 5:
            $tmp = ji_FilterInputStream_read($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$face = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet14BlockDig_writePacketData($this, $var1) {
        ji_DataOutputStream_write0($var1, $this.$status1);
        ji_DataOutputStream_writeInt($var1, $this.$xPosition5);
        ji_DataOutputStream_write0($var1, $this.$yPosition5);
        ji_DataOutputStream_writeInt($var1, $this.$zPosition4);
        ji_DataOutputStream_write0($var1, $this.$face);
    }
    function nms_Packet14BlockDig_processPacket($this, $var1) {}
    function nms_Packet14BlockDig_getPacketSize($this) {
        return 11;
    }
    function nms_Packet15Place() {
        var a = this; nms_Packet.call(a);
        a.$xPosition6 = 0;
        a.$yPosition6 = 0;
        a.$zPosition5 = 0;
        a.$direction0 = 0;
        a.$itemStack0 = null;
    }
    function nms_Packet15Place__init_1() {
        var var_0 = new nms_Packet15Place();
        nms_Packet15Place__init_(var_0);
        return var_0;
    }
    function nms_Packet15Place__init_2(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nms_Packet15Place();
        nms_Packet15Place__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nms_Packet15Place__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet15Place__init_0($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$xPosition6 = $var1;
            $this.$yPosition6 = $var2;
            $this.$zPosition5 = $var3;
            $this.$direction0 = $var4;
            $this.$itemStack0 = $var5;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Packet15Place_readPacketData($this, $var1) {
        var $var2, $var3, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$xPosition6 = $var2;
            $ptr = 2;
        case 2:
            $tmp = ji_FilterInputStream_read($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$yPosition6 = $var2;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$zPosition5 = $var2;
            $ptr = 4;
        case 4:
            $tmp = ji_FilterInputStream_read($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$direction0 = $var2;
            $ptr = 5;
        case 5:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 < 0) {
                $this.$itemStack0 = null;
                return;
            }
            $var3 = ji_DataInputStream_readByte($var1);
            $ptr = 6;
        case 6:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $this.$itemStack0 = nms_ItemStack__init_7($var2, $var3, $var4);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_Packet15Place_writePacketData($this, $var1) {
        var var$2;
        ji_DataOutputStream_writeInt($var1, $this.$xPosition6);
        ji_DataOutputStream_write0($var1, $this.$yPosition6);
        ji_DataOutputStream_writeInt($var1, $this.$zPosition5);
        ji_DataOutputStream_write0($var1, $this.$direction0);
        var$2 = $this.$itemStack0;
        if (var$2 === null)
            ji_DataOutputStream_writeShort($var1, (-1));
        else {
            ji_DataOutputStream_writeShort($var1, var$2.$itemID);
            ji_DataOutputStream_writeByte($var1, $this.$itemStack0.$stackSize);
            ji_DataOutputStream_writeShort($var1, $this.$itemStack0.$itemDamage);
        }
    }
    function nms_Packet15Place_processPacket($this, $var1) {}
    function nms_Packet15Place_getPacketSize($this) {
        return 15;
    }
    function nms_Packet16BlockItemSwitch() {
        nms_Packet.call(this);
        this.$id3 = 0;
    }
    function nms_Packet16BlockItemSwitch__init_1() {
        var var_0 = new nms_Packet16BlockItemSwitch();
        nms_Packet16BlockItemSwitch__init_(var_0);
        return var_0;
    }
    function nms_Packet16BlockItemSwitch__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet16BlockItemSwitch_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$id3 = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet16BlockItemSwitch_writePacketData($this, $var1) {
        ji_DataOutputStream_writeShort($var1, $this.$id3);
    }
    function nms_Packet16BlockItemSwitch_processPacket($this, $var1) {}
    function nms_Packet16BlockItemSwitch_getPacketSize($this) {
        return 2;
    }
    function nms_Packet17Sleep() {
        var a = this; nms_Packet.call(a);
        a.$field_22045_a = 0;
        a.$field_22044_b = 0;
        a.$field_22048_c = 0;
        a.$field_22047_d = 0;
        a.$field_22046_e = 0;
    }
    function nms_Packet17Sleep__init_0() {
        var var_0 = new nms_Packet17Sleep();
        nms_Packet17Sleep__init_(var_0);
        return var_0;
    }
    function nms_Packet17Sleep__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet17Sleep_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$field_22045_a = var$2;
            $this.$field_22046_e = ji_DataInputStream_readByte($var1);
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$field_22044_b = var$2;
            $this.$field_22048_c = ji_DataInputStream_readByte($var1);
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$field_22047_d = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet17Sleep_processPacket($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = nms_NetClientHandler_getEntityByID($var1, $this.$field_22045_a);
            if ($var1 !== null && !$this.$field_22046_e) {
                $var1 = $var1;
                var$2 = $this.$field_22044_b;
                var$3 = $this.$field_22048_c;
                var$4 = $this.$field_22047_d;
                $ptr = 1;
                continue main;
            }
            return;
        case 1:
            nms_EntityPlayer_sleepInBedAt($var1, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_Packet17Sleep_getPacketSize($this) {
        return 14;
    }
    function nms_Packet18ArmAnimation() {
        var a = this; nms_Packet.call(a);
        a.$entityId1 = 0;
        a.$animate = 0;
    }
    function nms_Packet18ArmAnimation__init_1() {
        var var_0 = new nms_Packet18ArmAnimation();
        nms_Packet18ArmAnimation__init_(var_0);
        return var_0;
    }
    function nms_Packet18ArmAnimation__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet18ArmAnimation_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$entityId1 = var$2;
            $this.$animate = ji_DataInputStream_readByte($var1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet18ArmAnimation_writePacketData($this, $var1) {
        ji_DataOutputStream_writeInt($var1, $this.$entityId1);
        ji_DataOutputStream_writeByte($var1, $this.$animate);
    }
    function nms_Packet18ArmAnimation_processPacket($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = nms_NetClientHandler_getEntityByID($var1, $this.$entityId1);
            if ($var1 !== null) {
                var$2 = $this.$animate;
                if (var$2 == 1) {
                    $var1 = $var1;
                    $ptr = 1;
                    continue main;
                }
                if (var$2 == 2) {
                    $ptr = 2;
                    continue main;
                }
                if (var$2 == 3) {
                    $var1 = $var1;
                    var$3 = 0;
                    var$2 = 0;
                    var$4 = 0;
                    $ptr = 3;
                    continue main;
                }
                if (var$2 == 4)
                    $var1.$func_6420_o();
            }
            return;
        case 1:
            $var1.$swingItem();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            $var1.$performHurtAnimation();
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_EntityPlayer_wakeUpPlayer($var1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_Packet18ArmAnimation_getPacketSize($this) {
        return 5;
    }
    function nms_Packet20NamedEntitySpawn() {
        var a = this; nms_Packet.call(a);
        a.$entityId3 = 0;
        a.$name12 = null;
        a.$xPosition7 = 0;
        a.$yPosition7 = 0;
        a.$zPosition6 = 0;
        a.$rotation = 0;
        a.$pitch0 = 0;
        a.$currentItem0 = 0;
    }
    function nms_Packet20NamedEntitySpawn__init_0() {
        var var_0 = new nms_Packet20NamedEntitySpawn();
        nms_Packet20NamedEntitySpawn__init_(var_0);
        return var_0;
    }
    function nms_Packet20NamedEntitySpawn__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet20NamedEntitySpawn_readPacketData($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$entityId3 = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readUTF($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$name12 = var$3;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$xPosition7 = var$2;
            $ptr = 4;
        case 4:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$yPosition7 = var$2;
            $ptr = 5;
        case 5:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$zPosition6 = var$2;
            $this.$rotation = ji_DataInputStream_readByte($var1);
            $this.$pitch0 = ji_DataInputStream_readByte($var1);
            $ptr = 6;
        case 6:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$currentItem0 = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_Packet20NamedEntitySpawn_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$xPosition7 / 32.0;
            var$3 = $this.$yPosition7 / 32.0;
            var$4 = $this.$zPosition6 / 32.0;
            var$5 = ($this.$rotation * 360 | 0) / 256.0;
            var$6 = ($this.$pitch0 * 360 | 0) / 256.0;
            var$7 = new nms_EntityOtherPlayerMP;
            var$8 = $var1.$mc9.$theWorld;
            var$9 = $this.$name12;
            $ptr = 1;
        case 1:
            nms_EntityPlayer__init_(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$7.$field_20924_a = 0.0;
            var$7.$username = var$9;
            var$7.$yOffset = 0.0;
            var$7.$stepHeight = 0.0;
            if (var$9 !== null && jl_String_length(var$9) > 0) {
                var$8 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$8);
                var$10 = $rt_s(2093);
                $ptr = 2;
                continue main;
            }
            var$7.$noClip = 1;
            var$7.$field_22062_y = 0.25;
            var$7.$renderDistanceWeight = 10.0;
            var$7.$serverPosX = $this.$xPosition7;
            var$7.$serverPosY = $this.$yPosition7;
            var$7.$serverPosZ = $this.$zPosition6;
            var$11 = $this.$currentItem0;
            if (!var$11) {
                var$8 = var$7.$inventory;
                var$8.$mainInventory.data[var$8.$currentItem] = null;
            } else {
                var$8 = var$7.$inventory;
                var$8.$mainInventory.data[var$8.$currentItem] = nms_ItemStack__init_7(var$11, 1, 0);
            }
            nms_Entity_setPositionAndRotation(var$7, var$2, var$3, var$4, var$5, var$6);
            $var1 = $var1.$worldClient;
            var$12 = $this.$entityId3;
            $ptr = 6;
            continue main;
        case 2:
            $tmp = jl_StringBuilder_append(var$8, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$10, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            var$10 = $rt_s(1756);
            $ptr = 4;
        case 4:
            jl_StringBuilder_append(var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            var$7.$skinUrl = var$8;
            var$7.$noClip = 1;
            var$7.$field_22062_y = 0.25;
            var$7.$renderDistanceWeight = 10.0;
            var$7.$serverPosX = $this.$xPosition7;
            var$7.$serverPosY = $this.$yPosition7;
            var$7.$serverPosZ = $this.$zPosition6;
            var$11 = $this.$currentItem0;
            if (!var$11) {
                var$8 = var$7.$inventory;
                var$8.$mainInventory.data[var$8.$currentItem] = null;
            } else {
                var$8 = var$7.$inventory;
                var$8.$mainInventory.data[var$8.$currentItem] = nms_ItemStack__init_7(var$11, 1, 0);
            }
            nms_Entity_setPositionAndRotation(var$7, var$2, var$3, var$4, var$5, var$6);
            $var1 = $var1.$worldClient;
            var$12 = $this.$entityId3;
            $ptr = 6;
        case 6:
            nms_WorldClient_func_712_a($var1, var$12, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function nms_Packet20NamedEntitySpawn_getPacketSize($this) {
        return 28;
    }
    function nms_Packet21PickupSpawn() {
        var a = this; nms_Packet.call(a);
        a.$entityId4 = 0;
        a.$xPosition8 = 0;
        a.$yPosition8 = 0;
        a.$zPosition7 = 0;
        a.$rotation0 = 0;
        a.$pitch1 = 0;
        a.$roll = 0;
        a.$itemID1 = 0;
        a.$count8 = 0;
        a.$itemDamage1 = 0;
    }
    function nms_Packet21PickupSpawn__init_0() {
        var var_0 = new nms_Packet21PickupSpawn();
        nms_Packet21PickupSpawn__init_(var_0);
        return var_0;
    }
    function nms_Packet21PickupSpawn__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet21PickupSpawn_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$entityId4 = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$itemID1 = var$2;
            $this.$count8 = ji_DataInputStream_readByte($var1);
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$itemDamage1 = var$2;
            $ptr = 4;
        case 4:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$xPosition8 = var$2;
            $ptr = 5;
        case 5:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$yPosition8 = var$2;
            $ptr = 6;
        case 6:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$zPosition7 = var$2;
            $this.$rotation0 = ji_DataInputStream_readByte($var1);
            $this.$pitch1 = ji_DataInputStream_readByte($var1);
            $this.$roll = ji_DataInputStream_readByte($var1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet21PickupSpawn_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$xPosition8 / 32.0;
            var$3 = $this.$yPosition8 / 32.0;
            var$4 = $this.$zPosition7 / 32.0;
            var$5 = new nms_EntityItem;
            var$6 = $var1.$worldClient;
            var$7 = nms_ItemStack__init_7($this.$itemID1, $this.$count8, $this.$itemDamage1);
            $ptr = 1;
        case 1:
            nms_EntityItem__init_(var$5, var$6, var$2, var$3, var$4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$5.$motionX = $this.$rotation0 / 128.0;
            var$5.$motionY = $this.$pitch1 / 128.0;
            var$5.$motionZ = $this.$roll / 128.0;
            var$5.$serverPosX = $this.$xPosition8;
            var$5.$serverPosY = $this.$yPosition8;
            var$5.$serverPosZ = $this.$zPosition7;
            $var1 = $var1.$worldClient;
            var$8 = $this.$entityId4;
            $ptr = 2;
        case 2:
            nms_WorldClient_func_712_a($var1, var$8, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_Packet21PickupSpawn_getPacketSize($this) {
        return 24;
    }
    function nms_Packet22Collect() {
        var a = this; nms_Packet.call(a);
        a.$collectedEntityId = 0;
        a.$collectorEntityId = 0;
    }
    function nms_Packet22Collect__init_0() {
        var var_0 = new nms_Packet22Collect();
        nms_Packet22Collect__init_(var_0);
        return var_0;
    }
    function nms_Packet22Collect__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet22Collect_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$collectedEntityId = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$collectorEntityId = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet22Collect_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = nms_NetClientHandler_getEntityByID($var1, $this.$collectedEntityId);
            var$3 = nms_NetClientHandler_getEntityByID($var1, $this.$collectorEntityId);
            if (var$3 === null)
                var$3 = $var1.$mc9.$thePlayer;
            if (var$2 === null)
                return;
            var$4 = $var1.$worldClient;
            var$5 = $rt_s(2031);
            var$6 = 0.20000000298023224;
            var$7 = ((nle_Random_nextFloat($var1.$rand4) - nle_Random_nextFloat($var1.$rand4)) * 0.699999988079071 + 1.0) * 2.0;
            $ptr = 1;
        case 1:
            nms_World_playSoundAtEntity(var$4, var$2, var$5, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $var1.$mc9;
            var$8 = var$4.$effectRenderer;
            var$5 = new nms_EntityPickupFX;
            var$4 = var$4.$theWorld;
            var$7 = (-0.5);
            $ptr = 2;
        case 2:
            nms_EntityPickupFX__init_(var$5, var$4, var$2, var$3, var$7);
            if ($rt_suspending()) {
                break main;
            }
            nms_EffectRenderer_addEffect(var$8, var$5);
            $var1 = $var1.$worldClient;
            var$9 = $this.$collectedEntityId;
            $ptr = 3;
        case 3:
            nms_WorldClient_removeEntityFromWorld($var1, var$9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_Packet22Collect_getPacketSize($this) {
        return 8;
    }
    function nms_Packet23VehicleSpawn() {
        var a = this; nms_Packet.call(a);
        a.$entityId0 = 0;
        a.$xPosition1 = 0;
        a.$yPosition1 = 0;
        a.$zPosition1 = 0;
        a.$type3 = 0;
    }
    function nms_Packet23VehicleSpawn__init_0() {
        var var_0 = new nms_Packet23VehicleSpawn();
        nms_Packet23VehicleSpawn__init_(var_0);
        return var_0;
    }
    function nms_Packet23VehicleSpawn__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet23VehicleSpawn_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$entityId0 = var$2;
            $this.$type3 = ji_DataInputStream_readByte($var1);
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$xPosition1 = var$2;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$yPosition1 = var$2;
            $ptr = 4;
        case 4:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$zPosition1 = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet23VehicleSpawn_processPacket($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_NetClientHandler_handleVehicleSpawn($var1, $this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Packet23VehicleSpawn_getPacketSize($this) {
        return 17;
    }
    function nms_Packet24MobSpawn() {
        var a = this; nms_Packet.call(a);
        a.$entityId5 = 0;
        a.$type4 = 0;
        a.$xPosition9 = 0;
        a.$yPosition9 = 0;
        a.$zPosition8 = 0;
        a.$yaw1 = 0;
        a.$pitch2 = 0;
        a.$receivedMetadata = null;
    }
    function nms_Packet24MobSpawn__init_0() {
        var var_0 = new nms_Packet24MobSpawn();
        nms_Packet24MobSpawn__init_(var_0);
        return var_0;
    }
    function nms_Packet24MobSpawn__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet24MobSpawn_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$entityId5 = var$2;
            $this.$type4 = ji_DataInputStream_readByte($var1);
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$xPosition9 = var$2;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$yPosition9 = var$2;
            $ptr = 4;
        case 4:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$zPosition8 = var$2;
            $this.$yaw1 = ji_DataInputStream_readByte($var1);
            $this.$pitch2 = ji_DataInputStream_readByte($var1);
            $ptr = 5;
        case 5:
            $tmp = nms_DataWatcher_readWatchableObjects($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$receivedMetadata = $var1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet24MobSpawn_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$xPosition9 / 32.0;
            var$3 = $this.$yPosition9 / 32.0;
            var$4 = $this.$zPosition8 / 32.0;
            var$5 = ($this.$yaw1 * 360 | 0) / 256.0;
            var$6 = ($this.$pitch2 * 360 | 0) / 256.0;
            var$7 = $this.$type4;
            var$8 = $var1.$mc9.$theWorld;
            $ptr = 1;
        case 1:
            nms_EntityList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$9 = null;
            try {
                var$10 = var$9;
                var$11 = nms_EntityList_IDtoClassMapping;
                var$12 = jl_Integer_valueOf(var$7);
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    var$8 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 3;
            continue main;
        case 2:
            a: {
                try {
                    $tmp = ju_HashMap_get(var$11, var$12);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$11 = $tmp;
                    var$11 = var$11;
                    if (var$11 === null)
                        break a;
                    var$10 = var$9;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        var$8 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 3;
                continue main;
            }
            if (var$9 === null) {
                var$8 = jl_System_out();
                var$11 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$11);
                var$12 = $rt_s(2094);
                $ptr = 6;
                continue main;
            }
            var$8 = var$9;
            var$8.$serverPosX = $this.$xPosition9;
            var$8.$serverPosY = $this.$yPosition9;
            var$8.$serverPosZ = $this.$zPosition8;
            var$8.$entityId = $this.$entityId5;
            nms_Entity_setPositionAndRotation(var$8, var$2, var$3, var$4, var$5, var$6);
            var$8.$field_9343_G = 1;
            $var1 = $var1.$worldClient;
            var$7 = $this.$entityId5;
            $ptr = 5;
            continue main;
        case 3:
            jl_Throwable_printStackTrace(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = var$10;
            if (var$9 === null) {
                var$8 = jl_System_out();
                var$11 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$11);
                var$12 = $rt_s(2094);
                $ptr = 6;
                continue main;
            }
            var$8 = var$9;
            var$8.$serverPosX = $this.$xPosition9;
            var$8.$serverPosY = $this.$yPosition9;
            var$8.$serverPosZ = $this.$zPosition8;
            var$8.$entityId = $this.$entityId5;
            nms_Entity_setPositionAndRotation(var$8, var$2, var$3, var$4, var$5, var$6);
            var$8.$field_9343_G = 1;
            $var1 = $var1.$worldClient;
            var$7 = $this.$entityId5;
            $ptr = 5;
            continue main;
        case 4:
            a: {
                try {
                    $tmp = var$11.$createEntity(var$8);
                    if ($rt_suspending()) {
                        break main;
                    }
                    var$9 = $tmp;
                    var$10 = var$9;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        var$8 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 3;
                continue main;
            }
            if (var$9 === null) {
                var$8 = jl_System_out();
                var$11 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$11);
                var$12 = $rt_s(2094);
                $ptr = 6;
                continue main;
            }
            var$8 = var$9;
            var$8.$serverPosX = $this.$xPosition9;
            var$8.$serverPosY = $this.$yPosition9;
            var$8.$serverPosZ = $this.$zPosition8;
            var$8.$entityId = $this.$entityId5;
            nms_Entity_setPositionAndRotation(var$8, var$2, var$3, var$4, var$5, var$6);
            var$8.$field_9343_G = 1;
            $var1 = $var1.$worldClient;
            var$7 = $this.$entityId5;
            $ptr = 5;
        case 5:
            nms_WorldClient_func_712_a($var1, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$receivedMetadata;
            if ($var1 === null)
                return;
            var$8 = var$8.$dataWatcher;
            $ptr = 9;
            continue main;
        case 6:
            $tmp = jl_StringBuilder_append(var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            jl_AbstractStringBuilder_append0(var$12, var$7);
            $ptr = 7;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString(var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            $ptr = 8;
        case 8:
            ji_PrintStream_println0(var$8, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = var$9;
            var$8.$serverPosX = $this.$xPosition9;
            var$8.$serverPosY = $this.$yPosition9;
            var$8.$serverPosZ = $this.$zPosition8;
            var$8.$entityId = $this.$entityId5;
            nms_Entity_setPositionAndRotation(var$8, var$2, var$3, var$4, var$5, var$6);
            var$8.$field_9343_G = 1;
            $var1 = $var1.$worldClient;
            var$7 = $this.$entityId5;
            $ptr = 5;
            continue main;
        case 9:
            nms_DataWatcher_updateWatchedObjectsFromList(var$8, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function nms_Packet24MobSpawn_getPacketSize($this) {
        return 20;
    }
    function nms_Packet25() {
        var a = this; nms_Packet.call(a);
        a.$entityId6 = 0;
        a.$xPosition10 = 0;
        a.$yPosition10 = 0;
        a.$zPosition9 = 0;
        a.$direction1 = 0;
        a.$title0 = null;
    }
    function nms_Packet25__init_0() {
        var var_0 = new nms_Packet25();
        nms_Packet25__init_(var_0);
        return var_0;
    }
    function nms_Packet25__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet25_readPacketData($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$entityId6 = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readUTF($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$title0 = var$3;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$xPosition10 = var$2;
            $ptr = 4;
        case 4:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$yPosition10 = var$2;
            $ptr = 5;
        case 5:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$zPosition9 = var$2;
            $ptr = 6;
        case 6:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$direction1 = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_Packet25_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityPainting;
            var$3 = $var1.$worldClient;
            var$4 = $this.$xPosition10;
            var$5 = $this.$yPosition10;
            var$6 = $this.$zPosition9;
            var$7 = $this.$direction1;
            var$8 = $this.$title0;
            $ptr = 1;
        case 1:
            nms_EntityPainting__init_0(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2.$xPosition0 = var$4;
            var$2.$yPosition0 = var$5;
            var$2.$zPosition0 = var$6;
            var$9 = (nms_EnumArt_values()).data;
            var$6 = var$9.length;
            var$4 = 0;
            if (var$4 < var$6) {
                var$3 = var$9[var$4];
                var$10 = var$3.$title;
                $ptr = 3;
                continue main;
            }
            nms_EntityPainting_func_412_b(var$2, var$7);
            $var1 = $var1.$worldClient;
            var$6 = $this.$entityId6;
            $ptr = 2;
        case 2:
            nms_WorldClient_func_712_a($var1, var$6, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            $tmp = jl_String_equals(var$10, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                var$2.$art = var$3;
            else {
                var$4 = var$4 + 1 | 0;
                if (var$4 < var$6) {
                    var$3 = var$9[var$4];
                    var$10 = var$3.$title;
                    continue main;
                }
            }
            nms_EntityPainting_func_412_b(var$2, var$7);
            $var1 = $var1.$worldClient;
            var$6 = $this.$entityId6;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_Packet25_getPacketSize($this) {
        return 24;
    }
    function nms_Packet27() {
        var a = this; nms_Packet.call(a);
        a.$field_22039_a = 0.0;
        a.$field_22038_b = 0.0;
        a.$field_22043_c = 0;
        a.$field_22042_d = 0;
        a.$field_22041_e = 0.0;
        a.$field_22040_f = 0.0;
    }
    function nms_Packet27__init_0() {
        var var_0 = new nms_Packet27();
        nms_Packet27__init_(var_0);
        return var_0;
    }
    function nms_Packet27__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet27_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readFloat($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$field_22039_a = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readFloat($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$field_22038_b = var$2;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readFloat($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$field_22041_e = var$2;
            $ptr = 4;
        case 4:
            $tmp = ji_DataInputStream_readFloat($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$field_22040_f = var$2;
            $this.$field_22043_c = ji_DataInputStream_readBoolean($var1);
            $this.$field_22042_d = ji_DataInputStream_readBoolean($var1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet27_processPacket($this, $var1) {}
    function nms_Packet27_getPacketSize($this) {
        return 18;
    }
    function nms_Packet28() {
        var a = this; nms_Packet.call(a);
        a.$entityId7 = 0;
        a.$motionX0 = 0;
        a.$motionY0 = 0;
        a.$motionZ0 = 0;
    }
    function nms_Packet28__init_0() {
        var var_0 = new nms_Packet28();
        nms_Packet28__init_(var_0);
        return var_0;
    }
    function nms_Packet28__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet28_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$entityId7 = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$motionX0 = var$2;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$motionY0 = var$2;
            $ptr = 4;
        case 4:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$motionZ0 = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet28_processPacket($this, $var1) {
        $var1 = nms_NetClientHandler_getEntityByID($var1, $this.$entityId7);
        if ($var1 !== null)
            $var1.$setVelocity($this.$motionX0 / 8000.0, $this.$motionY0 / 8000.0, $this.$motionZ0 / 8000.0);
    }
    function nms_Packet28_getPacketSize($this) {
        return 10;
    }
    function nms_Packet29DestroyEntity() {
        nms_Packet.call(this);
        this.$entityId8 = 0;
    }
    function nms_Packet29DestroyEntity__init_0() {
        var var_0 = new nms_Packet29DestroyEntity();
        nms_Packet29DestroyEntity__init_(var_0);
        return var_0;
    }
    function nms_Packet29DestroyEntity__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet29DestroyEntity_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$entityId8 = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet29DestroyEntity_processPacket($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1.$worldClient;
            var$2 = $this.$entityId8;
            $ptr = 1;
        case 1:
            nms_WorldClient_removeEntityFromWorld($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet29DestroyEntity_getPacketSize($this) {
        return 4;
    }
    function nms_Packet30Entity() {
        var a = this; nms_Packet.call(a);
        a.$entityId9 = 0;
        a.$xPosition11 = 0;
        a.$yPosition11 = 0;
        a.$zPosition10 = 0;
        a.$yaw3 = 0;
        a.$pitch3 = 0;
        a.$rotating0 = 0;
    }
    function nms_Packet30Entity__init_0() {
        var var_0 = new nms_Packet30Entity();
        nms_Packet30Entity__init_(var_0);
        return var_0;
    }
    function nms_Packet30Entity__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$rotating0 = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet30Entity_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$entityId9 = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet30Entity_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7;
        $var1 = nms_NetClientHandler_getEntityByID($var1, $this.$entityId9);
        if ($var1 !== null) {
            var$2 = $var1.$serverPosX + $this.$xPosition11 | 0;
            $var1.$serverPosX = var$2;
            var$3 = $var1.$serverPosY + $this.$yPosition11 | 0;
            $var1.$serverPosY = var$3;
            var$4 = $var1.$serverPosZ + $this.$zPosition10 | 0;
            $var1.$serverPosZ = var$4;
            var$5 = var$2 / 32.0;
            var$6 = var$3 / 32.0 + 0.015625;
            var$7 = var$4 / 32.0;
            var$2 = $this.$rotating0;
            $var1.$setPositionAndRotation2(var$5, var$6, var$7, !var$2 ? $var1.$rotationYaw : ($this.$yaw3 * 360 | 0) / 256.0, !var$2 ? $var1.$rotationPitch : ($this.$pitch3 * 360 | 0) / 256.0, 3);
        }
    }
    function nms_Packet30Entity_getPacketSize($this) {
        return 4;
    }
    var nms_Packet31RelEntityMove = $rt_classWithoutFields(nms_Packet30Entity);
    function nms_Packet31RelEntityMove__init_0() {
        var var_0 = new nms_Packet31RelEntityMove();
        nms_Packet31RelEntityMove__init_(var_0);
        return var_0;
    }
    function nms_Packet31RelEntityMove__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet30Entity__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet31RelEntityMove_readPacketData($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet30Entity_readPacketData($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$xPosition11 = ji_DataInputStream_readByte($var1);
            $this.$yPosition11 = ji_DataInputStream_readByte($var1);
            $this.$zPosition10 = ji_DataInputStream_readByte($var1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Packet31RelEntityMove_getPacketSize($this) {
        return 7;
    }
    var nms_Packet32EntityLook = $rt_classWithoutFields(nms_Packet30Entity);
    function nms_Packet32EntityLook__init_0() {
        var var_0 = new nms_Packet32EntityLook();
        nms_Packet32EntityLook__init_(var_0);
        return var_0;
    }
    function nms_Packet32EntityLook__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet30Entity__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$rotating0 = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet32EntityLook_readPacketData($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet30Entity_readPacketData($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$yaw3 = ji_DataInputStream_readByte($var1);
            $this.$pitch3 = ji_DataInputStream_readByte($var1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Packet32EntityLook_getPacketSize($this) {
        return 6;
    }
    var nms_Packet33RelEntityMoveLook = $rt_classWithoutFields(nms_Packet30Entity);
    function nms_Packet33RelEntityMoveLook__init_0() {
        var var_0 = new nms_Packet33RelEntityMoveLook();
        nms_Packet33RelEntityMoveLook__init_(var_0);
        return var_0;
    }
    function nms_Packet33RelEntityMoveLook__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet30Entity__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$rotating0 = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet33RelEntityMoveLook_readPacketData($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet30Entity_readPacketData($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$xPosition11 = ji_DataInputStream_readByte($var1);
            $this.$yPosition11 = ji_DataInputStream_readByte($var1);
            $this.$zPosition10 = ji_DataInputStream_readByte($var1);
            $this.$yaw3 = ji_DataInputStream_readByte($var1);
            $this.$pitch3 = ji_DataInputStream_readByte($var1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Packet33RelEntityMoveLook_getPacketSize($this) {
        return 9;
    }
    function nms_Packet34EntityTeleport() {
        var a = this; nms_Packet.call(a);
        a.$entityId10 = 0;
        a.$xPosition12 = 0;
        a.$yPosition12 = 0;
        a.$zPosition11 = 0;
        a.$yaw4 = 0;
        a.$pitch4 = 0;
    }
    function nms_Packet34EntityTeleport__init_0() {
        var var_0 = new nms_Packet34EntityTeleport();
        nms_Packet34EntityTeleport__init_(var_0);
        return var_0;
    }
    function nms_Packet34EntityTeleport__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet34EntityTeleport_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$entityId10 = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$xPosition12 = var$2;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$yPosition12 = var$2;
            $ptr = 4;
        case 4:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$zPosition11 = var$2;
            $ptr = 5;
        case 5:
            $tmp = ji_FilterInputStream_read($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$yaw4 = var$2 << 24 >> 24;
            $ptr = 6;
        case 6:
            $tmp = ji_FilterInputStream_read($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$pitch4 = var$2 << 24 >> 24;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet34EntityTeleport_processPacket($this, $var1) {
        var var$2, var$3, var$4;
        $var1 = nms_NetClientHandler_getEntityByID($var1, $this.$entityId10);
        if ($var1 !== null) {
            var$2 = $this.$xPosition12;
            $var1.$serverPosX = var$2;
            var$3 = $this.$yPosition12;
            $var1.$serverPosY = var$3;
            var$4 = $this.$zPosition11;
            $var1.$serverPosZ = var$4;
            $var1.$setPositionAndRotation2(var$2 / 32.0, var$3 / 32.0 + 0.015625, var$4 / 32.0, ($this.$yaw4 * 360 | 0) / 256.0, ($this.$pitch4 * 360 | 0) / 256.0, 3);
        }
    }
    function nms_Packet34EntityTeleport_getPacketSize($this) {
        return 34;
    }
    function nms_Packet38() {
        var a = this; nms_Packet.call(a);
        a.$entityId11 = 0;
        a.$entityStatus = 0;
    }
    function nms_Packet38__init_0() {
        var var_0 = new nms_Packet38();
        nms_Packet38__init_(var_0);
        return var_0;
    }
    function nms_Packet38__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet38_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$entityId11 = var$2;
            $this.$entityStatus = ji_DataInputStream_readByte($var1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet38_processPacket($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = nms_NetClientHandler_getEntityByID($var1, $this.$entityId11);
            if ($var1 === null)
                return;
            var$2 = $this.$entityStatus;
            $ptr = 1;
        case 1:
            $var1.$handleHealthUpdate(var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet38_getPacketSize($this) {
        return 5;
    }
    function nms_Packet39() {
        var a = this; nms_Packet.call(a);
        a.$entityId12 = 0;
        a.$vehicleEntityId = 0;
    }
    function nms_Packet39__init_0() {
        var var_0 = new nms_Packet39();
        nms_Packet39__init_(var_0);
        return var_0;
    }
    function nms_Packet39__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet39_getPacketSize($this) {
        return 8;
    }
    function nms_Packet39_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$entityId12 = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$vehicleEntityId = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet39_processPacket($this, $var1) {
        var var$2, var$3, var$4;
        var$2 = nms_NetClientHandler_getEntityByID($var1, $this.$entityId12);
        var$3 = nms_NetClientHandler_getEntityByID($var1, $this.$vehicleEntityId);
        var$4 = $this.$entityId12;
        $var1 = $var1.$mc9.$thePlayer;
        if (var$4 != $var1.$entityId)
            $var1 = var$2;
        if ($var1 !== null)
            nms_Entity_mountEntity($var1, var$3);
    }
    function nms_Packet40() {
        var a = this; nms_Packet.call(a);
        a.$entityId13 = 0;
        a.$field_21048_b = null;
    }
    function nms_Packet40__init_0() {
        var var_0 = new nms_Packet40();
        nms_Packet40__init_(var_0);
        return var_0;
    }
    function nms_Packet40__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet40_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$entityId13 = var$2;
            $ptr = 2;
        case 2:
            $tmp = nms_DataWatcher_readWatchableObjects($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$field_21048_b = $var1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet40_processPacket($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = nms_NetClientHandler_getEntityByID($var1, $this.$entityId13);
            if ($var1 !== null) {
                var$2 = $this.$field_21048_b;
                if (var$2 !== null) {
                    $var1 = $var1.$dataWatcher;
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        case 1:
            nms_DataWatcher_updateWatchedObjectsFromList($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet40_getPacketSize($this) {
        return 5;
    }
    function nms_Packet50PreChunk() {
        var a = this; nms_Packet.call(a);
        a.$xPosition13 = 0;
        a.$yPosition13 = 0;
        a.$mode5 = 0;
    }
    function nms_Packet50PreChunk__init_0() {
        var var_0 = new nms_Packet50PreChunk();
        nms_Packet50PreChunk__init_(var_0);
        return var_0;
    }
    function nms_Packet50PreChunk__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isChunkDataPacket = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet50PreChunk_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$xPosition13 = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$yPosition13 = var$2;
            $ptr = 3;
        case 3:
            $tmp = ji_FilterInputStream_read($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$mode5 = !var$2 ? 0 : 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet50PreChunk_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1.$worldClient;
            var$2 = $this.$xPosition13;
            var$3 = $this.$yPosition13;
            var$4 = $this.$mode5;
            if (var$4) {
                var$5 = $var1.$field_20915_C;
                $ptr = 2;
                continue main;
            }
            var$5 = $var1.$field_20915_C;
            $ptr = 1;
        case 1:
            $tmp = nms_ChunkProviderClient_provideChunk(var$5, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6.$func_21167_h()) {
                $ptr = 5;
                continue main;
            }
            var$7 = var$5.$chunkMapping;
            var$8 = nms_ChunkCoordIntPair__init_0(var$2, var$3);
            $ptr = 3;
            continue main;
        case 2:
            nms_ChunkProviderClient_func_538_d(var$5, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            if (var$4)
                return;
            var$4 = var$2 * 16 | 0;
            var$9 = 0;
            var$2 = var$3 * 16 | 0;
            var$3 = var$4 + 15 | 0;
            var$10 = 128;
            var$11 = var$2 + 15 | 0;
            $ptr = 6;
            continue main;
        case 3:
            ju_HashMap_remove(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = var$5.$field_889_c;
            $ptr = 4;
        case 4:
            ju_ArrayList_remove0(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            if (var$4)
                return;
            var$4 = var$2 * 16 | 0;
            var$9 = 0;
            var$2 = var$3 * 16 | 0;
            var$3 = var$4 + 15 | 0;
            var$10 = 128;
            var$11 = var$2 + 15 | 0;
            $ptr = 6;
            continue main;
        case 5:
            var$6.$onChunkUnload();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = var$5.$chunkMapping;
            var$8 = nms_ChunkCoordIntPair__init_0(var$2, var$3);
            $ptr = 3;
            continue main;
        case 6:
            nms_World_markBlocksDirty($var1, var$4, var$9, var$2, var$3, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    function nms_Packet50PreChunk_getPacketSize($this) {
        return 9;
    }
    function nms_Packet51MapChunk() {
        var a = this; nms_Packet.call(a);
        a.$xPosition14 = 0;
        a.$yPosition14 = 0;
        a.$zPosition12 = 0;
        a.$xSize0 = 0;
        a.$ySize1 = 0;
        a.$zSize = 0;
        a.$chunk = null;
        a.$chunkSize = 0;
    }
    function nms_Packet51MapChunk__init_0() {
        var var_0 = new nms_Packet51MapChunk();
        nms_Packet51MapChunk__init_(var_0);
        return var_0;
    }
    function nms_Packet51MapChunk__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isChunkDataPacket = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet51MapChunk_readPacketData($this, $var1) {
        var var$2, var$3, $var2, var$5, $var3, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();var$5 = $thread.pop();$var2 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$xPosition14 = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$yPosition14 = var$2;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$zPosition12 = var$2;
            $ptr = 4;
        case 4:
            $tmp = ji_FilterInputStream_read($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$xSize0 = var$3 + 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = ji_FilterInputStream_read($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$ySize1 = var$2 + 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = ji_FilterInputStream_read($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$zSize = var$2 + 1 | 0;
            $ptr = 7;
        case 7:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$chunkSize = var$2;
            $var2 = $rt_createByteArray(var$2);
            var$5 = $var2.data;
            $ptr = 8;
        case 8:
            ji_DataInputStream_readFully($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$chunk = $rt_createByteArray(($rt_imul($rt_imul($this.$xSize0, $this.$ySize1), $this.$zSize) * 5 | 0) / 2 | 0);
            $var3 = new juz_Inflater;
            $ptr = 9;
        case 9:
            juz_Inflater__init_($var3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = var$5.length;
            $var1 = $var3.$impl0;
            if ($var1 === null) {
                $var1 = new jl_IllegalStateException;
                jl_Throwable__init_0($var1);
                $rt_throw($var1);
            }
            if (0 <= var$3 && var$3 >= 0 && (var$3 - 0 | 0) >= var$3) {
                $var3.$inRead = 0;
                $var3.$inLength = var$3;
                cjj_ZStream_setInput($var1, $var2, 0, var$3, 0);
                try {
                    try {
                        $var2 = $this.$chunk;
                        $ptr = 10;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof juz_DataFormatException) {
                        } else {
                            throw $$e;
                        }
                    }
                    $rt_throw(ji_IOException__init_3($rt_s(2095)));
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var1 = $$je;

                }
                juz_Inflater_end($var3);
                $rt_throw($var1);
            }
            $var1 = new jl_ArrayIndexOutOfBoundsException;
            jl_Throwable__init_0($var1);
            $rt_throw($var1);
        case 10:
            a: {
                b: {
                    try {
                        juz_Inflater_inflate($var3, $var2);
                        if ($rt_suspending()) {
                            break main;
                        }
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof juz_DataFormatException) {
                            break b;
                        } else{
                            $var1 = $$je;
                            break a;
                        }
                    }
                    juz_Inflater_end($var3);
                    return;
                }
                try {
                    $rt_throw(ji_IOException__init_3($rt_s(2095)));
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $var1 = $$je;

                }
            }
            juz_Inflater_end($var3);
            $rt_throw($var1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $var2, var$5, $var3, $ptr);
    }
    function nms_Packet51MapChunk_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2
            = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $var1.$worldClient;
            var$3 = $this.$xPosition14;
            var$4 = $this.$yPosition14;
            var$5 = $this.$zPosition12;
            nms_WorldClient_func_711_c(var$2, var$3, var$4, var$5, (var$3 + $this.$xSize0 | 0) - 1 | 0, (var$4 + $this.$ySize1 | 0) - 1 | 0, (var$5 + $this.$zSize | 0) - 1 | 0);
            $var1 = $var1.$worldClient;
            var$6 = $this.$xPosition14;
            var$7 = $this.$yPosition14;
            var$8 = $this.$zPosition12;
            var$5 = $this.$xSize0;
            var$9 = $this.$ySize1;
            var$3 = $this.$zSize;
            var$10 = $this.$chunk;
            var$11 = var$6 >> 4;
            var$12 = var$8 >> 4;
            var$13 = var$6 + var$5 | 0;
            var$14 = (var$13 - 1 | 0) >> 4;
            var$15 = var$8 + var$3 | 0;
            var$16 = (var$15 - 1 | 0) >> 4;
            var$17 = 0;
            var$18 = var$7 + var$9 | 0;
            if (var$7 < 0)
                var$7 = 0;
            if (var$18 > 128)
                var$18 = 128;
            while (var$11 <= var$14) {
                var$19 = var$11 * 16 | 0;
                var$20 = var$6 - var$19 | 0;
                var$21 = var$13 - var$19 | 0;
                if (var$20 < 0)
                    var$20 = 0;
                if (var$21 > 16)
                    var$21 = 16;
                var$22 = var$12;
                if (var$22 <= var$16) {
                    var$23 = var$22 * 16 | 0;
                    var$4 = var$8 - var$23 | 0;
                    var$9 = var$15 - var$23 | 0;
                    if (var$4 < 0)
                        var$4 = 0;
                    if (var$9 > 16)
                        var$9 = 16;
                    $ptr = 1;
                    continue main;
                }
                var$11 = var$11 + 1 | 0;
            }
            return;
        case 1:
            $tmp = nms_World_getChunkFromChunkCoords($var1, var$11, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = var$2.$setChunkData(var$10, var$20, var$7, var$4, var$21, var$18, var$9, var$17);
            if ($rt_suspending()) {
                break main;
            }
            var$17 = $tmp;
            var$3 = var$19 + var$20 | 0;
            var$4 = var$23 + var$4 | 0;
            var$5 = var$19 + var$21 | 0;
            var$9 = var$23 + var$9 | 0;
            $ptr = 3;
        case 3:
            nms_World_markBlocksDirty($var1, var$3, var$7, var$4, var$5, var$18, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$22 = var$22 + 1 | 0;
            while (true) {
                if (var$22 <= var$16) {
                    var$23 = var$22 * 16 | 0;
                    var$4 = var$8 - var$23 | 0;
                    var$9 = var$15 - var$23 | 0;
                    if (var$4 < 0)
                        var$4 = 0;
                    if (var$9 > 16)
                        var$9 = 16;
                    $ptr = 1;
                    continue main;
                }
                var$11 = var$11 + 1 | 0;
                if (var$11 > var$14)
                    break;
                var$19 = var$11 * 16 | 0;
                var$20 = var$6 - var$19 | 0;
                var$21 = var$13 - var$19 | 0;
                if (var$20 < 0)
                    var$20 = 0;
                if (var$21 > 16)
                    var$21 = 16;
                var$22 = var$12;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, $ptr);
    }
    function nms_Packet51MapChunk_getPacketSize($this) {
        return 17 + $this.$chunkSize | 0;
    }
    function nms_Packet52MultiBlockChange() {
        var a = this; nms_Packet.call(a);
        a.$xPosition15 = 0;
        a.$zPosition13 = 0;
        a.$coordinateArray = null;
        a.$typeArray = null;
        a.$metadataArray = null;
        a.$size9 = 0;
    }
    function nms_Packet52MultiBlockChange__init_0() {
        var var_0 = new nms_Packet52MultiBlockChange();
        nms_Packet52MultiBlockChange__init_(var_0);
        return var_0;
    }
    function nms_Packet52MultiBlockChange__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isChunkDataPacket = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet52MultiBlockChange_readPacketData($this, $var1) {
        var $var2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$xPosition15 = $var2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$zPosition13 = $var2;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $var2 = var$3 & 65535;
            $this.$size9 = $var2;
            $this.$coordinateArray = $rt_createShortArray($var2);
            $this.$typeArray = $rt_createByteArray($var2);
            $this.$metadataArray = $rt_createByteArray($var2);
            $var2 = 0;
            if ($var2 >= $this.$size9) {
                var$4 = $this.$typeArray;
                $ptr = 4;
                continue main;
            }
            var$4 = $this.$coordinateArray.data;
            $ptr = 6;
            continue main;
        case 4:
            ji_DataInputStream_readFully($var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$metadataArray;
            $ptr = 5;
        case 5:
            ji_DataInputStream_readFully($var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$4[$var2] = var$3;
            $var2 = $var2 + 1 | 0;
            if ($var2 >= $this.$size9) {
                var$4 = $this.$typeArray;
                $ptr = 4;
                continue main;
            }
            var$4 = $this.$coordinateArray.data;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_Packet52MultiBlockChange_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $var1.$worldClient;
            var$3 = $this.$xPosition15;
            var$4 = $this.$zPosition13;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getChunkFromChunkCoords(var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$5 = $this.$xPosition15 * 16 | 0;
            var$3 = $this.$zPosition13 * 16 | 0;
            var$4 = 0;
            if (var$4 >= $this.$size9)
                return;
            var$6 = $this.$coordinateArray.data[var$4];
            var$7 = $this.$typeArray.data[var$4] & 255;
            var$8 = $this.$metadataArray.data[var$4];
            var$9 = var$6 >> 12 & 15;
            var$10 = var$6 >> 8 & 15;
            var$11 = var$6 & 255;
            $ptr = 2;
        case 2:
            var$2.$setBlockIDWithMetadata(var$9, var$11, var$10, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $var1.$worldClient;
            var$6 = var$9 + var$5 | 0;
            var$10 = var$10 + var$3 | 0;
            nms_WorldClient_func_711_c(var$12, var$6, var$11, var$10, var$6, var$11, var$10);
            var$12 = $var1.$worldClient;
            $ptr = 3;
        case 3:
            nms_World_markBlocksDirty(var$12, var$6, var$11, var$10, var$6, var$11, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = var$4 + 1 | 0;
            if (var$4 >= $this.$size9)
                return;
            var$6 = $this.$coordinateArray.data[var$4];
            var$7 = $this.$typeArray.data[var$4] & 255;
            var$8 = $this.$metadataArray.data[var$4];
            var$9 = var$6 >> 12 & 15;
            var$10 = var$6 >> 8 & 15;
            var$11 = var$6 & 255;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function nms_Packet52MultiBlockChange_getPacketSize($this) {
        return 10 + ($this.$size9 * 4 | 0) | 0;
    }
    function nms_Packet53BlockChange() {
        var a = this; nms_Packet.call(a);
        a.$xPosition16 = 0;
        a.$yPosition15 = 0;
        a.$zPosition14 = 0;
        a.$type5 = 0;
        a.$metadata = 0;
    }
    function nms_Packet53BlockChange__init_0() {
        var var_0 = new nms_Packet53BlockChange();
        nms_Packet53BlockChange__init_(var_0);
        return var_0;
    }
    function nms_Packet53BlockChange__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isChunkDataPacket = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet53BlockChange_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$xPosition16 = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_FilterInputStream_read($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$yPosition15 = var$2;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$zPosition14 = var$2;
            $ptr = 4;
        case 4:
            $tmp = ji_FilterInputStream_read($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$type5 = var$2;
            $ptr = 5;
        case 5:
            $tmp = ji_FilterInputStream_read($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$metadata = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet53BlockChange_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1.$worldClient;
            var$2 = $this.$xPosition16;
            var$3 = $this.$yPosition15;
            var$4 = $this.$zPosition14;
            var$5 = $this.$type5;
            var$6 = $this.$metadata;
            nms_WorldClient_func_711_c($var1, var$2, var$3, var$4, var$2, var$3, var$4);
            $ptr = 1;
        case 1:
            $tmp = nms_World_setBlockAndMetadata($var1, var$2, var$3, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6)
                return;
            $ptr = 2;
        case 2:
            nms_World_notifyBlockChange($var1, var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_Packet53BlockChange_getPacketSize($this) {
        return 11;
    }
    function nms_Packet54() {
        var a = this; nms_Packet.call(a);
        a.$xLocation = 0;
        a.$yLocation = 0;
        a.$zLocation = 0;
        a.$instrumentType = 0;
        a.$pitch5 = 0;
    }
    function nms_Packet54__init_0() {
        var var_0 = new nms_Packet54();
        nms_Packet54__init_(var_0);
        return var_0;
    }
    function nms_Packet54__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet54_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$xLocation = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$yLocation = var$2;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$zLocation = var$2;
            $ptr = 4;
        case 4:
            $tmp = ji_FilterInputStream_read($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$instrumentType = var$2;
            $ptr = 5;
        case 5:
            $tmp = ji_FilterInputStream_read($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$pitch5 = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet54_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1.$mc9.$theWorld;
            var$2 = $this.$xLocation;
            var$3 = $this.$yLocation;
            var$4 = $this.$zLocation;
            var$5 = $this.$instrumentType;
            var$6 = $this.$pitch5;
            $ptr = 1;
        case 1:
            nms_World_playNoteAt($var1, var$2, var$3, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_Packet54_getPacketSize($this) {
        return 12;
    }
    function nms_Packet60() {
        var a = this; nms_Packet.call(a);
        a.$explosionX = 0.0;
        a.$explosionY = 0.0;
        a.$explosionZ = 0.0;
        a.$explosionSize = 0.0;
        a.$destroyedBlockPositions = null;
    }
    function nms_Packet60__init_0() {
        var var_0 = new nms_Packet60();
        nms_Packet60__init_(var_0);
        return var_0;
    }
    function nms_Packet60__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet60_readPacketData($this, $var1) {
        var var$2, var$3, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readDouble($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$explosionX = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readDouble($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$explosionY = var$2;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readDouble($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$explosionZ = var$2;
            $ptr = 4;
        case 4:
            $tmp = ji_DataInputStream_readFloat($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$explosionSize = var$3;
            $ptr = 5;
        case 5:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$destroyedBlockPositions = ju_HashSet__init_0();
            $var3 = $this.$explosionX | 0;
            $var4 = $this.$explosionY | 0;
            $var5 = $this.$explosionZ | 0;
            $var6 = 0;
            if ($var6 >= $var2)
                return;
            $var7 = ji_DataInputStream_readByte($var1) + $var3 | 0;
            $var8 = ji_DataInputStream_readByte($var1) + $var4 | 0;
            $var9 = ji_DataInputStream_readByte($var1) + $var5 | 0;
            var$12 = $this.$destroyedBlockPositions;
            var$13 = nms_ChunkPosition__init_0($var7, $var8, $var9);
            $ptr = 6;
        case 6:
            ju_HashSet_add(var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= $var2)
                return;
            $var7 = ji_DataInputStream_readByte($var1) + $var3 | 0;
            $var8 = ji_DataInputStream_readByte($var1) + $var4 | 0;
            $var9 = ji_DataInputStream_readByte($var1) + $var5 | 0;
            var$12 = $this.$destroyedBlockPositions;
            var$13 = nms_ChunkPosition__init_0($var7, $var8, $var9);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, var$12, var$13, $ptr);
    }
    function nms_Packet60_processPacket($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = nms_Explosion__init_0($var1.$mc9.$theWorld, null, $this.$explosionX, $this.$explosionY, $this.$explosionZ, $this.$explosionSize);
            var$2.$destroyedBlockPositions0 = $this.$destroyedBlockPositions;
            $ptr = 1;
        case 1:
            nms_Explosion_doExplosionB(var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet60_getPacketSize($this) {
        return 32 + (ju_HashSet_size($this.$destroyedBlockPositions) * 3 | 0) | 0;
    }
    function nms_Packet70() {
        nms_Packet.call(this);
        this.$field_25019_b = 0;
    }
    var nms_Packet70_field_25020_a = null;
    function nms_Packet70_$callClinit() {
        nms_Packet70_$callClinit = $rt_eraseClinit(nms_Packet70);
        nms_Packet70__clinit_();
    }
    function nms_Packet70__init_0() {
        var var_0 = new nms_Packet70();
        nms_Packet70__init_(var_0);
        return var_0;
    }
    function nms_Packet70__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Packet70_$callClinit();
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet70_readPacketData($this, $var1) {
        $this.$field_25019_b = ji_DataInputStream_readByte($var1);
    }
    function nms_Packet70_processPacket($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$field_25019_b;
            if (var$2 >= 0) {
                nms_Packet70_$callClinit();
                var$3 = nms_Packet70_field_25020_a.data;
                if (var$2 < var$3.length) {
                    $var1 = $var1.$mc9.$thePlayer;
                    var$4 = var$3[var$2];
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        case 1:
            nms_EntityPlayerSP_addChatMessage($var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_Packet70_getPacketSize($this) {
        return 1;
    }
    function nms_Packet70__clinit_() {
        var var$1;
        var$1 = $rt_createArray(jl_String, 1);
        var$1.data[0] = $rt_s(283);
        nms_Packet70_field_25020_a = var$1;
    }
    function nms_Packet100() {
        var a = this; nms_Packet.call(a);
        a.$windowId1 = 0;
        a.$inventoryType = 0;
        a.$windowTitle = null;
        a.$slotsCount = 0;
    }
    function nms_Packet100__init_0() {
        var var_0 = new nms_Packet100();
        nms_Packet100__init_(var_0);
        return var_0;
    }
    function nms_Packet100__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet100_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$inventoryType;
            if (!var$2) {
                var$3 = new nms_InventoryBasic;
                var$4 = $this.$windowTitle;
                var$5 = $this.$slotsCount;
                var$3.$inventoryTitle = var$4;
                var$3.$slotsCount0 = var$5;
                var$3.$inventoryContents = $rt_createArray(nms_ItemStack, var$5);
                var$4 = $var1.$mc9.$thePlayer;
                $ptr = 1;
                continue main;
            }
            if (var$2 == 2) {
                var$3 = new nms_TileEntityFurnace;
                $ptr = 2;
                continue main;
            }
            if (var$2 == 3) {
                var$3 = new nms_TileEntityDispenser;
                $ptr = 4;
                continue main;
            }
            if (var$2 != 1)
                return;
            var$3 = $var1.$mc9.$thePlayer;
            var$5 = nms_MathHelper_floor_double(var$3.$posX);
            var$2 = nms_MathHelper_floor_double(var$3.$posY);
            var$6 = nms_MathHelper_floor_double(var$3.$posZ);
            $ptr = 6;
            continue main;
        case 1:
            nms_EntityPlayerSP_displayGUIChest(var$4, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$mc9.$thePlayer.$craftingInventory.$windowId = $this.$windowId1;
            return;
        case 2:
            nms_TileEntityFurnace__init_(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $var1.$mc9.$thePlayer;
            $ptr = 3;
        case 3:
            nms_EntityPlayerSP_displayGUIFurnace(var$4, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$mc9.$thePlayer.$craftingInventory.$windowId = $this.$windowId1;
            return;
        case 4:
            nms_TileEntityDispenser__init_(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $var1.$mc9.$thePlayer;
            $ptr = 5;
        case 5:
            nms_EntityPlayerSP_displayGUIDispenser(var$4, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$mc9.$thePlayer.$craftingInventory.$windowId = $this.$windowId1;
            return;
        case 6:
            nms_EntityPlayerSP_displayWorkbenchGUI(var$3, var$5, var$2, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$mc9.$thePlayer.$craftingInventory.$windowId = $this.$windowId1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_Packet100_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$windowId1 = ji_DataInputStream_readByte($var1);
            $this.$inventoryType = ji_DataInputStream_readByte($var1);
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readUTF($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$windowTitle = var$2;
            $this.$slotsCount = ji_DataInputStream_readByte($var1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet100_getPacketSize($this) {
        return 3 + jl_String_length($this.$windowTitle) | 0;
    }
    function nms_Packet101() {
        nms_Packet.call(this);
        this.$windowId0 = 0;
    }
    function nms_Packet101__init_1() {
        var var_0 = new nms_Packet101();
        nms_Packet101__init_(var_0);
        return var_0;
    }
    function nms_Packet101__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet101_processPacket($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $var1.$mc9.$thePlayer;
            $ptr = 1;
        case 1:
            $var1.$func_20059_m();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Packet101_readPacketData($this, $var1) {
        $this.$windowId0 = ji_DataInputStream_readByte($var1);
    }
    function nms_Packet101_writePacketData($this, $var1) {
        ji_DataOutputStream_writeByte($var1, $this.$windowId0);
    }
    function nms_Packet101_getPacketSize($this) {
        return 1;
    }
    function nms_Packet102() {
        var a = this; nms_Packet.call(a);
        a.$window_Id = 0;
        a.$inventorySlot = 0;
        a.$mouseClick = 0;
        a.$action = 0;
        a.$itemStack1 = null;
    }
    function nms_Packet102__init_1() {
        var var_0 = new nms_Packet102();
        nms_Packet102__init_(var_0);
        return var_0;
    }
    function nms_Packet102__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet102_processPacket($this, $var1) {}
    function nms_Packet102_readPacketData($this, $var1) {
        var $var2, $var3, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$window_Id = ji_DataInputStream_readByte($var1);
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$inventorySlot = $var2;
            $this.$mouseClick = ji_DataInputStream_readByte($var1);
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$action = $var2;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 < 0) {
                $this.$itemStack1 = null;
                return;
            }
            $var3 = ji_DataInputStream_readByte($var1);
            $ptr = 4;
        case 4:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $this.$itemStack1 = nms_ItemStack__init_7($var2, $var3, $var4);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_Packet102_writePacketData($this, $var1) {
        var var$2;
        ji_DataOutputStream_writeByte($var1, $this.$window_Id);
        ji_DataOutputStream_writeShort($var1, $this.$inventorySlot);
        ji_DataOutputStream_writeByte($var1, $this.$mouseClick);
        ji_DataOutputStream_writeShort($var1, $this.$action);
        var$2 = $this.$itemStack1;
        if (var$2 === null)
            ji_DataOutputStream_writeShort($var1, (-1));
        else {
            ji_DataOutputStream_writeShort($var1, var$2.$itemID);
            ji_DataOutputStream_writeByte($var1, $this.$itemStack1.$stackSize);
            ji_DataOutputStream_writeShort($var1, $this.$itemStack1.$itemDamage);
        }
    }
    function nms_Packet102_getPacketSize($this) {
        return 11;
    }
    function nms_Packet103() {
        var a = this; nms_Packet.call(a);
        a.$windowId2 = 0;
        a.$itemSlot = 0;
        a.$myItemStack = null;
    }
    function nms_Packet103__init_0() {
        var var_0 = new nms_Packet103();
        nms_Packet103__init_(var_0);
        return var_0;
    }
    function nms_Packet103__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet103_processPacket($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$windowId2;
            if (var$2 == (-1))
                nms_InventoryPlayer_setItemStack($var1.$mc9.$thePlayer.$inventory, $this.$myItemStack);
            else {
                if (!var$2) {
                    $var1 = $var1.$mc9.$thePlayer.$inventorySlots;
                    var$3 = $this.$itemSlot;
                    var$4 = $this.$myItemStack;
                    $ptr = 1;
                    continue main;
                }
                $var1 = $var1.$mc9.$thePlayer.$craftingInventory;
                if (var$2 == $var1.$windowId) {
                    var$3 = $this.$itemSlot;
                    var$4 = $this.$myItemStack;
                    $ptr = 2;
                    continue main;
                }
            }
            return;
        case 1:
            nms_CraftingInventoryCB_putStackInSlot($var1, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nms_CraftingInventoryCB_putStackInSlot($var1, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_Packet103_readPacketData($this, $var1) {
        var $var2, $var3, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$windowId2 = ji_DataInputStream_readByte($var1);
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$itemSlot = $var2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 < 0) {
                $this.$myItemStack = null;
                return;
            }
            $var3 = ji_DataInputStream_readByte($var1);
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $this.$myItemStack = nms_ItemStack__init_7($var2, $var3, $var4);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_Packet103_getPacketSize($this) {
        return 8;
    }
    function nms_Packet104() {
        var a = this; nms_Packet.call(a);
        a.$windowId3 = 0;
        a.$itemStack2 = null;
    }
    function nms_Packet104__init_0() {
        var var_0 = new nms_Packet104();
        nms_Packet104__init_(var_0);
        return var_0;
    }
    function nms_Packet104__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet104_readPacketData($this, $var1) {
        var $var2, $var3, $var4, $var5, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$windowId3 = ji_DataInputStream_readByte($var1);
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$itemStack2 = $rt_createArray(nms_ItemStack, $var2);
            $var3 = 0;
            if ($var3 >= $var2)
                return;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4 >= 0) {
                $var5 = ji_DataInputStream_readByte($var1);
                $ptr = 3;
                continue main;
            }
            $var3 = $var3 + 1 | 0;
            if ($var3 >= $var2)
                return;
            continue main;
        case 3:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $this.$itemStack2.data[$var3] = nms_ItemStack__init_7($var4, $var5, $var6);
            $var3 = $var3 + 1 | 0;
            if ($var3 >= $var2)
                return;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_Packet104_processPacket($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$windowId3;
            if (!var$2) {
                $var1 = $var1.$mc9.$thePlayer.$inventorySlots;
                var$3 = $this.$itemStack2;
                $ptr = 1;
                continue main;
            }
            $var1 = $var1.$mc9.$thePlayer.$craftingInventory;
            if (var$2 != $var1.$windowId)
                return;
            var$3 = $this.$itemStack2;
            $ptr = 2;
            continue main;
        case 1:
            nms_CraftingInventoryCB_putStacksInSlots($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nms_CraftingInventoryCB_putStacksInSlots($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_Packet104_getPacketSize($this) {
        return 3 + ($this.$itemStack2.data.length * 5 | 0) | 0;
    }
    function nms_Packet105() {
        var a = this; nms_Packet.call(a);
        a.$windowId4 = 0;
        a.$progressBar = 0;
        a.$progressBarValue = 0;
    }
    function nms_Packet105__init_0() {
        var var_0 = new nms_Packet105();
        nms_Packet105__init_(var_0);
        return var_0;
    }
    function nms_Packet105__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet105_processPacket($this, $var1) {
        $var1 = $var1.$mc9.$thePlayer.$craftingInventory;
        if ($var1 !== null && $var1.$windowId == $this.$windowId4)
            $var1.$func_20112_a($this.$progressBar, $this.$progressBarValue);
    }
    function nms_Packet105_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$windowId4 = ji_DataInputStream_readByte($var1);
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$progressBar = var$2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$progressBarValue = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet105_getPacketSize($this) {
        return 5;
    }
    function nms_Packet106() {
        var a = this; nms_Packet.call(a);
        a.$windowId5 = 0;
        a.$field_20028_b = 0;
        a.$field_20030_c = 0;
    }
    function nms_Packet106__init_1() {
        var var_0 = new nms_Packet106();
        nms_Packet106__init_(var_0);
        return var_0;
    }
    function nms_Packet106__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet106_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = null;
            var$3 = $this.$windowId5;
            if (!var$3)
                var$4 = $var1.$mc9.$thePlayer.$inventorySlots;
            else {
                var$4 = $var1.$mc9.$thePlayer.$craftingInventory;
                if (var$3 != var$4.$windowId)
                    var$4 = var$2;
            }
            if (var$4 !== null && !$this.$field_20030_c) {
                var$2 = new nms_Packet106;
                var$5 = $this.$field_20028_b;
                var$6 = 1;
                $ptr = 1;
                continue main;
            }
            return;
        case 1:
            nms_Packet__init_(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2.$windowId5 = var$3;
            var$2.$field_20028_b = var$5;
            var$2.$field_20030_c = var$6;
            $ptr = 2;
        case 2:
            nms_NetClientHandler_addToSendQueue($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_Packet106_readPacketData($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$windowId5 = ji_DataInputStream_readByte($var1);
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$field_20028_b = var$2;
            $this.$field_20030_c = !ji_DataInputStream_readByte($var1) ? 0 : 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Packet106_writePacketData($this, $var1) {
        ji_DataOutputStream_writeByte($var1, $this.$windowId5);
        ji_DataOutputStream_writeShort($var1, $this.$field_20028_b);
        ji_DataOutputStream_writeByte($var1, !$this.$field_20030_c ? 0 : 1);
    }
    function nms_Packet106_getPacketSize($this) {
        return 4;
    }
    function nms_Packet130() {
        var a = this; nms_Packet.call(a);
        a.$xPosition17 = 0;
        a.$yPosition16 = 0;
        a.$zPosition15 = 0;
        a.$signLines = null;
    }
    function nms_Packet130__init_1() {
        var var_0 = new nms_Packet130();
        nms_Packet130__init_(var_0);
        return var_0;
    }
    function nms_Packet130__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isChunkDataPacket = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet130_readPacketData($this, $var1) {
        var $var2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$xPosition17 = $var2;
            $ptr = 2;
        case 2:
            $tmp = ji_DataInputStream_readShort($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$yPosition16 = $var2;
            $ptr = 3;
        case 3:
            $tmp = ji_DataInputStream_readInt($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$zPosition15 = $var2;
            $this.$signLines = $rt_createArray(jl_String, 4);
            $var2 = 0;
            if ($var2 >= 4)
                return;
            var$3 = $this.$signLines.data;
            $ptr = 4;
        case 4:
            $tmp = ji_DataInputStream_readUTF($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$3[$var2] = var$4;
            $var2 = $var2 + 1 | 0;
            if ($var2 >= 4)
                return;
            var$3 = $this.$signLines.data;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
    }
    function nms_Packet130_writePacketData($this, $var1) {
        var $var2;
        ji_DataOutputStream_writeInt($var1, $this.$xPosition17);
        ji_DataOutputStream_writeShort($var1, $this.$yPosition16);
        ji_DataOutputStream_writeInt($var1, $this.$zPosition15);
        $var2 = 0;
        while ($var2 < 4) {
            ji_DataOutputStream_writeUTF($var1, $this.$signLines.data[$var2]);
            $var2 = $var2 + 1 | 0;
        }
    }
    function nms_Packet130_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $var1.$mc9.$theWorld;
            var$3 = $this.$xPosition17;
            var$4 = $this.$yPosition16;
            var$5 = $this.$zPosition15;
            $ptr = 1;
        case 1:
            $tmp = nms_World_blockExists(var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return;
            $var1 = $var1.$mc9.$theWorld;
            var$3 = $this.$xPosition17;
            var$4 = $this.$yPosition16;
            var$5 = $this.$zPosition15;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockTileEntity($var1, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!($var1 instanceof nms_TileEntitySign))
                return;
            $var1 = $var1;
            jl_System_fastArraycopy($this.$signLines, 0, $var1.$signText, 0, 4);
            $ptr = 3;
        case 3:
            nms_TileEntity_onInventoryChanged($var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_Packet130_getPacketSize($this) {
        var $var1, $var2;
        $var1 = 0;
        $var2 = 0;
        while ($var2 < 4) {
            $var1 = $var1 + jl_String_length($this.$signLines.data[$var2]) | 0;
            $var2 = $var2 + 1 | 0;
        }
        return $var1;
    }
    function nms_Packet255KickDisconnect() {
        nms_Packet.call(this);
        this.$reason = null;
    }
    function nms_Packet255KickDisconnect__init_1() {
        var var_0 = new nms_Packet255KickDisconnect();
        nms_Packet255KickDisconnect__init_(var_0);
        return var_0;
    }
    function nms_Packet255KickDisconnect__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Packet__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_Packet255KickDisconnect_readPacketData($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = ji_DataInputStream_readUTF($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$reason = $var1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_Packet255KickDisconnect_writePacketData($this, $var1) {
        ji_DataOutputStream_writeUTF($var1, $this.$reason);
    }
    function nms_Packet255KickDisconnect_processPacket($this, $var1) {
        var var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_NetworkManager_networkShutdown($var1.$netManager, $rt_s(2096), $rt_createArray(jl_Object, 0));
            $var1.$disconnected = 1;
            var$2 = $var1.$mc9;
            var$3 = null;
            $ptr = 1;
        case 1:
            nmc_Minecraft_changeWorld1(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $var1.$mc9;
            var$4 = new nms_GuiConnectFailed;
            $var1 = $rt_s(2097);
            var$2 = $rt_s(1817);
            var$5 = $rt_createArray(jl_Object, 1);
            var$5.data[0] = $this.$reason;
            $ptr = 2;
        case 2:
            nms_GuiConnectFailed__init_(var$4, $var1, var$2, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nmc_Minecraft_displayGuiScreen(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_Packet255KickDisconnect_getPacketSize($this) {
        return jl_String_length($this.$reason);
    }
    function nms_SignModel() {
        var a = this; jl_Object.call(a);
        a.$field_1346_a = null;
        a.$field_1345_b = null;
    }
    function nms_SignModel__init_0() {
        var var_0 = new nms_SignModel();
        nms_SignModel__init_(var_0);
        return var_0;
    }
    function nms_SignModel__init_($this) {
        var var$1;
        var$1 = nms_ModelRenderer__init_(0, 0);
        $this.$field_1346_a = var$1;
        nms_ModelRenderer_addBox(var$1, (-12.0), (-14.0), (-1.0), 24, 12, 2, 0.0);
        var$1 = nms_ModelRenderer__init_(0, 14);
        $this.$field_1345_b = var$1;
        nms_ModelRenderer_addBox(var$1, (-1.0), (-2.0), (-1.0), 2, 14, 2, 0.0);
    }
    var jnc_CoderMalfunctionError = $rt_classWithoutFields(jl_Error);
    var ju_HashMap$EntryIterator = $rt_classWithoutFields(ju_HashMap$AbstractMapIterator);
    var otci_Base64Impl = $rt_classWithoutFields();
    var otci_Base64Impl_alphabet = null;
    var otci_Base64Impl_urlAlphabet = null;
    var otci_Base64Impl_reverse = null;
    var otci_Base64Impl_urlReverse = null;
    function otci_Base64Impl__init_0() {
        var var_0 = new otci_Base64Impl();
        otci_Base64Impl__init_(var_0);
        return var_0;
    }
    function otci_Base64Impl__init_($this) {}
    function otci_Base64Impl_decode1($text, $output, $mapping) {
        var $inputSize, $i, $triples, $c, $j, var$9, $a, $b, $c_0, $d, $out, $rem;
        $text = $text.data;
        $inputSize = $text.length;
        $i = $inputSize - 1 | 0;
        while ($i >= 0 && $text[$i] == 61) {
            $inputSize = $inputSize + (-1) | 0;
            $i = $i + (-1) | 0;
        }
        $triples = ($inputSize / 4 | 0) * 4 | 0;
        $c = 0;
        $j = 0;
        while ($c < $triples) {
            var$9 = $output.data;
            $i = $c + 1 | 0;
            $a = otci_Base64Impl_decode2($mapping, $text[$c]);
            $c = $i + 1 | 0;
            $b = otci_Base64Impl_decode2($mapping, $text[$i]);
            $i = $c + 1 | 0;
            $c_0 = otci_Base64Impl_decode2($mapping, $text[$c]);
            $c = $i + 1 | 0;
            $d = otci_Base64Impl_decode2($mapping, $text[$i]);
            $out = $a << 18 | $b << 12 | $c_0 << 6 | $d;
            $i = $j + 1 | 0;
            var$9[$j] = ($out >>> 16 | 0) << 24 >> 24;
            $a = $i + 1 | 0;
            var$9[$i] = ($out >>> 8 | 0) << 24 >> 24;
            $j = $a + 1 | 0;
            var$9[$a] = $out << 24 >> 24;
        }
        $rem = $inputSize - $c | 0;
        if ($rem == 2)
            $output.data[$j] = (otci_Base64Impl_decode2($mapping, $text[$c]) << 2 | (otci_Base64Impl_decode2($mapping, $text[$c + 1 | 0]) >>> 4 | 0)) << 24 >> 24;
        else if ($rem == 3) {
            $output = $output.data;
            $a = otci_Base64Impl_decode2($mapping, $text[$c]);
            $b = otci_Base64Impl_decode2($mapping, $text[$c + 1 | 0]);
            $c = otci_Base64Impl_decode2($mapping, $text[$c + 2 | 0]);
            $output[$j] = ($a << 2 | ($b >>> 4 | 0)) << 24 >> 24;
            $output[$j + 1 | 0] = ($b << 4 | ($c >>> 2 | 0)) << 24 >> 24;
        }
    }
    function otci_Base64Impl_decode2($mapping, $c) {
        return $mapping.data[$c];
    }
    function otci_Base64Impl__clinit_() {
        var var$1, var$2, var$3, $i, $c, $c_0;
        var$1 = $rt_createByteArray(64);
        var$2 = var$1.data;
        otci_Base64Impl_alphabet = var$1;
        var$1 = $rt_createByteArray(64);
        var$3 = var$1.data;
        otci_Base64Impl_urlAlphabet = var$1;
        var$1 = $rt_createIntArray(256);
        otci_Base64Impl_reverse = var$1;
        otci_Base64Impl_urlReverse = $rt_createIntArray(256);
        $i = 0;
        $c = 65;
        while ($c <= 90) {
            $c_0 = $c << 24 >> 24;
            var$2[$i] = $c_0;
            var$3[$i] = $c_0;
            $i = $i + 1 | 0;
            $c = ($c + 1 | 0) & 65535;
        }
        $c = 97;
        while ($c <= 122) {
            $c_0 = $c << 24 >> 24;
            var$2[$i] = $c_0;
            var$3[$i] = $c_0;
            $i = $i + 1 | 0;
            $c = ($c + 1 | 0) & 65535;
        }
        $c_0 = 48;
        while ($c_0 <= 57) {
            $c = $c_0 << 24 >> 24;
            var$2[$i] = $c;
            var$3[$i] = $c;
            $i = $i + 1 | 0;
            $c_0 = ($c_0 + 1 | 0) & 65535;
        }
        var$2[$i] = 43;
        var$3[$i] = 45;
        $i = $i + 1 | 0;
        var$2[$i] = 47;
        var$3[$i] = 95;
        ju_Arrays_fill1(var$1, (-1));
        ju_Arrays_fill1(otci_Base64Impl_urlReverse, (-1));
        $c_0 = 0;
        while (true) {
            var$1 = otci_Base64Impl_alphabet.data;
            if ($c_0 >= var$1.length)
                break;
            otci_Base64Impl_reverse.data[var$1[$c_0]] = $c_0;
            otci_Base64Impl_urlReverse.data[otci_Base64Impl_urlAlphabet.data[$c_0]] = $c_0;
            $c_0 = $c_0 + 1 | 0;
        }
    }
    var nlem_FontMappingHelper = $rt_classWithoutFields();
    function nlem_FontMappingHelper__init_0() {
        var var_0 = new nlem_FontMappingHelper();
        nlem_FontMappingHelper__init_(var_0);
        return var_0;
    }
    function nlem_FontMappingHelper__init_($this) {}
    function nlem_FontMappingHelper_lookupChar($c, $incSel) {
        switch ($c) {
            case 0:
                break;
            case 32:
                return 32;
            case 33:
                return 33;
            case 34:
                return 34;
            case 35:
                return 35;
            case 36:
                return 36;
            case 37:
                return 37;
            case 38:
                return 38;
            case 39:
                return 39;
            case 40:
                return 40;
            case 41:
                return 41;
            case 42:
                return 42;
            case 43:
                return 43;
            case 44:
                return 44;
            case 45:
                return 45;
            case 46:
                return 46;
            case 47:
                return 47;
            case 48:
                return 48;
            case 49:
                return 49;
            case 50:
                return 50;
            case 51:
                return 51;
            case 52:
                return 52;
            case 53:
                return 53;
            case 54:
                return 54;
            case 55:
                return 55;
            case 56:
                return 56;
            case 57:
                return 57;
            case 58:
                return 58;
            case 59:
                return 59;
            case 60:
                return 60;
            case 61:
                return 61;
            case 62:
                return 62;
            case 63:
                return 63;
            case 64:
                return 64;
            case 65:
                return 65;
            case 66:
                return 66;
            case 67:
                return 67;
            case 68:
                return 68;
            case 69:
                return 69;
            case 70:
                return 70;
            case 71:
                return 71;
            case 72:
                return 72;
            case 73:
                return 73;
            case 74:
                return 74;
            case 75:
                return 75;
            case 76:
                return 76;
            case 77:
                return 77;
            case 78:
                return 78;
            case 79:
                return 79;
            case 80:
                return 80;
            case 81:
                return 81;
            case 82:
                return 82;
            case 83:
                return 83;
            case 84:
                return 84;
            case 85:
                return 85;
            case 86:
                return 86;
            case 87:
                return 87;
            case 88:
                return 88;
            case 89:
                return 89;
            case 90:
                return 90;
            case 91:
                return 91;
            case 92:
                return 92;
            case 93:
                return 93;
            case 94:
                return 94;
            case 95:
                return 95;
            case 96:
                return 96;
            case 97:
                return 97;
            case 98:
                return 98;
            case 99:
                return 99;
            case 100:
                return 100;
            case 101:
                return 101;
            case 102:
                return 102;
            case 103:
                return 103;
            case 104:
                return 104;
            case 105:
                return 105;
            case 106:
                return 106;
            case 107:
                return 107;
            case 108:
                return 108;
            case 109:
                return 109;
            case 110:
                return 110;
            case 111:
                return 111;
            case 112:
                return 112;
            case 113:
                return 113;
            case 114:
                return 114;
            case 115:
                return 115;
            case 116:
                return 116;
            case 117:
                return 117;
            case 118:
                return 118;
            case 119:
                return 119;
            case 120:
                return 120;
            case 121:
                return 121;
            case 122:
                return 122;
            case 123:
                return 123;
            case 124:
                return 124;
            case 125:
                return 125;
            case 126:
                return 126;
            case 160:
                return 32;
            case 161:
                return 173;
            case 163:
                return 156;
            case 167:
                return !$incSel ? (-1) : 256;
            case 170:
                return 166;
            case 171:
                return 174;
            case 172:
                return 170;
            case 174:
                return 169;
            case 176:
                return 248;
            case 177:
                return 241;
            case 178:
                return 253;
            case 183:
                return 250;
            case 186:
                return 167;
            case 187:
                return 175;
            case 188:
                return 172;
            case 189:
                return 171;
            case 191:
                return 168;
            case 192:
                return 0;
            case 193:
                return 1;
            case 194:
                return 2;
            case 196:
                return 142;
            case 197:
                return 143;
            case 198:
                return 146;
            case 199:
                return 128;
            case 200:
                return 3;
            case 201:
                return 144;
            case 202:
                return 4;
            case 203:
                return 5;
            case 205:
                return 6;
            case 209:
                return 165;
            case 211:
                return 7;
            case 212:
                return 8;
            case 213:
                return 9;
            case 214:
                return 153;
            case 215:
                return 158;
            case 216:
                return 157;
            case 218:
                return 10;
            case 220:
                return 154;
            case 223:
                return 11;
            case 224:
                return 133;
            case 225:
                return 160;
            case 226:
                return 131;
            case 227:
                return 12;
            case 228:
                return 132;
            case 229:
                return 134;
            case 230:
                return 145;
            case 231:
                return 135;
            case 232:
                return 138;
            case 233:
                return 130;
            case 234:
                return 136;
            case 235:
                return 137;
            case 236:
                return 141;
            case 237:
                return 161;
            case 238:
                return 140;
            case 239:
                return 139;
            case 241:
                return 164;
            case 242:
                return 149;
            case 243:
                return 162;
            case 244:
                return 147;
            case 245:
                return 13;
            case 246:
                return 148;
            case 247:
                return 246;
            case 248:
                return 155;
            case 249:
                return 151;
            case 250:
                return 163;
            case 251:
                return 150;
            case 252:
                return 129;
            case 255:
                return 152;
            case 287:
                return 14;
            case 304:
                return 15;
            case 305:
                return 16;
            case 338:
                return 17;
            case 339:
                return 18;
            case 350:
                return 19;
            case 351:
                return 20;
            case 372:
                return 21;
            case 373:
                return 22;
            case 382:
                return 23;
            case 402:
                return 159;
            case 519:
                return 24;
            case 915:
                return 226;
            case 920:
                return 233;
            case 931:
                return 228;
            case 934:
                return 232;
            case 937:
                return 234;
            case 945:
                return 224;
            case 946:
                return 225;
            case 948:
                return 235;
            case 956:
                return 230;
            case 960:
                return 227;
            case 963:
                return 229;
            case 964:
                return 231;
            case 8319:
                return 252;
            case 8709:
                return 237;
            case 8712:
                return 238;
            case 8729:
                return 249;
            case 8730:
                return 251;
            case 8734:
                return 236;
            case 8745:
                return 239;
            case 8776:
                return 247;
            case 8801:
                return 240;
            case 8804:
                return 243;
            case 8805:
                return 242;
            case 8992:
                return 244;
            case 8993:
                return 245;
            case 9472:
                return 196;
            case 9474:
                return 179;
            case 9484:
                return 218;
            case 9488:
                return 191;
            case 9492:
                return 192;
            case 9496:
                return 217;
            case 9500:
                return 195;
            case 9508:
                return 180;
            case 9516:
                return 194;
            case 9524:
                return 193;
            case 9532:
                return 197;
            case 9552:
                return 205;
            case 9553:
                return 186;
            case 9554:
                return 213;
            case 9555:
                return 214;
            case 9556:
                return 201;
            case 9557:
                return 184;
            case 9558:
                return 183;
            case 9559:
                return 187;
            case 9560:
                return 212;
            case 9561:
                return 211;
            case 9562:
                return 200;
            case 9563:
                return 190;
            case 9564:
                return 189;
            case 9565:
                return 188;
            case 9566:
                return 198;
            case 9567:
                return 199;
            case 9568:
                return 204;
            case 9569:
                return 181;
            case 9570:
                return 182;
            case 9571:
                return 185;
            case 9572:
                return 209;
            case 9573:
                return 210;
            case 9574:
                return 203;
            case 9575:
                return 207;
            case 9576:
                return 208;
            case 9577:
                return 202;
            case 9578:
                return 216;
            case 9579:
                return 215;
            case 9580:
                return 206;
            case 9600:
                return 223;
            case 9604:
                return 220;
            case 9608:
                return 219;
            case 9612:
                return 221;
            case 9616:
                return 222;
            case 9617:
                return 176;
            case 9618:
                return 177;
            case 9619:
                return 178;
            case 9632:
                return 254;
            default:
                return (-1);
        }
        return 25;
    }
    var nlei_IAudioResource = $rt_classWithoutFields(0);
    function nms_GuiOptions() {
        var a = this; nms_GuiScreen.call(a);
        a.$parentScreen1 = null;
        a.$screenTitle2 = null;
        a.$options2 = null;
    }
    var nms_GuiOptions_field_22135_k = null;
    function nms_GuiOptions_$callClinit() {
        nms_GuiOptions_$callClinit = $rt_eraseClinit(nms_GuiOptions);
        nms_GuiOptions__clinit_();
    }
    function nms_GuiOptions__init_0(var_0, var_1) {
        var var_2 = new nms_GuiOptions();
        nms_GuiOptions__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_GuiOptions__init_($this, $var1, $var2) {
        nms_GuiOptions_$callClinit();
        nms_GuiScreen__init_($this);
        $this.$screenTitle2 = $rt_s(2098);
        $this.$parentScreen1 = $var1;
        $this.$options2 = $var2;
    }
    function nms_GuiOptions_initGui($this) {
        var $var1, $var6, $var2, $var3, $var4, $var5, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var6 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var6 = $rt_s(2099);
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_translateKey($var1, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $this.$screenTitle2 = $var6;
            $var2 = 0;
            nms_GuiOptions_$callClinit();
            $var3 = nms_GuiOptions_field_22135_k.data;
            $var4 = $var3.length;
            $var5 = 0;
            if ($var5 >= $var4) {
                var$7 = $this.$controlList;
                var$8 = new nms_GuiButton;
                var$9 = 101;
                $var4 = ($this.$width1 / 2 | 0) - 100 | 0;
                $var2 = (($this.$height3 / 6 | 0) + 96 | 0) + 12 | 0;
                $var6 = $rt_s(2100);
                $ptr = 3;
                continue main;
            }
            $var6 = $var3[$var5];
            if ($var6.$enumFloat) {
                var$10 = $this.$controlList;
                var$7 = new nms_GuiSlider;
                var$11 = $var6.$ordinal0;
                var$12 = (($this.$width1 / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0;
                var$9 = ($this.$height3 / 6 | 0) + (24 * ($var2 >> 1) | 0) | 0;
                var$8 = $this.$options2;
                $ptr = 9;
                continue main;
            }
            var$7 = $this.$controlList;
            var$8 = new nms_GuiSmallButton;
            var$11 = $var6.$ordinal0;
            var$9 = (($this.$width1 / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0;
            var$12 = ($this.$height3 / 6 | 0) + (24 * ($var2 >> 1) | 0) | 0;
            var$13 = $this.$options2;
            $ptr = 11;
            continue main;
        case 3:
            $tmp = nms_StringTranslate_translateKey($var1, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            nms_GuiButton__init_(var$8, var$9, $var4, $var2, $var6);
            $ptr = 4;
        case 4:
            ju_ArrayList_add(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $this.$controlList;
            var$7 = new nms_GuiButton;
            var$9 = 100;
            $var2 = ($this.$width1 / 2 | 0) - 100 | 0;
            $var4 = (($this.$height3 / 6 | 0) + 120 | 0) + 12 | 0;
            var$8 = $rt_s(2101);
            $ptr = 5;
        case 5:
            $tmp = nms_StringTranslate_translateKey($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            nms_GuiButton__init_(var$7, var$9, $var2, $var4, var$8);
            $ptr = 6;
        case 6:
            ju_ArrayList_add($var6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $this.$controlList;
            var$7 = new nms_GuiButton;
            var$9 = 200;
            $var2 = ($this.$width1 / 2 | 0) - 100 | 0;
            $var4 = ($this.$height3 / 6 | 0) + 168 | 0;
            var$8 = $rt_s(1750);
            $ptr = 7;
        case 7:
            $tmp = nms_StringTranslate_translateKey($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            nms_GuiButton__init_(var$7, var$9, $var2, $var4, $var1);
            $ptr = 8;
        case 8:
            ju_ArrayList_add($var6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 9:
            $tmp = nms_GameSettings_getKeyBinding(var$8, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            nms_GuiSlider__init_(var$7, var$11, var$12, var$9, $var6, var$8, nms_GameSettings_getOptionFloatValue($this.$options2, $var6));
            $ptr = 10;
        case 10:
            ju_ArrayList_add(var$10, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            $var5 = $var5 + 1 | 0;
            if ($var5 >= $var4) {
                var$7 = $this.$controlList;
                var$8 = new nms_GuiButton;
                var$9 = 101;
                $var4 = ($this.$width1 / 2 | 0) - 100 | 0;
                $var2 = (($this.$height3 / 6 | 0) + 96 | 0) + 12 | 0;
                $var6 = $rt_s(2100);
                $ptr = 3;
                continue main;
            }
            $var6 = $var3[$var5];
            if ($var6.$enumFloat) {
                var$10 = $this.$controlList;
                var$7 = new nms_GuiSlider;
                var$11 = $var6.$ordinal0;
                var$12 = (($this.$width1 / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0;
                var$9 = ($this.$height3 / 6 | 0) + (24 * ($var2 >> 1) | 0) | 0;
                var$8 = $this.$options2;
                $ptr = 9;
                continue main;
            }
            var$7 = $this.$controlList;
            var$8 = new nms_GuiSmallButton;
            var$11 = $var6.$ordinal0;
            var$9 = (($this.$width1 / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0;
            var$12 = ($this.$height3 / 6 | 0) + (24 * ($var2 >> 1) | 0) | 0;
            var$13 = $this.$options2;
            $ptr = 11;
        case 11:
            $tmp = nms_GameSettings_getKeyBinding(var$13, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            nms_GuiSmallButton__init_(var$8, var$11, var$9, var$12, $var6, var$13);
            $ptr = 12;
        case 12:
            ju_ArrayList_add(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            $var5 = $var5 + 1 | 0;
            if ($var5 >= $var4) {
                var$7 = $this.$controlList;
                var$8 = new nms_GuiButton;
                var$9 = 101;
                $var4 = ($this.$width1 / 2 | 0) - 100 | 0;
                $var2 = (($this.$height3 / 6 | 0) + 96 | 0) + 12 | 0;
                $var6 = $rt_s(2100);
                $ptr = 3;
                continue main;
            }
            $var6 = $var3[$var5];
            if ($var6.$enumFloat) {
                var$10 = $this.$controlList;
                var$7 = new nms_GuiSlider;
                var$11 = $var6.$ordinal0;
                var$12 = (($this.$width1 / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0;
                var$9 = ($this.$height3 / 6 | 0) + (24 * ($var2 >> 1) | 0) | 0;
                var$8 = $this.$options2;
                $ptr = 9;
                continue main;
            }
            var$7 = $this.$controlList;
            var$8 = new nms_GuiSmallButton;
            var$11 = $var6.$ordinal0;
            var$9 = (($this.$width1 / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0;
            var$12 = ($this.$height3 / 6 | 0) + (24 * ($var2 >> 1) | 0) | 0;
            var$13 = $this.$options2;
            $ptr = 11;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var6, $var2, $var3, $var4, $var5, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
    }
    function nms_GuiOptions_actionPerformed($this, $var1) {
        var var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$enabled0) {
                if ($var1.$id2 < 100 && $var1 instanceof nms_GuiSmallButton) {
                    var$2 = $this.$options2;
                    var$3 = $var1.$enumOptions;
                    var$4 = 1;
                    $ptr = 3;
                    continue main;
                }
                if ($var1.$id2 == 101) {
                    var$2 = $this.$mc6.$gameSettings;
                    $ptr = 1;
                    continue main;
                }
                if ($var1.$id2 == 100) {
                    var$2 = $this.$mc6.$gameSettings;
                    $ptr = 5;
                    continue main;
                }
                if ($var1.$id2 == 200) {
                    $var1 = $this.$mc6.$gameSettings;
                    $ptr = 7;
                    continue main;
                }
            }
            return;
        case 1:
            nms_GameSettings_saveOptions(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$mc6;
            var$3 = new nms_GuiVideoSettings;
            var$5 = $this.$options2;
            nms_GuiVideoSettings_$callClinit();
            nms_GuiScreen__init_(var$3);
            var$3.$field_22107_a = $rt_s(2102);
            var$3.$field_22110_h = $this;
            var$3.$field_22109_i = var$5;
            $ptr = 2;
        case 2:
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$id2 == 100) {
                var$2 = $this.$mc6.$gameSettings;
                $ptr = 5;
                continue main;
            }
            if ($var1.$id2 != 200)
                return;
            $var1 = $this.$mc6.$gameSettings;
            $ptr = 7;
            continue main;
        case 3:
            nms_GameSettings_setOptionValue(var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$options2;
            var$3 = nms_EnumOptions_func_20137_a($var1.$id2);
            $ptr = 4;
        case 4:
            $tmp = nms_GameSettings_getKeyBinding(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $var1.$displayString = var$2;
            if ($var1.$id2 == 101) {
                var$2 = $this.$mc6.$gameSettings;
                $ptr = 1;
                continue main;
            }
            if ($var1.$id2 == 100) {
                var$2 = $this.$mc6.$gameSettings;
                $ptr = 5;
                continue main;
            }
            if ($var1.$id2 != 200)
                return;
            $var1 = $this.$mc6.$gameSettings;
            $ptr = 7;
            continue main;
        case 5:
            nms_GameSettings_saveOptions(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$mc6;
            var$3 = new nms_GuiControls;
            var$5 = $this.$options2;
            nms_GuiScreen__init_(var$3);
            var$3.$screenTitle3 = $rt_s(2103);
            var$3.$buttonId = (-1);
            var$3.$parentScreen2 = $this;
            var$3.$options3 = var$5;
            $ptr = 6;
        case 6:
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1.$id2 != 200)
                return;
            $var1 = $this.$mc6.$gameSettings;
            $ptr = 7;
        case 7:
            nms_GameSettings_saveOptions($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$mc6;
            var$2 = $this.$parentScreen1;
            $ptr = 8;
        case 8:
            nmc_Minecraft_displayGuiScreen($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_GuiOptions_drawScreen($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiScreen_drawDefaultBackground($this);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$fontRenderer0;
            var$5 = $this.$screenTitle2;
            var$6 = $this.$width1 / 2 | 0;
            var$7 = 20;
            var$8 = 16777215;
            $ptr = 2;
        case 2:
            nms_Gui_drawCenteredString($this, var$4, var$5, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_GuiOptions__clinit_() {
        var var$1, var$2;
        var$1 = $rt_createArray(nms_EnumOptions, 5);
        var$2 = var$1.data;
        nms_EnumOptions_$callClinit();
        var$2[0] = nms_EnumOptions_MUSIC;
        var$2[1] = nms_EnumOptions_SOUND;
        var$2[2] = nms_EnumOptions_INVERT_MOUSE;
        var$2[3] = nms_EnumOptions_SENSITIVITY;
        var$2[4] = nms_EnumOptions_DIFFICULTY;
        nms_GuiOptions_field_22135_k = var$1;
    }
    function nms_GuiSelectWorld() {
        var a = this; nms_GuiScreen.call(a);
        a.$dateFormatter = null;
        a.$parentScreen0 = null;
        a.$screenTitle0 = null;
        a.$selected = 0;
        a.$selectedWorld = 0;
        a.$saveList = null;
        a.$worldSlotContainer = null;
        a.$field_22098_o = null;
        a.$field_22097_p = null;
        a.$deleting = 0;
        a.$buttonRename = null;
        a.$buttonSelect = null;
        a.$buttonDelete = null;
    }
    function nms_GuiSelectWorld_initGui($this) {
        var $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$2 = $rt_s(2104);
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_translateKey($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$screenTitle0 = var$2;
            var$2 = $rt_s(2105);
            $ptr = 3;
        case 3:
            $tmp = nms_StringTranslate_translateKey($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$field_22098_o = var$2;
            var$2 = $rt_s(2106);
            $ptr = 4;
        case 4:
            $tmp = nms_StringTranslate_translateKey($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$field_22097_p = $var1;
            $ptr = 5;
        case 5:
            nms_GuiSelectWorld_loadSaves($this);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = new nms_GuiWorldSlot;
            var$2 = $this.$mc6;
            var$3 = $this.$width1;
            var$4 = $this.$height3;
            nms_GuiSlot__init_($var1, var$2, var$3, var$4, 32, var$4 - 64 | 0, 36);
            $var1.$parentWorldGui = $this;
            $this.$worldSlotContainer = $var1;
            nms_GuiSlot_registerScrollButtons($var1, $this.$controlList, 4, 5);
            $ptr = 6;
        case 6:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$5 = $this.$controlList;
            var$2 = new nms_GuiButton;
            var$6 = 1;
            var$4 = ($this.$width1 / 2 | 0) - 154 | 0;
            var$7 = $this.$height3 - 52 | 0;
            var$8 = 150;
            var$3 = 20;
            var$9 = $rt_s(2107);
            $ptr = 7;
        case 7:
            $tmp = nms_StringTranslate_translateKey($var1, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            nms_GuiButton__init_0(var$2, var$6, var$4, var$7, var$8, var$3, var$9);
            $this.$buttonSelect = var$2;
            $ptr = 8;
        case 8:
            ju_ArrayList_add(var$5, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$controlList;
            var$5 = new nms_GuiButton;
            var$6 = 6;
            var$7 = ($this.$width1 / 2 | 0) - 154 | 0;
            var$3 = $this.$height3 - 28 | 0;
            var$4 = 70;
            var$8 = 20;
            var$9 = $rt_s(2108);
            $ptr = 9;
        case 9:
            $tmp = nms_StringTranslate_translateKey($var1, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            nms_GuiButton__init_0(var$5, var$6, var$7, var$3, var$4, var$8, var$9);
            $this.$buttonRename = var$5;
            $ptr = 10;
        case 10:
            ju_ArrayList_add(var$2, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$controlList;
            var$5 = new nms_GuiButton;
            var$6 = 2;
            var$7 = ($this.$width1 / 2 | 0) - 74 | 0;
            var$3 = $this.$height3 - 28 | 0;
            var$4 = 70;
            var$8 = 20;
            var$9 = $rt_s(2109);
            $ptr = 11;
        case 11:
            $tmp = nms_StringTranslate_translateKey($var1, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            nms_GuiButton__init_0(var$5, var$6, var$7, var$3, var$4, var$8, var$9);
            $this.$buttonDelete = var$5;
            $ptr = 12;
        case 12:
            ju_ArrayList_add(var$2, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$controlList;
            var$5 = new nms_GuiButton;
            var$6 = 3;
            var$7 = ($this.$width1 / 2 | 0) + 4 | 0;
            var$3 = $this.$height3 - 52 | 0;
            var$4 = 150;
            var$8 = 20;
            var$9 = $rt_s(2110);
            $ptr = 13;
        case 13:
            $tmp = nms_StringTranslate_translateKey($var1, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            nms_GuiButton__init_0(var$5, var$6, var$7, var$3, var$4, var$8, var$9);
            $ptr = 14;
        case 14:
            ju_ArrayList_add(var$2, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$controlList;
            var$5 = new nms_GuiButton;
            var$6 = 0;
            var$7 = ($this.$width1 / 2 | 0) + 4 | 0;
            var$3 = $this.$height3 - 28 | 0;
            var$4 = 150;
            var$8 = 20;
            var$9 = $rt_s(1824);
            $ptr = 15;
        case 15:
            $tmp = nms_StringTranslate_translateKey($var1, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            nms_GuiButton__init_0(var$5, var$6, var$7, var$3, var$4, var$8, $var1);
            $ptr = 16;
        case 16:
            ju_ArrayList_add(var$2, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $this.$buttonSelect.$enabled0 = 0;
            $this.$buttonRename.$enabled0 = 0;
            $this.$buttonDelete.$enabled0 = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_GuiSelectWorld_loadSaves($this) {
        var $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $this.$mc6.$saveLoader;
            var$2 = ju_ArrayList__init_0();
            var$3 = new nleiv_VFile2;
            var$4 = $rt_createArray(jl_Object, 1);
            var$4.data[0] = $var1.$directory;
            $ptr = 1;
        case 1:
            nleiv_VFile2__init_(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$savedir0 = var$3;
            var$5 = 1;
            $ptr = 2;
        case 2:
            $tmp = nleiv_VFile2_listFiles(var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = ju_AbstractList_iterator(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (ju_AbstractList$1_hasNext(var$3)) {
                $ptr = 5;
                continue main;
            }
            $this.$saveList = var$2;
            $ptr = 4;
        case 4:
            ju_Collections_sort(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$selectedWorld = (-1);
            return;
        case 5:
            $tmp = ju_AbstractList$1_next(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$7 = var$6;
            var$8 = jl_String_lastIndexOf2(var$7.$path0, $rt_s(5));
            if (!jl_String_contains(var$8 == (-1) ? var$7.$path0 : jl_String_substring(var$7.$path0, var$8 + 1 | 0), $rt_s(2111))) {
                if (ju_AbstractList$1_hasNext(var$3)) {
                    continue main;
                }
                $this.$saveList = var$2;
                $ptr = 4;
                continue main;
            }
            var$9 = var$7.$path0;
            if (var$9 === null)
                var$6 = null;
            else {
                var$5 = jl_String_lastIndexOf2(var$9, $rt_s(5));
                var$6 = var$5 == (-1) ? $rt_s(470) : jl_String_substring0(var$7.$path0, 0, var$5);
            }
            nleiv_VFile2_getPath(var$7);
            var$10 = new nleiv_VFile2;
            var$4 = $rt_createArray(jl_Object, 1);
            var$11 = var$4.data;
            var$5 = 0;
            var$7 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$7);
            $ptr = 6;
        case 6:
            $tmp = jl_StringBuilder_append(var$7, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            var$12 = $rt_s(1469);
            $ptr = 7;
        case 7:
            jl_StringBuilder_append(var$9, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            $tmp = jl_AbstractStringBuilder_toString(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$11[var$5] = var$7;
            $ptr = 9;
        case 9:
            nleiv_VFile2__init_(var$10, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            $tmp = nleiv_VFile2_getAllBytes(var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4 === null) {
                if (ju_AbstractList$1_hasNext(var$3)) {
                    $ptr = 5;
                    continue main;
                }
                $this.$saveList = var$2;
                $ptr = 4;
                continue main;
            }
            try {
                var$7 = ji_DataInputStream__init_(ji_ByteArrayInputStream__init_(var$4));
                $ptr = 11;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    var$6 = $$je;
                } else {
                    throw $$e;
                }
            }
            var$7 = jl_System_err();
            var$9 = $var1.$directory;
            var$12 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$12);
            var$10 = $rt_s(1470);
            $ptr = 12;
            continue main;
        case 11:
            try {
                $tmp = nms_NBTBase_readTag(var$7);
                if ($rt_suspending()) {
                    break main;
                }
                var$7 = $tmp;
                if (var$7 instanceof nms_NBTTagCompound) {
                    var$9 = new nms_WorldInfo;
                    var$7 = var$7;
                    $ptr = 23;
                    continue main;
                }
                var$12 = new ji_IOException;
                var$7 = jl_StringBuilder__init_0();
                var$9 = $rt_s(1680);
                $ptr = 19;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    var$6 = $$je;
                } else {
                    throw $$e;
                }
            }
            var$7 = jl_System_err();
            var$9 = $var1.$directory;
            var$12 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$12);
            var$10 = $rt_s(1470);
            $ptr = 12;
        case 12:
            $tmp = jl_StringBuilder_append(var$12, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 13;
        case 13:
            $tmp = jl_StringBuilder_append(var$10, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            var$10 = $rt_s(1471);
            $ptr = 14;
        case 14:
            jl_StringBuilder_append(var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            $tmp = jl_AbstractStringBuilder_toString(var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            $ptr = 16;
        case 16:
            ji_PrintStream_println0(var$7, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = jl_System_err();
            var$9 = $rt_s(1681);
            $ptr = 17;
        case 17:
            ji_PrintStream_println0(var$7, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 18;
        case 18:
            jl_Throwable_printStackTrace(var$6);
            if ($rt_suspending()) {
                break main;
            }
            if (ju_AbstractList$1_hasNext(var$3)) {
                $ptr = 5;
                continue main;
            }
            $this.$saveList = var$2;
            $ptr = 4;
            continue main;
        case 19:
            try {
                $tmp = jl_StringBuilder_append(var$7, var$9);
                if ($rt_suspending()) {
                    break main;
                }
                var$9 = $tmp;
                $ptr = 20;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    var$6 = $$je;
                } else {
                    throw $$e;
                }
            }
            var$7 = jl_System_err();
            var$9 = $var1.$directory;
            var$12 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$12);
            var$10 = $rt_s(1470);
            $ptr = 12;
            continue main;
        case 20:
            try {
                $tmp = jl_StringBuilder_append(var$9, var$6);
                if ($rt_suspending()) {
                    break main;
                }
                var$6 = $tmp;
                var$9 = $rt_s(1682);
                $ptr = 21;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    var$6 = $$je;
                } else {
                    throw $$e;
                }
            }
            var$7 = jl_System_err();
            var$9 = $var1.$directory;
            var$12 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$12);
            var$10 = $rt_s(1470);
            $ptr = 12;
            continue main;
        case 21:
            try {
                jl_StringBuilder_append(var$6, var$9);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 22;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    var$6 = $$je;
                } else {
                    throw $$e;
                }
            }
            var$7 = jl_System_err();
            var$9 = $var1.$directory;
            var$12 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$12);
            var$10 = $rt_s(1470);
            $ptr = 12;
            continue main;
        case 22:
            try {
                $tmp = jl_StringBuilder_toString(var$7);
                if ($rt_suspending()) {
                    break main;
                }
                var$6 = $tmp;
                ji_IOException__init_4(var$12, var$6);
                $rt_throw(var$12);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    var$6 = $$je;
                } else {
                    throw $$e;
                }
            }
            var$7 = jl_System_err();
            var$9 = $var1.$directory;
            var$12 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$12);
            var$10 = $rt_s(1470);
            $ptr = 12;
            continue main;
        case 23:
            try {
                nms_WorldInfo__init_(var$9, var$7);
                if ($rt_suspending()) {
                    break main;
                }
                var$7 = nms_WorldInfo_getWorldName(var$9);
                if (!(var$7 !== null && !nms_MathHelper_stringNullOrLengthZero(var$7)))
                    var$7 = var$6;
                var$12 = nms_SaveFormatComparator__init_0(var$6, var$7, nms_WorldInfo_getLastTimePlayed(var$9), nms_WorldInfo_getSizeOnDisk(var$9), 0);
                $ptr = 24;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    var$6 = $$je;
                } else {
                    throw $$e;
                }
            }
            var$7 = jl_System_err();
            var$9 = $var1.$directory;
            var$12 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$12);
            var$10 = $rt_s(1470);
            $ptr = 12;
            continue main;
        case 24:
            a: {
                try {
                    ju_ArrayList_add(var$2, var$12);
                    if ($rt_suspending()) {
                        break main;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        var$6 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                if (ju_AbstractList$1_hasNext(var$3)) {
                    $ptr = 5;
                    continue main;
                }
                $this.$saveList = var$2;
                $ptr = 4;
                continue main;
            }
            var$7 = jl_System_err();
            var$9 = $var1.$directory;
            var$12 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$12);
            var$10 = $rt_s(1470);
            $ptr = 12;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function nms_GuiSelectWorld_getSaveFileName($this, $var1) {
        return (ju_ArrayList_get($this.$saveList, $var1)).$displayName;
    }
    function nms_GuiSelectWorld_getSaveName($this, $var1) {
        var $var2, $var3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = (ju_ArrayList_get($this.$saveList, $var1)).$displayName;
            if ($var2 !== null && !nms_MathHelper_stringNullOrLengthZero($var2))
                return $var2;
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var2 = $rt_s(2105);
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_translateKey($var3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var1 = $var1 + 1 | 0;
            $var2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var2);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append($var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            jl_AbstractStringBuilder_append($var3, 32);
            jl_AbstractStringBuilder_append0($var3, $var1);
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_GuiSelectWorld_actionPerformed($this, $var1) {
        var var$2, var$3, $var2, $var3, $var4, $var6, $var7, $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$var1.$enabled0)
                return;
            var$2 = $var1.$id2;
            if (var$2 == 2) {
                var$3 = $this.$selectedWorld;
                $ptr = 1;
                continue main;
            }
            if (var$2 == 1) {
                var$3 = $this.$selectedWorld;
                $ptr = 2;
                continue main;
            }
            if (var$2 == 3) {
                $var1 = $this.$mc6;
                $var2 = new nms_GuiCreateWorld;
                nms_GuiScreen__init_($var2);
                $var2.$parentGuiScreen = $this;
                $ptr = 13;
                continue main;
            }
            if (var$2 != 6) {
                if (var$2) {
                    $var2 = $this.$worldSlotContainer;
                    $ptr = 15;
                    continue main;
                }
                $var1 = $this.$mc6;
                $var2 = $this.$parentScreen0;
                $ptr = 16;
                continue main;
            }
            $var1 = $this.$mc6;
            $var2 = new nms_GuiRenameWorld;
            $var3 = nms_GuiSelectWorld_getSaveFileName($this, $this.$selectedWorld);
            nms_GuiScreen__init_($var2);
            $var2.$guiScreen0 = $this;
            $var2.$worldName = $var3;
            $ptr = 14;
            continue main;
        case 1:
            $tmp = nms_GuiSelectWorld_getSaveName($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 === null)
                return;
            $this.$deleting = 1;
            $ptr = 3;
            continue main;
        case 2:
            nms_GuiSelectWorld_selectWorld($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var1 = $rt_s(2112);
            $ptr = 4;
        case 4:
            $tmp = nms_StringTranslate_translateKey($var3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $var1 = $rt_s(2113);
            $ptr = 5;
        case 5:
            $tmp = nms_StringTranslate_translateKey($var3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var6);
            jl_AbstractStringBuilder_append($var6, 39);
            $ptr = 6;
        case 6:
            $tmp = jl_StringBuilder_append($var6, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var7 = $rt_s(2114);
            $ptr = 7;
        case 7:
            $tmp = jl_StringBuilder_append($var2, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 8;
        case 8:
            jl_StringBuilder_append($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            $tmp = jl_AbstractStringBuilder_toString($var6);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var1 = $rt_s(2115);
            $ptr = 10;
        case 10:
            $tmp = nms_StringTranslate_translateKey($var3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var1 = $rt_s(1824);
            $ptr = 11;
        case 11:
            $tmp = nms_StringTranslate_translateKey($var3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var8 = new nms_GuiYesNo;
            var$3 = $this.$selectedWorld;
            nms_GuiScreen__init_($var8);
            $var8.$parentScreen3 = $this;
            $var8.$message10 = $var4;
            $var8.$message20 = $var2;
            $var8.$field_22106_k = $var6;
            $var8.$field_22105_l = $var7;
            $var8.$worldNumber = var$3;
            $var1 = $this.$mc6;
            $ptr = 12;
        case 12:
            nmc_Minecraft_displayGuiScreen($var1, $var8);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 13:
            nmc_Minecraft_displayGuiScreen($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 14:
            nmc_Minecraft_displayGuiScreen($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 15:
            nms_GuiSlot_actionPerformed($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 16:
            nmc_Minecraft_displayGuiScreen($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $var2, $var3, $var4, $var6, $var7, $var8, $ptr);
    }
    function nms_GuiSelectWorld_selectWorld($this, $var1) {
        var var$2, $var2, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$mc6;
            $var2 = null;
            $ptr = 1;
        case 1:
            nmc_Minecraft_displayGuiScreen(var$2, $var2);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$selected)
                return;
            $this.$selected = 1;
            $var2 = $this.$mc6;
            $var2.$playerController = nms_PlayerControllerSP__init_0($var2);
            $var2 = nms_GuiSelectWorld_getSaveFileName($this, $var1);
            if ($var2 !== null) {
                var$2 = $this.$mc6;
                $ptr = 4;
                continue main;
            }
            $var2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var2);
            var$2 = $rt_s(2116);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append($var2, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            jl_AbstractStringBuilder_append0(var$2, $var1);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$2 = $this.$mc6;
            $ptr = 4;
        case 4:
            $tmp = nms_GuiSelectWorld_getSaveName($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$5 = Long_ZERO;
            $ptr = 5;
        case 5:
            nmc_Minecraft_startWorld(var$2, $var2, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$mc6;
            var$2 = null;
            $ptr = 6;
        case 6:
            nmc_Minecraft_displayGuiScreen($var2, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, var$4, var$5, $ptr);
    }
    function nms_GuiSelectWorld_drawScreen($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$worldSlotContainer;
            $ptr = 1;
        case 1:
            nms_GuiSlot_drawScreen(var$4, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$4 = $this.$screenTitle0;
            var$6 = $this.$width1 / 2 | 0;
            var$7 = 20;
            var$8 = 16777215;
            $ptr = 2;
        case 2:
            nms_Gui_drawCenteredString($this, var$5, var$4, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_GuiMultiplayer() {
        var a = this; nms_GuiScreen.call(a);
        a.$parentScreen = null;
        a.$field_22111_h = null;
    }
    function nms_GuiMultiplayer_updateScreen($this) {
        nms_GuiTextField_updateCursorCounter($this.$field_22111_h);
    }
    function nms_GuiMultiplayer_initGui($this) {
        var $var1, var$2, $var2, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            nlei_PlatformInput_enableRepeatEvents = 1;
            ju_ArrayList_clear($this.$controlList);
            var$2 = $this.$controlList;
            $var2 = new nms_GuiButton;
            var$4 = 0;
            var$5 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$6 = (($this.$height3 / 4 | 0) + 96 | 0) + 12 | 0;
            var$7 = $rt_s(2117);
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_translateKey($var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            nms_GuiButton__init_($var2, var$4, var$5, var$6, var$7);
            $ptr = 3;
        case 3:
            ju_ArrayList_add(var$2, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$controlList;
            var$7 = new nms_GuiButton;
            var$4 = 1;
            var$6 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$5 = (($this.$height3 / 4 | 0) + 120 | 0) + 12 | 0;
            var$2 = $rt_s(1824);
            $ptr = 4;
        case 4:
            $tmp = nms_StringTranslate_translateKey($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            nms_GuiButton__init_(var$7, var$4, var$6, var$5, $var1);
            $ptr = 5;
        case 5:
            ju_ArrayList_add($var2, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$mc6.$gameSettings.$lastServer;
            $var2 = $rt_s(1869);
            var$7 = $rt_s(1455);
            $ptr = 6;
        case 6:
            $tmp = jl_String_replaceAll($var1, $var2, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            (ju_ArrayList_get($this.$controlList, 0)).$enabled0 = jl_String_length($var2) <= 0 ? 0 : 1;
            $var1 = nms_GuiTextField__init_0($this.$fontRenderer0, ($this.$width1 / 2 | 0) - 100 | 0, ((($this.$height3 / 4 | 0) - 10 | 0) + 50 | 0) + 18 | 0, 200, 20, $var2);
            $this.$field_22111_h = $var1;
            $var1.$isFocused = 1;
            $var1.$maxStringLength = 32;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_GuiMultiplayer_onGuiClosed($this) {
        nlei_PlatformInput_enableRepeatEvents = 0;
    }
    function nms_GuiMultiplayer_actionPerformed($this, $var1) {
        var var$2, var$3, $var2, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var2 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$enabled0) {
                var$2 = $var1.$id2;
                if (var$2 == 1) {
                    $var1 = $this.$mc6;
                    var$3 = $this.$parentScreen;
                    $ptr = 1;
                    continue main;
                }
                if (!var$2) {
                    $var2 = $this.$field_22111_h.$text0;
                    var$5 = $this.$mc6.$gameSettings;
                    $var1 = $rt_s(1455);
                    var$3 = $rt_s(1869);
                    $ptr = 2;
                    continue main;
                }
            }
            return;
        case 1:
            nmc_Minecraft_displayGuiScreen($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            $tmp = jl_String_replaceAll($var2, $var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$5.$lastServer = $var1;
            $var1 = $this.$mc6.$gameSettings;
            $ptr = 3;
        case 3:
            nms_GameSettings_saveOptions($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = jl_System_out();
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            var$5 = $rt_s(2118);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append(var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $ptr = 5;
        case 5:
            jl_StringBuilder_append(var$5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 7;
        case 7:
            ji_PrintStream_println0($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$mc6;
            var$3 = new nms_GuiConnecting;
            $ptr = 8;
        case 8:
            nms_GuiConnecting__init_(var$3, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nmc_Minecraft_displayGuiScreen($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $var2, var$5, $ptr);
    }
    function nms_GuiMultiplayer_keyTyped($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$field_22111_h;
            $ptr = 1;
        case 1:
            nms_GuiTextField_textboxKeyTyped(var$3, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1 != 13) {
                (ju_ArrayList_get($this.$controlList, 0)).$enabled0 = jl_String_length($this.$field_22111_h.$text0) <= 0 ? 0 : 1;
                return;
            }
            var$3 = ju_ArrayList_get($this.$controlList, 0);
            $ptr = 2;
        case 2:
            nms_GuiMultiplayer_actionPerformed($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            (ju_ArrayList_get($this.$controlList, 0)).$enabled0 = jl_String_length($this.$field_22111_h.$text0) <= 0 ? 0 : 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_GuiMultiplayer_mouseClicked($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiScreen_mouseClicked($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            nms_GuiTextField_mouseClicked($this.$field_22111_h, $var1, $var2, $var3);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_GuiMultiplayer_drawScreen($this, $var1, $var2, $var3) {
        var $var4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $ptr = 2;
        case 2:
            nms_GuiScreen_drawDefaultBackground($this);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $rt_s(2119);
            $ptr = 3;
        case 3:
            $tmp = nms_StringTranslate_translateKey($var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$7 = $this.$width1 / 2 | 0;
            var$8 = (($this.$height3 / 4 | 0) - 60 | 0) + 20 | 0;
            var$9 = 16777215;
            $ptr = 4;
        case 4:
            nms_Gui_drawCenteredString($this, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $rt_s(2120);
            $ptr = 5;
        case 5:
            $tmp = nms_StringTranslate_translateKey($var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$7 = ($this.$width1 / 2 | 0) - 140 | 0;
            var$8 = ((($this.$height3 / 4 | 0) - 60 | 0) + 60 | 0) + 0 | 0;
            var$9 = 10526880;
            $ptr = 6;
        case 6:
            nms_Gui_drawString($this, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $rt_s(2121);
            $ptr = 7;
        case 7:
            $tmp = nms_StringTranslate_translateKey($var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$7 = ($this.$width1 / 2 | 0) - 140 | 0;
            var$8 = ((($this.$height3 / 4 | 0) - 60 | 0) + 60 | 0) + 9 | 0;
            var$9 = 10526880;
            $ptr = 8;
        case 8:
            nms_Gui_drawString($this, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $rt_s(2122);
            $ptr = 9;
        case 9:
            $tmp = nms_StringTranslate_translateKey($var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$9 = ($this.$width1 / 2 | 0) - 140 | 0;
            var$7 = ((($this.$height3 / 4 | 0) - 60 | 0) + 60 | 0) + 36 | 0;
            var$8 = 10526880;
            $ptr = 10;
        case 10:
            nms_Gui_drawString($this, var$5, var$6, var$9, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$field_22111_h;
            $ptr = 11;
        case 11:
            nms_GuiTextField_drawTextBox(var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_GuiTexturePacks() {
        var a = this; nms_GuiScreen.call(a);
        a.$guiScreen = null;
        a.$field_6454_o = 0;
        a.$fileLocation = null;
        a.$guiTexturePackSlot = null;
    }
    function nms_GuiTexturePacks_initGui($this) {
        var $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$2 = $this.$controlList;
            var$3 = new nms_GuiSmallButton;
            var$4 = 5;
            var$5 = ($this.$width1 / 2 | 0) - 154 | 0;
            var$6 = $this.$height3 - 48 | 0;
            var$7 = $rt_s(2123);
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_translateKey($var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            nms_GuiSmallButton__init_0(var$3, var$4, var$5, var$6, var$7);
            $ptr = 3;
        case 3:
            ju_ArrayList_add(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$controlList;
            var$7 = new nms_GuiSmallButton;
            var$4 = 6;
            var$6 = ($this.$width1 / 2 | 0) + 4 | 0;
            var$5 = $this.$height3 - 48 | 0;
            var$2 = $rt_s(1750);
            $ptr = 4;
        case 4:
            $tmp = nms_StringTranslate_translateKey($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            nms_GuiSmallButton__init_0(var$7, var$4, var$6, var$5, $var1);
            $ptr = 5;
        case 5:
            ju_ArrayList_add(var$3, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$mc6.$texturePackList;
            $ptr = 6;
        case 6:
            nms_TexturePackList_updateAvaliableTexturePacks($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = new nleiv_VFile2;
            var$8 = $rt_createArray(jl_Object, 1);
            var$8.data[0] = $rt_s(242);
            $ptr = 7;
        case 7:
            nleiv_VFile2__init_($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $this.$fileLocation = nleiv_VFile2_getPath($var1);
            $var1 = new nms_GuiTexturePackSlot;
            var$3 = $this.$mc6;
            var$5 = $this.$width1;
            var$9 = $this.$height3;
            nms_GuiSlot__init_($var1, var$3, var$5, var$9, 32, (var$9 - 55 | 0) + 4 | 0, 36);
            $var1.$parentTexturePackGui = $this;
            $this.$guiTexturePackSlot = $var1;
            nms_GuiSlot_registerScrollButtons($var1, $this.$controlList, 7, 8);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_GuiTexturePacks_actionPerformed($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$enabled0) {
                var$2 = $var1.$id2;
                if (var$2 != 5) {
                    if (var$2 != 6) {
                        var$3 = $this.$guiTexturePackSlot;
                        $ptr = 1;
                        continue main;
                    }
                    $var1 = $this.$mc6.$renderEngine;
                    $ptr = 2;
                    continue main;
                }
            }
            return;
        case 1:
            nms_GuiSlot_actionPerformed(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nms_RenderEngine_refreshTextures($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$mc6;
            var$3 = $this.$guiScreen;
            $ptr = 3;
        case 3:
            nmc_Minecraft_displayGuiScreen($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_GuiTexturePacks_mouseClicked($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiScreen_mouseClicked($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_GuiTexturePacks_mouseMovedOrUp($this, $var1, $var2, $var3) {
        nms_GuiScreen_mouseMovedOrUp($this, $var1, $var2, $var3);
    }
    function nms_GuiTexturePacks_drawScreen($this, $var1, $var2, $var3) {
        var $var4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = $this.$guiTexturePackSlot;
            $ptr = 1;
        case 1:
            nms_GuiSlot_drawScreen($var4, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$field_6454_o > 0) {
                $ptr = 2;
                continue main;
            }
            $var4 = $this.$mc6.$texturePackList;
            $ptr = 8;
            continue main;
        case 2:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            var$5 = $this.$fontRenderer0;
            var$6 = $rt_s(2124);
            $ptr = 3;
        case 3:
            $tmp = nms_StringTranslate_translateKey($var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$7 = $this.$width1 / 2 | 0;
            var$8 = 16;
            var$9 = 16777215;
            $ptr = 4;
        case 4:
            nms_Gui_drawCenteredString($this, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $rt_s(2125);
            $ptr = 5;
        case 5:
            $tmp = nms_StringTranslate_translateKey($var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            var$7 = ($this.$width1 / 2 | 0) - 77 | 0;
            var$8 = $this.$height3 - 26 | 0;
            var$9 = 8421504;
            $ptr = 6;
        case 6:
            nms_Gui_drawCenteredString($this, var$5, $var4, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            nms_TexturePackList_updateAvaliableTexturePacks($var4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_6454_o = $this.$field_6454_o + 20 | 0;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_GuiTexturePacks_updateScreen($this) {
        $this.$field_6454_o = $this.$field_6454_o - 1 | 0;
    }
    function nms_Chunk() {
        var a = this; jl_Object.call(a);
        a.$blocks0 = null;
        a.$isChunkLoaded = 0;
        a.$worldObj10 = null;
        a.$data4 = null;
        a.$skylightMap = null;
        a.$blocklightMap = null;
        a.$heightMap = null;
        a.$field_1532_i = 0;
        a.$xPosition18 = 0;
        a.$zPosition16 = 0;
        a.$chunkTileEntityMap = null;
        a.$entities = null;
        a.$isTerrainPopulated = 0;
        a.$isModified = 0;
        a.$neverSave = 0;
        a.$hasEntities = 0;
        a.$lastSaveTime = Long_ZERO;
    }
    var nms_Chunk_isLit = 0;
    function nms_Chunk__init_1(var_0, var_1, var_2) {
        var var_3 = new nms_Chunk();
        nms_Chunk__init_0(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_Chunk__init_2(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_Chunk();
        nms_Chunk__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_Chunk__init_0($this, $var1, $var2, $var3) {
        var $var4, var$5;
        $this.$chunkTileEntityMap = ju_HashMap__init_0();
        $this.$entities = $rt_createArray(ju_List, 8);
        $this.$isTerrainPopulated = 0;
        $this.$isModified = 0;
        $this.$hasEntities = 0;
        $this.$lastSaveTime = Long_ZERO;
        $this.$worldObj10 = $var1;
        $this.$xPosition18 = $var2;
        $this.$zPosition16 = $var3;
        $this.$heightMap = $rt_createByteArray(256);
        $var4 = 0;
        while (true) {
            var$5 = $this.$entities.data;
            if ($var4 >= var$5.length)
                break;
            var$5[$var4] = ju_ArrayList__init_0();
            $var4 = $var4 + 1 | 0;
        }
    }
    function nms_Chunk__init_($this, $var1, $var2, $var3, $var4) {
        var var$5;
        var$5 = $var2.data;
        nms_Chunk__init_0($this, $var1, $var3, $var4);
        $this.$blocks0 = $var2;
        $var1 = new nms_NibbleArray;
        $var3 = var$5.length;
        nms_NibbleArray__init_($var1, $var3);
        $this.$data4 = $var1;
        $this.$skylightMap = nms_NibbleArray__init_1($var3);
        $this.$blocklightMap = nms_NibbleArray__init_1($var3);
    }
    function nms_Chunk_isAtLocation($this, $var1, $var2) {
        return $var1 == $this.$xPosition18 && $var2 == $this.$zPosition16 ? 1 : 0;
    }
    function nms_Chunk_getHeightValue($this, $var1, $var2) {
        return $this.$heightMap.data[$var2 << 4 | $var1] & 255;
    }
    function nms_Chunk_generateHeightMap($this) {
        var $var1, $var2, $var3, $var4, $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = 127;
            $var2 = 0;
            while ($var2 < 16) {
                $var3 = 0;
                while ($var3 < 16) {
                    $var4 = 127;
                    $var5 = $var2 << 11 | $var3 << 7;
                    if ($var4 > 0) {
                        $ptr = 1;
                        continue main;
                    }
                    $this.$heightMap.data[$var3 << 4 | $var2] = $var4 << 24 >> 24;
                    if ($var4 < $var1)
                        $var1 = $var4;
                    $var3 = $var3 + 1 | 0;
                }
                $var2 = $var2 + 1 | 0;
            }
            $this.$field_1532_i = $var1;
            $this.$isModified = 1;
            return;
        case 1:
            a: {
                nms_Block_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                if (!nms_Block_lightOpacity.data[$this.$blocks0.data[($var5 + $var4 | 0) - 1 | 0] & 255]) {
                    $var4 = $var4 + (-1) | 0;
                    if ($var4 > 0)
                        break a;
                }
                b: while (true) {
                    $this.$heightMap.data[$var3 << 4 | $var2] = $var4 << 24 >> 24;
                    if ($var4 < $var1)
                        $var1 = $var4;
                    $var3 = $var3 + 1 | 0;
                    while ($var3 >= 16) {
                        $var2 = $var2 + 1 | 0;
                        if ($var2 >= 16)
                            break b;
                        $var3 = 0;
                    }
                    $var4 = 127;
                    $var5 = $var2 << 11 | $var3 << 7;
                    if ($var4 <= 0)
                        continue;
                    else
                        break a;
                }
                $this.$field_1532_i = $var1;
                $this.$isModified = 1;
                return;
            }
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Chunk_func_1024_c($this) {
        var $var1, $var2, $var3, $var3_0, $var4, $var5, $var6, $var7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3_0 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = 127;
            $var2 = 0;
            a: while (true) {
                if ($var2 >= 16) {
                    $this.$field_1532_i = $var1;
                    $var1 = 0;
                    while ($var1 < 16) {
                        $var3 = 0;
                        if ($var3 < 16) {
                            $ptr = 1;
                            continue main;
                        }
                        $var1 = $var1 + 1 | 0;
                    }
                    $this.$isModified = 1;
                    return;
                }
                $var3_0 = 0;
                while ($var3_0 < 16) {
                    $var4 = 127;
                    $var5 = $var2 << 11 | $var3_0 << 7;
                    if ($var4 > 0)
                        break a;
                    $this.$heightMap.data[$var3_0 << 4 | $var2] = $var4 << 24 >> 24;
                    if ($var4 >= $var1)
                        $var4 = $var1;
                    if (!$this.$worldObj10.$worldProvider.$field_6478_e) {
                        $var6 = 15;
                        $var7 = 127;
                        $ptr = 3;
                        continue main;
                    }
                    $var3_0 = $var3_0 + 1 | 0;
                    $var1 = $var4;
                }
                $var2 = $var2 + 1 | 0;
            }
            $ptr = 2;
            continue main;
        case 1:
            nms_Chunk_func_996_c($this, $var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var3 + 1 | 0;
            while (true) {
                if ($var3 < 16) {
                    continue main;
                }
                $var1 = $var1 + 1 | 0;
                if ($var1 >= 16)
                    break;
                $var3 = 0;
            }
            $this.$isModified = 1;
            return;
        case 2:
            a: {
                nms_Block_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                if (!nms_Block_lightOpacity.data[$this.$blocks0.data[($var5 + $var4 | 0) - 1 | 0] & 255]) {
                    $var4 = $var4 + (-1) | 0;
                    if ($var4 > 0)
                        break a;
                }
                while (true) {
                    $this.$heightMap.data[$var3_0 << 4 | $var2] = $var4 << 24 >> 24;
                    if ($var4 >= $var1)
                        $var4 = $var1;
                    if (!$this.$worldObj10.$worldProvider.$field_6478_e) {
                        $var6 = 15;
                        $var7 = 127;
                        $ptr = 3;
                        continue main;
                    }
                    $var3_0 = $var3_0 + 1 | 0;
                    $var1 = $var4;
                    while ($var3_0 >= 16) {
                        $var2 = $var2 + 1 | 0;
                        if ($var2 >= 16) {
                            $this.$field_1532_i = $var1;
                            $var1 = 0;
                            while ($var1 < 16) {
                                $var3 = 0;
                                if ($var3 < 16) {
                                    $ptr = 1;
                                    continue main;
                                }
                                $var1 = $var1 + 1 | 0;
                            }
                            $this.$isModified = 1;
                            return;
                        }
                        $var3_0 = 0;
                    }
                    $var4 = 127;
                    $var5 = $var2 << 11 | $var3_0 << 7;
                    if ($var4 <= 0)
                        continue;
                    else
                        break a;
                }
            }
            continue main;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 - nms_Block_lightOpacity.data[$this.$blocks0.data[$var5 + $var7 | 0] & 255] | 0;
            if ($var6 > 0)
                nms_NibbleArray_setNibble($this.$skylightMap, $var2, $var7, $var3_0, $var6);
            $var7 = $var7 + (-1) | 0;
            if (!($var7 > 0 && $var6 > 0)) {
                while (true) {
                    $var3_0 = $var3_0 + 1 | 0;
                    $var1 = $var4;
                    while ($var3_0 >= 16) {
                        $var2 = $var2 + 1 | 0;
                        if ($var2 >= 16) {
                            $this.$field_1532_i = $var1;
                            $var1 = 0;
                            while ($var1 < 16) {
                                $var3 = 0;
                                if ($var3 < 16) {
                                    $ptr = 1;
                                    continue main;
                                }
                                $var1 = $var1 + 1 | 0;
                            }
                            $this.$isModified = 1;
                            return;
                        }
                        $var3_0 = 0;
                    }
                    $var4 = 127;
                    $var5 = $var2 << 11 | $var3_0 << 7;
                    if ($var4 > 0) {
                        $ptr = 2;
                        continue main;
                    }
                    $this.$heightMap.data[$var3_0 << 4 | $var2] = $var4 << 24 >> 24;
                    if ($var4 >= $var1)
                        $var4 = $var1;
                    if ($this.$worldObj10.$worldProvider.$field_6478_e)
                        continue;
                    else
                        break;
                }
                $var6 = 15;
                $var7 = 127;
            }
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var3_0, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_Chunk_func_4143_d($this) {}
    function nms_Chunk_func_996_c($this, $var1, $var2) {
        var $var3, $var4, $var5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $this.$getHeightValue($var1, $var2);
            $var4 = ($this.$xPosition18 * 16 | 0) + $var1 | 0;
            $var5 = ($this.$zPosition16 * 16 | 0) + $var2 | 0;
            $var1 = $var4 - 1 | 0;
            $ptr = 1;
        case 1:
            nms_Chunk_func_1020_f($this, $var1, $var5, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var4 + 1 | 0;
            $ptr = 2;
        case 2:
            nms_Chunk_func_1020_f($this, $var1, $var5, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var5 - 1 | 0;
            $ptr = 3;
        case 3:
            nms_Chunk_func_1020_f($this, $var4, $var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var5 + 1 | 0;
            $ptr = 4;
        case 4:
            nms_Chunk_func_1020_f($this, $var4, $var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_Chunk_func_1020_f($this, $var1, $var2, $var3) {
        var var$4, $var4, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$worldObj10;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getHeightValue(var$4, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            var$6 = $rt_compare($var4, $var3);
            if (var$6 > 0) {
                var$4 = $this.$worldObj10;
                nms_EnumSkyBlock_$callClinit();
                var$7 = nms_EnumSkyBlock_Sky;
                $ptr = 2;
                continue main;
            }
            if (var$6 >= 0)
                return;
            var$4 = $this.$worldObj10;
            nms_EnumSkyBlock_$callClinit();
            var$7 = nms_EnumSkyBlock_Sky;
            $ptr = 3;
            continue main;
        case 2:
            nms_World_func_616_a(var$4, var$7, $var1, $var3, $var2, $var1, $var4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isModified = 1;
            return;
        case 3:
            nms_World_func_616_a(var$4, var$7, $var1, $var4, $var2, $var1, $var3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isModified = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $var4, var$6, var$7, $ptr);
    }
    function nms_Chunk_func_1003_g($this, $var1, $var2, $var3) {
        var var$4, $var8, $var9, $var6, var$8, $var7, $var9_0, $var11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();$var11 = $thread.pop();$var9_0 = $thread.pop();$var7 = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$heightMap.data;
            $var8 = $var3 << 4 | $var1;
            $var9 = var$4[$var8] & 255;
            if ($var2 <= $var9)
                $var2 = $var9;
            $var6 = $var1 << 11 | $var3 << 7;
            if ($var2 > 0) {
                $ptr = 1;
                continue main;
            }
            $var6 = $rt_compare($var2, $var9);
            if (!$var6)
                return;
            var$8 = $this.$worldObj10;
            $ptr = 2;
            continue main;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nms_Block_lightOpacity.data[$this.$blocks0.data[($var6 + $var2 | 0) - 1 | 0] & 255]) {
                $var2 = $var2 + (-1) | 0;
                if ($var2 > 0) {
                    continue main;
                }
            }
            $var6 = $rt_compare($var2, $var9);
            if (!$var6)
                return;
            var$8 = $this.$worldObj10;
            $ptr = 2;
        case 2:
            nms_World_markBlocksDirtyVertical(var$8, $var1, $var3, $var2, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$heightMap.data;
            var$4[$var8] = $var2 << 24 >> 24;
            if ($var2 < $this.$field_1532_i)
                $this.$field_1532_i = $var2;
            else {
                $var7 = 127;
                $var8 = 0;
                while ($var8 < 16) {
                    $var9_0 = 0;
                    while ($var9_0 < 16) {
                        $var11 = $var9_0 << 4 | $var8;
                        if ((var$4[$var11] & 255) < $var7)
                            $var7 = var$4[$var11] & 255;
                        $var9_0 = $var9_0 + 1 | 0;
                    }
                    $var8 = $var8 + 1 | 0;
                }
                $this.$field_1532_i = $var7;
            }
            $var7 = ($this.$xPosition18 * 16 | 0) + $var1 | 0;
            $var8 = ($this.$zPosition16 * 16 | 0) + $var3 | 0;
            if ($var6 >= 0) {
                var$8 = $this.$worldObj10;
                nms_EnumSkyBlock_$callClinit();
                var$12 = nms_EnumSkyBlock_Sky;
                $ptr = 3;
                continue main;
            }
            $var9_0 = $var2;
            while ($var9_0 < $var9) {
                nms_NibbleArray_setNibble($this.$skylightMap, $var1, $var9_0, $var3, 15);
                $var9_0 = $var9_0 + 1 | 0;
            }
            $var6 = 15;
            $var9_0 = $var2;
            if ($var9_0 > 0 && $var6 > 0) {
                $var9_0 = $var9_0 + (-1) | 0;
                $ptr = 4;
                continue main;
            }
            if ($var9_0 > 0) {
                $ptr = 5;
                continue main;
            }
            if ($var9_0 == $var2) {
                $this.$isModified = 1;
                return;
            }
            var$8 = $this.$worldObj10;
            nms_EnumSkyBlock_$callClinit();
            var$12 = nms_EnumSkyBlock_Sky;
            $var3 = $var7 - 1 | 0;
            $var6 = $var8 - 1 | 0;
            $var7 = $var7 + 1 | 0;
            $var1 = $var8 + 1 | 0;
            $ptr = 6;
            continue main;
        case 3:
            nms_World_func_616_a(var$8, var$12, $var7, $var9, $var8, $var7, $var2, $var8);
            if ($rt_suspending()) {
                break main;
            }
            while ($var9 < $var2) {
                nms_NibbleArray_setNibble($this.$skylightMap, $var1, $var9, $var3, 0);
                $var9 = $var9 + 1 | 0;
            }
            $var6 = 15;
            $var9_0 = $var2;
            if ($var9_0 > 0 && $var6 > 0) {
                $var9_0 = $var9_0 + (-1) | 0;
                $ptr = 4;
                continue main;
            }
            if ($var9_0 > 0) {
                $ptr = 5;
                continue main;
            }
            if ($var9_0 == $var2) {
                $this.$isModified = 1;
                return;
            }
            var$8 = $this.$worldObj10;
            nms_EnumSkyBlock_$callClinit();
            var$12 = nms_EnumSkyBlock_Sky;
            $var3 = $var7 - 1 | 0;
            $var6 = $var8 - 1 | 0;
            $var7 = $var7 + 1 | 0;
            $var1 = $var8 + 1 | 0;
            $ptr = 6;
            continue main;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var11 = nms_Block_lightOpacity.data[$this.$getBlockID($var1, $var9_0, $var3)];
            if (!$var11)
                $var11 = 1;
            $var6 = $var6 - $var11 | 0;
            if ($var6 < 0)
                $var6 = 0;
            nms_NibbleArray_setNibble($this.$skylightMap, $var1, $var9_0, $var3, $var6);
            if ($var9_0 > 0 && $var6 > 0) {
                $var9_0 = $var9_0 + (-1) | 0;
                continue main;
            }
            if ($var9_0 > 0) {
                $ptr = 5;
                continue main;
            }
            if ($var9_0 == $var2) {
                $this.$isModified = 1;
                return;
            }
            var$8 = $this.$worldObj10;
            nms_EnumSkyBlock_$callClinit();
            var$12 = nms_EnumSkyBlock_Sky;
            $var3 = $var7 - 1 | 0;
            $var6 = $var8 - 1 | 0;
            $var7 = $var7 + 1 | 0;
            $var1 = $var8 + 1 | 0;
            $ptr = 6;
            continue main;
        case 5:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nms_Block_lightOpacity.data[$this.$getBlockID($var1, $var9_0 - 1 | 0, $var3)]) {
                $var9_0 = $var9_0 + (-1) | 0;
                if ($var9_0 > 0) {
                    continue main;
                }
            }
            if ($var9_0 == $var2) {
                $this.$isModified = 1;
                return;
            }
            var$8 = $this.$worldObj10;
            nms_EnumSkyBlock_$callClinit();
            var$12 = nms_EnumSkyBlock_Sky;
            $var3 = $var7 - 1 | 0;
            $var6 = $var8 - 1 | 0;
            $var7 = $var7 + 1 | 0;
            $var1 = $var8 + 1 | 0;
            $ptr = 6;
        case 6:
            nms_World_func_616_a(var$8, var$12, $var3, $var9_0, $var6, $var7, $var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isModified = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $var8, $var9, $var6, var$8, $var7, $var9_0, $var11, var$12, $ptr);
    }
    function nms_Chunk_getBlockID($this, $var1, $var2, $var3) {
        return $this.$blocks0.data[$var1 << 11 | $var3 << 7 | $var2] & 255;
    }
    function nms_Chunk_setBlockIDWithMetadata($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, var$8, var$9, $var8, $var9, $var10, var$13, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = $var4 << 24 >> 24;
            $var7 = $this.$heightMap.data[$var3 << 4 | $var1] & 255;
            var$8 = $this.$blocks0.data;
            var$9 = $var1 << 11 | $var3 << 7 | $var2;
            $var8 = var$8[var$9] & 255;
            if ($var8 == $var4 && nms_NibbleArray_getNibble($this.$data4, $var1, $var2, $var3) == $var5)
                return 0;
            $var9 = ($this.$xPosition18 * 16 | 0) + $var1 | 0;
            $var10 = ($this.$zPosition16 * 16 | 0) + $var3 | 0;
            var$8 = $this.$blocks0.data;
            $var6 = $var6 & 255;
            var$8[var$9] = $var6 << 24 >> 24;
            if ($var8) {
                var$13 = $this.$worldObj10;
                if (!var$13.$multiplayerWorld) {
                    $ptr = 4;
                    continue main;
                }
            }
            nms_NibbleArray_setNibble($this.$data4, $var1, $var2, $var3, $var5);
            if (!$this.$worldObj10.$worldProvider.$field_6478_e) {
                $ptr = 3;
                continue main;
            }
            var$13 = $this.$worldObj10;
            nms_EnumSkyBlock_$callClinit();
            var$14 = nms_EnumSkyBlock_Block;
            $ptr = 1;
        case 1:
            nms_World_func_616_a(var$13, var$14, $var9, $var2, $var10, $var9, $var2, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_Chunk_func_996_c($this, $var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            nms_NibbleArray_setNibble($this.$data4, $var1, $var2, $var3, $var5);
            if (!$var4) {
                $this.$isModified = 1;
                return 1;
            }
            $ptr = 6;
            continue main;
        case 3:
            a: {
                nms_Block_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                if (!nms_Block_lightOpacity.data[$var6]) {
                    if ($var2 != ($var7 - 1 | 0))
                        break a;
                    $ptr = 9;
                    continue main;
                }
                if ($var2 >= $var7) {
                    var$9 = $var2 + 1 | 0;
                    $ptr = 10;
                    continue main;
                }
            }
            var$13 = $this.$worldObj10;
            nms_EnumSkyBlock_$callClinit();
            var$14 = nms_EnumSkyBlock_Sky;
            $ptr = 8;
            continue main;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$14 = nms_Block_blocksList.data[$var8];
            $ptr = 5;
        case 5:
            var$14.$onBlockRemoval(var$13, $var9, $var2, $var10);
            if ($rt_suspending()) {
                break main;
            }
            nms_NibbleArray_setNibble($this.$data4, $var1, $var2, $var3, $var5);
            if (!$this.$worldObj10.$worldProvider.$field_6478_e) {
                $ptr = 3;
                continue main;
            }
            var$13 = $this.$worldObj10;
            nms_EnumSkyBlock_$callClinit();
            var$14 = nms_EnumSkyBlock_Block;
            $ptr = 1;
            continue main;
        case 6:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$13 = nms_Block_blocksList.data[$var4];
            var$14 = $this.$worldObj10;
            $ptr = 7;
        case 7:
            var$13.$onBlockAdded(var$14, $var9, $var2, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isModified = 1;
            return 1;
        case 8:
            nms_World_func_616_a(var$13, var$14, $var9, $var2, $var10, $var9, $var2, $var10);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $this.$worldObj10;
            nms_EnumSkyBlock_$callClinit();
            var$14 = nms_EnumSkyBlock_Block;
            $ptr = 1;
            continue main;
        case 9:
            nms_Chunk_func_1003_g($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $this.$worldObj10;
            nms_EnumSkyBlock_$callClinit();
            var$14 = nms_EnumSkyBlock_Sky;
            $ptr = 8;
            continue main;
        case 10:
            nms_Chunk_func_1003_g($this, $var1, var$9, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $this.$worldObj10;
            nms_EnumSkyBlock_$callClinit();
            var$14 = nms_EnumSkyBlock_Sky;
            $ptr = 8;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, var$9, $var8, $var9, $var10, var$13, var$14, $ptr);
    }
    function nms_Chunk_setBlockID($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, var$7, var$8, $var7, $var8, $var9, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = $var4 << 24 >> 24;
            $var6 = $this.$heightMap.data[$var3 << 4 | $var1] & 255;
            var$7 = $this.$blocks0.data;
            var$8 = $var1 << 11 | $var3 << 7 | $var2;
            $var7 = var$7[var$8] & 255;
            if ($var7 == $var4)
                return 0;
            $var8 = ($this.$xPosition18 * 16 | 0) + $var1 | 0;
            $var9 = ($this.$zPosition16 * 16 | 0) + $var3 | 0;
            $var5 = $var5 & 255;
            var$7[var$8] = $var5 << 24 >> 24;
            if ($var7) {
                $ptr = 2;
                continue main;
            }
            nms_NibbleArray_setNibble($this.$data4, $var1, $var2, $var3, 0);
            $ptr = 1;
        case 1:
            a: {
                nms_Block_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                if (!nms_Block_lightOpacity.data[$var5]) {
                    if ($var2 != ($var6 - 1 | 0))
                        break a;
                    $ptr = 7;
                    continue main;
                }
                if ($var2 >= $var6) {
                    var$8 = $var2 + 1 | 0;
                    $ptr = 8;
                    continue main;
                }
            }
            var$12 = $this.$worldObj10;
            nms_EnumSkyBlock_$callClinit();
            var$13 = nms_EnumSkyBlock_Sky;
            $ptr = 4;
            continue main;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$12 = nms_Block_blocksList.data[$var7];
            var$13 = $this.$worldObj10;
            $ptr = 3;
        case 3:
            var$12.$onBlockRemoval(var$13, $var8, $var2, $var9);
            if ($rt_suspending()) {
                break main;
            }
            nms_NibbleArray_setNibble($this.$data4, $var1, $var2, $var3, 0);
            $ptr = 1;
            continue main;
        case 4:
            nms_World_func_616_a(var$12, var$13, $var8, $var2, $var9, $var8, $var2, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $this.$worldObj10;
            var$13 = nms_EnumSkyBlock_Block;
            $ptr = 5;
        case 5:
            nms_World_func_616_a(var$12, var$13, $var8, $var2, $var9, $var8, $var2, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            nms_Chunk_func_996_c($this, $var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            if ($var4) {
                var$12 = $this.$worldObj10;
                if (!var$12.$multiplayerWorld) {
                    var$13 = nms_Block_blocksList.data[$var4];
                    $ptr = 9;
                    continue main;
                }
            }
            $this.$isModified = 1;
            return 1;
        case 7:
            nms_Chunk_func_1003_g($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $this.$worldObj10;
            nms_EnumSkyBlock_$callClinit();
            var$13 = nms_EnumSkyBlock_Sky;
            $ptr = 4;
            continue main;
        case 8:
            nms_Chunk_func_1003_g($this, $var1, var$8, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $this.$worldObj10;
            nms_EnumSkyBlock_$callClinit();
            var$13 = nms_EnumSkyBlock_Sky;
            $ptr = 4;
            continue main;
        case 9:
            var$13.$onBlockAdded(var$12, $var8, $var2, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $this.$isModified = 1;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, $var7, $var8, $var9, var$12, var$13, $ptr);
    }
    function nms_Chunk_getBlockMetadata($this, $var1, $var2, $var3) {
        return nms_NibbleArray_getNibble($this.$data4, $var1, $var2, $var3);
    }
    function nms_Chunk_setBlockMetadata($this, $var1, $var2, $var3, $var4) {
        $this.$isModified = 1;
        nms_NibbleArray_setNibble($this.$data4, $var1, $var2, $var3, $var4);
    }
    function nms_Chunk_getSavedLightValue($this, $var1, $var2, $var3, $var4) {
        nms_EnumSkyBlock_$callClinit();
        return $var1 === nms_EnumSkyBlock_Sky ? nms_NibbleArray_getNibble($this.$skylightMap, $var2, $var3, $var4) : $var1 !== nms_EnumSkyBlock_Block ? 0 : nms_NibbleArray_getNibble($this.$blocklightMap, $var2, $var3, $var4);
    }
    function nms_Chunk_setLightValue($this, $var1, $var2, $var3, $var4, $var5) {
        $this.$isModified = 1;
        nms_EnumSkyBlock_$callClinit();
        if ($var1 === nms_EnumSkyBlock_Sky)
            nms_NibbleArray_setNibble($this.$skylightMap, $var2, $var3, $var4, $var5);
        else {
            if ($var1 !== nms_EnumSkyBlock_Block)
                return;
            nms_NibbleArray_setNibble($this.$blocklightMap, $var2, $var3, $var4, $var5);
        }
    }
    function nms_Chunk_getBlockLightValue($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6;
        $var5 = nms_NibbleArray_getNibble($this.$skylightMap, $var1, $var2, $var3);
        if ($var5 > 0)
            nms_Chunk_isLit = 1;
        $var4 = $var5 - $var4 | 0;
        $var6 = nms_NibbleArray_getNibble($this.$blocklightMap, $var1, $var2, $var3);
        if ($var6 <= $var4)
            $var6 = $var4;
        return $var6;
    }
    function nms_Chunk_addEntity($this, $var1) {
        var $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$hasEntities = 1;
            $var2 = nms_MathHelper_floor_double($var1.$posX / 16.0);
            $var3 = nms_MathHelper_floor_double($var1.$posZ / 16.0);
            if ($var2 == $this.$xPosition18 && $var3 == $this.$zPosition16) {
                $var4 = nms_MathHelper_floor_double($var1.$posY / 16.0);
                if ($var4 < 0)
                    $var4 = 0;
                var$5 = $this.$entities.data;
                $var2 = var$5.length;
                if ($var4 >= $var2)
                    $var4 = $var2 - 1 | 0;
                $var1.$addedToChunk = 1;
                $var1.$chunkCoordX = $this.$xPosition18;
                $var1.$chunkCoordY = $var4;
                $var1.$chunkCoordZ = $this.$zPosition16;
                var$6 = var$5[$var4];
                $ptr = 6;
                continue main;
            }
            var$6 = jl_System_out();
            $ptr = 1;
        case 1:
            $tmp = jl_String_valueOf($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$8 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$8);
            var$9 = $rt_s(2126);
            $ptr = 2;
        case 2:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            $ptr = 3;
        case 3:
            jl_StringBuilder_append(var$9, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $ptr = 5;
        case 5:
            ji_PrintStream_println0(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = nms_MathHelper_floor_double($var1.$posY / 16.0);
            if ($var4 < 0)
                $var4 = 0;
            var$5 = $this.$entities.data;
            $var2 = var$5.length;
            if ($var4 >= $var2)
                $var4 = $var2 - 1 | 0;
            $var1.$addedToChunk = 1;
            $var1.$chunkCoordX = $this.$xPosition18;
            $var1.$chunkCoordY = $var4;
            $var1.$chunkCoordZ = $this.$zPosition16;
            var$6 = var$5[$var4];
            $ptr = 6;
        case 6:
            ju_ArrayList_add(var$6, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_Chunk_func_1015_b($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $var1.$chunkCoordY;
            $ptr = 1;
        case 1:
            $this.$func_1016_a($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_Chunk_func_1016_a($this, $var1, $var2) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var2 < 0)
                $var2 = 0;
            var$3 = $this.$entities.data;
            var$4 = var$3.length;
            if ($var2 >= var$4)
                $var2 = var$4 - 1 | 0;
            var$5 = var$3[$var2];
            $ptr = 1;
        case 1:
            ju_ArrayList_remove0(var$5, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, $ptr);
    }
    function nms_Chunk_canBlockSeeTheSky($this, $var1, $var2, $var3) {
        return $var2 < ($this.$heightMap.data[$var3 << 4 | $var1] & 255) ? 0 : 1;
    }
    function nms_Chunk_getChunkBlockTileEntity($this, $var1, $var2, $var3) {
        var $var4, $var7, $var5, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var7 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = nms_ChunkPosition__init_0($var1, $var2, $var3);
            $var7 = $this.$chunkTileEntityMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_get($var7, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var5 = $var7;
            if ($var5 !== null)
                return $var5;
            $var6 = $this.$getBlockID($var1, $var2, $var3);
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!nms_Block_isBlockContainer.data[$var6])
                return null;
            $var7 = nms_Block_blocksList.data[$var6];
            $var5 = $this.$worldObj10;
            $var1 = ($this.$xPosition18 * 16 | 0) + $var1 | 0;
            $var3 = ($this.$zPosition16 * 16 | 0) + $var3 | 0;
            $ptr = 3;
        case 3:
            $var7.$onBlockAdded($var5, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $this.$chunkTileEntityMap;
            $ptr = 4;
        case 4:
            $tmp = ju_HashMap_get($var7, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            return $var4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var7, $var5, $var6, $ptr);
    }
    function nms_Chunk_setChunkBlockTileEntity($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = nms_ChunkPosition__init_0($var1, $var2, $var3);
            $var4.$worldObj3 = $this.$worldObj10;
            $var4.$xCoord0 = ($this.$xPosition18 * 16 | 0) + $var1 | 0;
            $var4.$yCoord0 = $var2;
            $var4.$zCoord0 = ($this.$zPosition16 * 16 | 0) + $var3 | 0;
            if ($this.$getBlockID($var1, $var2, $var3)) {
                $ptr = 2;
                continue main;
            }
            $var4 = jl_System_out();
            $var5 = $rt_s(2127);
            $ptr = 1;
        case 1:
            ji_PrintStream_println0($var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!(nms_Block_blocksList.data[$this.$getBlockID($var1, $var2, $var3)] instanceof nms_BlockContainer)) {
                $var4 = jl_System_out();
                $var5 = $rt_s(2127);
                $ptr = 1;
                continue main;
            }
            if ($this.$isChunkLoaded) {
                var$6 = $this.$chunkTileEntityMap;
                $ptr = 4;
                continue main;
            }
            var$6 = $this.$chunkTileEntityMap;
            $ptr = 3;
        case 3:
            ju_HashMap_putImpl(var$6, $var5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            $tmp = ju_HashMap_get(var$6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 === null) {
                var$6 = $this.$worldObj10.$loadedTileEntityList;
                $ptr = 5;
                continue main;
            }
            var$6 = $this.$worldObj10.$loadedTileEntityList;
            var$7 = $this.$chunkTileEntityMap;
            $ptr = 6;
            continue main;
        case 5:
            ju_ArrayList_add(var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $this.$chunkTileEntityMap;
            $ptr = 3;
            continue main;
        case 6:
            $tmp = ju_HashMap_get(var$7, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $ptr = 7;
        case 7:
            ju_ArrayList_remove0(var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $this.$worldObj10.$loadedTileEntityList;
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, $ptr);
    }
    function nms_Chunk_removeChunkBlockTileEntity($this, $var1, $var2, $var3) {
        var $var4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = nms_ChunkPosition__init_0($var1, $var2, $var3);
            if (!$this.$isChunkLoaded)
                return;
            var$5 = $this.$worldObj10.$loadedTileEntityList;
            var$6 = $this.$chunkTileEntityMap;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_remove(var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $ptr = 2;
        case 2:
            ju_ArrayList_remove0(var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $ptr);
    }
    function nms_Chunk_onChunkLoad($this) {
        var var$1, var$2, $var1, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var1 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$isChunkLoaded = 1;
            var$1 = $this.$worldObj10.$loadedTileEntityList;
            var$2 = ju_HashMap_values($this.$chunkTileEntityMap);
            $ptr = 1;
        case 1:
            ju_AbstractCollection_addAll(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0;
            var$4 = $this.$entities.data;
            if ($var1 >= var$4.length)
                return;
            var$1 = $this.$worldObj10;
            var$2 = var$4[$var1];
            $ptr = 2;
        case 2:
            nms_World_func_636_a(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var1 + 1 | 0;
            var$4 = $this.$entities.data;
            if ($var1 >= var$4.length)
                return;
            var$1 = $this.$worldObj10;
            var$2 = var$4[$var1];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $var1, var$4, $ptr);
    }
    function nms_Chunk_onChunkUnload($this) {
        var var$1, var$2, $var1, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var1 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$isChunkLoaded = 0;
            var$1 = $this.$worldObj10.$loadedTileEntityList;
            var$2 = ju_HashMap_values($this.$chunkTileEntityMap);
            $ptr = 1;
        case 1:
            ju_AbstractCollection_removeAll(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0;
            var$4 = $this.$entities.data;
            if ($var1 >= var$4.length)
                return;
            var$1 = $this.$worldObj10;
            var$2 = var$4[$var1];
            $ptr = 2;
        case 2:
            nms_World_func_632_b(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var1 + 1 | 0;
            var$4 = $this.$entities.data;
            if ($var1 >= var$4.length)
                return;
            var$1 = $this.$worldObj10;
            var$2 = var$4[$var1];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $var1, var$4, $ptr);
    }
    function nms_Chunk_setChunkModified($this) {
        $this.$isModified = 1;
    }
    function nms_Chunk_getEntitiesWithinAABBForEntity($this, $var1, $var2, $var3) {
        var $var6, $var5, $var8, $var7, $var9;
        $var6 = nms_MathHelper_floor_double(($var2.$minY0 - 2.0) / 16.0);
        $var5 = nms_MathHelper_floor_double(($var2.$maxY0 + 2.0) / 16.0);
        if ($var6 < 0)
            $var6 = 0;
        $var8 = $this.$entities.data.length;
        if ($var5 >= $var8)
            $var5 = $var8 - 1 | 0;
        while ($var6 <= $var5) {
            $var7 = $this.$entities.data[$var6];
            $var8 = 0;
            while ($var8 < $var7.$size0) {
                $var9 = ju_ArrayList_get($var7, $var8);
                if ($var9 !== $var1 && nms_AxisAlignedBB_intersectsWith($var9.$boundingBox, $var2))
                    ju_ArrayList_add($var3, $var9);
                $var8 = $var8 + 1 | 0;
            }
            $var6 = $var6 + 1 | 0;
        }
    }
    function nms_Chunk_getEntitiesOfTypeWithinAAAB($this, $var1, $var2, $var3) {
        var $var6, $var5, var$6, $var7, $var8, $var9;
        $var6 = nms_MathHelper_floor_double(($var2.$minY0 - 2.0) / 16.0);
        $var5 = nms_MathHelper_floor_double(($var2.$maxY0 + 2.0) / 16.0);
        if ($var6 < 0)
            $var6 = 0;
        var$6 = $this.$entities.data.length;
        if ($var5 >= var$6)
            $var5 = var$6 - 1 | 0;
        while ($var6 <= $var5) {
            $var7 = $this.$entities.data[$var6];
            $var8 = 0;
            while ($var8 < $var7.$size0) {
                $var9 = ju_ArrayList_get($var7, $var8);
                if (jl_Class_isAssignableFrom($var1, jl_Object_getClass($var9)) && nms_AxisAlignedBB_intersectsWith($var9.$boundingBox, $var2))
                    ju_ArrayList_add($var3, $var9);
                $var8 = $var8 + 1 | 0;
            }
            $var6 = $var6 + 1 | 0;
        }
    }
    function nms_Chunk_needsSaving($this, $var1) {
        if ($this.$neverSave)
            return 0;
        a: {
            if ($var1) {
                if (!$this.$hasEntities)
                    break a;
                if (Long_eq(nms_World_getWorldTime($this.$worldObj10), $this.$lastSaveTime))
                    break a;
                return 1;
            }
            if ($this.$hasEntities && Long_ge(nms_World_getWorldTime($this.$worldObj10), Long_add($this.$lastSaveTime, Long_fromInt(600))))
                return 1;
        }
        return $this.$isModified;
    }
    function nms_Chunk_setChunkData($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8) {
        var $var12, $var9, $var10, $var11, var$13, $var12_0, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var12_0 = $thread.pop();var$13 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var12 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var12 = $var6 - $var3 | 0;
            $var9 = $var2;
            while ($var9 < $var5) {
                $var10 = $var4;
                while ($var10 < $var7) {
                    $var11 = $var9 << 11 | $var10 << 7 | $var3;
                    jl_System_fastArraycopy($var1, $var8, $this.$blocks0, $var11, $var12);
                    $var8 = $var8 + $var12 | 0;
                    $var10 = $var10 + 1 | 0;
                }
                $var9 = $var9 + 1 | 0;
            }
            $ptr = 1;
        case 1:
            $this.$generateHeightMap();
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $var2;
            while (var$13 < $var5) {
                $var10 = $var4;
                while ($var10 < $var7) {
                    $var11 = (var$13 << 11 | $var10 << 7 | $var3) >> 1;
                    $var12_0 = $var12 / 2 | 0;
                    jl_System_fastArraycopy($var1, $var8, $this.$data4.$data5, $var11, $var12_0);
                    $var8 = $var8 + $var12_0 | 0;
                    $var10 = $var10 + 1 | 0;
                }
                var$13 = var$13 + 1 | 0;
            }
            var$13 = $var2;
            while (var$13 < $var5) {
                $var10 = $var4;
                while ($var10 < $var7) {
                    $var11 = (var$13 << 11 | $var10 << 7 | $var3) >> 1;
                    $var12_0 = $var12 / 2 | 0;
                    jl_System_fastArraycopy($var1, $var8, $this.$blocklightMap.$data5, $var11, $var12_0);
                    $var8 = $var8 + $var12_0 | 0;
                    $var10 = $var10 + 1 | 0;
                }
                var$13 = var$13 + 1 | 0;
            }
            while ($var2 < $var5) {
                $var10 = $var4;
                while ($var10 < $var7) {
                    $var11 = ($var2 << 11 | $var10 << 7 | $var3) >> 1;
                    $var12_0 = $var12 / 2 | 0;
                    jl_System_fastArraycopy($var1, $var8, $this.$skylightMap.$data5, $var11, $var12_0);
                    $var8 = $var8 + $var12_0 | 0;
                    $var10 = $var10 + 1 | 0;
                }
                $var2 = $var2 + 1 | 0;
            }
            return $var8;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var12, $var9, $var10, $var11, var$13, $var12_0, $ptr);
    }
    function nms_Chunk_func_997_a($this, $var1) {
        var var$2;
        var$2 = new ju_Random;
        nms_World_getRandomSeed($this.$worldObj10);
        return var$2;
    }
    function nms_Chunk_func_21167_h($this) {
        return 0;
    }
    function nms_ChunkCache() {
        var a = this; jl_Object.call(a);
        a.$chunkX = 0;
        a.$chunkZ = 0;
        a.$chunkArray = null;
        a.$worldObj11 = null;
    }
    function nms_ChunkCache__init_0(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
        var var_7 = new nms_ChunkCache();
        nms_ChunkCache__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
        return var_7;
    }
    function nms_ChunkCache__init_($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var10, $var8, $var9, $var11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var10 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$worldObj11 = $var1;
            $var10 = $var2 >> 4;
            $this.$chunkX = $var10;
            $var2 = $var4 >> 4;
            $this.$chunkZ = $var2;
            $var8 = $var5 >> 4;
            $var9 = $var7 >> 4;
            $this.$chunkArray = $rt_createMultiArray(nms_Chunk, [($var9 - $var2 | 0) + 1 | 0, ($var8 - $var10 | 0) + 1 | 0]);
            while ($var10 <= $var8) {
                $var11 = $this.$chunkZ;
                if ($var11 <= $var9) {
                    var$12 = $this.$chunkArray.data[$var10 - $this.$chunkX | 0].data;
                    $var2 = $var11 - $this.$chunkZ | 0;
                    $ptr = 1;
                    continue main;
                }
                $var10 = $var10 + 1 | 0;
            }
            return;
        case 1:
            $tmp = nms_World_getChunkFromChunkCoords($var1, $var10, $var11);
            if ($rt_suspending()) {
                break main;
            }
            var$13 = $tmp;
            var$12[$var2] = var$13;
            $var11 = $var11 + 1 | 0;
            while (true) {
                if ($var11 <= $var9) {
                    var$12 = $this.$chunkArray.data[$var10 - $this.$chunkX | 0].data;
                    $var2 = $var11 - $this.$chunkZ | 0;
                    continue main;
                }
                $var10 = $var10 + 1 | 0;
                if ($var10 > $var8)
                    break;
                $var11 = $this.$chunkZ;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var10, $var8, $var9, $var11, var$12, var$13, $ptr);
    }
    function nms_ChunkCache_getBlockId($this, $var1, $var2, $var3) {
        var $var4, $var5, var$6, $var6;
        if ($var2 < 0)
            return 0;
        if ($var2 >= 128)
            return 0;
        $var4 = ($var1 >> 4) - $this.$chunkX | 0;
        $var5 = ($var3 >> 4) - $this.$chunkZ | 0;
        if ($var4 >= 0) {
            var$6 = $this.$chunkArray.data;
            if ($var4 < var$6.length && $var5 >= 0 && $var5 < var$6[$var4].data.length) {
                $var6 = var$6[$var4].data[$var5];
                return $var6 === null ? 0 : $var6.$getBlockID($var1 & 15, $var2, $var3 & 15);
            }
        }
        return 0;
    }
    function nms_ChunkCache_getLightBrightness($this, $var1, $var2, $var3) {
        var var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$worldObj11.$worldProvider.$lightBrightnessTable.data;
            var$5 = 1;
            $ptr = 1;
        case 1:
            $tmp = nms_ChunkCache_func_716_a($this, $var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return var$4[$var1];
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $ptr);
    }
    function nms_ChunkCache_func_716_a($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, $var7, $var8, $var9, $var10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 >= (-32000000) && $var3 >= (-32000000) && $var1 < 32000000 && $var3 <= 32000000) {
                if (!$var4) {
                    if ($var2 < 0)
                        return 0;
                    if ($var2 >= 128) {
                        $var5 = 15 - $this.$worldObj11.$skylightSubtracted | 0;
                        if ($var5 < 0)
                            $var5 = 0;
                        return $var5;
                    }
                    $var5 = ($var1 >> 4) - $this.$chunkX | 0;
                    $var6 = ($var3 >> 4) - $this.$chunkZ | 0;
                    return $this.$chunkArray.data[$var5].data[$var6].$getBlockLightValue0($var1 & 15, $var2, $var3 & 15, $this.$worldObj11.$skylightSubtracted);
                }
                $ptr = 1;
                continue main;
            }
            return 15;
        case 1:
            $tmp = nms_ChunkCache_getBlockId($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 != nms_Block_stairSingle.$blockID && $var5 != nms_Block_tilledField.$blockID) {
                if ($var2 < 0)
                    return 0;
                if ($var2 >= 128) {
                    $var5 = 15 - $this.$worldObj11.$skylightSubtracted | 0;
                    if ($var5 < 0)
                        $var5 = 0;
                    return $var5;
                }
                $var5 = ($var1 >> 4) - $this.$chunkX | 0;
                $var6 = ($var3 >> 4) - $this.$chunkZ | 0;
                return $this.$chunkArray.data[$var5].data[$var6].$getBlockLightValue0($var1 & 15, $var2, $var3 & 15, $this.$worldObj11.$skylightSubtracted);
            }
            $var4 = $var2 + 1 | 0;
            $var6 = 0;
            $ptr = 3;
        case 3:
            $tmp = nms_ChunkCache_func_716_a($this, $var1, $var4, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var4 = $var1 + 1 | 0;
            $var7 = 0;
            $ptr = 4;
        case 4:
            $tmp = nms_ChunkCache_func_716_a($this, $var4, $var2, $var3, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var4 = $var1 - 1 | 0;
            $var8 = 0;
            $ptr = 5;
        case 5:
            $tmp = nms_ChunkCache_func_716_a($this, $var4, $var2, $var3, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var4 = $var3 + 1 | 0;
            $var9 = 0;
            $ptr = 6;
        case 6:
            $tmp = nms_ChunkCache_func_716_a($this, $var1, $var2, $var4, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $var3 = $var3 - 1 | 0;
            $var4 = 0;
            $ptr = 7;
        case 7:
            $tmp = nms_ChunkCache_func_716_a($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            if ($var7 <= $var6)
                $var7 = $var6;
            if ($var8 <= $var7)
                $var8 = $var7;
            if ($var9 <= $var8)
                $var9 = $var8;
            if ($var10 <= $var9)
                $var10 = $var9;
            return $var10;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $ptr);
    }
    function nms_ChunkCache_getBlockMetadata($this, $var1, $var2, $var3) {
        var $var4, $var5;
        if ($var2 < 0)
            return 0;
        if ($var2 >= 128)
            return 0;
        $var4 = ($var1 >> 4) - $this.$chunkX | 0;
        $var5 = ($var3 >> 4) - $this.$chunkZ | 0;
        return $this.$chunkArray.data[$var4].data[$var5].$getBlockMetadata($var1 & 15, $var2, $var3 & 15);
    }
    function nms_ChunkCache_getBlockMaterial($this, $var1, $var2, $var3) {
        var $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_ChunkCache_getBlockId($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4) {
                nms_Material_$callClinit();
                return nms_Material_air;
            }
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Block_blocksList.data[$var4].$blockMaterial;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_ChunkCache_isBlockOpaqueCube($this, $var1, $var2, $var3) {
        var var$4, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_Block_blocksList.data;
            $ptr = 2;
        case 2:
            $tmp = nms_ChunkCache_getBlockId($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var4 = var$4[$var1];
            if ($var4 === null)
                return 0;
            $ptr = 3;
        case 3:
            $tmp = $var4.$isOpaqueCube();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $var4, $ptr);
    }
    function nms_ChunkCache_getWorldChunkManager($this) {
        return nms_World_getWorldChunkManager($this.$worldObj11);
    }
    function nleiv_VFileOutputStream() {
        var a = this; nle_EaglerOutputStream.call(a);
        a.$vfsFile = null;
        a.$closed = 0;
    }
    function nms_WorldChunkManager() {
        var a = this; jl_Object.call(a);
        a.$field_4194_e = null;
        a.$field_4193_f = null;
        a.$field_4192_g = null;
        a.$temperature = null;
        a.$humidity = null;
        a.$field_4196_c = null;
        a.$field_4195_d = null;
    }
    function nms_WorldChunkManager__init_1() {
        var var_0 = new nms_WorldChunkManager();
        nms_WorldChunkManager__init_(var_0);
        return var_0;
    }
    function nms_WorldChunkManager__init_($this) {}
    function nms_WorldChunkManager_func_4074_a($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $var1.$chunkXPos << 4;
            var$3 = $var1.$chunkZPos << 4;
            $ptr = 1;
        case 1:
            $tmp = $this.$func_4073_a(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_WorldChunkManager_func_4073_a($this, $var1, $var2) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = 1;
            var$4 = 1;
            $ptr = 1;
        case 1:
            $tmp = $this.$func_4069_a($var1, $var2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            return var$5.data[0];
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, $ptr);
    }
    function nms_WorldChunkManager_func_4072_b($this, $var1, $var2) {
        var var$3, var$4;
        var$3 = nms_NoiseGeneratorOctaves2_func_4112_a($this.$field_4194_e, $this.$temperature, $var1, $var2, 1, 1, 0.02500000037252903, 0.02500000037252903, 0.5);
        var$4 = var$3.data;
        $this.$temperature = var$3;
        return var$4[0];
    }
    function nms_WorldChunkManager_func_4069_a($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $this.$field_4195_d;
            $ptr = 1;
        case 1:
            $tmp = $this.$loadBlockGeneratorData(var$5, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $this.$field_4195_d = var$5;
            return var$5;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_WorldChunkManager_getTemperatures($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, var$7, $var15, var$9, $var6, $var7, $var8, var$13, var$14, $var9;
        if (!($var1 !== null && $var1.data.length >= $rt_imul($var4, $var5)))
            $var1 = $rt_createDoubleArray($rt_imul($var4, $var5));
        var$6 = $this.$field_4194_e;
        var$7 = $var2;
        $var15 = $var3;
        $var1 = nms_NoiseGeneratorOctaves2_func_4112_a(var$6, $var1, var$7, $var15, $var4, $var5, 0.02500000037252903, 0.02500000037252903, 0.25);
        var$9 = nms_NoiseGeneratorOctaves2_func_4112_a($this.$field_4192_g, $this.$field_4196_c, var$7, $var15, $var4, $var5, 0.25, 0.25, 0.5882352941176471);
        $this.$field_4196_c = var$9;
        $var6 = 0;
        $var7 = 0;
        while ($var7 < $var4) {
            $var8 = 0;
            while ($var8 < $var5) {
                var$13 = var$9.data;
                var$14 = $var1.data;
                $var9 = var$13[$var6] * 1.1 + 0.5;
                $var15 = 1.0 - ((var$14[$var6] * 0.15 + 0.7) * 0.99 + $var9 * 0.01);
                $var15 = 1.0 - $var15 * $var15;
                if ($var15 < 0.0)
                    $var15 = 0.0;
                if ($var15 > 1.0)
                    $var15 = 1.0;
                var$14[$var6] = $var15;
                $var6 = $var6 + 1 | 0;
                $var8 = $var8 + 1 | 0;
            }
            $var7 = $var7 + 1 | 0;
        }
        return $var1;
    }
    function nms_WorldChunkManager_loadBlockGeneratorData($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, var$7, $var13, $var9, var$10, $var6, $var7, $var8, var$14, $var15, $var17, $var11, var$18, var$19, var$20, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();$var11 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();var$14 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();var$10 = $thread.pop();$var9 = $thread.pop();$var13 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!($var1 !== null && $var1.data.length >= $rt_imul($var4, $var5)))
                $var1 = $rt_createArray(nms_MobSpawnerBase, $rt_imul($var4, $var5));
            var$6 = $this.$field_4194_e;
            var$7 = $this.$temperature;
            $var13 = $var2;
            $var9 = $var3;
            $this.$temperature = nms_NoiseGeneratorOctaves2_func_4112_a(var$6, var$7, $var13, $var9, $var4, $var4, 0.02500000037252903, 0.02500000037252903, 0.25);
            $this.$humidity = nms_NoiseGeneratorOctaves2_func_4112_a($this.$field_4193_f, $this.$humidity, $var13, $var9, $var4, $var4, 0.05000000074505806, 0.05000000074505806, 0.3333333333333333);
            var$10 = nms_NoiseGeneratorOctaves2_func_4112_a($this.$field_4192_g, $this.$field_4196_c, $var13, $var9, $var4, $var4, 0.25, 0.25, 0.5882352941176471);
            $this.$field_4196_c = var$10;
            $var6 = 0;
            $var7 = 0;
            while ($var7 < $var4) {
                $var8 = 0;
                if ($var8 < $var5) {
                    $var9 = var$10.data[$var6] * 1.1 + 0.5;
                    var$14 = $this.$temperature.data;
                    $var15 = (var$14[$var6] * 0.15 + 0.7) * 0.99 + $var9 * 0.01;
                    var$7 = $this.$humidity.data;
                    $var17 = (var$7[$var6] * 0.15 + 0.5) * 0.998 + $var9 * 0.002;
                    $var11 = 1.0 - $var15;
                    var$18 = 1.0 - $var11 * $var11;
                    if (var$18 < 0.0)
                        var$18 = 0.0;
                    if ($var17 < 0.0)
                        $var17 = 0.0;
                    if (var$18 > 1.0)
                        var$18 = 1.0;
                    if ($var17 > 1.0)
                        $var17 = 1.0;
                    var$19 = $var1.data;
                    var$14[$var6] = var$18;
                    var$7[$var6] = $var17;
                    $var3 = $var6 + 1 | 0;
                    $ptr = 1;
                    continue main;
                }
                $var7 = $var7 + 1 | 0;
            }
            return $var1;
        case 1:
            nms_MobSpawnerBase_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$20 = var$18 * 63.0 | 0;
            $var2 = $var17 * 63.0 | 0;
            var$19[$var6] = nms_MobSpawnerBase_biomeLookupTable.data[var$20 + ($var2 * 64 | 0) | 0];
            $var8 = $var8 + 1 | 0;
            $var6 = $var3;
            while (true) {
                if ($var8 < $var5) {
                    $var9 = var$10.data[$var6] * 1.1 + 0.5;
                    var$14 = $this.$temperature.data;
                    $var15 = (var$14[$var6] * 0.15 + 0.7) * 0.99 + $var9 * 0.01;
                    var$7 = $this.$humidity.data;
                    $var17 = (var$7[$var6] * 0.15 + 0.5) * 0.998 + $var9 * 0.002;
                    $var11 = 1.0 - $var15;
                    var$18 = 1.0 - $var11 * $var11;
                    if (var$18 < 0.0)
                        var$18 = 0.0;
                    if ($var17 < 0.0)
                        $var17 = 0.0;
                    if (var$18 > 1.0)
                        var$18 = 1.0;
                    if ($var17 > 1.0)
                        $var17 = 1.0;
                    var$19 = $var1.data;
                    var$14[$var6] = var$18;
                    var$7[$var6] = $var17;
                    $var3 = $var6 + 1 | 0;
                    continue main;
                }
                $var7 = $var7 + 1 | 0;
                if ($var7 >= $var4)
                    break;
                $var8 = 0;
            }
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, $var13, $var9, var$10, $var6, $var7, $var8, var$14, $var15, $var17, $var11, var$18, var$19, var$20, $ptr);
    }
    var nms_ColorizerGrass = $rt_classWithoutFields();
    var nms_ColorizerGrass_grassBuffer = null;
    var nms_ColorizerGrass_$clinitCalled = false;
    function nms_ColorizerGrass_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_ColorizerGrass_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_ColorizerGrass_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_ColorizerGrass__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_ColorizerGrass_$callClinit = $rt_eraseClinit(nms_ColorizerGrass);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_ColorizerGrass__init_0() {
        var var_0 = new nms_ColorizerGrass();
        nms_ColorizerGrass__init_(var_0);
        return var_0;
    }
    function nms_ColorizerGrass__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_ColorizerGrass_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_ColorizerGrass__clinit_() {
        var $var0, $var1, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_ColorizerGrass_grassBuffer = $rt_createIntArray(65536);
            try {
                $var0 = $rt_s(2128);
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var1 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 2;
            continue main;
        case 1:
            a: {
                try {
                    $tmp = nleo_ImageData_loadImageFile($var0);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $var0 = $tmp;
                    nleo_ImageData_getRGB(nleo_ImageData_swapRB($var0), 0, 0, 256, 256, nms_ColorizerGrass_grassBuffer, 0, 256);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var1 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return;
            }
            $ptr = 2;
        case 2:
            jl_Throwable_printStackTrace($var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $ptr);
    }
    var nms_ColorizerFoliage = $rt_classWithoutFields();
    var nms_ColorizerFoliage_foliageBuffer = null;
    var nms_ColorizerFoliage_$clinitCalled = false;
    function nms_ColorizerFoliage_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_ColorizerFoliage_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_ColorizerFoliage_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_ColorizerFoliage__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_ColorizerFoliage_$callClinit = $rt_eraseClinit(nms_ColorizerFoliage);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_ColorizerFoliage__init_0() {
        var var_0 = new nms_ColorizerFoliage();
        nms_ColorizerFoliage__init_(var_0);
        return var_0;
    }
    function nms_ColorizerFoliage__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_ColorizerFoliage_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_ColorizerFoliage__clinit_() {
        var $var0, $var1, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_ColorizerFoliage_foliageBuffer = $rt_createIntArray(65536);
            try {
                $var0 = $rt_s(2129);
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var1 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 2;
            continue main;
        case 1:
            a: {
                try {
                    $tmp = nleo_ImageData_loadImageFile($var0);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $var0 = $tmp;
                    nleo_ImageData_getRGB(nleo_ImageData_swapRB($var0), 0, 0, 256, 256, nms_ColorizerFoliage_foliageBuffer, 0, 256);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var1 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return;
            }
            $ptr = 2;
        case 2:
            jl_Throwable_printStackTrace($var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $ptr);
    }
    function nlei_PlatformAudio$BrowserAudioResource() {
        var a = this; jl_Object.call(a);
        a.$buffer3 = null;
        a.$cacheHit = Long_ZERO;
    }
    function nlei_PlatformAudio$BrowserAudioResource__init_0(var_0) {
        var var_1 = new nlei_PlatformAudio$BrowserAudioResource();
        nlei_PlatformAudio$BrowserAudioResource__init_(var_1, var_0);
        return var_1;
    }
    function nlei_PlatformAudio$BrowserAudioResource__init_($this, $buffer) {
        $this.$cacheHit = Long_ZERO;
        $this.$buffer3 = $buffer;
    }
    var nlei_IAudioHandle = $rt_classWithoutFields(0);
    function nlei_PlatformAudio$BrowserAudioHandle() {
        var a = this; jl_Object.call(a);
        a.$resource0 = null;
        a.$source = null;
        a.$panner = null;
        a.$gain = null;
        a.$pitch6 = 0.0;
        a.$repeat = 0;
        a.$isPaused = 0;
        a.$isEnded = 0;
        a.$isDisposed = 0;
    }
    function nlei_PlatformAudio$BrowserAudioHandle__init_(var_0, var_1, var_2, var_3, var_4, var_5) {
        var var_6 = new nlei_PlatformAudio$BrowserAudioHandle();
        nlei_PlatformAudio$BrowserAudioHandle__init_0(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
        return var_6;
    }
    function nlei_PlatformAudio$BrowserAudioHandle__init_0($this, $resource, $source, $panner, $gain, $pitch, $repeat) {
        $this.$isPaused = 0;
        $this.$isEnded = 0;
        $this.$isDisposed = 0;
        $this.$resource0 = $resource;
        $this.$source = $source;
        $this.$panner = $panner;
        $this.$gain = $gain;
        $this.$pitch6 = $pitch;
        $this.$repeat = $repeat;
        $source.addEventListener("ended", $this);
    }
    function nlei_PlatformAudio$BrowserAudioHandle_handleEvent$exported$0(var$0, var$1) {
        var$0.$isEnded = 1;
    }
    var otcit_DoubleAnalyzer = $rt_classWithoutFields();
    var otcit_DoubleAnalyzer_MAX_MANTISSA = Long_ZERO;
    var otcit_DoubleAnalyzer_mantissa10Table = null;
    var otcit_DoubleAnalyzer_exp10Table = null;
    function otcit_DoubleAnalyzer__init_0() {
        var var_0 = new otcit_DoubleAnalyzer();
        otcit_DoubleAnalyzer__init_(var_0);
        return var_0;
    }
    function otcit_DoubleAnalyzer__init_($this) {}
    function otcit_DoubleAnalyzer_analyze($d, $result) {
        var $bits, $mantissa, $exponent, var$6, $posCmp, $mantissaShift, $decExponent, $binExponentCorrection, var$11, $decMantissa, $decMantissaHi, $decMantissaLow, $lowerPos, $lowerPos_0, $upperPos, $upperPos_0;
        $bits = jl_Double_doubleToLongBits($d);
        $result.$sign0 = Long_eq(Long_and($bits, Long_create(0, 2147483648)), Long_ZERO) ? 0 : 1;
        $mantissa = Long_and($bits, Long_create(4294967295, 1048575));
        $exponent = Long_lo(Long_shr($bits, 52)) & 2047;
        if (Long_eq($mantissa, Long_ZERO) && !$exponent) {
            $result.$mantissa0 = Long_ZERO;
            $result.$exponent0 = 0;
            return;
        }
        if ($exponent)
            $mantissa = Long_or($mantissa, Long_create(0, 1048576));
        else {
            $mantissa = Long_shl($mantissa, 1);
            while (Long_eq(Long_and($mantissa, Long_create(0, 1048576)), Long_ZERO)) {
                $mantissa = Long_shl($mantissa, 1);
                $exponent = $exponent + (-1) | 0;
            }
        }
        var$6 = otcit_DoubleAnalyzer_exp10Table.data;
        $posCmp = $exponent << 16 >> 16;
        $mantissaShift = 0;
        $decExponent = var$6.length;
        if ($mantissaShift > $decExponent) {
            $result = new jl_IllegalArgumentException;
            jl_Throwable__init_0($result);
            $rt_throw($result);
        }
        $binExponentCorrection = $decExponent - 1 | 0;
        a: {
            while (true) {
                if ($mantissaShift > $binExponentCorrection) {
                    $decExponent = ( -$mantissaShift | 0) - 1 | 0;
                    break a;
                }
                $decExponent = ($mantissaShift + $binExponentCorrection | 0) / 2 | 0;
                var$11 = $rt_compare(var$6[$decExponent], $posCmp);
                if (!var$11)
                    break;
                if (var$11 <= 0)
                    $mantissaShift = $decExponent + 1 | 0;
                else
                    $binExponentCorrection = $decExponent - 1 | 0;
            }
        }
        if ($decExponent < 0)
            $decExponent =  -$decExponent | 0;
        $posCmp = $decExponent + 1 | 0;
        $mantissaShift = 12 + ($exponent - var$6[$posCmp] | 0) | 0;
        $decMantissa = otcit_DoubleAnalyzer_mulAndShiftRight($mantissa, otcit_DoubleAnalyzer_mantissa10Table.data[$posCmp], $mantissaShift);
        if (Long_le($decMantissa, otcit_DoubleAnalyzer_MAX_MANTISSA)) {
            while (jl_Long_compareUnsigned($decMantissa, otcit_DoubleAnalyzer_MAX_MANTISSA) <= 0) {
                $decExponent = $decExponent + (-1) | 0;
                $decMantissa = Long_add(Long_mul($decMantissa, Long_fromInt(10)), Long_fromInt(9));
            }
            var$6 = otcit_DoubleAnalyzer_exp10Table.data;
            $posCmp = $decExponent + 1 | 0;
            $mantissaShift = 12 + ($exponent - var$6[$posCmp] | 0) | 0;
            $decMantissa = otcit_DoubleAnalyzer_mulAndShiftRight($mantissa, otcit_DoubleAnalyzer_mantissa10Table.data[$posCmp], $mantissaShift);
        }
        $mantissa = Long_shl($mantissa, 1);
        $bits = Long_add($mantissa, Long_fromInt(1));
        var$6 = otcit_DoubleAnalyzer_mantissa10Table.data;
        $posCmp = $decExponent + 1 | 0;
        $decMantissaHi = var$6[$posCmp];
        $exponent = $mantissaShift - 1 | 0;
        $decMantissaHi = otcit_DoubleAnalyzer_mulAndShiftRight($bits, $decMantissaHi, $exponent);
        $decMantissaLow = otcit_DoubleAnalyzer_mulAndShiftRight(Long_sub($mantissa, Long_fromInt(1)), otcit_DoubleAnalyzer_mantissa10Table.data[$posCmp], $exponent);
        $lowerPos = Long_fromInt(1);
        while (true) {
            $lowerPos_0 = Long_mul($lowerPos, Long_fromInt(10));
            if (jl_Long_compareUnsigned(jl_Long_divideUnsigned($decMantissa, $lowerPos_0), jl_Long_divideUnsigned($decMantissaLow, $lowerPos_0)) <= 0)
                break;
            $lowerPos = $lowerPos_0;
        }
        $upperPos = Long_fromInt(1);
        while (true) {
            $upperPos_0 = Long_mul($upperPos, Long_fromInt(10));
            if (jl_Long_compareUnsigned(jl_Long_divideUnsigned($decMantissa, $upperPos_0), jl_Long_divideUnsigned($decMantissaHi, $upperPos_0)) >= 0)
                break;
            $upperPos = $upperPos_0;
        }
        $posCmp = jl_Long_compareUnsigned($lowerPos, $upperPos);
        $mantissa = $posCmp > 0 ? Long_mul(jl_Long_divideUnsigned($decMantissa, $lowerPos), $lowerPos) : $posCmp < 0 ? Long_add(Long_mul(jl_Long_divideUnsigned($decMantissa, $upperPos), $upperPos), $upperPos) : Long_mul(jl_Long_divideUnsigned(Long_add($decMantissa, Long_div($upperPos, Long_fromInt(2))), $upperPos), $upperPos);
        if (jl_Long_compareUnsigned($mantissa, Long_create(2808348672, 232830643)) >= 0)
            while (true) {
                $decExponent = $decExponent + 1 | 0;
                $mantissa = jl_Long_divideUnsigned($mantissa, Long_fromInt(10));
                if (jl_Long_compareUnsigned($mantissa, Long_create(2808348672, 232830643)) < 0)
                    break;
            }
        else if (jl_Long_compareUnsigned($mantissa, Long_create(1569325056, 23283064)) < 0) {
            $decExponent = $decExponent + (-1) | 0;
            $mantissa = Long_mul($mantissa, Long_fromInt(10));
        }
        $result.$mantissa0 = $mantissa;
        $result.$exponent0 = $decExponent - 330 | 0;
    }
    function otcit_DoubleAnalyzer_mulAndShiftRight($a, $b, $shift) {
        var $a1, $a2, $a3, $a4, $b1, $b2, $b3, $b4;
        $a1 = Long_and($a, Long_fromInt(65535));
        $a2 = Long_and(Long_shru($a, 16), Long_fromInt(65535));
        $a3 = Long_and(Long_shru($a, 32), Long_fromInt(65535));
        $a4 = Long_and(Long_shru($a, 48), Long_fromInt(65535));
        $b1 = Long_and($b, Long_fromInt(65535));
        $b2 = Long_and(Long_shru($b, 16), Long_fromInt(65535));
        $b3 = Long_and(Long_shru($b, 32), Long_fromInt(65535));
        $b4 = Long_and(Long_shru($b, 48), Long_fromInt(65535));
        return Long_add(Long_add(Long_add(Long_shl(Long_mul($b4, $a4), 32 + $shift | 0), Long_shl(Long_add(Long_mul($b4, $a3), Long_mul($b3, $a4)), 16 + $shift | 0)), Long_shl(Long_add(Long_add(Long_mul($b4, $a2), Long_mul($b3, $a3)), Long_mul($b2, $a4)), $shift)), Long_shru(Long_add(Long_add(Long_add(Long_mul($b3, $a1), Long_mul($b2, $a2)), Long_mul($b1, $a3)), Long_shl(Long_add(Long_add(Long_add(Long_mul($b4, $a1), Long_mul($b3, $a2)), Long_mul($b2, $a3)), Long_mul($b1, $a4)), 16)), 32 - $shift | 0));
    }
    function otcit_DoubleAnalyzer__clinit_() {
        otcit_DoubleAnalyzer_MAX_MANTISSA = jl_Long_divideUnsigned(Long_fromInt(-1), Long_fromInt(10));
        otcit_DoubleAnalyzer_mantissa10Table = $rt_createLongArrayFromData([Long_create(3251292512, 2194092222), Long_create(1766094183, 3510547556), Long_create(553881887, 2808438045), Long_create(443105509, 2246750436), Long_create(3285949193, 3594800697), Long_create(910772436, 2875840558), Long_create(2446604867, 2300672446), Long_create(2196580869, 3681075914), Long_create(2616258154, 2944860731), Long_create(1234013064, 2355888585), Long_create(1974420903, 3769421736), Long_create(720543263, 3015537389),
        Long_create(1435428070, 2412429911), Long_create(578697993, 3859887858), Long_create(2180945313, 3087910286), Long_create(885762791, 2470328229), Long_create(3135207384, 3952525166), Long_create(1649172448, 3162020133), Long_create(3037324877, 2529616106), Long_create(3141732885, 4047385770), Long_create(2513386308, 3237908616), Long_create(1151715587, 2590326893), Long_create(983751480, 4144523029), Long_create(1645994643, 3315618423), Long_create(3034782633, 2652494738), Long_create(3996658754, 4243991581),
        Long_create(2338333544, 3395193265), Long_create(1870666835, 2716154612), Long_create(4073513845, 2172923689), Long_create(3940641775, 3476677903), Long_create(575533043, 2781342323), Long_create(2178413352, 2225073858), Long_create(2626467905, 3560118173), Long_create(3819161242, 2848094538), Long_create(478348616, 2278475631), Long_create(3342338164, 3645561009), Long_create(3532863990, 2916448807), Long_create(1108304273, 2333159046), Long_create(55299919, 3733054474), Long_create(903233395, 2986443579),
        Long_create(1581580175, 2389154863), Long_create(1671534821, 3822647781), Long_create(478234397, 3058118225), Long_create(382587518, 2446494580), Long_create(612140029, 3914391328), Long_create(2207698941, 3131513062), Long_create(48172235, 2505210450), Long_create(77075576, 4008336720), Long_create(61660460, 3206669376), Long_create(3485302205, 2565335500), Long_create(1281516232, 4104536801), Long_create(166219527, 3283629441), Long_create(3568949458, 2626903552), Long_create(2274345296, 4203045684),
        Long_create(2678469696, 3362436547), Long_create(424788838, 2689949238), Long_create(2057817989, 2151959390), Long_create(3292508783, 3443135024), Long_create(3493000485, 2754508019), Long_create(3653393847, 2203606415), Long_create(1550462860, 3525770265), Long_create(1240370288, 2820616212), Long_create(3569276608, 2256492969), Long_create(3133862195, 3610388751), Long_create(1648096297, 2888311001), Long_create(459483578, 2310648801), Long_create(3312154103, 3697038081), Long_create(1790729823, 2957630465),
        Long_create(1432583858, 2366104372), Long_create(3151127633, 3785766995), Long_create(2520902106, 3028613596), Long_create(1157728226, 2422890877), Long_create(2711358621, 3876625403), Long_create(3887073815, 3101300322), Long_create(1391672133, 2481040258), Long_create(1367681954, 3969664413), Long_create(2812132482, 3175731530), Long_create(2249705985, 2540585224), Long_create(1022549199, 4064936359), Long_create(1677032818, 3251949087), Long_create(3918606632, 2601559269), Long_create(3692790234, 4162494831),
        Long_create(2095238728, 3329995865), Long_create(1676190982, 2663996692), Long_create(3540899031, 4262394707), Long_create(1114732307, 3409915766), Long_create(32792386, 2727932613), Long_create(1744220827, 2182346090), Long_create(2790753324, 3491753744), Long_create(3091596118, 2793402995), Long_create(2473276894, 2234722396), Long_create(2239256113, 3575555834), Long_create(2650398349, 2860444667), Long_create(402331761, 2288355734), Long_create(2361717736, 3661369174), Long_create(2748367648, 2929095339),
        Long_create(3057687578, 2343276271), Long_create(3174313206, 3749242034), Long_create(3398444024, 2999393627), Long_create(1000768301, 2399514902), Long_create(2460222741, 3839223843), Long_create(3686165111, 3071379074), Long_create(3807925548, 2457103259), Long_create(3515700499, 3931365215), Long_create(2812560399, 3145092172), Long_create(532061401, 2516073738), Long_create(4287272078, 4025717980), Long_create(3429817663, 3220574384), Long_create(3602847589, 2576459507), Long_create(2328582306, 4122335212),
        Long_create(144878926, 3297868170), Long_create(115903141, 2638294536), Long_create(2762425404, 4221271257), Long_create(491953404, 3377017006), Long_create(3829536560, 2701613604), Long_create(3922622707, 2161290883), Long_create(1122235577, 3458065414), Long_create(1756781920, 2766452331), Long_create(546432077, 2213161865), Long_create(874291324, 3541058984), Long_create(1558426518, 2832847187), Long_create(3823721592, 2266277749), Long_create(3540974170, 3626044399), Long_create(3691772795, 2900835519),
        Long_create(3812411695, 2320668415), Long_create(1804891416, 3713069465), Long_create(1443913133, 2970455572), Long_create(3732110884, 2376364457), Long_create(2535403578, 3802183132), Long_create(310335944, 3041746506), Long_create(3684242592, 2433397204), Long_create(3317807769, 3893435527), Long_create(936259297, 3114748422), Long_create(3325987815, 2491798737), Long_create(1885606668, 3986877980), Long_create(1508485334, 3189502384), Long_create(2065781726, 2551601907), Long_create(4164244222, 4082563051),
        Long_create(2472401918, 3266050441), Long_create(1118928075, 2612840353), Long_create(931291461, 4180544565), Long_create(745033169, 3344435652), Long_create(3173006913, 2675548521), Long_create(3358824142, 4280877634), Long_create(3546052773, 3424702107), Long_create(1118855300, 2739761686), Long_create(36090780, 2191809349), Long_create(1775732167, 3506894958), Long_create(3138572652, 2805515966), Long_create(1651864662, 2244412773), Long_create(1783990001, 3591060437), Long_create(4004172378, 2872848349),
        Long_create(4062331362, 2298278679), Long_create(3922749802, 3677245887), Long_create(1420212923, 2941796710), Long_create(1136170338, 2353437368), Long_create(958879082, 3765499789), Long_create(1626096725, 3012399831), Long_create(441883920, 2409919865), Long_create(707014273, 3855871784), Long_create(1424604878, 3084697427), Long_create(3716664280, 2467757941), Long_create(4228675929, 3948412706), Long_create(2523947284, 3158730165), Long_create(2019157827, 2526984132), Long_create(4089645983, 4043174611),
        Long_create(2412723327, 3234539689), Long_create(2789172121, 2587631751), Long_create(2744688475, 4140210802), Long_create(477763862, 3312168642), Long_create(2959191467, 2649734913), Long_create(3875712888, 4239575861), Long_create(2241576851, 3391660689), Long_create(2652254940, 2713328551), Long_create(1262810493, 2170662841), Long_create(302509870, 3473060546), Long_create(3677981733, 2778448436), Long_create(2083391927, 2222758749), Long_create(756446706, 3556413999), Long_create(1464150824, 2845131199),
        Long_create(2030314118, 2276104959), Long_create(671522212, 3641767935), Long_create(537217769, 2913414348), Long_create(2147761134, 2330731478), Long_create(2577424355, 3729170365), Long_create(2061939484, 2983336292), Long_create(4226531965, 2386669033), Long_create(1608490388, 3818670454), Long_create(2145785770, 3054936363), Long_create(3434615534, 2443949090), Long_create(1200417559, 3910318545), Long_create(960334047, 3128254836), Long_create(4204241074, 2502603868), Long_create(1572824964, 4004166190),
        Long_create(1258259971, 3203332952), Long_create(3583588354, 2562666361), Long_create(4015754449, 4100266178), Long_create(635623181, 3280212943), Long_create(2226485463, 2624170354), Long_create(985396364, 4198672567), Long_create(3365297469, 3358938053), Long_create(115257597, 2687150443), Long_create(1810192996, 2149720354), Long_create(319328417, 3439552567), Long_create(2832443111, 2751642053), Long_create(3983941407, 2201313642), Long_create(2938332415, 3522101828), Long_create(4068652850, 2817681462),
        Long_create(1536935362, 2254145170), Long_create(2459096579, 3606632272), Long_create(249290345, 2885305818), Long_create(1917419194, 2308244654), Long_create(490890333, 3693191447), Long_create(2969692644, 2954553157), Long_create(657767197, 2363642526), Long_create(3629407892, 3781828041), Long_create(2044532855, 3025462433), Long_create(3353613202, 2420369946), Long_create(3647794205, 3872591914), Long_create(3777228823, 3098073531), Long_create(2162789599, 2478458825), Long_create(3460463359, 3965534120),
        Long_create(2768370687, 3172427296), Long_create(1355703090, 2537941837), Long_create(3028118404, 4060706939), Long_create(3281488183, 3248565551), Long_create(1766197087, 2598852441), Long_create(1107928421, 4158163906), Long_create(27349277, 3326531125), Long_create(21879422, 2661224900), Long_create(35007075, 4257959840), Long_create(28005660, 3406367872), Long_create(2599384905, 2725094297), Long_create(361521006, 2180075438), Long_create(4014407446, 3488120700), Long_create(3211525957, 2790496560),
        Long_create(2569220766, 2232397248), Long_create(3251759766, 3571835597), Long_create(883420894, 2857468478), Long_create(2424723634, 2285974782), Long_create(443583977, 3657559652), Long_create(2931847559, 2926047721), Long_create(1486484588, 2340838177), Long_create(3237368801, 3745341083), Long_create(12914663, 2996272867), Long_create(2587312108, 2397018293), Long_create(3280705914, 3835229269), Long_create(3483558190, 3068183415), Long_create(2786846552, 2454546732), Long_create(1022980646, 3927274772),
        Long_create(3395364895, 3141819817), Long_create(998304997, 2513455854), Long_create(3315274914, 4021529366), Long_create(1793226472, 3217223493), Long_create(3152568096, 2573778794), Long_create(2467128576, 4118046071), Long_create(1114709402, 3294436857), Long_create(3468747899, 2635549485), Long_create(1255029343, 4216879177), Long_create(3581003852, 3373503341), Long_create(2005809622, 2698802673), Long_create(3322634616, 2159042138), Long_create(162254630, 3454467422), Long_create(2706784082, 2763573937),
        Long_create(447440347, 2210859150), Long_create(715904555, 3537374640), Long_create(572723644, 2829899712), Long_create(3035159293, 2263919769), Long_create(2279274491, 3622271631), Long_create(964426134, 2897817305), Long_create(771540907, 2318253844), Long_create(2952452370, 3709206150), Long_create(2361961896, 2967364920), Long_create(1889569516, 2373891936), Long_create(1305324308, 3798227098), Long_create(2762246365, 3038581678), Long_create(3927784010, 2430865342), Long_create(2848480580, 3889384548),
        Long_create(3996771382, 3111507638), Long_create(620436728, 2489206111), Long_create(3569679143, 3982729777), Long_create(1137756396, 3186183822), Long_create(3487185494, 2548947057), Long_create(2143522954, 4078315292), Long_create(4291798741, 3262652233), Long_create(856458615, 2610121787), Long_create(2229327243, 4176194859), Long_create(2642455254, 3340955887), Long_create(395977285, 2672764710), Long_create(633563656, 4276423536), Long_create(3942824761, 3421138828), Long_create(577279431, 2736911063),
        Long_create(2179810463, 2189528850), Long_create(3487696741, 3503246160), Long_create(2790157393, 2802596928), Long_create(3950112833, 2242077542), Long_create(2884206696, 3587324068), Long_create(4025352275, 2869859254), Long_create(4079275279, 2295887403), Long_create(1372879692, 3673419846), Long_create(239310294, 2938735877), Long_create(2768428613, 2350988701), Long_create(2711498862, 3761581922), Long_create(451212171, 3009265538), Long_create(2078956655, 2407412430), Long_create(3326330649, 3851859888),
        Long_create(84084141, 3081487911), Long_create(3503241150, 2465190328), Long_create(451225085, 3944304526), Long_create(3796953905, 3155443620), Long_create(3037563124, 2524354896), Long_create(3142114080, 4038967834), Long_create(3372684723, 3231174267), Long_create(980160860, 2584939414), Long_create(3286244294, 4135903062), Long_create(911008517, 3308722450), Long_create(728806813, 2646977960), Long_create(1166090902, 4235164736), Long_create(73879262, 3388131789), Long_create(918096869, 2710505431),
        Long_create(4170451332, 2168404344), Long_create(4095741754, 3469446951), Long_create(2417599944, 2775557561), Long_create(1075086496, 2220446049), Long_create(3438125312, 3552713678), Long_create(173519872, 2842170943), Long_create(1856802816, 2273736754), Long_create(393904128, 3637978807), Long_create(2892103680, 2910383045), Long_create(2313682944, 2328306436), Long_create(1983905792, 3725290298), Long_create(3305111552, 2980232238), Long_create(67108864, 2384185791), Long_create(2684354560, 3814697265),
        Long_create(2147483648, 3051757812), Long_create(0, 2441406250), Long_create(0, 3906250000), Long_create(0, 3125000000), Long_create(0, 2500000000), Long_create(0, 4000000000), Long_create(0, 3200000000), Long_create(0, 2560000000), Long_create(0, 4096000000), Long_create(0, 3276800000), Long_create(0, 2621440000), Long_create(0, 4194304000), Long_create(0, 3355443200), Long_create(0, 2684354560), Long_create(0, 2147483648), Long_create(3435973836, 3435973836), Long_create(1889785610, 2748779069), Long_create(2370821947, 2199023255),
        Long_create(3793315115, 3518437208), Long_create(457671715, 2814749767), Long_create(2943117749, 2251799813), Long_create(3849994940, 3602879701), Long_create(2221002492, 2882303761), Long_create(917808535, 2305843009), Long_create(3186480574, 3689348814), Long_create(3408177918, 2951479051), Long_create(1867548875, 2361183241), Long_create(1270091283, 3777893186), Long_create(157079567, 3022314549), Long_create(984657113, 2417851639), Long_create(3293438299, 3868562622), Long_create(916763721, 3094850098),
        Long_create(2451397895, 2475880078), Long_create(3063243173, 3961408125), Long_create(2450594538, 3169126500), Long_create(1960475630, 2535301200), Long_create(3136761009, 4056481920), Long_create(2509408807, 3245185536), Long_create(1148533586, 2596148429), Long_create(3555640657, 4153837486), Long_create(1985519066, 3323069989), Long_create(2447408712, 2658455991), Long_create(2197867021, 4253529586), Long_create(899300158, 3402823669), Long_create(1578433585, 2722258935), Long_create(1262746868, 2177807148),
        Long_create(1161401530, 3484491437), Long_create(3506101601, 2787593149), Long_create(3663874740, 2230074519), Long_create(3285219207, 3568119231), Long_create(1769181906, 2854495385), Long_create(1415345525, 2283596308), Long_create(1405559381, 3653754093), Long_create(2842434423, 2923003274), Long_create(3132940998, 2338402619), Long_create(2435725219, 3741444191), Long_create(1089586716, 2993155353), Long_create(2589656291, 2394524282), Long_create(707476229, 3831238852), Long_create(3142961361, 3064991081),
        Long_create(1655375629, 2451992865), Long_create(2648601007, 3923188584), Long_create(2977874265, 3138550867), Long_create(664312493, 2510840694), Long_create(2780886908, 4017345110), Long_create(2224709526, 3213876088), Long_create(3497754539, 2571100870), Long_create(1301439967, 4113761393), Long_create(2759138892, 3291009114), Long_create(3066304573, 2632807291), Long_create(3188100398, 4212491666), Long_create(1691486859, 3369993333), Long_create(3071176406, 2695994666), Long_create(1597947665, 2156795733),
        Long_create(1697722806, 3450873173), Long_create(3076165163, 2760698538), Long_create(4178919049, 2208558830), Long_create(2391303182, 3533694129), Long_create(2772036005, 2826955303), Long_create(3935615722, 2261564242), Long_create(2861011319, 3618502788), Long_create(4006795973, 2894802230), Long_create(3205436779, 2315841784), Long_create(2551718468, 3705346855), Long_create(2041374775, 2964277484), Long_create(2492093279, 2371421987), Long_create(551375410, 3794275180), Long_create(441100328, 3035420144),
        Long_create(1211873721, 2428336115), Long_create(1938997954, 3885337784), Long_create(2410191822, 3108270227), Long_create(210166539, 2486616182), Long_create(1195259923, 3978585891), Long_create(97214479, 3182868713), Long_create(1795758501, 2546294970), Long_create(2873213602, 4074071952), Long_create(580583963, 3259257562), Long_create(3041447548, 2607406049), Long_create(2289335700, 4171849679), Long_create(2690462019, 3337479743), Long_create(3870356534, 2669983794), Long_create(3615590076, 4271974071),
        Long_create(2033478602, 3417579257), Long_create(4203763259, 2734063405), Long_create(3363010607, 2187250724), Long_create(2803836594, 3499601159), Long_create(3102062734, 2799680927), Long_create(763663269, 2239744742), Long_create(2080854690, 3583591587), Long_create(4241664129, 2866873269), Long_create(4252324763, 2293498615), Long_create(2508752324, 3669597785), Long_create(2007001859, 2935678228), Long_create(3323588406, 2348542582), Long_create(1881767613, 3757668132), Long_create(4082394468, 3006134505),
        Long_create(3265915574, 2404907604), Long_create(2648484541, 3847852167), Long_create(400800715, 3078281734), Long_create(1179634031, 2462625387), Long_create(2746407909, 3940200619), Long_create(3056119786, 3152160495), Long_create(2444895829, 2521728396), Long_create(2193846408, 4034765434), Long_create(2614070585, 3227812347), Long_create(373269550, 2582249878), Long_create(4033205117, 4131599804), Long_create(4085557553, 3305279843), Long_create(691465664, 2644223875), Long_create(1106345063, 4230758200),
        Long_create(885076050, 3384606560), Long_create(708060840, 2707685248), Long_create(2284435591, 2166148198), Long_create(2796103486, 3465837117), Long_create(518895870, 2772669694), Long_create(1274110155, 2218135755), Long_create(2038576249, 3549017208), Long_create(3348847917, 2839213766), Long_create(1820084875, 2271371013), Long_create(2053142340, 3634193621), Long_create(783520413, 2907354897), Long_create(3203796708, 2325883917), Long_create(1690100896, 3721414268), Long_create(3070067635, 2977131414),
        Long_create(3315047567, 2381705131), Long_create(3586089190, 3810728210), Long_create(2868871352, 3048582568), Long_create(4013084000, 2438866054), Long_create(3843954022, 3902185687), Long_create(1357176299, 3121748550), Long_create(1085741039, 2497398840), Long_create(1737185663, 3995838144), Long_create(2248741989, 3196670515), Long_create(1798993591, 2557336412), Long_create(3737383206, 4091738259), Long_create(3848900024, 3273390607), Long_create(1361133101, 2618712486), Long_create(459826043, 4189939978),
        Long_create(2085847752, 3351951982), Long_create(4245658579, 2681561585), Long_create(2498086431, 4290498537), Long_create(280482227, 3432398830), Long_create(224385781, 2745919064), Long_create(1038502084, 2196735251), Long_create(4238583712, 3514776401), Long_create(2531873511, 2811821121), Long_create(1166505349, 2249456897), Long_create(2725402018, 3599131035), Long_create(2180321615, 2879304828), Long_create(3462244210, 2303443862), Long_create(2103616899, 3685510180), Long_create(1682893519, 2948408144),
        Long_create(2205308275, 2358726515), Long_create(3528493240, 3773962424), Long_create(3681788051, 3019169939), Long_create(3804423900, 2415335951), Long_create(74124026, 3864537523), Long_create(1777286139, 3091630018), Long_create(3139815829, 2473304014), Long_create(2446724950, 3957286423), Long_create(3675366878, 3165829138), Long_create(363313125, 2532663311), Long_create(3158281377, 4052261297), Long_create(808638183, 3241809038), Long_create(2364897465, 2593447230), Long_create(3783835944, 4149515568),
        Long_create(450088378, 3319612455), Long_create(360070702, 2655689964), Long_create(2294100042, 4249103942), Long_create(117293115, 3399283154), Long_create(952827951, 2719426523), Long_create(2480249279, 2175541218), Long_create(3109405388, 3480865949), Long_create(3346517769, 2784692759), Long_create(3536207675, 2227754207), Long_create(2221958443, 3564406732), Long_create(59579836, 2851525386), Long_create(3483637705, 2281220308), Long_create(419859574, 3649952494), Long_create(1194881118, 2919961995),
        Long_create(955904894, 2335969596), Long_create(4106428209, 3737551353), Long_create(708162189, 2990041083), Long_create(2284516670, 2392032866), Long_create(1937239754, 3827252586), Long_create(690798344, 3061802069), Long_create(1411632134, 2449441655), Long_create(2258611415, 3919106648), Long_create(3524876050, 3135285318), Long_create(242920462, 2508228255), Long_create(388672740, 4013165208), Long_create(2028925110, 3210532166), Long_create(764146629, 2568425733), Long_create(363641147, 4109481173),
        Long_create(2008899836, 3287584938), Long_create(3325106787, 2630067950), Long_create(1025203564, 4208108721), Long_create(4256136688, 3366486976), Long_create(2545915891, 2693189581), Long_create(1177739254, 2154551665), Long_create(1884382806, 3447282664), Long_create(2366499704, 2757826131), Long_create(1034206304, 2206260905), Long_create(1654730086, 3530017448), Long_create(3041770987, 2824013958), Long_create(4151403708, 2259211166), Long_create(629291719, 3614737867), Long_create(3080413753, 2891790293),
        Long_create(4182317920, 2313432234), Long_create(4114728295, 3701491575), Long_create(3291782636, 2961193260), Long_create(2633426109, 2368954608), Long_create(3354488315, 3790327373), Long_create(106610275, 3032261899), Long_create(944281679, 2425809519), Long_create(3228837605, 3881295230), Long_create(2583070084, 3105036184), Long_create(2925449526, 2484028947), Long_create(1244745405, 3974446316), Long_create(136802865, 3179557053), Long_create(1827429210, 2543645642), Long_create(3782880196, 4069833027),
        Long_create(1308317238, 3255866422), Long_create(3623634168, 2604693137), Long_create(2361840832, 4167509020), Long_create(1889472666, 3334007216), Long_create(652584673, 2667205773), Long_create(185142018, 4267529237), Long_create(2725093992, 3414023389), Long_create(3039068653, 2731218711), Long_create(1572261463, 2184974969), Long_create(4233605259, 3495959950), Long_create(3386884207, 2796767960), Long_create(2709507366, 2237414368), Long_create(3476218326, 3579862989), Long_create(3639968120, 2863890391),
        Long_create(2052981037, 2291112313), Long_create(2425776200, 3665779701), Long_create(1081627501, 2932623761), Long_create(6308541, 2346099009), Long_create(1728080585, 3753758414), Long_create(2241457927, 3003006731), Long_create(934172882, 2402405385), Long_create(1494676612, 3843848616), Long_create(336747830, 3075078893), Long_create(1987385183, 2460063114), Long_create(602835915, 3936100983), Long_create(2200255650, 3148880786), Long_create(901211061, 2519104629), Long_create(3159924616, 4030567406),
        Long_create(1668946233, 3224453925), Long_create(1335156987, 2579563140), Long_create(2136251179, 4127301024), Long_create(2567994402, 3301840819), Long_create(2913388981, 2641472655), Long_create(366455074, 4226356249), Long_create(1152157518, 3381084999), Long_create(1780719474, 2704867999), Long_create(2283569038, 2163894399), Long_create(1076730083, 3462231039), Long_create(1720377526, 2769784831), Long_create(517308561, 2215827865), Long_create(827693699, 3545324584), Long_create(1521148418, 2836259667),
        Long_create(3793899112, 2269007733), Long_create(916277824, 3630412374), Long_create(1592015718, 2904329899), Long_create(2132606034, 2323463919), Long_create(835189277, 3717542271), Long_create(4104125258, 2974033816), Long_create(2424306747, 2379227053), Long_create(3019897337, 3806763285), Long_create(2415917869, 3045410628), Long_create(3650721214, 2436328502), Long_create(2405180105, 3898125604), Long_create(2783137543, 3118500483), Long_create(3944496953, 2494800386), Long_create(298240911, 3991680619),
        Long_create(1097586188, 3193344495), Long_create(878068950, 2554675596), Long_create(3981890698, 4087480953), Long_create(608532181, 3269984763), Long_create(2204812663, 2615987810), Long_create(3527700261, 4185580496), Long_create(1963166749, 3348464397), Long_create(4147513777, 2678771517), Long_create(3200048207, 4286034428), Long_create(4278025484, 3428827542), Long_create(1704433468, 2743062034), Long_create(2222540234, 2194449627), Long_create(120090538, 3511119404), Long_create(955065889, 2808895523),
        Long_create(2482039630, 2247116418), Long_create(3112269949, 3595386269), Long_create(3348809418, 2876309015), Long_create(2679047534, 2301047212), Long_create(850502218, 3681675540), Long_create(680401775, 2945340432), Long_create(3121301797, 2356272345), Long_create(699115580, 3770035753), Long_create(2277279382, 3016028602), Long_create(103836587, 2412822882), Long_create(1025131999, 3860516611), Long_create(4256079436, 3088413288), Long_create(827883168, 2470730631), Long_create(3901593088, 3953169009)]);
        otcit_DoubleAnalyzer_exp10Table = $rt_createShortArrayFromData([(-70), (-66), (-63), (-60), (-56), (-53), (-50), (-46), (-43), (-40), (-36), (-33), (-30), (-26), (-23), (-20), (-16), (-13), (-10), (-6), (-3), 0, 4, 7, 10, 14, 17, 20, 23, 27, 30, 33, 37, 40, 43, 47, 50, 53, 57, 60, 63, 67, 70, 73, 77, 80, 83, 87, 90, 93, 97, 100, 103, 107, 110, 113, 116, 120, 123, 126, 130, 133, 136, 140, 143, 146, 150, 153, 156, 160, 163, 166, 170, 173, 176, 180, 183, 186, 190, 193, 196, 200, 203, 206, 210, 213, 216,
        219, 223, 226, 229, 233, 236, 239, 243, 246, 249, 253, 256, 259, 263, 266, 269, 273, 276, 279, 283, 286, 289, 293, 296, 299, 303, 306, 309, 312, 316, 319, 322, 326, 329, 332, 336, 339, 342, 346, 349, 352, 356, 359, 362, 366, 369, 372, 376, 379, 382, 386, 389, 392, 396, 399, 402, 406, 409, 412, 415, 419, 422, 425, 429, 432, 435, 439, 442, 445, 449, 452, 455, 459, 462, 465, 469, 472, 475, 479, 482, 485, 489, 492, 495, 499, 502, 505, 508, 512, 515, 518, 522, 525, 528, 532, 535, 538, 542, 545, 548, 552,
        555, 558, 562, 565, 568, 572, 575, 578, 582, 585, 588, 592, 595, 598, 601, 605, 608, 611, 615, 618, 621, 625, 628, 631, 635, 638, 641, 645, 648, 651, 655, 658, 661, 665, 668, 671, 675, 678, 681, 685, 688, 691, 695, 698, 701, 704, 708, 711, 714, 718, 721, 724, 728, 731, 734, 738, 741, 744, 748, 751, 754, 758, 761, 764, 768, 771, 774, 778, 781, 784, 788, 791, 794, 797, 801, 804, 807, 811, 814, 817, 821, 824, 827, 831, 834, 837, 841, 844, 847, 851, 854, 857, 861, 864, 867, 871, 874, 877, 881, 884, 887,
        891, 894, 897, 900, 904, 907, 910, 914, 917, 920, 924, 927, 930, 934, 937, 940, 944, 947, 950, 954, 957, 960, 964, 967, 970, 974, 977, 980, 984, 987, 990, 993, 997, 1000, 1003, 1007, 1010, 1013, 1017, 1020, 1023, 1027, 1030, 1033, 1037, 1040, 1043, 1047, 1050, 1053, 1057, 1060, 1063, 1067, 1070, 1073, 1077, 1080, 1083, 1086, 1090, 1093, 1096, 1100, 1103, 1106, 1110, 1113, 1116, 1120, 1123, 1126, 1130, 1133, 1136, 1140, 1143, 1146, 1150, 1153, 1156, 1160, 1163, 1166, 1170, 1173, 1176, 1180, 1183, 1186,
        1189, 1193, 1196, 1199, 1203, 1206, 1209, 1213, 1216, 1219, 1223, 1226, 1229, 1233, 1236, 1239, 1243, 1246, 1249, 1253, 1256, 1259, 1263, 1266, 1269, 1273, 1276, 1279, 1282, 1286, 1289, 1292, 1296, 1299, 1302, 1306, 1309, 1312, 1316, 1319, 1322, 1326, 1329, 1332, 1336, 1339, 1342, 1346, 1349, 1352, 1356, 1359, 1362, 1366, 1369, 1372, 1376, 1379, 1382, 1385, 1389, 1392, 1395, 1399, 1402, 1405, 1409, 1412, 1415, 1419, 1422, 1425, 1429, 1432, 1435, 1439, 1442, 1445, 1449, 1452, 1455, 1459, 1462, 1465, 1469,
        1472, 1475, 1478, 1482, 1485, 1488, 1492, 1495, 1498, 1502, 1505, 1508, 1512, 1515, 1518, 1522, 1525, 1528, 1532, 1535, 1538, 1542, 1545, 1548, 1552, 1555, 1558, 1562, 1565, 1568, 1572, 1575, 1578, 1581, 1585, 1588, 1591, 1595, 1598, 1601, 1605, 1608, 1611, 1615, 1618, 1621, 1625, 1628, 1631, 1635, 1638, 1641, 1645, 1648, 1651, 1655, 1658, 1661, 1665, 1668, 1671, 1674, 1678, 1681, 1684, 1688, 1691, 1694, 1698, 1701, 1704, 1708, 1711, 1714, 1718, 1721, 1724, 1728, 1731, 1734, 1738, 1741, 1744, 1748, 1751,
        1754, 1758, 1761, 1764, 1767, 1771, 1774, 1777, 1781, 1784, 1787, 1791, 1794, 1797, 1801, 1804, 1807, 1811, 1814, 1817, 1821, 1824, 1827, 1831, 1834, 1837, 1841, 1844, 1847, 1851, 1854, 1857, 1861, 1864, 1867, 1870, 1874, 1877, 1880, 1884, 1887, 1890, 1894, 1897, 1900, 1904, 1907, 1910, 1914, 1917, 1920, 1924, 1927, 1930, 1934, 1937, 1940, 1944, 1947, 1950, 1954, 1957, 1960, 1963, 1967, 1970, 1973, 1977, 1980, 1983, 1987, 1990, 1993, 1997, 2000, 2003, 2007, 2010, 2013, 2017, 2020, 2023, 2027, 2030, 2033,
        2037, 2040, 2043, 2047, 2050, 2053, 2057, 2060, 2063, 2066, 2070, 2073, 2076, 2080, 2083, 2086, 2090, 2093, 2096, 2100, 2103, 2106, 2110, 2113, 2116, 2120]);
    }
    function nleit_JOrbisAudioBufferDecoder() {
        var a = this; jl_Object.call(a);
        a.$inputStream = null;
        a.$endOfStream = 0;
        a.$buffer8 = null;
        a.$bufferSize = 0;
        a.$count9 = 0;
        a.$index12 = 0;
        a.$convertedBuffer = null;
        a.$pcmInfo = null;
        a.$pcmIndex = null;
        a.$joggPacket = null;
        a.$joggPage = null;
        a.$joggStreamState = null;
        a.$joggSyncState = null;
        a.$jorbisDspState = null;
        a.$jorbisBlock = null;
        a.$jorbisComment = null;
        a.$jorbisInfo = null;
        a.$errorString = null;
    }
    var nleit_JOrbisAudioBufferDecoder_logger = null;
    var nleit_JOrbisAudioBufferDecoder_instance = null;
    var nleit_JOrbisAudioBufferDecoder_$clinitCalled = false;
    function nleit_JOrbisAudioBufferDecoder_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nleit_JOrbisAudioBufferDecoder_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleit_JOrbisAudioBufferDecoder_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nleit_JOrbisAudioBufferDecoder__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nleit_JOrbisAudioBufferDecoder_$callClinit = $rt_eraseClinit(nleit_JOrbisAudioBufferDecoder);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nleit_JOrbisAudioBufferDecoder__init_0() {
        var var_0 = new nleit_JOrbisAudioBufferDecoder();
        nleit_JOrbisAudioBufferDecoder__init_(var_0);
        return var_0;
    }
    function nleit_JOrbisAudioBufferDecoder_decodeAudioJOrbis($ctx, $data, $errorString, $loadVia) {
        var $dec, $ch, $buf, $len, $lst, $buf_0, var$11, $buffer, $len2, $fl, $i, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$i = $thread.pop();$fl = $thread.pop();$len2 = $thread.pop();$buffer = $thread.pop();var$11 = $thread.pop();$buf_0 = $thread.pop();$lst = $thread.pop();$len = $thread.pop();$buf = $thread.pop();$ch = $thread.pop();$dec = $thread.pop();$loadVia = $thread.pop();$errorString = $thread.pop();$data = $thread.pop();$ctx = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_JOrbisAudioBufferDecoder_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $dec = nleit_JOrbisAudioBufferDecoder_instance;
            $ptr = 2;
        case 2:
            jl_Object_monitorEnter($dec);
            if ($rt_suspending()) {
                break main;
            }
            try {
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 3:
            try {
                $tmp = nleit_JOrbisAudioBufferDecoder_init($dec, $data, $errorString);
                if ($rt_suspending()) {
                    break main;
                }
                $ch = $tmp;
                if (!$ch) {
                    $ctx = nleit_JOrbisAudioBufferDecoder_logger;
                    $buf = $rt_s(2130);
                    $data = $rt_createArray(jl_Object, 1);
                    $data.data[0] = $errorString;
                    $ptr = 4;
                    continue main;
                }
                $ch = (-1);
                $len = 0;
                $lst = ju_LinkedList__init_0();
                $ptr = 5;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 4:
            a: {
                try {
                    oall_Logger_error($ctx, $buf, $data);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $ctx = null;
                    jl_Object_monitorExit($dec);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;
                    break a;

                }
                return $ctx;
            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 5:
            try {
                $tmp = nleit_JOrbisAudioBufferDecoder_readBytes($dec);
                if ($rt_suspending()) {
                    break main;
                }
                $data = $tmp;
                if ($data !== null) {
                    if ($ch == (-1))
                        $ch = $data.data.length;
                    $len = $len + $data.data[0].data.length | 0;
                    $ptr = 8;
                    continue main;
                }
                if ($dec.$jorbisInfo.$channels != $ch) {
                    $buf = nleit_JOrbisAudioBufferDecoder_logger;
                    $buf_0 = $rt_s(2131);
                    $data = $rt_createArray(jl_Object, 1);
                    $data.data[0] = $errorString;
                    $ptr = 6;
                    continue main;
                }
                if ($ch != (-1) && $len) {
                    switch ($loadVia) {
                        case 0:
                            var$11 = $dec.$jorbisInfo.$rate;
                            $buffer = $ctx.createBuffer($ch, $len, var$11);
                            $len2 = 0;
                            $ptr = 9;
                            continue main;
                        case 1:
                            $len2 = nleit_PCMToWAVLoader_getWAVLen($lst, 1);
                            if ($len2 && $len2 != 44) {
                                $ptr = 13;
                                continue main;
                            }
                            $ctx = nleit_JOrbisAudioBufferDecoder_logger;
                            $buf = $rt_s(2132);
                            $data = $rt_createArray(jl_Object, 1);
                            $data.data[0] = $errorString;
                            $ptr = 10;
                            continue main;
                        case 2:
                            $len2 = nleit_PCMToWAVLoader_getWAVLen($lst, 0);
                            if ($len2 && $len2 != 44) {
                                $ptr = 14;
                                continue main;
                            }
                            $ctx = nleit_JOrbisAudioBufferDecoder_logger;
                            $buf = $rt_s(2132);
                            $data = $rt_createArray(jl_Object, 1);
                            $data.data[0] = $errorString;
                            $ptr = 11;
                            continue main;
                        default:
                    }
                    $rt_throw(jl_IllegalArgumentException__init_0());
                }
                $ctx = nleit_JOrbisAudioBufferDecoder_logger;
                $buf = $rt_s(2133);
                $data = $rt_createArray(jl_Object, 1);
                $data.data[0] = $errorString;
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 6:
            try {
                oall_Logger_warn0($buf, $buf_0, $data);
                if ($rt_suspending()) {
                    break main;
                }
                if ($ch != (-1) && $len) {
                    switch ($loadVia) {
                        case 0:
                            var$11 = $dec.$jorbisInfo.$rate;
                            $buffer = $ctx.createBuffer($ch, $len, var$11);
                            $len2 = 0;
                            $ptr = 9;
                            continue main;
                        case 1:
                            $len2 = nleit_PCMToWAVLoader_getWAVLen($lst, 1);
                            if ($len2 && $len2 != 44) {
                                $ptr = 13;
                                continue main;
                            }
                            $ctx = nleit_JOrbisAudioBufferDecoder_logger;
                            $buf = $rt_s(2132);
                            $data = $rt_createArray(jl_Object, 1);
                            $data.data[0] = $errorString;
                            $ptr = 10;
                            continue main;
                        case 2:
                            $len2 = nleit_PCMToWAVLoader_getWAVLen($lst, 0);
                            if ($len2 && $len2 != 44) {
                                $ptr = 14;
                                continue main;
                            }
                            $ctx = nleit_JOrbisAudioBufferDecoder_logger;
                            $buf = $rt_s(2132);
                            $data = $rt_createArray(jl_Object, 1);
                            $data.data[0] = $errorString;
                            $ptr = 11;
                            continue main;
                        default:
                    }
                    $rt_throw(jl_IllegalArgumentException__init_0());
                }
                $ctx = nleit_JOrbisAudioBufferDecoder_logger;
                $buf = $rt_s(2133);
                $data = $rt_createArray(jl_Object, 1);
                $data.data[0] = $errorString;
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 7:
            a: {
                try {
                    oall_Logger_error($ctx, $buf, $data);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $ctx = null;
                    jl_Object_monitorExit($dec);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;
                    break a;

                }
                return $ctx;
            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 8:
            try {
                ju_AbstractList_add($lst, $data);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 5;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 9:
            a: {
                try {
                    $tmp = ju_AbstractSequentialList_iterator($lst);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $ctx = $tmp;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;
                    break a;

                }
                b: {
                    try {
                        if (ju_LinkedList$SequentialListIterator_hasNext($ctx))
                            break b;
                        jl_Object_monitorExit($dec);
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        $ctx = $$je;
                        break a;

                    }
                    return $buffer;
                }
                try {
                    $ptr = 12;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;

                }
            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 10:
            a: {
                try {
                    oall_Logger_error($ctx, $buf, $data);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $ctx = null;
                    jl_Object_monitorExit($dec);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;
                    break a;

                }
                return $ctx;
            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 11:
            a: {
                try {
                    oall_Logger_error($ctx, $buf, $data);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $ctx = null;
                    jl_Object_monitorExit($dec);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;
                    break a;

                }
                return $ctx;
            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 12:
            a: {
                try {
                    $tmp = ju_LinkedList$SequentialListIterator_next($ctx);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $errorString = $tmp;
                    $fl = $errorString;
                    $i = 0;
                    while ($i < $ch) {
                        $errorString = $fl.data[$i].data;
                        $buffer.copyToChannel($errorString, $i, $len2);
                        $i = $i + 1 | 0;
                    }
                    $len2 = $len2 + $fl.data[0].data.length | 0;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;
                    break a;

                }
                c: {
                    try {
                        if (ju_LinkedList$SequentialListIterator_hasNext($ctx))
                            break c;
                        jl_Object_monitorExit($dec);
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        $ctx = $$je;
                        break a;

                    }
                    return $buffer;
                }
                try {
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;

                }
            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 13:
            try {
                $tmp = nlei_PlatformRuntime_allocateByteBuffer($len2);
                if ($rt_suspending()) {
                    break main;
                }
                $buf = $tmp;
                try {
                    $loadVia = $dec.$jorbisInfo.$rate;
                    $ptr = 15;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;

                }
                $ptr = 25;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 14:
            try {
                $tmp = nlei_PlatformRuntime_allocateByteBuffer($len2);
                if ($rt_suspending()) {
                    break main;
                }
                $buf_0 = $tmp;
                try {
                    $loadVia = $dec.$jorbisInfo.$rate;
                    $ptr = 20;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;

                }
                $ptr = 27;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 15:
            try {
                try {
                    nleit_PCMToWAVLoader_createWAV32F($lst, $ch, $loadVia, $buf);
                    if ($rt_suspending()) {
                        break main;
                    }
                    nleib_EaglerArrayByteBuffer_flip($buf);
                    $ptr = 16;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;

                }
                $ptr = 25;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 16:
            try {
                try {
                    $tmp = nleib_EaglerArrayBufferAllocator_getDataView8($buf);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $ctx = $tmp;
                    $buf_0 = $ctx.buffer;
                    $ctx = jl_StringBuilder__init_0();
                    $ptr = 17;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;

                }
                $ptr = 25;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 17:
            try {
                try {
                    $tmp = jl_StringBuilder_append($ctx, $errorString);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $errorString = $tmp;
                    $lst = $rt_s(2134);
                    $ptr = 18;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;

                }
                $ptr = 25;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 18:
            try {
                try {
                    jl_StringBuilder_append($errorString, $lst);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $ptr = 19;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;

                }
                $ptr = 25;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 19:
            try {
                try {
                    $tmp = jl_StringBuilder_toString($ctx);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $ctx = $tmp;
                    $ptr = 26;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;

                }
                $ptr = 25;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 20:
            try {
                try {
                    nleit_PCMToWAVLoader_createWAV16($lst, $ch, $loadVia, $buf_0);
                    if ($rt_suspending()) {
                        break main;
                    }
                    nleib_EaglerArrayByteBuffer_flip($buf_0);
                    $ptr = 21;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;

                }
                $ptr = 27;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 21:
            try {
                try {
                    $tmp = nleib_EaglerArrayBufferAllocator_getDataView8($buf_0);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $ctx = $tmp;
                    $lst = $ctx.buffer;
                    $ctx = jl_StringBuilder__init_0();
                    $ptr = 22;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;

                }
                $ptr = 27;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 22:
            try {
                try {
                    $tmp = jl_StringBuilder_append($ctx, $errorString);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $errorString = $tmp;
                    $buf = $rt_s(2134);
                    $ptr = 23;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;

                }
                $ptr = 27;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 23:
            try {
                try {
                    jl_StringBuilder_append($errorString, $buf);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $ptr = 24;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;

                }
                $ptr = 27;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 24:
            try {
                try {
                    $tmp = jl_StringBuilder_toString($ctx);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $ctx = $tmp;
                    $ptr = 28;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;

                }
                $ptr = 27;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 25:
            try {
                nlei_PlatformRuntime_freeByteBuffer($buf);
                if ($rt_suspending()) {
                    break main;
                }
                $rt_throw($ctx);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 26:
            try {
                b: {
                    try {
                        $tmp = nlei_PlatformAudio_decodeAudioBrowserAsync($buf_0, $ctx);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $ctx = $tmp;
                        break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        $ctx = $$je;

                    }
                    $ptr = 25;
                    continue main;
                }
                $ptr = 29;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 27:
            try {
                nlei_PlatformRuntime_freeByteBuffer($buf_0);
                if ($rt_suspending()) {
                    break main;
                }
                $rt_throw($ctx);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 28:
            try {
                b: {
                    try {
                        $tmp = nlei_PlatformAudio_decodeAudioBrowserAsync($lst, $ctx);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $ctx = $tmp;
                        break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        $ctx = $$je;

                    }
                    $ptr = 27;
                    continue main;
                }
                $ptr = 30;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $ctx = $$je;

            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 29:
            a: {
                try {
                    nlei_PlatformRuntime_freeByteBuffer($buf);
                    if ($rt_suspending()) {
                        break main;
                    }
                    jl_Object_monitorExit($dec);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;
                    break a;

                }
                return $ctx;
            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        case 30:
            a: {
                try {
                    nlei_PlatformRuntime_freeByteBuffer($buf_0);
                    if ($rt_suspending()) {
                        break main;
                    }
                    jl_Object_monitorExit($dec);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $ctx = $$je;
                    break a;

                }
                return $ctx;
            }
            jl_Object_monitorExit($dec);
            $rt_throw($ctx);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ctx, $data, $errorString, $loadVia, $dec, $ch, $buf, $len, $lst, $buf_0, var$11, $buffer, $len2, $fl, $i, $ptr);
    }
    function nleit_JOrbisAudioBufferDecoder__init_($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nleit_JOrbisAudioBufferDecoder_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$endOfStream = 0;
            $this.$buffer8 = null;
            $this.$count9 = 0;
            $this.$index12 = 0;
            $this.$convertedBuffer = null;
            $this.$joggPacket = new cjj_Packet;
            $this.$joggPage = new cjj_Page;
            $this.$joggStreamState = cjj_StreamState__init_0();
            $this.$joggSyncState = cjj_SyncState__init_0();
            var$1 = cjj_DspState__init_0();
            $this.$jorbisDspState = var$1;
            $this.$jorbisBlock = cjj_Block__init_0(var$1);
            var$1 = new cjj_Comment;
            $ptr = 2;
        case 2:
            cjj_Comment_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$jorbisComment = var$1;
            var$1 = new cjj_Info;
            $ptr = 3;
        case 3:
            cjj_Info__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$jorbisInfo = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nleit_JOrbisAudioBufferDecoder_init($this, $data, $errorString) {
        var var$3, $bytes, $i, $channels, var$7, var$8, $result, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$result = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$channels = $thread.pop();$i = $thread.pop();$bytes = $thread.pop();var$3 = $thread.pop();$errorString = $thread.pop();$data = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$inputStream = nle_EaglerInputStream__init_($data);
            $this.$errorString = $errorString;
            var$3 = $this.$joggStreamState;
            if (var$3 !== null) {
                var$3.$body_data = null;
                var$3.$lacing_vals = null;
                var$3.$granule_vals = null;
            }
            var$3 = $this.$jorbisBlock;
            if (var$3 !== null)
                cjj_Block_clear(var$3);
            var$3 = $this.$jorbisInfo;
            if (var$3 !== null) {
                $ptr = 1;
                continue main;
            }
            var$3 = $this.$joggSyncState;
            if (var$3 !== null)
                var$3.$data6 = null;
            var$3 = $this.$inputStream;
            if (var$3 !== null)
                try {
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                    } else {
                        throw $$e;
                    }
                }
            $this.$bufferSize = 8192;
            $this.$buffer8 = null;
            $this.$count9 = 0;
            $this.$index12 = 0;
            $this.$joggStreamState = cjj_StreamState__init_0();
            $this.$jorbisBlock = cjj_Block__init_0($this.$jorbisDspState);
            $this.$jorbisDspState = cjj_DspState__init_0();
            var$3 = new cjj_Info;
            $ptr = 2;
            continue main;
        case 1:
            cjj_Info_clear(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$joggSyncState;
            if (var$3 !== null)
                var$3.$data6 = null;
            var$3 = $this.$inputStream;
            if (var$3 !== null)
                try {
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                    } else {
                        throw $$e;
                    }
                }
            $this.$bufferSize = 8192;
            $this.$buffer8 = null;
            $this.$count9 = 0;
            $this.$index12 = 0;
            $this.$joggStreamState = cjj_StreamState__init_0();
            $this.$jorbisBlock = cjj_Block__init_0($this.$jorbisDspState);
            $this.$jorbisDspState = cjj_DspState__init_0();
            var$3 = new cjj_Info;
            $ptr = 2;
        case 2:
            cjj_Info__init_(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$jorbisInfo = var$3;
            var$3 = cjj_SyncState__init_0();
            $this.$joggSyncState = var$3;
            $this.$endOfStream = 0;
            cjj_SyncState_buffer(var$3, $this.$bufferSize);
            var$3 = $this.$joggSyncState;
            $this.$buffer8 = var$3.$data6;
            $bytes = cjj_SyncState_buffer(var$3, $this.$bufferSize);
            $this.$index12 = $bytes;
            var$3 = $this.$inputStream;
            $data = $this.$joggSyncState.$data6;
            $i = $this.$bufferSize;
            $ptr = 3;
        case 3:
            $tmp = nle_EaglerInputStream_read0(var$3, $data, $bytes, $i);
            if ($rt_suspending()) {
                break main;
            }
            $bytes = $tmp;
            if ($bytes < 0)
                $bytes = 0;
            cjj_SyncState_wrote($this.$joggSyncState, $bytes);
            if (cjj_SyncState_pageout($this.$joggSyncState, $this.$joggPage) == 1) {
                cjj_StreamState_init($this.$joggStreamState, cjj_Page_serialno($this.$joggPage));
                var$3 = $this.$jorbisInfo;
                $ptr = 5;
                continue main;
            }
            if ($bytes < $this.$bufferSize) {
                a: {
                    cjj_DspState_synthesis_init($this.$jorbisDspState, $this.$jorbisInfo);
                    cjj_Block_init($this.$jorbisBlock, $this.$jorbisDspState);
                    $channels = $this.$jorbisInfo.$channels;
                    $this.$pcmInfo = $rt_createArray($rt_arraycls($rt_arraycls($rt_floatcls())), 1);
                    $this.$pcmIndex = $rt_createIntArray($channels);
                    $data = $this.$convertedBuffer;
                    if ($data !== null) {
                        $data = $data.data;
                        $bytes = $data.length;
                        if ($bytes == $channels) {
                            if ($bytes <= 0)
                                break a;
                            if ($data[0].data.length == $this.$bufferSize)
                                break a;
                        }
                    }
                    $this.$convertedBuffer = $rt_createFloatMultiArray([$this.$bufferSize, $channels]);
                }
                return 1;
            }
            $ptr = 9;
            continue main;
        case 4:
            b: {
                try {
                    nle_EaglerInputStream_close(var$3);
                    if ($rt_suspending()) {
                        break main;
                    }
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                    } else {
                        throw $$e;
                    }
                }
            }
            $this.$bufferSize = 8192;
            $this.$buffer8 = null;
            $this.$count9 = 0;
            $this.$index12 = 0;
            $this.$joggStreamState = cjj_StreamState__init_0();
            $this.$jorbisBlock = cjj_Block__init_0($this.$jorbisDspState);
            $this.$jorbisDspState = cjj_DspState__init_0();
            var$3 = new cjj_Info;
            $ptr = 2;
            continue main;
        case 5:
            cjj_Info_init(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$jorbisComment;
            $ptr = 6;
        case 6:
            cjj_Comment_init(var$3);
            if ($rt_suspending()) {
                break main;
            }
            if (cjj_StreamState_pagein($this.$joggStreamState, $this.$joggPage) < 0) {
                $ptr = 7;
                continue main;
            }
            if (cjj_StreamState_packetout($this.$joggStreamState, $this.$joggPacket) != 1) {
                $ptr = 12;
                continue main;
            }
            var$3 = $this.$jorbisInfo;
            var$7 = $this.$jorbisComment;
            var$8 = $this.$joggPacket;
            $ptr = 11;
            continue main;
        case 7:
            nleit_JOrbisAudioBufferDecoder_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nleit_JOrbisAudioBufferDecoder_logger;
            var$7 = $rt_s(2135);
            $data = $rt_createArray(jl_Object, 1);
            $data.data[0] = $errorString;
            $ptr = 8;
        case 8:
            oall_Logger_error(var$3, var$7, $data);
            if ($rt_suspending()) {
                break main;
            }
            return 0;
        case 9:
            nleit_JOrbisAudioBufferDecoder_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nleit_JOrbisAudioBufferDecoder_logger;
            var$7 = $rt_s(2136);
            $data = $rt_createArray(jl_Object, 1);
            $data.data[0] = $errorString;
            $ptr = 10;
        case 10:
            oall_Logger_error(var$3, var$7, $data);
            if ($rt_suspending()) {
                break main;
            }
            return 0;
        case 11:
            $tmp = cjj_Info_synthesis_headerin(var$3, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $bytes = $tmp;
            if ($bytes < 0) {
                $ptr = 14;
                continue main;
            }
            $i = 0;
            if ($i >= 2) {
                $this.$index12 = cjj_SyncState_buffer($this.$joggSyncState, $this.$bufferSize);
                $this.$buffer8 = $this.$joggSyncState.$data6;
                c: {
                    cjj_DspState_synthesis_init($this.$jorbisDspState, $this.$jorbisInfo);
                    cjj_Block_init($this.$jorbisBlock, $this.$jorbisDspState);
                    $channels = $this.$jorbisInfo.$channels;
                    $this.$pcmInfo = $rt_createArray($rt_arraycls($rt_arraycls($rt_floatcls())), 1);
                    $this.$pcmIndex = $rt_createIntArray($channels);
                    $data = $this.$convertedBuffer;
                    if ($data !== null) {
                        $data = $data.data;
                        $bytes = $data.length;
                        if ($bytes == $channels) {
                            if ($bytes <= 0)
                                break c;
                            if ($data[0].data.length == $this.$bufferSize)
                                break c;
                        }
                    }
                    $this.$convertedBuffer = $rt_createFloatMultiArray([$this.$bufferSize, $channels]);
                }
                return 1;
            }
            d: {
                while (true) {
                    $bytes = $rt_compare($i, 2);
                    if ($bytes >= 0)
                        break;
                    $result = cjj_SyncState_pageout($this.$joggSyncState, $this.$joggPage);
                    if (!$result)
                        break d;
                    if ($result != 1)
                        continue;
                    cjj_StreamState_pagein($this.$joggStreamState, $this.$joggPage);
                    if ($i < 2) {
                        $bytes = cjj_StreamState_packetout($this.$joggStreamState, $this.$joggPacket);
                        if ($bytes) {
                            if ($bytes == (-1)) {
                                $ptr = 20;
                                continue main;
                            }
                            var$3 = $this.$jorbisInfo;
                            var$7 = $this.$jorbisComment;
                            var$8 = $this.$joggPacket;
                            $ptr = 19;
                            continue main;
                        }
                    }
                }
            }
            $result = cjj_SyncState_buffer($this.$joggSyncState, $this.$bufferSize);
            $this.$index12 = $result;
            var$3 = $this.$inputStream;
            $data = $this.$joggSyncState.$data6;
            $channels = $this.$bufferSize;
            $ptr = 16;
            continue main;
        case 12:
            nleit_JOrbisAudioBufferDecoder_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nleit_JOrbisAudioBufferDecoder_logger;
            var$7 = $rt_s(2137);
            $data = $rt_createArray(jl_Object, 1);
            $data.data[0] = $errorString;
            $ptr = 13;
        case 13:
            oall_Logger_error(var$3, var$7, $data);
            if ($rt_suspending()) {
                break main;
            }
            return 0;
        case 14:
            nleit_JOrbisAudioBufferDecoder_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nleit_JOrbisAudioBufferDecoder_logger;
            var$7 = $rt_s(2138);
            $data = $rt_createArray(jl_Object, 1);
            $data.data[0] = $errorString;
            $ptr = 15;
        case 15:
            oall_Logger_error(var$3, var$7, $data);
            if ($rt_suspending()) {
                break main;
            }
            return 0;
        case 16:
            $tmp = nle_EaglerInputStream_read0(var$3, $data, $result, $channels);
            if ($rt_suspending()) {
                break main;
            }
            $result = $tmp;
            if ($result < 0)
                $result = 0;
            if (!$result && $bytes < 0) {
                $ptr = 17;
                continue main;
            }
            cjj_SyncState_wrote($this.$joggSyncState, $result);
            if ($i >= 2) {
                $this.$index12 = cjj_SyncState_buffer($this.$joggSyncState, $this.$bufferSize);
                $this.$buffer8 = $this.$joggSyncState.$data6;
                a: {
                    cjj_DspState_synthesis_init($this.$jorbisDspState, $this.$jorbisInfo);
                    cjj_Block_init($this.$jorbisBlock, $this.$jorbisDspState);
                    $channels = $this.$jorbisInfo.$channels;
                    $this.$pcmInfo = $rt_createArray($rt_arraycls($rt_arraycls($rt_floatcls())), 1);
                    $this.$pcmIndex = $rt_createIntArray($channels);
                    $data = $this.$convertedBuffer;
                    if ($data !== null) {
                        $data = $data.data;
                        $bytes = $data.length;
                        if ($bytes == $channels) {
                            if ($bytes <= 0)
                                break a;
                            if ($data[0].data.length == $this.$bufferSize)
                                break a;
                        }
                    }
                    $this.$convertedBuffer = $rt_createFloatMultiArray([$this.$bufferSize, $channels]);
                }
                return 1;
            }
            e: {
                while (true) {
                    $bytes = $rt_compare($i, 2);
                    if ($bytes >= 0)
                        break;
                    $result = cjj_SyncState_pageout($this.$joggSyncState, $this.$joggPage);
                    if (!$result)
                        break e;
                    if ($result != 1)
                        continue;
                    cjj_StreamState_pagein($this.$joggStreamState, $this.$joggPage);
                    if ($i < 2) {
                        $bytes = cjj_StreamState_packetout($this.$joggStreamState, $this.$joggPacket);
                        if ($bytes) {
                            if ($bytes == (-1)) {
                                $ptr = 20;
                                continue main;
                            }
                            var$3 = $this.$jorbisInfo;
                            var$7 = $this.$jorbisComment;
                            var$8 = $this.$joggPacket;
                            $ptr = 19;
                            continue main;
                        }
                    }
                }
            }
            $result = cjj_SyncState_buffer($this.$joggSyncState, $this.$bufferSize);
            $this.$index12 = $result;
            var$3 = $this.$inputStream;
            $data = $this.$joggSyncState.$data6;
            $channels = $this.$bufferSize;
            continue main;
        case 17:
            nleit_JOrbisAudioBufferDecoder_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nleit_JOrbisAudioBufferDecoder_logger;
            var$7 = $rt_s(2139);
            $data = $rt_createArray(jl_Object, 1);
            $data.data[0] = $errorString;
            $ptr = 18;
        case 18:
            oall_Logger_error(var$3, var$7, $data);
            if ($rt_suspending()) {
                break main;
            }
            return 0;
        case 19:
            cjj_Info_synthesis_headerin(var$3, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $i = $i + 1 | 0;
            f: {
                g: while (true) {
                    if ($i < 2) {
                        $bytes = cjj_StreamState_packetout($this.$joggStreamState, $this.$joggPacket);
                        if ($bytes) {
                            if ($bytes == (-1)) {
                                $ptr = 20;
                                continue main;
                            }
                            var$3 = $this.$jorbisInfo;
                            var$7 = $this.$jorbisComment;
                            var$8 = $this.$joggPacket;
                            continue main;
                        }
                    }
                    while (true) {
                        $bytes = $rt_compare($i, 2);
                        if ($bytes >= 0)
                            break f;
                        $result = cjj_SyncState_pageout($this.$joggSyncState, $this.$joggPage);
                        if (!$result)
                            break g;
                        if ($result == 1)
                            break;
                    }
                    cjj_StreamState_pagein($this.$joggStreamState, $this.$joggPage);
                }
            }
            $result = cjj_SyncState_buffer($this.$joggSyncState, $this.$bufferSize);
            $this.$index12 = $result;
            var$3 = $this.$inputStream;
            $data = $this.$joggSyncState.$data6;
            $channels = $this.$bufferSize;
            $ptr = 16;
            continue main;
        case 20:
            nleit_JOrbisAudioBufferDecoder_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = nleit_JOrbisAudioBufferDecoder_logger;
            var$7 = $rt_s(2140);
            $data = $rt_createArray(jl_Object, 1);
            $data.data[0] = $errorString;
            $ptr = 21;
        case 21:
            oall_Logger_error(var$3, var$7, $data);
            if ($rt_suspending()) {
                break main;
            }
            return 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $data, $errorString, var$3, $bytes, $i, $channels, var$7, var$8, $result, $ptr);
    }
    function nleit_JOrbisAudioBufferDecoder_readBytes($this) {
        var $returnBuffer, var$2, $f2, var$4, var$5, var$6, $bout, $bout_0, $pcmf, $i, var$11, $f1, $mono, $j, var$15, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();$j = $thread.pop();$mono = $thread.pop();$f1 = $thread.pop();var$11 = $thread.pop();$i = $thread.pop();$pcmf = $thread.pop();$bout_0 = $thread.pop();$bout = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$f2 = $thread.pop();var$2 = $thread.pop();$returnBuffer = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$endOfStream)
                return null;
            a: {
                b: {
                    $returnBuffer = null;
                    switch (cjj_SyncState_pageout($this.$joggSyncState, $this.$joggPage)) {
                        case -1:
                        case 0:
                            break;
                        default:
                            cjj_StreamState_pagein($this.$joggStreamState, $this.$joggPage);
                            if (Long_eq(cjj_Page_granulepos($this.$joggPage), Long_ZERO)) {
                                $this.$endOfStream = 1;
                                return null;
                            }
                            c: while (true) {
                                d: {
                                    switch (cjj_StreamState_packetout($this.$joggStreamState, $this.$joggPacket)) {
                                        case -1:
                                            break;
                                        case 0:
                                            break c;
                                        default:
                                            if (!cjj_Block_synthesis($this.$jorbisBlock, $this.$joggPacket))
                                                cjj_DspState_synthesis_blockin($this.$jorbisDspState, $this.$jorbisBlock);
                                            var$2 = $this.$jorbisDspState;
                                            $f2 = $this.$pcmInfo;
                                            var$4 = $this.$pcmIndex;
                                            var$5 = var$2.$pcm_returned;
                                            var$6 = var$2.$centerW;
                                            if (var$5 >= var$6)
                                                $bout = 0;
                                            else {
                                                if ($f2 !== null) {
                                                    $bout_0 = 0;
                                                    while ($bout_0 < var$2.$vi.$channels) {
                                                        var$4.data[$bout_0] = var$5;
                                                        $bout_0 = $bout_0 + 1 | 0;
                                                    }
                                                    $f2.data[0] = var$2.$pcm;
                                                }
                                                $bout = var$6 - var$5 | 0;
                                            }
                                            if ($bout > 0)
                                                break a;
                                            break d;
                                    }
                                }
                            }
                            if (!cjj_Page_eos($this.$joggPage))
                                break b;
                            $this.$endOfStream = 1;
                            break b;
                    }
                }
                if ($this.$endOfStream)
                    return $returnBuffer;
                $bout = cjj_SyncState_buffer($this.$joggSyncState, $this.$bufferSize);
                $this.$index12 = $bout;
                $pcmf = $this.$joggSyncState.$data6;
                $this.$buffer8 = $pcmf;
                try {
                    var$2 = $this.$inputStream;
                    var$5 = $this.$bufferSize;
                    $ptr = 1;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                    } else {
                        throw $$e;
                    }
                }
                return null;
            }
            $pcmf = $f2.data[0];
            $bout_0 = $this.$bufferSize;
            if ($bout < $bout_0)
                $bout_0 = $bout;
            $i = 0;
            while ($i < $this.$jorbisInfo.$channels) {
                $f2 = $pcmf.data;
                var$11 = var$4.data;
                $f1 = $this.$convertedBuffer.data[$i];
                $f2 = $f2[$i];
                $mono = var$11[$i];
                $j = 0;
                while ($j < $bout_0) {
                    $f1.data[$j] = $f2.data[$mono + $j | 0];
                    $j = $j + 1 | 0;
                }
                $i = $i + 1 | 0;
            }
            if (!($bout_0 && (var$5 + $bout_0 | 0) > var$6))
                var$2.$pcm_returned = var$5 + $bout_0 | 0;
            $pcmf = $this.$convertedBuffer;
            $ptr = 2;
            continue main;
        case 1:
            e: {
                try {
                    $tmp = nle_EaglerInputStream_read0(var$2, $pcmf, $bout, var$5);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $bout = $tmp;
                    $this.$count9 = $bout;
                    break e;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                    } else {
                        throw $$e;
                    }
                }
                return null;
            }
            if ($bout == (-1))
                return $returnBuffer;
            cjj_SyncState_wrote($this.$joggSyncState, $bout);
            if (!$this.$count9)
                $this.$endOfStream = 1;
            return $returnBuffer;
        case 2:
            e: {
                nleit_JOrbisAudioBufferDecoder_$callClinit();
                if ($rt_suspending()) {
                    break main;
                }
                if ($pcmf !== null) {
                    $bout = $pcmf.data[0].data.length;
                    if ($bout) {
                        if ($bout < $bout_0)
                            break e;
                        $bout = $bout_0;
                        break e;
                    }
                }
                $bout = 0;
            }
            if (!($returnBuffer === null && $pcmf === null) && $bout > 0) {
                if ($returnBuffer === null) {
                    $pcmf = $pcmf.data;
                    var$5 = $pcmf.length;
                    $returnBuffer = $rt_createFloatMultiArray([$bout, var$5]);
                    $f2 = $returnBuffer.data;
                    var$6 = 0;
                    while (var$6 < var$5) {
                        jl_System_arraycopy($pcmf[var$6], 0, $f2[var$6], 0, $bout);
                        var$6 = var$6 + 1 | 0;
                    }
                } else {
                    $f1 = $returnBuffer.data;
                    var$5 = $f1.length;
                    var$6 = $f1[0].data.length;
                    if ($pcmf !== null && $bout > 0) {
                        $returnBuffer = $rt_createFloatMultiArray([var$6 + $bout | 0, var$5]);
                        var$4 = $returnBuffer.data;
                        $bout_0 = 0;
                        while ($bout_0 < var$5) {
                            var$15 = $pcmf.data;
                            jl_System_arraycopy($f1[$bout_0], 0, var$4[$bout_0], 0, var$6);
                            jl_System_arraycopy(var$15[$bout_0], 0, var$4[$bout_0], var$6, $bout);
                            $bout_0 = $bout_0 + 1 | 0;
                        }
                    } else {
                        $returnBuffer = $rt_createFloatMultiArray([var$6, var$5]);
                        $f2 = $returnBuffer.data;
                        $bout = 0;
                        while ($bout < var$5) {
                            jl_System_arraycopy($f1[$bout], 0, $f2[$bout], 0, var$6);
                            $bout = $bout + 1 | 0;
                        }
                    }
                }
            } else
                $returnBuffer = null;
            f: {
                g: while (true) {
                    var$2 = $this.$jorbisDspState;
                    $f2 = $this.$pcmInfo;
                    var$4 = $this.$pcmIndex;
                    var$5 = var$2.$pcm_returned;
                    var$6 = var$2.$centerW;
                    if (var$5 >= var$6)
                        $bout = 0;
                    else {
                        if ($f2 !== null) {
                            $bout_0 = 0;
                            while ($bout_0 < var$2.$vi.$channels) {
                                var$4.data[$bout_0] = var$5;
                                $bout_0 = $bout_0 + 1 | 0;
                            }
                            $f2.data[0] = var$2.$pcm;
                        }
                        $bout = var$6 - var$5 | 0;
                    }
                    if ($bout > 0)
                        break f;
                    h: while (true) {
                        switch (cjj_StreamState_packetout($this.$joggStreamState, $this.$joggPacket)) {
                            case -1:
                                break;
                            case 0:
                                break g;
                            default:
                                break h;
                        }
                    }
                    if (cjj_Block_synthesis($this.$jorbisBlock, $this.$joggPacket))
                        continue;
                    cjj_DspState_synthesis_blockin($this.$jorbisDspState, $this.$jorbisBlock);
                }
                if (cjj_Page_eos($this.$joggPage))
                    $this.$endOfStream = 1;
                if ($this.$endOfStream)
                    return $returnBuffer;
                $bout = cjj_SyncState_buffer($this.$joggSyncState, $this.$bufferSize);
                $this.$index12 = $bout;
                $pcmf = $this.$joggSyncState.$data6;
                $this.$buffer8 = $pcmf;
                try {
                    var$2 = $this.$inputStream;
                    var$5 = $this.$bufferSize;
                    $ptr = 1;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                    } else {
                        throw $$e;
                    }
                }
                return null;
            }
            $pcmf = $f2.data[0];
            $bout_0 = $this.$bufferSize;
            if ($bout < $bout_0)
                $bout_0 = $bout;
            $i = 0;
            while ($i < $this.$jorbisInfo.$channels) {
                $f2 = $pcmf.data;
                var$11 = var$4.data;
                $f1 = $this.$convertedBuffer.data[$i];
                $f2 = $f2[$i];
                $mono = var$11[$i];
                $j = 0;
                while ($j < $bout_0) {
                    $f1.data[$j] = $f2.data[$mono + $j | 0];
                    $j = $j + 1 | 0;
                }
                $i = $i + 1 | 0;
            }
            if (!($bout_0 && (var$5 + $bout_0 | 0) > var$6))
                var$2.$pcm_returned = var$5 + $bout_0 | 0;
            $pcmf = $this.$convertedBuffer;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $returnBuffer, var$2, $f2, var$4, var$5, var$6, $bout, $bout_0, $pcmf, $i, var$11, $f1, $mono, $j, var$15, $ptr);
    }
    function nleit_JOrbisAudioBufferDecoder__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(2141);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nleit_JOrbisAudioBufferDecoder_logger = var$1;
            var$1 = new nleit_JOrbisAudioBufferDecoder;
            $ptr = 2;
        case 2:
            nleit_JOrbisAudioBufferDecoder__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nleit_JOrbisAudioBufferDecoder_instance = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nlei_PlatformApplication$3() {
        jl_Object.call(this);
        this.$val$element = null;
    }
    function nlei_PlatformApplication$3__init_(var_0) {
        var var_1 = new nlei_PlatformApplication$3();
        nlei_PlatformApplication$3__init_0(var_1, var_0);
        return var_1;
    }
    function nlei_PlatformApplication$3__init_0($this, var$1) {
        $this.$val$element = var$1;
    }
    function nlei_PlatformApplication$3_handleEvent$exported$0(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformApplication_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nlei_PlatformApplication_fileChooserMobileElement;
            var$2 = var$0.$val$element;
            if (var$1 !== var$2)
                return;
            $ptr = 2;
        case 2:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformRuntime_parent.removeChild(var$2);
            nlei_PlatformApplication_fileChooserMobileElement = null;
            nlei_PlatformApplication_fileChooserElement = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    function nlei_PlatformApplication$4() {
        var a = this; jl_Object.call(a);
        a.$val$element0 = null;
        a.$val$inputElement = null;
    }
    function nlei_PlatformApplication$4__init_(var_0, var_1) {
        var var_2 = new nlei_PlatformApplication$4();
        nlei_PlatformApplication$4__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function nlei_PlatformApplication$4__init_0($this, var$1, var$2) {
        $this.$val$element0 = var$1;
        $this.$val$inputElement = var$2;
    }
    function nlei_PlatformApplication$4_handleEvent$exported$0(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformApplication_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nlei_PlatformApplication_fileChooserMobileElement !== var$0.$val$element0)
                return;
            var$1 = var$0.$val$inputElement;
            var$2 = nlei_PlatformApplication$FileChooserCallbackImpl_instance;
            $ptr = 2;
        case 2:
            nlei_PlatformApplication_getFileChooserResult(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nlei_PlatformRuntime_parent;
            var$2 = var$0.$val$element0;
            var$1.removeChild(var$2);
            nlei_PlatformApplication_fileChooserMobileElement = null;
            nlei_PlatformApplication_fileChooserElement = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    function nlei_PlatformApplication$5() {
        jl_Object.call(this);
        this.$val$inputElement0 = null;
    }
    function nlei_PlatformApplication$5__init_(var_0) {
        var var_1 = new nlei_PlatformApplication$5();
        nlei_PlatformApplication$5__init_0(var_1, var_0);
        return var_1;
    }
    function nlei_PlatformApplication$5__init_0($this, var$1) {
        $this.$val$inputElement0 = var$1;
    }
    function nlei_PlatformApplication$5_handleEvent$exported$0(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformApplication_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nlei_PlatformApplication_fileChooserElement;
            var$2 = var$0.$val$inputElement0;
            if (var$1 !== var$2)
                return;
            var$1 = nlei_PlatformApplication$FileChooserCallbackImpl_instance;
            $ptr = 2;
        case 2:
            nlei_PlatformApplication_getFileChooserResult(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nlei_PlatformRuntime_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = nlei_PlatformRuntime_parent;
            var$2 = var$0.$val$inputElement0;
            var$1.removeChild(var$2);
            nlei_PlatformApplication_fileChooserElement = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    function nlei_PlatformApplication$6() {
        jl_Object.call(this);
        this.$val$inputElement1 = null;
    }
    function nlei_PlatformApplication$6__init_(var_0) {
        var var_1 = new nlei_PlatformApplication$6();
        nlei_PlatformApplication$6__init_0(var_1, var_0);
        return var_1;
    }
    function nlei_PlatformApplication$6__init_0($this, var$1) {
        $this.$val$inputElement1 = var$1;
    }
    function nlei_PlatformApplication$6_onTimer$exported$0(var$0) {
        var$0.$val$inputElement1.click();
    }
    function nleo_Tessellator() {
        jl_Object.call(this);
        this.$worldRenderer0 = null;
    }
    var nleo_Tessellator_instance = null;
    var nleo_Tessellator_$clinitCalled = false;
    function nleo_Tessellator_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nleo_Tessellator_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nleo_Tessellator_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nleo_Tessellator__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nleo_Tessellator_$callClinit = $rt_eraseClinit(nleo_Tessellator);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nleo_Tessellator__clinit_() {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nleo_Tessellator;
            var$2 = 2097152;
            $ptr = 1;
        case 1:
            nleo_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$3 = new nleo_WorldRenderer;
            $ptr = 2;
        case 2:
            nleo_WorldRenderer__init_(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$worldRenderer0 = var$3;
            nleo_Tessellator_instance = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, $ptr);
    }
    function nms_TileEntityFurnace() {
        var a = this; nms_TileEntity.call(a);
        a.$furnaceItemStacks = null;
        a.$furnaceBurnTime = 0;
        a.$currentItemBurnTime = 0;
        a.$furnaceCookTime = 0;
    }
    function nms_TileEntityFurnace__init_0() {
        var var_0 = new nms_TileEntityFurnace();
        nms_TileEntityFurnace__init_(var_0);
        return var_0;
    }
    function nms_TileEntityFurnace__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$furnaceItemStacks = $rt_createArray(nms_ItemStack, 3);
            $this.$furnaceBurnTime = 0;
            $this.$currentItemBurnTime = 0;
            $this.$furnaceCookTime = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_TileEntityFurnace_getStackInSlot($this, $var1) {
        return $this.$furnaceItemStacks.data[$var1];
    }
    function nms_TileEntityFurnace_decrStackSize($this, $var1, $var2) {
        var var$3, $var3;
        var$3 = $this.$furnaceItemStacks.data;
        if (var$3[$var1] === null)
            return null;
        if (var$3[$var1].$stackSize <= $var2) {
            $var3 = var$3[$var1];
            var$3[$var1] = null;
            return $var3;
        }
        $var3 = nms_ItemStack_splitStack(var$3[$var1], $var2);
        var$3 = $this.$furnaceItemStacks.data;
        if (!var$3[$var1].$stackSize)
            var$3[$var1] = null;
        return $var3;
    }
    function nms_TileEntityFurnace_setInventorySlotContents($this, $var1, $var2) {
        $this.$furnaceItemStacks.data[$var1] = $var2;
        if ($var2 !== null && $var2.$stackSize > 64)
            $var2.$stackSize = 64;
    }
    function nms_TileEntityFurnace_readFromNBT($this, $var1) {
        var $var2, $var3, $var4, var$5, $var5, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity_readFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $rt_s(2040);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getTagList($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$furnaceItemStacks = $rt_createArray(nms_ItemStack, $this.$furnaceItemStacks.data.length);
            $var3 = 0;
            if ($var3 >= nms_NBTTagList_tagCount($var2)) {
                $var2 = $rt_s(2142);
                $ptr = 3;
                continue main;
            }
            $var4 = nms_NBTTagList_tagAt($var2, $var3);
            var$5 = $rt_s(1831);
            $ptr = 6;
            continue main;
        case 3:
            $tmp = nms_NBTTagCompound_getShort($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $this.$furnaceBurnTime = $var3;
            $var2 = $rt_s(2143);
            $ptr = 4;
        case 4:
            $tmp = nms_NBTTagCompound_getShort($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $this.$furnaceCookTime = $var3;
            $var1 = $this.$furnaceItemStacks.data[1];
            $ptr = 5;
        case 5:
            $tmp = nms_TileEntityFurnace_getItemBurnTime($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $this.$currentItemBurnTime = $var3;
            return;
        case 6:
            $tmp = nms_NBTTagCompound_getByte($var4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 >= 0) {
                var$7 = $this.$furnaceItemStacks.data;
                if ($var5 < var$7.length) {
                    var$5 = new nms_ItemStack;
                    $ptr = 7;
                    continue main;
                }
            }
            $var3 = $var3 + 1 | 0;
            if ($var3 >= nms_NBTTagList_tagCount($var2)) {
                $var2 = $rt_s(2142);
                $ptr = 3;
                continue main;
            }
            $var4 = nms_NBTTagList_tagAt($var2, $var3);
            var$5 = $rt_s(1831);
            continue main;
        case 7:
            nms_ItemStack__init_6(var$5, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7[$var5] = var$5;
            $var3 = $var3 + 1 | 0;
            if ($var3 >= nms_NBTTagList_tagCount($var2)) {
                $var2 = $rt_s(2142);
                $ptr = 3;
                continue main;
            }
            $var4 = nms_NBTTagList_tagAt($var2, $var3);
            var$5 = $rt_s(1831);
            $ptr = 6;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $var5, var$7, $ptr);
    }
    function nms_TileEntityFurnace_writeToNBT($this, $var1) {
        var $var2, var$3, $var3, var$5, $var4, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var4 = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity_writeToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $rt_s(2142);
            var$3 = $this.$furnaceBurnTime << 16 >> 16;
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setShort($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $rt_s(2143);
            var$3 = $this.$furnaceCookTime << 16 >> 16;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setShort($var1, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_NBTTagList__init_0();
            $var3 = 0;
            while (true) {
                var$5 = $this.$furnaceItemStacks.data;
                if ($var3 >= var$5.length)
                    break;
                if (var$5[$var3] !== null) {
                    $var4 = nms_NBTTagCompound__init_0();
                    var$7 = $rt_s(1831);
                    var$3 = $var3 << 24 >> 24;
                    $ptr = 5;
                    continue main;
                }
                $var3 = $var3 + 1 | 0;
            }
            $var4 = $rt_s(2040);
            $ptr = 4;
        case 4:
            nms_NBTTagCompound_setTag($var1, $var4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            nms_NBTTagCompound_setByte($var4, var$7, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $this.$furnaceItemStacks.data[$var3];
            $ptr = 6;
        case 6:
            nms_ItemStack_writeToNBT(var$7, $var4);
            if ($rt_suspending()) {
                break main;
            }
            nms_NBTTagList_setTag($var2, $var4);
            while (true) {
                $var3 = $var3 + 1 | 0;
                var$5 = $this.$furnaceItemStacks.data;
                if ($var3 >= var$5.length)
                    break;
                if (var$5[$var3] === null)
                    continue;
                else {
                    $var4 = nms_NBTTagCompound__init_0();
                    var$7 = $rt_s(1831);
                    var$3 = $var3 << 24 >> 24;
                    $ptr = 5;
                    continue main;
                }
            }
            $var4 = $rt_s(2040);
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, var$5, $var4, var$7, $ptr);
    }
    function nms_TileEntityFurnace_getInventoryStackLimit($this) {
        return 64;
    }
    function nms_TileEntityFurnace_isBurning($this) {
        return $this.$furnaceBurnTime <= 0 ? 0 : 1;
    }
    function nms_TileEntityFurnace_updateEntity($this) {
        var var$1, $var1, $var2, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$furnaceBurnTime;
            $var1 = var$1 <= 0 ? 0 : 1;
            $var2 = 0;
            if (var$1 > 0)
                $this.$furnaceBurnTime = var$1 - 1 | 0;
            if (!$this.$worldObj3.$multiplayerWorld) {
                if (!$this.$furnaceBurnTime) {
                    $ptr = 1;
                    continue main;
                }
                if (nms_TileEntityFurnace_isBurning($this)) {
                    $ptr = 4;
                    continue main;
                }
                $this.$furnaceCookTime = 0;
                var$1 = $this.$furnaceBurnTime;
                if ($var1 != (var$1 <= 0 ? 0 : 1)) {
                    $var2 = 1;
                    var$4 = var$1 <= 0 ? 0 : 1;
                    var$5 = $this.$worldObj3;
                    var$6 = $this.$xCoord0;
                    var$1 = $this.$yCoord0;
                    $var1 = $this.$zCoord0;
                    $ptr = 9;
                    continue main;
                }
            }
            if (!$var2)
                return;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = nms_TileEntityFurnace_canSmelt($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1) {
                var$7 = $this.$furnaceItemStacks.data[1];
                $ptr = 3;
                continue main;
            }
            if (nms_TileEntityFurnace_isBurning($this)) {
                $ptr = 4;
                continue main;
            }
            $this.$furnaceCookTime = 0;
            var$1 = $this.$furnaceBurnTime;
            if ($var1 == (var$1 <= 0 ? 0 : 1)) {
                if (!$var2)
                    return;
                $ptr = 2;
                continue main;
            }
            $var2 = 1;
            var$4 = var$1 <= 0 ? 0 : 1;
            var$5 = $this.$worldObj3;
            var$6 = $this.$xCoord0;
            var$1 = $this.$yCoord0;
            $var1 = $this.$zCoord0;
            $ptr = 9;
            continue main;
        case 2:
            nms_TileEntity_onInventoryChanged($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            $tmp = nms_TileEntityFurnace_getItemBurnTime($this, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $this.$furnaceBurnTime = var$1;
            $this.$currentItemBurnTime = var$1;
            if (var$1 > 0) {
                $var2 = 1;
                var$8 = $this.$furnaceItemStacks.data;
                if (var$8[1] !== null) {
                    var$7 = var$8[1];
                    var$7.$stackSize = var$7.$stackSize - 1 | 0;
                    if (!var$8[1].$stackSize)
                        var$8[1] = null;
                }
            }
            if (nms_TileEntityFurnace_isBurning($this)) {
                $ptr = 4;
                continue main;
            }
            $this.$furnaceCookTime = 0;
            var$1 = $this.$furnaceBurnTime;
            if ($var1 == (var$1 <= 0 ? 0 : 1)) {
                if (!$var2)
                    return;
                $ptr = 2;
                continue main;
            }
            $var2 = 1;
            var$4 = var$1 <= 0 ? 0 : 1;
            var$5 = $this.$worldObj3;
            var$6 = $this.$xCoord0;
            var$1 = $this.$yCoord0;
            $var1 = $this.$zCoord0;
            $ptr = 9;
            continue main;
        case 4:
            $tmp = nms_TileEntityFurnace_canSmelt($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (!var$1)
                $this.$furnaceCookTime = 0;
            else {
                var$1 = $this.$furnaceCookTime + 1 | 0;
                $this.$furnaceCookTime = var$1;
                if (var$1 == 200) {
                    $this.$furnaceCookTime = 0;
                    $ptr = 5;
                    continue main;
                }
            }
            var$1 = $this.$furnaceBurnTime;
            if ($var1 == (var$1 <= 0 ? 0 : 1)) {
                if (!$var2)
                    return;
                $ptr = 2;
                continue main;
            }
            $var2 = 1;
            var$4 = var$1 <= 0 ? 0 : 1;
            var$5 = $this.$worldObj3;
            var$6 = $this.$xCoord0;
            var$1 = $this.$yCoord0;
            $var1 = $this.$zCoord0;
            $ptr = 9;
            continue main;
        case 5:
            $tmp = nms_TileEntityFurnace_canSmelt($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1) {
                $ptr = 6;
                continue main;
            }
            $var2 = 1;
            var$1 = $this.$furnaceBurnTime;
            if ($var1 == (var$1 <= 0 ? 0 : 1)) {
                if (!$var2)
                    return;
                $ptr = 2;
                continue main;
            }
            $var2 = 1;
            var$4 = var$1 <= 0 ? 0 : 1;
            var$5 = $this.$worldObj3;
            var$6 = $this.$xCoord0;
            var$1 = $this.$yCoord0;
            $var1 = $this.$zCoord0;
            $ptr = 9;
            continue main;
        case 6:
            $tmp = nms_FurnaceRecipes_smelting();
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$9 = $this.$furnaceItemStacks.data[0];
            $ptr = 7;
        case 7:
            $tmp = nms_ItemStack_getItem(var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            var$1 = var$9.$shiftedIndex;
            $ptr = 8;
        case 8:
            $tmp = nms_FurnaceRecipes_getSmeltingResult(var$7, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$8 = $this.$furnaceItemStacks.data;
            if (var$8[2] === null)
                var$8[2] = nms_ItemStack_copy(var$7);
            else if (var$8[2].$itemID == var$7.$itemID) {
                var$7 = var$8[2];
                var$7.$stackSize = var$7.$stackSize + 1 | 0;
            }
            var$8 = $this.$furnaceItemStacks.data;
            var$7 = var$8[0];
            var$7.$stackSize = var$7.$stackSize - 1 | 0;
            if (var$8[0].$stackSize <= 0)
                var$8[0] = null;
            $var2 = 1;
            var$1 = $this.$furnaceBurnTime;
            if ($var1 == (var$1 <= 0 ? 0 : 1)) {
                if (!$var2)
                    return;
                $ptr = 2;
                continue main;
            }
            $var2 = 1;
            var$4 = var$1 <= 0 ? 0 : 1;
            var$5 = $this.$worldObj3;
            var$6 = $this.$xCoord0;
            var$1 = $this.$yCoord0;
            $var1 = $this.$zCoord0;
            $ptr = 9;
        case 9:
            $tmp = nms_World_getBlockMetadata(var$5, var$6, var$1, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 10;
        case 10:
            $tmp = nms_World_getBlockTileEntity(var$5, var$6, var$1, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (!var$4) {
                $ptr = 11;
                continue main;
            }
            $ptr = 13;
            continue main;
        case 11:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_Block_stoneOvenIdle.$blockID;
            $ptr = 12;
        case 12:
            nms_World_setBlockWithNotify(var$5, var$6, var$1, $var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
            continue main;
        case 13:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_Block_stoneOvenActive.$blockID;
            $ptr = 14;
        case 14:
            nms_World_setBlockWithNotify(var$5, var$6, var$1, $var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 15;
        case 15:
            nms_World_setBlockMetadataWithNotify(var$5, var$6, var$1, $var1, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
        case 16:
            nms_World_setBlockTileEntity(var$5, var$6, var$1, $var1, var$9);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var2)
                return;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $var1, $var2, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_TileEntityFurnace_canSmelt($this) {
        var $var1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$furnaceItemStacks.data[0] === null)
                return 0;
            $ptr = 1;
        case 1:
            $tmp = nms_FurnaceRecipes_smelting();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$2 = $this.$furnaceItemStacks.data[0];
            $ptr = 2;
        case 2:
            $tmp = nms_ItemStack_getItem(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$3 = var$2.$shiftedIndex;
            $ptr = 3;
        case 3:
            $tmp = nms_FurnaceRecipes_getSmeltingResult($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 === null)
                var$3 = 0;
            else {
                var$4 = $this.$furnaceItemStacks.data;
                if (var$4[2] === null)
                    var$3 = 1;
                else {
                    var$2 = var$4[2];
                    if (var$2.$itemID == $var1.$itemID && var$2.$itemDamage == $var1.$itemDamage ? 1 : 0) {
                        if (var$4[2].$stackSize >= 64) {
                            var$3 = $this.$furnaceItemStacks.data[2].$stackSize;
                            $ptr = 4;
                            continue main;
                        }
                        var$3 = var$4[2].$stackSize;
                        var$2 = var$4[2];
                        $ptr = 5;
                        continue main;
                    }
                    var$3 = 0;
                }
            }
            return var$3;
        case 4:
            $tmp = nms_ItemStack_getMaxStackSize($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            return var$3 >= var$5 ? 0 : 1;
        case 5:
            $tmp = nms_ItemStack_getMaxStackSize(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$3 < var$5)
                return 1;
            var$3 = $this.$furnaceItemStacks.data[2].$stackSize;
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_TileEntityFurnace_getItemBurnTime($this, $var1) {
        var $var2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 === null)
                return 0;
            $ptr = 1;
        case 1:
            $tmp = nms_ItemStack_getItem($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var2 = $var1.$shiftedIndex;
            if ($var2 >= 256) {
                $ptr = 2;
                continue main;
            }
            $ptr = 3;
            continue main;
        case 2:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return $var2 == nms_Item_stick.$shiftedIndex ? 100 : $var2 == nms_Item_coal.$shiftedIndex ? 1600 : $var2 != nms_Item_bucketLava.$shiftedIndex ? 0 : 20000;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Block_blocksList.data[$var2].$blockMaterial;
            nms_Material_$callClinit();
            if ($var1 === nms_Material_wood)
                return 300;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_TileEntityChest() {
        nms_TileEntity.call(this);
        this.$chestContents = null;
    }
    function nms_TileEntityChest__init_0() {
        var var_0 = new nms_TileEntityChest();
        nms_TileEntityChest__init_(var_0);
        return var_0;
    }
    function nms_TileEntityChest__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$chestContents = $rt_createArray(nms_ItemStack, 36);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_TileEntityChest_getSizeInventory($this) {
        return 27;
    }
    function nms_TileEntityChest_getStackInSlot($this, $var1) {
        return $this.$chestContents.data[$var1];
    }
    function nms_TileEntityChest_decrStackSize($this, $var1, $var2) {
        var var$3, $var3, $var3_0, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3_0 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$chestContents.data;
            if (var$3[$var1] === null)
                return null;
            if (var$3[$var1].$stackSize <= $var2) {
                $var3 = var$3[$var1];
                var$3[$var1] = null;
                $ptr = 1;
                continue main;
            }
            $var3_0 = nms_ItemStack_splitStack(var$3[$var1], $var2);
            var$3 = $this.$chestContents.data;
            if (!var$3[$var1].$stackSize)
                var$3[$var1] = null;
            $ptr = 2;
            continue main;
        case 1:
            nms_TileEntity_onInventoryChanged($this);
            if ($rt_suspending()) {
                break main;
            }
            return $var3;
        case 2:
            nms_TileEntity_onInventoryChanged($this);
            if ($rt_suspending()) {
                break main;
            }
            return $var3_0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, $var3_0, $ptr);
    }
    function nms_TileEntityChest_setInventorySlotContents($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$chestContents.data[$var1] = $var2;
            if ($var2 !== null && $var2.$stackSize > 64)
                $var2.$stackSize = 64;
            $ptr = 1;
        case 1:
            nms_TileEntity_onInventoryChanged($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_TileEntityChest_getInvName($this) {
        return $rt_s(943);
    }
    function nms_TileEntityChest_readFromNBT($this, $var1) {
        var $var2, $var3, $var4, var$5, $var5, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity_readFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $rt_s(2040);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getTagList($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$chestContents = $rt_createArray(nms_ItemStack, 27);
            $var3 = 0;
            if ($var3 >= nms_NBTTagList_tagCount($var2))
                return;
            $var4 = nms_NBTTagList_tagAt($var2, $var3);
            $var1 = $rt_s(1831);
            $ptr = 3;
        case 3:
            $tmp = nms_NBTTagCompound_getByte($var4, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $var5 = var$5 & 255;
            if ($var5 >= 0) {
                var$7 = $this.$chestContents.data;
                if ($var5 < var$7.length) {
                    $var1 = new nms_ItemStack;
                    $ptr = 4;
                    continue main;
                }
            }
            $var3 = $var3 + 1 | 0;
            if ($var3 >= nms_NBTTagList_tagCount($var2))
                return;
            $var4 = nms_NBTTagList_tagAt($var2, $var3);
            $var1 = $rt_s(1831);
            continue main;
        case 4:
            nms_ItemStack__init_6($var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7[$var5] = $var1;
            $var3 = $var3 + 1 | 0;
            if ($var3 >= nms_NBTTagList_tagCount($var2))
                return;
            $var4 = nms_NBTTagList_tagAt($var2, $var3);
            $var1 = $rt_s(1831);
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $var5, var$7, $ptr);
    }
    function nms_TileEntityChest_writeToNBT($this, $var1) {
        var $var2, $var3, var$4, $var4, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity_writeToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_NBTTagList__init_0();
            $var3 = 0;
            while (true) {
                var$4 = $this.$chestContents.data;
                if ($var3 >= var$4.length)
                    break;
                if (var$4[$var3] !== null) {
                    $var4 = nms_NBTTagCompound__init_0();
                    var$6 = $rt_s(1831);
                    var$7 = $var3 << 24 >> 24;
                    $ptr = 3;
                    continue main;
                }
                $var3 = $var3 + 1 | 0;
            }
            $var4 = $rt_s(2040);
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setTag($var1, $var4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_NBTTagCompound_setByte($var4, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $this.$chestContents.data[$var3];
            $ptr = 4;
        case 4:
            nms_ItemStack_writeToNBT(var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            nms_NBTTagList_setTag($var2, $var4);
            while (true) {
                $var3 = $var3 + 1 | 0;
                var$4 = $this.$chestContents.data;
                if ($var3 >= var$4.length)
                    break;
                if (var$4[$var3] === null)
                    continue;
                else {
                    $var4 = nms_NBTTagCompound__init_0();
                    var$6 = $rt_s(1831);
                    var$7 = $var3 << 24 >> 24;
                    $ptr = 3;
                    continue main;
                }
            }
            $var4 = $rt_s(2040);
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $var4, var$6, var$7, $ptr);
    }
    function nms_TileEntityChest_getInventoryStackLimit($this) {
        return 64;
    }
    function nms_TileEntityChest_canInteractWith($this, $var1) {
        var var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$worldObj3;
            var$3 = $this.$xCoord0;
            var$4 = $this.$yCoord0;
            var$5 = $this.$zCoord0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockTileEntity(var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2 !== $this ? 0 : nms_Entity_getDistanceSq($var1, $this.$xCoord0 + 0.5, $this.$yCoord0 + 0.5, $this.$zCoord0 + 0.5) > 64.0 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_TileEntityDispenser() {
        var a = this; nms_TileEntity.call(a);
        a.$dispenserContents = null;
        a.$dispenserRandom = null;
    }
    function nms_TileEntityDispenser__init_0() {
        var var_0 = new nms_TileEntityDispenser();
        nms_TileEntityDispenser__init_(var_0);
        return var_0;
    }
    function nms_TileEntityDispenser__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$dispenserContents = $rt_createArray(nms_ItemStack, 9);
            $this.$dispenserRandom = new ju_Random;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_TileEntityDispenser_getStackInSlot($this, $var1) {
        return $this.$dispenserContents.data[$var1];
    }
    function nms_TileEntityDispenser_decrStackSize($this, $var1, $var2) {
        var var$3, $var3, $var3_0, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3_0 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$dispenserContents.data;
            if (var$3[$var1] === null)
                return null;
            if (var$3[$var1].$stackSize <= $var2) {
                $var3 = var$3[$var1];
                var$3[$var1] = null;
                $ptr = 1;
                continue main;
            }
            $var3_0 = nms_ItemStack_splitStack(var$3[$var1], $var2);
            var$3 = $this.$dispenserContents.data;
            if (!var$3[$var1].$stackSize)
                var$3[$var1] = null;
            $ptr = 2;
            continue main;
        case 1:
            nms_TileEntity_onInventoryChanged($this);
            if ($rt_suspending()) {
                break main;
            }
            return $var3;
        case 2:
            nms_TileEntity_onInventoryChanged($this);
            if ($rt_suspending()) {
                break main;
            }
            return $var3_0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, $var3_0, $ptr);
    }
    function nms_TileEntityDispenser_setInventorySlotContents($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$dispenserContents.data[$var1] = $var2;
            if ($var2 !== null && $var2.$stackSize > 64)
                $var2.$stackSize = 64;
            $ptr = 1;
        case 1:
            nms_TileEntity_onInventoryChanged($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_TileEntityDispenser_readFromNBT($this, $var1) {
        var $var2, $var3, $var4, var$5, $var5, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity_readFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $rt_s(2040);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getTagList($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $this.$dispenserContents = $rt_createArray(nms_ItemStack, 9);
            $var3 = 0;
            if ($var3 >= nms_NBTTagList_tagCount($var2))
                return;
            $var4 = nms_NBTTagList_tagAt($var2, $var3);
            $var1 = $rt_s(1831);
            $ptr = 3;
        case 3:
            $tmp = nms_NBTTagCompound_getByte($var4, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $var5 = var$5 & 255;
            if ($var5 >= 0) {
                var$7 = $this.$dispenserContents.data;
                if ($var5 < var$7.length) {
                    $var1 = new nms_ItemStack;
                    $ptr = 4;
                    continue main;
                }
            }
            $var3 = $var3 + 1 | 0;
            if ($var3 >= nms_NBTTagList_tagCount($var2))
                return;
            $var4 = nms_NBTTagList_tagAt($var2, $var3);
            $var1 = $rt_s(1831);
            continue main;
        case 4:
            nms_ItemStack__init_6($var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7[$var5] = $var1;
            $var3 = $var3 + 1 | 0;
            if ($var3 >= nms_NBTTagList_tagCount($var2))
                return;
            $var4 = nms_NBTTagList_tagAt($var2, $var3);
            $var1 = $rt_s(1831);
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $var5, var$7, $ptr);
    }
    function nms_TileEntityDispenser_writeToNBT($this, $var1) {
        var $var2, $var3, var$4, $var4, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity_writeToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_NBTTagList__init_0();
            $var3 = 0;
            while (true) {
                var$4 = $this.$dispenserContents.data;
                if ($var3 >= var$4.length)
                    break;
                if (var$4[$var3] !== null) {
                    $var4 = nms_NBTTagCompound__init_0();
                    var$6 = $rt_s(1831);
                    var$7 = $var3 << 24 >> 24;
                    $ptr = 3;
                    continue main;
                }
                $var3 = $var3 + 1 | 0;
            }
            $var4 = $rt_s(2040);
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setTag($var1, $var4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_NBTTagCompound_setByte($var4, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $this.$dispenserContents.data[$var3];
            $ptr = 4;
        case 4:
            nms_ItemStack_writeToNBT(var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            nms_NBTTagList_setTag($var2, $var4);
            while (true) {
                $var3 = $var3 + 1 | 0;
                var$4 = $this.$dispenserContents.data;
                if ($var3 >= var$4.length)
                    break;
                if (var$4[$var3] === null)
                    continue;
                else {
                    $var4 = nms_NBTTagCompound__init_0();
                    var$6 = $rt_s(1831);
                    var$7 = $var3 << 24 >> 24;
                    $ptr = 3;
                    continue main;
                }
            }
            $var4 = $rt_s(2040);
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $var4, var$6, var$7, $ptr);
    }
    function nms_TileEntityDispenser_getInventoryStackLimit($this) {
        return 64;
    }
    function nms_TileEntityNote() {
        var a = this; nms_TileEntity.call(a);
        a.$note = 0;
        a.$previousRedstoneState = 0;
    }
    function nms_TileEntityNote__init_0() {
        var var_0 = new nms_TileEntityNote();
        nms_TileEntityNote__init_(var_0);
        return var_0;
    }
    function nms_TileEntityNote__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$note = 0;
            $this.$previousRedstoneState = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_TileEntityNote_writeToNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity_writeToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(927);
            var$3 = $this.$note;
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setByte($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_TileEntityNote_readFromNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_TileEntity_readFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(927);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getByte($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$note = var$3;
            if (var$3 < 0)
                $this.$note = 0;
            if ($this.$note > 24)
                $this.$note = 24;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_TileEntityNote_triggerNote($this, $var1, $var2, $var3, $var4) {
        var $var6, $var5, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = $var3 + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            nms_Material_$callClinit();
            if ($var5 !== nms_Material_air)
                return;
            $var6 = $var3 - 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = 0;
            if ($var5 === nms_Material_rock)
                $var6 = 1;
            if ($var5 === nms_Material_sand)
                $var6 = 2;
            if ($var5 === nms_Material_glass)
                $var6 = 3;
            if ($var5 === nms_Material_wood)
                $var6 = 4;
            var$7 = $this.$note;
            $ptr = 3;
        case 3:
            nms_World_playNoteAt($var1, $var2, $var3, $var4, $var6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var6, $var5, var$7, $ptr);
    }
    function cjj_Info() {
        var a = this; jl_Object.call(a);
        a.$version2 = 0;
        a.$channels = 0;
        a.$rate = 0;
        a.$bitrate_upper = 0;
        a.$bitrate_nominal = 0;
        a.$bitrate_lower = 0;
        a.$blocksizes = null;
        a.$modes = 0;
        a.$maps = 0;
        a.$times = 0;
        a.$floors = 0;
        a.$residues = 0;
        a.$books = 0;
        a.$psys = 0;
        a.$mode_param = null;
        a.$map_type = null;
        a.$map_param = null;
        a.$time_type = null;
        a.$time_param = null;
        a.$floor_type = null;
        a.$floor_param = null;
        a.$residue_type = null;
        a.$residue_param = null;
        a.$book_param = null;
        a.$psy_param = null;
    }
    var cjj_Info__vorbis = null;
    var cjj_Info_$clinitCalled = false;
    function cjj_Info_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (cjj_Info_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            cjj_Info_$clinitCalled = true;
            $ptr = 1;
        case 1:
            cjj_Info__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            cjj_Info_$callClinit = $rt_eraseClinit(cjj_Info);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function cjj_Info__init_0() {
        var var_0 = new cjj_Info();
        cjj_Info__init_(var_0);
        return var_0;
    }
    function cjj_Info__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            cjj_Info_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$blocksizes = $rt_createIntArray(2);
            $this.$mode_param = null;
            $this.$map_type = null;
            $this.$map_param = null;
            $this.$time_type = null;
            $this.$time_param = null;
            $this.$floor_type = null;
            $this.$floor_param = null;
            $this.$residue_type = null;
            $this.$residue_param = null;
            $this.$book_param = null;
            $this.$psy_param = $rt_createArray(cjj_PsyInfo, 64);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function cjj_Info_init($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$rate = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function cjj_Info_clear($this) {
        var $i, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$i = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $i = 0;
            while ($i < $this.$modes) {
                $this.$mode_param.data[$i] = null;
                $i = $i + 1 | 0;
            }
            $this.$mode_param = null;
            $i = 0;
            while ($i < $this.$maps) {
                cjj_FuncMapping_$callClinit();
                $i = $i + 1 | 0;
            }
            $this.$map_param = null;
            $i = 0;
            while ($i < $this.$times) {
                cjj_FuncTime_$callClinit();
                $i = $i + 1 | 0;
            }
            $this.$time_param = null;
            $i = 0;
            while ($i < $this.$floors) {
                cjj_FuncFloor_$callClinit();
                cjj_FuncFloor_floor_P.data[$this.$floor_type.data[$i]].$free_info($this.$floor_param.data[$i]);
                $i = $i + 1 | 0;
            }
            $this.$floor_param = null;
            $i = 0;
            while ($i < $this.$residues) {
                cjj_FuncResidue_$callClinit();
                $i = $i + 1 | 0;
            }
            $this.$residue_param = null;
            $i = 0;
            while ($i < $this.$books) {
                var$2 = $this.$book_param.data;
                if (var$2[$i] !== null)
                    var$2[$i] = null;
                $i = $i + 1 | 0;
            }
            $this.$book_param = null;
            $i = 0;
            while ($i < $this.$psys) {
                $this.$psy_param.data[$i].$free();
                $i = $i + 1 | 0;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $i, var$2, $ptr);
    }
    function cjj_Info_unpack_books($this, $opb) {
        var $i, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$i = $thread.pop();$opb = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $i = cjj_Buffer_read($opb, 8) + 1 | 0;
            $this.$books = $i;
            var$3 = $this.$book_param;
            if (!(var$3 !== null && var$3.data.length == $i))
                $this.$book_param = $rt_createArray(cjj_StaticCodeBook, $i);
            $i = 0;
            while (true) {
                if ($i >= $this.$books) {
                    $i = cjj_Buffer_read($opb, 6) + 1 | 0;
                    $this.$times = $i;
                    var$3 = $this.$time_type;
                    if (!(var$3 !== null && var$3.data.length == $i))
                        $this.$time_type = $rt_createIntArray($i);
                    var$3 = $this.$time_param;
                    if (!(var$3 !== null && var$3.data.length == $i))
                        $this.$time_param = $rt_createArray(jl_Object, $i);
                    $i = 0;
                    a: {
                        while (true) {
                            if ($i >= $this.$times) {
                                $i = cjj_Buffer_read($opb, 6) + 1 | 0;
                                $this.$floors = $i;
                                var$3 = $this.$floor_type;
                                if (!(var$3 !== null && var$3.data.length == $i))
                                    $this.$floor_type = $rt_createIntArray($i);
                                var$3 = $this.$floor_param;
                                if (!(var$3 !== null && var$3.data.length == $i))
                                    $this.$floor_param = $rt_createArray(jl_Object, $i);
                                $i = 0;
                                b: {
                                    while (true) {
                                        if ($i >= $this.$floors) {
                                            $i = cjj_Buffer_read($opb, 6) + 1 | 0;
                                            $this.$residues = $i;
                                            var$3 = $this.$residue_type;
                                            if (!(var$3 !== null && var$3.data.length == $i))
                                                $this.$residue_type = $rt_createIntArray($i);
                                            var$3 = $this.$residue_param;
                                            if (!(var$3 !== null && var$3.data.length == $i))
                                                $this.$residue_param = $rt_createArray(jl_Object, $i);
                                            $i = 0;
                                            c: {
                                                while (true) {
                                                    if ($i >= $this.$residues) {
                                                        $i = cjj_Buffer_read($opb, 6) + 1 | 0;
                                                        $this.$maps = $i;
                                                        var$3 = $this.$map_type;
                                                        if (!(var$3 !== null && var$3.data.length == $i))
                                                            $this.$map_type = $rt_createIntArray($i);
                                                        var$3 = $this.$map_param;
                                                        if (!(var$3 !== null && var$3.data.length == $i))
                                                            $this.$map_param = $rt_createArray(jl_Object, $i);
                                                        $i = 0;
                                                        d: {
                                                            while (true) {
                                                                if ($i >= $this.$maps) {
                                                                    $i = cjj_Buffer_read($opb, 6) + 1 | 0;
                                                                    $this.$modes = $i;
                                                                    var$3 = $this.$mode_param;
                                                                    if (!(var$3 !== null && var$3.data.length == $i))
                                                                        $this.$mode_param = $rt_createArray(cjj_InfoMode, $i);
                                                                    $i = 0;
                                                                    while (true) {
                                                                        if ($i >= $this.$modes) {
                                                                            if (cjj_Buffer_read($opb, 1) == 1)
                                                                                return 0;
                                                                            $ptr = 10;
                                                                            continue main;
                                                                        }
                                                                        $this.$mode_param.data[$i] = cjj_InfoMode__init_0();
                                                                        $this.$mode_param.data[$i].$blockflag = cjj_Buffer_read($opb, 1);
                                                                        $this.$mode_param.data[$i].$windowtype = cjj_Buffer_read($opb, 16);
                                                                        $this.$mode_param.data[$i].$transformtype = cjj_Buffer_read($opb, 16);
                                                                        $this.$mode_param.data[$i].$mapping = cjj_Buffer_read($opb, 8);
                                                                        var$3 = $this.$mode_param.data;
                                                                        if (var$3[$i].$windowtype >= 1)
                                                                            break;
                                                                        if (var$3[$i].$transformtype >= 1)
                                                                            break;
                                                                        if (var$3[$i].$mapping >= $this.$maps)
                                                                            break;
                                                                        $i = $i + 1 | 0;
                                                                    }
                                                                    $ptr = 11;
                                                                    continue main;
                                                                }
                                                                $this.$map_type.data[$i] = cjj_Buffer_read($opb, 16);
                                                                var$3 = $this.$map_type.data;
                                                                if (var$3[$i] < 0)
                                                                    break d;
                                                                if (var$3[$i] >= 1)
                                                                    break d;
                                                                var$4 = $this.$map_param.data;
                                                                cjj_FuncMapping_$callClinit();
                                                                var$4[$i] = cjj_Mapping0_unpack(cjj_FuncMapping_mapping_P.data[var$3[$i]], $this, $opb);
                                                                if ($this.$map_param.data[$i] === null)
                                                                    break;
                                                                $i = $i + 1 | 0;
                                                            }
                                                            $ptr = 9;
                                                            continue main;
                                                        }
                                                        $ptr = 8;
                                                        continue main;
                                                    }
                                                    $this.$residue_type.data[$i] = cjj_Buffer_read($opb, 16);
                                                    var$3 = $this.$residue_type.data;
                                                    if (var$3[$i] < 0)
                                                        break c;
                                                    if (var$3[$i] >= 3)
                                                        break c;
                                                    var$4 = $this.$residue_param.data;
                                                    cjj_FuncResidue_$callClinit();
                                                    var$4[$i] = cjj_Residue0_unpack(cjj_FuncResidue_residue_P.data[var$3[$i]], $this, $opb);
                                                    if ($this.$residue_param.data[$i] === null)
                                                        break;
                                                    $i = $i + 1 | 0;
                                                }
                                                $ptr = 7;
                                                continue main;
                                            }
                                            $ptr = 6;
                                            continue main;
                                        }
                                        $this.$floor_type.data[$i] = cjj_Buffer_read($opb, 16);
                                        var$5 = $this.$floor_type.data;
                                        if (var$5[$i] < 0)
                                            break b;
                                        if (var$5[$i] >= 2)
                                            break b;
                                        var$3 = $this.$floor_param.data;
                                        cjj_FuncFloor_$callClinit();
                                        var$3[$i] = cjj_FuncFloor_floor_P.data[var$5[$i]].$unpack($this, $opb);
                                        if ($this.$floor_param.data[$i] === null)
                                            break;
                                        $i = $i + 1 | 0;
                                    }
                                    $ptr = 5;
                                    continue main;
                                }
                                $ptr = 4;
                                continue main;
                            }
                            $this.$time_type.data[$i] = cjj_Buffer_read($opb, 16);
                            var$3 = $this.$time_type.data;
                            if (var$3[$i] < 0)
                                break a;
                            if (var$3[$i] >= 1)
                                break a;
                            var$4 = $this.$time_param.data;
                            cjj_FuncTime_$callClinit();
                            var$4[$i] = cjj_Time0_unpack(cjj_FuncTime_time_P.data[var$3[$i]], $this, $opb);
                            if ($this.$time_param.data[$i] === null)
                                break;
                            $i = $i + 1 | 0;
                        }
                        $ptr = 3;
                        continue main;
                    }
                    $ptr = 2;
                    continue main;
                }
                $this.$book_param.data[$i] = cjj_StaticCodeBook__init_0();
                if (cjj_StaticCodeBook_unpack($this.$book_param.data[$i], $opb))
                    break;
                $i = $i + 1 | 0;
            }
            $ptr = 1;
        case 1:
            cjj_Info_clear($this);
            if ($rt_suspending()) {
                break main;
            }
            return (-1);
        case 2:
            cjj_Info_clear($this);
            if ($rt_suspending()) {
                break main;
            }
            return (-1);
        case 3:
            cjj_Info_clear($this);
            if ($rt_suspending()) {
                break main;
            }
            return (-1);
        case 4:
            cjj_Info_clear($this);
            if ($rt_suspending()) {
                break main;
            }
            return (-1);
        case 5:
            cjj_Info_clear($this);
            if ($rt_suspending()) {
                break main;
            }
            return (-1);
        case 6:
            cjj_Info_clear($this);
            if ($rt_suspending()) {
                break main;
            }
            return (-1);
        case 7:
            cjj_Info_clear($this);
            if ($rt_suspending()) {
                break main;
            }
            return (-1);
        case 8:
            cjj_Info_clear($this);
            if ($rt_suspending()) {
                break main;
            }
            return (-1);
        case 9:
            cjj_Info_clear($this);
            if ($rt_suspending()) {
                break main;
            }
            return (-1);
        case 10:
            cjj_Info_clear($this);
            if ($rt_suspending()) {
                break main;
            }
            return (-1);
        case 11:
            cjj_Info_clear($this);
            if ($rt_suspending()) {
                break main;
            }
            return (-1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $opb, $i, var$3, var$4, var$5, $ptr);
    }
    function cjj_Info_synthesis_headerin($this, $vc, $op) {
        var $opb, $buffer, var$5, $packtype, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$packtype = $thread.pop();var$5 = $thread.pop();$buffer = $thread.pop();$opb = $thread.pop();$op = $thread.pop();$vc = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                $opb = cjj_Buffer__init_0();
                if ($op !== null) {
                    cjj_Buffer_readinit($opb, $op.$packet_base, $op.$packet, $op.$bytes);
                    $buffer = $rt_createByteArray(6);
                    var$5 = $buffer.data;
                    $packtype = cjj_Buffer_read($opb, 8);
                    cjj_Buffer_read0($opb, $buffer, 6);
                    if (var$5[0] == 118 && var$5[1] == 111 && var$5[2] == 114 && var$5[3] == 98 && var$5[4] == 105 && var$5[5] == 115)
                        switch ($packtype) {
                            case 2:
                            case 4:
                                break a;
                            case 1:
                                if (!$op.$b_o_s)
                                    return (-1);
                                if ($this.$rate)
                                    return (-1);
                                b: {
                                    $packtype = cjj_Buffer_read($opb, 32);
                                    $this.$version2 = $packtype;
                                    if ($packtype)
                                        $packtype = (-1);
                                    else {
                                        $this.$channels = cjj_Buffer_read($opb, 8);
                                        $this.$rate = cjj_Buffer_read($opb, 32);
                                        $this.$bitrate_upper = cjj_Buffer_read($opb, 32);
                                        $this.$bitrate_nominal = cjj_Buffer_read($opb, 32);
                                        $this.$bitrate_lower = cjj_Buffer_read($opb, 32);
                                        $this.$blocksizes.data[0] = 1 << cjj_Buffer_read($opb, 4);
                                        $this.$blocksizes.data[1] = 1 << cjj_Buffer_read($opb, 4);
                                        if ($this.$rate < 1)
                                            break b;
                                        if ($this.$channels < 1)
                                            break b;
                                        $buffer = $this.$blocksizes.data;
                                        if ($buffer[0] < 8)
                                            break b;
                                        if ($buffer[1] < $buffer[0])
                                            break b;
                                        if (cjj_Buffer_read($opb, 1) != 1)
                                            break b;
                                        $packtype = 0;
                                    }
                                    return $packtype;
                                }
                                $ptr = 4;
                                continue main;
                            case 3:
                                if (!$this.$rate)
                                    return (-1);
                                var$7 = cjj_Buffer_read($opb, 32);
                                if (var$7 < 0) {
                                    $ptr = 1;
                                    continue main;
                                }
                                $buffer = $rt_createByteArray(var$7 + 1 | 0);
                                $vc.$vendor = $buffer;
                                cjj_Buffer_read0($opb, $buffer, var$7);
                                $packtype = cjj_Buffer_read($opb, 32);
                                $vc.$comments = $packtype;
                                if ($packtype < 0) {
                                    $ptr = 3;
                                    continue main;
                                }
                                $packtype = $packtype + 1 | 0;
                                $vc.$user_comments = $rt_createArray($rt_arraycls($rt_bytecls()), $packtype);
                                $vc.$comment_lengths = $rt_createIntArray($packtype);
                                var$7 = 0;
                                while (true) {
                                    if (var$7 >= $vc.$comments) {
                                        if (cjj_Buffer_read($opb, 1) == 1)
                                            return 0;
                                        $ptr = 5;
                                        continue main;
                                    }
                                    var$8 = cjj_Buffer_read($opb, 32);
                                    if (var$8 < 0)
                                        break;
                                    $vc.$comment_lengths.data[var$7] = var$8;
                                    var$5 = $vc.$user_comments.data;
                                    var$5[var$7] = $rt_createByteArray(var$8 + 1 | 0);
                                    cjj_Buffer_read0($opb, var$5[var$7], var$8);
                                    var$7 = var$7 + 1 | 0;
                                }
                                $ptr = 6;
                                continue main;
                            case 5:
                                if ($this.$rate && $vc.$vendor !== null) {
                                    $ptr = 2;
                                    continue main;
                                }
                                return (-1);
                            default:
                                break a;
                        }
                    return (-1);
                }
            }
            return (-1);
        case 1:
            cjj_Comment_clear($vc);
            if ($rt_suspending()) {
                break main;
            }
            return (-1);
        case 2:
            $tmp = cjj_Info_unpack_books($this, $opb);
            if ($rt_suspending()) {
                break main;
            }
            $packtype = $tmp;
            return $packtype;
        case 3:
            cjj_Comment_clear($vc);
            if ($rt_suspending()) {
                break main;
            }
            return (-1);
        case 4:
            cjj_Info_clear($this);
            if ($rt_suspending()) {
                break main;
            }
            return (-1);
        case 5:
            cjj_Comment_clear($vc);
            if ($rt_suspending()) {
                break main;
            }
            return (-1);
        case 6:
            cjj_Comment_clear($vc);
            if ($rt_suspending()) {
                break main;
            }
            return (-1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $vc, $op, $opb, $buffer, var$5, $packtype, var$7, var$8, $ptr);
    }
    function cjj_Info__clinit_() {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(2144);
            $ptr = 1;
        case 1:
            $tmp = jl_String_getBytes(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            cjj_Info__vorbis = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    var nleit_PCMToWAVLoader = $rt_classWithoutFields();
    function nleit_PCMToWAVLoader__init_0() {
        var var_0 = new nleit_PCMToWAVLoader();
        nleit_PCMToWAVLoader__init_(var_0);
        return var_0;
    }
    function nleit_PCMToWAVLoader__init_($this) {}
    function nleit_PCMToWAVLoader_getWAVLen($data, $floating) {
        var $i, $j, $f, $k;
        $i = 44;
        $j = !$floating ? 2 : 4;
        $data = ju_AbstractSequentialList_iterator($data);
        while (ju_LinkedList$SequentialListIterator_hasNext($data)) {
            $f = (ju_LinkedList$SequentialListIterator_next($data)).data;
            $k = $f.length;
            if (!$k)
                continue;
            $i = $i + $rt_imul($rt_imul($k, $f[0].data.length), $j) | 0;
        }
        return $i;
    }
    function nleit_PCMToWAVLoader_createWAV16($data, $chCount, $sampleRate, $bufferOut) {
        var $finalSize, $val, var$7, var$8, $i, $l, $c, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();$c = $thread.pop();$l = $thread.pop();$i = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$val = $thread.pop();$finalSize = $thread.pop();$bufferOut = $thread.pop();$sampleRate = $thread.pop();$chCount = $thread.pop();$data = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($chCount && !ju_AbstractCollection_isEmpty($data)) {
                $finalSize = nleib_EaglerArrayByteBuffer_remaining($bufferOut);
                $val = 1179011410;
                $ptr = 1;
                continue main;
            }
            return;
        case 1:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $val);
            if ($rt_suspending()) {
                break main;
            }
            $val = $finalSize - 8 | 0;
            $ptr = 2;
        case 2:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $val);
            if ($rt_suspending()) {
                break main;
            }
            $val = 1163280727;
            $ptr = 3;
        case 3:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $val);
            if ($rt_suspending()) {
                break main;
            }
            $val = 544501094;
            $ptr = 4;
        case 4:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $val);
            if ($rt_suspending()) {
                break main;
            }
            $val = 16;
            $ptr = 5;
        case 5:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $val);
            if ($rt_suspending()) {
                break main;
            }
            $val = 1;
            $ptr = 6;
        case 6:
            nleib_EaglerArrayByteBuffer_putShort($bufferOut, $val);
            if ($rt_suspending()) {
                break main;
            }
            $val = $chCount << 16 >> 16;
            $ptr = 7;
        case 7:
            nleib_EaglerArrayByteBuffer_putShort($bufferOut, $val);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $sampleRate);
            if ($rt_suspending()) {
                break main;
            }
            $sampleRate = $rt_imul($sampleRate, $chCount) * 2 | 0;
            $ptr = 9;
        case 9:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $sampleRate);
            if ($rt_suspending()) {
                break main;
            }
            $sampleRate = ($chCount * 2 | 0) << 16 >> 16;
            $ptr = 10;
        case 10:
            nleib_EaglerArrayByteBuffer_putShort($bufferOut, $sampleRate);
            if ($rt_suspending()) {
                break main;
            }
            $sampleRate = 16;
            $ptr = 11;
        case 11:
            nleib_EaglerArrayByteBuffer_putShort($bufferOut, $sampleRate);
            if ($rt_suspending()) {
                break main;
            }
            $sampleRate = 1635017060;
            $ptr = 12;
        case 12:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $sampleRate);
            if ($rt_suspending()) {
                break main;
            }
            $sampleRate = $finalSize - 44 | 0;
            $ptr = 13;
        case 13:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $sampleRate);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            $tmp = ju_AbstractSequentialList_iterator($data);
            if ($rt_suspending()) {
                break main;
            }
            $data = $tmp;
            if (ju_LinkedList$SequentialListIterator_hasNext($data)) {
                $ptr = 15;
                continue main;
            }
            if (!nleib_EaglerArrayByteBuffer_hasRemaining($bufferOut))
                return;
            $data = new jl_IllegalStateException;
            $chCount = nleib_EaglerArrayByteBuffer_remaining($bufferOut);
            $bufferOut = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($bufferOut);
            var$7 = $rt_s(2145);
            $ptr = 16;
            continue main;
        case 15:
            $tmp = ju_LinkedList$SequentialListIterator_next($data);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$8 = var$7.data;
            $i = 0;
            $l = var$8[0].data.length;
            while ($i < $l) {
                $c = 0;
                if ($c < $chCount) {
                    $val = var$8[$c].data[$i] * 32767.0 | 0;
                    if ($val > 32767)
                        $val = 32767;
                    if ($val < (-32768))
                        $val = (-32768);
                    if ($val < 0)
                        $val = $val | 32768;
                    $sampleRate = $val << 16 >> 16;
                    $ptr = 19;
                    continue main;
                }
                $i = $i + 1 | 0;
            }
            if (ju_LinkedList$SequentialListIterator_hasNext($data)) {
                continue main;
            }
            if (!nleib_EaglerArrayByteBuffer_hasRemaining($bufferOut))
                return;
            $data = new jl_IllegalStateException;
            $chCount = nleib_EaglerArrayByteBuffer_remaining($bufferOut);
            $bufferOut = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($bufferOut);
            var$7 = $rt_s(2145);
            $ptr = 16;
        case 16:
            $tmp = jl_StringBuilder_append($bufferOut, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append0(var$7, $chCount);
            var$12 = $rt_s(2146);
            $ptr = 17;
        case 17:
            jl_StringBuilder_append(var$7, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 18;
        case 18:
            $tmp = jl_AbstractStringBuilder_toString($bufferOut);
            if ($rt_suspending()) {
                break main;
            }
            $bufferOut = $tmp;
            jl_Throwable__init_($data, $bufferOut);
            $rt_throw($data);
        case 19:
            nleib_EaglerArrayByteBuffer_putShort($bufferOut, $sampleRate);
            if ($rt_suspending()) {
                break main;
            }
            $c = $c + 1 | 0;
            while (true) {
                if ($c < $chCount) {
                    $val = var$8[$c].data[$i] * 32767.0 | 0;
                    if ($val > 32767)
                        $val = 32767;
                    if ($val < (-32768))
                        $val = (-32768);
                    if ($val < 0)
                        $val = $val | 32768;
                    $sampleRate = $val << 16 >> 16;
                    continue main;
                }
                $i = $i + 1 | 0;
                if ($i >= $l)
                    break;
                $c = 0;
            }
            if (ju_LinkedList$SequentialListIterator_hasNext($data)) {
                $ptr = 15;
                continue main;
            }
            if (!nleib_EaglerArrayByteBuffer_hasRemaining($bufferOut))
                return;
            $data = new jl_IllegalStateException;
            $chCount = nleib_EaglerArrayByteBuffer_remaining($bufferOut);
            $bufferOut = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($bufferOut);
            var$7 = $rt_s(2145);
            $ptr = 16;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($data, $chCount, $sampleRate, $bufferOut, $finalSize, $val, var$7, var$8, $i, $l, $c, var$12, $ptr);
    }
    function nleit_PCMToWAVLoader_createWAV32F($data, $chCount, $sampleRate, $bufferOut) {
        var $finalSize, $l, var$7, var$8, $i, $c, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$c = $thread.pop();$i = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$l = $thread.pop();$finalSize = $thread.pop();$bufferOut = $thread.pop();$sampleRate = $thread.pop();$chCount = $thread.pop();$data = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($chCount && !ju_AbstractCollection_isEmpty($data)) {
                $finalSize = nleib_EaglerArrayByteBuffer_remaining($bufferOut);
                $l = 1179011410;
                $ptr = 1;
                continue main;
            }
            return;
        case 1:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $l);
            if ($rt_suspending()) {
                break main;
            }
            $l = $finalSize - 8 | 0;
            $ptr = 2;
        case 2:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $l);
            if ($rt_suspending()) {
                break main;
            }
            $l = 1163280727;
            $ptr = 3;
        case 3:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $l);
            if ($rt_suspending()) {
                break main;
            }
            $l = 544501094;
            $ptr = 4;
        case 4:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $l);
            if ($rt_suspending()) {
                break main;
            }
            $l = 16;
            $ptr = 5;
        case 5:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $l);
            if ($rt_suspending()) {
                break main;
            }
            $l = 3;
            $ptr = 6;
        case 6:
            nleib_EaglerArrayByteBuffer_putShort($bufferOut, $l);
            if ($rt_suspending()) {
                break main;
            }
            $l = $chCount << 16 >> 16;
            $ptr = 7;
        case 7:
            nleib_EaglerArrayByteBuffer_putShort($bufferOut, $l);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $sampleRate);
            if ($rt_suspending()) {
                break main;
            }
            $sampleRate = $rt_imul($sampleRate, $chCount) * 4 | 0;
            $ptr = 9;
        case 9:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $sampleRate);
            if ($rt_suspending()) {
                break main;
            }
            $sampleRate = ($chCount * 4 | 0) << 16 >> 16;
            $ptr = 10;
        case 10:
            nleib_EaglerArrayByteBuffer_putShort($bufferOut, $sampleRate);
            if ($rt_suspending()) {
                break main;
            }
            $sampleRate = 32;
            $ptr = 11;
        case 11:
            nleib_EaglerArrayByteBuffer_putShort($bufferOut, $sampleRate);
            if ($rt_suspending()) {
                break main;
            }
            $sampleRate = 1635017060;
            $ptr = 12;
        case 12:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $sampleRate);
            if ($rt_suspending()) {
                break main;
            }
            $sampleRate = $finalSize - 44 | 0;
            $ptr = 13;
        case 13:
            nleib_EaglerArrayByteBuffer_putInt0($bufferOut, $sampleRate);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            $tmp = ju_AbstractSequentialList_iterator($data);
            if ($rt_suspending()) {
                break main;
            }
            $data = $tmp;
            if (ju_LinkedList$SequentialListIterator_hasNext($data)) {
                $ptr = 15;
                continue main;
            }
            if (!nleib_EaglerArrayByteBuffer_hasRemaining($bufferOut))
                return;
            $data = new jl_IllegalStateException;
            $chCount = nleib_EaglerArrayByteBuffer_remaining($bufferOut);
            $bufferOut = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($bufferOut);
            var$7 = $rt_s(2145);
            $ptr = 16;
            continue main;
        case 15:
            $tmp = ju_LinkedList$SequentialListIterator_next($data);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$8 = var$7.data;
            $i = 0;
            $l = var$8[0].data.length;
            while (true) {
                if ($i >= $l) {
                    if (ju_LinkedList$SequentialListIterator_hasNext($data)) {
                        continue main;
                    }
                    if (!nleib_EaglerArrayByteBuffer_hasRemaining($bufferOut))
                        return;
                    $data = new jl_IllegalStateException;
                    $chCount = nleib_EaglerArrayByteBuffer_remaining($bufferOut);
                    $bufferOut = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($bufferOut);
                    var$7 = $rt_s(2145);
                    $ptr = 16;
                    continue main;
                }
                $c = 0;
                if ($c < $chCount)
                    break;
                $i = $i + 1 | 0;
            }
            var$11 = var$8[$c].data[$i];
            $ptr = 19;
            continue main;
        case 16:
            $tmp = jl_StringBuilder_append($bufferOut, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            jl_AbstractStringBuilder_append0(var$7, $finalSize);
            jl_AbstractStringBuilder_append(var$7, 32);
            jl_AbstractStringBuilder_append0(var$7, $chCount);
            var$12 = $rt_s(2146);
            $ptr = 17;
        case 17:
            jl_StringBuilder_append(var$7, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 18;
        case 18:
            $tmp = jl_AbstractStringBuilder_toString($bufferOut);
            if ($rt_suspending()) {
                break main;
            }
            $bufferOut = $tmp;
            jl_Throwable__init_($data, $bufferOut);
            $rt_throw($data);
        case 19:
            nleib_EaglerArrayByteBuffer_putFloat($bufferOut, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $c = $c + 1 | 0;
            while ($c >= $chCount) {
                $i = $i + 1 | 0;
                if ($i >= $l) {
                    if (ju_LinkedList$SequentialListIterator_hasNext($data)) {
                        $ptr = 15;
                        continue main;
                    }
                    if (!nleib_EaglerArrayByteBuffer_hasRemaining($bufferOut))
                        return;
                    $data = new jl_IllegalStateException;
                    $chCount = nleib_EaglerArrayByteBuffer_remaining($bufferOut);
                    $bufferOut = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($bufferOut);
                    var$7 = $rt_s(2145);
                    $ptr = 16;
                    continue main;
                }
                $c = 0;
            }
            var$11 = var$8[$c].data[$i];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($data, $chCount, $sampleRate, $bufferOut, $finalSize, $l, var$7, var$8, $i, $c, var$11, var$12, $ptr);
    }
    function cjj_SyncState() {
        var a = this; jl_Object.call(a);
        a.$data6 = null;
        a.$storage = 0;
        a.$fill3 = 0;
        a.$returned = 0;
        a.$unsynced = 0;
        a.$headerbytes = 0;
        a.$bodybytes = 0;
        a.$pageseek = null;
        a.$chksum = null;
    }
    function cjj_SyncState__init_0() {
        var var_0 = new cjj_SyncState();
        cjj_SyncState__init_(var_0);
        return var_0;
    }
    function cjj_SyncState__init_($this) {
        $this.$pageseek = new cjj_Page;
        $this.$chksum = $rt_createByteArray(4);
    }
    function cjj_SyncState_buffer($this, $size) {
        var $newsize, var$3, var$4, var$5, $foo;
        $newsize = $this.$returned;
        if ($newsize) {
            var$3 = $this.$fill3 - $newsize | 0;
            $this.$fill3 = var$3;
            if (var$3 > 0) {
                var$4 = $this.$data6;
                jl_System_fastArraycopy(var$4, $newsize, var$4, 0, var$3);
            }
            $this.$returned = 0;
        }
        $newsize = $this.$storage;
        var$3 = $this.$fill3;
        if ($size > ($newsize - var$3 | 0)) {
            $newsize = ($size + var$3 | 0) + 4096 | 0;
            var$4 = $this.$data6;
            if (var$4 === null)
                $this.$data6 = $rt_createByteArray($newsize);
            else {
                var$5 = var$4.data;
                $foo = $rt_createByteArray($newsize);
                jl_System_fastArraycopy(var$4, 0, $foo, 0, var$5.length);
                $this.$data6 = $foo;
            }
            $this.$storage = $newsize;
        }
        return $this.$fill3;
    }
    function cjj_SyncState_wrote($this, $bytes) {
        $bytes = $this.$fill3 + $bytes | 0;
        if ($bytes > $this.$storage)
            return (-1);
        $this.$fill3 = $bytes;
        return 0;
    }
    function cjj_SyncState_pageseek($this, $og) {
        var $page, $_headerbytes, $bytes, var$5, $next, $i, var$8, $ii, var$10, var$11, $next_0, var$13, $log, var$15, var$16, $$je;
        $page = $this.$returned;
        $_headerbytes = $this.$fill3;
        $bytes = $_headerbytes - $page | 0;
        if (!$this.$headerbytes) {
            if ($bytes < 27)
                return 0;
            var$5 = $this.$data6.data;
            if (var$5[$page] == 79 && var$5[$page + 1 | 0] == 103 && var$5[$page + 2 | 0] == 103 && var$5[$page + 3 | 0] == 83) {
                $next = $page + 26 | 0;
                $_headerbytes = (var$5[$next] & 255) + 27 | 0;
                if ($bytes < $_headerbytes)
                    return 0;
                $i = 0;
                var$8 = $page + 27 | 0;
                while ($i < (var$5[$next] & 255)) {
                    $this.$bodybytes = $this.$bodybytes + (var$5[var$8 + $i | 0] & 255) | 0;
                    $i = $i + 1 | 0;
                }
                $this.$headerbytes = $_headerbytes;
            } else {
                $this.$headerbytes = 0;
                $this.$bodybytes = 0;
                $ii = 0;
                $i = $bytes - 1 | 0;
                var$10 = $page + 1 | 0;
                a: {
                    while (true) {
                        if ($ii >= $i) {
                            var$8 = 0;
                            break a;
                        }
                        var$8 = var$10 + $ii | 0;
                        if (var$5[var$8] == 79)
                            break;
                        $ii = $ii + 1 | 0;
                    }
                }
                if (var$8)
                    $_headerbytes = var$8;
                $this.$returned = $_headerbytes;
                return  -($_headerbytes - $page | 0) | 0;
            }
        }
        if (($this.$bodybytes + $this.$headerbytes | 0) > $bytes)
            return 0;
        var$5 = $this.$chksum;
        jl_Object_monitorEnterSync(var$5);
        b: {
            c: {
                try {
                    var$11 = $this.$data6;
                    $next_0 = $page + 22 | 0;
                    jl_System_fastArraycopy(var$11, $next_0, var$5, 0, 4);
                    var$11 = $this.$data6;
                    var$13 = var$11.data;
                    var$13[$next_0] = 0;
                    $ii = $page + 23 | 0;
                    var$13[$ii] = 0;
                    $_headerbytes = $page + 24 | 0;
                    var$13[$_headerbytes] = 0;
                    $i = $page + 25 | 0;
                    var$13[$i] = 0;
                    $log = $this.$pageseek;
                    $log.$header_base = var$11;
                    $log.$header = $page;
                    $next = $this.$headerbytes;
                    $log.$header_len = $next;
                    $log.$body_base = var$11;
                    $log.$body3 = $page + $next | 0;
                    $log.$body_len = $this.$bodybytes;
                    cjj_Page_checksum($log);
                    var$11 = $this.$chksum;
                    var$13 = var$11.data;
                    $next = var$13[0];
                    var$15 = $this.$data6;
                    var$16 = var$15.data;
                    if ($next != var$16[$next_0])
                        break c;
                    if (var$13[1] != var$16[$ii])
                        break c;
                    if (var$13[2] != var$16[$_headerbytes])
                        break c;
                    if (var$13[3] != var$16[$i])
                        break c;
                    jl_Object_monitorExitSync(var$5);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $og = $$je;
                    break b;

                }
                $next = $this.$returned;
                if ($og !== null) {
                    $og.$header_base = var$15;
                    $og.$header = $next;
                    $ii = $this.$headerbytes;
                    $og.$header_len = $ii;
                    $og.$body_base = var$15;
                    $og.$body3 = $next + $ii | 0;
                    $og.$body_len = $this.$bodybytes;
                }
                $this.$unsynced = 0;
                $ii = $this.$headerbytes + $this.$bodybytes | 0;
                $this.$returned = $next + $ii | 0;
                $this.$headerbytes = 0;
                $this.$bodybytes = 0;
                return $ii;
            }
            try {
                jl_System_fastArraycopy(var$11, 0, var$15, $next_0, 4);
                $this.$headerbytes = 0;
                $this.$bodybytes = 0;
                $ii = 0;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $og = $$je;
                break b;

            }
            $bytes = $bytes - 1 | 0;
            $i = $page + 1 | 0;
            d: {
                try {
                    while ($ii < $bytes) {
                        var$11 = $this.$data6.data;
                        $_headerbytes = $i + $ii | 0;
                        if (var$11[$_headerbytes] == 79)
                            break d;
                        $ii = $ii + 1 | 0;
                    }
                    $_headerbytes = 0;
                    break d;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $og = $$je;
                    break b;

                }
            }
            e: {
                try {
                    if ($_headerbytes)
                        break e;
                    $_headerbytes = $this.$fill3;
                    break e;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $og = $$je;
                    break b;

                }
            }
            try {
                $this.$returned = $_headerbytes;
                $next =  -($_headerbytes - $page | 0) | 0;
                jl_Object_monitorExitSync(var$5);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $og = $$je;
                break b;

            }
            return $next;
        }
        jl_Object_monitorExitSync(var$5);
        $rt_throw($og);
    }
    function cjj_SyncState_pageout($this, $og) {
        var $ret;
        while (true) {
            $ret = cjj_SyncState_pageseek($this, $og);
            if ($ret > 0)
                break;
            if (!$ret)
                return 0;
            if (!$this.$unsynced) {
                $this.$unsynced = 1;
                return (-1);
            }
        }
        return 1;
    }
    function cjj_StreamState() {
        var a = this; jl_Object.call(a);
        a.$body_data = null;
        a.$body_storage = 0;
        a.$body_fill = 0;
        a.$body_returned = 0;
        a.$lacing_vals = null;
        a.$granule_vals = null;
        a.$lacing_storage = 0;
        a.$lacing_fill = 0;
        a.$lacing_packet = 0;
        a.$lacing_returned = 0;
        a.$header0 = null;
        a.$e_o_s = 0;
        a.$serialno0 = 0;
        a.$pageno = 0;
        a.$packetno = Long_ZERO;
    }
    function cjj_StreamState__init_0() {
        var var_0 = new cjj_StreamState();
        cjj_StreamState__init_(var_0);
        return var_0;
    }
    function cjj_StreamState__init_($this) {
        $this.$header0 = $rt_createByteArray(282);
        cjj_StreamState_init0($this);
    }
    function cjj_StreamState_init0($this) {
        $this.$body_storage = 16384;
        $this.$body_data = $rt_createByteArray(16384);
        $this.$lacing_storage = 1024;
        $this.$lacing_vals = $rt_createIntArray(1024);
        $this.$granule_vals = $rt_createLongArray(1024);
    }
    function cjj_StreamState_init($this, $serialno) {
        var var$2, $i, var$4, $i_0;
        a: {
            var$2 = $this.$body_data;
            if (var$2 === null)
                cjj_StreamState_init0($this);
            else {
                $i = 0;
                while (true) {
                    var$4 = var$2.data;
                    if ($i >= var$4.length)
                        break;
                    var$4[$i] = 0;
                    $i = $i + 1 | 0;
                }
                $i_0 = 0;
                while (true) {
                    var$2 = $this.$lacing_vals.data;
                    if ($i_0 >= var$2.length)
                        break;
                    var$2[$i_0] = 0;
                    $i_0 = $i_0 + 1 | 0;
                }
                $i_0 = 0;
                while (true) {
                    var$2 = $this.$granule_vals.data;
                    if ($i_0 >= var$2.length)
                        break a;
                    var$2[$i_0] = Long_ZERO;
                    $i_0 = $i_0 + 1 | 0;
                }
            }
        }
        $this.$serialno0 = $serialno;
    }
    function cjj_StreamState_body_expand($this, $needed) {
        var var$2, $foo, var$4;
        var$2 = $this.$body_storage;
        if (var$2 <= ($this.$body_fill + $needed | 0)) {
            $needed = var$2 + ($needed + 1024 | 0) | 0;
            $this.$body_storage = $needed;
            $foo = $rt_createByteArray($needed);
            var$4 = $this.$body_data;
            jl_System_fastArraycopy(var$4, 0, $foo, 0, var$4.data.length);
            $this.$body_data = $foo;
        }
    }
    function cjj_StreamState_lacing_expand($this, $needed) {
        var var$2, $foo, $bar;
        var$2 = $this.$lacing_storage;
        if (var$2 <= ($this.$lacing_fill + $needed | 0)) {
            $needed = var$2 + ($needed + 32 | 0) | 0;
            $this.$lacing_storage = $needed;
            $foo = $rt_createIntArray($needed);
            $bar = $this.$lacing_vals;
            jl_System_fastArraycopy($bar, 0, $foo, 0, $bar.data.length);
            $this.$lacing_vals = $foo;
            $bar = $rt_createLongArray($this.$lacing_storage);
            $foo = $this.$granule_vals;
            jl_System_fastArraycopy($foo, 0, $bar, 0, $foo.data.length);
            $this.$granule_vals = $bar;
        }
    }
    function cjj_StreamState_packetout($this, $op) {
        var $ptr_0, var$3, $size, var$5, var$6, $val, var$8;
        $ptr_0 = $this.$lacing_returned;
        if ($this.$lacing_packet <= $ptr_0)
            return 0;
        var$3 = $this.$lacing_vals.data;
        if (var$3[$ptr_0] & 1024) {
            $this.$lacing_returned = $ptr_0 + 1 | 0;
            $this.$packetno = Long_add($this.$packetno, Long_fromInt(1));
            return (-1);
        }
        $size = var$3[$ptr_0] & 255;
        $op.$packet_base = $this.$body_data;
        var$5 = $this.$body_returned;
        $op.$packet = var$5;
        $op.$e_o_s0 = var$3[$ptr_0] & 512;
        $op.$b_o_s = var$3[$ptr_0] & 256;
        var$6 = 0 + $size | 0;
        while ($size == 255) {
            $ptr_0 = $ptr_0 + 1 | 0;
            $val = var$3[$ptr_0];
            $size = $val & 255;
            if ($val & 512)
                $op.$e_o_s0 = 512;
            var$6 = var$6 + $size | 0;
        }
        var$8 = $this.$packetno;
        $op.$packetno0 = var$8;
        $op.$granulepos0 = $this.$granule_vals.data[$ptr_0];
        $op.$bytes = var$6;
        $this.$body_returned = var$5 + var$6 | 0;
        $this.$lacing_returned = $ptr_0 + 1 | 0;
        $this.$packetno = Long_add(var$8, Long_fromInt(1));
        return 1;
    }
    function cjj_StreamState_pagein($this, $og) {
        var var$2, $header, $body_base, $body, $bodysize, $segptr, $version, $lr, $continued, $bos, $eos, $granulepos, $_serialno, $header_base, $val, $_pageno, $segments, $br, $i, $saved;
        var$2 = $og.$header_base.data;
        $header = $og.$header;
        $body_base = $og.$body_base;
        $body = $og.$body3;
        $bodysize = $og.$body_len;
        $segptr = 0;
        $version = var$2[$header + 4 | 0] & 255;
        $lr = $header + 5 | 0;
        $continued = var$2[$lr] & 1;
        $bos = var$2[$lr] & 2;
        $eos = cjj_Page_eos($og);
        $granulepos = cjj_Page_granulepos($og);
        $_serialno = cjj_Page_serialno($og);
        $header_base = $og.$header_base.data;
        $val = $og.$header;
        $_pageno = $header_base[$val + 18 | 0] & 255 | ($header_base[$val + 19 | 0] & 255) << 8 | ($header_base[$val + 20 | 0] & 255) << 16 | ($header_base[$val + 21 | 0] & 255) << 24;
        $segments = var$2[$header + 26 | 0] & 255;
        $lr = $this.$lacing_returned;
        $br = $this.$body_returned;
        if ($br) {
            $i = $this.$body_fill - $br | 0;
            $this.$body_fill = $i;
            if ($i) {
                $header_base = $this.$body_data;
                jl_System_fastArraycopy($header_base, $br, $header_base, 0, $i);
            }
            $this.$body_returned = 0;
        }
        if ($lr) {
            $br = $this.$lacing_fill - $lr | 0;
            if ($br) {
                $header_base = $this.$lacing_vals;
                jl_System_fastArraycopy($header_base, $lr, $header_base, 0, $br);
                $header_base = $this.$granule_vals;
                jl_System_fastArraycopy($header_base, $lr, $header_base, 0, $this.$lacing_fill - $lr | 0);
            }
            $this.$lacing_fill = $this.$lacing_fill - $lr | 0;
            $this.$lacing_packet = $this.$lacing_packet - $lr | 0;
            $this.$lacing_returned = 0;
        }
        if ($_serialno != $this.$serialno0)
            return (-1);
        if ($version > 0)
            return (-1);
        a: {
            cjj_StreamState_lacing_expand($this, $segments + 1 | 0);
            $lr = $this.$pageno;
            if ($_pageno != $lr) {
                $br = $this.$lacing_packet;
                $i = $br;
                while ($i < $this.$lacing_fill) {
                    $this.$body_fill = $this.$body_fill - ($this.$lacing_vals.data[$i] & 255) | 0;
                    $i = $i + 1 | 0;
                }
                $this.$lacing_fill = $br;
                if ($lr != (-1)) {
                    $header_base = $this.$lacing_vals.data;
                    $lr = $br + 1 | 0;
                    $this.$lacing_fill = $lr;
                    $header_base[$br] = 1024;
                    $this.$lacing_packet = $lr;
                }
                if ($continued) {
                    $bos = 0;
                    $br = $header + 27 | 0;
                    while ($segptr < $segments) {
                        $val = var$2[$br + $segptr | 0] & 255;
                        $body = $body + $val | 0;
                        $bodysize = $bodysize - $val | 0;
                        if ($val < 255) {
                            $segptr = $segptr + 1 | 0;
                            break a;
                        }
                        $segptr = $segptr + 1 | 0;
                    }
                }
            }
        }
        if ($bodysize) {
            cjj_StreamState_body_expand($this, $bodysize);
            jl_System_fastArraycopy($body_base, $body, $this.$body_data, $this.$body_fill, $bodysize);
            $this.$body_fill = $this.$body_fill + $bodysize | 0;
        }
        $saved = (-1);
        $header = $header + 27 | 0;
        while ($segptr < $segments) {
            $val = var$2[$header + $segptr | 0] & 255;
            $header_base = $this.$lacing_vals.data;
            $lr = $this.$lacing_fill;
            $header_base[$lr] = $val;
            $this.$granule_vals.data[$lr] = Long_fromInt(-1);
            if ($bos) {
                $header_base[$lr] = $header_base[$lr] | 256;
                $bos = 0;
            }
            $br = $rt_compare($val, 255);
            if ($br < 0)
                $saved = $lr;
            $lr = $lr + 1 | 0;
            $this.$lacing_fill = $lr;
            $segptr = $segptr + 1 | 0;
            if ($br < 0)
                $this.$lacing_packet = $lr;
        }
        if ($saved != (-1))
            $this.$granule_vals.data[$saved] = $granulepos;
        if ($eos) {
            $this.$e_o_s = 1;
            $lr = $this.$lacing_fill;
            if ($lr > 0) {
                $header_base = $this.$lacing_vals.data;
                $lr = $lr - 1 | 0;
                $header_base[$lr] = $header_base[$lr] | 512;
            }
        }
        $this.$pageno = $_pageno + 1 | 0;
        return 0;
    }
    function cjj_Block() {
        var a = this; jl_Object.call(a);
        a.$pcm0 = null;
        a.$opb = null;
        a.$lW = 0;
        a.$W = 0;
        a.$nW = 0;
        a.$pcmend = 0;
        a.$mode6 = 0;
        a.$eofflag = 0;
        a.$granulepos1 = Long_ZERO;
        a.$sequence = Long_ZERO;
        a.$vd = null;
        a.$glue_bits = 0;
        a.$time_bits = 0;
        a.$floor_bits = 0;
        a.$res_bits = 0;
    }
    function cjj_Block__init_0(var_0) {
        var var_1 = new cjj_Block();
        cjj_Block__init_(var_1, var_0);
        return var_1;
    }
    function cjj_Block__init_($this, $vd) {
        var var$2, var$3, var$4;
        $this.$pcm0 = $rt_createArray($rt_arraycls($rt_floatcls()), 0);
        var$2 = cjj_Buffer__init_0();
        $this.$opb = var$2;
        $this.$vd = $vd;
        if ($vd.$analysisp) {
            var$3 = $rt_createByteArray(256);
            var$4 = var$3.data;
            var$2.$buffer10 = var$3;
            var$2.$ptr7 = 0;
            var$4[0] = 0;
            var$2.$storage0 = 256;
        }
    }
    function cjj_Block_init($this, $vd) {
        $this.$vd = $vd;
    }
    function cjj_Block_clear($this) {
        var var$1;
        var$1 = $this.$vd;
        if (var$1 !== null && var$1.$analysisp)
            $this.$opb.$buffer10 = null;
        return 0;
    }
    function cjj_Block_synthesis($this, $op) {
        var $vi, $_mode, $type, var$5, $i, var$7, $j, var$9;
        $vi = $this.$vd.$vi;
        cjj_Buffer_readinit($this.$opb, $op.$packet_base, $op.$packet, $op.$bytes);
        if (cjj_Buffer_read($this.$opb, 1))
            return (-1);
        $_mode = cjj_Buffer_read($this.$opb, $this.$vd.$modebits);
        if ($_mode == (-1))
            return (-1);
        $this.$mode6 = $_mode;
        $_mode = $vi.$mode_param.data[$_mode].$blockflag;
        $this.$W = $_mode;
        if (!$_mode) {
            $this.$lW = 0;
            $this.$nW = 0;
        } else {
            $this.$lW = cjj_Buffer_read($this.$opb, 1);
            $_mode = cjj_Buffer_read($this.$opb, 1);
            $this.$nW = $_mode;
            if ($_mode == (-1))
                return (-1);
        }
        $this.$granulepos1 = $op.$granulepos0;
        $this.$sequence = Long_sub($op.$packetno0, Long_fromInt(3));
        $this.$eofflag = $op.$e_o_s0;
        $type = $vi.$blocksizes.data[$this.$W];
        $this.$pcmend = $type;
        $_mode = $this.$pcm0.data.length;
        var$5 = $vi.$channels;
        if ($_mode < var$5)
            $this.$pcm0 = $rt_createArray($rt_arraycls($rt_floatcls()), var$5);
        $i = 0;
        while ($i < var$5) {
            a: {
                var$7 = $this.$pcm0.data;
                if (!(var$7[$i] !== null && var$7[$i].data.length >= $type))
                    var$7[$i] = $rt_createFloatArray($type);
                else {
                    $j = 0;
                    while (true) {
                        if ($j >= $type)
                            break a;
                        var$7[$i].data[$j] = 0.0;
                        $j = $j + 1 | 0;
                    }
                }
            }
            $i = $i + 1 | 0;
        }
        var$7 = $vi.$map_type.data;
        var$9 = $vi.$mode_param.data;
        $_mode = $this.$mode6;
        $type = var$7[var$9[$_mode].$mapping];
        cjj_FuncMapping_$callClinit();
        return cjj_Mapping0_inverse(cjj_FuncMapping_mapping_P.data[$type], $this, $this.$vd.$mode7.data[$_mode]);
    }
    function cjj_DspState() {
        var a = this; jl_Object.call(a);
        a.$analysisp = 0;
        a.$vi = null;
        a.$modebits = 0;
        a.$pcm = null;
        a.$pcm_storage = 0;
        a.$pcm_current = 0;
        a.$pcm_returned = 0;
        a.$eofflag0 = 0;
        a.$lW0 = 0;
        a.$W0 = 0;
        a.$nW0 = 0;
        a.$centerW = 0;
        a.$granulepos2 = Long_ZERO;
        a.$sequence0 = Long_ZERO;
        a.$glue_bits0 = Long_ZERO;
        a.$time_bits0 = Long_ZERO;
        a.$floor_bits0 = Long_ZERO;
        a.$res_bits0 = Long_ZERO;
        a.$window0 = null;
        a.$transform0 = null;
        a.$fullbooks = null;
        a.$mode7 = null;
    }
    function cjj_DspState__init_0() {
        var var_0 = new cjj_DspState();
        cjj_DspState__init_(var_0);
        return var_0;
    }
    function cjj_DspState__init_($this) {
        var var$1, var$2;
        $this.$transform0 = $rt_createArray($rt_arraycls(jl_Object), 2);
        var$1 = $rt_createArray($rt_arraycls($rt_arraycls($rt_arraycls($rt_arraycls($rt_floatcls())))), 2);
        var$2 = var$1.data;
        $this.$window0 = var$1;
        var$2[0] = $rt_createArray($rt_arraycls($rt_arraycls($rt_arraycls($rt_floatcls()))), 2);
        var$2[0].data[0] = $rt_createArray($rt_arraycls($rt_arraycls($rt_floatcls())), 2);
        var$2[0].data[1] = $rt_createArray($rt_arraycls($rt_arraycls($rt_floatcls())), 2);
        var$2[0].data[0].data[0] = $rt_createArray($rt_arraycls($rt_floatcls()), 2);
        var$2[0].data[0].data[1] = $rt_createArray($rt_arraycls($rt_floatcls()), 2);
        var$2[0].data[1].data[0] = $rt_createArray($rt_arraycls($rt_floatcls()), 2);
        var$2[0].data[1].data[1] = $rt_createArray($rt_arraycls($rt_floatcls()), 2);
        var$2[1] = $rt_createArray($rt_arraycls($rt_arraycls($rt_arraycls($rt_floatcls()))), 2);
        var$2[1].data[0] = $rt_createArray($rt_arraycls($rt_arraycls($rt_floatcls())), 2);
        var$2[1].data[1] = $rt_createArray($rt_arraycls($rt_arraycls($rt_floatcls())), 2);
        var$2[1].data[0].data[0] = $rt_createArray($rt_arraycls($rt_floatcls()), 2);
        var$2[1].data[0].data[1] = $rt_createArray($rt_arraycls($rt_floatcls()), 2);
        var$2[1].data[1].data[0] = $rt_createArray($rt_arraycls($rt_floatcls()), 2);
        var$2[1].data[1].data[1] = $rt_createArray($rt_arraycls($rt_floatcls()), 2);
    }
    function cjj_DspState_window($type, $window, $left, $right) {
        var $ret, var$6, $i, $leftbegin, $rightbegin, var$10, $x;
        $ret = $rt_createFloatArray($window);
        switch ($type) {
            case 0:
                var$6 = $ret.data;
                $i = $window / 4 | 0;
                $leftbegin = $i - ($left / 2 | 0) | 0;
                $rightbegin = ($window - $i | 0) - ($right / 2 | 0) | 0;
                $i = 0;
                var$10 = $left;
                while ($i < $left) {
                    $x = jl_Math_sin(($i + 0.5) / var$10 * 3.1415927410125732 / 2.0);
                    var$6[$i + $leftbegin | 0] = jl_Math_sin($x * $x * 1.5707963705062866);
                    $i = $i + 1 | 0;
                }
                $i = $leftbegin + $left | 0;
                while ($i < $rightbegin) {
                    var$6[$i] = 1.0;
                    $i = $i + 1 | 0;
                }
                $i = 0;
                var$10 = $right;
                while ($i < $right) {
                    $x = jl_Math_sin((($right - $i | 0) - 0.5) / var$10 * 3.1415927410125732 / 2.0);
                    var$6[$i + $rightbegin | 0] = jl_Math_sin($x * $x * 1.5707963705062866);
                    $i = $i + 1 | 0;
                }
                return $ret;
            default:
        }
        return null;
    }
    function cjj_DspState_init($this, $vi, $encp) {
        var var$3, var$4, $i, $i_0, $mapnum, $maptype, var$9;
        $this.$vi = $vi;
        $this.$modebits = cjj_Util_ilog2($vi.$modes);
        var$3 = $this.$transform0.data;
        var$3[0] = $rt_createArray(jl_Object, 1);
        var$3[1] = $rt_createArray(jl_Object, 1);
        var$3[0].data[0] = cjj_Mdct__init_0();
        $this.$transform0.data[1].data[0] = cjj_Mdct__init_0();
        cjj_Mdct_init($this.$transform0.data[0].data[0], $vi.$blocksizes.data[0]);
        cjj_Mdct_init($this.$transform0.data[1].data[0], $vi.$blocksizes.data[1]);
        var$4 = $this.$window0.data;
        var$4[0].data[0].data[0] = $rt_createArray($rt_arraycls($rt_floatcls()), 1);
        var$4[0].data[0].data[1] = var$4[0].data[0].data[0];
        var$4[0].data[1].data[0] = var$4[0].data[0].data[0];
        var$4[0].data[1].data[1] = var$4[0].data[0].data[0];
        var$4[1].data[0].data[0] = $rt_createArray($rt_arraycls($rt_floatcls()), 1);
        var$4[1].data[0].data[1] = $rt_createArray($rt_arraycls($rt_floatcls()), 1);
        var$4[1].data[1].data[0] = $rt_createArray($rt_arraycls($rt_floatcls()), 1);
        var$4[1].data[1].data[1] = $rt_createArray($rt_arraycls($rt_floatcls()), 1);
        $i = 0;
        while ($i < 1) {
            var$3 = $this.$window0.data[0].data[0].data[0].data;
            var$4 = $vi.$blocksizes.data;
            var$3[$i] = cjj_DspState_window($i, var$4[0], var$4[0] / 2 | 0, var$4[0] / 2 | 0);
            var$3 = $this.$window0.data[1].data[0].data[0].data;
            var$4 = $vi.$blocksizes.data;
            var$3[$i] = cjj_DspState_window($i, var$4[1], var$4[0] / 2 | 0, var$4[0] / 2 | 0);
            var$3 = $this.$window0.data[1].data[0].data[1].data;
            var$4 = $vi.$blocksizes.data;
            var$3[$i] = cjj_DspState_window($i, var$4[1], var$4[0] / 2 | 0, var$4[1] / 2 | 0);
            var$3 = $this.$window0.data[1].data[1].data[0].data;
            var$4 = $vi.$blocksizes.data;
            var$3[$i] = cjj_DspState_window($i, var$4[1], var$4[1] / 2 | 0, var$4[0] / 2 | 0);
            var$3 = $this.$window0.data[1].data[1].data[1].data;
            var$4 = $vi.$blocksizes.data;
            var$3[$i] = cjj_DspState_window($i, var$4[1], var$4[1] / 2 | 0, var$4[1] / 2 | 0);
            $i = $i + 1 | 0;
        }
        $this.$fullbooks = $rt_createArray(cjj_CodeBook, $vi.$books);
        $i = 0;
        while ($i < $vi.$books) {
            $this.$fullbooks.data[$i] = cjj_CodeBook__init_0();
            cjj_CodeBook_init_decode($this.$fullbooks.data[$i], $vi.$book_param.data[$i]);
            $i = $i + 1 | 0;
        }
        $this.$pcm_storage = 8192;
        $i = $vi.$channels;
        var$4 = $rt_createArray($rt_arraycls($rt_floatcls()), $i);
        var$3 = var$4.data;
        $this.$pcm = var$4;
        $i_0 = 0;
        while ($i_0 < $i) {
            var$3[$i_0] = $rt_createFloatArray(8192);
            $i_0 = $i_0 + 1 | 0;
        }
        $this.$lW0 = 0;
        $this.$W0 = 0;
        $encp = $vi.$blocksizes.data[1] / 2 | 0;
        $this.$centerW = $encp;
        $this.$pcm_current = $encp;
        $this.$mode7 = $rt_createArray(jl_Object, $vi.$modes);
        $i = 0;
        while ($i < $vi.$modes) {
            var$4 = $vi.$mode_param.data;
            $mapnum = var$4[$i].$mapping;
            $maptype = $vi.$map_type.data[$mapnum];
            var$9 = $this.$mode7.data;
            cjj_FuncMapping_$callClinit();
            var$9[$i] = cjj_Mapping0_look(cjj_FuncMapping_mapping_P.data[$maptype], $this, var$4[$i], $vi.$map_param.data[$mapnum]);
            $i = $i + 1 | 0;
        }
        return 0;
    }
    function cjj_DspState_synthesis_init($this, $vi) {
        var var$2, var$3;
        cjj_DspState_init($this, $vi, 0);
        var$2 = $this.$centerW;
        $this.$pcm_returned = var$2;
        var$3 = $vi.$blocksizes.data;
        $this.$centerW = var$2 - ((var$3[$this.$W0] / 4 | 0) + (var$3[$this.$lW0] / 4 | 0) | 0) | 0;
        $this.$granulepos2 = Long_fromInt(-1);
        $this.$sequence0 = Long_fromInt(-1);
        return 0;
    }
    function cjj_DspState_synthesis_blockin($this, $vb) {
        var $i, $foo, $_centerW, $shiftPCM, var$6, var$7, $sizeW, $beginW, $endW, $beginSl, $endSl, var$13, $j;
        a: {
            $i = $this.$centerW;
            $foo = $this.$vi.$blocksizes.data;
            if ($i > ($foo[1] / 2 | 0)) {
                $_centerW = $this.$pcm_returned;
                if ($_centerW > 8192) {
                    $shiftPCM = $i - ($foo[1] / 2 | 0) | 0;
                    if ($_centerW < $shiftPCM)
                        $shiftPCM = $_centerW;
                    $this.$pcm_current = $this.$pcm_current - $shiftPCM | 0;
                    $this.$centerW = $i - $shiftPCM | 0;
                    $this.$pcm_returned = $_centerW - $shiftPCM | 0;
                    if ($shiftPCM) {
                        $i = 0;
                        while (true) {
                            if ($i >= $this.$vi.$channels)
                                break a;
                            $foo = $this.$pcm.data;
                            jl_System_fastArraycopy($foo[$i], $shiftPCM, $foo[$i], 0, $this.$pcm_current);
                            $i = $i + 1 | 0;
                        }
                    }
                }
            }
        }
        $shiftPCM = $this.$W0;
        $this.$lW0 = $shiftPCM;
        $i = $vb.$W;
        $this.$W0 = $i;
        $this.$nW0 = (-1);
        $this.$glue_bits0 = Long_add($this.$glue_bits0, Long_fromInt($vb.$glue_bits));
        $this.$time_bits0 = Long_add($this.$time_bits0, Long_fromInt($vb.$time_bits));
        $this.$floor_bits0 = Long_add($this.$floor_bits0, Long_fromInt($vb.$floor_bits));
        $this.$res_bits0 = Long_add($this.$res_bits0, Long_fromInt($vb.$res_bits));
        var$6 = Long_add($this.$sequence0, Long_fromInt(1));
        var$7 = $vb.$sequence;
        if (Long_ne(var$6, var$7))
            $this.$granulepos2 = Long_fromInt(-1);
        b: {
            $this.$sequence0 = var$7;
            $foo = $this.$vi.$blocksizes.data;
            $sizeW = $foo[$i];
            $_centerW = ($this.$centerW + ($foo[$shiftPCM] / 4 | 0) | 0) + ($sizeW / 4 | 0) | 0;
            $beginW = $_centerW - ($sizeW / 2 | 0) | 0;
            $endW = $beginW + $sizeW | 0;
            $beginSl = 0;
            $endSl = 0;
            if ($endW > $this.$pcm_storage) {
                $this.$pcm_storage = $endW + $foo[1] | 0;
                $i = 0;
                while (true) {
                    if ($i >= $this.$vi.$channels)
                        break b;
                    $foo = $rt_createFloatArray($this.$pcm_storage);
                    var$13 = $this.$pcm.data;
                    jl_System_fastArraycopy(var$13[$i], 0, $foo, 0, var$13[$i].data.length);
                    $this.$pcm.data[$i] = $foo;
                    $i = $i + 1 | 0;
                }
            }
        }
        c: {
            switch ($this.$W0) {
                case 0:
                    $beginSl = 0;
                    $endSl = $this.$vi.$blocksizes.data[0] / 2 | 0;
                    break c;
                case 1:
                    $foo = $this.$vi.$blocksizes.data;
                    $i = $foo[1] / 4 | 0;
                    $shiftPCM = $this.$lW0;
                    $beginSl = $i - ($foo[$shiftPCM] / 4 | 0) | 0;
                    $endSl = $beginSl + ($foo[$shiftPCM] / 2 | 0) | 0;
                    break c;
                default:
            }
        }
        $j = 0;
        while ($j < $this.$vi.$channels) {
            $i = $beginSl;
            while ($i < $endSl) {
                $foo = $this.$pcm.data[$j].data;
                $shiftPCM = $beginW + $i | 0;
                $foo[$shiftPCM] = $foo[$shiftPCM] + $vb.$pcm0.data[$j].data[$i];
                $i = $i + 1 | 0;
            }
            while ($i < $sizeW) {
                $this.$pcm.data[$j].data[$beginW + $i | 0] = $vb.$pcm0.data[$j].data[$i];
                $i = $i + 1 | 0;
            }
            $j = $j + 1 | 0;
        }
        var$6 = $this.$granulepos2;
        if (Long_eq(var$6, Long_fromInt(-1)))
            $this.$granulepos2 = $vb.$granulepos1;
        else {
            var$6 = Long_add(var$6, Long_fromInt($_centerW - $this.$centerW | 0));
            $this.$granulepos2 = var$6;
            var$7 = $vb.$granulepos1;
            if (Long_ne(var$7, Long_fromInt(-1))) {
                $shiftPCM = Long_compare(var$6, var$7);
                if ($shiftPCM) {
                    if ($shiftPCM > 0 && $vb.$eofflag)
                        $_centerW = Long_lo(Long_sub(Long_fromInt($_centerW), Long_sub(var$6, var$7)));
                    $this.$granulepos2 = var$7;
                }
            }
        }
        $this.$centerW = $_centerW;
        $this.$pcm_current = $endW;
        if ($vb.$eofflag)
            $this.$eofflag0 = 1;
        return 0;
    }
    var nlei_PlatformApplication$StupidFunctionResolveString = $rt_classWithoutFields(0);
    function nlei_PlatformApplication$1() {
        var a = this; jl_Object.call(a);
        a.$val$start = Long_ZERO;
        a.$val$cb = null;
    }
    function nlei_PlatformApplication$1_resolveStr$exported$0(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_str(var$1);
            $ptr = 1;
        case 1:
            $tmp = nlei_PlatformRuntime_steadyTimeMillis();
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (Long_gt(Long_sub(var$2, var$0.$val$start), Long_fromInt(500)))
                nlei_PlatformInput_unpressCTRL = 1;
            otpp_AsyncCallbackWrapper_complete(var$0.$val$cb, var$1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    function cjj_Packet() {
        var a = this; jl_Object.call(a);
        a.$packet_base = null;
        a.$packet = 0;
        a.$bytes = 0;
        a.$b_o_s = 0;
        a.$e_o_s0 = 0;
        a.$granulepos0 = Long_ZERO;
        a.$packetno0 = Long_ZERO;
    }
    function cjj_Packet__init_0() {
        var var_0 = new cjj_Packet();
        cjj_Packet__init_(var_0);
        return var_0;
    }
    function cjj_Packet__init_($this) {}
    function cjj_Page() {
        var a = this; jl_Object.call(a);
        a.$header_base = null;
        a.$header = 0;
        a.$header_len = 0;
        a.$body_base = null;
        a.$body3 = 0;
        a.$body_len = 0;
    }
    var cjj_Page_crc_lookup = null;
    function cjj_Page__init_0() {
        var var_0 = new cjj_Page();
        cjj_Page__init_(var_0);
        return var_0;
    }
    function cjj_Page__init_($this) {}
    function cjj_Page_eos($this) {
        return $this.$header_base.data[$this.$header + 5 | 0] & 4;
    }
    function cjj_Page_granulepos($this) {
        var var$1, var$2;
        var$1 = $this.$header_base.data;
        var$2 = $this.$header;
        return Long_or(Long_shl(Long_or(Long_shl(Long_or(Long_shl(Long_or(Long_shl(Long_or(Long_shl(Long_or(Long_shl(Long_or(Long_shl(Long_fromInt(var$1[var$2 + 13 | 0] & 255), 8), Long_fromInt(var$1[var$2 + 12 | 0] & 255)), 8), Long_fromInt(var$1[var$2 + 11 | 0] & 255)), 8), Long_fromInt(var$1[var$2 + 10 | 0] & 255)), 8), Long_fromInt(var$1[var$2 + 9 | 0] & 255)), 8), Long_fromInt(var$1[var$2 + 8 | 0] & 255)), 8), Long_fromInt(var$1[var$2 + 7 | 0] & 255)), 8), Long_fromInt(var$1[var$2 + 6 | 0] & 255));
    }
    function cjj_Page_serialno($this) {
        var var$1, var$2;
        var$1 = $this.$header_base.data;
        var$2 = $this.$header;
        return var$1[var$2 + 14 | 0] & 255 | (var$1[var$2 + 15 | 0] & 255) << 8 | (var$1[var$2 + 16 | 0] & 255) << 16 | (var$1[var$2 + 17 | 0] & 255) << 24;
    }
    function cjj_Page_checksum($this) {
        var $crc_reg, $i, var$3, var$4;
        $crc_reg = 0;
        $i = 0;
        while ($i < $this.$header_len) {
            $crc_reg = $crc_reg << 8 ^ cjj_Page_crc_lookup.data[($crc_reg >>> 24 | 0) & 255 ^ $this.$header_base.data[$this.$header + $i | 0] & 255];
            $i = $i + 1 | 0;
        }
        $i = 0;
        while ($i < $this.$body_len) {
            $crc_reg = $crc_reg << 8 ^ cjj_Page_crc_lookup.data[($crc_reg >>> 24 | 0) & 255 ^ $this.$body_base.data[$this.$body3 + $i | 0] & 255];
            $i = $i + 1 | 0;
        }
        var$3 = $this.$header_base.data;
        var$4 = $this.$header;
        var$3[var$4 + 22 | 0] = $crc_reg << 24 >> 24;
        var$3[var$4 + 23 | 0] = ($crc_reg >>> 8 | 0) << 24 >> 24;
        var$3[var$4 + 24 | 0] = ($crc_reg >>> 16 | 0) << 24 >> 24;
        var$3[var$4 + 25 | 0] = ($crc_reg >>> 24 | 0) << 24 >> 24;
    }
    function cjj_Page__clinit_() {
        var var$1, var$2, $i, var$4, var$5, var$6;
        var$1 = $rt_createIntArray(256);
        var$2 = var$1.data;
        cjj_Page_crc_lookup = var$1;
        $i = 0;
        var$4 = var$2.length;
        while ($i < var$4) {
            var$5 = $i << 24;
            var$6 = 0;
            while (var$6 < 8) {
                var$5 = !(var$5 & (-2147483648)) ? var$5 << 1 : var$5 << 1 ^ 79764919;
                var$6 = var$6 + 1 | 0;
            }
            var$2[$i] = var$5 & (-1);
            $i = $i + 1 | 0;
        }
    }
    function cjj_Comment() {
        var a = this; jl_Object.call(a);
        a.$user_comments = null;
        a.$comment_lengths = null;
        a.$comments = 0;
        a.$vendor = null;
    }
    var cjj_Comment__vorbis = null;
    var cjj_Comment__vendor = null;
    var cjj_Comment_$clinitCalled = false;
    function cjj_Comment_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (cjj_Comment_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            cjj_Comment_$clinitCalled = true;
            $ptr = 1;
        case 1:
            cjj_Comment__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            cjj_Comment_$callClinit = $rt_eraseClinit(cjj_Comment);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function cjj_Comment__init_0() {
        var var_0 = new cjj_Comment();
        cjj_Comment__init_(var_0);
        return var_0;
    }
    function cjj_Comment__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            cjj_Comment_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function cjj_Comment_init($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$user_comments = null;
            $this.$comments = 0;
            $this.$vendor = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function cjj_Comment_clear($this) {
        var $i, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$i = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $i = 0;
            while ($i < $this.$comments) {
                $this.$user_comments.data[$i] = null;
                $i = $i + 1 | 0;
            }
            $this.$user_comments = null;
            $this.$vendor = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $i, $ptr);
    }
    function cjj_Comment__clinit_() {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(2144);
            $ptr = 1;
        case 1:
            $tmp = jl_String_getBytes(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            cjj_Comment__vorbis = var$2;
            var$1 = $rt_s(2147);
            $ptr = 2;
        case 2:
            $tmp = jl_String_getBytes(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            cjj_Comment__vendor = var$2;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, $ptr);
    }
    function cjj_Buffer() {
        var a = this; jl_Object.call(a);
        a.$ptr7 = 0;
        a.$buffer10 = null;
        a.$endbit = 0;
        a.$endbyte = 0;
        a.$storage0 = 0;
    }
    var cjj_Buffer_mask = null;
    function cjj_Buffer__init_0() {
        var var_0 = new cjj_Buffer();
        cjj_Buffer__init_(var_0);
        return var_0;
    }
    function cjj_Buffer__init_($this) {
        $this.$ptr7 = 0;
        $this.$buffer10 = null;
        $this.$endbit = 0;
        $this.$endbyte = 0;
        $this.$storage0 = 0;
    }
    function cjj_Buffer_read0($this, $s, $bytes) {
        var $i, var$4, var$5, $i_0;
        $i = 0;
        while (true) {
            var$4 = $bytes + (-1) | 0;
            if (!$bytes)
                break;
            var$5 = $s.data;
            $i_0 = $i + 1 | 0;
            var$5[$i] = cjj_Buffer_read($this, 8) << 24 >> 24;
            $bytes = var$4;
            $i = $i_0;
        }
    }
    function cjj_Buffer_readinit($this, $buf, $start, $bytes) {
        $this.$ptr7 = $start;
        $this.$buffer10 = $buf;
        $this.$endbyte = 0;
        $this.$endbit = 0;
        $this.$storage0 = $bytes;
    }
    function cjj_Buffer_look($this, $bits) {
        var $m, var$3, var$4, var$5, $ret, var$7;
        $m = cjj_Buffer_mask.data[$bits];
        var$3 = $this.$endbit;
        var$4 = $bits + var$3 | 0;
        $bits = $this.$endbyte;
        var$5 = $bits + 4 | 0;
        $ret = $this.$storage0;
        if (var$5 >= $ret && ($bits + ((var$4 - 1 | 0) / 8 | 0) | 0) >= $ret)
            return (-1);
        var$7 = $this.$buffer10.data;
        var$5 = $this.$ptr7;
        $ret = (var$7[var$5] & 255) >>> var$3 | 0;
        if (var$4 > 8) {
            $ret = $ret | (var$7[var$5 + 1 | 0] & 255) << (8 - var$3 | 0);
            if (var$4 > 16) {
                $ret = $ret | (var$7[var$5 + 2 | 0] & 255) << (16 - var$3 | 0);
                if (var$4 > 24) {
                    $ret = $ret | (var$7[var$5 + 3 | 0] & 255) << (24 - var$3 | 0);
                    if (var$4 > 32 && var$3)
                        $ret = $ret | (var$7[var$5 + 4 | 0] & 255) << (32 - var$3 | 0);
                }
            }
        }
        return $m & $ret;
    }
    function cjj_Buffer_read($this, $bits) {
        var $m, var$3, var$4, var$5, var$6, var$7, $ret, $ret_0;
        $m = cjj_Buffer_mask.data[$bits];
        var$3 = $this.$endbit;
        var$4 = $bits + var$3 | 0;
        var$5 = $this.$endbyte;
        $bits = var$5 + 4 | 0;
        var$6 = $this.$storage0;
        if ($bits >= var$6 && (var$5 + ((var$4 - 1 | 0) / 8 | 0) | 0) >= var$6) {
            $bits = $this.$ptr7;
            $m = var$4 / 8 | 0;
            $this.$ptr7 = $bits + $m | 0;
            $this.$endbyte = var$5 + $m | 0;
            $this.$endbit = var$4 & 7;
            return (-1);
        }
        var$7 = $this.$buffer10.data;
        $ret = $this.$ptr7;
        $ret_0 = (var$7[$ret] & 255) >>> var$3 | 0;
        if (var$4 > 8) {
            $ret_0 = $ret_0 | (var$7[$ret + 1 | 0] & 255) << (8 - var$3 | 0);
            if (var$4 > 16) {
                $ret_0 = $ret_0 | (var$7[$ret + 2 | 0] & 255) << (16 - var$3 | 0);
                if (var$4 > 24) {
                    $ret_0 = $ret_0 | (var$7[$ret + 3 | 0] & 255) << (24 - var$3 | 0);
                    if (var$4 > 32 && var$3)
                        $ret_0 = $ret_0 | (var$7[$ret + 4 | 0] & 255) << (32 - var$3 | 0);
                }
            }
        }
        $m = $ret_0 & $m;
        $bits = var$4 / 8 | 0;
        $this.$ptr7 = $ret + $bits | 0;
        $this.$endbyte = var$5 + $bits | 0;
        $this.$endbit = var$4 & 7;
        return $m;
    }
    function cjj_Buffer__clinit_() {
        cjj_Buffer_mask = $rt_createIntArrayFromData([0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215, 33554431, 67108863, 134217727, 268435455, 536870911, 1073741823, 2147483647, (-1)]);
    }
    function cjj_PsyInfo() {
        var a = this; jl_Object.call(a);
        a.$toneatt_125Hz = null;
        a.$toneatt_250Hz = null;
        a.$toneatt_500Hz = null;
        a.$toneatt_1000Hz = null;
        a.$toneatt_2000Hz = null;
        a.$toneatt_4000Hz = null;
        a.$toneatt_8000Hz = null;
        a.$peakatt_125Hz = null;
        a.$peakatt_250Hz = null;
        a.$peakatt_500Hz = null;
        a.$peakatt_1000Hz = null;
        a.$peakatt_2000Hz = null;
        a.$peakatt_4000Hz = null;
        a.$peakatt_8000Hz = null;
        a.$noiseatt_125Hz = null;
        a.$noiseatt_250Hz = null;
        a.$noiseatt_500Hz = null;
        a.$noiseatt_1000Hz = null;
        a.$noiseatt_2000Hz = null;
        a.$noiseatt_4000Hz = null;
        a.$noiseatt_8000Hz = null;
    }
    function cjj_PsyInfo__init_0() {
        var var_0 = new cjj_PsyInfo();
        cjj_PsyInfo__init_(var_0);
        return var_0;
    }
    function cjj_PsyInfo__init_($this) {
        $this.$toneatt_125Hz = $rt_createFloatArray(5);
        $this.$toneatt_250Hz = $rt_createFloatArray(5);
        $this.$toneatt_500Hz = $rt_createFloatArray(5);
        $this.$toneatt_1000Hz = $rt_createFloatArray(5);
        $this.$toneatt_2000Hz = $rt_createFloatArray(5);
        $this.$toneatt_4000Hz = $rt_createFloatArray(5);
        $this.$toneatt_8000Hz = $rt_createFloatArray(5);
        $this.$peakatt_125Hz = $rt_createFloatArray(5);
        $this.$peakatt_250Hz = $rt_createFloatArray(5);
        $this.$peakatt_500Hz = $rt_createFloatArray(5);
        $this.$peakatt_1000Hz = $rt_createFloatArray(5);
        $this.$peakatt_2000Hz = $rt_createFloatArray(5);
        $this.$peakatt_4000Hz = $rt_createFloatArray(5);
        $this.$peakatt_8000Hz = $rt_createFloatArray(5);
        $this.$noiseatt_125Hz = $rt_createFloatArray(5);
        $this.$noiseatt_250Hz = $rt_createFloatArray(5);
        $this.$noiseatt_500Hz = $rt_createFloatArray(5);
        $this.$noiseatt_1000Hz = $rt_createFloatArray(5);
        $this.$noiseatt_2000Hz = $rt_createFloatArray(5);
        $this.$noiseatt_4000Hz = $rt_createFloatArray(5);
        $this.$noiseatt_8000Hz = $rt_createFloatArray(5);
    }
    function cjj_InfoMode() {
        var a = this; jl_Object.call(a);
        a.$blockflag = 0;
        a.$windowtype = 0;
        a.$transformtype = 0;
        a.$mapping = 0;
    }
    function cjj_InfoMode__init_0() {
        var var_0 = new cjj_InfoMode();
        cjj_InfoMode__init_(var_0);
        return var_0;
    }
    function cjj_InfoMode__init_($this) {}
    var cjj_FuncMapping = $rt_classWithoutFields();
    var cjj_FuncMapping_mapping_P = null;
    function cjj_FuncMapping_$callClinit() {
        cjj_FuncMapping_$callClinit = $rt_eraseClinit(cjj_FuncMapping);
        cjj_FuncMapping__clinit_();
    }
    function cjj_FuncMapping__clinit_() {
        var var$1;
        var$1 = $rt_createArray(cjj_FuncMapping, 1);
        var$1.data[0] = cjj_Mapping0__init_0();
        cjj_FuncMapping_mapping_P = var$1;
    }
    var cjj_FuncTime = $rt_classWithoutFields();
    var cjj_FuncTime_time_P = null;
    function cjj_FuncTime_$callClinit() {
        cjj_FuncTime_$callClinit = $rt_eraseClinit(cjj_FuncTime);
        cjj_FuncTime__clinit_();
    }
    function cjj_FuncTime__clinit_() {
        var var$1, var$2, var$3;
        var$1 = $rt_createArray(cjj_FuncTime, 1);
        var$2 = var$1.data;
        var$3 = new cjj_Time0;
        cjj_FuncTime_$callClinit();
        var$2[0] = var$3;
        cjj_FuncTime_time_P = var$1;
    }
    var cjj_FuncFloor = $rt_classWithoutFields();
    var cjj_FuncFloor_floor_P = null;
    function cjj_FuncFloor_$callClinit() {
        cjj_FuncFloor_$callClinit = $rt_eraseClinit(cjj_FuncFloor);
        cjj_FuncFloor__clinit_();
    }
    function cjj_FuncFloor__init_($this) {
        cjj_FuncFloor_$callClinit();
    }
    function cjj_FuncFloor__clinit_() {
        var var$1, var$2, var$3;
        var$1 = $rt_createArray(cjj_FuncFloor, 2);
        var$2 = var$1.data;
        var$2[0] = cjj_Floor0__init_0();
        var$3 = new cjj_Floor1;
        cjj_FuncFloor__init_(var$3);
        var$2[1] = var$3;
        cjj_FuncFloor_floor_P = var$1;
    }
    var cjj_FuncResidue = $rt_classWithoutFields();
    var cjj_FuncResidue_residue_P = null;
    function cjj_FuncResidue_$callClinit() {
        cjj_FuncResidue_$callClinit = $rt_eraseClinit(cjj_FuncResidue);
        cjj_FuncResidue__clinit_();
    }
    function cjj_FuncResidue__clinit_() {
        var var$1, var$2, var$3;
        var$1 = $rt_createArray(cjj_FuncResidue, 3);
        var$2 = var$1.data;
        var$3 = new cjj_Residue0;
        cjj_FuncResidue_$callClinit();
        var$2[0] = var$3;
        var$2[1] = new cjj_Residue1;
        var$2[2] = new cjj_Residue2;
        cjj_FuncResidue_residue_P = var$1;
    }
    var jnc_BufferUnderflowException = $rt_classWithoutFields(jl_RuntimeException);
    function jnc_BufferUnderflowException__init_0() {
        var var_0 = new jnc_BufferUnderflowException();
        jnc_BufferUnderflowException__init_(var_0);
        return var_0;
    }
    function jnc_BufferUnderflowException__init_($this) {
        jl_Throwable__init_0($this);
    }
    var jnc_BufferOverflowException = $rt_classWithoutFields(jl_RuntimeException);
    function jnc_BufferOverflowException__init_0() {
        var var_0 = new jnc_BufferOverflowException();
        jnc_BufferOverflowException__init_(var_0);
        return var_0;
    }
    function jnc_BufferOverflowException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function jnc_MalformedInputException() {
        jnc_CharacterCodingException.call(this);
        this.$length3 = 0;
    }
    function jnc_MalformedInputException_getMessage($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$length3;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(2148);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_AbstractStringBuilder_append0(var$3, var$1);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function jnc_UnmappableCharacterException() {
        jnc_CharacterCodingException.call(this);
        this.$length4 = 0;
    }
    function jnc_UnmappableCharacterException_getMessage($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$length4;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(2149);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_AbstractStringBuilder_append0(var$3, var$1);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function jnci_BufferedDecoder$Controller() {
        var a = this; jl_Object.call(a);
        a.$in0 = null;
        a.$out2 = null;
        a.$inPosition = 0;
        a.$outPosition = 0;
    }
    function jnci_BufferedDecoder$Controller_hasMoreInput0($this, $sz) {
        return jn_Buffer_remaining($this.$in0) < $sz ? 0 : 1;
    }
    function jnci_BufferedDecoder$Controller_hasMoreOutput($this, $sz) {
        return jn_Buffer_remaining($this.$out2) < $sz ? 0 : 1;
    }
    function jnci_BufferedEncoder$Controller() {
        var a = this; jl_Object.call(a);
        a.$in1 = null;
        a.$out3 = null;
        a.$inPosition0 = 0;
        a.$outPosition0 = 0;
    }
    function jnci_BufferedEncoder$Controller_hasMoreInput0($this, $sz) {
        return jn_Buffer_remaining($this.$in1) < $sz ? 0 : 1;
    }
    function jnci_BufferedEncoder$Controller_hasMoreOutput($this, $sz) {
        return jn_Buffer_remaining($this.$out3) < $sz ? 0 : 1;
    }
    function nleit_BooleanResult() {
        jl_Object.call(this);
        this.$bool = 0;
    }
    var nleit_BooleanResult_TRUE = null;
    var nleit_BooleanResult_FALSE = null;
    function nleit_BooleanResult__init_0(var_0) {
        var var_1 = new nleit_BooleanResult();
        nleit_BooleanResult__init_(var_1, var_0);
        return var_1;
    }
    function nleit_BooleanResult__init_($this, $b) {
        $this.$bool = $b;
    }
    function nleit_BooleanResult__clinit_() {
        nleit_BooleanResult_TRUE = nleit_BooleanResult__init_0(1);
        nleit_BooleanResult_FALSE = nleit_BooleanResult__init_0(0);
    }
    function nlei_EnumEaglerConnectionState() {
        var a = this; jl_Enum.call(a);
        a.$typeClosed = 0;
        a.$typeOpen = 0;
    }
    var nlei_EnumEaglerConnectionState_CLOSED = null;
    var nlei_EnumEaglerConnectionState_CONNECTING = null;
    var nlei_EnumEaglerConnectionState_CONNECTED = null;
    var nlei_EnumEaglerConnectionState_FAILED = null;
    var nlei_EnumEaglerConnectionState_$VALUES = null;
    function nlei_EnumEaglerConnectionState_$callClinit() {
        nlei_EnumEaglerConnectionState_$callClinit = $rt_eraseClinit(nlei_EnumEaglerConnectionState);
        nlei_EnumEaglerConnectionState__clinit_();
    }
    function nlei_EnumEaglerConnectionState__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new nlei_EnumEaglerConnectionState();
        nlei_EnumEaglerConnectionState__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nlei_EnumEaglerConnectionState_values() {
        nlei_EnumEaglerConnectionState_$callClinit();
        return nlei_EnumEaglerConnectionState_$VALUES.$clone();
    }
    function nlei_EnumEaglerConnectionState__init_($this, var$1, var$2, $typeClosed, $typeOpen) {
        nlei_EnumEaglerConnectionState_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
        $this.$typeClosed = $typeClosed;
        $this.$typeOpen = $typeOpen;
    }
    function nlei_EnumEaglerConnectionState__clinit_() {
        var var$1;
        nlei_EnumEaglerConnectionState_CLOSED = nlei_EnumEaglerConnectionState__init_0($rt_s(2150), 0, 1, 0);
        nlei_EnumEaglerConnectionState_CONNECTING = nlei_EnumEaglerConnectionState__init_0($rt_s(2151), 1, 0, 0);
        nlei_EnumEaglerConnectionState_CONNECTED = nlei_EnumEaglerConnectionState__init_0($rt_s(2152), 2, 0, 1);
        var$1 = nlei_EnumEaglerConnectionState__init_0($rt_s(2153), 3, 1, 0);
        nlei_EnumEaglerConnectionState_FAILED = var$1;
        nlei_EnumEaglerConnectionState_$VALUES = $rt_createArrayFromData(nlei_EnumEaglerConnectionState, [nlei_EnumEaglerConnectionState_CLOSED, nlei_EnumEaglerConnectionState_CONNECTING, nlei_EnumEaglerConnectionState_CONNECTED, var$1]);
    }
    var nlei_PlatformNetworking = $rt_classWithoutFields();
    var nlei_PlatformNetworking_logger = null;
    var nlei_PlatformNetworking_$clinitCalled = false;
    function nlei_PlatformNetworking_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nlei_PlatformNetworking_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nlei_PlatformNetworking_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nlei_PlatformNetworking__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformNetworking_$callClinit = $rt_eraseClinit(nlei_PlatformNetworking);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nlei_PlatformNetworking__init_0() {
        var var_0 = new nlei_PlatformNetworking();
        nlei_PlatformNetworking__init_(var_0);
        return var_0;
    }
    function nlei_PlatformNetworking__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nlei_PlatformNetworking_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nlei_PlatformNetworking__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_s(2154);
            $ptr = 1;
        case 1:
            $tmp = oall_LogManager_getLogger(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            nlei_PlatformNetworking_logger = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    function nms_GuiConnectFailed() {
        var a = this; nms_GuiScreen.call(a);
        a.$errorMessage = null;
        a.$errorDetail = null;
    }
    function nms_GuiConnectFailed__init_0(var_0, var_1, var_2) {
        var var_3 = new nms_GuiConnectFailed();
        nms_GuiConnectFailed__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_GuiConnectFailed__init_($this, $var1, $var2, $var3) {
        var $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_GuiScreen__init_($this);
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_translateKey($var4, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$errorMessage = $var1;
            if ($var3 === null) {
                $ptr = 3;
                continue main;
            }
            $ptr = 4;
            continue main;
        case 3:
            $tmp = nms_StringTranslate_translateKey($var4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$errorDetail = $var1;
            return;
        case 4:
            $tmp = nms_StringTranslate_translateKeyFormat($var4, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$errorDetail = $var1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_GuiConnectFailed_updateScreen($this) {}
    function nms_GuiConnectFailed_keyTyped($this, $var1, $var2) {}
    function nms_GuiConnectFailed_initGui($this) {
        var $var1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            ju_ArrayList_clear($this.$controlList);
            var$2 = $this.$controlList;
            var$3 = new nms_GuiButton;
            var$4 = 0;
            var$5 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$6 = (($this.$height3 / 4 | 0) + 120 | 0) + 12 | 0;
            var$7 = $rt_s(2155);
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_translateKey($var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            nms_GuiButton__init_(var$3, var$4, var$5, var$6, $var1);
            $ptr = 3;
        case 3:
            ju_ArrayList_add(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_GuiConnectFailed_actionPerformed($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$id2)
                return;
            var$2 = $this.$mc6;
            $var1 = new nms_GuiMainMenu;
            $ptr = 1;
        case 1:
            nms_GuiMainMenu__init_($var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nmc_Minecraft_displayGuiScreen(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_GuiConnectFailed_drawScreen($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiScreen_drawDefaultBackground($this);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$fontRenderer0;
            var$5 = $this.$errorMessage;
            var$6 = $this.$width1 / 2 | 0;
            var$7 = ($this.$height3 / 2 | 0) - 50 | 0;
            var$8 = 16777215;
            $ptr = 2;
        case 2:
            nms_Gui_drawCenteredString($this, var$4, var$5, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$fontRenderer0;
            var$5 = $this.$errorDetail;
            var$6 = $this.$width1 / 2 | 0;
            var$7 = ($this.$height3 / 2 | 0) - 10 | 0;
            var$8 = 16777215;
            $ptr = 3;
        case 3:
            nms_Gui_drawCenteredString($this, var$4, var$5, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_GuiSmallButton() {
        nms_GuiButton.call(this);
        this.$enumOptions = null;
    }
    function nms_GuiSmallButton__init_2(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_GuiSmallButton();
        nms_GuiSmallButton__init_0(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_GuiSmallButton__init_3(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nms_GuiSmallButton();
        nms_GuiSmallButton__init_(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nms_GuiSmallButton__init_0($this, $var1, $var2, $var3, $var4) {
        nms_GuiSmallButton__init_($this, $var1, $var2, $var3, null, $var4);
    }
    function nms_GuiSmallButton__init_($this, $var1, $var2, $var3, $var4, $var5) {
        nms_GuiButton__init_0($this, $var1, $var2, $var3, 150, 20, $var5);
        $this.$enumOptions = $var4;
    }
    function nms_GuiVideoSettings() {
        var a = this; nms_GuiScreen.call(a);
        a.$field_22110_h = null;
        a.$field_22107_a = null;
        a.$field_22109_i = null;
    }
    var nms_GuiVideoSettings_field_22108_k = null;
    function nms_GuiVideoSettings_$callClinit() {
        nms_GuiVideoSettings_$callClinit = $rt_eraseClinit(nms_GuiVideoSettings);
        nms_GuiVideoSettings__clinit_();
    }
    function nms_GuiVideoSettings_initGui($this) {
        var $var1, var$2, $var2, $var3, $var4, $var5, var$7, var$8, $var6, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var6 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$2 = $rt_s(2156);
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_translateKey($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$field_22107_a = var$2;
            $var2 = 0;
            nms_GuiVideoSettings_$callClinit();
            $var3 = nms_GuiVideoSettings_field_22108_k.data;
            $var4 = $var3.length;
            $var5 = 0;
            if ($var5 >= $var4) {
                var$7 = $this.$controlList;
                var$2 = new nms_GuiButton;
                var$8 = 200;
                $var4 = ($this.$width1 / 2 | 0) - 100 | 0;
                $var2 = ($this.$height3 / 6 | 0) + 168 | 0;
                $var6 = $rt_s(1750);
                $ptr = 3;
                continue main;
            }
            $var6 = $var3[$var5];
            if ($var6.$enumFloat) {
                var$2 = $this.$controlList;
                var$7 = new nms_GuiSlider;
                var$10 = $var6.$ordinal0;
                var$11 = (($this.$width1 / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0;
                var$8 = ($this.$height3 / 6 | 0) + (24 * ($var2 >> 1) | 0) | 0;
                var$12 = $this.$field_22109_i;
                $ptr = 5;
                continue main;
            }
            var$7 = $this.$controlList;
            var$12 = new nms_GuiSmallButton;
            var$13 = $var6.$ordinal0;
            var$8 = (($this.$width1 / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0;
            var$10 = ($this.$height3 / 6 | 0) + (24 * ($var2 >> 1) | 0) | 0;
            var$2 = $this.$field_22109_i;
            $ptr = 7;
            continue main;
        case 3:
            $tmp = nms_StringTranslate_translateKey($var1, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            nms_GuiButton__init_(var$2, var$8, $var4, $var2, $var1);
            $ptr = 4;
        case 4:
            ju_ArrayList_add(var$7, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 5:
            $tmp = nms_GameSettings_getKeyBinding(var$12, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            nms_GuiSlider__init_(var$7, var$10, var$11, var$8, $var6, var$12, nms_GameSettings_getOptionFloatValue($this.$field_22109_i, $var6));
            $ptr = 6;
        case 6:
            ju_ArrayList_add(var$2, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            $var5 = $var5 + 1 | 0;
            if ($var5 >= $var4) {
                var$7 = $this.$controlList;
                var$2 = new nms_GuiButton;
                var$8 = 200;
                $var4 = ($this.$width1 / 2 | 0) - 100 | 0;
                $var2 = ($this.$height3 / 6 | 0) + 168 | 0;
                $var6 = $rt_s(1750);
                $ptr = 3;
                continue main;
            }
            $var6 = $var3[$var5];
            if ($var6.$enumFloat) {
                var$2 = $this.$controlList;
                var$7 = new nms_GuiSlider;
                var$10 = $var6.$ordinal0;
                var$11 = (($this.$width1 / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0;
                var$8 = ($this.$height3 / 6 | 0) + (24 * ($var2 >> 1) | 0) | 0;
                var$12 = $this.$field_22109_i;
                $ptr = 5;
                continue main;
            }
            var$7 = $this.$controlList;
            var$12 = new nms_GuiSmallButton;
            var$13 = $var6.$ordinal0;
            var$8 = (($this.$width1 / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0;
            var$10 = ($this.$height3 / 6 | 0) + (24 * ($var2 >> 1) | 0) | 0;
            var$2 = $this.$field_22109_i;
            $ptr = 7;
        case 7:
            $tmp = nms_GameSettings_getKeyBinding(var$2, $var6);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            nms_GuiSmallButton__init_(var$12, var$13, var$8, var$10, $var6, var$2);
            $ptr = 8;
        case 8:
            ju_ArrayList_add(var$7, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            $var5 = $var5 + 1 | 0;
            if ($var5 >= $var4) {
                var$7 = $this.$controlList;
                var$2 = new nms_GuiButton;
                var$8 = 200;
                $var4 = ($this.$width1 / 2 | 0) - 100 | 0;
                $var2 = ($this.$height3 / 6 | 0) + 168 | 0;
                $var6 = $rt_s(1750);
                $ptr = 3;
                continue main;
            }
            $var6 = $var3[$var5];
            if ($var6.$enumFloat) {
                var$2 = $this.$controlList;
                var$7 = new nms_GuiSlider;
                var$10 = $var6.$ordinal0;
                var$11 = (($this.$width1 / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0;
                var$8 = ($this.$height3 / 6 | 0) + (24 * ($var2 >> 1) | 0) | 0;
                var$12 = $this.$field_22109_i;
                $ptr = 5;
                continue main;
            }
            var$7 = $this.$controlList;
            var$12 = new nms_GuiSmallButton;
            var$13 = $var6.$ordinal0;
            var$8 = (($this.$width1 / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0;
            var$10 = ($this.$height3 / 6 | 0) + (24 * ($var2 >> 1) | 0) | 0;
            var$2 = $this.$field_22109_i;
            $ptr = 7;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var2, $var3, $var4, $var5, var$7, var$8, $var6, var$10, var$11, var$12, var$13, $ptr);
    }
    function nms_GuiVideoSettings_actionPerformed($this, $var1) {
        var $var2, var$3, $var4, $var3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$var1.$enabled0)
                return;
            if ($var1.$id2 < 100 && $var1 instanceof nms_GuiSmallButton) {
                $var2 = $this.$field_22109_i;
                var$3 = $var1.$enumOptions;
                $var4 = 1;
                $ptr = 4;
                continue main;
            }
            if ($var1.$id2 == 200) {
                $var1 = $this.$mc6.$gameSettings;
                $ptr = 2;
                continue main;
            }
            $var2 = new nms_ScaledResolution;
            $var1 = $this.$mc6;
            nms_ScaledResolution__init_0($var2, $var1.$gameSettings, $var1.$displayWidth, $var1.$displayHeight);
            $var3 = $var2.$scaledWidth;
            $var4 = $var2.$scaledHeight;
            $var1 = $this.$mc6;
            $ptr = 1;
        case 1:
            nms_GuiScreen_setWorldAndResolution($this, $var1, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nms_GameSettings_saveOptions($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$mc6;
            $var2 = $this.$field_22110_h;
            $ptr = 3;
        case 3:
            nmc_Minecraft_displayGuiScreen($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = new nms_ScaledResolution;
            $var1 = $this.$mc6;
            nms_ScaledResolution__init_0($var2, $var1.$gameSettings, $var1.$displayWidth, $var1.$displayHeight);
            $var3 = $var2.$scaledWidth;
            $var4 = $var2.$scaledHeight;
            $var1 = $this.$mc6;
            $ptr = 1;
            continue main;
        case 4:
            nms_GameSettings_setOptionValue($var2, var$3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$field_22109_i;
            var$3 = nms_EnumOptions_func_20137_a($var1.$id2);
            $ptr = 5;
        case 5:
            $tmp = nms_GameSettings_getKeyBinding($var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var1.$displayString = $var2;
            if ($var1.$id2 == 200) {
                $var1 = $this.$mc6.$gameSettings;
                $ptr = 2;
                continue main;
            }
            $var2 = new nms_ScaledResolution;
            $var1 = $this.$mc6;
            nms_ScaledResolution__init_0($var2, $var1.$gameSettings, $var1.$displayWidth, $var1.$displayHeight);
            $var3 = $var2.$scaledWidth;
            $var4 = $var2.$scaledHeight;
            $var1 = $this.$mc6;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var4, $var3, $ptr);
    }
    function nms_GuiVideoSettings_drawScreen($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiScreen_drawDefaultBackground($this);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$fontRenderer0;
            var$5 = $this.$field_22107_a;
            var$6 = $this.$width1 / 2 | 0;
            var$7 = 20;
            var$8 = 16777215;
            $ptr = 2;
        case 2:
            nms_Gui_drawCenteredString($this, var$4, var$5, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_GuiVideoSettings__clinit_() {
        var var$1, var$2;
        var$1 = $rt_createArray(nms_EnumOptions, 6);
        var$2 = var$1.data;
        nms_EnumOptions_$callClinit();
        var$2[0] = nms_EnumOptions_GRAPHICS;
        var$2[1] = nms_EnumOptions_RENDER_DISTANCE;
        var$2[2] = nms_EnumOptions_LIMIT_FRAMERATE;
        var$2[3] = nms_EnumOptions_ANAGLYPH;
        var$2[4] = nms_EnumOptions_VIEW_BOBBING;
        var$2[5] = nms_EnumOptions_AMBIENT_OCCLUSION;
        nms_GuiVideoSettings_field_22108_k = var$1;
    }
    function nms_GuiControls() {
        var a = this; nms_GuiScreen.call(a);
        a.$parentScreen2 = null;
        a.$screenTitle3 = null;
        a.$options3 = null;
        a.$buttonId = 0;
    }
    function nms_GuiControls_func_20080_j($this) {
        return ($this.$width1 / 2 | 0) - 155 | 0;
    }
    function nms_GuiControls_initGui($this) {
        var $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var2 = nms_GuiControls_func_20080_j($this);
            $var3 = 0;
            var$4 = $this.$options3;
            if ($var3 >= var$4.$keyBindings.data.length) {
                var$5 = $this.$controlList;
                var$6 = new nms_GuiButton;
                var$7 = 200;
                $var2 = ($this.$width1 / 2 | 0) - 100 | 0;
                $var3 = ($this.$height3 / 6 | 0) + 168 | 0;
                var$4 = $rt_s(1750);
                $ptr = 2;
                continue main;
            }
            var$5 = $this.$controlList;
            var$6 = new nms_GuiSmallButton;
            var$8 = $var2 + (($var3 % 2 | 0) * 160 | 0) | 0;
            var$7 = ($this.$height3 / 6 | 0) + (24 * ($var3 >> 1) | 0) | 0;
            var$9 = 70;
            var$10 = 20;
            $ptr = 5;
            continue main;
        case 2:
            $tmp = nms_StringTranslate_translateKey($var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            nms_GuiButton__init_(var$6, var$7, $var2, $var3, var$4);
            $ptr = 3;
        case 3:
            ju_ArrayList_add(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $rt_s(2157);
            $ptr = 4;
        case 4:
            $tmp = nms_StringTranslate_translateKey($var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$screenTitle3 = $var1;
            return;
        case 5:
            $tmp = nms_GameSettings_getOptionDisplayString(var$4, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            nms_GuiButton__init_0(var$6, $var3, var$8, var$7, var$9, var$10, var$4);
            var$6.$enumOptions = null;
            $ptr = 6;
        case 6:
            ju_ArrayList_add(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $var3 + 1 | 0;
            var$4 = $this.$options3;
            if ($var3 >= var$4.$keyBindings.data.length) {
                var$5 = $this.$controlList;
                var$6 = new nms_GuiButton;
                var$7 = 200;
                $var2 = ($this.$width1 / 2 | 0) - 100 | 0;
                $var3 = ($this.$height3 / 6 | 0) + 168 | 0;
                var$4 = $rt_s(1750);
                $ptr = 2;
                continue main;
            }
            var$5 = $this.$controlList;
            var$6 = new nms_GuiSmallButton;
            var$8 = $var2 + (($var3 % 2 | 0) * 160 | 0) | 0;
            var$7 = ($this.$height3 / 6 | 0) + (24 * ($var3 >> 1) | 0) | 0;
            var$9 = 70;
            var$10 = 20;
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_GuiControls_actionPerformed($this, $var1) {
        var $var2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = 0;
            var$3 = $this.$options3;
            if ($var2 < var$3.$keyBindings.data.length) {
                var$3 = ju_ArrayList_get($this.$controlList, $var2);
                var$4 = $this.$options3;
                $ptr = 1;
                continue main;
            }
            var$5 = $var1.$id2;
            if (var$5 != 200) {
                $this.$buttonId = var$5;
                $ptr = 2;
                continue main;
            }
            $var1 = $this.$mc6;
            var$3 = $this.$parentScreen2;
            $ptr = 7;
            continue main;
        case 1:
            $tmp = nms_GameSettings_getOptionDisplayString(var$4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$3.$displayString = var$4;
            $var2 = $var2 + 1 | 0;
            var$3 = $this.$options3;
            if ($var2 < var$3.$keyBindings.data.length) {
                var$3 = ju_ArrayList_get($this.$controlList, $var2);
                var$4 = $this.$options3;
                continue main;
            }
            var$5 = $var1.$id2;
            if (var$5 != 200) {
                $this.$buttonId = var$5;
                $ptr = 2;
                continue main;
            }
            $var1 = $this.$mc6;
            var$3 = $this.$parentScreen2;
            $ptr = 7;
            continue main;
        case 2:
            $tmp = nms_GameSettings_getOptionDisplayString(var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            var$6 = $rt_s(1870);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append(var$6, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$6 = $rt_s(2087);
            $ptr = 5;
        case 5:
            jl_StringBuilder_append(var$3, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $var1.$displayString = var$3;
            return;
        case 7:
            nmc_Minecraft_displayGuiScreen($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_GuiControls_keyTyped($this, $var1, $var2) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$buttonId;
            if (var$3 < 0) {
                $ptr = 1;
                continue main;
            }
            var$4 = $this.$options3;
            var$4.$keyBindings.data[var$3].$keyCode = $var2;
            $ptr = 2;
            continue main;
        case 1:
            nms_GuiScreen_keyTyped($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nms_GameSettings_saveOptions(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = ju_ArrayList_get($this.$controlList, $this.$buttonId);
            var$5 = $this.$options3;
            $var1 = $this.$buttonId;
            $ptr = 3;
        case 3:
            $tmp = nms_GameSettings_getOptionDisplayString(var$5, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            var$4.$displayString = var$5;
            $this.$buttonId = (-1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, $ptr);
    }
    function nms_GuiControls_drawScreen($this, $var1, $var2, $var3) {
        var var$4, var$5, $var4, $var5, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiScreen_drawDefaultBackground($this);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$fontRenderer0;
            var$5 = $this.$screenTitle3;
            $var4 = $this.$width1 / 2 | 0;
            $var5 = 20;
            var$8 = 16777215;
            $ptr = 2;
        case 2:
            nms_Gui_drawCenteredString($this, var$4, var$5, $var4, $var5, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = nms_GuiControls_func_20080_j($this);
            $var5 = 0;
            var$9 = $this.$options3;
            if ($var5 >= var$9.$keyBindings.data.length) {
                $ptr = 3;
                continue main;
            }
            var$4 = $this.$fontRenderer0;
            $ptr = 4;
            continue main;
        case 3:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            var$9 = var$9.$keyBindings.data[$var5].$keyDescription;
            $ptr = 5;
        case 5:
            $tmp = nms_StringTranslate_translateKey(var$5, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            var$8 = (($var4 + (($var5 % 2 | 0) * 160 | 0) | 0) + 70 | 0) + 6 | 0;
            var$10 = (($this.$height3 / 6 | 0) + (24 * ($var5 >> 1) | 0) | 0) + 7 | 0;
            var$11 = (-1);
            $ptr = 6;
        case 6:
            nms_Gui_drawString($this, var$4, var$5, var$8, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $var5 + 1 | 0;
            var$9 = $this.$options3;
            if ($var5 >= var$9.$keyBindings.data.length) {
                $ptr = 3;
                continue main;
            }
            var$4 = $this.$fontRenderer0;
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $var4, $var5, var$8, var$9, var$10, var$11, $ptr);
    }
    function nms_GuiSlider() {
        var a = this; nms_GuiButton.call(a);
        a.$sliderValue = 0.0;
        a.$dragging0 = 0;
        a.$idFloat = null;
    }
    function nms_GuiSlider__init_0(var_0, var_1, var_2, var_3, var_4, var_5) {
        var var_6 = new nms_GuiSlider();
        nms_GuiSlider__init_(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
        return var_6;
    }
    function nms_GuiSlider__init_($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        nms_GuiButton__init_0($this, $var1, $var2, $var3, 150, 20, $var5);
        $this.$sliderValue = 1.0;
        $this.$dragging0 = 0;
        $this.$idFloat = null;
        $this.$idFloat = $var4;
        $this.$sliderValue = $var6;
    }
    function nms_GuiSlider_getHoverState($this, $var1) {
        return 0;
    }
    function nms_GuiSlider_mouseDragged($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$enabled2)
                return;
            if (!$this.$dragging0) {
                var$4 = 1.0;
                var$5 = 1.0;
                var$6 = 1.0;
                var$7 = 1.0;
                $ptr = 1;
                continue main;
            }
            var$5 = ($var2 - ($this.$xPosition2 + 4 | 0) | 0) / ($this.$width4 - 8 | 0);
            $this.$sliderValue = var$5;
            if (var$5 < 0.0)
                $this.$sliderValue = 0.0;
            if ($this.$sliderValue > 1.0)
                $this.$sliderValue = 1.0;
            nms_GameSettings_setOptionFloatValue($var1.$gameSettings, $this.$idFloat, $this.$sliderValue);
            $var1 = $var1.$gameSettings;
            var$8 = $this.$idFloat;
            $ptr = 4;
            continue main;
        case 1:
            nleo_GlStateManager_color(var$4, var$5, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $this.$xPosition2 + ($this.$sliderValue * ($this.$width4 - 8 | 0) | 0) | 0;
            var$10 = $this.$yPosition2;
            var$11 = 0;
            var$12 = 66;
            $var2 = 4;
            $var3 = 20;
            $ptr = 2;
        case 2:
            nms_Gui_drawTexturedModalRect($this, var$9, var$10, var$11, var$12, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = ($this.$xPosition2 + ($this.$sliderValue * ($this.$width4 - 8 | 0) | 0) | 0) + 4 | 0;
            $var3 = $this.$yPosition2;
            var$9 = 196;
            var$10 = 66;
            var$11 = 4;
            var$12 = 20;
            $ptr = 3;
        case 3:
            nms_Gui_drawTexturedModalRect($this, $var2, $var3, var$9, var$10, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 4:
            $tmp = nms_GameSettings_getKeyBinding($var1, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$displayString = $var1;
            var$4 = 1.0;
            var$5 = 1.0;
            var$6 = 1.0;
            var$7 = 1.0;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function nms_GuiSlider_mousePressed($this, $var1, $var2, $var3) {
        var var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_GuiButton_mousePressed($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if (!$var3)
                return 0;
            var$4 = ($var2 - ($this.$xPosition2 + 4 | 0) | 0) / ($this.$width4 - 8 | 0);
            $this.$sliderValue = var$4;
            if (var$4 < 0.0)
                $this.$sliderValue = 0.0;
            if ($this.$sliderValue > 1.0)
                $this.$sliderValue = 1.0;
            nms_GameSettings_setOptionFloatValue($var1.$gameSettings, $this.$idFloat, $this.$sliderValue);
            $var1 = $var1.$gameSettings;
            var$5 = $this.$idFloat;
            $ptr = 2;
        case 2:
            $tmp = nms_GameSettings_getKeyBinding($var1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$displayString = $var1;
            $this.$dragging0 = 1;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $ptr);
    }
    function nms_GuiSlider_mouseReleased($this, $var1, $var2) {
        $this.$dragging0 = 0;
    }
    function nms_GuiYesNo() {
        var a = this; nms_GuiScreen.call(a);
        a.$parentScreen3 = null;
        a.$message10 = null;
        a.$message20 = null;
        a.$field_22106_k = null;
        a.$field_22105_l = null;
        a.$worldNumber = 0;
    }
    function nms_GuiYesNo_initGui($this) {
        ju_ArrayList_add($this.$controlList, nms_GuiSmallButton__init_2(0, (($this.$width1 / 2 | 0) - 155 | 0) + 0 | 0, ($this.$height3 / 6 | 0) + 96 | 0, $this.$field_22106_k));
        ju_ArrayList_add($this.$controlList, nms_GuiSmallButton__init_2(1, (($this.$width1 / 2 | 0) - 155 | 0) + 160 | 0, ($this.$height3 / 6 | 0) + 96 | 0, $this.$field_22105_l));
    }
    function nms_GuiYesNo_actionPerformed($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$parentScreen3;
            var$3 = $var1.$id2 ? 0 : 1;
            var$4 = $this.$worldNumber;
            if (!var$2.$deleting)
                return;
            var$2.$deleting = 0;
            if (!var$3) {
                $var1 = var$2.$mc6;
                $ptr = 1;
                continue main;
            }
            $var1 = nms_GuiSelectWorld_getSaveFileName(var$2, var$4);
            var$5 = new nleiv_VFile2;
            var$6 = $rt_createArrayFromData(jl_Object, [$rt_s(241), $var1]);
            $ptr = 2;
            continue main;
        case 1:
            nmc_Minecraft_displayGuiScreen($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nleiv_VFile2__init_(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = jl_System_out();
            var$7 = nleiv_VFile2_getPath(var$5);
            $ptr = 3;
        case 3:
            ji_PrintStream_println0($var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = 1;
            $ptr = 4;
        case 4:
            $tmp = nleiv_VFile2_listFiles(var$5, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$6 = $rt_createArray(jl_Object, $var1.$size0).data;
            var$4 = 0;
            $ptr = 5;
        case 5:
            $tmp = ju_AbstractList_iterator($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (ju_AbstractList$1_hasNext($var1)) {
                var$3 = var$4 + 1 | 0;
                $ptr = 6;
                continue main;
            }
            if (!(var$6.length <= 0 ? 0 : 1)) {
                $ptr = 7;
                continue main;
            }
            var$3 = 1;
            $ptr = 8;
            continue main;
        case 6:
            $tmp = ju_AbstractList$1_next($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            var$6[var$4] = var$7;
            var$4 = var$3;
            if (ju_AbstractList$1_hasNext($var1)) {
                var$3 = var$4 + 1 | 0;
                continue main;
            }
            if (!(var$6.length <= 0 ? 0 : 1)) {
                $ptr = 7;
                continue main;
            }
            var$3 = 1;
            $ptr = 8;
            continue main;
        case 7:
            nms_GuiSelectWorld_loadSaves(var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = var$2.$mc6;
            $ptr = 1;
            continue main;
        case 8:
            $tmp = nleiv_VFile2_listFiles(var$5, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$6 = ju_AbstractCollection_toArray($var1, $rt_createArray(nleiv_VFile2, 0));
            var$3 = 0;
            var$8 = var$6.data;
            if (var$3 >= var$8.length) {
                $ptr = 9;
                continue main;
            }
            $var1 = var$8[var$3];
            $ptr = 10;
            continue main;
        case 9:
            nleiv_VFile2_delete(var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
            continue main;
        case 10:
            nleiv_VFile2_delete($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = var$3 + 1 | 0;
            var$8 = var$6.data;
            if (var$3 >= var$8.length) {
                $ptr = 9;
                continue main;
            }
            $var1 = var$8[var$3];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_GuiYesNo_drawScreen($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiScreen_drawDefaultBackground($this);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$fontRenderer0;
            var$5 = $this.$message10;
            var$6 = $this.$width1 / 2 | 0;
            var$7 = 70;
            var$8 = 16777215;
            $ptr = 2;
        case 2:
            nms_Gui_drawCenteredString($this, var$4, var$5, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$fontRenderer0;
            var$5 = $this.$message20;
            var$6 = $this.$width1 / 2 | 0;
            var$7 = 90;
            var$8 = 16777215;
            $ptr = 3;
        case 3:
            nms_Gui_drawCenteredString($this, var$4, var$5, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_GuiCreateWorld() {
        var a = this; nms_GuiScreen.call(a);
        a.$parentGuiScreen = null;
        a.$textboxWorldName = null;
        a.$textboxSeed = null;
        a.$folderName = null;
        a.$createClicked = 0;
    }
    function nms_GuiCreateWorld_updateScreen($this) {
        nms_GuiTextField_updateCursorCounter($this.$textboxWorldName);
        nms_GuiTextField_updateCursorCounter($this.$textboxSeed);
    }
    function nms_GuiCreateWorld_initGui($this) {
        var $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            nlei_PlatformInput_enableRepeatEvents = 1;
            ju_ArrayList_clear($this.$controlList);
            var$2 = $this.$controlList;
            var$3 = new nms_GuiButton;
            var$4 = 0;
            var$5 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$6 = (($this.$height3 / 4 | 0) + 96 | 0) + 12 | 0;
            var$7 = $rt_s(2110);
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_translateKey($var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            nms_GuiButton__init_(var$3, var$4, var$5, var$6, var$7);
            $ptr = 3;
        case 3:
            ju_ArrayList_add(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$controlList;
            var$7 = new nms_GuiButton;
            var$4 = 1;
            var$5 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$6 = (($this.$height3 / 4 | 0) + 120 | 0) + 12 | 0;
            var$2 = $rt_s(1824);
            $ptr = 4;
        case 4:
            $tmp = nms_StringTranslate_translateKey($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            nms_GuiButton__init_(var$7, var$4, var$5, var$6, var$2);
            $ptr = 5;
        case 5:
            ju_ArrayList_add(var$3, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = new nms_GuiTextField;
            var$2 = $this.$fontRenderer0;
            var$4 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$5 = 60;
            var$6 = 200;
            var$8 = 20;
            var$3 = $rt_s(2158);
            $ptr = 6;
        case 6:
            $tmp = nms_StringTranslate_translateKey($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            nms_GuiTextField__init_(var$7, var$2, var$4, var$5, var$6, var$8, $var1);
            $this.$textboxWorldName = var$7;
            var$7.$isFocused = 1;
            var$7.$maxStringLength = 32;
            $this.$textboxSeed = nms_GuiTextField__init_0($this.$fontRenderer0, ($this.$width1 / 2 | 0) - 100 | 0, 116, 200, 20, $rt_s(3));
            $ptr = 7;
        case 7:
            nms_GuiCreateWorld_func_22129_j($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_GuiCreateWorld_func_22129_j($this) {
        var $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$folderName = jl_String_trim($this.$textboxWorldName.$text0);
            $ptr = 1;
        case 1:
            nms_FontAllowedCharacters_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_FontAllowedCharacters_field_22286_b.data;
            $var2 = $var1.length;
            $var3 = 0;
            while ($var3 < $var2) {
                $var4 = $var1[$var3];
                $this.$folderName = jl_String_replace($this.$folderName, $var4, 95);
                $var3 = $var3 + 1 | 0;
            }
            if (nms_MathHelper_stringNullOrLengthZero($this.$folderName))
                $this.$folderName = $rt_s(2116);
            var$5 = $this.$mc6.$saveLoader;
            var$6 = $this.$folderName;
            var$7 = 45;
            $ptr = 2;
        case 2:
            $tmp = nleb_EaglercraftSaveManager_getWorldInfoForWorld(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8 === null) {
                $this.$folderName = var$6;
                return;
            }
            var$8 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$8);
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append(var$8, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_AbstractStringBuilder_append(var$6, var$7);
            $ptr = 4;
        case 4:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_GuiCreateWorld_onGuiClosed($this) {
        nlei_PlatformInput_enableRepeatEvents = 0;
    }
    function nms_GuiCreateWorld_actionPerformed($this, $var1) {
        var var$2, $var4, $var2, $var5, var$6, var$7, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var2 = $thread.pop();$var4 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$enabled0) {
                var$2 = $var1.$id2;
                if (var$2 == 1) {
                    $var1 = $this.$mc6;
                    $var4 = $this.$parentGuiScreen;
                    $ptr = 1;
                    continue main;
                }
                if (!var$2) {
                    $var1 = $this.$mc6;
                    $var4 = null;
                    $ptr = 2;
                    continue main;
                }
            }
            return;
        case 1:
            nmc_Minecraft_displayGuiScreen($var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nmc_Minecraft_displayGuiScreen($var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$createClicked)
                return;
            $this.$createClicked = 1;
            $var2 = ju_Random_nextLong(new ju_Random);
            $var4 = $this.$textboxSeed.$text0;
            if (!nms_MathHelper_stringNullOrLengthZero($var4)) {
                try {
                    $ptr = 3;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_NumberFormatException) {
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 6;
                continue main;
            }
            $var5 = $var2;
            $var1 = $this.$mc6;
            $var1.$playerController = nms_PlayerControllerSP__init_0($var1);
            $var1 = $this.$mc6;
            $var4 = $this.$folderName;
            var$6 = $this.$textboxWorldName.$text0;
            $ptr = 4;
            continue main;
        case 3:
            a: {
                try {
                    $tmp = jl_Long_parseLong($var4);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $var5 = $tmp;
                    if (Long_eq($var5, Long_ZERO))
                        $var5 = $var2;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_NumberFormatException) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                $var1 = $this.$mc6;
                $var1.$playerController = nms_PlayerControllerSP__init_0($var1);
                $var1 = $this.$mc6;
                $var4 = $this.$folderName;
                var$6 = $this.$textboxWorldName.$text0;
                $ptr = 4;
                continue main;
            }
            $ptr = 6;
            continue main;
        case 4:
            nmc_Minecraft_startWorld($var1, $var4, var$6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$mc6;
            $var4 = null;
            $ptr = 5;
        case 5:
            nmc_Minecraft_displayGuiScreen($var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            $tmp = jl_String_hashCode($var4);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $var5 = Long_fromInt(var$7);
            $var1 = $this.$mc6;
            $var1.$playerController = nms_PlayerControllerSP__init_0($var1);
            $var1 = $this.$mc6;
            $var4 = $this.$folderName;
            var$6 = $this.$textboxWorldName.$text0;
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $var4, $var2, $var5, var$6, var$7, $ptr);
    }
    function nms_GuiCreateWorld_keyTyped($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$textboxWorldName;
            if (var$3.$isFocused) {
                $ptr = 2;
                continue main;
            }
            var$3 = $this.$textboxSeed;
            $ptr = 1;
        case 1:
            nms_GuiTextField_textboxKeyTyped(var$3, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1 == 13) {
                var$3 = ju_ArrayList_get($this.$controlList, 0);
                $ptr = 3;
                continue main;
            }
            (ju_ArrayList_get($this.$controlList, 0)).$enabled0 = jl_String_length($this.$textboxWorldName.$text0) <= 0 ? 0 : 1;
            $ptr = 4;
            continue main;
        case 2:
            nms_GuiTextField_textboxKeyTyped(var$3, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            if ($var1 == 13) {
                var$3 = ju_ArrayList_get($this.$controlList, 0);
                $ptr = 3;
                continue main;
            }
            (ju_ArrayList_get($this.$controlList, 0)).$enabled0 = jl_String_length($this.$textboxWorldName.$text0) <= 0 ? 0 : 1;
            $ptr = 4;
            continue main;
        case 3:
            nms_GuiCreateWorld_actionPerformed($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            (ju_ArrayList_get($this.$controlList, 0)).$enabled0 = jl_String_length($this.$textboxWorldName.$text0) <= 0 ? 0 : 1;
            $ptr = 4;
        case 4:
            nms_GuiCreateWorld_func_22129_j($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_GuiCreateWorld_mouseClicked($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiScreen_mouseClicked($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            nms_GuiTextField_mouseClicked($this.$textboxWorldName, $var1, $var2, $var3);
            nms_GuiTextField_mouseClicked($this.$textboxSeed, $var1, $var2, $var3);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_GuiCreateWorld_drawScreen($this, $var1, $var2, $var3) {
        var $var4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $ptr = 2;
        case 2:
            nms_GuiScreen_drawDefaultBackground($this);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $rt_s(2110);
            $ptr = 3;
        case 3:
            $tmp = nms_StringTranslate_translateKey($var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$7 = $this.$width1 / 2 | 0;
            var$8 = (($this.$height3 / 4 | 0) - 60 | 0) + 20 | 0;
            var$9 = 16777215;
            $ptr = 4;
        case 4:
            nms_Gui_drawCenteredString($this, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $rt_s(2159);
            $ptr = 5;
        case 5:
            $tmp = nms_StringTranslate_translateKey($var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$7 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$8 = 47;
            var$9 = 10526880;
            $ptr = 6;
        case 6:
            nms_Gui_drawString($this, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $rt_s(2160);
            $ptr = 7;
        case 7:
            $tmp = nms_StringTranslate_translateKey($var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$10 = $this.$folderName;
            var$11 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$11);
            $ptr = 8;
        case 8:
            $tmp = jl_StringBuilder_append(var$11, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            jl_AbstractStringBuilder_append(var$6, 32);
            $ptr = 9;
        case 9:
            jl_StringBuilder_append(var$6, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            $tmp = jl_AbstractStringBuilder_toString(var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$7 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$8 = 85;
            var$9 = 10526880;
            $ptr = 11;
        case 11:
            nms_Gui_drawString($this, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $rt_s(2161);
            $ptr = 12;
        case 12:
            $tmp = nms_StringTranslate_translateKey($var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$7 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$8 = 104;
            var$9 = 10526880;
            $ptr = 13;
        case 13:
            nms_Gui_drawString($this, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $rt_s(2162);
            $ptr = 14;
        case 14:
            $tmp = nms_StringTranslate_translateKey($var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$7 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$8 = 140;
            var$9 = 10526880;
            $ptr = 15;
        case 15:
            nms_Gui_drawString($this, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$textboxWorldName;
            $ptr = 16;
        case 16:
            nms_GuiTextField_drawTextBox(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$textboxSeed;
            $ptr = 17;
        case 17:
            nms_GuiTextField_drawTextBox(var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 18;
        case 18:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
    }
    function nms_GuiRenameWorld() {
        var a = this; nms_GuiScreen.call(a);
        a.$guiScreen0 = null;
        a.$disableButton = null;
        a.$worldName = null;
    }
    function nms_GuiRenameWorld_updateScreen($this) {
        nms_GuiTextField_updateCursorCounter($this.$disableButton);
    }
    function nms_GuiRenameWorld_initGui($this) {
        var $var1, $var2, $var3, var$4, var$5, var$6, $var4, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();$var4 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            nlei_PlatformInput_enableRepeatEvents = 1;
            ju_ArrayList_clear($this.$controlList);
            $var2 = $this.$controlList;
            $var3 = new nms_GuiButton;
            var$4 = 0;
            var$5 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$6 = (($this.$height3 / 4 | 0) + 96 | 0) + 12 | 0;
            $var4 = $rt_s(2163);
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_translateKey($var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            nms_GuiButton__init_($var3, var$4, var$5, var$6, $var4);
            $ptr = 3;
        case 3:
            ju_ArrayList_add($var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $this.$controlList;
            $var4 = new nms_GuiButton;
            var$4 = 1;
            var$6 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$8 = (($this.$height3 / 4 | 0) + 120 | 0) + 12 | 0;
            $var2 = $rt_s(1824);
            $ptr = 4;
        case 4:
            $tmp = nms_StringTranslate_translateKey($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            nms_GuiButton__init_($var4, var$4, var$6, var$8, $var1);
            $ptr = 5;
        case 5:
            ju_ArrayList_add($var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$mc6.$saveLoader;
            $var1 = $this.$worldName;
            $ptr = 6;
        case 6:
            $tmp = nleb_EaglercraftSaveManager_getWorldInfoForWorld($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var4 = $var3.$levelName0;
            $var1 = nms_GuiTextField__init_0($this.$fontRenderer0, ($this.$width1 / 2 | 0) - 100 | 0, 60, 200, 20, $var4);
            $this.$disableButton = $var1;
            $var1.$isFocused = 1;
            $var1.$maxStringLength = 32;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, $var4, var$8, $ptr);
    }
    function nms_GuiRenameWorld_onGuiClosed($this) {
        nlei_PlatformInput_enableRepeatEvents = 0;
    }
    function nms_GuiRenameWorld_actionPerformed($this, $var1) {
        var var$2, var$3, $var2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$enabled0) {
                var$2 = $var1.$id2;
                if (var$2 == 1) {
                    $var1 = $this.$mc6;
                    var$3 = $this.$guiScreen0;
                    $ptr = 1;
                    continue main;
                }
                if (!var$2) {
                    $var2 = $this.$mc6.$saveLoader;
                    $var1 = $this.$worldName;
                    var$3 = jl_String_trim($this.$disableButton.$text0);
                    $ptr = 2;
                    continue main;
                }
            }
            return;
        case 1:
            nmc_Minecraft_displayGuiScreen($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nleb_EaglercraftSaveManager_renameWorldData($var2, $var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$mc6;
            var$3 = $this.$guiScreen0;
            $ptr = 3;
        case 3:
            nmc_Minecraft_displayGuiScreen($var1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $var2, $ptr);
    }
    function nms_GuiRenameWorld_keyTyped($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$disableButton;
            $ptr = 1;
        case 1:
            nms_GuiTextField_textboxKeyTyped(var$3, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            (ju_ArrayList_get($this.$controlList, 0)).$enabled0 = jl_String_length(jl_String_trim($this.$disableButton.$text0)) <= 0 ? 0 : 1;
            if ($var1 != 13)
                return;
            var$3 = ju_ArrayList_get($this.$controlList, 0);
            $ptr = 2;
        case 2:
            nms_GuiRenameWorld_actionPerformed($this, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_GuiRenameWorld_mouseClicked($this, $var1, $var2, $var3) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiScreen_mouseClicked($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            nms_GuiTextField_mouseClicked($this.$disableButton, $var1, $var2, $var3);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_GuiRenameWorld_drawScreen($this, $var1, $var2, $var3) {
        var $var4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $ptr = 2;
        case 2:
            nms_GuiScreen_drawDefaultBackground($this);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $rt_s(2164);
            $ptr = 3;
        case 3:
            $tmp = nms_StringTranslate_translateKey($var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$7 = $this.$width1 / 2 | 0;
            var$8 = (($this.$height3 / 4 | 0) - 60 | 0) + 20 | 0;
            var$9 = 16777215;
            $ptr = 4;
        case 4:
            nms_Gui_drawCenteredString($this, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$fontRenderer0;
            var$6 = $rt_s(2159);
            $ptr = 5;
        case 5:
            $tmp = nms_StringTranslate_translateKey($var4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$7 = ($this.$width1 / 2 | 0) - 100 | 0;
            var$8 = 47;
            var$9 = 10526880;
            $ptr = 6;
        case 6:
            nms_Gui_drawString($this, var$5, var$6, var$7, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$disableButton;
            $ptr = 7;
        case 7:
            nms_GuiTextField_drawTextBox(var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 8;
        case 8:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_GuiSlot() {
        var a = this; jl_Object.call(a);
        a.$mc11 = null;
        a.$width6 = 0;
        a.$height7 = 0;
        a.$top = 0;
        a.$bottom = 0;
        a.$right0 = 0;
        a.$left1 = 0;
        a.$posZ1 = 0;
        a.$scrollUpButtonID = 0;
        a.$scrollDownButtonID = 0;
        a.$initialClickY = 0.0;
        a.$scrollMultiplier = 0.0;
        a.$amountScrolled = 0.0;
        a.$selectedElement = 0;
        a.$lastClicked = Long_ZERO;
        a.$field_25123_p = 0;
    }
    function nms_GuiSlot__init_($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        $this.$initialClickY = (-2.0);
        $this.$selectedElement = (-1);
        $this.$lastClicked = Long_ZERO;
        $this.$field_25123_p = 1;
        $this.$mc11 = $var1;
        $this.$width6 = $var2;
        $this.$height7 = $var3;
        $this.$top = $var4;
        $this.$bottom = $var5;
        $this.$posZ1 = $var6;
        $this.$left1 = 0;
        $this.$right0 = $var2;
    }
    function nms_GuiSlot_registerScrollButtons($this, $var1, $var2, $var3) {
        $this.$scrollUpButtonID = $var2;
        $this.$scrollDownButtonID = $var3;
    }
    function nms_GuiSlot_bindAmountScrolled($this) {
        var $var1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = $this.$getContentHeight();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var1 = $var1 - (($this.$bottom - $this.$top | 0) - 4 | 0) | 0;
            if ($var1 < 0)
                $var1 = $var1 / 2 | 0;
            if ($this.$amountScrolled < 0.0)
                $this.$amountScrolled = 0.0;
            var$2 = $this.$amountScrolled;
            var$3 = $var1;
            if (var$2 > var$3)
                $this.$amountScrolled = var$3;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_GuiSlot_actionPerformed($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$enabled0) {
                var$2 = $var1.$id2;
                if (var$2 == $this.$scrollUpButtonID) {
                    $this.$amountScrolled = $this.$amountScrolled - (($this.$posZ1 * 2 | 0) / 3 | 0);
                    $this.$initialClickY = (-2.0);
                    $ptr = 1;
                    continue main;
                }
                if (var$2 == $this.$scrollDownButtonID) {
                    $this.$amountScrolled = $this.$amountScrolled + (($this.$posZ1 * 2 | 0) / 3 | 0);
                    $this.$initialClickY = (-2.0);
                    $ptr = 2;
                    continue main;
                }
            }
            return;
        case 1:
            nms_GuiSlot_bindAmountScrolled($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nms_GuiSlot_bindAmountScrolled($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_GuiSlot_drawScreen($this, $var1, $var2, $var3) {
        var $var4, $var5, $var6, $var9, $var17, $var7, $var8, $var10, $var16, var$13, $var15, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, $var18, $var11, $var12, $var13, $var14, var$28, var$29, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$29 = $thread.pop();var$28 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var18 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();$var15 = $thread.pop();var$13 = $thread.pop();$var16 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var17
            = $thread.pop();$var9 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $this.$drawBackground0();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = $this.$getSize();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $var5 = ($this.$width6 / 2 | 0) + 124 | 0;
            $var6 = $var5 + 6 | 0;
            if (!nle_Mouse_isButtonDown(0))
                $this.$initialClickY = (-1.0);
            else {
                $var3 = $this.$initialClickY;
                if ($var3 === (-1.0)) {
                    $var9 = $this.$top;
                    if ($var2 >= $var9 && $var2 <= $this.$bottom) {
                        $var17 = $this.$width6 / 2 | 0;
                        $var7 = $var17 - 110 | 0;
                        $var8 = $var17 + 110 | 0;
                        $var9 = ((($var2 - $var9 | 0) + ($this.$amountScrolled | 0) | 0) - 2 | 0) / $this.$posZ1 | 0;
                        if ($var1 >= $var7 && $var1 <= $var8 && $var9 >= 0 && $var9 < $var4) {
                            $var10 = $var9 == $this.$selectedElement && Long_lt(Long_sub(jl_System_currentTimeMillis(), $this.$lastClicked), Long_fromInt(250)) ? 1 : 0;
                            $ptr = 65;
                            continue main;
                        }
                        if ($var1 >= $var5 && $var1 <= $var6) {
                            $this.$scrollMultiplier = (-1.0);
                            $ptr = 63;
                            continue main;
                        }
                        $this.$scrollMultiplier = 1.0;
                        $this.$initialClickY = $var2;
                    } else
                        $this.$initialClickY = (-2.0);
                } else if ($var3 >= 0.0) {
                    $var16 = $this.$amountScrolled;
                    var$13 = $var2;
                    $this.$amountScrolled = $var16 - (var$13 - $var3) * $this.$scrollMultiplier;
                    $this.$initialClickY = var$13;
                }
            }
            $ptr = 3;
        case 3:
            nms_GuiSlot_bindAmountScrolled($this);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 2896;
            $ptr = 4;
        case 4:
            olo_GL11_glDisable($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 2912;
            $ptr = 5;
        case 5:
            olo_GL11_glDisable($var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var15 = nms_Tessellator_instance;
            $var2 = 3553;
            var$15 = $this.$mc11.$renderEngine;
            var$16 = $rt_s(323);
            $ptr = 7;
        case 7:
            $tmp = nms_RenderEngine_getTexture(var$15, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $ptr = 8;
        case 8:
            olo_GL11_glBindTexture($var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 1.0;
            $var16 = 1.0;
            var$13 = 1.0;
            var$17 = 1.0;
            $ptr = 9;
        case 9:
            olo_GL11_glColor4f($var3, $var16, var$13, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = 32.0;
            $ptr = 10;
        case 10:
            nms_Tessellator_startDrawingQuads($var15);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 2105376;
            $ptr = 11;
        case 11:
            nms_Tessellator_setColorOpaque_I($var15, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$left1;
            var$18 = $var1;
            $var2 = $this.$bottom;
            var$19 = $var2;
            var$20 = 0.0;
            var$21 = $var1 / $var16;
            var$22 = ($var2 + ($this.$amountScrolled | 0) | 0) / $var16;
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertexWithUV($var15, var$18, var$19, var$20, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$right0;
            var$20 = $var1;
            $var2 = $this.$bottom;
            var$18 = $var2;
            var$19 = 0.0;
            var$21 = $var1 / $var16;
            var$22 = ($var2 + ($this.$amountScrolled | 0) | 0) / $var16;
            $ptr = 13;
        case 13:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$18, var$19, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$right0;
            var$20 = $var1;
            $var2 = $this.$top;
            var$18 = $var2;
            var$19 = 0.0;
            var$21 = $var1 / $var16;
            var$22 = ($var2 + ($this.$amountScrolled | 0) | 0) / $var16;
            $ptr = 14;
        case 14:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$18, var$19, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$left1;
            var$20 = $var1;
            $var2 = $this.$top;
            var$18 = $var2;
            var$19 = 0.0;
            var$21 = $var1 / $var16;
            var$22 = ($var2 + ($this.$amountScrolled | 0) | 0) / $var16;
            $ptr = 15;
        case 15:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$18, var$19, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
        case 16:
            nms_Tessellator_draw($var15);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = 0;
            if ($var9 >= $var4) {
                $var17 = 4;
                $var2 = 0;
                $var4 = $this.$top;
                $var9 = 255;
                $var1 = 255;
                $ptr = 17;
                continue main;
            }
            $var18 = (($this.$width6 / 2 | 0) - 92 | 0) - 16 | 0;
            $var1 = $this.$top + 4 | 0;
            $var2 = $this.$posZ1;
            $var11 = ($var1 + $rt_imul($var9, $var2) | 0) - ($this.$amountScrolled | 0) | 0;
            $var12 = $var2 - 4 | 0;
            if (!$this.$field_25123_p) {
                $ptr = 46;
                continue main;
            }
            $ptr = 47;
            continue main;
        case 17:
            nms_GuiSlot_overlayBackground($this, $var2, $var4, $var9, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$bottom;
            $var2 = $this.$height7;
            $var4 = 255;
            $var9 = 255;
            $ptr = 18;
        case 18:
            nms_GuiSlot_overlayBackground($this, $var1, $var2, $var4, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 3042;
            $ptr = 19;
        case 19:
            olo_GL11_glEnable($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 770;
            $var2 = 771;
            $ptr = 20;
        case 20:
            olo_GL11_glBlendFunc($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 3008;
            $ptr = 21;
        case 21:
            olo_GL11_glDisable($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 7425;
            $ptr = 22;
        case 22:
            olo_GL11_glShadeModel($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 3553;
            $ptr = 23;
        case 23:
            olo_GL11_glDisable($var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 24;
        case 24:
            nms_Tessellator_startDrawingQuads($var15);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0;
            $var2 = 0;
            $ptr = 25;
        case 25:
            nms_Tessellator_setColorRGBA_I($var15, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = $this.$left1;
            var$18 = $this.$top + $var17 | 0;
            var$19 = 0.0;
            var$21 = 0.0;
            var$22 = 1.0;
            $ptr = 26;
        case 26:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$18, var$19, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = $this.$right0;
            var$18 = $this.$top + $var17 | 0;
            var$19 = 0.0;
            var$21 = 1.0;
            var$22 = 1.0;
            $ptr = 27;
        case 27:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$18, var$19, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0;
            $var2 = 255;
            $ptr = 28;
        case 28:
            nms_Tessellator_setColorRGBA_I($var15, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = $this.$right0;
            var$18 = $this.$top;
            var$19 = 0.0;
            var$21 = 1.0;
            var$22 = 0.0;
            $ptr = 29;
        case 29:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$18, var$19, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = $this.$left1;
            var$18 = $this.$top;
            var$19 = 0.0;
            var$21 = 0.0;
            var$22 = 0.0;
            $ptr = 30;
        case 30:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$18, var$19, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 31;
        case 31:
            nms_Tessellator_draw($var15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 32;
        case 32:
            nms_Tessellator_startDrawingQuads($var15);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0;
            $var2 = 255;
            $ptr = 33;
        case 33:
            nms_Tessellator_setColorRGBA_I($var15, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = $this.$left1;
            var$18 = $this.$bottom;
            var$19 = 0.0;
            var$21 = 0.0;
            var$22 = 1.0;
            $ptr = 34;
        case 34:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$18, var$19, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = $this.$right0;
            var$18 = $this.$bottom;
            var$19 = 0.0;
            var$21 = 1.0;
            var$22 = 1.0;
            $ptr = 35;
        case 35:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$18, var$19, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0;
            $var2 = 0;
            $ptr = 36;
        case 36:
            nms_Tessellator_setColorRGBA_I($var15, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = $this.$right0;
            var$18 = $this.$bottom - $var17 | 0;
            var$19 = 0.0;
            var$21 = 1.0;
            var$22 = 0.0;
            $ptr = 37;
        case 37:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$18, var$19, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = $this.$left1;
            var$18 = $this.$bottom - $var17 | 0;
            var$19 = 0.0;
            var$21 = 0.0;
            var$22 = 0.0;
            $ptr = 38;
        case 38:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$18, var$19, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 39;
        case 39:
            nms_Tessellator_draw($var15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 40;
        case 40:
            $tmp = $this.$getContentHeight();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var2 = $this.$bottom - $this.$top | 0;
            $var18 = $var1 - ($var2 - 4 | 0) | 0;
            if ($var18 <= 0) {
                $var1 = 3553;
                $ptr = 41;
                continue main;
            }
            $var1 = $rt_imul($var2, $var2);
            $ptr = 45;
            continue main;
        case 41:
            olo_GL11_glEnable($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 7424;
            $ptr = 42;
        case 42:
            olo_GL11_glShadeModel($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 3008;
            $ptr = 43;
        case 43:
            olo_GL11_glEnable($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 3042;
            $ptr = 44;
        case 44:
            olo_GL11_glDisable($var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 45:
            $tmp = $this.$getContentHeight();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var11 = $var1 / $var2 | 0;
            if ($var11 < 32)
                $var11 = 32;
            $var1 = $this.$bottom;
            $var2 = $this.$top;
            $var1 = $var1 - $var2 | 0;
            $var4 = $var1 - 8 | 0;
            if ($var11 <= $var4)
                $var4 = $var11;
            $var12 = ($rt_imul($this.$amountScrolled | 0, $var1 - $var4 | 0) / $var18 | 0) + $var2 | 0;
            if ($var12 >= $var2)
                $var2 = $var12;
            $ptr = 66;
            continue main;
        case 46:
            $this.$drawSlot($var9, $var18, $var11, $var12, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $var9 + 1 | 0;
            if ($var9 >= $var4) {
                $var17 = 4;
                $var2 = 0;
                $var4 = $this.$top;
                $var9 = 255;
                $var1 = 255;
                $ptr = 17;
                continue main;
            }
            $var18 = (($this.$width6 / 2 | 0) - 92 | 0) - 16 | 0;
            $var1 = $this.$top + 4 | 0;
            $var2 = $this.$posZ1;
            $var11 = ($var1 + $rt_imul($var9, $var2) | 0) - ($this.$amountScrolled | 0) | 0;
            $var12 = $var2 - 4 | 0;
            if (!$this.$field_25123_p) {
                continue main;
            }
            $ptr = 47;
        case 47:
            $tmp = $this.$isSelected($var9);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!$var1) {
                $ptr = 46;
                continue main;
            }
            $var1 = $this.$width6 / 2 | 0;
            $var13 = $var1 - 110 | 0;
            $var14 = $var1 + 110 | 0;
            $var3 = 1.0;
            $var16 = 1.0;
            var$13 = 1.0;
            var$17 = 1.0;
            $ptr = 48;
        case 48:
            olo_GL11_glColor4f($var3, $var16, var$13, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 3553;
            $ptr = 49;
        case 49:
            olo_GL11_glDisable($var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 50;
        case 50:
            nms_Tessellator_startDrawingQuads($var15);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 8421504;
            $ptr = 51;
        case 51:
            nms_Tessellator_setColorOpaque_I($var15, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = $var13;
            $var1 = $var11 + $var12 | 0;
            var$18 = $var1 + 2 | 0;
            var$19 = 0.0;
            var$21 = 0.0;
            var$22 = 1.0;
            $ptr = 52;
        case 52:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$18, var$19, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = $var14;
            var$21 = 0.0;
            var$22 = 1.0;
            var$28 = 1.0;
            $ptr = 53;
        case 53:
            nms_Tessellator_addVertexWithUV($var15, var$19, var$18, var$21, var$22, var$28);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $var11 - 2 | 0;
            var$21 = 0.0;
            var$22 = 1.0;
            var$28 = 0.0;
            $ptr = 54;
        case 54:
            nms_Tessellator_addVertexWithUV($var15, var$19, var$18, var$21, var$22, var$28);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = 0.0;
            var$21 = 0.0;
            var$22 = 0.0;
            $ptr = 55;
        case 55:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$18, var$19, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 0;
            $ptr = 56;
        case 56:
            nms_Tessellator_setColorOpaque_I($var15, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$28 = $var13 + 1 | 0;
            var$20 = $var1 + 1 | 0;
            var$18 = 0.0;
            var$19 = 0.0;
            var$21 = 1.0;
            $ptr = 57;
        case 57:
            nms_Tessellator_addVertexWithUV($var15, var$28, var$20, var$18, var$19, var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $var14 - 1 | 0;
            var$19 = 0.0;
            var$21 = 1.0;
            var$22 = 1.0;
            $ptr = 58;
        case 58:
            nms_Tessellator_addVertexWithUV($var15, var$18, var$20, var$19, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = $var11 - 1 | 0;
            var$19 = 0.0;
            var$21 = 1.0;
            var$22 = 0.0;
            $ptr = 59;
        case 59:
            nms_Tessellator_addVertexWithUV($var15, var$18, var$20, var$19, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = 0.0;
            var$19 = 0.0;
            var$21 = 0.0;
            $ptr = 60;
        case 60:
            nms_Tessellator_addVertexWithUV($var15, var$28, var$20, var$18, var$19, var$21);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 61;
        case 61:
            nms_Tessellator_draw($var15);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 3553;
            $ptr = 62;
        case 62:
            olo_GL11_glEnable($var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 46;
            continue main;
        case 63:
            $tmp = $this.$getContentHeight();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var9 = $this.$bottom - $this.$top | 0;
            $var18 = $var1 - ($var9 - 4 | 0) | 0;
            if ($var18 < 1)
                $var18 = 1;
            $var1 = $rt_imul($var9, $var9);
            $ptr = 64;
        case 64:
            $tmp = $this.$getContentHeight();
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $var11 = $var1 / $var9 | 0;
            if ($var11 < 32)
                $var11 = 32;
            $var1 = $this.$bottom - $this.$top | 0;
            $var9 = $var1 - 8 | 0;
            if ($var11 <= $var9)
                $var9 = $var11;
            $this.$scrollMultiplier = $this.$scrollMultiplier / (($var1 - $var9 | 0) / $var18);
            $this.$initialClickY = $var2;
            $ptr = 3;
            continue main;
        case 65:
            $this.$elementClicked($var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $this.$selectedElement = $var9;
            $this.$lastClicked = jl_System_currentTimeMillis();
            if ($var1 >= $var5 && $var1 <= $var6) {
                $this.$scrollMultiplier = (-1.0);
                $ptr = 63;
                continue main;
            }
            $this.$scrollMultiplier = 1.0;
            $this.$initialClickY = $var2;
            $ptr = 3;
            continue main;
        case 66:
            nms_Tessellator_startDrawingQuads($var15);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 0;
            $var9 = 255;
            $ptr = 67;
        case 67:
            nms_Tessellator_setColorRGBA_I($var15, $var1, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$20 = $var5;
            var$18 = $this.$bottom;
            var$19 = 0.0;
            var$21 = 0.0;
            var$22 = 1.0;
            $ptr = 68;
        case 68:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$18, var$19, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $var6;
            var$19 = $this.$bottom;
            var$21 = 0.0;
            var$22 = 1.0;
            var$28 = 1.0;
            $ptr = 69;
        case 69:
            nms_Tessellator_addVertexWithUV($var15, var$18, var$19, var$21, var$22, var$28);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = $this.$top;
            var$21 = 0.0;
            var$22 = 1.0;
            var$28 = 0.0;
            $ptr = 70;
        case 70:
            nms_Tessellator_addVertexWithUV($var15, var$18, var$19, var$21, var$22, var$28);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = $this.$top;
            var$21 = 0.0;
            var$22 = 0.0;
            var$28 = 0.0;
            $ptr = 71;
        case 71:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$19, var$21, var$22, var$28);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 72;
        case 72:
            nms_Tessellator_draw($var15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 73;
        case 73:
            nms_Tessellator_startDrawingQuads($var15);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 8421504;
            $var5 = 255;
            $ptr = 74;
        case 74:
            nms_Tessellator_setColorRGBA_I($var15, $var1, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var2 + $var4 | 0;
            var$19 = $var1;
            var$21 = 0.0;
            var$22 = 0.0;
            var$28 = 1.0;
            $ptr = 75;
        case 75:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$19, var$21, var$22, var$28);
            if ($rt_suspending()) {
                break main;
            }
            var$21 = 0.0;
            var$22 = 1.0;
            var$28 = 1.0;
            $ptr = 76;
        case 76:
            nms_Tessellator_addVertexWithUV($var15, var$18, var$19, var$21, var$22, var$28);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = $var2;
            var$21 = 0.0;
            var$22 = 1.0;
            var$28 = 0.0;
            $ptr = 77;
        case 77:
            nms_Tessellator_addVertexWithUV($var15, var$18, var$19, var$21, var$22, var$28);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = 0.0;
            var$21 = 0.0;
            var$22 = 0.0;
            $ptr = 78;
        case 78:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$19, var$18, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 79;
        case 79:
            nms_Tessellator_draw($var15);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 80;
        case 80:
            nms_Tessellator_startDrawingQuads($var15);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 12632256;
            $var5 = 255;
            $ptr = 81;
        case 81:
            nms_Tessellator_setColorRGBA_I($var15, $var2, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $var1 - 1 | 0;
            var$21 = 0.0;
            var$22 = 0.0;
            var$28 = 1.0;
            $ptr = 82;
        case 82:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$18, var$21, var$22, var$28);
            if ($rt_suspending()) {
                break main;
            }
            var$21 = $var6 - 1 | 0;
            var$22 = 0.0;
            var$28 = 1.0;
            var$29 = 1.0;
            $ptr = 83;
        case 83:
            nms_Tessellator_addVertexWithUV($var15, var$21, var$18, var$22, var$28, var$29);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = 0.0;
            var$22 = 1.0;
            var$28 = 0.0;
            $ptr = 84;
        case 84:
            nms_Tessellator_addVertexWithUV($var15, var$21, var$19, var$18, var$22, var$28);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = 0.0;
            var$21 = 0.0;
            var$22 = 0.0;
            $ptr = 85;
        case 85:
            nms_Tessellator_addVertexWithUV($var15, var$20, var$19, var$18, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 86;
        case 86:
            nms_Tessellator_draw($var15);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 3553;
            $ptr = 41;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var9, $var17, $var7, $var8, $var10, $var16, var$13, $var15, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, $var18, $var11, $var12, $var13, $var14, var$28, var$29, $ptr);
    }
    function nms_GuiSlot_overlayBackground($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, var$7, var$8, var$9, $var6, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var6 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Tessellator_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = nms_Tessellator_instance;
            var$6 = 3553;
            var$7 = $this.$mc11.$renderEngine;
            var$8 = $rt_s(323);
            $ptr = 2;
        case 2:
            $tmp = nms_RenderEngine_getTexture(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            $ptr = 3;
        case 3:
            olo_GL11_glBindTexture(var$6, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = 1.0;
            var$11 = 1.0;
            var$12 = 1.0;
            var$13 = 1.0;
            $ptr = 4;
        case 4:
            nleo_GlStateManager_color($var6, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = 32.0;
            $ptr = 5;
        case 5:
            nms_Tessellator_startDrawingQuads($var5);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = 4210752;
            $ptr = 6;
        case 6:
            nms_Tessellator_setColorRGBA_I($var5, var$9, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$15 = $var2;
            var$16 = 0.0;
            var$17 = 0.0;
            var$18 = $var2 / $var6;
            $ptr = 7;
        case 7:
            nms_Tessellator_addVertexWithUV($var5, var$14, var$15, var$16, var$17, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$width6;
            var$16 = $var2;
            var$17 = 0.0;
            var$14 = $var2 / $var6;
            $ptr = 8;
        case 8:
            nms_Tessellator_addVertexWithUV($var5, var$16, var$15, var$17, var$14, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 4210752;
            $ptr = 9;
        case 9:
            nms_Tessellator_setColorRGBA_I($var5, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$width6;
            var$14 = $var2;
            var$15 = $var1;
            var$18 = 0.0;
            var$16 = $var2 / $var6;
            var$17 = $var1 / $var6;
            $ptr = 10;
        case 10:
            nms_Tessellator_addVertexWithUV($var5, var$14, var$15, var$18, var$16, var$17);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = 0.0;
            var$18 = 0.0;
            var$16 = 0.0;
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var5, var$14, var$15, var$18, var$16, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 12;
        case 12:
            nms_Tessellator_draw($var5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, var$9, $var6, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, $ptr);
    }
    function nms_GuiWorldSlot() {
        nms_GuiSlot.call(this);
        this.$parentWorldGui = null;
    }
    function nms_GuiWorldSlot_getSize($this) {
        return $this.$parentWorldGui.$saveList.$size0;
    }
    function nms_GuiWorldSlot_elementClicked($this, $var1, $var2) {
        var var$3, $var3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$parentWorldGui.$selectedWorld = $var1;
            if ($var1 >= 0) {
                $ptr = 1;
                continue main;
            }
            var$3 = $this.$parentWorldGui;
            var$3.$buttonSelect.$enabled0 = 0;
            var$3.$buttonRename.$enabled0 = 0;
            var$3.$buttonDelete.$enabled0 = 0;
            if ($var2 && 0) {
                $ptr = 2;
                continue main;
            }
            return;
        case 1:
            $tmp = nms_GuiWorldSlot_getSize($this);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var3 = $var1 >= $var3 ? 0 : 1;
            var$3 = $this.$parentWorldGui;
            var$3.$buttonSelect.$enabled0 = $var3;
            var$3.$buttonRename.$enabled0 = 0;
            var$3.$buttonDelete.$enabled0 = $var3;
            if ($var2 && $var3) {
                $ptr = 2;
                continue main;
            }
            return;
        case 2:
            nms_GuiSelectWorld_selectWorld(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, $ptr);
    }
    function nms_GuiWorldSlot_isSelected($this, $var1) {
        return $var1 != $this.$parentWorldGui.$selectedWorld ? 0 : 1;
    }
    function nms_GuiWorldSlot_getContentHeight($this) {
        return $this.$parentWorldGui.$saveList.$size0 * 36 | 0;
    }
    function nms_GuiWorldSlot_drawBackground($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$parentWorldGui;
            $ptr = 1;
        case 1:
            nms_GuiScreen_drawDefaultBackground(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_GuiWorldSlot_drawSlot($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var8, $var11, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var11 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = ju_ArrayList_get($this.$parentWorldGui.$saveList, $var1);
            $var7 = $var6.$displayName;
            if ($var7 !== null && !nms_MathHelper_stringNullOrLengthZero($var7)) {
                $var8 = $var6.$fileName0;
                $var11 = $this.$parentWorldGui.$dateFormatter;
                $var5 = new ju_Date;
                $var5.$value1 = $var6.$field_22169_c;
                $ptr = 3;
                continue main;
            }
            $var5 = $this.$parentWorldGui.$field_22098_o;
            $var1 = $var1 + 1 | 0;
            $var11 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var11);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append($var11, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            jl_AbstractStringBuilder_append($var5, 32);
            jl_AbstractStringBuilder_append0($var5, $var1);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString($var11);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var8 = $var6.$fileName0;
            $var11 = $this.$parentWorldGui.$dateFormatter;
            $var5 = new ju_Date;
            $var5.$value1 = $var6.$field_22169_c;
            $ptr = 3;
        case 3:
            $tmp = jt_DateFormat_format($var11, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var11 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var11);
            $ptr = 4;
        case 4:
            $tmp = jl_StringBuilder_append($var11, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            var$10 = $rt_s(2165);
            $ptr = 5;
        case 5:
            $tmp = jl_StringBuilder_append($var8, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $ptr = 6;
        case 6:
            jl_StringBuilder_append($var8, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            $tmp = jl_AbstractStringBuilder_toString($var11);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            var$11 = Long_toNumber(Long_div(Long_mul(Long_div($var6.$field_22168_d, Long_fromInt(1024)), Long_fromInt(100)), Long_fromInt(1024))) / 100.0;
            $var5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var5);
            $ptr = 8;
        case 8:
            $tmp = jl_StringBuilder_append($var5, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var8 = $rt_s(107);
            $ptr = 9;
        case 9:
            $tmp = jl_StringBuilder_append($var11, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var11 = jl_StringBuilder_append3($var11, var$11);
            $var8 = $rt_s(2166);
            $ptr = 10;
        case 10:
            jl_StringBuilder_append($var11, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 11;
        case 11:
            $tmp = jl_AbstractStringBuilder_toString($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var11 = $rt_s(3);
            if ($var6.$field_22167_e) {
                $var6 = $this.$parentWorldGui.$field_22097_p;
                $var5 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var5);
                $ptr = 12;
                continue main;
            }
            $var5 = $this.$parentWorldGui;
            $var6 = $var5.$fontRenderer0;
            $var1 = $var2 + 2 | 0;
            $var2 = $var3 + 1 | 0;
            $var4 = 16777215;
            $ptr = 15;
            continue main;
        case 12:
            $tmp = jl_StringBuilder_append($var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            jl_AbstractStringBuilder_append($var6, 32);
            $ptr = 13;
        case 13:
            jl_StringBuilder_append($var6, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 14;
        case 14:
            $tmp = jl_AbstractStringBuilder_toString($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var5 = $this.$parentWorldGui;
            $var6 = $var5.$fontRenderer0;
            $var1 = $var2 + 2 | 0;
            $var2 = $var3 + 1 | 0;
            $var4 = 16777215;
            $ptr = 15;
        case 15:
            nms_Gui_drawString($var5, $var6, $var7, $var1, $var2, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$parentWorldGui;
            $var6 = $var5.$fontRenderer0;
            $var2 = $var3 + 12 | 0;
            $var3 = 8421504;
            $ptr = 16;
        case 16:
            nms_Gui_drawString($var5, $var6, $var8, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$parentWorldGui;
            $var6 = $var5.$fontRenderer0;
            $var2 = $var2 + 10 | 0;
            $var3 = 8421504;
            $ptr = 17;
        case 17:
            nms_Gui_drawString($var5, $var6, $var11, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var11, var$10, var$11, $ptr);
    }
    function nms_GuiTexturePackSlot() {
        nms_GuiSlot.call(this);
        this.$parentTexturePackGui = null;
    }
    function nms_GuiTexturePackSlot_getSize($this) {
        var $var1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $this.$parentTexturePackGui.$mc6.$texturePackList;
            $ptr = 1;
        case 1:
            $tmp = nms_TexturePackList_availableTexturePacks($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1.$size0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_GuiTexturePackSlot_elementClicked($this, $var1, $var2) {
        var $var3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $this.$parentTexturePackGui.$mc6.$texturePackList;
            $ptr = 1;
        case 1:
            $tmp = nms_TexturePackList_availableTexturePacks($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            var$4 = $this.$parentTexturePackGui.$mc6.$texturePackList;
            $var3 = ju_ArrayList_get($var3, $var1);
            if ($var3 === var$4.$selectedTexturePack) {
                $var3 = $this.$parentTexturePackGui.$mc6.$renderEngine;
                $ptr = 3;
                continue main;
            }
            var$5 = $var3.$texturePackFileName;
            var$4.$currentTexturePack = var$5;
            var$4.$selectedTexturePack = $var3;
            $var3 = var$4.$mc0.$gameSettings;
            $var3.$skin = var$5;
            $ptr = 2;
        case 2:
            nms_GameSettings_saveOptions($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $this.$parentTexturePackGui.$mc6.$renderEngine;
            $ptr = 3;
        case 3:
            nms_RenderEngine_refreshTextures($var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $ptr);
    }
    function nms_GuiTexturePackSlot_isSelected($this, $var1) {
        var $var2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $this.$parentTexturePackGui.$mc6.$texturePackList;
            $ptr = 1;
        case 1:
            $tmp = nms_TexturePackList_availableTexturePacks($var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $this.$parentTexturePackGui.$mc6.$texturePackList.$selectedTexturePack !== ju_ArrayList_get($var2, $var1) ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_GuiTexturePackSlot_getContentHeight($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_GuiTexturePackSlot_getSize($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1 * 36 | 0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_GuiTexturePackSlot_drawBackground($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$parentTexturePackGui;
            $ptr = 1;
        case 1:
            nms_GuiScreen_drawDefaultBackground(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_GuiTexturePackSlot_drawSlot($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var6, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $this.$parentTexturePackGui.$mc6.$texturePackList;
            $ptr = 1;
        case 1:
            $tmp = nms_TexturePackList_availableTexturePacks(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $var6 = ju_ArrayList_get(var$6, $var1);
            var$8 = $this.$parentTexturePackGui.$mc6;
            var$6 = $var6.$texturePackThumbnail;
            if (var$6 !== null && $var6.$texturePackName < 0) {
                var$9 = var$8.$renderEngine;
                $ptr = 5;
                continue main;
            }
            if ($var6.$texturePackThumbnail !== null) {
                var$6 = var$8.$renderEngine;
                $var1 = $var6.$texturePackName;
                $ptr = 4;
                continue main;
            }
            $var1 = 3553;
            var$9 = var$8.$renderEngine;
            var$6 = $rt_s(2167);
            $ptr = 2;
        case 2:
            $tmp = nms_RenderEngine_getTexture(var$9, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            $ptr = 3;
        case 3:
            olo_GL11_glBindTexture($var1, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 1.0;
            var$12 = 1.0;
            var$13 = 1.0;
            var$14 = 1.0;
            $ptr = 6;
            continue main;
        case 4:
            nms_RenderEngine_bindTexture(var$6, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = 1.0;
            var$12 = 1.0;
            var$13 = 1.0;
            var$14 = 1.0;
            $ptr = 6;
            continue main;
        case 5:
            $tmp = nms_RenderEngine_allocateAndSetupTexture(var$9, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var6.$texturePackName = $var1;
            if ($var6.$texturePackThumbnail !== null) {
                var$6 = var$8.$renderEngine;
                $var1 = $var6.$texturePackName;
                $ptr = 4;
                continue main;
            }
            $var1 = 3553;
            var$9 = var$8.$renderEngine;
            var$6 = $rt_s(2167);
            $ptr = 2;
            continue main;
        case 6:
            nleo_GlStateManager_color(var$11, var$12, var$13, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            nms_Tessellator_startDrawingQuads($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = 16777215;
            $ptr = 8;
        case 8:
            nms_Tessellator_setColorOpaque_I($var5, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = $var2;
            var$16 = $var3 + $var4 | 0;
            var$17 = 0.0;
            var$18 = 0.0;
            var$19 = 1.0;
            $ptr = 9;
        case 9:
            nms_Tessellator_addVertexWithUV($var5, var$15, var$16, var$17, var$18, var$19);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var2 + 32 | 0;
            var$17 = $var1;
            var$18 = 0.0;
            var$19 = 1.0;
            var$20 = 1.0;
            $ptr = 10;
        case 10:
            nms_Tessellator_addVertexWithUV($var5, var$17, var$16, var$18, var$19, var$20);
            if ($rt_suspending()) {
                break main;
            }
            var$18 = $var3;
            var$19 = 0.0;
            var$16 = 1.0;
            var$20 = 0.0;
            $ptr = 11;
        case 11:
            nms_Tessellator_addVertexWithUV($var5, var$17, var$18, var$19, var$16, var$20);
            if ($rt_suspending()) {
                break main;
            }
            var$19 = 0.0;
            var$17 = 0.0;
            var$16 = 0.0;
            $ptr = 12;
        case 12:
            nms_Tessellator_addVertexWithUV($var5, var$15, var$18, var$19, var$17, var$16);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_Tessellator_draw($var5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $this.$parentTexturePackGui;
            $var5 = var$6.$fontRenderer0;
            var$9 = $var6.$texturePackFileName;
            $var4 = $var1 + 2 | 0;
            $var1 = $var3 + 1 | 0;
            $var2 = 16777215;
            $ptr = 14;
        case 14:
            nms_Gui_drawString(var$6, $var5, var$9, $var4, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$parentTexturePackGui;
            var$9 = $var5.$fontRenderer0;
            var$6 = $var6.$firstDescriptionLine;
            $var1 = $var3 + 12 | 0;
            $var2 = 8421504;
            $ptr = 15;
        case 15:
            nms_Gui_drawString($var5, var$9, var$6, $var4, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$parentTexturePackGui;
            var$9 = $var5.$fontRenderer0;
            var$6 = $var6.$secondDescriptionLine;
            $var1 = $var1 + 10 | 0;
            $var2 = 8421504;
            $ptr = 16;
        case 16:
            nms_Gui_drawString($var5, var$9, var$6, $var4, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, $ptr);
    }
    var nlei_PlatformApplication$FileChooserCallback = $rt_classWithoutFields(0);
    var nlei_PlatformApplication$FileChooserCallbackImpl = $rt_classWithoutFields();
    var nlei_PlatformApplication$FileChooserCallbackImpl_instance = null;
    function nlei_PlatformApplication$FileChooserCallbackImpl__init_0() {
        var var_0 = new nlei_PlatformApplication$FileChooserCallbackImpl();
        nlei_PlatformApplication$FileChooserCallbackImpl__init_(var_0);
        return var_0;
    }
    function nlei_PlatformApplication$FileChooserCallbackImpl__init_($this) {}
    function nlei_PlatformApplication$FileChooserCallbackImpl__clinit_() {
        nlei_PlatformApplication$FileChooserCallbackImpl_instance = new nlei_PlatformApplication$FileChooserCallbackImpl;
    }
    function nlei_PlatformApplication$FileChooserCallbackImpl_accept$exported$0(var$0, var$1, var$2) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $rt_str(var$1);
            var$3 = 1;
            $ptr = 1;
        case 1:
            nlei_PlatformApplication_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nlei_PlatformApplication_fileChooserHasResult = var$3;
            if (var$1 === null)
                nlei_PlatformApplication_fileChooserResultObject = null;
            else {
                var$4 = new nlei_FileChooserResult;
                var$5 = nleit_TeaVMUtils_wrapByteArrayBuffer(var$2);
                var$4.$fileName = var$1;
                var$4.$fileData = var$5;
                nlei_PlatformApplication_fileChooserResultObject = var$4;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function cjj_StaticCodeBook() {
        var a = this; jl_Object.call(a);
        a.$dim = 0;
        a.$entries = 0;
        a.$lengthlist = null;
        a.$maptype = 0;
        a.$q_min = 0;
        a.$q_delta = 0;
        a.$q_quant = 0;
        a.$q_sequencep = 0;
        a.$quantlist = null;
    }
    function cjj_StaticCodeBook__init_0() {
        var var_0 = new cjj_StaticCodeBook();
        cjj_StaticCodeBook__init_(var_0);
        return var_0;
    }
    function cjj_StaticCodeBook__init_($this) {}
    function cjj_StaticCodeBook_unpack($this, $opb) {
        var $i, $i_0, $num, $length, $j, $quantvals;
        if (cjj_Buffer_read($opb, 24) != 5653314)
            return (-1);
        $this.$dim = cjj_Buffer_read($opb, 16);
        $i = cjj_Buffer_read($opb, 24);
        $this.$entries = $i;
        if ($i == (-1))
            return (-1);
        a: {
            switch (cjj_Buffer_read($opb, 1)) {
                case 0:
                    $this.$lengthlist = $rt_createIntArray($this.$entries);
                    if (!cjj_Buffer_read($opb, 1)) {
                        $i_0 = 0;
                        while (true) {
                            if ($i_0 >= $this.$entries)
                                break a;
                            $num = cjj_Buffer_read($opb, 5);
                            if ($num == (-1))
                                break;
                            $this.$lengthlist.data[$i_0] = $num + 1 | 0;
                            $i_0 = $i_0 + 1 | 0;
                        }
                        return (-1);
                    }
                    $i = 0;
                    while (true) {
                        if ($i >= $this.$entries)
                            break a;
                        if (!cjj_Buffer_read($opb, 1))
                            $this.$lengthlist.data[$i] = 0;
                        else {
                            $num = cjj_Buffer_read($opb, 5);
                            if ($num == (-1))
                                break;
                            $this.$lengthlist.data[$i] = $num + 1 | 0;
                        }
                        $i = $i + 1 | 0;
                    }
                    return (-1);
                case 1:
                    $length = cjj_Buffer_read($opb, 5) + 1 | 0;
                    $this.$lengthlist = $rt_createIntArray($this.$entries);
                    $i = 0;
                    while (true) {
                        $i_0 = $this.$entries;
                        if ($i >= $i_0)
                            break a;
                        $num = cjj_Buffer_read($opb, cjj_Util_ilog($i_0 - $i | 0));
                        if ($num == (-1))
                            break;
                        $j = 0;
                        while ($j < $num) {
                            $this.$lengthlist.data[$i] = $length;
                            $j = $j + 1 | 0;
                            $i = $i + 1 | 0;
                        }
                        $length = $length + 1 | 0;
                    }
                    return (-1);
                default:
            }
            return (-1);
        }
        b: {
            $i = cjj_Buffer_read($opb, 4);
            $this.$maptype = $i;
            switch ($i) {
                case 0:
                    break;
                case 1:
                case 2:
                    c: {
                        $this.$q_min = cjj_Buffer_read($opb, 32);
                        $this.$q_delta = cjj_Buffer_read($opb, 32);
                        $this.$q_quant = cjj_Buffer_read($opb, 4) + 1 | 0;
                        $this.$q_sequencep = cjj_Buffer_read($opb, 1);
                        $quantvals = 0;
                        switch ($this.$maptype) {
                            case 1:
                                $quantvals = cjj_StaticCodeBook_maptype1_quantvals($this);
                                break c;
                            case 2:
                                $quantvals = $rt_imul($this.$entries, $this.$dim);
                                break c;
                            default:
                        }
                    }
                    $this.$quantlist = $rt_createIntArray($quantvals);
                    $i = 0;
                    while ($i < $quantvals) {
                        $this.$quantlist.data[$i] = cjj_Buffer_read($opb, $this.$q_quant);
                        $i = $i + 1 | 0;
                    }
                    if ($this.$quantlist.data[$quantvals - 1 | 0] == (-1))
                        return (-1);
                    break b;
                default:
                    return (-1);
            }
        }
        return 0;
    }
    function cjj_StaticCodeBook_maptype1_quantvals($this) {
        var $vals, $acc, $acc1, $i;
        $vals = jl_Math_floor(jl_Math_pow($this.$entries, 1.0 / $this.$dim)) | 0;
        while (true) {
            $acc = 1;
            $acc1 = 1;
            $i = 0;
            while ($i < $this.$dim) {
                $acc = $rt_imul($acc, $vals);
                $acc1 = $rt_imul($acc1, $vals + 1 | 0);
                $i = $i + 1 | 0;
            }
            $i = $this.$entries;
            $acc = $rt_compare($acc, $i);
            if ($acc <= 0 && $acc1 > $i)
                break;
            $vals = $acc <= 0 ? $vals + 1 | 0 : $vals + (-1) | 0;
        }
        return $vals;
    }
    function cjj_StaticCodeBook_float32_unpack($val) {
        var $mant, $exp;
        $mant = $val & 2097151;
        $exp = ($val & 2145386496) >>> 21 | 0;
        if ($val & (-2147483648))
            $mant =  -$mant;
        $val = (($exp | 0) - 20 | 0) - 768 | 0;
        return $mant * jl_Math_pow(2.0, $val);
    }
    var nlei_IWebSocketClient = $rt_classWithoutFields(0);
    function nlei_AbstractWebSocketClient() {
        var a = this; jl_Object.call(a);
        a.$availableStringFrames = 0;
        a.$availableBinaryFrames = 0;
        a.$recievedPacketBuffer = null;
        a.$currentURI = null;
        a.$strEnable = 0;
        a.$binEnable = 0;
    }
    function nleit_TeaVMWebSocketClient() {
        var a = this; nlei_AbstractWebSocketClient.call(a);
        a.$sock = null;
        a.$sockIsConnecting = 0;
        a.$sockIsConnected = 0;
        a.$sockIsFailed = 0;
    }
    function nleit_TeaVMWebSocketClient__init_0(var_0) {
        var var_1 = new nleit_TeaVMWebSocketClient();
        nleit_TeaVMWebSocketClient__init_(var_1, var_0);
        return var_1;
    }
    function nleit_TeaVMWebSocketClient__init_($this, $socketURI) {
        var var$2, var$3;
        $this.$availableStringFrames = 0;
        $this.$availableBinaryFrames = 0;
        $this.$recievedPacketBuffer = new ju_LinkedList;
        $this.$strEnable = 1;
        $this.$binEnable = 1;
        $this.$currentURI = $socketURI;
        $this.$sockIsConnecting = 1;
        $this.$sockIsConnected = 0;
        $this.$sockIsFailed = 0;
        var$2 = new $rt_globals.WebSocket($rt_ustr($socketURI));
        $this.$sock = var$2;
        $socketURI = "arraybuffer";
        var$2.binaryType = $socketURI;
        var$2 = $this.$sock;
        $socketURI = new nleit_TeaVMWebSocketClient$1;
        $socketURI.$this$043 = $this;
        var$2.addEventListener("open", $socketURI);
        $socketURI = $this.$sock;
        var$3 = new nleit_TeaVMWebSocketClient$2;
        var$3.$this$044 = $this;
        $socketURI.addEventListener("close", var$3);
        $socketURI = $this.$sock;
        var$3 = new nleit_TeaVMWebSocketClient$3;
        var$3.$this$045 = $this;
        $socketURI.addEventListener("message", var$3);
        $socketURI = $this.$sock;
        var$3 = new nleit_TeaVMWebSocketClient$4;
        var$3.$this$046 = $this;
        $socketURI.addEventListener("error", var$3);
    }
    function nleit_TeaVMWebSocketClient_getState($this) {
        var var$1;
        if ($this.$sockIsConnected) {
            nlei_EnumEaglerConnectionState_$callClinit();
            var$1 = nlei_EnumEaglerConnectionState_CONNECTED;
        } else if ($this.$sockIsFailed) {
            nlei_EnumEaglerConnectionState_$callClinit();
            var$1 = nlei_EnumEaglerConnectionState_FAILED;
        } else if (!$this.$sockIsConnecting) {
            nlei_EnumEaglerConnectionState_$callClinit();
            var$1 = nlei_EnumEaglerConnectionState_CLOSED;
        } else {
            nlei_EnumEaglerConnectionState_$callClinit();
            var$1 = nlei_EnumEaglerConnectionState_CONNECTING;
        }
        return var$1;
    }
    function nleit_TeaVMWebSocketClient_close($this) {
        $this.$sockIsConnecting = 0;
        $this.$sockIsConnected = 0;
        $this.$sock.close();
    }
    function nleit_TeaVMWebSocketClient_send($this, $bytes) {
        var var$2, var$3;
        if ($this.$sockIsConnected) {
            var$2 = $this.$sock;
            var$3 = $bytes.data.buffer;
            var$2.send(var$3);
        }
    }
    function cjj_Mapping0() {
        var a = this; cjj_FuncMapping.call(a);
        a.$pcmbundle = null;
        a.$zerobundle = null;
        a.$nonzero = null;
        a.$floormemo = null;
    }
    var cjj_Mapping0_seq = 0;
    function cjj_Mapping0__init_0() {
        var var_0 = new cjj_Mapping0();
        cjj_Mapping0__init_(var_0);
        return var_0;
    }
    function cjj_Mapping0__init_($this) {
        cjj_FuncMapping_$callClinit();
        $this.$pcmbundle = null;
        $this.$zerobundle = null;
        $this.$nonzero = null;
        $this.$floormemo = null;
    }
    function cjj_Mapping0_look($this, $vd, $vm, $m) {
        var $vi, $look, $i, $timenum, $floornum, $resnum, var$10, var$11;
        $vi = $vd.$vi;
        $look = new cjj_Mapping0$LookMapping0;
        $look.$this$047 = $this;
        $look.$map0 = $m;
        $look.$mode8 = $vm;
        $i = $m.$submaps;
        $look.$time_look = $rt_createArray(jl_Object, $i);
        $look.$floor_look = $rt_createArray(jl_Object, $i);
        $look.$residue_look = $rt_createArray(jl_Object, $i);
        $look.$time_func = $rt_createArray(cjj_FuncTime, $i);
        $look.$floor_func = $rt_createArray(cjj_FuncFloor, $i);
        $look.$residue_func = $rt_createArray(cjj_FuncResidue, $i);
        $i = 0;
        while ($i < $m.$submaps) {
            $timenum = $m.$timesubmap.data[$i];
            $floornum = $m.$floorsubmap.data[$i];
            $resnum = $m.$residuesubmap.data[$i];
            var$10 = $look.$time_func.data;
            cjj_FuncTime_$callClinit();
            var$10[$i] = cjj_FuncTime_time_P.data[$vi.$time_type.data[$timenum]];
            $look.$time_look.data[$i] = $rt_s(3);
            var$10 = $look.$floor_func.data;
            cjj_FuncFloor_$callClinit();
            var$10[$i] = cjj_FuncFloor_floor_P.data[$vi.$floor_type.data[$floornum]];
            $look.$floor_look.data[$i] = var$10[$i].$look($vd, $vm, $vi.$floor_param.data[$floornum]);
            var$11 = $look.$residue_func.data;
            cjj_FuncResidue_$callClinit();
            var$11[$i] = cjj_FuncResidue_residue_P.data[$vi.$residue_type.data[$resnum]];
            $look.$residue_look.data[$i] = cjj_Residue0_look(var$11[$i], $vd, $vm, $vi.$residue_param.data[$resnum]);
            $i = $i + 1 | 0;
        }
        $vi.$psys && !$vd.$analysisp;
        $look.$ch5 = $vi.$channels;
        return $look;
    }
    function cjj_Mapping0_unpack($this, $vi, $opb) {
        var $info, $i, var$5, var$6, $i_0, var$8;
        $info = new cjj_Mapping0$InfoMapping0;
        $info.$this$048 = $this;
        $info.$chmuxlist = $rt_createIntArray(256);
        $info.$timesubmap = $rt_createIntArray(16);
        $info.$floorsubmap = $rt_createIntArray(16);
        $info.$residuesubmap = $rt_createIntArray(16);
        $info.$psysubmap = $rt_createIntArray(16);
        $info.$coupling_mag = $rt_createIntArray(256);
        $info.$coupling_ang = $rt_createIntArray(256);
        if (!cjj_Buffer_read($opb, 1))
            $info.$submaps = 1;
        else
            $info.$submaps = cjj_Buffer_read($opb, 4) + 1 | 0;
        a: {
            if (cjj_Buffer_read($opb, 1)) {
                $info.$coupling_steps = cjj_Buffer_read($opb, 8) + 1 | 0;
                $i = 0;
                while (true) {
                    if ($i >= $info.$coupling_steps)
                        break a;
                    var$5 = $info.$coupling_mag.data;
                    var$6 = cjj_Buffer_read($opb, cjj_Util_ilog2($vi.$channels));
                    var$5[$i] = var$6;
                    var$5 = $info.$coupling_ang.data;
                    $i_0 = cjj_Buffer_read($opb, cjj_Util_ilog2($vi.$channels));
                    var$5[$i] = $i_0;
                    if (var$6 < 0)
                        break;
                    if ($i_0 < 0)
                        break;
                    if (var$6 == $i_0)
                        break;
                    var$8 = $vi.$channels;
                    if (var$6 >= var$8)
                        break;
                    if ($i_0 >= var$8)
                        break;
                    $i = $i + 1 | 0;
                }
                cjj_Mapping0$InfoMapping0_free($info);
                return null;
            }
        }
        if (cjj_Buffer_read($opb, 2) > 0) {
            cjj_Mapping0$InfoMapping0_free($info);
            return null;
        }
        b: {
            if ($info.$submaps > 1) {
                $i = 0;
                while (true) {
                    if ($i >= $vi.$channels)
                        break b;
                    $info.$chmuxlist.data[$i] = cjj_Buffer_read($opb, 4);
                    if ($info.$chmuxlist.data[$i] >= $info.$submaps)
                        break;
                    $i = $i + 1 | 0;
                }
                cjj_Mapping0$InfoMapping0_free($info);
                return null;
            }
        }
        $i_0 = 0;
        while ($i_0 < $info.$submaps) {
            $info.$timesubmap.data[$i_0] = cjj_Buffer_read($opb, 8);
            if ($info.$timesubmap.data[$i_0] >= $vi.$times) {
                cjj_Mapping0$InfoMapping0_free($info);
                return null;
            }
            $info.$floorsubmap.data[$i_0] = cjj_Buffer_read($opb, 8);
            if ($info.$floorsubmap.data[$i_0] >= $vi.$floors) {
                cjj_Mapping0$InfoMapping0_free($info);
                return null;
            }
            $info.$residuesubmap.data[$i_0] = cjj_Buffer_read($opb, 8);
            if ($info.$residuesubmap.data[$i_0] >= $vi.$residues) {
                cjj_Mapping0$InfoMapping0_free($info);
                return null;
            }
            $i_0 = $i_0 + 1 | 0;
        }
        return $info;
    }
    function cjj_Mapping0_inverse($this, $vb, $look) {
        var $vd, $vi, $info, $mode, $window, $i, var$9, $pcm, var$11, $submap, $pcmM, $j, $pcmA, $ch_in_bundle, var$17, $mag, $ang;
        jl_Object_monitorEnterSync($this);
        try {
            $vd = $vb.$vd;
            $vi = $vd.$vi;
            $info = $look.$map0;
            $mode = $look.$mode8;
            $window = $vi.$blocksizes.data;
            $i = $vb.$W;
            var$9 = $window[$i];
            $vb.$pcmend = var$9;
            $window = $vd.$window0.data[$i].data[$vb.$lW].data[$vb.$nW].data[$mode.$windowtype];
            $pcm = $this.$pcmbundle;
            if (!($pcm !== null && $pcm.data.length >= $vi.$channels)) {
                $i = $vi.$channels;
                $this.$pcmbundle = $rt_createArray($rt_arraycls($rt_floatcls()), $i);
                $this.$nonzero = $rt_createIntArray($i);
                $this.$zerobundle = $rt_createIntArray($i);
                $this.$floormemo = $rt_createArray(jl_Object, $i);
            }
            $i = 0;
            var$11 = var$9 / 2 | 0;
            while ($i < $vi.$channels) {
                $pcm = $vb.$pcm0.data[$i];
                $submap = $info.$chmuxlist.data[$i];
                $pcmM = $this.$floormemo.data;
                $pcmM[$i] = $look.$floor_func.data[$submap].$inverse1($vb, $look.$floor_look.data[$submap], $pcmM[$i]);
                if ($this.$floormemo.data[$i] === null)
                    $this.$nonzero.data[$i] = 0;
                else
                    $this.$nonzero.data[$i] = 1;
                $j = 0;
                while ($j < var$11) {
                    $pcm.data[$j] = 0.0;
                    $j = $j + 1 | 0;
                }
                $i = $i + 1 | 0;
            }
            $i = 0;
            while ($i < $info.$coupling_steps) {
                $pcmA = $this.$nonzero.data;
                $pcm = $info.$coupling_mag.data;
                if (!(!$pcmA[$pcm[$i]] && !$pcmA[$info.$coupling_ang.data[$i]])) {
                    $pcmA[$pcm[$i]] = 1;
                    $pcmA[$info.$coupling_ang.data[$i]] = 1;
                }
                $i = $i + 1 | 0;
            }
            $i = 0;
            while ($i < $info.$submaps) {
                $ch_in_bundle = 0;
                $j = 0;
                while ($j < $vi.$channels) {
                    if ($info.$chmuxlist.data[$j] == $i) {
                        if (!$this.$nonzero.data[$j])
                            $this.$zerobundle.data[$ch_in_bundle] = 0;
                        else
                            $this.$zerobundle.data[$ch_in_bundle] = 1;
                        $pcmA = $this.$pcmbundle.data;
                        $submap = $ch_in_bundle + 1 | 0;
                        $pcmA[$ch_in_bundle] = $vb.$pcm0.data[$j];
                        $ch_in_bundle = $submap;
                    }
                    $j = $j + 1 | 0;
                }
                $look.$residue_func.data[$i].$inverse0($vb, $look.$residue_look.data[$i], $this.$pcmbundle, $this.$zerobundle, $ch_in_bundle);
                $i = $i + 1 | 0;
            }
            $i = $info.$coupling_steps - 1 | 0;
            while ($i >= 0) {
                $pcmA = $vb.$pcm0.data;
                $pcmM = $pcmA[$info.$coupling_mag.data[$i]];
                $pcmA = $pcmA[$info.$coupling_ang.data[$i]];
                $j = 0;
                while ($j < var$11) {
                    $pcm = $pcmM.data;
                    var$17 = $pcmA.data;
                    $mag = $pcm[$j];
                    $ang = var$17[$j];
                    if ($mag <= 0.0) {
                        if ($ang <= 0.0) {
                            var$17[$j] = $mag;
                            $pcm[$j] = $mag - $ang;
                        } else {
                            $pcm[$j] = $mag;
                            var$17[$j] = $mag + $ang;
                        }
                    } else if ($ang <= 0.0) {
                        var$17[$j] = $mag;
                        $pcm[$j] = $mag + $ang;
                    } else {
                        $pcm[$j] = $mag;
                        var$17[$j] = $mag - $ang;
                    }
                    $j = $j + 1 | 0;
                }
                $i = $i + (-1) | 0;
            }
            $i = 0;
            while ($i < $vi.$channels) {
                $pcm = $vb.$pcm0.data[$i];
                $submap = $info.$chmuxlist.data[$i];
                $look.$floor_func.data[$submap].$inverse2($vb, $look.$floor_look.data[$submap], $this.$floormemo.data[$i], $pcm);
                $i = $i + 1 | 0;
            }
            $i = 0;
            while (true) {
                $submap = $vi.$channels;
                if ($i >= $submap)
                    break;
                $pcm = $vb.$pcm0.data[$i];
                cjj_Mdct_backward($vd.$transform0.data[$vb.$W].data[0], $pcm, $pcm);
                $i = $i + 1 | 0;
            }
            $i = 0;
            while ($i < $submap) {
                a: {
                    $pcm = $vb.$pcm0.data[$i];
                    if (!$this.$nonzero.data[$i]) {
                        $j = 0;
                        while (true) {
                            if ($j >= var$9)
                                break a;
                            $pcm.data[$j] = 0.0;
                            $j = $j + 1 | 0;
                        }
                    }
                    $j = 0;
                    while ($j < var$9) {
                        $pcmA = $pcm.data;
                        $pcmM = $window.data;
                        $pcmA[$j] = $pcmA[$j] * $pcmM[$j];
                        $j = $j + 1 | 0;
                    }
                }
                $i = $i + 1 | 0;
            }
            return 0;
        } finally {
            jl_Object_monitorExitSync($this);
        }
    }
    function cjj_Mapping0__clinit_() {
        cjj_Mapping0_seq = 0;
    }
    var cjj_Time0 = $rt_classWithoutFields(cjj_FuncTime);
    function cjj_Time0__init_0() {
        var var_0 = new cjj_Time0();
        cjj_Time0__init_(var_0);
        return var_0;
    }
    function cjj_Time0__init_($this) {
        cjj_FuncTime_$callClinit();
    }
    function cjj_Time0_unpack($this, $vi, $opb) {
        return $rt_s(3);
    }
    function cjj_Floor0() {
        cjj_FuncFloor.call(this);
        this.$lsp = null;
    }
    function cjj_Floor0__init_0() {
        var var_0 = new cjj_Floor0();
        cjj_Floor0__init_(var_0);
        return var_0;
    }
    function cjj_Floor0__init_($this) {
        cjj_FuncFloor__init_($this);
        $this.$lsp = null;
    }
    function cjj_Floor0_unpack($this, $vi, $opb) {
        var $info, $j, var$5;
        $info = new cjj_Floor0$InfoFloor0;
        $info.$this$049 = $this;
        $info.$books0 = $rt_createIntArray(16);
        $info.$order0 = cjj_Buffer_read($opb, 8);
        $info.$rate0 = cjj_Buffer_read($opb, 16);
        $info.$barkmap = cjj_Buffer_read($opb, 16);
        $info.$ampbits = cjj_Buffer_read($opb, 6);
        $info.$ampdB = cjj_Buffer_read($opb, 8);
        $j = cjj_Buffer_read($opb, 4) + 1 | 0;
        $info.$numbooks = $j;
        if ($info.$order0 >= 1 && $info.$rate0 >= 1 && $info.$barkmap >= 1 && $j >= 1) {
            $j = 0;
            a: {
                while ($j < $info.$numbooks) {
                    $info.$books0.data[$j] = cjj_Buffer_read($opb, 8);
                    var$5 = $info.$books0.data;
                    if (var$5[$j] < 0)
                        break a;
                    if (var$5[$j] >= $vi.$books)
                        break a;
                    $j = $j + 1 | 0;
                }
                return $info;
            }
            return null;
        }
        return null;
    }
    function cjj_Floor0_look($this, $vd, $mi, $i) {
        var $vi, $info, $look, $j, $val, var$9, var$10, $scale, var$12;
        $vi = $vd.$vi;
        $info = $i;
        $look = new cjj_Floor0$LookFloor0;
        $look.$this$050 = $this;
        $vd = cjj_Lpc__init_0();
        $look.$lpclook = $vd;
        $j = $info.$order0;
        $look.$m = $j;
        $look.$n = $vi.$blocksizes.data[$mi.$blockflag] / 2 | 0;
        $val = $info.$barkmap;
        $look.$ln = $val;
        $look.$vi0 = $info;
        $vd.$ln0 = $val;
        $vd.$m0 = $j;
        $vd = $vd.$fft;
        $val = $val * 2 | 0;
        $vd.$n0 = $val;
        var$9 = $rt_createFloatArray(3 * $val | 0);
        $vd.$trigcache = var$9;
        var$10 = $rt_createIntArray(32);
        $vd.$splitcache = var$10;
        if ($val != 1)
            cjj_Drft_drfti1($val, var$9, $val, var$10);
        $scale = $look.$ln / cjj_Floor0_toBARK($info.$rate0 / 2.0);
        $look.$linearmap = $rt_createIntArray($look.$n);
        $j = 0;
        while (true) {
            $val = $look.$n;
            if ($j >= $val)
                break;
            $val = jl_Math_floor(cjj_Floor0_toBARK($info.$rate0 / 2.0 / $val * $j) * $scale) | 0;
            var$12 = $look.$ln;
            if ($val < var$12)
                var$12 = $val;
            $look.$linearmap.data[$j] = var$12;
            $j = $j + 1 | 0;
        }
        return $look;
    }
    function cjj_Floor0_toBARK($f) {
        var var$2;
        var$2 = $f;
        return 13.1 * jl_Math_atan(7.4E-4 * var$2) + 2.24 * jl_Math_atan($f * $f * 1.85E-8) + 1.0E-4 * var$2;
    }
    function cjj_Floor0_free_info($this, $i) {}
    function cjj_Floor0_inverse1($this, $vb, $i, $memo) {
        var $look, $info, $lsp, $ampraw, $amp, $booknum, $b, $last, var$12, $j, $j_0, $k, $maxval, var$17, var$18, var$19, var$20;
        $look = $i;
        $info = $look.$vi0;
        $lsp = null;
        if ($rt_isInstance($memo, $rt_arraycls($rt_floatcls())))
            $lsp = $memo;
        $ampraw = cjj_Buffer_read($vb.$opb, $info.$ampbits);
        if ($ampraw > 0) {
            $amp = $ampraw / ((1 << $info.$ampbits) - 1 | 0) * $info.$ampdB;
            $booknum = cjj_Buffer_read($vb.$opb, cjj_Util_ilog($info.$numbooks));
            if ($booknum != (-1) && $booknum < $info.$numbooks) {
                a: {
                    $b = $vb.$vd.$fullbooks.data[$info.$books0.data[$booknum]];
                    $last = 0.0;
                    if ($lsp !== null) {
                        var$12 = $lsp.data;
                        $booknum = var$12.length;
                        if ($booknum >= ($look.$m + 1 | 0)) {
                            $j = 0;
                            while ($j < $booknum) {
                                var$12[$j] = 0.0;
                                $j = $j + 1 | 0;
                            }
                            break a;
                        }
                    }
                    $lsp = $rt_createFloatArray($look.$m + 1 | 0);
                }
                $j_0 = 0;
                while (true) {
                    $booknum = $look.$m;
                    if ($j_0 >= $booknum) {
                        $j = 0;
                        while ($j < $booknum) {
                            $k = 0;
                            while ($k < $b.$dim0) {
                                var$12 = $lsp.data;
                                var$12[$j] = var$12[$j] + $last;
                                $k = $k + 1 | 0;
                                $j = $j + 1 | 0;
                            }
                            $last = $lsp.data[$j - 1 | 0];
                        }
                        $lsp.data[$booknum] = $amp;
                        return $lsp;
                    }
                    $i = $vb.$opb;
                    $k = $b.$dim0;
                    $j = 0;
                    b: {
                        while ($j < $k) {
                            $booknum = cjj_CodeBook_decode($b, $i);
                            if ($booknum == (-1)) {
                                $booknum = (-1);
                                break b;
                            }
                            $ampraw = $b.$dim0;
                            $maxval = $rt_imul($booknum, $ampraw);
                            var$17 = 0;
                            while (var$17 < $ampraw) {
                                var$18 = $lsp.data;
                                var$19 = $j + 1 | 0;
                                var$20 = $j_0 + $j | 0;
                                var$12 = $b.$valuelist.data;
                                $booknum = var$17 + 1 | 0;
                                var$18[var$20] = var$12[$maxval + var$17 | 0];
                                $j = var$19;
                                var$17 = $booknum;
                            }
                        }
                        $booknum = 0;
                    }
                    if ($booknum == (-1))
                        break;
                    $j_0 = $j_0 + $b.$dim0 | 0;
                }
                return null;
            }
        }
        return null;
    }
    function cjj_Floor0_inverse2($this, $vb, $i, $memo, $out) {
        var $look, $info, $j, $lsp, var$9, $amp;
        $look = $i;
        $info = $look.$vi0;
        if ($memo === null) {
            $j = 0;
            while ($j < $look.$n) {
                $out.data[$j] = 0.0;
                $j = $j + 1 | 0;
            }
            return 0;
        }
        $lsp = $memo;
        var$9 = $lsp.data;
        $j = $look.$m;
        $amp = var$9[$j];
        cjj_Lsp_lsp_to_curve($out, $look.$linearmap, $look.$n, $look.$ln, $lsp, $j, $amp, $info.$ampdB);
        return 1;
    }
    var cjj_Floor1 = $rt_classWithoutFields(cjj_FuncFloor);
    var cjj_Floor1_FLOOR_fromdB_LOOKUP = null;
    function cjj_Floor1__init_0() {
        var var_0 = new cjj_Floor1();
        cjj_Floor1__init_(var_0);
        return var_0;
    }
    function cjj_Floor1__init_($this) {
        cjj_FuncFloor__init_($this);
    }
    function cjj_Floor1_unpack($this, $vi, $opb) {
        var $count, $maxclass, $info, var$6, var$7, $j, $rangebits, $j_0, $k, $k_0;
        $count = 0;
        $maxclass = (-1);
        $info = new cjj_Floor1$InfoFloor1;
        $info.$this$051 = $this;
        $info.$partitionclass = $rt_createIntArray(31);
        $info.$class_dim = $rt_createIntArray(16);
        $info.$class_subs = $rt_createIntArray(16);
        $info.$class_book = $rt_createIntArray(16);
        var$6 = $rt_createArray($rt_arraycls($rt_intcls()), 16);
        var$7 = var$6.data;
        $info.$class_subbook = var$6;
        $info.$postlist = $rt_createIntArray(65);
        $j = 0;
        $rangebits = var$7.length;
        while ($j < $rangebits) {
            var$7[$j] = $rt_createIntArray(8);
            $j = $j + 1 | 0;
        }
        $info.$partitions = cjj_Buffer_read($opb, 5);
        $j = 0;
        while ($j < $info.$partitions) {
            $info.$partitionclass.data[$j] = cjj_Buffer_read($opb, 4);
            var$6 = $info.$partitionclass.data;
            if ($maxclass < var$6[$j])
                $maxclass = var$6[$j];
            $j = $j + 1 | 0;
        }
        $j_0 = 0;
        a: {
            b: while (true) {
                if ($j_0 >= ($maxclass + 1 | 0)) {
                    $info.$mult = cjj_Buffer_read($opb, 2) + 1 | 0;
                    $rangebits = cjj_Buffer_read($opb, 4);
                    $j = 0;
                    $k = 0;
                    $j_0 = 1 << $rangebits;
                    c: while (true) {
                        if ($j >= $info.$partitions) {
                            var$6 = $info.$postlist.data;
                            var$6[0] = 0;
                            var$6[1] = $j_0;
                            return $info;
                        }
                        $count = $count + $info.$class_dim.data[$info.$partitionclass.data[$j]] | 0;
                        while ($k < $count) {
                            var$6 = $info.$postlist.data;
                            $k_0 = $k + 2 | 0;
                            $maxclass = cjj_Buffer_read($opb, $rangebits);
                            var$6[$k_0] = $maxclass;
                            if ($maxclass < 0)
                                break c;
                            if ($maxclass >= $j_0)
                                break c;
                            $k = $k + 1 | 0;
                        }
                        $j = $j + 1 | 0;
                    }
                    cjj_Floor1$InfoFloor1_free($info);
                    return null;
                }
                $info.$class_dim.data[$j_0] = cjj_Buffer_read($opb, 3) + 1 | 0;
                $info.$class_subs.data[$j_0] = cjj_Buffer_read($opb, 2);
                var$6 = $info.$class_subs.data;
                if (var$6[$j_0] < 0) {
                    cjj_Floor1$InfoFloor1_free($info);
                    return null;
                }
                if (var$6[$j_0])
                    $info.$class_book.data[$j_0] = cjj_Buffer_read($opb, 8);
                var$6 = $info.$class_book.data;
                if (var$6[$j_0] < 0)
                    break a;
                if (var$6[$j_0] >= $vi.$books)
                    break a;
                $k_0 = 0;
                while ($k_0 < 1 << $info.$class_subs.data[$j_0]) {
                    $info.$class_subbook.data[$j_0].data[$k_0] = cjj_Buffer_read($opb, 8) - 1 | 0;
                    var$6 = $info.$class_subbook.data;
                    if (var$6[$j_0].data[$k_0] < (-1))
                        break b;
                    if (var$6[$j_0].data[$k_0] >= $vi.$books)
                        break b;
                    $k_0 = $k_0 + 1 | 0;
                }
                $j_0 = $j_0 + 1 | 0;
            }
            cjj_Floor1$InfoFloor1_free($info);
            return null;
        }
        cjj_Floor1$InfoFloor1_free($info);
        return null;
    }
    function cjj_Floor1_look($this, $vd, $mi, $i) {
        var $_n, $sortpointer, $info, $look, var$8, var$9, var$10, var$11, var$12, var$13, $hx, $j, $j_0, $lo, $k, $foo, var$20, $hi, $lx, $currentx, $k_0, $x;
        $_n = 0;
        $sortpointer = $rt_createIntArray(65);
        $info = $i;
        $look = new cjj_Floor1$LookFloor1;
        $look.$this$052 = $this;
        var$8 = $rt_createIntArray(65);
        $look.$sorted_index = var$8;
        var$9 = $rt_createIntArray(65);
        $look.$forward_index = var$9;
        var$10 = $rt_createIntArray(65);
        $look.$reverse_index = var$10;
        var$11 = $rt_createIntArray(63);
        $look.$hineighbor = var$11;
        var$12 = $rt_createIntArray(63);
        $look.$loneighbor = var$12;
        $look.$vi1 = $info;
        var$13 = $info.$postlist.data;
        $hx = var$13[1];
        $look.$n1 = $hx;
        $j = 0;
        while ($j < $info.$partitions) {
            $_n = $_n + $info.$class_dim.data[$info.$partitionclass.data[$j]] | 0;
            $j = $j + 1 | 0;
        }
        $sortpointer = $sortpointer.data;
        $j = $_n + 2 | 0;
        $look.$posts = $j;
        $j_0 = 0;
        while ($j_0 < $j) {
            $sortpointer[$j_0] = $j_0;
            $j_0 = $j_0 + 1 | 0;
        }
        $j_0 = 0;
        $lo = $j - 1 | 0;
        while ($j_0 < $lo) {
            $k = $j_0;
            while ($k < $j) {
                if (var$13[$sortpointer[$j_0]] > var$13[$sortpointer[$k]]) {
                    $foo = $sortpointer[$k];
                    $sortpointer[$k] = $sortpointer[$j_0];
                    $sortpointer[$j_0] = $foo;
                }
                $k = $k + 1 | 0;
            }
            $j_0 = $j_0 + 1 | 0;
        }
        var$20 = var$9.data;
        $j_0 = 0;
        while ($j_0 < $j) {
            var$20[$j_0] = $sortpointer[$j_0];
            $j_0 = $j_0 + 1 | 0;
        }
        $sortpointer = var$10.data;
        $j_0 = 0;
        while ($j_0 < $j) {
            $sortpointer[var$20[$j_0]] = $j_0;
            $j_0 = $j_0 + 1 | 0;
        }
        $sortpointer = var$8.data;
        $j_0 = 0;
        while ($j_0 < $j) {
            $sortpointer[$j_0] = var$13[var$20[$j_0]];
            $j_0 = $j_0 + 1 | 0;
        }
        a: {
            switch ($info.$mult) {
                case 1:
                    break;
                case 2:
                    $look.$quant_q = 128;
                    break a;
                case 3:
                    $look.$quant_q = 86;
                    break a;
                case 4:
                    $look.$quant_q = 64;
                    break a;
                default:
                    $look.$quant_q = (-1);
                    break a;
            }
            $look.$quant_q = 256;
        }
        $sortpointer = var$12.data;
        var$20 = var$11.data;
        $j_0 = 0;
        $_n = $j - 2 | 0;
        while ($j_0 < $_n) {
            $lo = 0;
            $hi = 1;
            $lx = 0;
            $k = $j_0 + 2 | 0;
            $currentx = var$13[$k];
            $k_0 = 0;
            $foo = $hx;
            while ($k_0 < $k) {
                $x = var$13[$k_0];
                if ($x > $lx && $x < $currentx) {
                    $lo = $k_0;
                    $lx = $x;
                }
                if ($x < $foo && $x > $currentx) {
                    $hi = $k_0;
                    $foo = $x;
                }
                $k_0 = $k_0 + 1 | 0;
            }
            $sortpointer[$j_0] = $lo;
            var$20[$j_0] = $hi;
            $j_0 = $j_0 + 1 | 0;
        }
        return $look;
    }
    function cjj_Floor1_free_info($this, $i) {}
    function cjj_Floor1_inverse1($this, $vb, $ii, $memo) {
        var $look, $info, $books, $fit_value, var$8, $room, $i, var$11, $j, var$13, $cdim, $clss, $val, $book, $predicted, $hiroom, $csubbits, $csub, $cval, $k;
        $look = $ii;
        $info = $look.$vi1;
        $books = $vb.$vd.$fullbooks;
        if (cjj_Buffer_read($vb.$opb, 1) != 1)
            return null;
        $fit_value = null;
        if ($rt_isInstance($memo, $rt_arraycls($rt_intcls())))
            $fit_value = $memo;
        a: {
            if ($fit_value !== null) {
                var$8 = $fit_value.data;
                $room = var$8.length;
                if ($room >= $look.$posts) {
                    $i = 0;
                    while ($i < $room) {
                        var$8[$i] = 0;
                        $i = $i + 1 | 0;
                    }
                    break a;
                }
            }
            $fit_value = $rt_createIntArray($look.$posts);
        }
        var$11 = $fit_value.data;
        var$11[0] = cjj_Buffer_read($vb.$opb, cjj_Util_ilog($look.$quant_q - 1 | 0));
        var$11[1] = cjj_Buffer_read($vb.$opb, cjj_Util_ilog($look.$quant_q - 1 | 0));
        $i = 0;
        $j = 2;
        b: while (true) {
            if ($i >= $info.$partitions) {
                $i = 2;
                while ($i < $look.$posts) {
                    var$13 = $info.$postlist.data;
                    var$8 = $look.$loneighbor.data;
                    $cdim = $i - 2 | 0;
                    $clss = var$13[var$8[$cdim]];
                    $books = $look.$hineighbor.data;
                    $room = var$13[$books[$cdim]];
                    $val = var$11[var$8[$cdim]];
                    $book = var$11[$books[$cdim]];
                    $j = var$13[$i];
                    $val = $val & 32767;
                    $book = ($book & 32767) - $val | 0;
                    $room = $room - $clss | 0;
                    $clss = $rt_imul(jl_Math_abs($book), $j - $clss | 0) / $room | 0;
                    $predicted = $book >= 0 ? $val + $clss | 0 : $val - $clss | 0;
                    $hiroom = $look.$quant_q - $predicted | 0;
                    $clss = $rt_compare($hiroom, $predicted);
                    $room = ($clss >= 0 ? $predicted : $hiroom) << 1;
                    $val = var$11[$i];
                    if (!$val)
                        var$11[$i] = $predicted | 32768;
                    else {
                        var$11[$i] = ($val >= $room ? ($clss > 0 ? $val - $predicted | 0 : (-1) - ($val - $hiroom | 0) | 0) : !($val & 1) ? $val >> 1 :  -(($val + 1 | 0) >>> 1 | 0) | 0) + $predicted | 0;
                        $clss = $look.$loneighbor.data[$cdim];
                        var$11[$clss] = var$11[$clss] & 32767;
                        $clss = $look.$hineighbor.data[$cdim];
                        var$11[$clss] = var$11[$clss] & 32767;
                    }
                    $i = $i + 1 | 0;
                }
                return $fit_value;
            }
            $clss = $info.$partitionclass.data[$i];
            $cdim = $info.$class_dim.data[$clss];
            $csubbits = $info.$class_subs.data[$clss];
            $csub = 1 << $csubbits;
            $cval = 0;
            if ($csubbits) {
                $cval = cjj_CodeBook_decode($books.data[$info.$class_book.data[$clss]], $vb.$opb);
                if ($cval == (-1))
                    return null;
            }
            $k = 0;
            $val = $csub - 1 | 0;
            while ($k < $cdim) {
                $book = $info.$class_subbook.data[$clss].data[$cval & $val];
                $cval = $cval >>> $csubbits | 0;
                if ($book < 0)
                    var$11[$j + $k | 0] = 0;
                else {
                    var$8 = $books.data;
                    $room = $j + $k | 0;
                    $book = cjj_CodeBook_decode(var$8[$book], $vb.$opb);
                    var$11[$room] = $book;
                    if ($book == (-1))
                        break b;
                }
                $k = $k + 1 | 0;
            }
            $j = $j + $cdim | 0;
            $i = $i + 1 | 0;
        }
        return null;
    }
    function cjj_Floor1_inverse2($this, $vb, $i, $memo, $out) {
        var $look, $info, $n, $j, $fit_value, $j_0, $lx, $ly, $current, $hy, var$15, var$16, var$17, var$18, var$19, var$20, var$21;
        $look = $i;
        $info = $look.$vi1;
        $n = $vb.$vd.$vi.$blocksizes.data[$vb.$mode6] / 2 | 0;
        if ($memo === null) {
            $j = 0;
            while ($j < $n) {
                $out.data[$j] = 0.0;
                $j = $j + 1 | 0;
            }
            return 0;
        }
        $fit_value = $memo.data;
        $j_0 = 0;
        $lx = 0;
        $ly = $rt_imul($fit_value[0], $info.$mult);
        $j = 1;
        while ($j < $look.$posts) {
            $current = $look.$forward_index.data[$j];
            $hy = $fit_value[$current] & 32767;
            if ($hy == $fit_value[$current]) {
                var$15 = $rt_imul($hy, $info.$mult);
                $current = $info.$postlist.data[$current];
                $j_0 = var$15 - $ly | 0;
                $hy = $current - $lx | 0;
                var$16 = jl_Math_abs($j_0);
                var$17 = $j_0 / $hy | 0;
                $j_0 = $j_0 >= 0 ? var$17 + 1 | 0 : var$17 - 1 | 0;
                var$18 = $out.data;
                var$19 = 0;
                var$16 = var$16 - jl_Math_abs($rt_imul(var$17, $hy)) | 0;
                var$20 = var$18[$lx];
                var$21 = cjj_Floor1_FLOOR_fromdB_LOOKUP.data;
                var$18[$lx] = var$20 * var$21[$ly];
                while (true) {
                    $lx = $lx + 1 | 0;
                    if ($lx >= $current)
                        break;
                    var$19 = var$19 + var$16 | 0;
                    if (var$19 < $hy)
                        $ly = $ly + var$17 | 0;
                    else {
                        var$19 = var$19 - $hy | 0;
                        $ly = $ly + $j_0 | 0;
                    }
                    var$18[$lx] = var$18[$lx] * var$21[$ly];
                }
                $j_0 = $current;
                $lx = $current;
                $ly = var$15;
            }
            $j = $j + 1 | 0;
        }
        while ($j_0 < $n) {
            $fit_value = $out.data;
            $fit_value[$j_0] = $fit_value[$j_0] * $fit_value[$j_0 - 1 | 0];
            $j_0 = $j_0 + 1 | 0;
        }
        return 1;
    }
    function cjj_Floor1__clinit_() {
        cjj_Floor1_FLOOR_fromdB_LOOKUP = $rt_createFloatArrayFromData([1.0649863213529898E-7, 1.1341951022814101E-7, 1.2079014766186447E-7, 1.2863978327004588E-7, 1.3699950329737476E-7, 1.459025043004658E-7, 1.553840860424316E-7, 1.654818078122844E-7, 1.7623574422032107E-7, 1.8768855625239667E-7, 1.998856049567621E-7, 2.128753067154321E-7, 2.2670913324418507E-7, 2.4144196686393116E-7, 2.5713222839840455E-7, 2.738421187586937E-7, 2.9163791737119027E-7, 3.105902237621194E-7, 3.3077409966608684E-7, 3.5226966588197683E-7,
        3.7516213069466176E-7, 3.9954230146577174E-7, 4.2550681200737017E-7, 4.531586341727234E-7, 4.826074473385233E-7, 5.139700078871101E-7, 5.473706323755323E-7, 5.829418796565733E-7, 6.208247214090079E-7, 6.611693947888853E-7, 7.041359140202985E-7, 7.498946388295735E-7, 7.98627013409714E-7, 8.505263053848466E-7, 9.057982879312476E-7, 9.646621492720442E-7, 1.0273513453284977E-6, 1.0941143955278676E-6, 1.1652160765152075E-6, 1.2409384453349048E-6, 1.3215816352385445E-6, 1.4074654473006376E-6, 1.498930487286998E-6,
        1.5963394162099576E-6, 1.7000785419440945E-6, 1.8105591834682855E-6, 1.9282194898551097E-6, 2.0535260318865767E-6, 2.1869757347303675E-6, 2.3290976969292387E-6, 2.4804558051982895E-6, 2.6416496439196635E-6, 2.813319042616058E-6, 2.9961443033243995E-6, 3.190850520695676E-6, 3.3982100831053685E-6, 3.619044946390204E-6, 3.854230726574315E-6, 4.1047005652217194E-6, 4.371447175799403E-6, 4.655528300645528E-6, 4.958070803695591E-6, 5.280273853713879E-6, 5.623416200251086E-6, 5.98885708313901E-6, 6.3780466916796286E-6,
        6.792528438381851E-6, 7.233945325424429E-6, 7.704047675360925E-6, 8.204699952329975E-6, 8.737887583265547E-6, 9.305725143349264E-6, 9.910463631968014E-6, 1.0554501386650372E-5, 1.1240392268518917E-5, 1.197085566673195E-5, 1.2748789231409319E-5, 1.3577277968579438E-5, 1.4459606063610408E-5, 1.539927143312525E-5, 1.6400004824390635E-5, 1.7465768905822188E-5, 1.8600792827783152E-5, 1.9809576770057902E-5, 2.109691376972478E-5, 2.246791154902894E-5, 2.3928001610329375E-5, 2.5482977434876375E-5, 2.713900539674796E-5,
        2.8902650228701532E-5, 3.0780909582972527E-5, 3.2781226764200255E-5, 3.491153256618418E-5, 3.7180281651671976E-5, 3.959646710427478E-5, 4.216966772219166E-5, 4.491009167395532E-5, 4.7828601964283735E-5, 5.093677464174107E-5, 5.424693154054694E-5, 5.777220212621614E-5, 6.152656715130433E-5, 6.552490958711132E-5, 6.978308374527842E-5, 7.431798439938575E-5, 7.914758316474035E-5, 8.429103763774037E-5, 8.976874960353598E-5, 9.560242324369028E-5, 1.0181521065533161E-4, 1.0843174095498398E-4, 1.154782366938889E-4,
        1.2298267392907292E-4, 1.3097477494738996E-4, 1.3948624837212265E-4, 1.4855085464660078E-4, 1.5820453700143844E-4, 1.68485552421771E-4, 1.7943468992598355E-4, 1.9109535787720233E-4, 2.0351381681393832E-4, 2.1673929586540908E-4, 2.308242255821824E-4, 2.4582448531873524E-4, 2.617995487526059E-4, 2.788127458188683E-4, 2.969315683003515E-4, 3.1622787355445325E-4, 3.3677814644761384E-4, 3.586638777051121E-4, 3.819718840532005E-4, 4.067945701535791E-4, 4.3323036516085267E-4, 4.613841010723263E-4, 4.91367478389293E-4,
        5.232992698438466E-4, 5.573062226176262E-4, 5.935230874456465E-4, 6.320935790427029E-4, 6.73170608934015E-4, 7.169169839471579E-4, 7.635062793269753E-4, 8.131232461892068E-4, 8.659645682200789E-4, 9.222398512065411E-4, 9.821722051128745E-4, 0.001045999233610928, 0.0011139742564409971, 0.0011863665422424674, 0.001263463287614286, 0.0013455701991915703, 0.0014330128906294703, 0.0015261381631717086, 0.00162531528621912, 0.0017309373943135142, 0.0018434234661981463, 0.001963219605386257, 0.002090800553560257,
        0.002226672600954771, 0.002371374284848571, 0.002525479532778263, 0.0026895992923527956, 0.0028643847908824682, 0.0030505286995321512, 0.0032487690914422274, 0.0034598924685269594, 0.003684735856950283, 0.003924190532416105, 0.0041792066767811775, 0.004450794775038958, 0.004740032833069563, 0.005048066843301058, 0.005376118700951338, 0.005725488997995853, 0.0060975635424256325, 0.006493817549198866, 0.006915822625160217, 0.007365251425653696, 0.00784388743340969, 0.008353627286851406, 0.008896492421627045,
        0.009474636986851692, 0.010090352036058903, 0.010746080428361893, 0.01144442055374384, 0.012188144028186798, 0.012980197556316853, 0.013823725283145905, 0.0147220678627491, 0.01567879132926464, 0.016697686165571213, 0.017782796174287796, 0.018938422203063965, 0.020169148221611977, 0.021479854360222816, 0.02287573553621769, 0.02436232939362526, 0.025945531204342842, 0.027631618082523346, 0.02942727692425251, 0.031339626759290695, 0.03337625041604042, 0.0355452261865139, 0.037855155766010284, 0.04031519964337349,
        0.04293510690331459, 0.045725274831056595, 0.04869675636291504, 0.05186134949326515, 0.05523158982396126, 0.058820851147174835, 0.06264336407184601, 0.06671427935361862, 0.0710497498512268, 0.07566696405410767, 0.08058422803878784, 0.08582104742527008, 0.09139817953109741, 0.0973377451300621, 0.10366330295801163, 0.11039993166923523, 0.11757434159517288, 0.12521497905254364, 0.1333521455526352, 0.142018124461174, 0.15124726295471191, 0.16107617318630219, 0.17154380679130554, 0.18269167840480804, 0.19456401467323303,
        0.20720787346363068, 0.22067342698574066, 0.23501402139663696, 0.2502865493297577, 0.26655158400535583, 0.28387361764907837, 0.30232131481170654, 0.32196786999702454, 0.342891126871109, 0.36517414450645447, 0.38890519738197327, 0.4141784608364105, 0.44109413027763367, 0.46975889801979065, 0.5002864599227905, 0.5327979326248169, 0.567422091960907, 0.6042963862419128, 0.6435669660568237, 0.6853895783424377, 0.72993004322052, 0.7773650288581848, 0.8278825879096985, 0.8816830515861511, 0.9389798045158386,
        1.0]);
    }
    var cjj_Residue0 = $rt_classWithoutFields(cjj_FuncResidue);
    var cjj_Residue0__01inverse_partword = null;
    var cjj_Residue0__2inverse_partword = null;
    function cjj_Residue0__init_0() {
        var var_0 = new cjj_Residue0();
        cjj_Residue0__init_(var_0);
        return var_0;
    }
    function cjj_Residue0__init_($this) {
        cjj_FuncResidue_$callClinit();
    }
    function cjj_Residue0_unpack($this, $vi, $opb) {
        var $acc, $info, $j, $cascade, $j_0, $j_1;
        $acc = 0;
        $info = new cjj_Residue0$InfoResidue0;
        $info.$this$053 = $this;
        $info.$secondstages = $rt_createIntArray(64);
        $info.$booklist = $rt_createIntArray(256);
        $info.$entmax = $rt_createFloatArray(64);
        $info.$ampmax = $rt_createFloatArray(64);
        $info.$subgrp = $rt_createIntArray(64);
        $info.$blimit = $rt_createIntArray(64);
        $info.$begin = cjj_Buffer_read($opb, 24);
        $info.$end5 = cjj_Buffer_read($opb, 24);
        $info.$grouping = cjj_Buffer_read($opb, 24) + 1 | 0;
        $info.$partitions0 = cjj_Buffer_read($opb, 6) + 1 | 0;
        $info.$groupbook = cjj_Buffer_read($opb, 8);
        $j = 0;
        while ($j < $info.$partitions0) {
            $cascade = cjj_Buffer_read($opb, 3);
            if (cjj_Buffer_read($opb, 1))
                $cascade = $cascade | cjj_Buffer_read($opb, 5) << 3;
            $info.$secondstages.data[$j] = $cascade;
            $j_0 = 0;
            while ($cascade) {
                $j_0 = $j_0 + ($cascade & 1) | 0;
                $cascade = $cascade >>> 1 | 0;
            }
            $acc = $acc + $j_0 | 0;
            $j = $j + 1 | 0;
        }
        $j_0 = 0;
        while ($j_0 < $acc) {
            $info.$booklist.data[$j_0] = cjj_Buffer_read($opb, 8);
            $j_0 = $j_0 + 1 | 0;
        }
        $cascade = $info.$groupbook;
        $j_0 = $vi.$books;
        if ($cascade >= $j_0)
            return null;
        $j_1 = 0;
        while ($j_1 < $acc) {
            if ($info.$booklist.data[$j_1] >= $j_0)
                return null;
            $j_1 = $j_1 + 1 | 0;
        }
        return $info;
    }
    function cjj_Residue0_look($this, $vd, $vm, $info) {
        var $look, $acc, $maxstage, $k, var$8, var$9, $dim, $j, $i, $stages, var$14, $k_0, $mult, $deco;
        $look = new cjj_Residue0$LookResidue0;
        $look.$this$054 = $this;
        $acc = 0;
        $maxstage = 0;
        $look.$info1 = $info;
        $look.$map1 = $vm.$mapping;
        $k = $info.$partitions0;
        $look.$parts = $k;
        var$8 = $vd.$fullbooks;
        var$9 = var$8.data;
        $look.$fullbooks0 = var$8;
        $vd = var$9[$info.$groupbook];
        $look.$phrasebook = $vd;
        $dim = $vd.$dim0;
        $look.$partbooks = $rt_createArray($rt_arraycls($rt_intcls()), $k);
        $j = 0;
        while (true) {
            $k = $look.$parts;
            if ($j >= $k)
                break;
            $i = $info.$secondstages.data[$j];
            $stages = cjj_Util_ilog($i);
            if ($stages) {
                if ($stages > $maxstage)
                    $maxstage = $stages;
                var$14 = $look.$partbooks.data;
                var$14[$j] = $rt_createIntArray($stages);
                $k_0 = 0;
                while ($k_0 < $stages) {
                    if ($i & 1 << $k_0) {
                        var$9 = var$14[$j].data;
                        var$8 = $info.$booklist.data;
                        $k = $acc + 1 | 0;
                        var$9[$k_0] = var$8[$acc];
                        $acc = $k;
                    }
                    $k_0 = $k_0 + 1 | 0;
                }
            }
            $j = $j + 1 | 0;
        }
        $i = jl_Math_rint(jl_Math_pow($k, $dim)) | 0;
        $look.$partvals = $i;
        $look.$stages = $maxstage;
        var$8 = $rt_createArray($rt_arraycls($rt_intcls()), $i);
        var$9 = var$8.data;
        $look.$decodemap = var$8;
        $j = 0;
        while ($j < $i) {
            $stages = $look.$parts;
            $mult = $i / $stages | 0;
            var$9[$j] = $rt_createIntArray($dim);
            $k = 0;
            $acc = $j;
            while ($k < $dim) {
                $deco = $acc / $mult | 0;
                $acc = $acc - $rt_imul($deco, $mult) | 0;
                $mult = $mult / $stages | 0;
                var$9[$j].data[$k] = $deco;
                $k = $k + 1 | 0;
            }
            $j = $j + 1 | 0;
        }
        return $look;
    }
    function cjj_Residue0_free_info($this, $i) {}
    function cjj_Residue0__01inverse($vb, $look, $in, $ch, $decodepart) {
        var $info, $samples_per_partition, $partitions_per_word, $partvals, $partwords, $j, var$12, $s, $n, $i, $l, $temp, $k, $offset, $index, $stagebook;
        jl_Object_monitorEnterSync($rt_cls(cjj_Residue0));
        try {
            $info = $look.$info1;
            $samples_per_partition = $info.$grouping;
            $partitions_per_word = $look.$phrasebook.$dim0;
            $partvals = ($info.$end5 - $info.$begin | 0) / $samples_per_partition | 0;
            $partwords = (($partvals + $partitions_per_word | 0) - 1 | 0) / $partitions_per_word | 0;
            if (cjj_Residue0__01inverse_partword.data.length < $ch)
                cjj_Residue0__01inverse_partword = $rt_createArray($rt_arraycls($rt_arraycls($rt_intcls())), $ch);
            $j = 0;
            while ($j < $ch) {
                var$12 = cjj_Residue0__01inverse_partword.data;
                if (!(var$12[$j] !== null && var$12[$j].data.length >= $partwords))
                    var$12[$j] = $rt_createArray($rt_arraycls($rt_intcls()), $partwords);
                $j = $j + 1 | 0;
            }
            $s = 0;
            $n = $rt_compare($decodepart, 1);
            while ($s < $look.$stages) {
                $i = 0;
                $l = 0;
                while ($i < $partvals) {
                    a: {
                        if (!$s) {
                            $j = 0;
                            while (true) {
                                if ($j >= $ch)
                                    break a;
                                $temp = cjj_CodeBook_decode($look.$phrasebook, $vb.$opb);
                                if ($temp == (-1))
                                    return 0;
                                var$12 = cjj_Residue0__01inverse_partword.data;
                                var$12[$j].data[$l] = $look.$decodemap.data[$temp];
                                if (var$12[$j].data[$l] === null)
                                    return 0;
                                $j = $j + 1 | 0;
                            }
                        }
                    }
                    $k = 0;
                    while ($k < $partitions_per_word && $i < $partvals) {
                        $temp = 0;
                        while ($temp < $ch) {
                            b: {
                                $offset = $info.$begin + $rt_imul($i, $samples_per_partition) | 0;
                                $index = cjj_Residue0__01inverse_partword.data[$temp].data[$l].data[$k];
                                if ($info.$secondstages.data[$index] & 1 << $s) {
                                    $stagebook = $look.$fullbooks0.data[$look.$partbooks.data[$index].data[$s]];
                                    if ($stagebook !== null) {
                                        if (!$decodepart) {
                                            if (cjj_CodeBook_decodevs_add($stagebook, $in.data[$temp], $offset, $vb.$opb, $samples_per_partition) != (-1))
                                                break b;
                                            else
                                                return 0;
                                        }
                                        if (!$n && cjj_CodeBook_decodev_add($stagebook, $in.data[$temp], $offset, $vb.$opb, $samples_per_partition) == (-1))
                                            return 0;
                                    }
                                }
                            }
                            $temp = $temp + 1 | 0;
                        }
                        $k = $k + 1 | 0;
                        $i = $i + 1 | 0;
                    }
                    $l = $l + 1 | 0;
                }
                $s = $s + 1 | 0;
            }
            return 0;
        } finally {
            jl_Object_monitorExitSync($rt_cls(cjj_Residue0));
        }
    }
    function cjj_Residue0__2inverse($vb, $look, $in, $ch) {
        var $info, $samples_per_partition, $partitions_per_word, $partvals, $partwords, var$10, $s, $i, $l, $temp, var$15, $k, $offset, $index, $stagebook, var$20, $n, var$22, var$23;
        jl_Object_monitorEnterSync($rt_cls(cjj_Residue0));
        try {
            $info = $look.$info1;
            $samples_per_partition = $info.$grouping;
            $partitions_per_word = $look.$phrasebook.$dim0;
            $partvals = ($info.$end5 - $info.$begin | 0) / $samples_per_partition | 0;
            $partwords = (($partvals + $partitions_per_word | 0) - 1 | 0) / $partitions_per_word | 0;
            var$10 = cjj_Residue0__2inverse_partword;
            if (!(var$10 !== null && var$10.data.length >= $partwords))
                cjj_Residue0__2inverse_partword = $rt_createArray($rt_arraycls($rt_intcls()), $partwords);
            $s = 0;
            while ($s < $look.$stages) {
                $i = 0;
                $l = 0;
                while ($i < $partvals) {
                    if (!$s) {
                        $temp = cjj_CodeBook_decode($look.$phrasebook, $vb.$opb);
                        if ($temp == (-1))
                            return 0;
                        var$15 = cjj_Residue0__2inverse_partword.data;
                        var$15[$l] = $look.$decodemap.data[$temp];
                        if (var$15[$l] === null)
                            return 0;
                    }
                    $k = 0;
                    while ($k < $partitions_per_word && $i < $partvals) {
                        $offset = $info.$begin + $rt_imul($i, $samples_per_partition) | 0;
                        $index = cjj_Residue0__2inverse_partword.data[$l].data[$k];
                        if ($info.$secondstages.data[$index] & 1 << $s) {
                            $stagebook = $look.$fullbooks0.data[$look.$partbooks.data[$index].data[$s]];
                            if ($stagebook !== null) {
                                var$20 = $vb.$opb;
                                $partwords = 0;
                                $index = $offset / $ch | 0;
                                $offset = ($offset + $samples_per_partition | 0) / $ch | 0;
                                a: {
                                    while ($index < $offset) {
                                        $temp = cjj_CodeBook_decode($stagebook, var$20);
                                        if ($temp == (-1)) {
                                            $partwords = (-1);
                                            break a;
                                        }
                                        $n = $stagebook.$dim0;
                                        var$22 = $rt_imul($temp, $n);
                                        var$23 = 0;
                                        while (var$23 < $n) {
                                            var$10 = $in.data;
                                            $temp = $partwords + 1 | 0;
                                            var$10 = var$10[$partwords].data;
                                            var$10[$index] = var$10[$index] + $stagebook.$valuelist.data[var$22 + var$23 | 0];
                                            if ($temp != $ch)
                                                $partwords = $temp;
                                            else {
                                                $partwords = 0;
                                                $index = $index + 1 | 0;
                                            }
                                            var$23 = var$23 + 1 | 0;
                                        }
                                    }
                                    $partwords = 0;
                                }
                                if ($partwords == (-1))
                                    return 0;
                            }
                        }
                        $k = $k + 1 | 0;
                        $i = $i + 1 | 0;
                    }
                    $l = $l + 1 | 0;
                }
                $s = $s + 1 | 0;
            }
            return 0;
        } finally {
            jl_Object_monitorExitSync($rt_cls(cjj_Residue0));
        }
    }
    function cjj_Residue0_inverse($this, $vb, $vl, $in, $nonzero, $ch) {
        var $used, $i, var$8, var$9;
        $used = 0;
        $i = 0;
        while ($i < $ch) {
            if ($nonzero.data[$i]) {
                var$8 = $in.data;
                var$9 = $used + 1 | 0;
                var$8[$used] = var$8[$i];
                $used = var$9;
            }
            $i = $i + 1 | 0;
        }
        if (!$used)
            return 0;
        return cjj_Residue0__01inverse($vb, $vl, $in, $used, 0);
    }
    function cjj_Residue0__clinit_() {
        cjj_Residue0__01inverse_partword = $rt_createArray($rt_arraycls($rt_arraycls($rt_intcls())), 2);
        cjj_Residue0__2inverse_partword = null;
    }
    var cjj_Residue1 = $rt_classWithoutFields(cjj_Residue0);
    function cjj_Residue1__init_0() {
        var var_0 = new cjj_Residue1();
        cjj_Residue1__init_(var_0);
        return var_0;
    }
    function cjj_Residue1__init_($this) {
        cjj_Residue0__init_($this);
    }
    function cjj_Residue1_inverse($this, $vb, $vl, $in, $nonzero, $ch) {
        var $used, $i, var$8, var$9;
        $used = 0;
        $i = 0;
        while ($i < $ch) {
            if ($nonzero.data[$i]) {
                var$8 = $in.data;
                var$9 = $used + 1 | 0;
                var$8[$used] = var$8[$i];
                $used = var$9;
            }
            $i = $i + 1 | 0;
        }
        if (!$used)
            return 0;
        return cjj_Residue0__01inverse($vb, $vl, $in, $used, 1);
    }
    var cjj_Residue2 = $rt_classWithoutFields(cjj_Residue0);
    function cjj_Residue2__init_0() {
        var var_0 = new cjj_Residue2();
        cjj_Residue2__init_(var_0);
        return var_0;
    }
    function cjj_Residue2__init_($this) {
        cjj_Residue0__init_($this);
    }
    function cjj_Residue2_inverse($this, $vb, $vl, $in, $nonzero, $ch) {
        var var$6, var$7;
        var$6 = 0;
        a: {
            while (true) {
                var$7 = $rt_compare(var$6, $ch);
                if (var$7 >= 0)
                    break a;
                if ($nonzero.data[var$6])
                    break;
                var$6 = var$6 + 1 | 0;
            }
        }
        if (var$7)
            return cjj_Residue0__2inverse($vb, $vl, $in, $ch);
        return 0;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$11() {
        var a = this; jl_Object.call(a);
        a.$val$cb11 = null;
        a.$val$r1 = null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$11_handleEvent$exported$0(var$0) {
        otpp_AsyncCallbackWrapper_complete(var$0.$val$cb11, !(var$0.$val$r1.result <= 0 ? 0 : 1) ? nleit_BooleanResult_FALSE : nleit_BooleanResult_TRUE);
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$12() {
        jl_Object.call(this);
        this.$val$cb12 = null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$12_handleEvent$exported$0(var$0) {
        otpp_AsyncCallbackWrapper_complete(var$0.$val$cb12, nleit_BooleanResult_FALSE);
    }
    var otjw_WebSocket = $rt_classWithoutFields();
    function nleit_TeaVMWebSocketClient$1() {
        jl_Object.call(this);
        this.$this$043 = null;
    }
    function nleit_TeaVMWebSocketClient$1_handleEvent$exported$0(var$0, var$1) {
        var$1 = var$0.$this$043;
        var$1.$sockIsConnecting = 0;
        var$1.$sockIsConnected = 1;
    }
    function nleit_TeaVMWebSocketClient$2() {
        jl_Object.call(this);
        this.$this$044 = null;
    }
    function nleit_TeaVMWebSocketClient$2_handleEvent$exported$0(var$0, var$1) {
        var$1 = var$0.$this$044;
        var$1.$sockIsConnecting = 0;
        var$1.$sockIsConnected = 0;
    }
    function nleit_TeaVMWebSocketClient$3() {
        jl_Object.call(this);
        this.$this$045 = null;
    }
    function nleit_TeaVMWebSocketClient$3_handleEvent$exported$0(var$0, var$1) {
        var var$2, var$3, var$4, var$5, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = var$0.$this$045;
            var$3 = new nleit_TeaVMWebSocketFrame;
            var$1 = var$1.data;
            var$3.$cachedStrContent = null;
            var$3.$cachedByteContent = null;
            var$3.$cachedLen = (-1);
            var$3.$data3 = var$1;
            var$3.$str = typeof var$1 === "string" ? 1 : 0;
            $ptr = 1;
        case 1:
            a: {
                $tmp = nlei_PlatformRuntime_steadyTimeMillis();
                if ($rt_suspending()) {
                    break main;
                }
                var$4 = $tmp;
                var$3.$timestamp = var$4;
                var$5 = var$3.$str;
                if (!var$5) {
                    if (var$2.$binEnable)
                        break a;
                } else if (var$2.$strEnable)
                    break a;
                return;
            }
            var$1 = var$2.$recievedPacketBuffer;
            $ptr = 2;
        case 2:
            jl_Object_monitorEnter(var$1);
            if ($rt_suspending()) {
                break main;
            }
            try {
                $ptr = 3;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$3 = $$je;

            }
            jl_Object_monitorExit(var$1);
            $rt_throw(var$3);
        case 3:
            a: {
                try {
                    ju_AbstractList_add(var$1, var$3);
                    if ($rt_suspending()) {
                        break main;
                    }
                    if (!var$5)
                        var$2.$availableBinaryFrames = var$2.$availableBinaryFrames + 1 | 0;
                    else
                        var$2.$availableStringFrames = var$2.$availableStringFrames + 1 | 0;
                    jl_Object_monitorExit(var$1);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    var$3 = $$je;
                    break a;

                }
                return;
            }
            jl_Object_monitorExit(var$1);
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nleit_TeaVMWebSocketClient$4() {
        jl_Object.call(this);
        this.$this$046 = null;
    }
    function nleit_TeaVMWebSocketClient$4_handleEvent$exported$0(var$0, var$1) {
        var$1 = var$0.$this$046;
        if (var$1.$sockIsConnecting) {
            var$1.$sockIsFailed = 1;
            var$1.$sockIsConnecting = 0;
        }
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$7() {
        var a = this; jl_Object.call(a);
        a.$val$cb7 = null;
        a.$val$r = null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$7_handleEvent$exported$0(var$0) {
        otpp_AsyncCallbackWrapper_complete(var$0.$val$cb7, otji_JSWrapper_wrap(nleit_IndexedDBFilesystem$AsyncHandlers_readRow$js_body$_5(var$0.$val$r.result)));
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$8() {
        jl_Object.call(this);
        this.$val$cb8 = null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$8_handleEvent$exported$0(var$0) {
        otpp_AsyncCallbackWrapper_complete(var$0.$val$cb8, null);
    }
    function cjj_Mapping0$LookMapping0() {
        var a = this; jl_Object.call(a);
        a.$mode8 = null;
        a.$map0 = null;
        a.$time_look = null;
        a.$floor_look = null;
        a.$residue_look = null;
        a.$time_func = null;
        a.$floor_func = null;
        a.$residue_func = null;
        a.$ch5 = 0;
        a.$this$047 = null;
    }
    function cjj_Mapping0$InfoMapping0() {
        var a = this; jl_Object.call(a);
        a.$submaps = 0;
        a.$chmuxlist = null;
        a.$timesubmap = null;
        a.$floorsubmap = null;
        a.$residuesubmap = null;
        a.$psysubmap = null;
        a.$coupling_steps = 0;
        a.$coupling_mag = null;
        a.$coupling_ang = null;
        a.$this$048 = null;
    }
    function cjj_Mapping0$InfoMapping0_free($this) {
        $this.$chmuxlist = null;
        $this.$timesubmap = null;
        $this.$floorsubmap = null;
        $this.$residuesubmap = null;
        $this.$psysubmap = null;
        $this.$coupling_mag = null;
        $this.$coupling_ang = null;
    }
    function cjj_Mdct() {
        var a = this; jl_Object.call(a);
        a.$n2 = 0;
        a.$log2n = 0;
        a.$trig = null;
        a.$bitrev = null;
        a.$scale0 = 0.0;
        a.$_x = null;
        a.$_w = null;
    }
    function cjj_Mdct__init_0() {
        var var_0 = new cjj_Mdct();
        cjj_Mdct__init_(var_0);
        return var_0;
    }
    function cjj_Mdct__init_($this) {
        $this.$_x = $rt_createFloatArray(1024);
        $this.$_w = $rt_createFloatArray(1024);
    }
    function cjj_Mdct_init($this, $n) {
        var var$2, var$3, $CE, $BE, $BO, $CO, $i, var$9, var$10, var$11, $i_0, $mask, var$14, $msb, $AE, $AO, $acc, $j;
        var$2 = $n / 4 | 0;
        $this.$bitrev = $rt_createIntArray(var$2);
        $this.$trig = $rt_createFloatArray($n + var$2 | 0);
        var$3 = $n;
        $this.$log2n = jl_Math_rint(jl_Math_log(var$3) / jl_Math_log(2.0)) | 0;
        $this.$n2 = $n;
        $CE = $n / 2 | 0;
        $BE = 0 + $CE | 0;
        $BO = $BE + 1 | 0;
        $CE = $BE + $CE | 0;
        $CO = $CE + 1 | 0;
        $i = 0;
        var$9 = 3.141592653589793 / var$3;
        var$10 = 3.141592653589793 / (2 * $n | 0);
        while ($i < var$2) {
            var$11 = $this.$trig.data;
            $i_0 = $i * 2 | 0;
            $mask = 0 + $i_0 | 0;
            var$14 = var$9 * (4 * $i | 0);
            var$11[$mask] = jl_Math_cos(var$14);
            var$11 = $this.$trig.data;
            $mask = 1 + $i_0 | 0;
            var$11[$mask] =  -jl_Math_sin(var$14);
            var$11 = $this.$trig.data;
            $msb = $BE + $i_0 | 0;
            var$14 = var$10 * $mask;
            var$11[$msb] = jl_Math_cos(var$14);
            $this.$trig.data[$BO + $i_0 | 0] = jl_Math_sin(var$14);
            $i = $i + 1 | 0;
        }
        $i_0 = 0;
        var$2 = $n / 8 | 0;
        while ($i_0 < var$2) {
            var$11 = $this.$trig.data;
            $AE = $i_0 * 2 | 0;
            $AO = $CE + $AE | 0;
            var$14 = var$9 * ((4 * $i_0 | 0) + 2 | 0);
            var$11[$AO] = jl_Math_cos(var$14);
            $this.$trig.data[$CO + $AE | 0] =  -jl_Math_sin(var$14);
            $i_0 = $i_0 + 1 | 0;
        }
        $AO = $this.$log2n;
        $mask = (1 << ($AO - 1 | 0)) - 1 | 0;
        $msb = 1 << ($AO - 2 | 0);
        $i_0 = 0;
        while ($i_0 < var$2) {
            $acc = 0;
            $j = 0;
            while (true) {
                $AE = $msb >>> $j | 0;
                if (!$AE)
                    break;
                if ($AE & $i_0)
                    $acc = $acc | 1 << $j;
                $j = $j + 1 | 0;
            }
            var$11 = $this.$bitrev.data;
            $AE = $i_0 * 2 | 0;
            var$11[$AE] = ($acc ^ (-1)) & $mask;
            var$11[$AE + 1 | 0] = $acc;
            $i_0 = $i_0 + 1 | 0;
        }
        $this.$scale0 = 4.0 / $n;
    }
    function cjj_Mdct_backward($this, $in, $out) {
        var $n8, $xx, var$5, $x, $w, $n2, $n4, $inO, $xO, $i, $o4, $xxx, var$15, $o2, $temp1, var$18, $o3, var$20, $temp2;
        jl_Object_monitorEnterSync($this);
        try {
            $n8 = $this.$_x.data.length;
            $xx = $this.$n2;
            var$5 = $xx / 2 | 0;
            if ($n8 < var$5)
                $this.$_x = $rt_createFloatArray(var$5);
            if ($this.$_w.data.length < var$5)
                $this.$_w = $rt_createFloatArray(var$5);
            $x = $this.$_x;
            $w = $this.$_w;
            $n2 = $xx >>> 1 | 0;
            $n4 = $xx >>> 2 | 0;
            $n8 = $xx >>> 3 | 0;
            $inO = 1;
            $xO = 0;
            $i = 0;
            $o4 = $n2;
            while ($i < $n8) {
                $xxx = $in.data;
                var$15 = $x.data;
                $o4 = $o4 + (-2) | 0;
                var$5 = $xO + 1 | 0;
                $o2 = $inO + 2 | 0;
                $temp1 =  -$xxx[$o2];
                var$18 = $this.$trig.data;
                $o3 = $o4 + 1 | 0;
                var$15[$xO] = $temp1 * var$18[$o3] - $xxx[$inO] * var$18[$o4];
                $xO = var$5 + 1 | 0;
                var$15[var$5] = $xxx[$inO] * var$18[$o3] - $xxx[$o2] * var$18[$o4];
                $inO = $inO + 4 | 0;
                $i = $i + 1 | 0;
            }
            $o2 = $n2 - 4 | 0;
            $o3 = 0;
            while ($o3 < $n8) {
                $xxx = $in.data;
                var$15 = $x.data;
                $o4 = $o4 + (-2) | 0;
                var$5 = $xO + 1 | 0;
                $temp1 = $xxx[$o2];
                var$18 = $this.$trig.data;
                $inO = $o4 + 1 | 0;
                $temp1 = $temp1 * var$18[$inO];
                $i = $o2 + 2 | 0;
                var$15[$xO] = $temp1 + $xxx[$i] * var$18[$o4];
                $xO = var$5 + 1 | 0;
                var$15[var$5] = $xxx[$o2] * var$18[$o4] - $xxx[$i] * var$18[$inO];
                $o2 = $o2 + (-4) | 0;
                $o3 = $o3 + 1 | 0;
            }
            $xxx = cjj_Mdct_mdct_kernel($this, $x, $w, $xx, $n2, $n4, $n8);
            $xx = 0;
            $o2 = $n4 - 1 | 0;
            $o3 = $n4 + $n2 | 0;
            $o4 = $o3 - 1 | 0;
            $i = 0;
            $n8 = $n4;
            while ($i < $n4) {
                $x = $xxx.data;
                $in = $out.data;
                $temp1 = $x[$xx];
                $w = $this.$trig.data;
                $xO = $n2 + 1 | 0;
                var$20 = $temp1 * $w[$xO];
                var$5 = $xx + 1 | 0;
                $temp1 = var$20 - $x[var$5] * $w[$n2];
                $temp2 =  -($x[$xx] * $w[$n2] + $x[var$5] * $w[$xO]);
                $in[$n8] =  -$temp1;
                $in[$o2] = $temp1;
                $in[$o3] = $temp2;
                $in[$o4] = $temp2;
                $n8 = $n8 + 1 | 0;
                $o2 = $o2 + (-1) | 0;
                $o3 = $o3 + 1 | 0;
                $o4 = $o4 + (-1) | 0;
                $xx = $xx + 2 | 0;
                $n2 = $n2 + 2 | 0;
                $i = $i + 1 | 0;
            }
        } finally {
            jl_Object_monitorExitSync($this);
        }
    }
    function cjj_Mdct_mdct_kernel($this, $x, $w, $n, $n2, $n4, $n8) {
        var $xB, $i, $i_0, $r, var$11, var$12, $x0, $bit, $s, $wB, $x1, $x1_0, var$19, $wbase, $k0, $k1, $x2, $t2, $AEv, $AOv, $wA, $t1, $wC, $wD, $wACE, $wBCE, $wACO, $wBCO;
        $xB = 0;
        $i = 0;
        $i_0 = $n4;
        $r = $n2;
        while ($i < $n4) {
            var$11 = $x.data;
            var$12 = $w.data;
            $x0 = var$11[$i_0] - var$11[$xB];
            $bit = $n4 + $i | 0;
            $s = $i_0 + 1 | 0;
            $wB = var$11[$i_0];
            $x1 = $xB + 1 | 0;
            var$12[$bit] = $wB + var$11[$xB];
            $x1_0 = var$11[$s] - var$11[$x1];
            $r = $r + (-4) | 0;
            $bit = $i + 1 | 0;
            var$19 = $this.$trig.data;
            $wB = $x0 * var$19[$r];
            $i_0 = $r + 1 | 0;
            var$12[$i] = $wB + $x1_0 * var$19[$i_0];
            var$12[$bit] = $x1_0 * var$19[$r] - $x0 * var$19[$i_0];
            $i = $n4 + $bit | 0;
            $i_0 = $s + 1 | 0;
            $wB = var$11[$s];
            $xB = $x1 + 1 | 0;
            var$12[$i] = $wB + var$11[$x1];
            $i = $bit + 1 | 0;
        }
        $i_0 = 0;
        $wbase = $n2 - 2 | 0;
        while ($i_0 < ($this.$log2n - 3 | 0)) {
            $k0 = $n >>> ($i_0 + 2 | 0) | 0;
            $k1 = 1 << ($i_0 + 3 | 0);
            $x1 = 0;
            $r = 0;
            $x2 = $wbase;
            while ($r < ($k0 >>> 2 | 0)) {
                $t2 = $x2 - ($k0 >> 1) | 0;
                var$11 = $this.$trig.data;
                $AEv = var$11[$x1];
                $AOv = var$11[$x1 + 1 | 0];
                $i = $x2 + (-2) | 0;
                $bit = $k0 + 1 | 0;
                $s = 0;
                while ($s < 2 << $i_0) {
                    var$11 = $w.data;
                    var$12 = $x.data;
                    $wB = var$11[$x2] - var$11[$t2];
                    var$12[$x2] = var$11[$x2] + var$11[$t2];
                    $n4 = $x2 + 1 | 0;
                    $wA = var$11[$n4];
                    $xB = $t2 + 1 | 0;
                    $wA = $wA - var$11[$xB];
                    var$12[$n4] = var$11[$n4] + var$11[$xB];
                    var$12[$xB] = $wA * $AEv - $wB * $AOv;
                    var$12[$xB - 1 | 0] = $wB * $AEv + $wA * $AOv;
                    $x2 = $n4 - $bit | 0;
                    $t2 = $xB - $bit | 0;
                    $s = $s + 1 | 0;
                }
                $k0 = $bit + (-1) | 0;
                $x1 = $x1 + $k1 | 0;
                $r = $r + 1 | 0;
                $x2 = $i;
            }
            $i_0 = $i_0 + 1 | 0;
            var$11 = $w;
            $w = $x;
            $x = var$11;
        }
        $bit = 0;
        $x1 = 0;
        $x2 = $n2 - 1 | 0;
        $i_0 = 0;
        while ($i_0 < $n8) {
            var$12 = $w.data;
            var$11 = $x.data;
            var$19 = $this.$bitrev.data;
            $n2 = $bit + 1 | 0;
            $t1 = var$19[$bit];
            $bit = $n2 + 1 | 0;
            $t2 = var$19[$n2];
            $wB = var$12[$t1];
            $n4 = $t2 + 1 | 0;
            $wA = $wB - var$12[$n4];
            $n2 = $t1 - 1 | 0;
            $wB = var$12[$n2] + var$12[$t2];
            $wC = var$12[$t1] + var$12[$n4];
            $wD = var$12[$n2] - var$12[$t2];
            var$12 = $this.$trig.data;
            $wACE = $wA * var$12[$n];
            $n2 = $n + 1 | 0;
            $wBCE = $wB * var$12[$n];
            $wACO = $wA * var$12[$n2];
            $n = $n2 + 1 | 0;
            $wBCO = $wB * var$12[$n2];
            $n2 = $x1 + 1 | 0;
            var$11[$x1] = ($wC + $wACO + $wBCE) * 0.5;
            $n4 = $x2 + (-1) | 0;
            var$11[$x2] = ( -$wD + $wBCO - $wACE) * 0.5;
            $x1 = $n2 + 1 | 0;
            var$11[$n2] = ($wD + $wBCO - $wACE) * 0.5;
            $x2 = $n4 + (-1) | 0;
            var$11[$n4] = ($wC - $wACO - $wBCE) * 0.5;
            $i_0 = $i_0 + 1 | 0;
        }
        return $x;
    }
    var jn_BufferOverflowException = $rt_classWithoutFields(jl_RuntimeException);
    function jn_BufferOverflowException__init_0() {
        var var_0 = new jn_BufferOverflowException();
        jn_BufferOverflowException__init_(var_0);
        return var_0;
    }
    function jn_BufferOverflowException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function nms_SaveFormatComparator() {
        var a = this; jl_Object.call(a);
        a.$fileName0 = null;
        a.$displayName = null;
        a.$field_22169_c = Long_ZERO;
        a.$field_22168_d = Long_ZERO;
        a.$field_22167_e = 0;
    }
    function nms_SaveFormatComparator__init_0(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nms_SaveFormatComparator();
        nms_SaveFormatComparator__init_(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nms_SaveFormatComparator__init_($this, $var1, $var2, $var3, $var5, $var7) {
        $this.$fileName0 = $var1;
        $this.$displayName = $var2;
        $this.$field_22169_c = $var3;
        $this.$field_22168_d = $var5;
        $this.$field_22167_e = $var7;
    }
    function nms_SaveFormatComparator_compareTo($this, $var1) {
        var var$2;
        $var1 = $var1;
        var$2 = Long_compare($this.$field_22169_c, $var1.$field_22169_c);
        return var$2 < 0 ? 1 : var$2 > 0 ? (-1) : jl_String_compareTo($this.$fileName0, $var1.$fileName0);
    }
    function nms_PlayerControllerSP() {
        var a = this; nms_PlayerController.call(a);
        a.$field_1074_c = 0;
        a.$field_1073_d = 0;
        a.$field_1072_e = 0;
        a.$curBlockDamage = 0.0;
        a.$prevBlockDamage = 0.0;
        a.$field_1069_h = 0.0;
        a.$field_1068_i = 0;
    }
    function nms_PlayerControllerSP__init_0(var_0) {
        var var_1 = new nms_PlayerControllerSP();
        nms_PlayerControllerSP__init_(var_1, var_0);
        return var_1;
    }
    function nms_PlayerControllerSP__init_($this, $var1) {
        nms_PlayerController__init_($this, $var1);
        $this.$field_1074_c = (-1);
        $this.$field_1073_d = (-1);
        $this.$field_1072_e = (-1);
        $this.$curBlockDamage = 0.0;
        $this.$prevBlockDamage = 0.0;
        $this.$field_1069_h = 0.0;
        $this.$field_1068_i = 0;
    }
    function nms_PlayerControllerSP_flipPlayer($this, $var1) {
        $var1.$rotationYaw = (-180.0);
    }
    function nms_PlayerControllerSP_sendBlockRemoved($this, $var1, $var2, $var3, $var4) {
        var $var8, $var5, $var6, $var7, var$9, var$10, $var9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var8 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var8 = $this.$mc7.$theWorld;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var8, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var8 = $this.$mc7.$theWorld;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMetadata($var8, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = nms_PlayerController_sendBlockRemoved($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var8 = nms_EntityPlayer_getCurrentEquippedItem($this.$mc7.$thePlayer);
            var$9 = $this.$mc7.$thePlayer;
            $ptr = 4;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$10 = nms_Block_blocksList.data[$var5];
            $ptr = 5;
        case 5:
            $tmp = nms_EntityPlayer_canHarvestBlock(var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var8 !== null) {
                var$9 = $this.$mc7.$thePlayer;
                $ptr = 6;
                continue main;
            }
            if ($var7 && $var9) {
                $var8 = nms_Block_blocksList.data[$var5];
                var$9 = $this.$mc7;
                var$10 = var$9.$theWorld;
                var$9 = var$9.$thePlayer;
                $ptr = 7;
                continue main;
            }
            return $var7;
        case 6:
            nms_ItemStack_func_25191_a($var8, $var5, $var1, $var2, $var3, var$9);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var8.$stackSize)
                nms_EntityPlayer_destroyCurrentEquippedItem($this.$mc7.$thePlayer);
            if ($var7 && $var9) {
                $var8 = nms_Block_blocksList.data[$var5];
                var$9 = $this.$mc7;
                var$10 = var$9.$theWorld;
                var$9 = var$9.$thePlayer;
                $ptr = 7;
                continue main;
            }
            return $var7;
        case 7:
            $var8.$harvestBlock(var$10, var$9, $var1, $var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return $var7;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var8, $var5, $var6, $var7, var$9, var$10, $var9, $ptr);
    }
    function nms_PlayerControllerSP_clickBlock($this, $var1, $var2, $var3, $var4) {
        var var$5, $var5, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $this.$mc7.$theWorld;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId(var$5, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 > 0 && $this.$curBlockDamage === 0.0) {
                $ptr = 4;
                continue main;
            }
            if ($var5 <= 0)
                return;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = nms_Block_blocksList.data[$var5];
            var$7 = $this.$mc7.$thePlayer;
            $ptr = 3;
        case 3:
            $tmp = nms_Block_blockStrength(var$5, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8 < 1.0)
                return;
            $ptr = 6;
            continue main;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = nms_Block_blocksList.data[$var5];
            var$7 = $this.$mc7;
            var$9 = var$7.$theWorld;
            var$7 = var$7.$thePlayer;
            $ptr = 5;
        case 5:
            var$5.$onBlockClicked(var$9, $var1, $var2, $var3, var$7);
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 <= 0)
                return;
            $ptr = 2;
            continue main;
        case 6:
            nms_PlayerControllerSP_sendBlockRemoved($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $var5, var$7, var$8, var$9, $ptr);
    }
    function nms_PlayerControllerSP_func_6468_a($this) {
        $this.$curBlockDamage = 0.0;
        $this.$field_1068_i = 0;
    }
    function nms_PlayerControllerSP_sendBlockRemoving($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = $this.$field_1068_i;
            if ($var5 > 0)
                $this.$field_1068_i = $var5 - 1 | 0;
            else {
                if ($var1 == $this.$field_1074_c && $var2 == $this.$field_1073_d && $var3 == $this.$field_1072_e) {
                    $var6 = $this.$mc7.$theWorld;
                    $ptr = 1;
                    continue main;
                }
                $this.$curBlockDamage = 0.0;
                $this.$prevBlockDamage = 0.0;
                $this.$field_1069_h = 0.0;
                $this.$field_1074_c = $var1;
                $this.$field_1073_d = $var2;
                $this.$field_1072_e = $var3;
            }
            return;
        case 1:
            $tmp = nms_World_getBlockId($var6, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5)
                return;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var6 = nms_Block_blocksList.data[$var5];
            var$7 = $this.$curBlockDamage;
            var$8 = $this.$mc7.$thePlayer;
            $ptr = 3;
        case 3:
            $tmp = nms_Block_blockStrength($var6, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            $this.$curBlockDamage = var$7 + var$9;
            if ($this.$field_1069_h % 4.0 === 0.0) {
                var$8 = $this.$mc7.$sndManager;
                var$10 = $var6.$stepSound;
                $ptr = 4;
                continue main;
            }
            $this.$field_1069_h = $this.$field_1069_h + 1.0;
            if ($this.$curBlockDamage < 1.0)
                return;
            $ptr = 6;
            continue main;
        case 4:
            $tmp = nms_StepSound_func_1145_d(var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            var$7 = $var1 + 0.5;
            var$9 = $var2 + 0.5;
            var$11 = $var3 + 0.5;
            $var6 = $var6.$stepSound;
            var$12 = ($var6.$field_1677_b + 1.0) / 8.0;
            var$13 = $var6.$field_1679_c * 0.5;
            $ptr = 5;
        case 5:
            nms_SoundManager_playSound(var$8, var$10, var$7, var$9, var$11, var$12, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_1069_h = $this.$field_1069_h + 1.0;
            if ($this.$curBlockDamage < 1.0)
                return;
            $ptr = 6;
        case 6:
            nms_PlayerControllerSP_sendBlockRemoved($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$curBlockDamage = 0.0;
            $this.$prevBlockDamage = 0.0;
            $this.$field_1069_h = 0.0;
            $this.$field_1068_i = 5;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
    }
    function nms_PlayerControllerSP_setPartialTime($this, $var1) {
        var var$2, var$3, $var2;
        var$2 = $this.$curBlockDamage;
        if (var$2 <= 0.0) {
            var$3 = $this.$mc7;
            var$3.$ingameGUI.$field_6446_b = 0.0;
            var$3.$renderGlobal.$field_1450_i = 0.0;
        } else {
            $var2 = $this.$prevBlockDamage;
            $var2 = $var2 + (var$2 - $var2) * $var1;
            var$3 = $this.$mc7;
            var$3.$ingameGUI.$field_6446_b = $var2;
            var$3.$renderGlobal.$field_1450_i = $var2;
        }
    }
    function nms_PlayerControllerSP_getBlockReachDistance($this) {
        return 4.0;
    }
    function nms_PlayerControllerSP_func_717_a($this, $var1) {}
    function nms_PlayerControllerSP_updateController($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$prevBlockDamage = $this.$curBlockDamage;
            var$1 = $this.$mc7.$sndManager;
            $ptr = 1;
        case 1:
            nms_SoundManager_playRandomMusicIfReady(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    var cjj_Util = $rt_classWithoutFields();
    function cjj_Util__init_0() {
        var var_0 = new cjj_Util();
        cjj_Util__init_(var_0);
        return var_0;
    }
    function cjj_Util__init_($this) {}
    function cjj_Util_ilog($v) {
        var $ret;
        $ret = 0;
        while ($v) {
            $ret = $ret + 1 | 0;
            $v = $v >>> 1 | 0;
        }
        return $ret;
    }
    function cjj_Util_ilog2($v) {
        var $ret;
        $ret = 0;
        while ($v > 1) {
            $ret = $ret + 1 | 0;
            $v = $v >>> 1 | 0;
        }
        return $ret;
    }
    function cjj_CodeBook() {
        var a = this; jl_Object.call(a);
        a.$dim0 = 0;
        a.$entries0 = 0;
        a.$c0 = null;
        a.$valuelist = null;
        a.$decode_tree = null;
        a.$t = null;
    }
    function cjj_CodeBook__init_0() {
        var var_0 = new cjj_CodeBook();
        cjj_CodeBook__init_(var_0);
        return var_0;
    }
    function cjj_CodeBook__init_($this) {
        $this.$c0 = new cjj_StaticCodeBook;
        $this.$t = $rt_createIntArray(15);
    }
    function cjj_CodeBook_decodevs_add($this, $a, $offset, $b, $n) {
        var $step, $i, $o, $j, var$9, $entry;
        jl_Object_monitorEnterSync($this);
        try {
            $step = $n / $this.$dim0 | 0;
            if ($this.$t.data.length < $step)
                $this.$t = $rt_createIntArray($step);
            $i = 0;
            while (true) {
                if ($i >= $step) {
                    $n = 0;
                    $o = 0;
                    while ($n < $this.$dim0) {
                        $j = 0;
                        while ($j < $step) {
                            var$9 = $a.data;
                            $i = ($offset + $o | 0) + $j | 0;
                            var$9[$i] = var$9[$i] + $this.$valuelist.data[$this.$t.data[$j] + $n | 0];
                            $j = $j + 1 | 0;
                        }
                        $n = $n + 1 | 0;
                        $o = $o + $step | 0;
                    }
                    return 0;
                }
                $entry = cjj_CodeBook_decode($this, $b);
                if ($entry == (-1))
                    break;
                $this.$t.data[$i] = $rt_imul($entry, $this.$dim0);
                $i = $i + 1 | 0;
            }
            return (-1);
        } finally {
            jl_Object_monitorExitSync($this);
        }
    }
    function cjj_CodeBook_decodev_add($this, $a, $offset, $b, $n) {
        var $i, $entry, $j, $t, $j_0, var$10, var$11, var$12, $j_1, $t_0, var$15;
        a: {
            if ($this.$dim0 > 8) {
                $i = 0;
                while (true) {
                    if ($i >= $n)
                        break a;
                    $entry = cjj_CodeBook_decode($this, $b);
                    if ($entry == (-1))
                        break;
                    $j = $this.$dim0;
                    $t = $rt_imul($entry, $j);
                    $j_0 = 0;
                    while ($j_0 < $j) {
                        var$10 = $a.data;
                        $entry = $i + 1 | 0;
                        $i = $offset + $i | 0;
                        var$11 = var$10[$i];
                        var$12 = $this.$valuelist.data;
                        $j_1 = $j_0 + 1 | 0;
                        var$10[$i] = var$11 + var$12[$t + $j_0 | 0];
                        $i = $entry;
                        $j_0 = $j_1;
                    }
                }
                return (-1);
            }
            $i = 0;
            while (true) {
                if ($i >= $n)
                    break a;
                $entry = cjj_CodeBook_decode($this, $b);
                if ($entry == (-1))
                    return (-1);
                b: {
                    c: {
                        d: {
                            e: {
                                f: {
                                    g: {
                                        h: {
                                            i: {
                                                $j_1 = $this.$dim0;
                                                $t_0 = $rt_imul($entry, $j_1);
                                                $j = 0;
                                                switch ($j_1) {
                                                    case 8:
                                                        var$12 = $a.data;
                                                        $t = $i + 1 | 0;
                                                        $j_1 = $offset + $i | 0;
                                                        var$15 = var$12[$j_1];
                                                        var$10 = $this.$valuelist.data;
                                                        $j_0 = 1;
                                                        var$12[$j_1] = var$15 + var$10[$t_0 + $j | 0];
                                                        break i;
                                                    case 0:
                                                        break;
                                                    case 1:
                                                        $t = $i;
                                                        break c;
                                                    case 2:
                                                        $j_1 = $j;
                                                        break d;
                                                    case 3:
                                                        $j_1 = $i;
                                                        break e;
                                                    case 4:
                                                        $t = $j;
                                                        break f;
                                                    case 5:
                                                        $j_1 = $i;
                                                        break g;
                                                    case 6:
                                                        $t = $j;
                                                        break h;
                                                    case 7:
                                                        $t = $i;
                                                        $j_0 = $j;
                                                        break i;
                                                    default:
                                                }
                                                break b;
                                            }
                                            var$12 = $a.data;
                                            $i = $t + 1 | 0;
                                            $j_1 = $offset + $t | 0;
                                            var$15 = var$12[$j_1];
                                            var$10 = $this.$valuelist.data;
                                            $t = $j_0 + 1 | 0;
                                            var$12[$j_1] = var$15 + var$10[$t_0 + $j_0 | 0];
                                        }
                                        var$12 = $a.data;
                                        $j_1 = $i + 1 | 0;
                                        $j_0 = $offset + $i | 0;
                                        var$15 = var$12[$j_0];
                                        var$10 = $this.$valuelist.data;
                                        $j = $t + 1 | 0;
                                        var$12[$j_0] = var$15 + var$10[$t_0 + $t | 0];
                                    }
                                    var$12 = $a.data;
                                    $i = $j_1 + 1 | 0;
                                    $j_1 = $offset + $j_1 | 0;
                                    var$15 = var$12[$j_1];
                                    var$10 = $this.$valuelist.data;
                                    $t = $j + 1 | 0;
                                    var$12[$j_1] = var$15 + var$10[$t_0 + $j | 0];
                                }
                                var$12 = $a.data;
                                $j_1 = $i + 1 | 0;
                                $j_0 = $offset + $i | 0;
                                var$15 = var$12[$j_0];
                                var$10 = $this.$valuelist.data;
                                $j = $t + 1 | 0;
                                var$12[$j_0] = var$15 + var$10[$t_0 + $t | 0];
                            }
                            var$12 = $a.data;
                            $i = $j_1 + 1 | 0;
                            $t = $offset + $j_1 | 0;
                            var$15 = var$12[$t];
                            var$10 = $this.$valuelist.data;
                            $j_1 = $j + 1 | 0;
                            var$12[$t] = var$15 + var$10[$t_0 + $j | 0];
                        }
                        var$12 = $a.data;
                        $t = $i + 1 | 0;
                        $j_0 = $offset + $i | 0;
                        var$15 = var$12[$j_0];
                        var$10 = $this.$valuelist.data;
                        $j = $j_1 + 1 | 0;
                        var$12[$j_0] = var$15 + var$10[$t_0 + $j_1 | 0];
                    }
                    var$12 = $a.data;
                    $i = $t + 1 | 0;
                    $j_1 = $offset + $t | 0;
                    var$12[$j_1] = var$12[$j_1] + $this.$valuelist.data[$t_0 + $j | 0];
                }
            }
        }
        return 0;
    }
    function cjj_CodeBook_decode($this, $b) {
        var $ptr_0, $t, $lok, var$5, var$6, var$7, var$8, var$9;
        $ptr_0 = 0;
        $t = $this.$decode_tree;
        $lok = cjj_Buffer_look($b, $t.$tabn);
        if ($lok >= 0) {
            $ptr_0 = $t.$tab.data[$lok];
            var$5 = $t.$tabl.data[$lok] + $b.$endbit | 0;
            $lok = $b.$ptr7;
            var$6 = var$5 / 8 | 0;
            $b.$ptr7 = $lok + var$6 | 0;
            $b.$endbyte = $b.$endbyte + var$6 | 0;
            $b.$endbit = var$5 & 7;
            if ($ptr_0 <= 0)
                return  -$ptr_0 | 0;
        }
        a: {
            while (true) {
                var$6 = $b.$endbyte;
                if (var$6 >= $b.$storage0) {
                    var$7 = (-1);
                    $lok = $b.$endbit + 1 | 0;
                    $b.$endbit = $lok;
                    if ($lok > 7) {
                        $b.$endbit = 0;
                        $b.$ptr7 = $b.$ptr7 + 1 | 0;
                        $b.$endbyte = var$6 + 1 | 0;
                    }
                } else {
                    var$8 = $b.$buffer10.data;
                    var$5 = $b.$ptr7;
                    $lok = var$8[var$5];
                    var$9 = $b.$endbit;
                    var$7 = $lok >> var$9 & 1;
                    $lok = var$9 + 1 | 0;
                    $b.$endbit = $lok;
                    if ($lok > 7) {
                        $b.$endbit = 0;
                        $b.$ptr7 = var$5 + 1 | 0;
                        $b.$endbyte = var$6 + 1 | 0;
                    }
                }
                b: {
                    switch (var$7) {
                        case -1:
                            break a;
                        case 0:
                            break;
                        case 1:
                            $ptr_0 = $t.$ptr10.data[$ptr_0];
                            break b;
                        default:
                            break a;
                    }
                    $ptr_0 = $t.$ptr00.data[$ptr_0];
                }
                if ($ptr_0 <= 0)
                    break;
            }
            return  -$ptr_0 | 0;
        }
        return (-1);
    }
    function cjj_CodeBook_init_decode($this, $s) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13;
        $this.$c0 = $s;
        $this.$entries0 = $s.$entries;
        $this.$dim0 = $s.$dim;
        var$2 = $s.$maptype;
        if (var$2 != 1 && var$2 != 2)
            var$3 = null;
        else
            a: {
                b: {
                    var$4 = cjj_StaticCodeBook_float32_unpack($s.$q_min);
                    var$5 = cjj_StaticCodeBook_float32_unpack($s.$q_delta);
                    var$3 = $rt_createFloatArray($rt_imul($s.$entries, $s.$dim));
                    switch ($s.$maptype) {
                        case 1:
                            break b;
                        case 2:
                            break;
                        default:
                            break a;
                    }
                    var$6 = var$3.data;
                    var$7 = 0;
                    while (true) {
                        if (var$7 >= $s.$entries)
                            break a;
                        var$8 = 0.0;
                        var$9 = 0;
                        while (true) {
                            var$2 = $s.$dim;
                            if (var$9 >= var$2)
                                break;
                            var$10 = jl_Math_abs0($s.$quantlist.data[$rt_imul(var$7, var$2) + var$9 | 0]) * var$5 + var$4 + var$8;
                            if ($s.$q_sequencep)
                                var$8 = var$10;
                            var$6[$rt_imul(var$7, $s.$dim) + var$9 | 0] = var$10;
                            var$9 = var$9 + 1 | 0;
                        }
                        var$7 = var$7 + 1 | 0;
                    }
                }
                var$11 = var$3.data;
                var$2 = cjj_StaticCodeBook_maptype1_quantvals($s);
                var$9 = 0;
                while (var$9 < $s.$entries) {
                    var$10 = 0.0;
                    var$12 = 1;
                    var$13 = 0;
                    while (var$13 < $s.$dim) {
                        var$7 = (var$9 / var$12 | 0) % var$2 | 0;
                        var$8 = jl_Math_abs0($s.$quantlist.data[var$7]) * var$5 + var$4 + var$10;
                        if ($s.$q_sequencep)
                            var$10 = var$8;
                        var$11[$rt_imul(var$9, $s.$dim) + var$13 | 0] = var$8;
                        var$12 = $rt_imul(var$12, var$2);
                        var$13 = var$13 + 1 | 0;
                    }
                    var$9 = var$9 + 1 | 0;
                }
            }
        $this.$valuelist = var$3;
        $s = cjj_CodeBook_make_decode_tree($this);
        $this.$decode_tree = $s;
        if ($s !== null)
            return 0;
        return (-1);
    }
    function cjj_CodeBook_make_decode_tree($this) {
        var $top, $t, var$3, $j, var$5, var$6, var$7, var$8, $p, var$10, $codelist, var$12, $n, $bit, $i, var$16, var$17, $ptr_0, var$19;
        $top = 0;
        $t = new cjj_CodeBook$DecodeAux;
        $t.$this$055 = $this;
        var$3 = $this.$entries0;
        $j = var$3 * 2 | 0;
        var$5 = $rt_createIntArray($j);
        $t.$ptr00 = var$5;
        var$6 = $rt_createIntArray($j);
        $t.$ptr10 = var$6;
        var$7 = $this.$c0;
        var$8 = var$7.$lengthlist;
        $p = var$7.$entries;
        var$10 = $rt_createIntArray(33).data;
        $codelist = $rt_createIntArray($p);
        var$12 = $codelist.data;
        $n = 0;
        a: {
            b: while (true) {
                if ($n >= $p) {
                    $bit = 0;
                    while ($bit < $p) {
                        $n = 0;
                        $i = 0;
                        while ($i < var$8.data[$bit]) {
                            $n = $n << 1 | (var$12[$bit] >>> $i | 0) & 1;
                            $i = $i + 1 | 0;
                        }
                        var$12[$bit] = $n;
                        $bit = $bit + 1 | 0;
                    }
                    break a;
                }
                c: {
                    $bit = var$8.data[$n];
                    if ($bit > 0) {
                        $i = var$10[$bit];
                        if ($bit < 32 && ($i >>> $bit | 0))
                            break b;
                        var$12[$n] = $i;
                        var$16 = $bit;
                        d: {
                            while (true) {
                                if (var$16 <= 0)
                                    break d;
                                if (var$10[var$16] & 1)
                                    break;
                                var$10[var$16] = var$10[var$16] + 1 | 0;
                                var$16 = var$16 + (-1) | 0;
                            }
                            if (var$16 == 1)
                                var$10[1] = var$10[1] + 1 | 0;
                            else
                                var$10[var$16] = var$10[var$16 - 1 | 0] << 1;
                        }
                        var$17 = $bit + 1 | 0;
                        while (true) {
                            if (var$17 >= 33)
                                break c;
                            if ((var$10[var$17] >>> 1 | 0) != $i)
                                break c;
                            $i = var$10[var$17];
                            var$10[var$17] = var$10[var$17 - 1 | 0] << 1;
                            var$17 = var$17 + 1 | 0;
                        }
                    }
                }
                $n = $n + 1 | 0;
            }
            $codelist = null;
        }
        if ($codelist === null)
            return null;
        var$5 = var$5.data;
        var$10 = var$6.data;
        $t.$aux = $j;
        $i = 0;
        while ($i < var$3) {
            var$6 = var$8.data;
            if (var$6[$i] > 0) {
                $ptr_0 = 0;
                $j = 0;
                while ($j < (var$6[$i] - 1 | 0)) {
                    if (($codelist.data[$i] >>> $j | 0) & 1) {
                        if (!var$10[$ptr_0]) {
                            $top = $top + 1 | 0;
                            var$10[$ptr_0] = $top;
                        }
                        $ptr_0 = var$10[$ptr_0];
                    } else {
                        if (!var$5[$ptr_0]) {
                            $top = $top + 1 | 0;
                            var$5[$ptr_0] = $top;
                        }
                        $ptr_0 = var$5[$ptr_0];
                    }
                    $j = $j + 1 | 0;
                }
                if (($codelist.data[$i] >>> $j | 0) & 1)
                    var$10[$ptr_0] =  -$i | 0;
                else
                    var$5[$ptr_0] =  -$i | 0;
            }
            $i = $i + 1 | 0;
        }
        $top = cjj_Util_ilog(var$3) - 4 | 0;
        $t.$tabn = $top;
        if ($top < 5)
            $t.$tabn = 5;
        var$3 = $t.$tabn;
        $n = 1 << var$3;
        var$19 = $rt_createIntArray($n);
        $codelist = var$19.data;
        $t.$tab = var$19;
        var$19 = $rt_createIntArray($n);
        var$6 = var$19.data;
        $t.$tabl = var$19;
        $i = 0;
        while ($i < $n) {
            $p = 0;
            $top = 0;
            while ($top < var$3 && !($p <= 0 && $top)) {
                $p = !($i & 1 << $top) ? var$5[$p] : var$10[$p];
                $top = $top + 1 | 0;
            }
            $codelist[$i] = $p;
            var$6[$i] = $top;
            $i = $i + 1 | 0;
        }
        return $t;
    }
    function nms_WorldInfo() {
        var a = this; jl_Object.call(a);
        a.$randomSeed = Long_ZERO;
        a.$spawnX = 0;
        a.$spawnY = 0;
        a.$spawnZ = 0;
        a.$worldTime = Long_ZERO;
        a.$lastTimePlayed = Long_ZERO;
        a.$sizeOnDisk = Long_ZERO;
        a.$playerTag = null;
        a.$dimension0 = 0;
        a.$levelName0 = null;
        a.$saveVersion = 0;
    }
    function nms_WorldInfo__init_3(var_0) {
        var var_1 = new nms_WorldInfo();
        nms_WorldInfo__init_(var_1, var_0);
        return var_1;
    }
    function nms_WorldInfo__init_2(var_0, var_1) {
        var var_2 = new nms_WorldInfo();
        nms_WorldInfo__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function nms_WorldInfo__init_($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $rt_s(2168);
            $ptr = 1;
        case 1:
            $tmp = nms_NBTTagCompound_getLong($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$randomSeed = var$3;
            var$2 = $rt_s(1835);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getInteger($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $this.$spawnX = var$4;
            var$2 = $rt_s(1836);
            $ptr = 3;
        case 3:
            $tmp = nms_NBTTagCompound_getInteger($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $this.$spawnY = var$4;
            var$2 = $rt_s(1837);
            $ptr = 4;
        case 4:
            $tmp = nms_NBTTagCompound_getInteger($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $this.$spawnZ = var$4;
            var$2 = $rt_s(2169);
            $ptr = 5;
        case 5:
            $tmp = nms_NBTTagCompound_getLong($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$worldTime = var$3;
            var$2 = $rt_s(2170);
            $ptr = 6;
        case 6:
            $tmp = nms_NBTTagCompound_getLong($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$lastTimePlayed = var$3;
            var$2 = $rt_s(2171);
            $ptr = 7;
        case 7:
            $tmp = nms_NBTTagCompound_getLong($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$sizeOnDisk = var$3;
            var$2 = $rt_s(1683);
            $ptr = 8;
        case 8:
            $tmp = nms_NBTTagCompound_getString($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            $this.$levelName0 = var$2;
            var$2 = $rt_s(2172);
            $ptr = 9;
        case 9:
            $tmp = nms_NBTTagCompound_getInteger($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $this.$saveVersion = var$4;
            var$2 = $rt_s(2173);
            $ptr = 10;
        case 10:
            $tmp = nms_NBTTagCompound_hasKey($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (!var$4)
                return;
            var$2 = $rt_s(2173);
            $ptr = 11;
        case 11:
            $tmp = nms_NBTTagCompound_getCompoundTag($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $this.$playerTag = $var1;
            var$2 = $rt_s(1832);
            $ptr = 12;
        case 12:
            $tmp = nms_NBTTagCompound_getInteger($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            $this.$dimension0 = var$4;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_WorldInfo__init_0($this, $var1, $var3) {
        $this.$randomSeed = $var1;
        $this.$levelName0 = $var3;
    }
    function nms_WorldInfo_getNBTTagCompoundWithPlayer($this, $var1) {
        var $var2, $var3, $var4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = nms_NBTTagCompound__init_0();
            $var3 = null;
            $var4 = null;
            if ($var1.$size0 > 0)
                $var3 = ju_ArrayList_get($var1, 0);
            if ($var3 !== null) {
                $var4 = nms_NBTTagCompound__init_0();
                $ptr = 1;
                continue main;
            }
            $var1 = $rt_s(2168);
            var$5 = $this.$randomSeed;
            $ptr = 2;
            continue main;
        case 1:
            nms_Entity_writeToNBT($var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $rt_s(2168);
            var$5 = $this.$randomSeed;
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setLong($var2, $var1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $rt_s(1835);
            var$6 = $this.$spawnX;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setInteger($var2, $var1, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $rt_s(1836);
            var$6 = $this.$spawnY;
            $ptr = 4;
        case 4:
            nms_NBTTagCompound_setInteger($var2, $var1, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $rt_s(1837);
            var$6 = $this.$spawnZ;
            $ptr = 5;
        case 5:
            nms_NBTTagCompound_setInteger($var2, $var1, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $rt_s(2169);
            var$5 = $this.$worldTime;
            $ptr = 6;
        case 6:
            nms_NBTTagCompound_setLong($var2, $var1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $rt_s(2171);
            var$5 = $this.$sizeOnDisk;
            $ptr = 7;
        case 7:
            nms_NBTTagCompound_setLong($var2, $var1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $rt_s(2170);
            var$5 = jl_System_currentTimeMillis();
            $ptr = 8;
        case 8:
            nms_NBTTagCompound_setLong($var2, $var1, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $rt_s(1683);
            $var3 = $this.$levelName0;
            $ptr = 9;
        case 9:
            nms_NBTTagCompound_setString($var2, $var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $rt_s(2172);
            var$6 = $this.$saveVersion;
            $ptr = 10;
        case 10:
            nms_NBTTagCompound_setInteger($var2, $var1, var$6);
            if ($rt_suspending()) {
                break main;
            }
            if ($var4 === null)
                return $var2;
            $var1 = $rt_s(2173);
            $ptr = 11;
        case 11:
            nms_NBTTagCompound_setCompoundTag($var2, $var1, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $ptr);
    }
    function nms_WorldInfo_getSizeOnDisk($this) {
        return $this.$sizeOnDisk;
    }
    function nms_WorldInfo_getPlayerNBTTagCompound($this) {
        return $this.$playerTag;
    }
    function nms_WorldInfo_setPlayerNBTTagCompound($this, $var1) {
        $this.$playerTag = $var1;
    }
    function nms_WorldInfo_setSpawn($this, $var1, $var2, $var3) {
        $this.$spawnX = $var1;
        $this.$spawnY = $var2;
        $this.$spawnZ = $var3;
    }
    function nms_WorldInfo_getWorldName($this) {
        return $this.$levelName0;
    }
    function nms_WorldInfo_getLastTimePlayed($this) {
        return $this.$lastTimePlayed;
    }
    function ju_AbstractMap$SimpleEntry() {
        var a = this; jl_Object.call(a);
        a.$key1 = null;
        a.$value4 = null;
    }
    function ju_AbstractMap$SimpleEntry_getValue($this) {
        return $this.$value4;
    }
    function ju_AbstractMap$SimpleEntry_setValue($this, $value) {
        var $old;
        $old = $this.$value4;
        $this.$value4 = $value;
        return $old;
    }
    function ju_AbstractMap$SimpleEntry_getKey($this) {
        return $this.$key1;
    }
    function ju_AbstractMap$SimpleEntry_equals($this, $obj) {
        var $entry, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$entry = $thread.pop();$obj = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this === $obj)
                return 1;
            if (!$rt_isInstance($obj, ju_Map$Entry))
                return 0;
            $entry = $obj;
            $obj = $this.$key1;
            var$3 = $entry.$getKey0();
            $ptr = 1;
        case 1:
            $tmp = ju_Objects_equals($obj, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (!var$4)
                return 0;
            $obj = $this.$value4;
            $entry = $entry.$getValue1();
            $ptr = 2;
        case 2:
            $tmp = ju_Objects_equals($obj, $entry);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return !var$4 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $obj, $entry, var$3, var$4, $ptr);
    }
    function ju_AbstractMap$SimpleEntry_hashCode($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$key1;
            $ptr = 1;
        case 1:
            $tmp = ju_Objects_hashCode(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$1 = $this.$value4;
            $ptr = 2;
        case 2:
            $tmp = ju_Objects_hashCode(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$2 ^ var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function ju_AbstractMap$SimpleEntry_toString($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$key1;
            var$2 = $this.$value4;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$3, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            jl_AbstractStringBuilder_append(var$1, 61);
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    var jur_IntArrHash = $rt_classWithoutFields();
    function ju_TreeMap$TreeNode() {
        var a = this; ju_AbstractMap$SimpleEntry.call(a);
        a.$left = null;
        a.$right = null;
        a.$height2 = 0;
        a.$size5 = 0;
    }
    function ju_TreeMap$TreeNode_balance($this) {
        var $factor;
        $factor = ju_TreeMap$TreeNode_factor($this);
        if ($factor == 2) {
            if (ju_TreeMap$TreeNode_factor($this.$right) < 0)
                $this.$right = ju_TreeMap$TreeNode_rotateRight($this.$right);
            return ju_TreeMap$TreeNode_rotateLeft($this);
        }
        if ($factor != (-2))
            return $this;
        if (ju_TreeMap$TreeNode_factor($this.$left) > 0)
            $this.$left = ju_TreeMap$TreeNode_rotateLeft($this.$left);
        return ju_TreeMap$TreeNode_rotateRight($this);
    }
    function ju_TreeMap$TreeNode_factor($this) {
        var var$1, var$2;
        var$1 = $this.$right;
        var$2 = var$1 === null ? 0 : var$1.$height2;
        var$1 = $this.$left;
        return var$2 - (var$1 === null ? 0 : var$1.$height2) | 0;
    }
    function ju_TreeMap$TreeNode_rotateRight($this) {
        var $left;
        $left = $this.$left;
        $this.$left = $left.$right;
        $left.$right = $this;
        ju_TreeMap$TreeNode_fix($this);
        ju_TreeMap$TreeNode_fix($left);
        return $left;
    }
    function ju_TreeMap$TreeNode_rotateLeft($this) {
        var $right;
        $right = $this.$right;
        $this.$right = $right.$left;
        $right.$left = $this;
        ju_TreeMap$TreeNode_fix($this);
        ju_TreeMap$TreeNode_fix($right);
        return $right;
    }
    function ju_TreeMap$TreeNode_fix($this) {
        var var$1, var$2, var$3;
        var$1 = $this.$right;
        var$2 = var$1 === null ? 0 : var$1.$height2;
        var$1 = $this.$left;
        var$3 = var$1 === null ? 0 : var$1.$height2;
        $this.$height2 = jl_Math_max(var$2, var$3) + 1 | 0;
        $this.$size5 = 1;
        var$1 = $this.$left;
        if (var$1 !== null)
            $this.$size5 = 1 + var$1.$size5 | 0;
        var$1 = $this.$right;
        if (var$1 !== null)
            $this.$size5 = $this.$size5 + var$1.$size5 | 0;
    }
    function ju_TreeMap$TreeNode_forward($this, $reverse) {
        return $reverse ? $this.$right : $this.$left;
    }
    function ju_TreeMap$TreeNode_down($this, $reverse) {
        return $reverse ? $this.$left : $this.$right;
    }
    var nms_EnumOptionsMappingHelper = $rt_classWithoutFields();
    var nms_EnumOptionsMappingHelper_enumOptionsMappingHelperArray = null;
    function nms_EnumOptionsMappingHelper_$callClinit() {
        nms_EnumOptionsMappingHelper_$callClinit = $rt_eraseClinit(nms_EnumOptionsMappingHelper);
        nms_EnumOptionsMappingHelper__clinit_();
    }
    function nms_EnumOptionsMappingHelper__init_0() {
        var var_0 = new nms_EnumOptionsMappingHelper();
        nms_EnumOptionsMappingHelper__init_(var_0);
        return var_0;
    }
    function nms_EnumOptionsMappingHelper__init_($this) {
        nms_EnumOptionsMappingHelper_$callClinit();
    }
    function nms_EnumOptionsMappingHelper__clinit_() {
        var var$1, var$2;
        var$1 = $rt_createIntArray((nms_EnumOptions_values()).data.length);
        var$2 = var$1.data;
        nms_EnumOptionsMappingHelper_enumOptionsMappingHelperArray = var$1;
        var$2[nms_EnumOptions_INVERT_MOUSE.$ordinal0] = 1;
        var$2[nms_EnumOptions_VIEW_BOBBING.$ordinal0] = 2;
        var$2[nms_EnumOptions_ANAGLYPH.$ordinal0] = 3;
        var$2[nms_EnumOptions_LIMIT_FRAMERATE.$ordinal0] = 4;
        var$2[nms_EnumOptions_AMBIENT_OCCLUSION.$ordinal0] = 5;
    }
    function nms_EnumArt() {
        var a = this; jl_Enum.call(a);
        a.$title = null;
        a.$sizeX = 0;
        a.$sizeY = 0;
        a.$offsetX0 = 0;
        a.$offsetY0 = 0;
    }
    var nms_EnumArt_Kebab = null;
    var nms_EnumArt_Aztec = null;
    var nms_EnumArt_Alban = null;
    var nms_EnumArt_Aztec2 = null;
    var nms_EnumArt_Bomb = null;
    var nms_EnumArt_Plant = null;
    var nms_EnumArt_Wasteland = null;
    var nms_EnumArt_Pool = null;
    var nms_EnumArt_Courbet = null;
    var nms_EnumArt_Sea = null;
    var nms_EnumArt_Sunset = null;
    var nms_EnumArt_Creebet = null;
    var nms_EnumArt_Wanderer = null;
    var nms_EnumArt_Graham = null;
    var nms_EnumArt_Match = null;
    var nms_EnumArt_Bust = null;
    var nms_EnumArt_Stage = null;
    var nms_EnumArt_Void = null;
    var nms_EnumArt_SkullAndRoses = null;
    var nms_EnumArt_Fighters = null;
    var nms_EnumArt_Pointer = null;
    var nms_EnumArt_Pigscene = null;
    var nms_EnumArt_BurningSkull = null;
    var nms_EnumArt_Skeleton = null;
    var nms_EnumArt_DonkeyKong = null;
    var nms_EnumArt_$VALUES = null;
    function nms_EnumArt_$callClinit() {
        nms_EnumArt_$callClinit = $rt_eraseClinit(nms_EnumArt);
        nms_EnumArt__clinit_();
    }
    function nms_EnumArt__init_0(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
        var var_7 = new nms_EnumArt();
        nms_EnumArt__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
        return var_7;
    }
    function nms_EnumArt_values() {
        nms_EnumArt_$callClinit();
        return nms_EnumArt_$VALUES.$clone();
    }
    function nms_EnumArt__init_($this, var$1, var$2, $var3, $var4, $var5, $var6, $var7) {
        nms_EnumArt_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
        $this.$title = $var3;
        $this.$sizeX = $var4;
        $this.$sizeY = $var5;
        $this.$offsetX0 = $var6;
        $this.$offsetY0 = $var7;
    }
    function nms_EnumArt_$values() {
        nms_EnumArt_$callClinit();
        return $rt_createArrayFromData(nms_EnumArt, [nms_EnumArt_Kebab, nms_EnumArt_Aztec, nms_EnumArt_Alban, nms_EnumArt_Aztec2, nms_EnumArt_Bomb, nms_EnumArt_Plant, nms_EnumArt_Wasteland, nms_EnumArt_Pool, nms_EnumArt_Courbet, nms_EnumArt_Sea, nms_EnumArt_Sunset, nms_EnumArt_Creebet, nms_EnumArt_Wanderer, nms_EnumArt_Graham, nms_EnumArt_Match, nms_EnumArt_Bust, nms_EnumArt_Stage, nms_EnumArt_Void, nms_EnumArt_SkullAndRoses, nms_EnumArt_Fighters, nms_EnumArt_Pointer, nms_EnumArt_Pigscene, nms_EnumArt_BurningSkull,
        nms_EnumArt_Skeleton, nms_EnumArt_DonkeyKong]);
    }
    function nms_EnumArt__clinit_() {
        nms_EnumArt_Kebab = nms_EnumArt__init_0($rt_s(2174), 0, $rt_s(2174), 16, 16, 0, 0);
        nms_EnumArt_Aztec = nms_EnumArt__init_0($rt_s(2175), 1, $rt_s(2175), 16, 16, 16, 0);
        nms_EnumArt_Alban = nms_EnumArt__init_0($rt_s(2176), 2, $rt_s(2176), 16, 16, 32, 0);
        nms_EnumArt_Aztec2 = nms_EnumArt__init_0($rt_s(2177), 3, $rt_s(2177), 16, 16, 48, 0);
        nms_EnumArt_Bomb = nms_EnumArt__init_0($rt_s(2178), 4, $rt_s(2178), 16, 16, 64, 0);
        nms_EnumArt_Plant = nms_EnumArt__init_0($rt_s(2179), 5, $rt_s(2179), 16, 16, 80, 0);
        nms_EnumArt_Wasteland = nms_EnumArt__init_0($rt_s(2180), 6, $rt_s(2180), 16, 16, 96, 0);
        nms_EnumArt_Pool = nms_EnumArt__init_0($rt_s(2181), 7, $rt_s(2181), 32, 16, 0, 32);
        nms_EnumArt_Courbet = nms_EnumArt__init_0($rt_s(2182), 8, $rt_s(2182), 32, 16, 32, 32);
        nms_EnumArt_Sea = nms_EnumArt__init_0($rt_s(2183), 9, $rt_s(2183), 32, 16, 64, 32);
        nms_EnumArt_Sunset = nms_EnumArt__init_0($rt_s(2184), 10, $rt_s(2184), 32, 16, 96, 32);
        nms_EnumArt_Creebet = nms_EnumArt__init_0($rt_s(2185), 11, $rt_s(2185), 32, 16, 128, 32);
        nms_EnumArt_Wanderer = nms_EnumArt__init_0($rt_s(2186), 12, $rt_s(2186), 16, 32, 0, 64);
        nms_EnumArt_Graham = nms_EnumArt__init_0($rt_s(2187), 13, $rt_s(2187), 16, 32, 16, 64);
        nms_EnumArt_Match = nms_EnumArt__init_0($rt_s(2188), 14, $rt_s(2188), 32, 32, 0, 128);
        nms_EnumArt_Bust = nms_EnumArt__init_0($rt_s(2189), 15, $rt_s(2189), 32, 32, 32, 128);
        nms_EnumArt_Stage = nms_EnumArt__init_0($rt_s(2190), 16, $rt_s(2190), 32, 32, 64, 128);
        nms_EnumArt_Void = nms_EnumArt__init_0($rt_s(2191), 17, $rt_s(2191), 32, 32, 96, 128);
        nms_EnumArt_SkullAndRoses = nms_EnumArt__init_0($rt_s(2192), 18, $rt_s(2192), 32, 32, 128, 128);
        nms_EnumArt_Fighters = nms_EnumArt__init_0($rt_s(2193), 19, $rt_s(2193), 64, 32, 0, 96);
        nms_EnumArt_Pointer = nms_EnumArt__init_0($rt_s(2194), 20, $rt_s(2194), 64, 64, 0, 192);
        nms_EnumArt_Pigscene = nms_EnumArt__init_0($rt_s(2195), 21, $rt_s(2195), 64, 64, 64, 192);
        nms_EnumArt_BurningSkull = nms_EnumArt__init_0($rt_s(2196), 22, $rt_s(2196), 64, 64, 128, 192);
        nms_EnumArt_Skeleton = nms_EnumArt__init_0($rt_s(2197), 23, $rt_s(2197), 64, 48, 192, 64);
        nms_EnumArt_DonkeyKong = nms_EnumArt__init_0($rt_s(2198), 24, $rt_s(2198), 64, 48, 192, 112);
        nms_EnumArt_$VALUES = nms_EnumArt_$values();
    }
    function cjj_Floor0$InfoFloor0() {
        var a = this; jl_Object.call(a);
        a.$order0 = 0;
        a.$rate0 = 0;
        a.$barkmap = 0;
        a.$ampbits = 0;
        a.$ampdB = 0;
        a.$numbooks = 0;
        a.$books0 = null;
        a.$this$049 = null;
    }
    function cjj_Floor1$InfoFloor1() {
        var a = this; jl_Object.call(a);
        a.$partitions = 0;
        a.$partitionclass = null;
        a.$class_dim = null;
        a.$class_subs = null;
        a.$class_book = null;
        a.$class_subbook = null;
        a.$mult = 0;
        a.$postlist = null;
        a.$this$051 = null;
    }
    function cjj_Floor1$InfoFloor1_free($this) {
        $this.$partitionclass = null;
        $this.$class_dim = null;
        $this.$class_subs = null;
        $this.$class_book = null;
        $this.$class_subbook = null;
        $this.$postlist = null;
    }
    function cjj_Residue0$InfoResidue0() {
        var a = this; jl_Object.call(a);
        a.$begin = 0;
        a.$end5 = 0;
        a.$grouping = 0;
        a.$partitions0 = 0;
        a.$groupbook = 0;
        a.$secondstages = null;
        a.$booklist = null;
        a.$entmax = null;
        a.$ampmax = null;
        a.$subgrp = null;
        a.$blimit = null;
        a.$this$053 = null;
    }
    var nlei_IWebSocketFrame = $rt_classWithoutFields(0);
    function nleit_TeaVMWebSocketFrame() {
        var a = this; jl_Object.call(a);
        a.$data3 = null;
        a.$str = 0;
        a.$cachedStrContent = null;
        a.$cachedByteContent = null;
        a.$cachedLen = 0;
        a.$timestamp = Long_ZERO;
    }
    function nleit_TeaVMWebSocketFrame_isString($this) {
        return $this.$str;
    }
    function nms_PacketCounter() {
        var a = this; jl_Object.call(a);
        a.$totalPackets = 0;
        a.$totalBytes = Long_ZERO;
    }
    function nms_PacketCounter__init_1() {
        var var_0 = new nms_PacketCounter();
        nms_PacketCounter__init_(var_0);
        return var_0;
    }
    function nms_PacketCounter__init_($this) {}
    var nms_Empty1 = $rt_classWithoutFields();
    function nms_Empty1__init_0() {
        var var_0 = new nms_Empty1();
        nms_Empty1__init_(var_0);
        return var_0;
    }
    function nms_Empty1__init_($this) {}
    function nms_CraftingInventoryPlayerCB() {
        var a = this; nms_CraftingInventoryCB.call(a);
        a.$craftMatrix0 = null;
        a.$craftResult0 = null;
        a.$isSinglePlayer = 0;
    }
    function nms_CraftingInventoryPlayerCB__init_0(var_0, var_1) {
        var var_2 = new nms_CraftingInventoryPlayerCB();
        nms_CraftingInventoryPlayerCB__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_CraftingInventoryPlayerCB__init_($this, $var1, $var2) {
        var var$3, $var3, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_CraftingInventoryCB__init_($this);
            $this.$craftMatrix0 = nms_InventoryCrafting__init_0($this, 2, 2);
            var$3 = nms_InventoryCraftResult__init_0();
            $this.$craftResult0 = var$3;
            $this.$isSinglePlayer = 0;
            $this.$isSinglePlayer = $var2;
            nms_CraftingInventoryCB_addSlot($this, nms_SlotCrafting__init_0($var1.$player, $this.$craftMatrix0, var$3, 0, 144, 36));
            $var3 = 0;
            while ($var3 < 2) {
                $var4 = 0;
                while ($var4 < 2) {
                    nms_CraftingInventoryCB_addSlot($this, nms_Slot__init_0($this.$craftMatrix0, $var4 + ($var3 * 2 | 0) | 0, 88 + ($var4 * 18 | 0) | 0, 26 + ($var3 * 18 | 0) | 0));
                    $var4 = $var4 + 1 | 0;
                }
                $var3 = $var3 + 1 | 0;
            }
            $var3 = 0;
            while ($var3 < 4) {
                var$3 = new nms_SlotArmor;
                nms_Slot__init_(var$3, $var1, (($var1.$mainInventory.data.length + 4 | 0) - 1 | 0) - $var3 | 0, 8, 8 + ($var3 * 18 | 0) | 0);
                var$3.$inventory1 = $this;
                var$3.$armorType0 = $var3;
                nms_CraftingInventoryCB_addSlot($this, var$3);
                $var3 = $var3 + 1 | 0;
            }
            $var2 = 0;
            while ($var2 < 3) {
                $var4 = 0;
                while ($var4 < 9) {
                    nms_CraftingInventoryCB_addSlot($this, nms_Slot__init_0($var1, $var4 + (($var2 + 1 | 0) * 9 | 0) | 0, 8 + ($var4 * 18 | 0) | 0, 84 + ($var2 * 18 | 0) | 0));
                    $var4 = $var4 + 1 | 0;
                }
                $var2 = $var2 + 1 | 0;
            }
            $var2 = 0;
            while ($var2 < 9) {
                nms_CraftingInventoryCB_addSlot($this, nms_Slot__init_0($var1, $var2, 8 + ($var2 * 18 | 0) | 0, 142));
                $var2 = $var2 + 1 | 0;
            }
            $var1 = $this.$craftMatrix0;
            $ptr = 1;
        case 1:
            nms_CraftingInventoryPlayerCB_onCraftMatrixChanged($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, $var4, $ptr);
    }
    function nms_CraftingInventoryPlayerCB_onCraftMatrixChanged($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$craftResult0;
            var$3 = 0;
            $ptr = 1;
        case 1:
            $tmp = nms_CraftingManager_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$4 = $this.$craftMatrix0;
            $ptr = 2;
        case 2:
            $tmp = nms_CraftingManager_findMatchingRecipe($var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $ptr = 3;
        case 3:
            nms_InventoryCraftResult_setInventorySlotContents(var$2, var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_CraftingInventoryPlayerCB_onCraftGuiClosed($this, $var1) {
        var $var2, var$3, $var3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_CraftingInventoryCB_onCraftGuiClosed($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 0;
            var$3 = null;
            while ($var2 < 4) {
                $var3 = nms_InventoryCrafting_getStackInSlot($this.$craftMatrix0, $var2);
                if ($var3 !== null) {
                    $ptr = 2;
                    continue main;
                }
                $var2 = $var2 + 1 | 0;
            }
            return;
        case 2:
            nms_EntityPlayer_dropPlayerItem($var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $this.$craftMatrix0;
            $ptr = 3;
        case 3:
            nms_InventoryCrafting_setInventorySlotContents($var3, $var2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var2 = $var2 + 1 | 0;
                if ($var2 >= 4)
                    break;
                $var3 = nms_InventoryCrafting_getStackInSlot($this.$craftMatrix0, $var2);
                if ($var3 === null)
                    continue;
                else {
                    $ptr = 2;
                    continue main;
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, $ptr);
    }
    function nms_CraftingInventoryPlayerCB_isUsableByPlayer($this, $var1) {
        return 1;
    }
    var ju_SequencedSet = $rt_classWithoutFields(0);
    var ju_SortedSet = $rt_classWithoutFields(0);
    var ju_NavigableSet = $rt_classWithoutFields(0);
    function ju_TreeSet() {
        ju_AbstractSet.call(this);
        this.$map = null;
    }
    var ju_TreeSet_VALUE = null;
    function ju_TreeSet__init_0() {
        var var_0 = new ju_TreeSet();
        ju_TreeSet__init_(var_0);
        return var_0;
    }
    function ju_TreeSet__init_($this) {
        $this.$map = ju_TreeMap__init_0();
    }
    function ju_TreeSet_size($this) {
        var var$1;
        var$1 = $this.$map.$root;
        return var$1 === null ? 0 : var$1.$size5;
    }
    function ju_TreeSet__clinit_() {
        ju_TreeSet_VALUE = new jl_Object;
    }
    var nms_WorldProviderHell = $rt_classWithoutFields(nms_WorldProvider);
    function nms_WorldProviderHell__init_0() {
        var var_0 = new nms_WorldProviderHell();
        nms_WorldProviderHell__init_(var_0);
        return var_0;
    }
    function nms_WorldProviderHell__init_($this) {
        nms_WorldProvider__init_($this);
    }
    function nms_WorldProviderHell_registerWorldChunkManager($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nms_WorldChunkManagerHell;
            $ptr = 1;
        case 1:
            nms_MobSpawnerBase_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$1.$field_4201_e = nms_MobSpawnerBase_hell;
            var$1.$field_4200_f = 1.0;
            var$1.$field_4199_g = 0.0;
            $this.$worldChunkMgr = var$1;
            $this.$field_4220_c = 1;
            $this.$isHellWorld = 1;
            $this.$field_6478_e = 1;
            $this.$worldType = (-1);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_WorldProviderHell_func_4096_a($this, $var1, $var2) {
        return nms_Vec3D_createVector(0.20000000298023224, 0.029999999329447746, 0.029999999329447746);
    }
    function nms_WorldProviderHell_generateLightBrightnessTable($this) {
        var $var2, $var3;
        $var2 = 0;
        while ($var2 <= 15) {
            $var3 = 1.0 - $var2 / 15.0;
            $this.$lightBrightnessTable.data[$var2] = (1.0 - $var3) / ($var3 * 3.0 + 1.0) * 0.8999999761581421 + 0.10000000149011612;
            $var2 = $var2 + 1 | 0;
        }
    }
    function nms_WorldProviderHell_getChunkProvider($this) {
        var var$1, var$2, var$3;
        var$1 = new nms_ChunkProviderHell;
        var$2 = $this.$worldObj7;
        nms_World_getRandomSeed(var$2);
        var$1.$field_4162_p = $rt_createDoubleArray(256);
        var$1.$field_4161_q = $rt_createDoubleArray(256);
        var$1.$field_4160_r = $rt_createDoubleArray(256);
        var$3 = new nms_MapGenCavesHell;
        nms_MapGenBase__init_(var$3);
        var$1.$field_4159_s = var$3;
        var$1.$worldObj12 = var$2;
        var$2 = new ju_Random;
        var$1.$hellRNG = var$2;
        var$1.$field_4169_i = nms_NoiseGeneratorOctaves__init_0(var$2, 16);
        var$1.$field_4168_j = nms_NoiseGeneratorOctaves__init_0(var$1.$hellRNG, 16);
        var$1.$field_4167_k = nms_NoiseGeneratorOctaves__init_0(var$1.$hellRNG, 8);
        var$1.$field_4166_l = nms_NoiseGeneratorOctaves__init_0(var$1.$hellRNG, 4);
        var$1.$field_4165_m = nms_NoiseGeneratorOctaves__init_0(var$1.$hellRNG, 4);
        var$1.$field_4177_a = nms_NoiseGeneratorOctaves__init_0(var$1.$hellRNG, 10);
        var$1.$field_4176_b = nms_NoiseGeneratorOctaves__init_0(var$1.$hellRNG, 16);
        return var$1;
    }
    function nms_WorldProviderHell_canCoordinateBeSpawn($this, $var1, $var2) {
        var var$3, $var3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$worldObj7;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getFirstUncoveredBlock(var$3, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return $var3 == nms_Block_bedrock.$blockID ? 0 : !$var3 ? 0 : nms_Block_opaqueCubeLookup.data[$var3];
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, $ptr);
    }
    function nms_WorldProviderHell_calculateCelestialAngle($this, $var1, $var3) {
        return 0.5;
    }
    function nms_WorldProviderHell_canRespawnHere($this) {
        return 0;
    }
    function nms_InventoryCrafting() {
        var a = this; jl_Object.call(a);
        a.$stackList = null;
        a.$field_21104_b = 0;
        a.$eventHandler = null;
    }
    function nms_InventoryCrafting__init_0(var_0, var_1, var_2) {
        var var_3 = new nms_InventoryCrafting();
        nms_InventoryCrafting__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_InventoryCrafting__init_($this, $var1, $var2, $var3) {
        $this.$stackList = $rt_createArray(nms_ItemStack, $rt_imul($var2, $var3));
        $this.$eventHandler = $var1;
        $this.$field_21104_b = $var2;
    }
    function nms_InventoryCrafting_getSizeInventory($this) {
        return $this.$stackList.data.length;
    }
    function nms_InventoryCrafting_getStackInSlot($this, $var1) {
        return $var1 >= nms_InventoryCrafting_getSizeInventory($this) ? null : $this.$stackList.data[$var1];
    }
    function nms_InventoryCrafting_func_21103_b($this, $var1, $var2) {
        var $var3;
        if ($var1 >= 0) {
            $var3 = $this.$field_21104_b;
            if ($var1 < $var3)
                return nms_InventoryCrafting_getStackInSlot($this, $var1 + $rt_imul($var2, $var3) | 0);
        }
        return null;
    }
    function nms_InventoryCrafting_decrStackSize($this, $var1, $var2) {
        var var$3, $var3, $var3_0, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3_0 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $this.$stackList.data;
            if (var$3[$var1] === null)
                return null;
            if (var$3[$var1].$stackSize <= $var2) {
                $var3 = var$3[$var1];
                var$3[$var1] = null;
                $var3_0 = $this.$eventHandler;
                $ptr = 1;
                continue main;
            }
            $var3_0 = nms_ItemStack_splitStack(var$3[$var1], $var2);
            var$3 = $this.$stackList.data;
            if (!var$3[$var1].$stackSize)
                var$3[$var1] = null;
            $var3 = $this.$eventHandler;
            $ptr = 2;
            continue main;
        case 1:
            $var3_0.$onCraftMatrixChanged($this);
            if ($rt_suspending()) {
                break main;
            }
            return $var3;
        case 2:
            $var3.$onCraftMatrixChanged($this);
            if ($rt_suspending()) {
                break main;
            }
            return $var3_0;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, $var3_0, $ptr);
    }
    function nms_InventoryCrafting_setInventorySlotContents($this, $var1, $var2) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$stackList.data[$var1] = $var2;
            $var2 = $this.$eventHandler;
            $ptr = 1;
        case 1:
            $var2.$onCraftMatrixChanged($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $ptr);
    }
    function nms_InventoryCrafting_getInventoryStackLimit($this) {
        return 64;
    }
    function nms_InventoryCrafting_onInventoryChanged($this) {}
    function nms_InventoryCraftResult() {
        jl_Object.call(this);
        this.$stackResult = null;
    }
    function nms_InventoryCraftResult__init_0() {
        var var_0 = new nms_InventoryCraftResult();
        nms_InventoryCraftResult__init_(var_0);
        return var_0;
    }
    function nms_InventoryCraftResult__init_($this) {
        $this.$stackResult = $rt_createArray(nms_ItemStack, 1);
    }
    function nms_InventoryCraftResult_getStackInSlot($this, $var1) {
        return $this.$stackResult.data[$var1];
    }
    function nms_InventoryCraftResult_decrStackSize($this, $var1, $var2) {
        var var$3, $var3;
        var$3 = $this.$stackResult.data;
        if (var$3[$var1] === null)
            return null;
        $var3 = var$3[$var1];
        var$3[$var1] = null;
        return $var3;
    }
    function nms_InventoryCraftResult_setInventorySlotContents($this, $var1, $var2) {
        $this.$stackResult.data[$var1] = $var2;
    }
    function nms_InventoryCraftResult_getInventoryStackLimit($this) {
        return 64;
    }
    function nms_InventoryCraftResult_onInventoryChanged($this) {}
    function nms_SlotCrafting() {
        var a = this; nms_Slot.call(a);
        a.$craftMatrix1 = null;
        a.$field_25015_e = null;
    }
    function nms_SlotCrafting__init_0(var_0, var_1, var_2, var_3, var_4, var_5) {
        var var_6 = new nms_SlotCrafting();
        nms_SlotCrafting__init_(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
        return var_6;
    }
    function nms_SlotCrafting__init_($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        nms_Slot__init_($this, $var3, $var4, $var5, $var6);
        $this.$field_25015_e = $var1;
        $this.$craftMatrix1 = $var2;
    }
    function nms_SlotCrafting_isItemValid($this, $var1) {
        return 0;
    }
    function nms_SlotCrafting_onPickupFromSlot($this, $var1) {
        var $var3, $var2, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $this.$field_25015_e;
            $ptr = 1;
        case 1:
            nms_StatList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var3.$addStat(nms_StatList_field_25158_z.data[$var1.$itemID], 1);
            $var2 = $var1.$itemID;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var2 == nms_Block_workbench.$blockID) {
                $var1 = $this.$field_25015_e;
                $ptr = 3;
                continue main;
            }
            $var2 = 0;
            while ($var2 < nms_InventoryCrafting_getSizeInventory($this.$craftMatrix1)) {
                $var3 = nms_InventoryCrafting_getStackInSlot($this.$craftMatrix1, $var2);
                if ($var3 !== null) {
                    $var1 = $this.$craftMatrix1;
                    var$4 = 1;
                    $ptr = 4;
                    continue main;
                }
                $var2 = $var2 + 1 | 0;
            }
            return;
        case 3:
            nms_AchievementList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1.$addStat(nms_AchievementList_field_25197_d, 1);
            $var2 = 0;
            while ($var2 < nms_InventoryCrafting_getSizeInventory($this.$craftMatrix1)) {
                $var3 = nms_InventoryCrafting_getStackInSlot($this.$craftMatrix1, $var2);
                if ($var3 !== null) {
                    $var1 = $this.$craftMatrix1;
                    var$4 = 1;
                    $ptr = 4;
                    continue main;
                }
                $var2 = $var2 + 1 | 0;
            }
            return;
        case 4:
            nms_InventoryCrafting_decrStackSize($var1, $var2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = nms_ItemStack_getItem($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $ptr = 6;
        case 6:
            $tmp = nms_Item_hasContainerItem($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4) {
                $var1 = $this.$craftMatrix1;
                var$5 = new nms_ItemStack;
                $ptr = 7;
                continue main;
            }
            while (true) {
                $var2 = $var2 + 1 | 0;
                if ($var2 >= nms_InventoryCrafting_getSizeInventory($this.$craftMatrix1))
                    break;
                $var3 = nms_InventoryCrafting_getStackInSlot($this.$craftMatrix1, $var2);
                if ($var3 === null)
                    continue;
                else {
                    $var1 = $this.$craftMatrix1;
                    var$4 = 1;
                    $ptr = 4;
                    continue main;
                }
            }
            return;
        case 7:
            $tmp = nms_ItemStack_getItem($var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            nms_ItemStack__init_(var$5, $var3.$containerItem);
            $ptr = 8;
        case 8:
            nms_InventoryCrafting_setInventorySlotContents($var1, $var2, var$5);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var2 = $var2 + 1 | 0;
                if ($var2 >= nms_InventoryCrafting_getSizeInventory($this.$craftMatrix1))
                    break;
                $var3 = nms_InventoryCrafting_getStackInSlot($this.$craftMatrix1, $var2);
                if ($var3 === null)
                    continue;
                else {
                    $var1 = $this.$craftMatrix1;
                    var$4 = 1;
                    $ptr = 4;
                    continue main;
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var2, var$4, var$5, $ptr);
    }
    function nms_SlotCrafting_func_25014_f($this) {
        return 1;
    }
    function nms_SlotArmor() {
        var a = this; nms_Slot.call(a);
        a.$armorType0 = 0;
        a.$inventory1 = null;
    }
    function nms_SlotArmor_getSlotStackLimit($this) {
        return 1;
    }
    function nms_SlotArmor_isItemValid($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_ItemStack_getItem($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            if (!(var$2 instanceof nms_ItemArmor)) {
                $ptr = 2;
                continue main;
            }
            $ptr = 4;
            continue main;
        case 2:
            $tmp = nms_ItemStack_getItem($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$3 = $var1.$shiftedIndex;
            $ptr = 3;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return var$3 != nms_Block_pumpkin.$blockID ? 0 : $this.$armorType0 ? 0 : 1;
        case 4:
            $tmp = nms_ItemStack_getItem($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1.$armorType != $this.$armorType0 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function cjj_Floor0$LookFloor0() {
        var a = this; jl_Object.call(a);
        a.$n = 0;
        a.$ln = 0;
        a.$m = 0;
        a.$linearmap = null;
        a.$vi0 = null;
        a.$lpclook = null;
        a.$this$050 = null;
    }
    function cjj_Floor1$LookFloor1() {
        var a = this; jl_Object.call(a);
        a.$sorted_index = null;
        a.$forward_index = null;
        a.$reverse_index = null;
        a.$hineighbor = null;
        a.$loneighbor = null;
        a.$posts = 0;
        a.$n1 = 0;
        a.$quant_q = 0;
        a.$vi1 = null;
        a.$this$052 = null;
    }
    var cjj_Lsp = $rt_classWithoutFields();
    function cjj_Lsp__init_0() {
        var var_0 = new cjj_Lsp();
        cjj_Lsp__init_(var_0);
        return var_0;
    }
    function cjj_Lsp__init_($this) {}
    function cjj_Lsp_lsp_to_curve($curve, $map, $n, $ln, $lsp, $m, $amp, $ampoffset) {
        var $wdel, $i, var$11, $m2, var$13, var$14, var$15, $k, $p, $q, $w, $j, var$21, var$22, $hx, $ix, $qexp, var$26;
        $wdel = 3.1415927410125732 / $ln;
        $i = 0;
        while ($i < $m) {
            var$11 = $lsp.data;
            var$11[$i] = cjj_Lookup_coslook(var$11[$i]);
            $i = $i + 1 | 0;
        }
        $m2 = ($m / 2 | 0) * 2 | 0;
        $i = 0;
        var$13 = $m & 1;
        var$14 = $m - 1 | 0;
        while ($i < $n) {
            var$15 = $map.data;
            $k = var$15[$i];
            $p = 0.7071067690849304;
            $q = 0.7071067690849304;
            $w = cjj_Lookup_coslook($wdel * $k);
            $j = 0;
            while ($j < $m2) {
                var$11 = $lsp.data;
                $q = $q * (var$11[$j] - $w);
                $p = $p * (var$11[$j + 1 | 0] - $w);
                $j = $j + 2 | 0;
            }
            if (!var$13) {
                var$21 = $q * $q * (1.0 + $w);
                var$22 = $p * $p * (1.0 - $w);
            } else {
                var$22 = $q * ($lsp.data[var$14] - $w);
                var$21 = var$22 * var$22;
                var$22 = $p * $p * (1.0 - $w * $w);
            }
            $q = var$22 + var$21;
            $hx = jl_Float_floatToIntBits($q);
            $ix = 2147483647 & $hx;
            $qexp = 0;
            if ($ix < 2139095040 && $ix) {
                if ($ix < 8388608) {
                    $hx = jl_Float_floatToIntBits($q * 3.3554432E7);
                    $ix = 2147483647 & $hx;
                    $qexp = (-25);
                }
                $qexp = $qexp + (($ix >>> 23 | 0) - 126 | 0) | 0;
                $q = $rt_intBitsToFloat($hx & (-2139095041) | 1056964608);
            }
            var$26 = $q * 64.0 - 32.0;
            $hx = var$26 | 0;
            var$11 = cjj_Lookup_INVSQ_LOOKUP.data;
            $q = $amp * (var$11[$hx] + (var$26 - $hx) * (var$11[$hx + 1 | 0] - var$11[$hx]));
            $hx = $qexp + $m | 0;
            $hx = ($q * cjj_Lookup_INVSQ2EXP_LOOKUP.data[$hx + 32 | 0] - $ampoffset) * (-8.0) | 0;
            var$22 = $hx < 0 ? 1.0 : $hx >= 1120 ? 0.0 : cjj_Lookup_FROMdB_LOOKUP.data[$hx >>> 5 | 0] * cjj_Lookup_FROMdB2_LOOKUP.data[$hx & 31];
            $ln = $i;
            while (true) {
                var$11 = $curve.data;
                $i = $ln + 1 | 0;
                var$11[$ln] = var$11[$ln] * var$22;
                if ($i >= $n)
                    break;
                if (var$15[$i] != $k)
                    break;
                $ln = $i;
            }
        }
    }
    var nms_EnumStatus = $rt_classWithoutFields(jl_Enum);
    var nms_EnumStatus_OK = null;
    var nms_EnumStatus_NOT_POSSIBLE_HERE = null;
    var nms_EnumStatus_NOT_POSSIBLE_NOW = null;
    var nms_EnumStatus_TOO_FAR_AWAY = null;
    var nms_EnumStatus_OTHER_PROBLEM = null;
    var nms_EnumStatus_$VALUES = null;
    function nms_EnumStatus_$callClinit() {
        nms_EnumStatus_$callClinit = $rt_eraseClinit(nms_EnumStatus);
        nms_EnumStatus__clinit_();
    }
    function nms_EnumStatus__init_0(var_0, var_1) {
        var var_2 = new nms_EnumStatus();
        nms_EnumStatus__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_EnumStatus_values() {
        nms_EnumStatus_$callClinit();
        return nms_EnumStatus_$VALUES.$clone();
    }
    function nms_EnumStatus__init_($this, var$1, var$2) {
        nms_EnumStatus_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
    }
    function nms_EnumStatus__clinit_() {
        var var$1;
        nms_EnumStatus_OK = nms_EnumStatus__init_0($rt_s(2199), 0);
        nms_EnumStatus_NOT_POSSIBLE_HERE = nms_EnumStatus__init_0($rt_s(2200), 1);
        nms_EnumStatus_NOT_POSSIBLE_NOW = nms_EnumStatus__init_0($rt_s(2201), 2);
        nms_EnumStatus_TOO_FAR_AWAY = nms_EnumStatus__init_0($rt_s(2202), 3);
        var$1 = nms_EnumStatus__init_0($rt_s(2203), 4);
        nms_EnumStatus_OTHER_PROBLEM = var$1;
        nms_EnumStatus_$VALUES = $rt_createArrayFromData(nms_EnumStatus, [nms_EnumStatus_OK, nms_EnumStatus_NOT_POSSIBLE_HERE, nms_EnumStatus_NOT_POSSIBLE_NOW, nms_EnumStatus_TOO_FAR_AWAY, var$1]);
    }
    function nms_InventoryLargeChest() {
        var a = this; jl_Object.call(a);
        a.$name13 = null;
        a.$upperChest = null;
        a.$lowerChest = null;
    }
    function nms_InventoryLargeChest__init_0(var_0, var_1, var_2) {
        var var_3 = new nms_InventoryLargeChest();
        nms_InventoryLargeChest__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_InventoryLargeChest__init_($this, $var1, $var2, $var3) {
        $this.$name13 = $var1;
        $this.$upperChest = $var2;
        $this.$lowerChest = $var3;
    }
    function nms_InventoryLargeChest_getSizeInventory($this) {
        return $this.$upperChest.$getSizeInventory() + $this.$lowerChest.$getSizeInventory() | 0;
    }
    function nms_InventoryLargeChest_getInvName($this) {
        return $this.$name13;
    }
    function nms_InventoryLargeChest_getStackInSlot($this, $var1) {
        return $var1 < $this.$upperChest.$getSizeInventory() ? $this.$upperChest.$getStackInSlot($var1) : $this.$lowerChest.$getStackInSlot($var1 - $this.$upperChest.$getSizeInventory() | 0);
    }
    function nms_InventoryLargeChest_decrStackSize($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 < $this.$upperChest.$getSizeInventory()) {
                var$3 = $this.$upperChest;
                $ptr = 1;
                continue main;
            }
            var$3 = $this.$lowerChest;
            $var1 = $var1 - $this.$upperChest.$getSizeInventory() | 0;
            $ptr = 2;
            continue main;
        case 1:
            $tmp = var$3.$decrStackSize($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        case 2:
            $tmp = var$3.$decrStackSize($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_InventoryLargeChest_setInventorySlotContents($this, $var1, $var2) {
        var var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1 < $this.$upperChest.$getSizeInventory()) {
                var$3 = $this.$upperChest;
                $ptr = 1;
                continue main;
            }
            var$3 = $this.$lowerChest;
            $var1 = $var1 - $this.$upperChest.$getSizeInventory() | 0;
            $ptr = 2;
            continue main;
        case 1:
            var$3.$setInventorySlotContents($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            var$3.$setInventorySlotContents($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_InventoryLargeChest_getInventoryStackLimit($this) {
        return $this.$upperChest.$getInventoryStackLimit();
    }
    function nms_InventoryLargeChest_onInventoryChanged($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$upperChest;
            $ptr = 1;
        case 1:
            var$1.$onInventoryChanged();
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$lowerChest;
            $ptr = 2;
        case 2:
            var$1.$onInventoryChanged();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_InventoryLargeChest_canInteractWith($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$upperChest;
            $ptr = 1;
        case 1:
            $tmp = var$2.$canInteractWith($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return 0;
            var$2 = $this.$lowerChest;
            $ptr = 2;
        case 2:
            $tmp = var$2.$canInteractWith($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return !var$3 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    var nlei_VFSFilenameIterator = $rt_classWithoutFields(0);
    function nleiv_VFSListFilesIteratorImpl() {
        var a = this; jl_Object.call(a);
        a.$fs = null;
        a.$list = null;
    }
    function nleiv_VFSListFilesIteratorImpl_next($this, $entry) {
        var var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$entry = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$list;
            var$3 = $this.$fs;
            var$4 = $rt_createArray(jl_Object, 1);
            var$4.data[0] = $entry;
            nleiv_VFile2_$callClinit();
            $entry = new nleiv_VFile2;
            $ptr = 1;
        case 1:
            $tmp = nleiv_VFile2_createPath(var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            nleiv_VFile2__init_2($entry, var$5, var$3);
            $ptr = 2;
        case 2:
            ju_ArrayList_add(var$2, $entry);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $entry, var$2, var$3, var$4, var$5, $ptr);
    }
    var nms_ISaveHandler = $rt_classWithoutFields(0);
    function nleb_EaglercraftSaveHandler() {
        var a = this; jl_Object.call(a);
        a.$directory0 = null;
        a.$savedir = null;
    }
    function nleb_EaglercraftSaveHandler_getChunkLoader($this, $worldprovider) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$worldprovider = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!($worldprovider instanceof nms_WorldProviderHell)) {
                $worldprovider = new nleb_EaglercraftChunkLoader;
                var$2 = $this.$directory0;
                var$3 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$3);
                $ptr = 1;
                continue main;
            }
            $worldprovider = new nleb_EaglercraftChunkLoader;
            var$2 = $this.$directory0;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            $ptr = 4;
            continue main;
        case 1:
            $tmp = jl_StringBuilder_append(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$4 = $rt_s(2204);
            $ptr = 2;
        case 2:
            jl_StringBuilder_append(var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            nleb_EaglercraftChunkLoader__init_($worldprovider, var$2);
            return $worldprovider;
        case 4:
            $tmp = jl_StringBuilder_append(var$3, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            var$4 = $rt_s(2205);
            $ptr = 5;
        case 5:
            jl_StringBuilder_append(var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 6;
        case 6:
            $tmp = jl_AbstractStringBuilder_toString(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            nleb_EaglercraftChunkLoader__init_($worldprovider, var$2);
            return $worldprovider;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $worldprovider, var$2, var$3, var$4, $ptr);
    }
    function nleb_EaglercraftSaveHandler_saveWorldInfoAndPlayer($this, $worldinfo, $list) {
        var $out, $ds, $e, var$6, var$7, var$8, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$e = $thread.pop();$ds = $thread.pop();$out = $thread.pop();$list = $thread.pop();$worldinfo = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $out = ji_ByteArrayOutputStream__init_2(8192);
            $ds = ji_DataOutputStream__init_0($out);
            try {
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $worldinfo = jl_System_err();
            $list = $this.$directory0;
            $out = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($out);
            $ds = $rt_s(2206);
            $ptr = 2;
            continue main;
        case 1:
            a: {
                try {
                    $tmp = nms_WorldInfo_getNBTTagCompoundWithPlayer($worldinfo, $list);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $worldinfo = $tmp;
                    nms_NBTBase_writeTag($worldinfo, $ds);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        $e = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $worldinfo = jl_System_err();
                $list = $this.$directory0;
                $out = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($out);
                $ds = $rt_s(2206);
                $ptr = 2;
                continue main;
            }
            $worldinfo = new nleiv_VFile2;
            var$6 = $rt_createArray(jl_Object, 1);
            var$7 = var$6.data;
            var$8 = 0;
            $list = $this.$directory0;
            $ds = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($ds);
            $ptr = 8;
            continue main;
        case 2:
            $tmp = jl_StringBuilder_append($out, $ds);
            if ($rt_suspending()) {
                break main;
            }
            $ds = $tmp;
            $ptr = 3;
        case 3:
            $tmp = jl_StringBuilder_append($ds, $list);
            if ($rt_suspending()) {
                break main;
            }
            $list = $tmp;
            $ds = $rt_s(1471);
            $ptr = 4;
        case 4:
            jl_StringBuilder_append($list, $ds);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            $tmp = jl_AbstractStringBuilder_toString($out);
            if ($rt_suspending()) {
                break main;
            }
            $list = $tmp;
            $ptr = 6;
        case 6:
            ji_PrintStream_println0($worldinfo, $list);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 7;
        case 7:
            jl_Throwable_printStackTrace($e);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 8:
            $tmp = jl_StringBuilder_append($ds, $list);
            if ($rt_suspending()) {
                break main;
            }
            $e = $tmp;
            $list = $rt_s(1469);
            $ptr = 9;
        case 9:
            jl_StringBuilder_append($e, $list);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            $tmp = jl_AbstractStringBuilder_toString($ds);
            if ($rt_suspending()) {
                break main;
            }
            $list = $tmp;
            var$7[var$8] = $list;
            $ptr = 11;
        case 11:
            nleiv_VFile2__init_($worldinfo, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $this.$savedir = $worldinfo;
            var$6 = ji_ByteArrayOutputStream_toByteArray($out);
            $ptr = 12;
        case 12:
            nleiv_VFile2_setAllBytes($worldinfo, var$6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $worldinfo, $list, $out, $ds, $e, var$6, var$7, var$8, $ptr);
    }
    function nms_NextTickListEntry() {
        var a = this; jl_Object.call(a);
        a.$xCoord1 = 0;
        a.$yCoord1 = 0;
        a.$zCoord1 = 0;
        a.$blockID1 = 0;
        a.$scheduledTime = Long_ZERO;
        a.$tickEntryID = Long_ZERO;
    }
    var nms_NextTickListEntry_nextTickEntryID = Long_ZERO;
    function nms_NextTickListEntry_equals($this, $var1) {
        var $var2;
        if (!($var1 instanceof nms_NextTickListEntry))
            return 0;
        $var2 = $var1;
        return $this.$xCoord1 == $var2.$xCoord1 && $this.$yCoord1 == $var2.$yCoord1 && $this.$zCoord1 == $var2.$zCoord1 && $this.$blockID1 == $var2.$blockID1 ? 1 : 0;
    }
    function nms_NextTickListEntry_hashCode($this) {
        return ((((($this.$xCoord1 * 128 | 0) * 1024 | 0) + ($this.$zCoord1 * 128 | 0) | 0) + $this.$yCoord1 | 0) * 256 | 0) + $this.$blockID1 | 0;
    }
    function nms_NextTickListEntry_compareTo($this, $var1) {
        var var$2;
        $var1 = $var1;
        var$2 = Long_compare($this.$scheduledTime, $var1.$scheduledTime);
        if (var$2 < 0)
            var$2 = (-1);
        else if (var$2 > 0)
            var$2 = 1;
        else {
            var$2 = Long_compare($this.$tickEntryID, $var1.$tickEntryID);
            var$2 = var$2 < 0 ? (-1) : var$2 <= 0 ? 0 : 1;
        }
        return var$2;
    }
    function nms_NextTickListEntry__clinit_() {
        nms_NextTickListEntry_nextTickEntryID = Long_ZERO;
    }
    function nms_MetadataChunkBlock() {
        var a = this; jl_Object.call(a);
        a.$field_1299_a = null;
        a.$field_1298_b = 0;
        a.$field_1304_c = 0;
        a.$field_1303_d = 0;
        a.$field_1302_e = 0;
        a.$field_1301_f = 0;
        a.$field_1300_g = 0;
    }
    function nms_MetadataChunkBlock_func_4127_a($this, $var1) {
        var $var26, $var10, $var15, $var11, $var12, $var13, $var27, $var16, $var18, $var19, $var28, $var21, $var22, $var23, $var24, $var25, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var28 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var27 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var15 = $thread.pop();$var10 = $thread.pop();$var26 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var26 = $this.$field_1302_e;
            $var10 = $this.$field_1298_b;
            if ($rt_imul($rt_imul(($var26 - $var10 | 0) + 1 | 0, ($this.$field_1301_f - $this.$field_1304_c | 0) + 1 | 0), ($this.$field_1300_g - $this.$field_1303_d | 0) + 1 | 0) > 32768) {
                $var1 = jl_System_out();
                $var15 = $rt_s(2207);
                $ptr = 1;
                continue main;
            }
            while ($var10 <= $this.$field_1302_e) {
                $var11 = $this.$field_1303_d;
                if ($var11 <= $this.$field_1300_g) {
                    $var12 = $var10 >> 4;
                    $var13 = $var11 >> 4;
                    $var26 = 0;
                    $var27 = 1;
                    $ptr = 2;
                    continue main;
                }
                $var10 = $var10 + 1 | 0;
            }
            return;
        case 1:
            ji_PrintStream_println0($var1, $var15);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            $tmp = nms_World_doChunksNearChunkExist($var1, $var10, $var26, $var11, $var27);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $tmp;
            if ($var26) {
                $ptr = 3;
                continue main;
            }
            if ($var26) {
                if ($this.$field_1304_c < 0)
                    $this.$field_1304_c = 0;
                if ($this.$field_1301_f >= 128)
                    $this.$field_1301_f = 127;
                $var27 = $this.$field_1304_c;
                if ($var27 <= $this.$field_1301_f) {
                    $var15 = $this.$field_1299_a;
                    $ptr = 4;
                    continue main;
                }
            }
            $var11 = $var11 + 1 | 0;
            while (true) {
                if ($var11 <= $this.$field_1300_g) {
                    $var12 = $var10 >> 4;
                    $var13 = $var11 >> 4;
                    $var26 = 0;
                    $var27 = 1;
                    continue main;
                }
                $var10 = $var10 + 1 | 0;
                if ($var10 > $this.$field_1302_e)
                    break;
                $var11 = $this.$field_1303_d;
            }
            return;
        case 3:
            $tmp = nms_World_getChunkFromChunkCoords($var1, $var12, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $tmp;
            if ($var15.$func_21167_h())
                $var26 = 0;
            if ($var26) {
                if ($this.$field_1304_c < 0)
                    $this.$field_1304_c = 0;
                if ($this.$field_1301_f >= 128)
                    $this.$field_1301_f = 127;
                $var27 = $this.$field_1304_c;
                if ($var27 <= $this.$field_1301_f) {
                    $var15 = $this.$field_1299_a;
                    $ptr = 4;
                    continue main;
                }
            }
            $var11 = $var11 + 1 | 0;
            while (true) {
                if ($var11 <= $this.$field_1300_g) {
                    $var12 = $var10 >> 4;
                    $var13 = $var11 >> 4;
                    $var26 = 0;
                    $var27 = 1;
                    $ptr = 2;
                    continue main;
                }
                $var10 = $var10 + 1 | 0;
                if ($var10 > $this.$field_1302_e)
                    break;
                $var11 = $this.$field_1303_d;
            }
            return;
        case 4:
            $tmp = nms_World_getSavedLightValue($var1, $var15, $var10, $var27, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            $ptr = 5;
        case 5:
            $tmp = nms_World_getBlockId($var1, $var10, $var27, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var18 = $tmp;
            $ptr = 6;
        case 6:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var19 = nms_Block_lightOpacity.data[$var18];
            if (!$var19)
                $var19 = 1;
            $var28 = 0;
            $var15 = $this.$field_1299_a;
            nms_EnumSkyBlock_$callClinit();
            if ($var15 === nms_EnumSkyBlock_Sky) {
                $ptr = 7;
                continue main;
            }
            if ($var15 === nms_EnumSkyBlock_Block)
                $var28 = nms_Block_lightValue.data[$var18];
            if ($var19 >= 15 && !$var28) {
                $var28 = 0;
                if ($var16 != $var28) {
                    $var15 = $this.$field_1299_a;
                    $ptr = 14;
                    continue main;
                }
                $var27 = $var27 + 1 | 0;
                if ($var27 <= $this.$field_1301_f) {
                    $var15 = $this.$field_1299_a;
                    $ptr = 4;
                    continue main;
                }
                $var11 = $var11 + 1 | 0;
                while (true) {
                    if ($var11 <= $this.$field_1300_g) {
                        $var12 = $var10 >> 4;
                        $var13 = $var11 >> 4;
                        $var26 = 0;
                        $var27 = 1;
                        $ptr = 2;
                        continue main;
                    }
                    $var10 = $var10 + 1 | 0;
                    if ($var10 > $this.$field_1302_e)
                        break;
                    $var11 = $this.$field_1303_d;
                }
                return;
            }
            $var15 = $this.$field_1299_a;
            $var26 = $var10 - 1 | 0;
            $ptr = 8;
            continue main;
        case 7:
            $tmp = nms_World_canExistingBlockSeeTheSky($var1, $var10, $var27, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $tmp;
            if ($var26)
                $var28 = 15;
            if ($var19 >= 15 && !$var28) {
                $var28 = 0;
                if ($var16 != $var28) {
                    $var15 = $this.$field_1299_a;
                    $ptr = 14;
                    continue main;
                }
                $var27 = $var27 + 1 | 0;
                if ($var27 <= $this.$field_1301_f) {
                    $var15 = $this.$field_1299_a;
                    $ptr = 4;
                    continue main;
                }
                $var11 = $var11 + 1 | 0;
                while (true) {
                    if ($var11 <= $this.$field_1300_g) {
                        $var12 = $var10 >> 4;
                        $var13 = $var11 >> 4;
                        $var26 = 0;
                        $var27 = 1;
                        $ptr = 2;
                        continue main;
                    }
                    $var10 = $var10 + 1 | 0;
                    if ($var10 > $this.$field_1302_e)
                        break;
                    $var11 = $this.$field_1303_d;
                }
                return;
            }
            $var15 = $this.$field_1299_a;
            $var26 = $var10 - 1 | 0;
            $ptr = 8;
        case 8:
            $tmp = nms_World_getSavedLightValue($var1, $var15, $var26, $var27, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = $tmp;
            $var15 = $this.$field_1299_a;
            $var26 = $var10 + 1 | 0;
            $ptr = 9;
        case 9:
            $tmp = nms_World_getSavedLightValue($var1, $var15, $var26, $var27, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var22 = $tmp;
            $var15 = $this.$field_1299_a;
            $var26 = $var27 - 1 | 0;
            $ptr = 10;
        case 10:
            $tmp = nms_World_getSavedLightValue($var1, $var15, $var10, $var26, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var23 = $tmp;
            $var15 = $this.$field_1299_a;
            $var26 = $var27 + 1 | 0;
            $ptr = 11;
        case 11:
            $tmp = nms_World_getSavedLightValue($var1, $var15, $var10, $var26, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var24 = $tmp;
            $var15 = $this.$field_1299_a;
            $var26 = $var11 - 1 | 0;
            $ptr = 12;
        case 12:
            $tmp = nms_World_getSavedLightValue($var1, $var15, $var10, $var27, $var26);
            if ($rt_suspending()) {
                break main;
            }
            $var25 = $tmp;
            $var15 = $this.$field_1299_a;
            $var26 = $var11 + 1 | 0;
            $ptr = 13;
        case 13:
            $tmp = nms_World_getSavedLightValue($var1, $var15, $var10, $var27, $var26);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $tmp;
            if ($var22 <= $var21)
                $var22 = $var21;
            if ($var23 <= $var22)
                $var23 = $var22;
            if ($var24 <= $var23)
                $var24 = $var23;
            if ($var25 <= $var24)
                $var25 = $var24;
            if ($var26 <= $var25)
                $var26 = $var25;
            $var26 = $var26 - $var19 | 0;
            if ($var26 < 0)
                $var26 = 0;
            if ($var28 <= $var26)
                $var28 = $var26;
            if ($var16 != $var28) {
                $var15 = $this.$field_1299_a;
                $ptr = 14;
                continue main;
            }
            $var27 = $var27 + 1 | 0;
            if ($var27 <= $this.$field_1301_f) {
                $var15 = $this.$field_1299_a;
                $ptr = 4;
                continue main;
            }
            $var11 = $var11 + 1 | 0;
            while (true) {
                if ($var11 <= $this.$field_1300_g) {
                    $var12 = $var10 >> 4;
                    $var13 = $var11 >> 4;
                    $var26 = 0;
                    $var27 = 1;
                    $ptr = 2;
                    continue main;
                }
                $var10 = $var10 + 1 | 0;
                if ($var10 > $this.$field_1302_e)
                    break;
                $var11 = $this.$field_1303_d;
            }
            return;
        case 14:
            nms_World_setLightValue($var1, $var15, $var10, $var27, $var11, $var28);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = $var28 - 1 | 0;
            if ($var21 < 0)
                $var21 = 0;
            $var15 = $this.$field_1299_a;
            $var26 = $var10 - 1 | 0;
            $ptr = 15;
        case 15:
            nms_World_neighborLightPropagationChanged($var1, $var15, $var26, $var27, $var11, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $this.$field_1299_a;
            $var26 = $var27 - 1 | 0;
            $ptr = 16;
        case 16:
            nms_World_neighborLightPropagationChanged($var1, $var15, $var10, $var26, $var11, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $this.$field_1299_a;
            $var26 = $var11 - 1 | 0;
            $ptr = 17;
        case 17:
            nms_World_neighborLightPropagationChanged($var1, $var15, $var10, $var27, $var26, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $var10 + 1 | 0;
            if ($var26 >= $this.$field_1302_e) {
                $var15 = $this.$field_1299_a;
                $ptr = 18;
                continue main;
            }
            $var26 = $var27 + 1 | 0;
            if ($var26 >= $this.$field_1301_f) {
                $var15 = $this.$field_1299_a;
                $ptr = 19;
                continue main;
            }
            $var26 = $var11 + 1 | 0;
            if ($var26 >= $this.$field_1300_g) {
                $var15 = $this.$field_1299_a;
                $ptr = 20;
                continue main;
            }
            $var27 = $var27 + 1 | 0;
            if ($var27 <= $this.$field_1301_f) {
                $var15 = $this.$field_1299_a;
                $ptr = 4;
                continue main;
            }
            $var11 = $var11 + 1 | 0;
            while (true) {
                if ($var11 <= $this.$field_1300_g) {
                    $var12 = $var10 >> 4;
                    $var13 = $var11 >> 4;
                    $var26 = 0;
                    $var27 = 1;
                    $ptr = 2;
                    continue main;
                }
                $var10 = $var10 + 1 | 0;
                if ($var10 > $this.$field_1302_e)
                    break;
                $var11 = $this.$field_1303_d;
            }
            return;
        case 18:
            nms_World_neighborLightPropagationChanged($var1, $var15, $var26, $var27, $var11, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $var27 + 1 | 0;
            if ($var26 >= $this.$field_1301_f) {
                $var15 = $this.$field_1299_a;
                $ptr = 19;
                continue main;
            }
            $var26 = $var11 + 1 | 0;
            if ($var26 >= $this.$field_1300_g) {
                $var15 = $this.$field_1299_a;
                $ptr = 20;
                continue main;
            }
            $var27 = $var27 + 1 | 0;
            if ($var27 <= $this.$field_1301_f) {
                $var15 = $this.$field_1299_a;
                $ptr = 4;
                continue main;
            }
            $var11 = $var11 + 1 | 0;
            while (true) {
                if ($var11 <= $this.$field_1300_g) {
                    $var12 = $var10 >> 4;
                    $var13 = $var11 >> 4;
                    $var26 = 0;
                    $var27 = 1;
                    $ptr = 2;
                    continue main;
                }
                $var10 = $var10 + 1 | 0;
                if ($var10 > $this.$field_1302_e)
                    break;
                $var11 = $this.$field_1303_d;
            }
            return;
        case 19:
            nms_World_neighborLightPropagationChanged($var1, $var15, $var10, $var26, $var11, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $var11 + 1 | 0;
            if ($var26 >= $this.$field_1300_g) {
                $var15 = $this.$field_1299_a;
                $ptr = 20;
                continue main;
            }
            $var27 = $var27 + 1 | 0;
            if ($var27 <= $this.$field_1301_f) {
                $var15 = $this.$field_1299_a;
                $ptr = 4;
                continue main;
            }
            $var11 = $var11 + 1 | 0;
            while (true) {
                if ($var11 <= $this.$field_1300_g) {
                    $var12 = $var10 >> 4;
                    $var13 = $var11 >> 4;
                    $var26 = 0;
                    $var27 = 1;
                    $ptr = 2;
                    continue main;
                }
                $var10 = $var10 + 1 | 0;
                if ($var10 > $this.$field_1302_e)
                    break;
                $var11 = $this.$field_1303_d;
            }
            return;
        case 20:
            nms_World_neighborLightPropagationChanged($var1, $var15, $var10, $var27, $var26, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $var27 = $var27 + 1 | 0;
            if ($var27 <= $this.$field_1301_f) {
                $var15 = $this.$field_1299_a;
                $ptr = 4;
                continue main;
            }
            $var11 = $var11 + 1 | 0;
            while (true) {
                if ($var11 <= $this.$field_1300_g) {
                    $var12 = $var10 >> 4;
                    $var13 = $var11 >> 4;
                    $var26 = 0;
                    $var27 = 1;
                    $ptr = 2;
                    continue main;
                }
                $var10 = $var10 + 1 | 0;
                if ($var10 > $this.$field_1302_e)
                    break;
                $var11 = $this.$field_1303_d;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var26, $var10, $var15, $var11, $var12, $var13, $var27, $var16, $var18, $var19, $var28, $var21, $var22, $var23, $var24, $var25, $ptr);
    }
    function nms_MetadataChunkBlock_func_866_a($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var var$7, $var14, var$9, var$10, var$11, var$12, var$13, $var8, $var9, $var10;
        var$7 = $this.$field_1298_b;
        $var14 = $rt_compare($var1, var$7);
        if ($var14 >= 0 && $var2 >= $this.$field_1304_c && $var3 >= $this.$field_1303_d && $var4 <= $this.$field_1302_e && $var5 <= $this.$field_1301_f && $var6 <= $this.$field_1300_g)
            return 1;
        if ($var1 >= (var$7 - 1 | 0)) {
            var$9 = $this.$field_1304_c;
            if ($var2 >= (var$9 - 1 | 0)) {
                var$10 = $this.$field_1303_d;
                if ($var3 >= (var$10 - 1 | 0)) {
                    var$11 = $this.$field_1302_e;
                    if ($var4 <= (var$11 + 1 | 0)) {
                        var$12 = $this.$field_1301_f;
                        if ($var5 <= (var$12 + 1 | 0)) {
                            var$13 = $this.$field_1300_g;
                            if ($var6 <= (var$13 + 1 | 0)) {
                                $var8 = var$11 - var$7 | 0;
                                $var9 = var$12 - var$9 | 0;
                                $var10 = var$13 - var$10 | 0;
                                if ($var14 <= 0)
                                    var$7 = $var1;
                                if ($var2 <= var$9)
                                    var$9 = $var2;
                                if ($var3 <= var$10)
                                    var$10 = $var3;
                                if ($var4 >= var$11)
                                    var$11 = $var4;
                                if ($var5 >= var$12)
                                    var$12 = $var5;
                                if ($var6 >= var$13)
                                    var$13 = $var6;
                                if (($rt_imul($rt_imul(var$11 - var$7 | 0, var$12 - var$9 | 0), var$13 - var$10 | 0) - $rt_imul($rt_imul($var8, $var9), $var10) | 0) <= 2) {
                                    $this.$field_1298_b = var$7;
                                    $this.$field_1304_c = var$9;
                                    $this.$field_1303_d = var$10;
                                    $this.$field_1302_e = var$11;
                                    $this.$field_1301_f = var$12;
                                    $this.$field_1300_g = var$13;
                                    return 1;
                                }
                            }
                        }
                    }
                }
            }
        }
        return 0;
    }
    var nms_SpawnerAnimals = $rt_classWithoutFields();
    var nms_SpawnerAnimals_eligibleChunksForSpawning = null;
    var nms_SpawnerAnimals_nightSpawnEntities = null;
    function nms_SpawnerAnimals__init_0() {
        var var_0 = new nms_SpawnerAnimals();
        nms_SpawnerAnimals__init_(var_0);
        return var_0;
    }
    function nms_SpawnerAnimals__init_($this) {}
    function nms_SpawnerAnimals_performSpawning($var0, $var1, $var2) {
        var $var3, $var35, $var7, $var36, $var6, $var37, $var38, $var41, $var4, $var5, $var8, $var9, $var39, $var10, $var11, $var33, $var42, $var18, $var19, $var20, $var21, $var25, $var26, var$27, var$28, $var27, $var28, $var29, var$32, var$33, var$34, $var30, $var31, $var32, $e, $var43, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var43 = $thread.pop();$e = $thread.pop();$var32 = $thread.pop();$var31 = $thread.pop();$var30 = $thread.pop();var$34 = $thread.pop();var$33 = $thread.pop();var$32 = $thread.pop();$var29 = $thread.pop();$var28 = $thread.pop();$var27 = $thread.pop();var$28 = $thread.pop();var$27 = $thread.pop();$var26 = $thread.pop();$var25 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var42 = $thread.pop();$var33 = $thread.pop();$var11
            = $thread.pop();$var10 = $thread.pop();$var39 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var41 = $thread.pop();$var38 = $thread.pop();$var37 = $thread.pop();$var6 = $thread.pop();$var36 = $thread.pop();$var7 = $thread.pop();$var35 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$var1 && !$var2)
                return 0;
            ju_HashSet_clear(nms_SpawnerAnimals_eligibleChunksForSpawning);
            $var3 = 0;
            a: while (true) {
                $var35 = $var0.$playerEntities;
                if ($var3 >= $var35.$size0) {
                    $var7 = 0;
                    $var35 = nms_World_getSpawnPoint($var0);
                    $var36 = (nms_EnumCreatureType_values()).data;
                    $var6 = $var36.length;
                    $var37 = 0;
                    while ($var37 < $var6) {
                        $var38 = $var36[$var37];
                        $var3 = $var38.$isPeacefulCreature;
                        if (!($var3 && !$var2) && !(!$var3 && !$var1) && nms_World_countEntities($var0, $var38.$creatureClass) <= ($rt_imul($var38.$maxNumberOfCreature, ju_HashSet_size(nms_SpawnerAnimals_eligibleChunksForSpawning)) / 256 | 0)) {
                            $var41 = nms_SpawnerAnimals_eligibleChunksForSpawning;
                            $ptr = 2;
                            continue main;
                        }
                        $var37 = $var37 + 1 | 0;
                    }
                    return $var7;
                }
                $var4 = ju_ArrayList_get($var35, $var3);
                $var5 = nms_MathHelper_floor_double($var4.$posX / 16.0);
                $var6 = nms_MathHelper_floor_double($var4.$posZ / 16.0);
                $var7 = 8;
                $var37 = (-8);
                $var8 = $var37;
                while ($var8 <= $var7) {
                    $var9 = $var37;
                    if ($var9 <= $var7)
                        break a;
                    $var8 = $var8 + 1 | 0;
                }
                $var3 = $var3 + 1 | 0;
            }
            $var35 = nms_SpawnerAnimals_eligibleChunksForSpawning;
            $var41 = nms_ChunkCoordIntPair__init_0($var8 + $var5 | 0, $var9 + $var6 | 0);
            $ptr = 1;
        case 1:
            ju_HashSet_add($var35, $var41);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $var9 + 1 | 0;
            while ($var9 > $var7) {
                $var8 = $var8 + 1 | 0;
                while ($var8 > $var7) {
                    $var3 = $var3 + 1 | 0;
                    $var35 = $var0.$playerEntities;
                    if ($var3 >= $var35.$size0) {
                        $var7 = 0;
                        $var35 = nms_World_getSpawnPoint($var0);
                        $var36 = (nms_EnumCreatureType_values()).data;
                        $var6 = $var36.length;
                        $var37 = 0;
                        while ($var37 < $var6) {
                            $var38 = $var36[$var37];
                            $var3 = $var38.$isPeacefulCreature;
                            if (!($var3 && !$var2) && !(!$var3 && !$var1) && nms_World_countEntities($var0, $var38.$creatureClass) <= ($rt_imul($var38.$maxNumberOfCreature, ju_HashSet_size(nms_SpawnerAnimals_eligibleChunksForSpawning)) / 256 | 0)) {
                                $var41 = nms_SpawnerAnimals_eligibleChunksForSpawning;
                                $ptr = 2;
                                continue main;
                            }
                            $var37 = $var37 + 1 | 0;
                        }
                        return $var7;
                    }
                    $var4 = ju_ArrayList_get($var35, $var3);
                    $var5 = nms_MathHelper_floor_double($var4.$posX / 16.0);
                    $var6 = nms_MathHelper_floor_double($var4.$posZ / 16.0);
                    $var7 = 8;
                    $var37 = (-8);
                    $var8 = $var37;
                }
                $var9 = $var37;
            }
            $var35 = nms_SpawnerAnimals_eligibleChunksForSpawning;
            $var41 = nms_ChunkCoordIntPair__init_0($var8 + $var5 | 0, $var9 + $var6 | 0);
            continue main;
        case 2:
            $tmp = ju_HashSet_iterator($var41);
            if ($rt_suspending()) {
                break main;
            }
            $var39 = $tmp;
            if ($var39.$hasNext()) {
                $ptr = 3;
                continue main;
            }
            while (true) {
                $var37 = $var37 + 1 | 0;
                if ($var37 >= $var6)
                    break;
                $var38 = $var36[$var37];
                $var3 = $var38.$isPeacefulCreature;
                if ($var3 && !$var2)
                    continue;
                if (!$var3 && !$var1)
                    continue;
                if (nms_World_countEntities($var0, $var38.$creatureClass) <= ($rt_imul($var38.$maxNumberOfCreature, ju_HashSet_size(nms_SpawnerAnimals_eligibleChunksForSpawning)) / 256 | 0)) {
                    $var41 = nms_SpawnerAnimals_eligibleChunksForSpawning;
                    continue main;
                }
            }
            return $var7;
        case 3:
            $tmp = $var39.$next();
            if ($rt_suspending()) {
                break main;
            }
            $var41 = $tmp;
            $var10 = $var41;
            $var41 = nms_World_getWorldChunkManager($var0);
            $ptr = 4;
        case 4:
            $tmp = $var41.$func_4074_a($var10);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $ptr = 5;
        case 5:
            $tmp = nms_MobSpawnerBase_getEntitiesForType($var11, $var38);
            if ($rt_suspending()) {
                break main;
            }
            $var33 = $tmp;
            if ($var33 !== null) {
                $var33 = $var33.data;
                $var3 = $var33.length;
                if ($var3) {
                    $var8 = ju_Random_nextInt($var0.$rand2, $var3);
                    $var5 = $var10.$chunkXPos * 16 | 0;
                    $var3 = $var10.$chunkZPos * 16 | 0;
                    $var41 = nms_ChunkPosition__init_0($var5 + ju_Random_nextInt($var0.$rand2, 16) | 0, ju_Random_nextInt($var0.$rand2, 128), $var3 + ju_Random_nextInt($var0.$rand2, 16) | 0);
                    $var42 = $var41.$x1;
                    $var18 = $var41.$y1;
                    $var19 = $var41.$z1;
                    $ptr = 6;
                    continue main;
                }
            }
            if ($var39.$hasNext()) {
                $ptr = 3;
                continue main;
            }
            while (true) {
                $var37 = $var37 + 1 | 0;
                if ($var37 >= $var6)
                    break;
                $var38 = $var36[$var37];
                $var3 = $var38.$isPeacefulCreature;
                if ($var3 && !$var2)
                    continue;
                if (!$var3 && !$var1)
                    continue;
                if (nms_World_countEntities($var0, $var38.$creatureClass) <= ($rt_imul($var38.$maxNumberOfCreature, ju_HashSet_size(nms_SpawnerAnimals_eligibleChunksForSpawning)) / 256 | 0)) {
                    $var41 = nms_SpawnerAnimals_eligibleChunksForSpawning;
                    $ptr = 2;
                    continue main;
                }
            }
            return $var7;
        case 6:
            $tmp = nms_World_isBlockOpaqueCube($var0, $var42, $var18, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if (!$var3) {
                $ptr = 7;
                continue main;
            }
            if ($var39.$hasNext()) {
                $ptr = 3;
                continue main;
            }
            while (true) {
                $var37 = $var37 + 1 | 0;
                if ($var37 >= $var6)
                    break;
                $var38 = $var36[$var37];
                $var3 = $var38.$isPeacefulCreature;
                if ($var3 && !$var2)
                    continue;
                if (!$var3 && !$var1)
                    continue;
                if (nms_World_countEntities($var0, $var38.$creatureClass) <= ($rt_imul($var38.$maxNumberOfCreature, ju_HashSet_size(nms_SpawnerAnimals_eligibleChunksForSpawning)) / 256 | 0)) {
                    $var41 = nms_SpawnerAnimals_eligibleChunksForSpawning;
                    $ptr = 2;
                    continue main;
                }
            }
            return $var7;
        case 7:
            $tmp = nms_World_getBlockMaterial($var0, $var42, $var18, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var41 = $tmp;
            if ($var41 === $var38.$creatureMaterial) {
                $var20 = 0;
                $var21 = 0;
                while ($var21 < 3) {
                    $var25 = 6;
                    $var26 = 0;
                    $var9 = $var42;
                    var$27 = $var18;
                    var$28 = $var19;
                    if ($var26 < 4) {
                        $var9 = $var9 + (ju_Random_nextInt($var0.$rand2, $var25) - ju_Random_nextInt($var0.$rand2, $var25) | 0) | 0;
                        var$27 = var$27 + (ju_Random_nextInt($var0.$rand2, 1) - ju_Random_nextInt($var0.$rand2, 1) | 0) | 0;
                        var$28 = var$28 + (ju_Random_nextInt($var0.$rand2, $var25) - ju_Random_nextInt($var0.$rand2, $var25) | 0) | 0;
                        $ptr = 8;
                        continue main;
                    }
                    $var21 = $var21 + 1 | 0;
                }
            }
            if ($var39.$hasNext()) {
                $ptr = 3;
                continue main;
            }
            while (true) {
                $var37 = $var37 + 1 | 0;
                if ($var37 >= $var6)
                    break;
                $var38 = $var36[$var37];
                $var3 = $var38.$isPeacefulCreature;
                if ($var3 && !$var2)
                    continue;
                if (!$var3 && !$var1)
                    continue;
                if (nms_World_countEntities($var0, $var38.$creatureClass) <= ($rt_imul($var38.$maxNumberOfCreature, ju_HashSet_size(nms_SpawnerAnimals_eligibleChunksForSpawning)) / 256 | 0)) {
                    $var41 = nms_SpawnerAnimals_eligibleChunksForSpawning;
                    $ptr = 2;
                    continue main;
                }
            }
            return $var7;
        case 8:
            $tmp = nms_SpawnerAnimals_canCreatureTypeSpawnAtLocation($var38, $var0, $var9, var$27, var$28);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3) {
                $var27 = $var9 + 0.5;
                $var28 = var$27;
                $var29 = var$28 + 0.5;
                var$32 = $var27;
                var$33 = $var28;
                var$34 = $var29;
                if (nms_World_getClosestPlayer($var0, var$32, var$33, var$34, 24.0) === null) {
                    $var30 = $var27 - $var35.$x;
                    $var31 = $var28 - $var35.$y;
                    $var32 = $var29 - $var35.$z;
                    if ($var30 * $var30 + $var31 * $var31 + $var32 * $var32 >= 576.0) {
                        try {
                            $var41 = $var33[$var8];
                            $ptr = 9;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Exception) {
                                $e = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        $ptr = 10;
                        continue main;
                    }
                }
            }
            $var26 = $var26 + 1 | 0;
            while ($var26 >= 4) {
                $var21 = $var21 + 1 | 0;
                if ($var21 >= 3) {
                    if ($var39.$hasNext()) {
                        $ptr = 3;
                        continue main;
                    }
                    while (true) {
                        $var37 = $var37 + 1 | 0;
                        if ($var37 >= $var6)
                            break;
                        $var38 = $var36[$var37];
                        $var3 = $var38.$isPeacefulCreature;
                        if ($var3 && !$var2)
                            continue;
                        if (!$var3 && !$var1)
                            continue;
                        if (nms_World_countEntities($var0, $var38.$creatureClass) <= ($rt_imul($var38.$maxNumberOfCreature, ju_HashSet_size(nms_SpawnerAnimals_eligibleChunksForSpawning)) / 256 | 0)) {
                            $var41 = nms_SpawnerAnimals_eligibleChunksForSpawning;
                            $ptr = 2;
                            continue main;
                        }
                    }
                    return $var7;
                }
                $var25 = 6;
                $var26 = 0;
                $var9 = $var42;
                var$27 = $var18;
                var$28 = $var19;
            }
            $var9 = $var9 + (ju_Random_nextInt($var0.$rand2, $var25) - ju_Random_nextInt($var0.$rand2, $var25) | 0) | 0;
            var$27 = var$27 + (ju_Random_nextInt($var0.$rand2, 1) - ju_Random_nextInt($var0.$rand2, 1) | 0) | 0;
            var$28 = var$28 + (ju_Random_nextInt($var0.$rand2, $var25) - ju_Random_nextInt($var0.$rand2, $var25) | 0) | 0;
            continue main;
        case 9:
            b: {
                try {
                    $tmp = $var41.$createEntity($var0);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $var43 = $tmp;
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $e = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 10;
                continue main;
            }
            nms_Entity_setLocationAndAngles($var43, var$32, var$33, var$34, ju_Random_nextFloat($var0.$rand2) * 360.0, 0.0);
            $ptr = 11;
            continue main;
        case 10:
            jl_Throwable_printStackTrace($e);
            if ($rt_suspending()) {
                break main;
            }
            return $var7;
        case 11:
            $tmp = $var43.$getCanSpawnHere();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3) {
                $var20 = $var20 + 1 | 0;
                $ptr = 12;
                continue main;
            }
            $var7 = $var7 + $var20 | 0;
            $var26 = $var26 + 1 | 0;
            while ($var26 >= 4) {
                $var21 = $var21 + 1 | 0;
                if ($var21 >= 3) {
                    if ($var39.$hasNext()) {
                        $ptr = 3;
                        continue main;
                    }
                    while (true) {
                        $var37 = $var37 + 1 | 0;
                        if ($var37 >= $var6)
                            break;
                        $var38 = $var36[$var37];
                        $var3 = $var38.$isPeacefulCreature;
                        if ($var3 && !$var2)
                            continue;
                        if (!$var3 && !$var1)
                            continue;
                        if (nms_World_countEntities($var0, $var38.$creatureClass) <= ($rt_imul($var38.$maxNumberOfCreature, ju_HashSet_size(nms_SpawnerAnimals_eligibleChunksForSpawning)) / 256 | 0)) {
                            $var41 = nms_SpawnerAnimals_eligibleChunksForSpawning;
                            $ptr = 2;
                            continue main;
                        }
                    }
                    return $var7;
                }
                $var25 = 6;
                $var26 = 0;
                $var9 = $var42;
                var$27 = $var18;
                var$28 = $var19;
            }
            $var9 = $var9 + (ju_Random_nextInt($var0.$rand2, $var25) - ju_Random_nextInt($var0.$rand2, $var25) | 0) | 0;
            var$27 = var$27 + (ju_Random_nextInt($var0.$rand2, 1) - ju_Random_nextInt($var0.$rand2, 1) | 0) | 0;
            var$28 = var$28 + (ju_Random_nextInt($var0.$rand2, $var25) - ju_Random_nextInt($var0.$rand2, $var25) | 0) | 0;
            $ptr = 8;
            continue main;
        case 12:
            $var0.$entityJoinedWorld($var43);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_SpawnerAnimals_creatureSpecificInit($var43, $var0, $var27, $var28, $var29);
            if ($rt_suspending()) {
                break main;
            }
            if ($var20 < $var43.$getMaxSpawnedInChunk()) {
                $var7 = $var7 + $var20 | 0;
                $var26 = $var26 + 1 | 0;
                while (true) {
                    if ($var26 < 4) {
                        $var9 = $var9 + (ju_Random_nextInt($var0.$rand2, $var25) - ju_Random_nextInt($var0.$rand2, $var25) | 0) | 0;
                        var$27 = var$27 + (ju_Random_nextInt($var0.$rand2, 1) - ju_Random_nextInt($var0.$rand2, 1) | 0) | 0;
                        var$28 = var$28 + (ju_Random_nextInt($var0.$rand2, $var25) - ju_Random_nextInt($var0.$rand2, $var25) | 0) | 0;
                        $ptr = 8;
                        continue main;
                    }
                    $var21 = $var21 + 1 | 0;
                    if ($var21 >= 3)
                        break;
                    $var25 = 6;
                    $var26 = 0;
                    $var9 = $var42;
                    var$27 = $var18;
                    var$28 = $var19;
                }
            }
            if ($var39.$hasNext()) {
                $ptr = 3;
                continue main;
            }
            while (true) {
                $var37 = $var37 + 1 | 0;
                if ($var37 >= $var6)
                    break;
                $var38 = $var36[$var37];
                $var3 = $var38.$isPeacefulCreature;
                if ($var3 && !$var2)
                    continue;
                if (!$var3 && !$var1)
                    continue;
                if (nms_World_countEntities($var0, $var38.$creatureClass) <= ($rt_imul($var38.$maxNumberOfCreature, ju_HashSet_size(nms_SpawnerAnimals_eligibleChunksForSpawning)) / 256 | 0)) {
                    $var41 = nms_SpawnerAnimals_eligibleChunksForSpawning;
                    $ptr = 2;
                    continue main;
                }
            }
            return $var7;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $var2, $var3, $var35, $var7, $var36, $var6, $var37, $var38, $var41, $var4, $var5, $var8, $var9, $var39, $var10, $var11, $var33, $var42, $var18, $var19, $var20, $var21, $var25, $var26, var$27, var$28, $var27, $var28, $var29, var$32, var$33, var$34, $var30, $var31, $var32, $e, $var43, $ptr);
    }
    function nms_SpawnerAnimals_canCreatureTypeSpawnAtLocation($var0, $var1, $var2, $var3, $var4) {
        var var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var0 = $var0.$creatureMaterial;
            nms_Material_$callClinit();
            if ($var0 === nms_Material_water) {
                $ptr = 2;
                continue main;
            }
            var$6 = $var3 - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, var$6, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (!var$6)
                return 0;
            $ptr = 3;
            continue main;
        case 2:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var0 = $tmp;
            if (!$var0.$getIsLiquid())
                return 0;
            $var3 = $var3 + 1 | 0;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6)
                return 0;
            $ptr = 5;
            continue main;
        case 4:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2 ? 0 : 1;
        case 5:
            $tmp = nms_World_getBlockMaterial($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var0 = $tmp;
            if ($var0.$getIsLiquid())
                return 0;
            $var3 = $var3 + 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $var2, $var3, $var4, var$6, $ptr);
    }
    function nms_SpawnerAnimals_creatureSpecificInit($var0, $var1, $var2, $var3, $var4) {
        var $var5, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var0 instanceof nms_EntitySpider && !ju_Random_nextInt($var1.$rand2, 100)) {
                $var5 = new nms_EntitySkeleton;
                $ptr = 1;
                continue main;
            }
            if (!($var0 instanceof nms_EntitySheep))
                return;
            $var0 = $var0;
            $var1 = $var1.$rand2;
            var$7 = ju_Random_nextInt($var1, 100);
            var$7 = var$7 < 5 ? 15 : var$7 < 10 ? 7 : var$7 < 15 ? 8 : var$7 < 18 ? 12 : ju_Random_nextInt($var1, 500) ? 0 : 6;
            $ptr = 3;
            continue main;
        case 1:
            nms_EntitySkeleton__init_($var5, $var1);
            if ($rt_suspending()) {
                break main;
            }
            nms_Entity_setLocationAndAngles($var5, $var2, $var3, $var4, $var0.$rotationYaw, 0.0);
            $ptr = 2;
        case 2:
            $var1.$entityJoinedWorld($var5);
            if ($rt_suspending()) {
                break main;
            }
            nms_Entity_mountEntity($var5, $var0);
            return;
        case 3:
            nms_EntitySheep_setFleeceColor($var0, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $var2, $var3, $var4, $var5, var$7, $ptr);
    }
    function nms_SpawnerAnimals_performSleepSpawning($var0, $var1) {
        var $var2, $var3, $var4, $var5, $var6, var$8, $var7, $var8, $var9, $var10, $var11, $var12, $var13, var$16, $var14, $var15, $var16, $var21, $var17, $var18, $var19, $var20, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var21 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();var$16 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2
            = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = 0;
            $var3 = nms_Pathfinder__init_0($var0);
            $ptr = 1;
        case 1:
            $tmp = ju_AbstractList_iterator($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!ju_AbstractList$1_hasNext($var4))
                return $var2;
            $ptr = 2;
        case 2:
            $tmp = ju_AbstractList$1_next($var4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var5 = $var1;
            $var6 = nms_SpawnerAnimals_nightSpawnEntities;
            if ($var6 !== null) {
                $var6 = $var6.data;
                var$8 = $var6.length;
                if (var$8) {
                    $var7 = 0;
                    $var8 = 0;
                    if ($var8 < 20 && !$var7) {
                        $var9 = (nms_MathHelper_floor_double($var5.$posX) + ju_Random_nextInt($var0.$rand2, 32) | 0) - ju_Random_nextInt($var0.$rand2, 32) | 0;
                        $var10 = (nms_MathHelper_floor_double($var5.$posZ) + ju_Random_nextInt($var0.$rand2, 32) | 0) - ju_Random_nextInt($var0.$rand2, 32) | 0;
                        $var11 = (nms_MathHelper_floor_double($var5.$posY) + ju_Random_nextInt($var0.$rand2, 16) | 0) - ju_Random_nextInt($var0.$rand2, 16) | 0;
                        if ($var11 < 1)
                            $var11 = 1;
                        else if ($var11 > 128)
                            $var11 = 128;
                        $var12 = ju_Random_nextInt($var0.$rand2, var$8);
                        $var13 = $var11;
                        if ($var13 > 2) {
                            var$16 = $var13 - 1 | 0;
                            $ptr = 3;
                            continue main;
                        }
                        nms_EnumCreatureType_$callClinit();
                        $var1 = nms_EnumCreatureType_monster;
                        $ptr = 4;
                        continue main;
                    }
                }
            }
            if (!ju_AbstractList$1_hasNext($var4))
                return $var2;
            continue main;
        case 3:
            $tmp = nms_World_isBlockOpaqueCube($var0, $var9, var$16, $var10);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = $tmp;
            if (!var$16) {
                $var13 = $var13 + (-1) | 0;
                if ($var13 > 2) {
                    var$16 = $var13 - 1 | 0;
                    continue main;
                }
            }
            nms_EnumCreatureType_$callClinit();
            $var1 = nms_EnumCreatureType_monster;
            $ptr = 4;
        case 4:
            $tmp = nms_SpawnerAnimals_canCreatureTypeSpawnAtLocation($var1, $var0, $var9, $var13, $var10);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = $tmp;
            if (!var$16 && $var13 < ($var11 + 16 | 0) && $var13 < 128)
                $var13 = $var13 + 1 | 0;
            else {
                if ($var13 < ($var11 + 16 | 0) && $var13 < 128) {
                    $var14 = $var9 + 0.5;
                    $var15 = $var13;
                    $var16 = $var10 + 0.5;
                    try {
                        $var1 = $var6[$var12];
                        $ptr = 5;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Exception) {
                            $var21 = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    $ptr = 6;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
                if ($var8 < 20 && !$var7) {
                    $var9 = (nms_MathHelper_floor_double($var5.$posX) + ju_Random_nextInt($var0.$rand2, 32) | 0) - ju_Random_nextInt($var0.$rand2, 32) | 0;
                    $var10 = (nms_MathHelper_floor_double($var5.$posZ) + ju_Random_nextInt($var0.$rand2, 32) | 0) - ju_Random_nextInt($var0.$rand2, 32) | 0;
                    $var11 = (nms_MathHelper_floor_double($var5.$posY) + ju_Random_nextInt($var0.$rand2, 16) | 0) - ju_Random_nextInt($var0.$rand2, 16) | 0;
                    if ($var11 < 1)
                        $var11 = 1;
                    else if ($var11 > 128)
                        $var11 = 128;
                    $var12 = ju_Random_nextInt($var0.$rand2, var$8);
                    $var13 = $var11;
                    if ($var13 > 2) {
                        var$16 = $var13 - 1 | 0;
                        $ptr = 3;
                        continue main;
                    }
                } else {
                    if (!ju_AbstractList$1_hasNext($var4))
                        return $var2;
                    $ptr = 2;
                    continue main;
                }
            }
            nms_EnumCreatureType_$callClinit();
            $var1 = nms_EnumCreatureType_monster;
            continue main;
        case 5:
            a: {
                try {
                    $tmp = $var1.$createEntity($var0);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $var17 = $tmp;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var21 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 6;
                continue main;
            }
            nms_Entity_setLocationAndAngles($var17, $var14, $var15, $var16, ju_Random_nextFloat($var0.$rand2) * 360.0, 0.0);
            $ptr = 7;
            continue main;
        case 6:
            jl_Throwable_printStackTrace($var21);
            if ($rt_suspending()) {
                break main;
            }
            return $var2;
        case 7:
            $tmp = nms_EntityMobs_getCanSpawnHere($var17);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            if ($var11) {
                $var14 = 32.0;
                $ptr = 8;
                continue main;
            }
            $var8 = $var8 + 1 | 0;
            if ($var8 < 20 && !$var7) {
                $var9 = (nms_MathHelper_floor_double($var5.$posX) + ju_Random_nextInt($var0.$rand2, 32) | 0) - ju_Random_nextInt($var0.$rand2, 32) | 0;
                $var10 = (nms_MathHelper_floor_double($var5.$posZ) + ju_Random_nextInt($var0.$rand2, 32) | 0) - ju_Random_nextInt($var0.$rand2, 32) | 0;
                $var11 = (nms_MathHelper_floor_double($var5.$posY) + ju_Random_nextInt($var0.$rand2, 16) | 0) - ju_Random_nextInt($var0.$rand2, 16) | 0;
                if ($var11 < 1)
                    $var11 = 1;
                else if ($var11 > 128)
                    $var11 = 128;
                $var12 = ju_Random_nextInt($var0.$rand2, var$8);
                $var13 = $var11;
                if ($var13 > 2) {
                    var$16 = $var13 - 1 | 0;
                    $ptr = 3;
                    continue main;
                }
                nms_EnumCreatureType_$callClinit();
                $var1 = nms_EnumCreatureType_monster;
                $ptr = 4;
                continue main;
            }
            if (!ju_AbstractList$1_hasNext($var4))
                return $var2;
            $ptr = 2;
            continue main;
        case 8:
            $tmp = nms_Pathfinder_createEntityPathTo($var3, $var17, $var5, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var18 = $tmp;
            if ($var18 !== null) {
                $var11 = $var18.$pathLength;
                if ($var11 > 1) {
                    $var19 = $var11 <= 0 ? null : $var18.$points.data[$var11 - 1 | 0];
                    if (jl_Math_abs1($var19.$xCoord3 - $var5.$posX) < 1.5 && jl_Math_abs1($var19.$zCoord3 - $var5.$posZ) < 1.5 && jl_Math_abs1($var19.$yCoord3 - $var5.$posY) < 1.5) {
                        $var2 = nms_MathHelper_floor_double($var5.$posX);
                        $var11 = nms_MathHelper_floor_double($var5.$posY);
                        $var12 = nms_MathHelper_floor_double($var5.$posZ);
                        $var7 = 1;
                        $ptr = 9;
                        continue main;
                    }
                }
            }
            $var8 = $var8 + 1 | 0;
            if ($var8 < 20 && !$var7) {
                $var9 = (nms_MathHelper_floor_double($var5.$posX) + ju_Random_nextInt($var0.$rand2, 32) | 0) - ju_Random_nextInt($var0.$rand2, 32) | 0;
                $var10 = (nms_MathHelper_floor_double($var5.$posZ) + ju_Random_nextInt($var0.$rand2, 32) | 0) - ju_Random_nextInt($var0.$rand2, 32) | 0;
                $var11 = (nms_MathHelper_floor_double($var5.$posY) + ju_Random_nextInt($var0.$rand2, 16) | 0) - ju_Random_nextInt($var0.$rand2, 16) | 0;
                if ($var11 < 1)
                    $var11 = 1;
                else if ($var11 > 128)
                    $var11 = 128;
                $var12 = ju_Random_nextInt($var0.$rand2, var$8);
                $var13 = $var11;
                if ($var13 > 2) {
                    var$16 = $var13 - 1 | 0;
                    $ptr = 3;
                    continue main;
                }
                nms_EnumCreatureType_$callClinit();
                $var1 = nms_EnumCreatureType_monster;
                $ptr = 4;
                continue main;
            }
            if (!ju_AbstractList$1_hasNext($var4))
                return $var2;
            $ptr = 2;
            continue main;
        case 9:
            $tmp = nms_BlockBed_getNearestEmptyChunkCoordinates($var0, $var2, $var11, $var12, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var20 = $tmp;
            if ($var20 === null)
                $var20 = nms_ChunkCoordinates__init_2($var9, $var13 + 1 | 0, $var10);
            nms_Entity_setLocationAndAngles($var17, $var20.$x + 0.5, $var20.$y, $var20.$z + 0.5, 0.0, 0.0);
            $ptr = 10;
        case 10:
            $var0.$entityJoinedWorld($var17);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $var20.$x + 0.5;
            $var15 = $var20.$y;
            $var16 = $var20.$z + 0.5;
            $ptr = 11;
        case 11:
            nms_SpawnerAnimals_creatureSpecificInit($var17, $var0, $var14, $var15, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 1;
            $var10 = 0;
            $var11 = 0;
            $ptr = 12;
        case 12:
            nms_EntityPlayer_wakeUpPlayer($var5, $var2, $var10, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 13;
        case 13:
            nms_EntityLiving_playLivingSound($var17);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 1;
            $var7 = 1;
            $var8 = $var8 + 1 | 0;
            if ($var8 < 20 && !$var7) {
                $var9 = (nms_MathHelper_floor_double($var5.$posX) + ju_Random_nextInt($var0.$rand2, 32) | 0) - ju_Random_nextInt($var0.$rand2, 32) | 0;
                $var10 = (nms_MathHelper_floor_double($var5.$posZ) + ju_Random_nextInt($var0.$rand2, 32) | 0) - ju_Random_nextInt($var0.$rand2, 32) | 0;
                $var11 = (nms_MathHelper_floor_double($var5.$posY) + ju_Random_nextInt($var0.$rand2, 16) | 0) - ju_Random_nextInt($var0.$rand2, 16) | 0;
                if ($var11 < 1)
                    $var11 = 1;
                else if ($var11 > 128)
                    $var11 = 128;
                $var12 = ju_Random_nextInt($var0.$rand2, var$8);
                $var13 = $var11;
                if ($var13 > 2) {
                    var$16 = $var13 - 1 | 0;
                    $ptr = 3;
                    continue main;
                }
                nms_EnumCreatureType_$callClinit();
                $var1 = nms_EnumCreatureType_monster;
                $ptr = 4;
                continue main;
            }
            if (!ju_AbstractList$1_hasNext($var4))
                return $var2;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $var2, $var3, $var4, $var5, $var6, var$8, $var7, $var8, $var9, $var10, $var11, $var12, $var13, var$16, $var14, $var15, $var16, $var21, $var17, $var18, $var19, $var20, $ptr);
    }
    function nms_SpawnerAnimals__clinit_() {
        nms_SpawnerAnimals_eligibleChunksForSpawning = ju_HashSet__init_0();
        nms_SpawnerAnimals_nightSpawnEntities = $rt_createArrayFromData(npem_EntityConstructor, [new nms_SpawnerAnimals$_clinit_$lambda$_6_0, new nms_SpawnerAnimals$_clinit_$lambda$_6_1, new nms_SpawnerAnimals$_clinit_$lambda$_6_2]);
    }
    var nlep_EaglerProfile$EnumSkinType = $rt_classWithoutFields(jl_Enum);
    var nlep_EaglerProfile$EnumSkinType_PRESET = null;
    var nlep_EaglerProfile$EnumSkinType_CUSTOM_LEGACY = null;
    var nlep_EaglerProfile$EnumSkinType_$VALUES = null;
    function nlep_EaglerProfile$EnumSkinType_$callClinit() {
        nlep_EaglerProfile$EnumSkinType_$callClinit = $rt_eraseClinit(nlep_EaglerProfile$EnumSkinType);
        nlep_EaglerProfile$EnumSkinType__clinit_();
    }
    function nlep_EaglerProfile$EnumSkinType__init_0(var_0, var_1) {
        var var_2 = new nlep_EaglerProfile$EnumSkinType();
        nlep_EaglerProfile$EnumSkinType__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nlep_EaglerProfile$EnumSkinType_values() {
        nlep_EaglerProfile$EnumSkinType_$callClinit();
        return nlep_EaglerProfile$EnumSkinType_$VALUES.$clone();
    }
    function nlep_EaglerProfile$EnumSkinType__init_($this, var$1, var$2) {
        nlep_EaglerProfile$EnumSkinType_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
    }
    function nlep_EaglerProfile$EnumSkinType__clinit_() {
        var var$1;
        nlep_EaglerProfile$EnumSkinType_PRESET = nlep_EaglerProfile$EnumSkinType__init_0($rt_s(2208), 0);
        var$1 = nlep_EaglerProfile$EnumSkinType__init_0($rt_s(2209), 1);
        nlep_EaglerProfile$EnumSkinType_CUSTOM_LEGACY = var$1;
        nlep_EaglerProfile$EnumSkinType_$VALUES = $rt_createArrayFromData(nlep_EaglerProfile$EnumSkinType, [nlep_EaglerProfile$EnumSkinType_PRESET, var$1]);
    }
    function nms_WorldClient() {
        var a = this; nms_World.call(a);
        a.$field_1057_z = null;
        a.$sendQueue0 = null;
        a.$field_20915_C = null;
        a.$field_1055_D = null;
        a.$field_20914_E = null;
        a.$field_1053_F = null;
    }
    function nms_WorldClient_tick($this) {
        var $var1, $var2, $var4, var$4, var$5, var$6, var$7, $var3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_World_setWorldTime($this, Long_add(nms_World_getWorldTime($this), Long_fromInt(1)));
            $var1 = nms_World_calculateSkylightSubtracted($this, 1.0);
            if ($var1 != $this.$skylightSubtracted) {
                $this.$skylightSubtracted = $var1;
                $var2 = 0;
                $var4 = $this.$worldAccesses;
                if ($var2 < $var4.$size0) {
                    $var4 = ju_ArrayList_get($var4, $var2);
                    $ptr = 2;
                    continue main;
                }
            }
            $var2 = 0;
            if ($var2 < 10 && !ju_HashMap_isEmpty($this.$field_1053_F.$backingMap)) {
                $var4 = $this.$field_1053_F;
                $ptr = 3;
                continue main;
            }
            $var4 = $this.$sendQueue0;
            $ptr = 1;
        case 1:
            nms_NetClientHandler_processReadPackets($var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 0;
            while (true) {
                $var4 = $this.$field_1057_z;
                if ($var2 >= $var4.$size2)
                    break;
                $var4 = ju_AbstractSequentialList_get($var4, $var2);
                $var1 = $var4.$field_1206_d - 1 | 0;
                $var4.$field_1206_d = $var1;
                if (!$var1) {
                    $var1 = $var4.$field_1202_a;
                    var$4 = $var4.$field_1201_b;
                    var$5 = $var4.$field_1207_c;
                    var$6 = $var4.$field_1205_e;
                    var$7 = $var4.$field_1204_f;
                    $ptr = 7;
                    continue main;
                }
                $var2 = $var2 + 1 | 0;
            }
            return;
        case 2:
            nms_RenderGlobal_updateAllRenderers($var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            $var4 = $this.$worldAccesses;
            if ($var2 < $var4.$size0) {
                $var4 = ju_ArrayList_get($var4, $var2);
                continue main;
            }
            $var2 = 0;
            if ($var2 < 10 && !ju_HashMap_isEmpty($this.$field_1053_F.$backingMap)) {
                $var4 = $this.$field_1053_F;
                $ptr = 3;
                continue main;
            }
            $var4 = $this.$sendQueue0;
            $ptr = 1;
            continue main;
        case 3:
            $tmp = ju_HashSet_iterator($var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $ptr = 4;
        case 4:
            $tmp = $var4.$next();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $var3 = $var4;
            $var4 = $this.$loadedEntityList;
            $ptr = 5;
        case 5:
            $tmp = ju_AbstractCollection_contains($var4, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if (!$var1) {
                $ptr = 6;
                continue main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 < 10 && !ju_HashMap_isEmpty($this.$field_1053_F.$backingMap)) {
                $var4 = $this.$field_1053_F;
                $ptr = 3;
                continue main;
            }
            $var4 = $this.$sendQueue0;
            $ptr = 1;
            continue main;
        case 6:
            nms_WorldClient_entityJoinedWorld($this, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 < 10 && !ju_HashMap_isEmpty($this.$field_1053_F.$backingMap)) {
                $var4 = $this.$field_1053_F;
                $ptr = 3;
                continue main;
            }
            $var4 = $this.$sendQueue0;
            $ptr = 1;
            continue main;
        case 7:
            nms_World_setBlockAndMetadata($this, $var1, var$4, var$5, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $var4.$field_1202_a;
            var$4 = $var4.$field_1201_b;
            var$5 = $var4.$field_1207_c;
            $ptr = 8;
        case 8:
            nms_World_markBlockNeedsUpdate($this, $var1, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $this.$field_1057_z;
            $var1 = $var2 + (-1) | 0;
            ju_AbstractSequentialList_remove($var4, $var2);
            while (true) {
                $var2 = $var1 + 1 | 0;
                $var4 = $this.$field_1057_z;
                if ($var2 >= $var4.$size2)
                    break;
                $var4 = ju_AbstractSequentialList_get($var4, $var2);
                $var1 = $var4.$field_1206_d - 1 | 0;
                $var4.$field_1206_d = $var1;
                if (!$var1) {
                    $var1 = $var4.$field_1202_a;
                    var$4 = $var4.$field_1201_b;
                    var$5 = $var4.$field_1207_c;
                    var$6 = $var4.$field_1205_e;
                    var$7 = $var4.$field_1204_f;
                    $ptr = 7;
                    continue main;
                }
                $var1 = $var2;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, var$4, var$5, var$6, var$7, $var3, $ptr);
    }
    function nms_WorldClient_func_711_c($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var7, $var8, var$9, var$10, var$11;
        $var7 = 0;
        while (true) {
            $var8 = $this.$field_1057_z;
            if ($var7 >= $var8.$size2)
                break;
            $var8 = ju_AbstractSequentialList_get($var8, $var7);
            var$9 = $var8.$field_1202_a;
            if (var$9 < $var1)
                var$9 = $var7;
            else {
                var$10 = $var8.$field_1201_b;
                if (var$10 < $var2)
                    var$9 = $var7;
                else {
                    var$11 = $var8.$field_1207_c;
                    if (var$11 < $var3)
                        var$9 = $var7;
                    else if (var$9 > $var4)
                        var$9 = $var7;
                    else if (var$10 > $var5)
                        var$9 = $var7;
                    else if (var$11 > $var6)
                        var$9 = $var7;
                    else {
                        $var8 = $this.$field_1057_z;
                        var$9 = $var7 + (-1) | 0;
                        ju_AbstractSequentialList_remove($var8, $var7);
                    }
                }
            }
            $var7 = var$9 + 1 | 0;
        }
    }
    function nms_WorldClient_setSpawnLocation($this) {
        nms_World_setSpawnPoint($this, nms_ChunkCoordinates__init_2(8, 64, 8));
    }
    function nms_WorldClient_updateBlocksAndPlayCaveSounds($this) {}
    function nms_WorldClient_scheduleBlockUpdate($this, $var1, $var2, $var3, $var4, $var5) {}
    function nms_WorldClient_TickUpdates($this, $var1) {
        return 0;
    }
    function nms_WorldClient_entityJoinedWorld($this, $var1) {
        var $var2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_entityJoinedWorld($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$3 = $this.$field_20914_E;
            $ptr = 2;
        case 2:
            ju_HashSet_add(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            if ($var2)
                return $var2;
            var$3 = $this.$field_1053_F;
            $ptr = 3;
        case 3:
            ju_HashSet_add(var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_WorldClient_setEntityDead($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_World_setEntityDead($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$field_20914_E;
            $ptr = 2;
        case 2:
            ju_HashSet_remove(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_WorldClient_obtainEntitySkin($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_World_obtainEntitySkin($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$field_1053_F;
            $ptr = 2;
        case 2:
            $tmp = ju_HashSet_contains(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return;
            var$2 = $this.$field_1053_F;
            $ptr = 3;
        case 3:
            ju_HashSet_remove(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_WorldClient_releaseEntitySkin($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_World_releaseEntitySkin($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$field_20914_E;
            $ptr = 2;
        case 2:
            $tmp = ju_HashSet_contains(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return;
            var$2 = $this.$field_1053_F;
            $ptr = 3;
        case 3:
            ju_HashSet_add(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_WorldClient_func_712_a($this, $var1, $var2) {
        var $var3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = nms_WorldClient_func_709_b($this, $var1);
            if ($var3 !== null) {
                $ptr = 3;
                continue main;
            }
            $var3 = $this.$field_20914_E;
            $ptr = 1;
        case 1:
            ju_HashSet_add($var3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2.$entityId = $var1;
            $ptr = 2;
        case 2:
            $tmp = nms_WorldClient_entityJoinedWorld($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            if (var$4) {
                nms_MCHashTable_addKey($this.$field_1055_D, $var1, $var2);
                return;
            }
            $var3 = $this.$field_1053_F;
            $ptr = 4;
            continue main;
        case 3:
            nms_WorldClient_setEntityDead($this, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $this.$field_20914_E;
            $ptr = 1;
            continue main;
        case 4:
            ju_HashSet_add($var3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            nms_MCHashTable_addKey($this.$field_1055_D, $var1, $var2);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_WorldClient_func_709_b($this, $var1) {
        return nms_MCHashTable_lookup($this.$field_1055_D, $var1);
    }
    function nms_WorldClient_removeEntityFromWorld($this, $var1) {
        var $var2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = $this.$field_1055_D;
            var$3 = nms_MCHashTable_getSlotIndex(nms_MCHashTable_computeHash($var1), $var2.$slots0.data.length);
            var$4 = $var2.$slots0.data;
            var$5 = var$4[var$3];
            var$6 = var$5;
            a: {
                while (var$5 !== null) {
                    var$7 = var$5.$nextEntry0;
                    if (var$5.$hashEntry == $var1) {
                        $var2.$versionStamp = $var2.$versionStamp + 1 | 0;
                        $var2.$count10 = $var2.$count10 - 1 | 0;
                        if (var$6 !== var$5)
                            var$6.$nextEntry0 = var$7;
                        else
                            var$4[var$3] = var$7;
                        break a;
                    }
                    var$6 = var$5;
                    var$5 = var$7;
                }
            }
            $var2 = var$5 !== null ? var$5.$valueEntry : null;
            if ($var2 === null)
                return $var2;
            var$5 = $this.$field_20914_E;
            $ptr = 1;
        case 1:
            ju_HashSet_remove(var$5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_WorldClient_setEntityDead($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_WorldClient_setBlockMetadata($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMetadata($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = nms_World_setBlockMetadata($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4)
                return 0;
            var$7 = $this.$field_1057_z;
            var$8 = nms_WorldBlockPositionType__init_0($this, $var1, $var2, $var3, $var5, $var6);
            $ptr = 4;
        case 4:
            ju_AbstractList_add(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, $ptr);
    }
    function nms_WorldClient_setBlockAndMetadata($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMetadata($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = nms_World_setBlockAndMetadata($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4)
                return 0;
            var$8 = $this.$field_1057_z;
            var$9 = nms_WorldBlockPositionType__init_0($this, $var1, $var2, $var3, $var6, $var7);
            $ptr = 4;
        case 4:
            ju_AbstractList_add(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, var$9, $ptr);
    }
    function nms_WorldClient_setBlock($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMetadata($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 3;
        case 3:
            $tmp = nms_World_setBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if (!$var4)
                return 0;
            var$7 = $this.$field_1057_z;
            var$8 = nms_WorldBlockPositionType__init_0($this, $var1, $var2, $var3, $var5, $var6);
            $ptr = 4;
        case 4:
            ju_AbstractList_add(var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, $ptr);
    }
    function nms_WorldClient_sendQuittingDisconnectingPacket($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$sendQueue0;
            var$2 = new nms_Packet255KickDisconnect;
            var$3 = $rt_s(2210);
            $ptr = 1;
        case 1:
            nms_Packet__init_(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2.$reason = var$3;
            $ptr = 2;
        case 2:
            nms_NetClientHandler_addToSendQueue(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function cjj_CodeBook$DecodeAux() {
        var a = this; jl_Object.call(a);
        a.$tab = null;
        a.$tabl = null;
        a.$tabn = 0;
        a.$ptr00 = null;
        a.$ptr10 = null;
        a.$aux = 0;
        a.$this$055 = null;
    }
    function cjj_Residue0$LookResidue0() {
        var a = this; jl_Object.call(a);
        a.$info1 = null;
        a.$map1 = 0;
        a.$parts = 0;
        a.$stages = 0;
        a.$fullbooks0 = null;
        a.$phrasebook = null;
        a.$partbooks = null;
        a.$partvals = 0;
        a.$decodemap = null;
        a.$this$054 = null;
    }
    var jl_ReflectiveOperationException = $rt_classWithoutFields(jl_Exception);
    function jl_ReflectiveOperationException__init_0() {
        var var_0 = new jl_ReflectiveOperationException();
        jl_ReflectiveOperationException__init_(var_0);
        return var_0;
    }
    function jl_ReflectiveOperationException__init_($this) {
        jl_Throwable__init_0($this);
    }
    var jl_InstantiationException = $rt_classWithoutFields(jl_ReflectiveOperationException);
    function jl_InstantiationException__init_0() {
        var var_0 = new jl_InstantiationException();
        jl_InstantiationException__init_(var_0);
        return var_0;
    }
    function jl_InstantiationException__init_($this) {
        jl_Throwable__init_0($this);
    }
    var cjj_Lookup = $rt_classWithoutFields();
    var cjj_Lookup_COS_LOOKUP = null;
    var cjj_Lookup_INVSQ_LOOKUP = null;
    var cjj_Lookup_INVSQ2EXP_LOOKUP = null;
    var cjj_Lookup_FROMdB_LOOKUP = null;
    var cjj_Lookup_FROMdB2_LOOKUP = null;
    function cjj_Lookup__init_0() {
        var var_0 = new cjj_Lookup();
        cjj_Lookup__init_(var_0);
        return var_0;
    }
    function cjj_Lookup__init_($this) {}
    function cjj_Lookup_coslook($a) {
        var $d, $i, var$4;
        $d = $a * 40.74366592;
        $i = $d | 0;
        var$4 = cjj_Lookup_COS_LOOKUP.data;
        return var$4[$i] + ($d - $i) * (var$4[$i + 1 | 0] - var$4[$i]);
    }
    function cjj_Lookup__clinit_() {
        cjj_Lookup_COS_LOOKUP = $rt_createFloatArrayFromData([1.0, 0.99969881772995, 0.9987954497337341, 0.9972904324531555, 0.9951847195625305, 0.9924795627593994, 0.9891765117645264, 0.9852776527404785, 0.9807852506637573, 0.9757021069526672, 0.9700312614440918, 0.9637760519981384, 0.9569403529167175, 0.949528157711029, 0.9415440559387207, 0.9329928159713745, 0.9238795042037964, 0.91420978307724, 0.903989315032959, 0.89322429895401, 0.8819212913513184, 0.8700869679450989, 0.8577286005020142, 0.8448535799980164,
        0.8314695954322815, 0.8175848126411438, 0.803207516670227, 0.7883464097976685, 0.7730104327201843, 0.7572088241577148, 0.7409511208534241, 0.7242470979690552, 0.7071067690849304, 0.6895405650138855, 0.6715589761734009, 0.6531728506088257, 0.6343932747840881, 0.6152315735816956, 0.5956993103027344, 0.5758081674575806, 0.5555702447891235, 0.5349976420402527, 0.5141027569770813, 0.49289819598197937, 0.4713967442512512, 0.4496113359928131, 0.4275550842285156, 0.40524131059646606, 0.3826834261417389, 0.3598950505256653,
        0.3368898630142212, 0.3136817514896393, 0.290284663438797, 0.2667127549648285, 0.24298018217086792, 0.21910123527050018, 0.19509032368659973, 0.1709618866443634, 0.1467304676771164, 0.12241067737340927, 0.0980171412229538, 0.0735645666718483, 0.049067676067352295, 0.024541229009628296, 0.0, (-0.024541229009628296), (-0.049067676067352295), (-0.0735645666718483), (-0.0980171412229538), (-0.12241067737340927), (-0.1467304676771164), (-0.1709618866443634), (-0.19509032368659973), (-0.21910123527050018),
        (-0.24298018217086792), (-0.2667127549648285), (-0.290284663438797), (-0.3136817514896393), (-0.3368898630142212), (-0.3598950505256653), (-0.3826834261417389), (-0.40524131059646606), (-0.4275550842285156), (-0.4496113359928131), (-0.4713967442512512), (-0.49289819598197937), (-0.5141027569770813), (-0.5349976420402527), (-0.5555702447891235), (-0.5758081674575806), (-0.5956993103027344), (-0.6152315735816956), (-0.6343932747840881), (-0.6531728506088257), (-0.6715589761734009), (-0.6895405650138855),
        (-0.7071067690849304), (-0.7242470979690552), (-0.7409511208534241), (-0.7572088241577148), (-0.7730104327201843), (-0.7883464097976685), (-0.803207516670227), (-0.8175848126411438), (-0.8314695954322815), (-0.8448535799980164), (-0.8577286005020142), (-0.8700869679450989), (-0.8819212913513184), (-0.89322429895401), (-0.903989315032959), (-0.91420978307724), (-0.9238795042037964), (-0.9329928159713745), (-0.9415440559387207), (-0.949528157711029), (-0.9569403529167175), (-0.9637760519981384), (-0.9700312614440918),
        (-0.9757021069526672), (-0.9807852506637573), (-0.9852776527404785), (-0.9891765117645264), (-0.9924795627593994), (-0.9951847195625305), (-0.9972904324531555), (-0.9987954497337341), (-0.99969881772995), (-1.0)]);
        cjj_Lookup_INVSQ_LOOKUP = $rt_createFloatArrayFromData([1.4142135381698608, 1.3926212787628174, 1.3719886541366577, 1.3522467613220215, 1.3333333730697632, 1.3151918649673462, 1.2977713346481323, 1.2810251712799072, 1.2649110555648804, 1.2493901252746582, 1.2344268560409546, 1.2199885845184326, 1.206045389175415, 1.192569613456726, 1.1795356273651123, 1.1669199466705322, 1.154700517654419, 1.1428571939468384, 1.1313709020614624, 1.120224118232727, 1.1094003915786743, 1.0988844633102417, 1.0886621475219727,
        1.0787197351455688, 1.0690449476242065, 1.0596258640289307, 1.0504515171051025, 1.0415112972259521, 1.0327955484390259, 1.0242950916290283, 1.0160009860992432, 1.0079052448272705, 1.0]);
        cjj_Lookup_INVSQ2EXP_LOOKUP = $rt_createFloatArrayFromData([65536.0, 46340.94921875, 32768.0, 23170.474609375, 16384.0, 11585.2373046875, 8192.0, 5792.61865234375, 4096.0, 2896.309326171875, 2048.0, 1448.1546630859375, 1024.0, 724.0773315429688, 512.0, 362.0386657714844, 256.0, 181.0193328857422, 128.0, 90.5096664428711, 64.0, 45.25483322143555, 32.0, 22.627416610717773, 16.0, 11.313708305358887, 8.0, 5.656854152679443, 4.0, 2.8284270763397217, 2.0, 1.4142135381698608, 1.0, 0.7071067690849304, 0.5, 0.3535533845424652,
        0.25, 0.1767766922712326, 0.125, 0.0883883461356163, 0.0625, 0.04419417306780815, 0.03125, 0.022097086533904076, 0.015625, 0.011048543266952038, 0.0078125, 0.005524271633476019, 0.00390625, 0.0027621358167380095, 0.001953125, 0.0013810679083690047, 9.765625E-4, 6.905339541845024E-4, 4.8828125E-4, 3.452669770922512E-4, 2.44140625E-4, 1.726334885461256E-4, 1.220703125E-4, 8.63167442730628E-5, 6.103515625E-5, 4.31583721365314E-5, 3.0517578125E-5, 2.15791860682657E-5, 1.52587890625E-5]);
        cjj_Lookup_FROMdB_LOOKUP = $rt_createFloatArrayFromData([1.0, 0.6309573650360107, 0.3981071710586548, 0.25118863582611084, 0.15848931670188904, 0.10000000149011612, 0.06309573352336884, 0.03981071710586548, 0.025118865072727203, 0.015848932787775993, 0.009999999776482582, 0.0063095735386013985, 0.003981071524322033, 0.002511886414140463, 0.0015848932089284062, 0.0010000000474974513, 6.30957365501672E-4, 3.981071640737355E-4, 2.511886414140463E-4, 1.5848931798245758E-4, 9.999999747378752E-5, 6.30957365501672E-5,
        3.981071859016083E-5, 2.511886486900039E-5, 1.5848931070649996E-5, 9.999999747378752E-6, 6.30957356406725E-6, 3.981071586167673E-6, 2.5118863504758338E-6, 1.5848931980144698E-6, 9.999999974752427E-7, 6.309573450380412E-7, 3.981071756697929E-7, 2.5118865210060903E-7, 1.584893141171051E-7]);
        cjj_Lookup_FROMdB2_LOOKUP = $rt_createFloatArrayFromData([0.9928302764892578, 0.978644609451294, 0.9646615982055664, 0.9508784413337708, 0.937292218208313, 0.9239000678062439, 0.9106993079185486, 0.8976871371269226, 0.8848608732223511, 0.8722178936004639, 0.8597555756568909, 0.847471296787262, 0.8353625535964966, 0.8234267830848694, 0.8116616010665894, 0.8000645041465759, 0.7886331081390381, 0.7773650288581848, 0.7662579417228699, 0.7553095817565918, 0.7445176243782043, 0.7338799238204956, 0.7233941555023193,
        0.7130582332611084, 0.7028700113296509, 0.6928272843360901, 0.6829281449317932, 0.6731703877449036, 0.6635520458221436, 0.6540711522102356, 0.6447257399559021, 0.6355138421058655]);
    }
    function jur_Matcher$1() {
        var a = this; jl_Object.call(a);
        a.$grN = 0;
        a.$val$gr = 0;
        a.$this$056 = null;
    }
    function jur_Matcher$1__init_0(var_0, var_1) {
        var var_2 = new jur_Matcher$1();
        jur_Matcher$1__init_(var_2, var_0, var_1);
        return var_2;
    }
    function jur_Matcher$1__init_($this, $this$0, var$2) {
        $this.$this$056 = $this$0;
        $this.$val$gr = var$2;
        $this.$grN = var$2;
    }
    function jur_Matcher$1_toString($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$this$056;
            var$2 = $this.$grN;
            $ptr = 1;
        case 1:
            $tmp = jur_Matcher_group(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_MobSpawnerBase() {
        var a = this; jl_Object.call(a);
        a.$biomeName = null;
        a.$color0 = 0;
        a.$topBlock = 0;
        a.$fillerBlock = 0;
        a.$field_6502_q = 0;
        a.$spawnableMonsterList = null;
        a.$spawnableCreatureList = null;
        a.$spawnableWaterCreatureList = null;
    }
    var nms_MobSpawnerBase_rainforest = null;
    var nms_MobSpawnerBase_swampland = null;
    var nms_MobSpawnerBase_seasonalForest = null;
    var nms_MobSpawnerBase_forest = null;
    var nms_MobSpawnerBase_savanna = null;
    var nms_MobSpawnerBase_shrubland = null;
    var nms_MobSpawnerBase_taiga = null;
    var nms_MobSpawnerBase_desert = null;
    var nms_MobSpawnerBase_plains = null;
    var nms_MobSpawnerBase_iceDesert = null;
    var nms_MobSpawnerBase_tundra = null;
    var nms_MobSpawnerBase_hell = null;
    var nms_MobSpawnerBase_biomeLookupTable = null;
    var nms_MobSpawnerBase_$clinitCalled = false;
    function nms_MobSpawnerBase_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_MobSpawnerBase_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_MobSpawnerBase_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_MobSpawnerBase__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_MobSpawnerBase_$callClinit = $rt_eraseClinit(nms_MobSpawnerBase);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_MobSpawnerBase__init_0() {
        var var_0 = new nms_MobSpawnerBase();
        nms_MobSpawnerBase__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerBase__init_($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_MobSpawnerBase_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$topBlock = nms_Block_grass.$blockID << 24 >> 24;
            $this.$fillerBlock = nms_Block_dirt.$blockID << 24 >> 24;
            $this.$field_6502_q = 5169201;
            $this.$spawnableMonsterList = $rt_createArrayFromData(npem_EntityConstructor, [new nms_MobSpawnerBase$_init_$lambda$_0_0, new nms_MobSpawnerBase$_init_$lambda$_0_1, new nms_MobSpawnerBase$_init_$lambda$_0_2, new nms_MobSpawnerBase$_init_$lambda$_0_3, new nms_MobSpawnerBase$_init_$lambda$_0_4]);
            $this.$spawnableCreatureList = $rt_createArrayFromData(npem_EntityConstructor, [new nms_MobSpawnerBase$_init_$lambda$_0_5, new nms_MobSpawnerBase$_init_$lambda$_0_6, new nms_MobSpawnerBase$_init_$lambda$_0_7, new nms_MobSpawnerBase$_init_$lambda$_0_8]);
            var$1 = $rt_createArray(npem_EntityConstructor, 1);
            var$1.data[0] = new nms_MobSpawnerBase$_init_$lambda$_0_9;
            $this.$spawnableWaterCreatureList = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_MobSpawnerBase_getRandomWorldGenForTrees($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return !ju_Random_nextInt($var1, 10) ? nms_WorldGenBigTree__init_0() : new nms_WorldGenTrees;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_MobSpawnerBase_doesNothingForMobSpawnerBase($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_MobSpawnerBase_setBiomeName($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$biomeName = $var1;
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_MobSpawnerBase_func_4124_a($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$field_6502_q = $var1;
            return $this;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_MobSpawnerBase_getSkyColorByTemp($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $var1 / 3.0;
            if (var$2 < (-1.0))
                var$2 = (-1.0);
            if (var$2 > 1.0)
                var$2 = 1.0;
            var$3 = 0.6222222447395325 - var$2 * 0.05000000074505806;
            $var1 = 0.5 + var$2 * 0.10000000149011612;
            var$2 = 1.0;
            $ptr = 1;
        case 1:
            npja_Color_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = npja_Color_HSBtoRGB(var$3, $var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            return (-16777216) | var$4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_MobSpawnerBase_getEntitiesForType($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_EnumCreatureType_$callClinit();
            return $var1 === nms_EnumCreatureType_monster ? $this.$spawnableMonsterList : $var1 === nms_EnumCreatureType_creature ? $this.$spawnableCreatureList : $var1 !== nms_EnumCreatureType_waterCreature ? null : $this.$spawnableWaterCreatureList;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_MobSpawnerBase__clinit_() {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nms_MobSpawnerRainforest;
            $ptr = 1;
        case 1:
            nms_MobSpawnerBase__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$color0 = 588342;
            var$1.$biomeName = $rt_s(2211);
            var$1.$field_6502_q = 2094168;
            nms_MobSpawnerBase_rainforest = var$1;
            var$1 = new nms_MobSpawnerSwamp;
            $ptr = 2;
        case 2:
            nms_MobSpawnerBase__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$color0 = 522674;
            var$1.$biomeName = $rt_s(2212);
            var$1.$field_6502_q = 9154376;
            nms_MobSpawnerBase_swampland = var$1;
            var$1 = new nms_MobSpawnerBase;
            $ptr = 3;
        case 3:
            nms_MobSpawnerBase__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$color0 = 10215459;
            var$1.$biomeName = $rt_s(2213);
            nms_MobSpawnerBase_seasonalForest = var$1;
            var$1 = new nms_MobSpawnerForest;
            $ptr = 4;
        case 4:
            nms_MobSpawnerForest__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$color0 = 353825;
            var$1.$biomeName = $rt_s(2214);
            var$1.$field_6502_q = 5159473;
            nms_MobSpawnerBase_forest = var$1;
            var$1 = new nms_MobSpawnerDesert;
            $ptr = 5;
        case 5:
            nms_MobSpawnerBase__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$color0 = 14278691;
            var$1.$biomeName = $rt_s(2215);
            nms_MobSpawnerBase_savanna = var$1;
            var$1 = new nms_MobSpawnerBase;
            $ptr = 6;
        case 6:
            nms_MobSpawnerBase__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$color0 = 10595616;
            var$1.$biomeName = $rt_s(2216);
            nms_MobSpawnerBase_shrubland = var$1;
            var$1 = new nms_MobSpawnerTaiga;
            $ptr = 7;
        case 7:
            nms_MobSpawnerTaiga__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$color0 = 3060051;
            var$1.$biomeName = $rt_s(2217);
            var$1.$field_6502_q = 8107825;
            nms_MobSpawnerBase_taiga = var$1;
            var$1 = new nms_MobSpawnerDesert;
            $ptr = 8;
        case 8:
            nms_MobSpawnerBase__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$color0 = 16421912;
            var$1.$biomeName = $rt_s(2218);
            nms_MobSpawnerBase_desert = var$1;
            var$1 = new nms_MobSpawnerDesert;
            $ptr = 9;
        case 9:
            nms_MobSpawnerBase__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$color0 = 16767248;
            var$1.$biomeName = $rt_s(2219);
            nms_MobSpawnerBase_plains = var$1;
            var$1 = new nms_MobSpawnerDesert;
            $ptr = 10;
        case 10:
            nms_MobSpawnerBase__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$color0 = 16772499;
            var$1.$biomeName = $rt_s(2220);
            var$1.$field_6502_q = 12899129;
            nms_MobSpawnerBase_iceDesert = var$1;
            var$1 = new nms_MobSpawnerBase;
            $ptr = 11;
        case 11:
            nms_MobSpawnerBase__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$color0 = 5762041;
            var$1.$biomeName = $rt_s(2221);
            var$1.$field_6502_q = 12899129;
            nms_MobSpawnerBase_tundra = var$1;
            var$1 = new nms_MobSpawnerHell;
            $ptr = 12;
        case 12:
            nms_MobSpawnerHell__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$color0 = 16711680;
            var$1.$biomeName = $rt_s(2222);
            nms_MobSpawnerBase_hell = var$1;
            var$2 = $rt_createArray(nms_MobSpawnerBase, 4096);
            var$3 = var$2.data;
            nms_MobSpawnerBase_biomeLookupTable = var$2;
            var$4 = 0;
            while (var$4 < 64) {
                var$5 = 0;
                while (var$5 < 64) {
                    var$6 = var$4 + (var$5 * 64 | 0) | 0;
                    var$7 = var$4 / 63.0;
                    var$8 = var$5 / 63.0 * var$7;
                    var$3[var$6] = var$7 < 0.10000000149011612 ? nms_MobSpawnerBase_tundra : var$8 < 0.20000000298023224 ? (var$7 < 0.5 ? nms_MobSpawnerBase_tundra : var$7 >= 0.949999988079071 ? nms_MobSpawnerBase_desert : nms_MobSpawnerBase_savanna) : var$8 > 0.5 && var$7 < 0.699999988079071 ? nms_MobSpawnerBase_swampland : var$7 < 0.5 ? nms_MobSpawnerBase_taiga : var$7 < 0.9700000286102295 ? (var$8 >= 0.3499999940395355 ? nms_MobSpawnerBase_forest : nms_MobSpawnerBase_shrubland) : var$8 < 0.44999998807907104
                    ? nms_MobSpawnerBase_plains : var$8 >= 0.8999999761581421 ? nms_MobSpawnerBase_rainforest : nms_MobSpawnerBase_seasonalForest;
                    var$5 = var$5 + 1 | 0;
                }
                var$4 = var$4 + 1 | 0;
            }
            var$9 = nms_MobSpawnerBase_desert;
            $ptr = 13;
        case 13:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$4 = nms_Block_sand.$blockID << 24 >> 24;
            var$9.$fillerBlock = var$4;
            var$9.$topBlock = var$4;
            var$1 = nms_MobSpawnerBase_iceDesert;
            var$1.$fillerBlock = var$4;
            var$1.$topBlock = var$4;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_EnumCreatureType() {
        var a = this; jl_Enum.call(a);
        a.$creatureClass = null;
        a.$maxNumberOfCreature = 0;
        a.$creatureMaterial = null;
        a.$isPeacefulCreature = 0;
    }
    var nms_EnumCreatureType_monster = null;
    var nms_EnumCreatureType_creature = null;
    var nms_EnumCreatureType_waterCreature = null;
    var nms_EnumCreatureType_$VALUES = null;
    function nms_EnumCreatureType_$callClinit() {
        nms_EnumCreatureType_$callClinit = $rt_eraseClinit(nms_EnumCreatureType);
        nms_EnumCreatureType__clinit_();
    }
    function nms_EnumCreatureType__init_0(var_0, var_1, var_2, var_3, var_4, var_5) {
        var var_6 = new nms_EnumCreatureType();
        nms_EnumCreatureType__init_(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
        return var_6;
    }
    function nms_EnumCreatureType_values() {
        nms_EnumCreatureType_$callClinit();
        return nms_EnumCreatureType_$VALUES.$clone();
    }
    function nms_EnumCreatureType__init_($this, var$1, var$2, $var3, $var4, $var5, $var6) {
        nms_EnumCreatureType_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
        $this.$creatureClass = $var3;
        $this.$maxNumberOfCreature = $var4;
        $this.$creatureMaterial = $var5;
        $this.$isPeacefulCreature = $var6;
    }
    function nms_EnumCreatureType__clinit_() {
        var var$1;
        var$1 = new nms_EnumCreatureType;
        nms_Material_$callClinit();
        nms_EnumCreatureType__init_(var$1, $rt_s(2223), 0, $rt_cls(nms_IMobs), 70, nms_Material_air, 0);
        nms_EnumCreatureType_monster = var$1;
        nms_EnumCreatureType_creature = nms_EnumCreatureType__init_0($rt_s(2224), 1, $rt_cls(nms_EntityAnimals), 15, nms_Material_air, 1);
        var$1 = nms_EnumCreatureType__init_0($rt_s(2225), 2, $rt_cls(nms_EntityWaterMob), 5, nms_Material_water, 1);
        nms_EnumCreatureType_waterCreature = var$1;
        nms_EnumCreatureType_$VALUES = $rt_createArrayFromData(nms_EnumCreatureType, [nms_EnumCreatureType_monster, nms_EnumCreatureType_creature, var$1]);
    }
    function nms_ChunkCoordIntPair() {
        var a = this; jl_Object.call(a);
        a.$chunkXPos = 0;
        a.$chunkZPos = 0;
    }
    function nms_ChunkCoordIntPair__init_0(var_0, var_1) {
        var var_2 = new nms_ChunkCoordIntPair();
        nms_ChunkCoordIntPair__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_ChunkCoordIntPair__init_($this, $var1, $var2) {
        $this.$chunkXPos = $var1;
        $this.$chunkZPos = $var2;
    }
    function nms_ChunkCoordIntPair_hashCode($this) {
        var var$1, var$2;
        var$1 = $this.$chunkXPos;
        var$2 = $this.$chunkZPos;
        return (var$1 >= 0 ? 0 : (-2147483648)) | (var$1 & 32767) << 16 | (var$2 >= 0 ? 0 : 32768) | var$2 & 32767;
    }
    function nms_ChunkCoordIntPair_equals($this, $var1) {
        var $var2;
        $var2 = $var1;
        return $var2.$chunkXPos == $this.$chunkXPos && $var2.$chunkZPos == $this.$chunkZPos ? 1 : 0;
    }
    function nms_ChunkPosition() {
        var a = this; jl_Object.call(a);
        a.$x1 = 0;
        a.$y1 = 0;
        a.$z1 = 0;
    }
    function nms_ChunkPosition__init_0(var_0, var_1, var_2) {
        var var_3 = new nms_ChunkPosition();
        nms_ChunkPosition__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_ChunkPosition__init_($this, $var1, $var2, $var3) {
        $this.$x1 = $var1;
        $this.$y1 = $var2;
        $this.$z1 = $var3;
    }
    function nms_ChunkPosition_equals($this, $var1) {
        var $var2;
        if (!($var1 instanceof nms_ChunkPosition))
            return 0;
        $var2 = $var1;
        return $var2.$x1 == $this.$x1 && $var2.$y1 == $this.$y1 && $var2.$z1 == $this.$z1 ? 1 : 0;
    }
    function nms_ChunkPosition_hashCode($this) {
        return ($rt_imul($this.$x1, 8976890) + $rt_imul($this.$y1, 981131) | 0) + $this.$z1 | 0;
    }
    function nms_Pathfinder() {
        var a = this; jl_Object.call(a);
        a.$worldMap = null;
        a.$path1 = null;
        a.$pointMap = null;
        a.$pathOptions = null;
    }
    function nms_Pathfinder__init_0(var_0) {
        var var_1 = new nms_Pathfinder();
        nms_Pathfinder__init_(var_1, var_0);
        return var_1;
    }
    function nms_Pathfinder__init_($this, $var1) {
        $this.$path1 = nms_Path__init_0();
        $this.$pointMap = nms_MCHashTable__init_0();
        $this.$pathOptions = $rt_createArray(nms_PathPoint, 32);
        $this.$worldMap = $var1;
    }
    function nms_Pathfinder_createEntityPathTo($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $var2.$posX;
            var$5 = $var2.$boundingBox.$minY0;
            var$6 = $var2.$posZ;
            $ptr = 1;
        case 1:
            $tmp = nms_Pathfinder_createEntityPathTo0($this, $var1, var$4, var$5, var$6, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, $ptr);
    }
    function nms_Pathfinder_createEntityPathTo0($this, $var1, $var2, $var4, $var6, $var8) {
        var $var12, var$7, var$8, var$9, $var9, $var10, $var11, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var12 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4
            = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_Path_clearPath($this.$path1);
            $var12 = $this.$pointMap;
            $var12.$versionStamp = $var12.$versionStamp + 1 | 0;
            var$7 = $var12.$slots0;
            var$8 = 0;
            while (true) {
                var$9 = var$7.data;
                if (var$8 >= var$9.length)
                    break;
                var$9[var$8] = null;
                var$8 = var$8 + 1 | 0;
            }
            $var12.$count10 = 0;
            $var9 = nms_Pathfinder_openPoint($this, nms_MathHelper_floor_double($var1.$boundingBox.$minX0), nms_MathHelper_floor_double($var1.$boundingBox.$minY0), nms_MathHelper_floor_double($var1.$boundingBox.$minZ0));
            $var10 = nms_Pathfinder_openPoint($this, nms_MathHelper_floor_double($var2 - $var1.$width2 / 2.0), nms_MathHelper_floor_double($var4), nms_MathHelper_floor_double($var6 - $var1.$width2 / 2.0));
            $var11 = nms_PathPoint__init_0(nms_MathHelper_floor_float($var1.$width2 + 1.0), nms_MathHelper_floor_float($var1.$height4 + 1.0), nms_MathHelper_floor_float($var1.$width2 + 1.0));
            $var9.$totalPathDistance = 0.0;
            var$13 = nms_PathPoint_distanceTo($var9, $var10);
            $var9.$distanceToNext = var$13;
            $var9.$distanceToTarget = var$13;
            nms_Path_clearPath($this.$path1);
            nms_Path_addPoint($this.$path1, $var9);
            var$14 = $var10 instanceof nms_PathPoint;
            var$15 = $var9;
            var$16 = $this.$path1;
            var$17 = var$16.$count11;
            if (var$17 ? 0 : 1)
                $var12 = var$15 !== $var9 ? nms_Pathfinder_createEntityPath($this, $var9, var$15) : null;
            else {
                var$7 = var$16.$pathPoints.data;
                var$18 = var$7[0];
                var$8 = var$17 - 1 | 0;
                var$16.$count11 = var$8;
                var$7[0] = var$7[var$8];
                var$7[var$8] = null;
                if (var$8 > 0)
                    nms_Path_sortForward(var$16, 0);
                var$18.$index13 = (-1);
                if (!(!var$14 ? 0 : var$18.$hash8 == $var10.$hash8 && var$18.$xCoord3 == $var10.$xCoord3 && var$18.$yCoord3 == $var10.$yCoord3 && var$18.$zCoord3 == $var10.$zCoord3 ? 1 : 0)) {
                    if (nms_PathPoint_distanceTo(var$18, $var10) < nms_PathPoint_distanceTo(var$15, $var10))
                        var$15 = var$18;
                    var$18.$isFirst = 1;
                    var$19 = 0;
                    var$20 = 0;
                    var$21 = var$18.$xCoord3;
                    var$8 = var$18.$yCoord3 + 1 | 0;
                    var$17 = var$18.$zCoord3;
                    $ptr = 1;
                    continue main;
                }
                $var12 = nms_Pathfinder_createEntityPath($this, $var9, $var10);
            }
            return $var12;
        case 1:
            $tmp = nms_Pathfinder_getVerticalOffset($this, $var1, var$21, var$8, var$17, $var11);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8 > 0)
                var$20 = 1;
            var$8 = var$18.$xCoord3;
            var$21 = var$18.$yCoord3;
            var$17 = var$18.$zCoord3 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_Pathfinder_getSafePoint($this, $var1, var$8, var$21, var$17, $var11, var$20);
            if ($rt_suspending()) {
                break main;
            }
            var$22 = $tmp;
            var$8 = var$18.$xCoord3 - 1 | 0;
            var$21 = var$18.$yCoord3;
            var$17 = var$18.$zCoord3;
            $ptr = 3;
        case 3:
            $tmp = nms_Pathfinder_getSafePoint($this, $var1, var$8, var$21, var$17, $var11, var$20);
            if ($rt_suspending()) {
                break main;
            }
            var$23 = $tmp;
            var$8 = var$18.$xCoord3 + 1 | 0;
            var$21 = var$18.$yCoord3;
            var$17 = var$18.$zCoord3;
            $ptr = 4;
        case 4:
            $tmp = nms_Pathfinder_getSafePoint($this, $var1, var$8, var$21, var$17, $var11, var$20);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            var$8 = var$18.$xCoord3;
            var$21 = var$18.$yCoord3;
            var$17 = var$18.$zCoord3 - 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = nms_Pathfinder_getSafePoint($this, $var1, var$8, var$21, var$17, $var11, var$20);
            if ($rt_suspending()) {
                break main;
            }
            var$16 = $tmp;
            if (var$22 === null)
                var$8 = var$19;
            else if (var$22.$isFirst)
                var$8 = var$19;
            else if (nms_PathPoint_distanceTo(var$22, $var10) >= $var8)
                var$8 = var$19;
            else {
                var$7 = $this.$pathOptions.data;
                var$8 = 1;
                var$7[var$19] = var$22;
            }
            if (var$23 === null)
                var$21 = var$8;
            else if (var$23.$isFirst)
                var$21 = var$8;
            else if (nms_PathPoint_distanceTo(var$23, $var10) >= $var8)
                var$21 = var$8;
            else {
                var$7 = $this.$pathOptions.data;
                var$21 = var$8 + 1 | 0;
                var$7[var$8] = var$23;
            }
            if ($var12 === null)
                var$8 = var$21;
            else if ($var12.$isFirst)
                var$8 = var$21;
            else if (nms_PathPoint_distanceTo($var12, $var10) >= $var8)
                var$8 = var$21;
            else {
                var$7 = $this.$pathOptions.data;
                var$8 = var$21 + 1 | 0;
                var$7[var$21] = $var12;
            }
            if (var$16 === null)
                var$21 = var$8;
            else if (var$16.$isFirst)
                var$21 = var$8;
            else if (nms_PathPoint_distanceTo(var$16, $var10) >= $var8)
                var$21 = var$8;
            else {
                var$7 = $this.$pathOptions.data;
                var$21 = var$8 + 1 | 0;
                var$7[var$8] = var$16;
            }
            var$8 = 0;
            while (var$8 < var$21) {
                $var12 = $this.$pathOptions.data[var$8];
                var$13 = var$18.$totalPathDistance + nms_PathPoint_distanceTo(var$18, $var12);
                if (!(nms_PathPoint_isAssigned($var12) && var$13 >= $var12.$totalPathDistance)) {
                    $var12.$previous1 = var$18;
                    $var12.$totalPathDistance = var$13;
                    $var12.$distanceToNext = nms_PathPoint_distanceTo($var12, $var10);
                    if (!nms_PathPoint_isAssigned($var12)) {
                        $var12.$distanceToTarget = $var12.$totalPathDistance + $var12.$distanceToNext;
                        nms_Path_addPoint($this.$path1, $var12);
                    } else {
                        var$16 = $this.$path1;
                        var$13 = $var12.$totalPathDistance + $var12.$distanceToNext;
                        var$24 = $var12.$distanceToTarget;
                        $var12.$distanceToTarget = var$13;
                        if (var$13 >= var$24)
                            nms_Path_sortForward(var$16, $var12.$index13);
                        else
                            nms_Path_sortBack(var$16, $var12.$index13);
                    }
                }
                var$8 = var$8 + 1 | 0;
            }
            var$16 = $this.$path1;
            var$17 = var$16.$count11;
            if (var$17 ? 0 : 1)
                $var12 = var$15 !== $var9 ? nms_Pathfinder_createEntityPath($this, $var9, var$15) : null;
            else {
                var$7 = var$16.$pathPoints.data;
                var$18 = var$7[0];
                var$8 = var$17 - 1 | 0;
                var$16.$count11 = var$8;
                var$7[0] = var$7[var$8];
                var$7[var$8] = null;
                if (var$8 > 0)
                    nms_Path_sortForward(var$16, 0);
                var$18.$index13 = (-1);
                if (!(!var$14 ? 0 : var$18.$hash8 == $var10.$hash8 && var$18.$xCoord3 == $var10.$xCoord3 && var$18.$yCoord3 == $var10.$yCoord3 && var$18.$zCoord3 == $var10.$zCoord3 ? 1 : 0)) {
                    if (nms_PathPoint_distanceTo(var$18, $var10) < nms_PathPoint_distanceTo(var$15, $var10))
                        var$15 = var$18;
                    var$18.$isFirst = 1;
                    var$19 = 0;
                    var$20 = 0;
                    var$21 = var$18.$xCoord3;
                    var$8 = var$18.$yCoord3 + 1 | 0;
                    var$17 = var$18.$zCoord3;
                    $ptr = 1;
                    continue main;
                }
                $var12 = nms_Pathfinder_createEntityPath($this, $var9, $var10);
            }
            return $var12;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var12, var$7, var$8, var$9, $var9, $var10, $var11, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, $ptr);
    }
    function nms_Pathfinder_getSafePoint($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var7, $var10, var$9, $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();var$9 = $thread.pop();$var10 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var7 = null;
            $ptr = 1;
        case 1:
            $tmp = nms_Pathfinder_getVerticalOffset($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            if ($var10 > 0)
                $var7 = nms_Pathfinder_openPoint($this, $var2, $var3, $var4);
            if ($var7 !== null)
                var$9 = $var3;
            else {
                if ($var6 > 0) {
                    var$9 = $var3 + $var6 | 0;
                    $ptr = 2;
                    continue main;
                }
                var$9 = $var3;
            }
            if ($var7 !== null) {
                $var8 = 0;
                if (var$9 > 0) {
                    $var3 = var$9 - 1 | 0;
                    $ptr = 3;
                    continue main;
                }
                if (var$9 > 0)
                    $var7 = nms_Pathfinder_openPoint($this, $var2, var$9, $var4);
            }
            return $var7;
        case 2:
            $tmp = nms_Pathfinder_getVerticalOffset($this, $var1, $var2, var$9, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 > 0)
                $var7 = nms_Pathfinder_openPoint($this, $var2, var$9, $var4);
            else
                var$9 = $var3;
            if ($var7 !== null) {
                $var8 = 0;
                if (var$9 > 0) {
                    $var3 = var$9 - 1 | 0;
                    $ptr = 3;
                    continue main;
                }
                if (var$9 > 0)
                    $var7 = nms_Pathfinder_openPoint($this, $var2, var$9, $var4);
            }
            return $var7;
        case 3:
            $tmp = nms_Pathfinder_getVerticalOffset($this, $var1, $var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            if ($var10 > 0) {
                if ($var10 < 0)
                    return null;
                $var8 = $var8 + 1 | 0;
                if ($var8 >= 4)
                    return null;
                var$9 = var$9 + (-1) | 0;
                if (var$9 > 0) {
                    $var3 = var$9 - 1 | 0;
                    continue main;
                }
            }
            if (var$9 > 0)
                $var7 = nms_Pathfinder_openPoint($this, $var2, var$9, $var4);
            return $var7;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var10, var$9, $var8, $ptr);
    }
    function nms_Pathfinder_openPoint($this, $var1, $var2, $var3) {
        var $var4, $var5;
        $var4 = nms_PathPoint_func_22329_a($var1, $var2, $var3);
        $var5 = nms_MCHashTable_lookup($this.$pointMap, $var4);
        if ($var5 === null) {
            $var5 = nms_PathPoint__init_0($var1, $var2, $var3);
            nms_MCHashTable_addKey($this.$pointMap, $var4, $var5);
        }
        return $var5;
    }
    function nms_Pathfinder_getVerticalOffset($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var8, $var9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = $var2;
            while ($var6 < ($var2 + $var5.$xCoord3 | 0)) {
                $var7 = $var3;
                while ($var7 < ($var3 + $var5.$yCoord3 | 0)) {
                    $var8 = $var4;
                    if ($var8 < ($var4 + $var5.$zCoord3 | 0)) {
                        $var1 = $this.$worldMap;
                        $ptr = 1;
                        continue main;
                    }
                    $var7 = $var7 + 1 | 0;
                }
                $var6 = $var6 + 1 | 0;
            }
            return 1;
        case 1:
            $tmp = $var1.$getBlockMaterial($var6, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            if ($var9.$getIsSolid())
                return 0;
            if ($var9 !== nms_Material_water && $var9 !== nms_Material_lava) {
                $var8 = $var8 + 1 | 0;
                a: while (true) {
                    if ($var8 < ($var4 + $var5.$zCoord3 | 0)) {
                        $var1 = $this.$worldMap;
                        continue main;
                    }
                    $var7 = $var7 + 1 | 0;
                    while ($var7 >= ($var3 + $var5.$yCoord3 | 0)) {
                        $var6 = $var6 + 1 | 0;
                        if ($var6 >= ($var2 + $var5.$xCoord3 | 0))
                            break a;
                        $var7 = $var3;
                    }
                    $var8 = $var4;
                }
                return 1;
            }
            return (-1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $ptr);
    }
    function nms_Pathfinder_createEntityPath($this, $var1, $var2) {
        var $var3, $var4, $var5, var$6;
        $var3 = 1;
        $var4 = $var2;
        while (true) {
            $var4 = $var4.$previous1;
            if ($var4 === null)
                break;
            $var3 = $var3 + 1 | 0;
        }
        $var5 = $rt_createArray(nms_PathPoint, $var3);
        var$6 = $var5.data;
        $var3 = $var3 + (-1) | 0;
        var$6[$var3] = $var2;
        while (true) {
            $var2 = $var2.$previous1;
            if ($var2 === null)
                break;
            $var3 = $var3 + (-1) | 0;
            var$6[$var3] = $var2;
        }
        $var1 = new nms_PathEntity;
        $var1.$points = $var5;
        $var1.$pathLength = var$6.length;
        return $var1;
    }
    function nms_PathEntity() {
        var a = this; jl_Object.call(a);
        a.$points = null;
        a.$pathLength = 0;
        a.$pathIndex = 0;
    }
    function nms_PathEntity_isFinished($this) {
        return $this.$pathIndex < $this.$points.data.length ? 0 : 1;
    }
    function nms_PathEntity_getPosition($this, $var1) {
        var var$2, var$3, $var2, $var6;
        var$2 = $this.$points.data;
        var$3 = $this.$pathIndex;
        $var2 = var$2[var$3].$xCoord3;
        $var6 = ($var1.$width2 + 1.0 | 0) * 0.5;
        return nms_Vec3D_createVector($var2 + $var6, var$2[var$3].$yCoord3, var$2[var$3].$zCoord3 + $var6);
    }
    function nms_PathPoint() {
        var a = this; jl_Object.call(a);
        a.$xCoord3 = 0;
        a.$yCoord3 = 0;
        a.$zCoord3 = 0;
        a.$hash8 = 0;
        a.$index13 = 0;
        a.$totalPathDistance = 0.0;
        a.$distanceToNext = 0.0;
        a.$distanceToTarget = 0.0;
        a.$previous1 = null;
        a.$isFirst = 0;
    }
    function nms_PathPoint__init_0(var_0, var_1, var_2) {
        var var_3 = new nms_PathPoint();
        nms_PathPoint__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_PathPoint__init_($this, $var1, $var2, $var3) {
        $this.$index13 = (-1);
        $this.$isFirst = 0;
        $this.$xCoord3 = $var1;
        $this.$yCoord3 = $var2;
        $this.$zCoord3 = $var3;
        $this.$hash8 = nms_PathPoint_func_22329_a($var1, $var2, $var3);
    }
    function nms_PathPoint_func_22329_a($var0, $var1, $var2) {
        return $var1 & 255 | ($var0 & 32767) << 8 | ($var2 & 32767) << 24 | ($var0 >= 0 ? 0 : (-2147483648)) | ($var2 >= 0 ? 0 : 32768);
    }
    function nms_PathPoint_distanceTo($this, $var1) {
        var $var2, $var3, $var4;
        $var2 = $var1.$xCoord3 - $this.$xCoord3 | 0;
        $var3 = $var1.$yCoord3 - $this.$yCoord3 | 0;
        $var4 = $var1.$zCoord3 - $this.$zCoord3 | 0;
        return nms_MathHelper_sqrt_float($var2 * $var2 + $var3 * $var3 + $var4 * $var4);
    }
    function nms_PathPoint_isAssigned($this) {
        return $this.$index13 < 0 ? 0 : 1;
    }
    function nlep_EaglerProfile$CachedSkin() {
        var a = this; jl_Object.call(a);
        a.$skin0 = null;
        a.$age0 = Long_ZERO;
    }
    function nlep_EaglerProfile$WaitingSkin() {
        var a = this; jl_Object.call(a);
        a.$cookie = 0;
        a.$username0 = null;
        a.$requestStartTime = Long_ZERO;
    }
    function cjj_Lpc() {
        var a = this; jl_Object.call(a);
        a.$fft = null;
        a.$ln0 = 0;
        a.$m0 = 0;
    }
    function cjj_Lpc__init_0() {
        var var_0 = new cjj_Lpc();
        cjj_Lpc__init_(var_0);
        return var_0;
    }
    function cjj_Lpc__init_($this) {
        $this.$fft = new cjj_Drft;
    }
    var nms_EmptyChunk = $rt_classWithoutFields(nms_Chunk);
    function nms_EmptyChunk__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_EmptyChunk();
        nms_EmptyChunk__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_EmptyChunk__init_($this, $var1, $var2, $var3, $var4) {
        nms_Chunk__init_($this, $var1, $var2, $var3, $var4);
        $this.$neverSave = 1;
    }
    function nms_EmptyChunk_isAtLocation($this, $var1, $var2) {
        return $var1 == $this.$xPosition18 && $var2 == $this.$zPosition16 ? 1 : 0;
    }
    function nms_EmptyChunk_getHeightValue($this, $var1, $var2) {
        return 0;
    }
    function nms_EmptyChunk_generateHeightMap($this) {}
    function nms_EmptyChunk_func_4143_d($this) {}
    function nms_EmptyChunk_getBlockID($this, $var1, $var2, $var3) {
        return 0;
    }
    function nms_EmptyChunk_setBlockIDWithMetadata($this, $var1, $var2, $var3, $var4, $var5) {
        return 1;
    }
    function nms_EmptyChunk_setBlockID($this, $var1, $var2, $var3, $var4) {
        return 1;
    }
    function nms_EmptyChunk_getBlockMetadata($this, $var1, $var2, $var3) {
        return 0;
    }
    function nms_EmptyChunk_setBlockMetadata($this, $var1, $var2, $var3, $var4) {}
    function nms_EmptyChunk_getSavedLightValue($this, $var1, $var2, $var3, $var4) {
        return 0;
    }
    function nms_EmptyChunk_setLightValue($this, $var1, $var2, $var3, $var4, $var5) {}
    function nms_EmptyChunk_getBlockLightValue($this, $var1, $var2, $var3, $var4) {
        return 0;
    }
    function nms_EmptyChunk_addEntity($this, $var1) {}
    function nms_EmptyChunk_func_1015_b($this, $var1) {}
    function nms_EmptyChunk_func_1016_a($this, $var1, $var2) {}
    function nms_EmptyChunk_canBlockSeeTheSky($this, $var1, $var2, $var3) {
        return 0;
    }
    function nms_EmptyChunk_getChunkBlockTileEntity($this, $var1, $var2, $var3) {
        return null;
    }
    function nms_EmptyChunk_setChunkBlockTileEntity($this, $var1, $var2, $var3, $var4) {}
    function nms_EmptyChunk_removeChunkBlockTileEntity($this, $var1, $var2, $var3) {}
    function nms_EmptyChunk_onChunkLoad($this) {}
    function nms_EmptyChunk_onChunkUnload($this) {}
    function nms_EmptyChunk_setChunkModified($this) {}
    function nms_EmptyChunk_getEntitiesWithinAABBForEntity($this, $var1, $var2, $var3) {}
    function nms_EmptyChunk_getEntitiesOfTypeWithinAAAB($this, $var1, $var2, $var3) {}
    function nms_EmptyChunk_needsSaving($this, $var1) {
        return 0;
    }
    function nms_EmptyChunk_setChunkData($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8) {
        var $var9, $var10, $var11, $var12;
        $var9 = $var5 - $var2 | 0;
        $var10 = $var6 - $var3 | 0;
        $var11 = $var7 - $var4 | 0;
        $var12 = $rt_imul($rt_imul($var9, $var10), $var11);
        return $var12 + (($var12 / 2 | 0) * 3 | 0) | 0;
    }
    function nms_EmptyChunk_func_997_a($this, $var1) {
        var var$2;
        var$2 = new ju_Random;
        nms_World_getRandomSeed($this.$worldObj10);
        return var$2;
    }
    function nms_EmptyChunk_func_21167_h($this) {
        return 1;
    }
    var npem_EntityConstructor = $rt_classWithoutFields(0);
    var nms_SpawnerAnimals$_clinit_$lambda$_6_0 = $rt_classWithoutFields();
    function nms_SpawnerAnimals$_clinit_$lambda$_6_0__init_0() {
        var var_0 = new nms_SpawnerAnimals$_clinit_$lambda$_6_0();
        nms_SpawnerAnimals$_clinit_$lambda$_6_0__init_(var_0);
        return var_0;
    }
    function nms_SpawnerAnimals$_clinit_$lambda$_6_0__init_(var$0) {}
    function nms_SpawnerAnimals$_clinit_$lambda$_6_0_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntitySpider;
            $ptr = 1;
        case 1:
            nms_EntitySpider__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_SpawnerAnimals$_clinit_$lambda$_6_1 = $rt_classWithoutFields();
    function nms_SpawnerAnimals$_clinit_$lambda$_6_1__init_0() {
        var var_0 = new nms_SpawnerAnimals$_clinit_$lambda$_6_1();
        nms_SpawnerAnimals$_clinit_$lambda$_6_1__init_(var_0);
        return var_0;
    }
    function nms_SpawnerAnimals$_clinit_$lambda$_6_1__init_(var$0) {}
    function nms_SpawnerAnimals$_clinit_$lambda$_6_1_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityZombie;
            $ptr = 1;
        case 1:
            nms_EntityZombie__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_SpawnerAnimals$_clinit_$lambda$_6_2 = $rt_classWithoutFields();
    function nms_SpawnerAnimals$_clinit_$lambda$_6_2__init_0() {
        var var_0 = new nms_SpawnerAnimals$_clinit_$lambda$_6_2();
        nms_SpawnerAnimals$_clinit_$lambda$_6_2__init_(var_0);
        return var_0;
    }
    function nms_SpawnerAnimals$_clinit_$lambda$_6_2__init_(var$0) {}
    function nms_SpawnerAnimals$_clinit_$lambda$_6_2_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntitySkeleton;
            $ptr = 1;
        case 1:
            nms_EntitySkeleton__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    function nms_Path() {
        var a = this; jl_Object.call(a);
        a.$pathPoints = null;
        a.$count11 = 0;
    }
    function nms_Path__init_0() {
        var var_0 = new nms_Path();
        nms_Path__init_(var_0);
        return var_0;
    }
    function nms_Path__init_($this) {
        $this.$pathPoints = $rt_createArray(nms_PathPoint, 1024);
        $this.$count11 = 0;
    }
    function nms_Path_addPoint($this, $var1) {
        var var$2, var$3, $var2, var$5;
        if ($var1.$index13 >= 0) {
            $var1 = new jl_IllegalStateException;
            jl_Throwable__init_($var1, $rt_s(2226));
            $rt_throw($var1);
        }
        var$2 = $this.$count11;
        var$3 = $this.$pathPoints;
        if (var$2 == var$3.data.length) {
            $var2 = $rt_createArray(nms_PathPoint, var$2 << 1);
            jl_System_fastArraycopy(var$3, 0, $var2, 0, var$2);
            $this.$pathPoints = $var2;
        }
        var$3 = $this.$pathPoints.data;
        var$5 = $this.$count11;
        var$3[var$5] = $var1;
        $var1.$index13 = var$5;
        $this.$count11 = var$5 + 1 | 0;
        nms_Path_sortBack($this, var$5);
        return $var1;
    }
    function nms_Path_clearPath($this) {
        $this.$count11 = 0;
    }
    function nms_Path_sortBack($this, $var1) {
        var var$2, $var2, $var3, $var4, $var5;
        var$2 = $this.$pathPoints.data;
        $var2 = var$2[$var1];
        $var3 = $var2.$distanceToTarget;
        a: {
            while (true) {
                if ($var1 <= 0)
                    break a;
                $var4 = ($var1 - 1 | 0) >> 1;
                $var5 = var$2[$var4];
                if ($var3 >= $var5.$distanceToTarget)
                    break;
                var$2[$var1] = $var5;
                $var5.$index13 = $var1;
                $var1 = $var4;
            }
        }
        var$2[$var1] = $var2;
        $var2.$index13 = $var1;
    }
    function nms_Path_sortForward($this, $var1) {
        var var$2, $var2, $var3, $var4, $var5, var$7, $var6, $var7, $var8, $var9;
        var$2 = $this.$pathPoints.data;
        $var2 = var$2[$var1];
        $var3 = $var2.$distanceToTarget;
        a: {
            while (true) {
                $var4 = 1 + ($var1 << 1) | 0;
                $var5 = $var4 + 1 | 0;
                var$7 = $this.$count11;
                if ($var4 >= var$7)
                    break;
                $var6 = var$2[$var4];
                $var7 = $var6.$distanceToTarget;
                if ($var5 < var$7) {
                    $var8 = var$2[$var5];
                    $var9 = $var8.$distanceToTarget;
                } else {
                    $var8 = null;
                    $var9 = Infinity;
                }
                if ($var7 < $var9) {
                    if ($var7 >= $var3)
                        break a;
                    var$2[$var1] = $var6;
                    $var6.$index13 = $var1;
                } else {
                    if ($var9 >= $var3)
                        break a;
                    var$2[$var1] = $var8;
                    $var8.$index13 = $var1;
                    $var4 = $var5;
                }
                $var1 = $var4;
            }
        }
        var$2[$var1] = $var2;
        $var2.$index13 = $var1;
    }
    function nms_MCHashTable() {
        var a = this; jl_Object.call(a);
        a.$slots0 = null;
        a.$count10 = 0;
        a.$threshold1 = 0;
        a.$growFactor = 0.75;
        a.$versionStamp = 0;
    }
    function nms_MCHashTable__init_0() {
        var var_0 = new nms_MCHashTable();
        nms_MCHashTable__init_(var_0);
        return var_0;
    }
    function nms_MCHashTable__init_($this) {
        $this.$slots0 = $rt_createArray(nms_HashEntry, 16);
        $this.$threshold1 = 12;
        $this.$growFactor = 0.75;
    }
    function nms_MCHashTable_computeHash($var0) {
        $var0 = $var0 ^ ($var0 >>> 20 | 0) ^ ($var0 >>> 12 | 0);
        return $var0 ^ ($var0 >>> 7 | 0) ^ ($var0 >>> 4 | 0);
    }
    function nms_MCHashTable_getSlotIndex($var0, $var1) {
        return $var0 & ($var1 - 1 | 0);
    }
    function nms_MCHashTable_lookup($this, $var1) {
        var $var2, var$3, $var3;
        $var2 = nms_MCHashTable_computeHash($var1);
        var$3 = $this.$slots0.data;
        $var3 = var$3[nms_MCHashTable_getSlotIndex($var2, var$3.length)];
        while ($var3 !== null) {
            if ($var3.$hashEntry == $var1)
                return $var3.$valueEntry;
            $var3 = $var3.$nextEntry0;
        }
        return null;
    }
    function nms_MCHashTable_addKey($this, $var1, $var2) {
        var $var3, $var4, var$5, $var5, var$7, var$8, var$9, var$10, var$11, var$12;
        $var3 = nms_MCHashTable_computeHash($var1);
        $var4 = nms_MCHashTable_getSlotIndex($var3, $this.$slots0.data.length);
        var$5 = $this.$slots0.data;
        $var5 = var$5[$var4];
        while ($var5 !== null) {
            if ($var5.$hashEntry == $var1)
                $var5.$valueEntry = $var2;
            $var5 = $var5.$nextEntry0;
        }
        $this.$versionStamp = $this.$versionStamp + 1 | 0;
        var$7 = var$5[$var4];
        $var5 = new nms_HashEntry;
        $var5.$valueEntry = $var2;
        $var5.$nextEntry0 = var$7;
        $var5.$hashEntry = $var1;
        $var5.$slotHash = $var3;
        var$5[$var4] = $var5;
        $var1 = $this.$count10;
        $this.$count10 = $var1 + 1 | 0;
        if ($var1 >= $this.$threshold1) {
            var$8 = var$5.length;
            $var1 = 2 * var$8 | 0;
            if (var$8 == 1073741824)
                $this.$threshold1 = 2147483647;
            else {
                var$9 = $rt_createArray(nms_HashEntry, $var1);
                var$10 = var$9.data;
                $var3 = var$10.length;
                $var4 = 0;
                while ($var4 < var$8) {
                    a: {
                        $var5 = var$5[$var4];
                        if ($var5 !== null) {
                            var$5[$var4] = null;
                            while (true) {
                                $var2 = $var5.$nextEntry0;
                                var$11 = nms_MCHashTable_getSlotIndex($var5.$slotHash, $var3);
                                $var5.$nextEntry0 = var$10[var$11];
                                var$10[var$11] = $var5;
                                if ($var2 === null)
                                    break a;
                                $var5 = $var2;
                            }
                        }
                    }
                    $var4 = $var4 + 1 | 0;
                }
                $this.$slots0 = var$9;
                var$12 = $var1;
                ju_Objects_requireNonNull($this);
                $this.$threshold1 = var$12 * 0.75 | 0;
            }
        }
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$13() {
        jl_Object.call(this);
        this.$val$cb13 = null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$13_handleEvent$exported$0(var$0) {
        otpp_AsyncCallbackWrapper_complete(var$0.$val$cb13, nleit_BooleanResult_TRUE);
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$14() {
        jl_Object.call(this);
        this.$val$cb14 = null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$14_handleEvent$exported$0(var$0) {
        otpp_AsyncCallbackWrapper_complete(var$0.$val$cb14, nleit_BooleanResult_FALSE);
    }
    function cjj_Drft() {
        var a = this; jl_Object.call(a);
        a.$n0 = 0;
        a.$trigcache = null;
        a.$splitcache = null;
    }
    var cjj_Drft_ntryh = null;
    var cjj_Drft_tpi = 0.0;
    var cjj_Drft_hsqt2 = 0.0;
    var cjj_Drft_taui = 0.0;
    var cjj_Drft_taur = 0.0;
    var cjj_Drft_sqrt2 = 0.0;
    function cjj_Drft__init_0() {
        var var_0 = new cjj_Drft();
        cjj_Drft__init_(var_0);
        return var_0;
    }
    function cjj_Drft__init_($this) {}
    function cjj_Drft_drfti1($n, $wa, $index, $ifac) {
        var $ntry, $j, $nf, $state, $i, $nq, var$11, $ib, $argh, $is, $nfm1, $l1, $k1, $ip, $ld, $l1_0, $ido, $ipm, $argld, $fi, $ii, $arg, var$27;
        $ntry = 0;
        $j = (-1);
        $nf = 0;
        $state = 101;
        $i = $n;
        a: while (true) {
            b: {
                c: {
                    d: {
                        switch ($state) {
                            case 101:
                                $j = $j + 1 | 0;
                                if ($j >= 4) {
                                    $ntry = $ntry + 2 | 0;
                                    break d;
                                }
                                $ntry = cjj_Drft_ntryh.data[$j];
                                break d;
                            case 104:
                                break d;
                            case 107:
                                break c;
                            default:
                        }
                        break b;
                    }
                    $nq = $i / $ntry | 0;
                    if ($i - $rt_imul($ntry, $nq) | 0) {
                        $state = 101;
                        break b;
                    }
                    var$11 = $ifac.data;
                    $nf = $nf + 1 | 0;
                    var$11[$nf + 1 | 0] = $ntry;
                    if ($ntry != 2) {
                        $state = 107;
                        $i = $nq;
                        break b;
                    }
                    if ($nf == 1) {
                        $state = 107;
                        $i = $nq;
                        break b;
                    }
                    $i = 1;
                    while ($i < $nf) {
                        $ib = ($nf - $i | 0) + 1 | 0;
                        var$11[$ib + 1 | 0] = var$11[$ib];
                        $i = $i + 1 | 0;
                    }
                    var$11[2] = 2;
                    $i = $nq;
                }
                if ($i == 1)
                    break a;
                $state = 104;
            }
        }
        $ifac = $ifac.data;
        $ifac[0] = $n;
        $ifac[1] = $nf;
        $argh = cjj_Drft_tpi / $n;
        $is = 0;
        $nfm1 = $nf - 1 | 0;
        $l1 = 1;
        if (!$nfm1)
            return;
        $k1 = 0;
        while ($k1 < $nfm1) {
            $ip = $ifac[$k1 + 2 | 0];
            $ld = 0;
            $l1_0 = $rt_imul($l1, $ip);
            $ido = $n / $l1_0 | 0;
            $ipm = $ip - 1 | 0;
            $nq = 0;
            while ($nq < $ipm) {
                $ld = $ld + $l1 | 0;
                $argld = $ld * $argh;
                $fi = 0.0;
                $ii = 2;
                $state = $is;
                while ($ii < $ido) {
                    var$11 = $wa.data;
                    $fi = $fi + 1.0;
                    $arg = $fi * $argld;
                    $i = $state + 1 | 0;
                    $nf = $index + $state | 0;
                    var$27 = $arg;
                    var$11[$nf] = jl_Math_cos(var$27);
                    $state = $i + 1 | 0;
                    var$11[$index + $i | 0] = jl_Math_sin(var$27);
                    $ii = $ii + 2 | 0;
                }
                $is = $is + $ido | 0;
                $nq = $nq + 1 | 0;
            }
            $k1 = $k1 + 1 | 0;
            $l1 = $l1_0;
        }
    }
    function cjj_Drft__clinit_() {
        cjj_Drft_ntryh = $rt_createIntArrayFromData([4, 2, 3, 5]);
        cjj_Drft_tpi = 6.2831854820251465;
        cjj_Drft_hsqt2 = 0.7071067690849304;
        cjj_Drft_taui = 0.8660253882408142;
        cjj_Drft_taur = (-0.5);
        cjj_Drft_sqrt2 = 1.4142135381698608;
    }
    var nms_MobSpawnerRainforest = $rt_classWithoutFields(nms_MobSpawnerBase);
    function nms_MobSpawnerRainforest__init_0() {
        var var_0 = new nms_MobSpawnerRainforest();
        nms_MobSpawnerRainforest__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerRainforest__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_MobSpawnerBase__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_MobSpawnerRainforest_getRandomWorldGenForTrees($this, $var1) {
        return !ju_Random_nextInt($var1, 3) ? nms_WorldGenBigTree__init_0() : new nms_WorldGenTrees;
    }
    var nms_MobSpawnerSwamp = $rt_classWithoutFields(nms_MobSpawnerBase);
    function nms_MobSpawnerSwamp__init_0() {
        var var_0 = new nms_MobSpawnerSwamp();
        nms_MobSpawnerSwamp__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerSwamp__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_MobSpawnerBase__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    var nms_MobSpawnerForest = $rt_classWithoutFields(nms_MobSpawnerBase);
    function nms_MobSpawnerForest__init_0() {
        var var_0 = new nms_MobSpawnerForest();
        nms_MobSpawnerForest__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerForest__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_MobSpawnerBase__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$spawnableCreatureList = $rt_createArrayFromData(npem_EntityConstructor, [new nms_MobSpawnerForest$_init_$lambda$_0_0, new nms_MobSpawnerForest$_init_$lambda$_0_1, new nms_MobSpawnerForest$_init_$lambda$_0_2, new nms_MobSpawnerForest$_init_$lambda$_0_3, new nms_MobSpawnerForest$_init_$lambda$_0_4]);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_MobSpawnerForest_getRandomWorldGenForTrees($this, $var1) {
        return !ju_Random_nextInt($var1, 5) ? new nms_WorldGenForest : !ju_Random_nextInt($var1, 3) ? nms_WorldGenBigTree__init_0() : new nms_WorldGenTrees;
    }
    var nms_MobSpawnerDesert = $rt_classWithoutFields(nms_MobSpawnerBase);
    function nms_MobSpawnerDesert__init_0() {
        var var_0 = new nms_MobSpawnerDesert();
        nms_MobSpawnerDesert__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerDesert__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_MobSpawnerBase__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    var nms_MobSpawnerTaiga = $rt_classWithoutFields(nms_MobSpawnerBase);
    function nms_MobSpawnerTaiga__init_0() {
        var var_0 = new nms_MobSpawnerTaiga();
        nms_MobSpawnerTaiga__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerTaiga__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_MobSpawnerBase__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$spawnableCreatureList = $rt_createArrayFromData(npem_EntityConstructor, [new nms_MobSpawnerTaiga$_init_$lambda$_0_0, new nms_MobSpawnerTaiga$_init_$lambda$_0_1, new nms_MobSpawnerTaiga$_init_$lambda$_0_2, new nms_MobSpawnerTaiga$_init_$lambda$_0_3, new nms_MobSpawnerTaiga$_init_$lambda$_0_4]);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_MobSpawnerTaiga_getRandomWorldGenForTrees($this, $var1) {
        return ju_Random_nextInt($var1, 3) ? new nms_WorldGenTaiga2 : new nms_WorldGenTaiga1;
    }
    var nms_MobSpawnerHell = $rt_classWithoutFields(nms_MobSpawnerBase);
    function nms_MobSpawnerHell__init_0() {
        var var_0 = new nms_MobSpawnerHell();
        nms_MobSpawnerHell__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerHell__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_MobSpawnerBase__init_($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$spawnableMonsterList = $rt_createArrayFromData(npem_EntityConstructor, [new nms_MobSpawnerHell$_init_$lambda$_0_0, new nms_MobSpawnerHell$_init_$lambda$_0_1]);
            $this.$spawnableCreatureList = $rt_createArray(npem_EntityConstructor, 0);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_HashEntry() {
        var a = this; jl_Object.call(a);
        a.$hashEntry = 0;
        a.$valueEntry = null;
        a.$nextEntry0 = null;
        a.$slotHash = 0;
    }
    function nms_NibbleArray() {
        jl_Object.call(this);
        this.$data5 = null;
    }
    function nms_NibbleArray__init_1(var_0) {
        var var_1 = new nms_NibbleArray();
        nms_NibbleArray__init_(var_1, var_0);
        return var_1;
    }
    function nms_NibbleArray__init_2(var_0) {
        var var_1 = new nms_NibbleArray();
        nms_NibbleArray__init_0(var_1, var_0);
        return var_1;
    }
    function nms_NibbleArray__init_($this, $var1) {
        $this.$data5 = $rt_createByteArray($var1 >> 1);
    }
    function nms_NibbleArray__init_0($this, $var1) {
        $this.$data5 = $var1;
    }
    function nms_NibbleArray_getNibble($this, $var1, $var2, $var3) {
        var $var4, $var5;
        $var4 = $var1 << 11 | $var3 << 7 | $var2;
        $var5 = $var4 >> 1;
        return !($var4 & 1) ? $this.$data5.data[$var5] & 15 : $this.$data5.data[$var5] >> 4 & 15;
    }
    function nms_NibbleArray_setNibble($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, var$7;
        $var5 = $var1 << 11 | $var3 << 7 | $var2;
        $var6 = $var5 >> 1;
        if (!($var5 & 1)) {
            var$7 = $this.$data5.data;
            var$7[$var6] = (var$7[$var6] & 240 | $var4 & 15) << 24 >> 24;
        } else {
            var$7 = $this.$data5.data;
            var$7[$var6] = (var$7[$var6] & 15 | ($var4 & 15) << 4) << 24 >> 24;
        }
    }
    function nms_NibbleArray_isValid($this) {
        return $this.$data5 === null ? 0 : 1;
    }
    var nms_MobSpawnerBase$_init_$lambda$_0_0 = $rt_classWithoutFields();
    function nms_MobSpawnerBase$_init_$lambda$_0_0__init_0() {
        var var_0 = new nms_MobSpawnerBase$_init_$lambda$_0_0();
        nms_MobSpawnerBase$_init_$lambda$_0_0__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerBase$_init_$lambda$_0_0__init_(var$0) {}
    function nms_MobSpawnerBase$_init_$lambda$_0_0_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntitySpider;
            $ptr = 1;
        case 1:
            nms_EntitySpider__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerBase$_init_$lambda$_0_1 = $rt_classWithoutFields();
    function nms_MobSpawnerBase$_init_$lambda$_0_1__init_0() {
        var var_0 = new nms_MobSpawnerBase$_init_$lambda$_0_1();
        nms_MobSpawnerBase$_init_$lambda$_0_1__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerBase$_init_$lambda$_0_1__init_(var$0) {}
    function nms_MobSpawnerBase$_init_$lambda$_0_1_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityZombie;
            $ptr = 1;
        case 1:
            nms_EntityZombie__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerBase$_init_$lambda$_0_2 = $rt_classWithoutFields();
    function nms_MobSpawnerBase$_init_$lambda$_0_2__init_0() {
        var var_0 = new nms_MobSpawnerBase$_init_$lambda$_0_2();
        nms_MobSpawnerBase$_init_$lambda$_0_2__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerBase$_init_$lambda$_0_2__init_(var$0) {}
    function nms_MobSpawnerBase$_init_$lambda$_0_2_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntitySkeleton;
            $ptr = 1;
        case 1:
            nms_EntitySkeleton__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerBase$_init_$lambda$_0_3 = $rt_classWithoutFields();
    function nms_MobSpawnerBase$_init_$lambda$_0_3__init_0() {
        var var_0 = new nms_MobSpawnerBase$_init_$lambda$_0_3();
        nms_MobSpawnerBase$_init_$lambda$_0_3__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerBase$_init_$lambda$_0_3__init_(var$0) {}
    function nms_MobSpawnerBase$_init_$lambda$_0_3_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityCreeper;
            $ptr = 1;
        case 1:
            nms_EntityCreeper__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerBase$_init_$lambda$_0_4 = $rt_classWithoutFields();
    function nms_MobSpawnerBase$_init_$lambda$_0_4__init_0() {
        var var_0 = new nms_MobSpawnerBase$_init_$lambda$_0_4();
        nms_MobSpawnerBase$_init_$lambda$_0_4__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerBase$_init_$lambda$_0_4__init_(var$0) {}
    function nms_MobSpawnerBase$_init_$lambda$_0_4_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntitySlime;
            $ptr = 1;
        case 1:
            nms_EntitySlime__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerBase$_init_$lambda$_0_5 = $rt_classWithoutFields();
    function nms_MobSpawnerBase$_init_$lambda$_0_5__init_0() {
        var var_0 = new nms_MobSpawnerBase$_init_$lambda$_0_5();
        nms_MobSpawnerBase$_init_$lambda$_0_5__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerBase$_init_$lambda$_0_5__init_(var$0) {}
    function nms_MobSpawnerBase$_init_$lambda$_0_5_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntitySheep;
            $ptr = 1;
        case 1:
            nms_EntitySheep__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerBase$_init_$lambda$_0_6 = $rt_classWithoutFields();
    function nms_MobSpawnerBase$_init_$lambda$_0_6__init_0() {
        var var_0 = new nms_MobSpawnerBase$_init_$lambda$_0_6();
        nms_MobSpawnerBase$_init_$lambda$_0_6__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerBase$_init_$lambda$_0_6__init_(var$0) {}
    function nms_MobSpawnerBase$_init_$lambda$_0_6_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityPig;
            $ptr = 1;
        case 1:
            nms_EntityPig__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerBase$_init_$lambda$_0_7 = $rt_classWithoutFields();
    function nms_MobSpawnerBase$_init_$lambda$_0_7__init_0() {
        var var_0 = new nms_MobSpawnerBase$_init_$lambda$_0_7();
        nms_MobSpawnerBase$_init_$lambda$_0_7__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerBase$_init_$lambda$_0_7__init_(var$0) {}
    function nms_MobSpawnerBase$_init_$lambda$_0_7_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityChicken;
            $ptr = 1;
        case 1:
            nms_EntityChicken__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerBase$_init_$lambda$_0_8 = $rt_classWithoutFields();
    function nms_MobSpawnerBase$_init_$lambda$_0_8__init_0() {
        var var_0 = new nms_MobSpawnerBase$_init_$lambda$_0_8();
        nms_MobSpawnerBase$_init_$lambda$_0_8__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerBase$_init_$lambda$_0_8__init_(var$0) {}
    function nms_MobSpawnerBase$_init_$lambda$_0_8_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityCow;
            $ptr = 1;
        case 1:
            nms_EntityCow__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerBase$_init_$lambda$_0_9 = $rt_classWithoutFields();
    function nms_MobSpawnerBase$_init_$lambda$_0_9__init_0() {
        var var_0 = new nms_MobSpawnerBase$_init_$lambda$_0_9();
        nms_MobSpawnerBase$_init_$lambda$_0_9__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerBase$_init_$lambda$_0_9__init_(var$0) {}
    function nms_MobSpawnerBase$_init_$lambda$_0_9_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntitySquid;
            $ptr = 1;
        case 1:
            nms_EntitySquid__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerForest$_init_$lambda$_0_0 = $rt_classWithoutFields();
    function nms_MobSpawnerForest$_init_$lambda$_0_0__init_0() {
        var var_0 = new nms_MobSpawnerForest$_init_$lambda$_0_0();
        nms_MobSpawnerForest$_init_$lambda$_0_0__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerForest$_init_$lambda$_0_0__init_(var$0) {}
    function nms_MobSpawnerForest$_init_$lambda$_0_0_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntitySheep;
            $ptr = 1;
        case 1:
            nms_EntitySheep__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerForest$_init_$lambda$_0_1 = $rt_classWithoutFields();
    function nms_MobSpawnerForest$_init_$lambda$_0_1__init_0() {
        var var_0 = new nms_MobSpawnerForest$_init_$lambda$_0_1();
        nms_MobSpawnerForest$_init_$lambda$_0_1__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerForest$_init_$lambda$_0_1__init_(var$0) {}
    function nms_MobSpawnerForest$_init_$lambda$_0_1_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityPig;
            $ptr = 1;
        case 1:
            nms_EntityPig__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerForest$_init_$lambda$_0_2 = $rt_classWithoutFields();
    function nms_MobSpawnerForest$_init_$lambda$_0_2__init_0() {
        var var_0 = new nms_MobSpawnerForest$_init_$lambda$_0_2();
        nms_MobSpawnerForest$_init_$lambda$_0_2__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerForest$_init_$lambda$_0_2__init_(var$0) {}
    function nms_MobSpawnerForest$_init_$lambda$_0_2_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityChicken;
            $ptr = 1;
        case 1:
            nms_EntityChicken__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerForest$_init_$lambda$_0_3 = $rt_classWithoutFields();
    function nms_MobSpawnerForest$_init_$lambda$_0_3__init_0() {
        var var_0 = new nms_MobSpawnerForest$_init_$lambda$_0_3();
        nms_MobSpawnerForest$_init_$lambda$_0_3__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerForest$_init_$lambda$_0_3__init_(var$0) {}
    function nms_MobSpawnerForest$_init_$lambda$_0_3_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityCow;
            $ptr = 1;
        case 1:
            nms_EntityCow__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerForest$_init_$lambda$_0_4 = $rt_classWithoutFields();
    function nms_MobSpawnerForest$_init_$lambda$_0_4__init_0() {
        var var_0 = new nms_MobSpawnerForest$_init_$lambda$_0_4();
        nms_MobSpawnerForest$_init_$lambda$_0_4__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerForest$_init_$lambda$_0_4__init_(var$0) {}
    function nms_MobSpawnerForest$_init_$lambda$_0_4_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityWolf;
            $ptr = 1;
        case 1:
            nms_EntityWolf__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerTaiga$_init_$lambda$_0_0 = $rt_classWithoutFields();
    function nms_MobSpawnerTaiga$_init_$lambda$_0_0__init_0() {
        var var_0 = new nms_MobSpawnerTaiga$_init_$lambda$_0_0();
        nms_MobSpawnerTaiga$_init_$lambda$_0_0__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerTaiga$_init_$lambda$_0_0__init_(var$0) {}
    function nms_MobSpawnerTaiga$_init_$lambda$_0_0_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntitySheep;
            $ptr = 1;
        case 1:
            nms_EntitySheep__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerTaiga$_init_$lambda$_0_1 = $rt_classWithoutFields();
    function nms_MobSpawnerTaiga$_init_$lambda$_0_1__init_0() {
        var var_0 = new nms_MobSpawnerTaiga$_init_$lambda$_0_1();
        nms_MobSpawnerTaiga$_init_$lambda$_0_1__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerTaiga$_init_$lambda$_0_1__init_(var$0) {}
    function nms_MobSpawnerTaiga$_init_$lambda$_0_1_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityPig;
            $ptr = 1;
        case 1:
            nms_EntityPig__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerTaiga$_init_$lambda$_0_2 = $rt_classWithoutFields();
    function nms_MobSpawnerTaiga$_init_$lambda$_0_2__init_0() {
        var var_0 = new nms_MobSpawnerTaiga$_init_$lambda$_0_2();
        nms_MobSpawnerTaiga$_init_$lambda$_0_2__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerTaiga$_init_$lambda$_0_2__init_(var$0) {}
    function nms_MobSpawnerTaiga$_init_$lambda$_0_2_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityChicken;
            $ptr = 1;
        case 1:
            nms_EntityChicken__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerTaiga$_init_$lambda$_0_3 = $rt_classWithoutFields();
    function nms_MobSpawnerTaiga$_init_$lambda$_0_3__init_0() {
        var var_0 = new nms_MobSpawnerTaiga$_init_$lambda$_0_3();
        nms_MobSpawnerTaiga$_init_$lambda$_0_3__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerTaiga$_init_$lambda$_0_3__init_(var$0) {}
    function nms_MobSpawnerTaiga$_init_$lambda$_0_3_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityCow;
            $ptr = 1;
        case 1:
            nms_EntityCow__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerTaiga$_init_$lambda$_0_4 = $rt_classWithoutFields();
    function nms_MobSpawnerTaiga$_init_$lambda$_0_4__init_0() {
        var var_0 = new nms_MobSpawnerTaiga$_init_$lambda$_0_4();
        nms_MobSpawnerTaiga$_init_$lambda$_0_4__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerTaiga$_init_$lambda$_0_4__init_(var$0) {}
    function nms_MobSpawnerTaiga$_init_$lambda$_0_4_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityWolf;
            $ptr = 1;
        case 1:
            nms_EntityWolf__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerHell$_init_$lambda$_0_0 = $rt_classWithoutFields();
    function nms_MobSpawnerHell$_init_$lambda$_0_0__init_0() {
        var var_0 = new nms_MobSpawnerHell$_init_$lambda$_0_0();
        nms_MobSpawnerHell$_init_$lambda$_0_0__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerHell$_init_$lambda$_0_0__init_(var$0) {}
    function nms_MobSpawnerHell$_init_$lambda$_0_0_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityGhast;
            $ptr = 1;
        case 1:
            nms_EntityGhast__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_MobSpawnerHell$_init_$lambda$_0_1 = $rt_classWithoutFields();
    function nms_MobSpawnerHell$_init_$lambda$_0_1__init_0() {
        var var_0 = new nms_MobSpawnerHell$_init_$lambda$_0_1();
        nms_MobSpawnerHell$_init_$lambda$_0_1__init_(var_0);
        return var_0;
    }
    function nms_MobSpawnerHell$_init_$lambda$_0_1__init_(var$0) {}
    function nms_MobSpawnerHell$_init_$lambda$_0_1_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityPigZombie;
            $ptr = 1;
        case 1:
            nms_EntityPigZombie__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_IChunkLoader = $rt_classWithoutFields(0);
    function nleb_EaglercraftChunkLoader() {
        var a = this; jl_Object.call(a);
        a.$directory1 = null;
        a.$chunkFile = null;
    }
    function nleb_EaglercraftChunkLoader__init_0(var_0) {
        var var_1 = new nleb_EaglercraftChunkLoader();
        nleb_EaglercraftChunkLoader__init_(var_1, var_0);
        return var_1;
    }
    function nleb_EaglercraftChunkLoader__init_($this, $dir) {
        $this.$directory1 = $dir;
    }
    function nleb_EaglercraftChunkLoader_loadChunk($this, $world, $x, $z) {
        var $name, $nbt, var$6, var$7, $dat, $e, var$10, $xx, $zz, $name2, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$name2 = $thread.pop();$zz = $thread.pop();$xx = $thread.pop();var$10 = $thread.pop();$e = $thread.pop();$dat = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$nbt = $thread.pop();$name = $thread.pop();$z = $thread.pop();$x = $thread.pop();$world = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $name = nleb_EaglercraftChunkLoader_getChunkPath($x, $z);
            $nbt = $this.$directory1;
            var$6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$6);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$6, $nbt);
            if ($rt_suspending()) {
                break main;
            }
            $nbt = $tmp;
            var$7 = 47;
            jl_AbstractStringBuilder_append($nbt, var$7);
            $ptr = 2;
        case 2:
            jl_StringBuilder_append($nbt, $name);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $nbt = new nleiv_VFile2;
            $dat = $rt_createArray(jl_Object, 1);
            $dat.data[0] = var$6;
            $ptr = 4;
        case 4:
            nleiv_VFile2__init_($nbt, $dat);
            if ($rt_suspending()) {
                break main;
            }
            $this.$chunkFile = $nbt;
            $ptr = 5;
        case 5:
            $tmp = nleiv_VFile2_getAllBytes($nbt);
            if ($rt_suspending()) {
                break main;
            }
            $dat = $tmp;
            if ($dat === null)
                return null;
            try {
                $nbt = ji_DataInputStream__init_(ji_ByteArrayInputStream__init_($dat));
                $ptr = 6;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 6:
            try {
                $tmp = nms_NBTBase_readTag($nbt);
                if ($rt_suspending()) {
                    break main;
                }
                $nbt = $tmp;
                $nbt = $nbt;
                $e = $rt_s(2228);
                $ptr = 7;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 7:
            try {
                $tmp = nms_NBTTagCompound_getInteger($nbt, $e);
                if ($rt_suspending()) {
                    break main;
                }
                $xx = $tmp;
                $e = $rt_s(2229);
                $ptr = 8;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 8:
            try {
                $tmp = nms_NBTTagCompound_getInteger($nbt, $e);
                if ($rt_suspending()) {
                    break main;
                }
                $zz = $tmp;
                if ($x == $xx && $z == $zz) {
                    $ptr = 36;
                    continue main;
                }
                $name2 = nleb_EaglercraftChunkLoader_getChunkPath($xx, $zz);
                var$10 = jl_System_err();
                $world = jl_StringBuilder__init_0();
                $nbt = $rt_s(2230);
                $ptr = 18;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
        case 9:
            $tmp = jl_StringBuilder_append(var$10, $world);
            if ($rt_suspending()) {
                break main;
            }
            $world = $tmp;
            $ptr = 10;
        case 10:
            $tmp = jl_StringBuilder_append($world, $name);
            if ($rt_suspending()) {
                break main;
            }
            $world = $tmp;
            var$6 = $rt_s(2231);
            $ptr = 11;
        case 11:
            $tmp = jl_StringBuilder_append($world, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $world = $tmp;
            jl_AbstractStringBuilder_append0($world, $x);
            var$6 = $rt_s(107);
            $ptr = 12;
        case 12:
            $tmp = jl_StringBuilder_append($world, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $world = $tmp;
            jl_AbstractStringBuilder_append0($world, $z);
            jl_AbstractStringBuilder_append($world, 93);
            $ptr = 13;
        case 13:
            $tmp = jl_AbstractStringBuilder_toString(var$10);
            if ($rt_suspending()) {
                break main;
            }
            $world = $tmp;
            $ptr = 14;
        case 14:
            ji_PrintStream_println0($nbt, $world);
            if ($rt_suspending()) {
                break main;
            }
            $world = jl_System_err();
            var$6 = $rt_s(2232);
            $ptr = 15;
        case 15:
            ji_PrintStream_println0($world, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $world = $this.$chunkFile;
            $ptr = 16;
        case 16:
            nleiv_VFile2_delete($world);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 17;
        case 17:
            jl_Throwable_printStackTrace($e);
            if ($rt_suspending()) {
                break main;
            }
            return null;
        case 18:
            try {
                $tmp = jl_StringBuilder_append($world, $nbt);
                if ($rt_suspending()) {
                    break main;
                }
                $nbt = $tmp;
                $ptr = 19;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 19:
            try {
                $tmp = jl_StringBuilder_append($nbt, $name);
                if ($rt_suspending()) {
                    break main;
                }
                $nbt = $tmp;
                $e = $rt_s(2233);
                $ptr = 20;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 20:
            try {
                $tmp = jl_StringBuilder_append($nbt, $e);
                if ($rt_suspending()) {
                    break main;
                }
                $nbt = $tmp;
                $nbt = jl_StringBuilder_append1($nbt, $x);
                $e = $rt_s(107);
                $ptr = 21;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 21:
            try {
                $tmp = jl_StringBuilder_append($nbt, $e);
                if ($rt_suspending()) {
                    break main;
                }
                $nbt = $tmp;
                $nbt = jl_StringBuilder_append1($nbt, $z);
                $e = $rt_s(2234);
                $ptr = 22;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 22:
            try {
                $tmp = jl_StringBuilder_append($nbt, $e);
                if ($rt_suspending()) {
                    break main;
                }
                $nbt = $tmp;
                $nbt = jl_StringBuilder_append1($nbt, $xx);
                $e = $rt_s(107);
                $ptr = 23;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 23:
            try {
                $tmp = jl_StringBuilder_append($nbt, $e);
                if ($rt_suspending()) {
                    break main;
                }
                $nbt = $tmp;
                $nbt = jl_StringBuilder_append1($nbt, $zz);
                $e = $rt_s(2235);
                $ptr = 24;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 24:
            try {
                $tmp = jl_StringBuilder_append($nbt, $e);
                if ($rt_suspending()) {
                    break main;
                }
                $nbt = $tmp;
                $ptr = 25;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 25:
            try {
                $tmp = jl_StringBuilder_append($nbt, $name2);
                if ($rt_suspending()) {
                    break main;
                }
                $nbt = $tmp;
                $e = $rt_s(2236);
                $ptr = 26;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 26:
            try {
                $tmp = jl_StringBuilder_append($nbt, $e);
                if ($rt_suspending()) {
                    break main;
                }
                $nbt = $tmp;
                $ptr = 27;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 27:
            try {
                $tmp = jl_StringBuilder_append($nbt, $name);
                if ($rt_suspending()) {
                    break main;
                }
                $nbt = $tmp;
                $e = $rt_s(2237);
                $ptr = 28;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 28:
            try {
                $tmp = jl_StringBuilder_append($nbt, $e);
                if ($rt_suspending()) {
                    break main;
                }
                $nbt = $tmp;
                $nbt = jl_StringBuilder_append1($nbt, $x);
                $e = $rt_s(107);
                $ptr = 29;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 29:
            try {
                $tmp = jl_StringBuilder_append($nbt, $e);
                if ($rt_suspending()) {
                    break main;
                }
                $nbt = $tmp;
                jl_StringBuilder_append5(jl_StringBuilder_append1($nbt, $z), 93);
                $ptr = 30;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 30:
            try {
                $tmp = jl_StringBuilder_toString($world);
                if ($rt_suspending()) {
                    break main;
                }
                $world = $tmp;
                $ptr = 31;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 31:
            try {
                ji_PrintStream_println0(var$10, $world);
                if ($rt_suspending()) {
                    break main;
                }
                $world = $this.$chunkFile;
                $nbt = $this.$directory1;
                $e = jl_StringBuilder__init_0();
                $ptr = 32;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 32:
            try {
                $tmp = jl_StringBuilder_append($e, var$6);
                if ($rt_suspending()) {
                    break main;
                }
                var$6 = $tmp;
                $ptr = 33;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 33:
            try {
                $tmp = jl_StringBuilder_append(var$6, $nbt);
                if ($rt_suspending()) {
                    break main;
                }
                var$6 = $tmp;
                var$6 = jl_StringBuilder_append5(var$6, var$7);
                $ptr = 34;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 34:
            try {
                jl_StringBuilder_append(var$6, $name2);
                if ($rt_suspending()) {
                    break main;
                }
                $ptr = 35;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 35:
            try {
                $tmp = jl_StringBuilder_toString($e);
                if ($rt_suspending()) {
                    break main;
                }
                var$6 = $tmp;
                $ptr = 37;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 36:
            a: {
                try {
                    $tmp = nleb_EaglercraftChunkLoader_loadChunkIntoWorldFromCompound($world, $nbt);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $world = $tmp;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        $e = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $world;
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        case 37:
            a: {
                try {
                    nleiv_VFile2_renameTo($world, var$6);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $world = null;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        $e = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $world;
            }
            $nbt = jl_System_err();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            $world = $rt_s(2227);
            $ptr = 9;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $world, $x, $z, $name, $nbt, var$6, var$7, $dat, $e, var$10, $xx, $zz, $name2, $ptr);
    }
    function nleb_EaglercraftChunkLoader_saveChunk($this, $world, $chunk) {
        var $toSave, $bao, var$5, var$6, var$7, var$8, var$9, $e, var$11, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();$e = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$bao = $thread.pop();$toSave = $thread.pop();$chunk = $thread.pop();$world = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $toSave = nms_NBTTagCompound__init_0();
            $bao = $rt_s(2228);
            var$5 = $chunk.$xPosition18;
            $ptr = 1;
        case 1:
            nms_NBTTagCompound_setInteger($toSave, $bao, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $bao = $rt_s(2229);
            var$5 = $chunk.$zPosition16;
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setInteger($toSave, $bao, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $bao = $rt_s(2238);
            var$6 = $world.$lockTimestamp;
            $ptr = 3;
        case 3:
            nms_NBTTagCompound_setLong($toSave, $bao, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $world = $rt_s(2239);
            var$7 = $chunk.$blocks0;
            $ptr = 4;
        case 4:
            nms_NBTTagCompound_setByteArray($toSave, $world, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $world = $rt_s(2240);
            var$7 = $chunk.$data4.$data5;
            $ptr = 5;
        case 5:
            nms_NBTTagCompound_setByteArray($toSave, $world, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $world = $rt_s(2241);
            var$7 = $chunk.$skylightMap.$data5;
            $ptr = 6;
        case 6:
            nms_NBTTagCompound_setByteArray($toSave, $world, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $world = $rt_s(2242);
            var$7 = $chunk.$blocklightMap.$data5;
            $ptr = 7;
        case 7:
            nms_NBTTagCompound_setByteArray($toSave, $world, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $world = $rt_s(2243);
            var$7 = $chunk.$heightMap;
            $ptr = 8;
        case 8:
            nms_NBTTagCompound_setByteArray($toSave, $world, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $world = $rt_s(2244);
            var$5 = $chunk.$isTerrainPopulated;
            $ptr = 9;
        case 9:
            nms_NBTTagCompound_setBoolean($toSave, $world, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $chunk.$hasEntities = 0;
            var$8 = nms_NBTTagList__init_0();
            var$9 = 0;
            var$7 = $chunk.$entities.data;
            if (var$9 >= var$7.length) {
                $world = $rt_s(2245);
                $ptr = 10;
                continue main;
            }
            $world = var$7[var$9];
            $ptr = 12;
            continue main;
        case 10:
            nms_NBTTagCompound_setTag($toSave, $world, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $world = nms_NBTTagList__init_0();
            $bao = ju_HashMap_values($chunk.$chunkTileEntityMap);
            $ptr = 11;
        case 11:
            $tmp = ju_HashMap$2_iterator($bao);
            if ($rt_suspending()) {
                break main;
            }
            $bao = $tmp;
            if (ju_HashMap$AbstractMapIterator_hasNext($bao)) {
                $ptr = 14;
                continue main;
            }
            $bao = $rt_s(2246);
            $ptr = 13;
            continue main;
        case 12:
            $tmp = ju_AbstractList_iterator($world);
            if ($rt_suspending()) {
                break main;
            }
            $world = $tmp;
            if (ju_AbstractList$1_hasNext($world)) {
                $ptr = 16;
                continue main;
            }
            var$9 = var$9 + 1 | 0;
            var$7 = $chunk.$entities.data;
            if (var$9 >= var$7.length) {
                $world = $rt_s(2245);
                $ptr = 10;
                continue main;
            }
            $world = var$7[var$9];
            continue main;
        case 13:
            nms_NBTTagCompound_setTag($toSave, $bao, $world);
            if ($rt_suspending()) {
                break main;
            }
            $bao = ji_ByteArrayOutputStream__init_2(131072);
            a: {
                try {
                    nms_NBTBase_writeTag($toSave, ji_DataOutputStream__init_0($bao));
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        $e = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $world = jl_System_err();
                var$5 = $chunk.$xPosition18;
                var$9 = $chunk.$zPosition16;
                $chunk = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($chunk);
                $toSave = $rt_s(2247);
                $ptr = 18;
                continue main;
            }
            $world = new nleiv_VFile2;
            var$7 = $rt_createArray(jl_Object, 1);
            var$11 = var$7.data;
            var$5 = 0;
            $toSave = $this.$directory1;
            $chunk = nleb_EaglercraftChunkLoader_getChunkPath($chunk.$xPosition18, $chunk.$zPosition16);
            $e = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($e);
            $ptr = 24;
            continue main;
        case 14:
            $tmp = ju_HashMap$ValueIterator_next($bao);
            if ($rt_suspending()) {
                break main;
            }
            $e = $tmp;
            $e = $e;
            var$8 = nms_NBTTagCompound__init_0();
            $ptr = 15;
        case 15:
            $e.$writeToNBT(var$8);
            if ($rt_suspending()) {
                break main;
            }
            nms_NBTTagList_setTag($world, var$8);
            if (ju_HashMap$AbstractMapIterator_hasNext($bao)) {
                $ptr = 14;
                continue main;
            }
            $bao = $rt_s(2246);
            $ptr = 13;
            continue main;
        case 16:
            $tmp = ju_AbstractList$1_next($world);
            if ($rt_suspending()) {
                break main;
            }
            $bao = $tmp;
            $bao = $bao;
            $chunk.$hasEntities = 1;
            $e = nms_NBTTagCompound__init_0();
            $ptr = 17;
        case 17:
            $tmp = nms_Entity_addEntityID($bao, $e);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5)
                nms_NBTTagList_setTag(var$8, $e);
            if (ju_AbstractList$1_hasNext($world)) {
                $ptr = 16;
                continue main;
            }
            var$9 = var$9 + 1 | 0;
            var$7 = $chunk.$entities.data;
            if (var$9 >= var$7.length) {
                $world = $rt_s(2245);
                $ptr = 10;
                continue main;
            }
            $world = var$7[var$9];
            $ptr = 12;
            continue main;
        case 18:
            $tmp = jl_StringBuilder_append($chunk, $toSave);
            if ($rt_suspending()) {
                break main;
            }
            $toSave = $tmp;
            jl_AbstractStringBuilder_append0($toSave, var$5);
            $bao = $rt_s(107);
            $ptr = 19;
        case 19:
            $tmp = jl_StringBuilder_append($toSave, $bao);
            if ($rt_suspending()) {
                break main;
            }
            $toSave = $tmp;
            jl_AbstractStringBuilder_append0($toSave, var$9);
            $bao = $rt_s(2248);
            $ptr = 20;
        case 20:
            jl_StringBuilder_append($toSave, $bao);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 21;
        case 21:
            $tmp = jl_AbstractStringBuilder_toString($chunk);
            if ($rt_suspending()) {
                break main;
            }
            $chunk = $tmp;
            $ptr = 22;
        case 22:
            ji_PrintStream_println0($world, $chunk);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 23;
        case 23:
            jl_Throwable_printStackTrace($e);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 24:
            $tmp = jl_StringBuilder_append($e, $toSave);
            if ($rt_suspending()) {
                break main;
            }
            $toSave = $tmp;
            jl_AbstractStringBuilder_append($toSave, 47);
            $ptr = 25;
        case 25:
            jl_StringBuilder_append($toSave, $chunk);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 26;
        case 26:
            $tmp = jl_AbstractStringBuilder_toString($e);
            if ($rt_suspending()) {
                break main;
            }
            $chunk = $tmp;
            var$11[var$5] = $chunk;
            $ptr = 27;
        case 27:
            nleiv_VFile2__init_($world, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $this.$chunkFile = $world;
            var$7 = ji_ByteArrayOutputStream_toByteArray($bao);
            $ptr = 28;
        case 28:
            nleiv_VFile2_setAllBytes($world, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $world, $chunk, $toSave, $bao, var$5, var$6, var$7, var$8, var$9, $e, var$11, $ptr);
    }
    function nleb_EaglercraftChunkLoader_saveExtraChunkData($this, $world, $chunk) {}
    function nleb_EaglercraftChunkLoader_getChunkPath($x, $z) {
        var $unsignedX, $unsignedZ, $radix, $path, var$7, $i;
        $unsignedX = $x + 30233088 | 0;
        $unsignedZ = $z + 30233088 | 0;
        $radix = jl_String_length($rt_s(2249));
        $path = $rt_createCharArray(10);
        var$7 = $path.data;
        $i = 0;
        while ($i < 5) {
            $x = $i * 2 | 0;
            var$7[$x] = jl_String_charAt($rt_s(2249), $unsignedX % $radix | 0);
            $unsignedX = $unsignedX / $radix | 0;
            var$7[$x + 1 | 0] = jl_String_charAt($rt_s(2249), $unsignedZ % $radix | 0);
            $unsignedZ = $unsignedZ / $radix | 0;
            $i = $i + 1 | 0;
        }
        return jl_String__init_($path);
    }
    function nleb_EaglercraftChunkLoader_loadChunkIntoWorldFromCompound($world, $nbttagcompound) {
        var $chunk, $i, $j, $entity, var$7, $nbttaglist1, $nbttaglist, $k, $nbttagcompound1, $l, $nbttagcompound2, $entity_0, $tileentity, $tileentity_0, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$tileentity_0 = $thread.pop();$tileentity = $thread.pop();$entity_0 = $thread.pop();$nbttagcompound2 = $thread.pop();$l = $thread.pop();$nbttagcompound1 = $thread.pop();$k = $thread.pop();$nbttaglist = $thread.pop();$nbttaglist1 = $thread.pop();var$7 = $thread.pop();$entity = $thread.pop();$j = $thread.pop();$i = $thread.pop();$chunk = $thread.pop();$nbttagcompound = $thread.pop();$world = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $chunk = $rt_s(2228);
            $ptr = 1;
        case 1:
            $tmp = nms_NBTTagCompound_getInteger($nbttagcompound, $chunk);
            if ($rt_suspending()) {
                break main;
            }
            $i = $tmp;
            $chunk = $rt_s(2229);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getInteger($nbttagcompound, $chunk);
            if ($rt_suspending()) {
                break main;
            }
            $j = $tmp;
            $chunk = nms_Chunk__init_1($world, $i, $j);
            $entity = $rt_s(2239);
            $ptr = 3;
        case 3:
            $tmp = nms_NBTTagCompound_getByteArray($nbttagcompound, $entity);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $chunk.$blocks0 = var$7;
            $entity = new nms_NibbleArray;
            $nbttaglist1 = $rt_s(2240);
            $ptr = 4;
        case 4:
            $tmp = nms_NBTTagCompound_getByteArray($nbttagcompound, $nbttaglist1);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            nms_NibbleArray__init_0($entity, var$7);
            $chunk.$data4 = $entity;
            $entity = new nms_NibbleArray;
            $nbttaglist1 = $rt_s(2241);
            $ptr = 5;
        case 5:
            $tmp = nms_NBTTagCompound_getByteArray($nbttagcompound, $nbttaglist1);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            nms_NibbleArray__init_0($entity, var$7);
            $chunk.$skylightMap = $entity;
            $entity = new nms_NibbleArray;
            $nbttaglist1 = $rt_s(2242);
            $ptr = 6;
        case 6:
            $tmp = nms_NBTTagCompound_getByteArray($nbttagcompound, $nbttaglist1);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            nms_NibbleArray__init_0($entity, var$7);
            $chunk.$blocklightMap = $entity;
            $entity = $rt_s(2243);
            $ptr = 7;
        case 7:
            $tmp = nms_NBTTagCompound_getByteArray($nbttagcompound, $entity);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            $chunk.$heightMap = var$7;
            $entity = $rt_s(2244);
            $ptr = 8;
        case 8:
            $tmp = nms_NBTTagCompound_getBoolean($nbttagcompound, $entity);
            if ($rt_suspending()) {
                break main;
            }
            $i = $tmp;
            $chunk.$isTerrainPopulated = $i;
            if (!nms_NibbleArray_isValid($chunk.$data4))
                $chunk.$data4 = nms_NibbleArray__init_1($chunk.$blocks0.data.length);
            if ($chunk.$heightMap !== null && nms_NibbleArray_isValid($chunk.$skylightMap)) {
                if (!nms_NibbleArray_isValid($chunk.$blocklightMap))
                    $chunk.$blocklightMap = nms_NibbleArray__init_1($chunk.$blocks0.data.length);
                $entity = $rt_s(2245);
                $ptr = 10;
                continue main;
            }
            $chunk.$heightMap = $rt_createByteArray(256);
            $chunk.$skylightMap = nms_NibbleArray__init_1($chunk.$blocks0.data.length);
            $ptr = 9;
        case 9:
            nms_Chunk_func_1024_c($chunk);
            if ($rt_suspending()) {
                break main;
            }
            if (!nms_NibbleArray_isValid($chunk.$blocklightMap))
                $chunk.$blocklightMap = nms_NibbleArray__init_1($chunk.$blocks0.data.length);
            $entity = $rt_s(2245);
            $ptr = 10;
        case 10:
            $tmp = nms_NBTTagCompound_getTagList($nbttagcompound, $entity);
            if ($rt_suspending()) {
                break main;
            }
            $nbttaglist = $tmp;
            if ($nbttaglist !== null) {
                $k = 0;
                if ($k < nms_NBTTagList_tagCount($nbttaglist)) {
                    $nbttagcompound1 = nms_NBTTagList_tagAt($nbttaglist, $k);
                    $ptr = 12;
                    continue main;
                }
            }
            $world = $rt_s(2246);
            $ptr = 11;
        case 11:
            $tmp = nms_NBTTagCompound_getTagList($nbttagcompound, $world);
            if ($rt_suspending()) {
                break main;
            }
            $nbttaglist1 = $tmp;
            if ($nbttaglist1 !== null) {
                $l = 0;
                if ($l < nms_NBTTagList_tagCount($nbttaglist1)) {
                    $nbttagcompound2 = nms_NBTTagList_tagAt($nbttaglist1, $l);
                    $ptr = 13;
                    continue main;
                }
            }
            return $chunk;
        case 12:
            nms_EntityList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $entity = null;
            try {
                $entity_0 = $entity;
                $tileentity = nms_EntityList_stringToClassMapping;
                $nbttaglist1 = $rt_s(940);
                $ptr = 14;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $entity = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 18;
            continue main;
        case 13:
            nms_TileEntity_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $tileentity = null;
            try {
                $tileentity_0 = $tileentity;
                $nbttagcompound = nms_TileEntity_nameToClassMap;
                $world = $rt_s(940);
                $ptr = 16;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $world = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 20;
            continue main;
        case 14:
            try {
                $tmp = nms_NBTTagCompound_getString($nbttagcompound1, $nbttaglist1);
                if ($rt_suspending()) {
                    break main;
                }
                $nbttaglist1 = $tmp;
                $ptr = 15;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $entity = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 18;
            continue main;
        case 15:
            a: {
                try {
                    $tmp = ju_HashMap_get($tileentity, $nbttaglist1);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $nbttaglist1 = $tmp;
                    $nbttaglist1 = $nbttaglist1;
                    if ($nbttaglist1 === null)
                        break a;
                    $entity_0 = $entity;
                    $ptr = 19;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $entity = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 18;
                continue main;
            }
            if ($entity !== null) {
                $ptr = 27;
                continue main;
            }
            $nbttaglist1 = jl_System_out();
            $tileentity = $rt_s(940);
            $ptr = 22;
            continue main;
        case 16:
            try {
                $tmp = nms_NBTTagCompound_getString($nbttagcompound2, $world);
                if ($rt_suspending()) {
                    break main;
                }
                $world = $tmp;
                $ptr = 17;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $world = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 20;
            continue main;
        case 17:
            a: {
                try {
                    $tmp = ju_HashMap_get($nbttagcompound, $world);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $world = $tmp;
                    $world = $world;
                    if ($world === null)
                        break a;
                    $tileentity_0 = $tileentity;
                    $ptr = 21;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $world = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 20;
                continue main;
            }
            if ($tileentity !== null) {
                $ptr = 33;
                continue main;
            }
            $entity = jl_System_out();
            $world = $rt_s(940);
            $ptr = 28;
            continue main;
        case 18:
            jl_Throwable_printStackTrace($entity);
            if ($rt_suspending()) {
                break main;
            }
            $entity = $entity_0;
            if ($entity !== null) {
                $ptr = 27;
                continue main;
            }
            $nbttaglist1 = jl_System_out();
            $tileentity = $rt_s(940);
            $ptr = 22;
            continue main;
        case 19:
            a: {
                try {
                    $tmp = $nbttaglist1.$createEntity($world);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $entity = $tmp;
                    $entity_0 = $entity;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $entity = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 18;
                continue main;
            }
            if ($entity !== null) {
                $ptr = 27;
                continue main;
            }
            $nbttaglist1 = jl_System_out();
            $tileentity = $rt_s(940);
            $ptr = 22;
            continue main;
        case 20:
            jl_Throwable_printStackTrace($world);
            if ($rt_suspending()) {
                break main;
            }
            $tileentity = $tileentity_0;
            if ($tileentity !== null) {
                $ptr = 33;
                continue main;
            }
            $entity = jl_System_out();
            $world = $rt_s(940);
            $ptr = 28;
            continue main;
        case 21:
            a: {
                try {
                    $tmp = jl_Class_newInstance($world);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $world = $tmp;
                    $tileentity = $world;
                    $tileentity_0 = $tileentity;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $world = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $ptr = 20;
                continue main;
            }
            if ($tileentity !== null) {
                $ptr = 33;
                continue main;
            }
            $entity = jl_System_out();
            $world = $rt_s(940);
            $ptr = 28;
            continue main;
        case 22:
            $tmp = nms_NBTTagCompound_getString($nbttagcompound1, $tileentity);
            if ($rt_suspending()) {
                break main;
            }
            $tileentity = $tmp;
            $entity_0 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($entity_0);
            $nbttagcompound1 = $rt_s(2094);
            $ptr = 23;
        case 23:
            $tmp = jl_StringBuilder_append($entity_0, $nbttagcompound1);
            if ($rt_suspending()) {
                break main;
            }
            $nbttagcompound1 = $tmp;
            $ptr = 24;
        case 24:
            jl_StringBuilder_append($nbttagcompound1, $tileentity);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 25;
        case 25:
            $tmp = jl_AbstractStringBuilder_toString($entity_0);
            if ($rt_suspending()) {
                break main;
            }
            $tileentity = $tmp;
            $ptr = 26;
        case 26:
            ji_PrintStream_println0($nbttaglist1, $tileentity);
            if ($rt_suspending()) {
                break main;
            }
            $chunk.$hasEntities = 1;
            if ($entity !== null) {
                $ptr = 34;
                continue main;
            }
            $k = $k + 1 | 0;
            if ($k >= nms_NBTTagList_tagCount($nbttaglist)) {
                $world = $rt_s(2246);
                $ptr = 11;
                continue main;
            }
            $nbttagcompound1 = nms_NBTTagList_tagAt($nbttaglist, $k);
            $ptr = 12;
            continue main;
        case 27:
            nms_Entity_readFromNBT($entity, $nbttagcompound1);
            if ($rt_suspending()) {
                break main;
            }
            $chunk.$hasEntities = 1;
            if ($entity !== null) {
                $ptr = 34;
                continue main;
            }
            $k = $k + 1 | 0;
            if ($k >= nms_NBTTagList_tagCount($nbttaglist)) {
                $world = $rt_s(2246);
                $ptr = 11;
                continue main;
            }
            $nbttagcompound1 = nms_NBTTagList_tagAt($nbttaglist, $k);
            $ptr = 12;
            continue main;
        case 28:
            $tmp = nms_NBTTagCompound_getString($nbttagcompound2, $world);
            if ($rt_suspending()) {
                break main;
            }
            $entity_0 = $tmp;
            $world = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($world);
            $nbttagcompound = $rt_s(2250);
            $ptr = 29;
        case 29:
            $tmp = jl_StringBuilder_append($world, $nbttagcompound);
            if ($rt_suspending()) {
                break main;
            }
            $nbttagcompound = $tmp;
            $ptr = 30;
        case 30:
            jl_StringBuilder_append($nbttagcompound, $entity_0);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 31;
        case 31:
            $tmp = jl_AbstractStringBuilder_toString($world);
            if ($rt_suspending()) {
                break main;
            }
            $world = $tmp;
            $ptr = 32;
        case 32:
            ji_PrintStream_println0($entity, $world);
            if ($rt_suspending()) {
                break main;
            }
            if ($tileentity === null) {
                $l = $l + 1 | 0;
                if ($l >= nms_NBTTagList_tagCount($nbttaglist1))
                    return $chunk;
                $nbttagcompound2 = nms_NBTTagList_tagAt($nbttaglist1, $l);
                $ptr = 13;
                continue main;
            }
            $i = $tileentity.$xCoord0 - ($chunk.$xPosition18 * 16 | 0) | 0;
            $j = $tileentity.$yCoord0;
            $k = $tileentity.$zCoord0 - ($chunk.$zPosition16 * 16 | 0) | 0;
            $ptr = 35;
            continue main;
        case 33:
            $tileentity.$readFromNBT($nbttagcompound2);
            if ($rt_suspending()) {
                break main;
            }
            if ($tileentity === null) {
                $l = $l + 1 | 0;
                if ($l >= nms_NBTTagList_tagCount($nbttaglist1))
                    return $chunk;
                $nbttagcompound2 = nms_NBTTagList_tagAt($nbttaglist1, $l);
                $ptr = 13;
                continue main;
            }
            $i = $tileentity.$xCoord0 - ($chunk.$xPosition18 * 16 | 0) | 0;
            $j = $tileentity.$yCoord0;
            $k = $tileentity.$zCoord0 - ($chunk.$zPosition16 * 16 | 0) | 0;
            $ptr = 35;
            continue main;
        case 34:
            nms_Chunk_addEntity($chunk, $entity);
            if ($rt_suspending()) {
                break main;
            }
            $k = $k + 1 | 0;
            if ($k >= nms_NBTTagList_tagCount($nbttaglist)) {
                $world = $rt_s(2246);
                $ptr = 11;
                continue main;
            }
            $nbttagcompound1 = nms_NBTTagList_tagAt($nbttaglist, $k);
            $ptr = 12;
            continue main;
        case 35:
            nms_Chunk_setChunkBlockTileEntity($chunk, $i, $j, $k, $tileentity);
            if ($rt_suspending()) {
                break main;
            }
            $l = $l + 1 | 0;
            if ($l >= nms_NBTTagList_tagCount($nbttaglist1))
                return $chunk;
            $nbttagcompound2 = nms_NBTTagList_tagAt($nbttaglist1, $l);
            $ptr = 13;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($world, $nbttagcompound, $chunk, $i, $j, $entity, var$7, $nbttaglist1, $nbttaglist, $k, $nbttagcompound1, $l, $nbttagcompound2, $entity_0, $tileentity, $tileentity_0, $ptr);
    }
    function juz_Inflater() {
        var a = this; jl_Object.call(a);
        a.$finished0 = 0;
        a.$nowrap = 0;
        a.$inLength = 0;
        a.$inRead = 0;
        a.$needsDictionary = 0;
        a.$impl0 = null;
    }
    function juz_Inflater__init_1() {
        var var_0 = new juz_Inflater();
        juz_Inflater__init_(var_0);
        return var_0;
    }
    function juz_Inflater__init_($this) {
        var var$1, var$2, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 0;
            $this.$nowrap = var$1;
            try {
                var$2 = new cjj_Inflater;
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof cjj_GZIPException) {
                } else {
                    throw $$e;
                }
            }
            return;
        case 1:
            a: {
                try {
                    cjj_Inflater__init_1(var$2, var$1);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $this.$impl0 = var$2;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof cjj_GZIPException) {
                    } else {
                        throw $$e;
                    }
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function juz_Inflater_end($this) {
        $this.$inRead = 0;
        $this.$inLength = 0;
        $this.$impl0 = null;
    }
    function juz_Inflater_inflate($this, $buf) {
        var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$buf = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $buf.data.length;
            if (0 <= var$2 && var$2 >= 0 && (var$2 - 0 | 0) >= var$2) {
                var$3 = $this.$impl0;
                if (var$3 === null) {
                    var$3 = new jl_IllegalStateException;
                    jl_Throwable__init_0(var$3);
                    $rt_throw(var$3);
                }
                if ($this.$inRead != $this.$inLength ? 0 : 1)
                    var$4 = 0;
                else {
                    a: {
                        var$5 = var$3.$total_in;
                        var$6 = var$3.$total_out;
                        var$7 = $this.$needsDictionary;
                        $this.$needsDictionary = 0;
                        cjj_ZStream_setOutput(var$3, $buf, 0, var$2);
                        var$4 = cjj_Inflater_inflate($this.$impl0, 0);
                        switch (var$4) {
                            case 0:
                                break;
                            case 1:
                                $this.$finished0 = 1;
                                break a;
                            case 2:
                                $this.$needsDictionary = 1;
                                break a;
                            default:
                                var$3 = new juz_DataFormatException;
                                var$8 = new jl_StringBuilder;
                                jl_AbstractStringBuilder__init_(var$8);
                                var$9 = $rt_s(2251);
                                $ptr = 1;
                                continue main;
                        }
                    }
                    if ($this.$needsDictionary && var$7) {
                        var$3 = new juz_DataFormatException;
                        jl_Throwable__init_0(var$3);
                        $rt_throw(var$3);
                    }
                    var$10 = Long_fromInt($this.$inRead);
                    var$3 = $this.$impl0;
                    $this.$inRead = Long_lo(Long_add(var$10, Long_sub(var$3.$total_in, var$5)));
                    var$4 = Long_lo(Long_sub(var$3.$total_out, var$6));
                }
                return var$4;
            }
            var$3 = new jl_ArrayIndexOutOfBoundsException;
            jl_Throwable__init_0(var$3);
            $rt_throw(var$3);
        case 1:
            $tmp = jl_StringBuilder_append(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            jl_AbstractStringBuilder_append0(var$9, var$4);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            jl_Throwable__init_(var$3, var$8);
            $rt_throw(var$3);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $buf, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    var juz_DataFormatException = $rt_classWithoutFields(jl_Exception);
    function juz_DataFormatException__init_1() {
        var var_0 = new juz_DataFormatException();
        juz_DataFormatException__init_(var_0);
        return var_0;
    }
    function juz_DataFormatException__init_($this) {
        jl_Throwable__init_0($this);
    }
    function nms_WorldChunkManagerHell() {
        var a = this; nms_WorldChunkManager.call(a);
        a.$field_4201_e = null;
        a.$field_4200_f = 0.0;
        a.$field_4199_g = 0.0;
    }
    function nms_WorldChunkManagerHell_func_4074_a($this, $var1) {
        return $this.$field_4201_e;
    }
    function nms_WorldChunkManagerHell_func_4073_a($this, $var1, $var2) {
        return $this.$field_4201_e;
    }
    function nms_WorldChunkManagerHell_func_4072_b($this, $var1, $var2) {
        return $this.$field_4200_f;
    }
    function nms_WorldChunkManagerHell_func_4069_a($this, $var1, $var2, $var3, $var4) {
        var var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $this.$field_4195_d;
            $ptr = 1;
        case 1:
            $tmp = nms_WorldChunkManagerHell_loadBlockGeneratorData($this, var$5, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            $this.$field_4195_d = var$5;
            return var$5;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_WorldChunkManagerHell_getTemperatures($this, $var1, $var2, $var3, $var4, $var5) {
        if (!($var1 !== null && $var1.data.length >= $rt_imul($var4, $var5)))
            $var1 = $rt_createDoubleArray($rt_imul($var4, $var5));
        ju_Arrays_fill2($var1, 0, $rt_imul($var4, $var5), $this.$field_4200_f);
        return $var1;
    }
    function nms_WorldChunkManagerHell_loadBlockGeneratorData($this, $var1, $var2, $var3, $var4, $var5) {
        if (!($var1 !== null && $var1.data.length >= $rt_imul($var4, $var5))) {
            $var2 = $rt_imul($var4, $var5);
            $var1 = $rt_createArray(nms_MobSpawnerBase, $var2);
            $this.$temperature = $rt_createDoubleArray($var2);
            $this.$humidity = $rt_createDoubleArray($var2);
        }
        $var3 = $rt_imul($var4, $var5);
        ju_Arrays_fill($var1, 0, $var3, $this.$field_4201_e);
        ju_Arrays_fill2($this.$humidity, 0, $var3, $this.$field_4199_g);
        ju_Arrays_fill2($this.$temperature, 0, $var3, $this.$field_4200_f);
        return $var1;
    }
    var nms_GuiDispenser = $rt_classWithoutFields(nms_GuiContainer);
    function nms_GuiDispenser_drawGuiContainerForegroundLayer($this) {
        var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$fontRenderer0;
            var$2 = $rt_s(2252);
            var$3 = 60;
            var$4 = 6;
            var$5 = 4210752;
            $ptr = 1;
        case 1:
            nms_FontRenderer_drawString(var$1, var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$fontRenderer0;
            var$1 = $rt_s(1830);
            var$3 = 8;
            var$4 = ($this.$ySize0 - 96 | 0) + 2 | 0;
            var$5 = 4210752;
            $ptr = 2;
        case 2:
            nms_FontRenderer_drawString(var$2, var$1, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_GuiDispenser_drawGuiContainerBackgroundLayer($this, $var1) {
        var var$2, var$3, $var2, var$5, var$6, var$7, var$8, $var3, var$10, $var4, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();$var4 = $thread.pop();var$10 = $thread.pop();$var3 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var2 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$mc6.$renderEngine;
            var$3 = $rt_s(2253);
            $ptr = 1;
        case 1:
            $tmp = nms_RenderEngine_getTexture(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$5 = 1.0;
            var$6 = 1.0;
            $var1 = 1.0;
            var$7 = 1.0;
            $ptr = 2;
        case 2:
            nleo_GlStateManager_color(var$5, var$6, $var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$mc6.$renderEngine;
            $ptr = 3;
        case 3:
            nms_RenderEngine_bindTexture(var$3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$width1;
            var$8 = $this.$xSize;
            $var3 = ($var2 - var$8 | 0) / 2 | 0;
            $var2 = $this.$height3;
            var$10 = $this.$ySize0;
            $var4 = ($var2 - var$10 | 0) / 2 | 0;
            var$12 = 0;
            $var2 = 0;
            $ptr = 4;
        case 4:
            nms_Gui_drawTexturedModalRect($this, $var3, $var4, var$12, $var2, var$8, var$10);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $var2, var$5, var$6, var$7, var$8, $var3, var$10, $var4, var$12, $ptr);
    }
    function nms_GuiChest() {
        var a = this; nms_GuiContainer.call(a);
        a.$upperChestInventory = null;
        a.$lowerChestInventory = null;
        a.$inventoryRows = 0;
    }
    function nms_GuiChest_drawGuiContainerForegroundLayer($this) {
        var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$fontRenderer0;
            var$2 = $this.$lowerChestInventory.$getInvName();
            var$3 = 8;
            var$4 = 6;
            var$5 = 4210752;
            $ptr = 1;
        case 1:
            nms_FontRenderer_drawString(var$1, var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$fontRenderer0;
            var$2 = $rt_s(1830);
            var$3 = 8;
            var$4 = ($this.$ySize0 - 96 | 0) + 2 | 0;
            var$5 = 4210752;
            $ptr = 2;
        case 2:
            nms_FontRenderer_drawString(var$1, var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_GuiChest_drawGuiContainerBackgroundLayer($this, $var1) {
        var var$2, var$3, $var2, var$5, var$6, var$7, var$8, $var3, $var4, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var2 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$mc6.$renderEngine;
            var$3 = $rt_s(2254);
            $ptr = 1;
        case 1:
            $tmp = nms_RenderEngine_getTexture(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$5 = 1.0;
            var$6 = 1.0;
            $var1 = 1.0;
            var$7 = 1.0;
            $ptr = 2;
        case 2:
            nleo_GlStateManager_color(var$5, var$6, $var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$mc6.$renderEngine;
            $ptr = 3;
        case 3:
            nms_RenderEngine_bindTexture(var$3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$width1;
            var$8 = $this.$xSize;
            $var3 = ($var2 - var$8 | 0) / 2 | 0;
            $var4 = ($this.$height3 - $this.$ySize0 | 0) / 2 | 0;
            var$11 = 0;
            $var2 = 0;
            var$12 = ($this.$inventoryRows * 18 | 0) + 17 | 0;
            $ptr = 4;
        case 4:
            nms_Gui_drawTexturedModalRect($this, $var3, $var4, var$11, $var2, var$8, var$12);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = ($var4 + ($this.$inventoryRows * 18 | 0) | 0) + 17 | 0;
            $var2 = 0;
            var$12 = 126;
            var$8 = $this.$xSize;
            $var4 = 96;
            $ptr = 5;
        case 5:
            nms_Gui_drawTexturedModalRect($this, $var3, var$11, $var2, var$12, var$8, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $var2, var$5, var$6, var$7, var$8, $var3, $var4, var$11, var$12, $ptr);
    }
    var nms_GuiCrafting = $rt_classWithoutFields(nms_GuiContainer);
    function nms_GuiCrafting_onGuiClosed($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiContainer_onGuiClosed($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $this.$inventorySlots0;
            var$2 = $this.$mc6.$thePlayer;
            $ptr = 2;
        case 2:
            var$1.$onCraftGuiClosed(var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_GuiCrafting_drawGuiContainerForegroundLayer($this) {
        var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$fontRenderer0;
            var$2 = $rt_s(1867);
            var$3 = 28;
            var$4 = 6;
            var$5 = 4210752;
            $ptr = 1;
        case 1:
            nms_FontRenderer_drawString(var$1, var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$fontRenderer0;
            var$1 = $rt_s(1830);
            var$3 = 8;
            var$4 = ($this.$ySize0 - 96 | 0) + 2 | 0;
            var$5 = 4210752;
            $ptr = 2;
        case 2:
            nms_FontRenderer_drawString(var$2, var$1, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_GuiCrafting_drawGuiContainerBackgroundLayer($this, $var1) {
        var var$2, var$3, $var2, var$5, var$6, var$7, var$8, $var3, var$10, $var4, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();$var4 = $thread.pop();var$10 = $thread.pop();$var3 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var2 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$mc6.$renderEngine;
            var$3 = $rt_s(2255);
            $ptr = 1;
        case 1:
            $tmp = nms_RenderEngine_getTexture(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$5 = 1.0;
            var$6 = 1.0;
            $var1 = 1.0;
            var$7 = 1.0;
            $ptr = 2;
        case 2:
            nleo_GlStateManager_color(var$5, var$6, $var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$mc6.$renderEngine;
            $ptr = 3;
        case 3:
            nms_RenderEngine_bindTexture(var$3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$width1;
            var$8 = $this.$xSize;
            $var3 = ($var2 - var$8 | 0) / 2 | 0;
            $var2 = $this.$height3;
            var$10 = $this.$ySize0;
            $var4 = ($var2 - var$10 | 0) / 2 | 0;
            var$12 = 0;
            $var2 = 0;
            $ptr = 4;
        case 4:
            nms_Gui_drawTexturedModalRect($this, $var3, $var4, var$12, $var2, var$8, var$10);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $var2, var$5, var$6, var$7, var$8, $var3, var$10, $var4, var$12, $ptr);
    }
    function nms_GuiFurnace() {
        nms_GuiContainer.call(this);
        this.$furnaceInventory = null;
    }
    function nms_GuiFurnace_drawGuiContainerForegroundLayer($this) {
        var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$fontRenderer0;
            var$2 = $rt_s(942);
            var$3 = 60;
            var$4 = 6;
            var$5 = 4210752;
            $ptr = 1;
        case 1:
            nms_FontRenderer_drawString(var$1, var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$fontRenderer0;
            var$1 = $rt_s(1830);
            var$3 = 8;
            var$4 = ($this.$ySize0 - 96 | 0) + 2 | 0;
            var$5 = 4210752;
            $ptr = 2;
        case 2:
            nms_FontRenderer_drawString(var$2, var$1, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_GuiFurnace_drawGuiContainerBackgroundLayer($this, $var1) {
        var var$2, var$3, $var2, var$5, var$6, var$7, $var5, $var3, var$10, $var4, var$12, $var5_0, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var5_0 = $thread.pop();var$12 = $thread.pop();$var4 = $thread.pop();var$10 = $thread.pop();$var3 = $thread.pop();$var5 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var2 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$mc6.$renderEngine;
            var$3 = $rt_s(2256);
            $ptr = 1;
        case 1:
            $tmp = nms_RenderEngine_getTexture(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            var$5 = 1.0;
            var$6 = 1.0;
            $var1 = 1.0;
            var$7 = 1.0;
            $ptr = 2;
        case 2:
            nleo_GlStateManager_color(var$5, var$6, $var1, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$mc6.$renderEngine;
            $ptr = 3;
        case 3:
            nms_RenderEngine_bindTexture(var$3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$width1;
            $var5 = $this.$xSize;
            $var3 = ($var2 - $var5 | 0) / 2 | 0;
            $var2 = $this.$height3;
            var$10 = $this.$ySize0;
            $var4 = ($var2 - var$10 | 0) / 2 | 0;
            var$12 = 0;
            $var2 = 0;
            $ptr = 4;
        case 4:
            nms_Gui_drawTexturedModalRect($this, $var3, $var4, var$12, $var2, $var5, var$10);
            if ($rt_suspending()) {
                break main;
            }
            if (!nms_TileEntityFurnace_isBurning($this.$furnaceInventory)) {
                $var5 = ($this.$furnaceInventory.$furnaceCookTime * 24 | 0) / 200 | 0;
                $var2 = $var3 + 79 | 0;
                $var3 = $var4 + 34 | 0;
                var$10 = 176;
                $var4 = 14;
                $var5 = $var5 + 1 | 0;
                var$12 = 16;
                $ptr = 5;
                continue main;
            }
            var$3 = $this.$furnaceInventory;
            if (!var$3.$currentItemBurnTime)
                var$3.$currentItemBurnTime = 200;
            $var5_0 = (var$3.$furnaceBurnTime * 12 | 0) / var$3.$currentItemBurnTime | 0;
            $var5 = $var3 + 56 | 0;
            var$10 = (($var4 + 36 | 0) + 12 | 0) - $var5_0 | 0;
            var$12 = 176;
            var$14 = 12 - $var5_0 | 0;
            var$15 = 14;
            $var2 = $var5_0 + 2 | 0;
            $ptr = 6;
            continue main;
        case 5:
            nms_Gui_drawTexturedModalRect($this, $var2, $var3, var$10, $var4, $var5, var$12);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 6:
            nms_Gui_drawTexturedModalRect($this, $var5, var$10, var$12, var$14, var$15, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = ($this.$furnaceInventory.$furnaceCookTime * 24 | 0) / 200 | 0;
            $var2 = $var3 + 79 | 0;
            $var3 = $var4 + 34 | 0;
            var$10 = 176;
            $var4 = 14;
            $var5 = $var5 + 1 | 0;
            var$12 = 16;
            $ptr = 5;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $var2, var$5, var$6, var$7, $var5, $var3, var$10, $var4, var$12, $var5_0, var$14, var$15, $ptr);
    }
    var nms_EntityList = $rt_classWithoutFields();
    var nms_EntityList_stringToClassMapping = null;
    var nms_EntityList_classToStringMapping = null;
    var nms_EntityList_IDtoClassMapping = null;
    var nms_EntityList_classToIDMapping = null;
    var nms_EntityList_$clinitCalled = false;
    function nms_EntityList_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_EntityList_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_EntityList_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_EntityList__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_EntityList_$callClinit = $rt_eraseClinit(nms_EntityList);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_EntityList__init_0() {
        var var_0 = new nms_EntityList();
        nms_EntityList__init_(var_0);
        return var_0;
    }
    function nms_EntityList__init_($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntityList_addMapping($var0, $var3, $var1, $var2) {
        var var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var3 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$5 = nms_EntityList_stringToClassMapping;
            $ptr = 2;
        case 2:
            ju_HashMap_putImpl(var$5, $var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = nms_EntityList_classToStringMapping;
            $ptr = 3;
        case 3:
            ju_HashMap_putImpl(var$5, $var0, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_EntityList_IDtoClassMapping;
            var$5 = jl_Integer_valueOf($var2);
            $ptr = 4;
        case 4:
            ju_HashMap_putImpl($var1, var$5, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_EntityList_classToIDMapping;
            var$6 = (jl_Integer_valueOf($var2)).$value;
            if (!cch_ObjectIntHashMap_$assertionsDisabled && $var3.$assigned0 >= ($var3.$mask1 + 1 | 0)) {
                $var0 = new jl_AssertionError;
                jl_Throwable__init_0($var0);
                $rt_throw($var0);
            }
            a: {
                $var2 = $var3.$mask1;
                if ($var0 === null) {
                    $var3.$hasEmptyKey0 = 1;
                    $var3.$values8.data[$var2 + 1 | 0] = var$6;
                } else {
                    var$7 = $var3.$keys1;
                    var$8 = cch_ObjectIntHashMap_hashKey($var3, $var0) & $var2;
                    while (true) {
                        var$9 = var$7.data;
                        $var1 = var$9[var$8];
                        if ($var1 === null) {
                            var$10 = $rt_compare($var3.$assigned0, $var3.$resizeAt0);
                            if (!var$10) {
                                if (!cch_ObjectIntHashMap_$assertionsDisabled && !(!var$10 && $var3.$keys1.data[var$8] === null && $var0 !== null)) {
                                    $var0 = new jl_AssertionError;
                                    jl_Throwable__init_0($var0);
                                    $rt_throw($var0);
                                }
                                var$7 = $var3.$keys1;
                                var$9 = $var3.$values8;
                                $var2 = $var3.$mask1 + 1 | 0;
                                var$10 = cch_ObjectIntHashMap_size($var3);
                                var$11 = $var3.$loadFactor2;
                                $ptr = 5;
                                continue main;
                            }
                            var$9[var$8] = $var0;
                            $var3.$values8.data[var$8] = var$6;
                            $var3.$assigned0 = $var3.$assigned0 + 1 | 0;
                            break a;
                        }
                        if ($var0 === $var1)
                            var$10 = 1;
                        else {
                            if ($var0 !== null) {
                                $ptr = 7;
                                continue main;
                            }
                            var$10 = 0;
                        }
                        if (var$10)
                            break;
                        var$8 = (var$8 + 1 | 0) & $var2;
                    }
                    $var3.$values8.data[var$8] = var$6;
                }
            }
            return;
        case 5:
            $tmp = cch_HashContainers_nextBufferSize($var2, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 6;
        case 6:
            cch_ObjectIntHashMap_allocateBuffers($var3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            if (!cch_ObjectIntHashMap_$assertionsDisabled) {
                var$12 = var$7.data;
                if ($var3.$keys1.data.length <= var$12.length) {
                    $var0 = new jl_AssertionError;
                    jl_Throwable__init_0($var0);
                    $rt_throw($var0);
                }
            }
            var$13 = var$7.data;
            var$12 = var$9.data;
            var$13[var$8] = $var0;
            var$12[var$8] = var$6;
            cch_ObjectIntHashMap_rehash($var3, var$7, var$9);
            $var3.$assigned0 = $var3.$assigned0 + 1 | 0;
            return;
        case 7:
            $tmp = jl_Object_equals($var0, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            var$10 = var$10 ? 1 : 0;
            b: {
                while (!var$10) {
                    var$8 = (var$8 + 1 | 0) & $var2;
                    var$9 = var$7.data;
                    $var1 = var$9[var$8];
                    if ($var1 === null) {
                        var$10 = $rt_compare($var3.$assigned0, $var3.$resizeAt0);
                        if (!var$10) {
                            if (!cch_ObjectIntHashMap_$assertionsDisabled && !(!var$10 && $var3.$keys1.data[var$8] === null && $var0 !== null)) {
                                $var0 = new jl_AssertionError;
                                jl_Throwable__init_0($var0);
                                $rt_throw($var0);
                            }
                            var$7 = $var3.$keys1;
                            var$9 = $var3.$values8;
                            $var2 = $var3.$mask1 + 1 | 0;
                            var$10 = cch_ObjectIntHashMap_size($var3);
                            var$11 = $var3.$loadFactor2;
                            $ptr = 5;
                            continue main;
                        }
                        var$9[var$8] = $var0;
                        $var3.$values8.data[var$8] = var$6;
                        $var3.$assigned0 = $var3.$assigned0 + 1 | 0;
                        break b;
                    }
                    if ($var0 === $var1) {
                        var$10 = 1;
                        continue;
                    }
                    if ($var0 !== null) {
                        continue main;
                    }
                    var$10 = 0;
                }
                $var3.$values8.data[var$8] = var$6;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var3, $var1, $var2, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
    }
    function nms_EntityList_createEntityInWorld($var0, $var1) {
        var $var2, var$4, $var3, $var4, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityList_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = null;
            try {
                var$4 = $var2;
                $var3 = nms_EntityList_stringToClassMapping;
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var4 = $$je;
                } else {
                    throw $$e;
                }
            }
            $ptr = 3;
            continue main;
        case 2:
            a: {
                b: {
                    try {
                        $tmp = ju_HashMap_get($var3, $var0);
                        if ($rt_suspending()) {
                            break main;
                        }
                        $var0 = $tmp;
                        $var3 = $var0;
                        if ($var3 !== null)
                            break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Exception) {
                            $var4 = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                    return $var2;
                }
                try {
                    var$4 = $var2;
                    $ptr = 4;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var4 = $$je;
                    } else {
                        throw $$e;
                    }
                }
            }
            $ptr = 3;
        case 3:
            jl_Throwable_printStackTrace($var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = var$4;
            return $var2;
        case 4:
            a: {
                try {
                    $tmp = $var3.$createEntity($var1);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $var2 = $tmp;
                    var$4 = $var2;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var4 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $var2;
            }
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($var0, $var1, $var2, var$4, $var3, $var4, $ptr);
    }
    function nms_EntityList__clinit_() {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_EntityList_stringToClassMapping = ju_HashMap__init_0();
            nms_EntityList_classToStringMapping = ju_HashMap__init_0();
            nms_EntityList_IDtoClassMapping = ju_HashMap__init_0();
            var$1 = new cch_ObjectIntHashMap;
            $ptr = 1;
        case 1:
            cch_ObjectIntHashMap__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            nms_EntityList_classToIDMapping = var$1;
            var$2 = $rt_cls(nms_EntityArrow);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_0;
            var$1 = $rt_s(2257);
            var$4 = 10;
            $ptr = 2;
        case 2:
            nms_EntityList_addMapping(var$2, var$3, var$1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntitySnowball);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_1;
            var$2 = $rt_s(2258);
            var$4 = 11;
            $ptr = 3;
        case 3:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntityItem);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_2;
            var$2 = $rt_s(2034);
            var$4 = 1;
            $ptr = 4;
        case 4:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntityPainting);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_3;
            var$2 = $rt_s(2259);
            var$4 = 9;
            $ptr = 5;
        case 5:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntityMobs);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_4;
            var$2 = $rt_s(2260);
            var$4 = 49;
            $ptr = 6;
        case 6:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntityCreeper);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_5;
            var$2 = $rt_s(1778);
            var$4 = 50;
            $ptr = 7;
        case 7:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntitySkeleton);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_6;
            var$2 = $rt_s(2197);
            var$4 = 51;
            $ptr = 8;
        case 8:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntitySpider);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_7;
            var$2 = $rt_s(2261);
            var$4 = 52;
            $ptr = 9;
        case 9:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntityZombieSimple);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_8;
            var$2 = $rt_s(2262);
            var$4 = 53;
            $ptr = 10;
        case 10:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntityZombie);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_9;
            var$2 = $rt_s(1779);
            var$4 = 54;
            $ptr = 11;
        case 11:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntitySlime);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_10;
            var$2 = $rt_s(1775);
            var$4 = 55;
            $ptr = 12;
        case 12:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntityGhast);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_11;
            var$2 = $rt_s(2263);
            var$4 = 56;
            $ptr = 13;
        case 13:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntityPigZombie);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_12;
            var$2 = $rt_s(2264);
            var$4 = 57;
            $ptr = 14;
        case 14:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntityPig);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_13;
            var$2 = $rt_s(1780);
            var$4 = 90;
            $ptr = 15;
        case 15:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntitySheep);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_14;
            var$2 = $rt_s(2265);
            var$4 = 91;
            $ptr = 16;
        case 16:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntityCow);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_15;
            var$2 = $rt_s(2266);
            var$4 = 92;
            $ptr = 17;
        case 17:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntityChicken);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_16;
            var$2 = $rt_s(2267);
            var$4 = 93;
            $ptr = 18;
        case 18:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntitySquid);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_17;
            var$2 = $rt_s(1781);
            var$4 = 94;
            $ptr = 19;
        case 19:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntityWolf);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_18;
            var$2 = $rt_s(2268);
            var$4 = 95;
            $ptr = 20;
        case 20:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntityTNTPrimed);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_19;
            var$2 = $rt_s(2269);
            var$4 = 20;
            $ptr = 21;
        case 21:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntityFallingSand);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_20;
            var$2 = $rt_s(2270);
            var$4 = 21;
            $ptr = 22;
        case 22:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntityMinecart);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_21;
            var$2 = $rt_s(2043);
            var$4 = 40;
            $ptr = 23;
        case 23:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $rt_cls(nms_EntityBoat);
            var$3 = new nms_EntityList$_clinit_$lambda$_7_22;
            var$2 = $rt_s(2271);
            var$4 = 41;
            $ptr = 24;
        case 24:
            nms_EntityList_addMapping(var$1, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_RedstoneUpdateInfo() {
        var a = this; jl_Object.call(a);
        a.$x2 = 0;
        a.$y2 = 0;
        a.$z2 = 0;
        a.$updateTime = Long_ZERO;
    }
    function nms_EnumSkyBlock() {
        jl_Enum.call(this);
        this.$field_1722_c = 0;
    }
    var nms_EnumSkyBlock_Sky = null;
    var nms_EnumSkyBlock_Block = null;
    var nms_EnumSkyBlock_$VALUES = null;
    function nms_EnumSkyBlock_$callClinit() {
        nms_EnumSkyBlock_$callClinit = $rt_eraseClinit(nms_EnumSkyBlock);
        nms_EnumSkyBlock__clinit_();
    }
    function nms_EnumSkyBlock__init_0(var_0, var_1, var_2) {
        var var_3 = new nms_EnumSkyBlock();
        nms_EnumSkyBlock__init_(var_3, var_0, var_1, var_2);
        return var_3;
    }
    function nms_EnumSkyBlock_values() {
        nms_EnumSkyBlock_$callClinit();
        return nms_EnumSkyBlock_$VALUES.$clone();
    }
    function nms_EnumSkyBlock__init_($this, var$1, var$2, $var3) {
        nms_EnumSkyBlock_$callClinit();
        jl_Enum__init_($this, var$1, var$2);
        $this.$field_1722_c = $var3;
    }
    function nms_EnumSkyBlock__clinit_() {
        var var$1;
        nms_EnumSkyBlock_Sky = nms_EnumSkyBlock__init_0($rt_s(2272), 0, 15);
        var$1 = nms_EnumSkyBlock__init_0($rt_s(2273), 1, 0);
        nms_EnumSkyBlock_Block = var$1;
        nms_EnumSkyBlock_$VALUES = $rt_createArrayFromData(nms_EnumSkyBlock, [nms_EnumSkyBlock_Sky, var$1]);
    }
    function nms_ChunkProviderGenerate() {
        var a = this; jl_Object.call(a);
        a.$rand6 = null;
        a.$field_912_k = null;
        a.$field_911_l = null;
        a.$field_910_m = null;
        a.$field_909_n = null;
        a.$field_908_o = null;
        a.$field_922_a = null;
        a.$field_921_b = null;
        a.$mobSpawnerNoise = null;
        a.$worldObj8 = null;
        a.$field_4180_q = null;
        a.$sandNoise = null;
        a.$gravelNoise = null;
        a.$stoneNoise = null;
        a.$field_902_u = null;
        a.$biomesForGeneration = null;
        a.$field_4185_d = null;
        a.$field_4184_e = null;
        a.$field_4183_f = null;
        a.$field_4182_g = null;
        a.$field_4181_h = null;
        a.$field_914_i = null;
        a.$generatedTemperatures = null;
    }
    function nms_ChunkProviderGenerate_generateTerrain($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var8, $var9, var$9, $var11, $var12, $var13, $var55, $var16, $var45, $var18, $var44, $var20, $var22, $var24, $var26, $var28, $var30, $var32, $var39, $var41, $var43, $var14, var$29, $var7, $var50, $var52, var$33, $var33, $var53, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var53 = $thread.pop();$var33 = $thread.pop();var$33 = $thread.pop();$var52 = $thread.pop();$var50 = $thread.pop();$var7 = $thread.pop();var$29 = $thread.pop();$var14 = $thread.pop();$var43 = $thread.pop();$var41 = $thread.pop();$var39 = $thread.pop();$var32 = $thread.pop();$var30 = $thread.pop();$var28 = $thread.pop();$var26 = $thread.pop();$var24 = $thread.pop();$var22 = $thread.pop();$var20 = $thread.pop();$var44 = $thread.pop();$var18 = $thread.pop();$var45 = $thread.pop();$var16
            = $thread.pop();$var55 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();var$9 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = 4;
            $var8 = 5;
            $var9 = 17;
            var$9 = nms_ChunkProviderGenerate_func_4061_a($this, $this.$field_4180_q, $rt_imul($var1, $var6), 0, $rt_imul($var2, $var6), $var8, $var9, $var8);
            $this.$field_4180_q = var$9;
            $var11 = 0;
            while ($var11 < $var6) {
                $var12 = 0;
                while ($var12 < $var6) {
                    $var13 = 0;
                    while ($var13 < 16) {
                        $var4 = var$9.data;
                        $var55 = $rt_imul($var11 + 0 | 0, $var8) + $var12 | 0;
                        $var1 = $rt_imul($var55 + 0 | 0, $var9) + $var13 | 0;
                        $var16 = $var4[$var1 + 0 | 0];
                        $var45 = $rt_imul($var55 + 1 | 0, $var9) + $var13 | 0;
                        $var18 = $var4[$var45 + 0 | 0];
                        $var2 = $rt_imul($var11 + 1 | 0, $var8) + $var12 | 0;
                        $var44 = $rt_imul($var2 + 0 | 0, $var9) + $var13 | 0;
                        $var20 = $var4[$var44 + 0 | 0];
                        $var2 = $rt_imul($var2 + 1 | 0, $var9) + $var13 | 0;
                        $var22 = $var4[$var2 + 0 | 0];
                        $var24 = ($var4[$var1 + 1 | 0] - $var16) * 0.125;
                        $var26 = ($var4[$var45 + 1 | 0] - $var18) * 0.125;
                        $var28 = ($var4[$var44 + 1 | 0] - $var20) * 0.125;
                        $var30 = ($var4[$var2 + 1 | 0] - $var22) * 0.125;
                        $var32 = 0;
                        while ($var32 < 8) {
                            $var39 = ($var20 - $var16) * 0.25;
                            $var41 = ($var22 - $var18) * 0.25;
                            $var43 = 0;
                            $var14 = $var16;
                            var$29 = $var18;
                            while ($var43 < 4) {
                                $var7 = $var43 + ($var11 * 4 | 0) | 0;
                                $var44 = $var7 << 11;
                                $var1 = $var12 * 4 | 0;
                                $var2 = $var44 | (0 + $var1 | 0) << 7;
                                $var55 = ($var13 * 8 | 0) + $var32 | 0;
                                $var44 = $var2 | $var55;
                                $var45 = 128;
                                $var50 = (var$29 - $var14) * 0.25;
                                $var52 = 0;
                                var$33 = ($var7 * 16 | 0) + $var1 | 0;
                                $var1 = $rt_compare($var55, 64);
                                $var7 = $rt_compare($var55, 63);
                                $var33 = $var14;
                                while ($var52 < 4) {
                                    $var53 = $var5.data[var$33 + $var52 | 0];
                                    if ($var1 < 0) {
                                        if ($var53 < 0.5 && $var7 >= 0) {
                                            $ptr = 3;
                                            continue main;
                                        }
                                        $ptr = 1;
                                        continue main;
                                    }
                                    if ($var33 > 0.0) {
                                        $ptr = 2;
                                        continue main;
                                    }
                                    $var3.data[$var44] = 0 << 24 >> 24;
                                    $var44 = $var44 + $var45 | 0;
                                    $var33 = $var33 + $var50;
                                    $var52 = $var52 + 1 | 0;
                                }
                                $var14 = $var14 + $var39;
                                var$29 = var$29 + $var41;
                                $var43 = $var43 + 1 | 0;
                            }
                            $var16 = $var16 + $var24;
                            $var18 = $var18 + $var26;
                            $var20 = $var20 + $var28;
                            $var22 = $var22 + $var30;
                            $var32 = $var32 + 1 | 0;
                        }
                        $var13 = $var13 + 1 | 0;
                    }
                    $var12 = $var12 + 1 | 0;
                }
                $var11 = $var11 + 1 | 0;
            }
            return;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var55 = nms_Block_waterStill.$blockID;
            a: while (true) {
                if ($var33 > 0.0) {
                    $ptr = 2;
                    continue main;
                }
                $var3.data[$var44] = $var55 << 24 >> 24;
                $var44 = $var44 + $var45 | 0;
                $var33 = $var33 + $var50;
                $var52 = $var52 + 1 | 0;
                while ($var52 >= 4) {
                    $var14 = $var14 + $var39;
                    var$29 = var$29 + $var41;
                    $var43 = $var43 + 1 | 0;
                    while ($var43 >= 4) {
                        $var16 = $var16 + $var24;
                        $var18 = $var18 + $var26;
                        $var20 = $var20 + $var28;
                        $var22 = $var22 + $var30;
                        $var32 = $var32 + 1 | 0;
                        while ($var32 >= 8) {
                            $var13 = $var13 + 1 | 0;
                            while ($var13 >= 16) {
                                $var12 = $var12 + 1 | 0;
                                while ($var12 >= $var6) {
                                    $var11 = $var11 + 1 | 0;
                                    if ($var11 >= $var6)
                                        break a;
                                    $var12 = 0;
                                }
                                $var13 = 0;
                            }
                            $var4 = var$9.data;
                            $var55 = $rt_imul($var11 + 0 | 0, $var8) + $var12 | 0;
                            $var1 = $rt_imul($var55 + 0 | 0, $var9) + $var13 | 0;
                            $var16 = $var4[$var1 + 0 | 0];
                            $var45 = $rt_imul($var55 + 1 | 0, $var9) + $var13 | 0;
                            $var18 = $var4[$var45 + 0 | 0];
                            $var2 = $rt_imul($var11 + 1 | 0, $var8) + $var12 | 0;
                            $var44 = $rt_imul($var2 + 0 | 0, $var9) + $var13 | 0;
                            $var20 = $var4[$var44 + 0 | 0];
                            $var2 = $rt_imul($var2 + 1 | 0, $var9) + $var13 | 0;
                            $var22 = $var4[$var2 + 0 | 0];
                            $var24 = ($var4[$var1 + 1 | 0] - $var16) * 0.125;
                            $var26 = ($var4[$var45 + 1 | 0] - $var18) * 0.125;
                            $var28 = ($var4[$var44 + 1 | 0] - $var20) * 0.125;
                            $var30 = ($var4[$var2 + 1 | 0] - $var22) * 0.125;
                            $var32 = 0;
                        }
                        $var39 = ($var20 - $var16) * 0.25;
                        $var41 = ($var22 - $var18) * 0.25;
                        $var43 = 0;
                        $var14 = $var16;
                        var$29 = $var18;
                    }
                    $var7 = $var43 + ($var11 * 4 | 0) | 0;
                    $var44 = $var7 << 11;
                    $var1 = $var12 * 4 | 0;
                    $var2 = $var44 | (0 + $var1 | 0) << 7;
                    $var55 = ($var13 * 8 | 0) + $var32 | 0;
                    $var44 = $var2 | $var55;
                    $var45 = 128;
                    $var50 = (var$29 - $var14) * 0.25;
                    $var52 = 0;
                    var$33 = ($var7 * 16 | 0) + $var1 | 0;
                    $var1 = $rt_compare($var55, 64);
                    $var7 = $rt_compare($var55, 63);
                    $var33 = $var14;
                }
                $var53 = $var5.data[var$33 + $var52 | 0];
                $var55 = 0;
                if ($var1 < 0) {
                    if ($var53 < 0.5 && $var7 >= 0) {
                        $ptr = 3;
                        continue main;
                    }
                    continue main;
                }
            }
            return;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var55 = nms_Block_stone.$blockID;
            a: while (true) {
                $var3.data[$var44] = $var55 << 24 >> 24;
                $var44 = $var44 + $var45 | 0;
                $var33 = $var33 + $var50;
                $var52 = $var52 + 1 | 0;
                while ($var52 >= 4) {
                    $var14 = $var14 + $var39;
                    var$29 = var$29 + $var41;
                    $var43 = $var43 + 1 | 0;
                    while ($var43 >= 4) {
                        $var16 = $var16 + $var24;
                        $var18 = $var18 + $var26;
                        $var20 = $var20 + $var28;
                        $var22 = $var22 + $var30;
                        $var32 = $var32 + 1 | 0;
                        while ($var32 >= 8) {
                            $var13 = $var13 + 1 | 0;
                            while ($var13 >= 16) {
                                $var12 = $var12 + 1 | 0;
                                while ($var12 >= $var6) {
                                    $var11 = $var11 + 1 | 0;
                                    if ($var11 >= $var6)
                                        break a;
                                    $var12 = 0;
                                }
                                $var13 = 0;
                            }
                            $var4 = var$9.data;
                            $var55 = $rt_imul($var11 + 0 | 0, $var8) + $var12 | 0;
                            $var1 = $rt_imul($var55 + 0 | 0, $var9) + $var13 | 0;
                            $var16 = $var4[$var1 + 0 | 0];
                            $var45 = $rt_imul($var55 + 1 | 0, $var9) + $var13 | 0;
                            $var18 = $var4[$var45 + 0 | 0];
                            $var2 = $rt_imul($var11 + 1 | 0, $var8) + $var12 | 0;
                            $var44 = $rt_imul($var2 + 0 | 0, $var9) + $var13 | 0;
                            $var20 = $var4[$var44 + 0 | 0];
                            $var2 = $rt_imul($var2 + 1 | 0, $var9) + $var13 | 0;
                            $var22 = $var4[$var2 + 0 | 0];
                            $var24 = ($var4[$var1 + 1 | 0] - $var16) * 0.125;
                            $var26 = ($var4[$var45 + 1 | 0] - $var18) * 0.125;
                            $var28 = ($var4[$var44 + 1 | 0] - $var20) * 0.125;
                            $var30 = ($var4[$var2 + 1 | 0] - $var22) * 0.125;
                            $var32 = 0;
                        }
                        $var39 = ($var20 - $var16) * 0.25;
                        $var41 = ($var22 - $var18) * 0.25;
                        $var43 = 0;
                        $var14 = $var16;
                        var$29 = $var18;
                    }
                    $var7 = $var43 + ($var11 * 4 | 0) | 0;
                    $var44 = $var7 << 11;
                    $var1 = $var12 * 4 | 0;
                    $var2 = $var44 | (0 + $var1 | 0) << 7;
                    $var55 = ($var13 * 8 | 0) + $var32 | 0;
                    $var44 = $var2 | $var55;
                    $var45 = 128;
                    $var50 = (var$29 - $var14) * 0.25;
                    $var52 = 0;
                    var$33 = ($var7 * 16 | 0) + $var1 | 0;
                    $var1 = $rt_compare($var55, 64);
                    $var7 = $rt_compare($var55, 63);
                    $var33 = $var14;
                }
                $var53 = $var5.data[var$33 + $var52 | 0];
                $var55 = 0;
                if ($var1 < 0) {
                    if ($var53 < 0.5 && $var7 >= 0) {
                        $ptr = 3;
                        continue main;
                    }
                    $ptr = 1;
                    continue main;
                }
                if ($var33 > 0.0) {
                    continue main;
                }
            }
            return;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var55 = nms_Block_ice.$blockID;
            a: while (true) {
                if ($var33 > 0.0) {
                    $ptr = 2;
                    continue main;
                }
                $var3.data[$var44] = $var55 << 24 >> 24;
                $var44 = $var44 + $var45 | 0;
                $var33 = $var33 + $var50;
                $var52 = $var52 + 1 | 0;
                while ($var52 >= 4) {
                    $var14 = $var14 + $var39;
                    var$29 = var$29 + $var41;
                    $var43 = $var43 + 1 | 0;
                    while ($var43 >= 4) {
                        $var16 = $var16 + $var24;
                        $var18 = $var18 + $var26;
                        $var20 = $var20 + $var28;
                        $var22 = $var22 + $var30;
                        $var32 = $var32 + 1 | 0;
                        while ($var32 >= 8) {
                            $var13 = $var13 + 1 | 0;
                            while ($var13 >= 16) {
                                $var12 = $var12 + 1 | 0;
                                while ($var12 >= $var6) {
                                    $var11 = $var11 + 1 | 0;
                                    if ($var11 >= $var6)
                                        break a;
                                    $var12 = 0;
                                }
                                $var13 = 0;
                            }
                            $var4 = var$9.data;
                            $var55 = $rt_imul($var11 + 0 | 0, $var8) + $var12 | 0;
                            $var1 = $rt_imul($var55 + 0 | 0, $var9) + $var13 | 0;
                            $var16 = $var4[$var1 + 0 | 0];
                            $var45 = $rt_imul($var55 + 1 | 0, $var9) + $var13 | 0;
                            $var18 = $var4[$var45 + 0 | 0];
                            $var2 = $rt_imul($var11 + 1 | 0, $var8) + $var12 | 0;
                            $var44 = $rt_imul($var2 + 0 | 0, $var9) + $var13 | 0;
                            $var20 = $var4[$var44 + 0 | 0];
                            $var2 = $rt_imul($var2 + 1 | 0, $var9) + $var13 | 0;
                            $var22 = $var4[$var2 + 0 | 0];
                            $var24 = ($var4[$var1 + 1 | 0] - $var16) * 0.125;
                            $var26 = ($var4[$var45 + 1 | 0] - $var18) * 0.125;
                            $var28 = ($var4[$var44 + 1 | 0] - $var20) * 0.125;
                            $var30 = ($var4[$var2 + 1 | 0] - $var22) * 0.125;
                            $var32 = 0;
                        }
                        $var39 = ($var20 - $var16) * 0.25;
                        $var41 = ($var22 - $var18) * 0.25;
                        $var43 = 0;
                        $var14 = $var16;
                        var$29 = $var18;
                    }
                    $var7 = $var43 + ($var11 * 4 | 0) | 0;
                    $var44 = $var7 << 11;
                    $var1 = $var12 * 4 | 0;
                    $var2 = $var44 | (0 + $var1 | 0) << 7;
                    $var55 = ($var13 * 8 | 0) + $var32 | 0;
                    $var44 = $var2 | $var55;
                    $var45 = 128;
                    $var50 = (var$29 - $var14) * 0.25;
                    $var52 = 0;
                    var$33 = ($var7 * 16 | 0) + $var1 | 0;
                    $var1 = $rt_compare($var55, 64);
                    $var7 = $rt_compare($var55, 63);
                    $var33 = $var14;
                }
                $var53 = $var5.data[var$33 + $var52 | 0];
                $var55 = 0;
                if ($var1 < 0) {
                    if ($var53 < 0.5 && $var7 >= 0) {
                        continue main;
                    }
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var8, $var9, var$9, $var11, $var12, $var13, $var55, $var16, $var45, $var18, $var44, $var20, $var22, $var24, $var26, $var28, $var30, $var32, $var39, $var41, $var43, $var14, var$29, $var7, $var50, $var52, var$33, $var33, $var53, $ptr);
    }
    function nms_ChunkProviderGenerate_replaceBlocksForBiome($this, $var1, $var2, $var3, $var4) {
        var $var5, var$6, var$7, var$8, var$9, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $var15, $var16, $var17, var$20, $var18, $var19, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();var$20 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 =
            $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = 64;
            var$6 = $this.$field_909_n;
            var$7 = $this.$sandNoise;
            var$8 = $var1 * 16 | 0;
            var$9 = $var2 * 16 | 0;
            $this.$sandNoise = nms_NoiseGeneratorOctaves_generateNoiseOctaves(var$6, var$7, var$8, var$9, 0.0, 16, 16, 1, 0.03125, 0.03125, 1.0);
            $this.$gravelNoise = nms_NoiseGeneratorOctaves_generateNoiseOctaves($this.$field_909_n, $this.$gravelNoise, var$8, 109.0134, var$9, 16, 1, 16, 0.03125, 1.0, 0.03125);
            $this.$stoneNoise = nms_NoiseGeneratorOctaves_generateNoiseOctaves($this.$field_908_o, $this.$stoneNoise, var$8, var$9, 0.0, 16, 16, 1, 0.0625, 0.0625, 0.0625);
            $var8 = 0;
            while ($var8 < 16) {
                $var9 = 0;
                while ($var9 < 16) {
                    var$7 = $var4.data;
                    $var2 = $var8 + ($var9 * 16 | 0) | 0;
                    $var10 = var$7[$var2];
                    $var11 = $this.$sandNoise.data[$var2] + ju_Random_nextDouble($this.$rand6) * 0.2 <= 0.0 ? 0 : 1;
                    $var12 = $this.$gravelNoise.data[$var2] + ju_Random_nextDouble($this.$rand6) * 0.2 <= 3.0 ? 0 : 1;
                    $var13 = $this.$stoneNoise.data[$var2] / 3.0 + 3.0 + ju_Random_nextDouble($this.$rand6) * 0.25 | 0;
                    $var14 = (-1);
                    $var15 = $var10.$topBlock;
                    $var16 = $var10.$fillerBlock;
                    $var17 = 127;
                    var$20 = $var2 * 128 | 0;
                    while ($var17 >= 0) {
                        $var18 = var$20 + $var17 | 0;
                        if ($var17 <= (0 + ju_Random_nextInt($this.$rand6, 5) | 0)) {
                            var$7 = $var3.data;
                            $ptr = 1;
                            continue main;
                        }
                        var$7 = $var3.data;
                        $var19 = var$7[$var18];
                        if ($var19) {
                            $ptr = 2;
                            continue main;
                        }
                        $var14 = (-1);
                        $var17 = $var17 + (-1) | 0;
                    }
                    $var9 = $var9 + 1 | 0;
                }
                $var8 = $var8 + 1 | 0;
            }
            return;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$7[$var18] = nms_Block_bedrock.$blockID << 24 >> 24;
            a: while (true) {
                $var17 = $var17 + (-1) | 0;
                while ($var17 < 0) {
                    $var9 = $var9 + 1 | 0;
                    while ($var9 >= 16) {
                        $var8 = $var8 + 1 | 0;
                        if ($var8 >= 16)
                            break a;
                        $var9 = 0;
                    }
                    var$7 = $var4.data;
                    $var2 = $var8 + ($var9 * 16 | 0) | 0;
                    $var10 = var$7[$var2];
                    $var11 = $this.$sandNoise.data[$var2] + ju_Random_nextDouble($this.$rand6) * 0.2 <= 0.0 ? 0 : 1;
                    $var12 = $this.$gravelNoise.data[$var2] + ju_Random_nextDouble($this.$rand6) * 0.2 <= 3.0 ? 0 : 1;
                    $var13 = $this.$stoneNoise.data[$var2] / 3.0 + 3.0 + ju_Random_nextDouble($this.$rand6) * 0.25 | 0;
                    $var14 = (-1);
                    $var15 = $var10.$topBlock;
                    $var16 = $var10.$fillerBlock;
                    $var17 = 127;
                    var$20 = $var2 * 128 | 0;
                }
                $var18 = var$20 + $var17 | 0;
                if ($var17 <= (0 + ju_Random_nextInt($this.$rand6, 5) | 0)) {
                    var$7 = $var3.data;
                    continue main;
                }
                var$7 = $var3.data;
                $var19 = var$7[$var18];
                if ($var19) {
                    $ptr = 2;
                    continue main;
                }
                $var14 = (-1);
            }
            return;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_Block_stone.$blockID;
            if ($var19 == $var1) {
                if ($var14 == (-1)) {
                    if ($var13 <= 0) {
                        $var15 = 0;
                        $var16 = $var1 << 24 >> 24;
                    } else if ($var17 >= 60 && $var17 <= 65) {
                        $var15 = $var10.$topBlock;
                        $var16 = $var10.$fillerBlock;
                        if ($var12)
                            $var15 = 0;
                        if ($var12)
                            $var16 = nms_Block_gravel.$blockID << 24 >> 24;
                        if ($var11)
                            $var15 = nms_Block_sand.$blockID << 24 >> 24;
                        if ($var11)
                            $var16 = nms_Block_sand.$blockID << 24 >> 24;
                    }
                    if ($var17 < $var5 && !$var15)
                        $var15 = nms_Block_waterStill.$blockID << 24 >> 24;
                    if ($var17 < 63) {
                        var$7[$var18] = $var16;
                        $var14 = $var13;
                    } else {
                        var$7[$var18] = $var15;
                        $var14 = $var13;
                    }
                } else if ($var14 > 0) {
                    $var14 = $var14 + (-1) | 0;
                    var$7[$var18] = $var16;
                    if (!$var14 && $var16 == nms_Block_sand.$blockID) {
                        $var14 = ju_Random_nextInt($this.$rand6, 4);
                        $var16 = nms_Block_sandStone.$blockID << 24 >> 24;
                    }
                }
            }
            b: while (true) {
                $var17 = $var17 + (-1) | 0;
                while ($var17 < 0) {
                    $var9 = $var9 + 1 | 0;
                    while ($var9 >= 16) {
                        $var8 = $var8 + 1 | 0;
                        if ($var8 >= 16)
                            break b;
                        $var9 = 0;
                    }
                    var$7 = $var4.data;
                    $var2 = $var8 + ($var9 * 16 | 0) | 0;
                    $var10 = var$7[$var2];
                    $var11 = $this.$sandNoise.data[$var2] + ju_Random_nextDouble($this.$rand6) * 0.2 <= 0.0 ? 0 : 1;
                    $var12 = $this.$gravelNoise.data[$var2] + ju_Random_nextDouble($this.$rand6) * 0.2 <= 3.0 ? 0 : 1;
                    $var13 = $this.$stoneNoise.data[$var2] / 3.0 + 3.0 + ju_Random_nextDouble($this.$rand6) * 0.25 | 0;
                    $var14 = (-1);
                    $var15 = $var10.$topBlock;
                    $var16 = $var10.$fillerBlock;
                    $var17 = 127;
                    var$20 = $var2 * 128 | 0;
                }
                $var18 = var$20 + $var17 | 0;
                if ($var17 <= (0 + ju_Random_nextInt($this.$rand6, 5) | 0)) {
                    var$7 = $var3.data;
                    $ptr = 1;
                    continue main;
                }
                var$7 = $var3.data;
                $var19 = var$7[$var18];
                if ($var19) {
                    continue main;
                }
                $var14 = (-1);
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, var$9, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $var15, $var16, $var17, var$20, $var18, $var19, $ptr);
    }
    function nms_ChunkProviderGenerate_provideChunk($this, $var1, $var2) {
        var $var3, $var4, var$5, $var5, var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $rt_createByteArray(32768);
            $var4 = nms_Chunk__init_2($this.$worldObj8, $var3, $var1, $var2);
            var$5 = nms_World_getWorldChunkManager($this.$worldObj8);
            $var5 = $this.$biomesForGeneration;
            var$7 = $var1 * 16 | 0;
            var$8 = $var2 * 16 | 0;
            var$9 = 16;
            var$10 = 16;
            $ptr = 1;
        case 1:
            $tmp = var$5.$loadBlockGeneratorData($var5, var$7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $this.$biomesForGeneration = $var5;
            $var5 = (nms_World_getWorldChunkManager($this.$worldObj8)).$temperature;
            var$11 = $this.$biomesForGeneration;
            $ptr = 2;
        case 2:
            nms_ChunkProviderGenerate_generateTerrain($this, $var1, $var2, $var3, var$11, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$biomesForGeneration;
            $ptr = 3;
        case 3:
            nms_ChunkProviderGenerate_replaceBlocksForBiome($this, $var1, $var2, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$field_902_u;
            var$12 = $this.$worldObj8;
            $ptr = 4;
        case 4:
            nms_MapGenBase_func_867_a(var$5, $this, var$12, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_Chunk_func_1024_c($var4);
            if ($rt_suspending()) {
                break main;
            }
            return $var4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $var5, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
    }
    function nms_ChunkProviderGenerate_func_4061_a($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var12, $var13, var$10, var$11, $var29, $var23, $var25, var$15, $var14, $var15, $var16, $var17, var$20, var$21, var$22, $var18, $var19, var$25, $var21, $var10, $var31, $var33, $var36, $var38, $var40, $var42, $var8, $var44;
        if ($var1 === null)
            $var1 = $rt_createDoubleArray($rt_imul($rt_imul($var5, $var6), $var7));
        $var12 = (nms_World_getWorldChunkManager($this.$worldObj8)).$temperature;
        $var13 = (nms_World_getWorldChunkManager($this.$worldObj8)).$humidity;
        $this.$field_4182_g = nms_NoiseGeneratorOctaves_func_4109_a($this.$field_922_a, $this.$field_4182_g, $var2, $var4, $var5, $var7, 1.121, 1.121, 0.5);
        $this.$field_4181_h = nms_NoiseGeneratorOctaves_func_4109_a($this.$field_921_b, $this.$field_4181_h, $var2, $var4, $var5, $var7, 200.0, 200.0, 0.5);
        var$10 = $this.$field_910_m;
        var$11 = $this.$field_4185_d;
        $var29 = $var2;
        $var23 = $var3;
        $var25 = $var4;
        $this.$field_4185_d = nms_NoiseGeneratorOctaves_generateNoiseOctaves(var$10, var$11, $var29, $var23, $var25, $var5, $var6, $var7, 8.555150000000001, 4.277575000000001, 8.555150000000001);
        $this.$field_4184_e = nms_NoiseGeneratorOctaves_generateNoiseOctaves($this.$field_912_k, $this.$field_4184_e, $var29, $var23, $var25, $var5, $var6, $var7, 684.412, 684.412, 684.412);
        var$15 = nms_NoiseGeneratorOctaves_generateNoiseOctaves($this.$field_911_l, $this.$field_4183_f, $var29, $var23, $var25, $var5, $var6, $var7, 684.412, 684.412, 684.412);
        $this.$field_4183_f = var$15;
        $var14 = 0;
        $var15 = 0;
        $var16 = 16 / $var5 | 0;
        $var17 = 0;
        var$20 = $var6;
        var$21 = $var6 - 4 | 0;
        var$22 = var$20 / 2.0;
        while ($var17 < $var5) {
            $var2 = $rt_imul($var17, $var16);
            $var3 = $var16 / 2 | 0;
            $var18 = $var2 + $var3 | 0;
            $var19 = 0;
            $var4 = $var18 * 16 | 0;
            while ($var19 < $var7) {
                var$11 = $var13.data;
                var$25 = $var12.data;
                $var2 = $var4 + ($rt_imul($var19, $var16) + $var3 | 0) | 0;
                $var21 = var$25[$var2];
                $var25 = 1.0 - var$11[$var2] * $var21;
                $var29 = $var25 * $var25;
                $var29 = 1.0 - $var29 * $var29;
                $var10 = ($this.$field_4182_g.data[$var15] + 256.0) / 512.0 * $var29;
                if ($var10 > 1.0)
                    $var10 = 1.0;
                $var29 = $this.$field_4181_h.data[$var15] / 8000.0;
                if ($var29 < 0.0)
                    $var29 =  -$var29 * 0.3;
                $var29 = $var29 * 3.0 - 2.0;
                if ($var29 >= 0.0) {
                    if ($var29 > 1.0)
                        $var29 = 1.0;
                    $var29 = $var29 / 8.0;
                } else {
                    $var29 = $var29 / 2.0;
                    if ($var29 < (-1.0))
                        $var29 = (-1.0);
                    $var29 = $var29 / 1.4 / 2.0;
                    $var10 = 0.0;
                }
                if ($var10 < 0.0)
                    $var10 = 0.0;
                $var10 = $var10 + 0.5;
                $var31 = var$22 + $var29 * var$20 / 16.0 * 4.0;
                $var15 = $var15 + 1 | 0;
                $var33 = 0;
                while ($var33 < $var6) {
                    $var36 = ($var33 - $var31) * 12.0 / $var10;
                    if ($var36 < 0.0)
                        $var36 = $var36 * 4.0;
                    var$25 = var$15.data;
                    $var38 = $this.$field_4184_e.data[$var14] / 512.0;
                    $var40 = var$25[$var14] / 512.0;
                    $var42 = ($this.$field_4185_d.data[$var14] / 10.0 + 1.0) / 2.0;
                    if ($var42 >= 0.0)
                        $var38 = $var42 > 1.0 ? $var40 : $var38 + ($var40 - $var38) * $var42;
                    $var8 = $var38 - $var36;
                    if ($var33 > var$21) {
                        $var44 = ($var33 - var$21 | 0) / 3.0;
                        $var8 = $var8 * (1.0 - $var44) + (-10.0) * $var44;
                    }
                    $var1.data[$var14] = $var8;
                    $var14 = $var14 + 1 | 0;
                    $var33 = $var33 + 1 | 0;
                }
                $var19 = $var19 + 1 | 0;
            }
            $var17 = $var17 + 1 | 0;
        }
        return $var1;
    }
    function nms_ChunkProviderGenerate_populate($this, $var1, $var2, $var3) {
        var $var4, $var5, $var13, $var15, $var6, $var7, $var9, $var14, $var16, $var18, $var24, $var15_0, $var17, $var23, $var19, var$19, $var20, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var20 = $thread.pop();var$19 = $thread.pop();$var19 = $thread.pop();$var23 = $thread.pop();$var17 = $thread.pop();$var15_0 = $thread.pop();$var24 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_BlockSand_fallInstantly = 1;
            $var4 = $var2 * 16 | 0;
            $var5 = $var3 * 16 | 0;
            $var1 = nms_World_getWorldChunkManager($this.$worldObj8);
            $var13 = $var4 + 16 | 0;
            $var15 = $var5 + 16 | 0;
            $ptr = 1;
        case 1:
            $tmp = $var1.$func_4073_a($var13, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            ju_Random_setSeed($this.$rand6, nms_World_getRandomSeed($this.$worldObj8));
            $var7 = Long_add(Long_mul(Long_div(ju_Random_nextLong($this.$rand6), Long_fromInt(2)), Long_fromInt(2)), Long_fromInt(1));
            $var9 = Long_add(Long_mul(Long_div(ju_Random_nextLong($this.$rand6), Long_fromInt(2)), Long_fromInt(2)), Long_fromInt(1));
            ju_Random_setSeed($this.$rand6, Long_xor(Long_add(Long_mul(Long_fromInt($var2), $var7), Long_mul(Long_fromInt($var3), $var9)), nms_World_getRandomSeed($this.$worldObj8)));
            if (!ju_Random_nextInt($this.$rand6, 4)) {
                $var13 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var14 = ju_Random_nextInt($this.$rand6, 128);
                $var15 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLakes;
                $ptr = 2;
                continue main;
            }
            a: {
                if (!ju_Random_nextInt($this.$rand6, 8)) {
                    $var13 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                    $var1 = $this.$rand6;
                    $var14 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 120) + 8 | 0);
                    $var15 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                    if ($var14 < 64)
                        break a;
                    if (!ju_Random_nextInt($this.$rand6, 10))
                        break a;
                }
                $var13 = 0;
                if ($var13 < 8) {
                    $var14 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 128);
                    $var16 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                    $var1 = nms_WorldGenDungeons__init_0();
                    $var18 = $this.$worldObj8;
                    $var24 = $this.$rand6;
                    $ptr = 6;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 10) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 128);
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenClay;
                    $var3 = 32;
                    $ptr = 7;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 20) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 128);
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenMinable;
                    $ptr = 9;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 10) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 128);
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenMinable;
                    $ptr = 11;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 20) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 128);
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenMinable;
                    $ptr = 13;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 20) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 64);
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenMinable;
                    $ptr = 15;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 2) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 32);
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenMinable;
                    $ptr = 17;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 8) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 16);
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenMinable;
                    $ptr = 19;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 1) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15_0 = ju_Random_nextInt($this.$rand6, 16);
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenMinable;
                    $ptr = 21;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 1) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 16) + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenMinable;
                    $ptr = 23;
                    continue main;
                }
                $var2 = (nms_NoiseGeneratorOctaves_func_806_a($this.$mobSpawnerNoise, $var4 * 0.5, $var5 * 0.5) / 8.0 + ju_Random_nextDouble($this.$rand6) * 4.0 + 4.0) / 3.0 | 0;
                $var14 = 0;
                if (!ju_Random_nextInt($this.$rand6, 10))
                    $var14 = 1;
                $ptr = 25;
                continue main;
            }
            $var1 = new nms_WorldGenLakes;
            $ptr = 4;
            continue main;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenLakes__init_($var1, nms_Block_waterStill.$blockID);
            $var18 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 3;
        case 3:
            nms_WorldGenLakes_generate($var1, $var18, $var24, $var13, $var14, $var15);
            if ($rt_suspending()) {
                break main;
            }
            b: {
                if (!ju_Random_nextInt($this.$rand6, 8)) {
                    $var13 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                    $var1 = $this.$rand6;
                    $var14 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 120) + 8 | 0);
                    $var15 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                    if ($var14 < 64)
                        break b;
                    if (!ju_Random_nextInt($this.$rand6, 10))
                        break b;
                }
                $var13 = 0;
                if ($var13 < 8) {
                    $var14 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 128);
                    $var16 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                    $var1 = nms_WorldGenDungeons__init_0();
                    $var18 = $this.$worldObj8;
                    $var24 = $this.$rand6;
                    $ptr = 6;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 10) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 128);
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenClay;
                    $var3 = 32;
                    $ptr = 7;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 20) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 128);
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenMinable;
                    $ptr = 9;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 10) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 128);
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenMinable;
                    $ptr = 11;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 20) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 128);
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenMinable;
                    $ptr = 13;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 20) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 64);
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenMinable;
                    $ptr = 15;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 2) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 32);
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenMinable;
                    $ptr = 17;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 8) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 16);
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenMinable;
                    $ptr = 19;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 1) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15_0 = ju_Random_nextInt($this.$rand6, 16);
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenMinable;
                    $ptr = 21;
                    continue main;
                }
                $var2 = 0;
                if ($var2 < 1) {
                    $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var15 = ju_Random_nextInt($this.$rand6, 16) + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                    $var1 = new nms_WorldGenMinable;
                    $ptr = 23;
                    continue main;
                }
                $var2 = (nms_NoiseGeneratorOctaves_func_806_a($this.$mobSpawnerNoise, $var4 * 0.5, $var5 * 0.5) / 8.0 + ju_Random_nextDouble($this.$rand6) * 4.0 + 4.0) / 3.0 | 0;
                $var14 = 0;
                if (!ju_Random_nextInt($this.$rand6, 10))
                    $var14 = 1;
                $ptr = 25;
                continue main;
            }
            $var1 = new nms_WorldGenLakes;
            $ptr = 4;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenLakes__init_($var1, nms_Block_lavaStill.$blockID);
            $var18 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 5;
        case 5:
            nms_WorldGenLakes_generate($var1, $var18, $var24, $var13, $var14, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = 0;
            if ($var13 < 8) {
                $var14 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenDungeons__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 6;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 10) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenClay;
                $var3 = 32;
                $ptr = 7;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 9;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 10) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 11;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 13;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 64);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 15;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 2) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 32);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 17;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 8) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 19;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15_0 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 21;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16) + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 23;
                continue main;
            }
            $var2 = (nms_NoiseGeneratorOctaves_func_806_a($this.$mobSpawnerNoise, $var4 * 0.5, $var5 * 0.5) / 8.0 + ju_Random_nextDouble($this.$rand6) * 4.0 + 4.0) / 3.0 | 0;
            $var14 = 0;
            if (!ju_Random_nextInt($this.$rand6, 10))
                $var14 = 1;
            $ptr = 25;
            continue main;
        case 6:
            nms_WorldGenDungeons_generate($var1, $var18, $var24, $var14, $var15, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = $var13 + 1 | 0;
            if ($var13 < 8) {
                $var14 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenDungeons__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 10) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenClay;
                $var3 = 32;
                $ptr = 7;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 9;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 10) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 11;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 13;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 64);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 15;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 2) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 32);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 17;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 8) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 19;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15_0 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 21;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16) + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 23;
                continue main;
            }
            $var2 = (nms_NoiseGeneratorOctaves_func_806_a($this.$mobSpawnerNoise, $var4 * 0.5, $var5 * 0.5) / 8.0 + ju_Random_nextDouble($this.$rand6) * 4.0 + 4.0) / 3.0 | 0;
            $var14 = 0;
            if (!ju_Random_nextInt($this.$rand6, 10))
                $var14 = 1;
            $ptr = 25;
            continue main;
        case 7:
            nms_WorldGenClay__init_($var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var18 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 8;
        case 8:
            nms_WorldGenClay_generate($var1, $var18, $var24, $var14, $var15, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 < 10) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenClay;
                $var3 = 32;
                $ptr = 7;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 9;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 10) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 11;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 13;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 64);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 15;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 2) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 32);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 17;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 8) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 19;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15_0 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 21;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16) + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 23;
                continue main;
            }
            $var2 = (nms_NoiseGeneratorOctaves_func_806_a($this.$mobSpawnerNoise, $var4 * 0.5, $var5 * 0.5) / 8.0 + ju_Random_nextDouble($this.$rand6) * 4.0 + 4.0) / 3.0 | 0;
            $var14 = 0;
            if (!ju_Random_nextInt($this.$rand6, 10))
                $var14 = 1;
            $ptr = 25;
            continue main;
        case 9:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenMinable__init_($var1, nms_Block_dirt.$blockID, 32);
            $var18 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 10;
        case 10:
            nms_WorldGenMinable_generate($var1, $var18, $var24, $var14, $var15, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 < 20) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 9;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 10) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 11;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 13;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 64);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 15;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 2) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 32);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 17;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 8) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 19;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15_0 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 21;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16) + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 23;
                continue main;
            }
            $var2 = (nms_NoiseGeneratorOctaves_func_806_a($this.$mobSpawnerNoise, $var4 * 0.5, $var5 * 0.5) / 8.0 + ju_Random_nextDouble($this.$rand6) * 4.0 + 4.0) / 3.0 | 0;
            $var14 = 0;
            if (!ju_Random_nextInt($this.$rand6, 10))
                $var14 = 1;
            $ptr = 25;
            continue main;
        case 11:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenMinable__init_($var1, nms_Block_gravel.$blockID, 32);
            $var18 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 12;
        case 12:
            nms_WorldGenMinable_generate($var1, $var18, $var24, $var14, $var15, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 < 10) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 11;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 13;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 64);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 15;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 2) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 32);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 17;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 8) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 19;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15_0 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 21;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16) + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 23;
                continue main;
            }
            $var2 = (nms_NoiseGeneratorOctaves_func_806_a($this.$mobSpawnerNoise, $var4 * 0.5, $var5 * 0.5) / 8.0 + ju_Random_nextDouble($this.$rand6) * 4.0 + 4.0) / 3.0 | 0;
            $var14 = 0;
            if (!ju_Random_nextInt($this.$rand6, 10))
                $var14 = 1;
            $ptr = 25;
            continue main;
        case 13:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenMinable__init_($var1, nms_Block_oreCoal.$blockID, 16);
            $var18 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 14;
        case 14:
            nms_WorldGenMinable_generate($var1, $var18, $var24, $var14, $var15, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 < 20) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 128);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 13;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 64);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 15;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 2) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 32);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 17;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 8) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 19;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15_0 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 21;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16) + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 23;
                continue main;
            }
            $var2 = (nms_NoiseGeneratorOctaves_func_806_a($this.$mobSpawnerNoise, $var4 * 0.5, $var5 * 0.5) / 8.0 + ju_Random_nextDouble($this.$rand6) * 4.0 + 4.0) / 3.0 | 0;
            $var14 = 0;
            if (!ju_Random_nextInt($this.$rand6, 10))
                $var14 = 1;
            $ptr = 25;
            continue main;
        case 15:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenMinable__init_($var1, nms_Block_oreIron.$blockID, 8);
            $var18 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 16;
        case 16:
            nms_WorldGenMinable_generate($var1, $var18, $var24, $var14, $var15, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 < 20) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 64);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 15;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 2) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 32);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 17;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 8) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 19;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15_0 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 21;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16) + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 23;
                continue main;
            }
            $var2 = (nms_NoiseGeneratorOctaves_func_806_a($this.$mobSpawnerNoise, $var4 * 0.5, $var5 * 0.5) / 8.0 + ju_Random_nextDouble($this.$rand6) * 4.0 + 4.0) / 3.0 | 0;
            $var14 = 0;
            if (!ju_Random_nextInt($this.$rand6, 10))
                $var14 = 1;
            $ptr = 25;
            continue main;
        case 17:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenMinable__init_($var1, nms_Block_oreGold.$blockID, 8);
            $var18 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 18;
        case 18:
            nms_WorldGenMinable_generate($var1, $var18, $var24, $var14, $var15, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 < 2) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 32);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 17;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 8) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 19;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15_0 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 21;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16) + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 23;
                continue main;
            }
            $var2 = (nms_NoiseGeneratorOctaves_func_806_a($this.$mobSpawnerNoise, $var4 * 0.5, $var5 * 0.5) / 8.0 + ju_Random_nextDouble($this.$rand6) * 4.0 + 4.0) / 3.0 | 0;
            $var14 = 0;
            if (!ju_Random_nextInt($this.$rand6, 10))
                $var14 = 1;
            $ptr = 25;
            continue main;
        case 19:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenMinable__init_($var1, nms_Block_oreRedstone.$blockID, 7);
            $var18 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 20;
        case 20:
            nms_WorldGenMinable_generate($var1, $var18, $var24, $var14, $var15, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 < 8) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 19;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15_0 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 21;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16) + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 23;
                continue main;
            }
            $var2 = (nms_NoiseGeneratorOctaves_func_806_a($this.$mobSpawnerNoise, $var4 * 0.5, $var5 * 0.5) / 8.0 + ju_Random_nextDouble($this.$rand6) * 4.0 + 4.0) / 3.0 | 0;
            $var14 = 0;
            if (!ju_Random_nextInt($this.$rand6, 10))
                $var14 = 1;
            $ptr = 25;
            continue main;
        case 21:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenMinable__init_($var1, nms_Block_oreDiamond.$blockID, 7);
            $var18 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 22;
        case 22:
            nms_WorldGenMinable_generate($var1, $var18, $var24, $var14, $var15_0, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15_0 = ju_Random_nextInt($this.$rand6, 16);
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 21;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16) + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 23;
                continue main;
            }
            $var2 = (nms_NoiseGeneratorOctaves_func_806_a($this.$mobSpawnerNoise, $var4 * 0.5, $var5 * 0.5) / 8.0 + ju_Random_nextDouble($this.$rand6) * 4.0 + 4.0) / 3.0 | 0;
            $var14 = 0;
            if (!ju_Random_nextInt($this.$rand6, 10))
                $var14 = 1;
            $ptr = 25;
            continue main;
        case 23:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenMinable__init_($var1, nms_Block_oreLapis.$blockID, 6);
            $var18 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 24;
        case 24:
            nms_WorldGenMinable_generate($var1, $var18, $var24, $var14, $var15, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 < 1) {
                $var14 = $var4 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var15 = ju_Random_nextInt($this.$rand6, 16) + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var16 = $var5 + ju_Random_nextInt($this.$rand6, 16) | 0;
                $var1 = new nms_WorldGenMinable;
                $ptr = 23;
                continue main;
            }
            $var2 = (nms_NoiseGeneratorOctaves_func_806_a($this.$mobSpawnerNoise, $var4 * 0.5, $var5 * 0.5) / 8.0 + ju_Random_nextDouble($this.$rand6) * 4.0 + 4.0) / 3.0 | 0;
            $var14 = 0;
            if (!ju_Random_nextInt($this.$rand6, 10))
                $var14 = 1;
            $ptr = 25;
        case 25:
            nms_MobSpawnerBase_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var6 === nms_MobSpawnerBase_forest)
                $var14 = $var14 + ($var2 + 5 | 0) | 0;
            if ($var6 === nms_MobSpawnerBase_rainforest)
                $var14 = $var14 + ($var2 + 5 | 0) | 0;
            if ($var6 === nms_MobSpawnerBase_seasonalForest)
                $var14 = $var14 + ($var2 + 2 | 0) | 0;
            if ($var6 === nms_MobSpawnerBase_taiga)
                $var14 = $var14 + ($var2 + 5 | 0) | 0;
            if ($var6 === nms_MobSpawnerBase_desert)
                $var14 = $var14 + (-20) | 0;
            if ($var6 === nms_MobSpawnerBase_tundra)
                $var14 = $var14 + (-20) | 0;
            if ($var6 === nms_MobSpawnerBase_plains)
                $var14 = $var14 + (-20) | 0;
            $var15 = 0;
            if ($var15 < $var14) {
                $var16 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $ptr = 26;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 2) {
                $var16 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var17 = ju_Random_nextInt($this.$rand6, 128);
                $var23 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenFlowers;
                $ptr = 29;
                continue main;
            }
            if (!ju_Random_nextInt($this.$rand6, 2)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenFlowers;
                $ptr = 31;
                continue main;
            }
            if (!ju_Random_nextInt($this.$rand6, 4)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenFlowers;
                $ptr = 33;
                continue main;
            }
            if (!ju_Random_nextInt($this.$rand6, 8)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenFlowers;
                $ptr = 35;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 10) {
                $var16 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var17 = ju_Random_nextInt($this.$rand6, 128);
                $var23 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenReed__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 37;
                continue main;
            }
            if (!ju_Random_nextInt($this.$rand6, 32)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenPumpkin__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 38;
                continue main;
            }
            $var2 = 0;
            if ($var6 === nms_MobSpawnerBase_desert)
                $var2 = 10;
            $var16 = 0;
            if ($var16 < $var2) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var23 = ju_Random_nextInt($this.$rand6, 128);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenCactus__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 39;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 50) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 120) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 40;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, ju_Random_nextInt($var1, 112) + 8 | 0) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 42;
                continue main;
            }
            $var1 = nms_World_getWorldChunkManager($this.$worldObj8);
            var$19 = $this.$generatedTemperatures;
            $var3 = $var4 + 8 | 0;
            $var15 = $var5 + 8 | 0;
            $this.$generatedTemperatures = $var1.$getTemperatures(var$19, $var3, $var15, 16, 16);
            $var13 = $var3 + 16 | 0;
            $var16 = $var15 + 16 | 0;
            $var14 = $var3;
            while ($var14 < $var13) {
                $var17 = $var15;
                if ($var17 < $var16) {
                    $var23 = $var14 - $var3 | 0;
                    $var19 = $var17 - $var15 | 0;
                    $var1 = $this.$worldObj8;
                    $ptr = 49;
                    continue main;
                }
                $var14 = $var14 + 1 | 0;
            }
            $ptr = 44;
            continue main;
        case 26:
            $tmp = $var6.$getRandomWorldGenForTrees($var1);
            if ($rt_suspending()) {
                break main;
            }
            $var18 = $tmp;
            $var18.$func_517_a(1.0, 1.0, 1.0);
            $var1 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 27;
        case 27:
            $tmp = nms_World_getHeightValue($var1, $var16, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $ptr = 28;
        case 28:
            $var18.$generate($var1, $var24, $var16, $var2, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $var15 + 1 | 0;
            if ($var15 < $var14) {
                $var16 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $ptr = 26;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 2) {
                $var16 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var17 = ju_Random_nextInt($this.$rand6, 128);
                $var23 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenFlowers;
                $ptr = 29;
                continue main;
            }
            if (!ju_Random_nextInt($this.$rand6, 2)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenFlowers;
                $ptr = 31;
                continue main;
            }
            if (!ju_Random_nextInt($this.$rand6, 4)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenFlowers;
                $ptr = 33;
                continue main;
            }
            if (!ju_Random_nextInt($this.$rand6, 8)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenFlowers;
                $ptr = 35;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 10) {
                $var16 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var17 = ju_Random_nextInt($this.$rand6, 128);
                $var23 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenReed__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 37;
                continue main;
            }
            if (!ju_Random_nextInt($this.$rand6, 32)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenPumpkin__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 38;
                continue main;
            }
            $var2 = 0;
            if ($var6 === nms_MobSpawnerBase_desert)
                $var2 = 10;
            $var16 = 0;
            if ($var16 < $var2) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var23 = ju_Random_nextInt($this.$rand6, 128);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenCactus__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 39;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 50) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 120) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 40;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, ju_Random_nextInt($var1, 112) + 8 | 0) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 42;
                continue main;
            }
            $var1 = nms_World_getWorldChunkManager($this.$worldObj8);
            var$19 = $this.$generatedTemperatures;
            $var3 = $var4 + 8 | 0;
            $var15 = $var5 + 8 | 0;
            $this.$generatedTemperatures = $var1.$getTemperatures(var$19, $var3, $var15, 16, 16);
            $var13 = $var3 + 16 | 0;
            $var16 = $var15 + 16 | 0;
            $var14 = $var3;
            while ($var14 < $var13) {
                $var17 = $var15;
                if ($var17 < $var16) {
                    $var23 = $var14 - $var3 | 0;
                    $var19 = $var17 - $var15 | 0;
                    $var1 = $this.$worldObj8;
                    $ptr = 49;
                    continue main;
                }
                $var14 = $var14 + 1 | 0;
            }
            $ptr = 44;
            continue main;
        case 29:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenFlowers__init_($var1, nms_Block_plantYellow.$blockID);
            $var18 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 30;
        case 30:
            nms_WorldGenFlowers_generate($var1, $var18, $var24, $var16, $var17, $var23);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 < 2) {
                $var16 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var17 = ju_Random_nextInt($this.$rand6, 128);
                $var23 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenFlowers;
                $ptr = 29;
                continue main;
            }
            if (!ju_Random_nextInt($this.$rand6, 2)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenFlowers;
                $ptr = 31;
                continue main;
            }
            if (!ju_Random_nextInt($this.$rand6, 4)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenFlowers;
                $ptr = 33;
                continue main;
            }
            if (!ju_Random_nextInt($this.$rand6, 8)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenFlowers;
                $ptr = 35;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 10) {
                $var16 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var17 = ju_Random_nextInt($this.$rand6, 128);
                $var23 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenReed__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 37;
                continue main;
            }
            if (!ju_Random_nextInt($this.$rand6, 32)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenPumpkin__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 38;
                continue main;
            }
            $var2 = 0;
            if ($var6 === nms_MobSpawnerBase_desert)
                $var2 = 10;
            $var16 = 0;
            if ($var16 < $var2) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var23 = ju_Random_nextInt($this.$rand6, 128);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenCactus__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 39;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 50) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 120) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 40;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, ju_Random_nextInt($var1, 112) + 8 | 0) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 42;
                continue main;
            }
            $var1 = nms_World_getWorldChunkManager($this.$worldObj8);
            var$19 = $this.$generatedTemperatures;
            $var3 = $var4 + 8 | 0;
            $var15 = $var5 + 8 | 0;
            $this.$generatedTemperatures = $var1.$getTemperatures(var$19, $var3, $var15, 16, 16);
            $var13 = $var3 + 16 | 0;
            $var16 = $var15 + 16 | 0;
            $var14 = $var3;
            while ($var14 < $var13) {
                $var17 = $var15;
                if ($var17 < $var16) {
                    $var23 = $var14 - $var3 | 0;
                    $var19 = $var17 - $var15 | 0;
                    $var1 = $this.$worldObj8;
                    $ptr = 49;
                    continue main;
                }
                $var14 = $var14 + 1 | 0;
            }
            $ptr = 44;
            continue main;
        case 31:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenFlowers__init_($var1, nms_Block_plantRed.$blockID);
            $var18 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 32;
        case 32:
            nms_WorldGenFlowers_generate($var1, $var18, $var24, $var2, $var16, $var17);
            if ($rt_suspending()) {
                break main;
            }
            if (!ju_Random_nextInt($this.$rand6, 4)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenFlowers;
                $ptr = 33;
                continue main;
            }
            if (!ju_Random_nextInt($this.$rand6, 8)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenFlowers;
                $ptr = 35;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 10) {
                $var16 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var17 = ju_Random_nextInt($this.$rand6, 128);
                $var23 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenReed__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 37;
                continue main;
            }
            if (!ju_Random_nextInt($this.$rand6, 32)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenPumpkin__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 38;
                continue main;
            }
            $var2 = 0;
            if ($var6 === nms_MobSpawnerBase_desert)
                $var2 = 10;
            $var16 = 0;
            if ($var16 < $var2) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var23 = ju_Random_nextInt($this.$rand6, 128);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenCactus__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 39;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 50) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 120) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 40;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, ju_Random_nextInt($var1, 112) + 8 | 0) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 42;
                continue main;
            }
            $var1 = nms_World_getWorldChunkManager($this.$worldObj8);
            var$19 = $this.$generatedTemperatures;
            $var3 = $var4 + 8 | 0;
            $var15 = $var5 + 8 | 0;
            $this.$generatedTemperatures = $var1.$getTemperatures(var$19, $var3, $var15, 16, 16);
            $var13 = $var3 + 16 | 0;
            $var16 = $var15 + 16 | 0;
            $var14 = $var3;
            while ($var14 < $var13) {
                $var17 = $var15;
                if ($var17 < $var16) {
                    $var23 = $var14 - $var3 | 0;
                    $var19 = $var17 - $var15 | 0;
                    $var1 = $this.$worldObj8;
                    $ptr = 49;
                    continue main;
                }
                $var14 = $var14 + 1 | 0;
            }
            $ptr = 44;
            continue main;
        case 33:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenFlowers__init_($var1, nms_Block_mushroomBrown.$blockID);
            $var18 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 34;
        case 34:
            nms_WorldGenFlowers_generate($var1, $var18, $var24, $var2, $var16, $var17);
            if ($rt_suspending()) {
                break main;
            }
            if (!ju_Random_nextInt($this.$rand6, 8)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenFlowers;
                $ptr = 35;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 10) {
                $var16 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var17 = ju_Random_nextInt($this.$rand6, 128);
                $var23 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenReed__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 37;
                continue main;
            }
            if (!ju_Random_nextInt($this.$rand6, 32)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenPumpkin__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 38;
                continue main;
            }
            $var2 = 0;
            if ($var6 === nms_MobSpawnerBase_desert)
                $var2 = 10;
            $var16 = 0;
            if ($var16 < $var2) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var23 = ju_Random_nextInt($this.$rand6, 128);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenCactus__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 39;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 50) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 120) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 40;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, ju_Random_nextInt($var1, 112) + 8 | 0) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 42;
                continue main;
            }
            $var1 = nms_World_getWorldChunkManager($this.$worldObj8);
            var$19 = $this.$generatedTemperatures;
            $var3 = $var4 + 8 | 0;
            $var15 = $var5 + 8 | 0;
            $this.$generatedTemperatures = $var1.$getTemperatures(var$19, $var3, $var15, 16, 16);
            $var13 = $var3 + 16 | 0;
            $var16 = $var15 + 16 | 0;
            $var14 = $var3;
            while ($var14 < $var13) {
                $var17 = $var15;
                if ($var17 < $var16) {
                    $var23 = $var14 - $var3 | 0;
                    $var19 = $var17 - $var15 | 0;
                    $var1 = $this.$worldObj8;
                    $ptr = 49;
                    continue main;
                }
                $var14 = $var14 + 1 | 0;
            }
            $ptr = 44;
            continue main;
        case 35:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenFlowers__init_($var1, nms_Block_mushroomRed.$blockID);
            $var18 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 36;
        case 36:
            nms_WorldGenFlowers_generate($var1, $var18, $var24, $var2, $var16, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 0;
            if ($var2 < 10) {
                $var16 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var17 = ju_Random_nextInt($this.$rand6, 128);
                $var23 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenReed__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 37;
                continue main;
            }
            if (!ju_Random_nextInt($this.$rand6, 32)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenPumpkin__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 38;
                continue main;
            }
            $var2 = 0;
            if ($var6 === nms_MobSpawnerBase_desert)
                $var2 = 10;
            $var16 = 0;
            if ($var16 < $var2) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var23 = ju_Random_nextInt($this.$rand6, 128);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenCactus__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 39;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 50) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 120) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 40;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, ju_Random_nextInt($var1, 112) + 8 | 0) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 42;
                continue main;
            }
            $var1 = nms_World_getWorldChunkManager($this.$worldObj8);
            var$19 = $this.$generatedTemperatures;
            $var3 = $var4 + 8 | 0;
            $var15 = $var5 + 8 | 0;
            $this.$generatedTemperatures = $var1.$getTemperatures(var$19, $var3, $var15, 16, 16);
            $var13 = $var3 + 16 | 0;
            $var16 = $var15 + 16 | 0;
            $var14 = $var3;
            while ($var14 < $var13) {
                $var17 = $var15;
                if ($var17 < $var16) {
                    $var23 = $var14 - $var3 | 0;
                    $var19 = $var17 - $var15 | 0;
                    $var1 = $this.$worldObj8;
                    $ptr = 49;
                    continue main;
                }
                $var14 = $var14 + 1 | 0;
            }
            $ptr = 44;
            continue main;
        case 37:
            nms_WorldGenReed_generate($var1, $var18, $var24, $var16, $var17, $var23);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 < 10) {
                $var16 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var17 = ju_Random_nextInt($this.$rand6, 128);
                $var23 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenReed__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                continue main;
            }
            if (!ju_Random_nextInt($this.$rand6, 32)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var16 = ju_Random_nextInt($this.$rand6, 128);
                $var17 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenPumpkin__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 38;
                continue main;
            }
            $var2 = 0;
            if ($var6 === nms_MobSpawnerBase_desert)
                $var2 = 10;
            $var16 = 0;
            if ($var16 < $var2) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var23 = ju_Random_nextInt($this.$rand6, 128);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenCactus__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 39;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 50) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 120) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 40;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, ju_Random_nextInt($var1, 112) + 8 | 0) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 42;
                continue main;
            }
            $var1 = nms_World_getWorldChunkManager($this.$worldObj8);
            var$19 = $this.$generatedTemperatures;
            $var3 = $var4 + 8 | 0;
            $var15 = $var5 + 8 | 0;
            $this.$generatedTemperatures = $var1.$getTemperatures(var$19, $var3, $var15, 16, 16);
            $var13 = $var3 + 16 | 0;
            $var16 = $var15 + 16 | 0;
            $var14 = $var3;
            while ($var14 < $var13) {
                $var17 = $var15;
                if ($var17 < $var16) {
                    $var23 = $var14 - $var3 | 0;
                    $var19 = $var17 - $var15 | 0;
                    $var1 = $this.$worldObj8;
                    $ptr = 49;
                    continue main;
                }
                $var14 = $var14 + 1 | 0;
            }
            $ptr = 44;
            continue main;
        case 38:
            nms_WorldGenPumpkin_generate($var1, $var18, $var24, $var2, $var16, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 0;
            if ($var6 === nms_MobSpawnerBase_desert)
                $var2 = 10;
            $var16 = 0;
            if ($var16 < $var2) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var23 = ju_Random_nextInt($this.$rand6, 128);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenCactus__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                $ptr = 39;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 50) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 120) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 40;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, ju_Random_nextInt($var1, 112) + 8 | 0) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 42;
                continue main;
            }
            $var1 = nms_World_getWorldChunkManager($this.$worldObj8);
            var$19 = $this.$generatedTemperatures;
            $var3 = $var4 + 8 | 0;
            $var15 = $var5 + 8 | 0;
            $this.$generatedTemperatures = $var1.$getTemperatures(var$19, $var3, $var15, 16, 16);
            $var13 = $var3 + 16 | 0;
            $var16 = $var15 + 16 | 0;
            $var14 = $var3;
            while ($var14 < $var13) {
                $var17 = $var15;
                if ($var17 < $var16) {
                    $var23 = $var14 - $var3 | 0;
                    $var19 = $var17 - $var15 | 0;
                    $var1 = $this.$worldObj8;
                    $ptr = 49;
                    continue main;
                }
                $var14 = $var14 + 1 | 0;
            }
            $ptr = 44;
            continue main;
        case 39:
            nms_WorldGenCactus_generate($var1, $var18, $var24, $var17, $var23, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $var16 + 1 | 0;
            if ($var16 < $var2) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var23 = ju_Random_nextInt($this.$rand6, 128);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = nms_WorldGenCactus__init_0();
                $var18 = $this.$worldObj8;
                $var24 = $this.$rand6;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 50) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 120) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 40;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, ju_Random_nextInt($var1, 112) + 8 | 0) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 42;
                continue main;
            }
            $var1 = nms_World_getWorldChunkManager($this.$worldObj8);
            var$19 = $this.$generatedTemperatures;
            $var3 = $var4 + 8 | 0;
            $var15 = $var5 + 8 | 0;
            $this.$generatedTemperatures = $var1.$getTemperatures(var$19, $var3, $var15, 16, 16);
            $var13 = $var3 + 16 | 0;
            $var16 = $var15 + 16 | 0;
            $var14 = $var3;
            while ($var14 < $var13) {
                $var17 = $var15;
                if ($var17 < $var16) {
                    $var23 = $var14 - $var3 | 0;
                    $var19 = $var17 - $var15 | 0;
                    $var1 = $this.$worldObj8;
                    $ptr = 49;
                    continue main;
                }
                $var14 = $var14 + 1 | 0;
            }
            $ptr = 44;
            continue main;
        case 40:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenLiquids__init_($var1, nms_Block_waterMoving.$blockID);
            $var18 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 41;
        case 41:
            nms_WorldGenLiquids_generate($var1, $var18, $var24, $var17, $var23, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 < 50) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 120) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 40;
                continue main;
            }
            $var2 = 0;
            if ($var2 < 20) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, ju_Random_nextInt($var1, 112) + 8 | 0) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 42;
                continue main;
            }
            $var1 = nms_World_getWorldChunkManager($this.$worldObj8);
            var$19 = $this.$generatedTemperatures;
            $var3 = $var4 + 8 | 0;
            $var15 = $var5 + 8 | 0;
            $this.$generatedTemperatures = $var1.$getTemperatures(var$19, $var3, $var15, 16, 16);
            $var13 = $var3 + 16 | 0;
            $var16 = $var15 + 16 | 0;
            $var14 = $var3;
            while ($var14 < $var13) {
                $var17 = $var15;
                if ($var17 < $var16) {
                    $var23 = $var14 - $var3 | 0;
                    $var19 = $var17 - $var15 | 0;
                    $var1 = $this.$worldObj8;
                    $ptr = 49;
                    continue main;
                }
                $var14 = $var14 + 1 | 0;
            }
            $ptr = 44;
            continue main;
        case 42:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenLiquids__init_($var1, nms_Block_lavaMoving.$blockID);
            $var18 = $this.$worldObj8;
            $var24 = $this.$rand6;
            $ptr = 43;
        case 43:
            nms_WorldGenLiquids_generate($var1, $var18, $var24, $var17, $var23, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + 1 | 0;
            if ($var2 < 20) {
                $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = $this.$rand6;
                $var23 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, ju_Random_nextInt($var1, 112) + 8 | 0) + 8 | 0);
                $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLiquids;
                $ptr = 42;
                continue main;
            }
            $var1 = nms_World_getWorldChunkManager($this.$worldObj8);
            var$19 = $this.$generatedTemperatures;
            $var3 = $var4 + 8 | 0;
            $var15 = $var5 + 8 | 0;
            $this.$generatedTemperatures = $var1.$getTemperatures(var$19, $var3, $var15, 16, 16);
            $var13 = $var3 + 16 | 0;
            $var16 = $var15 + 16 | 0;
            $var14 = $var3;
            while ($var14 < $var13) {
                $var17 = $var15;
                if ($var17 < $var16) {
                    $var23 = $var14 - $var3 | 0;
                    $var19 = $var17 - $var15 | 0;
                    $var1 = $this.$worldObj8;
                    $ptr = 49;
                    continue main;
                }
                $var14 = $var14 + 1 | 0;
            }
            $ptr = 44;
        case 44:
            $tmp = ju_Calendar_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var24 = $tmp;
            $var7 = jl_System_currentTimeMillis();
            $ptr = 45;
        case 45:
            ju_Calendar_setTimeInMillis($var24, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 2;
            $ptr = 46;
        case 46:
            $tmp = ju_Calendar_get($var24, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 != 3) {
                nms_BlockSand_fallInstantly = 0;
                return;
            }
            $var2 = 5;
            $ptr = 47;
        case 47:
            $tmp = ju_Calendar_get($var24, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 != 1) {
                nms_BlockSand_fallInstantly = 0;
                return;
            }
            $var17 = ($var4 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
            $var23 = ju_Random_nextInt($this.$rand6, 128);
            $var19 = ($var5 + ju_Random_nextInt($this.$rand6, 16) | 0) + 8 | 0;
            $var1 = $this.$worldObj8;
            $ptr = 48;
        case 48:
            $tmp = nms_World_getBlockId($var1, $var17, $var23, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2) {
                nms_BlockSand_fallInstantly = 0;
                return;
            }
            $var1 = $this.$worldObj8;
            $var2 = $var23 - 1 | 0;
            $ptr = 50;
            continue main;
        case 49:
            $tmp = nms_World_findTopSolidBlock($var1, $var14, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var20 = $tmp;
            if ($this.$generatedTemperatures.data[($var23 * 16 | 0) + $var19 | 0] - ($var20 - 64 | 0) / 64.0 * 0.3 < 0.5 && $var20 > 0 && $var20 < 128) {
                $var1 = $this.$worldObj8;
                $ptr = 54;
                continue main;
            }
            $var17 = $var17 + 1 | 0;
            while (true) {
                if ($var17 < $var16) {
                    $var23 = $var14 - $var3 | 0;
                    $var19 = $var17 - $var15 | 0;
                    $var1 = $this.$worldObj8;
                    continue main;
                }
                $var14 = $var14 + 1 | 0;
                if ($var14 >= $var13)
                    break;
                $var17 = $var15;
            }
            $ptr = 44;
            continue main;
        case 50:
            $tmp = nms_World_isBlockOpaqueCube($var1, $var17, $var2, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if (!$var2) {
                nms_BlockSand_fallInstantly = 0;
                return;
            }
            $var1 = jl_System_out();
            $var18 = $rt_s(2274);
            $ptr = 51;
        case 51:
            ji_PrintStream_println0($var1, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$worldObj8;
            $ptr = 52;
        case 52:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_Block_lockedChest.$blockID;
            $ptr = 53;
        case 53:
            nms_World_setBlockWithNotify($var1, $var17, $var23, $var19, $var2);
            if ($rt_suspending()) {
                break main;
            }
            nms_BlockSand_fallInstantly = 0;
            return;
        case 54:
            $tmp = nms_World_isAirBlock($var1, $var14, $var20, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2) {
                $var1 = $this.$worldObj8;
                $var2 = $var20 - 1 | 0;
                $ptr = 55;
                continue main;
            }
            $var17 = $var17 + 1 | 0;
            while (true) {
                if ($var17 < $var16) {
                    $var23 = $var14 - $var3 | 0;
                    $var19 = $var17 - $var15 | 0;
                    $var1 = $this.$worldObj8;
                    $ptr = 49;
                    continue main;
                }
                $var14 = $var14 + 1 | 0;
                if ($var14 >= $var13)
                    break;
                $var17 = $var15;
            }
            $ptr = 44;
            continue main;
        case 55:
            $tmp = nms_World_getBlockMaterial($var1, $var14, $var2, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1.$getIsSolid()) {
                $var1 = $this.$worldObj8;
                $ptr = 56;
                continue main;
            }
            $var17 = $var17 + 1 | 0;
            while (true) {
                if ($var17 < $var16) {
                    $var23 = $var14 - $var3 | 0;
                    $var19 = $var17 - $var15 | 0;
                    $var1 = $this.$worldObj8;
                    $ptr = 49;
                    continue main;
                }
                $var14 = $var14 + 1 | 0;
                if ($var14 >= $var13)
                    break;
                $var17 = $var15;
            }
            $ptr = 44;
            continue main;
        case 56:
            $tmp = nms_World_getBlockMaterial($var1, $var14, $var2, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 !== nms_Material_ice) {
                $var1 = $this.$worldObj8;
                $ptr = 57;
                continue main;
            }
            $var17 = $var17 + 1 | 0;
            while (true) {
                if ($var17 < $var16) {
                    $var23 = $var14 - $var3 | 0;
                    $var19 = $var17 - $var15 | 0;
                    $var1 = $this.$worldObj8;
                    $ptr = 49;
                    continue main;
                }
                $var14 = $var14 + 1 | 0;
                if ($var14 >= $var13)
                    break;
                $var17 = $var15;
            }
            $ptr = 44;
            continue main;
        case 57:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_Block_snow.$blockID;
            $ptr = 58;
        case 58:
            nms_World_setBlockWithNotify($var1, $var14, $var20, $var17, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var17 = $var17 + 1 | 0;
            while (true) {
                if ($var17 < $var16) {
                    $var23 = $var14 - $var3 | 0;
                    $var19 = $var17 - $var15 | 0;
                    $var1 = $this.$worldObj8;
                    $ptr = 49;
                    continue main;
                }
                $var14 = $var14 + 1 | 0;
                if ($var14 >= $var13)
                    break;
                $var17 = $var15;
            }
            $ptr = 44;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var13, $var15, $var6, $var7, $var9, $var14, $var16, $var18, $var24, $var15_0, $var17, $var23, $var19, var$19, $var20, $ptr);
    }
    function nms_ChunkProviderGenerate_func_532_a($this) {
        return 0;
    }
    function nms_ChunkProviderHell() {
        var a = this; jl_Object.call(a);
        a.$hellRNG = null;
        a.$field_4169_i = null;
        a.$field_4168_j = null;
        a.$field_4167_k = null;
        a.$field_4166_l = null;
        a.$field_4165_m = null;
        a.$field_4177_a = null;
        a.$field_4176_b = null;
        a.$worldObj12 = null;
        a.$field_4163_o = null;
        a.$field_4162_p = null;
        a.$field_4161_q = null;
        a.$field_4160_r = null;
        a.$field_4159_s = null;
        a.$field_4175_c = null;
        a.$field_4174_d = null;
        a.$field_4173_e = null;
        a.$field_4172_f = null;
        a.$field_4171_g = null;
    }
    function nms_ChunkProviderHell_func_4059_a($this, $var1, $var2, $var3) {
        var $var4, $var6, $var7, var$7, $var9, $var10, $var11, var$11, $var14, $var50, $var16, $var42, $var18, $var20, $var22, $var24, $var26, $var28, $var30, $var37, $var39, $var41, $var31, var$27, $var43, $var48, $var12, $var51, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var51 = $thread.pop();$var12 = $thread.pop();$var48 = $thread.pop();$var43 = $thread.pop();var$27 = $thread.pop();$var31 = $thread.pop();$var41 = $thread.pop();$var39 = $thread.pop();$var37 = $thread.pop();$var30 = $thread.pop();$var28 = $thread.pop();$var26 = $thread.pop();$var24 = $thread.pop();$var22 = $thread.pop();$var20 = $thread.pop();$var18 = $thread.pop();$var42 = $thread.pop();$var16 = $thread.pop();$var50 = $thread.pop();$var14 = $thread.pop();var$11 = $thread.pop();$var11
            = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();var$7 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = 4;
            $var6 = 5;
            $var7 = 17;
            var$7 = nms_ChunkProviderHell_func_4057_a($this, $this.$field_4163_o, $rt_imul($var1, $var4), 0, $rt_imul($var2, $var4), $var6, $var7, $var6);
            $this.$field_4163_o = var$7;
            $var9 = 0;
            while ($var9 < $var4) {
                $var10 = 0;
                while ($var10 < $var4) {
                    $var11 = 0;
                    while ($var11 < 16) {
                        var$11 = var$7.data;
                        $var1 = $rt_imul($var9 + 0 | 0, $var6) + $var10 | 0;
                        $var2 = $rt_imul($var1 + 0 | 0, $var7) + $var11 | 0;
                        $var14 = var$11[$var2 + 0 | 0];
                        $var50 = $rt_imul($var1 + 1 | 0, $var7) + $var11 | 0;
                        $var16 = var$11[$var50 + 0 | 0];
                        $var1 = $rt_imul($var9 + 1 | 0, $var6) + $var10 | 0;
                        $var42 = $rt_imul($var1 + 0 | 0, $var7) + $var11 | 0;
                        $var18 = var$11[$var42 + 0 | 0];
                        $var1 = $rt_imul($var1 + 1 | 0, $var7) + $var11 | 0;
                        $var20 = var$11[$var1 + 0 | 0];
                        $var22 = (var$11[$var2 + 1 | 0] - $var14) * 0.125;
                        $var24 = (var$11[$var50 + 1 | 0] - $var16) * 0.125;
                        $var26 = (var$11[$var42 + 1 | 0] - $var18) * 0.125;
                        $var28 = (var$11[$var1 + 1 | 0] - $var20) * 0.125;
                        $var30 = 0;
                        while ($var30 < 8) {
                            $var37 = ($var18 - $var14) * 0.25;
                            $var39 = ($var20 - $var16) * 0.25;
                            $var41 = 0;
                            $var31 = $var14;
                            var$27 = $var16;
                            while ($var41 < 4) {
                                $var1 = ($var41 + ($var9 * 4 | 0) | 0) << 11 | (0 + ($var10 * 4 | 0) | 0) << 7;
                                $var2 = ($var11 * 8 | 0) + $var30 | 0;
                                $var42 = $var1 | $var2;
                                $var43 = 128;
                                $var48 = (var$27 - $var31) * 0.25;
                                $var50 = 0;
                                $var1 = $rt_compare($var2, 32);
                                $var12 = $var31;
                                while ($var50 < 4) {
                                    if ($var1 < 0) {
                                        $ptr = 1;
                                        continue main;
                                    }
                                    if ($var12 > 0.0) {
                                        $ptr = 2;
                                        continue main;
                                    }
                                    $var3.data[$var42] = 0 << 24 >> 24;
                                    $var42 = $var42 + $var43 | 0;
                                    $var12 = $var12 + $var48;
                                    $var50 = $var50 + 1 | 0;
                                }
                                $var31 = $var31 + $var37;
                                var$27 = var$27 + $var39;
                                $var41 = $var41 + 1 | 0;
                            }
                            $var14 = $var14 + $var22;
                            $var16 = $var16 + $var24;
                            $var18 = $var18 + $var26;
                            $var20 = $var20 + $var28;
                            $var30 = $var30 + 1 | 0;
                        }
                        $var11 = $var11 + 1 | 0;
                    }
                    $var10 = $var10 + 1 | 0;
                }
                $var9 = $var9 + 1 | 0;
            }
            return;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var51 = nms_Block_lavaStill.$blockID;
            a: while (true) {
                if ($var12 > 0.0) {
                    $ptr = 2;
                    continue main;
                }
                $var3.data[$var42] = $var51 << 24 >> 24;
                $var42 = $var42 + $var43 | 0;
                $var12 = $var12 + $var48;
                $var50 = $var50 + 1 | 0;
                while ($var50 >= 4) {
                    $var31 = $var31 + $var37;
                    var$27 = var$27 + $var39;
                    $var41 = $var41 + 1 | 0;
                    while ($var41 >= 4) {
                        $var14 = $var14 + $var22;
                        $var16 = $var16 + $var24;
                        $var18 = $var18 + $var26;
                        $var20 = $var20 + $var28;
                        $var30 = $var30 + 1 | 0;
                        while ($var30 >= 8) {
                            $var11 = $var11 + 1 | 0;
                            while ($var11 >= 16) {
                                $var10 = $var10 + 1 | 0;
                                while ($var10 >= $var4) {
                                    $var9 = $var9 + 1 | 0;
                                    if ($var9 >= $var4)
                                        break a;
                                    $var10 = 0;
                                }
                                $var11 = 0;
                            }
                            var$11 = var$7.data;
                            $var1 = $rt_imul($var9 + 0 | 0, $var6) + $var10 | 0;
                            $var2 = $rt_imul($var1 + 0 | 0, $var7) + $var11 | 0;
                            $var14 = var$11[$var2 + 0 | 0];
                            $var50 = $rt_imul($var1 + 1 | 0, $var7) + $var11 | 0;
                            $var16 = var$11[$var50 + 0 | 0];
                            $var1 = $rt_imul($var9 + 1 | 0, $var6) + $var10 | 0;
                            $var42 = $rt_imul($var1 + 0 | 0, $var7) + $var11 | 0;
                            $var18 = var$11[$var42 + 0 | 0];
                            $var1 = $rt_imul($var1 + 1 | 0, $var7) + $var11 | 0;
                            $var20 = var$11[$var1 + 0 | 0];
                            $var22 = (var$11[$var2 + 1 | 0] - $var14) * 0.125;
                            $var24 = (var$11[$var50 + 1 | 0] - $var16) * 0.125;
                            $var26 = (var$11[$var42 + 1 | 0] - $var18) * 0.125;
                            $var28 = (var$11[$var1 + 1 | 0] - $var20) * 0.125;
                            $var30 = 0;
                        }
                        $var37 = ($var18 - $var14) * 0.25;
                        $var39 = ($var20 - $var16) * 0.25;
                        $var41 = 0;
                        $var31 = $var14;
                        var$27 = $var16;
                    }
                    $var1 = ($var41 + ($var9 * 4 | 0) | 0) << 11 | (0 + ($var10 * 4 | 0) | 0) << 7;
                    $var2 = ($var11 * 8 | 0) + $var30 | 0;
                    $var42 = $var1 | $var2;
                    $var43 = 128;
                    $var48 = (var$27 - $var31) * 0.25;
                    $var50 = 0;
                    $var1 = $rt_compare($var2, 32);
                    $var12 = $var31;
                }
                $var51 = 0;
                if ($var1 < 0) {
                    continue main;
                }
            }
            return;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var51 = nms_Block_bloodStone.$blockID;
            a: while (true) {
                $var3.data[$var42] = $var51 << 24 >> 24;
                $var42 = $var42 + $var43 | 0;
                $var12 = $var12 + $var48;
                $var50 = $var50 + 1 | 0;
                while ($var50 >= 4) {
                    $var31 = $var31 + $var37;
                    var$27 = var$27 + $var39;
                    $var41 = $var41 + 1 | 0;
                    while ($var41 >= 4) {
                        $var14 = $var14 + $var22;
                        $var16 = $var16 + $var24;
                        $var18 = $var18 + $var26;
                        $var20 = $var20 + $var28;
                        $var30 = $var30 + 1 | 0;
                        while ($var30 >= 8) {
                            $var11 = $var11 + 1 | 0;
                            while ($var11 >= 16) {
                                $var10 = $var10 + 1 | 0;
                                while ($var10 >= $var4) {
                                    $var9 = $var9 + 1 | 0;
                                    if ($var9 >= $var4)
                                        break a;
                                    $var10 = 0;
                                }
                                $var11 = 0;
                            }
                            var$11 = var$7.data;
                            $var1 = $rt_imul($var9 + 0 | 0, $var6) + $var10 | 0;
                            $var2 = $rt_imul($var1 + 0 | 0, $var7) + $var11 | 0;
                            $var14 = var$11[$var2 + 0 | 0];
                            $var50 = $rt_imul($var1 + 1 | 0, $var7) + $var11 | 0;
                            $var16 = var$11[$var50 + 0 | 0];
                            $var1 = $rt_imul($var9 + 1 | 0, $var6) + $var10 | 0;
                            $var42 = $rt_imul($var1 + 0 | 0, $var7) + $var11 | 0;
                            $var18 = var$11[$var42 + 0 | 0];
                            $var1 = $rt_imul($var1 + 1 | 0, $var7) + $var11 | 0;
                            $var20 = var$11[$var1 + 0 | 0];
                            $var22 = (var$11[$var2 + 1 | 0] - $var14) * 0.125;
                            $var24 = (var$11[$var50 + 1 | 0] - $var16) * 0.125;
                            $var26 = (var$11[$var42 + 1 | 0] - $var18) * 0.125;
                            $var28 = (var$11[$var1 + 1 | 0] - $var20) * 0.125;
                            $var30 = 0;
                        }
                        $var37 = ($var18 - $var14) * 0.25;
                        $var39 = ($var20 - $var16) * 0.25;
                        $var41 = 0;
                        $var31 = $var14;
                        var$27 = $var16;
                    }
                    $var1 = ($var41 + ($var9 * 4 | 0) | 0) << 11 | (0 + ($var10 * 4 | 0) | 0) << 7;
                    $var2 = ($var11 * 8 | 0) + $var30 | 0;
                    $var42 = $var1 | $var2;
                    $var43 = 128;
                    $var48 = (var$27 - $var31) * 0.25;
                    $var50 = 0;
                    $var1 = $rt_compare($var2, 32);
                    $var12 = $var31;
                }
                $var51 = 0;
                if ($var1 < 0) {
                    $ptr = 1;
                    continue main;
                }
                if ($var12 > 0.0) {
                    continue main;
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var6, $var7, var$7, $var9, $var10, $var11, var$11, $var14, $var50, $var16, $var42, $var18, $var20, $var22, $var24, $var26, $var28, $var30, $var37, $var39, $var41, $var31, var$27, $var43, $var48, $var12, $var51, $ptr);
    }
    function nms_ChunkProviderHell_func_4058_b($this, $var1, $var2, $var3) {
        var $var4, var$5, var$6, var$7, var$8, $var7, $var8, $var9, $var10, $var11, $var12, $var14, $var15, var$17, var$18, $var16, $var17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = 64;
            var$5 = $this.$field_4166_l;
            var$6 = $this.$field_4162_p;
            var$7 = $var1 * 16 | 0;
            var$8 = $var2 * 16 | 0;
            $this.$field_4162_p = nms_NoiseGeneratorOctaves_generateNoiseOctaves(var$5, var$6, var$7, var$8, 0.0, 16, 16, 1, 0.03125, 0.03125, 1.0);
            $this.$field_4161_q = nms_NoiseGeneratorOctaves_generateNoiseOctaves($this.$field_4166_l, $this.$field_4161_q, var$7, 109.0134, var$8, 16, 1, 16, 0.03125, 1.0, 0.03125);
            $this.$field_4160_r = nms_NoiseGeneratorOctaves_generateNoiseOctaves($this.$field_4165_m, $this.$field_4160_r, var$7, var$8, 0.0, 16, 16, 1, 0.0625, 0.0625, 0.0625);
            $var7 = 0;
            while ($var7 < 16) {
                $var8 = 0;
                if ($var8 < 16) {
                    var$6 = $this.$field_4162_p.data;
                    $var2 = $var7 + ($var8 * 16 | 0) | 0;
                    $var9 = var$6[$var2] + ju_Random_nextDouble($this.$hellRNG) * 0.2 <= 0.0 ? 0 : 1;
                    $var10 = $this.$field_4161_q.data[$var2] + ju_Random_nextDouble($this.$hellRNG) * 0.2 <= 0.0 ? 0 : 1;
                    $var11 = $this.$field_4160_r.data[$var2] / 3.0 + 3.0 + ju_Random_nextDouble($this.$hellRNG) * 0.25 | 0;
                    $var12 = (-1);
                    $ptr = 1;
                    continue main;
                }
                $var7 = $var7 + 1 | 0;
            }
            return;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var14 = nms_Block_bloodStone.$blockID << 24 >> 24;
            $var15 = 127;
            var$17 = $var2 * 128 | 0;
            var$18 = $var14;
            while ($var15 >= 0) {
                $var16 = var$17 + $var15 | 0;
                if ($var15 >= (127 - ju_Random_nextInt($this.$hellRNG, 5) | 0))
                    $var3.data[$var16] = nms_Block_bedrock.$blockID << 24 >> 24;
                else if ($var15 <= (0 + ju_Random_nextInt($this.$hellRNG, 5) | 0))
                    $var3.data[$var16] = nms_Block_bedrock.$blockID << 24 >> 24;
                else {
                    var$6 = $var3.data;
                    $var17 = var$6[$var16];
                    if (!$var17)
                        $var12 = (-1);
                    else {
                        $var1 = nms_Block_bloodStone.$blockID;
                        if ($var17 == $var1) {
                            if ($var12 == (-1)) {
                                if ($var11 <= 0) {
                                    var$18 = 0;
                                    $var14 = $var1 << 24 >> 24;
                                } else if ($var15 >= 60 && $var15 <= 65) {
                                    $var14 = $var1 << 24 >> 24;
                                    var$18 = !$var10 ? $var14 : nms_Block_gravel.$blockID << 24 >> 24;
                                    if ($var9)
                                        var$18 = nms_Block_slowSand.$blockID << 24 >> 24;
                                    if ($var9)
                                        $var14 = nms_Block_slowSand.$blockID << 24 >> 24;
                                }
                                if ($var15 < $var4 && !var$18)
                                    var$18 = nms_Block_lavaStill.$blockID << 24 >> 24;
                                if ($var15 < 63) {
                                    var$6[$var16] = $var14;
                                    $var12 = $var11;
                                } else {
                                    var$6[$var16] = var$18;
                                    $var12 = $var11;
                                }
                            } else if ($var12 > 0) {
                                $var12 = $var12 + (-1) | 0;
                                var$6[$var16] = $var14;
                            }
                        }
                    }
                }
                $var15 = $var15 + (-1) | 0;
            }
            $var8 = $var8 + 1 | 0;
            while (true) {
                if ($var8 < 16) {
                    var$6 = $this.$field_4162_p.data;
                    $var2 = $var7 + ($var8 * 16 | 0) | 0;
                    $var9 = var$6[$var2] + ju_Random_nextDouble($this.$hellRNG) * 0.2 <= 0.0 ? 0 : 1;
                    $var10 = $this.$field_4161_q.data[$var2] + ju_Random_nextDouble($this.$hellRNG) * 0.2 <= 0.0 ? 0 : 1;
                    $var11 = $this.$field_4160_r.data[$var2] / 3.0 + 3.0 + ju_Random_nextDouble($this.$hellRNG) * 0.25 | 0;
                    $var12 = (-1);
                    continue main;
                }
                $var7 = $var7 + 1 | 0;
                if ($var7 >= 16)
                    break;
                $var8 = 0;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, $var7, $var8, $var9, $var10, $var11, $var12, $var14, $var15, var$17, var$18, $var16, $var17, $ptr);
    }
    function nms_ChunkProviderHell_provideChunk($this, $var1, $var2) {
        var $var3, $var4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $rt_createByteArray(32768);
            $ptr = 1;
        case 1:
            nms_ChunkProviderHell_func_4059_a($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_ChunkProviderHell_func_4058_b($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $this.$field_4159_s;
            var$5 = $this.$worldObj12;
            $ptr = 3;
        case 3:
            nms_MapGenBase_func_867_a($var4, $this, var$5, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return nms_Chunk__init_2($this.$worldObj12, $var3, $var1, $var2);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
    }
    function nms_ChunkProviderHell_func_4057_a($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var var$8, $var14, $var19, $var21, $var26, $var12, $var13, $var15, $var34, $var30, $var36, $var23, $var28, $var32;
        if ($var1 === null)
            $var1 = $rt_createDoubleArray($rt_imul($rt_imul($var5, $var6), $var7));
        var$8 = $this.$field_4177_a;
        $var14 = $this.$field_4172_f;
        $var19 = $var2;
        $var21 = $var3;
        $var26 = $var4;
        $this.$field_4172_f = nms_NoiseGeneratorOctaves_generateNoiseOctaves(var$8, $var14, $var19, $var21, $var26, $var5, 1, $var7, 1.0, 0.0, 1.0);
        $this.$field_4171_g = nms_NoiseGeneratorOctaves_generateNoiseOctaves($this.$field_4176_b, $this.$field_4171_g, $var19, $var21, $var26, $var5, 1, $var7, 100.0, 0.0, 100.0);
        $this.$field_4175_c = nms_NoiseGeneratorOctaves_generateNoiseOctaves($this.$field_4167_k, $this.$field_4175_c, $var19, $var21, $var26, $var5, $var6, $var7, 8.555150000000001, 34.2206, 8.555150000000001);
        $this.$field_4174_d = nms_NoiseGeneratorOctaves_generateNoiseOctaves($this.$field_4169_i, $this.$field_4174_d, $var19, $var21, $var26, $var5, $var6, $var7, 684.412, 2053.236, 684.412);
        $this.$field_4173_e = nms_NoiseGeneratorOctaves_generateNoiseOctaves($this.$field_4168_j, $this.$field_4173_e, $var19, $var21, $var26, $var5, $var6, $var7, 684.412, 2053.236, 684.412);
        $var12 = 0;
        $var13 = 0;
        $var14 = $rt_createDoubleArray($var6).data;
        $var15 = 0;
        $var34 = $var6;
        $var3 = $var6 - 1 | 0;
        while ($var15 < $var6) {
            $var19 = $var15;
            $var14[$var15] = jl_Math_cos($var19 * 3.141592653589793 * 6.0 / $var34) * 2.0;
            if ($var15 > ($var6 / 2 | 0))
                $var19 = $var3 - $var15 | 0;
            if ($var19 < 4.0) {
                $var30 = 4.0 - $var19;
                $var14[$var15] = $var14[$var15] - $var30 * $var30 * $var30 * 10.0;
            }
            $var15 = $var15 + 1 | 0;
        }
        $var3 = 0;
        $var4 = $var6 - 4 | 0;
        while ($var3 < $var5) {
            $var36 = 0;
            while ($var36 < $var7) {
                $var21 = $this.$field_4171_g.data[$var13] / 8000.0;
                if ($var21 < 0.0)
                    $var21 =  -$var21;
                $var30 = $var21 * 3.0 - 3.0;
                $var13 = $var13 + 1 | 0;
                $var23 = 0;
                while ($var23 < $var6) {
                    $var26 = $var14[$var23];
                    $var28 = $this.$field_4174_d.data[$var12] / 512.0;
                    $var30 = $this.$field_4173_e.data[$var12] / 512.0;
                    $var32 = ($this.$field_4175_c.data[$var12] / 10.0 + 1.0) / 2.0;
                    if ($var32 >= 0.0)
                        $var28 = $var32 > 1.0 ? $var30 : $var28 + ($var30 - $var28) * $var32;
                    $var30 = $var28 - $var26;
                    if ($var23 > $var4) {
                        $var34 = ($var23 - $var4 | 0) / 3.0;
                        $var30 = $var30 * (1.0 - $var34) + (-10.0) * $var34;
                    }
                    $var32 = $var23;
                    if ($var32 < 0.0) {
                        $var34 = (0.0 - $var32) / 4.0;
                        if ($var34 < 0.0)
                            $var34 = 0.0;
                        if ($var34 > 1.0)
                            $var34 = 1.0;
                        $var30 = $var30 * (1.0 - $var34) + (-10.0) * $var34;
                    }
                    $var1.data[$var12] = $var30;
                    $var12 = $var12 + 1 | 0;
                    $var23 = $var23 + 1 | 0;
                }
                $var36 = $var36 + 1 | 0;
            }
            $var3 = $var3 + 1 | 0;
        }
        return $var1;
    }
    function nms_ChunkProviderHell_populate($this, $var1, $var2, $var3) {
        var $var4, $var5, $var6, $var7, $var8, $var9, var$10, $var7_0, $var10, var$13, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var10 = $thread.pop();$var7_0 = $thread.pop();var$10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_BlockSand_fallInstantly = 1;
            $var4 = $var2 * 16 | 0;
            $var5 = $var3 * 16 | 0;
            $var6 = 0;
            if ($var6 < 8) {
                $var7 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var8 = ju_Random_nextInt($this.$hellRNG, 120) + 4 | 0;
                $var9 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenHellLava;
                $ptr = 1;
                continue main;
            }
            $var1 = $this.$hellRNG;
            var$10 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 10) + 1 | 0) + 1 | 0;
            $var7_0 = 0;
            while (true) {
                if ($var7_0 >= var$10) {
                    $var1 = $this.$hellRNG;
                    $var6 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 10) + 1 | 0);
                    $var7 = 0;
                    if ($var7 < $var6) {
                        $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var9 = ju_Random_nextInt($this.$hellRNG, 120) + 4 | 0;
                        $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var1 = new nms_WorldGenLightStone1;
                        var$13 = $this.$worldObj12;
                        var$14 = $this.$hellRNG;
                        $ptr = 3;
                        continue main;
                    }
                    $var6 = 0;
                    if ($var6 < 10) {
                        $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var9 = ju_Random_nextInt($this.$hellRNG, 128);
                        $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var1 = new nms_WorldGenLightStone2;
                        var$13 = $this.$worldObj12;
                        var$14 = $this.$hellRNG;
                        $ptr = 7;
                        continue main;
                    }
                    if (!ju_Random_nextInt($this.$hellRNG, 1)) {
                        $var2 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var8 = ju_Random_nextInt($this.$hellRNG, 128);
                        $var9 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var1 = new nms_WorldGenFlowers;
                        $ptr = 9;
                        continue main;
                    }
                    if (ju_Random_nextInt($this.$hellRNG, 1)) {
                        nms_BlockSand_fallInstantly = 0;
                        return;
                    }
                    $var2 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                    $var8 = ju_Random_nextInt($this.$hellRNG, 128);
                    $var9 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                    $var1 = new nms_WorldGenFlowers;
                    $ptr = 11;
                    continue main;
                }
                $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var9 = ju_Random_nextInt($this.$hellRNG, 120) + 4 | 0;
                $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                var$13 = $this.$worldObj12;
                var$14 = $this.$hellRNG;
                var$15 = 0;
                if (var$15 < 64)
                    break;
                $var7_0 = $var7_0 + 1 | 0;
            }
            $var2 = ($var8 + ju_Random_nextInt(var$14, 8) | 0) - ju_Random_nextInt(var$14, 8) | 0;
            $var3 = ($var9 + ju_Random_nextInt(var$14, 4) | 0) - ju_Random_nextInt(var$14, 4) | 0;
            $var6 = ($var10 + ju_Random_nextInt(var$14, 8) | 0) - ju_Random_nextInt(var$14, 8) | 0;
            $ptr = 4;
            continue main;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1.$field_4158_a = nms_Block_lavaMoving.$blockID;
            var$13 = $this.$worldObj12;
            var$14 = $this.$hellRNG;
            $ptr = 2;
        case 2:
            nms_WorldGenHellLava_generate($var1, var$13, var$14, $var7, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 < 8) {
                $var7 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var8 = ju_Random_nextInt($this.$hellRNG, 120) + 4 | 0;
                $var9 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenHellLava;
                $ptr = 1;
                continue main;
            }
            $var1 = $this.$hellRNG;
            var$10 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 10) + 1 | 0) + 1 | 0;
            $var7_0 = 0;
            while (true) {
                if ($var7_0 >= var$10) {
                    $var1 = $this.$hellRNG;
                    $var6 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 10) + 1 | 0);
                    $var7 = 0;
                    if ($var7 < $var6) {
                        $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var9 = ju_Random_nextInt($this.$hellRNG, 120) + 4 | 0;
                        $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var1 = new nms_WorldGenLightStone1;
                        var$13 = $this.$worldObj12;
                        var$14 = $this.$hellRNG;
                        $ptr = 3;
                        continue main;
                    }
                    $var6 = 0;
                    if ($var6 < 10) {
                        $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var9 = ju_Random_nextInt($this.$hellRNG, 128);
                        $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var1 = new nms_WorldGenLightStone2;
                        var$13 = $this.$worldObj12;
                        var$14 = $this.$hellRNG;
                        $ptr = 7;
                        continue main;
                    }
                    if (!ju_Random_nextInt($this.$hellRNG, 1)) {
                        $var2 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var8 = ju_Random_nextInt($this.$hellRNG, 128);
                        $var9 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var1 = new nms_WorldGenFlowers;
                        $ptr = 9;
                        continue main;
                    }
                    if (ju_Random_nextInt($this.$hellRNG, 1)) {
                        nms_BlockSand_fallInstantly = 0;
                        return;
                    }
                    $var2 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                    $var8 = ju_Random_nextInt($this.$hellRNG, 128);
                    $var9 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                    $var1 = new nms_WorldGenFlowers;
                    $ptr = 11;
                    continue main;
                }
                $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var9 = ju_Random_nextInt($this.$hellRNG, 120) + 4 | 0;
                $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                var$13 = $this.$worldObj12;
                var$14 = $this.$hellRNG;
                var$15 = 0;
                if (var$15 < 64)
                    break;
                $var7_0 = $var7_0 + 1 | 0;
            }
            $var2 = ($var8 + ju_Random_nextInt(var$14, 8) | 0) - ju_Random_nextInt(var$14, 8) | 0;
            $var3 = ($var9 + ju_Random_nextInt(var$14, 4) | 0) - ju_Random_nextInt(var$14, 4) | 0;
            $var6 = ($var10 + ju_Random_nextInt(var$14, 8) | 0) - ju_Random_nextInt(var$14, 8) | 0;
            $ptr = 4;
            continue main;
        case 3:
            nms_WorldGenLightStone1_generate($var1, var$13, var$14, $var8, $var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var7 + 1 | 0;
            if ($var7 < $var6) {
                $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var9 = ju_Random_nextInt($this.$hellRNG, 120) + 4 | 0;
                $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLightStone1;
                var$13 = $this.$worldObj12;
                var$14 = $this.$hellRNG;
                continue main;
            }
            $var6 = 0;
            if ($var6 < 10) {
                $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var9 = ju_Random_nextInt($this.$hellRNG, 128);
                $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLightStone2;
                var$13 = $this.$worldObj12;
                var$14 = $this.$hellRNG;
                $ptr = 7;
                continue main;
            }
            if (!ju_Random_nextInt($this.$hellRNG, 1)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var8 = ju_Random_nextInt($this.$hellRNG, 128);
                $var9 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenFlowers;
                $ptr = 9;
                continue main;
            }
            if (ju_Random_nextInt($this.$hellRNG, 1)) {
                nms_BlockSand_fallInstantly = 0;
                return;
            }
            $var2 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
            $var8 = ju_Random_nextInt($this.$hellRNG, 128);
            $var9 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
            $var1 = new nms_WorldGenFlowers;
            $ptr = 11;
            continue main;
        case 4:
            $tmp = nms_World_isAirBlock(var$13, $var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ($var7) {
                $var7 = $var3 - 1 | 0;
                $ptr = 5;
                continue main;
            }
            var$15 = var$15 + 1 | 0;
            while (var$15 >= 64) {
                $var7_0 = $var7_0 + 1 | 0;
                if ($var7_0 >= var$10) {
                    $var1 = $this.$hellRNG;
                    $var6 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 10) + 1 | 0);
                    $var7 = 0;
                    if ($var7 < $var6) {
                        $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var9 = ju_Random_nextInt($this.$hellRNG, 120) + 4 | 0;
                        $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var1 = new nms_WorldGenLightStone1;
                        var$13 = $this.$worldObj12;
                        var$14 = $this.$hellRNG;
                        $ptr = 3;
                        continue main;
                    }
                    $var6 = 0;
                    if ($var6 < 10) {
                        $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var9 = ju_Random_nextInt($this.$hellRNG, 128);
                        $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var1 = new nms_WorldGenLightStone2;
                        var$13 = $this.$worldObj12;
                        var$14 = $this.$hellRNG;
                        $ptr = 7;
                        continue main;
                    }
                    if (!ju_Random_nextInt($this.$hellRNG, 1)) {
                        $var2 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var8 = ju_Random_nextInt($this.$hellRNG, 128);
                        $var9 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var1 = new nms_WorldGenFlowers;
                        $ptr = 9;
                        continue main;
                    }
                    if (ju_Random_nextInt($this.$hellRNG, 1)) {
                        nms_BlockSand_fallInstantly = 0;
                        return;
                    }
                    $var2 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                    $var8 = ju_Random_nextInt($this.$hellRNG, 128);
                    $var9 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                    $var1 = new nms_WorldGenFlowers;
                    $ptr = 11;
                    continue main;
                }
                $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var9 = ju_Random_nextInt($this.$hellRNG, 120) + 4 | 0;
                $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                var$13 = $this.$worldObj12;
                var$14 = $this.$hellRNG;
                var$15 = 0;
            }
            $var2 = ($var8 + ju_Random_nextInt(var$14, 8) | 0) - ju_Random_nextInt(var$14, 8) | 0;
            $var3 = ($var9 + ju_Random_nextInt(var$14, 4) | 0) - ju_Random_nextInt(var$14, 4) | 0;
            $var6 = ($var10 + ju_Random_nextInt(var$14, 8) | 0) - ju_Random_nextInt(var$14, 8) | 0;
            continue main;
        case 5:
            $tmp = nms_World_getBlockId(var$13, $var2, $var7, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $ptr = 6;
        case 6:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var7 == nms_Block_bloodStone.$blockID) {
                $var7 = nms_Block_fire.$blockID;
                $ptr = 8;
                continue main;
            }
            var$15 = var$15 + 1 | 0;
            while (var$15 >= 64) {
                $var7_0 = $var7_0 + 1 | 0;
                if ($var7_0 >= var$10) {
                    $var1 = $this.$hellRNG;
                    $var6 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 10) + 1 | 0);
                    $var7 = 0;
                    if ($var7 < $var6) {
                        $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var9 = ju_Random_nextInt($this.$hellRNG, 120) + 4 | 0;
                        $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var1 = new nms_WorldGenLightStone1;
                        var$13 = $this.$worldObj12;
                        var$14 = $this.$hellRNG;
                        $ptr = 3;
                        continue main;
                    }
                    $var6 = 0;
                    if ($var6 < 10) {
                        $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var9 = ju_Random_nextInt($this.$hellRNG, 128);
                        $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var1 = new nms_WorldGenLightStone2;
                        var$13 = $this.$worldObj12;
                        var$14 = $this.$hellRNG;
                        $ptr = 7;
                        continue main;
                    }
                    if (!ju_Random_nextInt($this.$hellRNG, 1)) {
                        $var2 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var8 = ju_Random_nextInt($this.$hellRNG, 128);
                        $var9 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var1 = new nms_WorldGenFlowers;
                        $ptr = 9;
                        continue main;
                    }
                    if (ju_Random_nextInt($this.$hellRNG, 1)) {
                        nms_BlockSand_fallInstantly = 0;
                        return;
                    }
                    $var2 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                    $var8 = ju_Random_nextInt($this.$hellRNG, 128);
                    $var9 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                    $var1 = new nms_WorldGenFlowers;
                    $ptr = 11;
                    continue main;
                }
                $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var9 = ju_Random_nextInt($this.$hellRNG, 120) + 4 | 0;
                $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                var$13 = $this.$worldObj12;
                var$14 = $this.$hellRNG;
                var$15 = 0;
            }
            $var2 = ($var8 + ju_Random_nextInt(var$14, 8) | 0) - ju_Random_nextInt(var$14, 8) | 0;
            $var3 = ($var9 + ju_Random_nextInt(var$14, 4) | 0) - ju_Random_nextInt(var$14, 4) | 0;
            $var6 = ($var10 + ju_Random_nextInt(var$14, 8) | 0) - ju_Random_nextInt(var$14, 8) | 0;
            $ptr = 4;
            continue main;
        case 7:
            nms_WorldGenLightStone2_generate($var1, var$13, var$14, $var8, $var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 < 10) {
                $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var9 = ju_Random_nextInt($this.$hellRNG, 128);
                $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenLightStone2;
                var$13 = $this.$worldObj12;
                var$14 = $this.$hellRNG;
                continue main;
            }
            if (!ju_Random_nextInt($this.$hellRNG, 1)) {
                $var2 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var8 = ju_Random_nextInt($this.$hellRNG, 128);
                $var9 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var1 = new nms_WorldGenFlowers;
                $ptr = 9;
                continue main;
            }
            if (ju_Random_nextInt($this.$hellRNG, 1)) {
                nms_BlockSand_fallInstantly = 0;
                return;
            }
            $var2 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
            $var8 = ju_Random_nextInt($this.$hellRNG, 128);
            $var9 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
            $var1 = new nms_WorldGenFlowers;
            $ptr = 11;
            continue main;
        case 8:
            nms_World_setBlockWithNotify(var$13, $var2, $var3, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            var$15 = var$15 + 1 | 0;
            while (var$15 >= 64) {
                $var7_0 = $var7_0 + 1 | 0;
                if ($var7_0 >= var$10) {
                    $var1 = $this.$hellRNG;
                    $var6 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 10) + 1 | 0);
                    $var7 = 0;
                    if ($var7 < $var6) {
                        $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var9 = ju_Random_nextInt($this.$hellRNG, 120) + 4 | 0;
                        $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var1 = new nms_WorldGenLightStone1;
                        var$13 = $this.$worldObj12;
                        var$14 = $this.$hellRNG;
                        $ptr = 3;
                        continue main;
                    }
                    $var6 = 0;
                    if ($var6 < 10) {
                        $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var9 = ju_Random_nextInt($this.$hellRNG, 128);
                        $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var1 = new nms_WorldGenLightStone2;
                        var$13 = $this.$worldObj12;
                        var$14 = $this.$hellRNG;
                        $ptr = 7;
                        continue main;
                    }
                    if (!ju_Random_nextInt($this.$hellRNG, 1)) {
                        $var2 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var8 = ju_Random_nextInt($this.$hellRNG, 128);
                        $var9 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                        $var1 = new nms_WorldGenFlowers;
                        $ptr = 9;
                        continue main;
                    }
                    if (ju_Random_nextInt($this.$hellRNG, 1)) {
                        nms_BlockSand_fallInstantly = 0;
                        return;
                    }
                    $var2 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                    $var8 = ju_Random_nextInt($this.$hellRNG, 128);
                    $var9 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                    $var1 = new nms_WorldGenFlowers;
                    $ptr = 11;
                    continue main;
                }
                $var8 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                $var9 = ju_Random_nextInt($this.$hellRNG, 120) + 4 | 0;
                $var10 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
                var$13 = $this.$worldObj12;
                var$14 = $this.$hellRNG;
                var$15 = 0;
            }
            $var2 = ($var8 + ju_Random_nextInt(var$14, 8) | 0) - ju_Random_nextInt(var$14, 8) | 0;
            $var3 = ($var9 + ju_Random_nextInt(var$14, 4) | 0) - ju_Random_nextInt(var$14, 4) | 0;
            $var6 = ($var10 + ju_Random_nextInt(var$14, 8) | 0) - ju_Random_nextInt(var$14, 8) | 0;
            $ptr = 4;
            continue main;
        case 9:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenFlowers__init_($var1, nms_Block_mushroomBrown.$blockID);
            var$13 = $this.$worldObj12;
            var$14 = $this.$hellRNG;
            $ptr = 10;
        case 10:
            nms_WorldGenFlowers_generate($var1, var$13, var$14, $var2, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            if (ju_Random_nextInt($this.$hellRNG, 1)) {
                nms_BlockSand_fallInstantly = 0;
                return;
            }
            $var2 = ($var4 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
            $var8 = ju_Random_nextInt($this.$hellRNG, 128);
            $var9 = ($var5 + ju_Random_nextInt($this.$hellRNG, 16) | 0) + 8 | 0;
            $var1 = new nms_WorldGenFlowers;
            $ptr = 11;
        case 11:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_WorldGenFlowers__init_($var1, nms_Block_mushroomRed.$blockID);
            var$13 = $this.$worldObj12;
            var$14 = $this.$hellRNG;
            $ptr = 12;
        case 12:
            nms_WorldGenFlowers_generate($var1, var$13, var$14, $var2, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            nms_BlockSand_fallInstantly = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, var$10, $var7_0, $var10, var$13, var$14, var$15, $ptr);
    }
    function nms_ChunkProviderHell_func_532_a($this) {
        return 0;
    }
    function nms_MinecartTrackLogic() {
        var a = this; jl_Object.call(a);
        a.$worldObj13 = null;
        a.$trackX = 0;
        a.$trackY = 0;
        a.$trackZ = 0;
        a.$trackMetadata = 0;
        a.$connectedTracks = null;
        a.$minecartTrack = null;
    }
    function nms_MinecartTrackLogic__init_0(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nms_MinecartTrackLogic();
        nms_MinecartTrackLogic__init_(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nms_MinecartTrackLogic__init_($this, $var1, $var2, $var3, $var4, $var5) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$minecartTrack = $var1;
            $this.$connectedTracks = ju_ArrayList__init_0();
            $this.$worldObj13 = $var2;
            $this.$trackX = $var3;
            $this.$trackY = $var4;
            $this.$trackZ = $var5;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMetadata($var2, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $this.$trackMetadata = $var3;
            nms_MinecartTrackLogic_calculateConnectedTracks($this);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
    }
    function nms_MinecartTrackLogic_calculateConnectedTracks($this) {
        var var$1;
        a: {
            ju_ArrayList_clear($this.$connectedTracks);
            var$1 = $this.$trackMetadata;
            if (!var$1) {
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX, $this.$trackY, $this.$trackZ - 1 | 0));
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX, $this.$trackY, $this.$trackZ + 1 | 0));
                break a;
            }
            if (var$1 == 1) {
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX - 1 | 0, $this.$trackY, $this.$trackZ));
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX + 1 | 0, $this.$trackY, $this.$trackZ));
                break a;
            }
            if (var$1 == 2) {
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX - 1 | 0, $this.$trackY, $this.$trackZ));
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX + 1 | 0, $this.$trackY + 1 | 0, $this.$trackZ));
                break a;
            }
            if (var$1 == 3) {
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX - 1 | 0, $this.$trackY + 1 | 0, $this.$trackZ));
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX + 1 | 0, $this.$trackY, $this.$trackZ));
                break a;
            }
            if (var$1 == 4) {
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX, $this.$trackY + 1 | 0, $this.$trackZ - 1 | 0));
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX, $this.$trackY, $this.$trackZ + 1 | 0));
                break a;
            }
            if (var$1 == 5) {
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX, $this.$trackY, $this.$trackZ - 1 | 0));
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX, $this.$trackY + 1 | 0, $this.$trackZ + 1 | 0));
                break a;
            }
            if (var$1 == 6) {
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX + 1 | 0, $this.$trackY, $this.$trackZ));
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX, $this.$trackY, $this.$trackZ + 1 | 0));
                break a;
            }
            if (var$1 == 7) {
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX - 1 | 0, $this.$trackY, $this.$trackZ));
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX, $this.$trackY, $this.$trackZ + 1 | 0));
                break a;
            }
            if (var$1 == 8) {
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX - 1 | 0, $this.$trackY, $this.$trackZ));
                ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX, $this.$trackY, $this.$trackZ - 1 | 0));
                break a;
            }
            if (var$1 != 9)
                break a;
            ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX + 1 | 0, $this.$trackY, $this.$trackZ));
            ju_ArrayList_add($this.$connectedTracks, nms_ChunkPosition__init_0($this.$trackX, $this.$trackY, $this.$trackZ - 1 | 0));
        }
    }
    function nms_MinecartTrackLogic_func_785_b($this) {
        var $var1, $var2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = 0;
            $var2 = $this.$connectedTracks;
            if ($var1 >= $var2.$size0)
                return;
            $var2 = ju_ArrayList_get($var2, $var1);
            $ptr = 1;
        case 1:
            $tmp = nms_MinecartTrackLogic_getMinecartTrackLogic($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 !== null && nms_MinecartTrackLogic_isConnectedTo($var2, $this)) {
                ju_ArrayList_set($this.$connectedTracks, $var1, nms_ChunkPosition__init_0($var2.$trackX, $var2.$trackY, $var2.$trackZ));
                var$3 = $var1;
            } else {
                $var2 = $this.$connectedTracks;
                var$3 = $var1 + (-1) | 0;
                ju_ArrayList_remove($var2, $var1);
            }
            $var1 = var$3 + 1 | 0;
            $var2 = $this.$connectedTracks;
            if ($var1 >= $var2.$size0)
                return;
            $var2 = ju_ArrayList_get($var2, $var1);
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_MinecartTrackLogic_isMinecartTrack($this, $var1, $var2, $var3) {
        var var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = $this.$worldObj13;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId(var$4, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $tmp;
            if (var$5 == $this.$minecartTrack.$blockID)
                return 1;
            var$4 = $this.$worldObj13;
            var$5 = $var2 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId(var$4, $var1, var$5, $var3);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 == $this.$minecartTrack.$blockID)
                return 1;
            var$4 = $this.$worldObj13;
            $var2 = $var2 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId(var$4, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1 != $this.$minecartTrack.$blockID ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, $ptr);
    }
    function nms_MinecartTrackLogic_getMinecartTrackLogic($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$worldObj13;
            var$3 = $var1.$x1;
            var$4 = $var1.$y1;
            var$5 = $var1.$z1;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId(var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$2 = $this.$minecartTrack;
            if (var$3 == var$2.$blockID) {
                var$6 = new nms_MinecartTrackLogic;
                var$7 = $this.$worldObj13;
                var$3 = $var1.$x1;
                var$4 = $var1.$y1;
                var$5 = $var1.$z1;
                $ptr = 3;
                continue main;
            }
            var$2 = $this.$worldObj13;
            var$3 = $var1.$x1;
            var$4 = $var1.$y1 + 1 | 0;
            var$5 = $var1.$z1;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId(var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$2 = $this.$minecartTrack;
            if (var$3 != var$2.$blockID) {
                var$2 = $this.$worldObj13;
                var$3 = $var1.$x1;
                var$4 = $var1.$y1 - 1 | 0;
                var$5 = $var1.$z1;
                $ptr = 4;
                continue main;
            }
            var$6 = new nms_MinecartTrackLogic;
            var$7 = $this.$worldObj13;
            var$3 = $var1.$x1;
            var$4 = $var1.$y1 + 1 | 0;
            var$5 = $var1.$z1;
            $ptr = 5;
            continue main;
        case 3:
            nms_MinecartTrackLogic__init_(var$6, var$2, var$7, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return var$6;
        case 4:
            $tmp = nms_World_getBlockId(var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            var$2 = $this.$minecartTrack;
            if (var$3 != var$2.$blockID) {
                var$6 = null;
                return var$6;
            }
            var$6 = new nms_MinecartTrackLogic;
            var$7 = $this.$worldObj13;
            var$4 = $var1.$x1;
            var$3 = $var1.$y1 - 1 | 0;
            var$5 = $var1.$z1;
            $ptr = 6;
            continue main;
        case 5:
            nms_MinecartTrackLogic__init_(var$6, var$2, var$7, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return var$6;
        case 6:
            nms_MinecartTrackLogic__init_(var$6, var$2, var$7, var$4, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            return var$6;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_MinecartTrackLogic_isConnectedTo($this, $var1) {
        var $var2, $var3;
        $var2 = 0;
        while (true) {
            $var3 = $this.$connectedTracks;
            if ($var2 >= $var3.$size0)
                break;
            $var3 = ju_ArrayList_get($var3, $var2);
            if ($var3.$x1 == $var1.$trackX && $var3.$z1 == $var1.$trackZ)
                return 1;
            $var2 = $var2 + 1 | 0;
        }
        return 0;
    }
    function nms_MinecartTrackLogic_func_794_b($this, $var1, $var2, $var3) {
        var $var4, $var5;
        $var4 = 0;
        while (true) {
            $var5 = $this.$connectedTracks;
            if ($var4 >= $var5.$size0)
                break;
            $var5 = ju_ArrayList_get($var5, $var4);
            if ($var5.$x1 == $var1 && $var5.$z1 == $var3)
                return 1;
            $var4 = $var4 + 1 | 0;
        }
        return 0;
    }
    function nms_MinecartTrackLogic_handleKeyPress($this, $var1) {
        var $var2, var$3, var$4;
        if (nms_MinecartTrackLogic_isConnectedTo($this, $var1))
            return 1;
        $var2 = $this.$connectedTracks;
        var$3 = $var2.$size0;
        if (var$3 == 2)
            return 0;
        if (!var$3)
            return 1;
        $var2 = ju_ArrayList_get($var2, 0);
        var$4 = $var1.$trackY;
        var$3 = $this.$trackY;
        return var$4 == var$3 && $var2.$y1 == var$3 ? 1 : 1;
    }
    function nms_MinecartTrackLogic_func_788_d($this, $var1) {
        var var$2, var$3, $var2, $var3, $var4, $var5, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$connectedTracks;
            var$3 = nms_ChunkPosition__init_0($var1.$trackX, $var1.$trackY, $var1.$trackZ);
            $ptr = 1;
        case 1:
            ju_ArrayList_add(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = nms_MinecartTrackLogic_func_794_b($this, $this.$trackX, $this.$trackY, $this.$trackZ - 1 | 0);
            $var3 = nms_MinecartTrackLogic_func_794_b($this, $this.$trackX, $this.$trackY, $this.$trackZ + 1 | 0);
            $var4 = nms_MinecartTrackLogic_func_794_b($this, $this.$trackX - 1 | 0, $this.$trackY, $this.$trackZ);
            $var5 = nms_MinecartTrackLogic_func_794_b($this, $this.$trackX + 1 | 0, $this.$trackY, $this.$trackZ);
            $var6 = (-1);
            if (!(!$var2 && !$var3))
                $var6 = 0;
            if (!(!$var4 && !$var5))
                $var6 = 1;
            if ($var3 && $var5 && !$var2 && !$var4)
                $var6 = 6;
            if ($var3 && $var4 && !$var2 && !$var5)
                $var6 = 7;
            if ($var2 && $var4 && !$var3 && !$var5)
                $var6 = 8;
            if ($var2 && $var5 && !$var3 && !$var4)
                $var6 = 9;
            if (!$var6) {
                $var1 = $this.$worldObj13;
                $var2 = $this.$trackX;
                $var3 = $this.$trackY + 1 | 0;
                $var4 = $this.$trackZ - 1 | 0;
                $ptr = 2;
                continue main;
            }
            if ($var6 == 1) {
                $var1 = $this.$worldObj13;
                $var2 = $this.$trackX + 1 | 0;
                $var3 = $this.$trackY + 1 | 0;
                $var4 = $this.$trackZ;
                $ptr = 3;
                continue main;
            }
            if ($var6 < 0)
                $var6 = 0;
            $var1 = $this.$worldObj13;
            $var2 = $this.$trackX;
            $var3 = $this.$trackY;
            $var4 = $this.$trackZ;
            $ptr = 6;
            continue main;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 == $this.$minecartTrack.$blockID)
                $var6 = 4;
            $var1 = $this.$worldObj13;
            $var2 = $this.$trackX;
            $var3 = $this.$trackY + 1 | 0;
            $var4 = $this.$trackZ + 1 | 0;
            $ptr = 4;
            continue main;
        case 3:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 == $this.$minecartTrack.$blockID)
                $var6 = 2;
            $var1 = $this.$worldObj13;
            $var2 = $this.$trackX - 1 | 0;
            $var3 = $this.$trackY + 1 | 0;
            $var4 = $this.$trackZ;
            $ptr = 5;
            continue main;
        case 4:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 == $this.$minecartTrack.$blockID)
                $var6 = 5;
            if ($var6 == 1) {
                $var1 = $this.$worldObj13;
                $var2 = $this.$trackX + 1 | 0;
                $var3 = $this.$trackY + 1 | 0;
                $var4 = $this.$trackZ;
                $ptr = 3;
                continue main;
            }
            if ($var6 < 0)
                $var6 = 0;
            $var1 = $this.$worldObj13;
            $var2 = $this.$trackX;
            $var3 = $this.$trackY;
            $var4 = $this.$trackZ;
            $ptr = 6;
            continue main;
        case 5:
            $tmp = nms_World_getBlockId($var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            if ($var2 == $this.$minecartTrack.$blockID)
                $var6 = 3;
            if ($var6 < 0)
                $var6 = 0;
            $var1 = $this.$worldObj13;
            $var2 = $this.$trackX;
            $var3 = $this.$trackY;
            $var4 = $this.$trackZ;
            $ptr = 6;
        case 6:
            nms_World_setBlockMetadataWithNotify($var1, $var2, $var3, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $var2, $var3, $var4, $var5, $var6, $ptr);
    }
    function nms_MinecartTrackLogic_func_786_c($this, $var1, $var2, $var3) {
        var $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = nms_ChunkPosition__init_0($var1, $var2, $var3);
            $ptr = 1;
        case 1:
            $tmp = nms_MinecartTrackLogic_getMinecartTrackLogic($this, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4 === null)
                return 0;
            $ptr = 2;
        case 2:
            nms_MinecartTrackLogic_func_785_b($var4);
            if ($rt_suspending()) {
                break main;
            }
            return nms_MinecartTrackLogic_handleKeyPress($var4, $this);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_MinecartTrackLogic_func_792_a($this, $var1) {
        var $var3, $var4, $var2, $var5, $var6, $var7, $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var2 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $this.$trackX;
            $var4 = $this.$trackY;
            $var2 = $this.$trackZ - 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_MinecartTrackLogic_func_786_c($this, $var3, $var4, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var3 = $this.$trackX;
            $var4 = $this.$trackY;
            $var5 = $this.$trackZ + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_MinecartTrackLogic_func_786_c($this, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var4 = $this.$trackX - 1 | 0;
            $var5 = $this.$trackY;
            $var6 = $this.$trackZ;
            $ptr = 3;
        case 3:
            $tmp = nms_MinecartTrackLogic_func_786_c($this, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            $var5 = $this.$trackX + 1 | 0;
            $var6 = $this.$trackY;
            $var7 = $this.$trackZ;
            $ptr = 4;
        case 4:
            $tmp = nms_MinecartTrackLogic_func_786_c($this, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $var6 = (-1);
            if (!(!$var2 && !$var3) && !$var4 && !$var5)
                $var6 = 0;
            if (!(!$var4 && !$var5) && !$var2 && !$var3)
                $var6 = 1;
            if ($var3 && $var5 && !$var2 && !$var4)
                $var6 = 6;
            if ($var3 && $var4 && !$var2 && !$var5)
                $var6 = 7;
            if ($var2 && $var4 && !$var3 && !$var5)
                $var6 = 8;
            if ($var2 && $var5 && !$var3 && !$var4)
                $var6 = 9;
            if ($var6 == (-1)) {
                if (!(!$var2 && !$var3))
                    $var6 = 0;
                if (!(!$var4 && !$var5))
                    $var6 = 1;
                if (!$var1) {
                    if ($var2 && $var4)
                        $var6 = 8;
                    if ($var5 && $var2)
                        $var6 = 9;
                    if ($var4 && $var3)
                        $var6 = 7;
                    if ($var3 && $var5)
                        $var6 = 6;
                } else {
                    if ($var3 && $var5)
                        $var6 = 6;
                    if ($var4 && $var3)
                        $var6 = 7;
                    if ($var5 && $var2)
                        $var6 = 9;
                    if ($var2 && $var4)
                        $var6 = 8;
                }
            }
            if (!$var6) {
                $var8 = $this.$worldObj13;
                $var1 = $this.$trackX;
                $var2 = $this.$trackY + 1 | 0;
                $var3 = $this.$trackZ - 1 | 0;
                $ptr = 5;
                continue main;
            }
            if ($var6 == 1) {
                $var8 = $this.$worldObj13;
                $var1 = $this.$trackX + 1 | 0;
                $var2 = $this.$trackY + 1 | 0;
                $var3 = $this.$trackZ;
                $ptr = 6;
                continue main;
            }
            if ($var6 < 0)
                $var6 = 0;
            $this.$trackMetadata = $var6;
            nms_MinecartTrackLogic_calculateConnectedTracks($this);
            $var8 = $this.$worldObj13;
            $var1 = $this.$trackX;
            $var2 = $this.$trackY;
            $var3 = $this.$trackZ;
            $ptr = 9;
            continue main;
        case 5:
            $tmp = nms_World_getBlockId($var8, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 == $this.$minecartTrack.$blockID)
                $var6 = 4;
            $var8 = $this.$worldObj13;
            $var1 = $this.$trackX;
            $var2 = $this.$trackY + 1 | 0;
            $var3 = $this.$trackZ + 1 | 0;
            $ptr = 7;
            continue main;
        case 6:
            $tmp = nms_World_getBlockId($var8, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 == $this.$minecartTrack.$blockID)
                $var6 = 2;
            $var8 = $this.$worldObj13;
            $var1 = $this.$trackX - 1 | 0;
            $var2 = $this.$trackY + 1 | 0;
            $var3 = $this.$trackZ;
            $ptr = 8;
            continue main;
        case 7:
            $tmp = nms_World_getBlockId($var8, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 == $this.$minecartTrack.$blockID)
                $var6 = 5;
            if ($var6 == 1) {
                $var8 = $this.$worldObj13;
                $var1 = $this.$trackX + 1 | 0;
                $var2 = $this.$trackY + 1 | 0;
                $var3 = $this.$trackZ;
                $ptr = 6;
                continue main;
            }
            if ($var6 < 0)
                $var6 = 0;
            $this.$trackMetadata = $var6;
            nms_MinecartTrackLogic_calculateConnectedTracks($this);
            $var8 = $this.$worldObj13;
            $var1 = $this.$trackX;
            $var2 = $this.$trackY;
            $var3 = $this.$trackZ;
            $ptr = 9;
            continue main;
        case 8:
            $tmp = nms_World_getBlockId($var8, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            if ($var1 == $this.$minecartTrack.$blockID)
                $var6 = 3;
            if ($var6 < 0)
                $var6 = 0;
            $this.$trackMetadata = $var6;
            nms_MinecartTrackLogic_calculateConnectedTracks($this);
            $var8 = $this.$worldObj13;
            $var1 = $this.$trackX;
            $var2 = $this.$trackY;
            $var3 = $this.$trackZ;
            $ptr = 9;
        case 9:
            nms_World_setBlockMetadataWithNotify($var8, $var1, $var2, $var3, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 0;
            $var8 = $this.$connectedTracks;
            if ($var7 >= $var8.$size0)
                return;
            $var8 = ju_ArrayList_get($var8, $var7);
            $ptr = 10;
        case 10:
            $tmp = nms_MinecartTrackLogic_getMinecartTrackLogic($this, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            if ($var8 !== null) {
                $ptr = 11;
                continue main;
            }
            $var7 = $var7 + 1 | 0;
            $var8 = $this.$connectedTracks;
            if ($var7 >= $var8.$size0)
                return;
            $var8 = ju_ArrayList_get($var8, $var7);
            continue main;
        case 11:
            nms_MinecartTrackLogic_func_785_b($var8);
            if ($rt_suspending()) {
                break main;
            }
            if (nms_MinecartTrackLogic_handleKeyPress($var8, $this)) {
                $ptr = 12;
                continue main;
            }
            $var7 = $var7 + 1 | 0;
            $var8 = $this.$connectedTracks;
            if ($var7 >= $var8.$size0)
                return;
            $var8 = ju_ArrayList_get($var8, $var7);
            $ptr = 10;
            continue main;
        case 12:
            nms_MinecartTrackLogic_func_788_d($var8, $this);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var7 + 1 | 0;
            $var8 = $this.$connectedTracks;
            if ($var7 >= $var8.$size0)
                return;
            $var8 = ju_ArrayList_get($var8, $var7);
            $ptr = 10;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var4, $var2, $var5, $var6, $var7, $var8, $ptr);
    }
    var nms_EntityBubbleFX = $rt_classWithoutFields(nms_EntityFX);
    function nms_EntityBubbleFX_onUpdate($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$prevPosX = $this.$posX;
            $this.$prevPosY = $this.$posY;
            $this.$prevPosZ = $this.$posZ;
            var$1 = $this.$motionY + 0.002;
            $this.$motionY = var$1;
            var$2 = $this.$motionX;
            var$3 = $this.$motionZ;
            $ptr = 1;
        case 1:
            nms_Entity_moveEntity($this, var$2, var$1, var$3);
            if ($rt_suspending()) {
                break main;
            }
            $this.$motionX = $this.$motionX * 0.8500000238418579;
            $this.$motionY = $this.$motionY * 0.8500000238418579;
            $this.$motionZ = $this.$motionZ * 0.8500000238418579;
            var$4 = $this.$worldObj0;
            var$5 = nms_MathHelper_floor_double($this.$posX);
            var$6 = nms_MathHelper_floor_double($this.$posY);
            var$7 = nms_MathHelper_floor_double($this.$posZ);
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockMaterial(var$4, var$5, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            nms_Material_$callClinit();
            if (var$4 !== nms_Material_water) {
                $ptr = 3;
                continue main;
            }
            var$5 = $this.$particleMaxAge;
            $this.$particleMaxAge = var$5 - 1 | 0;
            if (var$5 > 0)
                return;
            $ptr = 4;
            continue main;
        case 3:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            var$5 = $this.$particleMaxAge;
            $this.$particleMaxAge = var$5 - 1 | 0;
            if (var$5 > 0)
                return;
            $ptr = 4;
        case 4:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_EntitySmokeFX() {
        nms_EntityFX.call(this);
        this.$field_671_a = 0.0;
    }
    function nms_EntitySmokeFX__init_1(var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7) {
        var var_8 = new nms_EntitySmokeFX();
        nms_EntitySmokeFX__init_0(var_8, var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7);
        return var_8;
    }
    function nms_EntitySmokeFX__init_0($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12, $var14) {
        var var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$9 = 0.0;
            var$10 = 0.0;
            var$11 = 0.0;
            $ptr = 1;
        case 1:
            nms_EntityFX__init_($this, $var1, $var2, $var4, $var6, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $this.$motionX * 0.10000000149011612;
            $this.$motionX = $var2;
            $var4 = $this.$motionY * 0.10000000149011612;
            $this.$motionY = $var4;
            $var6 = $this.$motionZ * 0.10000000149011612;
            $this.$motionZ = $var6;
            $this.$motionX = $var2 + $var8;
            $this.$motionY = $var4 + $var10;
            $this.$motionZ = $var6 + $var12;
            var$12 = jl_Math_random() * 0.30000001192092896;
            $this.$particleBlue = var$12;
            $this.$particleGreen = var$12;
            $this.$particleRed = var$12;
            var$12 = $this.$particleScale * 0.75;
            $this.$particleScale = var$12;
            var$12 = var$12 * $var14;
            $this.$particleScale = var$12;
            $this.$field_671_a = var$12;
            var$13 = 8.0 / (jl_Math_random() * 0.8 + 0.2) | 0;
            $this.$particleMaxAge = var$13;
            $this.$particleMaxAge = var$13 * $var14 | 0;
            $this.$noClip = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12, $var14, var$9, var$10, var$11, var$12, var$13, $ptr);
    }
    function nms_EntitySmokeFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var8 = ($this.$particleAge + $var2) / $this.$particleMaxAge * 32.0;
            if ($var8 < 0.0)
                $var8 = 0.0;
            if ($var8 > 1.0)
                $var8 = 1.0;
            $this.$particleScale = $this.$field_671_a * $var8;
            $ptr = 1;
        case 1:
            nms_EntityFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $ptr);
    }
    function nms_EntitySmokeFX_onUpdate($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$prevPosX = $this.$posX;
            $this.$prevPosY = $this.$posY;
            $this.$prevPosZ = $this.$posZ;
            var$1 = $this.$particleAge;
            $this.$particleAge = var$1 + 1 | 0;
            if (var$1 >= $this.$particleMaxAge) {
                $ptr = 2;
                continue main;
            }
            $this.$particleTextureIndex = 7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0;
            var$2 = $this.$motionY + 0.004;
            $this.$motionY = var$2;
            var$3 = $this.$motionX;
            var$4 = $this.$motionZ;
            $ptr = 1;
        case 1:
            nms_Entity_moveEntity($this, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$posY === $this.$prevPosY) {
                $this.$motionX = $this.$motionX * 1.1;
                $this.$motionZ = $this.$motionZ * 1.1;
            }
            var$2 = $this.$motionX * 0.9599999785423279;
            $this.$motionX = var$2;
            $this.$motionY = $this.$motionY * 0.9599999785423279;
            var$3 = $this.$motionZ * 0.9599999785423279;
            $this.$motionZ = var$3;
            if ($this.$onGround0) {
                $this.$motionX = var$2 * 0.699999988079071;
                $this.$motionZ = var$3 * 0.699999988079071;
            }
            return;
        case 2:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$particleTextureIndex = 7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0;
            var$2 = $this.$motionY + 0.004;
            $this.$motionY = var$2;
            var$3 = $this.$motionX;
            var$4 = $this.$motionZ;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_EntityNoteFX() {
        nms_EntityFX.call(this);
        this.$field_21065_a = 0.0;
    }
    function nms_EntityNoteFX__init_1(var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7) {
        var var_8 = new nms_EntityNoteFX();
        nms_EntityNoteFX__init_0(var_8, var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7);
        return var_8;
    }
    function nms_EntityNoteFX__init_0($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12, $var14) {
        var var$9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var10 = 0.0;
            $var12 = 0.0;
            var$9 = 0.0;
            $ptr = 1;
        case 1:
            nms_EntityFX__init_($this, $var1, $var2, $var4, $var6, $var10, $var12, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $this.$motionX = $this.$motionX * 0.009999999776482582;
            $var4 = $this.$motionY * 0.009999999776482582;
            $this.$motionY = $var4;
            $this.$motionZ = $this.$motionZ * 0.009999999776482582;
            $this.$motionY = $var4 + 0.2;
            var$10 = $var8;
            $this.$particleRed = nms_MathHelper_sin((var$10 + 0.0) * 3.1415927410125732 * 2.0) * 0.6499999761581421 + 0.3499999940395355;
            $this.$particleGreen = nms_MathHelper_sin((var$10 + 0.3333333432674408) * 3.1415927410125732 * 2.0) * 0.6499999761581421 + 0.3499999940395355;
            $this.$particleBlue = nms_MathHelper_sin((var$10 + 0.6666666865348816) * 3.1415927410125732 * 2.0) * 0.6499999761581421 + 0.3499999940395355;
            var$11 = $this.$particleScale * 0.75;
            $this.$particleScale = var$11;
            $var14 = var$11 * $var14;
            $this.$particleScale = $var14;
            $this.$field_21065_a = $var14;
            $this.$particleMaxAge = 6;
            $this.$noClip = 0;
            $this.$particleTextureIndex = 64;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12, $var14, var$9, var$10, var$11, $ptr);
    }
    function nms_EntityNoteFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var8 = ($this.$particleAge + $var2) / $this.$particleMaxAge * 32.0;
            if ($var8 < 0.0)
                $var8 = 0.0;
            if ($var8 > 1.0)
                $var8 = 1.0;
            $this.$particleScale = $this.$field_21065_a * $var8;
            $ptr = 1;
        case 1:
            nms_EntityFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $ptr);
    }
    function nms_EntityNoteFX_onUpdate($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$prevPosX = $this.$posX;
            $this.$prevPosY = $this.$posY;
            $this.$prevPosZ = $this.$posZ;
            var$1 = $this.$particleAge;
            $this.$particleAge = var$1 + 1 | 0;
            if (var$1 >= $this.$particleMaxAge) {
                $ptr = 2;
                continue main;
            }
            var$2 = $this.$motionX;
            var$3 = $this.$motionY;
            var$4 = $this.$motionZ;
            $ptr = 1;
        case 1:
            nms_Entity_moveEntity($this, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$posY === $this.$prevPosY) {
                $this.$motionX = $this.$motionX * 1.1;
                $this.$motionZ = $this.$motionZ * 1.1;
            }
            var$2 = $this.$motionX * 0.6600000262260437;
            $this.$motionX = var$2;
            $this.$motionY = $this.$motionY * 0.6600000262260437;
            var$3 = $this.$motionZ * 0.6600000262260437;
            $this.$motionZ = var$3;
            if ($this.$onGround0) {
                $this.$motionX = var$2 * 0.699999988079071;
                $this.$motionZ = var$3 * 0.699999988079071;
            }
            return;
        case 2:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$motionX;
            var$3 = $this.$motionY;
            var$4 = $this.$motionZ;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_EntityPortalFX() {
        var a = this; nms_EntityFX.call(a);
        a.$field_4083_a = 0.0;
        a.$field_4086_p = 0.0;
        a.$field_4085_q = 0.0;
        a.$field_4084_r = 0.0;
    }
    function nms_EntityPortalFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var8 = 1.0 - ($this.$particleAge + $var2) / $this.$particleMaxAge;
            $var8 = 1.0 - $var8 * $var8;
            $this.$particleScale = $this.$field_4083_a * $var8;
            $ptr = 1;
        case 1:
            nms_EntityFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $ptr);
    }
    function nms_EntityPortalFX_getEntityBrightness($this, $var1) {
        var $var2, $var3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_Entity_getEntityBrightness($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            $var3 = $this.$particleAge / $this.$particleMaxAge;
            $var1 = $var3 * $var3;
            $var1 = $var1 * $var1;
            return $var2 * (1.0 - $var1) + $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_EntityPortalFX_onUpdate($this) {
        var var$1, var$2, var$3, $var1, var$5, var$6, var$7;
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        var$1 = $this.$particleAge;
        var$2 = var$1;
        var$3 = $this.$particleMaxAge;
        $var1 = var$2 / var$3;
        var$2 = 1.0 - ( -$var1 + $var1 * $var1 * 2.0);
        var$5 = $this.$field_4086_p;
        var$6 = $this.$motionX;
        var$7 = var$2;
        $this.$posX = var$5 + var$6 * var$7;
        $this.$posY = $this.$field_4085_q + $this.$motionY * var$7 + 1.0 - $var1;
        $this.$posZ = $this.$field_4084_r + $this.$motionZ * var$7;
        $this.$particleAge = var$1 + 1 | 0;
        if (var$1 >= var$3)
            nms_Entity_setEntityDead($this);
    }
    var nms_EntityExplodeFX = $rt_classWithoutFields(nms_EntityFX);
    function nms_EntityExplodeFX__init_0(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
        var var_7 = new nms_EntityExplodeFX();
        nms_EntityExplodeFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
        return var_7;
    }
    function nms_EntityExplodeFX__init_($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12) {
        var var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityFX__init_($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $this.$motionX = $var8 + (jl_Math_random() * 2.0 - 1.0) * 0.05000000074505806;
            $this.$motionY = $var10 + (jl_Math_random() * 2.0 - 1.0) * 0.05000000074505806;
            $this.$motionZ = $var12 + (jl_Math_random() * 2.0 - 1.0) * 0.05000000074505806;
            var$8 = ju_Random_nextFloat($this.$rand3) * 0.30000001192092896 + 0.699999988079071;
            $this.$particleBlue = var$8;
            $this.$particleGreen = var$8;
            $this.$particleRed = var$8;
            $this.$particleScale = ju_Random_nextFloat($this.$rand3) * ju_Random_nextFloat($this.$rand3) * 6.0 + 1.0;
            $this.$particleMaxAge = (16.0 / (ju_Random_nextFloat($this.$rand3) * 0.8 + 0.2) | 0) + 2 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12, var$8, $ptr);
    }
    function nms_EntityExplodeFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $ptr);
    }
    function nms_EntityExplodeFX_onUpdate($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$prevPosX = $this.$posX;
            $this.$prevPosY = $this.$posY;
            $this.$prevPosZ = $this.$posZ;
            var$1 = $this.$particleAge;
            $this.$particleAge = var$1 + 1 | 0;
            if (var$1 >= $this.$particleMaxAge) {
                $ptr = 2;
                continue main;
            }
            $this.$particleTextureIndex = 7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0;
            var$2 = $this.$motionY + 0.004;
            $this.$motionY = var$2;
            var$3 = $this.$motionX;
            var$4 = $this.$motionZ;
            $ptr = 1;
        case 1:
            nms_Entity_moveEntity($this, var$3, var$2, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$motionX * 0.8999999761581421;
            $this.$motionX = var$2;
            $this.$motionY = $this.$motionY * 0.8999999761581421;
            var$3 = $this.$motionZ * 0.8999999761581421;
            $this.$motionZ = var$3;
            if ($this.$onGround0) {
                $this.$motionX = var$2 * 0.699999988079071;
                $this.$motionZ = var$3 * 0.699999988079071;
            }
            return;
        case 2:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$particleTextureIndex = 7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0;
            var$2 = $this.$motionY + 0.004;
            $this.$motionY = var$2;
            var$3 = $this.$motionX;
            var$4 = $this.$motionZ;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_EntityFlameFX() {
        nms_EntityFX.call(this);
        this.$field_672_a = 0.0;
    }
    function nms_EntityFlameFX__init_0(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
        var var_7 = new nms_EntityFlameFX();
        nms_EntityFlameFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
        return var_7;
    }
    function nms_EntityFlameFX__init_($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityFX__init_($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12);
            if ($rt_suspending()) {
                break main;
            }
            $this.$motionX = $this.$motionX * 0.009999999776482582 + $var8;
            $this.$motionY = $this.$motionY * 0.009999999776482582 + $var10;
            $this.$motionZ = $this.$motionZ * 0.009999999776482582 + $var12;
            ju_Random_nextFloat($this.$rand3);
            ju_Random_nextFloat($this.$rand3);
            ju_Random_nextFloat($this.$rand3);
            ju_Random_nextFloat($this.$rand3);
            ju_Random_nextFloat($this.$rand3);
            ju_Random_nextFloat($this.$rand3);
            $this.$field_672_a = $this.$particleScale;
            $this.$particleBlue = 1.0;
            $this.$particleGreen = 1.0;
            $this.$particleRed = 1.0;
            $this.$particleMaxAge = (8.0 / (jl_Math_random() * 0.8 + 0.2) | 0) + 4 | 0;
            $this.$noClip = 1;
            $this.$particleTextureIndex = 48;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12, $ptr);
    }
    function nms_EntityFlameFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var8 = ($this.$particleAge + $var2) / $this.$particleMaxAge;
            $this.$particleScale = $this.$field_672_a * (1.0 - $var8 * $var8 * 0.5);
            $ptr = 1;
        case 1:
            nms_EntityFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $ptr);
    }
    function nms_EntityFlameFX_getEntityBrightness($this, $var1) {
        var $var2, $var3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = ($this.$particleAge + $var1) / $this.$particleMaxAge;
            if ($var2 < 0.0)
                $var2 = 0.0;
            if ($var2 > 1.0)
                $var2 = 1.0;
            $ptr = 1;
        case 1:
            $tmp = nms_Entity_getEntityBrightness($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            return $var3 * $var2 + 1.0 - $var2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_EntityFlameFX_onUpdate($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$prevPosX = $this.$posX;
            $this.$prevPosY = $this.$posY;
            $this.$prevPosZ = $this.$posZ;
            var$1 = $this.$particleAge;
            $this.$particleAge = var$1 + 1 | 0;
            if (var$1 >= $this.$particleMaxAge) {
                $ptr = 2;
                continue main;
            }
            var$2 = $this.$motionX;
            var$3 = $this.$motionY;
            var$4 = $this.$motionZ;
            $ptr = 1;
        case 1:
            nms_Entity_moveEntity($this, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$motionX * 0.9599999785423279;
            $this.$motionX = var$2;
            $this.$motionY = $this.$motionY * 0.9599999785423279;
            var$3 = $this.$motionZ * 0.9599999785423279;
            $this.$motionZ = var$3;
            if ($this.$onGround0) {
                $this.$motionX = var$2 * 0.699999988079071;
                $this.$motionZ = var$3 * 0.699999988079071;
            }
            return;
        case 2:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$motionX;
            var$3 = $this.$motionY;
            var$4 = $this.$motionZ;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    function nms_EntityLavaFX() {
        nms_EntityFX.call(this);
        this.$field_674_a = 0.0;
    }
    function nms_EntityLavaFX__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_EntityLavaFX();
        nms_EntityLavaFX__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_EntityLavaFX__init_($this, $var1, $var2, $var4, $var6) {
        var var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = 0.0;
            var$6 = 0.0;
            var$7 = 0.0;
            $ptr = 1;
        case 1:
            nms_EntityFX__init_($this, $var1, $var2, $var4, $var6, var$5, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $this.$motionX = $this.$motionX * 0.800000011920929;
            $this.$motionY = $this.$motionY * 0.800000011920929;
            $this.$motionZ = $this.$motionZ * 0.800000011920929;
            $this.$motionY = ju_Random_nextFloat($this.$rand3) * 0.4000000059604645 + 0.05000000074505806;
            $this.$particleBlue = 1.0;
            $this.$particleGreen = 1.0;
            $this.$particleRed = 1.0;
            var$8 = $this.$particleScale * (ju_Random_nextFloat($this.$rand3) * 2.0 + 0.20000000298023224);
            $this.$particleScale = var$8;
            $this.$field_674_a = var$8;
            $this.$particleMaxAge = 16.0 / (jl_Math_random() * 0.8 + 0.2) | 0;
            $this.$noClip = 0;
            $this.$particleTextureIndex = 49;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_EntityLavaFX_getEntityBrightness($this, $var1) {
        return 1.0;
    }
    function nms_EntityLavaFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var8 = ($this.$particleAge + $var2) / $this.$particleMaxAge;
            $this.$particleScale = $this.$field_674_a * (1.0 - $var8 * $var8);
            $ptr = 1;
        case 1:
            nms_EntityFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $ptr);
    }
    function nms_EntityLavaFX_onUpdate($this) {
        var var$1, $var1, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var1 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$prevPosX = $this.$posX;
            $this.$prevPosY = $this.$posY;
            $this.$prevPosZ = $this.$posZ;
            var$1 = $this.$particleAge;
            $this.$particleAge = var$1 + 1 | 0;
            if (var$1 >= $this.$particleMaxAge) {
                $ptr = 1;
                continue main;
            }
            $var1 = $this.$particleAge / $this.$particleMaxAge;
            if (ju_Random_nextFloat($this.$rand3) <= $var1) {
                var$3 = $this.$motionY - 0.03;
                $this.$motionY = var$3;
                var$4 = $this.$motionX;
                var$5 = $this.$motionZ;
                $ptr = 2;
                continue main;
            }
            var$6 = $this.$worldObj0;
            var$7 = $rt_s(920);
            var$3 = $this.$posX;
            var$4 = $this.$posY;
            var$5 = $this.$posZ;
            var$8 = $this.$motionX;
            var$9 = $this.$motionY;
            var$10 = $this.$motionZ;
            $ptr = 3;
            continue main;
        case 1:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$particleAge / $this.$particleMaxAge;
            if (ju_Random_nextFloat($this.$rand3) <= $var1) {
                var$3 = $this.$motionY - 0.03;
                $this.$motionY = var$3;
                var$4 = $this.$motionX;
                var$5 = $this.$motionZ;
                $ptr = 2;
                continue main;
            }
            var$6 = $this.$worldObj0;
            var$7 = $rt_s(920);
            var$3 = $this.$posX;
            var$4 = $this.$posY;
            var$5 = $this.$posZ;
            var$8 = $this.$motionX;
            var$9 = $this.$motionY;
            var$10 = $this.$motionZ;
            $ptr = 3;
            continue main;
        case 2:
            nms_Entity_moveEntity($this, var$4, var$3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$motionX * 0.9990000128746033;
            $this.$motionX = var$3;
            $this.$motionY = $this.$motionY * 0.9990000128746033;
            var$4 = $this.$motionZ * 0.9990000128746033;
            $this.$motionZ = var$4;
            if ($this.$onGround0) {
                $this.$motionX = var$3 * 0.699999988079071;
                $this.$motionZ = var$4 * 0.699999988079071;
            }
            return;
        case 3:
            nms_World_spawnParticle(var$6, var$7, var$3, var$4, var$5, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$motionY - 0.03;
            $this.$motionY = var$3;
            var$4 = $this.$motionX;
            var$5 = $this.$motionZ;
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $var1, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    var nms_EntitySplashFX = $rt_classWithoutFields(nms_EntityRainFX);
    function nms_EntitySplashFX__init_0(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
        var var_7 = new nms_EntitySplashFX();
        nms_EntitySplashFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
        return var_7;
    }
    function nms_EntitySplashFX__init_($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityRainFX__init_($this, $var1, $var2, $var4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $this.$particleGravity = 0.03999999910593033;
            $this.$particleTextureIndex = $this.$particleTextureIndex + 1 | 0;
            if ($var10 === 0.0 && !($var8 === 0.0 && $var12 === 0.0)) {
                $this.$motionX = $var8;
                $this.$motionY = $var10 + 0.1;
                $this.$motionZ = $var12;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12, $ptr);
    }
    function nms_EntityReddustFX() {
        nms_EntityFX.call(this);
        this.$field_673_a = 0.0;
    }
    function nms_EntityReddustFX__init_1(var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7) {
        var var_8 = new nms_EntityReddustFX();
        nms_EntityReddustFX__init_0(var_8, var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7);
        return var_8;
    }
    function nms_EntityReddustFX__init_0($this, $var1, $var2, $var4, $var6, $var8, $var9, $var10, $var11) {
        var var$9, var$10, var$11, $var12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();$var12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$9 = 0.0;
            var$10 = 0.0;
            var$11 = 0.0;
            $ptr = 1;
        case 1:
            nms_EntityFX__init_($this, $var1, $var2, $var4, $var6, var$9, var$10, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $this.$motionX = $this.$motionX * 0.10000000149011612;
            $this.$motionY = $this.$motionY * 0.10000000149011612;
            $this.$motionZ = $this.$motionZ * 0.10000000149011612;
            if ($var9 === 0.0)
                $var9 = 1.0;
            $var12 = jl_Math_random() * 0.4000000059604645 + 0.6000000238418579;
            $this.$particleRed = (jl_Math_random() * 0.20000000298023224 + 0.800000011920929) * $var9 * $var12;
            $this.$particleGreen = (jl_Math_random() * 0.20000000298023224 + 0.800000011920929) * $var10 * $var12;
            $this.$particleBlue = (jl_Math_random() * 0.20000000298023224 + 0.800000011920929) * $var11 * $var12;
            $var9 = $this.$particleScale * 0.75;
            $this.$particleScale = $var9;
            $var9 = $var9 * $var8;
            $this.$particleScale = $var9;
            $this.$field_673_a = $var9;
            var$13 = 8.0 / (jl_Math_random() * 0.8 + 0.2) | 0;
            $this.$particleMaxAge = var$13;
            $this.$particleMaxAge = var$13 * $var8 | 0;
            $this.$noClip = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var9, $var10, $var11, var$9, var$10, var$11, $var12, var$13, $ptr);
    }
    function nms_EntityReddustFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var8 = ($this.$particleAge + $var2) / $this.$particleMaxAge * 32.0;
            if ($var8 < 0.0)
                $var8 = 0.0;
            if ($var8 > 1.0)
                $var8 = 1.0;
            $this.$particleScale = $this.$field_673_a * $var8;
            $ptr = 1;
        case 1:
            nms_EntityFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $ptr);
    }
    function nms_EntityReddustFX_onUpdate($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$prevPosX = $this.$posX;
            $this.$prevPosY = $this.$posY;
            $this.$prevPosZ = $this.$posZ;
            var$1 = $this.$particleAge;
            $this.$particleAge = var$1 + 1 | 0;
            if (var$1 >= $this.$particleMaxAge) {
                $ptr = 2;
                continue main;
            }
            $this.$particleTextureIndex = 7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0;
            var$2 = $this.$motionX;
            var$3 = $this.$motionY;
            var$4 = $this.$motionZ;
            $ptr = 1;
        case 1:
            nms_Entity_moveEntity($this, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$posY === $this.$prevPosY) {
                $this.$motionX = $this.$motionX * 1.1;
                $this.$motionZ = $this.$motionZ * 1.1;
            }
            var$2 = $this.$motionX * 0.9599999785423279;
            $this.$motionX = var$2;
            $this.$motionY = $this.$motionY * 0.9599999785423279;
            var$3 = $this.$motionZ * 0.9599999785423279;
            $this.$motionZ = var$3;
            if ($this.$onGround0) {
                $this.$motionX = var$2 * 0.699999988079071;
                $this.$motionZ = var$3 * 0.699999988079071;
            }
            return;
        case 2:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$particleTextureIndex = 7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0;
            var$2 = $this.$motionX;
            var$3 = $this.$motionY;
            var$4 = $this.$motionZ;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    var nms_EntitySlimeFX = $rt_classWithoutFields(nms_EntityFX);
    function nms_EntitySlimeFX__init_0(var_0, var_1, var_2, var_3, var_4) {
        var var_5 = new nms_EntitySlimeFX();
        nms_EntitySlimeFX__init_(var_5, var_0, var_1, var_2, var_3, var_4);
        return var_5;
    }
    function nms_EntitySlimeFX__init_($this, $var1, $var2, $var4, $var6, $var8) {
        var var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = 0.0;
            var$7 = 0.0;
            var$8 = 0.0;
            $ptr = 1;
        case 1:
            nms_EntityFX__init_($this, $var1, $var2, $var4, $var6, var$6, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = null;
            $ptr = 2;
        case 2:
            $tmp = $var8.$getIconIndex0($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            $this.$particleTextureIndex = var$9;
            $this.$particleBlue = 1.0;
            $this.$particleGreen = 1.0;
            $this.$particleRed = 1.0;
            $ptr = 3;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$particleGravity = nms_Block_blockSnow.$blockParticleGravity;
            $this.$particleScale = $this.$particleScale / 2.0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_EntitySlimeFX_getFXLayer($this) {
        return 2;
    }
    function nms_EntitySlimeFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var var$8, $var8, $var9, $var10, $var11, $var12, var$14, var$15, var$16, $var13, $var14, $var15, $var16, var$21, var$22, var$23, var$24, var$25, var$26, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$26 = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5
            = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$8 = $this.$particleTextureIndex;
            $var8 = ((var$8 % 16 | 0) + $this.$particleTextureJitterX / 4.0) / 16.0;
            $var9 = $var8 + 0.015609375201165676;
            $var10 = ((var$8 / 16 | 0) + $this.$particleTextureJitterY / 4.0) / 16.0;
            $var11 = $var10 + 0.015609375201165676;
            $var12 = 0.10000000149011612 * $this.$particleScale;
            var$14 = $this.$prevPosX;
            var$15 = $this.$posX - var$14;
            var$16 = $var2;
            $var13 = var$14 + var$15 * var$16 - nms_EntityFX_interpPosX;
            var$14 = $this.$prevPosY;
            $var14 = var$14 + ($this.$posY - var$14) * var$16 - nms_EntityFX_interpPosY;
            var$14 = $this.$prevPosZ;
            $var15 = var$14 + ($this.$posZ - var$14) * var$16 - nms_EntityFX_interpPosZ;
            $ptr = 1;
        case 1:
            $tmp = nms_Entity_getEntityBrightness($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            $var2 = $var16 * $this.$particleRed;
            var$21 = $var16 * $this.$particleGreen;
            var$22 = $var16 * $this.$particleBlue;
            $ptr = 2;
        case 2:
            nms_Tessellator_setColorOpaque_F($var1, $var2, var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var3 * $var12;
            $var3 = $var13 - $var2;
            $var6 = $var6 * $var12;
            var$14 = $var3 - $var6;
            $var4 = $var4 * $var12;
            var$15 = $var14 - $var4;
            $var5 = $var5 * $var12;
            var$21 = $var15 - $var5;
            $var7 = $var7 * $var12;
            var$16 = var$21 - $var7;
            var$23 = $var8;
            var$24 = $var11;
            $ptr = 3;
        case 3:
            nms_Tessellator_addVertexWithUV($var1, var$14, var$15, var$16, var$23, var$24);
            if ($rt_suspending()) {
                break main;
            }
            var$25 = $var3 + $var6;
            var$14 = $var14 + $var4;
            var$16 = var$21 + $var7;
            var$26 = $var10;
            $ptr = 4;
        case 4:
            nms_Tessellator_addVertexWithUV($var1, var$25, var$14, var$16, var$23, var$26);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var13 + $var2;
            var$16 = $var2 + $var6;
            $var3 = $var15 + $var5;
            var$25 = $var3 + $var7;
            var$23 = $var9;
            $ptr = 5;
        case 5:
            nms_Tessellator_addVertexWithUV($var1, var$16, var$14, var$25, var$23, var$26);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $var2 - $var6;
            var$16 = $var3 - $var7;
            $ptr = 6;
        case 6:
            nms_Tessellator_addVertexWithUV($var1, var$14, var$15, var$16, var$23, var$24);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, $var8, $var9, $var10, $var11, $var12, var$14, var$15, var$16, $var13, $var14, $var15, $var16, var$21, var$22, var$23, var$24, var$25, var$26, $ptr);
    }
    function nms_EntityHeartFX() {
        nms_EntityFX.call(this);
        this.$field_25022_a = 0.0;
    }
    function nms_EntityHeartFX__init_1(var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7) {
        var var_8 = new nms_EntityHeartFX();
        nms_EntityHeartFX__init_0(var_8, var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7);
        return var_8;
    }
    function nms_EntityHeartFX__init_0($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12, $var14) {
        var var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var12 = 0.0;
            $var8 = 0.0;
            $var10 = 0.0;
            $ptr = 1;
        case 1:
            nms_EntityFX__init_($this, $var1, $var2, $var4, $var6, $var12, $var8, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $this.$motionX = $this.$motionX * 0.009999999776482582;
            $var2 = $this.$motionY * 0.009999999776482582;
            $this.$motionY = $var2;
            $this.$motionZ = $this.$motionZ * 0.009999999776482582;
            $this.$motionY = $var2 + 0.1;
            var$9 = $this.$particleScale * 0.75;
            $this.$particleScale = var$9;
            $var14 = var$9 * $var14;
            $this.$particleScale = $var14;
            $this.$field_25022_a = $var14;
            $this.$particleMaxAge = 16;
            $this.$noClip = 0;
            $this.$particleTextureIndex = 80;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12, $var14, var$9, $ptr);
    }
    function nms_EntityHeartFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var8 = ($this.$particleAge + $var2) / $this.$particleMaxAge * 32.0;
            if ($var8 < 0.0)
                $var8 = 0.0;
            if ($var8 > 1.0)
                $var8 = 1.0;
            $this.$particleScale = $this.$field_25022_a * $var8;
            $ptr = 1;
        case 1:
            nms_EntityFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $ptr);
    }
    function nms_EntityHeartFX_onUpdate($this) {
        var var$1, var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$prevPosX = $this.$posX;
            $this.$prevPosY = $this.$posY;
            $this.$prevPosZ = $this.$posZ;
            var$1 = $this.$particleAge;
            $this.$particleAge = var$1 + 1 | 0;
            if (var$1 >= $this.$particleMaxAge) {
                $ptr = 2;
                continue main;
            }
            var$2 = $this.$motionX;
            var$3 = $this.$motionY;
            var$4 = $this.$motionZ;
            $ptr = 1;
        case 1:
            nms_Entity_moveEntity($this, var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$posY === $this.$prevPosY) {
                $this.$motionX = $this.$motionX * 1.1;
                $this.$motionZ = $this.$motionZ * 1.1;
            }
            var$2 = $this.$motionX * 0.8600000143051147;
            $this.$motionX = var$2;
            $this.$motionY = $this.$motionY * 0.8600000143051147;
            var$3 = $this.$motionZ * 0.8600000143051147;
            $this.$motionZ = var$3;
            if ($this.$onGround0) {
                $this.$motionX = var$2 * 0.699999988079071;
                $this.$motionZ = var$3 * 0.699999988079071;
            }
            return;
        case 2:
            nms_Entity_setEntityDead($this);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$motionX;
            var$3 = $this.$motionY;
            var$4 = $this.$motionZ;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
    }
    var nms_NoiseGenerator = $rt_classWithoutFields();
    function nms_NoiseGeneratorOctaves2() {
        var a = this; nms_NoiseGenerator.call(a);
        a.$field_4234_a = null;
        a.$field_4233_b = 0;
    }
    function nms_NoiseGeneratorOctaves2__init_0(var_0, var_1) {
        var var_2 = new nms_NoiseGeneratorOctaves2();
        nms_NoiseGeneratorOctaves2__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_NoiseGeneratorOctaves2__init_($this, $var1, $var2) {
        var $var3;
        $this.$field_4233_b = $var2;
        $this.$field_4234_a = $rt_createArray(nms_NoiseGenerator2, $var2);
        $var3 = 0;
        while ($var3 < $var2) {
            $this.$field_4234_a.data[$var3] = nms_NoiseGenerator2__init_1($var1);
            $var3 = $var3 + 1 | 0;
        }
    }
    function nms_NoiseGeneratorOctaves2_func_4112_a($this, $var1, $var2, $var4, $var6, $var7, $var8, $var10, $var12) {
        var var$9, var$10, var$11, var$12, var$13, var$14;
        a: {
            $var8 = $var8 / 1.5;
            var$9 = $var10 / 1.5;
            if ($var1 !== null) {
                var$10 = $var1.data;
                var$11 = var$10.length;
                if (var$11 >= $rt_imul($var6, $var7)) {
                    var$12 = 0;
                    while (var$12 < var$11) {
                        var$10[var$12] = 0.0;
                        var$12 = var$12 + 1 | 0;
                    }
                    break a;
                }
            }
            $var1 = $rt_createDoubleArray($rt_imul($var6, $var7));
        }
        $var10 = 1.0;
        var$13 = 1.0;
        var$14 = 0;
        while (var$14 < $this.$field_4233_b) {
            nms_NoiseGenerator2_func_4157_a($this.$field_4234_a.data[var$14], $var1, $var2, $var4, $var6, $var7, $var8 * var$13, var$9 * var$13, 0.55 / $var10);
            var$13 = var$13 * $var12;
            $var10 = $var10 * 0.5;
            var$14 = var$14 + 1 | 0;
        }
        return $var1;
    }
    function nms_CraftingInventoryDispenserCB() {
        nms_CraftingInventoryCB.call(this);
        this.$field_21149_a = null;
    }
    function nms_CraftingInventoryDispenserCB_isUsableByPlayer($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$field_21149_a;
            var$3 = var$2.$worldObj3;
            var$4 = var$2.$xCoord0;
            var$5 = var$2.$yCoord0;
            var$6 = var$2.$zCoord0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockTileEntity(var$3, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3 !== var$2 ? 0 : nms_Entity_getDistanceSq($var1, var$2.$xCoord0 + 0.5, var$2.$yCoord0 + 0.5, var$2.$zCoord0 + 0.5) > 64.0 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_CraftingInventoryChestCB() {
        nms_CraftingInventoryCB.call(this);
        this.$field_20125_a = null;
    }
    function nms_CraftingInventoryChestCB_isUsableByPlayer($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$field_20125_a;
            $ptr = 1;
        case 1:
            $tmp = var$2.$canInteractWith($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_CraftingInventoryWorkbenchCB() {
        var a = this; nms_CraftingInventoryCB.call(a);
        a.$craftMatrix = null;
        a.$craftResult = null;
        a.$field_20133_c = null;
        a.$field_20132_h = 0;
        a.$field_20131_i = 0;
        a.$field_20130_j = 0;
    }
    function nms_CraftingInventoryWorkbenchCB_onCraftMatrixChanged($this, $var1) {
        var var$2, var$3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$craftResult;
            var$3 = 0;
            $ptr = 1;
        case 1:
            $tmp = nms_CraftingManager_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            var$4 = $this.$craftMatrix;
            $ptr = 2;
        case 2:
            $tmp = nms_CraftingManager_findMatchingRecipe($var1, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $ptr = 3;
        case 3:
            nms_InventoryCraftResult_setInventorySlotContents(var$2, var$3, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
    }
    function nms_CraftingInventoryWorkbenchCB_onCraftGuiClosed($this, $var1) {
        var $var2, $var3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_CraftingInventoryCB_onCraftGuiClosed($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = 0;
            while ($var2 < 9) {
                $var3 = nms_InventoryCrafting_getStackInSlot($this.$craftMatrix, $var2);
                if ($var3 !== null) {
                    $ptr = 2;
                    continue main;
                }
                $var2 = $var2 + 1 | 0;
            }
            return;
        case 2:
            nms_EntityPlayer_dropPlayerItem($var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var2 = $var2 + 1 | 0;
                if ($var2 >= 9)
                    break;
                $var3 = nms_InventoryCrafting_getStackInSlot($this.$craftMatrix, $var2);
                if ($var3 === null)
                    continue;
                else {
                    continue main;
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
    }
    function nms_CraftingInventoryWorkbenchCB_isUsableByPlayer($this, $var1) {
        var var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$field_20133_c;
            var$3 = $this.$field_20132_h;
            var$4 = $this.$field_20131_i;
            var$5 = $this.$field_20130_j;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId(var$2, var$3, var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return var$3 != nms_Block_workbench.$blockID ? 0 : nms_Entity_getDistanceSq($var1, $this.$field_20132_h + 0.5, $this.$field_20131_i + 0.5, $this.$field_20130_j + 0.5) > 64.0 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, $ptr);
    }
    function nms_CraftingInventoryFurnaceCB() {
        var a = this; nms_CraftingInventoryCB.call(a);
        a.$furnace = null;
        a.$cookTime = 0;
        a.$burnTime = 0;
        a.$itemBurnTime = 0;
    }
    function nms_CraftingInventoryFurnaceCB_func_20112_a($this, $var1, $var2) {
        if (!$var1)
            $this.$furnace.$furnaceCookTime = $var2;
        if ($var1 == 1)
            $this.$furnace.$furnaceBurnTime = $var2;
        if ($var1 == 2)
            $this.$furnace.$currentItemBurnTime = $var2;
    }
    function nms_CraftingInventoryFurnaceCB_isUsableByPlayer($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = $this.$furnace;
            var$3 = var$2.$worldObj3;
            var$4 = var$2.$xCoord0;
            var$5 = var$2.$yCoord0;
            var$6 = var$2.$zCoord0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockTileEntity(var$3, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3 !== var$2 ? 0 : nms_Entity_getDistanceSq($var1, var$2.$xCoord0 + 0.5, var$2.$yCoord0 + 0.5, var$2.$zCoord0 + 0.5) > 64.0 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_MapGenBase() {
        var a = this; jl_Object.call(a);
        a.$field_1306_a = 0;
        a.$rand7 = null;
    }
    function nms_MapGenBase__init_0() {
        var var_0 = new nms_MapGenBase();
        nms_MapGenBase__init_(var_0);
        return var_0;
    }
    function nms_MapGenBase__init_($this) {
        $this.$field_1306_a = 8;
        $this.$rand7 = new ju_Random;
    }
    function nms_MapGenBase_func_867_a($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var11, var$8, var$9, var$10, $var12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var12 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var11 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = $this.$field_1306_a;
            nms_World_getRandomSeed($var2);
            ju_Random_nextLong($this.$rand7);
            ju_Random_nextLong($this.$rand7);
            $var11 = $var3 - $var6 | 0;
            var$8 = $var3 + $var6 | 0;
            var$9 = $var4 - $var6 | 0;
            var$10 = $var4 + $var6 | 0;
            while ($var11 <= var$8) {
                $var12 = var$9;
                if ($var12 <= var$10) {
                    nms_World_getRandomSeed($var2);
                    $ptr = 1;
                    continue main;
                }
                $var11 = $var11 + 1 | 0;
            }
            return;
        case 1:
            $this.$func_868_a($var2, $var11, $var12, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $var12 + 1 | 0;
            while (true) {
                if ($var12 <= var$10) {
                    nms_World_getRandomSeed($var2);
                    continue main;
                }
                $var11 = $var11 + 1 | 0;
                if ($var11 > var$8)
                    break;
                $var12 = var$9;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var11, var$8, var$9, var$10, $var12, $ptr);
    }
    var nms_MapGenCaves = $rt_classWithoutFields(nms_MapGenBase);
    function nms_MapGenCaves__init_0() {
        var var_0 = new nms_MapGenCaves();
        nms_MapGenCaves__init_(var_0);
        return var_0;
    }
    function nms_MapGenCaves__init_($this) {
        nms_MapGenBase__init_($this);
    }
    function nms_MapGenCaves_releaseEntitySkin($this, $var1, $var2, $var3, $var4, $var6, $var8, $var10, $var11, $var12, $var13, $var14, $var15) {
        var var$13, $var17, var$15, $var19, $var21, $var22, $var23, $var24, $var52, $var25, $var26, var$24, $var39, var$26, var$27, var$28, var$29, $var27, $var29, $var31, $var32, var$34, $var33, $var35, $var37, $var44, $var53, $var34, $var54, $var36, $var55, $var38, $var56, $var40, $var41, $var42, $var43, $var43_0, var$51, $var51, $var57, $var46, $var47, $var48, $var49, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var49 = $thread.pop();$var48 = $thread.pop();$var47 = $thread.pop();$var46 = $thread.pop();$var57 = $thread.pop();$var51 = $thread.pop();var$51 = $thread.pop();$var43_0 = $thread.pop();$var43 = $thread.pop();$var42 = $thread.pop();$var41 = $thread.pop();$var40 = $thread.pop();$var56 = $thread.pop();$var38 = $thread.pop();$var55 = $thread.pop();$var36 = $thread.pop();$var54 = $thread.pop();$var34 = $thread.pop();$var53 = $thread.pop();$var44 = $thread.pop();$var37 = $thread.pop();$var35
            = $thread.pop();$var33 = $thread.pop();var$34 = $thread.pop();$var32 = $thread.pop();$var31 = $thread.pop();$var29 = $thread.pop();$var27 = $thread.pop();var$29 = $thread.pop();var$28 = $thread.pop();var$27 = $thread.pop();var$26 = $thread.pop();$var39 = $thread.pop();var$24 = $thread.pop();$var26 = $thread.pop();$var25 = $thread.pop();$var52 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var19 = $thread.pop();var$15 = $thread.pop();$var17
            = $thread.pop();var$13 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$13 = $var1 * 16 | 0;
            $var17 = var$13 + 8 | 0;
            var$15 = $var2 * 16 | 0;
            $var19 = var$15 + 8 | 0;
            $var21 = 0.0;
            $var22 = 0.0;
            $var23 = ju_Random__init_1(ju_Random_nextLong($this.$rand7));
            if ($var14 <= 0) {
                $var24 = ($this.$field_1306_a * 16 | 0) - 16 | 0;
                $var14 = $var24 - ju_Random_nextInt($var23, $var24 / 4 | 0) | 0;
            }
            $var52 = 0;
            if ($var13 == (-1)) {
                $var13 = $var14 / 2 | 0;
                $var52 = 1;
            }
            $var25 = ju_Random_nextInt($var23, $var14 / 2 | 0) + ($var14 / 4 | 0) | 0;
            $var26 = ju_Random_nextInt($var23, 6) ? 0 : 1;
            var$24 = $rt_compare($var10, 1.0);
            $var39 = $var10 + 2.0 + 16.0;
            var$26 = $var39 * $var39;
            var$27 = $var17 - 16.0;
            $var39 = $var19 - 16.0;
            var$28 = $var17 + 16.0;
            var$29 = $var19 + 16.0;
            a: {
                while (true) {
                    if ($var13 >= $var14)
                        break a;
                    $var27 = 1.5 + nms_MathHelper_sin($var13 * 3.1415927410125732 / $var14) * $var10 * 1.0;
                    $var29 = $var27 * $var15;
                    $var31 = nms_MathHelper_cos($var12);
                    $var32 = nms_MathHelper_sin($var12);
                    $var4 = $var4 + nms_MathHelper_cos($var11) * $var31;
                    $var6 = $var6 + $var32;
                    $var8 = $var8 + nms_MathHelper_sin($var11) * $var31;
                    $var12 = (!$var26 ? $var12 * 0.699999988079071 : $var12 * 0.9200000166893005) + $var22 * 0.10000000149011612;
                    $var11 = $var11 + $var21 * 0.10000000149011612;
                    var$34 = $var22 * 0.8999999761581421;
                    $var21 = $var21 * 0.75;
                    $var22 = var$34 + (ju_Random_nextFloat($var23) - ju_Random_nextFloat($var23)) * ju_Random_nextFloat($var23) * 2.0;
                    $var21 = $var21 + (ju_Random_nextFloat($var23) - ju_Random_nextFloat($var23)) * ju_Random_nextFloat($var23) * 4.0;
                    if (!$var52 && $var13 == $var25 && var$24 > 0) {
                        var$34 = ju_Random_nextFloat($var23) * 0.5 + 0.5;
                        $var22 = $var11 - 1.5707963705062866;
                        $var21 = $var12 / 3.0;
                        $var15 = 1.0;
                        $ptr = 1;
                        continue main;
                    }
                    if (!(!$var52 && !ju_Random_nextInt($var23, 4))) {
                        $var33 = $var4 - $var17;
                        $var35 = $var8 - $var19;
                        $var37 = $var14 - $var13 | 0;
                        if ($var33 * $var33 + $var35 * $var35 - $var37 * $var37 > var$26)
                            break;
                        $var44 = $var27 * 2.0;
                        if ($var4 >= var$27 - $var44 && $var8 >= $var39 - $var44 && $var4 <= var$28 + $var44 && $var8 <= var$29 + $var44) {
                            $var53 = (nms_MathHelper_floor_double($var4 - $var27) - var$13 | 0) - 1 | 0;
                            $var34 = (nms_MathHelper_floor_double($var4 + $var27) - var$13 | 0) + 1 | 0;
                            $var54 = nms_MathHelper_floor_double($var6 - $var29) - 1 | 0;
                            $var36 = nms_MathHelper_floor_double($var6 + $var29) + 1 | 0;
                            $var55 = (nms_MathHelper_floor_double($var8 - $var27) - var$15 | 0) - 1 | 0;
                            $var38 = (nms_MathHelper_floor_double($var8 + $var27) - var$15 | 0) + 1 | 0;
                            if ($var53 < 0)
                                $var53 = 0;
                            if ($var34 > 16)
                                $var34 = 16;
                            if ($var54 < 1)
                                $var54 = 1;
                            if ($var36 > 120)
                                $var36 = 120;
                            if ($var55 < 0)
                                $var55 = 0;
                            if ($var38 > 16)
                                $var38 = 16;
                            $var56 = 0;
                            $var40 = $var53;
                            while (!$var56 && $var40 < $var34) {
                                $var41 = $var55;
                                while (!$var56 && $var41 < $var38) {
                                    $var42 = $var36 + 1 | 0;
                                    while (!$var56) {
                                        $var43 = $rt_compare($var42, $var54 - 1 | 0);
                                        if ($var43 < 0)
                                            break;
                                        $var43_0 = ((($var40 * 16 | 0) + $var41 | 0) * 128 | 0) + $var42 | 0;
                                        if ($var42 >= 0 && $var42 < 128) {
                                            var$51 = $var3.data;
                                            $var51 = var$51[$var43_0];
                                            $ptr = 3;
                                            continue main;
                                        }
                                        $var42 = $var42 + (-1) | 0;
                                    }
                                    $var41 = $var41 + 1 | 0;
                                }
                                $var40 = $var40 + 1 | 0;
                            }
                            if (!$var56) {
                                while ($var53 < $var34) {
                                    $var57 = (($var53 + var$13 | 0) + 0.5 - $var4) / $var27;
                                    $var33 = $var57 * $var57;
                                    $var43 = $var55;
                                    while ($var43 < $var38) {
                                        b: {
                                            $var44 = (($var43 + var$15 | 0) + 0.5 - $var8) / $var27;
                                            $var46 = ((($var53 * 16 | 0) + $var43 | 0) * 128 | 0) + $var36 | 0;
                                            $var47 = 0;
                                            $var57 = $var44 * $var44;
                                            if ($var33 + $var57 < 1.0) {
                                                $var48 = $var36 - 1 | 0;
                                                while (true) {
                                                    if ($var48 < $var54)
                                                        break b;
                                                    $var49 = ($var48 + 0.5 - $var6) / $var29;
                                                    if ($var49 > (-0.7) && $var33 + $var49 * $var49 + $var57 < 1.0) {
                                                        var$51 = $var3.data;
                                                        $var51 = var$51[$var46];
                                                        $ptr = 4;
                                                        continue main;
                                                    }
                                                    $var46 = $var46 + (-1) | 0;
                                                    $var48 = $var48 + (-1) | 0;
                                                }
                                            }
                                        }
                                        $var43 = $var43 + 1 | 0;
                                    }
                                    $var53 = $var53 + 1 | 0;
                                }
                                if ($var52)
                                    break a;
                            }
                        }
                    }
                    $var13 = $var13 + 1 | 0;
                }
                return;
            }
            return;
        case 1:
            nms_MapGenCaves_releaseEntitySkin($this, $var1, $var2, $var3, $var4, $var6, $var8, var$34, $var22, $var21, $var13, $var14, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = ju_Random_nextFloat($var23) * 0.5 + 0.5;
            $var11 = $var11 + 1.5707963705062866;
            $var15 = 1.0;
            $ptr = 2;
        case 2:
            nms_MapGenCaves_releaseEntitySkin($this, $var1, $var2, $var3, $var4, $var6, $var8, $var10, $var11, $var21, $var13, $var14, $var15);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!($var51 != nms_Block_waterMoving.$blockID && var$51[$var43_0] != nms_Block_waterStill.$blockID))
                $var56 = 1;
            if ($var43 && $var40 != $var53 && $var40 != ($var34 - 1 | 0) && $var41 != $var55 && $var41 != ($var38 - 1 | 0))
                $var42 = $var54;
            c: {
                d: while (true) {
                    $var42 = $var42 + (-1) | 0;
                    while (true) {
                        if (!$var56) {
                            $var43 = $rt_compare($var42, $var54 - 1 | 0);
                            if ($var43 >= 0)
                                break;
                        }
                        $var41 = $var41 + 1 | 0;
                        while (!(!$var56 && $var41 < $var38)) {
                            $var40 = $var40 + 1 | 0;
                            while (!(!$var56 && $var40 < $var34)) {
                                if (!$var56) {
                                    while ($var53 < $var34) {
                                        $var57 = (($var53 + var$13 | 0) + 0.5 - $var4) / $var27;
                                        $var33 = $var57 * $var57;
                                        $var43 = $var55;
                                        while ($var43 < $var38) {
                                            e: {
                                                $var44 = (($var43 + var$15 | 0) + 0.5 - $var8) / $var27;
                                                $var46 = ((($var53 * 16 | 0) + $var43 | 0) * 128 | 0) + $var36 | 0;
                                                $var47 = 0;
                                                $var57 = $var44 * $var44;
                                                if ($var33 + $var57 < 1.0) {
                                                    $var48 = $var36 - 1 | 0;
                                                    while (true) {
                                                        if ($var48 < $var54)
                                                            break e;
                                                        $var49 = ($var48 + 0.5 - $var6) / $var29;
                                                        if ($var49 > (-0.7) && $var33 + $var49 * $var49 + $var57 < 1.0) {
                                                            var$51 = $var3.data;
                                                            $var51 = var$51[$var46];
                                                            $ptr = 4;
                                                            continue main;
                                                        }
                                                        $var46 = $var46 + (-1) | 0;
                                                        $var48 = $var48 + (-1) | 0;
                                                    }
                                                }
                                            }
                                            $var43 = $var43 + 1 | 0;
                                        }
                                        $var53 = $var53 + 1 | 0;
                                    }
                                    if ($var52)
                                        break c;
                                }
                                while (true) {
                                    $var13 = $var13 + 1 | 0;
                                    if ($var13 >= $var14)
                                        break c;
                                    $var27 = 1.5 + nms_MathHelper_sin($var13 * 3.1415927410125732 / $var14) * $var10 * 1.0;
                                    $var29 = $var27 * $var15;
                                    $var31 = nms_MathHelper_cos($var12);
                                    $var32 = nms_MathHelper_sin($var12);
                                    $var4 = $var4 + nms_MathHelper_cos($var11) * $var31;
                                    $var6 = $var6 + $var32;
                                    $var8 = $var8 + nms_MathHelper_sin($var11) * $var31;
                                    $var12 = (!$var26 ? $var12 * 0.699999988079071 : $var12 * 0.9200000166893005) + $var22 * 0.10000000149011612;
                                    $var11 = $var11 + $var21 * 0.10000000149011612;
                                    var$34 = $var22 * 0.8999999761581421;
                                    $var21 = $var21 * 0.75;
                                    $var22 = var$34 + (ju_Random_nextFloat($var23) - ju_Random_nextFloat($var23)) * ju_Random_nextFloat($var23) * 2.0;
                                    $var21 = $var21 + (ju_Random_nextFloat($var23) - ju_Random_nextFloat($var23)) * ju_Random_nextFloat($var23) * 4.0;
                                    if (!$var52 && $var13 == $var25 && var$24 > 0) {
                                        var$34 = ju_Random_nextFloat($var23) * 0.5 + 0.5;
                                        $var22 = $var11 - 1.5707963705062866;
                                        $var21 = $var12 / 3.0;
                                        $var15 = 1.0;
                                        $ptr = 1;
                                        continue main;
                                    }
                                    if (!$var52 && !ju_Random_nextInt($var23, 4))
                                        continue;
                                    $var33 = $var4 - $var17;
                                    $var35 = $var8 - $var19;
                                    $var37 = $var14 - $var13 | 0;
                                    if ($var33 * $var33 + $var35 * $var35 - $var37 * $var37 > var$26)
                                        break d;
                                    $var44 = $var27 * 2.0;
                                    if ($var4 < var$27 - $var44)
                                        continue;
                                    if ($var8 < $var39 - $var44)
                                        continue;
                                    if ($var4 > var$28 + $var44)
                                        continue;
                                    if ($var8 > var$29 + $var44)
                                        continue;
                                    else
                                        break;
                                }
                                $var53 = (nms_MathHelper_floor_double($var4 - $var27) - var$13 | 0) - 1 | 0;
                                $var34 = (nms_MathHelper_floor_double($var4 + $var27) - var$13 | 0) + 1 | 0;
                                $var54 = nms_MathHelper_floor_double($var6 - $var29) - 1 | 0;
                                $var36 = nms_MathHelper_floor_double($var6 + $var29) + 1 | 0;
                                $var55 = (nms_MathHelper_floor_double($var8 - $var27) - var$15 | 0) - 1 | 0;
                                $var38 = (nms_MathHelper_floor_double($var8 + $var27) - var$15 | 0) + 1 | 0;
                                if ($var53 < 0)
                                    $var53 = 0;
                                if ($var34 > 16)
                                    $var34 = 16;
                                if ($var54 < 1)
                                    $var54 = 1;
                                if ($var36 > 120)
                                    $var36 = 120;
                                if ($var55 < 0)
                                    $var55 = 0;
                                if ($var38 > 16)
                                    $var38 = 16;
                                $var56 = 0;
                                $var40 = $var53;
                            }
                            $var41 = $var55;
                        }
                        $var42 = $var36 + 1 | 0;
                    }
                    $var43_0 = ((($var40 * 16 | 0) + $var41 | 0) * 128 | 0) + $var42 | 0;
                    if ($var42 < 0)
                        continue;
                    if ($var42 < 128) {
                        var$51 = $var3.data;
                        $var51 = var$51[$var43_0];
                        continue main;
                    }
                }
                return;
            }
            return;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var24 = nms_Block_grass.$blockID;
            $var43_0 = $rt_compare($var51, $var24);
            if (!$var43_0)
                $var47 = 1;
            if (!($var51 != nms_Block_stone.$blockID && $var51 != nms_Block_dirt.$blockID && $var43_0)) {
                if ($var48 < 10)
                    var$51[$var46] = nms_Block_lavaMoving.$blockID << 24 >> 24;
                else {
                    var$51[$var46] = 0;
                    if ($var47) {
                        $var51 = $var46 - 1 | 0;
                        if (var$51[$var51] == nms_Block_dirt.$blockID)
                            var$51[$var51] = $var24 << 24 >> 24;
                    }
                }
            }
            f: {
                g: while (true) {
                    $var46 = $var46 + (-1) | 0;
                    $var48 = $var48 + (-1) | 0;
                    while ($var48 < $var54) {
                        while (true) {
                            $var43 = $var43 + 1 | 0;
                            while ($var43 >= $var38) {
                                $var53 = $var53 + 1 | 0;
                                while ($var53 >= $var34) {
                                    if ($var52)
                                        break f;
                                    while (true) {
                                        $var13 = $var13 + 1 | 0;
                                        if ($var13 >= $var14)
                                            break f;
                                        $var27 = 1.5 + nms_MathHelper_sin($var13 * 3.1415927410125732 / $var14) * $var10 * 1.0;
                                        $var29 = $var27 * $var15;
                                        $var31 = nms_MathHelper_cos($var12);
                                        $var32 = nms_MathHelper_sin($var12);
                                        $var4 = $var4 + nms_MathHelper_cos($var11) * $var31;
                                        $var6 = $var6 + $var32;
                                        $var8 = $var8 + nms_MathHelper_sin($var11) * $var31;
                                        $var12 = (!$var26 ? $var12 * 0.699999988079071 : $var12 * 0.9200000166893005) + $var22 * 0.10000000149011612;
                                        $var11 = $var11 + $var21 * 0.10000000149011612;
                                        var$34 = $var22 * 0.8999999761581421;
                                        $var21 = $var21 * 0.75;
                                        $var22 = var$34 + (ju_Random_nextFloat($var23) - ju_Random_nextFloat($var23)) * ju_Random_nextFloat($var23) * 2.0;
                                        $var21 = $var21 + (ju_Random_nextFloat($var23) - ju_Random_nextFloat($var23)) * ju_Random_nextFloat($var23) * 4.0;
                                        if (!$var52 && $var13 == $var25 && var$24 > 0) {
                                            var$34 = ju_Random_nextFloat($var23) * 0.5 + 0.5;
                                            $var22 = $var11 - 1.5707963705062866;
                                            $var21 = $var12 / 3.0;
                                            $var15 = 1.0;
                                            $ptr = 1;
                                            continue main;
                                        }
                                        if (!$var52 && !ju_Random_nextInt($var23, 4))
                                            continue;
                                        $var33 = $var4 - $var17;
                                        $var35 = $var8 - $var19;
                                        $var37 = $var14 - $var13 | 0;
                                        if ($var33 * $var33 + $var35 * $var35 - $var37 * $var37 > var$26)
                                            break g;
                                        $var44 = $var27 * 2.0;
                                        if ($var4 < var$27 - $var44)
                                            continue;
                                        if ($var8 < $var39 - $var44)
                                            continue;
                                        if ($var4 > var$28 + $var44)
                                            continue;
                                        if ($var8 > var$29 + $var44)
                                            continue;
                                        $var53 = (nms_MathHelper_floor_double($var4 - $var27) - var$13 | 0) - 1 | 0;
                                        $var34 = (nms_MathHelper_floor_double($var4 + $var27) - var$13 | 0) + 1 | 0;
                                        $var54 = nms_MathHelper_floor_double($var6 - $var29) - 1 | 0;
                                        $var36 = nms_MathHelper_floor_double($var6 + $var29) + 1 | 0;
                                        $var55 = (nms_MathHelper_floor_double($var8 - $var27) - var$15 | 0) - 1 | 0;
                                        $var38 = (nms_MathHelper_floor_double($var8 + $var27) - var$15 | 0) + 1 | 0;
                                        if ($var53 < 0)
                                            $var53 = 0;
                                        if ($var34 > 16)
                                            $var34 = 16;
                                        if ($var54 < 1)
                                            $var54 = 1;
                                        if ($var36 > 120)
                                            $var36 = 120;
                                        if ($var55 < 0)
                                            $var55 = 0;
                                        if ($var38 > 16)
                                            $var38 = 16;
                                        $var56 = 0;
                                        $var40 = $var53;
                                        while (!$var56 && $var40 < $var34) {
                                            $var41 = $var55;
                                            while (!$var56 && $var41 < $var38) {
                                                $var42 = $var36 + 1 | 0;
                                                while (!$var56) {
                                                    $var43 = $rt_compare($var42, $var54 - 1 | 0);
                                                    if ($var43 < 0)
                                                        break;
                                                    $var43_0 = ((($var40 * 16 | 0) + $var41 | 0) * 128 | 0) + $var42 | 0;
                                                    if ($var42 >= 0 && $var42 < 128) {
                                                        var$51 = $var3.data;
                                                        $var51 = var$51[$var43_0];
                                                        $ptr = 3;
                                                        continue main;
                                                    }
                                                    $var42 = $var42 + (-1) | 0;
                                                }
                                                $var41 = $var41 + 1 | 0;
                                            }
                                            $var40 = $var40 + 1 | 0;
                                        }
                                        if ($var56)
                                            continue;
                                        else
                                            break;
                                    }
                                }
                                $var57 = (($var53 + var$13 | 0) + 0.5 - $var4) / $var27;
                                $var33 = $var57 * $var57;
                                $var43 = $var55;
                            }
                            $var44 = (($var43 + var$15 | 0) + 0.5 - $var8) / $var27;
                            $var46 = ((($var53 * 16 | 0) + $var43 | 0) * 128 | 0) + $var36 | 0;
                            $var47 = 0;
                            $var57 = $var44 * $var44;
                            if ($var33 + $var57 >= 1.0)
                                continue;
                            else
                                break;
                        }
                        $var48 = $var36 - 1 | 0;
                    }
                    $var49 = ($var48 + 0.5 - $var6) / $var29;
                    if ($var49 <= (-0.7))
                        continue;
                    if ($var33 + $var49 * $var49 + $var57 < 1.0) {
                        var$51 = $var3.data;
                        $var51 = var$51[$var46];
                        continue main;
                    }
                }
                return;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var6, $var8, $var10, $var11, $var12, $var13, $var14, $var15, var$13, $var17, var$15, $var19, $var21, $var22, $var23, $var24, $var52, $var25, $var26, var$24, $var39, var$26, var$27, var$28, var$29, $var27, $var29, $var31, $var32, var$34, $var33, $var35, $var37, $var44, $var53, $var34, $var54, $var36, $var55, $var38, $var56, $var40, $var41, $var42, $var43, $var43_0, var$51, $var51, $var57, $var46, $var47, $var48, $var49, $ptr);
    }
    function nms_MapGenCaves_func_868_a($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var7, $var8, var$9, var$10, $var9, $var11, $var13, $var15, $var18, $var19, var$17, var$18, $var16, $var17, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $this.$rand7;
            $var7 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, ju_Random_nextInt($var1, 40) + 1 | 0) + 1 | 0);
            if (ju_Random_nextInt($this.$rand7, 15))
                $var7 = 0;
            $var8 = 0;
            var$9 = $var2 * 16 | 0;
            var$10 = $var3 * 16 | 0;
            while ($var8 < $var7) {
                $var9 = var$9 + ju_Random_nextInt($this.$rand7, 16) | 0;
                $var1 = $this.$rand7;
                $var11 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 120) + 8 | 0);
                $var13 = var$10 + ju_Random_nextInt($this.$rand7, 16) | 0;
                $var15 = 1;
                if (!ju_Random_nextInt($this.$rand7, 4)) {
                    $var18 = 1.0 + ju_Random_nextFloat($this.$rand7) * 6.0;
                    $var19 = 0.0;
                    var$17 = 0.0;
                    $var2 = (-1);
                    $var3 = (-1);
                    var$18 = 0.5;
                    $ptr = 1;
                    continue main;
                }
                $var16 = 0;
                if ($var16 < $var15) {
                    $var17 = ju_Random_nextFloat($this.$rand7) * 3.1415927410125732 * 2.0;
                    $var18 = (ju_Random_nextFloat($this.$rand7) - 0.5) * 2.0 / 8.0;
                    $var19 = ju_Random_nextFloat($this.$rand7) * 2.0 + ju_Random_nextFloat($this.$rand7);
                    $var2 = 0;
                    $var3 = 0;
                    var$18 = 1.0;
                    $ptr = 2;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
            }
            return;
        case 1:
            nms_MapGenCaves_releaseEntitySkin($this, $var4, $var5, $var6, $var9, $var11, $var13, $var18, $var19, var$17, $var2, $var3, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $var15 + ju_Random_nextInt($this.$rand7, 4) | 0;
            while (true) {
                $var16 = 0;
                if ($var16 < $var15) {
                    $var17 = ju_Random_nextFloat($this.$rand7) * 3.1415927410125732 * 2.0;
                    $var18 = (ju_Random_nextFloat($this.$rand7) - 0.5) * 2.0 / 8.0;
                    $var19 = ju_Random_nextFloat($this.$rand7) * 2.0 + ju_Random_nextFloat($this.$rand7);
                    $var2 = 0;
                    $var3 = 0;
                    var$18 = 1.0;
                    $ptr = 2;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
                if ($var8 >= $var7)
                    break;
                $var9 = var$9 + ju_Random_nextInt($this.$rand7, 16) | 0;
                $var1 = $this.$rand7;
                $var11 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 120) + 8 | 0);
                $var13 = var$10 + ju_Random_nextInt($this.$rand7, 16) | 0;
                $var15 = 1;
                if (!ju_Random_nextInt($this.$rand7, 4)) {
                    $var18 = 1.0 + ju_Random_nextFloat($this.$rand7) * 6.0;
                    $var19 = 0.0;
                    var$17 = 0.0;
                    $var2 = (-1);
                    $var3 = (-1);
                    var$18 = 0.5;
                    continue main;
                }
            }
            return;
        case 2:
            nms_MapGenCaves_releaseEntitySkin($this, $var4, $var5, $var6, $var9, $var11, $var13, $var19, $var17, $var18, $var2, $var3, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $var16 + 1 | 0;
            while (true) {
                if ($var16 < $var15) {
                    $var17 = ju_Random_nextFloat($this.$rand7) * 3.1415927410125732 * 2.0;
                    $var18 = (ju_Random_nextFloat($this.$rand7) - 0.5) * 2.0 / 8.0;
                    $var19 = ju_Random_nextFloat($this.$rand7) * 2.0 + ju_Random_nextFloat($this.$rand7);
                    $var2 = 0;
                    $var3 = 0;
                    var$18 = 1.0;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
                if ($var8 >= $var7)
                    break;
                $var9 = var$9 + ju_Random_nextInt($this.$rand7, 16) | 0;
                $var1 = $this.$rand7;
                $var11 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, 120) + 8 | 0);
                $var13 = var$10 + ju_Random_nextInt($this.$rand7, 16) | 0;
                $var15 = 1;
                if (!ju_Random_nextInt($this.$rand7, 4)) {
                    $var18 = 1.0 + ju_Random_nextFloat($this.$rand7) * 6.0;
                    $var19 = 0.0;
                    var$17 = 0.0;
                    $var2 = (-1);
                    $var3 = (-1);
                    var$18 = 0.5;
                    $ptr = 1;
                    continue main;
                }
                $var16 = 0;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, var$9, var$10, $var9, $var11, $var13, $var15, $var18, $var19, var$17, var$18, $var16, $var17, $ptr);
    }
    function nms_NoiseGeneratorOctaves() {
        var a = this; nms_NoiseGenerator.call(a);
        a.$generatorCollection = null;
        a.$field_1191_b = 0;
    }
    function nms_NoiseGeneratorOctaves__init_0(var_0, var_1) {
        var var_2 = new nms_NoiseGeneratorOctaves();
        nms_NoiseGeneratorOctaves__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_NoiseGeneratorOctaves__init_($this, $var1, $var2) {
        var $var3;
        $this.$field_1191_b = $var2;
        $this.$generatorCollection = $rt_createArray(nms_NoiseGeneratorPerlin, $var2);
        $var3 = 0;
        while ($var3 < $var2) {
            $this.$generatorCollection.data[$var3] = nms_NoiseGeneratorPerlin__init_1($var1);
            $var3 = $var3 + 1 | 0;
        }
    }
    function nms_NoiseGeneratorOctaves_func_806_a($this, $var1, $var3) {
        var $var5, $var7, $var9;
        $var5 = 0.0;
        $var7 = 1.0;
        $var9 = 0;
        while ($var9 < $this.$field_1191_b) {
            $var5 = $var5 + nms_NoiseGeneratorPerlin_generateNoise($this.$generatorCollection.data[$var9], $var1 * $var7, $var3 * $var7, 0.0) / $var7;
            $var7 = $var7 / 2.0;
            $var9 = $var9 + 1 | 0;
        }
        return $var5;
    }
    function nms_NoiseGeneratorOctaves_generateNoiseOctaves($this, $var1, $var2, $var4, $var6, $var8, $var9, $var10, $var11, $var13, $var15) {
        var $var17, var$12, $var20, $var19;
        if ($var1 === null)
            $var1 = $rt_createDoubleArray($rt_imul($rt_imul($var8, $var9), $var10));
        else {
            $var17 = 0;
            while (true) {
                var$12 = $var1.data;
                if ($var17 >= var$12.length)
                    break;
                var$12[$var17] = 0.0;
                $var17 = $var17 + 1 | 0;
            }
        }
        $var20 = 1.0;
        $var19 = 0;
        while ($var19 < $this.$field_1191_b) {
            nms_NoiseGeneratorPerlin_func_805_a($this.$generatorCollection.data[$var19], $var1, $var2, $var4, $var6, $var8, $var9, $var10, $var11 * $var20, $var13 * $var20, $var15 * $var20, $var20);
            $var20 = $var20 / 2.0;
            $var19 = $var19 + 1 | 0;
        }
        return $var1;
    }
    function nms_NoiseGeneratorOctaves_func_4109_a($this, $var1, $var2, $var3, $var4, $var5, $var6, $var8, $var10) {
        return nms_NoiseGeneratorOctaves_generateNoiseOctaves($this, $var1, $var2, 10.0, $var3, $var4, 1, $var5, $var6, 1.0, $var8);
    }
    var nms_MapGenCavesHell = $rt_classWithoutFields(nms_MapGenBase);
    function nms_MapGenCavesHell__init_0() {
        var var_0 = new nms_MapGenCavesHell();
        nms_MapGenCavesHell__init_(var_0);
        return var_0;
    }
    function nms_MapGenCavesHell__init_($this) {
        nms_MapGenBase__init_($this);
    }
    function nms_MapGenCavesHell_func_4128_a($this, $var1, $var2, $var3, $var4, $var6, $var8, $var10, $var11, $var12, $var13, $var14, $var15) {
        var var$13, $var17, var$15, $var19, $var21, $var22, $var23, $var24, $var51, $var25, $var26, $var39, var$25, var$26, var$27, var$28, $var27, $var29, $var31, $var32, var$33, $var33, $var35, $var37, $var48, $var52, $var34, $var53, $var36, $var54, $var38, $var55, $var40, $var41, $var42, $var50, $var43, var$50, $var47, $var56, $var44, $var46, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var46 = $thread.pop();$var44 = $thread.pop();$var56 = $thread.pop();$var47 = $thread.pop();var$50 = $thread.pop();$var43 = $thread.pop();$var50 = $thread.pop();$var42 = $thread.pop();$var41 = $thread.pop();$var40 = $thread.pop();$var55 = $thread.pop();$var38 = $thread.pop();$var54 = $thread.pop();$var36 = $thread.pop();$var53 = $thread.pop();$var34 = $thread.pop();$var52 = $thread.pop();$var48 = $thread.pop();$var37 = $thread.pop();$var35 = $thread.pop();$var33 = $thread.pop();var$33
            = $thread.pop();$var32 = $thread.pop();$var31 = $thread.pop();$var29 = $thread.pop();$var27 = $thread.pop();var$28 = $thread.pop();var$27 = $thread.pop();var$26 = $thread.pop();var$25 = $thread.pop();$var39 = $thread.pop();$var26 = $thread.pop();$var25 = $thread.pop();$var51 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var19 = $thread.pop();var$15 = $thread.pop();$var17 = $thread.pop();var$13 = $thread.pop();$var15 = $thread.pop();$var14
            = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$13 = $var1 * 16 | 0;
            $var17 = var$13 + 8 | 0;
            var$15 = $var2 * 16 | 0;
            $var19 = var$15 + 8 | 0;
            $var21 = 0.0;
            $var22 = 0.0;
            $var23 = ju_Random__init_1(ju_Random_nextLong($this.$rand7));
            if ($var14 <= 0) {
                $var24 = ($this.$field_1306_a * 16 | 0) - 16 | 0;
                $var14 = $var24 - ju_Random_nextInt($var23, $var24 / 4 | 0) | 0;
            }
            $var51 = 0;
            if ($var13 == (-1)) {
                $var13 = $var14 / 2 | 0;
                $var51 = 1;
            }
            $var25 = ju_Random_nextInt($var23, $var14 / 2 | 0) + ($var14 / 4 | 0) | 0;
            $var26 = ju_Random_nextInt($var23, 6) ? 0 : 1;
            $var24 = $rt_compare($var10, 1.0);
            $var39 = $var10 + 2.0 + 16.0;
            $var39 = $var39 * $var39;
            var$25 = $var17 - 16.0;
            var$26 = $var19 - 16.0;
            var$27 = $var17 + 16.0;
            var$28 = $var19 + 16.0;
            a: {
                while (true) {
                    if ($var13 >= $var14)
                        break a;
                    $var27 = 1.5 + nms_MathHelper_sin($var13 * 3.1415927410125732 / $var14) * $var10 * 1.0;
                    $var29 = $var27 * $var15;
                    $var31 = nms_MathHelper_cos($var12);
                    $var32 = nms_MathHelper_sin($var12);
                    $var4 = $var4 + nms_MathHelper_cos($var11) * $var31;
                    $var6 = $var6 + $var32;
                    $var8 = $var8 + nms_MathHelper_sin($var11) * $var31;
                    $var12 = (!$var26 ? $var12 * 0.699999988079071 : $var12 * 0.9200000166893005) + $var22 * 0.10000000149011612;
                    $var11 = $var11 + $var21 * 0.10000000149011612;
                    var$33 = $var22 * 0.8999999761581421;
                    $var31 = $var21 * 0.75;
                    $var22 = var$33 + (ju_Random_nextFloat($var23) - ju_Random_nextFloat($var23)) * ju_Random_nextFloat($var23) * 2.0;
                    $var21 = $var31 + (ju_Random_nextFloat($var23) - ju_Random_nextFloat($var23)) * ju_Random_nextFloat($var23) * 4.0;
                    if (!$var51 && $var13 == $var25 && $var24 > 0) {
                        $var10 = ju_Random_nextFloat($var23) * 0.5 + 0.5;
                        var$33 = $var11 - 1.5707963705062866;
                        $var12 = $var12 / 3.0;
                        $var15 = 1.0;
                        $ptr = 1;
                        continue main;
                    }
                    if (!(!$var51 && !ju_Random_nextInt($var23, 4))) {
                        $var33 = $var4 - $var17;
                        $var35 = $var8 - $var19;
                        $var37 = $var14 - $var13 | 0;
                        if ($var33 * $var33 + $var35 * $var35 - $var37 * $var37 > $var39)
                            break;
                        $var48 = $var27 * 2.0;
                        if ($var4 >= var$25 - $var48 && $var8 >= var$26 - $var48 && $var4 <= var$27 + $var48 && $var8 <= var$28 + $var48) {
                            $var52 = (nms_MathHelper_floor_double($var4 - $var27) - var$13 | 0) - 1 | 0;
                            $var34 = (nms_MathHelper_floor_double($var4 + $var27) - var$13 | 0) + 1 | 0;
                            $var53 = nms_MathHelper_floor_double($var6 - $var29) - 1 | 0;
                            $var36 = nms_MathHelper_floor_double($var6 + $var29) + 1 | 0;
                            $var54 = (nms_MathHelper_floor_double($var8 - $var27) - var$15 | 0) - 1 | 0;
                            $var38 = (nms_MathHelper_floor_double($var8 + $var27) - var$15 | 0) + 1 | 0;
                            if ($var52 < 0)
                                $var52 = 0;
                            if ($var34 > 16)
                                $var34 = 16;
                            if ($var53 < 1)
                                $var53 = 1;
                            if ($var36 > 120)
                                $var36 = 120;
                            if ($var54 < 0)
                                $var54 = 0;
                            if ($var38 > 16)
                                $var38 = 16;
                            $var55 = 0;
                            $var40 = $var52;
                            while (!$var55 && $var40 < $var34) {
                                $var41 = $var54;
                                while (!$var55 && $var41 < $var38) {
                                    $var42 = $var36 + 1 | 0;
                                    while (!$var55) {
                                        $var50 = $rt_compare($var42, $var53 - 1 | 0);
                                        if ($var50 < 0)
                                            break;
                                        $var43 = ((($var40 * 16 | 0) + $var41 | 0) * 128 | 0) + $var42 | 0;
                                        if ($var42 >= 0 && $var42 < 128) {
                                            var$50 = $var3.data;
                                            $var47 = var$50[$var43];
                                            $ptr = 4;
                                            continue main;
                                        }
                                        $var42 = $var42 + (-1) | 0;
                                    }
                                    $var41 = $var41 + 1 | 0;
                                }
                                $var40 = $var40 + 1 | 0;
                            }
                            if (!$var55) {
                                while ($var52 < $var34) {
                                    $var56 = (($var52 + var$13 | 0) + 0.5 - $var4) / $var27;
                                    $var33 = $var56 * $var56;
                                    $var43 = $var54;
                                    while ($var43 < $var38) {
                                        $var44 = (($var43 + var$15 | 0) + 0.5 - $var8) / $var27;
                                        $var46 = ((($var52 * 16 | 0) + $var43 | 0) * 128 | 0) + $var36 | 0;
                                        $var47 = $var36 - 1 | 0;
                                        $var56 = $var44 * $var44;
                                        while ($var47 >= $var53) {
                                            $var48 = ($var47 + 0.5 - $var6) / $var29;
                                            if ($var48 > (-0.7) && $var33 + $var48 * $var48 + $var56 < 1.0) {
                                                var$50 = $var3.data;
                                                $var50 = var$50[$var46];
                                                $ptr = 3;
                                                continue main;
                                            }
                                            $var46 = $var46 + (-1) | 0;
                                            $var47 = $var47 + (-1) | 0;
                                        }
                                        $var43 = $var43 + 1 | 0;
                                    }
                                    $var52 = $var52 + 1 | 0;
                                }
                                if ($var51)
                                    break a;
                            }
                        }
                    }
                    $var13 = $var13 + 1 | 0;
                }
                return;
            }
            return;
        case 1:
            nms_MapGenCavesHell_func_4128_a($this, $var1, $var2, $var3, $var4, $var6, $var8, $var10, var$33, $var12, $var13, $var14, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = ju_Random_nextFloat($var23) * 0.5 + 0.5;
            $var11 = $var11 + 1.5707963705062866;
            $var15 = 1.0;
            $ptr = 2;
        case 2:
            nms_MapGenCavesHell_func_4128_a($this, $var1, $var2, $var3, $var4, $var6, $var8, $var10, $var11, $var12, $var13, $var14, $var15);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!($var50 != nms_Block_bloodStone.$blockID && $var50 != nms_Block_dirt.$blockID && $var50 != nms_Block_grass.$blockID))
                var$50[$var46] = 0;
            b: {
                c: while (true) {
                    $var46 = $var46 + (-1) | 0;
                    $var47 = $var47 + (-1) | 0;
                    while ($var47 < $var53) {
                        $var43 = $var43 + 1 | 0;
                        while ($var43 >= $var38) {
                            $var52 = $var52 + 1 | 0;
                            while ($var52 >= $var34) {
                                if ($var51)
                                    break b;
                                while (true) {
                                    $var13 = $var13 + 1 | 0;
                                    if ($var13 >= $var14)
                                        break b;
                                    $var27 = 1.5 + nms_MathHelper_sin($var13 * 3.1415927410125732 / $var14) * $var10 * 1.0;
                                    $var29 = $var27 * $var15;
                                    $var31 = nms_MathHelper_cos($var12);
                                    $var32 = nms_MathHelper_sin($var12);
                                    $var4 = $var4 + nms_MathHelper_cos($var11) * $var31;
                                    $var6 = $var6 + $var32;
                                    $var8 = $var8 + nms_MathHelper_sin($var11) * $var31;
                                    $var12 = (!$var26 ? $var12 * 0.699999988079071 : $var12 * 0.9200000166893005) + $var22 * 0.10000000149011612;
                                    $var11 = $var11 + $var21 * 0.10000000149011612;
                                    var$33 = $var22 * 0.8999999761581421;
                                    $var31 = $var21 * 0.75;
                                    $var22 = var$33 + (ju_Random_nextFloat($var23) - ju_Random_nextFloat($var23)) * ju_Random_nextFloat($var23) * 2.0;
                                    $var21 = $var31 + (ju_Random_nextFloat($var23) - ju_Random_nextFloat($var23)) * ju_Random_nextFloat($var23) * 4.0;
                                    if (!$var51 && $var13 == $var25 && $var24 > 0) {
                                        $var10 = ju_Random_nextFloat($var23) * 0.5 + 0.5;
                                        var$33 = $var11 - 1.5707963705062866;
                                        $var12 = $var12 / 3.0;
                                        $var15 = 1.0;
                                        $ptr = 1;
                                        continue main;
                                    }
                                    if (!$var51 && !ju_Random_nextInt($var23, 4))
                                        continue;
                                    $var33 = $var4 - $var17;
                                    $var35 = $var8 - $var19;
                                    $var37 = $var14 - $var13 | 0;
                                    if ($var33 * $var33 + $var35 * $var35 - $var37 * $var37 > $var39)
                                        break c;
                                    $var48 = $var27 * 2.0;
                                    if ($var4 < var$25 - $var48)
                                        continue;
                                    if ($var8 < var$26 - $var48)
                                        continue;
                                    if ($var4 > var$27 + $var48)
                                        continue;
                                    if ($var8 > var$28 + $var48)
                                        continue;
                                    $var52 = (nms_MathHelper_floor_double($var4 - $var27) - var$13 | 0) - 1 | 0;
                                    $var34 = (nms_MathHelper_floor_double($var4 + $var27) - var$13 | 0) + 1 | 0;
                                    $var53 = nms_MathHelper_floor_double($var6 - $var29) - 1 | 0;
                                    $var36 = nms_MathHelper_floor_double($var6 + $var29) + 1 | 0;
                                    $var54 = (nms_MathHelper_floor_double($var8 - $var27) - var$15 | 0) - 1 | 0;
                                    $var38 = (nms_MathHelper_floor_double($var8 + $var27) - var$15 | 0) + 1 | 0;
                                    if ($var52 < 0)
                                        $var52 = 0;
                                    if ($var34 > 16)
                                        $var34 = 16;
                                    if ($var53 < 1)
                                        $var53 = 1;
                                    if ($var36 > 120)
                                        $var36 = 120;
                                    if ($var54 < 0)
                                        $var54 = 0;
                                    if ($var38 > 16)
                                        $var38 = 16;
                                    $var55 = 0;
                                    $var40 = $var52;
                                    while (!$var55 && $var40 < $var34) {
                                        $var41 = $var54;
                                        while (!$var55 && $var41 < $var38) {
                                            $var42 = $var36 + 1 | 0;
                                            while (!$var55) {
                                                $var50 = $rt_compare($var42, $var53 - 1 | 0);
                                                if ($var50 < 0)
                                                    break;
                                                $var43 = ((($var40 * 16 | 0) + $var41 | 0) * 128 | 0) + $var42 | 0;
                                                if ($var42 >= 0 && $var42 < 128) {
                                                    var$50 = $var3.data;
                                                    $var47 = var$50[$var43];
                                                    $ptr = 4;
                                                    continue main;
                                                }
                                                $var42 = $var42 + (-1) | 0;
                                            }
                                            $var41 = $var41 + 1 | 0;
                                        }
                                        $var40 = $var40 + 1 | 0;
                                    }
                                    if ($var55)
                                        continue;
                                    else
                                        break;
                                }
                            }
                            $var56 = (($var52 + var$13 | 0) + 0.5 - $var4) / $var27;
                            $var33 = $var56 * $var56;
                            $var43 = $var54;
                        }
                        $var44 = (($var43 + var$15 | 0) + 0.5 - $var8) / $var27;
                        $var46 = ((($var52 * 16 | 0) + $var43 | 0) * 128 | 0) + $var36 | 0;
                        $var47 = $var36 - 1 | 0;
                        $var56 = $var44 * $var44;
                    }
                    $var48 = ($var47 + 0.5 - $var6) / $var29;
                    if ($var48 <= (-0.7))
                        continue;
                    if ($var33 + $var48 * $var48 + $var56 >= 1.0)
                        continue;
                    else {
                        var$50 = $var3.data;
                        $var50 = var$50[$var46];
                        continue main;
                    }
                }
                return;
            }
            return;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!($var47 != nms_Block_lavaMoving.$blockID && var$50[$var43] != nms_Block_lavaStill.$blockID))
                $var55 = 1;
            if ($var50 && $var40 != $var52 && $var40 != ($var34 - 1 | 0) && $var41 != $var54 && $var41 != ($var38 - 1 | 0))
                $var42 = $var53;
            d: {
                e: while (true) {
                    $var42 = $var42 + (-1) | 0;
                    while (true) {
                        if (!$var55) {
                            $var50 = $rt_compare($var42, $var53 - 1 | 0);
                            if ($var50 >= 0)
                                break;
                        }
                        $var41 = $var41 + 1 | 0;
                        while (!(!$var55 && $var41 < $var38)) {
                            $var40 = $var40 + 1 | 0;
                            while (!(!$var55 && $var40 < $var34)) {
                                if (!$var55) {
                                    while ($var52 < $var34) {
                                        $var56 = (($var52 + var$13 | 0) + 0.5 - $var4) / $var27;
                                        $var33 = $var56 * $var56;
                                        $var43 = $var54;
                                        while ($var43 < $var38) {
                                            $var44 = (($var43 + var$15 | 0) + 0.5 - $var8) / $var27;
                                            $var46 = ((($var52 * 16 | 0) + $var43 | 0) * 128 | 0) + $var36 | 0;
                                            $var47 = $var36 - 1 | 0;
                                            $var56 = $var44 * $var44;
                                            while ($var47 >= $var53) {
                                                $var48 = ($var47 + 0.5 - $var6) / $var29;
                                                if ($var48 > (-0.7) && $var33 + $var48 * $var48 + $var56 < 1.0) {
                                                    var$50 = $var3.data;
                                                    $var50 = var$50[$var46];
                                                    $ptr = 3;
                                                    continue main;
                                                }
                                                $var46 = $var46 + (-1) | 0;
                                                $var47 = $var47 + (-1) | 0;
                                            }
                                            $var43 = $var43 + 1 | 0;
                                        }
                                        $var52 = $var52 + 1 | 0;
                                    }
                                    if ($var51)
                                        break d;
                                }
                                while (true) {
                                    $var13 = $var13 + 1 | 0;
                                    if ($var13 >= $var14)
                                        break d;
                                    $var27 = 1.5 + nms_MathHelper_sin($var13 * 3.1415927410125732 / $var14) * $var10 * 1.0;
                                    $var29 = $var27 * $var15;
                                    $var31 = nms_MathHelper_cos($var12);
                                    $var32 = nms_MathHelper_sin($var12);
                                    $var4 = $var4 + nms_MathHelper_cos($var11) * $var31;
                                    $var6 = $var6 + $var32;
                                    $var8 = $var8 + nms_MathHelper_sin($var11) * $var31;
                                    $var12 = (!$var26 ? $var12 * 0.699999988079071 : $var12 * 0.9200000166893005) + $var22 * 0.10000000149011612;
                                    $var11 = $var11 + $var21 * 0.10000000149011612;
                                    var$33 = $var22 * 0.8999999761581421;
                                    $var31 = $var21 * 0.75;
                                    $var22 = var$33 + (ju_Random_nextFloat($var23) - ju_Random_nextFloat($var23)) * ju_Random_nextFloat($var23) * 2.0;
                                    $var21 = $var31 + (ju_Random_nextFloat($var23) - ju_Random_nextFloat($var23)) * ju_Random_nextFloat($var23) * 4.0;
                                    if (!$var51 && $var13 == $var25 && $var24 > 0) {
                                        $var10 = ju_Random_nextFloat($var23) * 0.5 + 0.5;
                                        var$33 = $var11 - 1.5707963705062866;
                                        $var12 = $var12 / 3.0;
                                        $var15 = 1.0;
                                        $ptr = 1;
                                        continue main;
                                    }
                                    if (!$var51 && !ju_Random_nextInt($var23, 4))
                                        continue;
                                    $var33 = $var4 - $var17;
                                    $var35 = $var8 - $var19;
                                    $var37 = $var14 - $var13 | 0;
                                    if ($var33 * $var33 + $var35 * $var35 - $var37 * $var37 > $var39)
                                        break e;
                                    $var48 = $var27 * 2.0;
                                    if ($var4 < var$25 - $var48)
                                        continue;
                                    if ($var8 < var$26 - $var48)
                                        continue;
                                    if ($var4 > var$27 + $var48)
                                        continue;
                                    if ($var8 > var$28 + $var48)
                                        continue;
                                    else
                                        break;
                                }
                                $var52 = (nms_MathHelper_floor_double($var4 - $var27) - var$13 | 0) - 1 | 0;
                                $var34 = (nms_MathHelper_floor_double($var4 + $var27) - var$13 | 0) + 1 | 0;
                                $var53 = nms_MathHelper_floor_double($var6 - $var29) - 1 | 0;
                                $var36 = nms_MathHelper_floor_double($var6 + $var29) + 1 | 0;
                                $var54 = (nms_MathHelper_floor_double($var8 - $var27) - var$15 | 0) - 1 | 0;
                                $var38 = (nms_MathHelper_floor_double($var8 + $var27) - var$15 | 0) + 1 | 0;
                                if ($var52 < 0)
                                    $var52 = 0;
                                if ($var34 > 16)
                                    $var34 = 16;
                                if ($var53 < 1)
                                    $var53 = 1;
                                if ($var36 > 120)
                                    $var36 = 120;
                                if ($var54 < 0)
                                    $var54 = 0;
                                if ($var38 > 16)
                                    $var38 = 16;
                                $var55 = 0;
                                $var40 = $var52;
                            }
                            $var41 = $var54;
                        }
                        $var42 = $var36 + 1 | 0;
                    }
                    $var43 = ((($var40 * 16 | 0) + $var41 | 0) * 128 | 0) + $var42 | 0;
                    if ($var42 < 0)
                        continue;
                    if ($var42 < 128) {
                        var$50 = $var3.data;
                        $var47 = var$50[$var43];
                        continue main;
                    }
                }
                return;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var6, $var8, $var10, $var11, $var12, $var13, $var14, $var15, var$13, $var17, var$15, $var19, $var21, $var22, $var23, $var24, $var51, $var25, $var26, $var39, var$25, var$26, var$27, var$28, $var27, $var29, $var31, $var32, var$33, $var33, $var35, $var37, $var48, $var52, $var34, $var53, $var36, $var54, $var38, $var55, $var40, $var41, $var42, $var50, $var43, var$50, $var47, $var56, $var44, $var46, $ptr);
    }
    function nms_MapGenCavesHell_func_868_a($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        var $var7, $var8, $var9, $var11, $var13, $var15, $var18, var$14, $var19, $var16, var$17, var$18, $var17, var$20, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$20 = $thread.pop();$var17 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();$var16 = $thread.pop();$var19 = $thread.pop();var$14 = $thread.pop();$var18 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $this.$rand7;
            $var7 = ju_Random_nextInt($var1, ju_Random_nextInt($var1, ju_Random_nextInt($var1, 10) + 1 | 0) + 1 | 0);
            if (ju_Random_nextInt($this.$rand7, 5))
                $var7 = 0;
            $var8 = 0;
            $var2 = $var2 * 16 | 0;
            $var3 = $var3 * 16 | 0;
            while ($var8 < $var7) {
                $var9 = $var2 + ju_Random_nextInt($this.$rand7, 16) | 0;
                $var11 = ju_Random_nextInt($this.$rand7, 128);
                $var13 = $var3 + ju_Random_nextInt($this.$rand7, 16) | 0;
                $var15 = 1;
                if (!ju_Random_nextInt($this.$rand7, 4)) {
                    $var18 = 1.0 + ju_Random_nextFloat($this.$rand7) * 6.0;
                    var$14 = 0.0;
                    $var19 = 0.0;
                    $var16 = (-1);
                    var$17 = (-1);
                    var$18 = 0.5;
                    $ptr = 1;
                    continue main;
                }
                $var16 = 0;
                if ($var16 < $var15) {
                    $var17 = ju_Random_nextFloat($this.$rand7) * 3.1415927410125732 * 2.0;
                    $var18 = (ju_Random_nextFloat($this.$rand7) - 0.5) * 2.0 / 8.0;
                    var$14 = (ju_Random_nextFloat($this.$rand7) * 2.0 + ju_Random_nextFloat($this.$rand7)) * 2.0;
                    var$17 = 0;
                    var$20 = 0;
                    var$18 = 0.5;
                    $ptr = 2;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
            }
            return;
        case 1:
            nms_MapGenCavesHell_func_4128_a($this, $var4, $var5, $var6, $var9, $var11, $var13, $var18, var$14, $var19, $var16, var$17, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $var15 + ju_Random_nextInt($this.$rand7, 4) | 0;
            while (true) {
                $var16 = 0;
                if ($var16 < $var15) {
                    $var17 = ju_Random_nextFloat($this.$rand7) * 3.1415927410125732 * 2.0;
                    $var18 = (ju_Random_nextFloat($this.$rand7) - 0.5) * 2.0 / 8.0;
                    var$14 = (ju_Random_nextFloat($this.$rand7) * 2.0 + ju_Random_nextFloat($this.$rand7)) * 2.0;
                    var$17 = 0;
                    var$20 = 0;
                    var$18 = 0.5;
                    $ptr = 2;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
                if ($var8 >= $var7)
                    break;
                $var9 = $var2 + ju_Random_nextInt($this.$rand7, 16) | 0;
                $var11 = ju_Random_nextInt($this.$rand7, 128);
                $var13 = $var3 + ju_Random_nextInt($this.$rand7, 16) | 0;
                $var15 = 1;
                if (!ju_Random_nextInt($this.$rand7, 4)) {
                    $var18 = 1.0 + ju_Random_nextFloat($this.$rand7) * 6.0;
                    var$14 = 0.0;
                    $var19 = 0.0;
                    $var16 = (-1);
                    var$17 = (-1);
                    var$18 = 0.5;
                    continue main;
                }
            }
            return;
        case 2:
            nms_MapGenCavesHell_func_4128_a($this, $var4, $var5, $var6, $var9, $var11, $var13, var$14, $var17, $var18, var$17, var$20, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $var16 + 1 | 0;
            while (true) {
                if ($var16 < $var15) {
                    $var17 = ju_Random_nextFloat($this.$rand7) * 3.1415927410125732 * 2.0;
                    $var18 = (ju_Random_nextFloat($this.$rand7) - 0.5) * 2.0 / 8.0;
                    var$14 = (ju_Random_nextFloat($this.$rand7) * 2.0 + ju_Random_nextFloat($this.$rand7)) * 2.0;
                    var$17 = 0;
                    var$20 = 0;
                    var$18 = 0.5;
                    continue main;
                }
                $var8 = $var8 + 1 | 0;
                if ($var8 >= $var7)
                    break;
                $var9 = $var2 + ju_Random_nextInt($this.$rand7, 16) | 0;
                $var11 = ju_Random_nextInt($this.$rand7, 128);
                $var13 = $var3 + ju_Random_nextInt($this.$rand7, 16) | 0;
                $var15 = 1;
                if (!ju_Random_nextInt($this.$rand7, 4)) {
                    $var18 = 1.0 + ju_Random_nextFloat($this.$rand7) * 6.0;
                    var$14 = 0.0;
                    $var19 = 0.0;
                    $var16 = (-1);
                    var$17 = (-1);
                    var$18 = 0.5;
                    $ptr = 1;
                    continue main;
                }
                $var16 = 0;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var11, $var13, $var15, $var18, var$14, $var19, $var16, var$17, var$18, $var17, var$20, $ptr);
    }
    function nms_NoiseGenerator2() {
        var a = this; jl_Object.call(a);
        a.$field_4295_e = null;
        a.$field_4292_a = 0.0;
        a.$field_4291_b = 0.0;
        a.$field_4297_c = 0.0;
    }
    var nms_NoiseGenerator2_field_4296_d = null;
    var nms_NoiseGenerator2_field_4294_f = 0.0;
    var nms_NoiseGenerator2_field_4293_g = 0.0;
    function nms_NoiseGenerator2__init_2() {
        var var_0 = new nms_NoiseGenerator2();
        nms_NoiseGenerator2__init_(var_0);
        return var_0;
    }
    function nms_NoiseGenerator2__init_1(var_0) {
        var var_1 = new nms_NoiseGenerator2();
        nms_NoiseGenerator2__init_0(var_1, var_0);
        return var_1;
    }
    function nms_NoiseGenerator2__init_($this) {
        nms_NoiseGenerator2__init_0($this, new ju_Random);
    }
    function nms_NoiseGenerator2__init_0($this, $var1) {
        var $var2, var$3, $var2_0, $var3, $var4;
        $this.$field_4295_e = $rt_createIntArray(512);
        $this.$field_4292_a = ju_Random_nextDouble($var1) * 256.0;
        $this.$field_4291_b = ju_Random_nextDouble($var1) * 256.0;
        $this.$field_4297_c = ju_Random_nextDouble($var1) * 256.0;
        $var2 = 0;
        while ($var2 < 256) {
            var$3 = $this.$field_4295_e.data;
            $var2_0 = $var2 + 1 | 0;
            var$3[$var2] = $var2;
            $var2 = $var2_0;
        }
        $var2 = 0;
        while ($var2 < 256) {
            $var3 = ju_Random_nextInt($var1, 256 - $var2 | 0) + $var2 | 0;
            var$3 = $this.$field_4295_e.data;
            $var4 = var$3[$var2];
            var$3[$var2] = var$3[$var3];
            var$3[$var3] = $var4;
            var$3[$var2 + 256 | 0] = var$3[$var2];
            $var2 = $var2 + 1 | 0;
        }
    }
    function nms_NoiseGenerator2_wrap($var0) {
        return $var0 > 0.0 ? $var0 | 0 : ($var0 | 0) - 1 | 0;
    }
    function nms_NoiseGenerator2_func_4156_a($var0, $var1, $var3) {
        $var0 = $var0.data;
        return $var0[0] * $var1 + $var0[1] * $var3;
    }
    function nms_NoiseGenerator2_func_4157_a($this, $var1, $var2, $var4, $var6, $var7, $var8, $var10, $var12) {
        var $var14, $var15, $var16, $var18, $var19, $var27, $var29, $var30, $var47, $var31, $var33, $var35, $var37, $var39, $var41, $var42, $var43, $var45, $var49, $var51, $var52, var$30, $var53, $var54, $var55, $var56, $var21, $var58, $var23, $var60, $var25;
        $var14 = 0;
        $var15 = 0;
        while ($var15 < $var6) {
            $var16 = ($var2 + $var15) * $var8 + $this.$field_4292_a;
            $var18 = 0;
            while ($var18 < $var7) {
                $var19 = ($var4 + $var18) * $var10 + $this.$field_4291_b;
                $var27 = ($var16 + $var19) * nms_NoiseGenerator2_field_4294_f;
                $var29 = nms_NoiseGenerator2_wrap($var16 + $var27);
                $var30 = nms_NoiseGenerator2_wrap($var19 + $var27);
                $var27 = $var29 + $var30 | 0;
                $var47 = nms_NoiseGenerator2_field_4293_g;
                $var31 = $var27 * $var47;
                $var33 = $var29 - $var31;
                $var35 = $var30 - $var31;
                $var37 = $var16 - $var33;
                $var39 = $var19 - $var35;
                if ($var37 <= $var39) {
                    $var41 = 0;
                    $var42 = 1;
                } else {
                    $var41 = 1;
                    $var42 = 0;
                }
                $var43 = $var37 - $var41 + $var47;
                $var45 = $var39 - $var42 + $var47;
                $var19 = $var37 - 1.0;
                $var27 = 2.0 * $var47;
                $var47 = $var19 + $var27;
                $var49 = $var39 - 1.0 + $var27;
                $var51 = $var29 & 255;
                $var52 = $var30 & 255;
                var$30 = $this.$field_4295_e.data;
                $var53 = var$30[$var51 + var$30[$var52] | 0] % 12 | 0;
                $var54 = var$30[($var51 + $var41 | 0) + var$30[$var52 + $var42 | 0] | 0] % 12 | 0;
                $var55 = var$30[($var51 + 1 | 0) + var$30[$var52 + 1 | 0] | 0] % 12 | 0;
                $var56 = 0.5 - $var37 * $var37 - $var39 * $var39;
                if ($var56 < 0.0)
                    $var21 = 0.0;
                else {
                    $var19 = $var56 * $var56;
                    $var21 = $var19 * $var19 * nms_NoiseGenerator2_func_4156_a(nms_NoiseGenerator2_field_4296_d.data[$var53], $var37, $var39);
                }
                $var58 = 0.5 - $var43 * $var43 - $var45 * $var45;
                if ($var58 < 0.0)
                    $var23 = 0.0;
                else {
                    $var19 = $var58 * $var58;
                    $var23 = $var19 * $var19 * nms_NoiseGenerator2_func_4156_a(nms_NoiseGenerator2_field_4296_d.data[$var54], $var43, $var45);
                }
                $var60 = 0.5 - $var47 * $var47 - $var49 * $var49;
                if ($var60 < 0.0)
                    $var25 = 0.0;
                else {
                    $var19 = $var60 * $var60;
                    $var25 = $var19 * $var19 * nms_NoiseGenerator2_func_4156_a(nms_NoiseGenerator2_field_4296_d.data[$var55], $var47, $var49);
                }
                var$30 = $var1.data;
                $var29 = $var14 + 1 | 0;
                var$30[$var14] = var$30[$var14] + 70.0 * ($var21 + $var23 + $var25) * $var12;
                $var18 = $var18 + 1 | 0;
                $var14 = $var29;
            }
            $var15 = $var15 + 1 | 0;
        }
    }
    function nms_NoiseGenerator2__clinit_() {
        nms_NoiseGenerator2_field_4296_d = $rt_createArrayFromData($rt_arraycls($rt_intcls()), [$rt_createIntArrayFromData([1, 1, 0]), $rt_createIntArrayFromData([(-1), 1, 0]), $rt_createIntArrayFromData([1, (-1), 0]), $rt_createIntArrayFromData([(-1), (-1), 0]), $rt_createIntArrayFromData([1, 0, 1]), $rt_createIntArrayFromData([(-1), 0, 1]), $rt_createIntArrayFromData([1, 0, (-1)]), $rt_createIntArrayFromData([(-1), 0, (-1)]), $rt_createIntArrayFromData([0, 1, 1]), $rt_createIntArrayFromData([0, (-1), 1]),
        $rt_createIntArrayFromData([0, 1, (-1)]), $rt_createIntArrayFromData([0, (-1), (-1)])]);
        nms_NoiseGenerator2_field_4294_f = 0.5 * (jl_Math_sqrt(3.0) - 1.0);
        nms_NoiseGenerator2_field_4293_g = (3.0 - jl_Math_sqrt(3.0)) / 6.0;
    }
    var nms_SlotFurnace = $rt_classWithoutFields(nms_Slot);
    function nms_SlotFurnace_func_25014_f($this) {
        return 1;
    }
    var cch_ObjectIntAssociativeContainer = $rt_classWithoutFields(0);
    var cch_ObjectIntMap = $rt_classWithoutFields(0);
    function cch_ObjectIntHashMap() {
        var a = this; jl_Object.call(a);
        a.$keys1 = null;
        a.$values8 = null;
        a.$assigned0 = 0;
        a.$mask1 = 0;
        a.$resizeAt0 = 0;
        a.$hasEmptyKey0 = 0;
        a.$loadFactor2 = 0.0;
        a.$iterationSeed0 = 0;
    }
    var cch_ObjectIntHashMap_$assertionsDisabled = 0;
    function cch_ObjectIntHashMap__init_2() {
        var var_0 = new cch_ObjectIntHashMap();
        cch_ObjectIntHashMap__init_(var_0);
        return var_0;
    }
    function cch_ObjectIntHashMap__init_($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = 4;
            var$2 = 0.75;
            var$3 = 0.009999999776482582;
            var$4 = 0.9900000095367432;
            $ptr = 1;
        case 1:
            cch_HashContainers_checkLoadFactor(var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$loadFactor2 = var$2;
            $this.$iterationSeed0 = cch_HashContainers_nextIterationSeed();
            if (var$1 <= $this.$resizeAt0 && $this.$keys1 !== null)
                return;
            var$5 = $this.$keys1;
            var$6 = $this.$values8;
            var$2 = $this.$loadFactor2;
            $ptr = 2;
        case 2:
            $tmp = cch_HashContainers_minBufferSize(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            $ptr = 3;
        case 3:
            cch_ObjectIntHashMap_allocateBuffers($this, var$1);
            if ($rt_suspending()) {
                break main;
            }
            if (var$5 !== null && !(cch_ObjectIntHashMap_size($this) ? 0 : 1))
                cch_ObjectIntHashMap_rehash($this, var$5, var$6);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function cch_ObjectIntHashMap_size($this) {
        return $this.$assigned0 + (!$this.$hasEmptyKey0 ? 0 : 1) | 0;
    }
    function cch_ObjectIntHashMap_hashKey($this, $key) {
        var var$2;
        if (!cch_ObjectIntHashMap_$assertionsDisabled && $key === null) {
            $key = new jl_AssertionError;
            jl_Throwable__init_0($key);
            $rt_throw($key);
        }
        var$2 = $key === null ? 0 : $rt_imul(jl_Object_identity($key), (-1640531527));
        return var$2 ^ (var$2 >>> 16 | 0);
    }
    function cch_ObjectIntHashMap_rehash($this, $fromKeys, $fromValues) {
        var $keys, $values, $slot, var$6, var$7, $mask, $from;
        if (!cch_ObjectIntHashMap_$assertionsDisabled) {
            $keys = $fromKeys.data;
            $values = $fromValues.data;
            $slot = $keys.length;
            if (!($slot == $values.length && cch_HashContainers_checkPowerOfTwo($slot - 1 | 0))) {
                var$6 = new jl_AssertionError;
                jl_Throwable__init_0(var$6);
                $rt_throw(var$6);
            }
        }
        var$7 = $fromKeys.data;
        $fromKeys = $fromValues.data;
        $keys = $this.$keys1.data;
        $fromValues = $this.$values8.data;
        $mask = $this.$mask1;
        $from = var$7.length - 1 | 0;
        $keys[$keys.length - 1 | 0] = var$7[$from];
        $fromValues[$fromValues.length - 1 | 0] = $fromKeys[$from];
        while (true) {
            $from = $from + (-1) | 0;
            if ($from < 0)
                break;
            var$6 = var$7[$from];
            if (var$6 === null)
                continue;
            $slot = cch_ObjectIntHashMap_hashKey($this, var$6) & $mask;
            while ($keys[$slot] !== null) {
                $slot = ($slot + 1 | 0) & $mask;
            }
            $keys[$slot] = var$6;
            $fromValues[$slot] = $fromKeys[$from];
        }
    }
    function cch_ObjectIntHashMap_allocateBuffers($this, $arraySize) {
        var $e, $prevKeys, $prevValues, $emptyElementSlot, var$6, var$7, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$emptyElementSlot = $thread.pop();$prevValues = $thread.pop();$prevKeys = $thread.pop();$e = $thread.pop();$arraySize = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!cch_ObjectIntHashMap_$assertionsDisabled && jl_Integer_bitCount($arraySize) != 1) {
                $e = new jl_AssertionError;
                jl_Throwable__init_0($e);
                $rt_throw($e);
            }
            $prevKeys = $this.$keys1;
            $prevValues = $this.$values8;
            a: {
                try {
                    $emptyElementSlot = $arraySize + 1 | 0;
                    $this.$keys1 = $rt_createArray(jl_Object, $emptyElementSlot);
                    $this.$values8 = $rt_createIntArray($emptyElementSlot);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_OutOfMemoryError) {
                        $e = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                $this.$resizeAt0 = cch_HashContainers_expandAtCount($arraySize, $this.$loadFactor2);
                $this.$mask1 = $arraySize - 1 | 0;
                return;
            }
            $this.$keys1 = $prevKeys;
            $this.$values8 = $prevValues;
            var$6 = new cch_BufferAllocationException;
            var$7 = $rt_s(881);
            $prevKeys = $rt_createArrayFromData(jl_Object, [jl_Integer_valueOf($this.$mask1 + 1 | 0), jl_Integer_valueOf($arraySize)]);
            $ptr = 1;
        case 1:
            cch_BufferAllocationException__init_(var$6, var$7, $e, $prevKeys);
            if ($rt_suspending()) {
                break main;
            }
            $rt_throw(var$6);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $arraySize, $e, $prevKeys, $prevValues, $emptyElementSlot, var$6, var$7, $ptr);
    }
    function cch_ObjectIntHashMap__clinit_() {
        cch_ObjectIntHashMap_$assertionsDisabled = 0;
    }
    var nms_EntityList$_clinit_$lambda$_7_0 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_0__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_0();
        nms_EntityList$_clinit_$lambda$_7_0__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_0__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_0_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityArrow;
            $ptr = 1;
        case 1:
            nms_Entity__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2.$xTile = (-1);
            var$2.$yTile = (-1);
            var$2.$zTile = (-1);
            var$2.$inTile = 0;
            var$2.$inGround = 0;
            var$2.$arrowShake = 0;
            var$2.$flyTime = 0;
            nms_Entity_setSize(var$2, 0.5, 0.5);
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_1 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_1__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_1();
        nms_EntityList$_clinit_$lambda$_7_1__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_1__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_1_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntitySnowball;
            $ptr = 1;
        case 1:
            nms_Entity__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2.$xTileSnowball = (-1);
            var$2.$yTileSnowball = (-1);
            var$2.$zTileSnowball = (-1);
            var$2.$inTileSnowball = 0;
            var$2.$inGroundSnowball = 0;
            var$2.$shakeSnowball = 0;
            var$2.$field_809_i = 0;
            nms_Entity_setSize(var$2, 0.25, 0.25);
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_2 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_2__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_2();
        nms_EntityList$_clinit_$lambda$_7_2__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_2__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_2_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityItem;
            $ptr = 1;
        case 1:
            nms_Entity__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2.$age = 0;
            var$2.$health0 = 5;
            var$2.$field_804_d = jl_Math_random() * 3.141592653589793 * 2.0;
            nms_Entity_setSize(var$2, 0.25, 0.25);
            var$2.$yOffset = var$2.$height4 / 2.0;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_3 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_3__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_3();
        nms_EntityList$_clinit_$lambda$_7_3__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_3__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_3_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityPainting;
            $ptr = 1;
        case 1:
            nms_EntityPainting__init_0(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_4 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_4__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_4();
        nms_EntityList$_clinit_$lambda$_7_4__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_4__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_4_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityMobs;
            $ptr = 1;
        case 1:
            nms_EntityMobs__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_5 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_5__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_5();
        nms_EntityList$_clinit_$lambda$_7_5__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_5__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_5_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityCreeper;
            $ptr = 1;
        case 1:
            nms_EntityCreeper__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_6 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_6__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_6();
        nms_EntityList$_clinit_$lambda$_7_6__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_6__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_6_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntitySkeleton;
            $ptr = 1;
        case 1:
            nms_EntitySkeleton__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_7 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_7__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_7();
        nms_EntityList$_clinit_$lambda$_7_7__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_7__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_7_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntitySpider;
            $ptr = 1;
        case 1:
            nms_EntitySpider__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_8 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_8__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_8();
        nms_EntityList$_clinit_$lambda$_7_8__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_8__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_8_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityZombieSimple;
            $ptr = 1;
        case 1:
            nms_EntityMobs__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2.$texture = $rt_s(1996);
            var$2.$moveSpeed = 0.5;
            var$2.$attackStrength = 50;
            var$2.$health = var$2.$health * 10 | 0;
            var$2.$yOffset = var$2.$yOffset * 6.0;
            nms_Entity_setSize(var$2, var$2.$width2 * 6.0, var$2.$height4 * 6.0);
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_9 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_9__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_9();
        nms_EntityList$_clinit_$lambda$_7_9__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_9__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_9_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityZombie;
            $ptr = 1;
        case 1:
            nms_EntityZombie__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_10 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_10__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_10();
        nms_EntityList$_clinit_$lambda$_7_10__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_10__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_10_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntitySlime;
            $ptr = 1;
        case 1:
            nms_EntitySlime__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_11 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_11__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_11();
        nms_EntityList$_clinit_$lambda$_7_11__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_11__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_11_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityGhast;
            $ptr = 1;
        case 1:
            nms_EntityGhast__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    function nms_EntityPigZombie() {
        var a = this; nms_EntityZombie.call(a);
        a.$angerLevel = 0;
        a.$randomSoundDelay = 0;
    }
    var nms_EntityPigZombie_defaultHeldItem = null;
    var nms_EntityPigZombie_$clinitCalled = false;
    function nms_EntityPigZombie_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_EntityPigZombie_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_EntityPigZombie_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_EntityPigZombie__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_EntityPigZombie_$callClinit = $rt_eraseClinit(nms_EntityPigZombie);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_EntityPigZombie__init_0(var_0) {
        var var_1 = new nms_EntityPigZombie();
        nms_EntityPigZombie__init_(var_1, var_0);
        return var_1;
    }
    function nms_EntityPigZombie__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityPigZombie_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_EntityZombie__init_($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $this.$angerLevel = 0;
            $this.$randomSoundDelay = 0;
            $this.$texture = $rt_s(2275);
            $this.$moveSpeed = 0.5;
            $this.$attackStrength = 5;
            $this.$isImmuneToFire = 1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityPigZombie_onUpdate($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$moveSpeed = $this.$playerToAttack === null ? 0.5 : 0.949999988079071;
            var$1 = $this.$randomSoundDelay;
            if (var$1 > 0) {
                var$2 = var$1 - 1 | 0;
                $this.$randomSoundDelay = var$2;
                if (!var$2) {
                    var$3 = $this.$worldObj0;
                    var$4 = $rt_s(2276);
                    var$5 = 2.0;
                    var$6 = ((ju_Random_nextFloat($this.$rand3) - ju_Random_nextFloat($this.$rand3)) * 0.20000000298023224 + 1.0) * 1.7999999523162842;
                    $ptr = 2;
                    continue main;
                }
            }
            $ptr = 1;
        case 1:
            nms_EntityMobs_onUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 2:
            nms_World_playSoundAtEntity(var$3, $this, var$4, var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_EntityPigZombie_getCanSpawnHere($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$worldObj0;
            if (var$1.$difficultySetting <= 0)
                return 0;
            var$2 = $this.$boundingBox;
            $ptr = 1;
        case 1:
            $tmp = nms_World_checkIfAABBIsClear(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (!var$3)
                return 0;
            var$1 = $this.$worldObj0;
            var$2 = $this.$boundingBox;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getCollidingBoundingBoxes(var$1, $this, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            if (var$1.$size0)
                return 0;
            var$1 = $this.$worldObj0;
            var$2 = $this.$boundingBox;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getIsAnyLiquid(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            return var$3 ? 0 : 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_EntityPigZombie_writeEntityToNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_writeEntityToNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2277);
            var$3 = $this.$angerLevel << 16 >> 16;
            $ptr = 2;
        case 2:
            nms_NBTTagCompound_setShort($var1, var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityPigZombie_readEntityFromNBT($this, $var1) {
        var var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityLiving_readEntityFromNBT($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $rt_s(2277);
            $ptr = 2;
        case 2:
            $tmp = nms_NBTTagCompound_getShort($var1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            $this.$angerLevel = var$3;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_EntityPigZombie_findPlayerToAttack($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$angerLevel)
                return null;
            $ptr = 1;
        case 1:
            $tmp = nms_EntityMobs_findPlayerToAttack($this);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = $tmp;
            return var$1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_EntityPigZombie_onLivingUpdate($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityZombie_onLivingUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntityPigZombie_attackEntityFrom($this, $var1, $var2) {
        var $var3, $var5, $var4, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!($var1 instanceof nms_EntityPlayer)) {
                $ptr = 1;
                continue main;
            }
            $var3 = $this.$worldObj0;
            $var5 = nms_AxisAlignedBB_expand($this.$boundingBox, 32.0, 32.0, 32.0);
            $ptr = 2;
            continue main;
        case 1:
            $tmp = nms_EntityMobs_attackEntityFrom($this, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $tmp;
            return $var2;
        case 2:
            $tmp = nms_World_getEntitiesWithinAABBExcludingEntity($var3, $this, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var4 = 0;
            while ($var4 < $var3.$size0) {
                $var5 = ju_ArrayList_get($var3, $var4);
                if ($var5 instanceof nms_EntityPigZombie) {
                    $var6 = $var5;
                    $ptr = 4;
                    continue main;
                }
                $var4 = $var4 + 1 | 0;
            }
            $ptr = 3;
        case 3:
            nms_EntityPigZombie_becomeAngryAt($this, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 1;
            continue main;
        case 4:
            nms_EntityPigZombie_becomeAngryAt($var6, $var1);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var4 = $var4 + 1 | 0;
                if ($var4 >= $var3.$size0)
                    break;
                $var5 = ju_ArrayList_get($var3, $var4);
                if (!($var5 instanceof nms_EntityPigZombie))
                    continue;
                else {
                    $var6 = $var5;
                    continue main;
                }
            }
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var5, $var4, $var6, $ptr);
    }
    function nms_EntityPigZombie_becomeAngryAt($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$playerToAttack = $var1;
            $this.$angerLevel = 400 + ju_Random_nextInt($this.$rand3, 400) | 0;
            $this.$randomSoundDelay = ju_Random_nextInt($this.$rand3, 40);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_EntityPigZombie_getLivingSound($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $rt_s(2278);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntityPigZombie_getHurtSound($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $rt_s(2279);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntityPigZombie_getDeathSound($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            return $rt_s(2280);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntityPigZombie_getDropItemId($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_Item_porkCooked.$shiftedIndex;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntityPigZombie_getHeldItem($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityPigZombie_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            return nms_EntityPigZombie_defaultHeldItem;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_EntityPigZombie__clinit_() {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = new nms_ItemStack;
            $ptr = 1;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_1(var$1, nms_Item_swordGold, 1);
            nms_EntityPigZombie_defaultHeldItem = var$1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$1, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_12 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_12__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_12();
        nms_EntityList$_clinit_$lambda$_7_12__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_12__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_12_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityPigZombie;
            $ptr = 1;
        case 1:
            nms_EntityPigZombie__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_13 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_13__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_13();
        nms_EntityList$_clinit_$lambda$_7_13__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_13__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_13_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityPig;
            $ptr = 1;
        case 1:
            nms_EntityPig__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_14 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_14__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_14();
        nms_EntityList$_clinit_$lambda$_7_14__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_14__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_14_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntitySheep;
            $ptr = 1;
        case 1:
            nms_EntitySheep__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_15 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_15__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_15();
        nms_EntityList$_clinit_$lambda$_7_15__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_15__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_15_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityCow;
            $ptr = 1;
        case 1:
            nms_EntityCow__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_16 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_16__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_16();
        nms_EntityList$_clinit_$lambda$_7_16__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_16__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_16_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityChicken;
            $ptr = 1;
        case 1:
            nms_EntityChicken__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_17 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_17__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_17();
        nms_EntityList$_clinit_$lambda$_7_17__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_17__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_17_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntitySquid;
            $ptr = 1;
        case 1:
            nms_EntitySquid__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_18 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_18__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_18();
        nms_EntityList$_clinit_$lambda$_7_18__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_18__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_18_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityWolf;
            $ptr = 1;
        case 1:
            nms_EntityWolf__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_19 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_19__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_19();
        nms_EntityList$_clinit_$lambda$_7_19__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_19__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_19_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityTNTPrimed;
            $ptr = 1;
        case 1:
            nms_EntityTNTPrimed__init_0(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_20 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_20__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_20();
        nms_EntityList$_clinit_$lambda$_7_20__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_20__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_20_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityFallingSand;
            $ptr = 1;
        case 1:
            nms_Entity__init_(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$2.$fallTime = 0;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_21 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_21__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_21();
        nms_EntityList$_clinit_$lambda$_7_21__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_21__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_21_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityMinecart;
            $ptr = 1;
        case 1:
            nms_EntityMinecart__init_0(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    var nms_EntityList$_clinit_$lambda$_7_22 = $rt_classWithoutFields();
    function nms_EntityList$_clinit_$lambda$_7_22__init_0() {
        var var_0 = new nms_EntityList$_clinit_$lambda$_7_22();
        nms_EntityList$_clinit_$lambda$_7_22__init_(var_0);
        return var_0;
    }
    function nms_EntityList$_clinit_$lambda$_7_22__init_(var$0) {}
    function nms_EntityList$_clinit_$lambda$_7_22_createEntity(var$0, var$1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityBoat;
            $ptr = 1;
        case 1:
            nms_EntityBoat__init_0(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, $ptr);
    }
    function nms_NoiseGeneratorPerlin() {
        var a = this; nms_NoiseGenerator.call(a);
        a.$permutations = null;
        a.$xCoord4 = 0.0;
        a.$yCoord4 = 0.0;
        a.$zCoord4 = 0.0;
    }
    function nms_NoiseGeneratorPerlin__init_2() {
        var var_0 = new nms_NoiseGeneratorPerlin();
        nms_NoiseGeneratorPerlin__init_(var_0);
        return var_0;
    }
    function nms_NoiseGeneratorPerlin__init_1(var_0) {
        var var_1 = new nms_NoiseGeneratorPerlin();
        nms_NoiseGeneratorPerlin__init_0(var_1, var_0);
        return var_1;
    }
    function nms_NoiseGeneratorPerlin__init_($this) {
        nms_NoiseGeneratorPerlin__init_0($this, new ju_Random);
    }
    function nms_NoiseGeneratorPerlin__init_0($this, $var1) {
        var $var2, var$3, $var2_0, $var3, $var4;
        $this.$permutations = $rt_createIntArray(512);
        $this.$xCoord4 = ju_Random_nextDouble($var1) * 256.0;
        $this.$yCoord4 = ju_Random_nextDouble($var1) * 256.0;
        $this.$zCoord4 = ju_Random_nextDouble($var1) * 256.0;
        $var2 = 0;
        while ($var2 < 256) {
            var$3 = $this.$permutations.data;
            $var2_0 = $var2 + 1 | 0;
            var$3[$var2] = $var2;
            $var2 = $var2_0;
        }
        $var2 = 0;
        while ($var2 < 256) {
            $var3 = ju_Random_nextInt($var1, 256 - $var2 | 0) + $var2 | 0;
            var$3 = $this.$permutations.data;
            $var4 = var$3[$var2];
            var$3[$var2] = var$3[$var3];
            var$3[$var3] = $var4;
            var$3[$var2 + 256 | 0] = var$3[$var2];
            $var2 = $var2 + 1 | 0;
        }
    }
    function nms_NoiseGeneratorPerlin_generateNoise($this, $var1, $var3, $var5) {
        var $var7, $var9, $var11, $var13, $var14, $var15, $var16, $var17, $var18, var$13, $var19, $var21, $var23, var$17, $var25, $var26, $var27, $var28, $var29, $var30;
        $var7 = $var1 + $this.$xCoord4;
        $var9 = $var3 + $this.$yCoord4;
        $var11 = $var5 + $this.$zCoord4;
        $var13 = $var7 | 0;
        $var14 = $var9 | 0;
        $var15 = $var11 | 0;
        if ($var7 < $var13)
            $var13 = $var13 + (-1) | 0;
        if ($var9 < $var14)
            $var14 = $var14 + (-1) | 0;
        if ($var11 < $var15)
            $var15 = $var15 + (-1) | 0;
        $var16 = $var13 & 255;
        $var17 = $var14 & 255;
        $var18 = $var15 & 255;
        $var3 = $var7 - $var13;
        $var5 = $var9 - $var14;
        var$13 = $var11 - $var15;
        $var19 = $var3 * $var3 * $var3 * ($var3 * ($var3 * 6.0 - 15.0) + 10.0);
        $var21 = $var5 * $var5 * $var5 * ($var5 * ($var5 * 6.0 - 15.0) + 10.0);
        $var23 = var$13 * var$13 * var$13 * (var$13 * (var$13 * 6.0 - 15.0) + 10.0);
        var$17 = $this.$permutations.data;
        $var25 = var$17[$var16] + $var17 | 0;
        $var26 = var$17[$var25] + $var18 | 0;
        $var27 = var$17[$var25 + 1 | 0] + $var18 | 0;
        $var28 = var$17[$var16 + 1 | 0] + $var17 | 0;
        $var29 = var$17[$var28] + $var18 | 0;
        $var30 = var$17[$var28 + 1 | 0] + $var18 | 0;
        $var1 = nms_NoiseGeneratorPerlin_grad($this, var$17[$var26], $var3, $var5, var$13);
        $var16 = $this.$permutations.data[$var29];
        $var7 = $var3 - 1.0;
        $var1 = nms_NoiseGeneratorPerlin_lerp($this, $var19, $var1, nms_NoiseGeneratorPerlin_grad($this, $var16, $var7, $var5, var$13));
        $var16 = $this.$permutations.data[$var27];
        $var9 = $var5 - 1.0;
        $var1 = nms_NoiseGeneratorPerlin_lerp($this, $var21, $var1, nms_NoiseGeneratorPerlin_lerp($this, $var19, nms_NoiseGeneratorPerlin_grad($this, $var16, $var3, $var9, var$13), nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var30], $var7, $var9, var$13)));
        $var16 = $this.$permutations.data[$var26 + 1 | 0];
        $var11 = var$13 - 1.0;
        return nms_NoiseGeneratorPerlin_lerp($this, $var23, $var1, nms_NoiseGeneratorPerlin_lerp($this, $var21, nms_NoiseGeneratorPerlin_lerp($this, $var19, nms_NoiseGeneratorPerlin_grad($this, $var16, $var3, $var5, $var11), nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var29 + 1 | 0], $var7, $var5, $var11)), nms_NoiseGeneratorPerlin_lerp($this, $var19, nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var27 + 1 | 0], $var3, $var9, $var11), nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var30
        + 1 | 0], $var7, $var9, $var11))));
    }
    function nms_NoiseGeneratorPerlin_lerp($this, $var1, $var3, $var5) {
        return $var3 + $var1 * ($var5 - $var3);
    }
    function nms_NoiseGeneratorPerlin_func_4110_a($this, $var1, $var9, $var9_0) {
        var $var6, $var7;
        $var6 = $var1 & 15;
        $var7 = (1 - (($var6 & 8) >> 3) | 0) * $var9;
        if ($var6 < 4)
            $var9 = 0.0;
        else if ($var6 != 12 && $var6 != 14)
            $var9 = $var9_0;
        if ($var6 & 1)
            $var7 =  -$var7;
        if ($var6 & 2)
            $var9 =  -$var9;
        return $var7 + $var9;
    }
    function nms_NoiseGeneratorPerlin_grad($this, $var1, $var11, $var11_0, $var11_1) {
        var $var8, $var9;
        $var8 = $var1 & 15;
        $var9 = $var8 >= 8 ? $var11_0 : $var11;
        if ($var8 >= 4)
            $var11_0 = $var8 != 12 && $var8 != 14 ? $var11_1 : $var11;
        if ($var8 & 1)
            $var9 =  -$var9;
        if ($var8 & 2)
            $var11_0 =  -$var11_0;
        return $var9 + $var11_0;
    }
    function nms_NoiseGeneratorPerlin_func_805_a($this, $var1, $var2, $var4, $var6, $var8, $var9, $var10, $var11, $var13, $var15, $var17) {
        var $var75, $var77, $var30, $var31, $var78, $var34, $var33, $var35, $var37, $var44, $var38, $var40, var$24, $var41, $var42, var$27, $var66, $var22, $var79, $var19, $var20, $var29, var$34, $var45, $var47, $var48, $var49, $var51, $var52, $var54, $var55, $var56, $var69, $var71, $var72, $var74, $var76, $var62;
        a: {
            if ($var9 == 1) {
                $var75 = 0;
                $var77 = 1.0 / $var17;
                $var30 = 0;
                while ($var30 < $var8) {
                    $var31 = ($var2 + $var30) * $var11 + $this.$xCoord4;
                    $var78 = $var31 | 0;
                    if ($var31 < $var78)
                        $var78 = $var78 + (-1) | 0;
                    $var34 = $var78 & 255;
                    $var33 = $var31 - $var78;
                    $var35 = $var33 * $var33 * $var33 * ($var33 * ($var33 * 6.0 - 15.0) + 10.0);
                    $var37 = 0;
                    $var44 = $var34 + 1 | 0;
                    $var31 = $var33 - 1.0;
                    while ($var37 < $var10) {
                        $var38 = ($var6 + $var37) * $var15 + $this.$zCoord4;
                        $var40 = $var38 | 0;
                        if ($var38 < $var40)
                            $var40 = $var40 + (-1) | 0;
                        var$24 = $var1.data;
                        $var41 = $var40 & 255;
                        $var4 = $var38 - $var40;
                        $var42 = $var4 * $var4 * $var4 * ($var4 * ($var4 * 6.0 - 15.0) + 10.0);
                        var$27 = $this.$permutations.data;
                        $var66 = var$27[var$27[$var34] + 0 | 0] + $var41 | 0;
                        $var22 = var$27[var$27[$var44] + 0 | 0] + $var41 | 0;
                        $var13 = nms_NoiseGeneratorPerlin_lerp($this, $var35, nms_NoiseGeneratorPerlin_func_4110_a($this, var$27[$var66], $var33, $var4), nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var22], $var31, 0.0, $var4));
                        $var9 = $this.$permutations.data[$var66 + 1 | 0];
                        $var4 = $var4 - 1.0;
                        $var79 = nms_NoiseGeneratorPerlin_lerp($this, $var42, $var13, nms_NoiseGeneratorPerlin_lerp($this, $var35, nms_NoiseGeneratorPerlin_grad($this, $var9, $var33, 0.0, $var4), nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var22 + 1 | 0], $var31, 0.0, $var4)));
                        $var9 = $var75 + 1 | 0;
                        var$24[$var75] = var$24[$var75] + $var79 * $var77;
                        $var37 = $var37 + 1 | 0;
                        $var75 = $var9;
                    }
                    $var30 = $var30 + 1 | 0;
                }
            } else {
                $var19 = 0;
                $var20 = 1.0 / $var17;
                $var22 = (-1);
                $var29 = 0.0;
                $var31 = 0.0;
                $var33 = 0.0;
                $var35 = 0.0;
                $var37 = 0;
                while (true) {
                    if ($var37 >= $var8)
                        break a;
                    $var38 = ($var2 + $var37) * $var11 + $this.$xCoord4;
                    $var40 = $var38 | 0;
                    if ($var38 < $var40)
                        $var40 = $var40 + (-1) | 0;
                    $var41 = $var40 & 255;
                    var$34 = $var38 - $var40;
                    $var42 = var$34 * var$34 * var$34 * (var$34 * (var$34 * 6.0 - 15.0) + 10.0);
                    $var44 = 0;
                    $var40 = $var41 + 1 | 0;
                    $var79 = var$34 - 1.0;
                    while ($var44 < $var10) {
                        $var45 = ($var6 + $var44) * $var15 + $this.$zCoord4;
                        $var47 = $var45 | 0;
                        if ($var45 < $var47)
                            $var47 = $var47 + (-1) | 0;
                        $var48 = $var47 & 255;
                        $var77 = $var45 - $var47;
                        $var49 = $var77 * $var77 * $var77 * ($var77 * ($var77 * 6.0 - 15.0) + 10.0);
                        $var51 = 0;
                        $var38 = $var77 - 1.0;
                        while ($var51 < $var9) {
                            $var52 = ($var4 + $var51) * $var13 + $this.$yCoord4;
                            $var54 = $var52 | 0;
                            if ($var52 < $var54)
                                $var54 = $var54 + (-1) | 0;
                            $var55 = $var54 & 255;
                            $var17 = $var52 - $var54;
                            $var56 = $var17 * $var17 * $var17 * ($var17 * ($var17 * 6.0 - 15.0) + 10.0);
                            if ($var51 && $var55 == $var22)
                                $var55 = $var22;
                            else {
                                var$27 = $this.$permutations.data;
                                $var69 = var$27[$var41] + $var55 | 0;
                                $var71 = var$27[$var69] + $var48 | 0;
                                $var72 = var$27[$var69 + 1 | 0] + $var48 | 0;
                                $var74 = var$27[$var40] + $var55 | 0;
                                $var75 = var$27[$var74] + $var48 | 0;
                                $var76 = var$27[$var74 + 1 | 0] + $var48 | 0;
                                $var29 = nms_NoiseGeneratorPerlin_lerp($this, $var42, nms_NoiseGeneratorPerlin_grad($this, var$27[$var71], var$34, $var17, $var77), nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var75], $var79, $var17, $var77));
                                $var22 = $this.$permutations.data[$var72];
                                $var45 = $var17 - 1.0;
                                $var31 = nms_NoiseGeneratorPerlin_lerp($this, $var42, nms_NoiseGeneratorPerlin_grad($this, $var22, var$34, $var45, $var77), nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var76], $var79, $var45, $var77));
                                $var33 = nms_NoiseGeneratorPerlin_lerp($this, $var42, nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var71 + 1 | 0], var$34, $var17, $var38), nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var75 + 1 | 0], $var79, $var17, $var38));
                                $var35 = nms_NoiseGeneratorPerlin_lerp($this, $var42, nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var72 + 1 | 0], var$34, $var45, $var38), nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var76 + 1 | 0], $var79, $var45, $var38));
                            }
                            var$27 = $var1.data;
                            $var62 = nms_NoiseGeneratorPerlin_lerp($this, $var49, nms_NoiseGeneratorPerlin_lerp($this, $var56, $var29, $var31), nms_NoiseGeneratorPerlin_lerp($this, $var56, $var33, $var35));
                            $var22 = $var19 + 1 | 0;
                            var$27[$var19] = var$27[$var19] + $var62 * $var20;
                            $var51 = $var51 + 1 | 0;
                            $var19 = $var22;
                            $var22 = $var55;
                        }
                        $var44 = $var44 + 1 | 0;
                    }
                    $var37 = $var37 + 1 | 0;
                }
            }
        }
    }
    function nms_InventoryBasic() {
        var a = this; jl_Object.call(a);
        a.$inventoryTitle = null;
        a.$slotsCount0 = 0;
        a.$inventoryContents = null;
        a.$field_20073_d = null;
    }
    function nms_InventoryBasic_getStackInSlot($this, $var1) {
        return $this.$inventoryContents.data[$var1];
    }
    function nms_InventoryBasic_decrStackSize($this, $var1, $var2) {
        var var$3, $var3, $var3_0;
        var$3 = $this.$inventoryContents.data;
        if (var$3[$var1] === null)
            return null;
        if (var$3[$var1].$stackSize <= $var2) {
            $var3 = var$3[$var1];
            var$3[$var1] = null;
            nms_InventoryBasic_onInventoryChanged($this);
            return $var3;
        }
        $var3_0 = nms_ItemStack_splitStack(var$3[$var1], $var2);
        var$3 = $this.$inventoryContents.data;
        if (!var$3[$var1].$stackSize)
            var$3[$var1] = null;
        nms_InventoryBasic_onInventoryChanged($this);
        return $var3_0;
    }
    function nms_InventoryBasic_setInventorySlotContents($this, $var1, $var2) {
        $this.$inventoryContents.data[$var1] = $var2;
        if ($var2 !== null && $var2.$stackSize > 64)
            $var2.$stackSize = 64;
        nms_InventoryBasic_onInventoryChanged($this);
    }
    function nms_InventoryBasic_getSizeInventory($this) {
        return $this.$slotsCount0;
    }
    function nms_InventoryBasic_getInvName($this) {
        return $this.$inventoryTitle;
    }
    function nms_InventoryBasic_getInventoryStackLimit($this) {
        return 64;
    }
    function nms_InventoryBasic_onInventoryChanged($this) {
        var $var1;
        a: {
            if ($this.$field_20073_d !== null) {
                $var1 = 0;
                while (true) {
                    if ($var1 >= $this.$field_20073_d.$size())
                        break a;
                    ($this.$field_20073_d.$get2($var1)).$func_20134_a($this);
                    $var1 = $var1 + 1 | 0;
                }
            }
        }
    }
    function nms_InventoryBasic_canInteractWith($this, $var1) {
        return 1;
    }
    function nms_EntityOtherPlayerMP() {
        var a = this; nms_EntityPlayer.call(a);
        a.$field_785_bg = 0;
        a.$field_784_bh = 0.0;
        a.$field_783_bi = 0.0;
        a.$field_782_bj = 0.0;
        a.$field_780_bk = 0.0;
        a.$field_786_bl = 0.0;
        a.$field_20924_a = 0.0;
    }
    function nms_EntityOtherPlayerMP_resetHeight($this) {
        $this.$yOffset = 0.0;
    }
    function nms_EntityOtherPlayerMP_attackEntityFrom($this, $var1, $var2) {
        return 1;
    }
    function nms_EntityOtherPlayerMP_setPositionAndRotation2($this, $var1, $var3, $var5, $var7, $var8, $var9) {
        $this.$field_784_bh = $var1;
        $this.$field_783_bi = $var3;
        $this.$field_782_bj = $var5;
        $this.$field_780_bk = $var7;
        $this.$field_786_bl = $var8;
        $this.$field_785_bg = $var9;
    }
    function nms_EntityOtherPlayerMP_onUpdate($this) {
        var $var1, $var3, $var5, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_EntityPlayer_onUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_705_Q = $this.$field_704_R;
            $var1 = $this.$posX - $this.$prevPosX;
            $var3 = $this.$posZ - $this.$prevPosZ;
            $var5 = nms_MathHelper_sqrt_double($var1 * $var1 + $var3 * $var3) * 4.0;
            if ($var5 > 1.0)
                $var5 = 1.0;
            var$4 = $this.$field_704_R;
            $var5 = var$4 + ($var5 - var$4) * 0.4000000059604645;
            $this.$field_704_R = $var5;
            $this.$field_703_S = $this.$field_703_S + $var5;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var3, $var5, var$4, $ptr);
    }
    function nms_EntityOtherPlayerMP_getShadowSize($this) {
        return 0.0;
    }
    function nms_EntityOtherPlayerMP_onLivingUpdate($this) {
        var var$1, $var1, $var3, var$4, $var5, $var7, var$7, $var9, $var2, var$10;
        nms_EntityPlayer_updatePlayerActionState($this);
        var$1 = $this.$field_785_bg;
        if (var$1 > 0) {
            $var1 = $this.$posX;
            $var3 = $this.$field_784_bh - $var1;
            var$4 = var$1;
            $var1 = $var1 + $var3 / var$4;
            $var3 = $this.$posY;
            $var3 = $var3 + ($this.$field_783_bi - $var3) / var$4;
            $var5 = $this.$posZ;
            $var5 = $var5 + ($this.$field_782_bj - $var5) / var$4;
            $var7 = $this.$field_780_bk;
            var$7 = $this.$rotationYaw;
            $var7 = $var7 - var$7;
            while ($var7 < (-180.0)) {
                $var7 = $var7 + 360.0;
            }
            while ($var7 >= 180.0) {
                $var7 = $var7 - 360.0;
            }
            $this.$rotationYaw = var$7 + $var7 / var$4;
            $var7 = $this.$rotationPitch;
            $this.$rotationPitch = $var7 + ($this.$field_786_bl - $var7) / var$4;
            $this.$field_785_bg = var$1 - 1 | 0;
            nms_Entity_setPosition($this, $var1, $var3, $var5);
            nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
        }
        $this.$field_775_e = $this.$field_774_f;
        $var1 = $this.$motionX;
        $var1 = $var1 * $var1;
        $var3 = $this.$motionZ;
        $var9 = nms_MathHelper_sqrt_double($var1 + $var3 * $var3);
        $var2 = jl_Math_atan( -$this.$motionY * 0.20000000298023224) * 15.0;
        if ($var9 > 0.10000000149011612)
            $var9 = 0.10000000149011612;
        var$1 = $this.$onGround0;
        if (!(var$1 && $this.$health > 0))
            $var9 = 0.0;
        if (!(!var$1 && $this.$health > 0))
            $var2 = 0.0;
        var$10 = $this.$field_774_f;
        $this.$field_774_f = var$10 + ($var9 - var$10) * 0.4000000059604645;
        $var9 = $this.$field_9328_R;
        $this.$field_9328_R = $var9 + ($var2 - $var9) * 0.800000011920929;
    }
    function nms_EntityOtherPlayerMP_outfitWithItem($this, $var1, $var2, $var3) {
        var $var4, var$5;
        $var4 = null;
        if ($var2 >= 0)
            $var4 = nms_ItemStack__init_7($var2, 1, $var3);
        if (!$var1) {
            var$5 = $this.$inventory;
            var$5.$mainInventory.data[var$5.$currentItem] = $var4;
        } else
            $this.$inventory.$armorInventory.data[$var1 - 1 | 0] = $var4;
    }
    function nms_EntityOtherPlayerMP_func_6420_o($this) {}
    function nms_EntityPickupFX() {
        var a = this; nms_EntityFX.call(a);
        a.$field_675_a = null;
        a.$field_679_o = null;
        a.$field_678_p = 0;
        a.$field_677_q = 0;
        a.$field_676_r = 0.0;
    }
    function nms_EntityPickupFX__init_0(var_0, var_1, var_2, var_3) {
        var var_4 = new nms_EntityPickupFX();
        nms_EntityPickupFX__init_(var_4, var_0, var_1, var_2, var_3);
        return var_4;
    }
    function nms_EntityPickupFX__init_($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$5 = $var2.$posX;
            var$6 = $var2.$posY;
            var$7 = $var2.$posZ;
            var$8 = $var2.$motionX;
            var$9 = $var2.$motionY;
            var$10 = $var2.$motionZ;
            $ptr = 1;
        case 1:
            nms_EntityFX__init_($this, $var1, var$5, var$6, var$7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_678_p = 0;
            $this.$field_677_q = 0;
            $this.$field_675_a = $var2;
            $this.$field_679_o = $var3;
            $this.$field_677_q = 3;
            $this.$field_676_r = $var4;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_EntityPickupFX_renderParticle($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var $var8, $var9, $var11, $var13, $var19, $var21, $var25, $var15, $var17, $var23, $var27, $var28, $var29, $var30, var$22, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$22 = $thread.pop();$var30 = $thread.pop();$var29 = $thread.pop();$var28 = $thread.pop();$var27 = $thread.pop();$var23 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var25 = $thread.pop();$var21 = $thread.pop();$var19 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1
            = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var8 = ($this.$field_678_p + $var2) / $this.$field_677_q;
            $var3 = $var8 * $var8;
            $var1 = $this.$field_675_a;
            $var9 = $var1.$posX;
            $var11 = $var1.$posY;
            $var13 = $var1.$posZ;
            $var1 = $this.$field_679_o;
            $var19 = $var1.$lastTickPosX;
            $var21 = $var1.$posX - $var19;
            $var25 = $var2;
            $var15 = $var19 + $var21 * $var25;
            $var19 = $var1.$lastTickPosY;
            $var17 = $var19 + ($var1.$posY - $var19) * $var25 + $this.$field_676_r;
            $var19 = $var1.$lastTickPosZ;
            $var19 = $var19 + ($var1.$posZ - $var19) * $var25;
            $var21 = $var15 - $var9;
            $var25 = $var3;
            $var21 = $var9 + $var21 * $var25;
            $var23 = $var11 + ($var17 - $var11) * $var25;
            $var25 = $var13 + ($var19 - $var13) * $var25;
            $var27 = nms_MathHelper_floor_double($var21);
            $var28 = nms_MathHelper_floor_double($var23 + $this.$yOffset / 2.0);
            $var29 = nms_MathHelper_floor_double($var25);
            $var1 = $this.$worldObj0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getLightBrightness($var1, $var27, $var28, $var29);
            if ($rt_suspending()) {
                break main;
            }
            $var30 = $tmp;
            $var19 = $var21 - nms_EntityFX_interpPosX;
            $var21 = $var23 - nms_EntityFX_interpPosY;
            $var9 = $var25 - nms_EntityFX_interpPosZ;
            $var3 = 1.0;
            $ptr = 2;
        case 2:
            nleo_GlStateManager_color($var30, $var30, $var30, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_RenderManager_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var1 = nms_RenderManager_instance;
            var$22 = $this.$field_675_a;
            $var19 = $var19;
            $var21 = $var21;
            $var9 = $var9;
            $var3 = var$22.$rotationYaw;
            $ptr = 4;
        case 4:
            nms_RenderManager_renderEntityWithPosYaw($var1, var$22, $var19, $var21, $var9, $var3, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var11, $var13, $var19, $var21, $var25, $var15, $var17, $var23, $var27, $var28, $var29, $var30, var$22, $ptr);
    }
    function nms_EntityPickupFX_onUpdate($this) {
        var var$1;
        var$1 = $this.$field_678_p + 1 | 0;
        $this.$field_678_p = var$1;
        if (var$1 == $this.$field_677_q)
            nms_Entity_setEntityDead($this);
    }
    function nms_EntityPickupFX_getFXLayer($this) {
        return 3;
    }
    function nms_Explosion() {
        var a = this; jl_Object.call(a);
        a.$field_12257_a = 0;
        a.$ExplosionRNG = null;
        a.$worldObj14 = null;
        a.$explosionX0 = 0.0;
        a.$explosionY0 = 0.0;
        a.$explosionZ0 = 0.0;
        a.$exploder = null;
        a.$explosionSize0 = 0.0;
        a.$destroyedBlockPositions0 = null;
    }
    function nms_Explosion__init_0(var_0, var_1, var_2, var_3, var_4, var_5) {
        var var_6 = new nms_Explosion();
        nms_Explosion__init_(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
        return var_6;
    }
    function nms_Explosion__init_($this, $var1, $var2, $var3, $var5, $var7, $var9) {
        $this.$field_12257_a = 0;
        $this.$ExplosionRNG = new ju_Random;
        $this.$destroyedBlockPositions0 = ju_HashSet__init_0();
        $this.$worldObj14 = $var1;
        $this.$exploder = $var2;
        $this.$explosionSize0 = $var9;
        $this.$explosionX0 = $var3;
        $this.$explosionY0 = $var5;
        $this.$explosionZ0 = $var7;
    }
    function nms_Explosion_doExplosionA($this) {
        var $var1, $var2, $var3, var$4, $var14, $var4, $var5, $var29, $var7, $var30, $var9, $var31, $var33, $var6, $var8, $var10, $var12, $var15, $var17, $var19, $var21, $var22, $var23, $var24, $var11, $var13, $var39, $var32, $var35, $var34, $var36, $var37, $var16, $var40, $var41, $var38, $var18, $var25, var$39, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$39 = $thread.pop();$var25 = $thread.pop();$var18 = $thread.pop();$var38 = $thread.pop();$var41 = $thread.pop();$var40 = $thread.pop();$var16 = $thread.pop();$var37 = $thread.pop();$var36 = $thread.pop();$var34 = $thread.pop();$var35 = $thread.pop();$var32 = $thread.pop();$var39 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var15
            = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var33 = $thread.pop();$var31 = $thread.pop();$var9 = $thread.pop();$var30 = $thread.pop();$var7 = $thread.pop();$var29 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var14 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $this.$explosionSize0;
            $var2 = 16;
            $var3 = 0;
            var$4 = 15.0;
            a: while (true) {
                if ($var3 >= $var2) {
                    $var14 = $this.$explosionSize0 * 2.0;
                    $this.$explosionSize0 = $var14;
                    $var2 = nms_MathHelper_floor_double($this.$explosionX0 - $var14 - 1.0);
                    $var4 = nms_MathHelper_floor_double($this.$explosionX0 + $this.$explosionSize0 + 1.0);
                    $var5 = nms_MathHelper_floor_double($this.$explosionY0 - $this.$explosionSize0 - 1.0);
                    $var29 = nms_MathHelper_floor_double($this.$explosionY0 + $this.$explosionSize0 + 1.0);
                    $var7 = nms_MathHelper_floor_double($this.$explosionZ0 - $this.$explosionSize0 - 1.0);
                    $var30 = nms_MathHelper_floor_double($this.$explosionZ0 + $this.$explosionSize0 + 1.0);
                    $var9 = $this.$worldObj14;
                    $var31 = $this.$exploder;
                    $var33 = nms_AxisAlignedBB_getBoundingBoxFromPool($var2, $var5, $var7, $var4, $var29, $var30);
                    $ptr = 1;
                    continue main;
                }
                $var4 = 0;
                while ($var4 < $var2) {
                    $var5 = 0;
                    while ($var5 < $var2) {
                        if (!($var3 && $var3 != 15 && $var4 && $var4 != 15 && $var5 && $var5 != 15)) {
                            $var6 = $var3 / var$4 * 2.0 - 1.0;
                            $var8 = $var4 / var$4 * 2.0 - 1.0;
                            $var10 = $var5 / var$4 * 2.0 - 1.0;
                            $var12 = jl_Math_sqrt($var6 * $var6 + $var8 * $var8 + $var10 * $var10);
                            $var6 = $var6 / $var12;
                            $var8 = $var8 / $var12;
                            $var12 = $var10 / $var12;
                            $var14 = $this.$explosionSize0 * (0.699999988079071 + ju_Random_nextFloat($this.$worldObj14.$rand2) * 0.6000000238418579);
                            $var15 = $this.$explosionX0;
                            $var17 = $this.$explosionY0;
                            $var19 = $this.$explosionZ0;
                            $var21 = 0.30000001192092896;
                            $var6 = $var6 * 0.30000001192092896;
                            $var8 = $var8 * 0.30000001192092896;
                            $var12 = $var12 * 0.30000001192092896;
                            if ($var14 > 0.0)
                                break a;
                        }
                        $var5 = $var5 + 1 | 0;
                    }
                    $var4 = $var4 + 1 | 0;
                }
                $var3 = $var3 + 1 | 0;
            }
            $var22 = nms_MathHelper_floor_double($var15);
            $var23 = nms_MathHelper_floor_double($var17);
            $var24 = nms_MathHelper_floor_double($var19);
            $var9 = $this.$worldObj14;
            $ptr = 8;
            continue main;
        case 1:
            $tmp = nms_World_getEntitiesWithinAABBExcludingEntity($var9, $var31, $var33);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $var31 = nms_Vec3D_createVector($this.$explosionX0, $this.$explosionY0, $this.$explosionZ0);
            $var11 = 0;
            while ($var11 < $var9.$size0) {
                $var33 = ju_ArrayList_get($var9, $var11);
                $var13 = nms_Entity_getDistance($var33, $this.$explosionX0, $this.$explosionY0, $this.$explosionZ0) / $this.$explosionSize0;
                if ($var13 <= 1.0) {
                    $var15 = $var33.$posX - $this.$explosionX0;
                    $var17 = $var33.$posY - $this.$explosionY0;
                    $var19 = $var33.$posZ - $this.$explosionZ0;
                    $var39 = nms_MathHelper_sqrt_double($var15 * $var15 + $var17 * $var17 + $var19 * $var19);
                    $var12 = $var15 / $var39;
                    $var6 = $var17 / $var39;
                    $var8 = $var19 / $var39;
                    $var32 = $this.$worldObj14;
                    $var35 = $var33.$boundingBox;
                    $ptr = 3;
                    continue main;
                }
                $var11 = $var11 + 1 | 0;
            }
            $this.$explosionSize0 = $var1;
            $var32 = ju_ArrayList__init_0();
            $var9 = $this.$destroyedBlockPositions0;
            $ptr = 2;
        case 2:
            ju_AbstractCollection_addAll($var32, $var9);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$field_12257_a) {
                $var34 = $var32.$size0 - 1 | 0;
                if ($var34 >= 0) {
                    $var35 = ju_ArrayList_get($var32, $var34);
                    $var36 = $var35.$x1;
                    $var37 = $var35.$y1;
                    $var16 = $var35.$z1;
                    $var9 = $this.$worldObj14;
                    $ptr = 5;
                    continue main;
                }
            }
            return;
        case 3:
            $tmp = nms_World_func_675_a($var32, $var31, $var35);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            $var40 = $var14;
            $var41 = (1.0 - $var13) * $var40;
            $var32 = $this.$exploder;
            $var2 = ($var41 * $var41 + $var41) / 2.0 * 8.0 * $this.$explosionSize0 + 1.0 | 0;
            $ptr = 4;
        case 4:
            $var33.$attackEntityFrom($var32, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var33.$motionX = $var33.$motionX + $var12 * $var41;
            $var33.$motionY = $var33.$motionY + $var6 * $var41;
            $var33.$motionZ = $var33.$motionZ + $var8 * $var41;
            while (true) {
                $var11 = $var11 + 1 | 0;
                if ($var11 >= $var9.$size0)
                    break;
                $var33 = ju_ArrayList_get($var9, $var11);
                $var13 = nms_Entity_getDistance($var33, $this.$explosionX0, $this.$explosionY0, $this.$explosionZ0) / $this.$explosionSize0;
                if ($var13 > 1.0)
                    continue;
                else {
                    $var15 = $var33.$posX - $this.$explosionX0;
                    $var17 = $var33.$posY - $this.$explosionY0;
                    $var19 = $var33.$posZ - $this.$explosionZ0;
                    $var39 = nms_MathHelper_sqrt_double($var15 * $var15 + $var17 * $var17 + $var19 * $var19);
                    $var12 = $var15 / $var39;
                    $var6 = $var17 / $var39;
                    $var8 = $var19 / $var39;
                    $var32 = $this.$worldObj14;
                    $var35 = $var33.$boundingBox;
                    $ptr = 3;
                    continue main;
                }
            }
            $this.$explosionSize0 = $var1;
            $var32 = ju_ArrayList__init_0();
            $var9 = $this.$destroyedBlockPositions0;
            $ptr = 2;
            continue main;
        case 5:
            $tmp = nms_World_getBlockId($var9, $var36, $var37, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var38 = $tmp;
            $var9 = $this.$worldObj14;
            $var2 = $var37 - 1 | 0;
            $ptr = 6;
        case 6:
            $tmp = nms_World_getBlockId($var9, $var36, $var2, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var18 = $tmp;
            if (!$var38) {
                $ptr = 7;
                continue main;
            }
            $var34 = $var34 + (-1) | 0;
            if ($var34 < 0)
                return;
            $var35 = ju_ArrayList_get($var32, $var34);
            $var36 = $var35.$x1;
            $var37 = $var35.$y1;
            $var16 = $var35.$z1;
            $var9 = $this.$worldObj14;
            $ptr = 5;
            continue main;
        case 7:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (nms_Block_opaqueCubeLookup.data[$var18] && !ju_Random_nextInt($this.$ExplosionRNG, 3)) {
                $var9 = $this.$worldObj14;
                $var2 = nms_Block_fire.$blockID;
                $ptr = 9;
                continue main;
            }
            $var34 = $var34 + (-1) | 0;
            if ($var34 < 0)
                return;
            $var35 = ju_ArrayList_get($var32, $var34);
            $var36 = $var35.$x1;
            $var37 = $var35.$y1;
            $var16 = $var35.$z1;
            $var9 = $this.$worldObj14;
            $ptr = 5;
            continue main;
        case 8:
            $tmp = nms_World_getBlockId($var9, $var22, $var23, $var24);
            if ($rt_suspending()) {
                break main;
            }
            $var25 = $tmp;
            if ($var25 > 0) {
                $ptr = 10;
                continue main;
            }
            if ($var14 > 0.0) {
                $var9 = $this.$destroyedBlockPositions0;
                $var31 = nms_ChunkPosition__init_0($var22, $var23, $var24);
                $ptr = 12;
                continue main;
            }
            $var15 = $var15 + $var6;
            $var17 = $var17 + $var8;
            $var19 = $var19 + $var12;
            $var14 = $var14 - 0.22500000894069672;
            while ($var14 <= 0.0) {
                while (true) {
                    $var5 = $var5 + 1 | 0;
                    while ($var5 >= $var2) {
                        $var4 = $var4 + 1 | 0;
                        while ($var4 >= $var2) {
                            $var3 = $var3 + 1 | 0;
                            if ($var3 >= $var2) {
                                $var14 = $this.$explosionSize0 * 2.0;
                                $this.$explosionSize0 = $var14;
                                $var2 = nms_MathHelper_floor_double($this.$explosionX0 - $var14 - 1.0);
                                $var4 = nms_MathHelper_floor_double($this.$explosionX0 + $this.$explosionSize0 + 1.0);
                                $var5 = nms_MathHelper_floor_double($this.$explosionY0 - $this.$explosionSize0 - 1.0);
                                $var29 = nms_MathHelper_floor_double($this.$explosionY0 + $this.$explosionSize0 + 1.0);
                                $var7 = nms_MathHelper_floor_double($this.$explosionZ0 - $this.$explosionSize0 - 1.0);
                                $var30 = nms_MathHelper_floor_double($this.$explosionZ0 + $this.$explosionSize0 + 1.0);
                                $var9 = $this.$worldObj14;
                                $var31 = $this.$exploder;
                                $var33 = nms_AxisAlignedBB_getBoundingBoxFromPool($var2, $var5, $var7, $var4, $var29, $var30);
                                $ptr = 1;
                                continue main;
                            }
                            $var4 = 0;
                        }
                        $var5 = 0;
                    }
                    if (!$var3)
                        break;
                    if ($var3 == 15)
                        break;
                    if (!$var4)
                        break;
                    if ($var4 == 15)
                        break;
                    if (!$var5)
                        break;
                    if ($var5 != 15)
                        continue;
                    else
                        break;
                }
                $var6 = $var3 / var$4 * 2.0 - 1.0;
                $var8 = $var4 / var$4 * 2.0 - 1.0;
                $var10 = $var5 / var$4 * 2.0 - 1.0;
                $var12 = jl_Math_sqrt($var6 * $var6 + $var8 * $var8 + $var10 * $var10);
                $var6 = $var6 / $var12;
                $var8 = $var8 / $var12;
                $var12 = $var10 / $var12;
                $var14 = $this.$explosionSize0 * (0.699999988079071 + ju_Random_nextFloat($this.$worldObj14.$rand2) * 0.6000000238418579);
                $var15 = $this.$explosionX0;
                $var17 = $this.$explosionY0;
                $var19 = $this.$explosionZ0;
                $var21 = 0.30000001192092896;
                $var6 = $var6 * 0.30000001192092896;
                $var8 = $var8 * 0.30000001192092896;
                $var12 = $var12 * 0.30000001192092896;
            }
            $var22 = nms_MathHelper_floor_double($var15);
            $var23 = nms_MathHelper_floor_double($var17);
            $var24 = nms_MathHelper_floor_double($var19);
            $var9 = $this.$worldObj14;
            continue main;
        case 9:
            nms_World_setBlockWithNotify($var9, $var36, $var37, $var16, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var34 = $var34 + (-1) | 0;
            if ($var34 < 0)
                return;
            $var35 = ju_ArrayList_get($var32, $var34);
            $var36 = $var35.$x1;
            $var37 = $var35.$y1;
            $var16 = $var35.$z1;
            $var9 = $this.$worldObj14;
            $ptr = 5;
            continue main;
        case 10:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var31 = nms_Block_blocksList.data[$var25];
            $var9 = $this.$exploder;
            $ptr = 11;
        case 11:
            $tmp = $var31.$getExplosionResistance($var9);
            if ($rt_suspending()) {
                break main;
            }
            var$39 = $tmp;
            $var14 = $var14 - (var$39 + 0.30000001192092896) * $var21;
            if ($var14 > 0.0) {
                $var9 = $this.$destroyedBlockPositions0;
                $var31 = nms_ChunkPosition__init_0($var22, $var23, $var24);
                $ptr = 12;
                continue main;
            }
            $var15 = $var15 + $var6;
            $var17 = $var17 + $var8;
            $var19 = $var19 + $var12;
            $var14 = $var14 - 0.22500000894069672;
            while ($var14 <= 0.0) {
                while (true) {
                    $var5 = $var5 + 1 | 0;
                    while ($var5 >= $var2) {
                        $var4 = $var4 + 1 | 0;
                        while ($var4 >= $var2) {
                            $var3 = $var3 + 1 | 0;
                            if ($var3 >= $var2) {
                                $var14 = $this.$explosionSize0 * 2.0;
                                $this.$explosionSize0 = $var14;
                                $var2 = nms_MathHelper_floor_double($this.$explosionX0 - $var14 - 1.0);
                                $var4 = nms_MathHelper_floor_double($this.$explosionX0 + $this.$explosionSize0 + 1.0);
                                $var5 = nms_MathHelper_floor_double($this.$explosionY0 - $this.$explosionSize0 - 1.0);
                                $var29 = nms_MathHelper_floor_double($this.$explosionY0 + $this.$explosionSize0 + 1.0);
                                $var7 = nms_MathHelper_floor_double($this.$explosionZ0 - $this.$explosionSize0 - 1.0);
                                $var30 = nms_MathHelper_floor_double($this.$explosionZ0 + $this.$explosionSize0 + 1.0);
                                $var9 = $this.$worldObj14;
                                $var31 = $this.$exploder;
                                $var33 = nms_AxisAlignedBB_getBoundingBoxFromPool($var2, $var5, $var7, $var4, $var29, $var30);
                                $ptr = 1;
                                continue main;
                            }
                            $var4 = 0;
                        }
                        $var5 = 0;
                    }
                    if (!$var3)
                        break;
                    if ($var3 == 15)
                        break;
                    if (!$var4)
                        break;
                    if ($var4 == 15)
                        break;
                    if (!$var5)
                        break;
                    if ($var5 != 15)
                        continue;
                    else
                        break;
                }
                $var6 = $var3 / var$4 * 2.0 - 1.0;
                $var8 = $var4 / var$4 * 2.0 - 1.0;
                $var10 = $var5 / var$4 * 2.0 - 1.0;
                $var12 = jl_Math_sqrt($var6 * $var6 + $var8 * $var8 + $var10 * $var10);
                $var6 = $var6 / $var12;
                $var8 = $var8 / $var12;
                $var12 = $var10 / $var12;
                $var14 = $this.$explosionSize0 * (0.699999988079071 + ju_Random_nextFloat($this.$worldObj14.$rand2) * 0.6000000238418579);
                $var15 = $this.$explosionX0;
                $var17 = $this.$explosionY0;
                $var19 = $this.$explosionZ0;
                $var21 = 0.30000001192092896;
                $var6 = $var6 * 0.30000001192092896;
                $var8 = $var8 * 0.30000001192092896;
                $var12 = $var12 * 0.30000001192092896;
            }
            $var22 = nms_MathHelper_floor_double($var15);
            $var23 = nms_MathHelper_floor_double($var17);
            $var24 = nms_MathHelper_floor_double($var19);
            $var9 = $this.$worldObj14;
            $ptr = 8;
            continue main;
        case 12:
            ju_HashSet_add($var9, $var31);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $var15 + $var6;
            $var17 = $var17 + $var8;
            $var19 = $var19 + $var12;
            $var14 = $var14 - 0.22500000894069672;
            while ($var14 <= 0.0) {
                while (true) {
                    $var5 = $var5 + 1 | 0;
                    while ($var5 >= $var2) {
                        $var4 = $var4 + 1 | 0;
                        while ($var4 >= $var2) {
                            $var3 = $var3 + 1 | 0;
                            if ($var3 >= $var2) {
                                $var14 = $this.$explosionSize0 * 2.0;
                                $this.$explosionSize0 = $var14;
                                $var2 = nms_MathHelper_floor_double($this.$explosionX0 - $var14 - 1.0);
                                $var4 = nms_MathHelper_floor_double($this.$explosionX0 + $this.$explosionSize0 + 1.0);
                                $var5 = nms_MathHelper_floor_double($this.$explosionY0 - $this.$explosionSize0 - 1.0);
                                $var29 = nms_MathHelper_floor_double($this.$explosionY0 + $this.$explosionSize0 + 1.0);
                                $var7 = nms_MathHelper_floor_double($this.$explosionZ0 - $this.$explosionSize0 - 1.0);
                                $var30 = nms_MathHelper_floor_double($this.$explosionZ0 + $this.$explosionSize0 + 1.0);
                                $var9 = $this.$worldObj14;
                                $var31 = $this.$exploder;
                                $var33 = nms_AxisAlignedBB_getBoundingBoxFromPool($var2, $var5, $var7, $var4, $var29, $var30);
                                $ptr = 1;
                                continue main;
                            }
                            $var4 = 0;
                        }
                        $var5 = 0;
                    }
                    if (!$var3)
                        break;
                    if ($var3 == 15)
                        break;
                    if (!$var4)
                        break;
                    if ($var4 == 15)
                        break;
                    if (!$var5)
                        break;
                    if ($var5 != 15)
                        continue;
                    else
                        break;
                }
                $var6 = $var3 / var$4 * 2.0 - 1.0;
                $var8 = $var4 / var$4 * 2.0 - 1.0;
                $var10 = $var5 / var$4 * 2.0 - 1.0;
                $var12 = jl_Math_sqrt($var6 * $var6 + $var8 * $var8 + $var10 * $var10);
                $var6 = $var6 / $var12;
                $var8 = $var8 / $var12;
                $var12 = $var10 / $var12;
                $var14 = $this.$explosionSize0 * (0.699999988079071 + ju_Random_nextFloat($this.$worldObj14.$rand2) * 0.6000000238418579);
                $var15 = $this.$explosionX0;
                $var17 = $this.$explosionY0;
                $var19 = $this.$explosionZ0;
                $var21 = 0.30000001192092896;
                $var6 = $var6 * 0.30000001192092896;
                $var8 = $var8 * 0.30000001192092896;
                $var12 = $var12 * 0.30000001192092896;
            }
            $var22 = nms_MathHelper_floor_double($var15);
            $var23 = nms_MathHelper_floor_double($var17);
            $var24 = nms_MathHelper_floor_double($var19);
            $var9 = $this.$worldObj14;
            $ptr = 8;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $var14, $var4, $var5, $var29, $var7, $var30, $var9, $var31, $var33, $var6, $var8, $var10, $var12, $var15, $var17, $var19, $var21, $var22, $var23, $var24, $var11, $var13, $var39, $var32, $var35, $var34, $var36, $var37, $var16, $var40, $var41, $var38, $var18, $var25, var$39, $ptr);
    }
    function nms_Explosion_doExplosionB($this) {
        var $var3, $var15, $var17, $var19, $var1, var$6, var$7, $var2, $var4, $var5, $var6, $var7, $var8, var$14, var$15, var$16, $var9, $var11, $var13, $var21, var$21, var$22, $var23, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();$var21 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var1 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var15
            = $thread.pop();$var3 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = $this.$worldObj14;
            $var15 = $this.$explosionX0;
            $var17 = $this.$explosionY0;
            $var19 = $this.$explosionZ0;
            $var1 = $rt_s(2281);
            var$6 = 4.0;
            var$7 = (1.0 + (ju_Random_nextFloat($var3.$rand2) - ju_Random_nextFloat($this.$worldObj14.$rand2)) * 0.20000000298023224) * 0.699999988079071;
            $ptr = 1;
        case 1:
            nms_World_playSoundEffect($var3, $var15, $var17, $var19, $var1, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = ju_ArrayList__init_0();
            $var3 = $this.$destroyedBlockPositions0;
            $ptr = 2;
        case 2:
            ju_AbstractCollection_addAll($var1, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var1.$size0 - 1 | 0;
            if ($var2 < 0)
                return;
            $var3 = ju_ArrayList_get($var1, $var2);
            $var4 = $var3.$x1;
            $var5 = $var3.$y1;
            $var6 = $var3.$z1;
            $var3 = $this.$worldObj14;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId($var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $var8 = 0;
            var$14 = $var4;
            var$15 = $var5;
            var$16 = $var6;
            if ($var8 >= 1) {
                if ($var7 > 0) {
                    $ptr = 6;
                    continue main;
                }
                $var2 = $var2 + (-1) | 0;
                if ($var2 < 0)
                    return;
                $var3 = ju_ArrayList_get($var1, $var2);
                $var4 = $var3.$x1;
                $var5 = $var3.$y1;
                $var6 = $var3.$z1;
                $var3 = $this.$worldObj14;
                continue main;
            }
            $var9 = var$14 + ju_Random_nextFloat($this.$worldObj14.$rand2);
            $var11 = var$15 + ju_Random_nextFloat($this.$worldObj14.$rand2);
            $var13 = var$16 + ju_Random_nextFloat($this.$worldObj14.$rand2);
            $var15 = $var9 - $this.$explosionX0;
            $var17 = $var11 - $this.$explosionY0;
            $var19 = $var13 - $this.$explosionZ0;
            $var21 = nms_MathHelper_sqrt_double($var15 * $var15 + $var17 * $var17 + $var19 * $var19);
            $var15 = $var15 / $var21;
            var$21 = $var17 / $var21;
            $var19 = $var19 / $var21;
            $var17 = 0.5 / ($var21 / $this.$explosionSize0 + 0.1) * (ju_Random_nextFloat($this.$worldObj14.$rand2) * ju_Random_nextFloat($this.$worldObj14.$rand2) + 0.30000001192092896);
            $var15 = $var15 * $var17;
            $var21 = var$21 * $var17;
            $var17 = $var19 * $var17;
            $var3 = $this.$worldObj14;
            var$22 = $rt_s(1669);
            $var19 = ($var9 + $this.$explosionX0 * 1.0) / 2.0;
            var$21 = ($var11 + $this.$explosionY0 * 1.0) / 2.0;
            $var23 = ($var13 + $this.$explosionZ0 * 1.0) / 2.0;
            $ptr = 4;
        case 4:
            nms_World_spawnParticle($var3, var$22, $var19, var$21, $var23, $var15, $var21, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $this.$worldObj14;
            var$22 = $rt_s(920);
            $ptr = 5;
        case 5:
            nms_World_spawnParticle($var3, var$22, $var9, $var11, $var13, $var15, $var21, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $var8 + 1 | 0;
            if ($var8 >= 1) {
                if ($var7 > 0) {
                    $ptr = 6;
                    continue main;
                }
                $var2 = $var2 + (-1) | 0;
                if ($var2 < 0)
                    return;
                $var3 = ju_ArrayList_get($var1, $var2);
                $var4 = $var3.$x1;
                $var5 = $var3.$y1;
                $var6 = $var3.$z1;
                $var3 = $this.$worldObj14;
                $ptr = 3;
                continue main;
            }
            $var9 = var$14 + ju_Random_nextFloat($this.$worldObj14.$rand2);
            $var11 = var$15 + ju_Random_nextFloat($this.$worldObj14.$rand2);
            $var13 = var$16 + ju_Random_nextFloat($this.$worldObj14.$rand2);
            $var15 = $var9 - $this.$explosionX0;
            $var17 = $var11 - $this.$explosionY0;
            $var19 = $var13 - $this.$explosionZ0;
            $var21 = nms_MathHelper_sqrt_double($var15 * $var15 + $var17 * $var17 + $var19 * $var19);
            $var15 = $var15 / $var21;
            var$21 = $var17 / $var21;
            $var19 = $var19 / $var21;
            $var17 = 0.5 / ($var21 / $this.$explosionSize0 + 0.1) * (ju_Random_nextFloat($this.$worldObj14.$rand2) * ju_Random_nextFloat($this.$worldObj14.$rand2) + 0.30000001192092896);
            $var15 = $var15 * $var17;
            $var21 = var$21 * $var17;
            $var17 = $var19 * $var17;
            $var3 = $this.$worldObj14;
            var$22 = $rt_s(1669);
            $var19 = ($var9 + $this.$explosionX0 * 1.0) / 2.0;
            var$21 = ($var11 + $this.$explosionY0 * 1.0) / 2.0;
            $var23 = ($var13 + $this.$explosionZ0 * 1.0) / 2.0;
            $ptr = 4;
            continue main;
        case 6:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_Block_blocksList.data[$var7];
            var$22 = $this.$worldObj14;
            $ptr = 7;
        case 7:
            $tmp = nms_World_getBlockMetadata(var$22, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            var$6 = 0.30000001192092896;
            $ptr = 8;
        case 8:
            $var3.$dropBlockAsItemWithChance(var$22, $var4, $var5, $var6, $var8, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $this.$worldObj14;
            $var8 = 0;
            $ptr = 9;
        case 9:
            nms_World_setBlockWithNotify($var3, $var4, $var5, $var6, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_Block_blocksList.data[$var7];
            var$22 = $this.$worldObj14;
            $ptr = 10;
        case 10:
            $var3.$onBlockDestroyedByExplosion(var$22, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var2 = $var2 + (-1) | 0;
            if ($var2 < 0)
                return;
            $var3 = ju_ArrayList_get($var1, $var2);
            $var4 = $var3.$x1;
            $var5 = $var3.$y1;
            $var6 = $var3.$z1;
            $var3 = $this.$worldObj14;
            $ptr = 3;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var3, $var15, $var17, $var19, $var1, var$6, var$7, $var2, $var4, $var5, $var6, $var7, $var8, var$14, var$15, var$16, $var9, $var11, $var13, $var21, var$21, var$22, $var23, $ptr);
    }
    function nms_PlayerControllerMP() {
        var a = this; nms_PlayerController.call(a);
        a.$field_9445_c = 0;
        a.$field_9444_d = 0;
        a.$field_9443_e = 0;
        a.$field_9442_f = 0.0;
        a.$field_1080_g = 0.0;
        a.$field_9441_h = 0.0;
        a.$field_9440_i = 0;
        a.$field_9439_j = 0;
        a.$netClientHandler = null;
        a.$field_1075_l = 0;
    }
    function nms_PlayerControllerMP_flipPlayer($this, $var1) {
        $var1.$rotationYaw = (-180.0);
    }
    function nms_PlayerControllerMP_sendBlockRemoved($this, $var1, $var2, $var3, $var4) {
        var $var7, $var5, $var6, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var7 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var7 = $this.$mc7.$theWorld;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var7, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 2;
        case 2:
            $tmp = nms_PlayerController_sendBlockRemoved($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var7 = nms_EntityPlayer_getCurrentEquippedItem($this.$mc7.$thePlayer);
            if ($var7 === null)
                return $var6;
            var$8 = $this.$mc7.$thePlayer;
            $ptr = 3;
        case 3:
            nms_ItemStack_func_25191_a($var7, $var5, $var1, $var2, $var3, var$8);
            if ($rt_suspending()) {
                break main;
            }
            if (!$var7.$stackSize)
                nms_EntityPlayer_destroyCurrentEquippedItem($this.$mc7.$thePlayer);
            return $var6;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var7, $var5, $var6, var$8, $ptr);
    }
    function nms_PlayerControllerMP_clickBlock($this, $var1, $var2, $var3, $var4) {
        var var$5, var$6, $var5, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var5 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$field_9439_j && $var1 == $this.$field_9445_c && $var2 == $this.$field_9444_d && $var3 == $this.$field_9443_e)
                return;
            var$5 = $this.$netClientHandler;
            var$6 = new nms_Packet14BlockDig;
            $var5 = 0;
            $ptr = 1;
        case 1:
            nms_Packet14BlockDig__init_0(var$6, $var5, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_NetClientHandler_addToSendQueue(var$5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $this.$mc7.$theWorld;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId(var$6, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 > 0 && $this.$field_9442_f === 0.0) {
                $ptr = 6;
                continue main;
            }
            if ($var5 <= 0) {
                $this.$field_9439_j = 1;
                $this.$field_9445_c = $var1;
                $this.$field_9444_d = $var2;
                $this.$field_9443_e = $var3;
                $this.$field_9442_f = 0.0;
                $this.$field_1080_g = 0.0;
                $this.$field_9441_h = 0.0;
                return;
            }
            $ptr = 4;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_Block_blocksList.data[$var5];
            var$5 = $this.$mc7.$thePlayer;
            $ptr = 5;
        case 5:
            $tmp = nms_Block_blockStrength(var$6, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8 < 1.0) {
                $this.$field_9439_j = 1;
                $this.$field_9445_c = $var1;
                $this.$field_9444_d = $var2;
                $this.$field_9443_e = $var3;
                $this.$field_9442_f = 0.0;
                $this.$field_1080_g = 0.0;
                $this.$field_9441_h = 0.0;
                return;
            }
            $ptr = 8;
            continue main;
        case 6:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$6 = nms_Block_blocksList.data[$var5];
            var$5 = $this.$mc7;
            var$9 = var$5.$theWorld;
            var$5 = var$5.$thePlayer;
            $ptr = 7;
        case 7:
            var$6.$onBlockClicked(var$9, $var1, $var2, $var3, var$5);
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 <= 0) {
                $this.$field_9439_j = 1;
                $this.$field_9445_c = $var1;
                $this.$field_9444_d = $var2;
                $this.$field_9443_e = $var3;
                $this.$field_9442_f = 0.0;
                $this.$field_1080_g = 0.0;
                $this.$field_9441_h = 0.0;
                return;
            }
            $ptr = 4;
            continue main;
        case 8:
            nms_PlayerControllerMP_sendBlockRemoved($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $var5, var$8, var$9, $ptr);
    }
    function nms_PlayerControllerMP_func_6468_a($this) {
        $this.$field_9442_f = 0.0;
        $this.$field_9439_j = 0;
    }
    function nms_PlayerControllerMP_sendBlockRemoving($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (!$this.$field_9439_j)
                return;
            $ptr = 1;
        case 1:
            nms_PlayerControllerMP_func_730_e($this);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$field_9440_i;
            if ($var5 > 0) {
                $this.$field_9440_i = $var5 - 1 | 0;
                return;
            }
            if ($var1 == $this.$field_9445_c && $var2 == $this.$field_9444_d && $var3 == $this.$field_9443_e) {
                $var6 = $this.$mc7.$theWorld;
                $ptr = 3;
                continue main;
            }
            $ptr = 2;
        case 2:
            nms_PlayerControllerMP_clickBlock($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 3:
            $tmp = nms_World_getBlockId($var6, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if (!$var5) {
                $this.$field_9439_j = 0;
                return;
            }
            $ptr = 4;
        case 4:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var6 = nms_Block_blocksList.data[$var5];
            var$7 = $this.$field_9442_f;
            var$8 = $this.$mc7.$thePlayer;
            $ptr = 5;
        case 5:
            $tmp = nms_Block_blockStrength($var6, var$8);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            $this.$field_9442_f = var$7 + var$9;
            if ($this.$field_9441_h % 4.0 === 0.0) {
                var$8 = $this.$mc7.$sndManager;
                var$10 = $var6.$stepSound;
                $ptr = 6;
                continue main;
            }
            $this.$field_9441_h = $this.$field_9441_h + 1.0;
            if ($this.$field_9442_f < 1.0)
                return;
            $this.$field_9439_j = 0;
            $var6 = $this.$netClientHandler;
            var$8 = new nms_Packet14BlockDig;
            $var5 = 2;
            $ptr = 8;
            continue main;
        case 6:
            $tmp = nms_StepSound_func_1145_d(var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            var$11 = $var1 + 0.5;
            var$12 = $var2 + 0.5;
            var$7 = $var3 + 0.5;
            $var6 = $var6.$stepSound;
            var$9 = ($var6.$field_1677_b + 1.0) / 8.0;
            var$13 = $var6.$field_1679_c * 0.5;
            $ptr = 7;
        case 7:
            nms_SoundManager_playSound(var$8, var$10, var$11, var$12, var$7, var$9, var$13);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_9441_h = $this.$field_9441_h + 1.0;
            if ($this.$field_9442_f < 1.0)
                return;
            $this.$field_9439_j = 0;
            $var6 = $this.$netClientHandler;
            var$8 = new nms_Packet14BlockDig;
            $var5 = 2;
            $ptr = 8;
        case 8:
            nms_Packet14BlockDig__init_0(var$8, $var5, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 9;
        case 9:
            nms_NetClientHandler_addToSendQueue($var6, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 10;
        case 10:
            nms_PlayerControllerMP_sendBlockRemoved($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_9442_f = 0.0;
            $this.$field_1080_g = 0.0;
            $this.$field_9441_h = 0.0;
            $this.$field_9440_i = 5;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
    }
    function nms_PlayerControllerMP_setPartialTime($this, $var1) {
        var var$2, var$3, $var2;
        var$2 = $this.$field_9442_f;
        if (var$2 <= 0.0) {
            var$3 = $this.$mc7;
            var$3.$ingameGUI.$field_6446_b = 0.0;
            var$3.$renderGlobal.$field_1450_i = 0.0;
        } else {
            $var2 = $this.$field_1080_g;
            $var2 = $var2 + (var$2 - $var2) * $var1;
            var$3 = $this.$mc7;
            var$3.$ingameGUI.$field_6446_b = $var2;
            var$3.$renderGlobal.$field_1450_i = $var2;
        }
    }
    function nms_PlayerControllerMP_getBlockReachDistance($this) {
        return 4.0;
    }
    function nms_PlayerControllerMP_func_717_a($this, $var1) {}
    function nms_PlayerControllerMP_updateController($this) {
        var var$1, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_PlayerControllerMP_func_730_e($this);
            if ($rt_suspending()) {
                break main;
            }
            $this.$field_1080_g = $this.$field_9442_f;
            var$1 = $this.$mc7.$sndManager;
            $ptr = 2;
        case 2:
            nms_SoundManager_playRandomMusicIfReady(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $ptr);
    }
    function nms_PlayerControllerMP_func_730_e($this) {
        var $var1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $this.$mc7.$thePlayer.$inventory.$currentItem;
            if ($var1 == $this.$field_1075_l)
                return;
            $this.$field_1075_l = $var1;
            var$2 = $this.$netClientHandler;
            var$3 = new nms_Packet16BlockItemSwitch;
            $ptr = 1;
        case 1:
            nms_Packet__init_(var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3.$id3 = $var1;
            $ptr = 2;
        case 2:
            nms_NetClientHandler_addToSendQueue(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
    }
    function nms_PlayerControllerMP_sendPlaceBlock($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
        var var$8, var$9, var$10, $var8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var8 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_PlayerControllerMP_func_730_e($this);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $this.$netClientHandler;
            var$9 = new nms_Packet15Place;
            var$10 = nms_InventoryPlayer_getCurrentItem($var1.$inventory);
            $ptr = 2;
        case 2:
            nms_Packet15Place__init_0(var$9, $var4, $var5, $var6, $var7, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_NetClientHandler_addToSendQueue(var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = nms_PlayerController_sendPlaceBlock($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            return $var8;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, var$9, var$10, $var8, $ptr);
    }
    function nms_PlayerControllerMP_sendUseItem($this, $var1, $var2, $var3) {
        var var$4, var$5, $var4, var$7, var$8, var$9, var$10, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var4 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_PlayerControllerMP_func_730_e($this);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $this.$netClientHandler;
            var$5 = new nms_Packet15Place;
            $var4 = (-1);
            var$7 = (-1);
            var$8 = (-1);
            var$9 = 255;
            var$10 = nms_InventoryPlayer_getCurrentItem($var1.$inventory);
            $ptr = 2;
        case 2:
            nms_Packet15Place__init_0(var$5, $var4, var$7, var$8, var$9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_NetClientHandler_addToSendQueue(var$4, var$5);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = nms_PlayerController_sendUseItem($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            return $var4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $var4, var$7, var$8, var$9, var$10, $ptr);
    }
    function nms_PlayerControllerMP_createPlayer($this, $var1) {
        var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$2 = new nms_EntityClientPlayerMP;
            var$3 = $this.$mc7;
            var$4 = var$3.$session;
            var$5 = $this.$netClientHandler;
            var$6 = 0;
            $ptr = 1;
        case 1:
            nms_EntityPlayerSP__init_(var$2, var$3, $var1, var$4, var$6);
            if ($rt_suspending()) {
                break main;
            }
            var$2.$field_9380_bx = 0;
            var$2.$field_21093_bH = 0;
            var$2.$field_9382_bF = 0;
            var$2.$field_9381_bG = 0;
            var$2.$field_12242_bI = 0;
            var$2.$sendQueue = var$5;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, $ptr);
    }
    function nms_PlayerControllerMP_func_6472_b($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_PlayerControllerMP_func_730_e($this);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$netClientHandler;
            var$4 = new nms_Packet7;
            var$5 = $var1.$entityId;
            var$6 = $var2.$entityId;
            var$7 = 1;
            $ptr = 2;
        case 2:
            nms_Packet7__init_0(var$4, var$5, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_NetClientHandler_addToSendQueue(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_EntityPlayer_attackTargetEntityWithCurrentItem($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_PlayerControllerMP_func_6475_a($this, $var1, $var2) {
        var var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_PlayerControllerMP_func_730_e($this);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $this.$netClientHandler;
            var$4 = new nms_Packet7;
            var$5 = $var1.$entityId;
            var$6 = $var2.$entityId;
            var$7 = 0;
            $ptr = 2;
        case 2:
            nms_Packet7__init_0(var$4, var$5, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            nms_NetClientHandler_addToSendQueue(var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            nms_EntityPlayer_useCurrentItemOnEntity($var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_PlayerControllerMP_func_20085_a($this, $var1, $var2, $var3, $var4) {
        var $var5, $var6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = nms_CraftingInventoryCB_func_20111_a($var4.$craftingInventory, $var4.$inventory);
            $ptr = 1;
        case 1:
            $tmp = nms_PlayerController_func_20085_a($this, $var1, $var2, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $var4 = $this.$netClientHandler;
            var$7 = new nms_Packet102;
            $ptr = 2;
        case 2:
            nms_Packet__init_(var$7);
            if ($rt_suspending()) {
                break main;
            }
            var$7.$window_Id = $var1;
            var$7.$inventorySlot = $var2;
            var$7.$mouseClick = $var3;
            var$7.$itemStack1 = $var6;
            var$7.$action = $var5;
            $ptr = 3;
        case 3:
            nms_NetClientHandler_addToSendQueue($var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            return $var6;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
    }
    function nms_PlayerControllerMP_func_20086_a($this, $var1, $var2) {}
    function nms_GuiDownloadTerrain() {
        var a = this; nms_GuiScreen.call(a);
        a.$netHandler0 = null;
        a.$updateCounter5 = 0;
    }
    function nms_GuiDownloadTerrain_keyTyped($this, $var1, $var2) {}
    function nms_GuiDownloadTerrain_initGui($this) {
        ju_ArrayList_clear($this.$controlList);
    }
    function nms_GuiDownloadTerrain_updateScreen($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$updateCounter5 + 1 | 0;
            $this.$updateCounter5 = var$1;
            if (var$1 % 20 | 0) {
                var$2 = $this.$netHandler0;
                if (var$2 === null)
                    return;
                $ptr = 3;
                continue main;
            }
            var$2 = $this.$netHandler0;
            var$3 = new nms_Packet0KeepAlive;
            $ptr = 1;
        case 1:
            nms_Packet__init_(var$3);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            nms_NetClientHandler_addToSendQueue(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$netHandler0;
            if (var$2 === null)
                return;
            $ptr = 3;
        case 3:
            nms_NetClientHandler_processReadPackets(var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    function nms_GuiDownloadTerrain_actionPerformed($this, $var1) {}
    function nms_GuiDownloadTerrain_drawScreen($this, $var1, $var2, $var3) {
        var var$4, $var4, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$4 = 0;
            $ptr = 1;
        case 1:
            nms_GuiScreen_drawBackground($this, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_StringTranslate_getInstance();
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            var$6 = $this.$fontRenderer0;
            var$7 = $rt_s(2282);
            $ptr = 3;
        case 3:
            $tmp = nms_StringTranslate_translateKey($var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            var$4 = $this.$width1 / 2 | 0;
            var$8 = ($this.$height3 / 2 | 0) - 50 | 0;
            var$9 = 16777215;
            $ptr = 4;
        case 4:
            nms_Gui_drawCenteredString($this, var$6, $var4, var$4, var$8, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $var4, var$6, var$7, var$8, var$9, $ptr);
    }
    function nms_Teleporter() {
        jl_Object.call(this);
        this.$field_4232_a = null;
    }
    function nms_Teleporter__init_0() {
        var var_0 = new nms_Teleporter();
        nms_Teleporter__init_(var_0);
        return var_0;
    }
    function nms_Teleporter__init_($this) {
        $this.$field_4232_a = new ju_Random;
    }
    function nms_Teleporter_func_4106_b($this, $var1, $var2) {
        var $var4, $var6, $var7, $var8, $var9, $var10, $var11, var$10, var$11, $var3, $var22, $var16, $var18, $var12, $var14, $var15, $var17, $var20, var$21, var$22, var$23, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();$var20 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var22 = $thread.pop();$var3 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2
            = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = (-1.0);
            $var6 = 0;
            $var7 = 0;
            $var8 = 0;
            $var9 = nms_MathHelper_floor_double($var2.$posX);
            $var10 = nms_MathHelper_floor_double($var2.$posZ);
            $var11 = $var9 - 128 | 0;
            var$10 = $var9 + 128 | 0;
            var$11 = $var10 - 128 | 0;
            $var3 = $var10 + 128 | 0;
            a: while (true) {
                if ($var11 > var$10) {
                    if ($var4 < 0.0)
                        return 0;
                    $var22 = $var6 + 0.5;
                    $var16 = $var7 + 0.5;
                    $var18 = $var8 + 0.5;
                    $var3 = $var6 - 1 | 0;
                    $ptr = 1;
                    continue main;
                }
                $var12 = $var11 + 0.5 - $var2.$posX;
                $var12 = $var12 * $var12;
                $var14 = var$11;
                while ($var14 <= $var3) {
                    $var15 = $var14 + 0.5 - $var2.$posZ;
                    $var17 = 127;
                    $var15 = $var15 * $var15;
                    if ($var17 >= 0)
                        break a;
                    $var14 = $var14 + 1 | 0;
                }
                $var11 = $var11 + 1 | 0;
            }
            $ptr = 4;
            continue main;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var3, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var3 == nms_Block_portal.$blockID)
                $var22 = $var22 - 0.5;
            $var3 = $var6 + 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId($var1, $var3, $var7, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3 == nms_Block_portal.$blockID)
                $var22 = $var22 + 0.5;
            $var3 = $var8 - 1 | 0;
            $ptr = 6;
            continue main;
        case 4:
            $tmp = nms_World_getBlockId($var1, $var11, $var17, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var9 = $tmp;
            $ptr = 5;
        case 5:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var9 == nms_Block_portal.$blockID) {
                $var9 = $var17;
                $var17 = $var9 - 1 | 0;
                $ptr = 7;
                continue main;
            }
            $var17 = $var17 + (-1) | 0;
            while ($var17 < 0) {
                $var14 = $var14 + 1 | 0;
                while ($var14 > $var3) {
                    $var11 = $var11 + 1 | 0;
                    if ($var11 > var$10) {
                        if ($var4 < 0.0)
                            return 0;
                        $var22 = $var6 + 0.5;
                        $var16 = $var7 + 0.5;
                        $var18 = $var8 + 0.5;
                        $var3 = $var6 - 1 | 0;
                        $ptr = 1;
                        continue main;
                    }
                    $var12 = $var11 + 0.5 - $var2.$posX;
                    $var12 = $var12 * $var12;
                    $var14 = var$11;
                }
                $var15 = $var14 + 0.5 - $var2.$posZ;
                $var17 = 127;
                $var15 = $var15 * $var15;
            }
            $ptr = 4;
            continue main;
        case 6:
            $tmp = nms_World_getBlockId($var1, $var6, $var7, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3 == nms_Block_portal.$blockID)
                $var18 = $var18 - 0.5;
            $var3 = $var8 + 1 | 0;
            $ptr = 8;
            continue main;
        case 7:
            $tmp = nms_World_getBlockId($var1, $var11, $var17, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            if ($var10 == nms_Block_portal.$blockID) {
                $var9 = $var9 + (-1) | 0;
                $var17 = $var9 - 1 | 0;
                continue main;
            }
            $var18 = $var9 + 0.5 - $var2.$posY;
            $var20 = $var12 + $var18 * $var18 + $var15;
            if ($var4 >= 0.0 && $var20 >= $var4)
                $var17 = $var9;
            else {
                $var17 = $var9;
                $var6 = $var11;
                $var8 = $var14;
                $var4 = $var20;
                $var7 = $var9;
            }
            $var17 = $var17 + (-1) | 0;
            while ($var17 < 0) {
                $var14 = $var14 + 1 | 0;
                while ($var14 > $var3) {
                    $var11 = $var11 + 1 | 0;
                    if ($var11 > var$10) {
                        if ($var4 < 0.0)
                            return 0;
                        $var22 = $var6 + 0.5;
                        $var16 = $var7 + 0.5;
                        $var18 = $var8 + 0.5;
                        $var3 = $var6 - 1 | 0;
                        $ptr = 1;
                        continue main;
                    }
                    $var12 = $var11 + 0.5 - $var2.$posX;
                    $var12 = $var12 * $var12;
                    $var14 = var$11;
                }
                $var15 = $var14 + 0.5 - $var2.$posZ;
                $var17 = 127;
                $var15 = $var15 * $var15;
            }
            $ptr = 4;
            continue main;
        case 8:
            $tmp = nms_World_getBlockId($var1, $var6, $var7, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3 == nms_Block_portal.$blockID)
                $var18 = $var18 + 0.5;
            $var1 = jl_System_out();
            var$21 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$21);
            var$22 = $rt_s(2283);
            $ptr = 9;
        case 9:
            $tmp = jl_StringBuilder_append(var$21, var$22);
            if ($rt_suspending()) {
                break main;
            }
            var$22 = $tmp;
            var$22 = jl_StringBuilder_append4(var$22, $var22);
            var$23 = $rt_s(107);
            $ptr = 10;
        case 10:
            $tmp = jl_StringBuilder_append(var$22, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$22 = $tmp;
            var$22 = jl_StringBuilder_append4(var$22, $var16);
            var$23 = $rt_s(107);
            $ptr = 11;
        case 11:
            $tmp = jl_StringBuilder_append(var$22, var$23);
            if ($rt_suspending()) {
                break main;
            }
            var$22 = $tmp;
            jl_StringBuilder_append4(var$22, $var18);
            $ptr = 12;
        case 12:
            $tmp = jl_AbstractStringBuilder_toString(var$21);
            if ($rt_suspending()) {
                break main;
            }
            var$21 = $tmp;
            $ptr = 13;
        case 13:
            ji_PrintStream_println0($var1, var$21);
            if ($rt_suspending()) {
                break main;
            }
            nms_Entity_setLocationAndAngles($var2, $var22, $var16, $var18, $var2.$rotationYaw, 0.0);
            $var2.$motionZ = 0.0;
            $var2.$motionY = 0.0;
            $var2.$motionX = 0.0;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var7, $var8, $var9, $var10, $var11, var$10, var$11, $var3, $var22, $var16, $var18, $var12, $var14, $var15, $var17, $var20, var$21, var$22, var$23, $ptr);
    }
    function nms_Teleporter_func_4108_c($this, $var1, $var2) {
        var $var4, $var6, $var7, $var8, $var12, $var13, $var25, $var34, $var23, $var31, $var22, $var14, $var17, $var15, var$17, $var17_0, $var18, $var20, $var19, $var21, $var3, $var24, $var26, $var22_0, $var23_0, $var24_0, $var25_0, $var26_0, $var29, $var27, $var28, $var32, $var33, var$36, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$36 = $thread.pop();$var33 = $thread.pop();$var32 = $thread.pop();$var28 = $thread.pop();$var27 = $thread.pop();$var29 = $thread.pop();$var26_0 = $thread.pop();$var25_0 = $thread.pop();$var24_0 = $thread.pop();$var23_0 = $thread.pop();$var22_0 = $thread.pop();$var26 = $thread.pop();$var24 = $thread.pop();$var3 = $thread.pop();$var21 = $thread.pop();$var19 = $thread.pop();$var20 = $thread.pop();$var18 = $thread.pop();$var17_0 = $thread.pop();var$17 = $thread.pop();$var15 =
            $thread.pop();$var17 = $thread.pop();$var14 = $thread.pop();$var22 = $thread.pop();$var31 = $thread.pop();$var23 = $thread.pop();$var34 = $thread.pop();$var25 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = (-1.0);
            $var6 = nms_MathHelper_floor_double($var2.$posX);
            $var7 = nms_MathHelper_floor_double($var2.$posY);
            $var8 = nms_MathHelper_floor_double($var2.$posZ);
            $var12 = 0;
            $var13 = ju_Random_nextInt($this.$field_4232_a, 4);
            $var25 = $var6 - 16 | 0;
            $var34 = $var6 + 16 | 0;
            $var23 = $var8 - 16 | 0;
            $var31 = $var8 + 16 | 0;
            $var22 = $var13 + 4 | 0;
            $var14 = $var25;
            a: while (true) {
                if ($var14 > $var34) {
                    if ($var4 < 0.0) {
                        $var17 = $var13 + 2 | 0;
                        while ($var25 <= $var34) {
                            $var15 = $var25 + 0.5 - $var2.$posX;
                            var$17 = $var15 * $var15;
                            $var17_0 = $var23;
                            while ($var17_0 <= $var31) {
                                $var18 = $var17_0 + 0.5 - $var2.$posZ;
                                $var20 = 127;
                                $var18 = $var18 * $var18;
                                if ($var20 >= 0) {
                                    $ptr = 2;
                                    continue main;
                                }
                                $var17_0 = $var17_0 + 1 | 0;
                            }
                            $var25 = $var25 + 1 | 0;
                        }
                    }
                    $var31 = $var12 % 2 | 0;
                    $var19 = 1 - $var31 | 0;
                    if (($var12 % 4 | 0) >= 2) {
                        $var31 =  -$var31 | 0;
                        $var19 =  -$var19 | 0;
                    }
                    if ($var4 < 0.0) {
                        if ($var7 < 70)
                            $var7 = 70;
                        if ($var7 > 118)
                            $var7 = 118;
                        $var20 = (-1);
                        while ($var20 <= 1) {
                            $var21 = 1;
                            while ($var21 < 3) {
                                $var22 = (-1);
                                if ($var22 < 3) {
                                    $var3 = $var21 - 1 | 0;
                                    $var23 = ($var6 + $rt_imul($var3, $var31) | 0) + $rt_imul($var20, $var19) | 0;
                                    $var24 = $var7 + $var22 | 0;
                                    $var25 = ($var8 + $rt_imul($var3, $var19) | 0) - $rt_imul($var20, $var31) | 0;
                                    if ($var22 >= 0 ? 0 : 1) {
                                        $ptr = 11;
                                        continue main;
                                    }
                                    $var3 = 0;
                                    $ptr = 14;
                                    continue main;
                                }
                                $var21 = $var21 + 1 | 0;
                            }
                            $var20 = $var20 + 1 | 0;
                        }
                    }
                    $var20 = 0;
                    while ($var20 < 4) {
                        $var1.$editingBlocks = 1;
                        $var21 = 0;
                        while ($var21 < 4) {
                            $var22 = (-1);
                            if ($var22 < 4) {
                                $var3 = $var21 - 1 | 0;
                                $var23 = $var6 + $rt_imul($var3, $var31) | 0;
                                $var24 = $var7 + $var22 | 0;
                                $var25 = $var8 + $rt_imul($var3, $var19) | 0;
                                if (!($var21 && $var21 != 3 && $var22 != (-1) && $var22 != 3 ? 0 : 1)) {
                                    $ptr = 7;
                                    continue main;
                                }
                                $ptr = 8;
                                continue main;
                            }
                            $var21 = $var21 + 1 | 0;
                        }
                        $var1.$editingBlocks = 0;
                        $var3 = 0;
                        while ($var3 < 4) {
                            $var22 = (-1);
                            if ($var22 < 4) {
                                $var26 = $var3 - 1 | 0;
                                $var23 = $var6 + $rt_imul($var26, $var31) | 0;
                                $var24 = $var7 + $var22 | 0;
                                $var25 = $var8 + $rt_imul($var26, $var19) | 0;
                                $ptr = 5;
                                continue main;
                            }
                            $var3 = $var3 + 1 | 0;
                        }
                        $var20 = $var20 + 1 | 0;
                    }
                    return 1;
                }
                $var15 = $var14 + 0.5 - $var2.$posX;
                var$17 = $var15 * $var15;
                $var17 = $var23;
                while ($var17 <= $var31) {
                    $var18 = $var17 + 0.5 - $var2.$posZ;
                    $var20 = 127;
                    $var18 = $var18 * $var18;
                    if ($var20 >= 0)
                        break a;
                    $var17 = $var17 + 1 | 0;
                }
                $var14 = $var14 + 1 | 0;
            }
            $ptr = 1;
        case 1:
            $tmp = nms_World_isAirBlock($var1, $var14, $var20, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3) {
                if ($var20 > 0) {
                    $var3 = $var20 - 1 | 0;
                    $ptr = 3;
                    continue main;
                }
                $var21 = $var13;
                while ($var21 < $var22) {
                    $var22_0 = $var21 % 2 | 0;
                    $var23_0 = 1 - $var22_0 | 0;
                    $var24 = $var21 % 4 | 0;
                    if ($var24 >= 2) {
                        $var22_0 =  -$var22_0 | 0;
                        $var23_0 =  -$var23_0 | 0;
                    }
                    $var24_0 = 0;
                    while ($var24_0 < 3) {
                        $var25_0 = 0;
                        while ($var25_0 < 4) {
                            $var26_0 = (-1);
                            while ($var26_0 < 4) {
                                $var29 = $var25_0 - 1 | 0;
                                $var27 = ($var14 + $rt_imul($var29, $var22_0) | 0) + $rt_imul($var24_0, $var23_0) | 0;
                                $var28 = $var20 + $var26_0 | 0;
                                $var29 = ($var17 + $rt_imul($var29, $var23_0) | 0) - $rt_imul($var24_0, $var22_0) | 0;
                                if ($var26_0 < 0) {
                                    $ptr = 13;
                                    continue main;
                                }
                                if ($var26_0 >= 0) {
                                    $ptr = 15;
                                    continue main;
                                }
                                $var26_0 = $var26_0 + 1 | 0;
                            }
                            $var25_0 = $var25_0 + 1 | 0;
                        }
                        $var24_0 = $var24_0 + 1 | 0;
                    }
                    $var32 = $var20 + 0.5 - $var2.$posY;
                    $var33 = var$17 + $var32 * $var32 + $var18;
                    if ($var4 >= 0.0 && $var33 >= $var4) {
                        $var33 = $var4;
                        $var24 = $var12;
                    } else {
                        $var6 = $var14;
                        $var7 = $var20;
                        $var8 = $var17;
                    }
                    $var21 = $var21 + 1 | 0;
                    $var4 = $var33;
                    $var12 = $var24;
                }
            }
            $var20 = $var20 + (-1) | 0;
            while ($var20 < 0) {
                $var17 = $var17 + 1 | 0;
                while ($var17 > $var31) {
                    $var14 = $var14 + 1 | 0;
                    if ($var14 > $var34) {
                        if ($var4 < 0.0) {
                            $var17 = $var13 + 2 | 0;
                            while ($var25 <= $var34) {
                                $var15 = $var25 + 0.5 - $var2.$posX;
                                var$17 = $var15 * $var15;
                                $var17_0 = $var23;
                                while ($var17_0 <= $var31) {
                                    $var18 = $var17_0 + 0.5 - $var2.$posZ;
                                    $var20 = 127;
                                    $var18 = $var18 * $var18;
                                    if ($var20 >= 0) {
                                        $ptr = 2;
                                        continue main;
                                    }
                                    $var17_0 = $var17_0 + 1 | 0;
                                }
                                $var25 = $var25 + 1 | 0;
                            }
                        }
                        $var31 = $var12 % 2 | 0;
                        $var19 = 1 - $var31 | 0;
                        if (($var12 % 4 | 0) >= 2) {
                            $var31 =  -$var31 | 0;
                            $var19 =  -$var19 | 0;
                        }
                        if ($var4 < 0.0) {
                            if ($var7 < 70)
                                $var7 = 70;
                            if ($var7 > 118)
                                $var7 = 118;
                            $var20 = (-1);
                            while ($var20 <= 1) {
                                $var21 = 1;
                                while ($var21 < 3) {
                                    $var22 = (-1);
                                    if ($var22 < 3) {
                                        $var3 = $var21 - 1 | 0;
                                        $var23 = ($var6 + $rt_imul($var3, $var31) | 0) + $rt_imul($var20, $var19) | 0;
                                        $var24 = $var7 + $var22 | 0;
                                        $var25 = ($var8 + $rt_imul($var3, $var19) | 0) - $rt_imul($var20, $var31) | 0;
                                        if ($var22 >= 0 ? 0 : 1) {
                                            $ptr = 11;
                                            continue main;
                                        }
                                        $var3 = 0;
                                        $ptr = 14;
                                        continue main;
                                    }
                                    $var21 = $var21 + 1 | 0;
                                }
                                $var20 = $var20 + 1 | 0;
                            }
                        }
                        $var20 = 0;
                        while ($var20 < 4) {
                            $var1.$editingBlocks = 1;
                            $var21 = 0;
                            while ($var21 < 4) {
                                $var22 = (-1);
                                if ($var22 < 4) {
                                    $var3 = $var21 - 1 | 0;
                                    $var23 = $var6 + $rt_imul($var3, $var31) | 0;
                                    $var24 = $var7 + $var22 | 0;
                                    $var25 = $var8 + $rt_imul($var3, $var19) | 0;
                                    if (!($var21 && $var21 != 3 && $var22 != (-1) && $var22 != 3 ? 0 : 1)) {
                                        $ptr = 7;
                                        continue main;
                                    }
                                    $ptr = 8;
                                    continue main;
                                }
                                $var21 = $var21 + 1 | 0;
                            }
                            $var1.$editingBlocks = 0;
                            $var3 = 0;
                            while ($var3 < 4) {
                                $var22 = (-1);
                                if ($var22 < 4) {
                                    $var26 = $var3 - 1 | 0;
                                    $var23 = $var6 + $rt_imul($var26, $var31) | 0;
                                    $var24 = $var7 + $var22 | 0;
                                    $var25 = $var8 + $rt_imul($var26, $var19) | 0;
                                    $ptr = 5;
                                    continue main;
                                }
                                $var3 = $var3 + 1 | 0;
                            }
                            $var20 = $var20 + 1 | 0;
                        }
                        return 1;
                    }
                    $var15 = $var14 + 0.5 - $var2.$posX;
                    var$17 = $var15 * $var15;
                    $var17 = $var23;
                }
                $var18 = $var17 + 0.5 - $var2.$posZ;
                $var20 = 127;
                $var18 = $var18 * $var18;
            }
            continue main;
        case 2:
            $tmp = nms_World_isAirBlock($var1, $var25, $var20, $var17_0);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3) {
                $var3 = $var20 - 1 | 0;
                $ptr = 4;
                continue main;
            }
            $var20 = $var20 + (-1) | 0;
            while ($var20 < 0) {
                $var17_0 = $var17_0 + 1 | 0;
                while ($var17_0 > $var31) {
                    $var25 = $var25 + 1 | 0;
                    if ($var25 > $var34) {
                        $var31 = $var12 % 2 | 0;
                        $var19 = 1 - $var31 | 0;
                        if (($var12 % 4 | 0) >= 2) {
                            $var31 =  -$var31 | 0;
                            $var19 =  -$var19 | 0;
                        }
                        if ($var4 < 0.0) {
                            if ($var7 < 70)
                                $var7 = 70;
                            if ($var7 > 118)
                                $var7 = 118;
                            $var20 = (-1);
                            while ($var20 <= 1) {
                                $var21 = 1;
                                while ($var21 < 3) {
                                    $var22 = (-1);
                                    if ($var22 < 3) {
                                        $var3 = $var21 - 1 | 0;
                                        $var23 = ($var6 + $rt_imul($var3, $var31) | 0) + $rt_imul($var20, $var19) | 0;
                                        $var24 = $var7 + $var22 | 0;
                                        $var25 = ($var8 + $rt_imul($var3, $var19) | 0) - $rt_imul($var20, $var31) | 0;
                                        if ($var22 >= 0 ? 0 : 1) {
                                            $ptr = 11;
                                            continue main;
                                        }
                                        $var3 = 0;
                                        $ptr = 14;
                                        continue main;
                                    }
                                    $var21 = $var21 + 1 | 0;
                                }
                                $var20 = $var20 + 1 | 0;
                            }
                        }
                        $var20 = 0;
                        while ($var20 < 4) {
                            $var1.$editingBlocks = 1;
                            $var21 = 0;
                            while ($var21 < 4) {
                                $var22 = (-1);
                                if ($var22 < 4) {
                                    $var3 = $var21 - 1 | 0;
                                    $var23 = $var6 + $rt_imul($var3, $var31) | 0;
                                    $var24 = $var7 + $var22 | 0;
                                    $var25 = $var8 + $rt_imul($var3, $var19) | 0;
                                    if (!($var21 && $var21 != 3 && $var22 != (-1) && $var22 != 3 ? 0 : 1)) {
                                        $ptr = 7;
                                        continue main;
                                    }
                                    $ptr = 8;
                                    continue main;
                                }
                                $var21 = $var21 + 1 | 0;
                            }
                            $var1.$editingBlocks = 0;
                            $var3 = 0;
                            while ($var3 < 4) {
                                $var22 = (-1);
                                if ($var22 < 4) {
                                    $var26 = $var3 - 1 | 0;
                                    $var23 = $var6 + $rt_imul($var26, $var31) | 0;
                                    $var24 = $var7 + $var22 | 0;
                                    $var25 = $var8 + $rt_imul($var26, $var19) | 0;
                                    $ptr = 5;
                                    continue main;
                                }
                                $var3 = $var3 + 1 | 0;
                            }
                            $var20 = $var20 + 1 | 0;
                        }
                        return 1;
                    }
                    $var15 = $var25 + 0.5 - $var2.$posX;
                    var$17 = $var15 * $var15;
                    $var17_0 = $var23;
                }
                $var18 = $var17_0 + 0.5 - $var2.$posZ;
                $var20 = 127;
                $var18 = $var18 * $var18;
            }
            continue main;
        case 3:
            $tmp = nms_World_isAirBlock($var1, $var14, $var3, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3) {
                $var20 = $var20 + (-1) | 0;
                if ($var20 > 0) {
                    $var3 = $var20 - 1 | 0;
                    continue main;
                }
            }
            $var21 = $var13;
            b: while (true) {
                if ($var21 >= $var22) {
                    $var20 = $var20 + (-1) | 0;
                    while ($var20 < 0) {
                        $var17 = $var17 + 1 | 0;
                        while ($var17 > $var31) {
                            $var14 = $var14 + 1 | 0;
                            if ($var14 > $var34) {
                                if ($var4 < 0.0) {
                                    $var17 = $var13 + 2 | 0;
                                    while ($var25 <= $var34) {
                                        $var15 = $var25 + 0.5 - $var2.$posX;
                                        var$17 = $var15 * $var15;
                                        $var17_0 = $var23;
                                        while ($var17_0 <= $var31) {
                                            $var18 = $var17_0 + 0.5 - $var2.$posZ;
                                            $var20 = 127;
                                            $var18 = $var18 * $var18;
                                            if ($var20 >= 0) {
                                                $ptr = 2;
                                                continue main;
                                            }
                                            $var17_0 = $var17_0 + 1 | 0;
                                        }
                                        $var25 = $var25 + 1 | 0;
                                    }
                                }
                                $var31 = $var12 % 2 | 0;
                                $var19 = 1 - $var31 | 0;
                                if (($var12 % 4 | 0) >= 2) {
                                    $var31 =  -$var31 | 0;
                                    $var19 =  -$var19 | 0;
                                }
                                if ($var4 < 0.0) {
                                    if ($var7 < 70)
                                        $var7 = 70;
                                    if ($var7 > 118)
                                        $var7 = 118;
                                    $var20 = (-1);
                                    while ($var20 <= 1) {
                                        $var21 = 1;
                                        while ($var21 < 3) {
                                            $var22 = (-1);
                                            if ($var22 < 3) {
                                                $var3 = $var21 - 1 | 0;
                                                $var23 = ($var6 + $rt_imul($var3, $var31) | 0) + $rt_imul($var20, $var19) | 0;
                                                $var24 = $var7 + $var22 | 0;
                                                $var25 = ($var8 + $rt_imul($var3, $var19) | 0) - $rt_imul($var20, $var31) | 0;
                                                if ($var22 >= 0 ? 0 : 1) {
                                                    $ptr = 11;
                                                    continue main;
                                                }
                                                $var3 = 0;
                                                $ptr = 14;
                                                continue main;
                                            }
                                            $var21 = $var21 + 1 | 0;
                                        }
                                        $var20 = $var20 + 1 | 0;
                                    }
                                }
                                $var20 = 0;
                                while ($var20 < 4) {
                                    $var1.$editingBlocks = 1;
                                    $var21 = 0;
                                    while ($var21 < 4) {
                                        $var22 = (-1);
                                        if ($var22 < 4) {
                                            $var3 = $var21 - 1 | 0;
                                            $var23 = $var6 + $rt_imul($var3, $var31) | 0;
                                            $var24 = $var7 + $var22 | 0;
                                            $var25 = $var8 + $rt_imul($var3, $var19) | 0;
                                            if (!($var21 && $var21 != 3 && $var22 != (-1) && $var22 != 3 ? 0 : 1)) {
                                                $ptr = 7;
                                                continue main;
                                            }
                                            $ptr = 8;
                                            continue main;
                                        }
                                        $var21 = $var21 + 1 | 0;
                                    }
                                    $var1.$editingBlocks = 0;
                                    $var3 = 0;
                                    while ($var3 < 4) {
                                        $var22 = (-1);
                                        if ($var22 < 4) {
                                            $var26 = $var3 - 1 | 0;
                                            $var23 = $var6 + $rt_imul($var26, $var31) | 0;
                                            $var24 = $var7 + $var22 | 0;
                                            $var25 = $var8 + $rt_imul($var26, $var19) | 0;
                                            $ptr = 5;
                                            continue main;
                                        }
                                        $var3 = $var3 + 1 | 0;
                                    }
                                    $var20 = $var20 + 1 | 0;
                                }
                                return 1;
                            }
                            $var15 = $var14 + 0.5 - $var2.$posX;
                            var$17 = $var15 * $var15;
                            $var17 = $var23;
                        }
                        $var18 = $var17 + 0.5 - $var2.$posZ;
                        $var20 = 127;
                        $var18 = $var18 * $var18;
                    }
                    $ptr = 1;
                    continue main;
                }
                $var22_0 = $var21 % 2 | 0;
                $var23_0 = 1 - $var22_0 | 0;
                $var24 = $var21 % 4 | 0;
                if ($var24 >= 2) {
                    $var22_0 =  -$var22_0 | 0;
                    $var23_0 =  -$var23_0 | 0;
                }
                $var24_0 = 0;
                while ($var24_0 < 3) {
                    $var25_0 = 0;
                    while ($var25_0 < 4) {
                        $var26_0 = (-1);
                        while ($var26_0 < 4) {
                            $var29 = $var25_0 - 1 | 0;
                            $var27 = ($var14 + $rt_imul($var29, $var22_0) | 0) + $rt_imul($var24_0, $var23_0) | 0;
                            $var28 = $var20 + $var26_0 | 0;
                            $var29 = ($var17 + $rt_imul($var29, $var23_0) | 0) - $rt_imul($var24_0, $var22_0) | 0;
                            if ($var26_0 < 0) {
                                $ptr = 13;
                                continue main;
                            }
                            if ($var26_0 >= 0)
                                break b;
                            $var26_0 = $var26_0 + 1 | 0;
                        }
                        $var25_0 = $var25_0 + 1 | 0;
                    }
                    $var24_0 = $var24_0 + 1 | 0;
                }
                $var32 = $var20 + 0.5 - $var2.$posY;
                $var33 = var$17 + $var32 * $var32 + $var18;
                if ($var4 >= 0.0 && $var33 >= $var4) {
                    $var33 = $var4;
                    $var24 = $var12;
                } else {
                    $var6 = $var14;
                    $var7 = $var20;
                    $var8 = $var17;
                }
                $var21 = $var21 + 1 | 0;
                $var4 = $var33;
                $var12 = $var24;
            }
            $ptr = 15;
            continue main;
        case 4:
            $tmp = nms_World_isAirBlock($var1, $var25, $var3, $var17_0);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3) {
                $var20 = $var20 + (-1) | 0;
                $var3 = $var20 - 1 | 0;
                continue main;
            }
            $var21 = $var13;
            b: while (true) {
                if ($var21 >= $var17) {
                    $var20 = $var20 + (-1) | 0;
                    while ($var20 < 0) {
                        $var17_0 = $var17_0 + 1 | 0;
                        while ($var17_0 > $var31) {
                            $var25 = $var25 + 1 | 0;
                            if ($var25 > $var34) {
                                $var31 = $var12 % 2 | 0;
                                $var19 = 1 - $var31 | 0;
                                if (($var12 % 4 | 0) >= 2) {
                                    $var31 =  -$var31 | 0;
                                    $var19 =  -$var19 | 0;
                                }
                                if ($var4 < 0.0) {
                                    if ($var7 < 70)
                                        $var7 = 70;
                                    if ($var7 > 118)
                                        $var7 = 118;
                                    $var20 = (-1);
                                    while ($var20 <= 1) {
                                        $var21 = 1;
                                        while ($var21 < 3) {
                                            $var22 = (-1);
                                            if ($var22 < 3) {
                                                $var3 = $var21 - 1 | 0;
                                                $var23 = ($var6 + $rt_imul($var3, $var31) | 0) + $rt_imul($var20, $var19) | 0;
                                                $var24 = $var7 + $var22 | 0;
                                                $var25 = ($var8 + $rt_imul($var3, $var19) | 0) - $rt_imul($var20, $var31) | 0;
                                                if ($var22 >= 0 ? 0 : 1) {
                                                    $ptr = 11;
                                                    continue main;
                                                }
                                                $var3 = 0;
                                                $ptr = 14;
                                                continue main;
                                            }
                                            $var21 = $var21 + 1 | 0;
                                        }
                                        $var20 = $var20 + 1 | 0;
                                    }
                                }
                                $var20 = 0;
                                while ($var20 < 4) {
                                    $var1.$editingBlocks = 1;
                                    $var21 = 0;
                                    while ($var21 < 4) {
                                        $var22 = (-1);
                                        if ($var22 < 4) {
                                            $var3 = $var21 - 1 | 0;
                                            $var23 = $var6 + $rt_imul($var3, $var31) | 0;
                                            $var24 = $var7 + $var22 | 0;
                                            $var25 = $var8 + $rt_imul($var3, $var19) | 0;
                                            if (!($var21 && $var21 != 3 && $var22 != (-1) && $var22 != 3 ? 0 : 1)) {
                                                $ptr = 7;
                                                continue main;
                                            }
                                            $ptr = 8;
                                            continue main;
                                        }
                                        $var21 = $var21 + 1 | 0;
                                    }
                                    $var1.$editingBlocks = 0;
                                    $var3 = 0;
                                    while ($var3 < 4) {
                                        $var22 = (-1);
                                        if ($var22 < 4) {
                                            $var26 = $var3 - 1 | 0;
                                            $var23 = $var6 + $rt_imul($var26, $var31) | 0;
                                            $var24 = $var7 + $var22 | 0;
                                            $var25 = $var8 + $rt_imul($var26, $var19) | 0;
                                            $ptr = 5;
                                            continue main;
                                        }
                                        $var3 = $var3 + 1 | 0;
                                    }
                                    $var20 = $var20 + 1 | 0;
                                }
                                return 1;
                            }
                            $var15 = $var25 + 0.5 - $var2.$posX;
                            var$17 = $var15 * $var15;
                            $var17_0 = $var23;
                        }
                        $var18 = $var17_0 + 0.5 - $var2.$posZ;
                        $var20 = 127;
                        $var18 = $var18 * $var18;
                    }
                    $ptr = 2;
                    continue main;
                }
                $var22 = $var21 % 2 | 0;
                $var23_0 = 1 - $var22 | 0;
                $var24 = 0;
                while ($var24 < 4) {
                    $var25_0 = (-1);
                    while ($var25_0 < 4) {
                        $var3 = $var24 - 1 | 0;
                        $var26 = $var25 + $rt_imul($var3, $var22) | 0;
                        $var27 = $var20 + $var25_0 | 0;
                        $var28 = $var17_0 + $rt_imul($var3, $var23_0) | 0;
                        if ($var25_0 < 0) {
                            $ptr = 10;
                            continue main;
                        }
                        if ($var25_0 >= 0)
                            break b;
                        $var25_0 = $var25_0 + 1 | 0;
                    }
                    $var24 = $var24 + 1 | 0;
                }
                $var32 = $var20 + 0.5 - $var2.$posY;
                $var33 = var$17 + $var32 * $var32 + $var18;
                if ($var4 >= 0.0 && $var33 >= $var4) {
                    $var33 = $var4;
                    $var22 = $var12;
                } else {
                    $var6 = $var25;
                    $var7 = $var20;
                    $var8 = $var17_0;
                }
                $var21 = $var21 + 1 | 0;
                $var4 = $var33;
                $var12 = $var22;
            }
            $ptr = 12;
            continue main;
        case 5:
            $tmp = nms_World_getBlockId($var1, $var23, $var24, $var25);
            if ($rt_suspending()) {
                break main;
            }
            $var26 = $tmp;
            $ptr = 6;
        case 6:
            nms_World_notifyBlocksOfNeighborChange($var1, $var23, $var24, $var25, $var26);
            if ($rt_suspending()) {
                break main;
            }
            $var22 = $var22 + 1 | 0;
            c: while (true) {
                if ($var22 < 4) {
                    $var26 = $var3 - 1 | 0;
                    $var23 = $var6 + $rt_imul($var26, $var31) | 0;
                    $var24 = $var7 + $var22 | 0;
                    $var25 = $var8 + $rt_imul($var26, $var19) | 0;
                    $ptr = 5;
                    continue main;
                }
                $var3 = $var3 + 1 | 0;
                while ($var3 >= 4) {
                    $var20 = $var20 + 1 | 0;
                    if ($var20 >= 4)
                        break c;
                    $var1.$editingBlocks = 1;
                    $var21 = 0;
                    while ($var21 < 4) {
                        $var22 = (-1);
                        if ($var22 < 4) {
                            $var3 = $var21 - 1 | 0;
                            $var23 = $var6 + $rt_imul($var3, $var31) | 0;
                            $var24 = $var7 + $var22 | 0;
                            $var25 = $var8 + $rt_imul($var3, $var19) | 0;
                            if (!($var21 && $var21 != 3 && $var22 != (-1) && $var22 != 3 ? 0 : 1)) {
                                $ptr = 7;
                                continue main;
                            }
                            $ptr = 8;
                            continue main;
                        }
                        $var21 = $var21 + 1 | 0;
                    }
                    $var1.$editingBlocks = 0;
                    $var3 = 0;
                }
                $var22 = (-1);
            }
            return 1;
        case 7:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_Block_portal.$blockID;
            $ptr = 9;
            continue main;
        case 8:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_Block_obsidian.$blockID;
            $ptr = 9;
        case 9:
            nms_World_setBlockWithNotify($var1, $var23, $var24, $var25, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var22 = $var22 + 1 | 0;
            c: while (true) {
                if ($var22 < 4) {
                    $var3 = $var21 - 1 | 0;
                    $var23 = $var6 + $rt_imul($var3, $var31) | 0;
                    $var24 = $var7 + $var22 | 0;
                    $var25 = $var8 + $rt_imul($var3, $var19) | 0;
                    if (!($var21 && $var21 != 3 && $var22 != (-1) && $var22 != 3 ? 0 : 1)) {
                        $ptr = 7;
                        continue main;
                    }
                    $ptr = 8;
                    continue main;
                }
                $var21 = $var21 + 1 | 0;
                while ($var21 >= 4) {
                    $var1.$editingBlocks = 0;
                    $var3 = 0;
                    while ($var3 < 4) {
                        $var22 = (-1);
                        if ($var22 < 4) {
                            $var26 = $var3 - 1 | 0;
                            $var23 = $var6 + $rt_imul($var26, $var31) | 0;
                            $var24 = $var7 + $var22 | 0;
                            $var25 = $var8 + $rt_imul($var26, $var19) | 0;
                            $ptr = 5;
                            continue main;
                        }
                        $var3 = $var3 + 1 | 0;
                    }
                    $var20 = $var20 + 1 | 0;
                    if ($var20 >= 4)
                        break c;
                    $var1.$editingBlocks = 1;
                    $var21 = 0;
                }
                $var22 = (-1);
            }
            return 1;
        case 10:
            $tmp = nms_World_getBlockMaterial($var1, $var26, $var27, $var28);
            if ($rt_suspending()) {
                break main;
            }
            var$36 = $tmp;
            if (var$36.$isSolid())
                d: while (true) {
                    if ($var25_0 >= 0) {
                        $ptr = 12;
                        continue main;
                    }
                    $var25_0 = $var25_0 + 1 | 0;
                    while ($var25_0 >= 4) {
                        $var24 = $var24 + 1 | 0;
                        while ($var24 >= 4) {
                            $var32 = $var20 + 0.5 - $var2.$posY;
                            $var33 = var$17 + $var32 * $var32 + $var18;
                            if ($var4 >= 0.0 && $var33 >= $var4) {
                                $var33 = $var4;
                                $var22 = $var12;
                            } else {
                                $var6 = $var25;
                                $var7 = $var20;
                                $var8 = $var17_0;
                            }
                            $var21 = $var21 + 1 | 0;
                            $var4 = $var33;
                            $var12 = $var22;
                            if ($var21 >= $var17)
                                break d;
                            $var22 = $var21 % 2 | 0;
                            $var23_0 = 1 - $var22 | 0;
                            $var24 = 0;
                        }
                        $var25_0 = (-1);
                    }
                    $var3 = $var24 - 1 | 0;
                    $var26 = $var25 + $rt_imul($var3, $var22) | 0;
                    $var27 = $var20 + $var25_0 | 0;
                    $var28 = $var17_0 + $rt_imul($var3, $var23_0) | 0;
                    if ($var25_0 >= 0)
                        continue;
                    else {
                        continue main;
                    }
                }
            $var20 = $var20 + (-1) | 0;
            while ($var20 < 0) {
                $var17_0 = $var17_0 + 1 | 0;
                while ($var17_0 > $var31) {
                    $var25 = $var25 + 1 | 0;
                    if ($var25 > $var34) {
                        $var31 = $var12 % 2 | 0;
                        $var19 = 1 - $var31 | 0;
                        if (($var12 % 4 | 0) >= 2) {
                            $var31 =  -$var31 | 0;
                            $var19 =  -$var19 | 0;
                        }
                        if ($var4 < 0.0) {
                            if ($var7 < 70)
                                $var7 = 70;
                            if ($var7 > 118)
                                $var7 = 118;
                            $var20 = (-1);
                            while ($var20 <= 1) {
                                $var21 = 1;
                                while ($var21 < 3) {
                                    $var22 = (-1);
                                    if ($var22 < 3) {
                                        $var3 = $var21 - 1 | 0;
                                        $var23 = ($var6 + $rt_imul($var3, $var31) | 0) + $rt_imul($var20, $var19) | 0;
                                        $var24 = $var7 + $var22 | 0;
                                        $var25 = ($var8 + $rt_imul($var3, $var19) | 0) - $rt_imul($var20, $var31) | 0;
                                        if ($var22 >= 0 ? 0 : 1) {
                                            $ptr = 11;
                                            continue main;
                                        }
                                        $var3 = 0;
                                        $ptr = 14;
                                        continue main;
                                    }
                                    $var21 = $var21 + 1 | 0;
                                }
                                $var20 = $var20 + 1 | 0;
                            }
                        }
                        $var20 = 0;
                        while ($var20 < 4) {
                            $var1.$editingBlocks = 1;
                            $var21 = 0;
                            while ($var21 < 4) {
                                $var22 = (-1);
                                if ($var22 < 4) {
                                    $var3 = $var21 - 1 | 0;
                                    $var23 = $var6 + $rt_imul($var3, $var31) | 0;
                                    $var24 = $var7 + $var22 | 0;
                                    $var25 = $var8 + $rt_imul($var3, $var19) | 0;
                                    if (!($var21 && $var21 != 3 && $var22 != (-1) && $var22 != 3 ? 0 : 1)) {
                                        $ptr = 7;
                                        continue main;
                                    }
                                    $ptr = 8;
                                    continue main;
                                }
                                $var21 = $var21 + 1 | 0;
                            }
                            $var1.$editingBlocks = 0;
                            $var3 = 0;
                            while ($var3 < 4) {
                                $var22 = (-1);
                                if ($var22 < 4) {
                                    $var26 = $var3 - 1 | 0;
                                    $var23 = $var6 + $rt_imul($var26, $var31) | 0;
                                    $var24 = $var7 + $var22 | 0;
                                    $var25 = $var8 + $rt_imul($var26, $var19) | 0;
                                    $ptr = 5;
                                    continue main;
                                }
                                $var3 = $var3 + 1 | 0;
                            }
                            $var20 = $var20 + 1 | 0;
                        }
                        return 1;
                    }
                    $var15 = $var25 + 0.5 - $var2.$posX;
                    var$17 = $var15 * $var15;
                    $var17_0 = $var23;
                }
                $var18 = $var17_0 + 0.5 - $var2.$posZ;
                $var20 = 127;
                $var18 = $var18 * $var18;
            }
            $ptr = 2;
            continue main;
        case 11:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var3 = nms_Block_obsidian.$blockID;
            $ptr = 14;
            continue main;
        case 12:
            $tmp = nms_World_isAirBlock($var1, $var26, $var27, $var28);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3)
                d: while (true) {
                    $var25_0 = $var25_0 + 1 | 0;
                    while ($var25_0 >= 4) {
                        $var24 = $var24 + 1 | 0;
                        while ($var24 >= 4) {
                            $var32 = $var20 + 0.5 - $var2.$posY;
                            $var33 = var$17 + $var32 * $var32 + $var18;
                            if ($var4 >= 0.0 && $var33 >= $var4) {
                                $var33 = $var4;
                                $var22 = $var12;
                            } else {
                                $var6 = $var25;
                                $var7 = $var20;
                                $var8 = $var17_0;
                            }
                            $var21 = $var21 + 1 | 0;
                            $var4 = $var33;
                            $var12 = $var22;
                            if ($var21 >= $var17)
                                break d;
                            $var22 = $var21 % 2 | 0;
                            $var23_0 = 1 - $var22 | 0;
                            $var24 = 0;
                        }
                        $var25_0 = (-1);
                    }
                    $var3 = $var24 - 1 | 0;
                    $var26 = $var25 + $rt_imul($var3, $var22) | 0;
                    $var27 = $var20 + $var25_0 | 0;
                    $var28 = $var17_0 + $rt_imul($var3, $var23_0) | 0;
                    if ($var25_0 < 0) {
                        $ptr = 10;
                        continue main;
                    }
                    if ($var25_0 < 0)
                        continue;
                    else {
                        continue main;
                    }
                }
            $var20 = $var20 + (-1) | 0;
            while ($var20 < 0) {
                $var17_0 = $var17_0 + 1 | 0;
                while ($var17_0 > $var31) {
                    $var25 = $var25 + 1 | 0;
                    if ($var25 > $var34) {
                        $var31 = $var12 % 2 | 0;
                        $var19 = 1 - $var31 | 0;
                        if (($var12 % 4 | 0) >= 2) {
                            $var31 =  -$var31 | 0;
                            $var19 =  -$var19 | 0;
                        }
                        if ($var4 < 0.0) {
                            if ($var7 < 70)
                                $var7 = 70;
                            if ($var7 > 118)
                                $var7 = 118;
                            $var20 = (-1);
                            while ($var20 <= 1) {
                                $var21 = 1;
                                while ($var21 < 3) {
                                    $var22 = (-1);
                                    if ($var22 < 3) {
                                        $var3 = $var21 - 1 | 0;
                                        $var23 = ($var6 + $rt_imul($var3, $var31) | 0) + $rt_imul($var20, $var19) | 0;
                                        $var24 = $var7 + $var22 | 0;
                                        $var25 = ($var8 + $rt_imul($var3, $var19) | 0) - $rt_imul($var20, $var31) | 0;
                                        if ($var22 >= 0 ? 0 : 1) {
                                            $ptr = 11;
                                            continue main;
                                        }
                                        $var3 = 0;
                                        $ptr = 14;
                                        continue main;
                                    }
                                    $var21 = $var21 + 1 | 0;
                                }
                                $var20 = $var20 + 1 | 0;
                            }
                        }
                        $var20 = 0;
                        while ($var20 < 4) {
                            $var1.$editingBlocks = 1;
                            $var21 = 0;
                            while ($var21 < 4) {
                                $var22 = (-1);
                                if ($var22 < 4) {
                                    $var3 = $var21 - 1 | 0;
                                    $var23 = $var6 + $rt_imul($var3, $var31) | 0;
                                    $var24 = $var7 + $var22 | 0;
                                    $var25 = $var8 + $rt_imul($var3, $var19) | 0;
                                    if (!($var21 && $var21 != 3 && $var22 != (-1) && $var22 != 3 ? 0 : 1)) {
                                        $ptr = 7;
                                        continue main;
                                    }
                                    $ptr = 8;
                                    continue main;
                                }
                                $var21 = $var21 + 1 | 0;
                            }
                            $var1.$editingBlocks = 0;
                            $var3 = 0;
                            while ($var3 < 4) {
                                $var22 = (-1);
                                if ($var22 < 4) {
                                    $var26 = $var3 - 1 | 0;
                                    $var23 = $var6 + $rt_imul($var26, $var31) | 0;
                                    $var24 = $var7 + $var22 | 0;
                                    $var25 = $var8 + $rt_imul($var26, $var19) | 0;
                                    $ptr = 5;
                                    continue main;
                                }
                                $var3 = $var3 + 1 | 0;
                            }
                            $var20 = $var20 + 1 | 0;
                        }
                        return 1;
                    }
                    $var15 = $var25 + 0.5 - $var2.$posX;
                    var$17 = $var15 * $var15;
                    $var17_0 = $var23;
                }
                $var18 = $var17_0 + 0.5 - $var2.$posZ;
                $var20 = 127;
                $var18 = $var18 * $var18;
            }
            $ptr = 2;
            continue main;
        case 13:
            $tmp = nms_World_getBlockMaterial($var1, $var27, $var28, $var29);
            if ($rt_suspending()) {
                break main;
            }
            var$36 = $tmp;
            if (var$36.$isSolid())
                d: while (true) {
                    if ($var26_0 >= 0) {
                        $ptr = 15;
                        continue main;
                    }
                    $var26_0 = $var26_0 + 1 | 0;
                    while ($var26_0 >= 4) {
                        $var25_0 = $var25_0 + 1 | 0;
                        while ($var25_0 >= 4) {
                            $var24_0 = $var24_0 + 1 | 0;
                            while ($var24_0 >= 3) {
                                $var32 = $var20 + 0.5 - $var2.$posY;
                                $var33 = var$17 + $var32 * $var32 + $var18;
                                if ($var4 >= 0.0 && $var33 >= $var4) {
                                    $var33 = $var4;
                                    $var24 = $var12;
                                } else {
                                    $var6 = $var14;
                                    $var7 = $var20;
                                    $var8 = $var17;
                                }
                                $var21 = $var21 + 1 | 0;
                                $var4 = $var33;
                                $var12 = $var24;
                                if ($var21 >= $var22)
                                    break d;
                                $var22_0 = $var21 % 2 | 0;
                                $var23_0 = 1 - $var22_0 | 0;
                                $var24 = $var21 % 4 | 0;
                                if ($var24 >= 2) {
                                    $var22_0 =  -$var22_0 | 0;
                                    $var23_0 =  -$var23_0 | 0;
                                }
                                $var24_0 = 0;
                            }
                            $var25_0 = 0;
                        }
                        $var26_0 = (-1);
                    }
                    $var29 = $var25_0 - 1 | 0;
                    $var27 = ($var14 + $rt_imul($var29, $var22_0) | 0) + $rt_imul($var24_0, $var23_0) | 0;
                    $var28 = $var20 + $var26_0 | 0;
                    $var29 = ($var17 + $rt_imul($var29, $var23_0) | 0) - $rt_imul($var24_0, $var22_0) | 0;
                    if ($var26_0 >= 0)
                        continue;
                    else {
                        continue main;
                    }
                }
            $var20 = $var20 + (-1) | 0;
            while ($var20 < 0) {
                $var17 = $var17 + 1 | 0;
                while ($var17 > $var31) {
                    $var14 = $var14 + 1 | 0;
                    if ($var14 > $var34) {
                        if ($var4 < 0.0) {
                            $var17 = $var13 + 2 | 0;
                            while ($var25 <= $var34) {
                                $var15 = $var25 + 0.5 - $var2.$posX;
                                var$17 = $var15 * $var15;
                                $var17_0 = $var23;
                                while ($var17_0 <= $var31) {
                                    $var18 = $var17_0 + 0.5 - $var2.$posZ;
                                    $var20 = 127;
                                    $var18 = $var18 * $var18;
                                    if ($var20 >= 0) {
                                        $ptr = 2;
                                        continue main;
                                    }
                                    $var17_0 = $var17_0 + 1 | 0;
                                }
                                $var25 = $var25 + 1 | 0;
                            }
                        }
                        $var31 = $var12 % 2 | 0;
                        $var19 = 1 - $var31 | 0;
                        if (($var12 % 4 | 0) >= 2) {
                            $var31 =  -$var31 | 0;
                            $var19 =  -$var19 | 0;
                        }
                        if ($var4 < 0.0) {
                            if ($var7 < 70)
                                $var7 = 70;
                            if ($var7 > 118)
                                $var7 = 118;
                            $var20 = (-1);
                            while ($var20 <= 1) {
                                $var21 = 1;
                                while ($var21 < 3) {
                                    $var22 = (-1);
                                    if ($var22 < 3) {
                                        $var3 = $var21 - 1 | 0;
                                        $var23 = ($var6 + $rt_imul($var3, $var31) | 0) + $rt_imul($var20, $var19) | 0;
                                        $var24 = $var7 + $var22 | 0;
                                        $var25 = ($var8 + $rt_imul($var3, $var19) | 0) - $rt_imul($var20, $var31) | 0;
                                        if ($var22 >= 0 ? 0 : 1) {
                                            $ptr = 11;
                                            continue main;
                                        }
                                        $var3 = 0;
                                        $ptr = 14;
                                        continue main;
                                    }
                                    $var21 = $var21 + 1 | 0;
                                }
                                $var20 = $var20 + 1 | 0;
                            }
                        }
                        $var20 = 0;
                        while ($var20 < 4) {
                            $var1.$editingBlocks = 1;
                            $var21 = 0;
                            while ($var21 < 4) {
                                $var22 = (-1);
                                if ($var22 < 4) {
                                    $var3 = $var21 - 1 | 0;
                                    $var23 = $var6 + $rt_imul($var3, $var31) | 0;
                                    $var24 = $var7 + $var22 | 0;
                                    $var25 = $var8 + $rt_imul($var3, $var19) | 0;
                                    if (!($var21 && $var21 != 3 && $var22 != (-1) && $var22 != 3 ? 0 : 1)) {
                                        $ptr = 7;
                                        continue main;
                                    }
                                    $ptr = 8;
                                    continue main;
                                }
                                $var21 = $var21 + 1 | 0;
                            }
                            $var1.$editingBlocks = 0;
                            $var3 = 0;
                            while ($var3 < 4) {
                                $var22 = (-1);
                                if ($var22 < 4) {
                                    $var26 = $var3 - 1 | 0;
                                    $var23 = $var6 + $rt_imul($var26, $var31) | 0;
                                    $var24 = $var7 + $var22 | 0;
                                    $var25 = $var8 + $rt_imul($var26, $var19) | 0;
                                    $ptr = 5;
                                    continue main;
                                }
                                $var3 = $var3 + 1 | 0;
                            }
                            $var20 = $var20 + 1 | 0;
                        }
                        return 1;
                    }
                    $var15 = $var14 + 0.5 - $var2.$posX;
                    var$17 = $var15 * $var15;
                    $var17 = $var23;
                }
                $var18 = $var17 + 0.5 - $var2.$posZ;
                $var20 = 127;
                $var18 = $var18 * $var18;
            }
            $ptr = 1;
            continue main;
        case 14:
            nms_World_setBlockWithNotify($var1, $var23, $var24, $var25, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var22 = $var22 + 1 | 0;
            while ($var22 >= 3) {
                $var21 = $var21 + 1 | 0;
                while ($var21 >= 3) {
                    $var20 = $var20 + 1 | 0;
                    if ($var20 > 1) {
                        $var20 = 0;
                        while ($var20 < 4) {
                            $var1.$editingBlocks = 1;
                            $var21 = 0;
                            while ($var21 < 4) {
                                $var22 = (-1);
                                if ($var22 < 4) {
                                    $var3 = $var21 - 1 | 0;
                                    $var23 = $var6 + $rt_imul($var3, $var31) | 0;
                                    $var24 = $var7 + $var22 | 0;
                                    $var25 = $var8 + $rt_imul($var3, $var19) | 0;
                                    if (!($var21 && $var21 != 3 && $var22 != (-1) && $var22 != 3 ? 0 : 1)) {
                                        $ptr = 7;
                                        continue main;
                                    }
                                    $ptr = 8;
                                    continue main;
                                }
                                $var21 = $var21 + 1 | 0;
                            }
                            $var1.$editingBlocks = 0;
                            $var3 = 0;
                            while ($var3 < 4) {
                                $var22 = (-1);
                                if ($var22 < 4) {
                                    $var26 = $var3 - 1 | 0;
                                    $var23 = $var6 + $rt_imul($var26, $var31) | 0;
                                    $var24 = $var7 + $var22 | 0;
                                    $var25 = $var8 + $rt_imul($var26, $var19) | 0;
                                    $ptr = 5;
                                    continue main;
                                }
                                $var3 = $var3 + 1 | 0;
                            }
                            $var20 = $var20 + 1 | 0;
                        }
                        return 1;
                    }
                    $var21 = 1;
                }
                $var22 = (-1);
            }
            $var3 = $var21 - 1 | 0;
            $var23 = ($var6 + $rt_imul($var3, $var31) | 0) + $rt_imul($var20, $var19) | 0;
            $var24 = $var7 + $var22 | 0;
            $var25 = ($var8 + $rt_imul($var3, $var19) | 0) - $rt_imul($var20, $var31) | 0;
            if ($var22 >= 0 ? 0 : 1) {
                $ptr = 11;
                continue main;
            }
            $var3 = 0;
            continue main;
        case 15:
            $tmp = nms_World_isAirBlock($var1, $var27, $var28, $var29);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3)
                d: while (true) {
                    $var26_0 = $var26_0 + 1 | 0;
                    while ($var26_0 >= 4) {
                        $var25_0 = $var25_0 + 1 | 0;
                        while ($var25_0 >= 4) {
                            $var24_0 = $var24_0 + 1 | 0;
                            while ($var24_0 >= 3) {
                                $var32 = $var20 + 0.5 - $var2.$posY;
                                $var33 = var$17 + $var32 * $var32 + $var18;
                                if ($var4 >= 0.0 && $var33 >= $var4) {
                                    $var33 = $var4;
                                    $var24 = $var12;
                                } else {
                                    $var6 = $var14;
                                    $var7 = $var20;
                                    $var8 = $var17;
                                }
                                $var21 = $var21 + 1 | 0;
                                $var4 = $var33;
                                $var12 = $var24;
                                if ($var21 >= $var22)
                                    break d;
                                $var22_0 = $var21 % 2 | 0;
                                $var23_0 = 1 - $var22_0 | 0;
                                $var24 = $var21 % 4 | 0;
                                if ($var24 >= 2) {
                                    $var22_0 =  -$var22_0 | 0;
                                    $var23_0 =  -$var23_0 | 0;
                                }
                                $var24_0 = 0;
                            }
                            $var25_0 = 0;
                        }
                        $var26_0 = (-1);
                    }
                    $var29 = $var25_0 - 1 | 0;
                    $var27 = ($var14 + $rt_imul($var29, $var22_0) | 0) + $rt_imul($var24_0, $var23_0) | 0;
                    $var28 = $var20 + $var26_0 | 0;
                    $var29 = ($var17 + $rt_imul($var29, $var23_0) | 0) - $rt_imul($var24_0, $var22_0) | 0;
                    if ($var26_0 < 0) {
                        $ptr = 13;
                        continue main;
                    }
                    if ($var26_0 < 0)
                        continue;
                    else {
                        continue main;
                    }
                }
            $var20 = $var20 + (-1) | 0;
            while ($var20 < 0) {
                $var17 = $var17 + 1 | 0;
                while ($var17 > $var31) {
                    $var14 = $var14 + 1 | 0;
                    if ($var14 > $var34) {
                        if ($var4 < 0.0) {
                            $var17 = $var13 + 2 | 0;
                            while ($var25 <= $var34) {
                                $var15 = $var25 + 0.5 - $var2.$posX;
                                var$17 = $var15 * $var15;
                                $var17_0 = $var23;
                                while ($var17_0 <= $var31) {
                                    $var18 = $var17_0 + 0.5 - $var2.$posZ;
                                    $var20 = 127;
                                    $var18 = $var18 * $var18;
                                    if ($var20 >= 0) {
                                        $ptr = 2;
                                        continue main;
                                    }
                                    $var17_0 = $var17_0 + 1 | 0;
                                }
                                $var25 = $var25 + 1 | 0;
                            }
                        }
                        $var31 = $var12 % 2 | 0;
                        $var19 = 1 - $var31 | 0;
                        if (($var12 % 4 | 0) >= 2) {
                            $var31 =  -$var31 | 0;
                            $var19 =  -$var19 | 0;
                        }
                        if ($var4 < 0.0) {
                            if ($var7 < 70)
                                $var7 = 70;
                            if ($var7 > 118)
                                $var7 = 118;
                            $var20 = (-1);
                            while ($var20 <= 1) {
                                $var21 = 1;
                                while ($var21 < 3) {
                                    $var22 = (-1);
                                    if ($var22 < 3) {
                                        $var3 = $var21 - 1 | 0;
                                        $var23 = ($var6 + $rt_imul($var3, $var31) | 0) + $rt_imul($var20, $var19) | 0;
                                        $var24 = $var7 + $var22 | 0;
                                        $var25 = ($var8 + $rt_imul($var3, $var19) | 0) - $rt_imul($var20, $var31) | 0;
                                        if ($var22 >= 0 ? 0 : 1) {
                                            $ptr = 11;
                                            continue main;
                                        }
                                        $var3 = 0;
                                        $ptr = 14;
                                        continue main;
                                    }
                                    $var21 = $var21 + 1 | 0;
                                }
                                $var20 = $var20 + 1 | 0;
                            }
                        }
                        $var20 = 0;
                        while ($var20 < 4) {
                            $var1.$editingBlocks = 1;
                            $var21 = 0;
                            while ($var21 < 4) {
                                $var22 = (-1);
                                if ($var22 < 4) {
                                    $var3 = $var21 - 1 | 0;
                                    $var23 = $var6 + $rt_imul($var3, $var31) | 0;
                                    $var24 = $var7 + $var22 | 0;
                                    $var25 = $var8 + $rt_imul($var3, $var19) | 0;
                                    if (!($var21 && $var21 != 3 && $var22 != (-1) && $var22 != 3 ? 0 : 1)) {
                                        $ptr = 7;
                                        continue main;
                                    }
                                    $ptr = 8;
                                    continue main;
                                }
                                $var21 = $var21 + 1 | 0;
                            }
                            $var1.$editingBlocks = 0;
                            $var3 = 0;
                            while ($var3 < 4) {
                                $var22 = (-1);
                                if ($var22 < 4) {
                                    $var26 = $var3 - 1 | 0;
                                    $var23 = $var6 + $rt_imul($var26, $var31) | 0;
                                    $var24 = $var7 + $var22 | 0;
                                    $var25 = $var8 + $rt_imul($var26, $var19) | 0;
                                    $ptr = 5;
                                    continue main;
                                }
                                $var3 = $var3 + 1 | 0;
                            }
                            $var20 = $var20 + 1 | 0;
                        }
                        return 1;
                    }
                    $var15 = $var14 + 0.5 - $var2.$posX;
                    var$17 = $var15 * $var15;
                    $var17 = $var23;
                }
                $var18 = $var17 + 0.5 - $var2.$posZ;
                $var20 = 127;
                $var18 = $var18 * $var18;
            }
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var7, $var8, $var12, $var13, $var25, $var34, $var23, $var31, $var22, $var14, $var17, $var15, var$17, $var17_0, $var18, $var20, $var19, $var21, $var3, $var24, $var26, $var22_0, $var23_0, $var24_0, $var25_0, $var26_0, $var29, $var27, $var28, $var32, $var33, var$36, $ptr);
    }
    function nlei_VFSFilenameIteratorNonRecursive() {
        var a = this; jl_Object.call(a);
        a.$child = null;
        a.$pathCount = 0;
    }
    function nlei_VFSFilenameIteratorNonRecursive__init_(var_0, var_1) {
        var var_2 = new nlei_VFSFilenameIteratorNonRecursive();
        nlei_VFSFilenameIteratorNonRecursive__init_0(var_2, var_0, var_1);
        return var_2;
    }
    function nlei_VFSFilenameIteratorNonRecursive__init_0($this, $child, $pathCount) {
        $this.$child = $child;
        $this.$pathCount = $pathCount;
    }
    function nlei_VFSFilenameIteratorNonRecursive_next($this, $entry) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$entry = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if (nlei_VFSFilenameIteratorNonRecursive_countSlashes($entry) != $this.$pathCount)
                return;
            var$2 = $this.$child;
            $ptr = 1;
        case 1:
            var$2.$next4($entry);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $entry, var$2, $ptr);
    }
    function nlei_VFSFilenameIteratorNonRecursive_countSlashes($str) {
        var $j, $i, $l;
        if (!jl_String_length($str))
            return (-1);
        $j = 0;
        $i = 0;
        $l = jl_String_length($str);
        while ($i < $l) {
            if (jl_String_charAt($str, $i) == 47)
                $j = $j + 1 | 0;
            $i = $i + 1 | 0;
        }
        return $j;
    }
    var nms_WorldGenerator = $rt_classWithoutFields();
    function nms_WorldGenerator_func_517_a($this, $var1, $var3, $var5) {}
    var nms_WorldGenTrees = $rt_classWithoutFields(nms_WorldGenerator);
    function nms_WorldGenTrees__init_0() {
        var var_0 = new nms_WorldGenTrees();
        nms_WorldGenTrees__init_(var_0);
        return var_0;
    }
    function nms_WorldGenTrees__init_($this) {}
    function nms_WorldGenTrees_generate($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, var$8, $var13, $var16, $var8, $var10, $var9, $var10_0, $var11, $var11_0, $var12, $var14, $var15, var$20, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$20 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var11_0 = $thread.pop();$var11 = $thread.pop();$var10_0 = $thread.pop();$var9 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var16 = $thread.pop();$var13 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = ju_Random_nextInt($var2, 3) + 4 | 0;
            $var7 = 1;
            if ($var4 >= 1) {
                var$8 = $var4 + $var6 | 0;
                if ((var$8 + 1 | 0) <= 128) {
                    $var13 = ($var4 + 1 | 0) + $var6 | 0;
                    $var16 = $var13 - 2 | 0;
                    $var8 = $var4;
                    a: while (true) {
                        if ($var8 > $var13) {
                            if (!$var7)
                                return 0;
                            $var10 = $var4 - 1 | 0;
                            $ptr = 1;
                            continue main;
                        }
                        $var9 = 1;
                        if ($var8 == $var4)
                            $var9 = 0;
                        if ($var8 >= $var16)
                            $var9 = 2;
                        $var10_0 = $var3 - $var9 | 0;
                        while ($var10_0 <= ($var3 + $var9 | 0) && $var7) {
                            $var11 = $var5 - $var9 | 0;
                            while ($var11 <= ($var5 + $var9 | 0) && $var7) {
                                if ($var8 >= 0 && $var8 < 128)
                                    break a;
                                $var7 = 0;
                                $var11 = $var11 + 1 | 0;
                            }
                            $var10_0 = $var10_0 + 1 | 0;
                        }
                        $var8 = $var8 + 1 | 0;
                    }
                    $ptr = 8;
                    continue main;
                }
            }
            return 0;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var3, $var10, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!($var16 != nms_Block_grass.$blockID && $var16 != nms_Block_dirt.$blockID) && $var4 < ((128 - $var6 | 0) - 1 | 0)) {
                $var16 = nms_Block_dirt.$blockID;
                $ptr = 3;
                continue main;
            }
            return 0;
        case 3:
            $var1.$setBlock($var3, $var10, $var5, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = ($var4 - 3 | 0) + $var6 | 0;
            b: while (true) {
                if ($var16 > var$8) {
                    $var16 = 0;
                    if ($var16 >= $var6)
                        return 1;
                    $var10_0 = $var4 + $var16 | 0;
                    $ptr = 4;
                    continue main;
                }
                $var10_0 = $var16 - var$8 | 0;
                $var11_0 = 1 - ($var10_0 / 2 | 0) | 0;
                $var12 = $var3 - $var11_0 | 0;
                $var8 = $var3 + $var11_0 | 0;
                $var10 = $var5 - $var11_0 | 0;
                $var7 = $var5 + $var11_0 | 0;
                while ($var12 <= $var8) {
                    $var13 = $var12 - $var3 | 0;
                    $var14 = $var10;
                    while ($var14 <= $var7) {
                        $var15 = $var14 - $var5 | 0;
                        if (jl_Math_abs($var13) != $var11_0)
                            break b;
                        if (jl_Math_abs($var15) != $var11_0)
                            break b;
                        if (ju_Random_nextInt($var2, 2) && $var10_0)
                            break b;
                        $var14 = $var14 + 1 | 0;
                    }
                    $var12 = $var12 + 1 | 0;
                }
                $var16 = $var16 + 1 | 0;
            }
            var$20 = nms_Block_opaqueCubeLookup.data;
            $ptr = 6;
            continue main;
        case 4:
            $tmp = nms_World_getBlockId($var1, $var3, $var10_0, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            if ($var10 && $var10 != nms_Block_leaves.$blockID) {
                $var16 = $var16 + 1 | 0;
                if ($var16 >= $var6)
                    return 1;
                $var10_0 = $var4 + $var16 | 0;
                continue main;
            }
            $var10 = nms_Block_wood.$blockID;
            $ptr = 5;
        case 5:
            $var1.$setBlock($var3, $var10_0, $var5, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $var16 + 1 | 0;
            if ($var16 >= $var6)
                return 1;
            $var10_0 = $var4 + $var16 | 0;
            $ptr = 4;
            continue main;
        case 6:
            $tmp = nms_World_getBlockId($var1, $var12, $var16, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $tmp;
            if (!var$20[$var15]) {
                $var15 = nms_Block_leaves.$blockID;
                $ptr = 7;
                continue main;
            }
            while (true) {
                $var14 = $var14 + 1 | 0;
                while ($var14 > $var7) {
                    $var12 = $var12 + 1 | 0;
                    while ($var12 > $var8) {
                        $var16 = $var16 + 1 | 0;
                        if ($var16 > var$8) {
                            $var16 = 0;
                            if ($var16 >= $var6)
                                return 1;
                            $var10_0 = $var4 + $var16 | 0;
                            $ptr = 4;
                            continue main;
                        }
                        $var10_0 = $var16 - var$8 | 0;
                        $var11_0 = 1 - ($var10_0 / 2 | 0) | 0;
                        $var12 = $var3 - $var11_0 | 0;
                        $var8 = $var3 + $var11_0 | 0;
                        $var10 = $var5 - $var11_0 | 0;
                        $var7 = $var5 + $var11_0 | 0;
                    }
                    $var13 = $var12 - $var3 | 0;
                    $var14 = $var10;
                }
                $var15 = $var14 - $var5 | 0;
                if (jl_Math_abs($var13) != $var11_0)
                    break;
                if (jl_Math_abs($var15) != $var11_0)
                    break;
                if (!ju_Random_nextInt($var2, 2))
                    continue;
                if (!$var10_0)
                    continue;
                else
                    break;
            }
            var$20 = nms_Block_opaqueCubeLookup.data;
            continue main;
        case 7:
            $var1.$setBlock($var12, $var16, $var14, $var15);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var14 = $var14 + 1 | 0;
                while ($var14 > $var7) {
                    $var12 = $var12 + 1 | 0;
                    while ($var12 > $var8) {
                        $var16 = $var16 + 1 | 0;
                        if ($var16 > var$8) {
                            $var16 = 0;
                            if ($var16 >= $var6)
                                return 1;
                            $var10_0 = $var4 + $var16 | 0;
                            $ptr = 4;
                            continue main;
                        }
                        $var10_0 = $var16 - var$8 | 0;
                        $var11_0 = 1 - ($var10_0 / 2 | 0) | 0;
                        $var12 = $var3 - $var11_0 | 0;
                        $var8 = $var3 + $var11_0 | 0;
                        $var10 = $var5 - $var11_0 | 0;
                        $var7 = $var5 + $var11_0 | 0;
                    }
                    $var13 = $var12 - $var3 | 0;
                    $var14 = $var10;
                }
                $var15 = $var14 - $var5 | 0;
                if (jl_Math_abs($var13) != $var11_0)
                    break;
                if (jl_Math_abs($var15) != $var11_0)
                    break;
                if (!ju_Random_nextInt($var2, 2))
                    continue;
                if (!$var10_0)
                    continue;
                else
                    break;
            }
            var$20 = nms_Block_opaqueCubeLookup.data;
            $ptr = 6;
            continue main;
        case 8:
            $tmp = nms_World_getBlockId($var1, $var10_0, $var8, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if ($var12) {
                $ptr = 9;
                continue main;
            }
            while (true) {
                $var11 = $var11 + 1 | 0;
                while (!($var11 <= ($var5 + $var9 | 0) && $var7)) {
                    $var10_0 = $var10_0 + 1 | 0;
                    while (!($var10_0 <= ($var3 + $var9 | 0) && $var7)) {
                        $var8 = $var8 + 1 | 0;
                        if ($var8 > $var13) {
                            if (!$var7)
                                return 0;
                            $var10 = $var4 - 1 | 0;
                            $ptr = 1;
                            continue main;
                        }
                        $var9 = 1;
                        if ($var8 == $var4)
                            $var9 = 0;
                        if ($var8 >= $var16)
                            $var9 = 2;
                        $var10_0 = $var3 - $var9 | 0;
                    }
                    $var11 = $var5 - $var9 | 0;
                }
                if ($var8 >= 0 && $var8 < 128)
                    break;
                $var7 = 0;
            }
            continue main;
        case 9:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var12 != nms_Block_leaves.$blockID)
                $var7 = 0;
            while (true) {
                $var11 = $var11 + 1 | 0;
                while (!($var11 <= ($var5 + $var9 | 0) && $var7)) {
                    $var10_0 = $var10_0 + 1 | 0;
                    while (!($var10_0 <= ($var3 + $var9 | 0) && $var7)) {
                        $var8 = $var8 + 1 | 0;
                        if ($var8 > $var13) {
                            if (!$var7)
                                return 0;
                            $var10 = $var4 - 1 | 0;
                            $ptr = 1;
                            continue main;
                        }
                        $var9 = 1;
                        if ($var8 == $var4)
                            $var9 = 0;
                        if ($var8 >= $var16)
                            $var9 = 2;
                        $var10_0 = $var3 - $var9 | 0;
                    }
                    $var11 = $var5 - $var9 | 0;
                }
                if ($var8 >= 0 && $var8 < 128)
                    break;
                $var7 = 0;
            }
            $ptr = 8;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, $var13, $var16, $var8, $var10, $var9, $var10_0, $var11, $var11_0, $var12, $var14, $var15, var$20, $ptr);
    }
    function nms_WorldGenBigTree() {
        var a = this; nms_WorldGenerator.call(a);
        a.$field_881_b = null;
        a.$worldObj15 = null;
        a.$basePos = null;
        a.$field_878_e = 0;
        a.$height8 = 0;
        a.$field_876_g = 0.0;
        a.$field_875_h = 0.0;
        a.$field_874_i = 0.0;
        a.$field_873_j = 0.0;
        a.$field_872_k = 0.0;
        a.$field_871_l = 0;
        a.$field_870_m = 0;
        a.$field_869_n = 0;
        a.$field_868_o = null;
    }
    var nms_WorldGenBigTree_field_882_a = null;
    function nms_WorldGenBigTree__init_0() {
        var var_0 = new nms_WorldGenBigTree();
        nms_WorldGenBigTree__init_(var_0);
        return var_0;
    }
    function nms_WorldGenBigTree__init_($this) {
        $this.$field_881_b = new ju_Random;
        $this.$basePos = $rt_createIntArrayFromData([0, 0, 0]);
        $this.$field_878_e = 0;
        $this.$field_876_g = 0.618;
        $this.$field_875_h = 1.0;
        $this.$field_874_i = 0.381;
        $this.$field_873_j = 1.0;
        $this.$field_872_k = 1.0;
        $this.$field_871_l = 1;
        $this.$field_870_m = 12;
        $this.$field_869_n = 4;
    }
    function nms_WorldGenBigTree_func_521_a($this) {
        var $var1, $var20, var$3, $var2, var$5, $var19, $var3, $var4, $var5, $var6, var$11, $var7, $var8, $var9, var$15, $var11, $var13, $var15, $var16, $var17, var$21, $var18, var$23, $var22, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var22 = $thread.pop();var$23 = $thread.pop();$var18 = $thread.pop();var$21 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();var$15 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$11 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var19 = $thread.pop();var$5 = $thread.pop();$var2 = $thread.pop();var$3
            = $thread.pop();$var20 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = $this.$field_878_e;
            $var20 = $var1;
            var$3 = $var20 * $this.$field_876_g | 0;
            $this.$height8 = var$3;
            if (var$3 >= $var1)
                $this.$height8 = $var1 - 1 | 0;
            $var1 = 1.382 + jl_Math_pow($this.$field_872_k * $var20 / 13.0, 2.0) | 0;
            if ($var1 < 1)
                $var1 = 1;
            var$3 = $this.$field_878_e;
            $var2 = $rt_createIntMultiArray([4, $rt_imul($var1, var$3)]);
            var$5 = $var2.data;
            $var19 = $this.$basePos.data;
            $var3 = ($var19[1] + var$3 | 0) - $this.$field_869_n | 0;
            $var4 = 1;
            $var5 = $var19[1] + $this.$height8 | 0;
            $var6 = $var3 - $var19[1] | 0;
            var$5[0].data[0] = $var19[0];
            var$5[0].data[1] = $var3;
            var$5[0].data[2] = $var19[2];
            var$5[0].data[3] = $var5;
            $var3 = $var3 + (-1) | 0;
            var$11 = $var5;
            while ($var6 >= 0) {
                $var7 = 0;
                $var8 = nms_WorldGenBigTree_func_528_a($this, $var6);
                if ($var8 < 0.0) {
                    $var3 = $var3 + (-1) | 0;
                    $var6 = $var6 + (-1) | 0;
                } else {
                    $var9 = 0.5;
                    var$15 = $var8;
                    if ($var7 < $var1) {
                        $var11 = $this.$field_873_j * var$15 * (ju_Random_nextFloat($this.$field_881_b) + 0.328);
                        $var13 = ju_Random_nextFloat($this.$field_881_b) * 2.0 * 3.14159;
                        $var15 = $var11 * jl_Math_sin($var13) + $this.$basePos.data[0] + $var9 | 0;
                        $var16 = $var11 * jl_Math_cos($var13) + $this.$basePos.data[2] + $var9 | 0;
                        $var17 = $rt_createIntArray(3);
                        var$21 = $var17.data;
                        var$21[0] = $var15;
                        var$21[1] = $var3;
                        var$21[2] = $var16;
                        $var18 = $rt_createIntArrayFromData([$var15, $var3 + $this.$field_869_n | 0, $var16]);
                        $ptr = 1;
                        continue main;
                    }
                    $var3 = $var3 + (-1) | 0;
                    $var6 = $var6 + (-1) | 0;
                }
            }
            var$5 = $rt_createIntMultiArray([4, $var4]);
            $this.$field_868_o = var$5;
            jl_System_fastArraycopy($var2, 0, var$5, 0, $var4);
            return;
        case 1:
            $tmp = nms_WorldGenBigTree_func_524_a($this, $var17, $var18);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3 == (-1)) {
                $var19 = $rt_createIntArray(3);
                var$23 = $var19.data;
                $var18 = $this.$basePos.data;
                var$23[0] = $var18[0];
                var$23[1] = $var18[1];
                var$23[2] = $var18[2];
                $var22 = jl_Math_sqrt(jl_Math_pow(jl_Math_abs($var18[0] - var$21[0] | 0), 2.0) + jl_Math_pow(jl_Math_abs($this.$basePos.data[2] - var$21[2] | 0), 2.0)) * $this.$field_874_i;
                if (var$21[1] - $var22 > var$11)
                    var$23[1] = $var5;
                else
                    var$23[1] = var$21[1] - $var22 | 0;
                $ptr = 2;
                continue main;
            }
            $var7 = $var7 + 1 | 0;
            a: while (true) {
                if ($var7 < $var1) {
                    $var11 = $this.$field_873_j * var$15 * (ju_Random_nextFloat($this.$field_881_b) + 0.328);
                    $var13 = ju_Random_nextFloat($this.$field_881_b) * 2.0 * 3.14159;
                    $var15 = $var11 * jl_Math_sin($var13) + $this.$basePos.data[0] + $var9 | 0;
                    $var16 = $var11 * jl_Math_cos($var13) + $this.$basePos.data[2] + $var9 | 0;
                    $var17 = $rt_createIntArray(3);
                    var$21 = $var17.data;
                    var$21[0] = $var15;
                    var$21[1] = $var3;
                    var$21[2] = $var16;
                    $var18 = $rt_createIntArrayFromData([$var15, $var3 + $this.$field_869_n | 0, $var16]);
                    continue main;
                }
                $var3 = $var3 + (-1) | 0;
                $var6 = $var6 + (-1) | 0;
                while (true) {
                    if ($var6 < 0)
                        break a;
                    $var7 = 0;
                    $var8 = nms_WorldGenBigTree_func_528_a($this, $var6);
                    if ($var8 >= 0.0)
                        break;
                    $var3 = $var3 + (-1) | 0;
                    $var6 = $var6 + (-1) | 0;
                }
                $var9 = 0.5;
                var$15 = $var8;
            }
            var$5 = $rt_createIntMultiArray([4, $var4]);
            $this.$field_868_o = var$5;
            jl_System_fastArraycopy($var2, 0, var$5, 0, $var4);
            return;
        case 2:
            $tmp = nms_WorldGenBigTree_func_524_a($this, $var19, $var17);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            if (var$3 == (-1)) {
                var$5[$var4].data[0] = $var15;
                var$5[$var4].data[1] = $var3;
                var$5[$var4].data[2] = $var16;
                var$5[$var4].data[3] = var$23[1];
                $var4 = $var4 + 1 | 0;
            }
            $var7 = $var7 + 1 | 0;
            b: while (true) {
                if ($var7 < $var1) {
                    $var11 = $this.$field_873_j * var$15 * (ju_Random_nextFloat($this.$field_881_b) + 0.328);
                    $var13 = ju_Random_nextFloat($this.$field_881_b) * 2.0 * 3.14159;
                    $var15 = $var11 * jl_Math_sin($var13) + $this.$basePos.data[0] + $var9 | 0;
                    $var16 = $var11 * jl_Math_cos($var13) + $this.$basePos.data[2] + $var9 | 0;
                    $var17 = $rt_createIntArray(3);
                    var$21 = $var17.data;
                    var$21[0] = $var15;
                    var$21[1] = $var3;
                    var$21[2] = $var16;
                    $var18 = $rt_createIntArrayFromData([$var15, $var3 + $this.$field_869_n | 0, $var16]);
                    $ptr = 1;
                    continue main;
                }
                $var3 = $var3 + (-1) | 0;
                $var6 = $var6 + (-1) | 0;
                while (true) {
                    if ($var6 < 0)
                        break b;
                    $var7 = 0;
                    $var8 = nms_WorldGenBigTree_func_528_a($this, $var6);
                    if ($var8 >= 0.0)
                        break;
                    $var3 = $var3 + (-1) | 0;
                    $var6 = $var6 + (-1) | 0;
                }
                $var9 = 0.5;
                var$15 = $var8;
            }
            var$5 = $rt_createIntMultiArray([4, $var4]);
            $this.$field_868_o = var$5;
            jl_System_fastArraycopy($var2, 0, var$5, 0, $var4);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var20, var$3, $var2, var$5, $var19, $var3, $var4, $var5, $var6, var$11, $var7, $var8, $var9, var$15, $var11, $var13, $var15, $var16, $var17, var$21, $var18, var$23, $var22, $ptr);
    }
    function nms_WorldGenBigTree_func_528_a($this, $var1) {
        var var$2, $var3, $var4;
        var$2 = $var1;
        $var3 = $this.$field_878_e;
        if (var$2 < $var3 * 0.3)
            return (-1.6180000305175781);
        $var4 = $var3 / 2.0;
        $var3 = $var4 - $var1;
        if ($var3 !== 0.0)
            $var4 = jl_Math_abs0($var3) >= $var4 ? 0.0 : jl_Math_sqrt(jl_Math_pow(jl_Math_abs0($var4), 2.0) - jl_Math_pow(jl_Math_abs0($var3), 2.0));
        return $var4 * 0.5;
    }
    function nms_WorldGenBigTree_func_522_a($this, $var1, $var2, $var3) {
        var $var4, $var5, $var6, $var14, var$8, $var7, $var8, $var9, $var10, $var12, $var15, $var16, var$16, var$17, var$18, var$19, var$20, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$8 = $thread.pop();$var14 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var4 = $rt_createIntArray(3).data;
            $var4[0] = 0;
            $var4[1] = 0;
            $var4[2] = 0;
            $var5 = 0;
            $var6 = 0;
            while ($var5 < 3) {
                $var14 = $var2.data;
                var$8 = $var1.data;
                $var4[$var5] = $var14[$var5] - var$8[$var5] | 0;
                if (jl_Math_abs($var4[$var5]) > jl_Math_abs($var4[$var6]))
                    $var6 = $var5;
                $var5 = ($var5 + 1 | 0) << 24 >> 24;
            }
            if ($var4[$var6]) {
                $var2 = nms_WorldGenBigTree_field_882_a.data;
                $var7 = $var2[$var6];
                $var8 = $var2[$var6 + 3 | 0];
                $var9 = $var4[$var6] <= 0 ? (-1) : 1;
                $var10 = $var4[$var7] / $var4[$var6];
                $var12 = $var4[$var8] / $var4[$var6];
                $var14 = $rt_createIntArray(3).data;
                $var14[0] = 0;
                $var14[1] = 0;
                $var14[2] = 0;
                $var15 = 0;
                $var16 = $var4[$var6] + $var9 | 0;
                if ($var15 != $var16) {
                    $var2 = $var1.data;
                    $var14[$var6] = nms_MathHelper_floor_double(($var2[$var6] + $var15 | 0) + 0.5);
                    var$16 = $var2[$var7];
                    var$17 = $var15;
                    $var14[$var7] = nms_MathHelper_floor_double(var$16 + var$17 * $var10 + 0.5);
                    $var14[$var8] = nms_MathHelper_floor_double($var2[$var8] + var$17 * $var12 + 0.5);
                    var$18 = $this.$worldObj15;
                    $var5 = $var14[0];
                    var$19 = $var14[1];
                    var$20 = $var14[2];
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        case 1:
            var$18.$setBlock($var5, var$19, var$20, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $var15 + $var9 | 0;
            if ($var15 == $var16)
                return;
            $var2 = $var1.data;
            $var14[$var6] = nms_MathHelper_floor_double(($var2[$var6] + $var15 | 0) + 0.5);
            var$16 = $var2[$var7];
            var$17 = $var15;
            $var14[$var7] = nms_MathHelper_floor_double(var$16 + var$17 * $var10 + 0.5);
            $var14[$var8] = nms_MathHelper_floor_double($var2[$var8] + var$17 * $var12 + 0.5);
            var$18 = $this.$worldObj15;
            $var5 = $var14[0];
            var$19 = $var14[1];
            var$20 = $var14[2];
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var14, var$8, $var7, $var8, $var9, $var10, $var12, $var15, $var16, var$16, var$17, var$18, var$19, var$20, $ptr);
    }
    function nms_WorldGenBigTree_func_529_c($this) {
        var $var5, $var1, $var2, $var3, $var4, var$6, $var6, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var5 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var5 = $this.$basePos.data;
            $var1 = $var5[0];
            $var2 = $var5[1];
            $var3 = $var5[1] + $this.$height8 | 0;
            $var4 = $var5[2];
            $var5 = $rt_createIntArray(3);
            var$6 = $var5.data;
            var$6[0] = $var1;
            var$6[1] = $var2;
            var$6[2] = $var4;
            $var6 = $rt_createIntArray(3);
            var$8 = $var6.data;
            var$8[0] = $var1;
            var$8[1] = $var3;
            var$8[2] = $var4;
            var$9 = 17;
            $ptr = 1;
        case 1:
            nms_WorldGenBigTree_func_522_a($this, $var5, $var6, var$9);
            if ($rt_suspending()) {
                break main;
            }
            if ($this.$field_871_l != 2)
                return;
            var$6[0] = var$6[0] + 1 | 0;
            var$8[0] = var$8[0] + 1 | 0;
            var$9 = 17;
            $ptr = 2;
        case 2:
            nms_WorldGenBigTree_func_522_a($this, $var5, $var6, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$6[2] = var$6[2] + 1 | 0;
            var$8[2] = var$8[2] + 1 | 0;
            var$9 = 17;
            $ptr = 3;
        case 3:
            nms_WorldGenBigTree_func_522_a($this, $var5, $var6, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$6[0] = var$6[0] + (-1) | 0;
            var$8[0] = var$8[0] + (-1) | 0;
            var$9 = 17;
            $ptr = 4;
        case 4:
            nms_WorldGenBigTree_func_522_a($this, $var5, $var6, var$9);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var5, $var1, $var2, $var3, $var4, var$6, $var6, var$8, var$9, $ptr);
    }
    function nms_WorldGenBigTree_func_525_d($this) {
        var $var1, $var2, $var3, var$4, $var5, $var4, $var6, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var1 = 0;
            $var2 = $this.$field_868_o.data.length;
            $var3 = $rt_createIntArray(3);
            var$4 = $var3.data;
            $var5 = $this.$basePos.data;
            var$4[0] = $var5[0];
            var$4[1] = $var5[1];
            var$4[2] = $var5[2];
            while ($var1 < $var2) {
                $var4 = $this.$field_868_o.data[$var1].data;
                $var5 = $rt_createIntArrayFromData([$var4[0], $var4[1], $var4[2]]);
                var$4[1] = $var4[3];
                if ((var$4[1] - $this.$basePos.data[1] | 0) < $this.$field_878_e * 0.2 ? 0 : 1) {
                    $var6 = 17;
                    $ptr = 1;
                    continue main;
                }
                $var1 = $var1 + 1 | 0;
            }
            return;
        case 1:
            nms_WorldGenBigTree_func_522_a($this, $var3, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var1 = $var1 + 1 | 0;
                if ($var1 >= $var2)
                    break;
                $var4 = $this.$field_868_o.data[$var1].data;
                $var5 = $rt_createIntArrayFromData([$var4[0], $var4[1], $var4[2]]);
                var$4[1] = $var4[3];
                if (!((var$4[1] - $this.$basePos.data[1] | 0) < $this.$field_878_e * 0.2 ? 0 : 1))
                    continue;
                else {
                    $var6 = 17;
                    continue main;
                }
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $var5, $var4, $var6, $ptr);
    }
    function nms_WorldGenBigTree_func_524_a($this, $var1, $var2) {
        var var$3, $var4, $var5, $var3, $var13, $var6, $var7, $var8, $var9, $var11, $var14, $var15, var$15, var$16, var$17, var$18, var$19, $var16, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var16 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var13 = $thread.pop();$var3 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$3 = $rt_createIntArray(3).data;
            var$3[0] = 0;
            var$3[1] = 0;
            var$3[2] = 0;
            $var4 = 0;
            $var5 = 0;
            while ($var4 < 3) {
                $var3 = $var2.data;
                $var13 = $var1.data;
                var$3[$var4] = $var3[$var4] - $var13[$var4] | 0;
                if (jl_Math_abs(var$3[$var4]) > jl_Math_abs(var$3[$var5]))
                    $var5 = $var4;
                $var4 = ($var4 + 1 | 0) << 24 >> 24;
            }
            if (!var$3[$var5])
                return (-1);
            $var2 = nms_WorldGenBigTree_field_882_a.data;
            $var6 = $var2[$var5];
            $var7 = $var2[$var5 + 3 | 0];
            $var8 = var$3[$var5] <= 0 ? (-1) : 1;
            $var9 = var$3[$var6] / var$3[$var5];
            $var11 = var$3[$var7] / var$3[$var5];
            $var2 = $rt_createIntArray(3).data;
            $var2[0] = 0;
            $var2[1] = 0;
            $var2[2] = 0;
            $var14 = 0;
            $var15 = var$3[$var5] + $var8 | 0;
            var$15 = $rt_compare($var14, $var15);
            if (!var$15)
                return var$15 ? jl_Math_abs($var14) : (-1);
            $var3 = $var1.data;
            $var2[$var5] = $var3[$var5] + $var14 | 0;
            var$16 = $var3[$var6];
            var$17 = $var14;
            $var2[$var6] = var$16 + var$17 * $var9 | 0;
            $var2[$var7] = $var3[$var7] + var$17 * $var11 | 0;
            var$18 = $this.$worldObj15;
            var$19 = $var2[0];
            $var4 = $var2[1];
            $var16 = $var2[2];
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId(var$18, var$19, $var4, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            if (!($var16 && $var16 != 18)) {
                $var14 = $var14 + $var8 | 0;
                var$15 = $rt_compare($var14, $var15);
                if (var$15) {
                    $var3 = $var1.data;
                    $var2[$var5] = $var3[$var5] + $var14 | 0;
                    var$16 = $var3[$var6];
                    var$17 = $var14;
                    $var2[$var6] = var$16 + var$17 * $var9 | 0;
                    $var2[$var7] = $var3[$var7] + var$17 * $var11 | 0;
                    var$18 = $this.$worldObj15;
                    var$19 = $var2[0];
                    $var4 = $var2[1];
                    $var16 = $var2[2];
                    continue main;
                }
            }
            return var$15 ? jl_Math_abs($var14) : (-1);
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $var4, $var5, $var3, $var13, $var6, $var7, $var8, $var9, $var11, $var14, $var15, var$15, var$16, var$17, var$18, var$19, $var16, $ptr);
    }
    function nms_WorldGenBigTree_func_517_a($this, $var1, $var3, $var5) {
        $this.$field_870_m = $var1 * 12.0 | 0;
        if ($var1 > 0.5)
            $this.$field_869_n = 5;
        $this.$field_873_j = $var3;
        $this.$field_872_k = $var5;
    }
    function nms_WorldGenBigTree_generate($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, var$25, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4
            = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$worldObj15 = $var1;
            ju_Random_nextLong($var2);
            var$6 = $this.$basePos.data;
            var$6[0] = $var3;
            var$6[1] = $var4;
            var$6[2] = $var5;
            if (!$this.$field_878_e)
                $this.$field_878_e = 5 + ju_Random_nextInt($this.$field_881_b, $this.$field_870_m) | 0;
            var$6 = $rt_createIntArray(3);
            var$7 = var$6.data;
            var$8 = $this.$basePos.data;
            var$7[0] = var$8[0];
            var$7[1] = var$8[1];
            var$7[2] = var$8[2];
            var$7 = $rt_createIntArrayFromData([var$8[0], (var$8[1] + $this.$field_878_e | 0) - 1 | 0, var$8[2]]);
            $var1 = $this.$worldObj15;
            $var3 = var$8[0];
            $var4 = var$8[1] - 1 | 0;
            $var5 = var$8[2];
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3 != 2 && $var3 != 3) {
                if (!0)
                    return 0;
                $ptr = 3;
                continue main;
            }
            $ptr = 2;
        case 2:
            $tmp = nms_WorldGenBigTree_func_524_a($this, var$6, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3 == (-1))
                $var3 = 1;
            else if ($var3 < 6)
                $var3 = 0;
            else {
                $this.$field_878_e = $var3;
                $var3 = 1;
            }
            if (!$var3)
                return 0;
            $ptr = 3;
        case 3:
            nms_WorldGenBigTree_func_521_a($this);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = 0;
            $var4 = $this.$field_868_o.data.length;
            var$9 = 4;
            while ($var3 < $var4) {
                var$6 = $this.$field_868_o.data;
                var$10 = var$6[$var3].data[0];
                var$11 = var$6[$var3].data[1];
                var$12 = var$6[$var3].data[2];
                var$13 = var$11 + $this.$field_869_n | 0;
                var$14 = var$11;
                while (var$14 < var$13) {
                    a: {
                        $var5 = var$14 - var$11 | 0;
                        if ($var5 >= 0) {
                            var$15 = $this.$field_869_n;
                            if ($var5 < var$15) {
                                if ($var5 && $var5 != (var$15 - 1 | 0)) {
                                    var$16 = 3.0;
                                    break a;
                                }
                                var$16 = 2.0;
                                break a;
                            }
                        }
                        var$16 = (-1.0);
                    }
                    var$17 = 18;
                    var$18 = var$16;
                    var$19 = var$18 + 0.618 | 0;
                    var$6 = nms_WorldGenBigTree_field_882_a.data;
                    var$20 = var$6[1];
                    var$21 = var$6[var$9];
                    var$6 = $rt_createIntArray(3).data;
                    var$6[0] = var$10;
                    var$6[1] = var$14;
                    var$6[2] = var$12;
                    var$8 = $rt_createIntArray(3).data;
                    var$8[0] = 0;
                    var$8[1] = 0;
                    var$8[2] = 0;
                    var$22 =  -var$19 | 0;
                    var$8[1] = var$6[1];
                    var$23 = var$22;
                    while (var$23 <= var$19) {
                        var$8[var$20] = var$6[var$20] + var$23 | 0;
                        var$24 = var$22;
                        while (var$24 <= var$19) {
                            if (jl_Math_sqrt(jl_Math_pow(jl_Math_abs(var$23) + 0.5, 2.0) + jl_Math_pow(jl_Math_abs(var$24) + 0.5, 2.0)) <= var$18) {
                                var$8[var$21] = var$6[var$21] + var$24 | 0;
                                $var1 = $this.$worldObj15;
                                $var5 = var$8[0];
                                var$25 = var$8[1];
                                var$15 = var$8[2];
                                $ptr = 6;
                                continue main;
                            }
                            var$24 = var$24 + 1 | 0;
                        }
                        var$23 = var$23 + 1 | 0;
                    }
                    var$14 = var$14 + 1 | 0;
                }
                $var3 = $var3 + 1 | 0;
            }
            $ptr = 4;
        case 4:
            nms_WorldGenBigTree_func_529_c($this);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 5;
        case 5:
            nms_WorldGenBigTree_func_525_d($this);
            if ($rt_suspending()) {
                break main;
            }
            return 1;
        case 6:
            $tmp = nms_World_getBlockId($var1, $var5, var$25, var$15);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            if ($var5 && $var5 != 18) {
                var$24 = var$24 + 1 | 0;
                a: while (true) {
                    while (var$24 > var$19) {
                        var$23 = var$23 + 1 | 0;
                        while (var$23 > var$19) {
                            var$14 = var$14 + 1 | 0;
                            while (var$14 >= var$13) {
                                $var3 = $var3 + 1 | 0;
                                if ($var3 >= $var4)
                                    break a;
                                var$6 = $this.$field_868_o.data;
                                var$10 = var$6[$var3].data[0];
                                var$11 = var$6[$var3].data[1];
                                var$12 = var$6[$var3].data[2];
                                var$13 = var$11 + $this.$field_869_n | 0;
                                var$14 = var$11;
                            }
                            b: {
                                $var5 = var$14 - var$11 | 0;
                                if ($var5 >= 0) {
                                    var$15 = $this.$field_869_n;
                                    if ($var5 < var$15) {
                                        if ($var5 && $var5 != (var$15 - 1 | 0)) {
                                            var$16 = 3.0;
                                            break b;
                                        }
                                        var$16 = 2.0;
                                        break b;
                                    }
                                }
                                var$16 = (-1.0);
                            }
                            var$17 = 18;
                            var$18 = var$16;
                            var$19 = var$18 + 0.618 | 0;
                            var$6 = nms_WorldGenBigTree_field_882_a.data;
                            var$20 = var$6[1];
                            var$21 = var$6[var$9];
                            var$6 = $rt_createIntArray(3).data;
                            var$6[0] = var$10;
                            var$6[1] = var$14;
                            var$6[2] = var$12;
                            var$8 = $rt_createIntArray(3).data;
                            var$8[0] = 0;
                            var$8[1] = 0;
                            var$8[2] = 0;
                            var$22 =  -var$19 | 0;
                            var$8[1] = var$6[1];
                            var$23 = var$22;
                        }
                        var$8[var$20] = var$6[var$20] + var$23 | 0;
                        var$24 = var$22;
                    }
                    if (jl_Math_sqrt(jl_Math_pow(jl_Math_abs(var$23) + 0.5, 2.0) + jl_Math_pow(jl_Math_abs(var$24) + 0.5, 2.0)) <= var$18) {
                        var$8[var$21] = var$6[var$21] + var$24 | 0;
                        $var1 = $this.$worldObj15;
                        $var5 = var$8[0];
                        var$25 = var$8[1];
                        var$15 = var$8[2];
                        continue main;
                    }
                    var$24 = var$24 + 1 | 0;
                }
                $ptr = 4;
                continue main;
            }
            $var1 = $this.$worldObj15;
            $var5 = var$8[0];
            var$25 = var$8[1];
            var$15 = var$8[2];
            $ptr = 7;
        case 7:
            $var1.$setBlock($var5, var$25, var$15, var$17);
            if ($rt_suspending()) {
                break main;
            }
            var$24 = var$24 + 1 | 0;
            c: while (true) {
                while (var$24 > var$19) {
                    var$23 = var$23 + 1 | 0;
                    while (var$23 > var$19) {
                        var$14 = var$14 + 1 | 0;
                        while (var$14 >= var$13) {
                            $var3 = $var3 + 1 | 0;
                            if ($var3 >= $var4)
                                break c;
                            var$6 = $this.$field_868_o.data;
                            var$10 = var$6[$var3].data[0];
                            var$11 = var$6[$var3].data[1];
                            var$12 = var$6[$var3].data[2];
                            var$13 = var$11 + $this.$field_869_n | 0;
                            var$14 = var$11;
                        }
                        d: {
                            $var5 = var$14 - var$11 | 0;
                            if ($var5 >= 0) {
                                var$15 = $this.$field_869_n;
                                if ($var5 < var$15) {
                                    if ($var5 && $var5 != (var$15 - 1 | 0)) {
                                        var$16 = 3.0;
                                        break d;
                                    }
                                    var$16 = 2.0;
                                    break d;
                                }
                            }
                            var$16 = (-1.0);
                        }
                        var$17 = 18;
                        var$18 = var$16;
                        var$19 = var$18 + 0.618 | 0;
                        var$6 = nms_WorldGenBigTree_field_882_a.data;
                        var$20 = var$6[1];
                        var$21 = var$6[var$9];
                        var$6 = $rt_createIntArray(3).data;
                        var$6[0] = var$10;
                        var$6[1] = var$14;
                        var$6[2] = var$12;
                        var$8 = $rt_createIntArray(3).data;
                        var$8[0] = 0;
                        var$8[1] = 0;
                        var$8[2] = 0;
                        var$22 =  -var$19 | 0;
                        var$8[1] = var$6[1];
                        var$23 = var$22;
                    }
                    var$8[var$20] = var$6[var$20] + var$23 | 0;
                    var$24 = var$22;
                }
                if (jl_Math_sqrt(jl_Math_pow(jl_Math_abs(var$23) + 0.5, 2.0) + jl_Math_pow(jl_Math_abs(var$24) + 0.5, 2.0)) <= var$18) {
                    var$8[var$21] = var$6[var$21] + var$24 | 0;
                    $var1 = $this.$worldObj15;
                    $var5 = var$8[0];
                    var$25 = var$8[1];
                    var$15 = var$8[2];
                    $ptr = 6;
                    continue main;
                }
                var$24 = var$24 + 1 | 0;
            }
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, var$25, $ptr);
    }
    function nms_WorldGenBigTree__clinit_() {
        nms_WorldGenBigTree_field_882_a = $rt_createByteArrayFromData([2, 0, 0, 1, 2, 1]);
    }
    var juf_DoubleSupplier = $rt_classWithoutFields(0);
    function ju_Random$nextGaussian$lambda$_9_0() {
        jl_Object.call(this);
        this.$_015 = null;
    }
    function ju_Random$nextGaussian$lambda$_9_0_getAsDouble(var$0) {
        return ju_Random_nextDouble(var$0.$_015);
    }
    var otci_RandomUtils = $rt_classWithoutFields();
    function otci_RandomUtils__init_0() {
        var var_0 = new otci_RandomUtils();
        otci_RandomUtils__init_(var_0);
        return var_0;
    }
    function otci_RandomUtils__init_($this) {}
    var nms_SaveHandlerMP = $rt_classWithoutFields();
    function nms_SaveHandlerMP__init_0() {
        var var_0 = new nms_SaveHandlerMP();
        nms_SaveHandlerMP__init_(var_0);
        return var_0;
    }
    function nms_SaveHandlerMP__init_($this) {}
    function nms_SaveHandlerMP_getChunkLoader($this, $var1) {
        return null;
    }
    function nms_SaveHandlerMP_saveWorldInfoAndPlayer($this, $var1, $var2) {}
    var jl_StrictMath = $rt_classWithoutFields();
    function jl_StrictMath__init_0() {
        var var_0 = new jl_StrictMath();
        jl_StrictMath__init_(var_0);
        return var_0;
    }
    function jl_StrictMath__init_($this) {}
    function nleit_IndexedDBFilesystem$AsyncHandlers$9() {
        var a = this; jl_Object.call(a);
        a.$val$r0 = null;
        a.$val$cb9 = null;
        a.$val$res = null;
        a.$val$b = 0;
        a.$val$prefix = null;
        a.$val$itr = null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$9_handleEvent$exported$0(var$0) {
        var var$1, var$2, var$3, var$4, $$je, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            a: {
                var$1 = var$0.$val$r0.result;
                if (var$1 !== null && var$1.key !== null) {
                    b: {
                        var$2 = $rt_str(nleit_IndexedDBFilesystem$AsyncHandlers_readKey$js_body$_9(var$1.key));
                        if (var$2 !== null) {
                            if (var$0.$val$b)
                                break b;
                            if (jl_String_startsWith(var$2, var$0.$val$prefix))
                                break b;
                        }
                        var$1.continue();
                        break a;
                    }
                    var$3 = var$0.$val$res.data;
                    var$3[0] = var$3[0] + 1 | 0;
                    try {
                        var$4 = var$0.$val$itr;
                        $ptr = 1;
                        continue main;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nleiv_VFSIterator2$BreakLoop) {
                        } else {
                            throw $$e;
                        }
                    }
                    otpp_AsyncCallbackWrapper_complete(var$0.$val$cb9, jl_Integer_valueOf(var$0.$val$res.data[0]));
                } else
                    otpp_AsyncCallbackWrapper_complete(var$0.$val$cb9, jl_Integer_valueOf(var$0.$val$res.data[0]));
            }
            return;
        case 1:
            a: {
                c: {
                    try {
                        var$4.$next4(var$2);
                        if ($rt_suspending()) {
                            break main;
                        }
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof nleiv_VFSIterator2$BreakLoop) {
                            break c;
                        } else {
                            throw $$e;
                        }
                    }
                    var$1.continue();
                    break a;
                }
                otpp_AsyncCallbackWrapper_complete(var$0.$val$cb9, jl_Integer_valueOf(var$0.$val$res.data[0]));
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push(var$0, var$1, var$2, var$3, var$4, $ptr);
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$10() {
        var a = this; jl_Object.call(a);
        a.$val$cb10 = null;
        a.$val$res0 = null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$10_handleEvent$exported$0(var$0) {
        var var$1, var$2;
        var$1 = var$0.$val$cb10;
        var$2 = var$0.$val$res0.data;
        otpp_AsyncCallbackWrapper_complete(var$1, jl_Integer_valueOf(var$2[0] <= 0 ? (-1) : var$2[0]));
    }
    function nms_WorldBlockPositionType() {
        var a = this; jl_Object.call(a);
        a.$field_1202_a = 0;
        a.$field_1201_b = 0;
        a.$field_1207_c = 0;
        a.$field_1206_d = 0;
        a.$field_1205_e = 0;
        a.$field_1204_f = 0;
        a.$field_1203_g = null;
    }
    function nms_WorldBlockPositionType__init_0(var_0, var_1, var_2, var_3, var_4, var_5) {
        var var_6 = new nms_WorldBlockPositionType();
        nms_WorldBlockPositionType__init_(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
        return var_6;
    }
    function nms_WorldBlockPositionType__init_($this, $var1, $var2, $var3, $var4, $var5, $var6) {
        $this.$field_1203_g = $var1;
        $this.$field_1202_a = $var2;
        $this.$field_1201_b = $var3;
        $this.$field_1207_c = $var4;
        $this.$field_1206_d = 80;
        $this.$field_1205_e = $var5;
        $this.$field_1204_f = $var6;
    }
    function nms_WorldGenLakes() {
        nms_WorldGenerator.call(this);
        this.$field_15235_a = 0;
    }
    function nms_WorldGenLakes__init_0(var_0) {
        var var_1 = new nms_WorldGenLakes();
        nms_WorldGenLakes__init_(var_1, var_0);
        return var_1;
    }
    function nms_WorldGenLakes__init_($this, $var1) {
        $this.$field_15235_a = $var1;
    }
    function nms_WorldGenLakes_generate($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, var$7, var$8, $var6, $var7, $var8, $var9, $var11, $var13, $var15, $var17, $var19, $var21, $var22, $var23, $var24, $var26, $var28, $var32, $var10, $var32_0, $var10_0, $var33, $var12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var12 = $thread.pop();$var33 = $thread.pop();$var10_0 = $thread.pop();$var32_0 = $thread.pop();$var10 = $thread.pop();$var32 = $thread.pop();$var28 = $thread.pop();$var26 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();var$8
            = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $var3 + (-8) | 0;
            var$7 = $var5 + (-8) | 0;
            if ($var4 > 0) {
                $ptr = 1;
                continue main;
            }
            var$8 = $var4 + (-4) | 0;
            $var6 = $rt_createBooleanArray(2048).data;
            $var7 = ju_Random_nextInt($var2, 4) + 4 | 0;
            $var8 = 0;
            while ($var8 < $var7) {
                $var9 = ju_Random_nextDouble($var2) * 6.0 + 3.0;
                $var11 = ju_Random_nextDouble($var2) * 4.0 + 2.0;
                $var13 = ju_Random_nextDouble($var2) * 6.0 + 3.0;
                $var15 = ju_Random_nextDouble($var2) * (16.0 - $var9 - 2.0) + 1.0;
                $var9 = $var9 / 2.0;
                $var15 = $var15 + $var9;
                $var17 = ju_Random_nextDouble($var2) * (8.0 - $var11 - 4.0) + 2.0;
                $var11 = $var11 / 2.0;
                $var17 = $var17 + $var11;
                $var19 = ju_Random_nextDouble($var2) * (16.0 - $var13 - 2.0) + 1.0;
                $var13 = $var13 / 2.0;
                $var19 = $var19 + $var13;
                $var21 = 1;
                while ($var21 < 15) {
                    $var22 = 1;
                    while ($var22 < 15) {
                        $var23 = 1;
                        while ($var23 < 7) {
                            $var24 = ($var21 - $var15) / $var9;
                            $var26 = ($var23 - $var17) / $var11;
                            $var28 = ($var22 - $var19) / $var13;
                            if ($var24 * $var24 + $var26 * $var26 + $var28 * $var28 < 1.0)
                                $var6[((($var21 * 16 | 0) + $var22 | 0) * 8 | 0) + $var23 | 0] = 1;
                            $var23 = $var23 + 1 | 0;
                        }
                        $var22 = $var22 + 1 | 0;
                    }
                    $var21 = $var21 + 1 | 0;
                }
                $var8 = $var8 + 1 | 0;
            }
            $var8 = 0;
            a: while (true) {
                if ($var8 >= 16) {
                    $var5 = 0;
                    b: while (true) {
                        if ($var5 >= 16) {
                            $var22 = 0;
                            while ($var22 < 16) {
                                $var32 = 0;
                                while ($var32 < 16) {
                                    $var10 = 4;
                                    while ($var10 < 8) {
                                        if ($var6[((($var22 * 16 | 0) + $var32 | 0) * 8 | 0) + $var10 | 0]) {
                                            $var3 = var$6 + $var22 | 0;
                                            $var4 = var$8 + $var10 | 0;
                                            $var5 = $var4 - 1 | 0;
                                            $var8 = var$7 + $var32 | 0;
                                            $ptr = 4;
                                            continue main;
                                        }
                                        $var10 = $var10 + 1 | 0;
                                    }
                                    $var32 = $var32 + 1 | 0;
                                }
                                $var22 = $var22 + 1 | 0;
                            }
                            $ptr = 2;
                            continue main;
                        }
                        $var32 = 0;
                        while ($var32 < 16) {
                            $var10 = 0;
                            while ($var10 < 8) {
                                if ($var6[((($var5 * 16 | 0) + $var32 | 0) * 8 | 0) + $var10 | 0])
                                    break b;
                                $var10 = $var10 + 1 | 0;
                            }
                            $var32 = $var32 + 1 | 0;
                        }
                        $var5 = $var5 + 1 | 0;
                    }
                    $var3 = var$6 + $var5 | 0;
                    $var4 = var$8 + $var10 | 0;
                    $var8 = var$7 + $var32 | 0;
                    $var7 = $var10 < 4 ? $this.$field_15235_a : 0;
                    $ptr = 6;
                    continue main;
                }
                $var32_0 = 0;
                while ($var32_0 < 16) {
                    $var10_0 = 0;
                    while ($var10_0 < 8) {
                        c: {
                            d: {
                                $var5 = $var8 * 16 | 0;
                                $var32 = $var5 + $var32_0 | 0;
                                $var10 = $var32 * 8 | 0;
                                $var7 = $var10 + $var10_0 | 0;
                                if (!$var6[$var7]) {
                                    if ($var8 < 15 && $var6[(((($var8 + 1 | 0) * 16 | 0) + $var32_0 | 0) * 8 | 0) + $var10_0 | 0])
                                        break d;
                                    if ($var8 > 0 && $var6[(((($var8 - 1 | 0) * 16 | 0) + $var32_0 | 0) * 8 | 0) + $var10_0 | 0])
                                        break d;
                                    if ($var32_0 < 15 && $var6[(($var32 + 1 | 0) * 8 | 0) + $var10_0 | 0])
                                        break d;
                                    if ($var32_0 > 0 && $var6[(($var5 + ($var32_0 - 1 | 0) | 0) * 8 | 0) + $var10_0 | 0])
                                        break d;
                                    if ($var10_0 < 7 && $var6[$var7 + 1 | 0])
                                        break d;
                                    if ($var10_0 > 0 && $var6[$var10 + ($var10_0 - 1 | 0) | 0])
                                        break d;
                                }
                                $var33 = 0;
                                break c;
                            }
                            $var33 = 1;
                        }
                        if ($var33)
                            break a;
                        $var10_0 = $var10_0 + 1 | 0;
                    }
                    $var32_0 = $var32_0 + 1 | 0;
                }
                $var8 = $var8 + 1 | 0;
            }
            $var3 = var$6 + $var8 | 0;
            $var4 = var$8 + $var10_0 | 0;
            $var5 = var$7 + $var32_0 | 0;
            $ptr = 3;
            continue main;
        case 1:
            $tmp = nms_World_isAirBlock($var1, var$6, $var4, var$7);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3) {
                $var4 = $var4 + (-1) | 0;
                if ($var4 > 0) {
                    continue main;
                }
            }
            var$8 = $var4 + (-4) | 0;
            $var6 = $rt_createBooleanArray(2048).data;
            $var7 = ju_Random_nextInt($var2, 4) + 4 | 0;
            $var8 = 0;
            while ($var8 < $var7) {
                $var9 = ju_Random_nextDouble($var2) * 6.0 + 3.0;
                $var11 = ju_Random_nextDouble($var2) * 4.0 + 2.0;
                $var13 = ju_Random_nextDouble($var2) * 6.0 + 3.0;
                $var15 = ju_Random_nextDouble($var2) * (16.0 - $var9 - 2.0) + 1.0;
                $var9 = $var9 / 2.0;
                $var15 = $var15 + $var9;
                $var17 = ju_Random_nextDouble($var2) * (8.0 - $var11 - 4.0) + 2.0;
                $var11 = $var11 / 2.0;
                $var17 = $var17 + $var11;
                $var19 = ju_Random_nextDouble($var2) * (16.0 - $var13 - 2.0) + 1.0;
                $var13 = $var13 / 2.0;
                $var19 = $var19 + $var13;
                $var21 = 1;
                while ($var21 < 15) {
                    $var22 = 1;
                    while ($var22 < 15) {
                        $var23 = 1;
                        while ($var23 < 7) {
                            $var24 = ($var21 - $var15) / $var9;
                            $var26 = ($var23 - $var17) / $var11;
                            $var28 = ($var22 - $var19) / $var13;
                            if ($var24 * $var24 + $var26 * $var26 + $var28 * $var28 < 1.0)
                                $var6[((($var21 * 16 | 0) + $var22 | 0) * 8 | 0) + $var23 | 0] = 1;
                            $var23 = $var23 + 1 | 0;
                        }
                        $var22 = $var22 + 1 | 0;
                    }
                    $var21 = $var21 + 1 | 0;
                }
                $var8 = $var8 + 1 | 0;
            }
            $var8 = 0;
            a: while (true) {
                if ($var8 >= 16) {
                    $var5 = 0;
                    b: while (true) {
                        if ($var5 >= 16) {
                            $var22 = 0;
                            while ($var22 < 16) {
                                $var32 = 0;
                                while ($var32 < 16) {
                                    $var10 = 4;
                                    while ($var10 < 8) {
                                        if ($var6[((($var22 * 16 | 0) + $var32 | 0) * 8 | 0) + $var10 | 0]) {
                                            $var3 = var$6 + $var22 | 0;
                                            $var4 = var$8 + $var10 | 0;
                                            $var5 = $var4 - 1 | 0;
                                            $var8 = var$7 + $var32 | 0;
                                            $ptr = 4;
                                            continue main;
                                        }
                                        $var10 = $var10 + 1 | 0;
                                    }
                                    $var32 = $var32 + 1 | 0;
                                }
                                $var22 = $var22 + 1 | 0;
                            }
                            $ptr = 2;
                            continue main;
                        }
                        $var32 = 0;
                        while ($var32 < 16) {
                            $var10 = 0;
                            while ($var10 < 8) {
                                if ($var6[((($var5 * 16 | 0) + $var32 | 0) * 8 | 0) + $var10 | 0])
                                    break b;
                                $var10 = $var10 + 1 | 0;
                            }
                            $var32 = $var32 + 1 | 0;
                        }
                        $var5 = $var5 + 1 | 0;
                    }
                    $var3 = var$6 + $var5 | 0;
                    $var4 = var$8 + $var10 | 0;
                    $var8 = var$7 + $var32 | 0;
                    $var7 = $var10 < 4 ? $this.$field_15235_a : 0;
                    $ptr = 6;
                    continue main;
                }
                $var32_0 = 0;
                while ($var32_0 < 16) {
                    $var10_0 = 0;
                    while ($var10_0 < 8) {
                        c: {
                            d: {
                                $var5 = $var8 * 16 | 0;
                                $var32 = $var5 + $var32_0 | 0;
                                $var10 = $var32 * 8 | 0;
                                $var7 = $var10 + $var10_0 | 0;
                                if (!$var6[$var7]) {
                                    if ($var8 < 15 && $var6[(((($var8 + 1 | 0) * 16 | 0) + $var32_0 | 0) * 8 | 0) + $var10_0 | 0])
                                        break d;
                                    if ($var8 > 0 && $var6[(((($var8 - 1 | 0) * 16 | 0) + $var32_0 | 0) * 8 | 0) + $var10_0 | 0])
                                        break d;
                                    if ($var32_0 < 15 && $var6[(($var32 + 1 | 0) * 8 | 0) + $var10_0 | 0])
                                        break d;
                                    if ($var32_0 > 0 && $var6[(($var5 + ($var32_0 - 1 | 0) | 0) * 8 | 0) + $var10_0 | 0])
                                        break d;
                                    if ($var10_0 < 7 && $var6[$var7 + 1 | 0])
                                        break d;
                                    if ($var10_0 > 0 && $var6[$var10 + ($var10_0 - 1 | 0) | 0])
                                        break d;
                                }
                                $var33 = 0;
                                break c;
                            }
                            $var33 = 1;
                        }
                        if ($var33)
                            break a;
                        $var10_0 = $var10_0 + 1 | 0;
                    }
                    $var32_0 = $var32_0 + 1 | 0;
                }
                $var8 = $var8 + 1 | 0;
            }
            $var3 = var$6 + $var8 | 0;
            $var4 = var$8 + $var10_0 | 0;
            $var5 = var$7 + $var32_0 | 0;
            $ptr = 3;
            continue main;
        case 2:
            e: {
                f: {
                    nms_Block_$callClinit();
                    if ($rt_suspending()) {
                        break main;
                    }
                    $var12 = nms_Block_blocksList.data[$this.$field_15235_a].$blockMaterial;
                    nms_Material_$callClinit();
                    if ($var12 === nms_Material_lava) {
                        $var10 = 0;
                        while (true) {
                            if ($var10 >= 16)
                                break f;
                            $var32_0 = 0;
                            while ($var32_0 < 16) {
                                $var10_0 = 0;
                                while ($var10_0 < 8) {
                                    g: {
                                        h: {
                                            $var8 = $var10 * 16 | 0;
                                            $var7 = $var8 + $var32_0 | 0;
                                            $var5 = $var7 * 8 | 0;
                                            $var32 = $var5 + $var10_0 | 0;
                                            if (!$var6[$var32]) {
                                                if ($var10 < 15 && $var6[(((($var10 + 1 | 0) * 16 | 0) + $var32_0 | 0) * 8 | 0) + $var10_0 | 0])
                                                    break h;
                                                if ($var10 > 0 && $var6[(((($var10 - 1 | 0) * 16 | 0) + $var32_0 | 0) * 8 | 0) + $var10_0 | 0])
                                                    break h;
                                                if ($var32_0 < 15 && $var6[(($var7 + 1 | 0) * 8 | 0) + $var10_0 | 0])
                                                    break h;
                                                if ($var32_0 > 0 && $var6[(($var8 + ($var32_0 - 1 | 0) | 0) * 8 | 0) + $var10_0 | 0])
                                                    break h;
                                                if ($var10_0 < 7 && $var6[$var32 + 1 | 0])
                                                    break h;
                                                if ($var10_0 > 0 && $var6[$var5 + ($var10_0 - 1 | 0) | 0])
                                                    break h;
                                            }
                                            $var33 = 0;
                                            break g;
                                        }
                                        $var33 = 1;
                                    }
                                    if ($var33) {
                                        if ($var10_0 < 4)
                                            break e;
                                        if (ju_Random_nextInt($var2, 2))
                                            break e;
                                    }
                                    $var10_0 = $var10_0 + 1 | 0;
                                }
                                $var32_0 = $var32_0 + 1 | 0;
                            }
                            $var10 = $var10 + 1 | 0;
                        }
                    }
                }
                return 1;
            }
            $var3 = var$6 + $var10 | 0;
            $var4 = var$8 + $var10_0 | 0;
            $var5 = var$7 + $var32_0 | 0;
            $ptr = 10;
            continue main;
        case 3:
            $tmp = nms_World_getBlockMaterial($var1, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            $var32 = $rt_compare($var10_0, 4);
            if ($var32 >= 0 && $var12.$getIsLiquid())
                return 0;
            if ($var32 < 0 && !$var12.$isSolid()) {
                $ptr = 8;
                continue main;
            }
            while (true) {
                $var10_0 = $var10_0 + 1 | 0;
                while ($var10_0 >= 8) {
                    $var32_0 = $var32_0 + 1 | 0;
                    while ($var32_0 >= 16) {
                        $var8 = $var8 + 1 | 0;
                        if ($var8 >= 16) {
                            $var5 = 0;
                            i: while (true) {
                                if ($var5 >= 16) {
                                    $var22 = 0;
                                    while ($var22 < 16) {
                                        $var32 = 0;
                                        while ($var32 < 16) {
                                            $var10 = 4;
                                            while ($var10 < 8) {
                                                if ($var6[((($var22 * 16 | 0) + $var32 | 0) * 8 | 0) + $var10 | 0]) {
                                                    $var3 = var$6 + $var22 | 0;
                                                    $var4 = var$8 + $var10 | 0;
                                                    $var5 = $var4 - 1 | 0;
                                                    $var8 = var$7 + $var32 | 0;
                                                    $ptr = 4;
                                                    continue main;
                                                }
                                                $var10 = $var10 + 1 | 0;
                                            }
                                            $var32 = $var32 + 1 | 0;
                                        }
                                        $var22 = $var22 + 1 | 0;
                                    }
                                    $ptr = 2;
                                    continue main;
                                }
                                $var32 = 0;
                                while ($var32 < 16) {
                                    $var10 = 0;
                                    while ($var10 < 8) {
                                        if ($var6[((($var5 * 16 | 0) + $var32 | 0) * 8 | 0) + $var10 | 0])
                                            break i;
                                        $var10 = $var10 + 1 | 0;
                                    }
                                    $var32 = $var32 + 1 | 0;
                                }
                                $var5 = $var5 + 1 | 0;
                            }
                            $var3 = var$6 + $var5 | 0;
                            $var4 = var$8 + $var10 | 0;
                            $var8 = var$7 + $var32 | 0;
                            $var7 = $var10 < 4 ? $this.$field_15235_a : 0;
                            $ptr = 6;
                            continue main;
                        }
                        $var32_0 = 0;
                    }
                    $var10_0 = 0;
                }
                h: {
                    a: {
                        $var5 = $var8 * 16 | 0;
                        $var32 = $var5 + $var32_0 | 0;
                        $var10 = $var32 * 8 | 0;
                        $var7 = $var10 + $var10_0 | 0;
                        if (!$var6[$var7]) {
                            if ($var8 < 15 && $var6[(((($var8 + 1 | 0) * 16 | 0) + $var32_0 | 0) * 8 | 0) + $var10_0 | 0])
                                break a;
                            if ($var8 > 0 && $var6[(((($var8 - 1 | 0) * 16 | 0) + $var32_0 | 0) * 8 | 0) + $var10_0 | 0])
                                break a;
                            if ($var32_0 < 15 && $var6[(($var32 + 1 | 0) * 8 | 0) + $var10_0 | 0])
                                break a;
                            if ($var32_0 > 0 && $var6[(($var5 + ($var32_0 - 1 | 0) | 0) * 8 | 0) + $var10_0 | 0])
                                break a;
                            if ($var10_0 < 7 && $var6[$var7 + 1 | 0])
                                break a;
                            if ($var10_0 > 0 && $var6[$var10 + ($var10_0 - 1 | 0) | 0])
                                break a;
                        }
                        $var33 = 0;
                        break h;
                    }
                    $var33 = 1;
                }
                if (!$var33)
                    continue;
                else
                    break;
            }
            $var3 = var$6 + $var8 | 0;
            $var4 = var$8 + $var10_0 | 0;
            $var5 = var$7 + $var32_0 | 0;
            continue main;
        case 4:
            $tmp = nms_World_getBlockId($var1, $var3, $var5, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            $ptr = 5;
        case 5:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var7 == nms_Block_dirt.$blockID) {
                nms_EnumSkyBlock_$callClinit();
                $var12 = nms_EnumSkyBlock_Sky;
                $ptr = 7;
                continue main;
            }
            j: while (true) {
                $var10 = $var10 + 1 | 0;
                while ($var10 >= 8) {
                    $var32 = $var32 + 1 | 0;
                    while ($var32 >= 16) {
                        $var22 = $var22 + 1 | 0;
                        if ($var22 >= 16)
                            break j;
                        $var32 = 0;
                    }
                    $var10 = 4;
                }
                if (!$var6[((($var22 * 16 | 0) + $var32 | 0) * 8 | 0) + $var10 | 0])
                    continue;
                else {
                    $var3 = var$6 + $var22 | 0;
                    $var4 = var$8 + $var10 | 0;
                    $var5 = $var4 - 1 | 0;
                    $var8 = var$7 + $var32 | 0;
                    $ptr = 4;
                    continue main;
                }
            }
            $ptr = 2;
            continue main;
        case 6:
            $var1.$setBlock($var3, $var4, $var8, $var7);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var10 = $var10 + 1 | 0;
                while ($var10 >= 8) {
                    $var32 = $var32 + 1 | 0;
                    while ($var32 >= 16) {
                        $var5 = $var5 + 1 | 0;
                        if ($var5 >= 16) {
                            $var22 = 0;
                            while ($var22 < 16) {
                                $var32 = 0;
                                while ($var32 < 16) {
                                    $var10 = 4;
                                    while ($var10 < 8) {
                                        if ($var6[((($var22 * 16 | 0) + $var32 | 0) * 8 | 0) + $var10 | 0]) {
                                            $var3 = var$6 + $var22 | 0;
                                            $var4 = var$8 + $var10 | 0;
                                            $var5 = $var4 - 1 | 0;
                                            $var8 = var$7 + $var32 | 0;
                                            $ptr = 4;
                                            continue main;
                                        }
                                        $var10 = $var10 + 1 | 0;
                                    }
                                    $var32 = $var32 + 1 | 0;
                                }
                                $var22 = $var22 + 1 | 0;
                            }
                            $ptr = 2;
                            continue main;
                        }
                        $var32 = 0;
                    }
                    $var10 = 0;
                }
                if (!$var6[((($var5 * 16 | 0) + $var32 | 0) * 8 | 0) + $var10 | 0])
                    continue;
                else
                    break;
            }
            $var3 = var$6 + $var5 | 0;
            $var4 = var$8 + $var10 | 0;
            $var8 = var$7 + $var32 | 0;
            $var7 = $var10 < 4 ? $this.$field_15235_a : 0;
            continue main;
        case 7:
            $tmp = nms_World_getSavedLightValue($var1, $var12, $var3, $var4, $var8);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = $tmp;
            if ($var4 > 0) {
                $var4 = nms_Block_grass.$blockID;
                $ptr = 9;
                continue main;
            }
            j: while (true) {
                $var10 = $var10 + 1 | 0;
                while ($var10 >= 8) {
                    $var32 = $var32 + 1 | 0;
                    while ($var32 >= 16) {
                        $var22 = $var22 + 1 | 0;
                        if ($var22 >= 16)
                            break j;
                        $var32 = 0;
                    }
                    $var10 = 4;
                }
                if (!$var6[((($var22 * 16 | 0) + $var32 | 0) * 8 | 0) + $var10 | 0])
                    continue;
                else {
                    $var3 = var$6 + $var22 | 0;
                    $var4 = var$8 + $var10 | 0;
                    $var5 = $var4 - 1 | 0;
                    $var8 = var$7 + $var32 | 0;
                    $ptr = 4;
                    continue main;
                }
            }
            $ptr = 2;
            continue main;
        case 8:
            $tmp = nms_World_getBlockId($var1, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            if ($var3 != $this.$field_15235_a)
                return 0;
            while (true) {
                $var10_0 = $var10_0 + 1 | 0;
                while ($var10_0 >= 8) {
                    $var32_0 = $var32_0 + 1 | 0;
                    while ($var32_0 >= 16) {
                        $var8 = $var8 + 1 | 0;
                        if ($var8 >= 16) {
                            $var5 = 0;
                            k: while (true) {
                                if ($var5 >= 16) {
                                    $var22 = 0;
                                    while ($var22 < 16) {
                                        $var32 = 0;
                                        while ($var32 < 16) {
                                            $var10 = 4;
                                            while ($var10 < 8) {
                                                if ($var6[((($var22 * 16 | 0) + $var32 | 0) * 8 | 0) + $var10 | 0]) {
                                                    $var3 = var$6 + $var22 | 0;
                                                    $var4 = var$8 + $var10 | 0;
                                                    $var5 = $var4 - 1 | 0;
                                                    $var8 = var$7 + $var32 | 0;
                                                    $ptr = 4;
                                                    continue main;
                                                }
                                                $var10 = $var10 + 1 | 0;
                                            }
                                            $var32 = $var32 + 1 | 0;
                                        }
                                        $var22 = $var22 + 1 | 0;
                                    }
                                    $ptr = 2;
                                    continue main;
                                }
                                $var32 = 0;
                                while ($var32 < 16) {
                                    $var10 = 0;
                                    while ($var10 < 8) {
                                        if ($var6[((($var5 * 16 | 0) + $var32 | 0) * 8 | 0) + $var10 | 0])
                                            break k;
                                        $var10 = $var10 + 1 | 0;
                                    }
                                    $var32 = $var32 + 1 | 0;
                                }
                                $var5 = $var5 + 1 | 0;
                            }
                            $var3 = var$6 + $var5 | 0;
                            $var4 = var$8 + $var10 | 0;
                            $var8 = var$7 + $var32 | 0;
                            $var7 = $var10 < 4 ? $this.$field_15235_a : 0;
                            $ptr = 6;
                            continue main;
                        }
                        $var32_0 = 0;
                    }
                    $var10_0 = 0;
                }
                g: {
                    h: {
                        $var5 = $var8 * 16 | 0;
                        $var32 = $var5 + $var32_0 | 0;
                        $var10 = $var32 * 8 | 0;
                        $var7 = $var10 + $var10_0 | 0;
                        if (!$var6[$var7]) {
                            if ($var8 < 15 && $var6[(((($var8 + 1 | 0) * 16 | 0) + $var32_0 | 0) * 8 | 0) + $var10_0 | 0])
                                break h;
                            if ($var8 > 0 && $var6[(((($var8 - 1 | 0) * 16 | 0) + $var32_0 | 0) * 8 | 0) + $var10_0 | 0])
                                break h;
                            if ($var32_0 < 15 && $var6[(($var32 + 1 | 0) * 8 | 0) + $var10_0 | 0])
                                break h;
                            if ($var32_0 > 0 && $var6[(($var5 + ($var32_0 - 1 | 0) | 0) * 8 | 0) + $var10_0 | 0])
                                break h;
                            if ($var10_0 < 7 && $var6[$var7 + 1 | 0])
                                break h;
                            if ($var10_0 > 0 && $var6[$var10 + ($var10_0 - 1 | 0) | 0])
                                break h;
                        }
                        $var33 = 0;
                        break g;
                    }
                    $var33 = 1;
                }
                if (!$var33)
                    continue;
                else
                    break;
            }
            $var3 = var$6 + $var8 | 0;
            $var4 = var$8 + $var10_0 | 0;
            $var5 = var$7 + $var32_0 | 0;
            $ptr = 3;
            continue main;
        case 9:
            $var1.$setBlock($var3, $var5, $var8, $var4);
            if ($rt_suspending()) {
                break main;
            }
            f: while (true) {
                $var10 = $var10 + 1 | 0;
                while ($var10 >= 8) {
                    $var32 = $var32 + 1 | 0;
                    while ($var32 >= 16) {
                        $var22 = $var22 + 1 | 0;
                        if ($var22 >= 16)
                            break f;
                        $var32 = 0;
                    }
                    $var10 = 4;
                }
                if (!$var6[((($var22 * 16 | 0) + $var32 | 0) * 8 | 0) + $var10 | 0])
                    continue;
                else {
                    $var3 = var$6 + $var22 | 0;
                    $var4 = var$8 + $var10 | 0;
                    $var5 = $var4 - 1 | 0;
                    $var8 = var$7 + $var32 | 0;
                    $ptr = 4;
                    continue main;
                }
            }
            $ptr = 2;
            continue main;
        case 10:
            $tmp = nms_World_getBlockMaterial($var1, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            if ($var12.$isSolid()) {
                $var32 = nms_Block_stone.$blockID;
                $ptr = 11;
                continue main;
            }
            f: {
                j: while (true) {
                    $var10_0 = $var10_0 + 1 | 0;
                    while ($var10_0 >= 8) {
                        $var32_0 = $var32_0 + 1 | 0;
                        while ($var32_0 >= 16) {
                            $var10 = $var10 + 1 | 0;
                            if ($var10 >= 16)
                                break j;
                            $var32_0 = 0;
                        }
                        $var10_0 = 0;
                    }
                    h: {
                        a: {
                            $var8 = $var10 * 16 | 0;
                            $var7 = $var8 + $var32_0 | 0;
                            $var5 = $var7 * 8 | 0;
                            $var32 = $var5 + $var10_0 | 0;
                            if (!$var6[$var32]) {
                                if ($var10 < 15 && $var6[(((($var10 + 1 | 0) * 16 | 0) + $var32_0 | 0) * 8 | 0) + $var10_0 | 0])
                                    break a;
                                if ($var10 > 0 && $var6[(((($var10 - 1 | 0) * 16 | 0) + $var32_0 | 0) * 8 | 0) + $var10_0 | 0])
                                    break a;
                                if ($var32_0 < 15 && $var6[(($var7 + 1 | 0) * 8 | 0) + $var10_0 | 0])
                                    break a;
                                if ($var32_0 > 0 && $var6[(($var8 + ($var32_0 - 1 | 0) | 0) * 8 | 0) + $var10_0 | 0])
                                    break a;
                                if ($var10_0 < 7 && $var6[$var32 + 1 | 0])
                                    break a;
                                if ($var10_0 > 0 && $var6[$var5 + ($var10_0 - 1 | 0) | 0])
                                    break a;
                            }
                            $var33 = 0;
                            break h;
                        }
                        $var33 = 1;
                    }
                    if (!$var33)
                        continue;
                    if ($var10_0 < 4)
                        break f;
                    if (!ju_Random_nextInt($var2, 2))
                        continue;
                    else
                        break f;
                }
                return 1;
            }
            $var3 = var$6 + $var10 | 0;
            $var4 = var$8 + $var10_0 | 0;
            $var5 = var$7 + $var32_0 | 0;
            continue main;
        case 11:
            $var1.$setBlock($var3, $var4, $var5, $var32);
            if ($rt_suspending()) {
                break main;
            }
            e: {
                f: while (true) {
                    $var10_0 = $var10_0 + 1 | 0;
                    while ($var10_0 >= 8) {
                        $var32_0 = $var32_0 + 1 | 0;
                        while ($var32_0 >= 16) {
                            $var10 = $var10 + 1 | 0;
                            if ($var10 >= 16)
                                break f;
                            $var32_0 = 0;
                        }
                        $var10_0 = 0;
                    }
                    g: {
                        h: {
                            $var8 = $var10 * 16 | 0;
                            $var7 = $var8 + $var32_0 | 0;
                            $var5 = $var7 * 8 | 0;
                            $var32 = $var5 + $var10_0 | 0;
                            if (!$var6[$var32]) {
                                if ($var10 < 15 && $var6[(((($var10 + 1 | 0) * 16 | 0) + $var32_0 | 0) * 8 | 0) + $var10_0 | 0])
                                    break h;
                                if ($var10 > 0 && $var6[(((($var10 - 1 | 0) * 16 | 0) + $var32_0 | 0) * 8 | 0) + $var10_0 | 0])
                                    break h;
                                if ($var32_0 < 15 && $var6[(($var7 + 1 | 0) * 8 | 0) + $var10_0 | 0])
                                    break h;
                                if ($var32_0 > 0 && $var6[(($var8 + ($var32_0 - 1 | 0) | 0) * 8 | 0) + $var10_0 | 0])
                                    break h;
                                if ($var10_0 < 7 && $var6[$var32 + 1 | 0])
                                    break h;
                                if ($var10_0 > 0 && $var6[$var5 + ($var10_0 - 1 | 0) | 0])
                                    break h;
                            }
                            $var33 = 0;
                            break g;
                        }
                        $var33 = 1;
                    }
                    if (!$var33)
                        continue;
                    if ($var10_0 < 4)
                        break e;
                    if (!ju_Random_nextInt($var2, 2))
                        continue;
                    else
                        break e;
                }
                return 1;
            }
            $var3 = var$6 + $var10 | 0;
            $var4 = var$8 + $var10_0 | 0;
            $var5 = var$7 + $var32_0 | 0;
            $ptr = 10;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, $var6, $var7, $var8, $var9, $var11, $var13, $var15, $var17, $var19, $var21, $var22, $var23, $var24, $var26, $var28, $var32, $var10, $var32_0, $var10_0, $var33, $var12, $ptr);
    }
    var nms_WorldGenDungeons = $rt_classWithoutFields(nms_WorldGenerator);
    function nms_WorldGenDungeons__init_0() {
        var var_0 = new nms_WorldGenDungeons();
        nms_WorldGenDungeons__init_(var_0);
        return var_0;
    }
    function nms_WorldGenDungeons__init_($this) {}
    function nms_WorldGenDungeons_generate($this, $var1, $var2, $var3, $var4, $var5) {
        var $var7, $var8, $var9, var$9, $var11, $var15, $var6, var$13, var$14, var$15, $var10, $var12, $var11_0, $var12_0, $var14, $var11_1, $var12_1, $var13, $var19, $var17, $var16, $var18, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var17 = $thread.pop();$var19 = $thread.pop();$var13 = $thread.pop();$var12_1 = $thread.pop();$var11_1 = $thread.pop();$var14 = $thread.pop();$var12_0 = $thread.pop();$var11_0 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var6 = $thread.pop();$var15 = $thread.pop();$var11 = $thread.pop();var$9 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7
            = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var7 = ju_Random_nextInt($var2, 2) + 2 | 0;
            $var8 = ju_Random_nextInt($var2, 2) + 2 | 0;
            $var9 = 0;
            var$9 = ($var3 - $var7 | 0) - 1 | 0;
            $var11 = ($var3 + $var7 | 0) + 1 | 0;
            $var15 = $var4 - 1 | 0;
            $var6 = $var4 + 3 | 0;
            var$13 = $var6 + 1 | 0;
            var$14 = ($var5 - $var8 | 0) - 1 | 0;
            var$15 = ($var5 + $var8 | 0) + 1 | 0;
            $var10 = var$9;
            a: while (true) {
                $var12 = $rt_compare($var10, $var11);
                if ($var12 > 0) {
                    if ($var9 >= 1 && $var9 <= 5) {
                        $var9 = var$9;
                        b: while (true) {
                            $var10 = $rt_compare($var9, $var11);
                            if ($var10 > 0) {
                                var$9 = 0;
                                $var11_0 = ($var7 * 2 | 0) + 1 | 0;
                                $var9 = 27;
                                $var12_0 = ($var8 * 2 | 0) + 1 | 0;
                                while (var$9 < 2) {
                                    $var11 = 0;
                                    if ($var11 < 3) {
                                        $var12 = ($var3 + ju_Random_nextInt($var2, $var11_0) | 0) - $var7 | 0;
                                        $var14 = ($var5 + ju_Random_nextInt($var2, $var12_0) | 0) - $var8 | 0;
                                        $ptr = 5;
                                        continue main;
                                    }
                                    var$9 = var$9 + 1 | 0;
                                }
                                $ptr = 2;
                                continue main;
                            }
                            $var11_0 = $var6;
                            while (true) {
                                $var12 = $rt_compare($var11_0, $var15);
                                if ($var12 < 0)
                                    break;
                                $var12_0 = var$14;
                                $var14 = $rt_compare($var12_0, var$15);
                                if ($var14 <= 0)
                                    break b;
                                $var11_0 = $var11_0 + (-1) | 0;
                            }
                            $var9 = $var9 + 1 | 0;
                        }
                        if ($var9 != var$9 && $var12 && $var12_0 != var$14 && $var10 && $var11_0 != var$13 && $var14) {
                            $var14 = 0;
                            $ptr = 18;
                            continue main;
                        }
                        if ($var11_0 < 0) {
                            $ptr = 9;
                            continue main;
                        }
                        $var14 = $var11_0 - 1 | 0;
                        $ptr = 10;
                        continue main;
                    }
                    return 0;
                }
                $var11_1 = $var15;
                while (true) {
                    $var12_0 = $rt_compare($var11_1, var$13);
                    if ($var12_0 > 0)
                        break;
                    $var12_1 = var$14;
                    $var14 = $rt_compare($var12_1, var$15);
                    if ($var14 <= 0)
                        break a;
                    $var11_1 = $var11_1 + 1 | 0;
                }
                $var10 = $var10 + 1 | 0;
            }
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMaterial($var1, $var10, $var11_1, $var12_1);
            if ($rt_suspending()) {
                break main;
            }
            $var13 = $tmp;
            if ($var11_1 == $var15 && !$var13.$isSolid())
                return 0;
            if (!$var12_0 && !$var13.$isSolid())
                return 0;
            if (!($var10 != var$9 && $var12 && $var12_1 != var$14 && $var14) && $var11_1 == $var4) {
                $ptr = 6;
                continue main;
            }
            $var12_1 = $var12_1 + 1 | 0;
            while (true) {
                $var14 = $rt_compare($var12_1, var$15);
                if ($var14 <= 0)
                    break;
                $var11_1 = $var11_1 + 1 | 0;
                while (true) {
                    $var12_0 = $rt_compare($var11_1, var$13);
                    if ($var12_0 <= 0)
                        break;
                    $var10 = $var10 + 1 | 0;
                    $var12 = $rt_compare($var10, $var11);
                    if ($var12 > 0) {
                        if ($var9 >= 1 && $var9 <= 5) {
                            $var9 = var$9;
                            c: while (true) {
                                $var10 = $rt_compare($var9, $var11);
                                if ($var10 > 0) {
                                    var$9 = 0;
                                    $var11_0 = ($var7 * 2 | 0) + 1 | 0;
                                    $var9 = 27;
                                    $var12_0 = ($var8 * 2 | 0) + 1 | 0;
                                    while (var$9 < 2) {
                                        $var11 = 0;
                                        if ($var11 < 3) {
                                            $var12 = ($var3 + ju_Random_nextInt($var2, $var11_0) | 0) - $var7 | 0;
                                            $var14 = ($var5 + ju_Random_nextInt($var2, $var12_0) | 0) - $var8 | 0;
                                            $ptr = 5;
                                            continue main;
                                        }
                                        var$9 = var$9 + 1 | 0;
                                    }
                                    $ptr = 2;
                                    continue main;
                                }
                                $var11_0 = $var6;
                                while (true) {
                                    $var12 = $rt_compare($var11_0, $var15);
                                    if ($var12 < 0)
                                        break;
                                    $var12_0 = var$14;
                                    $var14 = $rt_compare($var12_0, var$15);
                                    if ($var14 <= 0)
                                        break c;
                                    $var11_0 = $var11_0 + (-1) | 0;
                                }
                                $var9 = $var9 + 1 | 0;
                            }
                            if ($var9 != var$9 && $var12 && $var12_0 != var$14 && $var10 && $var11_0 != var$13 && $var14) {
                                $var14 = 0;
                                $ptr = 18;
                                continue main;
                            }
                            if ($var11_0 < 0) {
                                $ptr = 9;
                                continue main;
                            }
                            $var14 = $var11_0 - 1 | 0;
                            $ptr = 10;
                            continue main;
                        }
                        return 0;
                    }
                    $var11_1 = $var15;
                }
                $var12_1 = var$14;
            }
            continue main;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var11_0 = nms_Block_mobSpawner.$blockID;
            $ptr = 3;
        case 3:
            nms_World_setBlockWithNotify($var1, $var3, $var4, $var5, $var11_0);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockTileEntity($var1, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            $var19 = $var1;
            $var3 = ju_Random_nextInt($var2, 4);
            $var19.$mobID = !$var3 ? $rt_s(2197) : $var3 == 1 ? $rt_s(1779) : $var3 == 2 ? $rt_s(1779) : $var3 != 3 ? $rt_s(3) : $rt_s(2261);
            return 1;
        case 5:
            $tmp = nms_World_isAirBlock($var1, $var12, $var4, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var17 = $tmp;
            if ($var17) {
                $var15 = 0;
                $var17 = $var12 - 1 | 0;
                $ptr = 7;
                continue main;
            }
            $var11 = $var11 + 1 | 0;
            while (true) {
                if ($var11 < 3) {
                    $var12 = ($var3 + ju_Random_nextInt($var2, $var11_0) | 0) - $var7 | 0;
                    $var14 = ($var5 + ju_Random_nextInt($var2, $var12_0) | 0) - $var8 | 0;
                    continue main;
                }
                var$9 = var$9 + 1 | 0;
                if (var$9 >= 2)
                    break;
                $var11 = 0;
            }
            $ptr = 2;
            continue main;
        case 6:
            $tmp = nms_World_isAirBlock($var1, $var10, $var11_1, $var12_1);
            if ($rt_suspending()) {
                break main;
            }
            $var11_0 = $tmp;
            if ($var11_0) {
                $var11_0 = $var11_1 + 1 | 0;
                $ptr = 8;
                continue main;
            }
            $var12_1 = $var12_1 + 1 | 0;
            while (true) {
                $var14 = $rt_compare($var12_1, var$15);
                if ($var14 <= 0)
                    break;
                $var11_1 = $var11_1 + 1 | 0;
                while (true) {
                    $var12_0 = $rt_compare($var11_1, var$13);
                    if ($var12_0 <= 0)
                        break;
                    $var10 = $var10 + 1 | 0;
                    $var12 = $rt_compare($var10, $var11);
                    if ($var12 > 0) {
                        if ($var9 >= 1 && $var9 <= 5) {
                            $var9 = var$9;
                            b: while (true) {
                                $var10 = $rt_compare($var9, $var11);
                                if ($var10 > 0) {
                                    var$9 = 0;
                                    $var11_0 = ($var7 * 2 | 0) + 1 | 0;
                                    $var9 = 27;
                                    $var12_0 = ($var8 * 2 | 0) + 1 | 0;
                                    while (var$9 < 2) {
                                        $var11 = 0;
                                        if ($var11 < 3) {
                                            $var12 = ($var3 + ju_Random_nextInt($var2, $var11_0) | 0) - $var7 | 0;
                                            $var14 = ($var5 + ju_Random_nextInt($var2, $var12_0) | 0) - $var8 | 0;
                                            $ptr = 5;
                                            continue main;
                                        }
                                        var$9 = var$9 + 1 | 0;
                                    }
                                    $ptr = 2;
                                    continue main;
                                }
                                $var11_0 = $var6;
                                while (true) {
                                    $var12 = $rt_compare($var11_0, $var15);
                                    if ($var12 < 0)
                                        break;
                                    $var12_0 = var$14;
                                    $var14 = $rt_compare($var12_0, var$15);
                                    if ($var14 <= 0)
                                        break b;
                                    $var11_0 = $var11_0 + (-1) | 0;
                                }
                                $var9 = $var9 + 1 | 0;
                            }
                            if ($var9 != var$9 && $var12 && $var12_0 != var$14 && $var10 && $var11_0 != var$13 && $var14) {
                                $var14 = 0;
                                $ptr = 18;
                                continue main;
                            }
                            if ($var11_0 < 0) {
                                $ptr = 9;
                                continue main;
                            }
                            $var14 = $var11_0 - 1 | 0;
                            $ptr = 10;
                            continue main;
                        }
                        return 0;
                    }
                    $var11_1 = $var15;
                }
                $var12_1 = var$14;
            }
            $ptr = 1;
            continue main;
        case 7:
            $tmp = nms_World_getBlockMaterial($var1, $var17, $var4, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            if ($var16.$isSolid())
                $var15 = 1;
            $var17 = $var12 + 1 | 0;
            $ptr = 11;
            continue main;
        case 8:
            $tmp = nms_World_isAirBlock($var1, $var10, $var11_0, $var12_1);
            if ($rt_suspending()) {
                break main;
            }
            $var11_0 = $tmp;
            if ($var11_0)
                $var9 = $var9 + 1 | 0;
            $var12_1 = $var12_1 + 1 | 0;
            while (true) {
                $var14 = $rt_compare($var12_1, var$15);
                if ($var14 <= 0)
                    break;
                $var11_1 = $var11_1 + 1 | 0;
                while (true) {
                    $var12_0 = $rt_compare($var11_1, var$13);
                    if ($var12_0 <= 0)
                        break;
                    $var10 = $var10 + 1 | 0;
                    $var12 = $rt_compare($var10, $var11);
                    if ($var12 > 0) {
                        if ($var9 >= 1 && $var9 <= 5) {
                            $var9 = var$9;
                            d: while (true) {
                                $var10 = $rt_compare($var9, $var11);
                                if ($var10 > 0) {
                                    var$9 = 0;
                                    $var11_0 = ($var7 * 2 | 0) + 1 | 0;
                                    $var9 = 27;
                                    $var12_0 = ($var8 * 2 | 0) + 1 | 0;
                                    while (var$9 < 2) {
                                        $var11 = 0;
                                        if ($var11 < 3) {
                                            $var12 = ($var3 + ju_Random_nextInt($var2, $var11_0) | 0) - $var7 | 0;
                                            $var14 = ($var5 + ju_Random_nextInt($var2, $var12_0) | 0) - $var8 | 0;
                                            $ptr = 5;
                                            continue main;
                                        }
                                        var$9 = var$9 + 1 | 0;
                                    }
                                    $ptr = 2;
                                    continue main;
                                }
                                $var11_0 = $var6;
                                while (true) {
                                    $var12 = $rt_compare($var11_0, $var15);
                                    if ($var12 < 0)
                                        break;
                                    $var12_0 = var$14;
                                    $var14 = $rt_compare($var12_0, var$15);
                                    if ($var14 <= 0)
                                        break d;
                                    $var11_0 = $var11_0 + (-1) | 0;
                                }
                                $var9 = $var9 + 1 | 0;
                            }
                            if ($var9 != var$9 && $var12 && $var12_0 != var$14 && $var10 && $var11_0 != var$13 && $var14) {
                                $var14 = 0;
                                $ptr = 18;
                                continue main;
                            }
                            if ($var11_0 < 0) {
                                $ptr = 9;
                                continue main;
                            }
                            $var14 = $var11_0 - 1 | 0;
                            $ptr = 10;
                            continue main;
                        }
                        return 0;
                    }
                    $var11_1 = $var15;
                }
                $var12_1 = var$14;
            }
            $ptr = 1;
            continue main;
        case 9:
            $tmp = nms_World_getBlockMaterial($var1, $var9, $var11_0, $var12_0);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            if ($var16.$isSolid()) {
                if (!$var12 && ju_Random_nextInt($var2, 4)) {
                    $ptr = 16;
                    continue main;
                }
                $ptr = 13;
                continue main;
            }
            $var12_0 = $var12_0 + 1 | 0;
            while (true) {
                $var14 = $rt_compare($var12_0, var$15);
                if ($var14 <= 0)
                    break;
                $var11_0 = $var11_0 + (-1) | 0;
                while (true) {
                    $var12 = $rt_compare($var11_0, $var15);
                    if ($var12 >= 0)
                        break;
                    $var9 = $var9 + 1 | 0;
                    $var10 = $rt_compare($var9, $var11);
                    if ($var10 > 0) {
                        var$9 = 0;
                        $var11_0 = ($var7 * 2 | 0) + 1 | 0;
                        $var9 = 27;
                        $var12_0 = ($var8 * 2 | 0) + 1 | 0;
                        while (var$9 < 2) {
                            $var11 = 0;
                            if ($var11 < 3) {
                                $var12 = ($var3 + ju_Random_nextInt($var2, $var11_0) | 0) - $var7 | 0;
                                $var14 = ($var5 + ju_Random_nextInt($var2, $var12_0) | 0) - $var8 | 0;
                                $ptr = 5;
                                continue main;
                            }
                            var$9 = var$9 + 1 | 0;
                        }
                        $ptr = 2;
                        continue main;
                    }
                    $var11_0 = $var6;
                }
                $var12_0 = var$14;
            }
            if ($var9 != var$9 && $var12 && $var12_0 != var$14 && $var10 && $var11_0 != var$13 && $var14) {
                $var14 = 0;
                $ptr = 18;
                continue main;
            }
            if ($var11_0 < 0) {
                continue main;
            }
            $var14 = $var11_0 - 1 | 0;
            $ptr = 10;
        case 10:
            $tmp = nms_World_getBlockMaterial($var1, $var9, $var14, $var12_0);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            if ($var16.$isSolid()) {
                $ptr = 9;
                continue main;
            }
            $var14 = 0;
            $ptr = 12;
            continue main;
        case 11:
            $tmp = nms_World_getBlockMaterial($var1, $var17, $var4, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            if ($var16.$isSolid())
                $var15 = $var15 + 1 | 0;
            $var17 = $var14 - 1 | 0;
            $ptr = 15;
            continue main;
        case 12:
            nms_World_setBlockWithNotify($var1, $var9, $var11_0, $var12_0, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var12_0 = $var12_0 + 1 | 0;
            while (true) {
                $var14 = $rt_compare($var12_0, var$15);
                if ($var14 <= 0)
                    break;
                $var11_0 = $var11_0 + (-1) | 0;
                while (true) {
                    $var12 = $rt_compare($var11_0, $var15);
                    if ($var12 >= 0)
                        break;
                    $var9 = $var9 + 1 | 0;
                    $var10 = $rt_compare($var9, $var11);
                    if ($var10 > 0) {
                        var$9 = 0;
                        $var11_0 = ($var7 * 2 | 0) + 1 | 0;
                        $var9 = 27;
                        $var12_0 = ($var8 * 2 | 0) + 1 | 0;
                        while (var$9 < 2) {
                            $var11 = 0;
                            if ($var11 < 3) {
                                $var12 = ($var3 + ju_Random_nextInt($var2, $var11_0) | 0) - $var7 | 0;
                                $var14 = ($var5 + ju_Random_nextInt($var2, $var12_0) | 0) - $var8 | 0;
                                $ptr = 5;
                                continue main;
                            }
                            var$9 = var$9 + 1 | 0;
                        }
                        $ptr = 2;
                        continue main;
                    }
                    $var11_0 = $var6;
                }
                $var12_0 = var$14;
            }
            if ($var9 != var$9 && $var12 && $var12_0 != var$14 && $var10 && $var11_0 != var$13 && $var14) {
                $var14 = 0;
                $ptr = 18;
                continue main;
            }
            if ($var11_0 < 0) {
                $ptr = 9;
                continue main;
            }
            $var14 = $var11_0 - 1 | 0;
            $ptr = 10;
            continue main;
        case 13:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var14 = nms_Block_cobblestone.$blockID;
            $ptr = 14;
        case 14:
            nms_World_setBlockWithNotify($var1, $var9, $var11_0, $var12_0, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var12_0 = $var12_0 + 1 | 0;
            while (true) {
                $var14 = $rt_compare($var12_0, var$15);
                if ($var14 <= 0)
                    break;
                $var11_0 = $var11_0 + (-1) | 0;
                while (true) {
                    $var12 = $rt_compare($var11_0, $var15);
                    if ($var12 >= 0)
                        break;
                    $var9 = $var9 + 1 | 0;
                    $var10 = $rt_compare($var9, $var11);
                    if ($var10 > 0) {
                        var$9 = 0;
                        $var11_0 = ($var7 * 2 | 0) + 1 | 0;
                        $var9 = 27;
                        $var12_0 = ($var8 * 2 | 0) + 1 | 0;
                        while (var$9 < 2) {
                            $var11 = 0;
                            if ($var11 < 3) {
                                $var12 = ($var3 + ju_Random_nextInt($var2, $var11_0) | 0) - $var7 | 0;
                                $var14 = ($var5 + ju_Random_nextInt($var2, $var12_0) | 0) - $var8 | 0;
                                $ptr = 5;
                                continue main;
                            }
                            var$9 = var$9 + 1 | 0;
                        }
                        $ptr = 2;
                        continue main;
                    }
                    $var11_0 = $var6;
                }
                $var12_0 = var$14;
            }
            if ($var9 != var$9 && $var12 && $var12_0 != var$14 && $var10 && $var11_0 != var$13 && $var14) {
                $var14 = 0;
                $ptr = 18;
                continue main;
            }
            if ($var11_0 < 0) {
                $ptr = 9;
                continue main;
            }
            $var14 = $var11_0 - 1 | 0;
            $ptr = 10;
            continue main;
        case 15:
            $tmp = nms_World_getBlockMaterial($var1, $var12, $var4, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            if ($var16.$isSolid())
                $var15 = $var15 + 1 | 0;
            $var17 = $var14 + 1 | 0;
            $ptr = 19;
            continue main;
        case 16:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var14 = nms_Block_cobblestoneMossy.$blockID;
            $ptr = 17;
        case 17:
            nms_World_setBlockWithNotify($var1, $var9, $var11_0, $var12_0, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var12_0 = $var12_0 + 1 | 0;
            while (true) {
                $var14 = $rt_compare($var12_0, var$15);
                if ($var14 <= 0)
                    break;
                $var11_0 = $var11_0 + (-1) | 0;
                while (true) {
                    $var12 = $rt_compare($var11_0, $var15);
                    if ($var12 >= 0)
                        break;
                    $var9 = $var9 + 1 | 0;
                    $var10 = $rt_compare($var9, $var11);
                    if ($var10 > 0) {
                        var$9 = 0;
                        $var11_0 = ($var7 * 2 | 0) + 1 | 0;
                        $var9 = 27;
                        $var12_0 = ($var8 * 2 | 0) + 1 | 0;
                        while (var$9 < 2) {
                            $var11 = 0;
                            if ($var11 < 3) {
                                $var12 = ($var3 + ju_Random_nextInt($var2, $var11_0) | 0) - $var7 | 0;
                                $var14 = ($var5 + ju_Random_nextInt($var2, $var12_0) | 0) - $var8 | 0;
                                $ptr = 5;
                                continue main;
                            }
                            var$9 = var$9 + 1 | 0;
                        }
                        $ptr = 2;
                        continue main;
                    }
                    $var11_0 = $var6;
                }
                $var12_0 = var$14;
            }
            if ($var9 != var$9 && $var12 && $var12_0 != var$14 && $var10 && $var11_0 != var$13 && $var14) {
                $var14 = 0;
                $ptr = 18;
                continue main;
            }
            if ($var11_0 < 0) {
                $ptr = 9;
                continue main;
            }
            $var14 = $var11_0 - 1 | 0;
            $ptr = 10;
            continue main;
        case 18:
            nms_World_setBlockWithNotify($var1, $var9, $var11_0, $var12_0, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var12_0 = $var12_0 + 1 | 0;
            while (true) {
                $var14 = $rt_compare($var12_0, var$15);
                if ($var14 <= 0)
                    break;
                $var11_0 = $var11_0 + (-1) | 0;
                while (true) {
                    $var12 = $rt_compare($var11_0, $var15);
                    if ($var12 >= 0)
                        break;
                    $var9 = $var9 + 1 | 0;
                    $var10 = $rt_compare($var9, $var11);
                    if ($var10 > 0) {
                        var$9 = 0;
                        $var11_0 = ($var7 * 2 | 0) + 1 | 0;
                        $var9 = 27;
                        $var12_0 = ($var8 * 2 | 0) + 1 | 0;
                        while (var$9 < 2) {
                            $var11 = 0;
                            if ($var11 < 3) {
                                $var12 = ($var3 + ju_Random_nextInt($var2, $var11_0) | 0) - $var7 | 0;
                                $var14 = ($var5 + ju_Random_nextInt($var2, $var12_0) | 0) - $var8 | 0;
                                $ptr = 5;
                                continue main;
                            }
                            var$9 = var$9 + 1 | 0;
                        }
                        $ptr = 2;
                        continue main;
                    }
                    $var11_0 = $var6;
                }
                $var12_0 = var$14;
            }
            if ($var9 != var$9 && $var12 && $var12_0 != var$14 && $var10 && $var11_0 != var$13 && $var14) {
                $var14 = 0;
                continue main;
            }
            if ($var11_0 < 0) {
                $ptr = 9;
                continue main;
            }
            $var14 = $var11_0 - 1 | 0;
            $ptr = 10;
            continue main;
        case 19:
            $tmp = nms_World_getBlockMaterial($var1, $var12, $var4, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            if ($var16.$isSolid())
                $var15 = $var15 + 1 | 0;
            if ($var15 == 1) {
                $ptr = 20;
                continue main;
            }
            $var11 = $var11 + 1 | 0;
            while (true) {
                if ($var11 < 3) {
                    $var12 = ($var3 + ju_Random_nextInt($var2, $var11_0) | 0) - $var7 | 0;
                    $var14 = ($var5 + ju_Random_nextInt($var2, $var12_0) | 0) - $var8 | 0;
                    $ptr = 5;
                    continue main;
                }
                var$9 = var$9 + 1 | 0;
                if (var$9 >= 2)
                    break;
                $var11 = 0;
            }
            $ptr = 2;
            continue main;
        case 20:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var17 = nms_Block_crate.$blockID;
            $ptr = 21;
        case 21:
            nms_World_setBlockWithNotify($var1, $var12, $var4, $var14, $var17);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 22;
        case 22:
            $tmp = nms_World_getBlockTileEntity($var1, $var12, $var4, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            $var16 = $var16;
            $var17 = 0;
            if ($var17 < 8) {
                $ptr = 23;
                continue main;
            }
            while (true) {
                var$9 = var$9 + 1 | 0;
                if (var$9 >= 2)
                    break;
                $var11 = 0;
                if ($var11 >= 3)
                    continue;
                else {
                    $var12 = ($var3 + ju_Random_nextInt($var2, $var11_0) | 0) - $var7 | 0;
                    $var14 = ($var5 + ju_Random_nextInt($var2, $var12_0) | 0) - $var8 | 0;
                    $ptr = 5;
                    continue main;
                }
            }
            $ptr = 2;
            continue main;
        case 23:
            $tmp = nms_WorldGenDungeons_pickCheckLootItem($this, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var18 = $tmp;
            if ($var18 !== null) {
                $var12 = ju_Random_nextInt($var2, $var9);
                $ptr = 24;
                continue main;
            }
            $var17 = $var17 + 1 | 0;
            if ($var17 < 8) {
                continue main;
            }
            while (true) {
                var$9 = var$9 + 1 | 0;
                if (var$9 >= 2)
                    break;
                $var11 = 0;
                if ($var11 >= 3)
                    continue;
                else {
                    $var12 = ($var3 + ju_Random_nextInt($var2, $var11_0) | 0) - $var7 | 0;
                    $var14 = ($var5 + ju_Random_nextInt($var2, $var12_0) | 0) - $var8 | 0;
                    $ptr = 5;
                    continue main;
                }
            }
            $ptr = 2;
            continue main;
        case 24:
            nms_TileEntityChest_setInventorySlotContents($var16, $var12, $var18);
            if ($rt_suspending()) {
                break main;
            }
            $var17 = $var17 + 1 | 0;
            if ($var17 < 8) {
                $ptr = 23;
                continue main;
            }
            while (true) {
                var$9 = var$9 + 1 | 0;
                if (var$9 >= 2)
                    break;
                $var11 = 0;
                if ($var11 >= 3)
                    continue;
                else {
                    $var12 = ($var3 + ju_Random_nextInt($var2, $var11_0) | 0) - $var7 | 0;
                    $var14 = ($var5 + ju_Random_nextInt($var2, $var12_0) | 0) - $var8 | 0;
                    $ptr = 5;
                    continue main;
                }
            }
            $ptr = 2;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var7, $var8, $var9, var$9, $var11, $var15, $var6, var$13, var$14, var$15, $var10, $var12, $var11_0, $var12_0, $var14, $var11_1, $var12_1, $var13, $var19, $var17, $var16, $var18, $ptr);
    }
    function nms_WorldGenDungeons_pickCheckLootItem($this, $var1) {
        var $var2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var2 = ju_Random_nextInt($var1, 11);
            if (!$var2) {
                var$3 = new nms_ItemStack;
                $ptr = 1;
                continue main;
            }
            if ($var2 == 1) {
                var$3 = new nms_ItemStack;
                $ptr = 2;
                continue main;
            }
            if ($var2 == 2) {
                var$3 = new nms_ItemStack;
                $ptr = 3;
                continue main;
            }
            if ($var2 == 3) {
                var$3 = new nms_ItemStack;
                $ptr = 4;
                continue main;
            }
            if ($var2 == 4) {
                var$3 = new nms_ItemStack;
                $ptr = 5;
                continue main;
            }
            if ($var2 == 5) {
                var$3 = new nms_ItemStack;
                $ptr = 6;
                continue main;
            }
            if ($var2 == 6) {
                var$3 = new nms_ItemStack;
                $ptr = 7;
                continue main;
            }
            if ($var2 == 7 && !ju_Random_nextInt($var1, 100)) {
                var$3 = new nms_ItemStack;
                $ptr = 8;
                continue main;
            }
            if ($var2 == 8 && !ju_Random_nextInt($var1, 2)) {
                var$3 = new nms_ItemStack;
                $ptr = 9;
                continue main;
            }
            if ($var2 == 9 && !ju_Random_nextInt($var1, 10)) {
                var$3 = new nms_ItemStack;
                $ptr = 11;
                continue main;
            }
            if ($var2 != 10) {
                var$3 = null;
                return var$3;
            }
            var$3 = new nms_ItemStack;
            $ptr = 10;
            continue main;
        case 1:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_(var$3, nms_Item_saddle);
            return var$3;
        case 2:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_1(var$3, nms_Item_ingotIron, ju_Random_nextInt($var1, 4) + 1 | 0);
            return var$3;
        case 3:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_(var$3, nms_Item_bread);
            return var$3;
        case 4:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_1(var$3, nms_Item_wheat, ju_Random_nextInt($var1, 4) + 1 | 0);
            return var$3;
        case 5:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_1(var$3, nms_Item_gunpowder, ju_Random_nextInt($var1, 4) + 1 | 0);
            return var$3;
        case 6:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_1(var$3, nms_Item_silk, ju_Random_nextInt($var1, 4) + 1 | 0);
            return var$3;
        case 7:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_(var$3, nms_Item_bucketEmpty);
            return var$3;
        case 8:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_(var$3, nms_Item_appleGold);
            return var$3;
        case 9:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_1(var$3, nms_Item_redstone, ju_Random_nextInt($var1, 4) + 1 | 0);
            return var$3;
        case 10:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_4(var$3, nms_Item_dyePowder, 1, 3);
            return var$3;
        case 11:
            nms_Item_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_ItemStack__init_(var$3, nms_Item_itemsList.data[nms_Item_record13.$shiftedIndex + ju_Random_nextInt($var1, 2) | 0]);
            return var$3;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
    }
    function nms_WorldGenClay() {
        var a = this; nms_WorldGenerator.call(a);
        a.$clayBlockId = 0;
        a.$numberOfBlocks = 0;
    }
    function nms_WorldGenClay__init_0(var_0) {
        var var_1 = new nms_WorldGenClay();
        nms_WorldGenClay__init_(var_1, var_0);
        return var_1;
    }
    function nms_WorldGenClay__init_($this, $var1) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $this.$clayBlockId = nms_Block_blockClay.$blockID;
            $this.$numberOfBlocks = $var1;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $ptr);
    }
    function nms_WorldGenClay_generate($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var6, var$8, $var7, $var9, $var11, $var13, $var15, $var17, $var19, var$16, var$17, var$18, $var20, $var22, $var24, $var26, $var28, $var30, $var32, var$26, var$27, var$28, $var33, $var34, $var35, $var37, $var39, $var41, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var41 = $thread.pop();$var39 = $thread.pop();$var37 = $thread.pop();$var35 = $thread.pop();$var34 = $thread.pop();$var33 = $thread.pop();var$28 = $thread.pop();var$27 = $thread.pop();var$26 = $thread.pop();$var32 = $thread.pop();$var30 = $thread.pop();$var28 = $thread.pop();$var26 = $thread.pop();$var24 = $thread.pop();$var22 = $thread.pop();$var20 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var15
            = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockMaterial($var1, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            nms_Material_$callClinit();
            if (var$6 !== nms_Material_water)
                return 0;
            $var6 = ju_Random_nextFloat($var2) * 3.1415927410125732;
            var$8 = $var3 + 8 | 0;
            $var7 = var$8 + nms_MathHelper_sin($var6) * $this.$numberOfBlocks / 8.0;
            $var9 = var$8 - nms_MathHelper_sin($var6) * $this.$numberOfBlocks / 8.0;
            var$8 = $var5 + 8 | 0;
            $var11 = var$8 + nms_MathHelper_cos($var6) * $this.$numberOfBlocks / 8.0;
            $var13 = var$8 - nms_MathHelper_cos($var6) * $this.$numberOfBlocks / 8.0;
            $var15 = ($var4 + ju_Random_nextInt($var2, 3) | 0) + 2 | 0;
            $var17 = ($var4 + ju_Random_nextInt($var2, 3) | 0) + 2 | 0;
            $var19 = 0;
            var$16 = $var9 - $var7;
            var$17 = $var17 - $var15;
            var$18 = $var13 - $var11;
            while (true) {
                $var3 = $this.$numberOfBlocks;
                if ($var19 > $var3)
                    break;
                $var9 = $var19;
                $var13 = var$16 * $var9;
                $var17 = $var3;
                $var20 = $var7 + $var13 / $var17;
                $var22 = $var15 + var$17 * $var9 / $var17;
                $var24 = $var11 + var$18 * $var9 / $var17;
                $var9 = ju_Random_nextDouble($var2);
                $var3 = $this.$numberOfBlocks;
                $var26 = $var9 * $var3 / 16.0;
                var$8 = $var19 * 3.1415927410125732;
                $var28 = (nms_MathHelper_sin(var$8 / $var3) + 1.0) * $var26 + 1.0;
                $var30 = (nms_MathHelper_sin(var$8 / $this.$numberOfBlocks) + 1.0) * $var26 + 1.0;
                $var26 = $var28 / 2.0;
                $var32 = $var20 - $var26 | 0;
                var$26 = $var20 + $var26 | 0;
                $var17 = $var30 / 2.0;
                var$27 = $var22 - $var17 | 0;
                var$28 = $var22 + $var17 | 0;
                $var4 = $var24 - $var26 | 0;
                $var5 = $var24 + $var26 | 0;
                while ($var32 <= var$26) {
                    $var33 = var$27;
                    while ($var33 <= var$28) {
                        $var34 = $var4;
                        while ($var34 <= $var5) {
                            $var35 = ($var32 + 0.5 - $var20) / $var26;
                            $var37 = ($var33 + 0.5 - $var22) / $var17;
                            $var39 = ($var34 + 0.5 - $var24) / $var26;
                            if ($var35 * $var35 + $var37 * $var37 + $var39 * $var39 < 1.0) {
                                $ptr = 2;
                                continue main;
                            }
                            $var34 = $var34 + 1 | 0;
                        }
                        $var33 = $var33 + 1 | 0;
                    }
                    $var32 = $var32 + 1 | 0;
                }
                $var19 = $var19 + 1 | 0;
            }
            return 1;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var32, $var33, $var34);
            if ($rt_suspending()) {
                break main;
            }
            $var41 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var41 == nms_Block_sand.$blockID) {
                $var3 = $this.$clayBlockId;
                $ptr = 4;
                continue main;
            }
            a: while (true) {
                $var34 = $var34 + 1 | 0;
                while ($var34 > $var5) {
                    $var33 = $var33 + 1 | 0;
                    while ($var33 > var$28) {
                        $var32 = $var32 + 1 | 0;
                        while ($var32 > var$26) {
                            $var19 = $var19 + 1 | 0;
                            $var3 = $this.$numberOfBlocks;
                            if ($var19 > $var3)
                                break a;
                            $var9 = $var19;
                            $var13 = var$16 * $var9;
                            $var17 = $var3;
                            $var20 = $var7 + $var13 / $var17;
                            $var22 = $var15 + var$17 * $var9 / $var17;
                            $var24 = $var11 + var$18 * $var9 / $var17;
                            $var9 = ju_Random_nextDouble($var2);
                            $var3 = $this.$numberOfBlocks;
                            $var26 = $var9 * $var3 / 16.0;
                            var$8 = $var19 * 3.1415927410125732;
                            $var28 = (nms_MathHelper_sin(var$8 / $var3) + 1.0) * $var26 + 1.0;
                            $var30 = (nms_MathHelper_sin(var$8 / $this.$numberOfBlocks) + 1.0) * $var26 + 1.0;
                            $var26 = $var28 / 2.0;
                            $var32 = $var20 - $var26 | 0;
                            var$26 = $var20 + $var26 | 0;
                            $var17 = $var30 / 2.0;
                            var$27 = $var22 - $var17 | 0;
                            var$28 = $var22 + $var17 | 0;
                            $var4 = $var24 - $var26 | 0;
                            $var5 = $var24 + $var26 | 0;
                        }
                        $var33 = var$27;
                    }
                    $var34 = $var4;
                }
                $var35 = ($var32 + 0.5 - $var20) / $var26;
                $var37 = ($var33 + 0.5 - $var22) / $var17;
                $var39 = ($var34 + 0.5 - $var24) / $var26;
                if ($var35 * $var35 + $var37 * $var37 + $var39 * $var39 >= 1.0)
                    continue;
                else {
                    $ptr = 2;
                    continue main;
                }
            }
            return 1;
        case 4:
            $var1.$setBlock($var32, $var33, $var34, $var3);
            if ($rt_suspending()) {
                break main;
            }
            b: while (true) {
                $var34 = $var34 + 1 | 0;
                while ($var34 > $var5) {
                    $var33 = $var33 + 1 | 0;
                    while ($var33 > var$28) {
                        $var32 = $var32 + 1 | 0;
                        while ($var32 > var$26) {
                            $var19 = $var19 + 1 | 0;
                            $var3 = $this.$numberOfBlocks;
                            if ($var19 > $var3)
                                break b;
                            $var9 = $var19;
                            $var13 = var$16 * $var9;
                            $var17 = $var3;
                            $var20 = $var7 + $var13 / $var17;
                            $var22 = $var15 + var$17 * $var9 / $var17;
                            $var24 = $var11 + var$18 * $var9 / $var17;
                            $var9 = ju_Random_nextDouble($var2);
                            $var3 = $this.$numberOfBlocks;
                            $var26 = $var9 * $var3 / 16.0;
                            var$8 = $var19 * 3.1415927410125732;
                            $var28 = (nms_MathHelper_sin(var$8 / $var3) + 1.0) * $var26 + 1.0;
                            $var30 = (nms_MathHelper_sin(var$8 / $this.$numberOfBlocks) + 1.0) * $var26 + 1.0;
                            $var26 = $var28 / 2.0;
                            $var32 = $var20 - $var26 | 0;
                            var$26 = $var20 + $var26 | 0;
                            $var17 = $var30 / 2.0;
                            var$27 = $var22 - $var17 | 0;
                            var$28 = $var22 + $var17 | 0;
                            $var4 = $var24 - $var26 | 0;
                            $var5 = $var24 + $var26 | 0;
                        }
                        $var33 = var$27;
                    }
                    $var34 = $var4;
                }
                $var35 = ($var32 + 0.5 - $var20) / $var26;
                $var37 = ($var33 + 0.5 - $var22) / $var17;
                $var39 = ($var34 + 0.5 - $var24) / $var26;
                if ($var35 * $var35 + $var37 * $var37 + $var39 * $var39 >= 1.0)
                    continue;
                else {
                    $ptr = 2;
                    continue main;
                }
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, var$8, $var7, $var9, $var11, $var13, $var15, $var17, $var19, var$16, var$17, var$18, $var20, $var22, $var24, $var26, $var28, $var30, $var32, var$26, var$27, var$28, $var33, $var34, $var35, $var37, $var39, $var41, $ptr);
    }
    function nms_WorldGenMinable() {
        var a = this; nms_WorldGenerator.call(a);
        a.$minableBlockId = 0;
        a.$numberOfBlocks0 = 0;
    }
    function nms_WorldGenMinable__init_0(var_0, var_1) {
        var var_2 = new nms_WorldGenMinable();
        nms_WorldGenMinable__init_(var_2, var_0, var_1);
        return var_2;
    }
    function nms_WorldGenMinable__init_($this, $var1, $var2) {
        $this.$minableBlockId = $var1;
        $this.$numberOfBlocks0 = $var2;
    }
    function nms_WorldGenMinable_generate($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, var$7, $var7, $var9, $var11, $var13, $var15, $var17, $var19, $var45, $var42, $var39, $var20, $var22, $var24, $var26, $var28, $var30, $var38, $var33, $var34, $var35, $var36, $var37, $var41, $var44, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var44 = $thread.pop();$var41 = $thread.pop();$var37 = $thread.pop();$var36 = $thread.pop();$var35 = $thread.pop();$var34 = $thread.pop();$var33 = $thread.pop();$var38 = $thread.pop();$var30 = $thread.pop();$var28 = $thread.pop();$var26 = $thread.pop();$var24 = $thread.pop();$var22 = $thread.pop();$var20 = $thread.pop();$var39 = $thread.pop();$var42 = $thread.pop();$var45 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11
            = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = ju_Random_nextFloat($var2) * 3.1415927410125732;
            var$7 = $var3 + 8 | 0;
            $var7 = var$7 + nms_MathHelper_sin($var6) * $this.$numberOfBlocks0 / 8.0;
            $var9 = var$7 - nms_MathHelper_sin($var6) * $this.$numberOfBlocks0 / 8.0;
            var$7 = $var5 + 8 | 0;
            $var11 = var$7 + nms_MathHelper_cos($var6) * $this.$numberOfBlocks0 / 8.0;
            $var13 = var$7 - nms_MathHelper_cos($var6) * $this.$numberOfBlocks0 / 8.0;
            $var15 = ($var4 + ju_Random_nextInt($var2, 3) | 0) + 2 | 0;
            $var17 = ($var4 + ju_Random_nextInt($var2, 3) | 0) + 2 | 0;
            $var19 = 0;
            $var9 = $var9 - $var7;
            $var17 = $var17 - $var15;
            $var13 = $var13 - $var11;
            while (true) {
                $var3 = $this.$numberOfBlocks0;
                if ($var19 > $var3)
                    break;
                $var45 = $var19;
                $var42 = $var9 * $var45;
                $var39 = $var3;
                $var20 = $var7 + $var42 / $var39;
                $var22 = $var15 + $var17 * $var45 / $var39;
                $var24 = $var11 + $var13 * $var45 / $var39;
                $var45 = ju_Random_nextDouble($var2);
                $var3 = $this.$numberOfBlocks0;
                $var26 = $var45 * $var3 / 16.0;
                var$7 = $var19 * 3.1415927410125732;
                $var28 = (nms_MathHelper_sin(var$7 / $var3) + 1.0) * $var26 + 1.0;
                $var30 = (nms_MathHelper_sin(var$7 / $this.$numberOfBlocks0) + 1.0) * $var26 + 1.0;
                $var26 = $var28 / 2.0;
                $var38 = $var20 - $var26 | 0;
                $var28 = $var30 / 2.0;
                $var33 = $var22 - $var28 | 0;
                $var34 = $var24 - $var26 | 0;
                $var35 = $var20 + $var26 | 0;
                $var36 = $var22 + $var28 | 0;
                $var37 = $var24 + $var26 | 0;
                while ($var38 <= $var35) {
                    a: {
                        $var39 = ($var38 + 0.5 - $var20) / $var26;
                        $var30 = $var39 * $var39;
                        if ($var30 < 1.0) {
                            $var41 = $var33;
                            while (true) {
                                if ($var41 > $var36)
                                    break a;
                                b: {
                                    $var42 = ($var41 + 0.5 - $var22) / $var28;
                                    $var39 = $var30 + $var42 * $var42;
                                    if ($var39 < 1.0) {
                                        $var44 = $var34;
                                        while (true) {
                                            if ($var44 > $var37)
                                                break b;
                                            $var45 = ($var44 + 0.5 - $var24) / $var26;
                                            if ($var39 + $var45 * $var45 < 1.0) {
                                                $ptr = 1;
                                                continue main;
                                            }
                                            $var44 = $var44 + 1 | 0;
                                        }
                                    }
                                }
                                $var41 = $var41 + 1 | 0;
                            }
                        }
                    }
                    $var38 = $var38 + 1 | 0;
                }
                $var19 = $var19 + 1 | 0;
            }
            return 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var38, $var41, $var44);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var3 == nms_Block_stone.$blockID) {
                $var3 = $this.$minableBlockId;
                $ptr = 3;
                continue main;
            }
            c: while (true) {
                $var44 = $var44 + 1 | 0;
                while ($var44 > $var37) {
                    while (true) {
                        $var41 = $var41 + 1 | 0;
                        while ($var41 > $var36) {
                            while (true) {
                                $var38 = $var38 + 1 | 0;
                                while ($var38 > $var35) {
                                    $var19 = $var19 + 1 | 0;
                                    $var3 = $this.$numberOfBlocks0;
                                    if ($var19 > $var3)
                                        break c;
                                    $var45 = $var19;
                                    $var42 = $var9 * $var45;
                                    $var39 = $var3;
                                    $var20 = $var7 + $var42 / $var39;
                                    $var22 = $var15 + $var17 * $var45 / $var39;
                                    $var24 = $var11 + $var13 * $var45 / $var39;
                                    $var45 = ju_Random_nextDouble($var2);
                                    $var3 = $this.$numberOfBlocks0;
                                    $var26 = $var45 * $var3 / 16.0;
                                    var$7 = $var19 * 3.1415927410125732;
                                    $var28 = (nms_MathHelper_sin(var$7 / $var3) + 1.0) * $var26 + 1.0;
                                    $var30 = (nms_MathHelper_sin(var$7 / $this.$numberOfBlocks0) + 1.0) * $var26 + 1.0;
                                    $var26 = $var28 / 2.0;
                                    $var38 = $var20 - $var26 | 0;
                                    $var28 = $var30 / 2.0;
                                    $var33 = $var22 - $var28 | 0;
                                    $var34 = $var24 - $var26 | 0;
                                    $var35 = $var20 + $var26 | 0;
                                    $var36 = $var22 + $var28 | 0;
                                    $var37 = $var24 + $var26 | 0;
                                }
                                $var39 = ($var38 + 0.5 - $var20) / $var26;
                                $var30 = $var39 * $var39;
                                if ($var30 >= 1.0)
                                    continue;
                                else
                                    break;
                            }
                            $var41 = $var33;
                        }
                        $var42 = ($var41 + 0.5 - $var22) / $var28;
                        $var39 = $var30 + $var42 * $var42;
                        if ($var39 >= 1.0)
                            continue;
                        else
                            break;
                    }
                    $var44 = $var34;
                }
                $var45 = ($var44 + 0.5 - $var24) / $var26;
                if ($var39 + $var45 * $var45 >= 1.0)
                    continue;
                else {
                    $ptr = 1;
                    continue main;
                }
            }
            return 1;
        case 3:
            $var1.$setBlock($var38, $var41, $var44, $var3);
            if ($rt_suspending()) {
                break main;
            }
            d: while (true) {
                $var44 = $var44 + 1 | 0;
                while ($var44 > $var37) {
                    while (true) {
                        $var41 = $var41 + 1 | 0;
                        while ($var41 > $var36) {
                            while (true) {
                                $var38 = $var38 + 1 | 0;
                                while ($var38 > $var35) {
                                    $var19 = $var19 + 1 | 0;
                                    $var3 = $this.$numberOfBlocks0;
                                    if ($var19 > $var3)
                                        break d;
                                    $var45 = $var19;
                                    $var42 = $var9 * $var45;
                                    $var39 = $var3;
                                    $var20 = $var7 + $var42 / $var39;
                                    $var22 = $var15 + $var17 * $var45 / $var39;
                                    $var24 = $var11 + $var13 * $var45 / $var39;
                                    $var45 = ju_Random_nextDouble($var2);
                                    $var3 = $this.$numberOfBlocks0;
                                    $var26 = $var45 * $var3 / 16.0;
                                    var$7 = $var19 * 3.1415927410125732;
                                    $var28 = (nms_MathHelper_sin(var$7 / $var3) + 1.0) * $var26 + 1.0;
                                    $var30 = (nms_MathHelper_sin(var$7 / $this.$numberOfBlocks0) + 1.0) * $var26 + 1.0;
                                    $var26 = $var28 / 2.0;
                                    $var38 = $var20 - $var26 | 0;
                                    $var28 = $var30 / 2.0;
                                    $var33 = $var22 - $var28 | 0;
                                    $var34 = $var24 - $var26 | 0;
                                    $var35 = $var20 + $var26 | 0;
                                    $var36 = $var22 + $var28 | 0;
                                    $var37 = $var24 + $var26 | 0;
                                }
                                $var39 = ($var38 + 0.5 - $var20) / $var26;
                                $var30 = $var39 * $var39;
                                if ($var30 >= 1.0)
                                    continue;
                                else
                                    break;
                            }
                            $var41 = $var33;
                        }
                        $var42 = ($var41 + 0.5 - $var22) / $var28;
                        $var39 = $var30 + $var42 * $var42;
                        if ($var39 >= 1.0)
                            continue;
                        else
                            break;
                    }
                    $var44 = $var34;
                }
                $var45 = ($var44 + 0.5 - $var24) / $var26;
                if ($var39 + $var45 * $var45 >= 1.0)
                    continue;
                else {
                    $ptr = 1;
                    continue main;
                }
            }
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $var7, $var9, $var11, $var13, $var15, $var17, $var19, $var45, $var42, $var39, $var20, $var22, $var24, $var26, $var28, $var30, $var38, $var33, $var34, $var35, $var36, $var37, $var41, $var44, $ptr);
    }
    function nms_WorldGenFlowers() {
        nms_WorldGenerator.call(this);
        this.$plantBlockId = 0;
    }
    function nms_WorldGenFlowers__init_0(var_0) {
        var var_1 = new nms_WorldGenFlowers();
        nms_WorldGenFlowers__init_(var_1, var_0);
        return var_1;
    }
    function nms_WorldGenFlowers__init_($this, $var1) {
        $this.$plantBlockId = $var1;
    }
    function nms_WorldGenFlowers_generate($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var8, $var9, var$10, var$11, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = 0;
            if ($var6 >= 64)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = ($var4 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isAirBlock($var1, $var7, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            if (var$10) {
                $ptr = 2;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 64)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = ($var4 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            continue main;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$11 = nms_Block_blocksList.data[$this.$plantBlockId];
            $ptr = 3;
        case 3:
            $tmp = var$11.$canBlockStay($var1, $var7, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            if (var$10) {
                var$10 = $this.$plantBlockId;
                $ptr = 4;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 64)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = ($var4 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $ptr = 1;
            continue main;
        case 4:
            $var1.$setBlock($var7, $var8, $var9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 64)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = ($var4 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, var$10, var$11, $ptr);
    }
    var nms_WorldGenReed = $rt_classWithoutFields(nms_WorldGenerator);
    function nms_WorldGenReed__init_0() {
        var var_0 = new nms_WorldGenReed();
        nms_WorldGenReed__init_(var_0);
        return var_0;
    }
    function nms_WorldGenReed__init_($this) {}
    function nms_WorldGenReed_generate($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, var$7, $var7, $var9, $var10, var$11, $var11, var$13, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var11 = $thread.pop();var$11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = 0;
            var$7 = $var4 - 1 | 0;
            if ($var6 >= 20)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isAirBlock($var1, $var7, $var4, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            if ($var10) {
                $var10 = $var7 - 1 | 0;
                $ptr = 2;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 20)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            continue main;
        case 2:
            $tmp = nms_World_getBlockMaterial($var1, $var10, var$7, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            nms_Material_$callClinit();
            if (var$11 !== nms_Material_water) {
                $var10 = $var7 + 1 | 0;
                $ptr = 3;
                continue main;
            }
            $var10 = 2 + ju_Random_nextInt($var2, ju_Random_nextInt($var2, 3) + 1 | 0) | 0;
            $var11 = 0;
            if ($var11 < $var10) {
                $ptr = 5;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 20)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $ptr = 1;
            continue main;
        case 3:
            $tmp = nms_World_getBlockMaterial($var1, $var10, var$7, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            if (var$11 !== nms_Material_water) {
                $var10 = $var9 - 1 | 0;
                $ptr = 4;
                continue main;
            }
            $var10 = 2 + ju_Random_nextInt($var2, ju_Random_nextInt($var2, 3) + 1 | 0) | 0;
            $var11 = 0;
            if ($var11 < $var10) {
                $ptr = 5;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 20)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $ptr = 1;
            continue main;
        case 4:
            $tmp = nms_World_getBlockMaterial($var1, $var7, var$7, $var10);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            if (var$11 !== nms_Material_water) {
                $var10 = $var9 + 1 | 0;
                $ptr = 7;
                continue main;
            }
            $var10 = 2 + ju_Random_nextInt($var2, ju_Random_nextInt($var2, 3) + 1 | 0) | 0;
            $var11 = 0;
            if ($var11 < $var10) {
                $ptr = 5;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 20)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $ptr = 1;
            continue main;
        case 5:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$11 = nms_Block_reed;
            var$13 = $var4 + $var11 | 0;
            $ptr = 6;
        case 6:
            $tmp = var$11.$canBlockStay($var1, $var7, var$13, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $tmp;
            if (var$14) {
                var$14 = nms_Block_reed.$blockID;
                $ptr = 8;
                continue main;
            }
            $var11 = $var11 + 1 | 0;
            if ($var11 < $var10) {
                $ptr = 5;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 20)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $ptr = 1;
            continue main;
        case 7:
            $tmp = nms_World_getBlockMaterial($var1, $var7, var$7, $var10);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            if (var$11 === nms_Material_water) {
                $var10 = 2 + ju_Random_nextInt($var2, ju_Random_nextInt($var2, 3) + 1 | 0) | 0;
                $var11 = 0;
                if ($var11 < $var10) {
                    $ptr = 5;
                    continue main;
                }
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 20)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $ptr = 1;
            continue main;
        case 8:
            $var1.$setBlock($var7, var$13, $var9, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $var11 + 1 | 0;
            if ($var11 < $var10) {
                $ptr = 5;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 20)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $var7, $var9, $var10, var$11, $var11, var$13, var$14, $ptr);
    }
    var nms_WorldGenPumpkin = $rt_classWithoutFields(nms_WorldGenerator);
    function nms_WorldGenPumpkin__init_0() {
        var var_0 = new nms_WorldGenPumpkin();
        nms_WorldGenPumpkin__init_(var_0);
        return var_0;
    }
    function nms_WorldGenPumpkin__init_($this) {}
    function nms_WorldGenPumpkin_generate($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var8, $var9, var$10, var$11, var$12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = 0;
            if ($var6 >= 64)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = ($var4 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isAirBlock($var1, $var7, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            if (var$10) {
                var$10 = $var8 - 1 | 0;
                $ptr = 2;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 64)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = ($var4 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            continue main;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var7, var$10, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$11 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$11 == nms_Block_grass.$blockID) {
                var$12 = nms_Block_pumpkin;
                $ptr = 4;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 64)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = ($var4 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $ptr = 1;
            continue main;
        case 4:
            $tmp = var$12.$canPlaceBlockAt($var1, $var7, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$10 = $tmp;
            if (var$10) {
                var$11 = nms_Block_pumpkin.$blockID;
                var$10 = ju_Random_nextInt($var2, 4);
                $ptr = 5;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 64)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = ($var4 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $ptr = 1;
            continue main;
        case 5:
            $var1.$setBlockAndMetadata($var7, $var8, $var9, var$11, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 64)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = ($var4 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, var$10, var$11, var$12, $ptr);
    }
    var nms_WorldGenCactus = $rt_classWithoutFields(nms_WorldGenerator);
    function nms_WorldGenCactus__init_0() {
        var var_0 = new nms_WorldGenCactus();
        nms_WorldGenCactus__init_(var_0);
        return var_0;
    }
    function nms_WorldGenCactus__init_($this) {}
    function nms_WorldGenCactus_generate($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var8, $var9, $var10, $var11, var$12, var$13, var$14, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = 0;
            if ($var6 >= 10)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = ($var4 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_isAirBlock($var1, $var7, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            if ($var10) {
                $var10 = 1 + ju_Random_nextInt($var2, ju_Random_nextInt($var2, 3) + 1 | 0) | 0;
                $var11 = 0;
                if ($var11 < $var10) {
                    $ptr = 2;
                    continue main;
                }
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 10)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = ($var4 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            continue main;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            var$12 = nms_Block_cactus;
            var$13 = $var8 + $var11 | 0;
            $ptr = 3;
        case 3:
            $tmp = var$12.$canBlockStay($var1, $var7, var$13, $var9);
            if ($rt_suspending()) {
                break main;
            }
            var$14 = $tmp;
            if (var$14) {
                var$14 = nms_Block_cactus.$blockID;
                $ptr = 4;
                continue main;
            }
            $var11 = $var11 + 1 | 0;
            if ($var11 < $var10) {
                $ptr = 2;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 10)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = ($var4 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $ptr = 1;
            continue main;
        case 4:
            $var1.$setBlock($var7, var$13, $var9, var$14);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $var11 + 1 | 0;
            if ($var11 < $var10) {
                $ptr = 2;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 10)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = ($var4 + ju_Random_nextInt($var2, 4) | 0) - ju_Random_nextInt($var2, 4) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, var$12, var$13, var$14, $ptr);
    }
    function nms_WorldGenLiquids() {
        nms_WorldGenerator.call(this);
        this.$liquidBlockId = 0;
    }
    function nms_WorldGenLiquids__init_0(var_0) {
        var var_1 = new nms_WorldGenLiquids();
        nms_WorldGenLiquids__init_(var_1, var_0);
        return var_1;
    }
    function nms_WorldGenLiquids__init_($this, $var1) {
        $this.$liquidBlockId = $var1;
    }
    function nms_WorldGenLiquids_generate($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, var$7, var$8, $var7, var$10, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var7 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = $var4 + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var3, $var6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var6 != nms_Block_stone.$blockID)
                return 0;
            $var6 = $var4 - 1 | 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId($var1, $var3, $var6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 != nms_Block_stone.$blockID)
                return 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockId($var1, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6) {
                $ptr = 6;
                continue main;
            }
            $var6 = 0;
            var$7 = $var3 - 1 | 0;
            $ptr = 5;
        case 5:
            $tmp = nms_World_getBlockId($var1, var$7, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8 == nms_Block_stone.$blockID)
                $var6 = 1;
            var$8 = $var3 + 1 | 0;
            $ptr = 7;
            continue main;
        case 6:
            $tmp = nms_World_getBlockId($var1, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if ($var6 != nms_Block_stone.$blockID)
                return 0;
            $var6 = 0;
            var$7 = $var3 - 1 | 0;
            $ptr = 5;
            continue main;
        case 7:
            $tmp = nms_World_getBlockId($var1, var$8, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ($var7 == nms_Block_stone.$blockID)
                $var6 = $var6 + 1 | 0;
            var$10 = $var5 - 1 | 0;
            $ptr = 8;
        case 8:
            $tmp = nms_World_getBlockId($var1, $var3, $var4, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ($var7 == nms_Block_stone.$blockID)
                $var6 = $var6 + 1 | 0;
            var$11 = $var5 + 1 | 0;
            $ptr = 9;
        case 9:
            $tmp = nms_World_getBlockId($var1, $var3, $var4, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$12 = $tmp;
            if (var$12 == nms_Block_stone.$blockID)
                $var6 = $var6 + 1 | 0;
            $var7 = 0;
            $ptr = 10;
        case 10:
            $tmp = nms_World_isAirBlock($var1, var$7, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7)
                $var7 = 1;
            $ptr = 11;
        case 11:
            $tmp = nms_World_isAirBlock($var1, var$8, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7)
                $var7 = $var7 + 1 | 0;
            $ptr = 12;
        case 12:
            $tmp = nms_World_isAirBlock($var1, $var3, $var4, var$10);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7)
                $var7 = $var7 + 1 | 0;
            $ptr = 13;
        case 13:
            $tmp = nms_World_isAirBlock($var1, $var3, $var4, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$7 = $tmp;
            if (var$7)
                $var7 = $var7 + 1 | 0;
            if ($var6 == 3 && $var7 == 1) {
                $var6 = $this.$liquidBlockId;
                $ptr = 14;
                continue main;
            }
            return 1;
        case 14:
            nms_World_setBlockWithNotify($var1, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$scheduledUpdatesAreImmediate = 1;
            var$13 = nms_Block_blocksList.data[$this.$liquidBlockId];
            $ptr = 15;
        case 15:
            var$13.$updateTick0($var1, $var3, $var4, $var5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$scheduledUpdatesAreImmediate = 0;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, $var7, var$10, var$11, var$12, var$13, $ptr);
    }
    function nms_WorldGenHellLava() {
        nms_WorldGenerator.call(this);
        this.$field_4158_a = 0;
    }
    function nms_WorldGenHellLava_generate($this, $var1, $var2, $var3, $var4, $var5) {
        var var$6, $var6, var$8, var$9, $var7, var$11, var$12, var$13, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var7 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$6 = $var4 + 1 | 0;
            $ptr = 1;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var3, var$6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (var$6 != nms_Block_bloodStone.$blockID)
                return 0;
            $ptr = 3;
        case 3:
            $tmp = nms_World_getBlockId($var1, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6) {
                $ptr = 5;
                continue main;
            }
            $var6 = 0;
            var$8 = $var3 - 1 | 0;
            $ptr = 4;
        case 4:
            $tmp = nms_World_getBlockId($var1, var$8, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 == nms_Block_bloodStone.$blockID)
                $var6 = 1;
            var$6 = $var3 + 1 | 0;
            $ptr = 6;
            continue main;
        case 5:
            $tmp = nms_World_getBlockId($var1, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6 != nms_Block_bloodStone.$blockID)
                return 0;
            $var6 = 0;
            var$8 = $var3 - 1 | 0;
            $ptr = 4;
            continue main;
        case 6:
            $tmp = nms_World_getBlockId($var1, var$6, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$9 = $tmp;
            if (var$9 == nms_Block_bloodStone.$blockID)
                $var6 = $var6 + 1 | 0;
            var$9 = $var5 - 1 | 0;
            $ptr = 7;
        case 7:
            $tmp = nms_World_getBlockId($var1, $var3, $var4, var$9);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ($var7 == nms_Block_bloodStone.$blockID)
                $var6 = $var6 + 1 | 0;
            var$11 = $var5 + 1 | 0;
            $ptr = 8;
        case 8:
            $tmp = nms_World_getBlockId($var1, $var3, $var4, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ($var7 == nms_Block_bloodStone.$blockID)
                $var6 = $var6 + 1 | 0;
            var$12 = $var4 - 1 | 0;
            $ptr = 9;
        case 9:
            $tmp = nms_World_getBlockId($var1, $var3, var$12, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if ($var7 == nms_Block_bloodStone.$blockID)
                $var6 = $var6 + 1 | 0;
            $var7 = 0;
            $ptr = 10;
        case 10:
            $tmp = nms_World_isAirBlock($var1, var$8, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$8 = $tmp;
            if (var$8)
                $var7 = 1;
            $ptr = 11;
        case 11:
            $tmp = nms_World_isAirBlock($var1, var$6, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6)
                $var7 = $var7 + 1 | 0;
            $ptr = 12;
        case 12:
            $tmp = nms_World_isAirBlock($var1, $var3, $var4, var$9);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6)
                $var7 = $var7 + 1 | 0;
            $ptr = 13;
        case 13:
            $tmp = nms_World_isAirBlock($var1, $var3, $var4, var$11);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6)
                $var7 = $var7 + 1 | 0;
            $ptr = 14;
        case 14:
            $tmp = nms_World_isAirBlock($var1, $var3, var$12, $var5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            if (var$6)
                $var7 = $var7 + 1 | 0;
            if ($var6 == 4 && $var7 == 1) {
                var$6 = $this.$field_4158_a;
                $ptr = 15;
                continue main;
            }
            return 1;
        case 15:
            nms_World_setBlockWithNotify($var1, $var3, $var4, $var5, var$6);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$scheduledUpdatesAreImmediate = 1;
            var$13 = nms_Block_blocksList.data[$this.$field_4158_a];
            $ptr = 16;
        case 16:
            var$13.$updateTick0($var1, $var3, $var4, $var5, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var1.$scheduledUpdatesAreImmediate = 0;
            return 1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $var6, var$8, var$9, $var7, var$11, var$12, var$13, $ptr);
    }
    var nms_WorldGenFire = $rt_classWithoutFields(nms_WorldGenerator);
    function nms_WorldGenFire__init_0() {
        var var_0 = new nms_WorldGenFire();
        nms_WorldGenFire__init_(var_0);
        return var_0;
    }
    function nms_WorldGenFire__init_($this) {}
    var nms_WorldGenLightStone1 = $rt_classWithoutFields(nms_WorldGenerator);
    function nms_WorldGenLightStone1__init_0() {
        var var_0 = new nms_WorldGenLightStone1();
        nms_WorldGenLightStone1__init_(var_0);
        return var_0;
    }
    function nms_WorldGenLightStone1__init_($this) {}
    function nms_WorldGenLightStone1_generate($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var8, $var9, var$10, $var10, $var11, var$13, var$14, var$15, var$16, var$17, var$18, $var12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var12 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();var$10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_isAirBlock($var1, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$var6)
                return 0;
            $var6 = $var4 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var3, $var6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var6 != nms_Block_bloodStone.$blockID)
                return 0;
            $var6 = nms_Block_lightStone.$blockID;
            $ptr = 4;
        case 4:
            nms_World_setBlockWithNotify($var1, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = 0;
            if ($var6 >= 1500)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $ptr = 5;
        case 5:
            a: {
                $tmp = nms_World_getBlockId($var1, $var7, $var8, $var9);
                if ($rt_suspending()) {
                    break main;
                }
                var$10 = $tmp;
                if (!var$10) {
                    $var10 = 0;
                    $var11 = 0;
                    var$13 = $var7 - 1 | 0;
                    var$14 = $var7 + 1 | 0;
                    var$15 = $var8 - 1 | 0;
                    var$16 = $var8 + 1 | 0;
                    var$17 = $var9 - 1 | 0;
                    var$18 = $var9 + 1 | 0;
                    while (true) {
                        if ($var11 >= 6) {
                            if ($var10 != 1)
                                break a;
                            var$10 = nms_Block_lightStone.$blockID;
                            $ptr = 6;
                            continue main;
                        }
                        if (!$var11) {
                            $ptr = 7;
                            continue main;
                        }
                        if ($var11 == 1) {
                            $ptr = 8;
                            continue main;
                        }
                        if ($var11 == 2) {
                            $ptr = 9;
                            continue main;
                        }
                        if ($var11 == 3) {
                            $ptr = 10;
                            continue main;
                        }
                        if ($var11 == 4) {
                            $ptr = 11;
                            continue main;
                        }
                        if ($var11 == 5)
                            break;
                        if (0 == nms_Block_lightStone.$blockID)
                            $var10 = $var10 + 1 | 0;
                        $var11 = $var11 + 1 | 0;
                    }
                    $ptr = 12;
                    continue main;
                }
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 1500)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            continue main;
        case 6:
            nms_World_setBlockWithNotify($var1, $var7, $var8, $var9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 1500)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $ptr = 5;
            continue main;
        case 7:
            $tmp = nms_World_getBlockId($var1, var$13, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            while ($var11 != 1) {
                if ($var11 == 2) {
                    $ptr = 9;
                    continue main;
                }
                if ($var11 == 3) {
                    $ptr = 10;
                    continue main;
                }
                if ($var11 == 4) {
                    $ptr = 11;
                    continue main;
                }
                if ($var11 == 5) {
                    $ptr = 12;
                    continue main;
                }
                if ($var12 == nms_Block_lightStone.$blockID)
                    $var10 = $var10 + 1 | 0;
                $var11 = $var11 + 1 | 0;
                if ($var11 >= 6) {
                    if ($var10 == 1) {
                        var$10 = nms_Block_lightStone.$blockID;
                        $ptr = 6;
                        continue main;
                    }
                    $var6 = $var6 + 1 | 0;
                    if ($var6 >= 1500)
                        return 1;
                    $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
                    $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $ptr = 5;
                    continue main;
                }
                $var12 = 0;
                if (!$var11) {
                    continue main;
                }
            }
            $ptr = 8;
        case 8:
            $tmp = nms_World_getBlockId($var1, var$14, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            while ($var11 != 2) {
                if ($var11 == 3) {
                    $ptr = 10;
                    continue main;
                }
                if ($var11 == 4) {
                    $ptr = 11;
                    continue main;
                }
                if ($var11 == 5) {
                    $ptr = 12;
                    continue main;
                }
                if ($var12 == nms_Block_lightStone.$blockID)
                    $var10 = $var10 + 1 | 0;
                $var11 = $var11 + 1 | 0;
                if ($var11 >= 6) {
                    if ($var10 == 1) {
                        var$10 = nms_Block_lightStone.$blockID;
                        $ptr = 6;
                        continue main;
                    }
                    $var6 = $var6 + 1 | 0;
                    if ($var6 >= 1500)
                        return 1;
                    $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
                    $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $ptr = 5;
                    continue main;
                }
                $var12 = 0;
                if (!$var11) {
                    $ptr = 7;
                    continue main;
                }
                if ($var11 == 1) {
                    continue main;
                }
            }
            $ptr = 9;
        case 9:
            $tmp = nms_World_getBlockId($var1, $var7, var$15, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            while ($var11 != 3) {
                if ($var11 == 4) {
                    $ptr = 11;
                    continue main;
                }
                if ($var11 == 5) {
                    $ptr = 12;
                    continue main;
                }
                if ($var12 == nms_Block_lightStone.$blockID)
                    $var10 = $var10 + 1 | 0;
                $var11 = $var11 + 1 | 0;
                if ($var11 >= 6) {
                    if ($var10 == 1) {
                        var$10 = nms_Block_lightStone.$blockID;
                        $ptr = 6;
                        continue main;
                    }
                    $var6 = $var6 + 1 | 0;
                    if ($var6 >= 1500)
                        return 1;
                    $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
                    $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $ptr = 5;
                    continue main;
                }
                $var12 = 0;
                if (!$var11) {
                    $ptr = 7;
                    continue main;
                }
                if ($var11 == 1) {
                    $ptr = 8;
                    continue main;
                }
                if ($var11 == 2) {
                    continue main;
                }
            }
            $ptr = 10;
        case 10:
            $tmp = nms_World_getBlockId($var1, $var7, var$16, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            while ($var11 != 4) {
                if ($var11 == 5) {
                    $ptr = 12;
                    continue main;
                }
                if ($var12 == nms_Block_lightStone.$blockID)
                    $var10 = $var10 + 1 | 0;
                $var11 = $var11 + 1 | 0;
                if ($var11 >= 6) {
                    if ($var10 == 1) {
                        var$10 = nms_Block_lightStone.$blockID;
                        $ptr = 6;
                        continue main;
                    }
                    $var6 = $var6 + 1 | 0;
                    if ($var6 >= 1500)
                        return 1;
                    $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
                    $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $ptr = 5;
                    continue main;
                }
                $var12 = 0;
                if (!$var11) {
                    $ptr = 7;
                    continue main;
                }
                if ($var11 == 1) {
                    $ptr = 8;
                    continue main;
                }
                if ($var11 == 2) {
                    $ptr = 9;
                    continue main;
                }
                if ($var11 == 3) {
                    continue main;
                }
            }
            $ptr = 11;
        case 11:
            $tmp = nms_World_getBlockId($var1, $var7, $var8, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            while ($var11 != 5) {
                if ($var12 == nms_Block_lightStone.$blockID)
                    $var10 = $var10 + 1 | 0;
                $var11 = $var11 + 1 | 0;
                if ($var11 >= 6) {
                    if ($var10 == 1) {
                        var$10 = nms_Block_lightStone.$blockID;
                        $ptr = 6;
                        continue main;
                    }
                    $var6 = $var6 + 1 | 0;
                    if ($var6 >= 1500)
                        return 1;
                    $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
                    $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $ptr = 5;
                    continue main;
                }
                $var12 = 0;
                if (!$var11) {
                    $ptr = 7;
                    continue main;
                }
                if ($var11 == 1) {
                    $ptr = 8;
                    continue main;
                }
                if ($var11 == 2) {
                    $ptr = 9;
                    continue main;
                }
                if ($var11 == 3) {
                    $ptr = 10;
                    continue main;
                }
                if ($var11 == 4) {
                    continue main;
                }
            }
            $ptr = 12;
        case 12:
            $tmp = nms_World_getBlockId($var1, $var7, $var8, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            while (true) {
                if ($var12 == nms_Block_lightStone.$blockID)
                    $var10 = $var10 + 1 | 0;
                $var11 = $var11 + 1 | 0;
                if ($var11 >= 6) {
                    if ($var10 == 1) {
                        var$10 = nms_Block_lightStone.$blockID;
                        $ptr = 6;
                        continue main;
                    }
                    $var6 = $var6 + 1 | 0;
                    if ($var6 >= 1500)
                        return 1;
                    $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
                    $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $ptr = 5;
                    continue main;
                }
                $var12 = 0;
                if (!$var11) {
                    $ptr = 7;
                    continue main;
                }
                if ($var11 == 1) {
                    $ptr = 8;
                    continue main;
                }
                if ($var11 == 2) {
                    $ptr = 9;
                    continue main;
                }
                if ($var11 == 3) {
                    $ptr = 10;
                    continue main;
                }
                if ($var11 == 4) {
                    $ptr = 11;
                    continue main;
                }
                if ($var11 == 5)
                    break;
            }
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, var$10, $var10, $var11, var$13, var$14, var$15, var$16, var$17, var$18, $var12, $ptr);
    }
    var nms_WorldGenLightStone2 = $rt_classWithoutFields(nms_WorldGenerator);
    function nms_WorldGenLightStone2__init_0() {
        var var_0 = new nms_WorldGenLightStone2();
        nms_WorldGenLightStone2__init_(var_0);
        return var_0;
    }
    function nms_WorldGenLightStone2__init_($this) {}
    function nms_WorldGenLightStone2_generate($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var8, $var9, var$10, $var10, $var11, var$13, var$14, var$15, var$16, var$17, var$18, $var12, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var12 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();var$10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            $tmp = nms_World_isAirBlock($var1, $var3, $var4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            if (!$var6)
                return 0;
            $var6 = $var4 + 1 | 0;
            $ptr = 2;
        case 2:
            $tmp = nms_World_getBlockId($var1, $var3, $var6, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $tmp;
            $ptr = 3;
        case 3:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var6 != nms_Block_bloodStone.$blockID)
                return 0;
            $var6 = nms_Block_lightStone.$blockID;
            $ptr = 4;
        case 4:
            nms_World_setBlockWithNotify($var1, $var3, $var4, $var5, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = 0;
            if ($var6 >= 1500)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $ptr = 5;
        case 5:
            a: {
                $tmp = nms_World_getBlockId($var1, $var7, $var8, $var9);
                if ($rt_suspending()) {
                    break main;
                }
                var$10 = $tmp;
                if (!var$10) {
                    $var10 = 0;
                    $var11 = 0;
                    var$13 = $var7 - 1 | 0;
                    var$14 = $var7 + 1 | 0;
                    var$15 = $var8 - 1 | 0;
                    var$16 = $var8 + 1 | 0;
                    var$17 = $var9 - 1 | 0;
                    var$18 = $var9 + 1 | 0;
                    while (true) {
                        if ($var11 >= 6) {
                            if ($var10 != 1)
                                break a;
                            var$10 = nms_Block_lightStone.$blockID;
                            $ptr = 6;
                            continue main;
                        }
                        if (!$var11) {
                            $ptr = 7;
                            continue main;
                        }
                        if ($var11 == 1) {
                            $ptr = 8;
                            continue main;
                        }
                        if ($var11 == 2) {
                            $ptr = 9;
                            continue main;
                        }
                        if ($var11 == 3) {
                            $ptr = 10;
                            continue main;
                        }
                        if ($var11 == 4) {
                            $ptr = 11;
                            continue main;
                        }
                        if ($var11 == 5)
                            break;
                        if (0 == nms_Block_lightStone.$blockID)
                            $var10 = $var10 + 1 | 0;
                        $var11 = $var11 + 1 | 0;
                    }
                    $ptr = 12;
                    continue main;
                }
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 1500)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            continue main;
        case 6:
            nms_World_setBlockWithNotify($var1, $var7, $var8, $var9, var$10);
            if ($rt_suspending()) {
                break main;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 1500)
                return 1;
            $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
            $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
            $ptr = 5;
            continue main;
        case 7:
            $tmp = nms_World_getBlockId($var1, var$13, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            while ($var11 != 1) {
                if ($var11 == 2) {
                    $ptr = 9;
                    continue main;
                }
                if ($var11 == 3) {
                    $ptr = 10;
                    continue main;
                }
                if ($var11 == 4) {
                    $ptr = 11;
                    continue main;
                }
                if ($var11 == 5) {
                    $ptr = 12;
                    continue main;
                }
                if ($var12 == nms_Block_lightStone.$blockID)
                    $var10 = $var10 + 1 | 0;
                $var11 = $var11 + 1 | 0;
                if ($var11 >= 6) {
                    if ($var10 == 1) {
                        var$10 = nms_Block_lightStone.$blockID;
                        $ptr = 6;
                        continue main;
                    }
                    $var6 = $var6 + 1 | 0;
                    if ($var6 >= 1500)
                        return 1;
                    $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
                    $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $ptr = 5;
                    continue main;
                }
                $var12 = 0;
                if (!$var11) {
                    continue main;
                }
            }
            $ptr = 8;
        case 8:
            $tmp = nms_World_getBlockId($var1, var$14, $var8, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            while ($var11 != 2) {
                if ($var11 == 3) {
                    $ptr = 10;
                    continue main;
                }
                if ($var11 == 4) {
                    $ptr = 11;
                    continue main;
                }
                if ($var11 == 5) {
                    $ptr = 12;
                    continue main;
                }
                if ($var12 == nms_Block_lightStone.$blockID)
                    $var10 = $var10 + 1 | 0;
                $var11 = $var11 + 1 | 0;
                if ($var11 >= 6) {
                    if ($var10 == 1) {
                        var$10 = nms_Block_lightStone.$blockID;
                        $ptr = 6;
                        continue main;
                    }
                    $var6 = $var6 + 1 | 0;
                    if ($var6 >= 1500)
                        return 1;
                    $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
                    $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $ptr = 5;
                    continue main;
                }
                $var12 = 0;
                if (!$var11) {
                    $ptr = 7;
                    continue main;
                }
                if ($var11 == 1) {
                    continue main;
                }
            }
            $ptr = 9;
        case 9:
            $tmp = nms_World_getBlockId($var1, $var7, var$15, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            while ($var11 != 3) {
                if ($var11 == 4) {
                    $ptr = 11;
                    continue main;
                }
                if ($var11 == 5) {
                    $ptr = 12;
                    continue main;
                }
                if ($var12 == nms_Block_lightStone.$blockID)
                    $var10 = $var10 + 1 | 0;
                $var11 = $var11 + 1 | 0;
                if ($var11 >= 6) {
                    if ($var10 == 1) {
                        var$10 = nms_Block_lightStone.$blockID;
                        $ptr = 6;
                        continue main;
                    }
                    $var6 = $var6 + 1 | 0;
                    if ($var6 >= 1500)
                        return 1;
                    $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
                    $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $ptr = 5;
                    continue main;
                }
                $var12 = 0;
                if (!$var11) {
                    $ptr = 7;
                    continue main;
                }
                if ($var11 == 1) {
                    $ptr = 8;
                    continue main;
                }
                if ($var11 == 2) {
                    continue main;
                }
            }
            $ptr = 10;
        case 10:
            $tmp = nms_World_getBlockId($var1, $var7, var$16, $var9);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            while ($var11 != 4) {
                if ($var11 == 5) {
                    $ptr = 12;
                    continue main;
                }
                if ($var12 == nms_Block_lightStone.$blockID)
                    $var10 = $var10 + 1 | 0;
                $var11 = $var11 + 1 | 0;
                if ($var11 >= 6) {
                    if ($var10 == 1) {
                        var$10 = nms_Block_lightStone.$blockID;
                        $ptr = 6;
                        continue main;
                    }
                    $var6 = $var6 + 1 | 0;
                    if ($var6 >= 1500)
                        return 1;
                    $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
                    $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $ptr = 5;
                    continue main;
                }
                $var12 = 0;
                if (!$var11) {
                    $ptr = 7;
                    continue main;
                }
                if ($var11 == 1) {
                    $ptr = 8;
                    continue main;
                }
                if ($var11 == 2) {
                    $ptr = 9;
                    continue main;
                }
                if ($var11 == 3) {
                    continue main;
                }
            }
            $ptr = 11;
        case 11:
            $tmp = nms_World_getBlockId($var1, $var7, $var8, var$17);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            while ($var11 != 5) {
                if ($var12 == nms_Block_lightStone.$blockID)
                    $var10 = $var10 + 1 | 0;
                $var11 = $var11 + 1 | 0;
                if ($var11 >= 6) {
                    if ($var10 == 1) {
                        var$10 = nms_Block_lightStone.$blockID;
                        $ptr = 6;
                        continue main;
                    }
                    $var6 = $var6 + 1 | 0;
                    if ($var6 >= 1500)
                        return 1;
                    $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
                    $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $ptr = 5;
                    continue main;
                }
                $var12 = 0;
                if (!$var11) {
                    $ptr = 7;
                    continue main;
                }
                if ($var11 == 1) {
                    $ptr = 8;
                    continue main;
                }
                if ($var11 == 2) {
                    $ptr = 9;
                    continue main;
                }
                if ($var11 == 3) {
                    $ptr = 10;
                    continue main;
                }
                if ($var11 == 4) {
                    continue main;
                }
            }
            $ptr = 12;
        case 12:
            $tmp = nms_World_getBlockId($var1, $var7, $var8, var$18);
            if ($rt_suspending()) {
                break main;
            }
            $var12 = $tmp;
            while (true) {
                if ($var12 == nms_Block_lightStone.$blockID)
                    $var10 = $var10 + 1 | 0;
                $var11 = $var11 + 1 | 0;
                if ($var11 >= 6) {
                    if ($var10 == 1) {
                        var$10 = nms_Block_lightStone.$blockID;
                        $ptr = 6;
                        continue main;
                    }
                    $var6 = $var6 + 1 | 0;
                    if ($var6 >= 1500)
                        return 1;
                    $var7 = ($var3 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $var8 = $var4 - ju_Random_nextInt($var2, 12) | 0;
                    $var9 = ($var5 + ju_Random_nextInt($var2, 8) | 0) - ju_Random_nextInt($var2, 8) | 0;
                    $ptr = 5;
                    continue main;
                }
                $var12 = 0;
                if (!$var11) {
                    $ptr = 7;
                    continue main;
                }
                if ($var11 == 1) {
                    $ptr = 8;
                    continue main;
                }
                if ($var11 == 2) {
                    $ptr = 9;
                    continue main;
                }
                if ($var11 == 3) {
                    $ptr = 10;
                    continue main;
                }
                if ($var11 == 4) {
                    $ptr = 11;
                    continue main;
                }
                if ($var11 == 5)
                    break;
            }
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, var$10, $var10, $var11, var$13, var$14, var$15, var$16, var$17, var$18, $var12, $ptr);
    }
    var nms_IInvBasic = $rt_classWithoutFields(0);
    function ju_AbstractMap$KeySet() {
        ju_AbstractSet.call(this);
        this.$this$03 = null;
    }
    function ju_AbstractMap$KeySet_iterator($this) {
        var var$1, $it, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$it = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$this$03;
            if (var$1.$cachedEntrySet === null) {
                $it = new ju_TreeMap$EntrySet;
                var$3 = null;
                var$4 = null;
                $it.$modCount4 = (-1);
                $it.$owner0 = var$1;
                $it.$from = var$3;
                $it.$fromIncluded = 1;
                $it.$fromChecked = 0;
                $it.$to = var$4;
                $it.$toIncluded = 1;
                $it.$toChecked = 0;
                $it.$reverse = 0;
                var$1.$cachedEntrySet = $it;
            }
            var$4 = var$1.$cachedEntrySet;
            if (var$4.$reverse) {
                if (var$4.$toChecked) {
                    if (!var$4.$toIncluded) {
                        var$1 = var$4.$owner0;
                        $it = var$4.$to;
                        var$5 = 1;
                        $ptr = 2;
                        continue main;
                    }
                    var$1 = var$4.$owner0;
                    $it = var$4.$to;
                    var$5 = 1;
                    $ptr = 3;
                    continue main;
                }
                var$6 = ju_TreeMap_pathToFirst(var$4.$owner0, 1);
                $it = new ju_TreeMap$EntryIterator;
                var$1 = var$4.$owner0;
                var$3 = var$4.$from;
                var$7 = var$4.$fromChecked;
                var$8 = var$4.$fromIncluded;
                var$5 = 1;
                $ptr = 1;
                continue main;
            }
            if (var$4.$fromChecked) {
                if (!var$4.$fromIncluded) {
                    var$1 = var$4.$owner0;
                    $it = var$4.$from;
                    var$5 = 0;
                    $ptr = 5;
                    continue main;
                }
                var$1 = var$4.$owner0;
                $it = var$4.$from;
                var$5 = 0;
                $ptr = 6;
                continue main;
            }
            var$6 = ju_TreeMap_pathToFirst(var$4.$owner0, 0);
            $it = new ju_TreeMap$EntryIterator;
            var$1 = var$4.$owner0;
            var$3 = var$4.$to;
            var$7 = var$4.$toChecked;
            var$8 = var$4.$toIncluded;
            var$5 = 0;
            $ptr = 4;
            continue main;
        case 1:
            ju_TreeMap$EntryIterator__init_($it, var$1, var$6, var$3, var$7, var$8, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = new ju_AbstractMap$KeySet$1;
            var$1.$this$1 = $this;
            var$1.$val$it = $it;
            return var$1;
        case 2:
            $tmp = ju_TreeMap_pathToNext(var$1, $it, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $it = new ju_TreeMap$EntryIterator;
            var$1 = var$4.$owner0;
            var$3 = var$4.$from;
            var$7 = var$4.$fromChecked;
            var$8 = var$4.$fromIncluded;
            var$5 = 1;
            $ptr = 1;
            continue main;
        case 3:
            $tmp = ju_TreeMap_pathToExactOrNext(var$1, $it, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $it = new ju_TreeMap$EntryIterator;
            var$1 = var$4.$owner0;
            var$3 = var$4.$from;
            var$7 = var$4.$fromChecked;
            var$8 = var$4.$fromIncluded;
            var$5 = 1;
            $ptr = 1;
            continue main;
        case 4:
            ju_TreeMap$EntryIterator__init_($it, var$1, var$6, var$3, var$7, var$8, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$1 = new ju_AbstractMap$KeySet$1;
            var$1.$this$1 = $this;
            var$1.$val$it = $it;
            return var$1;
        case 5:
            $tmp = ju_TreeMap_pathToNext(var$1, $it, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $it = new ju_TreeMap$EntryIterator;
            var$1 = var$4.$owner0;
            var$3 = var$4.$to;
            var$7 = var$4.$toChecked;
            var$8 = var$4.$toIncluded;
            var$5 = 0;
            $ptr = 4;
            continue main;
        case 6:
            $tmp = ju_TreeMap_pathToExactOrNext(var$1, $it, var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            $it = new ju_TreeMap$EntryIterator;
            var$1 = var$4.$owner0;
            var$3 = var$4.$to;
            var$7 = var$4.$toChecked;
            var$8 = var$4.$toIncluded;
            var$5 = 0;
            $ptr = 4;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, $it, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
    }
    function nms_ChunkProviderClient() {
        var a = this; jl_Object.call(a);
        a.$blankChunk0 = null;
        a.$chunkMapping = null;
        a.$field_889_c = null;
        a.$worldObj9 = null;
    }
    function nms_ChunkProviderClient_chunkExists($this, $var1, $var2) {
        var $var3, var$4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = nms_ChunkCoordIntPair__init_0($var1, $var2);
            var$4 = $this.$chunkMapping;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_containsKey(var$4, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $tmp;
            return $var1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
    }
    function nms_ChunkProviderClient_func_538_d($this, $var1, $var2) {
        var $var3, $var4, $var5, var$6, var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = nms_ChunkCoordIntPair__init_0($var1, $var2);
            $var4 = $rt_createByteArray(32768);
            $var5 = nms_Chunk__init_2($this.$worldObj9, $var4, $var1, $var2);
            $var4 = $var5.$skylightMap.$data5.data;
            $var2 = 0;
            var$6 = $var4.length;
            if ($var2 > var$6) {
                $var3 = new jl_IllegalArgumentException;
                jl_Throwable__init_0($var3);
                $rt_throw($var3);
            }
            while ($var2 < var$6) {
                var$7 = $var2 + 1 | 0;
                $var4[$var2] = (-1);
                $var2 = var$7;
            }
            var$8 = $this.$chunkMapping;
            $ptr = 1;
        case 1:
            ju_HashMap_putImpl(var$8, $var3, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5.$isChunkLoaded = 1;
            return $var5;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, $ptr);
    }
    function nms_ChunkProviderClient_provideChunk($this, $var1, $var2) {
        var $var3, $var4, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var3 = nms_ChunkCoordIntPair__init_0($var1, $var2);
            $var4 = $this.$chunkMapping;
            $ptr = 1;
        case 1:
            $tmp = ju_HashMap_get($var4, $var3);
            if ($rt_suspending()) {
                break main;
            }
            $var3 = $tmp;
            $var4 = $var3;
            if ($var4 === null)
                $var4 = $this.$blankChunk0;
            return $var4;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
    }
    function nms_ChunkProviderClient_saveChunks($this, $var1, $var2) {
        return 1;
    }
    function nms_ChunkProviderClient_func_532_a($this) {
        return 0;
    }
    function nms_ChunkProviderClient_func_536_b($this) {
        return 0;
    }
    function nms_ChunkProviderClient_toString($this) {
        var var$1, var$2, var$3, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$chunkMapping.$elementCount;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            var$3 = $rt_s(2284);
            $ptr = 1;
        case 1:
            $tmp = jl_StringBuilder_append(var$2, var$3);
            if ($rt_suspending()) {
                break main;
            }
            var$3 = $tmp;
            jl_AbstractStringBuilder_append0(var$3, var$1);
            $ptr = 2;
        case 2:
            $tmp = jl_AbstractStringBuilder_toString(var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $tmp;
            return var$2;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
    }
    var nleiv_VFSIterator2$BreakLoop = $rt_classWithoutFields(jl_RuntimeException);
    function nleiv_VFSIterator2$BreakLoop__init_0() {
        var var_0 = new nleiv_VFSIterator2$BreakLoop();
        nleiv_VFSIterator2$BreakLoop__init_(var_0);
        return var_0;
    }
    function nleiv_VFSIterator2$BreakLoop__init_($this) {
        jl_Throwable__init_($this, $rt_s(2285));
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$5() {
        jl_Object.call(this);
        this.$val$cb5 = null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$5_handleEvent$exported$0(var$0) {
        otpp_AsyncCallbackWrapper_complete(var$0.$val$cb5, nleit_BooleanResult_TRUE);
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$6() {
        jl_Object.call(this);
        this.$val$cb6 = null;
    }
    function nleit_IndexedDBFilesystem$AsyncHandlers$6_handleEvent$exported$0(var$0) {
        otpp_AsyncCallbackWrapper_complete(var$0.$val$cb6, nleit_BooleanResult_FALSE);
    }
    function ju_AbstractMap$KeySet$1() {
        var a = this; jl_Object.call(a);
        a.$val$it = null;
        a.$this$1 = null;
    }
    function ju_AbstractMap$KeySet$1_hasNext($this) {
        return $this.$val$it.$depth <= 0 ? 0 : 1;
    }
    function ju_AbstractMap$KeySet$1_next($this) {
        var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$val$it;
            if (var$1.$modCount5 != var$1.$owner1.$modCount2) {
                var$1 = new ju_ConcurrentModificationException;
                jl_Throwable__init_0(var$1);
                $rt_throw(var$1);
            }
            var$2 = var$1.$depth;
            if (!var$2) {
                var$1 = new ju_NoSuchElementException;
                jl_Throwable__init_0(var$1);
                $rt_throw(var$1);
            }
            a: {
                var$3 = var$1.$path2.data;
                var$4 = var$2 - 1 | 0;
                var$1.$depth = var$4;
                var$5 = var$3[var$4];
                var$1.$last0 = var$5;
                var$5 = ju_TreeMap$TreeNode_down(var$5, var$1.$reverse0);
                if (var$5 !== null)
                    while (true) {
                        if (var$5 === null)
                            break a;
                        var$3 = var$1.$path2.data;
                        var$2 = var$1.$depth;
                        var$1.$depth = var$2 + 1 | 0;
                        var$3[var$2] = var$5;
                        var$5 = ju_TreeMap$TreeNode_forward(var$5, var$1.$reverse0);
                    }
            }
            $ptr = 1;
        case 1:
            ju_TreeMap$EntryIterator_checkFinished(var$1);
            if ($rt_suspending()) {
                break main;
            }
            return var$1.$last0.$key1;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $ptr);
    }
    function ju_AbstractMap$KeySet$1_remove($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            var$1 = $this.$val$it;
            var$2 = var$1.$modCount5;
            var$3 = var$1.$owner1;
            if (var$2 != var$3.$modCount2) {
                var$1 = new ju_ConcurrentModificationException;
                jl_Throwable__init_0(var$1);
                $rt_throw(var$1);
            }
            var$4 = var$1.$last0;
            if (var$4 === null) {
                var$1 = new jl_IllegalStateException;
                jl_Throwable__init_0(var$1);
                $rt_throw(var$1);
            }
            var$5 = var$3.$root;
            var$4 = var$4.$key1;
            $ptr = 1;
        case 1:
            $tmp = ju_TreeMap_deleteNode(var$3, var$5, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$3.$root = var$4;
            var$3 = var$1.$owner1;
            var$4 = var$1.$last0.$key1;
            var$2 = var$1.$reverse0;
            $ptr = 2;
        case 2:
            $tmp = ju_TreeMap_pathToNext(var$3, var$4, var$2);
            if ($rt_suspending()) {
                break main;
            }
            var$6 = $tmp;
            var$7 = var$6.data;
            var$8 = var$1.$path2;
            var$9 = var$7.length;
            jl_System_fastArraycopy(var$6, 0, var$8, 0, var$9);
            var$1.$depth = var$9;
            var$3 = var$1.$owner1;
            var$2 = var$3.$modCount2 + 1 | 0;
            var$3.$modCount2 = var$2;
            var$1.$modCount5 = var$2;
            var$1.$last0 = null;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
    }
    var nms_WorldGenForest = $rt_classWithoutFields(nms_WorldGenerator);
    function nms_WorldGenForest__init_0() {
        var var_0 = new nms_WorldGenForest();
        nms_WorldGenForest__init_(var_0);
        return var_0;
    }
    function nms_WorldGenForest__init_($this) {}
    function nms_WorldGenForest_generate($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, var$8, $var10, $var10_0, $var8, $var9, $var10_1, $var11, $var16, $var12, $var12_0, $var13, $var14, $var15, var$21, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$21 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12_0 = $thread.pop();$var12 = $thread.pop();$var16 = $thread.pop();$var11 = $thread.pop();$var10_1 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var10_0 = $thread.pop();$var10 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this
            = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = ju_Random_nextInt($var2, 3) + 5 | 0;
            $var7 = 1;
            if ($var4 >= 1) {
                var$8 = $var4 + $var6 | 0;
                if ((var$8 + 1 | 0) <= 128) {
                    $var10 = ($var4 + 1 | 0) + $var6 | 0;
                    $var10_0 = $var10 - 2 | 0;
                    $var8 = $var4;
                    a: while (true) {
                        if ($var8 > $var10) {
                            if (!$var7)
                                return 0;
                            $var10_0 = $var4 - 1 | 0;
                            $ptr = 1;
                            continue main;
                        }
                        $var9 = 1;
                        if ($var8 == $var4)
                            $var9 = 0;
                        if ($var8 >= $var10_0)
                            $var9 = 2;
                        $var10_1 = $var3 - $var9 | 0;
                        while ($var10_1 <= ($var3 + $var9 | 0) && $var7) {
                            $var11 = $var5 - $var9 | 0;
                            while ($var11 <= ($var5 + $var9 | 0) && $var7) {
                                if ($var8 >= 0 && $var8 < 128)
                                    break a;
                                $var7 = 0;
                                $var11 = $var11 + 1 | 0;
                            }
                            $var10_1 = $var10_1 + 1 | 0;
                        }
                        $var8 = $var8 + 1 | 0;
                    }
                    $ptr = 8;
                    continue main;
                }
            }
            return 0;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var3, $var10_0, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!($var16 != nms_Block_grass.$blockID && $var16 != nms_Block_dirt.$blockID) && $var4 < ((128 - $var6 | 0) - 1 | 0)) {
                $var16 = nms_Block_dirt.$blockID;
                $ptr = 3;
                continue main;
            }
            return 0;
        case 3:
            $var1.$setBlock($var3, $var10_0, $var5, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = ($var4 - 3 | 0) + $var6 | 0;
            b: while (true) {
                if ($var16 > var$8) {
                    $var16 = 0;
                    if ($var16 >= $var6)
                        return 1;
                    $var10 = $var4 + $var16 | 0;
                    $ptr = 4;
                    continue main;
                }
                $var10 = $var16 - var$8 | 0;
                $var11 = 1 - ($var10 / 2 | 0) | 0;
                $var12 = $var3 - $var11 | 0;
                $var8 = $var3 + $var11 | 0;
                $var7 = $var5 - $var11 | 0;
                $var12_0 = $var5 + $var11 | 0;
                while ($var12 <= $var8) {
                    $var13 = $var12 - $var3 | 0;
                    $var14 = $var7;
                    while ($var14 <= $var12_0) {
                        $var15 = $var14 - $var5 | 0;
                        if (jl_Math_abs($var13) != $var11)
                            break b;
                        if (jl_Math_abs($var15) != $var11)
                            break b;
                        if (ju_Random_nextInt($var2, 2) && $var10)
                            break b;
                        $var14 = $var14 + 1 | 0;
                    }
                    $var12 = $var12 + 1 | 0;
                }
                $var16 = $var16 + 1 | 0;
            }
            var$21 = nms_Block_opaqueCubeLookup.data;
            $ptr = 6;
            continue main;
        case 4:
            $tmp = nms_World_getBlockId($var1, $var3, $var10, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var10_0 = $tmp;
            if ($var10_0 && $var10_0 != nms_Block_leaves.$blockID) {
                $var16 = $var16 + 1 | 0;
                if ($var16 >= $var6)
                    return 1;
                $var10 = $var4 + $var16 | 0;
                continue main;
            }
            $var10_0 = nms_Block_wood.$blockID;
            $var13 = 2;
            $ptr = 5;
        case 5:
            $var1.$setBlockAndMetadata($var3, $var10, $var5, $var10_0, $var13);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $var16 + 1 | 0;
            if ($var16 >= $var6)
                return 1;
            $var10 = $var4 + $var16 | 0;
            $ptr = 4;
            continue main;
        case 6:
            $tmp = nms_World_getBlockId($var1, $var12, $var16, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var10_0 = $tmp;
            if (!var$21[$var10_0]) {
                $var10_0 = nms_Block_leaves.$blockID;
                $var15 = 2;
                $ptr = 7;
                continue main;
            }
            while (true) {
                $var14 = $var14 + 1 | 0;
                while ($var14 > $var12_0) {
                    $var12 = $var12 + 1 | 0;
                    while ($var12 > $var8) {
                        $var16 = $var16 + 1 | 0;
                        if ($var16 > var$8) {
                            $var16 = 0;
                            if ($var16 >= $var6)
                                return 1;
                            $var10 = $var4 + $var16 | 0;
                            $ptr = 4;
                            continue main;
                        }
                        $var10 = $var16 - var$8 | 0;
                        $var11 = 1 - ($var10 / 2 | 0) | 0;
                        $var12 = $var3 - $var11 | 0;
                        $var8 = $var3 + $var11 | 0;
                        $var7 = $var5 - $var11 | 0;
                        $var12_0 = $var5 + $var11 | 0;
                    }
                    $var13 = $var12 - $var3 | 0;
                    $var14 = $var7;
                }
                $var15 = $var14 - $var5 | 0;
                if (jl_Math_abs($var13) != $var11)
                    break;
                if (jl_Math_abs($var15) != $var11)
                    break;
                if (!ju_Random_nextInt($var2, 2))
                    continue;
                if (!$var10)
                    continue;
                else
                    break;
            }
            var$21 = nms_Block_opaqueCubeLookup.data;
            continue main;
        case 7:
            $var1.$setBlockAndMetadata($var12, $var16, $var14, $var10_0, $var15);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var14 = $var14 + 1 | 0;
                while ($var14 > $var12_0) {
                    $var12 = $var12 + 1 | 0;
                    while ($var12 > $var8) {
                        $var16 = $var16 + 1 | 0;
                        if ($var16 > var$8) {
                            $var16 = 0;
                            if ($var16 >= $var6)
                                return 1;
                            $var10 = $var4 + $var16 | 0;
                            $ptr = 4;
                            continue main;
                        }
                        $var10 = $var16 - var$8 | 0;
                        $var11 = 1 - ($var10 / 2 | 0) | 0;
                        $var12 = $var3 - $var11 | 0;
                        $var8 = $var3 + $var11 | 0;
                        $var7 = $var5 - $var11 | 0;
                        $var12_0 = $var5 + $var11 | 0;
                    }
                    $var13 = $var12 - $var3 | 0;
                    $var14 = $var7;
                }
                $var15 = $var14 - $var5 | 0;
                if (jl_Math_abs($var13) != $var11)
                    break;
                if (jl_Math_abs($var15) != $var11)
                    break;
                if (!ju_Random_nextInt($var2, 2))
                    continue;
                if (!$var10)
                    continue;
                else
                    break;
            }
            var$21 = nms_Block_opaqueCubeLookup.data;
            $ptr = 6;
            continue main;
        case 8:
            $tmp = nms_World_getBlockId($var1, $var10_1, $var8, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var12_0 = $tmp;
            if ($var12_0) {
                $ptr = 9;
                continue main;
            }
            while (true) {
                $var11 = $var11 + 1 | 0;
                while (!($var11 <= ($var5 + $var9 | 0) && $var7)) {
                    $var10_1 = $var10_1 + 1 | 0;
                    while (!($var10_1 <= ($var3 + $var9 | 0) && $var7)) {
                        $var8 = $var8 + 1 | 0;
                        if ($var8 > $var10) {
                            if (!$var7)
                                return 0;
                            $var10_0 = $var4 - 1 | 0;
                            $ptr = 1;
                            continue main;
                        }
                        $var9 = 1;
                        if ($var8 == $var4)
                            $var9 = 0;
                        if ($var8 >= $var10_0)
                            $var9 = 2;
                        $var10_1 = $var3 - $var9 | 0;
                    }
                    $var11 = $var5 - $var9 | 0;
                }
                if ($var8 >= 0 && $var8 < 128)
                    break;
                $var7 = 0;
            }
            continue main;
        case 9:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var12_0 != nms_Block_leaves.$blockID)
                $var7 = 0;
            while (true) {
                $var11 = $var11 + 1 | 0;
                while (!($var11 <= ($var5 + $var9 | 0) && $var7)) {
                    $var10_1 = $var10_1 + 1 | 0;
                    while (!($var10_1 <= ($var3 + $var9 | 0) && $var7)) {
                        $var8 = $var8 + 1 | 0;
                        if ($var8 > $var10) {
                            if (!$var7)
                                return 0;
                            $var10_0 = $var4 - 1 | 0;
                            $ptr = 1;
                            continue main;
                        }
                        $var9 = 1;
                        if ($var8 == $var4)
                            $var9 = 0;
                        if ($var8 >= $var10_0)
                            $var9 = 2;
                        $var10_1 = $var3 - $var9 | 0;
                    }
                    $var11 = $var5 - $var9 | 0;
                }
                if ($var8 >= 0 && $var8 < 128)
                    break;
                $var7 = 0;
            }
            $ptr = 8;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, $var10, $var10_0, $var8, $var9, $var10_1, $var11, $var16, $var12, $var12_0, $var13, $var14, $var15, var$21, $ptr);
    }
    var nms_WorldGenTaiga2 = $rt_classWithoutFields(nms_WorldGenerator);
    function nms_WorldGenTaiga2__init_0() {
        var var_0 = new nms_WorldGenTaiga2();
        nms_WorldGenTaiga2__init_(var_0);
        return var_0;
    }
    function nms_WorldGenTaiga2__init_($this) {}
    function nms_WorldGenTaiga2_generate($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var8, $var9, $var10, $var16, $var21, $var11, $var21_0, $var13, $var14, $var22, $var15, $var16_0, $var17, $var18, $var19, $var20, var$24, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$24 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16_0 = $thread.pop();$var15 = $thread.pop();$var22 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var21_0 = $thread.pop();$var11 = $thread.pop();$var21 = $thread.pop();$var16 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3
            = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = ju_Random_nextInt($var2, 4) + 6 | 0;
            $var7 = 1 + ju_Random_nextInt($var2, 2) | 0;
            $var8 = $var6 - $var7 | 0;
            $var9 = 2 + ju_Random_nextInt($var2, 2) | 0;
            $var10 = 1;
            if ($var4 >= 1) {
                $var16 = $var4 + $var6 | 0;
                if (($var16 + 1 | 0) <= 128) {
                    $var21 = ($var4 + 1 | 0) + $var6 | 0;
                    $var11 = $var4;
                    a: {
                        b: while (true) {
                            if ($var11 > $var21)
                                break a;
                            if (!$var10)
                                break a;
                            $var21_0 = ($var11 - $var4 | 0) >= $var7 ? $var9 : 0;
                            $var13 = $var3 - $var21_0 | 0;
                            while ($var13 <= ($var3 + $var21_0 | 0) && $var10) {
                                $var14 = $var5 - $var21_0 | 0;
                                while ($var14 <= ($var5 + $var21_0 | 0) && $var10) {
                                    if ($var11 >= 0 && $var11 < 128)
                                        break b;
                                    $var10 = 0;
                                    $var14 = $var14 + 1 | 0;
                                }
                                $var13 = $var13 + 1 | 0;
                            }
                            $var11 = $var11 + 1 | 0;
                        }
                        $ptr = 8;
                        continue main;
                    }
                    if (!$var10)
                        return 0;
                    $var11 = $var4 - 1 | 0;
                    $ptr = 1;
                    continue main;
                }
            }
            return 0;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var3, $var11, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!($var21 != nms_Block_grass.$blockID && $var21 != nms_Block_dirt.$blockID) && $var4 < ((128 - $var6 | 0) - 1 | 0)) {
                $var21 = nms_Block_dirt.$blockID;
                $ptr = 3;
                continue main;
            }
            return 0;
        case 3:
            $var1.$setBlock($var3, $var11, $var5, $var21);
            if ($rt_suspending()) {
                break main;
            }
            $var21 = ju_Random_nextInt($var2, 2);
            $var13 = 1;
            $var22 = 0;
            $var15 = 0;
            c: while (true) {
                if ($var15 > $var8) {
                    $var11 = ju_Random_nextInt($var2, 3);
                    $var16 = 0;
                    $var21 = $var6 - $var11 | 0;
                    if ($var16 >= $var21)
                        return 1;
                    $var21_0 = $var4 + $var16 | 0;
                    $ptr = 4;
                    continue main;
                }
                $var16_0 = $var16 - $var15 | 0;
                $var17 = $var3 - $var21 | 0;
                while ($var17 <= ($var3 + $var21 | 0)) {
                    $var18 = $var17 - $var3 | 0;
                    $var19 = $var5 - $var21 | 0;
                    while ($var19 <= ($var5 + $var21 | 0)) {
                        $var20 = $var19 - $var5 | 0;
                        if (jl_Math_abs($var18) != $var21)
                            break c;
                        if (jl_Math_abs($var20) != $var21)
                            break c;
                        if ($var21 <= 0)
                            break c;
                        $var19 = $var19 + 1 | 0;
                    }
                    $var17 = $var17 + 1 | 0;
                }
                if ($var21 < $var13)
                    $var21 = $var21 + 1 | 0;
                else {
                    $var13 = $var13 + 1 | 0;
                    if ($var13 <= $var9) {
                        $var21 = $var22;
                        $var22 = 1;
                    } else {
                        $var13 = $var9;
                        $var21 = $var22;
                        $var22 = 1;
                    }
                }
                $var15 = $var15 + 1 | 0;
            }
            var$24 = nms_Block_opaqueCubeLookup.data;
            $ptr = 6;
            continue main;
        case 4:
            $tmp = nms_World_getBlockId($var1, $var3, $var21_0, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var17 = $tmp;
            if ($var17 && $var17 != nms_Block_leaves.$blockID) {
                $var16 = $var16 + 1 | 0;
                if ($var16 >= $var21)
                    return 1;
                $var21_0 = $var4 + $var16 | 0;
                continue main;
            }
            $var9 = nms_Block_wood.$blockID;
            $var11 = 1;
            $ptr = 5;
        case 5:
            $var1.$setBlockAndMetadata($var3, $var21_0, $var5, $var9, $var11);
            if ($rt_suspending()) {
                break main;
            }
            $var16 = $var16 + 1 | 0;
            if ($var16 >= $var21)
                return 1;
            $var21_0 = $var4 + $var16 | 0;
            $ptr = 4;
            continue main;
        case 6:
            $tmp = nms_World_getBlockId($var1, $var17, $var16_0, $var19);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            if (!var$24[$var11]) {
                $var11 = nms_Block_leaves.$blockID;
                $var21_0 = 1;
                $ptr = 7;
                continue main;
            }
            while (true) {
                $var19 = $var19 + 1 | 0;
                while ($var19 > ($var5 + $var21 | 0)) {
                    $var17 = $var17 + 1 | 0;
                    while ($var17 > ($var3 + $var21 | 0)) {
                        if ($var21 < $var13)
                            $var21 = $var21 + 1 | 0;
                        else {
                            $var13 = $var13 + 1 | 0;
                            if ($var13 <= $var9) {
                                $var21 = $var22;
                                $var22 = 1;
                            } else {
                                $var13 = $var9;
                                $var21 = $var22;
                                $var22 = 1;
                            }
                        }
                        $var15 = $var15 + 1 | 0;
                        if ($var15 > $var8) {
                            $var11 = ju_Random_nextInt($var2, 3);
                            $var16 = 0;
                            $var21 = $var6 - $var11 | 0;
                            if ($var16 >= $var21)
                                return 1;
                            $var21_0 = $var4 + $var16 | 0;
                            $ptr = 4;
                            continue main;
                        }
                        $var16_0 = $var16 - $var15 | 0;
                        $var17 = $var3 - $var21 | 0;
                    }
                    $var18 = $var17 - $var3 | 0;
                    $var19 = $var5 - $var21 | 0;
                }
                $var20 = $var19 - $var5 | 0;
                if (jl_Math_abs($var18) != $var21)
                    break;
                if (jl_Math_abs($var20) != $var21)
                    break;
                if ($var21 > 0)
                    continue;
                else
                    break;
            }
            var$24 = nms_Block_opaqueCubeLookup.data;
            continue main;
        case 7:
            $var1.$setBlockAndMetadata($var17, $var16_0, $var19, $var11, $var21_0);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var19 = $var19 + 1 | 0;
                while ($var19 > ($var5 + $var21 | 0)) {
                    $var17 = $var17 + 1 | 0;
                    while ($var17 > ($var3 + $var21 | 0)) {
                        if ($var21 < $var13)
                            $var21 = $var21 + 1 | 0;
                        else {
                            $var13 = $var13 + 1 | 0;
                            if ($var13 <= $var9) {
                                $var21 = $var22;
                                $var22 = 1;
                            } else {
                                $var13 = $var9;
                                $var21 = $var22;
                                $var22 = 1;
                            }
                        }
                        $var15 = $var15 + 1 | 0;
                        if ($var15 > $var8) {
                            $var11 = ju_Random_nextInt($var2, 3);
                            $var16 = 0;
                            $var21 = $var6 - $var11 | 0;
                            if ($var16 >= $var21)
                                return 1;
                            $var21_0 = $var4 + $var16 | 0;
                            $ptr = 4;
                            continue main;
                        }
                        $var16_0 = $var16 - $var15 | 0;
                        $var17 = $var3 - $var21 | 0;
                    }
                    $var18 = $var17 - $var3 | 0;
                    $var19 = $var5 - $var21 | 0;
                }
                $var20 = $var19 - $var5 | 0;
                if (jl_Math_abs($var18) != $var21)
                    break;
                if (jl_Math_abs($var20) != $var21)
                    break;
                if ($var21 > 0)
                    continue;
                else
                    break;
            }
            var$24 = nms_Block_opaqueCubeLookup.data;
            $ptr = 6;
            continue main;
        case 8:
            $tmp = nms_World_getBlockId($var1, $var13, $var11, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $tmp;
            if ($var15) {
                $ptr = 9;
                continue main;
            }
            c: {
                while (true) {
                    $var14 = $var14 + 1 | 0;
                    while (!($var14 <= ($var5 + $var21_0 | 0) && $var10)) {
                        $var13 = $var13 + 1 | 0;
                        while (!($var13 <= ($var3 + $var21_0 | 0) && $var10)) {
                            $var11 = $var11 + 1 | 0;
                            if ($var11 > $var21)
                                break c;
                            if (!$var10)
                                break c;
                            $var21_0 = ($var11 - $var4 | 0) >= $var7 ? $var9 : 0;
                            $var13 = $var3 - $var21_0 | 0;
                        }
                        $var14 = $var5 - $var21_0 | 0;
                    }
                    if ($var11 >= 0 && $var11 < 128)
                        break;
                    $var10 = 0;
                }
                continue main;
            }
            if (!$var10)
                return 0;
            $var11 = $var4 - 1 | 0;
            $ptr = 1;
            continue main;
        case 9:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var15 != nms_Block_leaves.$blockID)
                $var10 = 0;
            a: {
                while (true) {
                    $var14 = $var14 + 1 | 0;
                    while (!($var14 <= ($var5 + $var21_0 | 0) && $var10)) {
                        $var13 = $var13 + 1 | 0;
                        while (!($var13 <= ($var3 + $var21_0 | 0) && $var10)) {
                            $var11 = $var11 + 1 | 0;
                            if ($var11 > $var21)
                                break a;
                            if (!$var10)
                                break a;
                            $var21_0 = ($var11 - $var4 | 0) >= $var7 ? $var9 : 0;
                            $var13 = $var3 - $var21_0 | 0;
                        }
                        $var14 = $var5 - $var21_0 | 0;
                    }
                    if ($var11 >= 0 && $var11 < 128)
                        break;
                    $var10 = 0;
                }
                $ptr = 8;
                continue main;
            }
            if (!$var10)
                return 0;
            $var11 = $var4 - 1 | 0;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var16, $var21, $var11, $var21_0, $var13, $var14, $var22, $var15, $var16_0, $var17, $var18, $var19, $var20, var$24, $ptr);
    }
    var nms_WorldGenTaiga1 = $rt_classWithoutFields(nms_WorldGenerator);
    function nms_WorldGenTaiga1__init_0() {
        var var_0 = new nms_WorldGenTaiga1();
        nms_WorldGenTaiga1__init_(var_0);
        return var_0;
    }
    function nms_WorldGenTaiga1__init_($this) {}
    function nms_WorldGenTaiga1_generate($this, $var1, $var2, $var3, $var4, $var5) {
        var $var6, $var7, $var9, $var10, $var13, $var14, $var11, $var18, $var13_0, $var14_0, $var15, $var18_0, $var16, $var17, var$20, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$20 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var18_0 = $thread.pop();$var15 = $thread.pop();$var14_0 = $thread.pop();$var13_0 = $thread.pop();$var18 = $thread.pop();$var11 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $var6 = ju_Random_nextInt($var2, 5) + 7 | 0;
            $var7 = ($var6 - ju_Random_nextInt($var2, 2) | 0) - 3 | 0;
            $var9 = 1 + ju_Random_nextInt($var2, ($var6 - $var7 | 0) + 1 | 0) | 0;
            $var10 = 1;
            if ($var4 >= 1) {
                $var13 = $var4 + $var6 | 0;
                if (($var13 + 1 | 0) <= 128) {
                    $var14 = ($var4 + 1 | 0) + $var6 | 0;
                    $var11 = $var4;
                    a: {
                        b: while (true) {
                            if ($var11 > $var14)
                                break a;
                            if (!$var10)
                                break a;
                            $var18 = ($var11 - $var4 | 0) >= $var7 ? $var9 : 0;
                            $var13_0 = $var3 - $var18 | 0;
                            while ($var13_0 <= ($var3 + $var18 | 0) && $var10) {
                                $var14_0 = $var5 - $var18 | 0;
                                while ($var14_0 <= ($var5 + $var18 | 0) && $var10) {
                                    if ($var11 >= 0 && $var11 < 128)
                                        break b;
                                    $var10 = 0;
                                    $var14_0 = $var14_0 + 1 | 0;
                                }
                                $var13_0 = $var13_0 + 1 | 0;
                            }
                            $var11 = $var11 + 1 | 0;
                        }
                        $ptr = 8;
                        continue main;
                    }
                    if (!$var10)
                        return 0;
                    $var15 = $var4 - 1 | 0;
                    $ptr = 1;
                    continue main;
                }
            }
            return 0;
        case 1:
            $tmp = nms_World_getBlockId($var1, $var3, $var15, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var10 = $tmp;
            $ptr = 2;
        case 2:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (!($var10 != nms_Block_grass.$blockID && $var10 != nms_Block_dirt.$blockID) && $var4 < ((128 - $var6 | 0) - 1 | 0)) {
                $var10 = nms_Block_dirt.$blockID;
                $ptr = 3;
                continue main;
            }
            return 0;
        case 3:
            $var1.$setBlock($var3, $var15, $var5, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var18_0 = 0;
            $var7 = $var4 + $var7 | 0;
            $var10 = $var7 + 1 | 0;
            c: while (true) {
                if ($var13 < $var7) {
                    $var7 = 0;
                    $var6 = $var6 - 1 | 0;
                    if ($var7 >= $var6)
                        return 1;
                    $var9 = $var4 + $var7 | 0;
                    $ptr = 4;
                    continue main;
                }
                $var14 = $var3 - $var18_0 | 0;
                while ($var14 <= ($var3 + $var18_0 | 0)) {
                    $var15 = $var14 - $var3 | 0;
                    $var16 = $var5 - $var18_0 | 0;
                    while ($var16 <= ($var5 + $var18_0 | 0)) {
                        $var17 = $var16 - $var5 | 0;
                        if (jl_Math_abs($var15) != $var18_0)
                            break c;
                        if (jl_Math_abs($var17) != $var18_0)
                            break c;
                        if ($var18_0 <= 0)
                            break c;
                        $var16 = $var16 + 1 | 0;
                    }
                    $var14 = $var14 + 1 | 0;
                }
                if ($var18_0 >= 1 && $var13 == $var10)
                    $var18_0 = $var18_0 + (-1) | 0;
                else if ($var18_0 < $var9)
                    $var18_0 = $var18_0 + 1 | 0;
                $var13 = $var13 + (-1) | 0;
            }
            var$20 = nms_Block_opaqueCubeLookup.data;
            $ptr = 6;
            continue main;
        case 4:
            $tmp = nms_World_getBlockId($var1, $var3, $var9, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var14 = $tmp;
            if ($var14 && $var14 != nms_Block_leaves.$blockID) {
                $var7 = $var7 + 1 | 0;
                if ($var7 >= $var6)
                    return 1;
                $var9 = $var4 + $var7 | 0;
                continue main;
            }
            $var10 = nms_Block_wood.$blockID;
            $var15 = 1;
            $ptr = 5;
        case 5:
            $var1.$setBlockAndMetadata($var3, $var9, $var5, $var10, $var15);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $var7 + 1 | 0;
            if ($var7 >= $var6)
                return 1;
            $var9 = $var4 + $var7 | 0;
            $ptr = 4;
            continue main;
        case 6:
            $tmp = nms_World_getBlockId($var1, $var14, $var13, $var16);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            if (!var$20[$var11]) {
                $var11 = nms_Block_leaves.$blockID;
                $var18 = 1;
                $ptr = 7;
                continue main;
            }
            while (true) {
                $var16 = $var16 + 1 | 0;
                while ($var16 > ($var5 + $var18_0 | 0)) {
                    $var14 = $var14 + 1 | 0;
                    while ($var14 > ($var3 + $var18_0 | 0)) {
                        if ($var18_0 >= 1 && $var13 == $var10)
                            $var18_0 = $var18_0 + (-1) | 0;
                        else if ($var18_0 < $var9)
                            $var18_0 = $var18_0 + 1 | 0;
                        $var13 = $var13 + (-1) | 0;
                        if ($var13 < $var7) {
                            $var7 = 0;
                            $var6 = $var6 - 1 | 0;
                            if ($var7 >= $var6)
                                return 1;
                            $var9 = $var4 + $var7 | 0;
                            $ptr = 4;
                            continue main;
                        }
                        $var14 = $var3 - $var18_0 | 0;
                    }
                    $var15 = $var14 - $var3 | 0;
                    $var16 = $var5 - $var18_0 | 0;
                }
                $var17 = $var16 - $var5 | 0;
                if (jl_Math_abs($var15) != $var18_0)
                    break;
                if (jl_Math_abs($var17) != $var18_0)
                    break;
                if ($var18_0 > 0)
                    continue;
                else
                    break;
            }
            var$20 = nms_Block_opaqueCubeLookup.data;
            continue main;
        case 7:
            $var1.$setBlockAndMetadata($var14, $var13, $var16, $var11, $var18);
            if ($rt_suspending()) {
                break main;
            }
            while (true) {
                $var16 = $var16 + 1 | 0;
                while ($var16 > ($var5 + $var18_0 | 0)) {
                    $var14 = $var14 + 1 | 0;
                    while ($var14 > ($var3 + $var18_0 | 0)) {
                        if ($var18_0 >= 1 && $var13 == $var10)
                            $var18_0 = $var18_0 + (-1) | 0;
                        else if ($var18_0 < $var9)
                            $var18_0 = $var18_0 + 1 | 0;
                        $var13 = $var13 + (-1) | 0;
                        if ($var13 < $var7) {
                            $var7 = 0;
                            $var6 = $var6 - 1 | 0;
                            if ($var7 >= $var6)
                                return 1;
                            $var9 = $var4 + $var7 | 0;
                            $ptr = 4;
                            continue main;
                        }
                        $var14 = $var3 - $var18_0 | 0;
                    }
                    $var15 = $var14 - $var3 | 0;
                    $var16 = $var5 - $var18_0 | 0;
                }
                $var17 = $var16 - $var5 | 0;
                if (jl_Math_abs($var15) != $var18_0)
                    break;
                if (jl_Math_abs($var17) != $var18_0)
                    break;
                if ($var18_0 > 0)
                    continue;
                else
                    break;
            }
            var$20 = nms_Block_opaqueCubeLookup.data;
            $ptr = 6;
            continue main;
        case 8:
            $tmp = nms_World_getBlockId($var1, $var13_0, $var11, $var14_0);
            if ($rt_suspending()) {
                break main;
            }
            $var15 = $tmp;
            if ($var15) {
                $ptr = 9;
                continue main;
            }
            c: {
                while (true) {
                    $var14_0 = $var14_0 + 1 | 0;
                    while (!($var14_0 <= ($var5 + $var18 | 0) && $var10)) {
                        $var13_0 = $var13_0 + 1 | 0;
                        while (!($var13_0 <= ($var3 + $var18 | 0) && $var10)) {
                            $var11 = $var11 + 1 | 0;
                            if ($var11 > $var14)
                                break c;
                            if (!$var10)
                                break c;
                            $var18 = ($var11 - $var4 | 0) >= $var7 ? $var9 : 0;
                            $var13_0 = $var3 - $var18 | 0;
                        }
                        $var14_0 = $var5 - $var18 | 0;
                    }
                    if ($var11 >= 0 && $var11 < 128)
                        break;
                    $var10 = 0;
                }
                continue main;
            }
            if (!$var10)
                return 0;
            $var15 = $var4 - 1 | 0;
            $ptr = 1;
            continue main;
        case 9:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var15 != nms_Block_leaves.$blockID)
                $var10 = 0;
            a: {
                while (true) {
                    $var14_0 = $var14_0 + 1 | 0;
                    while (!($var14_0 <= ($var5 + $var18 | 0) && $var10)) {
                        $var13_0 = $var13_0 + 1 | 0;
                        while (!($var13_0 <= ($var3 + $var18 | 0) && $var10)) {
                            $var11 = $var11 + 1 | 0;
                            if ($var11 > $var14)
                                break a;
                            if (!$var10)
                                break a;
                            $var18 = ($var11 - $var4 | 0) >= $var7 ? $var9 : 0;
                            $var13_0 = $var3 - $var18 | 0;
                        }
                        $var14_0 = $var5 - $var18 | 0;
                    }
                    if ($var11 >= 0 && $var11 < 128)
                        break;
                    $var10 = 0;
                }
                $ptr = 8;
                continue main;
            }
            if (!$var10)
                return 0;
            $var15 = $var4 - 1 | 0;
            $ptr = 1;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var9, $var10, $var13, $var14, $var11, $var18, $var13_0, $var14_0, $var15, $var18_0, $var16, $var17, var$20, $ptr);
    }
    function nms_GuiEditSign() {
        var a = this; nms_GuiScreen.call(a);
        a.$screenTitle1 = null;
        a.$entitySign = null;
        a.$updateCounter6 = 0;
        a.$editLine = 0;
    }
    var nms_GuiEditSign_allowedCharacters = null;
    var nms_GuiEditSign_$clinitCalled = false;
    function nms_GuiEditSign_$callClinit() {
        var $ptr = 0;
        if ($rt_resuming()) {
            $ptr = $rt_nativeThread().pop();
        } else if (nms_GuiEditSign_$clinitCalled) {
            return;
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nms_GuiEditSign_$clinitCalled = true;
            $ptr = 1;
        case 1:
            nms_GuiEditSign__clinit_();
            if ($rt_suspending()) {
                break main;
            }
            nms_GuiEditSign_$callClinit = $rt_eraseClinit(nms_GuiEditSign);
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function nms_GuiEditSign_initGui($this) {
        var var$1, var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            ju_ArrayList_clear($this.$controlList);
            nlei_PlatformInput_enableRepeatEvents = 1;
            var$1 = $this.$controlList;
            var$2 = nms_GuiButton__init_1(0, ($this.$width1 / 2 | 0) - 100 | 0, ($this.$height3 / 4 | 0) + 120 | 0, $rt_s(2286));
            $ptr = 1;
        case 1:
            ju_ArrayList_add(var$1, var$2);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, $ptr);
    }
    function nms_GuiEditSign_onGuiClosed($this) {
        var var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            nlei_PlatformInput_enableRepeatEvents = 0;
            var$1 = $this.$mc6;
            if (!var$1.$theWorld.$multiplayerWorld)
                return;
            var$1 = var$1.$thePlayer;
            var$2 = !(var$1 instanceof nms_EntityClientPlayerMP) ? null : var$1.$sendQueue;
            var$1 = new nms_Packet130;
            var$3 = $this.$entitySign;
            var$4 = var$3.$xCoord0;
            var$5 = var$3.$yCoord0;
            var$6 = var$3.$zCoord0;
            var$7 = var$3.$signText;
            $ptr = 1;
        case 1:
            nms_Packet__init_(var$1);
            if ($rt_suspending()) {
                break main;
            }
            var$1.$isChunkDataPacket = 1;
            var$1.$xPosition17 = var$4;
            var$1.$yPosition16 = var$5;
            var$1.$zPosition15 = var$6;
            var$1.$signLines = var$7;
            $ptr = 2;
        case 2:
            nms_NetClientHandler_addToSendQueue(var$2, var$1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
    }
    function nms_GuiEditSign_updateScreen($this) {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$updateCounter6 = $this.$updateCounter6 + 1 | 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $ptr);
    }
    function nms_GuiEditSign_actionPerformed($this, $var1) {
        var var$2, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var1.$enabled0 && !$var1.$id2) {
                $var1 = $this.$entitySign;
                $ptr = 1;
                continue main;
            }
            return;
        case 1:
            nms_TileEntity_onInventoryChanged($var1);
            if ($rt_suspending()) {
                break main;
            }
            var$2 = $this.$mc6;
            $var1 = null;
            $ptr = 2;
        case 2:
            nmc_Minecraft_displayGuiScreen(var$2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, var$2, $ptr);
    }
    function nms_GuiEditSign_keyTyped($this, $var1, $var2) {
        var var$3, var$4, var$5, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($var2 == 200)
                $this.$editLine = ($this.$editLine - 1 | 0) & 3;
            if (!($var2 != 208 && $var2 != 28))
                $this.$editLine = ($this.$editLine + 1 | 0) & 3;
            if ($var2 == 14 && jl_String_length($this.$entitySign.$signText.data[$this.$editLine]) > 0) {
                var$3 = $this.$entitySign.$signText.data;
                $var2 = $this.$editLine;
                var$3[$var2] = jl_String_substring0(var$3[$var2], 0, jl_String_length(var$3[$var2]) - 1 | 0);
            }
            $ptr = 1;
        case 1:
            nms_GuiEditSign_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if (jl_String_indexOf0(nms_GuiEditSign_allowedCharacters, $var1) >= 0 && jl_String_length($this.$entitySign.$signText.data[$this.$editLine]) < 15) {
                var$3 = $this.$entitySign.$signText.data;
                $var2 = $this.$editLine;
                var$4 = var$3[$var2];
                var$5 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$5);
                $ptr = 2;
                continue main;
            }
            return;
        case 2:
            $tmp = jl_StringBuilder_append(var$5, var$4);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            jl_AbstractStringBuilder_append(var$4, $var1);
            $ptr = 3;
        case 3:
            $tmp = jl_AbstractStringBuilder_toString(var$5);
            if ($rt_suspending()) {
                break main;
            }
            var$4 = $tmp;
            var$3[$var2] = var$4;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, var$5, $ptr);
    }
    function nms_GuiEditSign_drawScreen($this, $var1, $var2, $var3) {
        var $var5, var$5, $var8, var$7, var$8, $var7, $var6, var$11, var$12, var$13, var$14, var$15, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var6 = $thread.pop();$var7 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var8 = $thread.pop();var$5 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_GuiScreen_drawDefaultBackground($this);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$fontRenderer0;
            var$5 = $this.$screenTitle1;
            $var8 = $this.$width1 / 2 | 0;
            var$7 = 40;
            var$8 = 16777215;
            $ptr = 2;
        case 2:
            nms_Gui_drawCenteredString($this, $var5, var$5, $var8, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 3;
        case 3:
            olo_GL11_glPushMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $this.$width1 / 2 | 0;
            $var6 = $this.$height3 / 2 | 0;
            var$11 = 50.0;
            $ptr = 4;
        case 4:
            olo_GL11_glTranslatef($var7, $var6, var$11);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = (-93.75);
            $ptr = 5;
        case 5:
            olo_GL11_glScalef($var7, $var7, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 180.0;
            $var6 = 0.0;
            var$11 = 1.0;
            var$12 = 0.0;
            $ptr = 6;
        case 6:
            olo_GL11_glRotatef($var7, $var6, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $this.$entitySign;
            $ptr = 7;
        case 7:
            $tmp = nms_TileEntity_getBlockType($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var5 = $tmp;
            $ptr = 8;
        case 8:
            nms_Block_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            if ($var5 !== nms_Block_signPost) {
                $var5 = $this.$entitySign;
                $ptr = 9;
                continue main;
            }
            $var5 = $this.$entitySign;
            $ptr = 10;
            continue main;
        case 9:
            $tmp = nms_TileEntity_getBlockMetadata($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var7 = 0.0;
            if ($var8 == 2)
                $var7 = 180.0;
            if ($var8 == 4)
                $var7 = 90.0;
            if ($var8 == 5)
                $var7 = (-90.0);
            $var6 = 0.0;
            var$11 = 1.0;
            var$12 = 0.0;
            $ptr = 17;
            continue main;
        case 10:
            $tmp = nms_TileEntity_getBlockMetadata($var5);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $tmp;
            $var6 = ($var8 * 360 | 0) / 16.0;
            $var7 = 0.0;
            var$11 = 1.0;
            var$12 = 0.0;
            $ptr = 11;
        case 11:
            olo_GL11_glRotatef($var6, $var7, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 0.0;
            $var6 = 0.3125;
            var$11 = 0.0;
            $ptr = 12;
        case 12:
            olo_GL11_glTranslatef($var7, $var6, var$11);
            if ($rt_suspending()) {
                break main;
            }
            if (!(($this.$updateCounter6 / 6 | 0) % 2 | 0))
                $this.$entitySign.$lineBeingEdited = $this.$editLine;
            $ptr = 13;
        case 13:
            nms_TileEntityRenderer_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            $var5 = nms_TileEntityRenderer_instance;
            var$5 = $this.$entitySign;
            var$13 = (-0.5);
            var$14 = (-0.75);
            var$15 = (-0.5);
            $var7 = 0.0;
            $ptr = 14;
        case 14:
            nms_TileEntityRenderer_renderTileEntityAt($var5, var$5, var$13, var$14, var$15, $var7);
            if ($rt_suspending()) {
                break main;
            }
            $this.$entitySign.$lineBeingEdited = (-1);
            $ptr = 15;
        case 15:
            olo_GL11_glPopMatrix();
            if ($rt_suspending()) {
                break main;
            }
            $ptr = 16;
        case 16:
            nms_GuiScreen_drawScreen($this, $var1, $var2, $var3);
            if ($rt_suspending()) {
                break main;
            }
            return;
        case 17:
            olo_GL11_glRotatef($var7, $var6, var$11, var$12);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = 0.0;
            $var6 = 0.3125;
            var$11 = 0.0;
            $ptr = 18;
        case 18:
            olo_GL11_glTranslatef($var7, $var6, var$11);
            if ($rt_suspending()) {
                break main;
            }
            if (!(($this.$updateCounter6 / 6 | 0) % 2 | 0))
                $this.$entitySign.$lineBeingEdited = $this.$editLine;
            $ptr = 13;
            continue main;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $var1, $var2, $var3, $var5, var$5, $var8, var$7, var$8, $var7, $var6, var$11, var$12, var$13, var$14, var$15, $ptr);
    }
    function nms_GuiEditSign__clinit_() {
        var $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $ptr = 1;
        case 1:
            nms_FontAllowedCharacters_$callClinit();
            if ($rt_suspending()) {
                break main;
            }
            nms_GuiEditSign_allowedCharacters = nms_FontAllowedCharacters_allowedCharacters;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($ptr);
    }
    function ju_TreeMap$EntrySet() {
        var a = this; ju_AbstractSet.call(a);
        a.$modCount4 = 0;
        a.$owner0 = null;
        a.$from = null;
        a.$fromIncluded = 0;
        a.$fromChecked = 0;
        a.$to = null;
        a.$toIncluded = 0;
        a.$toChecked = 0;
        a.$reverse = 0;
    }
    function ju_TreeMap$EntryIterator() {
        var a = this; jl_Object.call(a);
        a.$modCount5 = 0;
        a.$owner1 = null;
        a.$path2 = null;
        a.$last0 = null;
        a.$to0 = null;
        a.$toChecked0 = 0;
        a.$toIncluded0 = 0;
        a.$depth = 0;
        a.$reverse0 = 0;
    }
    function ju_TreeMap$EntryIterator__init_0(var_0, var_1, var_2, var_3, var_4, var_5) {
        var var_6 = new ju_TreeMap$EntryIterator();
        ju_TreeMap$EntryIterator__init_(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
        return var_6;
    }
    function ju_TreeMap$EntryIterator__init_($this, $owner, $path, $to, $toChecked, $toIncluded, $reverse) {
        var var$7, var$8, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$reverse = $thread.pop();$toIncluded = $thread.pop();$toChecked = $thread.pop();$to = $thread.pop();$path = $thread.pop();$owner = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            $this.$owner1 = $owner;
            $this.$modCount5 = $owner.$modCount2;
            $owner = $owner.$root;
            var$7 = $owner !== null ? $owner.$height2 : 0;
            var$8 = $path.data;
            $this.$path2 = ju_Arrays_copyOf($path, var$7);
            $this.$depth = var$8.length;
            $this.$to0 = $to;
            $this.$toChecked0 = $toChecked;
            $this.$toIncluded0 = $toIncluded;
            $this.$reverse0 = $reverse;
            $ptr = 1;
        case 1:
            ju_TreeMap$EntryIterator_checkFinished($this);
            if ($rt_suspending()) {
                break main;
            }
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, $owner, $path, $to, $toChecked, $toIncluded, $reverse, var$7, var$8, $ptr);
    }
    function ju_TreeMap$EntryIterator_checkFinished($this) {
        var var$1, var$2, var$3, var$4, $cmp, $ptr, $tmp;
        $ptr = 0;
        if ($rt_resuming()) {
            var $thread = $rt_nativeThread();
            $ptr = $thread.pop();$cmp = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
        }
        main: while (true) { switch ($ptr) {
        case 0:
            if ($this.$toChecked0) {
                var$1 = $this.$depth;
                if (var$1) {
                    var$2 = $this.$owner1.$comparator;
                    var$3 = $this.$path2.data[var$1 - 1 | 0].$key1;
                    var$4 = $this.$to0;
                    $ptr = 1;
                    continue main;
                }
            }
            return;
        case 1:
            $tmp = ju_Comparator$NaturalOrder_compare(var$2, var$3, var$4);
            if ($rt_suspending()) {
                break main;
            }
            $cmp = $tmp;
            if ($this.$reverse0)
                $cmp =  -$cmp | 0;
            if (!$this.$toIncluded0) {
                if ($cmp >= 0)
                    $this.$depth = 0;
            } else if ($cmp > 0)
                $this.$depth = 0;
            return;
        default: $rt_invalidPointer();
        }}
        $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $cmp, $ptr);
    }
    $rt_packages([-1, "com", 0, "carrotsearch", 1, "hppc", 0, "jcraft", 3, "jzlib", -1, "java", 5, "util", 6, "zip", 6, "regex", 5, "nio", 9, "charset", 10, "impl", 5, "io", 5, "math", 5, "text", 5, "lang", -1, "org", 16, "apache", 17, "logging", 18, "log4j", 16, "teavm", 20, "classlib", 21, "impl", 22, "tz", 22, "unicode", 16, "json", -1, "net", 26, "minecraft", 27, "src", 26, "lax1dude", 29, "eaglercraft", 30, "internal", 31, "teavm", 31, "vfs2", 31, "buffer", 30, "profile", 30, "opengl", 30, "beta"
    ]);
    $rt_metadata([jl_Object, "Object", 15, 0, [], 0, 3, 0, 0, ["$hashCode0", $rt_wrapFunction0(jl_Object_hashCode), "$equals", $rt_wrapFunction1(jl_Object_equals), "$toString", $rt_wrapFunction0(jl_Object_toString)],
    nleit_MainClass, 0, jl_Object, [], 0, 3, 0, 0, 0,
    jlr_AnnotatedElement, 0, jl_Object, [], 3, 3, 0, 0, 0,
    jlr_Type, 0, jl_Object, [], 3, 3, 0, 0, 0,
    jl_Class, "Class", 15, jl_Object, [jlr_AnnotatedElement, jlr_Type], 0, 3, 0, 0, ["$toString", $rt_wrapFunction0(jl_Class_toString)],
    otji_JS, 0, jl_Object, [], 4, 0, 0, 0, 0,
    otp_Platform, 0, jl_Object, [], 4, 3, 0, 0, 0,
    jl_Throwable, 0, jl_Object, [], 0, 3, 0, 0, ["$getMessage", $rt_wrapFunction0(jl_Throwable_getMessage), "$toString", $rt_wrapFunction0(jl_Throwable_toString)],
    jl_Exception, 0, jl_Throwable, [], 0, 3, 0, 0, 0,
    jl_RuntimeException, "RuntimeException", 15, jl_Exception, [], 0, 3, 0, 0, 0,
    jl_ClassCastException, "ClassCastException", 15, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    ji_Serializable, 0, jl_Object, [], 3, 3, 0, 0, 0,
    jl_Comparable, 0, jl_Object, [], 3, 3, 0, 0, 0,
    jl_CharSequence, 0, jl_Object, [], 3, 3, 0, 0, 0,
    jl_String, "String", 15, jl_Object, [ji_Serializable, jl_Comparable, jl_CharSequence], 0, 3, 0, jl_String_$callClinit, ["$charAt", $rt_wrapFunction1(jl_String_charAt), "$length", $rt_wrapFunction0(jl_String_length), "$toString", $rt_wrapFunction0(jl_String_toString), "$equals", $rt_wrapFunction1(jl_String_equals), "$hashCode0", $rt_wrapFunction0(jl_String_hashCode), "$compareTo2", $rt_wrapFunction1(jl_String_compareTo0)],
    jl_Error, 0, jl_Throwable, [], 0, 3, 0, 0, 0,
    jl_LinkageError, 0, jl_Error, [], 0, 3, 0, 0, 0,
    jl_NoClassDefFoundError, 0, jl_LinkageError, [], 0, 3, 0, 0, 0,
    jl_Number, 0, jl_Object, [ji_Serializable], 1, 3, 0, 0, 0,
    jl_Integer, "Integer", 15, jl_Number, [jl_Comparable], 0, 3, 0, 0, ["$intValue0", $rt_wrapFunction0(jl_Integer_intValue), "$toString", $rt_wrapFunction0(jl_Integer_toString0), "$hashCode0", $rt_wrapFunction0(jl_Integer_hashCode), "$equals", $rt_wrapFunction1(jl_Integer_equals), "$compareTo2", $rt_wrapFunction1(jl_Integer_compareTo)],
    jl_AbstractStringBuilder, 0, jl_Object, [ji_Serializable, jl_CharSequence], 0, 0, 0, 0, ["$ensureCapacity", $rt_wrapFunction1(jl_AbstractStringBuilder_ensureCapacity), "$toString", $rt_wrapFunction0(jl_AbstractStringBuilder_toString)],
    jl_Appendable, 0, jl_Object, [], 3, 3, 0, 0, 0,
    jl_StringBuilder, 0, jl_AbstractStringBuilder, [jl_Appendable], 0, 3, 0, 0, ["$insert3", $rt_wrapFunction4(jl_StringBuilder_insert), "$append6", $rt_wrapFunction3(jl_StringBuilder_append7), "$insert2", $rt_wrapFunction4(jl_StringBuilder_insert0), "$append5", $rt_wrapFunction3(jl_StringBuilder_append8), "$charAt", $rt_wrapFunction1(jl_StringBuilder_charAt), "$length", $rt_wrapFunction0(jl_StringBuilder_length), "$toString", $rt_wrapFunction0(jl_StringBuilder_toString), "$ensureCapacity", $rt_wrapFunction1(jl_StringBuilder_ensureCapacity),
    "$insert1", $rt_wrapFunction2(jl_StringBuilder_insert1), "$insert", $rt_wrapFunction2(jl_StringBuilder_insert2)],
    jl_IncompatibleClassChangeError, 0, jl_LinkageError, [], 0, 3, 0, 0, 0,
    jl_NoSuchFieldError, 0, jl_IncompatibleClassChangeError, [], 0, 3, 0, 0, 0,
    jl_NoSuchMethodError, 0, jl_IncompatibleClassChangeError, [], 0, 3, 0, 0, 0,
    jl_System, 0, jl_Object, [], 4, 3, 0, 0, 0,
    otci_IntegerUtil, 0, jl_Object, [], 4, 3, 0, 0, 0,
    nleit_ClientMain, 0, jl_Object, [], 0, 3, 0, nleit_ClientMain_$callClinit, 0,
    ju_Comparator, 0, jl_Object, [], 3, 3, 0, 0, 0,
    jl_String$_clinit_$lambda$_93_0, 0, jl_Object, [ju_Comparator], 0, 3, 0, 0, 0,
    jl_IndexOutOfBoundsException, "IndexOutOfBoundsException", 15, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    jlr_Array, 0, jl_Object, [], 4, 3, 0, 0, 0,
    jl_NullPointerException, "NullPointerException", 15, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    jl_ArrayStoreException, "ArrayStoreException", 15, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    jl_Character, "Character", 15, jl_Object, [jl_Comparable], 0, 3, 0, 0, ["$toString", $rt_wrapFunction0(jl_Character_toString), "$equals", $rt_wrapFunction1(jl_Character_equals), "$hashCode0", $rt_wrapFunction0(jl_Character_hashCode), "$compareTo2", $rt_wrapFunction1(jl_Character_compareTo)],
    otj_JSObject, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nleito_JSEaglercraftXOptsRoot, 0, jl_Object, [otj_JSObject], 1, 3, 0, 0, 0,
    nlei_PlatformRuntime, 0, jl_Object, [], 0, 3, 0, nlei_PlatformRuntime_$callClinit, 0,
    otjde_EventTarget, 0, jl_Object, [otj_JSObject], 3, 3, 0, 0, 0,
    otjde_FocusEventTarget, 0, jl_Object, [otjde_EventTarget], 3, 3, 0, 0, 0,
    otjde_MouseEventTarget, 0, jl_Object, [otjde_EventTarget], 3, 3, 0, 0, 0,
    otjde_KeyboardEventTarget, 0, jl_Object, [otjde_EventTarget], 3, 3, 0, 0, 0,
    otjde_LoadEventTarget, 0, jl_Object, [otjde_EventTarget], 3, 3, 0, 0, 0,
    otjde_GamepadEventTarget, 0, jl_Object, [otjde_EventTarget], 3, 3, 0, 0, 0,
    otjb_WindowEventTarget, 0, jl_Object, [otjde_EventTarget, otjde_FocusEventTarget, otjde_MouseEventTarget, otjde_KeyboardEventTarget, otjde_LoadEventTarget, otjde_GamepadEventTarget], 3, 3, 0, 0, 0,
    otjb_StorageProvider, 0, jl_Object, [], 3, 3, 0, 0, 0,
    otjc_JSArrayReader, 0, jl_Object, [otj_JSObject], 3, 3, 0, 0, 0,
    otjb_Window, 0, jl_Object, [otj_JSObject, otjb_WindowEventTarget, otjb_StorageProvider, otjc_JSArrayReader], 1, 3, 0, 0, ["$get$exported$0", $rt_wrapFunction1(otjb_Window_get$exported$0), "$addEventListener$exported$1", $rt_wrapFunction2(otjb_Window_addEventListener$exported$1), "$removeEventListener$exported$2", $rt_wrapFunction2(otjb_Window_removeEventListener$exported$2), "$removeEventListener$exported$3", $rt_wrapFunction3(otjb_Window_removeEventListener$exported$3), "$dispatchEvent$exported$4", $rt_wrapFunction1(otjb_Window_dispatchEvent$exported$4),
    "$getLength$exported$5", $rt_wrapFunction0(otjb_Window_getLength$exported$5), "$addEventListener$exported$6", $rt_wrapFunction3(otjb_Window_addEventListener$exported$6)],
    oj_JSONException, "JSONException", 25, jl_RuntimeException, [], 0, 3, 0, 0, 0]);
    $rt_metadata([otjdx_Node, 0, jl_Object, [otj_JSObject], 3, 3, 0, 0, 0,
    nleit_ClientMain$EPKFileEntry, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nlei_IClientConfigAdapter, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nleit_TeaVMClientConfigAdapter, "TeaVMClientConfigAdapter", 32, jl_Object, [nlei_IClientConfigAdapter], 0, 3, 0, nleit_TeaVMClientConfigAdapter_$callClinit, 0,
    oall_ILogRedirector, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nleit_ClientMain$2, 0, jl_Object, [oall_ILogRedirector], 0, 0, 0, 0, 0,
    oall_LogManager, 0, jl_Object, [], 0, 3, 0, oall_LogManager_$callClinit, 0,
    nleit_ClientMain$WindowErrorHandler, 0, jl_Object, [otj_JSObject], 3, 0, 0, 0, 0,
    nleit_ClientMain$1, 0, jl_Object, [nleit_ClientMain$WindowErrorHandler], 0, 0, 0, 0, ["$call$exported$0", function(var_1, var_2, var_3, var_4, var_5) { return nleit_ClientMain$1_call$exported$0(this, var_1, var_2, var_3, var_4, var_5); }],
    nle_LocalStorageManager, 0, jl_Object, [], 0, 3, 0, 0, 0,
    otji_JSWrapper, 0, jl_Object, [], 4, 3, 0, otji_JSWrapper_$callClinit, 0,
    nleito_JSEaglercraftXOptsAssetsURI, 0, jl_Object, [otj_JSObject], 1, 3, 0, 0, 0,
    nle_EagRuntime, 0, jl_Object, [], 0, 3, 0, nle_EagRuntime_$callClinit, 0,
    nlei_PlatformIncompatibleException, "PlatformIncompatibleException", 31, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    nmc_Minecraft, 0, jl_Object, [], 0, 3, 0, 0, 0,
    jl_AutoCloseable, 0, jl_Object, [], 3, 3, 0, 0, 0,
    ji_Closeable, 0, jl_Object, [jl_AutoCloseable], 3, 3, 0, 0, 0,
    ji_Flushable, 0, jl_Object, [], 3, 3, 0, 0, 0,
    ji_OutputStream, 0, jl_Object, [ji_Closeable, ji_Flushable], 1, 3, 0, 0, ["$close", $rt_wrapFunction0(ji_OutputStream_close)],
    ji_FilterOutputStream, 0, ji_OutputStream, [], 0, 3, 0, 0, 0,
    ji_PrintStream, 0, ji_FilterOutputStream, [], 0, 3, 0, 0, 0,
    ji_InputStream, 0, jl_Object, [ji_Closeable], 1, 3, 0, 0, ["$read1", $rt_wrapFunction1(ji_InputStream_read), "$close", $rt_wrapFunction0(ji_InputStream_close)],
    ji_FilterInputStream, 0, ji_InputStream, [], 0, 3, 0, 0, ["$read1", $rt_wrapFunction1(ji_FilterInputStream_read0)],
    ji_DataInput, 0, jl_Object, [], 3, 3, 0, 0, 0,
    ji_DataInputStream, 0, ji_FilterInputStream, [ji_DataInput], 0, 3, 0, 0, 0,
    ji_ByteArrayInputStream, 0, ji_InputStream, [], 0, 3, 0, 0, ["$read0", $rt_wrapFunction0(ji_ByteArrayInputStream_read), "$read", $rt_wrapFunction3(ji_ByteArrayInputStream_read0), "$close", $rt_wrapFunction0(ji_ByteArrayInputStream_close)],
    nms_NBTBase, 0, jl_Object, [], 1, 3, 0, 0, 0,
    ji_IOException, "IOException", 12, jl_Exception, [], 0, 3, 0, 0, 0,
    nms_NBTTagCompound, "NBTTagCompound", 28, nms_NBTBase, [], 0, 3, 0, 0, ["$writeTagContents", $rt_wrapFunction1(nms_NBTTagCompound_writeTagContents), "$readTagContents", $rt_wrapFunction1(nms_NBTTagCompound_readTagContents), "$getType0", $rt_wrapFunction0(nms_NBTTagCompound_getType), "$toString", $rt_wrapFunction0(nms_NBTTagCompound_toString)],
    nleo_RealOpenGLEnums, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nleo_GlStateManager, 0, nleo_RealOpenGLEnums, [], 0, 3, 0, nleo_GlStateManager_$callClinit, 0,
    nleo_EaglercraftGPU, 0, nleo_GlStateManager, [], 0, 3, 0, nleo_EaglercraftGPU_$callClinit, 0,
    jl_Cloneable, 0, jl_Object, [], 3, 3, 0, 0, 0,
    jt_Format, 0, jl_Object, [ji_Serializable, jl_Cloneable], 1, 3, 0, 0, 0,
    jt_DateFormat, 0, jt_Format, [], 1, 3, 0, 0, 0,
    jt_SimpleDateFormat, 0, jt_DateFormat, [], 0, 3, 0, 0, 0,
    ju_Date, 0, jl_Object, [jl_Comparable], 0, 3, 0, 0, 0,
    nms_Timer, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_IProgressUpdate, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nms_LoadingScreenRenderer, 0, jl_Object, [nms_IProgressUpdate], 0, 3, 0, 0, 0,
    nms_EntityRenderer, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_Gui, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_GuiAchievement, 0, nms_Gui, [], 0, 3, 0, 0, 0,
    nms_ModelBase, 0, jl_Object, [], 1, 3, 0, 0, ["$func_25103_a", $rt_wrapFunction4(nms_ModelBase_func_25103_a)],
    nms_ModelBiped, 0, nms_ModelBase, [], 0, 3, 0, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_ModelBiped_render(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_ModelBiped_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_SoundManager, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_XBlah, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_TextureFX, 0, jl_Object, [], 0, 3, 0, 0, ["$onTick", $rt_wrapFunction0(nms_TextureFX_onTick)],
    nms_TextureWaterFX, "TextureWaterFX", 28, nms_TextureFX, [], 0, 3, 0, 0, ["$onTick", $rt_wrapFunction0(nms_TextureWaterFX_onTick)],
    nms_TextureLavaFX, "TextureLavaFX", 28, nms_TextureFX, [], 0, 3, 0, 0, ["$onTick", $rt_wrapFunction0(nms_TextureLavaFX_onTick)]]);
    $rt_metadata([nle_Display, 0, jl_Object, [], 0, 3, 0, 0, 0,
    olo_Display, 0, nle_Display, [], 0, 3, 0, 0, 0,
    otcic_ConsoleOutputStream, 0, ji_OutputStream, [], 1, 3, 0, 0, ["$write3", $rt_wrapFunction1(otcic_ConsoleOutputStream_write)],
    otcic_StdoutOutputStream, 0, otcic_ConsoleOutputStream, [], 0, 3, 0, 0, ["$write", $rt_wrapFunction3(otcic_StdoutOutputStream_write)],
    otcic_StderrOutputStream, 0, otcic_ConsoleOutputStream, [], 0, 3, 0, 0, ["$write", $rt_wrapFunction3(otcic_StderrOutputStream_write)],
    otjc_JSString, 0, jl_Object, [otj_JSObject], 1, 3, 0, 0, 0,
    ju_Map, 0, jl_Object, [], 3, 3, 0, 0, 0,
    ju_AbstractMap, 0, jl_Object, [ju_Map], 1, 3, 0, 0, 0,
    ju_HashMap, 0, ju_AbstractMap, [jl_Cloneable, ji_Serializable], 0, 3, 0, 0, 0,
    jl_Enum, "Enum", 15, jl_Object, [jl_Comparable, ji_Serializable], 1, 3, 0, 0, ["$toString", $rt_wrapFunction0(jl_Enum_toString), "$equals", $rt_wrapFunction1(jl_Enum_equals), "$hashCode0", $rt_wrapFunction0(jl_Enum_hashCode), "$compareTo2", $rt_wrapFunction1(jl_Enum_compareTo0)],
    oall_Level, "Level", 19, jl_Enum, [], 12, 3, 0, oall_Level_$callClinit, 0,
    nlei_PlatformApplication, 0, jl_Object, [], 0, 3, 0, nlei_PlatformApplication_$callClinit, 0,
    nms_NBTTagEnd, "NBTTagEnd", 28, nms_NBTBase, [], 0, 3, 0, 0, ["$readTagContents", $rt_wrapFunction1(nms_NBTTagEnd_readTagContents), "$writeTagContents", $rt_wrapFunction1(nms_NBTTagEnd_writeTagContents), "$getType0", $rt_wrapFunction0(nms_NBTTagEnd_getType), "$toString", $rt_wrapFunction0(nms_NBTTagEnd_toString)],
    otjc_JSWeakMap, 0, jl_Object, [otj_JSObject], 1, 3, 0, 0, 0,
    otjc_JSWeakRef, 0, jl_Object, [otj_JSObject], 1, 3, 0, 0, 0,
    otjc_JSMap, 0, jl_Object, [otj_JSObject], 1, 3, 0, 0, 0,
    otjc_JSFinalizationRegistryConsumer, 0, jl_Object, [otj_JSObject], 3, 3, 0, 0, 0,
    otji_JSWrapper$_clinit_$lambda$_30_0, 0, jl_Object, [otjc_JSFinalizationRegistryConsumer], 0, 3, 0, 0, ["$accept$exported$0", $rt_wrapFunction1(otji_JSWrapper$_clinit_$lambda$_30_0_accept$exported$0)],
    otjc_JSFinalizationRegistry, 0, jl_Object, [otj_JSObject], 1, 3, 0, 0, 0,
    otji_JSWrapper$_clinit_$lambda$_30_1, 0, jl_Object, [otjc_JSFinalizationRegistryConsumer], 0, 3, 0, 0, ["$accept$exported$0", $rt_wrapFunction1(otji_JSWrapper$_clinit_$lambda$_30_1_accept$exported$0)],
    juf_Consumer, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nle_EagRuntime$debugPrintStackTraceToSTDERR0$lambda$_25_0, 0, jl_Object, [juf_Consumer], 0, 3, 0, 0, ["$accept", $rt_wrapFunction1(nle_EagRuntime$debugPrintStackTraceToSTDERR0$lambda$_25_0_accept)],
    jl_Iterable, 0, jl_Object, [], 3, 3, 0, 0, 0,
    ju_Collection, 0, jl_Object, [jl_Iterable], 3, 3, 0, 0, 0,
    ju_AbstractCollection, 0, jl_Object, [ju_Collection], 1, 3, 0, 0, ["$contains0", $rt_wrapFunction1(ju_AbstractCollection_contains), "$toString", $rt_wrapFunction0(ju_AbstractCollection_toString)],
    ju_SequencedCollection, 0, jl_Object, [ju_Collection], 3, 3, 0, 0, 0,
    ju_List, 0, jl_Object, [ju_SequencedCollection], 3, 3, 0, 0, 0,
    ju_AbstractList, 0, ju_AbstractCollection, [ju_List], 1, 3, 0, 0, ["$iterator", $rt_wrapFunction0(ju_AbstractList_iterator), "$remove", $rt_wrapFunction1(ju_AbstractList_remove), "$equals", $rt_wrapFunction1(ju_AbstractList_equals)],
    ju_AbstractSequentialList, 0, ju_AbstractList, [], 1, 3, 0, 0, 0,
    ju_Queue, 0, jl_Object, [ju_Collection], 3, 3, 0, 0, 0,
    ju_Deque, 0, jl_Object, [ju_Queue, ju_SequencedCollection], 3, 3, 0, 0, 0,
    ju_LinkedList, 0, ju_AbstractSequentialList, [ju_Deque], 0, 3, 0, 0, ["$size", $rt_wrapFunction0(ju_LinkedList_size)],
    ju_Objects, 0, jl_Object, [], 4, 3, 0, 0, 0,
    nleit_ClientMain$showCrashScreen$lambda$_9_0, 0, jl_Object, [juf_Consumer], 0, 3, 0, 0, 0,
    oall_Logger, 0, jl_Object, [], 0, 3, 0, oall_Logger_$callClinit, 0,
    nleit_DebugConsoleWindow, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nleit_ES6ShimStatus, 0, jl_Object, [], 0, 3, 0, nleit_ES6ShimStatus_$callClinit, 0,
    nleit_TeaVMBlobURLManager, 0, jl_Object, [], 0, 3, 0, nleit_TeaVMBlobURLManager_$callClinit, 0,
    nlei_PlatformRuntime$8, 0, jl_Object, [], 32, 0, 0, nlei_PlatformRuntime$8_$callClinit, 0,
    nleit_EnumES6ShimStatus, "EnumES6ShimStatus", 32, jl_Enum, [], 12, 3, 0, nleit_EnumES6ShimStatus_$callClinit, 0,
    nlei_RuntimeInitializationFailureException, "RuntimeInitializationFailureException", 31, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    nleit_TeaVMUtils, 0, jl_Object, [], 0, 3, 0, 0, 0,
    ju_Set, 0, jl_Object, [ju_Collection], 3, 3, 0, 0, 0,
    ju_AbstractSet, 0, ju_AbstractCollection, [ju_Set], 1, 3, 0, 0, ["$equals", $rt_wrapFunction1(ju_AbstractSet_equals), "$hashCode0", $rt_wrapFunction0(ju_AbstractSet_hashCode)],
    ju_HashSet, "HashSet", 6, ju_AbstractSet, [jl_Cloneable, ji_Serializable], 0, 3, 0, 0, ["$add", $rt_wrapFunction1(ju_HashSet_add), "$contains0", $rt_wrapFunction1(ju_HashSet_contains), "$iterator", $rt_wrapFunction0(ju_HashSet_iterator), "$size", $rt_wrapFunction0(ju_HashSet_size)],
    jl_Math, 0, jl_Object, [], 4, 3, 0, 0, 0,
    nleit_TeaVMFetchJS, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nleit_TeaVMDataURLManager, 0, jl_Object, [], 0, 3, 0, 0, 0,
    otjde_EventListener, 0, jl_Object, [otj_JSObject], 3, 3, 0, 0, 0,
    nlei_PlatformRuntime$2, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformRuntime$2_handleEvent$exported$0)]]);
    $rt_metadata([nlei_PlatformOpenGL, 0, jl_Object, [], 0, 3, 0, nlei_PlatformOpenGL_$callClinit, 0,
    ju_Collections, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nlei_IObjectGL, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nlei_IFramebufferGL, 0, jl_Object, [nlei_IObjectGL], 3, 3, 0, 0, 0,
    nlei_OpenGLObjects$FramebufferGL, 0, jl_Object, [nlei_IFramebufferGL], 0, 0, 0, 0, 0,
    nleit_WebGLBackBuffer, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nlei_PlatformInput, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nleit_EarlyLoadScreen, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nlei_PlatformAssets, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nle_EaglercraftVersion, 0, jl_Object, [], 0, 3, 0, nle_EaglercraftVersion_$callClinit, 0,
    nleit_EPKDownloadHelper, 0, jl_Object, [], 0, 3, 0, nleit_EPKDownloadHelper_$callClinit, 0,
    nle_Filesystem, 0, jl_Object, [], 0, 3, 0, nle_Filesystem_$callClinit, 0,
    nleiv_VFile2, "VFile2", 33, jl_Object, [], 0, 3, 0, nleiv_VFile2_$callClinit, ["$toString", $rt_wrapFunction0(nleiv_VFile2_toString), "$hashCode0", $rt_wrapFunction0(nleiv_VFile2_hashCode), "$equals", $rt_wrapFunction1(nleiv_VFile2_equals)],
    nlei_PlatformAudio, 0, jl_Object, [], 0, 3, 0, nlei_PlatformAudio_$callClinit, 0,
    jl_Runnable, 0, jl_Object, [], 3, 3, 0, 0, 0,
    jl_Thread, 0, jl_Object, [jl_Runnable], 0, 3, 0, jl_Thread_$callClinit, 0,
    jl_InterruptedException, 0, jl_Exception, [], 0, 3, 0, 0, 0,
    nlei_PlatformRuntime$1, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformRuntime$1_handleEvent$exported$0)],
    nlei_EnumPlatformAgent, "EnumPlatformAgent", 31, jl_Enum, [], 12, 3, 0, nlei_EnumPlatformAgent_$callClinit, ["$toString", $rt_wrapFunction0(nlei_EnumPlatformAgent_toString)],
    nlei_EnumPlatformOS, "EnumPlatformOS", 31, jl_Enum, [], 12, 3, 0, nlei_EnumPlatformOS_$callClinit, ["$toString", $rt_wrapFunction0(nlei_EnumPlatformOS_toString)],
    nlei_EnumPlatformANGLE, "EnumPlatformANGLE", 31, jl_Enum, [], 12, 3, 0, nlei_EnumPlatformANGLE_$callClinit, ["$toString", $rt_wrapFunction0(nlei_EnumPlatformANGLE_toString)],
    nleo_SoftGLVertexState, 0, jl_Object, [], 0, 0, 0, 0, 0,
    nleo_GLSLHeader, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nleo_DrawUtils, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nleo_InstancedFontRenderer, 0, jl_Object, [], 0, 3, 0, nleo_InstancedFontRenderer_$callClinit, 0,
    ju_Locale, 0, jl_Object, [jl_Cloneable, ji_Serializable], 4, 3, 0, ju_Locale_$callClinit, ["$equals", $rt_wrapFunction1(ju_Locale_equals), "$hashCode0", $rt_wrapFunction0(ju_Locale_hashCode)],
    nms_MouseFilter, 0, jl_Object, [], 0, 3, 0, 0, 0,
    jur_RandomGenerator, 0, jl_Object, [], 3, 3, 0, 0, 0,
    ju_Random, 0, jl_Object, [jur_RandomGenerator, ji_Serializable], 0, 3, 0, 0, 0,
    nms_GLAllocation, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_ItemRenderer, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nle_Random, 0, ju_Random, [], 0, 3, 0, 0, 0,
    nlei_IAudioCacheLoader, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nms_SoundManager$_init_$lambda$_0_0, 0, jl_Object, [nlei_IAudioCacheLoader], 0, 3, 0, 0, 0,
    nms_Block, "Block", 28, jl_Object, [], 0, 3, 0, nms_Block_$callClinit, ["$renderAsNormalBlock", $rt_wrapFunction0(nms_Block_renderAsNormalBlock), "$getRenderType", $rt_wrapFunction0(nms_Block_getRenderType), "$getBlockBrightness", $rt_wrapFunction4(nms_Block_getBlockBrightness), "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return nms_Block_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockTexture", function(var_1, var_2, var_3, var_4, var_5) { return nms_Block_getBlockTexture(this,
    var_1, var_2, var_3, var_4, var_5); }, "$getBlockTextureFromSideAndMetadata", $rt_wrapFunction2(nms_Block_getBlockTextureFromSideAndMetadata), "$getBlockTextureFromSide", $rt_wrapFunction1(nms_Block_getBlockTextureFromSide), "$getSelectedBoundingBoxFromPool", $rt_wrapFunction4(nms_Block_getSelectedBoundingBoxFromPool), "$getCollidingBoundingBoxes", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_Block_getCollidingBoundingBoxes(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$getCollisionBoundingBoxFromPool",
    $rt_wrapFunction4(nms_Block_getCollisionBoundingBoxFromPool), "$isOpaqueCube", $rt_wrapFunction0(nms_Block_isOpaqueCube), "$canCollideCheck", $rt_wrapFunction2(nms_Block_canCollideCheck), "$isCollidable", $rt_wrapFunction0(nms_Block_isCollidable), "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_Block_updateTick(this, var_1, var_2, var_3, var_4, var_5); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { nms_Block_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5);
    }, "$onBlockDestroyedByPlayer", function(var_1, var_2, var_3, var_4, var_5) { nms_Block_onBlockDestroyedByPlayer(this, var_1, var_2, var_3, var_4, var_5); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_Block_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockAdded", $rt_wrapFunction4(nms_Block_onBlockAdded), "$onBlockRemoval", $rt_wrapFunction4(nms_Block_onBlockRemoval), "$quantityDropped", $rt_wrapFunction1(nms_Block_quantityDropped), "$idDropped",
    $rt_wrapFunction2(nms_Block_idDropped), "$dropBlockAsItem", function(var_1, var_2, var_3, var_4, var_5) { nms_Block_dropBlockAsItem(this, var_1, var_2, var_3, var_4, var_5); }, "$dropBlockAsItemWithChance", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_Block_dropBlockAsItemWithChance(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$damageDropped", $rt_wrapFunction1(nms_Block_damageDropped), "$getExplosionResistance", $rt_wrapFunction1(nms_Block_getExplosionResistance), "$collisionRayTrace",
    function(var_1, var_2, var_3, var_4, var_5, var_6) { return nms_Block_collisionRayTrace(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$onBlockDestroyedByExplosion", $rt_wrapFunction4(nms_Block_onBlockDestroyedByExplosion), "$getRenderBlockPass", $rt_wrapFunction0(nms_Block_getRenderBlockPass), "$canPlaceBlockAt", $rt_wrapFunction4(nms_Block_canPlaceBlockAt), "$blockActivated", function(var_1, var_2, var_3, var_4, var_5) { return nms_Block_blockActivated(this, var_1, var_2, var_3, var_4, var_5); },
    "$onEntityWalking", function(var_1, var_2, var_3, var_4, var_5) { nms_Block_onEntityWalking(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5) { nms_Block_onBlockPlaced(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockClicked", function(var_1, var_2, var_3, var_4, var_5) { nms_Block_onBlockClicked(this, var_1, var_2, var_3, var_4, var_5); }, "$velocityToAddToEntity", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_Block_velocityToAddToEntity(this,
    var_1, var_2, var_3, var_4, var_5, var_6); }, "$setBlockBoundsBasedOnState", $rt_wrapFunction4(nms_Block_setBlockBoundsBasedOnState), "$colorMultiplier", $rt_wrapFunction4(nms_Block_colorMultiplier), "$isPoweringTo", function(var_1, var_2, var_3, var_4, var_5) { return nms_Block_isPoweringTo(this, var_1, var_2, var_3, var_4, var_5); }, "$canProvidePower", $rt_wrapFunction0(nms_Block_canProvidePower), "$onEntityCollidedWithBlock", function(var_1, var_2, var_3, var_4, var_5) { nms_Block_onEntityCollidedWithBlock(this,
    var_1, var_2, var_3, var_4, var_5); }, "$isIndirectlyPoweringTo", function(var_1, var_2, var_3, var_4, var_5) { return nms_Block_isIndirectlyPoweringTo(this, var_1, var_2, var_3, var_4, var_5); }, "$setBlockBoundsForItemRender", $rt_wrapFunction0(nms_Block_setBlockBoundsForItemRender), "$harvestBlock", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_Block_harvestBlock(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$canBlockStay", $rt_wrapFunction4(nms_Block_canBlockStay), "$onBlockPlacedBy",
    function(var_1, var_2, var_3, var_4, var_5) { nms_Block_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5); }, "$playBlock", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_Block_playBlock(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    jnc_Charset, 0, jl_Object, [jl_Comparable], 1, 3, 0, 0, ["$compareTo2", $rt_wrapFunction1(jnc_Charset_compareTo0)],
    jnci_UTF8Charset, "UTF8Charset", 11, jnc_Charset, [], 0, 3, 0, jnci_UTF8Charset_$callClinit, ["$newDecoder", $rt_wrapFunction0(jnci_UTF8Charset_newDecoder), "$newEncoder", $rt_wrapFunction0(jnci_UTF8Charset_newEncoder)],
    nlei_IClientConfigAdapterHooks, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nleit_TeaVMClientConfigAdapterHooks, 0, jl_Object, [nlei_IClientConfigAdapterHooks], 0, 3, 0, nleit_TeaVMClientConfigAdapterHooks_$callClinit, 0,
    nms_NBTTagByte, "NBTTagByte", 28, nms_NBTBase, [], 0, 3, 0, 0, ["$writeTagContents", $rt_wrapFunction1(nms_NBTTagByte_writeTagContents), "$readTagContents", $rt_wrapFunction1(nms_NBTTagByte_readTagContents), "$getType0", $rt_wrapFunction0(nms_NBTTagByte_getType), "$toString", $rt_wrapFunction0(nms_NBTTagByte_toString)],
    nms_NBTTagShort, "NBTTagShort", 28, nms_NBTBase, [], 0, 3, 0, 0, ["$writeTagContents", $rt_wrapFunction1(nms_NBTTagShort_writeTagContents), "$readTagContents", $rt_wrapFunction1(nms_NBTTagShort_readTagContents), "$getType0", $rt_wrapFunction0(nms_NBTTagShort_getType), "$toString", $rt_wrapFunction0(nms_NBTTagShort_toString)],
    nms_NBTTagInt, "NBTTagInt", 28, nms_NBTBase, [], 0, 3, 0, 0, ["$writeTagContents", $rt_wrapFunction1(nms_NBTTagInt_writeTagContents), "$readTagContents", $rt_wrapFunction1(nms_NBTTagInt_readTagContents), "$getType0", $rt_wrapFunction0(nms_NBTTagInt_getType), "$toString", $rt_wrapFunction0(nms_NBTTagInt_toString)],
    nms_NBTTagLong, "NBTTagLong", 28, nms_NBTBase, [], 0, 3, 0, 0, ["$writeTagContents", $rt_wrapFunction1(nms_NBTTagLong_writeTagContents), "$readTagContents", $rt_wrapFunction1(nms_NBTTagLong_readTagContents), "$getType0", $rt_wrapFunction0(nms_NBTTagLong_getType), "$toString", $rt_wrapFunction0(nms_NBTTagLong_toString)],
    nms_NBTTagFloat, "NBTTagFloat", 28, nms_NBTBase, [], 0, 3, 0, 0, ["$writeTagContents", $rt_wrapFunction1(nms_NBTTagFloat_writeTagContents), "$readTagContents", $rt_wrapFunction1(nms_NBTTagFloat_readTagContents), "$getType0", $rt_wrapFunction0(nms_NBTTagFloat_getType), "$toString", $rt_wrapFunction0(nms_NBTTagFloat_toString)],
    nms_NBTTagDouble, "NBTTagDouble", 28, nms_NBTBase, [], 0, 3, 0, 0, ["$writeTagContents", $rt_wrapFunction1(nms_NBTTagDouble_writeTagContents), "$readTagContents", $rt_wrapFunction1(nms_NBTTagDouble_readTagContents), "$getType0", $rt_wrapFunction0(nms_NBTTagDouble_getType), "$toString", $rt_wrapFunction0(nms_NBTTagDouble_toString)],
    nms_NBTTagByteArray, "NBTTagByteArray", 28, nms_NBTBase, [], 0, 3, 0, 0, ["$writeTagContents", $rt_wrapFunction1(nms_NBTTagByteArray_writeTagContents), "$readTagContents", $rt_wrapFunction1(nms_NBTTagByteArray_readTagContents), "$getType0", $rt_wrapFunction0(nms_NBTTagByteArray_getType), "$toString", $rt_wrapFunction0(nms_NBTTagByteArray_toString)],
    nms_NBTTagString, "NBTTagString", 28, nms_NBTBase, [], 0, 3, 0, 0, ["$writeTagContents", $rt_wrapFunction1(nms_NBTTagString_writeTagContents), "$readTagContents", $rt_wrapFunction1(nms_NBTTagString_readTagContents), "$getType0", $rt_wrapFunction0(nms_NBTTagString_getType), "$toString", $rt_wrapFunction0(nms_NBTTagString_toString)],
    nms_NBTTagList, "NBTTagList", 28, nms_NBTBase, [], 0, 3, 0, 0, ["$writeTagContents", $rt_wrapFunction1(nms_NBTTagList_writeTagContents), "$readTagContents", $rt_wrapFunction1(nms_NBTTagList_readTagContents), "$getType0", $rt_wrapFunction0(nms_NBTTagList_getType), "$toString", $rt_wrapFunction0(nms_NBTTagList_toString)],
    otj_JSExceptions, 0, jl_Object, [], 4, 3, 0, 0, 0,
    nle_EagRuntime$getStackTrace0$lambda$_29_0, 0, jl_Object, [juf_Consumer], 0, 3, 0, 0, ["$accept", $rt_wrapFunction1(nle_EagRuntime$getStackTrace0$lambda$_29_0_accept)]]);
    $rt_metadata([nleit_EnumES6Shims, "EnumES6Shims", 32, jl_Enum, [], 12, 3, 0, nleit_EnumES6Shims_$callClinit, 0,
    ju_RandomAccess, 0, jl_Object, [], 3, 3, 0, 0, 0,
    ju_ArrayList, "ArrayList", 6, ju_AbstractList, [jl_Cloneable, ji_Serializable, ju_RandomAccess], 0, 3, 0, 0, ["$get2", $rt_wrapFunction1(ju_ArrayList_get), "$size", $rt_wrapFunction0(ju_ArrayList_size), "$add", $rt_wrapFunction1(ju_ArrayList_add), "$remove", $rt_wrapFunction1(ju_ArrayList_remove), "$toString", $rt_wrapFunction0(ju_ArrayList_toString), "$hashCode0", $rt_wrapFunction0(ju_ArrayList_hashCode)],
    nleib_EaglerArrayBufferAllocator, 0, jl_Object, [], 0, 3, 0, nleib_EaglerArrayBufferAllocator_$callClinit, 0,
    ju_Comparator$NaturalOrder, 0, jl_Object, [ju_Comparator], 0, 3, 0, 0, ["$compare", $rt_wrapFunction2(ju_Comparator$NaturalOrder_compare)],
    nleib_Buffer, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nleib_ByteBuffer, 0, jl_Object, [nleib_Buffer], 1, 3, 0, 0, 0,
    nle_BaseNCodec, 0, jl_Object, [], 1, 3, 0, 0, 0,
    nle_Base64, 0, nle_BaseNCodec, [], 0, 3, 0, 0, 0,
    nleo_ImageData, "ImageData", 36, jl_Object, [], 0, 3, 0, 0, 0,
    nle_EagUtils, 0, jl_Object, [], 0, 3, 0, nle_EagUtils_$callClinit, 0,
    ju_Arrays, 0, jl_Object, [], 0, 3, 0, 0, 0,
    jnc_StandardCharsets, 0, jl_Object, [], 4, 3, 0, jnc_StandardCharsets_$callClinit, 0,
    nleit_EPKLoader, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nle_Filesystem$FilesystemHandle, "Filesystem$FilesystemHandle", 30, jl_Object, [], 0, 0, 0, 0, 0,
    nlei_IEaglerFilesystem, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nle_Filesystem$FilesystemHandleWrapper, 0, jl_Object, [nlei_IEaglerFilesystem], 0, 0, 0, 0, 0,
    nlei_PlatformFilesystem, 0, jl_Object, [], 0, 3, 0, nlei_PlatformFilesystem_$callClinit, 0,
    nlei_RamdiskFilesystemImpl, 0, jl_Object, [nlei_IEaglerFilesystem], 0, 3, 0, 0, ["$isRamdisk", $rt_wrapFunction0(nlei_RamdiskFilesystemImpl_isRamdisk), "$eaglerDelete", $rt_wrapFunction1(nlei_RamdiskFilesystemImpl_eaglerDelete), "$eaglerRead", $rt_wrapFunction1(nlei_RamdiskFilesystemImpl_eaglerRead), "$eaglerWrite", $rt_wrapFunction2(nlei_RamdiskFilesystemImpl_eaglerWrite), "$eaglerExists", $rt_wrapFunction1(nlei_RamdiskFilesystemImpl_eaglerExists), "$eaglerMove", $rt_wrapFunction2(nlei_RamdiskFilesystemImpl_eaglerMove),
    "$eaglerIterate", $rt_wrapFunction3(nlei_RamdiskFilesystemImpl_eaglerIterate)],
    otjw_AudioContext, 0, jl_Object, [otj_JSObject], 1, 3, 0, 0, 0,
    nleit_LegacyKeycodeTranslator, 0, jl_Object, [], 0, 3, 0, nleit_LegacyKeycodeTranslator_$callClinit, 0,
    nlei_PlatformInput$1, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformInput$1_handleEvent$exported$0)],
    nlei_PlatformInput$2, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformInput$2_handleEvent$exported$0)],
    nlei_PlatformInput$3, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformInput$3_handleEvent$exported$0)],
    nlei_PlatformInput$4, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformInput$4_handleEvent$exported$0)],
    nlei_PlatformInput$5, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformInput$5_handleEvent$exported$0)],
    nlei_PlatformInput$6, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformInput$6_handleEvent$exported$0)],
    nlei_PlatformInput$7, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformInput$7_handleEvent$exported$0)],
    nlei_PlatformInput$8, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformInput$8_handleEvent$exported$0)],
    nlei_PlatformInput$9, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformInput$9_handleEvent$exported$0)],
    nlei_PlatformInput$10, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformInput$10_handleEvent$exported$0)],
    nlei_PlatformInput$11, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformInput$11_handleEvent$exported$0)],
    nlei_PlatformInput$KeyboardLayoutIterator, 0, jl_Object, [otj_JSObject], 3, 0, 0, 0, 0,
    nlei_PlatformInput$initHooks$lambda$_3_0, 0, jl_Object, [nlei_PlatformInput$KeyboardLayoutIterator], 0, 3, 0, 0, ["$call$exported$00", $rt_wrapFunction2(nlei_PlatformInput$initHooks$lambda$_3_0_call$exported$0)],
    nlei_PlatformInput$12, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformInput$12_handleEvent$exported$0)],
    nlei_PlatformInput$13, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformInput$13_handleEvent$exported$0)],
    nlei_PlatformInput$14, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformInput$14_handleEvent$exported$0)],
    nlei_PlatformInput$UnloadCallback, 0, jl_Object, [otj_JSObject], 3, 0, 0, 0, 0,
    nlei_PlatformInput$initHooks$lambda$_3_1, 0, jl_Object, [nlei_PlatformInput$UnloadCallback], 0, 3, 0, 0, ["$call$exported$01", $rt_wrapFunction0(nlei_PlatformInput$initHooks$lambda$_3_1_call$exported$0)],
    otjb_TimerHandler, 0, jl_Object, [otj_JSObject], 3, 3, 0, 0, 0,
    nlei_PlatformInput$initHooks$lambda$_3_2, 0, jl_Object, [otjb_TimerHandler], 0, 3, 0, 0, ["$onTimer$exported$0", $rt_wrapFunction0(nlei_PlatformInput$initHooks$lambda$_3_2_onTimer$exported$0)],
    nleo_GLObjectRecycler, 0, jl_Object, [], 1, 3, 0, 0, 0,
    nleo_EaglercraftGPU$1, 0, nleo_GLObjectRecycler, [], 0, 0, 0, 0, 0,
    nleo_EaglercraftGPU$2, 0, nleo_GLObjectRecycler, [], 0, 0, 0, 0, 0,
    nleo_EaglercraftGPU$3, 0, nleo_GLObjectRecycler, [], 0, 0, 0, 0, 0,
    nlei_GLObjectMap, 0, jl_Object, [], 0, 3, 0, 0, 0,
    cch_IntObjectAssociativeContainer, 0, jl_Object, [jl_Iterable], 3, 3, 0, 0, 0,
    cch_IntObjectMap, 0, jl_Object, [cch_IntObjectAssociativeContainer], 3, 3, 0, 0, 0,
    cch_Preallocable, 0, jl_Object, [], 3, 3, 0, 0, 0,
    cch_Accountable, 0, jl_Object, [], 3, 3, 0, 0, 0]);
    $rt_metadata([cch_IntObjectHashMap, 0, jl_Object, [cch_IntObjectMap, cch_Preallocable, jl_Cloneable, cch_Accountable], 0, 3, 0, 0, 0,
    nlei_IBufferGL, 0, jl_Object, [nlei_IObjectGL], 3, 3, 0, 0, 0,
    nleo_SoftGLVertexArray$Attrib, 0, jl_Object, [], 0, 0, 0, 0, 0,
    jl_IllegalStateException, "IllegalStateException", 15, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    nleo_VSHInputLayoutParser, 0, jl_Object, [], 0, 3, 0, 0, 0,
    jt_DateFormatSymbols, 0, jl_Object, [ji_Serializable, jl_Cloneable], 0, 3, 0, 0, 0,
    otjb_Performance, 0, jl_Object, [otj_JSObject], 4, 3, 0, 0, 0,
    nms_RenderBlocks, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_ModelRenderer, 0, jl_Object, [], 0, 3, 0, 0, 0,
    jl_Object$Monitor, 0, jl_Object, [], 0, 0, 0, 0, 0,
    jl_IllegalMonitorStateException, "IllegalMonitorStateException", 15, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    nleit_TeaVMRuntimeDeobfuscator, 0, jl_Object, [], 0, 3, 0, nleit_TeaVMRuntimeDeobfuscator_$callClinit, 0,
    ju_EnumSet, 0, ju_AbstractSet, [jl_Cloneable, ji_Serializable], 1, 3, 0, 0, 0,
    jl_Boolean, 0, jl_Object, [ji_Serializable, jl_Comparable], 0, 3, 0, 0, ["$hashCode0", $rt_wrapFunction0(jl_Boolean_hashCode)],
    nleib_EaglerArrayByteBuffer, "EaglerArrayByteBuffer", 34, nleib_ByteBuffer, [], 0, 3, [0,0,0], 0, 0,
    otjt_ArrayBufferView, 0, jl_Object, [otj_JSObject], 1, 3, 0, 0, 0,
    otjt_Int8Array, 0, otjt_ArrayBufferView, [], 1, 3, 0, 0, 0,
    ju_TemplateCollections$AbstractImmutableSet, 0, ju_AbstractSet, [], 1, 0, 0, 0, 0,
    ju_Collections$1, 0, ju_TemplateCollections$AbstractImmutableSet, [], 0, 0, 0, 0, 0,
    ju_TemplateCollections$AbstractImmutableMap, 0, ju_AbstractMap, [], 1, 0, 0, 0, 0,
    ju_Collections$2, 0, ju_TemplateCollections$AbstractImmutableMap, [], 0, 0, 0, 0, 0,
    ju_TemplateCollections$AbstractImmutableList, 0, ju_AbstractList, [ju_RandomAccess], 1, 0, 0, 0, 0,
    ju_Collections$3, 0, ju_TemplateCollections$AbstractImmutableList, [], 0, 0, 0, 0, 0,
    ju_Iterator, 0, jl_Object, [], 3, 3, 0, 0, 0,
    ju_Collections$4, 0, jl_Object, [ju_Iterator], 0, 0, 0, 0, 0,
    ju_ListIterator, 0, jl_Object, [ju_Iterator], 3, 3, 0, 0, 0,
    ju_Collections$5, 0, jl_Object, [ju_ListIterator], 0, 0, 0, 0, 0,
    ju_Collections$_clinit_$lambda$_59_0, 0, jl_Object, [ju_Comparator], 0, 3, 0, 0, 0,
    nlei_ITextureGL, 0, jl_Object, [nlei_IObjectGL], 3, 3, 0, 0, 0,
    nlei_OpenGLObjects$TextureGL, 0, jl_Object, [nlei_ITextureGL], 0, 0, 0, 0, 0,
    nlei_IRenderbufferGL, 0, jl_Object, [nlei_IObjectGL], 3, 3, 0, 0, 0,
    nlei_OpenGLObjects$RenderbufferGL, 0, jl_Object, [nlei_IRenderbufferGL], 0, 0, 0, 0, 0,
    nlei_OpenGLObjects$BufferGL, 0, jl_Object, [nlei_IBufferGL], 0, 0, 0, 0, 0,
    jl_UnsupportedOperationException, "UnsupportedOperationException", 15, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    nlei_IShaderGL, 0, jl_Object, [nlei_IObjectGL], 3, 3, 0, 0, 0,
    nlei_OpenGLObjects$ShaderGL, 0, jl_Object, [nlei_IShaderGL], 0, 0, 0, 0, 0,
    nlei_IVertexArrayGL, 0, jl_Object, [nlei_IObjectGL], 3, 3, 0, 0, 0,
    nlei_OpenGLObjects$VertexArrayGL, 0, jl_Object, [nlei_IVertexArrayGL], 0, 0, 0, 0, 0,
    nlei_IProgramGL, 0, jl_Object, [nlei_IObjectGL], 3, 3, 0, 0, 0,
    nlei_OpenGLObjects$ProgramGL, 0, jl_Object, [nlei_IProgramGL], 0, 0, 0, 0, 0,
    nlei_IUniformGL, 0, jl_Object, [nlei_IObjectGL], 3, 3, 0, 0, 0,
    nlei_OpenGLObjects$UniformGL, 0, jl_Object, [nlei_IUniformGL], 0, 0, 0, 0, 0,
    nleit_ArrayBufferInputStream, 0, ji_InputStream, [], 0, 3, 0, 0, ["$read0", $rt_wrapFunction0(nleit_ArrayBufferInputStream_read), "$read", $rt_wrapFunction3(nleit_ArrayBufferInputStream_read0), "$skip", $rt_wrapFunction1(nleit_ArrayBufferInputStream_skip)],
    otjt_Uint8Array, 0, otjt_ArrayBufferView, [], 1, 3, 0, 0, 0,
    cjj_InflaterInputStream, 0, ji_FilterInputStream, [], 0, 3, 0, 0, ["$read0", $rt_wrapFunction0(cjj_InflaterInputStream_read0), "$read", $rt_wrapFunction3(cjj_InflaterInputStream_read), "$skip", $rt_wrapFunction1(cjj_InflaterInputStream_skip), "$close", $rt_wrapFunction0(cjj_InflaterInputStream_close)],
    cjj_GZIPInputStream, 0, cjj_InflaterInputStream, [], 0, 3, 0, 0, 0,
    cjj_Checksum, 0, jl_Object, [], 3, 0, 0, 0, 0,
    cjj_CRC32, 0, jl_Object, [cjj_Checksum], 4, 3, 0, 0, ["$update2", $rt_wrapFunction3(cjj_CRC32_update), "$reset0", $rt_wrapFunction0(cjj_CRC32_reset), "$reset1", $rt_wrapFunction1(cjj_CRC32_reset0), "$getValue", $rt_wrapFunction0(cjj_CRC32_getValue)],
    npem_AudioUtils, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nleo_SoftGLVertexArray, 0, jl_Object, [nlei_IVertexArrayGL], 0, 0, 0, 0, 0]);
    $rt_metadata([nleit_IndexedDBFilesystem, 0, jl_Object, [nlei_IEaglerFilesystem], 0, 3, 0, 0, ["$isRamdisk", $rt_wrapFunction0(nleit_IndexedDBFilesystem_isRamdisk), "$eaglerDelete", $rt_wrapFunction1(nleit_IndexedDBFilesystem_eaglerDelete), "$eaglerRead", $rt_wrapFunction1(nleit_IndexedDBFilesystem_eaglerRead), "$eaglerWrite", $rt_wrapFunction2(nleit_IndexedDBFilesystem_eaglerWrite), "$eaglerExists", $rt_wrapFunction1(nleit_IndexedDBFilesystem_eaglerExists), "$eaglerMove", $rt_wrapFunction2(nleit_IndexedDBFilesystem_eaglerMove),
    "$eaglerIterate", $rt_wrapFunction3(nleit_IndexedDBFilesystem_eaglerIterate)],
    ju_SequencedMap, 0, jl_Object, [ju_Map], 3, 3, 0, 0, 0,
    ju_SortedMap, 0, jl_Object, [ju_SequencedMap], 3, 3, 0, 0, 0,
    ju_NavigableMap, 0, jl_Object, [ju_SortedMap], 3, 3, 0, 0, 0,
    ju_TreeMap, 0, ju_AbstractMap, [jl_Cloneable, ji_Serializable, ju_NavigableMap], 0, 3, 0, 0, 0,
    nlei_PlatformInput$16, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformInput$16_handleEvent$exported$0)],
    jl_Thread$UncaughtExceptionHandler, 0, jl_Object, [], 3, 3, 0, 0, 0,
    jl_DefaultUncaughtExceptionHandler, 0, jl_Object, [jl_Thread$UncaughtExceptionHandler], 0, 3, 0, 0, 0,
    oti_AsyncCallback, 0, jl_Object, [], 3, 3, 0, 0, 0,
    otpp_AsyncCallbackWrapper, 0, jl_Object, [oti_AsyncCallback], 0, 0, 0, 0, ["$complete", $rt_wrapFunction1(otpp_AsyncCallbackWrapper_complete), "$error", $rt_wrapFunction1(otpp_AsyncCallbackWrapper_error)],
    otp_PlatformRunnable, 0, jl_Object, [], 3, 3, 0, 0, 0,
    otr_EventQueue$Event, 0, jl_Object, [], 3, 3, 0, 0, 0,
    jl_ThreadInterruptHandler, 0, jl_Object, [], 3, 3, 0, 0, 0,
    jl_Thread$SleepHandler, 0, jl_Object, [otp_PlatformRunnable, otr_EventQueue$Event, jl_ThreadInterruptHandler], 0, 0, 0, 0, ["$run", $rt_wrapFunction0(jl_Thread$SleepHandler_run)],
    nleit_MessageChannel, 0, jl_Object, [otj_JSObject], 1, 3, 0, 0, 0,
    nlei_PlatformRuntime$6, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformRuntime$6_handleEvent$exported$0)],
    nlei_PlatformRuntime$checkImmediateContinueSupport0$lambda$_51_0, 0, jl_Object, [jl_Runnable], 0, 3, 0, 0, ["$run", $rt_wrapFunction0(nlei_PlatformRuntime$checkImmediateContinueSupport0$lambda$_51_0_run)],
    nle_EaglercraftUUID, 0, jl_Object, [jl_Comparable], 0, 3, 0, 0, 0,
    nleit_ImmediateContinue, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nlei_PlatformRuntime$7, 0, jl_Object, [nleit_ImmediateContinue], 0, 0, 0, 0, ["$isValidToken", $rt_wrapFunction1(nlei_PlatformRuntime$7_isValidToken), "$execute", $rt_wrapFunction0(nlei_PlatformRuntime$7_execute)],
    nleit_LegacyKeycodeTranslator$LegacyKeycode, "LegacyKeycodeTranslator$LegacyKeycode", 32, jl_Object, [], 0, 3, 0, 0, ["$equals", $rt_wrapFunction1(nleit_LegacyKeycodeTranslator$LegacyKeycode_equals)],
    nms_EnumOS, "EnumOS", 28, jl_Enum, [], 12, 3, 0, nms_EnumOS_$callClinit, 0,
    nleo_VSHInputLayoutParser$ShaderLayoutParseException, "VSHInputLayoutParser$ShaderLayoutParseException", 36, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    jl_IllegalArgumentException, "IllegalArgumentException", 15, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    jl_NumberFormatException, "NumberFormatException", 15, jl_IllegalArgumentException, [], 0, 3, 0, 0, 0,
    nleo_VSHInputLayoutParser$ShaderInput, "VSHInputLayoutParser$ShaderInput", 36, jl_Object, [], 0, 3, 0, 0, 0,
    nlev_Matrix, 0, jl_Object, [ji_Serializable], 1, 3, 0, 0, 0,
    nlev_Matrix4f, 0, nlev_Matrix, [ji_Serializable], 0, 3, 0, 0, 0,
    nlev_ReadableVector, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nlev_Vector, 0, jl_Object, [ji_Serializable, nlev_ReadableVector], 1, 3, 0, 0, 0,
    nlev_ReadableVector2f, 0, jl_Object, [nlev_ReadableVector], 3, 3, 0, 0, 0,
    nlev_ReadableVector3f, 0, jl_Object, [nlev_ReadableVector2f], 3, 3, 0, 0, 0,
    nlev_ReadableVector4f, 0, jl_Object, [nlev_ReadableVector3f], 3, 3, 0, 0, 0,
    nlev_WritableVector2f, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nlev_WritableVector3f, 0, jl_Object, [nlev_WritableVector2f], 3, 3, 0, 0, 0,
    nlev_WritableVector4f, 0, jl_Object, [nlev_WritableVector3f], 3, 3, 0, 0, 0,
    nlev_Vector4f, 0, nlev_Vector, [ji_Serializable, nlev_ReadableVector4f, nlev_WritableVector4f], 0, 3, 0, 0, 0,
    otciu_CLDRHelper, 0, jl_Object, [], 4, 3, 0, 0, 0,
    otpp_ResourceAccessor, 0, jl_Object, [], 4, 0, 0, 0, 0,
    nms_StepSound, 0, jl_Object, [], 0, 3, 0, 0, ["$func_1146_a", $rt_wrapFunction0(nms_StepSound_func_1146_a)],
    nms_StepSoundStone, 0, nms_StepSound, [], 4, 0, 0, 0, ["$func_1146_a", $rt_wrapFunction0(nms_StepSoundStone_func_1146_a)],
    nms_StepSoundSand, 0, nms_StepSound, [], 4, 0, 0, 0, ["$func_1146_a", $rt_wrapFunction0(nms_StepSoundSand_func_1146_a)],
    nms_BlockStone, "BlockStone", 28, nms_Block, [], 0, 3, 0, 0, ["$idDropped", $rt_wrapFunction2(nms_BlockStone_idDropped)],
    nms_BlockGrass, "BlockGrass", 28, nms_Block, [], 0, 3, 0, 0, ["$getBlockTexture", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockGrass_getBlockTexture(this, var_1, var_2, var_3, var_4, var_5); }, "$colorMultiplier", $rt_wrapFunction4(nms_BlockGrass_colorMultiplier), "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockGrass_updateTick(this, var_1, var_2, var_3, var_4, var_5); }, "$idDropped", $rt_wrapFunction2(nms_BlockGrass_idDropped)],
    nms_BlockDirt, "BlockDirt", 28, nms_Block, [], 0, 3, 0, 0, 0,
    nms_Material, 0, jl_Object, [], 0, 3, 0, nms_Material_$callClinit, ["$getIsLiquid", $rt_wrapFunction0(nms_Material_getIsLiquid), "$isSolid", $rt_wrapFunction0(nms_Material_isSolid), "$getCanBlockGrass", $rt_wrapFunction0(nms_Material_getCanBlockGrass), "$getIsSolid", $rt_wrapFunction0(nms_Material_getIsSolid)],
    nms_BlockFlower, "BlockFlower", 28, nms_Block, [], 0, 3, 0, 0, ["$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockFlower_canPlaceBlockAt), "$canThisPlantGrowOnThisBlockID", $rt_wrapFunction1(nms_BlockFlower_canThisPlantGrowOnThisBlockID), "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockFlower_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockFlower_updateTick(this, var_1, var_2, var_3, var_4,
    var_5); }, "$canBlockStay", $rt_wrapFunction4(nms_BlockFlower_canBlockStay), "$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockFlower_getCollisionBoundingBoxFromPool), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockFlower_isOpaqueCube), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockFlower_renderAsNormalBlock), "$getRenderType", $rt_wrapFunction0(nms_BlockFlower_getRenderType)],
    nms_BlockSapling, "BlockSapling", 28, nms_BlockFlower, [], 0, 3, 0, 0, ["$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockSapling_updateTick(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockFluids, 0, nms_Block, [], 1, 3, 0, 0, ["$getBlockTextureFromSide", $rt_wrapFunction1(nms_BlockFluids_getBlockTextureFromSide), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockFluids_renderAsNormalBlock), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockFluids_isOpaqueCube), "$canCollideCheck", $rt_wrapFunction2(nms_BlockFluids_canCollideCheck), "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockFluids_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5);
    }, "$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockFluids_getCollisionBoundingBoxFromPool), "$getRenderType", $rt_wrapFunction0(nms_BlockFluids_getRenderType), "$idDropped", $rt_wrapFunction2(nms_BlockFluids_idDropped), "$quantityDropped", $rt_wrapFunction1(nms_BlockFluids_quantityDropped), "$velocityToAddToEntity", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_BlockFluids_velocityToAddToEntity(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$getBlockBrightness", $rt_wrapFunction4(nms_BlockFluids_getBlockBrightness),
    "$getRenderBlockPass", $rt_wrapFunction0(nms_BlockFluids_getRenderBlockPass), "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockFluids_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockAdded", $rt_wrapFunction4(nms_BlockFluids_onBlockAdded), "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockFluids_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockFlowing, "BlockFlowing", 28, nms_BlockFluids, [], 0, 3, 0, 0, ["$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockFlowing_updateTick(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockAdded", $rt_wrapFunction4(nms_BlockFlowing_onBlockAdded)]]);
    $rt_metadata([nms_BlockStationary, "BlockStationary", 28, nms_BlockFluids, [], 0, 3, 0, 0, ["$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockStationary_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockStationary_updateTick(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockSand, "BlockSand", 28, nms_Block, [], 0, 3, 0, 0, ["$onBlockAdded", $rt_wrapFunction4(nms_BlockSand_onBlockAdded), "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockSand_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockSand_updateTick(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockGravel, "BlockGravel", 28, nms_BlockSand, [], 0, 3, 0, 0, ["$idDropped", $rt_wrapFunction2(nms_BlockGravel_idDropped)],
    nms_BlockOre, "BlockOre", 28, nms_Block, [], 0, 3, 0, 0, ["$idDropped", $rt_wrapFunction2(nms_BlockOre_idDropped), "$quantityDropped", $rt_wrapFunction1(nms_BlockOre_quantityDropped), "$damageDropped", $rt_wrapFunction1(nms_BlockOre_damageDropped)],
    nms_BlockLog, "BlockLog", 28, nms_Block, [], 0, 3, 0, 0, ["$quantityDropped", $rt_wrapFunction1(nms_BlockLog_quantityDropped), "$idDropped", $rt_wrapFunction2(nms_BlockLog_idDropped), "$harvestBlock", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_BlockLog_harvestBlock(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$onBlockRemoval", $rt_wrapFunction4(nms_BlockLog_onBlockRemoval), "$getBlockTextureFromSideAndMetadata", $rt_wrapFunction2(nms_BlockLog_getBlockTextureFromSideAndMetadata), "$damageDropped",
    $rt_wrapFunction1(nms_BlockLog_damageDropped)],
    nms_BlockLeavesBase, 0, nms_Block, [], 0, 3, 0, 0, ["$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockLeavesBase_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockLeaves, "BlockLeaves", 28, nms_BlockLeavesBase, [], 0, 3, 0, 0, ["$colorMultiplier", $rt_wrapFunction4(nms_BlockLeaves_colorMultiplier), "$onBlockRemoval", $rt_wrapFunction4(nms_BlockLeaves_onBlockRemoval), "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockLeaves_updateTick(this, var_1, var_2, var_3, var_4, var_5); }, "$quantityDropped", $rt_wrapFunction1(nms_BlockLeaves_quantityDropped), "$idDropped", $rt_wrapFunction2(nms_BlockLeaves_idDropped), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockLeaves_isOpaqueCube),
    "$getBlockTextureFromSideAndMetadata", $rt_wrapFunction2(nms_BlockLeaves_getBlockTextureFromSideAndMetadata), "$onEntityWalking", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockLeaves_onEntityWalking(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockSponge, "BlockSponge", 28, nms_Block, [], 0, 3, 0, 0, ["$onBlockAdded", $rt_wrapFunction4(nms_BlockSponge_onBlockAdded), "$onBlockRemoval", $rt_wrapFunction4(nms_BlockSponge_onBlockRemoval)],
    nms_BlockBreakable, 0, nms_Block, [], 0, 3, 0, 0, ["$isOpaqueCube", $rt_wrapFunction0(nms_BlockBreakable_isOpaqueCube), "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockBreakable_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockGlass, "BlockGlass", 28, nms_BlockBreakable, [], 0, 3, 0, 0, ["$quantityDropped", $rt_wrapFunction1(nms_BlockGlass_quantityDropped)],
    nms_BlockContainer, 0, nms_Block, [], 1, 3, 0, 0, ["$onBlockAdded", $rt_wrapFunction4(nms_BlockContainer_onBlockAdded), "$onBlockRemoval", $rt_wrapFunction4(nms_BlockContainer_onBlockRemoval)],
    nms_BlockDispenser, "BlockDispenser", 28, nms_BlockContainer, [], 0, 3, 0, 0, ["$idDropped", $rt_wrapFunction2(nms_BlockDispenser_idDropped), "$onBlockAdded", $rt_wrapFunction4(nms_BlockDispenser_onBlockAdded), "$getBlockTexture", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockDispenser_getBlockTexture(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockTextureFromSide", $rt_wrapFunction1(nms_BlockDispenser_getBlockTextureFromSide), "$blockActivated", function(var_1, var_2, var_3, var_4,
    var_5) { return nms_BlockDispenser_blockActivated(this, var_1, var_2, var_3, var_4, var_5); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockDispenser_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockDispenser_updateTick(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockEntity", $rt_wrapFunction0(nms_BlockDispenser_getBlockEntity), "$onBlockPlacedBy", function(var_1, var_2, var_3,
    var_4, var_5) { nms_BlockDispenser_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockSandStone, "BlockSandStone", 28, nms_Block, [], 0, 3, 0, 0, ["$getBlockTextureFromSide", $rt_wrapFunction1(nms_BlockSandStone_getBlockTextureFromSide)],
    nms_BlockNote, "BlockNote", 28, nms_BlockContainer, [], 0, 3, 0, 0, ["$getBlockTextureFromSide", $rt_wrapFunction1(nms_BlockNote_getBlockTextureFromSide), "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockNote_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$blockActivated", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockNote_blockActivated(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockClicked", function(var_1, var_2, var_3, var_4,
    var_5) { nms_BlockNote_onBlockClicked(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockEntity", $rt_wrapFunction0(nms_BlockNote_getBlockEntity), "$playBlock", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_BlockNote_playBlock(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_BlockBed, "BlockBed", 28, nms_Block, [], 0, 3, 0, 0, ["$blockActivated", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockBed_blockActivated(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockTextureFromSideAndMetadata", $rt_wrapFunction2(nms_BlockBed_getBlockTextureFromSideAndMetadata), "$getRenderType", $rt_wrapFunction0(nms_BlockBed_getRenderType), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockBed_renderAsNormalBlock), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockBed_isOpaqueCube),
    "$setBlockBoundsBasedOnState", $rt_wrapFunction4(nms_BlockBed_setBlockBoundsBasedOnState), "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockBed_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$idDropped", $rt_wrapFunction2(nms_BlockBed_idDropped)],
    nms_BlockCloth, "BlockCloth", 28, nms_Block, [], 0, 3, 0, 0, ["$getBlockTextureFromSideAndMetadata", $rt_wrapFunction2(nms_BlockCloth_getBlockTextureFromSideAndMetadata), "$damageDropped", $rt_wrapFunction1(nms_BlockCloth_damageDropped)],
    nms_BlockMushroom, "BlockMushroom", 28, nms_BlockFlower, [], 0, 3, 0, 0, ["$canThisPlantGrowOnThisBlockID", $rt_wrapFunction1(nms_BlockMushroom_canThisPlantGrowOnThisBlockID), "$canBlockStay", $rt_wrapFunction4(nms_BlockMushroom_canBlockStay)],
    nms_BlockOreBlock, "BlockOreBlock", 28, nms_Block, [], 0, 3, 0, 0, ["$getBlockTextureFromSide", $rt_wrapFunction1(nms_BlockOreBlock_getBlockTextureFromSide)],
    nms_BlockStep, "BlockStep", 28, nms_Block, [], 0, 3, 0, nms_BlockStep_$callClinit, ["$getBlockTextureFromSideAndMetadata", $rt_wrapFunction2(nms_BlockStep_getBlockTextureFromSideAndMetadata), "$getBlockTextureFromSide", $rt_wrapFunction1(nms_BlockStep_getBlockTextureFromSide), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockStep_isOpaqueCube), "$onBlockAdded", $rt_wrapFunction4(nms_BlockStep_onBlockAdded), "$idDropped", $rt_wrapFunction2(nms_BlockStep_idDropped), "$quantityDropped", $rt_wrapFunction1(nms_BlockStep_quantityDropped),
    "$damageDropped", $rt_wrapFunction1(nms_BlockStep_damageDropped), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockStep_renderAsNormalBlock), "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockStep_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockTNT, "BlockTNT", 28, nms_Block, [], 0, 3, 0, 0, ["$getBlockTextureFromSide", $rt_wrapFunction1(nms_BlockTNT_getBlockTextureFromSide), "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockTNT_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$quantityDropped", $rt_wrapFunction1(nms_BlockTNT_quantityDropped), "$onBlockDestroyedByExplosion", $rt_wrapFunction4(nms_BlockTNT_onBlockDestroyedByExplosion), "$onBlockDestroyedByPlayer", function(var_1, var_2,
    var_3, var_4, var_5) { nms_BlockTNT_onBlockDestroyedByPlayer(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockBookshelf, "BlockBookshelf", 28, nms_Block, [], 0, 3, 0, 0, ["$getBlockTextureFromSide", $rt_wrapFunction1(nms_BlockBookshelf_getBlockTextureFromSide), "$quantityDropped", $rt_wrapFunction1(nms_BlockBookshelf_quantityDropped)],
    nms_BlockObsidian, "BlockObsidian", 28, nms_BlockStone, [], 0, 3, 0, 0, ["$quantityDropped", $rt_wrapFunction1(nms_BlockObsidian_quantityDropped), "$idDropped", $rt_wrapFunction2(nms_BlockObsidian_idDropped)],
    nms_BlockTorch, "BlockTorch", 28, nms_Block, [], 0, 3, 0, 0, ["$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockTorch_getCollisionBoundingBoxFromPool), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockTorch_isOpaqueCube), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockTorch_renderAsNormalBlock), "$getRenderType", $rt_wrapFunction0(nms_BlockTorch_getRenderType), "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockTorch_canPlaceBlockAt), "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5)
    { nms_BlockTorch_onBlockPlaced(this, var_1, var_2, var_3, var_4, var_5); }, "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockTorch_updateTick(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockAdded", $rt_wrapFunction4(nms_BlockTorch_onBlockAdded), "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockTorch_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$collisionRayTrace", function(var_1, var_2, var_3, var_4, var_5, var_6) { return nms_BlockTorch_collisionRayTrace(this,
    var_1, var_2, var_3, var_4, var_5, var_6); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockTorch_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockFire, "BlockFire", 28, nms_Block, [], 0, 3, 0, 0, ["$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockFire_getCollisionBoundingBoxFromPool), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockFire_isOpaqueCube), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockFire_renderAsNormalBlock), "$getRenderType", $rt_wrapFunction0(nms_BlockFire_getRenderType), "$quantityDropped", $rt_wrapFunction1(nms_BlockFire_quantityDropped), "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockFire_updateTick(this,
    var_1, var_2, var_3, var_4, var_5); }, "$isCollidable", $rt_wrapFunction0(nms_BlockFire_isCollidable), "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockFire_canPlaceBlockAt), "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockFire_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockAdded", $rt_wrapFunction4(nms_BlockFire_onBlockAdded), "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockFire_randomDisplayTick(this, var_1, var_2,
    var_3, var_4, var_5); }],
    nms_BlockMobSpawner, "BlockMobSpawner", 28, nms_BlockContainer, [], 0, 3, 0, 0, ["$getBlockEntity", $rt_wrapFunction0(nms_BlockMobSpawner_getBlockEntity), "$idDropped", $rt_wrapFunction2(nms_BlockMobSpawner_idDropped), "$quantityDropped", $rt_wrapFunction1(nms_BlockMobSpawner_quantityDropped), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockMobSpawner_isOpaqueCube)],
    nms_BlockStairs, "BlockStairs", 28, nms_Block, [], 0, 3, 0, 0, ["$setBlockBoundsBasedOnState", $rt_wrapFunction4(nms_BlockStairs_setBlockBoundsBasedOnState), "$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockStairs_getCollisionBoundingBoxFromPool), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockStairs_isOpaqueCube), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockStairs_renderAsNormalBlock), "$getRenderType", $rt_wrapFunction0(nms_BlockStairs_getRenderType), "$shouldSideBeRendered", function(var_1,
    var_2, var_3, var_4, var_5) { return nms_BlockStairs_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }, "$getCollidingBoundingBoxes", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_BlockStairs_getCollidingBoundingBoxes(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockStairs_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockClicked", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockStairs_onBlockClicked(this,
    var_1, var_2, var_3, var_4, var_5); }, "$onBlockDestroyedByPlayer", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockStairs_onBlockDestroyedByPlayer(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockBrightness", $rt_wrapFunction4(nms_BlockStairs_getBlockBrightness), "$getExplosionResistance", $rt_wrapFunction1(nms_BlockStairs_getExplosionResistance), "$getRenderBlockPass", $rt_wrapFunction0(nms_BlockStairs_getRenderBlockPass), "$idDropped", $rt_wrapFunction2(nms_BlockStairs_idDropped), "$quantityDropped",
    $rt_wrapFunction1(nms_BlockStairs_quantityDropped), "$getBlockTextureFromSideAndMetadata", $rt_wrapFunction2(nms_BlockStairs_getBlockTextureFromSideAndMetadata), "$getBlockTextureFromSide", $rt_wrapFunction1(nms_BlockStairs_getBlockTextureFromSide), "$getBlockTexture", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockStairs_getBlockTexture(this, var_1, var_2, var_3, var_4, var_5); }, "$getSelectedBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockStairs_getSelectedBoundingBoxFromPool), "$velocityToAddToEntity",
    function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_BlockStairs_velocityToAddToEntity(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$isCollidable", $rt_wrapFunction0(nms_BlockStairs_isCollidable), "$canCollideCheck", $rt_wrapFunction2(nms_BlockStairs_canCollideCheck), "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockStairs_canPlaceBlockAt), "$onBlockAdded", $rt_wrapFunction4(nms_BlockStairs_onBlockAdded), "$onBlockRemoval", $rt_wrapFunction4(nms_BlockStairs_onBlockRemoval), "$dropBlockAsItemWithChance",
    function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_BlockStairs_dropBlockAsItemWithChance(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$dropBlockAsItem", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockStairs_dropBlockAsItem(this, var_1, var_2, var_3, var_4, var_5); }, "$onEntityWalking", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockStairs_onEntityWalking(this, var_1, var_2, var_3, var_4, var_5); }, "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockStairs_updateTick(this,
    var_1, var_2, var_3, var_4, var_5); }, "$blockActivated", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockStairs_blockActivated(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockDestroyedByExplosion", $rt_wrapFunction4(nms_BlockStairs_onBlockDestroyedByExplosion), "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockStairs_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockChest, "BlockChest", 28, nms_BlockContainer, [], 0, 3, 0, 0, ["$getBlockTexture", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockChest_getBlockTexture(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockTextureFromSide", $rt_wrapFunction1(nms_BlockChest_getBlockTextureFromSide), "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockChest_canPlaceBlockAt), "$onBlockRemoval", $rt_wrapFunction4(nms_BlockChest_onBlockRemoval), "$blockActivated", function(var_1, var_2, var_3, var_4, var_5)
    { return nms_BlockChest_blockActivated(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockEntity", $rt_wrapFunction0(nms_BlockChest_getBlockEntity)],
    nms_BlockRedstoneWire, "BlockRedstoneWire", 28, nms_Block, [], 0, 3, 0, 0, ["$getBlockTextureFromSideAndMetadata", $rt_wrapFunction2(nms_BlockRedstoneWire_getBlockTextureFromSideAndMetadata), "$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockRedstoneWire_getCollisionBoundingBoxFromPool), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockRedstoneWire_isOpaqueCube), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockRedstoneWire_renderAsNormalBlock), "$getRenderType", $rt_wrapFunction0(nms_BlockRedstoneWire_getRenderType),
    "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockRedstoneWire_canPlaceBlockAt), "$onBlockAdded", $rt_wrapFunction4(nms_BlockRedstoneWire_onBlockAdded), "$onBlockRemoval", $rt_wrapFunction4(nms_BlockRedstoneWire_onBlockRemoval), "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockRedstoneWire_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$idDropped", $rt_wrapFunction2(nms_BlockRedstoneWire_idDropped), "$isIndirectlyPoweringTo", function(var_1, var_2, var_3,
    var_4, var_5) { return nms_BlockRedstoneWire_isIndirectlyPoweringTo(this, var_1, var_2, var_3, var_4, var_5); }, "$isPoweringTo", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockRedstoneWire_isPoweringTo(this, var_1, var_2, var_3, var_4, var_5); }, "$canProvidePower", $rt_wrapFunction0(nms_BlockRedstoneWire_canProvidePower), "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockRedstoneWire_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockWorkbench, "BlockWorkbench", 28, nms_Block, [], 0, 3, 0, 0, ["$getBlockTextureFromSide", $rt_wrapFunction1(nms_BlockWorkbench_getBlockTextureFromSide), "$blockActivated", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockWorkbench_blockActivated(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockCrops, "BlockCrops", 28, nms_BlockFlower, [], 0, 3, 0, 0, ["$canThisPlantGrowOnThisBlockID", $rt_wrapFunction1(nms_BlockCrops_canThisPlantGrowOnThisBlockID), "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockCrops_updateTick(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockTextureFromSideAndMetadata", $rt_wrapFunction2(nms_BlockCrops_getBlockTextureFromSideAndMetadata), "$getRenderType", $rt_wrapFunction0(nms_BlockCrops_getRenderType), "$onBlockDestroyedByPlayer", function(var_1,
    var_2, var_3, var_4, var_5) { nms_BlockCrops_onBlockDestroyedByPlayer(this, var_1, var_2, var_3, var_4, var_5); }, "$idDropped", $rt_wrapFunction2(nms_BlockCrops_idDropped), "$quantityDropped", $rt_wrapFunction1(nms_BlockCrops_quantityDropped)],
    nms_BlockSoil, "BlockSoil", 28, nms_Block, [], 0, 3, 0, 0, ["$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockSoil_getCollisionBoundingBoxFromPool), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockSoil_isOpaqueCube), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockSoil_renderAsNormalBlock), "$getBlockTextureFromSideAndMetadata", $rt_wrapFunction2(nms_BlockSoil_getBlockTextureFromSideAndMetadata), "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockSoil_updateTick(this, var_1,
    var_2, var_3, var_4, var_5); }, "$onEntityWalking", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockSoil_onEntityWalking(this, var_1, var_2, var_3, var_4, var_5); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockSoil_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$idDropped", $rt_wrapFunction2(nms_BlockSoil_idDropped)],
    nms_BlockFurnace, "BlockFurnace", 28, nms_BlockContainer, [], 0, 3, 0, 0, ["$idDropped", $rt_wrapFunction2(nms_BlockFurnace_idDropped), "$onBlockAdded", $rt_wrapFunction4(nms_BlockFurnace_onBlockAdded), "$getBlockTexture", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockFurnace_getBlockTexture(this, var_1, var_2, var_3, var_4, var_5); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockFurnace_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockTextureFromSide",
    $rt_wrapFunction1(nms_BlockFurnace_getBlockTextureFromSide), "$blockActivated", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockFurnace_blockActivated(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockEntity", $rt_wrapFunction0(nms_BlockFurnace_getBlockEntity), "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockFurnace_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockSign, "BlockSign", 28, nms_BlockContainer, [], 0, 3, 0, 0, ["$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockSign_getCollisionBoundingBoxFromPool), "$getSelectedBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockSign_getSelectedBoundingBoxFromPool), "$setBlockBoundsBasedOnState", $rt_wrapFunction4(nms_BlockSign_setBlockBoundsBasedOnState), "$getRenderType", $rt_wrapFunction0(nms_BlockSign_getRenderType), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockSign_renderAsNormalBlock), "$isOpaqueCube",
    $rt_wrapFunction0(nms_BlockSign_isOpaqueCube), "$getBlockEntity", $rt_wrapFunction0(nms_BlockSign_getBlockEntity), "$idDropped", $rt_wrapFunction2(nms_BlockSign_idDropped), "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockSign_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_TileEntity, "TileEntity", 28, jl_Object, [], 0, 3, 0, nms_TileEntity_$callClinit, ["$readFromNBT", $rt_wrapFunction1(nms_TileEntity_readFromNBT), "$writeToNBT", $rt_wrapFunction1(nms_TileEntity_writeToNBT), "$updateEntity", $rt_wrapFunction0(nms_TileEntity_updateEntity), "$onInventoryChanged", $rt_wrapFunction0(nms_TileEntity_onInventoryChanged)],
    nms_TileEntitySign, "TileEntitySign", 28, nms_TileEntity, [], 0, 3, 0, 0, ["$writeToNBT", $rt_wrapFunction1(nms_TileEntitySign_writeToNBT), "$readFromNBT", $rt_wrapFunction1(nms_TileEntitySign_readFromNBT)],
    nms_BlockDoor, "BlockDoor", 28, nms_Block, [], 0, 3, 0, 0, ["$getBlockTextureFromSideAndMetadata", $rt_wrapFunction2(nms_BlockDoor_getBlockTextureFromSideAndMetadata), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockDoor_isOpaqueCube), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockDoor_renderAsNormalBlock), "$getRenderType", $rt_wrapFunction0(nms_BlockDoor_getRenderType), "$getSelectedBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockDoor_getSelectedBoundingBoxFromPool), "$getCollisionBoundingBoxFromPool",
    $rt_wrapFunction4(nms_BlockDoor_getCollisionBoundingBoxFromPool), "$setBlockBoundsBasedOnState", $rt_wrapFunction4(nms_BlockDoor_setBlockBoundsBasedOnState), "$onBlockClicked", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockDoor_onBlockClicked(this, var_1, var_2, var_3, var_4, var_5); }, "$blockActivated", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockDoor_blockActivated(this, var_1, var_2, var_3, var_4, var_5); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5)
    { nms_BlockDoor_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$idDropped", $rt_wrapFunction2(nms_BlockDoor_idDropped), "$collisionRayTrace", function(var_1, var_2, var_3, var_4, var_5, var_6) { return nms_BlockDoor_collisionRayTrace(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockDoor_canPlaceBlockAt)],
    nms_BlockLadder, "BlockLadder", 28, nms_Block, [], 0, 3, 0, 0, ["$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockLadder_getCollisionBoundingBoxFromPool), "$getSelectedBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockLadder_getSelectedBoundingBoxFromPool), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockLadder_isOpaqueCube), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockLadder_renderAsNormalBlock), "$getRenderType", $rt_wrapFunction0(nms_BlockLadder_getRenderType), "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockLadder_canPlaceBlockAt),
    "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockLadder_onBlockPlaced(this, var_1, var_2, var_3, var_4, var_5); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockLadder_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$quantityDropped", $rt_wrapFunction1(nms_BlockLadder_quantityDropped)],
    nms_BlockMinecartTrack, "BlockMinecartTrack", 28, nms_Block, [], 0, 3, 0, 0, ["$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockMinecartTrack_getCollisionBoundingBoxFromPool), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockMinecartTrack_isOpaqueCube), "$collisionRayTrace", function(var_1, var_2, var_3, var_4, var_5, var_6) { return nms_BlockMinecartTrack_collisionRayTrace(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$setBlockBoundsBasedOnState", $rt_wrapFunction4(nms_BlockMinecartTrack_setBlockBoundsBasedOnState),
    "$getBlockTextureFromSideAndMetadata", $rt_wrapFunction2(nms_BlockMinecartTrack_getBlockTextureFromSideAndMetadata), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockMinecartTrack_renderAsNormalBlock), "$getRenderType", $rt_wrapFunction0(nms_BlockMinecartTrack_getRenderType), "$quantityDropped", $rt_wrapFunction1(nms_BlockMinecartTrack_quantityDropped), "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockMinecartTrack_canPlaceBlockAt), "$onBlockAdded", $rt_wrapFunction4(nms_BlockMinecartTrack_onBlockAdded),
    "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockMinecartTrack_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockLever, "BlockLever", 28, nms_Block, [], 0, 3, 0, 0, ["$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockLever_getCollisionBoundingBoxFromPool), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockLever_isOpaqueCube), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockLever_renderAsNormalBlock), "$getRenderType", $rt_wrapFunction0(nms_BlockLever_getRenderType), "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockLever_canPlaceBlockAt), "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5)
    { nms_BlockLever_onBlockPlaced(this, var_1, var_2, var_3, var_4, var_5); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockLever_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$setBlockBoundsBasedOnState", $rt_wrapFunction4(nms_BlockLever_setBlockBoundsBasedOnState), "$onBlockClicked", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockLever_onBlockClicked(this, var_1, var_2, var_3, var_4, var_5); }, "$blockActivated", function(var_1, var_2, var_3,
    var_4, var_5) { return nms_BlockLever_blockActivated(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockRemoval", $rt_wrapFunction4(nms_BlockLever_onBlockRemoval), "$isPoweringTo", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockLever_isPoweringTo(this, var_1, var_2, var_3, var_4, var_5); }, "$isIndirectlyPoweringTo", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockLever_isIndirectlyPoweringTo(this, var_1, var_2, var_3, var_4, var_5); }, "$canProvidePower", $rt_wrapFunction0(nms_BlockLever_canProvidePower)],
    nms_BlockPressurePlate, "BlockPressurePlate", 28, nms_Block, [], 0, 3, 0, 0, ["$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockPressurePlate_getCollisionBoundingBoxFromPool), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockPressurePlate_isOpaqueCube), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockPressurePlate_renderAsNormalBlock), "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockPressurePlate_canPlaceBlockAt), "$onBlockAdded", $rt_wrapFunction4(nms_BlockPressurePlate_onBlockAdded), "$onNeighborBlockChange",
    function(var_1, var_2, var_3, var_4, var_5) { nms_BlockPressurePlate_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockPressurePlate_updateTick(this, var_1, var_2, var_3, var_4, var_5); }, "$onEntityCollidedWithBlock", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockPressurePlate_onEntityCollidedWithBlock(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockRemoval", $rt_wrapFunction4(nms_BlockPressurePlate_onBlockRemoval),
    "$setBlockBoundsBasedOnState", $rt_wrapFunction4(nms_BlockPressurePlate_setBlockBoundsBasedOnState), "$isPoweringTo", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockPressurePlate_isPoweringTo(this, var_1, var_2, var_3, var_4, var_5); }, "$isIndirectlyPoweringTo", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockPressurePlate_isIndirectlyPoweringTo(this, var_1, var_2, var_3, var_4, var_5); }, "$canProvidePower", $rt_wrapFunction0(nms_BlockPressurePlate_canProvidePower), "$setBlockBoundsForItemRender",
    $rt_wrapFunction0(nms_BlockPressurePlate_setBlockBoundsForItemRender)],
    nms_EnumMobType, "EnumMobType", 28, jl_Enum, [], 12, 3, 0, nms_EnumMobType_$callClinit, 0,
    nms_BlockRedstoneOre, "BlockRedstoneOre", 28, nms_Block, [], 0, 3, 0, 0, ["$onBlockClicked", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockRedstoneOre_onBlockClicked(this, var_1, var_2, var_3, var_4, var_5); }, "$onEntityWalking", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockRedstoneOre_onEntityWalking(this, var_1, var_2, var_3, var_4, var_5); }, "$blockActivated", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockRedstoneOre_blockActivated(this, var_1, var_2, var_3, var_4,
    var_5); }, "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockRedstoneOre_updateTick(this, var_1, var_2, var_3, var_4, var_5); }, "$idDropped", $rt_wrapFunction2(nms_BlockRedstoneOre_idDropped), "$quantityDropped", $rt_wrapFunction1(nms_BlockRedstoneOre_quantityDropped), "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockRedstoneOre_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockRedstoneTorch, "BlockRedstoneTorch", 28, nms_BlockTorch, [], 0, 3, 0, 0, ["$getBlockTextureFromSideAndMetadata", $rt_wrapFunction2(nms_BlockRedstoneTorch_getBlockTextureFromSideAndMetadata), "$onBlockAdded", $rt_wrapFunction4(nms_BlockRedstoneTorch_onBlockAdded), "$onBlockRemoval", $rt_wrapFunction4(nms_BlockRedstoneTorch_onBlockRemoval), "$isPoweringTo", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockRedstoneTorch_isPoweringTo(this, var_1, var_2, var_3, var_4, var_5); }, "$updateTick0",
    function(var_1, var_2, var_3, var_4, var_5) { nms_BlockRedstoneTorch_updateTick(this, var_1, var_2, var_3, var_4, var_5); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockRedstoneTorch_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$isIndirectlyPoweringTo", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockRedstoneTorch_isIndirectlyPoweringTo(this, var_1, var_2, var_3, var_4, var_5); }, "$idDropped", $rt_wrapFunction2(nms_BlockRedstoneTorch_idDropped),
    "$canProvidePower", $rt_wrapFunction0(nms_BlockRedstoneTorch_canProvidePower), "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockRedstoneTorch_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockButton, "BlockButton", 28, nms_Block, [], 0, 3, 0, 0, ["$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockButton_getCollisionBoundingBoxFromPool), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockButton_isOpaqueCube), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockButton_renderAsNormalBlock), "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockButton_canPlaceBlockAt), "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockButton_onBlockPlaced(this, var_1, var_2, var_3, var_4,
    var_5); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockButton_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$setBlockBoundsBasedOnState", $rt_wrapFunction4(nms_BlockButton_setBlockBoundsBasedOnState), "$onBlockClicked", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockButton_onBlockClicked(this, var_1, var_2, var_3, var_4, var_5); }, "$blockActivated", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockButton_blockActivated(this,
    var_1, var_2, var_3, var_4, var_5); }, "$onBlockRemoval", $rt_wrapFunction4(nms_BlockButton_onBlockRemoval), "$isPoweringTo", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockButton_isPoweringTo(this, var_1, var_2, var_3, var_4, var_5); }, "$isIndirectlyPoweringTo", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockButton_isIndirectlyPoweringTo(this, var_1, var_2, var_3, var_4, var_5); }, "$canProvidePower", $rt_wrapFunction0(nms_BlockButton_canProvidePower), "$updateTick0", function(var_1,
    var_2, var_3, var_4, var_5) { nms_BlockButton_updateTick(this, var_1, var_2, var_3, var_4, var_5); }, "$setBlockBoundsForItemRender", $rt_wrapFunction0(nms_BlockButton_setBlockBoundsForItemRender)],
    nms_BlockSnow, "BlockSnow", 28, nms_Block, [], 0, 3, 0, 0, ["$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockSnow_getCollisionBoundingBoxFromPool), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockSnow_isOpaqueCube), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockSnow_renderAsNormalBlock), "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockSnow_canPlaceBlockAt), "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockSnow_onNeighborBlockChange(this, var_1, var_2, var_3,
    var_4, var_5); }, "$harvestBlock", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_BlockSnow_harvestBlock(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$idDropped", $rt_wrapFunction2(nms_BlockSnow_idDropped), "$quantityDropped", $rt_wrapFunction1(nms_BlockSnow_quantityDropped), "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockSnow_updateTick(this, var_1, var_2, var_3, var_4, var_5); }, "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockSnow_shouldSideBeRendered(this,
    var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockIce, "BlockIce", 28, nms_BlockBreakable, [], 0, 3, 0, 0, ["$getRenderBlockPass", $rt_wrapFunction0(nms_BlockIce_getRenderBlockPass), "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockIce_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockRemoval", $rt_wrapFunction4(nms_BlockIce_onBlockRemoval), "$quantityDropped", $rt_wrapFunction1(nms_BlockIce_quantityDropped), "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockIce_updateTick(this,
    var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockSnowBlock, "BlockSnowBlock", 28, nms_Block, [], 0, 3, 0, 0, ["$idDropped", $rt_wrapFunction2(nms_BlockSnowBlock_idDropped), "$quantityDropped", $rt_wrapFunction1(nms_BlockSnowBlock_quantityDropped), "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockSnowBlock_updateTick(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockCactus, "BlockCactus", 28, nms_Block, [], 0, 3, 0, 0, ["$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockCactus_updateTick(this, var_1, var_2, var_3, var_4, var_5); }, "$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockCactus_getCollisionBoundingBoxFromPool), "$getSelectedBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockCactus_getSelectedBoundingBoxFromPool), "$getBlockTextureFromSide", $rt_wrapFunction1(nms_BlockCactus_getBlockTextureFromSide), "$renderAsNormalBlock",
    $rt_wrapFunction0(nms_BlockCactus_renderAsNormalBlock), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockCactus_isOpaqueCube), "$getRenderType", $rt_wrapFunction0(nms_BlockCactus_getRenderType), "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockCactus_canPlaceBlockAt), "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockCactus_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$canBlockStay", $rt_wrapFunction4(nms_BlockCactus_canBlockStay), "$onEntityCollidedWithBlock",
    function(var_1, var_2, var_3, var_4, var_5) { nms_BlockCactus_onEntityCollidedWithBlock(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockClay, "BlockClay", 28, nms_Block, [], 0, 3, 0, 0, ["$idDropped", $rt_wrapFunction2(nms_BlockClay_idDropped), "$quantityDropped", $rt_wrapFunction1(nms_BlockClay_quantityDropped)],
    nms_BlockReed, "BlockReed", 28, nms_Block, [], 0, 3, 0, 0, ["$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockReed_updateTick(this, var_1, var_2, var_3, var_4, var_5); }, "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockReed_canPlaceBlockAt), "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockReed_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$canBlockStay", $rt_wrapFunction4(nms_BlockReed_canBlockStay), "$getCollisionBoundingBoxFromPool",
    $rt_wrapFunction4(nms_BlockReed_getCollisionBoundingBoxFromPool), "$idDropped", $rt_wrapFunction2(nms_BlockReed_idDropped), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockReed_isOpaqueCube), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockReed_renderAsNormalBlock), "$getRenderType", $rt_wrapFunction0(nms_BlockReed_getRenderType)]]);
    $rt_metadata([nms_BlockJukeBox, "BlockJukeBox", 28, nms_Block, [], 0, 3, 0, 0, ["$getBlockTextureFromSide", $rt_wrapFunction1(nms_BlockJukeBox_getBlockTextureFromSide), "$blockActivated", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockJukeBox_blockActivated(this, var_1, var_2, var_3, var_4, var_5); }, "$dropBlockAsItemWithChance", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_BlockJukeBox_dropBlockAsItemWithChance(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_BlockFence, "BlockFence", 28, nms_Block, [], 0, 3, 0, 0, ["$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockFence_canPlaceBlockAt), "$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockFence_getCollisionBoundingBoxFromPool), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockFence_isOpaqueCube), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockFence_renderAsNormalBlock), "$getRenderType", $rt_wrapFunction0(nms_BlockFence_getRenderType)],
    nms_BlockPumpkin, "BlockPumpkin", 28, nms_Block, [], 0, 3, 0, 0, ["$getBlockTextureFromSideAndMetadata", $rt_wrapFunction2(nms_BlockPumpkin_getBlockTextureFromSideAndMetadata), "$getBlockTextureFromSide", $rt_wrapFunction1(nms_BlockPumpkin_getBlockTextureFromSide), "$onBlockAdded", $rt_wrapFunction4(nms_BlockPumpkin_onBlockAdded), "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockPumpkin_canPlaceBlockAt), "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockPumpkin_onBlockPlacedBy(this,
    var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockBloodStone, "BlockBloodStone", 28, nms_Block, [], 0, 3, 0, 0, 0,
    nms_BlockSlowSand, "BlockSlowSand", 28, nms_Block, [], 0, 3, 0, 0, ["$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockSlowSand_getCollisionBoundingBoxFromPool), "$onEntityCollidedWithBlock", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockSlowSand_onEntityCollidedWithBlock(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockLightStone, "BlockLightStone", 28, nms_Block, [], 0, 3, 0, 0, ["$idDropped", $rt_wrapFunction2(nms_BlockLightStone_idDropped)],
    nms_BlockPortal, "BlockPortal", 28, nms_BlockBreakable, [], 0, 3, 0, 0, ["$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockPortal_getCollisionBoundingBoxFromPool), "$setBlockBoundsBasedOnState", $rt_wrapFunction4(nms_BlockPortal_setBlockBoundsBasedOnState), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockPortal_isOpaqueCube), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockPortal_renderAsNormalBlock), "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockPortal_onNeighborBlockChange(this,
    var_1, var_2, var_3, var_4, var_5); }, "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockPortal_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }, "$quantityDropped", $rt_wrapFunction1(nms_BlockPortal_quantityDropped), "$getRenderBlockPass", $rt_wrapFunction0(nms_BlockPortal_getRenderBlockPass), "$onEntityCollidedWithBlock", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockPortal_onEntityCollidedWithBlock(this, var_1, var_2, var_3, var_4, var_5);
    }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockPortal_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockCake, "BlockCake", 28, nms_Block, [], 0, 3, 0, 0, ["$setBlockBoundsBasedOnState", $rt_wrapFunction4(nms_BlockCake_setBlockBoundsBasedOnState), "$setBlockBoundsForItemRender", $rt_wrapFunction0(nms_BlockCake_setBlockBoundsForItemRender), "$getCollisionBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockCake_getCollisionBoundingBoxFromPool), "$getSelectedBoundingBoxFromPool", $rt_wrapFunction4(nms_BlockCake_getSelectedBoundingBoxFromPool), "$getBlockTextureFromSideAndMetadata", $rt_wrapFunction2(nms_BlockCake_getBlockTextureFromSideAndMetadata),
    "$getBlockTextureFromSide", $rt_wrapFunction1(nms_BlockCake_getBlockTextureFromSide), "$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockCake_renderAsNormalBlock), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockCake_isOpaqueCube), "$blockActivated", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockCake_blockActivated(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockClicked", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockCake_onBlockClicked(this, var_1, var_2, var_3, var_4, var_5);
    }, "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockCake_canPlaceBlockAt), "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockCake_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$canBlockStay", $rt_wrapFunction4(nms_BlockCake_canBlockStay), "$quantityDropped", $rt_wrapFunction1(nms_BlockCake_quantityDropped), "$idDropped", $rt_wrapFunction2(nms_BlockCake_idDropped)],
    nms_BlockRedstoneRepeater, "BlockRedstoneRepeater", 28, nms_Block, [], 0, 3, 0, 0, ["$renderAsNormalBlock", $rt_wrapFunction0(nms_BlockRedstoneRepeater_renderAsNormalBlock), "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockRedstoneRepeater_canPlaceBlockAt), "$canBlockStay", $rt_wrapFunction4(nms_BlockRedstoneRepeater_canBlockStay), "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockRedstoneRepeater_updateTick(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockTextureFromSideAndMetadata",
    $rt_wrapFunction2(nms_BlockRedstoneRepeater_getBlockTextureFromSideAndMetadata), "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockRedstoneRepeater_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }, "$getRenderType", $rt_wrapFunction0(nms_BlockRedstoneRepeater_getRenderType), "$getBlockTextureFromSide", $rt_wrapFunction1(nms_BlockRedstoneRepeater_getBlockTextureFromSide), "$isIndirectlyPoweringTo", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockRedstoneRepeater_isIndirectlyPoweringTo(this,
    var_1, var_2, var_3, var_4, var_5); }, "$isPoweringTo", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockRedstoneRepeater_isPoweringTo(this, var_1, var_2, var_3, var_4, var_5); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockRedstoneRepeater_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$blockActivated", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockRedstoneRepeater_blockActivated(this, var_1, var_2, var_3, var_4, var_5);
    }, "$canProvidePower", $rt_wrapFunction0(nms_BlockRedstoneRepeater_canProvidePower), "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockRedstoneRepeater_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockAdded", $rt_wrapFunction4(nms_BlockRedstoneRepeater_onBlockAdded), "$isOpaqueCube", $rt_wrapFunction0(nms_BlockRedstoneRepeater_isOpaqueCube), "$idDropped", $rt_wrapFunction2(nms_BlockRedstoneRepeater_idDropped), "$randomDisplayTick", function(var_1, var_2, var_3,
    var_4, var_5) { nms_BlockRedstoneRepeater_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_BlockLockedChest, "BlockLockedChest", 28, nms_Block, [], 0, 3, 0, 0, ["$getBlockTexture", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockLockedChest_getBlockTexture(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockTextureFromSide", $rt_wrapFunction1(nms_BlockLockedChest_getBlockTextureFromSide), "$canPlaceBlockAt", $rt_wrapFunction4(nms_BlockLockedChest_canPlaceBlockAt), "$updateTick0", function(var_1, var_2, var_3, var_4, var_5) { nms_BlockLockedChest_updateTick(this, var_1, var_2,
    var_3, var_4, var_5); }],
    nms_Item, 0, jl_Object, [], 0, 3, 0, nms_Item_$callClinit, ["$getIconIndex0", $rt_wrapFunction1(nms_Item_getIconIndex), "$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return nms_Item_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$getStrVsBlock", $rt_wrapFunction2(nms_Item_getStrVsBlock), "$onItemRightClick", $rt_wrapFunction3(nms_Item_onItemRightClick), "$func_21012_a", $rt_wrapFunction1(nms_Item_func_21012_a), "$hitEntity", $rt_wrapFunction3(nms_Item_hitEntity),
    "$func_25008_a", function(var_1, var_2, var_3, var_4, var_5, var_6) { return nms_Item_func_25008_a(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$getDamageVsEntity", $rt_wrapFunction1(nms_Item_getDamageVsEntity), "$canHarvestBlock", $rt_wrapFunction1(nms_Item_canHarvestBlock), "$saddleEntity", $rt_wrapFunction2(nms_Item_saddleEntity), "$isFull3D", $rt_wrapFunction0(nms_Item_isFull3D), "$shouldRotateAroundWhenRendering", $rt_wrapFunction0(nms_Item_shouldRotateAroundWhenRendering), "$getItemName", $rt_wrapFunction0(nms_Item_getItemName),
    "$getItemNameIS", $rt_wrapFunction1(nms_Item_getItemNameIS)],
    nms_ItemBlock, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return nms_ItemBlock_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$getItemNameIS", $rt_wrapFunction1(nms_ItemBlock_getItemNameIS), "$getItemName", $rt_wrapFunction0(nms_ItemBlock_getItemName)],
    nms_ItemCloth, 0, nms_ItemBlock, [], 0, 3, 0, 0, ["$getIconIndex0", $rt_wrapFunction1(nms_ItemCloth_getIconIndex), "$func_21012_a", $rt_wrapFunction1(nms_ItemCloth_func_21012_a), "$getItemNameIS", $rt_wrapFunction1(nms_ItemCloth_getItemNameIS)],
    nms_ItemLog, 0, nms_ItemBlock, [], 0, 3, 0, 0, ["$getIconIndex0", $rt_wrapFunction1(nms_ItemLog_getIconIndex), "$func_21012_a", $rt_wrapFunction1(nms_ItemLog_func_21012_a)],
    nms_ItemSlab, 0, nms_ItemBlock, [], 0, 3, 0, 0, ["$getIconIndex0", $rt_wrapFunction1(nms_ItemSlab_getIconIndex), "$func_21012_a", $rt_wrapFunction1(nms_ItemSlab_func_21012_a), "$getItemNameIS", $rt_wrapFunction1(nms_ItemSlab_getItemNameIS)],
    nms_StatList, 0, jl_Object, [], 0, 3, 0, nms_StatList_$callClinit, 0,
    otp_PlatformQueue, 0, jl_Object, [otj_JSObject], 1, 3, 0, 0, 0,
    jl_Object$monitorExit$lambda$_8_0, 0, jl_Object, [otp_PlatformRunnable], 0, 3, 0, 0, ["$run", $rt_wrapFunction0(jl_Object$monitorExit$lambda$_8_0_run)],
    ju_Arrays$ArrayAsList, 0, ju_AbstractList, [ju_RandomAccess], 0, 0, 0, 0, ["$get2", $rt_wrapFunction1(ju_Arrays$ArrayAsList_get), "$size", $rt_wrapFunction0(ju_Arrays$ArrayAsList_size)],
    nleit_TeaVMRuntimeDeobfuscator$DeobfNameEntry, "TeaVMRuntimeDeobfuscator$DeobfNameEntry", 32, jl_Object, [], 0, 0, 0, 0, 0,
    ju_GenericEnumSet, 0, ju_EnumSet, [], 0, 0, 0, 0, ["$size", $rt_wrapFunction0(ju_GenericEnumSet_size)],
    nleit_TeaVMBlobURLManager$SameOriginSupportCallback, 0, jl_Object, [otj_JSObject], 3, 0, 0, 0, 0,
    nleit_TeaVMBlobURLManager$checkSameOriginSupport$lambda$_3_0, 0, jl_Object, [nleit_TeaVMBlobURLManager$SameOriginSupportCallback], 0, 3, 0, 0, ["$call$exported$02", $rt_wrapFunction1(nleit_TeaVMBlobURLManager$checkSameOriginSupport$lambda$_3_0_call$exported$0)],
    nleib_IntBuffer, 0, jl_Object, [nleib_Buffer], 1, 3, 0, 0, 0,
    nleib_EaglerArrayIntBuffer, "EaglerArrayIntBuffer", 34, nleib_IntBuffer, [], 0, 3, [0,0,0], 0, 0,
    otjt_Int32Array, 0, otjt_ArrayBufferView, [], 1, 3, 0, 0, 0,
    nleib_FloatBuffer, 0, jl_Object, [nleib_Buffer], 1, 3, 0, 0, 0,
    nleib_EaglerArrayFloatBuffer, "EaglerArrayFloatBuffer", 34, nleib_FloatBuffer, [], 0, 3, [0,0,0], 0, 0,
    otjt_Float32Array, 0, otjt_ArrayBufferView, [], 1, 3, 0, 0, 0,
    otjt_DataView, 0, otjt_ArrayBufferView, [], 1, 3, 0, 0, 0,
    nleit_TeaVMFetchJS$FetchHandler, 0, jl_Object, [otj_JSObject], 3, 3, 0, 0, 0,
    nleit_TeaVMDataURLManager$checkDataURLSupport0$lambda$_1_0, 0, jl_Object, [nleit_TeaVMFetchJS$FetchHandler], 0, 3, 0, 0, ["$onFetch$exported$0", $rt_wrapFunction1(nleit_TeaVMDataURLManager$checkDataURLSupport0$lambda$_1_0_onFetch$exported$0)],
    otjc_JSArray, 0, jl_Object, [otjc_JSArrayReader], 1, 3, 0, 0, ["$get$exported$0", $rt_wrapFunction1(otjc_JSArray_get$exported$0), "$getLength$exported$1", $rt_wrapFunction0(otjc_JSArray_getLength$exported$1)],
    otjc_JSNumber, 0, jl_Object, [otj_JSObject], 1, 3, 0, 0, 0,
    jur_Pattern, 0, jl_Object, [ji_Serializable], 4, 3, 0, 0, 0,
    jnci_AsciiCharset, "AsciiCharset", 11, jnc_Charset, [], 0, 3, 0, 0, ["$newDecoder", $rt_wrapFunction0(jnci_AsciiCharset_newDecoder), "$newEncoder", $rt_wrapFunction0(jnci_AsciiCharset_newEncoder)],
    jnci_Iso8859Charset, "Iso8859Charset", 11, jnc_Charset, [], 0, 3, 0, 0, ["$newDecoder", $rt_wrapFunction0(jnci_Iso8859Charset_newDecoder), "$newEncoder", $rt_wrapFunction0(jnci_Iso8859Charset_newEncoder)],
    jnci_UTF16Charset, "UTF16Charset", 11, jnc_Charset, [], 0, 3, 0, 0, ["$newDecoder", $rt_wrapFunction0(jnci_UTF16Charset_newDecoder), "$newEncoder", $rt_wrapFunction0(jnci_UTF16Charset_newEncoder)],
    nleit_IndexedDBFilesystem$AsyncHandlers, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nleit_IndexedDBFilesystem$DatabaseOpen, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nleiv_EaglerFileSystemException, "EaglerFileSystemException", 33, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    nlei_PlatformFilesystem$FilesystemDatabaseLockedException, "PlatformFilesystem$FilesystemDatabaseLockedException", 31, nleiv_EaglerFileSystemException, [], 0, 3, 0, 0, 0,
    nlei_PlatformFilesystem$FilesystemDatabaseInitializationException, "PlatformFilesystem$FilesystemDatabaseInitializationException", 31, nleiv_EaglerFileSystemException, [], 0, 3, 0, 0, 0,
    nlei_PlatformRuntime$DumbSleepHandler, 0, jl_Object, [otp_PlatformRunnable], 0, 0, 0, 0, ["$run", $rt_wrapFunction0(nlei_PlatformRuntime$DumbSleepHandler_run)],
    otjb_AnimationFrameCallback, 0, jl_Object, [otj_JSObject], 3, 3, 0, 0, 0,
    nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_0, 0, jl_Object, [otjb_AnimationFrameCallback], 0, 3, 0, 0, ["$onAnimationFrame$exported$0", $rt_wrapFunction1(nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_0_onAnimationFrame$exported$0)],
    nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_1, 0, jl_Object, [otjb_TimerHandler], 0, 3, 0, 0, ["$onTimer$exported$0", $rt_wrapFunction0(nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_1_onTimer$exported$0)],
    nlei_PlatformInput$KeyboardLayoutDone, 0, jl_Object, [otj_JSObject], 3, 0, 0, 0, 0,
    nlei_PlatformInput$iterateKeyboardLayout$lambda$_6_0, 0, jl_Object, [nlei_PlatformInput$KeyboardLayoutDone], 0, 3, 0, 0, ["$call$exported$01", $rt_wrapFunction0(nlei_PlatformInput$iterateKeyboardLayout$lambda$_6_0_call$exported$0)],
    ju_ArrayDeque, 0, ju_AbstractCollection, [ju_Deque, jl_Cloneable, ji_Serializable], 0, 3, 0, 0, 0]);
    $rt_metadata([ju_Calendar, 0, jl_Object, [ji_Serializable, jl_Cloneable, jl_Comparable], 1, 3, 0, ju_Calendar_$callClinit, 0,
    otjc_JSObjects, 0, jl_Object, [], 4, 3, 0, 0, 0,
    jl_StackTraceElement, 0, jl_Object, [ji_Serializable], 4, 3, 0, 0, 0,
    jl_Long, "Long", 15, jl_Number, [jl_Comparable], 0, 3, 0, 0, ["$toString", $rt_wrapFunction0(jl_Long_toString), "$hashCode0", $rt_wrapFunction0(jl_Long_hashCode), "$equals", $rt_wrapFunction1(jl_Long_equals), "$compareTo2", $rt_wrapFunction1(jl_Long_compareTo)],
    nleit_Base64VarIntArray, 0, jl_Object, [], 0, 3, 0, 0, 0,
    jl_CloneNotSupportedException, "CloneNotSupportedException", 15, jl_Exception, [], 0, 3, 0, 0, 0,
    nleib_EaglerArrayBufferAllocator$WrongBufferClassType, "EaglerArrayBufferAllocator$WrongBufferClassType", 34, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    nleit_TeaVMBlobURLHandle, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nlei_PlatformAssets$1, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformAssets$1_handleEvent$exported$0)],
    nlei_PlatformAssets$2, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformAssets$2_handleEvent$exported$0)],
    nlec_GeneralDigest, 0, jl_Object, [], 1, 3, 0, 0, 0,
    nlec_MD5Digest, 0, nlec_GeneralDigest, [], 0, 3, 0, 0, 0,
    nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_0, 0, jl_Object, [nleit_TeaVMFetchJS$FetchHandler], 0, 3, 0, 0, ["$onFetch$exported$0", $rt_wrapFunction1(nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_0_onFetch$exported$0)],
    nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_1, 0, jl_Object, [nleit_TeaVMFetchJS$FetchHandler], 0, 3, 0, 0, ["$onFetch$exported$0", $rt_wrapFunction1(nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_1_onFetch$exported$0)],
    nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_0, 0, jl_Object, [nleit_TeaVMFetchJS$FetchHandler], 0, 3, 0, 0, ["$onFetch$exported$0", $rt_wrapFunction1(nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_0_onFetch$exported$0)],
    nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_1, 0, jl_Object, [nleit_TeaVMFetchJS$FetchHandler], 0, 3, 0, 0, ["$onFetch$exported$0", $rt_wrapFunction1(nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_1_onFetch$exported$0)],
    jn_Buffer, 0, jl_Object, [], 1, 3, 0, 0, 0,
    jn_ByteBuffer, 0, jn_Buffer, [jl_Comparable], 1, 3, 0, 0, 0,
    jnc_Charset$Charsets, 0, jl_Object, [], 0, 0, 0, jnc_Charset$Charsets_$callClinit, 0,
    jnc_UnsupportedCharsetException, "UnsupportedCharsetException", 10, jl_IllegalArgumentException, [], 0, 3, 0, 0, 0,
    cjj_ZStream, 0, jl_Object, [], 128, 3, 0, 0, 0,
    cjj_Inflater, 0, cjj_ZStream, [], 4, 3, 0, 0, 0,
    otjw_DecodeSuccessCallback, 0, jl_Object, [otj_JSObject], 3, 3, 0, 0, 0,
    nlei_PlatformAudio$1, 0, jl_Object, [otjw_DecodeSuccessCallback], 0, 0, 0, 0, ["$onSuccess$exported$0", $rt_wrapFunction1(nlei_PlatformAudio$1_onSuccess$exported$0)],
    otjw_DecodeErrorCallback, 0, jl_Object, [otj_JSObject], 3, 3, 0, 0, 0,
    nlei_PlatformAudio$2, 0, jl_Object, [otjw_DecodeErrorCallback], 0, 0, 0, 0, ["$onError$exported$0", $rt_wrapFunction1(nlei_PlatformAudio$2_onError$exported$0)],
    cch_HashContainers, 0, jl_Object, [], 4, 3, 0, 0, 0,
    ju_GregorianCalendar, 0, ju_Calendar, [], 0, 3, 0, 0, 0,
    nms_MaterialTransparent, 0, nms_Material, [], 0, 3, 0, 0, ["$isSolid", $rt_wrapFunction0(nms_MaterialTransparent_isSolid), "$getCanBlockGrass", $rt_wrapFunction0(nms_MaterialTransparent_getCanBlockGrass), "$getIsSolid", $rt_wrapFunction0(nms_MaterialTransparent_getIsSolid)],
    nms_MaterialLiquid, 0, nms_Material, [], 0, 3, 0, 0, ["$getIsLiquid", $rt_wrapFunction0(nms_MaterialLiquid_getIsLiquid), "$getIsSolid", $rt_wrapFunction0(nms_MaterialLiquid_getIsSolid), "$isSolid", $rt_wrapFunction0(nms_MaterialLiquid_isSolid)],
    nms_MaterialLogic, 0, nms_Material, [], 0, 3, 0, 0, ["$isSolid", $rt_wrapFunction0(nms_MaterialLogic_isSolid), "$getCanBlockGrass", $rt_wrapFunction0(nms_MaterialLogic_getCanBlockGrass), "$getIsSolid", $rt_wrapFunction0(nms_MaterialLogic_getIsSolid)],
    nms_ItemTool, 0, nms_Item, [], 0, 3, 0, 0, ["$getStrVsBlock", $rt_wrapFunction2(nms_ItemTool_getStrVsBlock), "$hitEntity", $rt_wrapFunction3(nms_ItemTool_hitEntity), "$func_25008_a", function(var_1, var_2, var_3, var_4, var_5, var_6) { return nms_ItemTool_func_25008_a(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$getDamageVsEntity", $rt_wrapFunction1(nms_ItemTool_getDamageVsEntity), "$isFull3D", $rt_wrapFunction0(nms_ItemTool_isFull3D)],
    nms_ItemSpade, 0, nms_ItemTool, [], 0, 3, 0, nms_ItemSpade_$callClinit, ["$canHarvestBlock", $rt_wrapFunction1(nms_ItemSpade_canHarvestBlock)],
    nms_EnumToolMaterial, "EnumToolMaterial", 28, jl_Enum, [], 12, 3, 0, nms_EnumToolMaterial_$callClinit, 0,
    nms_ItemPickaxe, 0, nms_ItemTool, [], 0, 3, 0, nms_ItemPickaxe_$callClinit, ["$canHarvestBlock", $rt_wrapFunction1(nms_ItemPickaxe_canHarvestBlock)],
    nms_ItemAxe, 0, nms_ItemTool, [], 0, 3, 0, nms_ItemAxe_$callClinit, 0,
    nms_ItemFlintAndSteel, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return nms_ItemFlintAndSteel_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    nms_ItemFood, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemRightClick", $rt_wrapFunction3(nms_ItemFood_onItemRightClick)],
    nms_ItemBow, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemRightClick", $rt_wrapFunction3(nms_ItemBow_onItemRightClick)],
    nms_ItemCoal, 0, nms_Item, [], 0, 3, 0, 0, ["$getItemNameIS", $rt_wrapFunction1(nms_ItemCoal_getItemNameIS)],
    nms_ItemSword, 0, nms_Item, [], 0, 3, 0, 0, ["$getStrVsBlock", $rt_wrapFunction2(nms_ItemSword_getStrVsBlock), "$hitEntity", $rt_wrapFunction3(nms_ItemSword_hitEntity), "$func_25008_a", function(var_1, var_2, var_3, var_4, var_5, var_6) { return nms_ItemSword_func_25008_a(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$getDamageVsEntity", $rt_wrapFunction1(nms_ItemSword_getDamageVsEntity), "$isFull3D", $rt_wrapFunction0(nms_ItemSword_isFull3D)],
    nms_ItemSoup, 0, nms_ItemFood, [], 0, 3, 0, 0, ["$onItemRightClick", $rt_wrapFunction3(nms_ItemSoup_onItemRightClick)],
    nms_ItemHoe, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return nms_ItemHoe_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$isFull3D", $rt_wrapFunction0(nms_ItemHoe_isFull3D)],
    nms_ItemSeeds, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return nms_ItemSeeds_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    nms_ItemArmor, 0, nms_Item, [], 0, 3, 0, 0, 0,
    nms_ItemPainting, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return nms_ItemPainting_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    nms_ItemSign, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return nms_ItemSign_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    nms_ItemDoor, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return nms_ItemDoor_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    nms_ItemBucket, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemRightClick", $rt_wrapFunction3(nms_ItemBucket_onItemRightClick)],
    nms_ItemMinecart, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return nms_ItemMinecart_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }]]);
    $rt_metadata([nms_ItemSaddle, 0, nms_Item, [], 0, 3, 0, 0, ["$saddleEntity", $rt_wrapFunction2(nms_ItemSaddle_saddleEntity), "$hitEntity", $rt_wrapFunction3(nms_ItemSaddle_hitEntity)],
    nms_ItemRedstone, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return nms_ItemRedstone_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    nms_ItemSnowball, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemRightClick", $rt_wrapFunction3(nms_ItemSnowball_onItemRightClick)],
    nms_ItemBoat, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemRightClick", $rt_wrapFunction3(nms_ItemBoat_onItemRightClick)],
    nms_ItemReed, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return nms_ItemReed_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    nms_ItemEgg, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemRightClick", $rt_wrapFunction3(nms_ItemEgg_onItemRightClick)],
    nms_ItemFishingRod, 0, nms_Item, [], 0, 3, 0, 0, ["$isFull3D", $rt_wrapFunction0(nms_ItemFishingRod_isFull3D), "$shouldRotateAroundWhenRendering", $rt_wrapFunction0(nms_ItemFishingRod_shouldRotateAroundWhenRendering), "$onItemRightClick", $rt_wrapFunction3(nms_ItemFishingRod_onItemRightClick)],
    nms_ItemDye, 0, nms_Item, [], 0, 3, 0, nms_ItemDye_$callClinit, ["$getIconIndex0", $rt_wrapFunction1(nms_ItemDye_getIconIndex), "$getItemNameIS", $rt_wrapFunction1(nms_ItemDye_getItemNameIS), "$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return nms_ItemDye_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$saddleEntity", $rt_wrapFunction2(nms_ItemDye_saddleEntity)],
    nms_ItemBed, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return nms_ItemBed_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    nms_ItemCookie, 0, nms_ItemFood, [], 0, 3, 0, 0, 0,
    nms_ItemRecord, 0, nms_Item, [], 0, 3, 0, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return nms_ItemRecord_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    nms_StatBasic, "StatBasic", 28, jl_Object, [], 0, 3, 0, 0, 0,
    nms_StatCollector, 0, jl_Object, [], 0, 3, 0, nms_StatCollector_$callClinit, 0,
    nms_StatTime, "StatTime", 28, nms_StatBasic, [], 0, 3, 0, nms_StatTime_$callClinit, 0,
    nms_StatDistance, "StatDistance", 28, nms_StatBasic, [], 0, 3, 0, nms_StatDistance_$callClinit, 0,
    nms_StatCrafting, "StatCrafting", 28, nms_StatBasic, [], 0, 3, 0, 0, 0,
    nms_CraftingManager, 0, jl_Object, [], 0, 3, 0, nms_CraftingManager_$callClinit, 0,
    nms_FurnaceRecipes, 0, jl_Object, [], 0, 3, 0, nms_FurnaceRecipes_$callClinit, 0,
    nms_IRecipe, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nms_ItemStack, "ItemStack", 28, jl_Object, [], 4, 3, 0, 0, ["$toString", $rt_wrapFunction0(nms_ItemStack_toString)],
    jl_Object$monitorEnterWait$lambda$_6_0, 0, jl_Object, [otp_PlatformRunnable], 0, 3, 0, 0, 0,
    nleit_TeaVMBlobURLManager$HandleFakeBlobURL, 0, jl_Object, [nleit_TeaVMBlobURLHandle], 0, 0, 0, 0, ["$toExternalForm", $rt_wrapFunction0(nleit_TeaVMBlobURLManager$HandleFakeBlobURL_toExternalForm), "$release", $rt_wrapFunction0(nleit_TeaVMBlobURLManager$HandleFakeBlobURL_release)],
    nleit_TeaVMBlobURLManager$HandleRealBlobURL, 0, jl_Object, [nleit_TeaVMBlobURLHandle], 0, 0, 0, 0, ["$toExternalForm", $rt_wrapFunction0(nleit_TeaVMBlobURLManager$HandleRealBlobURL_toExternalForm), "$release", $rt_wrapFunction0(nleit_TeaVMBlobURLManager$HandleRealBlobURL_release)],
    jur_AbstractSet, 0, jl_Object, [], 1, 0, 0, 0, ["$find0", $rt_wrapFunction3(jur_AbstractSet_find), "$findBack", $rt_wrapFunction4(jur_AbstractSet_findBack), "$getType1", $rt_wrapFunction0(jur_AbstractSet_getType), "$toString", $rt_wrapFunction0(jur_AbstractSet_toString), "$setNext", $rt_wrapFunction1(jur_AbstractSet_setNext), "$first", $rt_wrapFunction1(jur_AbstractSet_first), "$processBackRefReplacement", $rt_wrapFunction0(jur_AbstractSet_processBackRefReplacement), "$processSecondPass", $rt_wrapFunction0(jur_AbstractSet_processSecondPass)],
    jn_ByteBufferImpl, 0, jn_ByteBuffer, [], 0, 0, 0, 0, 0,
    jl_Readable, 0, jl_Object, [], 3, 3, 0, 0, 0,
    jn_CharBuffer, 0, jn_Buffer, [jl_Comparable, jl_Appendable, jl_CharSequence, jl_Readable], 1, 3, 0, 0, 0,
    jnc_IllegalCharsetNameException, "IllegalCharsetNameException", 10, jl_IllegalArgumentException, [], 0, 3, 0, 0, 0,
    nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_0, 0, jl_Object, [jl_Runnable], 0, 3, 0, 0, ["$run", $rt_wrapFunction0(nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_0_run)],
    nlei_PlatformRuntime$5, 0, jl_Object, [nleit_ImmediateContinue], 0, 0, 0, 0, ["$isValidToken", $rt_wrapFunction1(nlei_PlatformRuntime$5_isValidToken), "$execute", $rt_wrapFunction0(nlei_PlatformRuntime$5_execute)],
    nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_1, 0, jl_Object, [otjb_TimerHandler], 0, 3, 0, 0, ["$onTimer$exported$0", $rt_wrapFunction0(nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_1_onTimer$exported$0)],
    nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_2, 0, jl_Object, [otjb_TimerHandler], 0, 3, 0, 0, ["$onTimer$exported$0", $rt_wrapFunction0(nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_2_onTimer$exported$0)],
    nleit_IndexedDBFilesystem$OpenErrorCallback, 0, jl_Object, [otj_JSObject], 3, 3, 0, 0, 0,
    nleit_IndexedDBFilesystem$AsyncHandlers$openDB$lambda$_2_0, 0, jl_Object, [nleit_IndexedDBFilesystem$OpenErrorCallback], 0, 3, 0, 0, ["$call$exported$02", $rt_wrapFunction1(nleit_IndexedDBFilesystem$AsyncHandlers$openDB$lambda$_2_0_call$exported$0)],
    otji_EventHandler, 0, jl_Object, [otj_JSObject], 3, 3, 0, 0, 0,
    nleit_IndexedDBFilesystem$AsyncHandlers$1, 0, jl_Object, [otji_EventHandler], 0, 0, 0, 0, ["$handleEvent$exported$00", $rt_wrapFunction0(nleit_IndexedDBFilesystem$AsyncHandlers$1_handleEvent$exported$0)],
    nleit_IndexedDBFilesystem$AsyncHandlers$2, 0, jl_Object, [otji_EventHandler], 0, 0, 0, 0, ["$handleEvent$exported$00", $rt_wrapFunction0(nleit_IndexedDBFilesystem$AsyncHandlers$2_handleEvent$exported$0)],
    nleit_IndexedDBFilesystem$AsyncHandlers$3, 0, jl_Object, [otji_EventHandler], 0, 0, 0, 0, ["$handleEvent$exported$00", $rt_wrapFunction0(nleit_IndexedDBFilesystem$AsyncHandlers$3_handleEvent$exported$0)],
    nleit_IndexedDBFilesystem$AsyncHandlers$4, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nleit_IndexedDBFilesystem$AsyncHandlers$4_handleEvent$exported$0)],
    nle_BaseNCodec$CodecPolicy, "BaseNCodec$CodecPolicy", 30, jl_Enum, [], 12, 0, 0, nle_BaseNCodec$CodecPolicy_$callClinit, 0,
    jur_FSet, "FSet", 8, jur_AbstractSet, [], 0, 0, 0, jur_FSet_$callClinit, ["$matches0", $rt_wrapFunction3(jur_FSet_matches), "$getName", $rt_wrapFunction0(jur_FSet_getName), "$hasConsumed", $rt_wrapFunction1(jur_FSet_hasConsumed)],
    jur_Lexer, 0, jl_Object, [], 0, 0, 0, 0, 0,
    jur_PatternSyntaxException, "PatternSyntaxException", 8, jl_IllegalArgumentException, [], 0, 3, 0, 0, ["$getMessage", $rt_wrapFunction0(jur_PatternSyntaxException_getMessage)],
    cjj_GZIPException, "GZIPException", 4, ji_IOException, [], 0, 3, 0, 0, 0,
    juca_AtomicInteger, 0, jl_Number, [ji_Serializable], 0, 3, 0, 0, 0,
    ju_TimeZone, 0, jl_Object, [ji_Serializable, jl_Cloneable], 1, 3, 0, ju_TimeZone_$callClinit, 0,
    nms_StringTranslate, 0, jl_Object, [], 0, 3, 0, nms_StringTranslate_$callClinit, 0,
    jt_NumberFormat, 0, jt_Format, [], 1, 3, 0, 0, 0,
    jt_DecimalFormat, 0, jt_NumberFormat, [], 0, 3, 0, 0, 0,
    jur_NonCapFSet, "NonCapFSet", 8, jur_FSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_NonCapFSet_matches), "$getName", $rt_wrapFunction0(jur_NonCapFSet_getName), "$hasConsumed", $rt_wrapFunction1(jur_NonCapFSet_hasConsumed)]]);
    $rt_metadata([jur_AheadFSet, "AheadFSet", 8, jur_FSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_AheadFSet_matches), "$getName", $rt_wrapFunction0(jur_AheadFSet_getName)],
    jur_BehindFSet, "BehindFSet", 8, jur_FSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_BehindFSet_matches), "$getName", $rt_wrapFunction0(jur_BehindFSet_getName)],
    jur_AtomicFSet, "AtomicFSet", 8, jur_FSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_AtomicFSet_matches), "$getName", $rt_wrapFunction0(jur_AtomicFSet_getName), "$hasConsumed", $rt_wrapFunction1(jur_AtomicFSet_hasConsumed)],
    jur_FinalSet, "FinalSet", 8, jur_FSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_FinalSet_matches), "$getName", $rt_wrapFunction0(jur_FinalSet_getName)],
    jur_LeafSet, 0, jur_AbstractSet, [], 1, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_LeafSet_matches), "$charCount0", $rt_wrapFunction0(jur_LeafSet_charCount), "$hasConsumed", $rt_wrapFunction1(jur_LeafSet_hasConsumed)],
    jur_EmptySet, "EmptySet", 8, jur_LeafSet, [], 0, 0, 0, 0, ["$accepts", $rt_wrapFunction2(jur_EmptySet_accepts), "$find0", $rt_wrapFunction3(jur_EmptySet_find), "$findBack", $rt_wrapFunction4(jur_EmptySet_findBack), "$getName", $rt_wrapFunction0(jur_EmptySet_getName), "$hasConsumed", $rt_wrapFunction1(jur_EmptySet_hasConsumed)],
    jur_JointSet, "JointSet", 8, jur_AbstractSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_JointSet_matches), "$setNext", $rt_wrapFunction1(jur_JointSet_setNext), "$getName", $rt_wrapFunction0(jur_JointSet_getName), "$first", $rt_wrapFunction1(jur_JointSet_first), "$hasConsumed", $rt_wrapFunction1(jur_JointSet_hasConsumed), "$processSecondPass", $rt_wrapFunction0(jur_JointSet_processSecondPass)],
    jur_NonCapJointSet, "NonCapJointSet", 8, jur_JointSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_NonCapJointSet_matches), "$getName", $rt_wrapFunction0(jur_NonCapJointSet_getName), "$hasConsumed", $rt_wrapFunction1(jur_NonCapJointSet_hasConsumed)],
    jur_AtomicJointSet, "AtomicJointSet", 8, jur_NonCapJointSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_AtomicJointSet_matches), "$setNext", $rt_wrapFunction1(jur_AtomicJointSet_setNext), "$getName", $rt_wrapFunction0(jur_AtomicJointSet_getName)],
    jur_PositiveLookAhead, "PositiveLookAhead", 8, jur_AtomicJointSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_PositiveLookAhead_matches), "$hasConsumed", $rt_wrapFunction1(jur_PositiveLookAhead_hasConsumed), "$getName", $rt_wrapFunction0(jur_PositiveLookAhead_getName)],
    jur_NegativeLookAhead, "NegativeLookAhead", 8, jur_AtomicJointSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_NegativeLookAhead_matches), "$hasConsumed", $rt_wrapFunction1(jur_NegativeLookAhead_hasConsumed), "$getName", $rt_wrapFunction0(jur_NegativeLookAhead_getName)],
    jur_PositiveLookBehind, "PositiveLookBehind", 8, jur_AtomicJointSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_PositiveLookBehind_matches), "$hasConsumed", $rt_wrapFunction1(jur_PositiveLookBehind_hasConsumed), "$getName", $rt_wrapFunction0(jur_PositiveLookBehind_getName)],
    jur_NegativeLookBehind, "NegativeLookBehind", 8, jur_AtomicJointSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_NegativeLookBehind_matches), "$hasConsumed", $rt_wrapFunction1(jur_NegativeLookBehind_hasConsumed), "$getName", $rt_wrapFunction0(jur_NegativeLookBehind_getName)],
    jur_SingleSet, "SingleSet", 8, jur_JointSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_SingleSet_matches), "$find0", $rt_wrapFunction3(jur_SingleSet_find), "$findBack", $rt_wrapFunction4(jur_SingleSet_findBack), "$first", $rt_wrapFunction1(jur_SingleSet_first), "$processBackRefReplacement", $rt_wrapFunction0(jur_SingleSet_processBackRefReplacement), "$processSecondPass", $rt_wrapFunction0(jur_SingleSet_processSecondPass)],
    jn_ByteOrder, 0, jl_Object, [], 4, 3, 0, jn_ByteOrder_$callClinit, 0,
    cjj_Adler32, 0, jl_Object, [cjj_Checksum], 4, 3, 0, 0, ["$reset1", $rt_wrapFunction1(cjj_Adler32_reset0), "$reset0", $rt_wrapFunction0(cjj_Adler32_reset), "$getValue", $rt_wrapFunction0(cjj_Adler32_getValue), "$update2", $rt_wrapFunction3(cjj_Adler32_update)],
    jt_DecimalFormatSymbols, 0, jl_Object, [jl_Cloneable], 0, 3, 0, 0, 0,
    nms_RecipesTools, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_RecipesWeapons, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_RecipesIngots, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_RecipesFood, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_RecipesCrafting, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_RecipesArmor, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_RecipesDyes, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_RecipeSorter, 0, jl_Object, [ju_Comparator], 0, 0, 0, 0, ["$compare", $rt_wrapFunction2(nms_RecipeSorter_compare)],
    jur_SpecialToken, 0, jl_Object, [], 1, 0, 0, 0, 0,
    jur_AbstractCharClass, 0, jur_SpecialToken, [], 1, 0, 0, jur_AbstractCharClass_$callClinit, ["$getBits", $rt_wrapFunction0(jur_AbstractCharClass_getBits), "$getLowHighSurrogates", $rt_wrapFunction0(jur_AbstractCharClass_getLowHighSurrogates), "$getInstance4", $rt_wrapFunction0(jur_AbstractCharClass_getInstance), "$hasUCI", $rt_wrapFunction0(jur_AbstractCharClass_hasUCI)],
    jur_CharClass, "CharClass", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass_contains), "$getBits", $rt_wrapFunction0(jur_CharClass_getBits), "$getLowHighSurrogates", $rt_wrapFunction0(jur_CharClass_getLowHighSurrogates), "$getInstance4", $rt_wrapFunction0(jur_CharClass_getInstance), "$toString", $rt_wrapFunction0(jur_CharClass_toString), "$hasUCI", $rt_wrapFunction0(jur_CharClass_hasUCI)],
    ju_MissingResourceException, "MissingResourceException", 6, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    jur_QuantifierSet, 0, jur_AbstractSet, [], 1, 0, 0, 0, ["$first", $rt_wrapFunction1(jur_QuantifierSet_first), "$hasConsumed", $rt_wrapFunction1(jur_QuantifierSet_hasConsumed), "$processSecondPass", $rt_wrapFunction0(jur_QuantifierSet_processSecondPass)],
    jur_LeafQuantifierSet, "LeafQuantifierSet", 8, jur_QuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_LeafQuantifierSet_matches), "$getName", $rt_wrapFunction0(jur_LeafQuantifierSet_getName)],
    jur_CompositeQuantifierSet, "CompositeQuantifierSet", 8, jur_LeafQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_CompositeQuantifierSet_matches), "$getName", $rt_wrapFunction0(jur_CompositeQuantifierSet_getName)],
    jur_GroupQuantifierSet, "GroupQuantifierSet", 8, jur_QuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_GroupQuantifierSet_matches), "$getName", $rt_wrapFunction0(jur_GroupQuantifierSet_getName)],
    jur_AltQuantifierSet, "AltQuantifierSet", 8, jur_LeafQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_AltQuantifierSet_matches), "$setNext", $rt_wrapFunction1(jur_AltQuantifierSet_setNext)],
    jur_UnifiedQuantifierSet, "UnifiedQuantifierSet", 8, jur_LeafQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_UnifiedQuantifierSet_matches), "$find0", $rt_wrapFunction3(jur_UnifiedQuantifierSet_find)],
    otciu_UnicodeHelper, 0, jl_Object, [], 4, 3, 0, 0, 0,
    ju_IANATimeZone, 0, ju_TimeZone, [], 0, 0, 0, 0, 0,
    otcit_DateTimeZone, 0, jl_Object, [], 1, 3, 0, 0, 0,
    otcit_StorableDateTimeZone, 0, otcit_DateTimeZone, [], 1, 3, 0, 0, 0,
    otcit_FixedDateTimeZone, "FixedDateTimeZone", 23, otcit_StorableDateTimeZone, [], 4, 3, 0, 0, ["$getOffset", $rt_wrapFunction1(otcit_FixedDateTimeZone_getOffset), "$getStandardOffset", $rt_wrapFunction1(otcit_FixedDateTimeZone_getStandardOffset), "$previousTransition", $rt_wrapFunction1(otcit_FixedDateTimeZone_previousTransition)],
    otcit_DateTimeZoneProvider, 0, jl_Object, [], 4, 3, 0, 0, 0,
    jt_DecimalFormat$FormatField, 0, jl_Object, [], 3, 0, 0, 0, 0,
    jt_DecimalFormat$TextField, "DecimalFormat$TextField", 14, jl_Object, [jt_DecimalFormat$FormatField], 0, 0, 0, 0, ["$equals", $rt_wrapFunction1(jt_DecimalFormat$TextField_equals), "$hashCode0", $rt_wrapFunction0(jt_DecimalFormat$TextField_hashCode)],
    jur_AbstractCharClass$LazyCharClass, 0, jl_Object, [], 1, 0, 0, 0, 0,
    jur_Quantifier, "Quantifier", 8, jur_SpecialToken, [jl_Cloneable], 0, 0, 0, 0, ["$toString", $rt_wrapFunction0(jur_Quantifier_toString)],
    jur_FSet$PossessiveFSet, "FSet$PossessiveFSet", 8, jur_AbstractSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_FSet$PossessiveFSet_matches), "$getName", $rt_wrapFunction0(jur_FSet$PossessiveFSet_getName), "$hasConsumed", $rt_wrapFunction1(jur_FSet$PossessiveFSet_hasConsumed)],
    ju_BitSet, 0, jl_Object, [jl_Cloneable, ji_Serializable], 0, 3, 0, 0, 0,
    jur_LowHighSurrogateRangeSet, "LowHighSurrogateRangeSet", 8, jur_JointSet, [], 0, 0, 0, 0, ["$getName", $rt_wrapFunction0(jur_LowHighSurrogateRangeSet_getName)],
    jur_CompositeRangeSet, "CompositeRangeSet", 8, jur_JointSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_CompositeRangeSet_matches), "$setNext", $rt_wrapFunction1(jur_CompositeRangeSet_setNext), "$getName", $rt_wrapFunction0(jur_CompositeRangeSet_getName), "$hasConsumed", $rt_wrapFunction1(jur_CompositeRangeSet_hasConsumed), "$first", $rt_wrapFunction1(jur_CompositeRangeSet_first)],
    jur_SupplRangeSet, "SupplRangeSet", 8, jur_JointSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_SupplRangeSet_matches), "$getName", $rt_wrapFunction0(jur_SupplRangeSet_getName), "$contains1", $rt_wrapFunction1(jur_SupplRangeSet_contains), "$first", $rt_wrapFunction1(jur_SupplRangeSet_first), "$setNext", $rt_wrapFunction1(jur_SupplRangeSet_setNext), "$hasConsumed", $rt_wrapFunction1(jur_SupplRangeSet_hasConsumed)]]);
    $rt_metadata([jur_UCISupplRangeSet, "UCISupplRangeSet", 8, jur_SupplRangeSet, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_UCISupplRangeSet_contains), "$getName", $rt_wrapFunction0(jur_UCISupplRangeSet_getName)],
    jur_UCIRangeSet, "UCIRangeSet", 8, jur_LeafSet, [], 0, 0, 0, 0, ["$accepts", $rt_wrapFunction2(jur_UCIRangeSet_accepts), "$getName", $rt_wrapFunction0(jur_UCIRangeSet_getName)],
    jur_RangeSet, "RangeSet", 8, jur_LeafSet, [], 0, 0, 0, 0, ["$accepts", $rt_wrapFunction2(jur_RangeSet_accepts), "$getName", $rt_wrapFunction0(jur_RangeSet_getName), "$first", $rt_wrapFunction1(jur_RangeSet_first)],
    jur_HangulDecomposedCharSet, "HangulDecomposedCharSet", 8, jur_JointSet, [], 0, 0, 0, 0, ["$setNext", $rt_wrapFunction1(jur_HangulDecomposedCharSet_setNext), "$getName", $rt_wrapFunction0(jur_HangulDecomposedCharSet_getName), "$matches0", $rt_wrapFunction3(jur_HangulDecomposedCharSet_matches), "$first", $rt_wrapFunction1(jur_HangulDecomposedCharSet_first), "$hasConsumed", $rt_wrapFunction1(jur_HangulDecomposedCharSet_hasConsumed)],
    jur_CharSet, "CharSet", 8, jur_LeafSet, [], 0, 0, 0, 0, ["$charCount0", $rt_wrapFunction0(jur_CharSet_charCount), "$accepts", $rt_wrapFunction2(jur_CharSet_accepts), "$find0", $rt_wrapFunction3(jur_CharSet_find), "$findBack", $rt_wrapFunction4(jur_CharSet_findBack), "$getName", $rt_wrapFunction0(jur_CharSet_getName), "$first", $rt_wrapFunction1(jur_CharSet_first)],
    jur_UCICharSet, "UCICharSet", 8, jur_LeafSet, [], 0, 0, 0, 0, ["$accepts", $rt_wrapFunction2(jur_UCICharSet_accepts), "$getName", $rt_wrapFunction0(jur_UCICharSet_getName)],
    jur_CICharSet, "CICharSet", 8, jur_LeafSet, [], 0, 0, 0, 0, ["$accepts", $rt_wrapFunction2(jur_CICharSet_accepts), "$getName", $rt_wrapFunction0(jur_CICharSet_getName)],
    jur_DecomposedCharSet, "DecomposedCharSet", 8, jur_JointSet, [], 0, 0, 0, 0, ["$setNext", $rt_wrapFunction1(jur_DecomposedCharSet_setNext), "$matches0", $rt_wrapFunction3(jur_DecomposedCharSet_matches), "$getName", $rt_wrapFunction0(jur_DecomposedCharSet_getName), "$first", $rt_wrapFunction1(jur_DecomposedCharSet_first), "$hasConsumed", $rt_wrapFunction1(jur_DecomposedCharSet_hasConsumed)],
    jur_UCIDecomposedCharSet, "UCIDecomposedCharSet", 8, jur_DecomposedCharSet, [], 0, 0, 0, 0, 0,
    jur_CIDecomposedCharSet, "CIDecomposedCharSet", 8, jur_DecomposedCharSet, [], 0, 0, 0, 0, 0,
    jur_PossessiveGroupQuantifierSet, "PossessiveGroupQuantifierSet", 8, jur_GroupQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_PossessiveGroupQuantifierSet_matches)],
    jur_PosPlusGroupQuantifierSet, "PosPlusGroupQuantifierSet", 8, jur_GroupQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_PosPlusGroupQuantifierSet_matches)],
    jur_AltGroupQuantifierSet, "AltGroupQuantifierSet", 8, jur_GroupQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_AltGroupQuantifierSet_matches), "$setNext", $rt_wrapFunction1(jur_AltGroupQuantifierSet_setNext)],
    jur_PosAltGroupQuantifierSet, "PosAltGroupQuantifierSet", 8, jur_AltGroupQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_PosAltGroupQuantifierSet_matches), "$setNext", $rt_wrapFunction1(jur_PosAltGroupQuantifierSet_setNext)],
    jur_CompositeGroupQuantifierSet, "CompositeGroupQuantifierSet", 8, jur_GroupQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_CompositeGroupQuantifierSet_matches), "$getName", $rt_wrapFunction0(jur_CompositeGroupQuantifierSet_getName)],
    jur_PosCompositeGroupQuantifierSet, "PosCompositeGroupQuantifierSet", 8, jur_CompositeGroupQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_PosCompositeGroupQuantifierSet_matches)],
    jur_ReluctantGroupQuantifierSet, "ReluctantGroupQuantifierSet", 8, jur_GroupQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_ReluctantGroupQuantifierSet_matches)],
    jur_RelAltGroupQuantifierSet, "RelAltGroupQuantifierSet", 8, jur_AltGroupQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_RelAltGroupQuantifierSet_matches)],
    jur_RelCompositeGroupQuantifierSet, "RelCompositeGroupQuantifierSet", 8, jur_CompositeGroupQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_RelCompositeGroupQuantifierSet_matches)],
    jur_DotAllQuantifierSet, "DotAllQuantifierSet", 8, jur_QuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_DotAllQuantifierSet_matches), "$find0", $rt_wrapFunction3(jur_DotAllQuantifierSet_find), "$getName", $rt_wrapFunction0(jur_DotAllQuantifierSet_getName)],
    jur_DotQuantifierSet, "DotQuantifierSet", 8, jur_QuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_DotQuantifierSet_matches), "$find0", $rt_wrapFunction3(jur_DotQuantifierSet_find), "$getName", $rt_wrapFunction0(jur_DotQuantifierSet_getName)],
    jur_AbstractLineTerminator, 0, jl_Object, [], 1, 0, 0, 0, 0,
    jur_PossessiveQuantifierSet, "PossessiveQuantifierSet", 8, jur_LeafQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_PossessiveQuantifierSet_matches)],
    jur_PossessiveAltQuantifierSet, "PossessiveAltQuantifierSet", 8, jur_AltQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_PossessiveAltQuantifierSet_matches)],
    jur_PossessiveCompositeQuantifierSet, "PossessiveCompositeQuantifierSet", 8, jur_CompositeQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_PossessiveCompositeQuantifierSet_matches)],
    jur_ReluctantQuantifierSet, "ReluctantQuantifierSet", 8, jur_LeafQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_ReluctantQuantifierSet_matches)],
    jur_ReluctantAltQuantifierSet, "ReluctantAltQuantifierSet", 8, jur_AltQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_ReluctantAltQuantifierSet_matches)],
    jur_ReluctantCompositeQuantifierSet, "ReluctantCompositeQuantifierSet", 8, jur_CompositeQuantifierSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_ReluctantCompositeQuantifierSet_matches)],
    jur_SOLSet, "SOLSet", 8, jur_AbstractSet, [], 4, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_SOLSet_matches), "$hasConsumed", $rt_wrapFunction1(jur_SOLSet_hasConsumed), "$getName", $rt_wrapFunction0(jur_SOLSet_getName)],
    jur_WordBoundary, "WordBoundary", 8, jur_AbstractSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_WordBoundary_matches), "$hasConsumed", $rt_wrapFunction1(jur_WordBoundary_hasConsumed), "$getName", $rt_wrapFunction0(jur_WordBoundary_getName)],
    jur_PreviousMatch, "PreviousMatch", 8, jur_AbstractSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_PreviousMatch_matches), "$hasConsumed", $rt_wrapFunction1(jur_PreviousMatch_hasConsumed), "$getName", $rt_wrapFunction0(jur_PreviousMatch_getName)],
    jur_EOLSet, "EOLSet", 8, jur_AbstractSet, [], 4, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_EOLSet_matches), "$hasConsumed", $rt_wrapFunction1(jur_EOLSet_hasConsumed), "$getName", $rt_wrapFunction0(jur_EOLSet_getName)],
    jur_EOISet, "EOISet", 8, jur_AbstractSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_EOISet_matches), "$hasConsumed", $rt_wrapFunction1(jur_EOISet_hasConsumed), "$getName", $rt_wrapFunction0(jur_EOISet_getName)],
    jur_MultiLineSOLSet, "MultiLineSOLSet", 8, jur_AbstractSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_MultiLineSOLSet_matches), "$hasConsumed", $rt_wrapFunction1(jur_MultiLineSOLSet_hasConsumed), "$getName", $rt_wrapFunction0(jur_MultiLineSOLSet_getName)],
    jur_DotAllSet, "DotAllSet", 8, jur_JointSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_DotAllSet_matches), "$getName", $rt_wrapFunction0(jur_DotAllSet_getName), "$setNext", $rt_wrapFunction1(jur_DotAllSet_setNext), "$getType1", $rt_wrapFunction0(jur_DotAllSet_getType), "$hasConsumed", $rt_wrapFunction1(jur_DotAllSet_hasConsumed)],
    jur_DotSet, "DotSet", 8, jur_JointSet, [], 4, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_DotSet_matches), "$getName", $rt_wrapFunction0(jur_DotSet_getName), "$setNext", $rt_wrapFunction1(jur_DotSet_setNext), "$getType1", $rt_wrapFunction0(jur_DotSet_getType), "$hasConsumed", $rt_wrapFunction1(jur_DotSet_hasConsumed)],
    jur_UEOLSet, "UEOLSet", 8, jur_AbstractSet, [], 4, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_UEOLSet_matches), "$hasConsumed", $rt_wrapFunction1(jur_UEOLSet_hasConsumed), "$getName", $rt_wrapFunction0(jur_UEOLSet_getName)],
    jur_UMultiLineEOLSet, "UMultiLineEOLSet", 8, jur_AbstractSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_UMultiLineEOLSet_matches), "$hasConsumed", $rt_wrapFunction1(jur_UMultiLineEOLSet_hasConsumed), "$getName", $rt_wrapFunction0(jur_UMultiLineEOLSet_getName)],
    jur_MultiLineEOLSet, "MultiLineEOLSet", 8, jur_AbstractSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_MultiLineEOLSet_matches), "$hasConsumed", $rt_wrapFunction1(jur_MultiLineEOLSet_hasConsumed), "$getName", $rt_wrapFunction0(jur_MultiLineEOLSet_getName)],
    jur_CIBackReferenceSet, "CIBackReferenceSet", 8, jur_JointSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_CIBackReferenceSet_matches), "$setNext", $rt_wrapFunction1(jur_CIBackReferenceSet_setNext), "$getName", $rt_wrapFunction0(jur_CIBackReferenceSet_getName), "$hasConsumed", $rt_wrapFunction1(jur_CIBackReferenceSet_hasConsumed)],
    jur_BackReferenceSet, "BackReferenceSet", 8, jur_CIBackReferenceSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_BackReferenceSet_matches), "$find0", $rt_wrapFunction3(jur_BackReferenceSet_find), "$findBack", $rt_wrapFunction4(jur_BackReferenceSet_findBack), "$first", $rt_wrapFunction1(jur_BackReferenceSet_first), "$getName", $rt_wrapFunction0(jur_BackReferenceSet_getName)],
    jur_UCIBackReferenceSet, "UCIBackReferenceSet", 8, jur_CIBackReferenceSet, [], 0, 0, 0, 0, ["$matches0", $rt_wrapFunction3(jur_UCIBackReferenceSet_matches), "$getName", $rt_wrapFunction0(jur_UCIBackReferenceSet_getName)],
    jl_StringBuffer, 0, jl_AbstractStringBuilder, [jl_Appendable], 0, 3, 0, 0, ["$insert3", $rt_wrapFunction4(jl_StringBuffer_insert1), "$append6", $rt_wrapFunction3(jl_StringBuffer_append1), "$insert2", $rt_wrapFunction4(jl_StringBuffer_insert5), "$append5", $rt_wrapFunction3(jl_StringBuffer_append6), "$toString", $rt_wrapFunction0(jl_StringBuffer_toString), "$ensureCapacity", $rt_wrapFunction1(jl_StringBuffer_ensureCapacity), "$insert1", $rt_wrapFunction2(jl_StringBuffer_insert), "$insert", $rt_wrapFunction2(jl_StringBuffer_insert3)],
    jur_SequenceSet, "SequenceSet", 8, jur_LeafSet, [], 0, 0, 0, 0, ["$accepts", $rt_wrapFunction2(jur_SequenceSet_accepts), "$find0", $rt_wrapFunction3(jur_SequenceSet_find), "$findBack", $rt_wrapFunction4(jur_SequenceSet_findBack), "$getName", $rt_wrapFunction0(jur_SequenceSet_getName), "$first", $rt_wrapFunction1(jur_SequenceSet_first)],
    jur_UCISequenceSet, "UCISequenceSet", 8, jur_LeafSet, [], 0, 0, 0, 0, ["$accepts", $rt_wrapFunction2(jur_UCISequenceSet_accepts), "$getName", $rt_wrapFunction0(jur_UCISequenceSet_getName)],
    jur_CISequenceSet, "CISequenceSet", 8, jur_LeafSet, [], 0, 0, 0, 0, ["$accepts", $rt_wrapFunction2(jur_CISequenceSet_accepts), "$getName", $rt_wrapFunction0(jur_CISequenceSet_getName)],
    otci_CharFlow, 0, jl_Object, [], 0, 3, 0, 0, 0,
    otci_Base46, 0, jl_Object, [], 4, 3, 0, 0, 0,
    ju_AbstractQueue, 0, ju_AbstractCollection, [ju_Queue], 1, 3, 0, 0, 0,
    ju_PriorityQueue, 0, ju_AbstractQueue, [ji_Serializable], 0, 3, 0, 0, ["$size", $rt_wrapFunction0(ju_PriorityQueue_size)]]);
    $rt_metadata([otcit_DateTimeZoneProvider$1, 0, jl_Object, [ju_Comparator], 0, 0, 0, 0, ["$compare", $rt_wrapFunction2(otcit_DateTimeZoneProvider$1_compare)],
    otcit_AliasDateTimeZone, "AliasDateTimeZone", 23, otcit_StorableDateTimeZone, [], 0, 3, 0, 0, ["$getOffset", $rt_wrapFunction1(otcit_AliasDateTimeZone_getOffset), "$getStandardOffset", $rt_wrapFunction1(otcit_AliasDateTimeZone_getStandardOffset), "$previousTransition", $rt_wrapFunction1(otcit_AliasDateTimeZone_previousTransition)],
    otcit_DateTimeZoneProvider$Score, "DateTimeZoneProvider$Score", 23, jl_Object, [], 0, 0, 0, 0, 0,
    juf_Function, 0, jl_Object, [], 3, 3, 0, 0, 0,
    otcit_DateTimeZoneProvider$detectTimezone$lambda$_4_0, 0, jl_Object, [juf_Function], 0, 3, 0, 0, 0,
    ju_Dictionary, 0, jl_Object, [], 1, 3, 0, 0, 0,
    ju_Hashtable, 0, ju_Dictionary, [ju_Map, jl_Cloneable, ji_Serializable], 0, 3, 0, 0, 0,
    ju_Properties, 0, ju_Hashtable, [], 0, 3, 0, 0, 0,
    jm_RoundingMode, "RoundingMode", 13, jl_Enum, [], 12, 3, 0, jm_RoundingMode_$callClinit, 0,
    ju_Currency, "Currency", 6, jl_Object, [ji_Serializable], 4, 3, 0, 0, ["$toString", $rt_wrapFunction0(ju_Currency_toString)],
    jur_AbstractCharClass$PredefinedCharacterClasses, 0, jl_Object, [], 4, 0, 0, jur_AbstractCharClass$PredefinedCharacterClasses_$callClinit, 0,
    jur_UCISupplCharSet, "UCISupplCharSet", 8, jur_LeafSet, [], 0, 0, 0, 0, ["$accepts", $rt_wrapFunction2(jur_UCISupplCharSet_accepts), "$getName", $rt_wrapFunction0(jur_UCISupplCharSet_getName)],
    jur_LowSurrogateCharSet, "LowSurrogateCharSet", 8, jur_JointSet, [], 0, 0, 0, 0, ["$setNext", $rt_wrapFunction1(jur_LowSurrogateCharSet_setNext), "$matches0", $rt_wrapFunction3(jur_LowSurrogateCharSet_matches), "$find0", $rt_wrapFunction3(jur_LowSurrogateCharSet_find), "$findBack", $rt_wrapFunction4(jur_LowSurrogateCharSet_findBack), "$getName", $rt_wrapFunction0(jur_LowSurrogateCharSet_getName), "$first", $rt_wrapFunction1(jur_LowSurrogateCharSet_first), "$hasConsumed", $rt_wrapFunction1(jur_LowSurrogateCharSet_hasConsumed)],
    jur_HighSurrogateCharSet, "HighSurrogateCharSet", 8, jur_JointSet, [], 0, 0, 0, 0, ["$setNext", $rt_wrapFunction1(jur_HighSurrogateCharSet_setNext), "$matches0", $rt_wrapFunction3(jur_HighSurrogateCharSet_matches), "$find0", $rt_wrapFunction3(jur_HighSurrogateCharSet_find), "$findBack", $rt_wrapFunction4(jur_HighSurrogateCharSet_findBack), "$getName", $rt_wrapFunction0(jur_HighSurrogateCharSet_getName), "$first", $rt_wrapFunction1(jur_HighSurrogateCharSet_first), "$hasConsumed", $rt_wrapFunction1(jur_HighSurrogateCharSet_hasConsumed)],
    jur_SupplCharSet, "SupplCharSet", 8, jur_LeafSet, [], 0, 0, 0, 0, ["$accepts", $rt_wrapFunction2(jur_SupplCharSet_accepts), "$find0", $rt_wrapFunction3(jur_SupplCharSet_find), "$findBack", $rt_wrapFunction4(jur_SupplCharSet_findBack), "$getName", $rt_wrapFunction0(jur_SupplCharSet_getName), "$first", $rt_wrapFunction1(jur_SupplCharSet_first)],
    jur_AbstractLineTerminator$1, 0, jur_AbstractLineTerminator, [], 0, 0, 0, 0, ["$isLineTerminator", $rt_wrapFunction1(jur_AbstractLineTerminator$1_isLineTerminator), "$isAfterLineTerminator", $rt_wrapFunction2(jur_AbstractLineTerminator$1_isAfterLineTerminator)],
    jur_AbstractLineTerminator$2, 0, jur_AbstractLineTerminator, [], 0, 0, 0, 0, ["$isLineTerminator", $rt_wrapFunction1(jur_AbstractLineTerminator$2_isLineTerminator), "$isAfterLineTerminator", $rt_wrapFunction2(jur_AbstractLineTerminator$2_isAfterLineTerminator)],
    jur_SequenceSet$IntHash, 0, jl_Object, [], 0, 0, 0, 0, 0,
    nle_EaglerInputStream, 0, ji_InputStream, [], 0, 3, 0, 0, ["$read0", $rt_wrapFunction0(nle_EaglerInputStream_read), "$read", $rt_wrapFunction3(nle_EaglerInputStream_read0), "$close", $rt_wrapFunction0(nle_EaglerInputStream_close)],
    otcic_CurrencyHelper, 0, jl_Object, [], 4, 3, 0, 0, 0,
    jl_NegativeArraySizeException, "NegativeArraySizeException", 15, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    jur_IntHash, 0, jl_Object, [], 0, 0, 0, 0, 0,
    jur_AbstractCharClass$LazySpace, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazySpace_computeValue)],
    jur_AbstractCharClass$LazyDigit, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyDigit_computeValue)],
    jur_AbstractCharClass$LazyLower, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyLower_computeValue)],
    jur_AbstractCharClass$LazyUpper, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyUpper_computeValue)],
    jur_AbstractCharClass$LazyASCII, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyASCII_computeValue)],
    jur_AbstractCharClass$LazyAlpha, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyAlpha_computeValue)],
    jur_AbstractCharClass$LazyAlnum, 0, jur_AbstractCharClass$LazyAlpha, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyAlnum_computeValue)],
    jur_AbstractCharClass$LazyPunct, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyPunct_computeValue)],
    jur_AbstractCharClass$LazyGraph, 0, jur_AbstractCharClass$LazyAlnum, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyGraph_computeValue)],
    jur_AbstractCharClass$LazyPrint, 0, jur_AbstractCharClass$LazyGraph, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyPrint_computeValue)],
    jur_AbstractCharClass$LazyBlank, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyBlank_computeValue)],
    jur_AbstractCharClass$LazyCntrl, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyCntrl_computeValue)],
    jur_AbstractCharClass$LazyXDigit, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyXDigit_computeValue)],
    jur_AbstractCharClass$LazyJavaLowerCase, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyJavaLowerCase_computeValue)],
    jur_AbstractCharClass$LazyJavaUpperCase, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyJavaUpperCase_computeValue)],
    jur_AbstractCharClass$LazyJavaWhitespace, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyJavaWhitespace_computeValue)],
    jur_AbstractCharClass$LazyJavaMirrored, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyJavaMirrored_computeValue)],
    jur_AbstractCharClass$LazyJavaDefined, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyJavaDefined_computeValue)],
    jur_AbstractCharClass$LazyJavaDigit, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyJavaDigit_computeValue)],
    jur_AbstractCharClass$LazyJavaIdentifierIgnorable, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyJavaIdentifierIgnorable_computeValue)],
    jur_AbstractCharClass$LazyJavaISOControl, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyJavaISOControl_computeValue)],
    jur_AbstractCharClass$LazyJavaJavaIdentifierPart, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyJavaJavaIdentifierPart_computeValue)],
    jur_AbstractCharClass$LazyJavaJavaIdentifierStart, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyJavaJavaIdentifierStart_computeValue)],
    jur_AbstractCharClass$LazyJavaLetter, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyJavaLetter_computeValue)],
    jur_AbstractCharClass$LazyJavaLetterOrDigit, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyJavaLetterOrDigit_computeValue)],
    jur_AbstractCharClass$LazyJavaSpaceChar, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyJavaSpaceChar_computeValue)],
    jur_AbstractCharClass$LazyJavaTitleCase, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyJavaTitleCase_computeValue)],
    jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart_computeValue)]]);
    $rt_metadata([jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart_computeValue)],
    jur_AbstractCharClass$LazyWord, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyWord_computeValue)],
    jur_AbstractCharClass$LazyNonWord, 0, jur_AbstractCharClass$LazyWord, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyNonWord_computeValue)],
    jur_AbstractCharClass$LazyNonSpace, 0, jur_AbstractCharClass$LazySpace, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyNonSpace_computeValue)],
    jur_AbstractCharClass$LazyNonDigit, 0, jur_AbstractCharClass$LazyDigit, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyNonDigit_computeValue)],
    jur_AbstractCharClass$LazyRange, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyRange_computeValue)],
    jur_AbstractCharClass$LazySpecialsBlock, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazySpecialsBlock_computeValue)],
    jur_AbstractCharClass$LazyCategory, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyCategory_computeValue)],
    jur_AbstractCharClass$LazyCategoryScope, 0, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, 0, ["$computeValue", $rt_wrapFunction0(jur_AbstractCharClass$LazyCategoryScope_computeValue)],
    otcit_DateTimeZoneBuilder$PrecalculatedZone, "DateTimeZoneBuilder$PrecalculatedZone", 23, otcit_StorableDateTimeZone, [], 4, 0, 0, 0, ["$getOffset", $rt_wrapFunction1(otcit_DateTimeZoneBuilder$PrecalculatedZone_getOffset), "$getStandardOffset", $rt_wrapFunction1(otcit_DateTimeZoneBuilder$PrecalculatedZone_getStandardOffset), "$previousTransition", $rt_wrapFunction1(otcit_DateTimeZoneBuilder$PrecalculatedZone_previousTransition)],
    otcit_DateTimeZoneBuilder$DSTZone, "DateTimeZoneBuilder$DSTZone", 23, otcit_StorableDateTimeZone, [], 4, 0, 0, 0, ["$getOffset", $rt_wrapFunction1(otcit_DateTimeZoneBuilder$DSTZone_getOffset), "$getStandardOffset", $rt_wrapFunction1(otcit_DateTimeZoneBuilder$DSTZone_getStandardOffset), "$previousTransition", $rt_wrapFunction1(otcit_DateTimeZoneBuilder$DSTZone_previousTransition)],
    otcit_DateTimeZoneBuilder$RuleBasedZone, "DateTimeZoneBuilder$RuleBasedZone", 23, otcit_StorableDateTimeZone, [], 4, 0, 0, 0, ["$getOffset", $rt_wrapFunction1(otcit_DateTimeZoneBuilder$RuleBasedZone_getOffset), "$getStandardOffset", $rt_wrapFunction1(otcit_DateTimeZoneBuilder$RuleBasedZone_getStandardOffset), "$previousTransition", $rt_wrapFunction1(otcit_DateTimeZoneBuilder$RuleBasedZone_previousTransition)],
    ju_Enumeration, 0, jl_Object, [], 3, 3, 0, 0, 0,
    ju_Hashtable$1, 0, jl_Object, [ju_Enumeration], 0, 0, 0, 0, 0,
    ju_Hashtable$2, 0, jl_Object, [ju_Iterator], 0, 0, 0, 0, 0,
    otciu_CharMapping, 0, jl_Object, [], 0, 3, 0, 0, 0,
    otcit_CachedDateTimeZone, "CachedDateTimeZone", 23, otcit_StorableDateTimeZone, [], 4, 3, 0, 0, ["$getOffset", $rt_wrapFunction1(otcit_CachedDateTimeZone_getOffset), "$getStandardOffset", $rt_wrapFunction1(otcit_CachedDateTimeZone_getStandardOffset), "$previousTransition", $rt_wrapFunction1(otcit_CachedDateTimeZone_previousTransition)],
    otcit_DateTimeZoneBuilder$Recurrence, 0, jl_Object, [], 4, 0, 0, 0, 0,
    otcit_DateTimeZoneBuilder, 0, jl_Object, [], 0, 3, 0, 0, 0,
    otcit_DateTimeZoneBuilder$RuleSet, "DateTimeZoneBuilder$RuleSet", 23, jl_Object, [], 4, 0, 0, otcit_DateTimeZoneBuilder$RuleSet_$callClinit, 0,
    otcit_DateTimeZoneBuilder$Rule, "DateTimeZoneBuilder$Rule", 23, jl_Object, [], 4, 0, 0, 0, 0,
    otcit_DateTimeZoneBuilder$OfYear, 0, jl_Object, [], 4, 0, 0, 0, 0,
    ju_Map$Entry, 0, jl_Object, [], 3, 3, 0, 0, 0,
    ju_MapEntry, 0, jl_Object, [ju_Map$Entry, jl_Cloneable], 0, 0, 0, 0, ["$equals", $rt_wrapFunction1(ju_MapEntry_equals), "$getKey0", $rt_wrapFunction0(ju_MapEntry_getKey), "$getValue1", $rt_wrapFunction0(ju_MapEntry_getValue), "$hashCode0", $rt_wrapFunction0(ju_MapEntry_hashCode), "$toString", $rt_wrapFunction0(ju_MapEntry_toString)],
    ju_Hashtable$Entry, 0, ju_MapEntry, [], 0, 0, 0, 0, 0,
    otciu_UnicodeHelper$Range, "UnicodeHelper$Range", 24, jl_Object, [], 0, 3, 0, 0, 0,
    otcit_CachedDateTimeZone$Info, 0, jl_Object, [], 4, 0, 0, 0, 0,
    ju_AbstractList$1, 0, jl_Object, [ju_Iterator], 0, 0, 0, 0, ["$hasNext", $rt_wrapFunction0(ju_AbstractList$1_hasNext), "$next", $rt_wrapFunction0(ju_AbstractList$1_next)],
    ju_HashMap$HashEntry, "HashMap$HashEntry", 6, ju_MapEntry, [], 0, 0, 0, 0, 0,
    jnc_CodingErrorAction, 0, jl_Object, [], 0, 3, 0, jnc_CodingErrorAction_$callClinit, 0,
    jnc_CharacterCodingException, 0, ji_IOException, [], 0, 3, 0, 0, 0,
    jl_AssertionError, "AssertionError", 15, jl_Error, [], 0, 3, 0, 0, 0,
    jl_StringIndexOutOfBoundsException, "StringIndexOutOfBoundsException", 15, jl_IndexOutOfBoundsException, [], 0, 3, 0, 0, 0,
    nms_MinecraftError, "MinecraftError", 28, jl_Error, [], 0, 3, 0, 0, 0,
    nms_AxisAlignedBB, "AxisAlignedBB", 28, jl_Object, [], 0, 3, 0, 0, ["$toString", $rt_wrapFunction0(nms_AxisAlignedBB_toString)],
    nms_Vec3D, "Vec3D", 28, jl_Object, [], 0, 3, 0, 0, ["$toString", $rt_wrapFunction0(nms_Vec3D_toString)],
    olo_GL11, 0, nleo_EaglercraftGPU, [], 0, 3, 0, 0, 0,
    nms_IBlockAccess, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nms_World, 0, jl_Object, [nms_IBlockAccess], 0, 3, 0, 0, ["$getWorldChunkManager", $rt_wrapFunction0(nms_World_getWorldChunkManager), "$setSpawnLocation", $rt_wrapFunction0(nms_World_setSpawnLocation), "$getBlockId", $rt_wrapFunction3(nms_World_getBlockId), "$setBlockAndMetadata", function(var_1, var_2, var_3, var_4, var_5) { return nms_World_setBlockAndMetadata(this, var_1, var_2, var_3, var_4, var_5); }, "$setBlock", $rt_wrapFunction4(nms_World_setBlock), "$getBlockMaterial", $rt_wrapFunction3(nms_World_getBlockMaterial),
    "$getBlockMetadata", $rt_wrapFunction3(nms_World_getBlockMetadata), "$setBlockMetadata", $rt_wrapFunction4(nms_World_setBlockMetadata), "$getLightBrightness", $rt_wrapFunction3(nms_World_getLightBrightness), "$entityJoinedWorld", $rt_wrapFunction1(nms_World_entityJoinedWorld), "$obtainEntitySkin", $rt_wrapFunction1(nms_World_obtainEntitySkin), "$releaseEntitySkin", $rt_wrapFunction1(nms_World_releaseEntitySkin), "$setEntityDead", $rt_wrapFunction1(nms_World_setEntityDead), "$scheduleBlockUpdate", function(var_1,
    var_2, var_3, var_4, var_5) { nms_World_scheduleBlockUpdate(this, var_1, var_2, var_3, var_4, var_5); }, "$isBlockOpaqueCube", $rt_wrapFunction3(nms_World_isBlockOpaqueCube), "$tick", $rt_wrapFunction0(nms_World_tick), "$updateBlocksAndPlayCaveSounds", $rt_wrapFunction0(nms_World_updateBlocksAndPlayCaveSounds), "$TickUpdates", $rt_wrapFunction1(nms_World_TickUpdates), "$sendQuittingDisconnectingPacket", $rt_wrapFunction0(nms_World_sendQuittingDisconnectingPacket)],
    nms_GameSettings, 0, jl_Object, [], 0, 3, 0, nms_GameSettings_$callClinit, 0,
    nle_KeyboardConstants, 0, jl_Object, [], 0, 3, 0, nle_KeyboardConstants_$callClinit, 0,
    nle_Keyboard, 0, nle_KeyboardConstants, [], 0, 3, 0, 0, 0,
    oli_Keyboard, 0, nle_Keyboard, [], 0, 3, 0, 0, 0,
    nms_WorldRenderer, "WorldRenderer", 28, jl_Object, [], 0, 3, 0, nms_WorldRenderer_$callClinit, 0,
    nms_MinecraftException, 0, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    nms_GuiScreen, 0, nms_Gui, [], 0, 3, 0, 0, ["$keyTyped", $rt_wrapFunction2(nms_GuiScreen_keyTyped), "$mouseClicked", $rt_wrapFunction3(nms_GuiScreen_mouseClicked), "$mouseMovedOrUp", $rt_wrapFunction3(nms_GuiScreen_mouseMovedOrUp), "$actionPerformed", $rt_wrapFunction1(nms_GuiScreen_actionPerformed), "$handleMouseInput", $rt_wrapFunction0(nms_GuiScreen_handleMouseInput), "$updateScreen", $rt_wrapFunction0(nms_GuiScreen_updateScreen), "$onGuiClosed", $rt_wrapFunction0(nms_GuiScreen_onGuiClosed), "$doesGuiPauseGame",
    $rt_wrapFunction0(nms_GuiScreen_doesGuiPauseGame)],
    nms_GuiConflictWarning, "GuiConflictWarning", 28, nms_GuiScreen, [], 0, 3, 0, 0, ["$updateScreen", $rt_wrapFunction0(nms_GuiConflictWarning_updateScreen), "$initGui", $rt_wrapFunction0(nms_GuiConflictWarning_initGui), "$actionPerformed", $rt_wrapFunction1(nms_GuiConflictWarning_actionPerformed), "$drawScreen", $rt_wrapFunction3(nms_GuiConflictWarning_drawScreen)],
    jt_FieldPosition, 0, jl_Object, [], 0, 3, 0, 0, 0,
    oacl_StringUtils, 0, jl_Object, [], 0, 3, 0, 0, 0,
    ji_EOFException, "EOFException", 12, ji_IOException, [], 0, 3, 0, 0, 0]);
    $rt_metadata([nms_PositionTexureVertex, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_TexturedQuad, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nlei_PlatformInput$12$1, 0, jl_Object, [otjb_TimerHandler], 0, 0, 0, 0, ["$onTimer$exported$0", $rt_wrapFunction0(nlei_PlatformInput$12$1_onTimer$exported$0)],
    cjj_Inflate, 0, jl_Object, [], 4, 0, 0, 0, 0,
    nms_ShapedRecipes, "ShapedRecipes", 28, jl_Object, [nms_IRecipe], 0, 3, 0, 0, ["$func_25117_b", $rt_wrapFunction0(nms_ShapedRecipes_func_25117_b), "$matches", $rt_wrapFunction1(nms_ShapedRecipes_matches), "$getCraftingResult", $rt_wrapFunction1(nms_ShapedRecipes_getCraftingResult), "$getRecipeSize", $rt_wrapFunction0(nms_ShapedRecipes_getRecipeSize)],
    jt_DecimalFormatParser, 0, jl_Object, [], 0, 0, 0, 0, 0,
    jur_AbstractCharClass$1, "AbstractCharClass$1", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$1_contains)],
    jur_AbstractCharClass$2, "AbstractCharClass$2", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$2_contains)],
    ju_NoSuchElementException, "NoSuchElementException", 6, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    ji_BufferedInputStream, 0, ji_FilterInputStream, [], 0, 3, 0, 0, 0,
    jur_CharClass$18, "CharClass$18", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$18_contains), "$toString", $rt_wrapFunction0(jur_CharClass$18_toString)],
    jur_CharClass$1, 0, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$1_contains)],
    jur_CharClass$3, 0, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$3_contains)],
    jur_CharClass$2, 0, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$2_contains)],
    jur_CharClass$5, 0, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$5_contains)],
    jur_CharClass$4, 0, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$4_contains)],
    jur_CharClass$7, 0, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$7_contains)],
    jur_CharClass$6, 0, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$6_contains)],
    jur_CharClass$9, 0, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$9_contains)],
    jur_CharClass$8, 0, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$8_contains)],
    jur_CharClass$11, 0, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$11_contains)],
    jur_CharClass$10, 0, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$10_contains)],
    jur_CharClass$13, 0, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$13_contains)],
    jur_CharClass$12, 0, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$12_contains)],
    jur_CharClass$15, 0, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$15_contains)],
    jur_CharClass$14, 0, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$14_contains)],
    jur_CharClass$17, 0, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$17_contains)],
    jur_CharClass$16, 0, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_CharClass$16_contains)],
    jnc_CharsetDecoder, 0, jl_Object, [], 1, 3, 0, 0, 0,
    ju_Formatter, 0, jl_Object, [ji_Closeable, ji_Flushable], 4, 3, 0, 0, 0,
    olug_GLU, 0, olo_GL11, [], 0, 3, 0, 0, 0,
    nms_PlayerController, 0, jl_Object, [], 0, 3, 0, 0, ["$sendUseItem", $rt_wrapFunction3(nms_PlayerController_sendUseItem), "$sendPlaceBlock", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return nms_PlayerController_sendPlaceBlock(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$createPlayer", $rt_wrapFunction1(nms_PlayerController_createPlayer), "$func_6475_a", $rt_wrapFunction2(nms_PlayerController_func_6475_a), "$func_6472_b", $rt_wrapFunction2(nms_PlayerController_func_6472_b),
    "$func_20085_a", $rt_wrapFunction4(nms_PlayerController_func_20085_a), "$func_20086_a", $rt_wrapFunction2(nms_PlayerController_func_20086_a)],
    nms_Tessellator, 0, jl_Object, [], 0, 3, 0, nms_Tessellator_$callClinit, 0,
    oacl_ArrayUtils, 0, jl_Object, [], 0, 3, 0, 0, 0,
    jt_SimpleDatePatternParser, 0, jl_Object, [], 0, 0, 0, 0, 0,
    jt_DateFormatElement, 0, jl_Object, [], 1, 0, 0, 0, 0,
    cch_BufferAllocationException, "BufferAllocationException", 2, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    jl_Double, "Double", 15, jl_Number, [jl_Comparable], 0, 3, 0, 0, ["$intValue0", $rt_wrapFunction0(jl_Double_intValue), "$toString", $rt_wrapFunction0(jl_Double_toString), "$hashCode0", $rt_wrapFunction0(jl_Double_hashCode)],
    cch_BitUtil, 0, jl_Object, [], 4, 0, 0, 0, 0,
    nms_AchievementMap, 0, jl_Object, [], 0, 3, 0, nms_AchievementMap_$callClinit, 0,
    nms_AchievementList, 0, jl_Object, [], 0, 3, 0, nms_AchievementList_$callClinit, 0,
    nms_Achievement, 0, nms_StatBasic, [], 0, 3, 0, 0, 0,
    jn_CharBufferImpl, 0, jn_CharBuffer, [], 1, 0, 0, 0, 0,
    jn_CharBufferOverArray, 0, jn_CharBufferImpl, [], 0, 0, 0, 0, 0,
    jnc_CharsetEncoder, 0, jl_Object, [], 1, 3, 0, 0, 0,
    jnc_CoderResult, 0, jl_Object, [], 0, 3, 0, 0, 0,
    jl_Thread$switchContext$lambda$_19_0, 0, jl_Object, [otp_PlatformRunnable], 0, 3, 0, 0, ["$run", $rt_wrapFunction0(jl_Thread$switchContext$lambda$_19_0_run)],
    nleo_WorldRenderer, 0, jl_Object, [], 0, 3, 0, nleo_WorldRenderer_$callClinit, 0,
    ju_IllegalFormatException, 0, jl_IllegalArgumentException, [], 0, 3, 0, 0, 0,
    juf_IntBinaryOperator, 0, jl_Object, [], 3, 3, 0, 0, 0]);
    $rt_metadata([nleo_WorldRenderer$_init_$lambda$_0_0, 0, jl_Object, [juf_IntBinaryOperator], 0, 3, 0, 0, 0,
    nleo_WorldRenderer$_init_$lambda$_0_1, 0, jl_Object, [juf_IntBinaryOperator], 0, 3, 0, 0, 0,
    nlev_Vector3f, 0, nlev_Vector, [ji_Serializable, nlev_ReadableVector3f, nlev_WritableVector3f], 0, 3, 0, 0, 0,
    ji_Reader, 0, jl_Object, [ji_Closeable, jl_Readable], 1, 3, 0, 0, 0,
    ji_BufferedReader, 0, ji_Reader, [], 0, 3, 0, 0, 0,
    ji_InputStreamReader, 0, ji_Reader, [], 0, 3, 0, 0, 0,
    ju_GenericEnumSet$1, 0, jl_Object, [ju_Iterator], 0, 0, 0, 0, 0,
    jur_BackReferencedSingleSet, "BackReferencedSingleSet", 8, jur_SingleSet, [], 0, 0, 0, 0, ["$find0", $rt_wrapFunction3(jur_BackReferencedSingleSet_find), "$findBack", $rt_wrapFunction4(jur_BackReferencedSingleSet_findBack), "$processBackRefReplacement", $rt_wrapFunction0(jur_BackReferencedSingleSet_processBackRefReplacement)],
    ju_HashMap$2, 0, ju_AbstractCollection, [], 0, 0, 0, 0, ["$contains0", $rt_wrapFunction1(ju_HashMap$2_contains), "$iterator", $rt_wrapFunction0(ju_HashMap$2_iterator)],
    nleit_TeaVMClientConfigAdapterHooks$callCrashReportHook$lambda$_4_0, 0, jl_Object, [jl_Runnable], 0, 3, 0, 0, 0,
    juf_Supplier, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nleit_TeaVMClientConfigAdapterHooks$callLocalStorageLoadHook$lambda$_2_0, 0, jl_Object, [juf_Supplier], 0, 3, 0, 0, 0,
    nleit_TeaVMClientConfigAdapterHooks$callLocalStorageSavedHook$lambda$_1_0, 0, jl_Object, [jl_Runnable], 0, 3, 0, 0, ["$run", $rt_wrapFunction0(nleit_TeaVMClientConfigAdapterHooks$callLocalStorageSavedHook$lambda$_1_0_run)],
    jl_ArithmeticException, 0, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    nleo_VertexFormat, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nleo_WorldVertexBufferUploader, 0, jl_Object, [], 0, 3, 0, 0, 0,
    jnci_BufferedDecoder, 0, jnc_CharsetDecoder, [], 1, 3, 0, 0, 0,
    jnci_UTF16Decoder, 0, jnci_BufferedDecoder, [], 0, 3, 0, 0, ["$arrayDecode", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return jnci_UTF16Decoder_arrayDecode(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    jnci_Iso8859Decoder, 0, jnci_BufferedDecoder, [], 0, 3, 0, 0, ["$arrayDecode", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return jnci_Iso8859Decoder_arrayDecode(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    jnci_AsciiDecoder, 0, jnci_BufferedDecoder, [], 0, 3, 0, 0, ["$arrayDecode", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return jnci_AsciiDecoder_arrayDecode(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    nleito_JSEaglercraftXOptsHooks, 0, jl_Object, [otj_JSObject], 1, 3, 0, 0, 0,
    jl_Float, "Float", 15, jl_Number, [jl_Comparable], 0, 3, 0, 0, 0,
    jnci_UTF8Decoder, 0, jnci_BufferedDecoder, [], 0, 3, 0, 0, ["$arrayDecode", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return jnci_UTF8Decoder_arrayDecode(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    nms_ShapelessRecipes, "ShapelessRecipes", 28, jl_Object, [nms_IRecipe], 0, 3, 0, 0, ["$func_25117_b", $rt_wrapFunction0(nms_ShapelessRecipes_func_25117_b), "$matches", $rt_wrapFunction1(nms_ShapelessRecipes_matches), "$getCraftingResult", $rt_wrapFunction1(nms_ShapelessRecipes_getCraftingResult), "$getRecipeSize", $rt_wrapFunction0(nms_ShapelessRecipes_getRecipeSize)],
    nms_Entity, "Entity", 28, jl_Object, [], 1, 3, 0, 0, ["$equals", $rt_wrapFunction1(nms_Entity_equals), "$hashCode0", $rt_wrapFunction0(nms_Entity_hashCode), "$setEntityDead0", $rt_wrapFunction0(nms_Entity_setEntityDead), "$onEntityUpdate", $rt_wrapFunction0(nms_Entity_onEntityUpdate), "$kill", $rt_wrapFunction0(nms_Entity_kill), "$moveEntity", $rt_wrapFunction3(nms_Entity_moveEntity), "$canTriggerWalking", $rt_wrapFunction0(nms_Entity_canTriggerWalking), "$getBoundingBox0", $rt_wrapFunction0(nms_Entity_getBoundingBox),
    "$dealFireDamage", $rt_wrapFunction1(nms_Entity_dealFireDamage), "$fall", $rt_wrapFunction1(nms_Entity_fall), "$handleWaterMovement", $rt_wrapFunction0(nms_Entity_handleWaterMovement), "$getEyeHeight", $rt_wrapFunction0(nms_Entity_getEyeHeight), "$getEntityBrightness", $rt_wrapFunction1(nms_Entity_getEntityBrightness), "$onCollideWithPlayer", $rt_wrapFunction1(nms_Entity_onCollideWithPlayer), "$applyEntityCollision", $rt_wrapFunction1(nms_Entity_applyEntityCollision), "$attackEntityFrom", $rt_wrapFunction2(nms_Entity_attackEntityFrom),
    "$canBeCollidedWith", $rt_wrapFunction0(nms_Entity_canBeCollidedWith), "$canBePushed", $rt_wrapFunction0(nms_Entity_canBePushed), "$addToPlayerScore", $rt_wrapFunction2(nms_Entity_addToPlayerScore), "$isInRangeToRenderDist", $rt_wrapFunction1(nms_Entity_isInRangeToRenderDist), "$getShadowSize", $rt_wrapFunction0(nms_Entity_getShadowSize), "$isEntityAlive", $rt_wrapFunction0(nms_Entity_isEntityAlive), "$isEntityInsideOpaqueBlock", $rt_wrapFunction0(nms_Entity_isEntityInsideOpaqueBlock), "$interact", $rt_wrapFunction1(nms_Entity_interact),
    "$getCollisionBox", $rt_wrapFunction1(nms_Entity_getCollisionBox), "$updateRidden", $rt_wrapFunction0(nms_Entity_updateRidden), "$updateRiderPosition", $rt_wrapFunction0(nms_Entity_updateRiderPosition), "$getYOffset", $rt_wrapFunction0(nms_Entity_getYOffset), "$getMountedYOffset", $rt_wrapFunction0(nms_Entity_getMountedYOffset), "$setPositionAndRotation2", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_Entity_setPositionAndRotation2(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$getCollisionBorderSize",
    $rt_wrapFunction0(nms_Entity_getCollisionBorderSize), "$setInPortal", $rt_wrapFunction0(nms_Entity_setInPortal), "$setVelocity", $rt_wrapFunction3(nms_Entity_setVelocity), "$handleHealthUpdate", $rt_wrapFunction1(nms_Entity_handleHealthUpdate), "$performHurtAnimation", $rt_wrapFunction0(nms_Entity_performHurtAnimation), "$outfitWithItem", $rt_wrapFunction3(nms_Entity_outfitWithItem), "$isSneaking", $rt_wrapFunction0(nms_Entity_isSneaking)],
    nms_EntityLiving, "EntityLiving", 28, nms_Entity, [], 1, 3, 0, 0, ["$entityInit", $rt_wrapFunction0(nms_EntityLiving_entityInit), "$getEntityTexture", $rt_wrapFunction0(nms_EntityLiving_getEntityTexture), "$canBeCollidedWith", $rt_wrapFunction0(nms_EntityLiving_canBeCollidedWith), "$canBePushed", $rt_wrapFunction0(nms_EntityLiving_canBePushed), "$getEyeHeight", $rt_wrapFunction0(nms_EntityLiving_getEyeHeight), "$getTalkInterval", $rt_wrapFunction0(nms_EntityLiving_getTalkInterval), "$onEntityUpdate", $rt_wrapFunction0(nms_EntityLiving_onEntityUpdate),
    "$updateRidden", $rt_wrapFunction0(nms_EntityLiving_updateRidden), "$setPositionAndRotation2", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_EntityLiving_setPositionAndRotation2(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$onUpdate", $rt_wrapFunction0(nms_EntityLiving_onUpdate), "$heal", $rt_wrapFunction1(nms_EntityLiving_heal), "$attackEntityFrom", $rt_wrapFunction2(nms_EntityLiving_attackEntityFrom), "$performHurtAnimation", $rt_wrapFunction0(nms_EntityLiving_performHurtAnimation),
    "$damageEntity", $rt_wrapFunction1(nms_EntityLiving_damageEntity), "$getSoundVolume", $rt_wrapFunction0(nms_EntityLiving_getSoundVolume), "$getLivingSound", $rt_wrapFunction0(nms_EntityLiving_getLivingSound), "$getHurtSound", $rt_wrapFunction0(nms_EntityLiving_getHurtSound), "$getDeathSound", $rt_wrapFunction0(nms_EntityLiving_getDeathSound), "$onDeath", $rt_wrapFunction1(nms_EntityLiving_onDeath), "$dropFewItems", $rt_wrapFunction0(nms_EntityLiving_dropFewItems), "$getDropItemId", $rt_wrapFunction0(nms_EntityLiving_getDropItemId),
    "$fall", $rt_wrapFunction1(nms_EntityLiving_fall), "$moveEntityWithHeading", $rt_wrapFunction2(nms_EntityLiving_moveEntityWithHeading), "$isOnLadder", $rt_wrapFunction0(nms_EntityLiving_isOnLadder), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityLiving_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntityLiving_readEntityFromNBT), "$isEntityAlive", $rt_wrapFunction0(nms_EntityLiving_isEntityAlive), "$canBreatheUnderwater", $rt_wrapFunction0(nms_EntityLiving_canBreatheUnderwater), "$onLivingUpdate",
    $rt_wrapFunction0(nms_EntityLiving_onLivingUpdate), "$isMovementBlocked", $rt_wrapFunction0(nms_EntityLiving_isMovementBlocked), "$jump", $rt_wrapFunction0(nms_EntityLiving_jump), "$canDespawn", $rt_wrapFunction0(nms_EntityLiving_canDespawn), "$func_25026_x", $rt_wrapFunction0(nms_EntityLiving_func_25026_x), "$kill", $rt_wrapFunction0(nms_EntityLiving_kill), "$getMaxSpawnedInChunk", $rt_wrapFunction0(nms_EntityLiving_getMaxSpawnedInChunk), "$getHeldItem", $rt_wrapFunction0(nms_EntityLiving_getHeldItem),
    "$handleHealthUpdate", $rt_wrapFunction1(nms_EntityLiving_handleHealthUpdate)],
    nlei_EnumPlatformType, "EnumPlatformType", 31, jl_Enum, [], 12, 3, 0, nlei_EnumPlatformType_$callClinit, ["$toString", $rt_wrapFunction0(nlei_EnumPlatformType_toString)],
    nms_MouseHelper, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_ScaledResolution, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nle_Mouse, 0, jl_Object, [], 0, 3, 0, 0, 0,
    oli_Mouse, 0, nle_Mouse, [], 0, 3, 0, 0, 0,
    nms_RenderManager, 0, jl_Object, [], 0, 3, 0, nms_RenderManager_$callClinit, 0,
    nms_ISaveFormat, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nleb_EaglercraftSaveManager, 0, jl_Object, [nms_ISaveFormat], 0, 3, 0, 0, 0,
    nms_TexturePackList, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_RenderEngine, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_FontRenderer, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_TexturePortalFX, "TexturePortalFX", 28, nms_TextureFX, [], 0, 3, 0, 0, ["$onTick", $rt_wrapFunction0(nms_TexturePortalFX_onTick)],
    nleb_TextureNewCompassFX, "TextureNewCompassFX", 37, nms_TextureFX, [], 0, 3, 0, 0, 0,
    nleb_TextureNewClockFX, "TextureNewClockFX", 37, nms_TextureFX, [], 0, 3, 0, 0, ["$onTick", $rt_wrapFunction0(nleb_TextureNewClockFX_onTick)],
    nms_TexureWaterFlowFX, "TexureWaterFlowFX", 28, nms_TextureFX, [], 0, 3, 0, 0, ["$onTick", $rt_wrapFunction0(nms_TexureWaterFlowFX_onTick)],
    nms_TextureLavaFlowFX, "TextureLavaFlowFX", 28, nms_TextureFX, [], 0, 3, 0, 0, ["$onTick", $rt_wrapFunction0(nms_TextureLavaFlowFX_onTick)],
    nms_TextureFlamesFX, "TextureFlamesFX", 28, nms_TextureFX, [], 0, 3, 0, 0, ["$onTick", $rt_wrapFunction0(nms_TextureFlamesFX_onTick)],
    nms_IWorldAccess, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nms_RenderGlobal, "RenderGlobal", 28, jl_Object, [nms_IWorldAccess], 0, 3, 0, 0, 0,
    nms_EffectRenderer, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nlep_EaglerProfile, 0, jl_Object, [], 0, 3, 0, nlep_EaglerProfile_$callClinit, 0,
    nms_Session, 0, jl_Object, [], 0, 3, 0, nms_Session_$callClinit, 0,
    nms_GuiIngame, 0, nms_Gui, [], 0, 3, 0, 0, 0,
    nle_GuiScreenEditProfile, "GuiScreenEditProfile", 30, nms_GuiScreen, [], 0, 3, 0, nle_GuiScreenEditProfile_$callClinit, ["$initGui", $rt_wrapFunction0(nle_GuiScreenEditProfile_initGui), "$drawScreen", $rt_wrapFunction3(nle_GuiScreenEditProfile_drawScreen), "$handleMouseInput", $rt_wrapFunction0(nle_GuiScreenEditProfile_handleMouseInput), "$actionPerformed", $rt_wrapFunction1(nle_GuiScreenEditProfile_actionPerformed), "$updateScreen", $rt_wrapFunction0(nle_GuiScreenEditProfile_updateScreen), "$onGuiClosed",
    $rt_wrapFunction0(nle_GuiScreenEditProfile_onGuiClosed), "$keyTyped", $rt_wrapFunction2(nle_GuiScreenEditProfile_keyTyped), "$mouseClicked", $rt_wrapFunction3(nle_GuiScreenEditProfile_mouseClicked)]]);
    $rt_metadata([nms_GuiMainMenu, "GuiMainMenu", 28, nms_GuiScreen, [], 0, 3, 0, 0, ["$updateScreen", $rt_wrapFunction0(nms_GuiMainMenu_updateScreen), "$keyTyped", $rt_wrapFunction2(nms_GuiMainMenu_keyTyped), "$initGui", $rt_wrapFunction0(nms_GuiMainMenu_initGui), "$actionPerformed", $rt_wrapFunction1(nms_GuiMainMenu_actionPerformed), "$drawScreen", $rt_wrapFunction3(nms_GuiMainMenu_drawScreen)],
    nms_GuiConnecting, "GuiConnecting", 28, nms_GuiScreen, [], 0, 3, 0, 0, ["$updateScreen", $rt_wrapFunction0(nms_GuiConnecting_updateScreen), "$keyTyped", $rt_wrapFunction2(nms_GuiConnecting_keyTyped), "$initGui", $rt_wrapFunction0(nms_GuiConnecting_initGui), "$actionPerformed", $rt_wrapFunction1(nms_GuiConnecting_actionPerformed), "$drawScreen", $rt_wrapFunction3(nms_GuiConnecting_drawScreen)],
    ol_LWJGLException, 0, jl_Exception, [], 0, 3, 0, 0, 0,
    nms_IChunkProvider, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nms_ChunkProviderLoadOrGenerate, 0, jl_Object, [nms_IChunkProvider], 0, 3, 0, 0, ["$chunkExists", $rt_wrapFunction2(nms_ChunkProviderLoadOrGenerate_chunkExists), "$func_538_d", $rt_wrapFunction2(nms_ChunkProviderLoadOrGenerate_func_538_d), "$provideChunk", $rt_wrapFunction2(nms_ChunkProviderLoadOrGenerate_provideChunk), "$saveChunks", $rt_wrapFunction2(nms_ChunkProviderLoadOrGenerate_saveChunks), "$func_532_a", $rt_wrapFunction0(nms_ChunkProviderLoadOrGenerate_func_532_a), "$func_536_b", $rt_wrapFunction0(nms_ChunkProviderLoadOrGenerate_func_536_b),
    "$toString", $rt_wrapFunction0(nms_ChunkProviderLoadOrGenerate_toString)],
    nms_EntityPlayer, "EntityPlayer", 28, nms_EntityLiving, [], 1, 3, 0, 0, ["$getEntityTexture", $rt_wrapFunction0(nms_EntityPlayer_getEntityTexture), "$entityInit", $rt_wrapFunction0(nms_EntityPlayer_entityInit), "$onUpdate", $rt_wrapFunction0(nms_EntityPlayer_onUpdate), "$isMovementBlocked", $rt_wrapFunction0(nms_EntityPlayer_isMovementBlocked), "$func_20059_m", $rt_wrapFunction0(nms_EntityPlayer_func_20059_m), "$updateRidden", $rt_wrapFunction0(nms_EntityPlayer_updateRidden), "$updatePlayerActionState",
    $rt_wrapFunction0(nms_EntityPlayer_updatePlayerActionState), "$onDeath", $rt_wrapFunction1(nms_EntityPlayer_onDeath), "$addToPlayerScore", $rt_wrapFunction2(nms_EntityPlayer_addToPlayerScore), "$dropCurrentItem", $rt_wrapFunction0(nms_EntityPlayer_dropCurrentItem), "$joinEntityItemWithWorld", $rt_wrapFunction1(nms_EntityPlayer_joinEntityItemWithWorld), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityPlayer_writeEntityToNBT), "$getEyeHeight", $rt_wrapFunction0(nms_EntityPlayer_getEyeHeight), "$resetHeight",
    $rt_wrapFunction0(nms_EntityPlayer_resetHeight), "$attackEntityFrom", $rt_wrapFunction2(nms_EntityPlayer_attackEntityFrom), "$damageEntity", $rt_wrapFunction1(nms_EntityPlayer_damageEntity), "$getYOffset", $rt_wrapFunction0(nms_EntityPlayer_getYOffset), "$swingItem", $rt_wrapFunction0(nms_EntityPlayer_swingItem), "$setEntityDead0", $rt_wrapFunction0(nms_EntityPlayer_setEntityDead), "$isEntityInsideOpaqueBlock", $rt_wrapFunction0(nms_EntityPlayer_isEntityInsideOpaqueBlock), "$addStat", $rt_wrapFunction2(nms_EntityPlayer_addStat),
    "$jump", $rt_wrapFunction0(nms_EntityPlayer_jump), "$moveEntityWithHeading", $rt_wrapFunction2(nms_EntityPlayer_moveEntityWithHeading), "$fall", $rt_wrapFunction1(nms_EntityPlayer_fall)],
    nms_EntityPlayerSP, "EntityPlayerSP", 28, nms_EntityPlayer, [], 0, 3, 0, 0, ["$moveEntity", $rt_wrapFunction3(nms_EntityPlayerSP_moveEntity), "$updatePlayerActionState", $rt_wrapFunction0(nms_EntityPlayerSP_updatePlayerActionState), "$onLivingUpdate", $rt_wrapFunction0(nms_EntityPlayerSP_onLivingUpdate), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityPlayerSP_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntityPlayerSP_readEntityFromNBT), "$func_20059_m", $rt_wrapFunction0(nms_EntityPlayerSP_func_20059_m),
    "$sendChatMessage", $rt_wrapFunction1(nms_EntityPlayerSP_sendChatMessage), "$isSneaking", $rt_wrapFunction0(nms_EntityPlayerSP_isSneaking), "$setInPortal", $rt_wrapFunction0(nms_EntityPlayerSP_setInPortal), "$setHealth", $rt_wrapFunction1(nms_EntityPlayerSP_setHealth), "$respawnPlayer", $rt_wrapFunction0(nms_EntityPlayerSP_respawnPlayer), "$func_6420_o", $rt_wrapFunction0(nms_EntityPlayerSP_func_6420_o), "$addStat", $rt_wrapFunction2(nms_EntityPlayerSP_addStat)],
    nms_MathHelper, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_KeyBinding, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_IInventory, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nms_InventoryPlayer, 0, jl_Object, [nms_IInventory], 0, 3, 0, 0, ["$decrStackSize", $rt_wrapFunction2(nms_InventoryPlayer_decrStackSize), "$setInventorySlotContents", $rt_wrapFunction2(nms_InventoryPlayer_setInventorySlotContents), "$getStackInSlot", $rt_wrapFunction1(nms_InventoryPlayer_getStackInSlot), "$getInventoryStackLimit", $rt_wrapFunction0(nms_InventoryPlayer_getInventoryStackLimit), "$onInventoryChanged", $rt_wrapFunction0(nms_InventoryPlayer_onInventoryChanged)],
    nms_EnumOptions, "EnumOptions", 28, jl_Enum, [], 12, 3, 0, nms_EnumOptions_$callClinit, 0,
    nms_GuiContainer, 0, nms_GuiScreen, [], 1, 3, 0, 0, ["$initGui", $rt_wrapFunction0(nms_GuiContainer_initGui), "$drawScreen", $rt_wrapFunction3(nms_GuiContainer_drawScreen), "$mouseClicked", $rt_wrapFunction3(nms_GuiContainer_mouseClicked), "$mouseMovedOrUp", $rt_wrapFunction3(nms_GuiContainer_mouseMovedOrUp), "$keyTyped", $rt_wrapFunction2(nms_GuiContainer_keyTyped), "$onGuiClosed", $rt_wrapFunction0(nms_GuiContainer_onGuiClosed), "$doesGuiPauseGame", $rt_wrapFunction0(nms_GuiContainer_doesGuiPauseGame)],
    nms_GuiInventory, "GuiInventory", 28, nms_GuiContainer, [], 0, 3, 0, 0, ["$initGui", $rt_wrapFunction0(nms_GuiInventory_initGui), "$drawGuiContainerForegroundLayer", $rt_wrapFunction0(nms_GuiInventory_drawGuiContainerForegroundLayer), "$drawScreen", $rt_wrapFunction3(nms_GuiInventory_drawScreen), "$drawGuiContainerBackgroundLayer", $rt_wrapFunction1(nms_GuiInventory_drawGuiContainerBackgroundLayer), "$actionPerformed", $rt_wrapFunction1(nms_GuiInventory_actionPerformed)],
    nms_GuiChat, "GuiChat", 28, nms_GuiScreen, [], 0, 3, 0, nms_GuiChat_$callClinit, ["$initGui", $rt_wrapFunction0(nms_GuiChat_initGui), "$onGuiClosed", $rt_wrapFunction0(nms_GuiChat_onGuiClosed), "$updateScreen", $rt_wrapFunction0(nms_GuiChat_updateScreen), "$keyTyped", $rt_wrapFunction2(nms_GuiChat_keyTyped), "$drawScreen", $rt_wrapFunction3(nms_GuiChat_drawScreen), "$mouseClicked", $rt_wrapFunction3(nms_GuiChat_mouseClicked)],
    nms_GuiSleepMP, "GuiSleepMP", 28, nms_GuiChat, [], 0, 3, 0, 0, ["$initGui", $rt_wrapFunction0(nms_GuiSleepMP_initGui), "$onGuiClosed", $rt_wrapFunction0(nms_GuiSleepMP_onGuiClosed), "$keyTyped", $rt_wrapFunction2(nms_GuiSleepMP_keyTyped), "$drawScreen", $rt_wrapFunction3(nms_GuiSleepMP_drawScreen), "$actionPerformed", $rt_wrapFunction1(nms_GuiSleepMP_actionPerformed)],
    nms_GuiUnused, 0, nms_GuiScreen, [], 0, 3, 0, 0, 0,
    nms_GuiGameOver, "GuiGameOver", 28, nms_GuiScreen, [], 0, 3, 0, 0, ["$initGui", $rt_wrapFunction0(nms_GuiGameOver_initGui), "$keyTyped", $rt_wrapFunction2(nms_GuiGameOver_keyTyped), "$actionPerformed", $rt_wrapFunction1(nms_GuiGameOver_actionPerformed), "$drawScreen", $rt_wrapFunction3(nms_GuiGameOver_drawScreen), "$doesGuiPauseGame", $rt_wrapFunction0(nms_GuiGameOver_doesGuiPauseGame)],
    ju_LinkedList$SequentialListIterator, 0, jl_Object, [ju_ListIterator], 0, 0, 0, 0, 0,
    ju_HashMap$1, 0, ju_AbstractSet, [], 0, 0, 0, 0, ["$iterator", $rt_wrapFunction0(ju_HashMap$1_iterator)],
    cch_BitMixer, 0, jl_Object, [], 4, 3, 0, 0, 0,
    nle_BaseNCodec$Context, 0, jl_Object, [], 0, 0, 0, 0, 0,
    jl_ArrayIndexOutOfBoundsException, "ArrayIndexOutOfBoundsException", 15, jl_IndexOutOfBoundsException, [], 0, 3, 0, 0, 0,
    nlei_PlatformInput$VMouseEvent, 0, jl_Object, [], 0, 0, 0, 0, 0,
    nlei_PlatformInput$VKeyEvent, 0, jl_Object, [], 0, 0, 0, 0, 0,
    jl_VirtualMachineError, 0, jl_Error, [], 0, 3, 0, 0, 0,
    jl_OutOfMemoryError, "OutOfMemoryError", 15, jl_VirtualMachineError, [], 0, 3, 0, 0, 0,
    cjj_InfBlocks, 0, jl_Object, [], 4, 0, 0, 0, 0,
    otji_IDBObjectStoreParameters, 0, jl_Object, [otj_JSObject], 1, 3, 0, 0, 0,
    jt_DecimalFormat$MinusField, "DecimalFormat$MinusField", 14, jl_Object, [jt_DecimalFormat$FormatField], 0, 0, 0, 0, ["$equals", $rt_wrapFunction1(jt_DecimalFormat$MinusField_equals), "$hashCode0", $rt_wrapFunction0(jt_DecimalFormat$MinusField_hashCode)],
    jt_DateFormatElement$Numeric, "DateFormatElement$Numeric", 14, jt_DateFormatElement, [], 0, 3, 0, 0, ["$format2", $rt_wrapFunction2(jt_DateFormatElement$Numeric_format), "$processBeforeFormat", $rt_wrapFunction1(jt_DateFormatElement$Numeric_processBeforeFormat), "$equals", $rt_wrapFunction1(jt_DateFormatElement$Numeric_equals), "$hashCode0", $rt_wrapFunction0(jt_DateFormatElement$Numeric_hashCode)],
    jt_DateFormatElement$WeekdayText, "DateFormatElement$WeekdayText", 14, jt_DateFormatElement, [], 0, 3, 0, 0, ["$format2", $rt_wrapFunction2(jt_DateFormatElement$WeekdayText_format), "$equals", $rt_wrapFunction1(jt_DateFormatElement$WeekdayText_equals), "$hashCode0", $rt_wrapFunction0(jt_DateFormatElement$WeekdayText_hashCode)],
    jt_DateFormatElement$EraText, "DateFormatElement$EraText", 14, jt_DateFormatElement, [], 0, 3, 0, 0, ["$format2", $rt_wrapFunction2(jt_DateFormatElement$EraText_format), "$equals", $rt_wrapFunction1(jt_DateFormatElement$EraText_equals), "$hashCode0", $rt_wrapFunction0(jt_DateFormatElement$EraText_hashCode)],
    jt_DateFormatElement$BaseTimezone, 0, jt_DateFormatElement, [], 1, 3, 0, 0, ["$equals", $rt_wrapFunction1(jt_DateFormatElement$BaseTimezone_equals), "$hashCode0", $rt_wrapFunction0(jt_DateFormatElement$BaseTimezone_hashCode)],
    jt_DateFormatElement$Rfc822Timezone, "DateFormatElement$Rfc822Timezone", 14, jt_DateFormatElement$BaseTimezone, [], 0, 3, 0, 0, ["$format2", $rt_wrapFunction2(jt_DateFormatElement$Rfc822Timezone_format)],
    jt_DateFormatElement$AmPmText, "DateFormatElement$AmPmText", 14, jt_DateFormatElement, [], 0, 3, 0, 0, ["$format2", $rt_wrapFunction2(jt_DateFormatElement$AmPmText_format), "$equals", $rt_wrapFunction1(jt_DateFormatElement$AmPmText_equals), "$hashCode0", $rt_wrapFunction0(jt_DateFormatElement$AmPmText_hashCode)],
    jt_DateFormatElement$NumericHour, "DateFormatElement$NumericHour", 14, jt_DateFormatElement$Numeric, [], 0, 3, 0, 0, ["$processBeforeFormat", $rt_wrapFunction1(jt_DateFormatElement$NumericHour_processBeforeFormat), "$equals", $rt_wrapFunction1(jt_DateFormatElement$NumericHour_equals), "$hashCode0", $rt_wrapFunction0(jt_DateFormatElement$NumericHour_hashCode)],
    jt_DateFormatElement$NumericWeekday, "DateFormatElement$NumericWeekday", 14, jt_DateFormatElement$Numeric, [], 0, 3, 0, 0, ["$processBeforeFormat", $rt_wrapFunction1(jt_DateFormatElement$NumericWeekday_processBeforeFormat)],
    jt_DateFormatElement$GeneralTimezone, "DateFormatElement$GeneralTimezone", 14, jt_DateFormatElement$BaseTimezone, [], 0, 3, 0, 0, ["$format2", $rt_wrapFunction2(jt_DateFormatElement$GeneralTimezone_format)],
    jt_DateFormatElement$ConstantText, "DateFormatElement$ConstantText", 14, jt_DateFormatElement, [], 0, 3, 0, 0, ["$format2", $rt_wrapFunction2(jt_DateFormatElement$ConstantText_format), "$equals", $rt_wrapFunction1(jt_DateFormatElement$ConstantText_equals), "$hashCode0", $rt_wrapFunction0(jt_DateFormatElement$ConstantText_hashCode)],
    jt_DateFormatElement$Year, "DateFormatElement$Year", 14, jt_DateFormatElement, [], 0, 3, 0, 0, ["$format2", $rt_wrapFunction2(jt_DateFormatElement$Year_format), "$equals", $rt_wrapFunction1(jt_DateFormatElement$Year_equals), "$hashCode0", $rt_wrapFunction0(jt_DateFormatElement$Year_hashCode)],
    jt_DateFormatElement$Iso8601Timezone, "DateFormatElement$Iso8601Timezone", 14, jt_DateFormatElement, [], 0, 3, 0, 0, ["$format2", $rt_wrapFunction2(jt_DateFormatElement$Iso8601Timezone_format), "$equals", $rt_wrapFunction1(jt_DateFormatElement$Iso8601Timezone_equals), "$hashCode0", $rt_wrapFunction0(jt_DateFormatElement$Iso8601Timezone_hashCode)],
    jt_DateFormatElement$MonthText, "DateFormatElement$MonthText", 14, jt_DateFormatElement, [], 0, 3, 0, 0, ["$format2", $rt_wrapFunction2(jt_DateFormatElement$MonthText_format), "$equals", $rt_wrapFunction1(jt_DateFormatElement$MonthText_equals), "$hashCode0", $rt_wrapFunction0(jt_DateFormatElement$MonthText_hashCode)],
    jt_DateFormatElement$NumericMonth, "DateFormatElement$NumericMonth", 14, jt_DateFormatElement$Numeric, [], 0, 3, 0, 0, ["$processBeforeFormat", $rt_wrapFunction1(jt_DateFormatElement$NumericMonth_processBeforeFormat)],
    jnci_BufferedEncoder, 0, jnc_CharsetEncoder, [], 1, 3, 0, 0, 0,
    jnci_UTF8Encoder, 0, jnci_BufferedEncoder, [], 0, 3, 0, 0, ["$arrayEncode", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return jnci_UTF8Encoder_arrayEncode(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    ju_ConcurrentModificationException, "ConcurrentModificationException", 6, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    nleit_TeaVMClientConfigAdapterHooks$callHookSafe$lambda$_5_0, 0, jl_Object, [otjb_TimerHandler], 0, 3, 0, 0, ["$onTimer$exported$0", $rt_wrapFunction0(nleit_TeaVMClientConfigAdapterHooks$callHookSafe$lambda$_5_0_onTimer$exported$0)],
    jur_MatchResult, 0, jl_Object, [], 3, 3, 0, 0, 0,
    jur_Matcher, 0, jl_Object, [jur_MatchResult], 4, 3, 0, 0, 0]);
    $rt_metadata([nms_XGuiUmmm, 0, nms_Gui, [], 0, 3, 0, 0, 0,
    nms_TexturePackBase, 0, jl_Object, [], 1, 3, 0, 0, 0,
    nms_TexturePackDefault, "TexturePackDefault", 28, nms_TexturePackBase, [], 0, 3, 0, 0, 0,
    nms_RenderList, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_NetHandler, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_NetClientHandler, 0, nms_NetHandler, [], 0, 3, 0, 0, 0,
    nms_MovingObjectPosition, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_EnumMovingObjectType, "EnumMovingObjectType", 28, jl_Enum, [], 12, 3, 0, nms_EnumMovingObjectType_$callClinit, 0,
    nms_PlayerControllerTest, 0, nms_PlayerController, [], 0, 3, 0, 0, 0,
    cjj_InfTree, 0, jl_Object, [], 4, 0, 0, 0, 0,
    cjj_InfCodes, 0, jl_Object, [], 4, 0, 0, 0, 0,
    nleit_TeaVMClientConfigAdapterHooks$callHookSafeSync$lambda$_7_0, 0, jl_Object, [otjb_TimerHandler], 0, 3, 0, 0, ["$onTimer$exported$0", $rt_wrapFunction0(nleit_TeaVMClientConfigAdapterHooks$callHookSafeSync$lambda$_7_0_onTimer$exported$0)],
    nleit_TeaVMClientConfigAdapterHooks$callHookSafeWithReturn$lambda$_9_0, 0, jl_Object, [otjb_TimerHandler], 0, 3, 0, 0, ["$onTimer$exported$0", $rt_wrapFunction0(nleit_TeaVMClientConfigAdapterHooks$callHookSafeWithReturn$lambda$_9_0_onTimer$exported$0)],
    nleo_FixedFunctionPipeline, "FixedFunctionPipeline", 36, jl_Object, [], 0, 3, 0, nleo_FixedFunctionPipeline_$callClinit, 0,
    nleo_DisplayList, 0, jl_Object, [], 0, 0, 0, 0, 0,
    nlep_EaglerProfile$UserSkin, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nlep_EaglerProfile$UserPresetSkin, 0, jl_Object, [nlep_EaglerProfile$UserSkin], 0, 0, 0, 0, 0,
    nlep_EaglerProfile$EaglerProfileSkin, "EaglerProfile$EaglerProfileSkin", 35, jl_Object, [], 0, 3, 0, 0, 0,
    nms_Render, 0, jl_Object, [], 1, 3, 0, 0, ["$loadDownloadableImageTexture", $rt_wrapFunction2(nms_Render_loadDownloadableImageTexture)],
    nms_RenderItem, "RenderItem", 28, nms_Render, [], 0, 3, 0, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderItem_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_NetworkManager, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_FontAllowedCharacters, "FontAllowedCharacters", 28, jl_Object, [], 0, 3, 0, nms_FontAllowedCharacters_$callClinit, 0,
    ji_UTFDataFormatException, "UTFDataFormatException", 12, ji_IOException, [], 0, 3, 0, 0, 0,
    nlei_PlatformInput$15, 0, jl_Object, [otjb_TimerHandler], 0, 0, 0, 0, ["$onTimer$exported$0", $rt_wrapFunction0(nlei_PlatformInput$15_onTimer$exported$0)],
    nms_EntityCreature, "EntityCreature", 28, nms_EntityLiving, [], 0, 3, 0, 0, ["$func_25028_d_", $rt_wrapFunction0(nms_EntityCreature_func_25028_d_), "$updatePlayerActionState", $rt_wrapFunction0(nms_EntityCreature_updatePlayerActionState), "$attackEntity", $rt_wrapFunction2(nms_EntityCreature_attackEntity), "$getBlockPathWeight", $rt_wrapFunction3(nms_EntityCreature_getBlockPathWeight), "$findPlayerToAttack", $rt_wrapFunction0(nms_EntityCreature_findPlayerToAttack)],
    nms_IMobs, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nms_EntityMobs, "EntityMobs", 28, nms_EntityCreature, [nms_IMobs], 0, 3, 0, 0, ["$onLivingUpdate", $rt_wrapFunction0(nms_EntityMobs_onLivingUpdate), "$onUpdate", $rt_wrapFunction0(nms_EntityMobs_onUpdate), "$findPlayerToAttack", $rt_wrapFunction0(nms_EntityMobs_findPlayerToAttack), "$attackEntityFrom", $rt_wrapFunction2(nms_EntityMobs_attackEntityFrom), "$attackEntity", $rt_wrapFunction2(nms_EntityMobs_attackEntity), "$getBlockPathWeight", $rt_wrapFunction3(nms_EntityMobs_getBlockPathWeight), "$writeEntityToNBT",
    $rt_wrapFunction1(nms_EntityMobs_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntityMobs_readEntityFromNBT), "$getCanSpawnHere", $rt_wrapFunction0(nms_EntityMobs_getCanSpawnHere)],
    nms_EntitySpider, "EntitySpider", 28, nms_EntityMobs, [], 0, 3, 0, 0, ["$getMountedYOffset", $rt_wrapFunction0(nms_EntitySpider_getMountedYOffset), "$canTriggerWalking", $rt_wrapFunction0(nms_EntitySpider_canTriggerWalking), "$findPlayerToAttack", $rt_wrapFunction0(nms_EntitySpider_findPlayerToAttack), "$getLivingSound", $rt_wrapFunction0(nms_EntitySpider_getLivingSound), "$getHurtSound", $rt_wrapFunction0(nms_EntitySpider_getHurtSound), "$getDeathSound", $rt_wrapFunction0(nms_EntitySpider_getDeathSound),
    "$attackEntity", $rt_wrapFunction2(nms_EntitySpider_attackEntity), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntitySpider_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntitySpider_readEntityFromNBT), "$getDropItemId", $rt_wrapFunction0(nms_EntitySpider_getDropItemId), "$isOnLadder", $rt_wrapFunction0(nms_EntitySpider_isOnLadder)],
    nms_RenderLiving, "RenderLiving", 28, nms_Render, [], 0, 3, 0, 0, ["$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderLiving_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$func_22012_b", $rt_wrapFunction4(nms_RenderLiving_func_22012_b), "$func_21004_a", $rt_wrapFunction4(nms_RenderLiving_func_21004_a), "$func_170_d", $rt_wrapFunction2(nms_RenderLiving_func_170_d), "$renderEquippedItems", $rt_wrapFunction2(nms_RenderLiving_renderEquippedItems), "$shouldRenderPass",
    $rt_wrapFunction3(nms_RenderLiving_shouldRenderPass), "$func_172_a", $rt_wrapFunction1(nms_RenderLiving_func_172_a), "$getColorMultiplier", $rt_wrapFunction3(nms_RenderLiving_getColorMultiplier), "$preRenderCallback", $rt_wrapFunction2(nms_RenderLiving_preRenderCallback), "$passSpecialRender", $rt_wrapFunction4(nms_RenderLiving_passSpecialRender), "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderLiving_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_RenderSpider, "RenderSpider", 28, nms_RenderLiving, [], 0, 3, 0, 0, ["$func_172_a", $rt_wrapFunction1(nms_RenderSpider_func_172_a), "$shouldRenderPass", $rt_wrapFunction3(nms_RenderSpider_shouldRenderPass)],
    nms_EntityAnimals, "EntityAnimals", 28, nms_EntityCreature, [], 1, 3, 0, 0, ["$getBlockPathWeight", $rt_wrapFunction3(nms_EntityAnimals_getBlockPathWeight), "$getCanSpawnHere", $rt_wrapFunction0(nms_EntityAnimals_getCanSpawnHere), "$getTalkInterval", $rt_wrapFunction0(nms_EntityAnimals_getTalkInterval)],
    nms_EntityPig, "EntityPig", 28, nms_EntityAnimals, [], 0, 3, 0, 0, ["$entityInit", $rt_wrapFunction0(nms_EntityPig_entityInit), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityPig_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntityPig_readEntityFromNBT), "$getLivingSound", $rt_wrapFunction0(nms_EntityPig_getLivingSound), "$getHurtSound", $rt_wrapFunction0(nms_EntityPig_getHurtSound), "$getDeathSound", $rt_wrapFunction0(nms_EntityPig_getDeathSound), "$interact", $rt_wrapFunction1(nms_EntityPig_interact),
    "$getDropItemId", $rt_wrapFunction0(nms_EntityPig_getDropItemId)],
    nms_RenderPig, "RenderPig", 28, nms_RenderLiving, [], 0, 3, 0, 0, ["$shouldRenderPass", $rt_wrapFunction3(nms_RenderPig_shouldRenderPass)],
    nms_ModelQuadraped, 0, nms_ModelBase, [], 0, 3, 0, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_ModelQuadraped_render(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_ModelQuadraped_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_ModelPig, 0, nms_ModelQuadraped, [], 0, 3, 0, 0, 0,
    nms_EntitySheep, "EntitySheep", 28, nms_EntityAnimals, [], 0, 3, 0, 0, ["$entityInit", $rt_wrapFunction0(nms_EntitySheep_entityInit), "$attackEntityFrom", $rt_wrapFunction2(nms_EntitySheep_attackEntityFrom), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntitySheep_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntitySheep_readEntityFromNBT), "$getLivingSound", $rt_wrapFunction0(nms_EntitySheep_getLivingSound), "$getHurtSound", $rt_wrapFunction0(nms_EntitySheep_getHurtSound), "$getDeathSound",
    $rt_wrapFunction0(nms_EntitySheep_getDeathSound)],
    nms_RenderSheep, "RenderSheep", 28, nms_RenderLiving, [], 0, 3, 0, 0, ["$shouldRenderPass", $rt_wrapFunction3(nms_RenderSheep_shouldRenderPass)],
    nms_ModelSheep2, 0, nms_ModelQuadraped, [], 0, 3, 0, 0, 0,
    nms_ModelSheep1, 0, nms_ModelQuadraped, [], 0, 3, 0, 0, 0,
    nms_EntityCow, "EntityCow", 28, nms_EntityAnimals, [], 0, 3, 0, 0, ["$writeEntityToNBT", $rt_wrapFunction1(nms_EntityCow_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntityCow_readEntityFromNBT), "$getLivingSound", $rt_wrapFunction0(nms_EntityCow_getLivingSound), "$getHurtSound", $rt_wrapFunction0(nms_EntityCow_getHurtSound), "$getDeathSound", $rt_wrapFunction0(nms_EntityCow_getDeathSound), "$getSoundVolume", $rt_wrapFunction0(nms_EntityCow_getSoundVolume), "$getDropItemId", $rt_wrapFunction0(nms_EntityCow_getDropItemId),
    "$interact", $rt_wrapFunction1(nms_EntityCow_interact)],
    nms_RenderCow, "RenderCow", 28, nms_RenderLiving, [], 0, 3, 0, 0, ["$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderCow_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderCow_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_ModelCow, 0, nms_ModelQuadraped, [], 0, 3, 0, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_ModelCow_render(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_ModelCow_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_EntityWolf, "EntityWolf", 28, nms_EntityAnimals, [], 0, 3, 0, 0, ["$entityInit", $rt_wrapFunction0(nms_EntityWolf_entityInit), "$canTriggerWalking", $rt_wrapFunction0(nms_EntityWolf_canTriggerWalking), "$getEntityTexture", $rt_wrapFunction0(nms_EntityWolf_getEntityTexture), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityWolf_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntityWolf_readEntityFromNBT), "$canDespawn", $rt_wrapFunction0(nms_EntityWolf_canDespawn), "$getLivingSound", $rt_wrapFunction0(nms_EntityWolf_getLivingSound),
    "$getHurtSound", $rt_wrapFunction0(nms_EntityWolf_getHurtSound), "$getDeathSound", $rt_wrapFunction0(nms_EntityWolf_getDeathSound), "$getSoundVolume", $rt_wrapFunction0(nms_EntityWolf_getSoundVolume), "$getDropItemId", $rt_wrapFunction0(nms_EntityWolf_getDropItemId), "$updatePlayerActionState", $rt_wrapFunction0(nms_EntityWolf_updatePlayerActionState), "$onLivingUpdate", $rt_wrapFunction0(nms_EntityWolf_onLivingUpdate), "$onUpdate", $rt_wrapFunction0(nms_EntityWolf_onUpdate), "$getEyeHeight", $rt_wrapFunction0(nms_EntityWolf_getEyeHeight),
    "$func_25026_x", $rt_wrapFunction0(nms_EntityWolf_func_25026_x), "$func_25028_d_", $rt_wrapFunction0(nms_EntityWolf_func_25028_d_), "$attackEntityFrom", $rt_wrapFunction2(nms_EntityWolf_attackEntityFrom), "$findPlayerToAttack", $rt_wrapFunction0(nms_EntityWolf_findPlayerToAttack), "$attackEntity", $rt_wrapFunction2(nms_EntityWolf_attackEntity), "$interact", $rt_wrapFunction1(nms_EntityWolf_interact), "$handleHealthUpdate", $rt_wrapFunction1(nms_EntityWolf_handleHealthUpdate), "$getMaxSpawnedInChunk", $rt_wrapFunction0(nms_EntityWolf_getMaxSpawnedInChunk)],
    nms_RenderWolf, "RenderWolf", 28, nms_RenderLiving, [], 0, 3, 0, 0, ["$preRenderCallback", $rt_wrapFunction2(nms_RenderWolf_preRenderCallback), "$func_170_d", $rt_wrapFunction2(nms_RenderWolf_func_170_d), "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderWolf_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderWolf_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_ModelWolf, 0, nms_ModelBase, [], 0, 3, 0, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_ModelWolf_render(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$func_25103_a", $rt_wrapFunction4(nms_ModelWolf_func_25103_a)],
    nms_EntityChicken, "EntityChicken", 28, nms_EntityAnimals, [], 0, 3, 0, 0, ["$onLivingUpdate", $rt_wrapFunction0(nms_EntityChicken_onLivingUpdate), "$fall", $rt_wrapFunction1(nms_EntityChicken_fall), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityChicken_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntityChicken_readEntityFromNBT), "$getLivingSound", $rt_wrapFunction0(nms_EntityChicken_getLivingSound), "$getHurtSound", $rt_wrapFunction0(nms_EntityChicken_getHurtSound), "$getDeathSound",
    $rt_wrapFunction0(nms_EntityChicken_getDeathSound), "$getDropItemId", $rt_wrapFunction0(nms_EntityChicken_getDropItemId)],
    nms_RenderChicken, "RenderChicken", 28, nms_RenderLiving, [], 0, 3, 0, 0, ["$func_170_d", $rt_wrapFunction2(nms_RenderChicken_func_170_d), "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderChicken_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderChicken_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_ModelChicken, 0, nms_ModelBase, [], 0, 3, 0, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_ModelChicken_render(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_EntityCreeper, "EntityCreeper", 28, nms_EntityMobs, [], 0, 3, 0, 0, ["$entityInit", $rt_wrapFunction0(nms_EntityCreeper_entityInit), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityCreeper_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntityCreeper_readEntityFromNBT), "$onUpdate", $rt_wrapFunction0(nms_EntityCreeper_onUpdate), "$getHurtSound", $rt_wrapFunction0(nms_EntityCreeper_getHurtSound), "$getDeathSound", $rt_wrapFunction0(nms_EntityCreeper_getDeathSound), "$onDeath", $rt_wrapFunction1(nms_EntityCreeper_onDeath),
    "$attackEntity", $rt_wrapFunction2(nms_EntityCreeper_attackEntity), "$getDropItemId", $rt_wrapFunction0(nms_EntityCreeper_getDropItemId)],
    nms_RenderCreeper, "RenderCreeper", 28, nms_RenderLiving, [], 0, 3, 0, 0, ["$preRenderCallback", $rt_wrapFunction2(nms_RenderCreeper_preRenderCallback), "$getColorMultiplier", $rt_wrapFunction3(nms_RenderCreeper_getColorMultiplier)]]);
    $rt_metadata([nms_EntitySkeleton, "EntitySkeleton", 28, nms_EntityMobs, [], 0, 3, 0, nms_EntitySkeleton_$callClinit, ["$getLivingSound", $rt_wrapFunction0(nms_EntitySkeleton_getLivingSound), "$getHurtSound", $rt_wrapFunction0(nms_EntitySkeleton_getHurtSound), "$getDeathSound", $rt_wrapFunction0(nms_EntitySkeleton_getDeathSound), "$onLivingUpdate", $rt_wrapFunction0(nms_EntitySkeleton_onLivingUpdate), "$attackEntity", $rt_wrapFunction2(nms_EntitySkeleton_attackEntity), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntitySkeleton_writeEntityToNBT),
    "$readEntityFromNBT", $rt_wrapFunction1(nms_EntitySkeleton_readEntityFromNBT), "$getDropItemId", $rt_wrapFunction0(nms_EntitySkeleton_getDropItemId), "$dropFewItems", $rt_wrapFunction0(nms_EntitySkeleton_dropFewItems), "$getHeldItem", $rt_wrapFunction0(nms_EntitySkeleton_getHeldItem)],
    nms_RenderBiped, "RenderBiped", 28, nms_RenderLiving, [], 0, 3, 0, 0, ["$renderEquippedItems", $rt_wrapFunction2(nms_RenderBiped_renderEquippedItems)],
    nms_ModelZombie, 0, nms_ModelBiped, [], 0, 3, 0, 0, ["$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_ModelZombie_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_ModelSkeleton, 0, nms_ModelZombie, [], 0, 3, 0, 0, 0,
    nms_EntityZombie, "EntityZombie", 28, nms_EntityMobs, [], 0, 3, 0, 0, ["$onLivingUpdate", $rt_wrapFunction0(nms_EntityZombie_onLivingUpdate), "$getLivingSound", $rt_wrapFunction0(nms_EntityZombie_getLivingSound), "$getHurtSound", $rt_wrapFunction0(nms_EntityZombie_getHurtSound), "$getDeathSound", $rt_wrapFunction0(nms_EntityZombie_getDeathSound), "$getDropItemId", $rt_wrapFunction0(nms_EntityZombie_getDropItemId)],
    nms_EntitySlime, "EntitySlime", 28, nms_EntityLiving, [nms_IMobs], 0, 3, 0, 0, ["$entityInit", $rt_wrapFunction0(nms_EntitySlime_entityInit), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntitySlime_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntitySlime_readEntityFromNBT), "$onUpdate", $rt_wrapFunction0(nms_EntitySlime_onUpdate), "$updatePlayerActionState", $rt_wrapFunction0(nms_EntitySlime_updatePlayerActionState), "$setEntityDead0", $rt_wrapFunction0(nms_EntitySlime_setEntityDead), "$onCollideWithPlayer",
    $rt_wrapFunction1(nms_EntitySlime_onCollideWithPlayer), "$getHurtSound", $rt_wrapFunction0(nms_EntitySlime_getHurtSound), "$getDeathSound", $rt_wrapFunction0(nms_EntitySlime_getDeathSound), "$getDropItemId", $rt_wrapFunction0(nms_EntitySlime_getDropItemId), "$getCanSpawnHere", $rt_wrapFunction0(nms_EntitySlime_getCanSpawnHere), "$getSoundVolume", $rt_wrapFunction0(nms_EntitySlime_getSoundVolume)],
    nms_RenderSlime, "RenderSlime", 28, nms_RenderLiving, [], 0, 3, 0, 0, ["$preRenderCallback", $rt_wrapFunction2(nms_RenderSlime_preRenderCallback), "$shouldRenderPass", $rt_wrapFunction3(nms_RenderSlime_shouldRenderPass)],
    nms_ModelSlime, 0, nms_ModelBase, [], 0, 3, 0, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_ModelSlime_render(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_RenderPlayer, "RenderPlayer", 28, nms_RenderLiving, [], 0, 3, 0, nms_RenderPlayer_$callClinit, ["$passSpecialRender", $rt_wrapFunction4(nms_RenderPlayer_passSpecialRender), "$preRenderCallback", $rt_wrapFunction2(nms_RenderPlayer_preRenderCallback), "$shouldRenderPass", $rt_wrapFunction3(nms_RenderPlayer_shouldRenderPass), "$renderEquippedItems", $rt_wrapFunction2(nms_RenderPlayer_renderEquippedItems), "$func_21004_a", $rt_wrapFunction4(nms_RenderPlayer_func_21004_a), "$func_22012_b", $rt_wrapFunction4(nms_RenderPlayer_func_22012_b),
    "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderPlayer_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderPlayer_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$loadDownloadableImageTexture", $rt_wrapFunction2(nms_RenderPlayer_loadDownloadableImageTexture)],
    nms_EntityZombieSimple, "EntityZombieSimple", 28, nms_EntityMobs, [], 0, 3, 0, 0, ["$getBlockPathWeight", $rt_wrapFunction3(nms_EntityZombieSimple_getBlockPathWeight)],
    nms_RenderZombieSimple, "RenderZombieSimple", 28, nms_RenderLiving, [], 0, 3, 0, 0, ["$preRenderCallback", $rt_wrapFunction2(nms_RenderZombieSimple_preRenderCallback)],
    nms_EntityFlying, "EntityFlying", 28, nms_EntityLiving, [], 0, 3, 0, 0, ["$fall", $rt_wrapFunction1(nms_EntityFlying_fall), "$moveEntityWithHeading", $rt_wrapFunction2(nms_EntityFlying_moveEntityWithHeading), "$isOnLadder", $rt_wrapFunction0(nms_EntityFlying_isOnLadder)],
    nms_EntityGhast, "EntityGhast", 28, nms_EntityFlying, [nms_IMobs], 0, 3, 0, 0, ["$updatePlayerActionState", $rt_wrapFunction0(nms_EntityGhast_updatePlayerActionState), "$getLivingSound", $rt_wrapFunction0(nms_EntityGhast_getLivingSound), "$getHurtSound", $rt_wrapFunction0(nms_EntityGhast_getHurtSound), "$getDeathSound", $rt_wrapFunction0(nms_EntityGhast_getDeathSound), "$getDropItemId", $rt_wrapFunction0(nms_EntityGhast_getDropItemId), "$getSoundVolume", $rt_wrapFunction0(nms_EntityGhast_getSoundVolume),
    "$getCanSpawnHere", $rt_wrapFunction0(nms_EntityGhast_getCanSpawnHere), "$getMaxSpawnedInChunk", $rt_wrapFunction0(nms_EntityGhast_getMaxSpawnedInChunk)],
    nms_RenderGhast, "RenderGhast", 28, nms_RenderLiving, [], 0, 3, 0, 0, ["$preRenderCallback", $rt_wrapFunction2(nms_RenderGhast_preRenderCallback)],
    nms_EntityWaterMob, "EntityWaterMob", 28, nms_EntityCreature, [], 0, 3, 0, 0, ["$canBreatheUnderwater", $rt_wrapFunction0(nms_EntityWaterMob_canBreatheUnderwater), "$getCanSpawnHere", $rt_wrapFunction0(nms_EntityWaterMob_getCanSpawnHere), "$getTalkInterval", $rt_wrapFunction0(nms_EntityWaterMob_getTalkInterval)],
    nms_EntitySquid, "EntitySquid", 28, nms_EntityWaterMob, [], 0, 3, 0, 0, ["$writeEntityToNBT", $rt_wrapFunction1(nms_EntitySquid_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntitySquid_readEntityFromNBT), "$getLivingSound", $rt_wrapFunction0(nms_EntitySquid_getLivingSound), "$getHurtSound", $rt_wrapFunction0(nms_EntitySquid_getHurtSound), "$getDeathSound", $rt_wrapFunction0(nms_EntitySquid_getDeathSound), "$getSoundVolume", $rt_wrapFunction0(nms_EntitySquid_getSoundVolume), "$getDropItemId",
    $rt_wrapFunction0(nms_EntitySquid_getDropItemId), "$dropFewItems", $rt_wrapFunction0(nms_EntitySquid_dropFewItems), "$interact", $rt_wrapFunction1(nms_EntitySquid_interact), "$handleWaterMovement", $rt_wrapFunction0(nms_EntitySquid_handleWaterMovement), "$onLivingUpdate", $rt_wrapFunction0(nms_EntitySquid_onLivingUpdate), "$moveEntityWithHeading", $rt_wrapFunction2(nms_EntitySquid_moveEntityWithHeading), "$updatePlayerActionState", $rt_wrapFunction0(nms_EntitySquid_updatePlayerActionState)],
    nms_RenderSquid, "RenderSquid", 28, nms_RenderLiving, [], 0, 3, 0, 0, ["$preRenderCallback", $rt_wrapFunction2(nms_RenderSquid_preRenderCallback), "$func_170_d", $rt_wrapFunction2(nms_RenderSquid_func_170_d), "$func_21004_a", $rt_wrapFunction4(nms_RenderSquid_func_21004_a), "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderSquid_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderSquid_doRender(this,
    var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_ModelSquid, 0, nms_ModelBase, [], 0, 3, 0, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_ModelSquid_render(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_RenderEntity, "RenderEntity", 28, nms_Render, [], 0, 3, 0, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderEntity_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_EntityPainting, "EntityPainting", 28, nms_Entity, [], 0, 3, 0, 0, ["$entityInit", $rt_wrapFunction0(nms_EntityPainting_entityInit), "$onUpdate", $rt_wrapFunction0(nms_EntityPainting_onUpdate), "$canBeCollidedWith", $rt_wrapFunction0(nms_EntityPainting_canBeCollidedWith), "$attackEntityFrom", $rt_wrapFunction2(nms_EntityPainting_attackEntityFrom), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityPainting_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntityPainting_readEntityFromNBT)],
    nms_RenderPainting, "RenderPainting", 28, nms_Render, [], 0, 3, 0, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderPainting_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_EntityArrow, "EntityArrow", 28, nms_Entity, [], 0, 3, 0, 0, ["$entityInit", $rt_wrapFunction0(nms_EntityArrow_entityInit), "$setVelocity", $rt_wrapFunction3(nms_EntityArrow_setVelocity), "$onUpdate", $rt_wrapFunction0(nms_EntityArrow_onUpdate), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityArrow_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntityArrow_readEntityFromNBT), "$onCollideWithPlayer", $rt_wrapFunction1(nms_EntityArrow_onCollideWithPlayer), "$getShadowSize", $rt_wrapFunction0(nms_EntityArrow_getShadowSize)],
    nms_RenderArrow, "RenderArrow", 28, nms_Render, [], 0, 3, 0, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderArrow_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_EntitySnowball, "EntitySnowball", 28, nms_Entity, [], 0, 3, 0, 0, ["$entityInit", $rt_wrapFunction0(nms_EntitySnowball_entityInit), "$isInRangeToRenderDist", $rt_wrapFunction1(nms_EntitySnowball_isInRangeToRenderDist), "$setVelocity", $rt_wrapFunction3(nms_EntitySnowball_setVelocity), "$onUpdate", $rt_wrapFunction0(nms_EntitySnowball_onUpdate), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntitySnowball_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntitySnowball_readEntityFromNBT), "$onCollideWithPlayer",
    $rt_wrapFunction1(nms_EntitySnowball_onCollideWithPlayer), "$getShadowSize", $rt_wrapFunction0(nms_EntitySnowball_getShadowSize)],
    nms_RenderSnowball, "RenderSnowball", 28, nms_Render, [], 0, 3, 0, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderSnowball_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_EntityEgg, "EntityEgg", 28, nms_Entity, [], 0, 3, 0, 0, ["$entityInit", $rt_wrapFunction0(nms_EntityEgg_entityInit), "$isInRangeToRenderDist", $rt_wrapFunction1(nms_EntityEgg_isInRangeToRenderDist), "$setVelocity", $rt_wrapFunction3(nms_EntityEgg_setVelocity), "$onUpdate", $rt_wrapFunction0(nms_EntityEgg_onUpdate), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityEgg_writeEntityToNBT), "$onCollideWithPlayer", $rt_wrapFunction1(nms_EntityEgg_onCollideWithPlayer), "$getShadowSize", $rt_wrapFunction0(nms_EntityEgg_getShadowSize)],
    nms_EntityFireball, "EntityFireball", 28, nms_Entity, [], 0, 3, 0, 0, ["$entityInit", $rt_wrapFunction0(nms_EntityFireball_entityInit), "$isInRangeToRenderDist", $rt_wrapFunction1(nms_EntityFireball_isInRangeToRenderDist), "$onUpdate", $rt_wrapFunction0(nms_EntityFireball_onUpdate), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityFireball_writeEntityToNBT), "$canBeCollidedWith", $rt_wrapFunction0(nms_EntityFireball_canBeCollidedWith), "$getCollisionBorderSize", $rt_wrapFunction0(nms_EntityFireball_getCollisionBorderSize),
    "$attackEntityFrom", $rt_wrapFunction2(nms_EntityFireball_attackEntityFrom), "$getShadowSize", $rt_wrapFunction0(nms_EntityFireball_getShadowSize)],
    nms_RenderFireball, "RenderFireball", 28, nms_Render, [], 0, 3, 0, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderFireball_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_EntityItem, "EntityItem", 28, nms_Entity, [], 0, 3, 0, 0, ["$canTriggerWalking", $rt_wrapFunction0(nms_EntityItem_canTriggerWalking), "$entityInit", $rt_wrapFunction0(nms_EntityItem_entityInit), "$onUpdate", $rt_wrapFunction0(nms_EntityItem_onUpdate), "$handleWaterMovement", $rt_wrapFunction0(nms_EntityItem_handleWaterMovement), "$dealFireDamage", $rt_wrapFunction1(nms_EntityItem_dealFireDamage), "$attackEntityFrom", $rt_wrapFunction2(nms_EntityItem_attackEntityFrom), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityItem_writeEntityToNBT),
    "$readEntityFromNBT", $rt_wrapFunction1(nms_EntityItem_readEntityFromNBT), "$onCollideWithPlayer", $rt_wrapFunction1(nms_EntityItem_onCollideWithPlayer)],
    nms_EntityTNTPrimed, "EntityTNTPrimed", 28, nms_Entity, [], 0, 3, 0, 0, ["$entityInit", $rt_wrapFunction0(nms_EntityTNTPrimed_entityInit), "$canTriggerWalking", $rt_wrapFunction0(nms_EntityTNTPrimed_canTriggerWalking), "$canBeCollidedWith", $rt_wrapFunction0(nms_EntityTNTPrimed_canBeCollidedWith), "$onUpdate", $rt_wrapFunction0(nms_EntityTNTPrimed_onUpdate), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityTNTPrimed_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntityTNTPrimed_readEntityFromNBT),
    "$getShadowSize", $rt_wrapFunction0(nms_EntityTNTPrimed_getShadowSize)],
    nms_RenderTNTPrimed, "RenderTNTPrimed", 28, nms_Render, [], 0, 3, 0, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderTNTPrimed_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_EntityFallingSand, "EntityFallingSand", 28, nms_Entity, [], 0, 3, 0, 0, ["$canTriggerWalking", $rt_wrapFunction0(nms_EntityFallingSand_canTriggerWalking), "$entityInit", $rt_wrapFunction0(nms_EntityFallingSand_entityInit), "$canBeCollidedWith", $rt_wrapFunction0(nms_EntityFallingSand_canBeCollidedWith), "$onUpdate", $rt_wrapFunction0(nms_EntityFallingSand_onUpdate), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityFallingSand_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntityFallingSand_readEntityFromNBT),
    "$getShadowSize", $rt_wrapFunction0(nms_EntityFallingSand_getShadowSize)],
    nms_RenderFallingSand, "RenderFallingSand", 28, nms_Render, [], 0, 3, 0, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderFallingSand_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_EntityMinecart, "EntityMinecart", 28, nms_Entity, [nms_IInventory], 0, 3, 0, 0, ["$canTriggerWalking", $rt_wrapFunction0(nms_EntityMinecart_canTriggerWalking), "$entityInit", $rt_wrapFunction0(nms_EntityMinecart_entityInit), "$getCollisionBox", $rt_wrapFunction1(nms_EntityMinecart_getCollisionBox), "$getBoundingBox0", $rt_wrapFunction0(nms_EntityMinecart_getBoundingBox), "$canBePushed", $rt_wrapFunction0(nms_EntityMinecart_canBePushed), "$getMountedYOffset", $rt_wrapFunction0(nms_EntityMinecart_getMountedYOffset),
    "$attackEntityFrom", $rt_wrapFunction2(nms_EntityMinecart_attackEntityFrom), "$performHurtAnimation", $rt_wrapFunction0(nms_EntityMinecart_performHurtAnimation), "$canBeCollidedWith", $rt_wrapFunction0(nms_EntityMinecart_canBeCollidedWith), "$setEntityDead0", $rt_wrapFunction0(nms_EntityMinecart_setEntityDead), "$onUpdate", $rt_wrapFunction0(nms_EntityMinecart_onUpdate), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityMinecart_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntityMinecart_readEntityFromNBT),
    "$getShadowSize", $rt_wrapFunction0(nms_EntityMinecart_getShadowSize), "$applyEntityCollision", $rt_wrapFunction1(nms_EntityMinecart_applyEntityCollision), "$getSizeInventory", $rt_wrapFunction0(nms_EntityMinecart_getSizeInventory), "$getStackInSlot", $rt_wrapFunction1(nms_EntityMinecart_getStackInSlot), "$decrStackSize", $rt_wrapFunction2(nms_EntityMinecart_decrStackSize), "$setInventorySlotContents", $rt_wrapFunction2(nms_EntityMinecart_setInventorySlotContents), "$getInvName", $rt_wrapFunction0(nms_EntityMinecart_getInvName),
    "$getInventoryStackLimit", $rt_wrapFunction0(nms_EntityMinecart_getInventoryStackLimit), "$onInventoryChanged", $rt_wrapFunction0(nms_EntityMinecart_onInventoryChanged), "$interact", $rt_wrapFunction1(nms_EntityMinecart_interact), "$setPositionAndRotation2", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_EntityMinecart_setPositionAndRotation2(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$setVelocity", $rt_wrapFunction3(nms_EntityMinecart_setVelocity), "$canInteractWith", $rt_wrapFunction1(nms_EntityMinecart_canInteractWith)],
    nms_RenderMinecart, "RenderMinecart", 28, nms_Render, [], 0, 3, 0, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderMinecart_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_EntityBoat, "EntityBoat", 28, nms_Entity, [], 0, 3, 0, 0, ["$canTriggerWalking", $rt_wrapFunction0(nms_EntityBoat_canTriggerWalking), "$entityInit", $rt_wrapFunction0(nms_EntityBoat_entityInit), "$getCollisionBox", $rt_wrapFunction1(nms_EntityBoat_getCollisionBox), "$getBoundingBox0", $rt_wrapFunction0(nms_EntityBoat_getBoundingBox), "$canBePushed", $rt_wrapFunction0(nms_EntityBoat_canBePushed), "$getMountedYOffset", $rt_wrapFunction0(nms_EntityBoat_getMountedYOffset), "$attackEntityFrom", $rt_wrapFunction2(nms_EntityBoat_attackEntityFrom),
    "$performHurtAnimation", $rt_wrapFunction0(nms_EntityBoat_performHurtAnimation), "$canBeCollidedWith", $rt_wrapFunction0(nms_EntityBoat_canBeCollidedWith), "$setPositionAndRotation2", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_EntityBoat_setPositionAndRotation2(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$setVelocity", $rt_wrapFunction3(nms_EntityBoat_setVelocity), "$onUpdate", $rt_wrapFunction0(nms_EntityBoat_onUpdate), "$updateRiderPosition", $rt_wrapFunction0(nms_EntityBoat_updateRiderPosition),
    "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityBoat_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntityBoat_readEntityFromNBT), "$getShadowSize", $rt_wrapFunction0(nms_EntityBoat_getShadowSize), "$interact", $rt_wrapFunction1(nms_EntityBoat_interact)],
    nms_RenderBoat, "RenderBoat", 28, nms_Render, [], 0, 3, 0, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderBoat_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_EntityFish, "EntityFish", 28, nms_Entity, [], 0, 3, 0, 0, ["$entityInit", $rt_wrapFunction0(nms_EntityFish_entityInit), "$isInRangeToRenderDist", $rt_wrapFunction1(nms_EntityFish_isInRangeToRenderDist), "$setPositionAndRotation2", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_EntityFish_setPositionAndRotation2(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$setVelocity", $rt_wrapFunction3(nms_EntityFish_setVelocity), "$onUpdate", $rt_wrapFunction0(nms_EntityFish_onUpdate), "$writeEntityToNBT",
    $rt_wrapFunction1(nms_EntityFish_writeEntityToNBT), "$getShadowSize", $rt_wrapFunction0(nms_EntityFish_getShadowSize)],
    nms_RenderFish, "RenderFish", 28, nms_Render, [], 0, 3, 0, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderFish_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nle_EaglerOutputStream, 0, ji_OutputStream, [], 0, 3, 0, 0, ["$write3", $rt_wrapFunction1(nle_EaglerOutputStream_write0), "$write", $rt_wrapFunction3(nle_EaglerOutputStream_write), "$close", $rt_wrapFunction0(nle_EaglerOutputStream_close)],
    nleo_StreamBuffer, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nleo_StreamBuffer$StreamBufferInstance, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_ModelSpider, 0, nms_ModelBase, [], 0, 3, 0, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_ModelSpider_render(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_ModelCreeper, 0, nms_ModelBase, [], 0, 3, 0, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_ModelCreeper_render(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_ModelGhast, 0, nms_ModelBase, [], 0, 3, 0, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_ModelGhast_render(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_ModelMinecart, 0, nms_ModelBase, [], 0, 3, 0, 0, 0,
    nms_ModelBoat, 0, nms_ModelBase, [], 0, 3, 0, 0, 0,
    nleo_StreamBuffer$IStreamBufferInitializer, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nleo_FixedFunctionPipeline$_init_$lambda$_12_0, 0, jl_Object, [nleo_StreamBuffer$IStreamBufferInitializer], 0, 3, 0, 0, 0,
    nleo_StreamBuffer$PoolInstance, 0, jl_Object, [], 0, 3, 0, 0, 0]);
    $rt_metadata([ji_UnsupportedEncodingException, "UnsupportedEncodingException", 12, ji_IOException, [], 0, 3, 0, 0, 0,
    ju_HashMap$AbstractMapIterator, 0, jl_Object, [], 0, 0, 0, 0, ["$hasNext", $rt_wrapFunction0(ju_HashMap$AbstractMapIterator_hasNext), "$remove0", $rt_wrapFunction0(ju_HashMap$AbstractMapIterator_remove)],
    ju_HashMap$ValueIterator, 0, ju_HashMap$AbstractMapIterator, [ju_Iterator], 0, 0, 0, 0, ["$next", $rt_wrapFunction0(ju_HashMap$ValueIterator_next)],
    nms_RenderHelper, 0, jl_Object, [], 0, 3, 0, nms_RenderHelper_$callClinit, 0,
    npja_Color, 0, jl_Object, [ji_Serializable], 0, 3, 0, npja_Color_$callClinit, 0,
    nms_ChatLine, "ChatLine", 28, jl_Object, [], 0, 3, 0, 0, 0,
    ju_LinkedList$Entry, 0, jl_Object, [], 0, 0, 0, 0, 0,
    ju_HashMap$KeyIterator, 0, ju_HashMap$AbstractMapIterator, [ju_Iterator], 0, 0, 0, 0, ["$next", $rt_wrapFunction0(ju_HashMap$KeyIterator_next)],
    nleo_GlStateManager$TexGen, "GlStateManager$TexGen", 36, jl_Enum, [], 12, 3, 0, nleo_GlStateManager$TexGen_$callClinit, 0,
    jur_AbstractCharClass$LazyJavaLowerCase$1, "AbstractCharClass$LazyJavaLowerCase$1", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$LazyJavaLowerCase$1_contains)],
    jur_AbstractCharClass$LazyJavaUpperCase$1, "AbstractCharClass$LazyJavaUpperCase$1", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$LazyJavaUpperCase$1_contains)],
    jur_AbstractCharClass$LazyJavaWhitespace$1, "AbstractCharClass$LazyJavaWhitespace$1", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$LazyJavaWhitespace$1_contains)],
    jur_AbstractCharClass$LazyJavaMirrored$1, "AbstractCharClass$LazyJavaMirrored$1", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$LazyJavaMirrored$1_contains)],
    jur_AbstractCharClass$LazyJavaDefined$1, "AbstractCharClass$LazyJavaDefined$1", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$LazyJavaDefined$1_contains)],
    jur_AbstractCharClass$LazyJavaDigit$1, "AbstractCharClass$LazyJavaDigit$1", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$LazyJavaDigit$1_contains)],
    jur_AbstractCharClass$LazyJavaIdentifierIgnorable$1, "AbstractCharClass$LazyJavaIdentifierIgnorable$1", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$LazyJavaIdentifierIgnorable$1_contains)],
    jur_AbstractCharClass$LazyJavaISOControl$1, "AbstractCharClass$LazyJavaISOControl$1", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$LazyJavaISOControl$1_contains)],
    jur_AbstractCharClass$LazyJavaJavaIdentifierPart$1, "AbstractCharClass$LazyJavaJavaIdentifierPart$1", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$LazyJavaJavaIdentifierPart$1_contains)],
    jur_AbstractCharClass$LazyJavaJavaIdentifierStart$1, "AbstractCharClass$LazyJavaJavaIdentifierStart$1", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$LazyJavaJavaIdentifierStart$1_contains)],
    jur_AbstractCharClass$LazyJavaLetter$1, "AbstractCharClass$LazyJavaLetter$1", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$LazyJavaLetter$1_contains)],
    jur_AbstractCharClass$LazyJavaLetterOrDigit$1, "AbstractCharClass$LazyJavaLetterOrDigit$1", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$LazyJavaLetterOrDigit$1_contains)],
    jur_AbstractCharClass$LazyJavaSpaceChar$1, "AbstractCharClass$LazyJavaSpaceChar$1", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$LazyJavaSpaceChar$1_contains)],
    jur_AbstractCharClass$LazyJavaTitleCase$1, "AbstractCharClass$LazyJavaTitleCase$1", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$LazyJavaTitleCase$1_contains)],
    jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart$1, "AbstractCharClass$LazyJavaUnicodeIdentifierPart$1", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart$1_contains)],
    jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart$1, "AbstractCharClass$LazyJavaUnicodeIdentifierStart$1", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart$1_contains)],
    jur_UnicodeCategory, "UnicodeCategory", 8, jur_AbstractCharClass, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_UnicodeCategory_contains)],
    jur_UnicodeCategoryScope, "UnicodeCategoryScope", 8, jur_UnicodeCategory, [], 0, 0, 0, 0, ["$contains1", $rt_wrapFunction1(jur_UnicodeCategoryScope_contains)],
    jnci_AsciiEncoder, 0, jnci_BufferedEncoder, [], 0, 3, 0, 0, ["$arrayEncode", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return jnci_AsciiEncoder_arrayEncode(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    jnci_Iso8859Encoder, 0, jnci_BufferedEncoder, [], 0, 3, 0, 0, ["$arrayEncode", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return jnci_Iso8859Encoder_arrayEncode(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    jnci_UTF16Encoder, 0, jnci_BufferedEncoder, [], 0, 3, 0, 0, ["$arrayEncode", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return jnci_UTF16Encoder_arrayEncode(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    nms_GuiIngameMenu, "GuiIngameMenu", 28, nms_GuiScreen, [], 0, 3, 0, 0, ["$initGui", $rt_wrapFunction0(nms_GuiIngameMenu_initGui), "$actionPerformed", $rt_wrapFunction1(nms_GuiIngameMenu_actionPerformed), "$updateScreen", $rt_wrapFunction0(nms_GuiIngameMenu_updateScreen), "$drawScreen", $rt_wrapFunction3(nms_GuiIngameMenu_drawScreen)],
    nms_ClippingHelper, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_ClippingHelperImplementation, 0, nms_ClippingHelper, [], 0, 3, 0, nms_ClippingHelperImplementation_$callClinit, 0,
    nms_ICamera, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nms_Frustrum, 0, jl_Object, [nms_ICamera], 0, 3, 0, 0, 0,
    nlei_FileChooserResult, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_EntityFX, "EntityFX", 28, nms_Entity, [], 0, 3, 0, 0, ["$canTriggerWalking", $rt_wrapFunction0(nms_EntityFX_canTriggerWalking), "$entityInit", $rt_wrapFunction0(nms_EntityFX_entityInit), "$onUpdate", $rt_wrapFunction0(nms_EntityFX_onUpdate), "$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_EntityFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$getFXLayer", $rt_wrapFunction0(nms_EntityFX_getFXLayer), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityFX_writeEntityToNBT)],
    nms_CraftingInventoryCB, 0, jl_Object, [], 1, 3, 0, 0, ["$onCraftGuiClosed", $rt_wrapFunction1(nms_CraftingInventoryCB_onCraftGuiClosed), "$func_20112_a", $rt_wrapFunction2(nms_CraftingInventoryCB_func_20112_a)],
    jt_DecimalFormat$PerMillField, "DecimalFormat$PerMillField", 14, jl_Object, [jt_DecimalFormat$FormatField], 0, 0, 0, 0, ["$equals", $rt_wrapFunction1(jt_DecimalFormat$PerMillField_equals), "$hashCode0", $rt_wrapFunction0(jt_DecimalFormat$PerMillField_hashCode)],
    jt_DecimalFormat$CurrencyField, "DecimalFormat$CurrencyField", 14, jl_Object, [jt_DecimalFormat$FormatField], 0, 0, 0, 0, ["$equals", $rt_wrapFunction1(jt_DecimalFormat$CurrencyField_equals), "$hashCode0", $rt_wrapFunction0(jt_DecimalFormat$CurrencyField_hashCode)],
    jt_DecimalFormat$PercentField, "DecimalFormat$PercentField", 14, jl_Object, [jt_DecimalFormat$FormatField], 0, 0, 0, 0, ["$equals", $rt_wrapFunction1(jt_DecimalFormat$PercentField_equals), "$hashCode0", $rt_wrapFunction0(jt_DecimalFormat$PercentField_hashCode)],
    ju_Formatter$FormatWriter, 0, jl_Object, [], 0, 0, 0, 0, 0,
    otcic_Console, 0, jl_Object, [], 4, 3, 0, 0, 0,
    otcit_DateTimeZoneBuilder$Transition, "DateTimeZoneBuilder$Transition", 23, jl_Object, [], 4, 0, 0, 0, 0,
    nms_EntityDiggingFX, "EntityDiggingFX", 28, nms_EntityFX, [], 0, 3, 0, 0, ["$getFXLayer", $rt_wrapFunction0(nms_EntityDiggingFX_getFXLayer), "$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_EntityDiggingFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    npevv_Vec3D_112, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_GuiButton, "GuiButton", 28, nms_Gui, [], 0, 3, 0, 0, ["$getHoverState", $rt_wrapFunction1(nms_GuiButton_getHoverState), "$mouseDragged", $rt_wrapFunction3(nms_GuiButton_mouseDragged), "$mouseReleased", $rt_wrapFunction2(nms_GuiButton_mouseReleased), "$mousePressed", $rt_wrapFunction3(nms_GuiButton_mousePressed)],
    otjt_ArrayBuffer, 0, jl_Object, [otj_JSObject], 1, 3, 0, 0, 0,
    otjt_Int16Array, 0, otjt_ArrayBufferView, [], 1, 3, 0, 0, 0,
    jur_MatchResultImpl, 0, jl_Object, [jur_MatchResult], 0, 0, 0, 0, 0]);
    $rt_metadata([nms_WorldProvider, 0, jl_Object, [], 0, 3, 0, 0, ["$generateLightBrightnessTable", $rt_wrapFunction0(nms_WorldProvider_generateLightBrightnessTable), "$registerWorldChunkManager", $rt_wrapFunction0(nms_WorldProvider_registerWorldChunkManager), "$getChunkProvider", $rt_wrapFunction0(nms_WorldProvider_getChunkProvider), "$canCoordinateBeSpawn", $rt_wrapFunction2(nms_WorldProvider_canCoordinateBeSpawn), "$calculateCelestialAngle", $rt_wrapFunction2(nms_WorldProvider_calculateCelestialAngle), "$func_4096_a",
    $rt_wrapFunction2(nms_WorldProvider_func_4096_a), "$canRespawnHere", $rt_wrapFunction0(nms_WorldProvider_canRespawnHere)],
    nms_GuiTextField, 0, nms_Gui, [], 0, 3, 0, 0, 0,
    nms_EntityRainFX, "EntityRainFX", 28, nms_EntityFX, [], 0, 3, 0, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_EntityRainFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", $rt_wrapFunction0(nms_EntityRainFX_onUpdate)],
    nms_Slot, "Slot", 28, jl_Object, [], 0, 3, 0, 0, ["$onPickupFromSlot", $rt_wrapFunction1(nms_Slot_onPickupFromSlot), "$isItemValid", $rt_wrapFunction1(nms_Slot_isItemValid), "$getSlotStackLimit", $rt_wrapFunction0(nms_Slot_getSlotStackLimit), "$func_25014_f", $rt_wrapFunction0(nms_Slot_func_25014_f)],
    ju_FormatterClosedException, "FormatterClosedException", 6, jl_IllegalStateException, [], 0, 3, 0, 0, 0,
    jl_ClassLoader, 0, jl_Object, [], 1, 3, 0, jl_ClassLoader_$callClinit, 0,
    nleit_DebugConsoleWindow$LogMessage, 0, jl_Object, [], 0, 0, 0, 0, 0,
    ji_ByteArrayOutputStream, 0, ji_OutputStream, [], 0, 3, 0, 0, ["$write3", $rt_wrapFunction1(ji_ByteArrayOutputStream_write0), "$write", $rt_wrapFunction3(ji_ByteArrayOutputStream_write)],
    ji_DataOutput, 0, jl_Object, [], 3, 3, 0, 0, 0,
    ji_DataOutputStream, 0, ji_FilterOutputStream, [ji_DataOutput], 0, 3, 0, 0, ["$write", $rt_wrapFunction3(ji_DataOutputStream_write)],
    otcit_FloatSynthesizer, 0, jl_Object, [], 4, 3, 0, 0, 0,
    otcit_FloatAnalyzer, 0, jl_Object, [], 4, 3, 0, 0, 0,
    nms_DataWatcher, 0, jl_Object, [], 0, 3, 0, nms_DataWatcher_$callClinit, 0,
    jl_Byte, "Byte", 15, jl_Number, [jl_Comparable], 0, 3, 0, 0, ["$equals", $rt_wrapFunction1(jl_Byte_equals)],
    jl_SystemClassLoader, 0, jl_ClassLoader, [], 0, 0, 0, 0, 0,
    jl_Short, "Short", 15, jl_Number, [jl_Comparable], 0, 3, 0, 0, 0,
    nms_ChunkCoordinates, "ChunkCoordinates", 28, jl_Object, [jl_Comparable], 0, 3, 0, 0, 0,
    nms_XErrr, 0, jl_Object, [], 0, 3, 0, 0, 0,
    cjj_Inflate$Return, "Inflate$Return", 4, jl_Exception, [], 0, 0, 0, 0, 0,
    cjj_GZIPHeader, 0, jl_Object, [jl_Cloneable], 0, 3, 0, 0, 0,
    nms_RenderSorter, 0, jl_Object, [ju_Comparator], 0, 3, 0, 0, ["$compare", $rt_wrapFunction2(nms_RenderSorter_compare)],
    nms_EntitySorter, 0, jl_Object, [ju_Comparator], 0, 3, 0, 0, ["$compare", $rt_wrapFunction2(nms_EntitySorter_compare)],
    nms_TileEntityRenderer, 0, jl_Object, [], 0, 3, 0, nms_TileEntityRenderer_$callClinit, 0,
    ji_Writer, 0, jl_Object, [jl_Appendable, ji_Closeable, ji_Flushable], 1, 3, 0, 0, 0,
    ji_PrintWriter, 0, ji_Writer, [], 0, 3, 0, 0, 0,
    ji_OutputStreamWriter, 0, ji_Writer, [], 0, 3, 0, 0, 0,
    nms_MovementInput, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_MovementInputFromOptions, 0, nms_MovementInput, [], 0, 3, 0, 0, 0,
    ju_HashMap$HashMapEntrySet, 0, ju_AbstractSet, [], 0, 0, 0, 0, 0,
    nleiv_VFileInputStream, 0, ji_InputStream, [], 0, 0, 0, 0, ["$read", $rt_wrapFunction3(nleiv_VFileInputStream_read), "$close", $rt_wrapFunction0(nleiv_VFileInputStream_close)],
    nms_ModelBed, 0, jl_Object, [], 0, 3, 0, 0, 0,
    jn_BufferUnderflowException, "BufferUnderflowException", 9, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    nleit_TeaVMClientConfigAdapterHooks$callScreenChangedHook$lambda$_3_0, 0, jl_Object, [jl_Runnable], 0, 3, 0, 0, ["$run", $rt_wrapFunction0(nleit_TeaVMClientConfigAdapterHooks$callScreenChangedHook$lambda$_3_0_run)],
    jn_ReadOnlyBufferException, "ReadOnlyBufferException", 9, jl_UnsupportedOperationException, [], 0, 3, 0, 0, 0,
    nms_WatchableObject, "WatchableObject", 28, jl_Object, [], 0, 3, 0, 0, 0,
    nleo_TextureFormatHelper, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_EntityClientPlayerMP, "EntityClientPlayerMP", 28, nms_EntityPlayerSP, [], 0, 3, 0, 0, ["$attackEntityFrom", $rt_wrapFunction2(nms_EntityClientPlayerMP_attackEntityFrom), "$heal", $rt_wrapFunction1(nms_EntityClientPlayerMP_heal), "$onUpdate", $rt_wrapFunction0(nms_EntityClientPlayerMP_onUpdate), "$dropCurrentItem", $rt_wrapFunction0(nms_EntityClientPlayerMP_dropCurrentItem), "$joinEntityItemWithWorld", $rt_wrapFunction1(nms_EntityClientPlayerMP_joinEntityItemWithWorld), "$sendChatMessage", $rt_wrapFunction1(nms_EntityClientPlayerMP_sendChatMessage),
    "$swingItem", $rt_wrapFunction0(nms_EntityClientPlayerMP_swingItem), "$respawnPlayer", $rt_wrapFunction0(nms_EntityClientPlayerMP_respawnPlayer), "$damageEntity", $rt_wrapFunction1(nms_EntityClientPlayerMP_damageEntity), "$func_20059_m", $rt_wrapFunction0(nms_EntityClientPlayerMP_func_20059_m), "$setHealth", $rt_wrapFunction1(nms_EntityClientPlayerMP_setHealth)],
    nms_Packet, 0, jl_Object, [], 1, 3, 0, nms_Packet_$callClinit, 0,
    nms_Packet19, "Packet19", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet19_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet19_writePacketData), "$processPacket", $rt_wrapFunction1(nms_Packet19_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet19_getPacketSize)],
    ju_UnknownFormatConversionException, "UnknownFormatConversionException", 6, ju_IllegalFormatException, [], 0, 3, 0, 0, 0,
    jl_AbstractStringBuilder$Constants, 0, jl_Object, [], 0, 0, 0, 0, 0,
    otcit_FloatAnalyzer$Result, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nleit_TeaVMClientConfigAdapterHooks$CustomMessageCB, 0, jl_Object, [otj_JSObject], 3, 0, 0, 0, 0,
    nleit_TeaVMClientConfigAdapterHooks$lambda$callCrashReportHook$4$lambda$_14_0, 0, jl_Object, [nleit_TeaVMClientConfigAdapterHooks$CustomMessageCB], 0, 3, 0, 0, ["$call$exported$02", $rt_wrapFunction1(nleit_TeaVMClientConfigAdapterHooks$lambda$callCrashReportHook$4$lambda$_14_0_call$exported$0)],
    ju_DuplicateFormatFlagsException, "DuplicateFormatFlagsException", 6, ju_IllegalFormatException, [], 0, 3, 0, 0, 0,
    ju_IllegalFormatPrecisionException, "IllegalFormatPrecisionException", 6, ju_IllegalFormatException, [], 0, 3, 0, 0, 0,
    ju_IllegalFormatCodePointException, "IllegalFormatCodePointException", 6, ju_IllegalFormatException, [], 0, 3, 0, 0, 0,
    ju_IllegalFormatConversionException, "IllegalFormatConversionException", 6, ju_IllegalFormatException, [], 0, 3, 0, 0, 0,
    ju_Formattable, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nms_TileEntitySpecialRenderer, 0, jl_Object, [], 1, 3, 0, 0, 0]);
    $rt_metadata([nms_TileEntitySignRenderer, "TileEntitySignRenderer", 28, nms_TileEntitySpecialRenderer, [], 0, 3, 0, 0, ["$renderTileEntityAt", function(var_1, var_2, var_3, var_4, var_5) { nms_TileEntitySignRenderer_renderTileEntityAt(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_TileEntityMobSpawner, "TileEntityMobSpawner", 28, nms_TileEntity, [], 0, 3, 0, 0, ["$updateEntity", $rt_wrapFunction0(nms_TileEntityMobSpawner_updateEntity), "$readFromNBT", $rt_wrapFunction1(nms_TileEntityMobSpawner_readFromNBT), "$writeToNBT", $rt_wrapFunction1(nms_TileEntityMobSpawner_writeToNBT)],
    nms_TileEntityMobSpawnerRenderer, "TileEntityMobSpawnerRenderer", 28, nms_TileEntitySpecialRenderer, [], 0, 3, 0, 0, ["$renderTileEntityAt", function(var_1, var_2, var_3, var_4, var_5) { nms_TileEntityMobSpawnerRenderer_renderTileEntityAt(this, var_1, var_2, var_3, var_4, var_5); }],
    ju_FormatFlagsConversionMismatchException, "FormatFlagsConversionMismatchException", 6, ju_IllegalFormatException, [], 0, 3, 0, 0, 0,
    ju_IllegalFormatFlagsException, "IllegalFormatFlagsException", 6, ju_IllegalFormatException, [], 0, 3, 0, 0, 0,
    ju_MissingFormatWidthException, "MissingFormatWidthException", 6, ju_IllegalFormatException, [], 0, 3, 0, 0, 0,
    otcit_DoubleAnalyzer$Result, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_Packet0KeepAlive, "Packet0KeepAlive", 28, nms_Packet, [], 0, 3, 0, 0, ["$processPacket", $rt_wrapFunction1(nms_Packet0KeepAlive_processPacket), "$readPacketData", $rt_wrapFunction1(nms_Packet0KeepAlive_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet0KeepAlive_writePacketData), "$getPacketSize", $rt_wrapFunction0(nms_Packet0KeepAlive_getPacketSize)],
    nms_Packet1Login, "Packet1Login", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet1Login_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet1Login_writePacketData), "$processPacket", $rt_wrapFunction1(nms_Packet1Login_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet1Login_getPacketSize)],
    nms_Packet2Handshake, "Packet2Handshake", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet2Handshake_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet2Handshake_writePacketData), "$processPacket", $rt_wrapFunction1(nms_Packet2Handshake_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet2Handshake_getPacketSize)],
    nms_Packet3Chat, "Packet3Chat", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet3Chat_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet3Chat_writePacketData), "$processPacket", $rt_wrapFunction1(nms_Packet3Chat_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet3Chat_getPacketSize)],
    nms_Packet4UpdateTime, "Packet4UpdateTime", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet4UpdateTime_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet4UpdateTime_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet4UpdateTime_getPacketSize)],
    nms_Packet5PlayerInventory, "Packet5PlayerInventory", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet5PlayerInventory_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet5PlayerInventory_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet5PlayerInventory_getPacketSize)],
    nms_Packet6SpawnPosition, "Packet6SpawnPosition", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet6SpawnPosition_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet6SpawnPosition_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet6SpawnPosition_getPacketSize)],
    nms_Packet7, "Packet7", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet7_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet7_writePacketData), "$processPacket", $rt_wrapFunction1(nms_Packet7_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet7_getPacketSize)],
    nms_Packet8, "Packet8", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet8_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet8_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet8_getPacketSize)],
    nms_Packet9, "Packet9", 28, nms_Packet, [], 0, 3, 0, 0, ["$processPacket", $rt_wrapFunction1(nms_Packet9_processPacket), "$readPacketData", $rt_wrapFunction1(nms_Packet9_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet9_writePacketData), "$getPacketSize", $rt_wrapFunction0(nms_Packet9_getPacketSize)],
    nms_Packet10Flying, "Packet10Flying", 28, nms_Packet, [], 0, 3, 0, 0, ["$processPacket", $rt_wrapFunction1(nms_Packet10Flying_processPacket), "$readPacketData", $rt_wrapFunction1(nms_Packet10Flying_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet10Flying_writePacketData), "$getPacketSize", $rt_wrapFunction0(nms_Packet10Flying_getPacketSize)],
    nms_Packet11PlayerPosition, "Packet11PlayerPosition", 28, nms_Packet10Flying, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet11PlayerPosition_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet11PlayerPosition_writePacketData), "$getPacketSize", $rt_wrapFunction0(nms_Packet11PlayerPosition_getPacketSize)],
    nms_Packet12PlayerLook, "Packet12PlayerLook", 28, nms_Packet10Flying, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet12PlayerLook_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet12PlayerLook_writePacketData), "$getPacketSize", $rt_wrapFunction0(nms_Packet12PlayerLook_getPacketSize)],
    nms_Packet13PlayerLookMove, "Packet13PlayerLookMove", 28, nms_Packet10Flying, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet13PlayerLookMove_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet13PlayerLookMove_writePacketData), "$getPacketSize", $rt_wrapFunction0(nms_Packet13PlayerLookMove_getPacketSize)],
    nms_Packet14BlockDig, "Packet14BlockDig", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet14BlockDig_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet14BlockDig_writePacketData), "$processPacket", $rt_wrapFunction1(nms_Packet14BlockDig_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet14BlockDig_getPacketSize)],
    nms_Packet15Place, "Packet15Place", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet15Place_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet15Place_writePacketData), "$processPacket", $rt_wrapFunction1(nms_Packet15Place_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet15Place_getPacketSize)],
    nms_Packet16BlockItemSwitch, "Packet16BlockItemSwitch", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet16BlockItemSwitch_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet16BlockItemSwitch_writePacketData), "$processPacket", $rt_wrapFunction1(nms_Packet16BlockItemSwitch_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet16BlockItemSwitch_getPacketSize)],
    nms_Packet17Sleep, "Packet17Sleep", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet17Sleep_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet17Sleep_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet17Sleep_getPacketSize)],
    nms_Packet18ArmAnimation, "Packet18ArmAnimation", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet18ArmAnimation_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet18ArmAnimation_writePacketData), "$processPacket", $rt_wrapFunction1(nms_Packet18ArmAnimation_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet18ArmAnimation_getPacketSize)],
    nms_Packet20NamedEntitySpawn, "Packet20NamedEntitySpawn", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet20NamedEntitySpawn_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet20NamedEntitySpawn_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet20NamedEntitySpawn_getPacketSize)],
    nms_Packet21PickupSpawn, "Packet21PickupSpawn", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet21PickupSpawn_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet21PickupSpawn_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet21PickupSpawn_getPacketSize)],
    nms_Packet22Collect, "Packet22Collect", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet22Collect_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet22Collect_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet22Collect_getPacketSize)],
    nms_Packet23VehicleSpawn, "Packet23VehicleSpawn", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet23VehicleSpawn_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet23VehicleSpawn_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet23VehicleSpawn_getPacketSize)],
    nms_Packet24MobSpawn, "Packet24MobSpawn", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet24MobSpawn_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet24MobSpawn_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet24MobSpawn_getPacketSize)],
    nms_Packet25, "Packet25", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet25_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet25_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet25_getPacketSize)],
    nms_Packet27, "Packet27", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet27_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet27_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet27_getPacketSize)],
    nms_Packet28, "Packet28", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet28_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet28_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet28_getPacketSize)],
    nms_Packet29DestroyEntity, "Packet29DestroyEntity", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet29DestroyEntity_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet29DestroyEntity_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet29DestroyEntity_getPacketSize)],
    nms_Packet30Entity, "Packet30Entity", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet30Entity_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet30Entity_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet30Entity_getPacketSize)],
    nms_Packet31RelEntityMove, "Packet31RelEntityMove", 28, nms_Packet30Entity, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet31RelEntityMove_readPacketData), "$getPacketSize", $rt_wrapFunction0(nms_Packet31RelEntityMove_getPacketSize)],
    nms_Packet32EntityLook, "Packet32EntityLook", 28, nms_Packet30Entity, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet32EntityLook_readPacketData), "$getPacketSize", $rt_wrapFunction0(nms_Packet32EntityLook_getPacketSize)],
    nms_Packet33RelEntityMoveLook, "Packet33RelEntityMoveLook", 28, nms_Packet30Entity, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet33RelEntityMoveLook_readPacketData), "$getPacketSize", $rt_wrapFunction0(nms_Packet33RelEntityMoveLook_getPacketSize)],
    nms_Packet34EntityTeleport, "Packet34EntityTeleport", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet34EntityTeleport_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet34EntityTeleport_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet34EntityTeleport_getPacketSize)],
    nms_Packet38, "Packet38", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet38_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet38_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet38_getPacketSize)],
    nms_Packet39, "Packet39", 28, nms_Packet, [], 0, 3, 0, 0, ["$getPacketSize", $rt_wrapFunction0(nms_Packet39_getPacketSize), "$readPacketData", $rt_wrapFunction1(nms_Packet39_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet39_processPacket)],
    nms_Packet40, "Packet40", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet40_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet40_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet40_getPacketSize)],
    nms_Packet50PreChunk, "Packet50PreChunk", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet50PreChunk_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet50PreChunk_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet50PreChunk_getPacketSize)],
    nms_Packet51MapChunk, "Packet51MapChunk", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet51MapChunk_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet51MapChunk_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet51MapChunk_getPacketSize)],
    nms_Packet52MultiBlockChange, "Packet52MultiBlockChange", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet52MultiBlockChange_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet52MultiBlockChange_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet52MultiBlockChange_getPacketSize)],
    nms_Packet53BlockChange, "Packet53BlockChange", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet53BlockChange_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet53BlockChange_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet53BlockChange_getPacketSize)],
    nms_Packet54, "Packet54", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet54_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet54_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet54_getPacketSize)],
    nms_Packet60, "Packet60", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet60_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet60_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet60_getPacketSize)],
    nms_Packet70, "Packet70", 28, nms_Packet, [], 0, 3, 0, nms_Packet70_$callClinit, ["$readPacketData", $rt_wrapFunction1(nms_Packet70_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet70_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet70_getPacketSize)]]);
    $rt_metadata([nms_Packet100, "Packet100", 28, nms_Packet, [], 0, 3, 0, 0, ["$processPacket", $rt_wrapFunction1(nms_Packet100_processPacket), "$readPacketData", $rt_wrapFunction1(nms_Packet100_readPacketData), "$getPacketSize", $rt_wrapFunction0(nms_Packet100_getPacketSize)],
    nms_Packet101, "Packet101", 28, nms_Packet, [], 0, 3, 0, 0, ["$processPacket", $rt_wrapFunction1(nms_Packet101_processPacket), "$readPacketData", $rt_wrapFunction1(nms_Packet101_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet101_writePacketData), "$getPacketSize", $rt_wrapFunction0(nms_Packet101_getPacketSize)],
    nms_Packet102, "Packet102", 28, nms_Packet, [], 0, 3, 0, 0, ["$processPacket", $rt_wrapFunction1(nms_Packet102_processPacket), "$readPacketData", $rt_wrapFunction1(nms_Packet102_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet102_writePacketData), "$getPacketSize", $rt_wrapFunction0(nms_Packet102_getPacketSize)],
    nms_Packet103, "Packet103", 28, nms_Packet, [], 0, 3, 0, 0, ["$processPacket", $rt_wrapFunction1(nms_Packet103_processPacket), "$readPacketData", $rt_wrapFunction1(nms_Packet103_readPacketData), "$getPacketSize", $rt_wrapFunction0(nms_Packet103_getPacketSize)],
    nms_Packet104, "Packet104", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet104_readPacketData), "$processPacket", $rt_wrapFunction1(nms_Packet104_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet104_getPacketSize)],
    nms_Packet105, "Packet105", 28, nms_Packet, [], 0, 3, 0, 0, ["$processPacket", $rt_wrapFunction1(nms_Packet105_processPacket), "$readPacketData", $rt_wrapFunction1(nms_Packet105_readPacketData), "$getPacketSize", $rt_wrapFunction0(nms_Packet105_getPacketSize)],
    nms_Packet106, "Packet106", 28, nms_Packet, [], 0, 3, 0, 0, ["$processPacket", $rt_wrapFunction1(nms_Packet106_processPacket), "$readPacketData", $rt_wrapFunction1(nms_Packet106_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet106_writePacketData), "$getPacketSize", $rt_wrapFunction0(nms_Packet106_getPacketSize)],
    nms_Packet130, "Packet130", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet130_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet130_writePacketData), "$processPacket", $rt_wrapFunction1(nms_Packet130_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet130_getPacketSize)],
    nms_Packet255KickDisconnect, "Packet255KickDisconnect", 28, nms_Packet, [], 0, 3, 0, 0, ["$readPacketData", $rt_wrapFunction1(nms_Packet255KickDisconnect_readPacketData), "$writePacketData", $rt_wrapFunction1(nms_Packet255KickDisconnect_writePacketData), "$processPacket", $rt_wrapFunction1(nms_Packet255KickDisconnect_processPacket), "$getPacketSize", $rt_wrapFunction0(nms_Packet255KickDisconnect_getPacketSize)],
    nms_SignModel, 0, jl_Object, [], 0, 3, 0, 0, 0,
    jnc_CoderMalfunctionError, "CoderMalfunctionError", 10, jl_Error, [], 0, 3, 0, 0, 0,
    ju_HashMap$EntryIterator, 0, ju_HashMap$AbstractMapIterator, [ju_Iterator], 0, 0, 0, 0, 0,
    otci_Base64Impl, 0, jl_Object, [], 4, 3, 0, 0, 0,
    nlem_FontMappingHelper, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nlei_IAudioResource, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nms_GuiOptions, "GuiOptions", 28, nms_GuiScreen, [], 0, 3, 0, nms_GuiOptions_$callClinit, ["$initGui", $rt_wrapFunction0(nms_GuiOptions_initGui), "$actionPerformed", $rt_wrapFunction1(nms_GuiOptions_actionPerformed), "$drawScreen", $rt_wrapFunction3(nms_GuiOptions_drawScreen)],
    nms_GuiSelectWorld, "GuiSelectWorld", 28, nms_GuiScreen, [], 0, 3, 0, 0, ["$initGui", $rt_wrapFunction0(nms_GuiSelectWorld_initGui), "$actionPerformed", $rt_wrapFunction1(nms_GuiSelectWorld_actionPerformed), "$drawScreen", $rt_wrapFunction3(nms_GuiSelectWorld_drawScreen)],
    nms_GuiMultiplayer, "GuiMultiplayer", 28, nms_GuiScreen, [], 0, 3, 0, 0, ["$updateScreen", $rt_wrapFunction0(nms_GuiMultiplayer_updateScreen), "$initGui", $rt_wrapFunction0(nms_GuiMultiplayer_initGui), "$onGuiClosed", $rt_wrapFunction0(nms_GuiMultiplayer_onGuiClosed), "$actionPerformed", $rt_wrapFunction1(nms_GuiMultiplayer_actionPerformed), "$keyTyped", $rt_wrapFunction2(nms_GuiMultiplayer_keyTyped), "$mouseClicked", $rt_wrapFunction3(nms_GuiMultiplayer_mouseClicked), "$drawScreen", $rt_wrapFunction3(nms_GuiMultiplayer_drawScreen)],
    nms_GuiTexturePacks, "GuiTexturePacks", 28, nms_GuiScreen, [], 0, 3, 0, 0, ["$initGui", $rt_wrapFunction0(nms_GuiTexturePacks_initGui), "$actionPerformed", $rt_wrapFunction1(nms_GuiTexturePacks_actionPerformed), "$mouseClicked", $rt_wrapFunction3(nms_GuiTexturePacks_mouseClicked), "$mouseMovedOrUp", $rt_wrapFunction3(nms_GuiTexturePacks_mouseMovedOrUp), "$drawScreen", $rt_wrapFunction3(nms_GuiTexturePacks_drawScreen), "$updateScreen", $rt_wrapFunction0(nms_GuiTexturePacks_updateScreen)],
    nms_Chunk, "Chunk", 28, jl_Object, [], 0, 3, 0, 0, ["$isAtLocation", $rt_wrapFunction2(nms_Chunk_isAtLocation), "$getHeightValue", $rt_wrapFunction2(nms_Chunk_getHeightValue), "$generateHeightMap", $rt_wrapFunction0(nms_Chunk_generateHeightMap), "$func_4143_d", $rt_wrapFunction0(nms_Chunk_func_4143_d), "$getBlockID", $rt_wrapFunction3(nms_Chunk_getBlockID), "$setBlockIDWithMetadata", function(var_1, var_2, var_3, var_4, var_5) { return nms_Chunk_setBlockIDWithMetadata(this, var_1, var_2, var_3, var_4, var_5);
    }, "$setBlockID", $rt_wrapFunction4(nms_Chunk_setBlockID), "$getBlockMetadata", $rt_wrapFunction3(nms_Chunk_getBlockMetadata), "$setBlockMetadata0", $rt_wrapFunction4(nms_Chunk_setBlockMetadata), "$getSavedLightValue", $rt_wrapFunction4(nms_Chunk_getSavedLightValue), "$setLightValue0", function(var_1, var_2, var_3, var_4, var_5) { nms_Chunk_setLightValue(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockLightValue0", $rt_wrapFunction4(nms_Chunk_getBlockLightValue), "$addEntity", $rt_wrapFunction1(nms_Chunk_addEntity),
    "$func_1015_b", $rt_wrapFunction1(nms_Chunk_func_1015_b), "$func_1016_a", $rt_wrapFunction2(nms_Chunk_func_1016_a), "$canBlockSeeTheSky", $rt_wrapFunction3(nms_Chunk_canBlockSeeTheSky), "$getChunkBlockTileEntity", $rt_wrapFunction3(nms_Chunk_getChunkBlockTileEntity), "$setChunkBlockTileEntity", $rt_wrapFunction4(nms_Chunk_setChunkBlockTileEntity), "$removeChunkBlockTileEntity", $rt_wrapFunction3(nms_Chunk_removeChunkBlockTileEntity), "$onChunkLoad", $rt_wrapFunction0(nms_Chunk_onChunkLoad), "$onChunkUnload",
    $rt_wrapFunction0(nms_Chunk_onChunkUnload), "$setChunkModified", $rt_wrapFunction0(nms_Chunk_setChunkModified), "$getEntitiesWithinAABBForEntity", $rt_wrapFunction3(nms_Chunk_getEntitiesWithinAABBForEntity), "$getEntitiesOfTypeWithinAAAB", $rt_wrapFunction3(nms_Chunk_getEntitiesOfTypeWithinAAAB), "$needsSaving", $rt_wrapFunction1(nms_Chunk_needsSaving), "$setChunkData", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8) { return nms_Chunk_setChunkData(this, var_1, var_2, var_3, var_4, var_5,
    var_6, var_7, var_8); }, "$func_997_a", $rt_wrapFunction1(nms_Chunk_func_997_a), "$func_21167_h", $rt_wrapFunction0(nms_Chunk_func_21167_h)],
    nms_ChunkCache, 0, jl_Object, [nms_IBlockAccess], 0, 3, 0, 0, ["$getBlockId", $rt_wrapFunction3(nms_ChunkCache_getBlockId), "$getLightBrightness", $rt_wrapFunction3(nms_ChunkCache_getLightBrightness), "$getBlockMetadata", $rt_wrapFunction3(nms_ChunkCache_getBlockMetadata), "$getBlockMaterial", $rt_wrapFunction3(nms_ChunkCache_getBlockMaterial), "$isBlockOpaqueCube", $rt_wrapFunction3(nms_ChunkCache_isBlockOpaqueCube), "$getWorldChunkManager", $rt_wrapFunction0(nms_ChunkCache_getWorldChunkManager)],
    nleiv_VFileOutputStream, 0, nle_EaglerOutputStream, [], 0, 0, 0, 0, 0,
    nms_WorldChunkManager, 0, jl_Object, [], 0, 3, 0, 0, ["$func_4074_a", $rt_wrapFunction1(nms_WorldChunkManager_func_4074_a), "$func_4073_a", $rt_wrapFunction2(nms_WorldChunkManager_func_4073_a), "$func_4072_b", $rt_wrapFunction2(nms_WorldChunkManager_func_4072_b), "$func_4069_a", $rt_wrapFunction4(nms_WorldChunkManager_func_4069_a), "$getTemperatures", function(var_1, var_2, var_3, var_4, var_5) { return nms_WorldChunkManager_getTemperatures(this, var_1, var_2, var_3, var_4, var_5); }, "$loadBlockGeneratorData",
    function(var_1, var_2, var_3, var_4, var_5) { return nms_WorldChunkManager_loadBlockGeneratorData(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_ColorizerGrass, 0, jl_Object, [], 0, 3, 0, nms_ColorizerGrass_$callClinit, 0,
    nms_ColorizerFoliage, 0, jl_Object, [], 0, 3, 0, nms_ColorizerFoliage_$callClinit, 0,
    nlei_PlatformAudio$BrowserAudioResource, "PlatformAudio$BrowserAudioResource", 31, jl_Object, [nlei_IAudioResource], 0, 3, 0, 0, 0,
    nlei_IAudioHandle, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nlei_PlatformAudio$BrowserAudioHandle, 0, jl_Object, [nlei_IAudioHandle, otjde_EventListener], 0, 3, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformAudio$BrowserAudioHandle_handleEvent$exported$0)],
    otcit_DoubleAnalyzer, 0, jl_Object, [], 4, 3, 0, 0, 0,
    nleit_JOrbisAudioBufferDecoder, 0, jl_Object, [], 0, 3, 0, nleit_JOrbisAudioBufferDecoder_$callClinit, 0,
    nlei_PlatformApplication$3, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformApplication$3_handleEvent$exported$0)],
    nlei_PlatformApplication$4, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformApplication$4_handleEvent$exported$0)],
    nlei_PlatformApplication$5, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nlei_PlatformApplication$5_handleEvent$exported$0)],
    nlei_PlatformApplication$6, 0, jl_Object, [otjb_TimerHandler], 0, 0, 0, 0, ["$onTimer$exported$0", $rt_wrapFunction0(nlei_PlatformApplication$6_onTimer$exported$0)],
    nleo_Tessellator, 0, jl_Object, [], 0, 3, 0, nleo_Tessellator_$callClinit, 0,
    nms_TileEntityFurnace, "TileEntityFurnace", 28, nms_TileEntity, [nms_IInventory], 0, 3, 0, 0, ["$getStackInSlot", $rt_wrapFunction1(nms_TileEntityFurnace_getStackInSlot), "$decrStackSize", $rt_wrapFunction2(nms_TileEntityFurnace_decrStackSize), "$setInventorySlotContents", $rt_wrapFunction2(nms_TileEntityFurnace_setInventorySlotContents), "$readFromNBT", $rt_wrapFunction1(nms_TileEntityFurnace_readFromNBT), "$writeToNBT", $rt_wrapFunction1(nms_TileEntityFurnace_writeToNBT), "$getInventoryStackLimit", $rt_wrapFunction0(nms_TileEntityFurnace_getInventoryStackLimit),
    "$updateEntity", $rt_wrapFunction0(nms_TileEntityFurnace_updateEntity)],
    nms_TileEntityChest, "TileEntityChest", 28, nms_TileEntity, [nms_IInventory], 0, 3, 0, 0, ["$getSizeInventory", $rt_wrapFunction0(nms_TileEntityChest_getSizeInventory), "$getStackInSlot", $rt_wrapFunction1(nms_TileEntityChest_getStackInSlot), "$decrStackSize", $rt_wrapFunction2(nms_TileEntityChest_decrStackSize), "$setInventorySlotContents", $rt_wrapFunction2(nms_TileEntityChest_setInventorySlotContents), "$getInvName", $rt_wrapFunction0(nms_TileEntityChest_getInvName), "$readFromNBT", $rt_wrapFunction1(nms_TileEntityChest_readFromNBT),
    "$writeToNBT", $rt_wrapFunction1(nms_TileEntityChest_writeToNBT), "$getInventoryStackLimit", $rt_wrapFunction0(nms_TileEntityChest_getInventoryStackLimit), "$canInteractWith", $rt_wrapFunction1(nms_TileEntityChest_canInteractWith)],
    nms_TileEntityDispenser, "TileEntityDispenser", 28, nms_TileEntity, [nms_IInventory], 0, 3, 0, 0, ["$getStackInSlot", $rt_wrapFunction1(nms_TileEntityDispenser_getStackInSlot), "$decrStackSize", $rt_wrapFunction2(nms_TileEntityDispenser_decrStackSize), "$setInventorySlotContents", $rt_wrapFunction2(nms_TileEntityDispenser_setInventorySlotContents), "$readFromNBT", $rt_wrapFunction1(nms_TileEntityDispenser_readFromNBT), "$writeToNBT", $rt_wrapFunction1(nms_TileEntityDispenser_writeToNBT), "$getInventoryStackLimit",
    $rt_wrapFunction0(nms_TileEntityDispenser_getInventoryStackLimit)],
    nms_TileEntityNote, "TileEntityNote", 28, nms_TileEntity, [], 0, 3, 0, 0, ["$writeToNBT", $rt_wrapFunction1(nms_TileEntityNote_writeToNBT), "$readFromNBT", $rt_wrapFunction1(nms_TileEntityNote_readFromNBT)],
    cjj_Info, 0, jl_Object, [], 0, 3, 0, cjj_Info_$callClinit, 0,
    nleit_PCMToWAVLoader, 0, jl_Object, [], 0, 3, 0, 0, 0,
    cjj_SyncState, 0, jl_Object, [], 0, 3, 0, 0, 0,
    cjj_StreamState, 0, jl_Object, [], 0, 3, 0, 0, 0,
    cjj_Block, 0, jl_Object, [], 0, 3, 0, 0, 0,
    cjj_DspState, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nlei_PlatformApplication$StupidFunctionResolveString, 0, jl_Object, [otj_JSObject], 3, 0, 0, 0, 0,
    nlei_PlatformApplication$1, 0, jl_Object, [nlei_PlatformApplication$StupidFunctionResolveString], 0, 0, 0, 0, ["$resolveStr$exported$0", $rt_wrapFunction1(nlei_PlatformApplication$1_resolveStr$exported$0)],
    cjj_Packet, 0, jl_Object, [], 0, 3, 0, 0, 0,
    cjj_Page, 0, jl_Object, [], 0, 3, 0, 0, 0,
    cjj_Comment, 0, jl_Object, [], 0, 3, 0, cjj_Comment_$callClinit, 0]);
    $rt_metadata([cjj_Buffer, 0, jl_Object, [], 0, 3, 0, 0, 0,
    cjj_PsyInfo, 0, jl_Object, [], 0, 0, 0, 0, 0,
    cjj_InfoMode, 0, jl_Object, [], 0, 0, 0, 0, 0,
    cjj_FuncMapping, 0, jl_Object, [], 1, 0, 0, cjj_FuncMapping_$callClinit, 0,
    cjj_FuncTime, 0, jl_Object, [], 1, 0, 0, cjj_FuncTime_$callClinit, 0,
    cjj_FuncFloor, 0, jl_Object, [], 1, 0, 0, cjj_FuncFloor_$callClinit, 0,
    cjj_FuncResidue, 0, jl_Object, [], 1, 0, 0, cjj_FuncResidue_$callClinit, 0,
    jnc_BufferUnderflowException, "BufferUnderflowException", 10, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    jnc_BufferOverflowException, "BufferOverflowException", 10, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    jnc_MalformedInputException, "MalformedInputException", 10, jnc_CharacterCodingException, [], 0, 3, 0, 0, ["$getMessage", $rt_wrapFunction0(jnc_MalformedInputException_getMessage)],
    jnc_UnmappableCharacterException, "UnmappableCharacterException", 10, jnc_CharacterCodingException, [], 0, 3, 0, 0, ["$getMessage", $rt_wrapFunction0(jnc_UnmappableCharacterException_getMessage)],
    jnci_BufferedDecoder$Controller, 0, jl_Object, [], 0, 3, 0, 0, 0,
    jnci_BufferedEncoder$Controller, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nleit_BooleanResult, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nlei_EnumEaglerConnectionState, "EnumEaglerConnectionState", 31, jl_Enum, [], 12, 3, 0, nlei_EnumEaglerConnectionState_$callClinit, 0,
    nlei_PlatformNetworking, 0, jl_Object, [], 0, 3, 0, nlei_PlatformNetworking_$callClinit, 0,
    nms_GuiConnectFailed, "GuiConnectFailed", 28, nms_GuiScreen, [], 0, 3, 0, 0, ["$updateScreen", $rt_wrapFunction0(nms_GuiConnectFailed_updateScreen), "$keyTyped", $rt_wrapFunction2(nms_GuiConnectFailed_keyTyped), "$initGui", $rt_wrapFunction0(nms_GuiConnectFailed_initGui), "$actionPerformed", $rt_wrapFunction1(nms_GuiConnectFailed_actionPerformed), "$drawScreen", $rt_wrapFunction3(nms_GuiConnectFailed_drawScreen)],
    nms_GuiSmallButton, "GuiSmallButton", 28, nms_GuiButton, [], 0, 3, 0, 0, 0,
    nms_GuiVideoSettings, "GuiVideoSettings", 28, nms_GuiScreen, [], 0, 3, 0, nms_GuiVideoSettings_$callClinit, ["$initGui", $rt_wrapFunction0(nms_GuiVideoSettings_initGui), "$actionPerformed", $rt_wrapFunction1(nms_GuiVideoSettings_actionPerformed), "$drawScreen", $rt_wrapFunction3(nms_GuiVideoSettings_drawScreen)],
    nms_GuiControls, "GuiControls", 28, nms_GuiScreen, [], 0, 3, 0, 0, ["$initGui", $rt_wrapFunction0(nms_GuiControls_initGui), "$actionPerformed", $rt_wrapFunction1(nms_GuiControls_actionPerformed), "$keyTyped", $rt_wrapFunction2(nms_GuiControls_keyTyped), "$drawScreen", $rt_wrapFunction3(nms_GuiControls_drawScreen)],
    nms_GuiSlider, "GuiSlider", 28, nms_GuiButton, [], 0, 3, 0, 0, ["$getHoverState", $rt_wrapFunction1(nms_GuiSlider_getHoverState), "$mouseDragged", $rt_wrapFunction3(nms_GuiSlider_mouseDragged), "$mousePressed", $rt_wrapFunction3(nms_GuiSlider_mousePressed), "$mouseReleased", $rt_wrapFunction2(nms_GuiSlider_mouseReleased)],
    nms_GuiYesNo, "GuiYesNo", 28, nms_GuiScreen, [], 0, 3, 0, 0, ["$initGui", $rt_wrapFunction0(nms_GuiYesNo_initGui), "$actionPerformed", $rt_wrapFunction1(nms_GuiYesNo_actionPerformed), "$drawScreen", $rt_wrapFunction3(nms_GuiYesNo_drawScreen)],
    nms_GuiCreateWorld, "GuiCreateWorld", 28, nms_GuiScreen, [], 0, 3, 0, 0, ["$updateScreen", $rt_wrapFunction0(nms_GuiCreateWorld_updateScreen), "$initGui", $rt_wrapFunction0(nms_GuiCreateWorld_initGui), "$onGuiClosed", $rt_wrapFunction0(nms_GuiCreateWorld_onGuiClosed), "$actionPerformed", $rt_wrapFunction1(nms_GuiCreateWorld_actionPerformed), "$keyTyped", $rt_wrapFunction2(nms_GuiCreateWorld_keyTyped), "$mouseClicked", $rt_wrapFunction3(nms_GuiCreateWorld_mouseClicked), "$drawScreen", $rt_wrapFunction3(nms_GuiCreateWorld_drawScreen)],
    nms_GuiRenameWorld, "GuiRenameWorld", 28, nms_GuiScreen, [], 0, 3, 0, 0, ["$updateScreen", $rt_wrapFunction0(nms_GuiRenameWorld_updateScreen), "$initGui", $rt_wrapFunction0(nms_GuiRenameWorld_initGui), "$onGuiClosed", $rt_wrapFunction0(nms_GuiRenameWorld_onGuiClosed), "$actionPerformed", $rt_wrapFunction1(nms_GuiRenameWorld_actionPerformed), "$keyTyped", $rt_wrapFunction2(nms_GuiRenameWorld_keyTyped), "$mouseClicked", $rt_wrapFunction3(nms_GuiRenameWorld_mouseClicked), "$drawScreen", $rt_wrapFunction3(nms_GuiRenameWorld_drawScreen)],
    nms_GuiSlot, 0, jl_Object, [], 1, 3, 0, 0, 0,
    nms_GuiWorldSlot, 0, nms_GuiSlot, [], 0, 0, 0, 0, ["$getSize", $rt_wrapFunction0(nms_GuiWorldSlot_getSize), "$elementClicked", $rt_wrapFunction2(nms_GuiWorldSlot_elementClicked), "$isSelected", $rt_wrapFunction1(nms_GuiWorldSlot_isSelected), "$getContentHeight", $rt_wrapFunction0(nms_GuiWorldSlot_getContentHeight), "$drawBackground0", $rt_wrapFunction0(nms_GuiWorldSlot_drawBackground), "$drawSlot", function(var_1, var_2, var_3, var_4, var_5) { nms_GuiWorldSlot_drawSlot(this, var_1, var_2, var_3, var_4, var_5);
    }],
    nms_GuiTexturePackSlot, 0, nms_GuiSlot, [], 0, 0, 0, 0, ["$getSize", $rt_wrapFunction0(nms_GuiTexturePackSlot_getSize), "$elementClicked", $rt_wrapFunction2(nms_GuiTexturePackSlot_elementClicked), "$isSelected", $rt_wrapFunction1(nms_GuiTexturePackSlot_isSelected), "$getContentHeight", $rt_wrapFunction0(nms_GuiTexturePackSlot_getContentHeight), "$drawBackground0", $rt_wrapFunction0(nms_GuiTexturePackSlot_drawBackground), "$drawSlot", function(var_1, var_2, var_3, var_4, var_5) { nms_GuiTexturePackSlot_drawSlot(this,
    var_1, var_2, var_3, var_4, var_5); }],
    nlei_PlatformApplication$FileChooserCallback, 0, jl_Object, [otj_JSObject], 3, 0, 0, 0, 0,
    nlei_PlatformApplication$FileChooserCallbackImpl, 0, jl_Object, [nlei_PlatformApplication$FileChooserCallback], 0, 0, 0, 0, ["$accept$exported$00", $rt_wrapFunction2(nlei_PlatformApplication$FileChooserCallbackImpl_accept$exported$0)],
    cjj_StaticCodeBook, 0, jl_Object, [], 0, 0, 0, 0, 0,
    nlei_IWebSocketClient, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nlei_AbstractWebSocketClient, 0, jl_Object, [nlei_IWebSocketClient], 1, 3, 0, 0, 0,
    nleit_TeaVMWebSocketClient, 0, nlei_AbstractWebSocketClient, [], 0, 3, 0, 0, 0,
    cjj_Mapping0, 0, cjj_FuncMapping, [], 0, 0, 0, 0, 0,
    cjj_Time0, 0, cjj_FuncTime, [], 0, 0, 0, 0, 0,
    cjj_Floor0, 0, cjj_FuncFloor, [], 0, 0, 0, 0, ["$unpack", $rt_wrapFunction2(cjj_Floor0_unpack), "$look", $rt_wrapFunction3(cjj_Floor0_look), "$free_info", $rt_wrapFunction1(cjj_Floor0_free_info), "$inverse1", $rt_wrapFunction3(cjj_Floor0_inverse1), "$inverse2", $rt_wrapFunction4(cjj_Floor0_inverse2)],
    cjj_Floor1, 0, cjj_FuncFloor, [], 0, 0, 0, 0, ["$unpack", $rt_wrapFunction2(cjj_Floor1_unpack), "$look", $rt_wrapFunction3(cjj_Floor1_look), "$free_info", $rt_wrapFunction1(cjj_Floor1_free_info), "$inverse1", $rt_wrapFunction3(cjj_Floor1_inverse1), "$inverse2", $rt_wrapFunction4(cjj_Floor1_inverse2)],
    cjj_Residue0, 0, cjj_FuncResidue, [], 0, 0, 0, 0, ["$inverse0", function(var_1, var_2, var_3, var_4, var_5) { return cjj_Residue0_inverse(this, var_1, var_2, var_3, var_4, var_5); }],
    cjj_Residue1, 0, cjj_Residue0, [], 0, 0, 0, 0, ["$inverse0", function(var_1, var_2, var_3, var_4, var_5) { return cjj_Residue1_inverse(this, var_1, var_2, var_3, var_4, var_5); }],
    cjj_Residue2, 0, cjj_Residue0, [], 0, 0, 0, 0, ["$inverse0", function(var_1, var_2, var_3, var_4, var_5) { return cjj_Residue2_inverse(this, var_1, var_2, var_3, var_4, var_5); }],
    nleit_IndexedDBFilesystem$AsyncHandlers$11, 0, jl_Object, [otji_EventHandler], 0, 0, 0, 0, ["$handleEvent$exported$00", $rt_wrapFunction0(nleit_IndexedDBFilesystem$AsyncHandlers$11_handleEvent$exported$0)],
    nleit_IndexedDBFilesystem$AsyncHandlers$12, 0, jl_Object, [otji_EventHandler], 0, 0, 0, 0, ["$handleEvent$exported$00", $rt_wrapFunction0(nleit_IndexedDBFilesystem$AsyncHandlers$12_handleEvent$exported$0)],
    otjw_WebSocket, 0, jl_Object, [otj_JSObject], 1, 3, 0, 0, 0,
    nleit_TeaVMWebSocketClient$1, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nleit_TeaVMWebSocketClient$1_handleEvent$exported$0)],
    nleit_TeaVMWebSocketClient$2, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nleit_TeaVMWebSocketClient$2_handleEvent$exported$0)],
    nleit_TeaVMWebSocketClient$3, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nleit_TeaVMWebSocketClient$3_handleEvent$exported$0)],
    nleit_TeaVMWebSocketClient$4, 0, jl_Object, [otjde_EventListener], 0, 0, 0, 0, ["$handleEvent$exported$0", $rt_wrapFunction1(nleit_TeaVMWebSocketClient$4_handleEvent$exported$0)],
    nleit_IndexedDBFilesystem$AsyncHandlers$7, 0, jl_Object, [otji_EventHandler], 0, 0, 0, 0, ["$handleEvent$exported$00", $rt_wrapFunction0(nleit_IndexedDBFilesystem$AsyncHandlers$7_handleEvent$exported$0)],
    nleit_IndexedDBFilesystem$AsyncHandlers$8, 0, jl_Object, [otji_EventHandler], 0, 0, 0, 0, ["$handleEvent$exported$00", $rt_wrapFunction0(nleit_IndexedDBFilesystem$AsyncHandlers$8_handleEvent$exported$0)],
    cjj_Mapping0$LookMapping0, 0, jl_Object, [], 0, 0, 0, 0, 0]);
    $rt_metadata([cjj_Mapping0$InfoMapping0, 0, jl_Object, [], 0, 0, 0, 0, 0,
    cjj_Mdct, 0, jl_Object, [], 0, 0, 0, 0, 0,
    jn_BufferOverflowException, "BufferOverflowException", 9, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    nms_SaveFormatComparator, "SaveFormatComparator", 28, jl_Object, [jl_Comparable], 0, 3, 0, 0, ["$compareTo2", $rt_wrapFunction1(nms_SaveFormatComparator_compareTo)],
    nms_PlayerControllerSP, 0, nms_PlayerController, [], 0, 3, 0, 0, ["$flipPlayer", $rt_wrapFunction1(nms_PlayerControllerSP_flipPlayer), "$clickBlock", $rt_wrapFunction4(nms_PlayerControllerSP_clickBlock), "$func_6468_a", $rt_wrapFunction0(nms_PlayerControllerSP_func_6468_a), "$sendBlockRemoving", $rt_wrapFunction4(nms_PlayerControllerSP_sendBlockRemoving), "$setPartialTime", $rt_wrapFunction1(nms_PlayerControllerSP_setPartialTime), "$getBlockReachDistance", $rt_wrapFunction0(nms_PlayerControllerSP_getBlockReachDistance),
    "$func_717_a", $rt_wrapFunction1(nms_PlayerControllerSP_func_717_a), "$updateController", $rt_wrapFunction0(nms_PlayerControllerSP_updateController)],
    cjj_Util, 0, jl_Object, [], 0, 0, 0, 0, 0,
    cjj_CodeBook, 0, jl_Object, [], 0, 0, 0, 0, 0,
    nms_WorldInfo, 0, jl_Object, [], 0, 3, 0, 0, 0,
    ju_AbstractMap$SimpleEntry, 0, jl_Object, [ju_Map$Entry, ji_Serializable], 0, 3, 0, 0, ["$getValue1", $rt_wrapFunction0(ju_AbstractMap$SimpleEntry_getValue), "$getKey0", $rt_wrapFunction0(ju_AbstractMap$SimpleEntry_getKey), "$equals", $rt_wrapFunction1(ju_AbstractMap$SimpleEntry_equals), "$hashCode0", $rt_wrapFunction0(ju_AbstractMap$SimpleEntry_hashCode), "$toString", $rt_wrapFunction0(ju_AbstractMap$SimpleEntry_toString)],
    jur_IntArrHash, 0, jl_Object, [], 0, 0, 0, 0, 0,
    ju_TreeMap$TreeNode, "TreeMap$TreeNode", 6, ju_AbstractMap$SimpleEntry, [], 0, 0, 0, 0, 0,
    nms_EnumOptionsMappingHelper, 0, jl_Object, [], 0, 0, 0, nms_EnumOptionsMappingHelper_$callClinit, 0,
    nms_EnumArt, "EnumArt", 28, jl_Enum, [], 12, 3, 0, nms_EnumArt_$callClinit, 0,
    cjj_Floor0$InfoFloor0, 0, jl_Object, [], 0, 0, 0, 0, 0,
    cjj_Floor1$InfoFloor1, 0, jl_Object, [], 0, 0, 0, 0, 0,
    cjj_Residue0$InfoResidue0, 0, jl_Object, [], 0, 0, 0, 0, 0,
    nlei_IWebSocketFrame, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nleit_TeaVMWebSocketFrame, 0, jl_Object, [nlei_IWebSocketFrame], 0, 3, 0, 0, 0,
    nms_PacketCounter, "PacketCounter", 28, jl_Object, [], 0, 0, 0, 0, 0,
    nms_Empty1, 0, jl_Object, [], 0, 0, 0, 0, 0,
    nms_CraftingInventoryPlayerCB, 0, nms_CraftingInventoryCB, [], 0, 3, 0, 0, ["$onCraftMatrixChanged", $rt_wrapFunction1(nms_CraftingInventoryPlayerCB_onCraftMatrixChanged), "$onCraftGuiClosed", $rt_wrapFunction1(nms_CraftingInventoryPlayerCB_onCraftGuiClosed), "$isUsableByPlayer", $rt_wrapFunction1(nms_CraftingInventoryPlayerCB_isUsableByPlayer)],
    ju_SequencedSet, 0, jl_Object, [ju_SequencedCollection, ju_Set], 3, 3, 0, 0, 0,
    ju_SortedSet, 0, jl_Object, [ju_Set, ju_SequencedSet], 3, 3, 0, 0, 0,
    ju_NavigableSet, 0, jl_Object, [ju_SortedSet], 3, 3, 0, 0, 0,
    ju_TreeSet, 0, ju_AbstractSet, [ju_NavigableSet], 0, 3, 0, 0, 0,
    nms_WorldProviderHell, 0, nms_WorldProvider, [], 0, 3, 0, 0, ["$registerWorldChunkManager", $rt_wrapFunction0(nms_WorldProviderHell_registerWorldChunkManager), "$func_4096_a", $rt_wrapFunction2(nms_WorldProviderHell_func_4096_a), "$generateLightBrightnessTable", $rt_wrapFunction0(nms_WorldProviderHell_generateLightBrightnessTable), "$getChunkProvider", $rt_wrapFunction0(nms_WorldProviderHell_getChunkProvider), "$canCoordinateBeSpawn", $rt_wrapFunction2(nms_WorldProviderHell_canCoordinateBeSpawn), "$calculateCelestialAngle",
    $rt_wrapFunction2(nms_WorldProviderHell_calculateCelestialAngle), "$canRespawnHere", $rt_wrapFunction0(nms_WorldProviderHell_canRespawnHere)],
    nms_InventoryCrafting, 0, jl_Object, [nms_IInventory], 0, 3, 0, 0, ["$getStackInSlot", $rt_wrapFunction1(nms_InventoryCrafting_getStackInSlot), "$decrStackSize", $rt_wrapFunction2(nms_InventoryCrafting_decrStackSize), "$setInventorySlotContents", $rt_wrapFunction2(nms_InventoryCrafting_setInventorySlotContents), "$getInventoryStackLimit", $rt_wrapFunction0(nms_InventoryCrafting_getInventoryStackLimit), "$onInventoryChanged", $rt_wrapFunction0(nms_InventoryCrafting_onInventoryChanged)],
    nms_InventoryCraftResult, 0, jl_Object, [nms_IInventory], 0, 3, 0, 0, ["$getStackInSlot", $rt_wrapFunction1(nms_InventoryCraftResult_getStackInSlot), "$decrStackSize", $rt_wrapFunction2(nms_InventoryCraftResult_decrStackSize), "$setInventorySlotContents", $rt_wrapFunction2(nms_InventoryCraftResult_setInventorySlotContents), "$getInventoryStackLimit", $rt_wrapFunction0(nms_InventoryCraftResult_getInventoryStackLimit), "$onInventoryChanged", $rt_wrapFunction0(nms_InventoryCraftResult_onInventoryChanged)],
    nms_SlotCrafting, "SlotCrafting", 28, nms_Slot, [], 0, 3, 0, 0, ["$isItemValid", $rt_wrapFunction1(nms_SlotCrafting_isItemValid), "$onPickupFromSlot", $rt_wrapFunction1(nms_SlotCrafting_onPickupFromSlot), "$func_25014_f", $rt_wrapFunction0(nms_SlotCrafting_func_25014_f)],
    nms_SlotArmor, "SlotArmor", 28, nms_Slot, [], 0, 0, 0, 0, ["$getSlotStackLimit", $rt_wrapFunction0(nms_SlotArmor_getSlotStackLimit), "$isItemValid", $rt_wrapFunction1(nms_SlotArmor_isItemValid)],
    cjj_Floor0$LookFloor0, 0, jl_Object, [], 0, 0, 0, 0, 0,
    cjj_Floor1$LookFloor1, 0, jl_Object, [], 0, 0, 0, 0, 0,
    cjj_Lsp, 0, jl_Object, [], 0, 0, 0, 0, 0,
    nms_EnumStatus, "EnumStatus", 28, jl_Enum, [], 12, 3, 0, nms_EnumStatus_$callClinit, 0,
    nms_InventoryLargeChest, 0, jl_Object, [nms_IInventory], 0, 3, 0, 0, ["$getSizeInventory", $rt_wrapFunction0(nms_InventoryLargeChest_getSizeInventory), "$getInvName", $rt_wrapFunction0(nms_InventoryLargeChest_getInvName), "$getStackInSlot", $rt_wrapFunction1(nms_InventoryLargeChest_getStackInSlot), "$decrStackSize", $rt_wrapFunction2(nms_InventoryLargeChest_decrStackSize), "$setInventorySlotContents", $rt_wrapFunction2(nms_InventoryLargeChest_setInventorySlotContents), "$getInventoryStackLimit", $rt_wrapFunction0(nms_InventoryLargeChest_getInventoryStackLimit),
    "$onInventoryChanged", $rt_wrapFunction0(nms_InventoryLargeChest_onInventoryChanged), "$canInteractWith", $rt_wrapFunction1(nms_InventoryLargeChest_canInteractWith)],
    nlei_VFSFilenameIterator, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nleiv_VFSListFilesIteratorImpl, 0, jl_Object, [nlei_VFSFilenameIterator], 0, 0, 0, 0, ["$next4", $rt_wrapFunction1(nleiv_VFSListFilesIteratorImpl_next)],
    nms_ISaveHandler, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nleb_EaglercraftSaveHandler, 0, jl_Object, [nms_ISaveHandler], 0, 3, 0, 0, ["$getChunkLoader", $rt_wrapFunction1(nleb_EaglercraftSaveHandler_getChunkLoader), "$saveWorldInfoAndPlayer", $rt_wrapFunction2(nleb_EaglercraftSaveHandler_saveWorldInfoAndPlayer)],
    nms_NextTickListEntry, "NextTickListEntry", 28, jl_Object, [jl_Comparable], 0, 3, 0, 0, ["$equals", $rt_wrapFunction1(nms_NextTickListEntry_equals), "$hashCode0", $rt_wrapFunction0(nms_NextTickListEntry_hashCode), "$compareTo2", $rt_wrapFunction1(nms_NextTickListEntry_compareTo)],
    nms_MetadataChunkBlock, "MetadataChunkBlock", 28, jl_Object, [], 0, 3, 0, 0, 0,
    nms_SpawnerAnimals, 0, jl_Object, [], 4, 3, 0, 0, 0,
    nlep_EaglerProfile$EnumSkinType, "EaglerProfile$EnumSkinType", 35, jl_Enum, [], 12, 3, 0, nlep_EaglerProfile$EnumSkinType_$callClinit, 0,
    nms_WorldClient, 0, nms_World, [], 0, 3, 0, 0, ["$tick", $rt_wrapFunction0(nms_WorldClient_tick), "$setSpawnLocation", $rt_wrapFunction0(nms_WorldClient_setSpawnLocation), "$updateBlocksAndPlayCaveSounds", $rt_wrapFunction0(nms_WorldClient_updateBlocksAndPlayCaveSounds), "$scheduleBlockUpdate", function(var_1, var_2, var_3, var_4, var_5) { nms_WorldClient_scheduleBlockUpdate(this, var_1, var_2, var_3, var_4, var_5); }, "$TickUpdates", $rt_wrapFunction1(nms_WorldClient_TickUpdates), "$entityJoinedWorld",
    $rt_wrapFunction1(nms_WorldClient_entityJoinedWorld), "$setEntityDead", $rt_wrapFunction1(nms_WorldClient_setEntityDead), "$obtainEntitySkin", $rt_wrapFunction1(nms_WorldClient_obtainEntitySkin), "$releaseEntitySkin", $rt_wrapFunction1(nms_WorldClient_releaseEntitySkin), "$setBlockMetadata", $rt_wrapFunction4(nms_WorldClient_setBlockMetadata), "$setBlockAndMetadata", function(var_1, var_2, var_3, var_4, var_5) { return nms_WorldClient_setBlockAndMetadata(this, var_1, var_2, var_3, var_4, var_5); }, "$setBlock",
    $rt_wrapFunction4(nms_WorldClient_setBlock), "$sendQuittingDisconnectingPacket", $rt_wrapFunction0(nms_WorldClient_sendQuittingDisconnectingPacket)],
    cjj_CodeBook$DecodeAux, 0, jl_Object, [], 0, 0, 0, 0, 0,
    cjj_Residue0$LookResidue0, 0, jl_Object, [], 0, 0, 0, 0, 0,
    jl_ReflectiveOperationException, 0, jl_Exception, [], 0, 3, 0, 0, 0,
    jl_InstantiationException, "InstantiationException", 15, jl_ReflectiveOperationException, [], 0, 3, 0, 0, 0,
    cjj_Lookup, 0, jl_Object, [], 0, 0, 0, 0, 0,
    jur_Matcher$1, "Matcher$1", 8, jl_Object, [], 0, 0, 0, 0, ["$toString", $rt_wrapFunction0(jur_Matcher$1_toString)]]);
    $rt_metadata([nms_MobSpawnerBase, "MobSpawnerBase", 28, jl_Object, [], 0, 3, 0, nms_MobSpawnerBase_$callClinit, ["$getRandomWorldGenForTrees", $rt_wrapFunction1(nms_MobSpawnerBase_getRandomWorldGenForTrees)],
    nms_EnumCreatureType, "EnumCreatureType", 28, jl_Enum, [], 12, 3, 0, nms_EnumCreatureType_$callClinit, 0,
    nms_ChunkCoordIntPair, "ChunkCoordIntPair", 28, jl_Object, [], 0, 3, 0, 0, ["$hashCode0", $rt_wrapFunction0(nms_ChunkCoordIntPair_hashCode), "$equals", $rt_wrapFunction1(nms_ChunkCoordIntPair_equals)],
    nms_ChunkPosition, "ChunkPosition", 28, jl_Object, [], 0, 3, 0, 0, ["$equals", $rt_wrapFunction1(nms_ChunkPosition_equals), "$hashCode0", $rt_wrapFunction0(nms_ChunkPosition_hashCode)],
    nms_Pathfinder, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_PathEntity, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_PathPoint, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nlep_EaglerProfile$CachedSkin, 0, jl_Object, [], 0, 0, 0, 0, 0,
    nlep_EaglerProfile$WaitingSkin, "EaglerProfile$WaitingSkin", 35, jl_Object, [], 0, 0, 0, 0, 0,
    cjj_Lpc, 0, jl_Object, [], 0, 0, 0, 0, 0,
    nms_EmptyChunk, 0, nms_Chunk, [], 0, 3, 0, 0, ["$isAtLocation", $rt_wrapFunction2(nms_EmptyChunk_isAtLocation), "$getHeightValue", $rt_wrapFunction2(nms_EmptyChunk_getHeightValue), "$generateHeightMap", $rt_wrapFunction0(nms_EmptyChunk_generateHeightMap), "$func_4143_d", $rt_wrapFunction0(nms_EmptyChunk_func_4143_d), "$getBlockID", $rt_wrapFunction3(nms_EmptyChunk_getBlockID), "$setBlockIDWithMetadata", function(var_1, var_2, var_3, var_4, var_5) { return nms_EmptyChunk_setBlockIDWithMetadata(this, var_1,
    var_2, var_3, var_4, var_5); }, "$setBlockID", $rt_wrapFunction4(nms_EmptyChunk_setBlockID), "$getBlockMetadata", $rt_wrapFunction3(nms_EmptyChunk_getBlockMetadata), "$setBlockMetadata0", $rt_wrapFunction4(nms_EmptyChunk_setBlockMetadata), "$getSavedLightValue", $rt_wrapFunction4(nms_EmptyChunk_getSavedLightValue), "$setLightValue0", function(var_1, var_2, var_3, var_4, var_5) { nms_EmptyChunk_setLightValue(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockLightValue0", $rt_wrapFunction4(nms_EmptyChunk_getBlockLightValue),
    "$addEntity", $rt_wrapFunction1(nms_EmptyChunk_addEntity), "$func_1015_b", $rt_wrapFunction1(nms_EmptyChunk_func_1015_b), "$func_1016_a", $rt_wrapFunction2(nms_EmptyChunk_func_1016_a), "$canBlockSeeTheSky", $rt_wrapFunction3(nms_EmptyChunk_canBlockSeeTheSky), "$getChunkBlockTileEntity", $rt_wrapFunction3(nms_EmptyChunk_getChunkBlockTileEntity), "$setChunkBlockTileEntity", $rt_wrapFunction4(nms_EmptyChunk_setChunkBlockTileEntity), "$removeChunkBlockTileEntity", $rt_wrapFunction3(nms_EmptyChunk_removeChunkBlockTileEntity),
    "$onChunkLoad", $rt_wrapFunction0(nms_EmptyChunk_onChunkLoad), "$onChunkUnload", $rt_wrapFunction0(nms_EmptyChunk_onChunkUnload), "$setChunkModified", $rt_wrapFunction0(nms_EmptyChunk_setChunkModified), "$getEntitiesWithinAABBForEntity", $rt_wrapFunction3(nms_EmptyChunk_getEntitiesWithinAABBForEntity), "$getEntitiesOfTypeWithinAAAB", $rt_wrapFunction3(nms_EmptyChunk_getEntitiesOfTypeWithinAAAB), "$needsSaving", $rt_wrapFunction1(nms_EmptyChunk_needsSaving), "$setChunkData", function(var_1, var_2, var_3,
    var_4, var_5, var_6, var_7, var_8) { return nms_EmptyChunk_setChunkData(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8); }, "$func_997_a", $rt_wrapFunction1(nms_EmptyChunk_func_997_a), "$func_21167_h", $rt_wrapFunction0(nms_EmptyChunk_func_21167_h)],
    npem_EntityConstructor, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nms_SpawnerAnimals$_clinit_$lambda$_6_0, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_SpawnerAnimals$_clinit_$lambda$_6_0_createEntity)],
    nms_SpawnerAnimals$_clinit_$lambda$_6_1, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_SpawnerAnimals$_clinit_$lambda$_6_1_createEntity)],
    nms_SpawnerAnimals$_clinit_$lambda$_6_2, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_SpawnerAnimals$_clinit_$lambda$_6_2_createEntity)],
    nms_Path, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_MCHashTable, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nleit_IndexedDBFilesystem$AsyncHandlers$13, 0, jl_Object, [otji_EventHandler], 0, 0, 0, 0, ["$handleEvent$exported$00", $rt_wrapFunction0(nleit_IndexedDBFilesystem$AsyncHandlers$13_handleEvent$exported$0)],
    nleit_IndexedDBFilesystem$AsyncHandlers$14, 0, jl_Object, [otji_EventHandler], 0, 0, 0, 0, ["$handleEvent$exported$00", $rt_wrapFunction0(nleit_IndexedDBFilesystem$AsyncHandlers$14_handleEvent$exported$0)],
    cjj_Drft, 0, jl_Object, [], 0, 0, 0, 0, 0,
    nms_MobSpawnerRainforest, "MobSpawnerRainforest", 28, nms_MobSpawnerBase, [], 0, 3, 0, 0, ["$getRandomWorldGenForTrees", $rt_wrapFunction1(nms_MobSpawnerRainforest_getRandomWorldGenForTrees)],
    nms_MobSpawnerSwamp, "MobSpawnerSwamp", 28, nms_MobSpawnerBase, [], 0, 3, 0, 0, 0,
    nms_MobSpawnerForest, "MobSpawnerForest", 28, nms_MobSpawnerBase, [], 0, 3, 0, 0, ["$getRandomWorldGenForTrees", $rt_wrapFunction1(nms_MobSpawnerForest_getRandomWorldGenForTrees)],
    nms_MobSpawnerDesert, "MobSpawnerDesert", 28, nms_MobSpawnerBase, [], 0, 3, 0, 0, 0,
    nms_MobSpawnerTaiga, "MobSpawnerTaiga", 28, nms_MobSpawnerBase, [], 0, 3, 0, 0, ["$getRandomWorldGenForTrees", $rt_wrapFunction1(nms_MobSpawnerTaiga_getRandomWorldGenForTrees)],
    nms_MobSpawnerHell, "MobSpawnerHell", 28, nms_MobSpawnerBase, [], 0, 3, 0, 0, 0,
    nms_HashEntry, 0, jl_Object, [], 0, 0, 0, 0, 0,
    nms_NibbleArray, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_MobSpawnerBase$_init_$lambda$_0_0, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerBase$_init_$lambda$_0_0_createEntity)],
    nms_MobSpawnerBase$_init_$lambda$_0_1, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerBase$_init_$lambda$_0_1_createEntity)],
    nms_MobSpawnerBase$_init_$lambda$_0_2, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerBase$_init_$lambda$_0_2_createEntity)],
    nms_MobSpawnerBase$_init_$lambda$_0_3, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerBase$_init_$lambda$_0_3_createEntity)],
    nms_MobSpawnerBase$_init_$lambda$_0_4, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerBase$_init_$lambda$_0_4_createEntity)],
    nms_MobSpawnerBase$_init_$lambda$_0_5, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerBase$_init_$lambda$_0_5_createEntity)],
    nms_MobSpawnerBase$_init_$lambda$_0_6, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerBase$_init_$lambda$_0_6_createEntity)],
    nms_MobSpawnerBase$_init_$lambda$_0_7, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerBase$_init_$lambda$_0_7_createEntity)],
    nms_MobSpawnerBase$_init_$lambda$_0_8, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerBase$_init_$lambda$_0_8_createEntity)],
    nms_MobSpawnerBase$_init_$lambda$_0_9, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerBase$_init_$lambda$_0_9_createEntity)],
    nms_MobSpawnerForest$_init_$lambda$_0_0, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerForest$_init_$lambda$_0_0_createEntity)],
    nms_MobSpawnerForest$_init_$lambda$_0_1, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerForest$_init_$lambda$_0_1_createEntity)],
    nms_MobSpawnerForest$_init_$lambda$_0_2, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerForest$_init_$lambda$_0_2_createEntity)],
    nms_MobSpawnerForest$_init_$lambda$_0_3, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerForest$_init_$lambda$_0_3_createEntity)],
    nms_MobSpawnerForest$_init_$lambda$_0_4, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerForest$_init_$lambda$_0_4_createEntity)],
    nms_MobSpawnerTaiga$_init_$lambda$_0_0, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerTaiga$_init_$lambda$_0_0_createEntity)],
    nms_MobSpawnerTaiga$_init_$lambda$_0_1, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerTaiga$_init_$lambda$_0_1_createEntity)],
    nms_MobSpawnerTaiga$_init_$lambda$_0_2, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerTaiga$_init_$lambda$_0_2_createEntity)],
    nms_MobSpawnerTaiga$_init_$lambda$_0_3, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerTaiga$_init_$lambda$_0_3_createEntity)],
    nms_MobSpawnerTaiga$_init_$lambda$_0_4, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerTaiga$_init_$lambda$_0_4_createEntity)],
    nms_MobSpawnerHell$_init_$lambda$_0_0, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerHell$_init_$lambda$_0_0_createEntity)],
    nms_MobSpawnerHell$_init_$lambda$_0_1, 0, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_MobSpawnerHell$_init_$lambda$_0_1_createEntity)]]);
    $rt_metadata([nms_IChunkLoader, 0, jl_Object, [], 3, 3, 0, 0, 0,
    nleb_EaglercraftChunkLoader, 0, jl_Object, [nms_IChunkLoader], 0, 3, 0, 0, 0,
    juz_Inflater, 0, jl_Object, [], 0, 3, 0, 0, 0,
    juz_DataFormatException, "DataFormatException", 7, jl_Exception, [], 0, 3, 0, 0, 0,
    nms_WorldChunkManagerHell, 0, nms_WorldChunkManager, [], 0, 3, 0, 0, ["$func_4074_a", $rt_wrapFunction1(nms_WorldChunkManagerHell_func_4074_a), "$func_4073_a", $rt_wrapFunction2(nms_WorldChunkManagerHell_func_4073_a), "$func_4072_b", $rt_wrapFunction2(nms_WorldChunkManagerHell_func_4072_b), "$func_4069_a", $rt_wrapFunction4(nms_WorldChunkManagerHell_func_4069_a), "$getTemperatures", function(var_1, var_2, var_3, var_4, var_5) { return nms_WorldChunkManagerHell_getTemperatures(this, var_1, var_2, var_3, var_4,
    var_5); }, "$loadBlockGeneratorData", function(var_1, var_2, var_3, var_4, var_5) { return nms_WorldChunkManagerHell_loadBlockGeneratorData(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_GuiDispenser, "GuiDispenser", 28, nms_GuiContainer, [], 0, 3, 0, 0, ["$drawGuiContainerForegroundLayer", $rt_wrapFunction0(nms_GuiDispenser_drawGuiContainerForegroundLayer), "$drawGuiContainerBackgroundLayer", $rt_wrapFunction1(nms_GuiDispenser_drawGuiContainerBackgroundLayer)],
    nms_GuiChest, "GuiChest", 28, nms_GuiContainer, [], 0, 3, 0, 0, ["$drawGuiContainerForegroundLayer", $rt_wrapFunction0(nms_GuiChest_drawGuiContainerForegroundLayer), "$drawGuiContainerBackgroundLayer", $rt_wrapFunction1(nms_GuiChest_drawGuiContainerBackgroundLayer)],
    nms_GuiCrafting, "GuiCrafting", 28, nms_GuiContainer, [], 0, 3, 0, 0, ["$onGuiClosed", $rt_wrapFunction0(nms_GuiCrafting_onGuiClosed), "$drawGuiContainerForegroundLayer", $rt_wrapFunction0(nms_GuiCrafting_drawGuiContainerForegroundLayer), "$drawGuiContainerBackgroundLayer", $rt_wrapFunction1(nms_GuiCrafting_drawGuiContainerBackgroundLayer)],
    nms_GuiFurnace, "GuiFurnace", 28, nms_GuiContainer, [], 0, 3, 0, 0, ["$drawGuiContainerForegroundLayer", $rt_wrapFunction0(nms_GuiFurnace_drawGuiContainerForegroundLayer), "$drawGuiContainerBackgroundLayer", $rt_wrapFunction1(nms_GuiFurnace_drawGuiContainerBackgroundLayer)],
    nms_EntityList, 0, jl_Object, [], 0, 3, 0, nms_EntityList_$callClinit, 0,
    nms_RedstoneUpdateInfo, "RedstoneUpdateInfo", 28, jl_Object, [], 0, 0, 0, 0, 0,
    nms_EnumSkyBlock, "EnumSkyBlock", 28, jl_Enum, [], 12, 3, 0, nms_EnumSkyBlock_$callClinit, 0,
    nms_ChunkProviderGenerate, 0, jl_Object, [nms_IChunkProvider], 0, 3, 0, 0, ["$provideChunk", $rt_wrapFunction2(nms_ChunkProviderGenerate_provideChunk), "$populate", $rt_wrapFunction3(nms_ChunkProviderGenerate_populate), "$func_532_a", $rt_wrapFunction0(nms_ChunkProviderGenerate_func_532_a)],
    nms_ChunkProviderHell, 0, jl_Object, [nms_IChunkProvider], 0, 3, 0, 0, ["$provideChunk", $rt_wrapFunction2(nms_ChunkProviderHell_provideChunk), "$populate", $rt_wrapFunction3(nms_ChunkProviderHell_populate), "$func_532_a", $rt_wrapFunction0(nms_ChunkProviderHell_func_532_a)],
    nms_MinecartTrackLogic, 0, jl_Object, [], 0, 0, 0, 0, 0,
    nms_EntityBubbleFX, "EntityBubbleFX", 28, nms_EntityFX, [], 0, 3, 0, 0, ["$onUpdate", $rt_wrapFunction0(nms_EntityBubbleFX_onUpdate)],
    nms_EntitySmokeFX, "EntitySmokeFX", 28, nms_EntityFX, [], 0, 3, 0, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_EntitySmokeFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", $rt_wrapFunction0(nms_EntitySmokeFX_onUpdate)],
    nms_EntityNoteFX, "EntityNoteFX", 28, nms_EntityFX, [], 0, 3, 0, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_EntityNoteFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", $rt_wrapFunction0(nms_EntityNoteFX_onUpdate)],
    nms_EntityPortalFX, "EntityPortalFX", 28, nms_EntityFX, [], 0, 3, 0, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_EntityPortalFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$getEntityBrightness", $rt_wrapFunction1(nms_EntityPortalFX_getEntityBrightness), "$onUpdate", $rt_wrapFunction0(nms_EntityPortalFX_onUpdate)],
    nms_EntityExplodeFX, "EntityExplodeFX", 28, nms_EntityFX, [], 0, 3, 0, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_EntityExplodeFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", $rt_wrapFunction0(nms_EntityExplodeFX_onUpdate)],
    nms_EntityFlameFX, "EntityFlameFX", 28, nms_EntityFX, [], 0, 3, 0, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_EntityFlameFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$getEntityBrightness", $rt_wrapFunction1(nms_EntityFlameFX_getEntityBrightness), "$onUpdate", $rt_wrapFunction0(nms_EntityFlameFX_onUpdate)],
    nms_EntityLavaFX, "EntityLavaFX", 28, nms_EntityFX, [], 0, 3, 0, 0, ["$getEntityBrightness", $rt_wrapFunction1(nms_EntityLavaFX_getEntityBrightness), "$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_EntityLavaFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", $rt_wrapFunction0(nms_EntityLavaFX_onUpdate)],
    nms_EntitySplashFX, "EntitySplashFX", 28, nms_EntityRainFX, [], 0, 3, 0, 0, 0,
    nms_EntityReddustFX, "EntityReddustFX", 28, nms_EntityFX, [], 0, 3, 0, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_EntityReddustFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", $rt_wrapFunction0(nms_EntityReddustFX_onUpdate)],
    nms_EntitySlimeFX, "EntitySlimeFX", 28, nms_EntityFX, [], 0, 3, 0, 0, ["$getFXLayer", $rt_wrapFunction0(nms_EntitySlimeFX_getFXLayer), "$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_EntitySlimeFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
    nms_EntityHeartFX, "EntityHeartFX", 28, nms_EntityFX, [], 0, 3, 0, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_EntityHeartFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", $rt_wrapFunction0(nms_EntityHeartFX_onUpdate)],
    nms_NoiseGenerator, 0, jl_Object, [], 1, 3, 0, 0, 0,
    nms_NoiseGeneratorOctaves2, 0, nms_NoiseGenerator, [], 0, 3, 0, 0, 0,
    nms_CraftingInventoryDispenserCB, 0, nms_CraftingInventoryCB, [], 0, 3, 0, 0, ["$isUsableByPlayer", $rt_wrapFunction1(nms_CraftingInventoryDispenserCB_isUsableByPlayer)],
    nms_CraftingInventoryChestCB, 0, nms_CraftingInventoryCB, [], 0, 3, 0, 0, ["$isUsableByPlayer", $rt_wrapFunction1(nms_CraftingInventoryChestCB_isUsableByPlayer)],
    nms_CraftingInventoryWorkbenchCB, 0, nms_CraftingInventoryCB, [], 0, 3, 0, 0, ["$onCraftMatrixChanged", $rt_wrapFunction1(nms_CraftingInventoryWorkbenchCB_onCraftMatrixChanged), "$onCraftGuiClosed", $rt_wrapFunction1(nms_CraftingInventoryWorkbenchCB_onCraftGuiClosed), "$isUsableByPlayer", $rt_wrapFunction1(nms_CraftingInventoryWorkbenchCB_isUsableByPlayer)],
    nms_CraftingInventoryFurnaceCB, 0, nms_CraftingInventoryCB, [], 0, 3, 0, 0, ["$func_20112_a", $rt_wrapFunction2(nms_CraftingInventoryFurnaceCB_func_20112_a), "$isUsableByPlayer", $rt_wrapFunction1(nms_CraftingInventoryFurnaceCB_isUsableByPlayer)],
    nms_MapGenBase, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_MapGenCaves, 0, nms_MapGenBase, [], 0, 3, 0, 0, ["$func_868_a", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_MapGenCaves_func_868_a(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_NoiseGeneratorOctaves, 0, nms_NoiseGenerator, [], 0, 3, 0, 0, 0,
    nms_MapGenCavesHell, 0, nms_MapGenBase, [], 0, 3, 0, 0, ["$func_868_a", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_MapGenCavesHell_func_868_a(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
    nms_NoiseGenerator2, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_SlotFurnace, "SlotFurnace", 28, nms_Slot, [], 0, 3, 0, 0, ["$func_25014_f", $rt_wrapFunction0(nms_SlotFurnace_func_25014_f)],
    cch_ObjectIntAssociativeContainer, 0, jl_Object, [jl_Iterable], 3, 3, 0, 0, 0,
    cch_ObjectIntMap, 0, jl_Object, [cch_ObjectIntAssociativeContainer], 3, 3, 0, 0, 0,
    cch_ObjectIntHashMap, 0, jl_Object, [cch_ObjectIntMap, cch_Preallocable, jl_Cloneable, cch_Accountable], 0, 3, 0, 0, 0,
    nms_EntityList$_clinit_$lambda$_7_0, "EntityList$<clinit>$lambda$_7_0", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_0_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_1, "EntityList$<clinit>$lambda$_7_1", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_1_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_2, "EntityList$<clinit>$lambda$_7_2", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_2_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_3, "EntityList$<clinit>$lambda$_7_3", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_3_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_4, "EntityList$<clinit>$lambda$_7_4", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_4_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_5, "EntityList$<clinit>$lambda$_7_5", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_5_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_6, "EntityList$<clinit>$lambda$_7_6", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_6_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_7, "EntityList$<clinit>$lambda$_7_7", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_7_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_8, "EntityList$<clinit>$lambda$_7_8", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_8_createEntity)]]);
    $rt_metadata([nms_EntityList$_clinit_$lambda$_7_9, "EntityList$<clinit>$lambda$_7_9", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_9_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_10, "EntityList$<clinit>$lambda$_7_10", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_10_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_11, "EntityList$<clinit>$lambda$_7_11", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_11_createEntity)],
    nms_EntityPigZombie, "EntityPigZombie", 28, nms_EntityZombie, [], 0, 3, 0, nms_EntityPigZombie_$callClinit, ["$onUpdate", $rt_wrapFunction0(nms_EntityPigZombie_onUpdate), "$getCanSpawnHere", $rt_wrapFunction0(nms_EntityPigZombie_getCanSpawnHere), "$writeEntityToNBT", $rt_wrapFunction1(nms_EntityPigZombie_writeEntityToNBT), "$readEntityFromNBT", $rt_wrapFunction1(nms_EntityPigZombie_readEntityFromNBT), "$findPlayerToAttack", $rt_wrapFunction0(nms_EntityPigZombie_findPlayerToAttack), "$onLivingUpdate", $rt_wrapFunction0(nms_EntityPigZombie_onLivingUpdate),
    "$attackEntityFrom", $rt_wrapFunction2(nms_EntityPigZombie_attackEntityFrom), "$getLivingSound", $rt_wrapFunction0(nms_EntityPigZombie_getLivingSound), "$getHurtSound", $rt_wrapFunction0(nms_EntityPigZombie_getHurtSound), "$getDeathSound", $rt_wrapFunction0(nms_EntityPigZombie_getDeathSound), "$getDropItemId", $rt_wrapFunction0(nms_EntityPigZombie_getDropItemId), "$getHeldItem", $rt_wrapFunction0(nms_EntityPigZombie_getHeldItem)],
    nms_EntityList$_clinit_$lambda$_7_12, "EntityList$<clinit>$lambda$_7_12", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_12_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_13, "EntityList$<clinit>$lambda$_7_13", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_13_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_14, "EntityList$<clinit>$lambda$_7_14", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_14_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_15, "EntityList$<clinit>$lambda$_7_15", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_15_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_16, "EntityList$<clinit>$lambda$_7_16", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_16_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_17, "EntityList$<clinit>$lambda$_7_17", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_17_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_18, "EntityList$<clinit>$lambda$_7_18", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_18_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_19, "EntityList$<clinit>$lambda$_7_19", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_19_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_20, "EntityList$<clinit>$lambda$_7_20", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_20_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_21, "EntityList$<clinit>$lambda$_7_21", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_21_createEntity)],
    nms_EntityList$_clinit_$lambda$_7_22, "EntityList$<clinit>$lambda$_7_22", 28, jl_Object, [npem_EntityConstructor], 0, 3, 0, 0, ["$createEntity", $rt_wrapFunction1(nms_EntityList$_clinit_$lambda$_7_22_createEntity)],
    nms_NoiseGeneratorPerlin, 0, nms_NoiseGenerator, [], 0, 3, 0, 0, 0,
    nms_InventoryBasic, 0, jl_Object, [nms_IInventory], 0, 3, 0, 0, ["$getStackInSlot", $rt_wrapFunction1(nms_InventoryBasic_getStackInSlot), "$decrStackSize", $rt_wrapFunction2(nms_InventoryBasic_decrStackSize), "$setInventorySlotContents", $rt_wrapFunction2(nms_InventoryBasic_setInventorySlotContents), "$getSizeInventory", $rt_wrapFunction0(nms_InventoryBasic_getSizeInventory), "$getInvName", $rt_wrapFunction0(nms_InventoryBasic_getInvName), "$getInventoryStackLimit", $rt_wrapFunction0(nms_InventoryBasic_getInventoryStackLimit),
    "$onInventoryChanged", $rt_wrapFunction0(nms_InventoryBasic_onInventoryChanged), "$canInteractWith", $rt_wrapFunction1(nms_InventoryBasic_canInteractWith)],
    nms_EntityOtherPlayerMP, "EntityOtherPlayerMP", 28, nms_EntityPlayer, [], 0, 3, 0, 0, ["$resetHeight", $rt_wrapFunction0(nms_EntityOtherPlayerMP_resetHeight), "$attackEntityFrom", $rt_wrapFunction2(nms_EntityOtherPlayerMP_attackEntityFrom), "$setPositionAndRotation2", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_EntityOtherPlayerMP_setPositionAndRotation2(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$onUpdate", $rt_wrapFunction0(nms_EntityOtherPlayerMP_onUpdate), "$getShadowSize", $rt_wrapFunction0(nms_EntityOtherPlayerMP_getShadowSize),
    "$onLivingUpdate", $rt_wrapFunction0(nms_EntityOtherPlayerMP_onLivingUpdate), "$outfitWithItem", $rt_wrapFunction3(nms_EntityOtherPlayerMP_outfitWithItem), "$func_6420_o", $rt_wrapFunction0(nms_EntityOtherPlayerMP_func_6420_o)],
    nms_EntityPickupFX, "EntityPickupFX", 28, nms_EntityFX, [], 0, 3, 0, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_EntityPickupFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", $rt_wrapFunction0(nms_EntityPickupFX_onUpdate), "$getFXLayer", $rt_wrapFunction0(nms_EntityPickupFX_getFXLayer)],
    nms_Explosion, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_PlayerControllerMP, 0, nms_PlayerController, [], 0, 3, 0, 0, ["$flipPlayer", $rt_wrapFunction1(nms_PlayerControllerMP_flipPlayer), "$clickBlock", $rt_wrapFunction4(nms_PlayerControllerMP_clickBlock), "$func_6468_a", $rt_wrapFunction0(nms_PlayerControllerMP_func_6468_a), "$sendBlockRemoving", $rt_wrapFunction4(nms_PlayerControllerMP_sendBlockRemoving), "$setPartialTime", $rt_wrapFunction1(nms_PlayerControllerMP_setPartialTime), "$getBlockReachDistance", $rt_wrapFunction0(nms_PlayerControllerMP_getBlockReachDistance),
    "$func_717_a", $rt_wrapFunction1(nms_PlayerControllerMP_func_717_a), "$updateController", $rt_wrapFunction0(nms_PlayerControllerMP_updateController), "$sendPlaceBlock", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return nms_PlayerControllerMP_sendPlaceBlock(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$sendUseItem", $rt_wrapFunction3(nms_PlayerControllerMP_sendUseItem), "$createPlayer", $rt_wrapFunction1(nms_PlayerControllerMP_createPlayer), "$func_6472_b", $rt_wrapFunction2(nms_PlayerControllerMP_func_6472_b),
    "$func_6475_a", $rt_wrapFunction2(nms_PlayerControllerMP_func_6475_a), "$func_20085_a", $rt_wrapFunction4(nms_PlayerControllerMP_func_20085_a), "$func_20086_a", $rt_wrapFunction2(nms_PlayerControllerMP_func_20086_a)],
    nms_GuiDownloadTerrain, "GuiDownloadTerrain", 28, nms_GuiScreen, [], 0, 3, 0, 0, ["$keyTyped", $rt_wrapFunction2(nms_GuiDownloadTerrain_keyTyped), "$initGui", $rt_wrapFunction0(nms_GuiDownloadTerrain_initGui), "$updateScreen", $rt_wrapFunction0(nms_GuiDownloadTerrain_updateScreen), "$actionPerformed", $rt_wrapFunction1(nms_GuiDownloadTerrain_actionPerformed), "$drawScreen", $rt_wrapFunction3(nms_GuiDownloadTerrain_drawScreen)],
    nms_Teleporter, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nlei_VFSFilenameIteratorNonRecursive, 0, jl_Object, [nlei_VFSFilenameIterator], 0, 3, 0, 0, ["$next4", $rt_wrapFunction1(nlei_VFSFilenameIteratorNonRecursive_next)],
    nms_WorldGenerator, 0, jl_Object, [], 1, 3, 0, 0, ["$func_517_a", $rt_wrapFunction3(nms_WorldGenerator_func_517_a)],
    nms_WorldGenTrees, 0, nms_WorldGenerator, [], 0, 3, 0, 0, ["$generate", function(var_1, var_2, var_3, var_4, var_5) { return nms_WorldGenTrees_generate(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_WorldGenBigTree, 0, nms_WorldGenerator, [], 0, 3, 0, 0, ["$func_517_a", $rt_wrapFunction3(nms_WorldGenBigTree_func_517_a), "$generate", function(var_1, var_2, var_3, var_4, var_5) { return nms_WorldGenBigTree_generate(this, var_1, var_2, var_3, var_4, var_5); }],
    juf_DoubleSupplier, 0, jl_Object, [], 3, 3, 0, 0, 0,
    ju_Random$nextGaussian$lambda$_9_0, 0, jl_Object, [juf_DoubleSupplier], 0, 3, 0, 0, 0,
    otci_RandomUtils, 0, jl_Object, [], 0, 3, 0, 0, 0,
    nms_SaveHandlerMP, 0, jl_Object, [nms_ISaveHandler], 0, 3, 0, 0, ["$getChunkLoader", $rt_wrapFunction1(nms_SaveHandlerMP_getChunkLoader), "$saveWorldInfoAndPlayer", $rt_wrapFunction2(nms_SaveHandlerMP_saveWorldInfoAndPlayer)],
    jl_StrictMath, 0, jl_Object, [], 4, 3, 0, 0, 0,
    nleit_IndexedDBFilesystem$AsyncHandlers$9, 0, jl_Object, [otji_EventHandler], 0, 0, 0, 0, ["$handleEvent$exported$00", $rt_wrapFunction0(nleit_IndexedDBFilesystem$AsyncHandlers$9_handleEvent$exported$0)],
    nleit_IndexedDBFilesystem$AsyncHandlers$10, 0, jl_Object, [otji_EventHandler], 0, 0, 0, 0, ["$handleEvent$exported$00", $rt_wrapFunction0(nleit_IndexedDBFilesystem$AsyncHandlers$10_handleEvent$exported$0)],
    nms_WorldBlockPositionType, 0, jl_Object, [], 0, 0, 0, 0, 0,
    nms_WorldGenLakes, 0, nms_WorldGenerator, [], 0, 3, 0, 0, 0,
    nms_WorldGenDungeons, 0, nms_WorldGenerator, [], 0, 3, 0, 0, 0,
    nms_WorldGenClay, 0, nms_WorldGenerator, [], 0, 3, 0, 0, 0,
    nms_WorldGenMinable, 0, nms_WorldGenerator, [], 0, 3, 0, 0, 0,
    nms_WorldGenFlowers, 0, nms_WorldGenerator, [], 0, 3, 0, 0, 0,
    nms_WorldGenReed, 0, nms_WorldGenerator, [], 0, 3, 0, 0, 0,
    nms_WorldGenPumpkin, 0, nms_WorldGenerator, [], 0, 3, 0, 0, 0,
    nms_WorldGenCactus, 0, nms_WorldGenerator, [], 0, 3, 0, 0, 0,
    nms_WorldGenLiquids, 0, nms_WorldGenerator, [], 0, 3, 0, 0, 0,
    nms_WorldGenHellLava, 0, nms_WorldGenerator, [], 0, 3, 0, 0, 0,
    nms_WorldGenFire, 0, nms_WorldGenerator, [], 0, 3, 0, 0, 0,
    nms_WorldGenLightStone1, 0, nms_WorldGenerator, [], 0, 3, 0, 0, 0,
    nms_WorldGenLightStone2, 0, nms_WorldGenerator, [], 0, 3, 0, 0, 0,
    nms_IInvBasic, 0, jl_Object, [], 3, 3, 0, 0, 0,
    ju_AbstractMap$KeySet, 0, ju_AbstractSet, [], 0, 0, 0, 0, ["$iterator", $rt_wrapFunction0(ju_AbstractMap$KeySet_iterator)]]);
    $rt_metadata([nms_ChunkProviderClient, 0, jl_Object, [nms_IChunkProvider], 0, 3, 0, 0, ["$chunkExists", $rt_wrapFunction2(nms_ChunkProviderClient_chunkExists), "$func_538_d", $rt_wrapFunction2(nms_ChunkProviderClient_func_538_d), "$provideChunk", $rt_wrapFunction2(nms_ChunkProviderClient_provideChunk), "$saveChunks", $rt_wrapFunction2(nms_ChunkProviderClient_saveChunks), "$func_532_a", $rt_wrapFunction0(nms_ChunkProviderClient_func_532_a), "$func_536_b", $rt_wrapFunction0(nms_ChunkProviderClient_func_536_b),
    "$toString", $rt_wrapFunction0(nms_ChunkProviderClient_toString)],
    nleiv_VFSIterator2$BreakLoop, 0, jl_RuntimeException, [], 0, 3, 0, 0, 0,
    nleit_IndexedDBFilesystem$AsyncHandlers$5, 0, jl_Object, [otji_EventHandler], 0, 0, 0, 0, ["$handleEvent$exported$00", $rt_wrapFunction0(nleit_IndexedDBFilesystem$AsyncHandlers$5_handleEvent$exported$0)],
    nleit_IndexedDBFilesystem$AsyncHandlers$6, 0, jl_Object, [otji_EventHandler], 0, 0, 0, 0, ["$handleEvent$exported$00", $rt_wrapFunction0(nleit_IndexedDBFilesystem$AsyncHandlers$6_handleEvent$exported$0)],
    ju_AbstractMap$KeySet$1, 0, jl_Object, [ju_Iterator], 0, 0, 0, 0, ["$hasNext", $rt_wrapFunction0(ju_AbstractMap$KeySet$1_hasNext), "$next", $rt_wrapFunction0(ju_AbstractMap$KeySet$1_next), "$remove0", $rt_wrapFunction0(ju_AbstractMap$KeySet$1_remove)],
    nms_WorldGenForest, 0, nms_WorldGenerator, [], 0, 3, 0, 0, ["$generate", function(var_1, var_2, var_3, var_4, var_5) { return nms_WorldGenForest_generate(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_WorldGenTaiga2, 0, nms_WorldGenerator, [], 0, 3, 0, 0, ["$generate", function(var_1, var_2, var_3, var_4, var_5) { return nms_WorldGenTaiga2_generate(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_WorldGenTaiga1, 0, nms_WorldGenerator, [], 0, 3, 0, 0, ["$generate", function(var_1, var_2, var_3, var_4, var_5) { return nms_WorldGenTaiga1_generate(this, var_1, var_2, var_3, var_4, var_5); }],
    nms_GuiEditSign, "GuiEditSign", 28, nms_GuiScreen, [], 0, 3, 0, nms_GuiEditSign_$callClinit, ["$initGui", $rt_wrapFunction0(nms_GuiEditSign_initGui), "$onGuiClosed", $rt_wrapFunction0(nms_GuiEditSign_onGuiClosed), "$updateScreen", $rt_wrapFunction0(nms_GuiEditSign_updateScreen), "$actionPerformed", $rt_wrapFunction1(nms_GuiEditSign_actionPerformed), "$keyTyped", $rt_wrapFunction2(nms_GuiEditSign_keyTyped), "$drawScreen", $rt_wrapFunction3(nms_GuiEditSign_drawScreen)],
    ju_TreeMap$EntrySet, 0, ju_AbstractSet, [ju_SequencedSet], 0, 0, 0, 0, 0,
    ju_TreeMap$EntryIterator, 0, jl_Object, [ju_Iterator], 0, 0, 0, 0, 0]);
    function $rt_array(cls, data) {
        this.$monitor = null;
        this.$id$ = 0;
        this.type = cls;
        this.data = data;
        this.constructor = $rt_arraycls(cls);
    }
    $rt_array.prototype = $rt_globals.Object.create(($rt_objcls()).prototype);
    $rt_array.prototype.toString = function() {
        var str = "[";
        for (var i = 0;i < this.data.length;++i) {
            if (i > 0) {
                str += ", ";
            }
            str += this.data[i].toString();
        }
        str += "]";
        return str;
    };
    $rt_setCloneMethod($rt_array.prototype, function() {
        var dataCopy;
        if ('slice' in this.data) {
            dataCopy = this.data.slice();
        } else {
            dataCopy = new this.data.constructor(this.data.length);
            for (var i = 0;i < dataCopy.length;++i) {
                dataCopy[i] = this.data[i];
            }
        }
        return new $rt_array(this.type, dataCopy);
    });
    $rt_stringPool(["Can\'t enter monitor from another thread synchronously", "interface ", "class ", "", "[]", "/", ": ", "\tat ", "Caused by: ", "null", "String is null", "String is empty", "String contains invalid digits: ", "String contains digits out of radix ", "The value is too big for int type: ", "Illegal radix: ", "false", "true", "Either src or dest is null", "0", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATEAAABxCAAAAACYIctsAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH6AMMAyAVwaqINwAADutJREFUeNrtXCt75EiWPb1bn4cckRoSIrskRGZIiuySFLfQIv2ALG7zqiGD3HhtXoka6QfIZJYoSS9Rki0ikS2iWLBFdJHJDIgIpZSpfLir3eXqTwHstFKPiBP3ce6JkH/4O+b2rPZPMwQzYjNiM2IzYjNic5sRmxGbEZsRmxGb24zYjNiM2IzYjNiM2NxmxGbEZsRmxGbE5jYj9iu1N7+HQQgAzoidx8l0EAACESBVM2Lnmrk3IpBORAC1mBE729rcOiN/BYcUjj7LCSf/fhETkV/PrJ4B+necK5mFwdej3qcOSP9LABGIO/67sTEmsdTbvP0qTxRQhKAQQqGAguGvV4pY0wUgn88PSBVW7VdYmP1BQCik0FqVEkodgkL3zSjKvQ"
    + "rE8kJIpbL4RePP4bXW/+g+ghYYEUhplgFIIQjuPeUVIGbqFh1qSX9z3lsWRoU6gU0hQhe3TF6xZhIp7qfRV4JYa75FlUABTNEAK6rQWZfv0J0AK0Nla4m9gPYKcuVWvkXeAAAEAJrceAJmDxoQwDpv7Hl7YewVICam/SaAkZAOQLkGSYCgAD6aQVViDwn5yiK/1PhWXun90CZEuGQpMADSaNkfGkH27W2slm8BGATA4m5FpPdKDMShA5GO9wlu0mVgU+geYGdtTM4kcbkwy8vRs5rmUur0qyo6hDBCpbBI6aKVUABKwIXUTRo5doFnsAupTdOKgAy1S7WjCqM1YlpLaUKlDs/YRaq6aUWgQh1xwD9tOVJ3nmWY/ovJy8lQq+g8aiJjmjtJxWzgim4/CAewEIAC4jAD6QLbxZxfTFk2NjYCAamTZFD4NlVTG4HAD/fgjB3dKstG7H2CYfezFcwtAM8t+LB2X2TDQTZVYWTXDZUm5+rvaj2gK+omPlIiWd"
    + "KgZBfYaPksBZ6fga4kuAAxU64HEbnrUG/KVT/BUt7tnd91qDfFKj6wxDLfdoOTBgPL2FbD013KlGTQQVPmTTd6yHbiIXtd33bDiT8Wxwa1pHVSiI1bhruzDCC8xCulznMLfAC09oquMDfJriMK/QmdY3hduX2fjkdjiofOzleATjiMSgZihBM+1e58ocnzbqobJyEz3eC2k4j1UoWN6fZ0a2OgGXhu0xIBh2cdQ6x6KAkJbaFgysoeLck9E08jRUBM5c7oPmAEmcnvCABhqggxZe2sKHYxI2vq3QQKhKEio4F/5QSQRlSAqUo7kmqtTlWgohJxdikI9bFEQm9jPhN67YJe0yBMVzRZ4pIlT9lY9VASiFaLkARkUeS2r0U8DrxhZmdb6sfcecJaD0YjxT0BIMgyEjCLtUVWX4cAiEQbYwpPYNOYJLkLdhaw4MZ1Y6keOwBgGZ+K/0zi2j5HkkSrcLoyEwa0diQWLaePiQBibFaSEgDaiDKMZFOINeuKgC"
    + "zdYgMTmsJeUS5Hs6tcRGEctIVjV4+D0dQulnOpAEAllq7yMcg0ACgFMW3t5jhNxhHD5DkBaN+NODDOyvLrU0amxFI8ybLpiCeQbcVIxzBO4BGLHAVADT4uVIg2aMvcrOid+ISNSbEBANk9Lkq2bnaz0ezuztDpxhlZmfWOII/OfHTkp39rOgDdPTPlk39/D6X2cwb3HuK6gW5zyshMsW4B4DbTx2QealOasoFRog1oaBRAsAGlBfJEBeiCrjFODxpG/wnEqqKzA+hPolYOj2YYq4PF7o9YV1670btE5xHvb7QsLfRrnZwjVsYZ6OAhC/bTcvzqpshbAOHqxHqchKwM1gCSBaJ1CYAZ4/LB32Ngj+Ee6z+skmRTu5sOApZ/eDXkdIMYjV1O2D2t9mlH97fyN22Lc7WRFI7dDMYd+c/N8aurj+sWQHSTqeNytepUBgBMlyZ0+ajcWN8aN637svOojdXOWHQwJM4uA1ee6igAwyVCesvq2n4+mkOl1H/i5h"
    + "xixgXG0epH/8BWH6WvBQAkJ0ibUBBBFAxASdYu6gmgUoWyccFQAKgsQxtxmFInENu6gQ5DRR9tfAWyuJUWyaR+LDtS1x3XlkdkdnLozkBHtVef+I6IkFI9VACC63f6lFpNmFAybKooo1x3jY3ETEVi3FvPzGQNIEoi7Gv9byY05AmxNuj5pRAAkwQyRuIQMXyNKCHemhUnasRuGjEpf2wBhFmmzoljCKMK0DAM7L1MowwIhHE1NI02wp7W/+aohsxRV4NuH4WX3RoijY/RmPJKmagWfIERrVKeF3tUiiZTuVlubb0tZUQ2OvLj4sCqR8ZxaGON41hiiENz+UV2M3FRcGZxdlcqDbqxUyWmfLrJPzreeg4wigDUizCvwIXTTKjRaEhrGdHa68Mh6AnGEcR8r1gMymRpunNzNoFKbxE7TuJPk3NmYPpu1IMzt6fcOM9dBLxW5yVrEIzyCiiKnjADAO4iw6gcZbxRkXSAmBdWdjnzpAuK6cQuuFeHHYuCA/"
    + "rUC67xhYihrS/oBoBN7YbJMg7PCUIUCkOjazNh3BItyp2iHqqxBDtlY7w0UJm2MW1jRcUp5a4nnE3hIXNESuKElzryhfHyfsdc8kV6NkwIhdplFZ00qvJUKGyUQlp451/wctX6XMRqqqaqBODR7UhR+tE9OKf1QuMJx+qcFfSmLkf86sShbh3p03HM3jcM7M3fXW9F3n2M1YNlNTqJF7biCKLwgDa8OSr5flhMPc2TdimLbX1m6xYz7yn1ulmGlHZjA5Hcnq2ResBul6e6MT7oYa7yG56OYzY4LTKjaNY6ampTibX/HDpKWlojo+LB/By3MR2frHZzp2wFJFVE1PnELW6k8gVTqQBjrHj9LjtrYpd1Y5R9r7Pmg/tcnvFLV/QwFAZCgtKVaKvBCoQV+etckktV69MBxORrO52RjrWNs+UEYojf55vWcXwfwQOdPmfP6qW0L8wyFWauE3V+yi+tlAhhuADZKYFKKWH3o1+yQJAQTQEY407mZWtJxx9ZOs"
    + "Dim/h0nojD+GG05B2q+Dp6Dvm9kADKKiNUtnXzsi1WPAWYQ0F1HyEGEkgCbKFoBFopKIlhtBEUiwSgCHjBWpKcEmLc2k6aXDb/WqxQzFDHis+yrAsR44IAosyt2HTlIjlFx8RW15bFCBRaoEMaFSWSmBQyZZKXgLShwkjp3EeMHFeQ0ybmyC0XZwlIvu4kXsWdCAiGF+/yDTyXe9bGHyaplSFRFZE6OSN2F6K40lUpCNaRXpTgMgABSVgAaLbBngO9OTq75gRivvYKzwJ2R0Q3yfNrUD9c1vKci3XWuNl8jE+VFc7NGNqNA/DcpwCiQLmvF3UDZWMejiuK9CiwOuoPsr0wKkt+T2D1CwDbSRbP3CsVeZzavD7r9iTvYq9lkTfKACv7l0AQB5bnjHtwoMEq7RE7uoWkw4S8MdXK9SWF8fTIe2GnfBZkapm6PRrlozldWpJAeq37mQ8SrJs06cvOEEsFg3BvX+cBYpH2xXJhzqWvQXaQZkpM6PYlwVMGOc"
    + "o1qmcHxfO2MFoREADzSs5mYSs0C0GCDPyQ7AZYFUX3NzF5zsYi75bF2dkdjLEsJmTUrU30VdM3c5CCGUxmRab+eJU/N/j7mvrUhTbu09BvHBYICZS2tBYIBC0YqX3p9JBdJKWv3NfYW7IRIYfasVTa22NeHZFRWa/HMmqo9Ehb8K7NcuS+cS8gFNwrEQYvi0xpTNeuNmNZHK8t7B5+Q4P3OQSiYFTnjisIhQaIA62H+xYBAP/81/17vX36/MV72hcGV75vT/+zyT9HBPD0s/HH/vwWgHxe/1QHf3iyB//4p+DpCgCe8s9OEfq8a82nT9vNz1+CK3/fq8+f7LCv/u9P4RUA+WKF8bf/7cPDp/9/O+jG559/+pvlzfL55//yJyGQH9w9A/FLTZ+e+oMT7QrgE83mX5Po6erp6e3TH55+wn/8e/wvwBWu5O3/fvrybxGvrq6ucHW6SkqNOJrefix1okKgE9NUYrrMeYw3qPIui9Buy6YLU945JvQXFetYYb"
    + "RuNl4Tqbd51ldKWrundT82ywD1tr5Rtp7w1UKXbxZ9N2ojbWxNeG12ah7ygirJaLvXX1hw8U5fxJVteE8GZWwUTbKBCcS4Yp+Z63ozSJASuFARe0ZWbu1XcZoZ/8JLXZfBfyqAyebYnuCue6j9SKLY715q79cAutAluxT9hqy2LYJBN9y2g1yNJ8K4mK+ypu4PsjsqXROGhovcrXtDkKwWHL5xw6E+dKJKYqaKjdt8tJNdwGjh1qfVDcrB1xJeJwmZ3vcPsNwgafL6WKLscty6/RRpm/se2a1PPrClqtj0e3+6QTdiTlMbHzDj1HSHmeUgkAHKKHls3CsjBlA6VOLZxa6YPK9dMI2Salvv1iSEkVaR9oUH45vYb5ESRss41gAX/dtitEmbmSq37Tg+7579GGfOLd+FReXtRsWLOOzTXhjvdSOMdd8NJntxn32hkNbbg4PT9M3gfWV3QIkS6lDthAoORe7dJT8c+7/WpjZGWmPTGxXVuCY0dWNaA6hQab"
    + "dJq7kXMrBMxkeDKl9zsOdFYHYyZHKn9m5GFSo1rgdPdEMO0vPu0h0VY3x2TYfKqbLl+n2Mc1XZD38/ySk7AEdeTLPfBrvNOWKcrQ9We8sip9wuhwtojds5h+h9cvxmF3fjlze/mUIIISGQdpvow2D3DMS+upkiryjZrR4vP5V2t1J4k+Fbt/5NCMvsZW/Gpt6wfMl3Rkye15R4NZ43auIDzyhwv1WjzZLcD1YnpIYXfGdEirwlsIoOwu0ifgVgDVyPftH7EvnuBREr8xaQRB/2IlCXKB+/oWvahHjZ2S/nlcZumYsnVMfOcZDXAZgXcy6cwJezsbo5IH87NAFAh/ge28shZsthTuiS0tQEgkR9l4i9eUljB8AiSkeaokCsGpMlmBEbNa1sHX5XJYqE18yNqTctIavs+zSxF2SwsnarmiKiI5sYxVRCEhKuUo0ZsYNkua65p5W6LbZpGn+nFvayVZLUm6LaT9rCKFlGr4aLvS7EAJHaNK0x9s3VAEoz0q"
    + "H6fuF6ccScnrJ7m5y/4b/v+14R+921+X91zojNiM2IzYjNiM1tRmxGbEZsRmxGbG4zYjNiM2IzYjNiM2JzmxGbEZsR+37bPwAIcCklAqwqLgAAAABJRU5ErkJggg==", "ClientMain: [ERROR] eaglercraftx is already running!", "ClientMain: [INFO] eaglercraftx is starting...", "ClientMain: [ERROR] eaglercraftx main thread has exited", "ClientMain: [ERROR] the \"window.eaglercraftXOpts\" variable is undefined", "ClientMain: [ERROR] the \"window.eaglercraftXOpts\" variable is invalid", "window.eaglercraftXOpts.container is undefined!", "assetsURI array cannot be empty!",
    "assetsURI is missing a url!", "ClientMain: [ERROR] eaglercraftx cannot start", "ERROR: game cannot start, the \"window.eaglercraftXOpts\" variable is invalid: ", "ClientMain: [INFO] configuration was successful", "ClientMain: [INFO] initializing eaglercraftx runtime", "ClientMain: [INFO] registering crash handlers", "ClientMain: [ERROR] eaglercraftx\'s runtime could not be initialized!", "ClientMain: [ERROR] this browser is incompatible with eaglercraftx!", "ClientMain: [INFO] launching eaglercraftx main thread",
    "ClientMain: [ERROR] Reason: ", "EaglercraftX\'s runtime could not be initialized!", "ClientMain: [ERROR] unhandled exception caused main thread to exit", "Unhandled exception caused main thread to exit!", "\n\n", "Game Crashed! I have fallen and I can\'t get up!\n\n", "eaglercraft.version = \"", "u0", "\"\n", "eaglercraft.minecraft = \"0.30\"\n", "eaglercraft.brand = \"Catfoolyou\"\n", "window.eaglercraftXOpts = ", "currentTime = ", "EEE, d MMM yyyy HH:mm:ss Z", "userAgent", "vendor", "language", "hardwareConcurrency",
    "deviceMemory", "platform", "product", "localStorage", "sessionStorage", "indexedDB", "rootElement.clientWidth = ", "undefined", "rootElement.clientHeight = ", "innerWidth", "innerHeight", "outerWidth", "outerHeight", "devicePixelRatio", "availWidth", "availHeight", "colorDepth", "pixelDepth", "minecraftServer", "href", "Uncaught exception invoking crash report hook!", "Got the following messages from the crash report hook registered in eaglercraftXOpts:\n\n", "Uncaught exception concatenating crash report hook messages!",
    "An additional crash report was supressed:", "[\\r\\n]+", "  ", "----------[ CRASH HOOK ]----------\n", "----------------------------------\n\n", "  ----------[ CRASH HOOK ]----------", "  ----------------------------------", "Failed to query GPU info!\n", "webgl.version = ", "webgl.renderer = ", "webgl.vendor = ", " [masked]", "ERROR: could not query webgl info - ", "webgl.version.id = ", "webgl.experimental = ", "webgl.ext.ANGLE_instanced_arrays = ", "webgl.ext.EXT_color_buffer_half_float = ", "webgl.ext.EXT_shader_texture_lod = ",
    "webgl.ext.OES_fbo_render_mipmap = ", "webgl.ext.OES_texture_float = ", "webgl.ext.OES_texture_half_float = ", "webgl.ext.OES_texture_half_float_linear = ", "webgl.ext.EXT_color_buffer_float = ", "webgl.ext.OES_texture_float_linear = ", "webgl.ext.EXT_texture_filter_anisotropic = ", "eaglercraft.es6shims.status = ", "eaglercraft.es6shims.shims = [ ", " ]\n", "ERROR: could not query ES6 shim info - ", ", ", "Compatibility error: ", "style", "position:relative;", "<h2><svg style=\"vertical-align:middle;margin:0px 16px 8px 8px;\" xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\"><path stroke=\"#000000\" stroke-width=\"3\" stroke-linecap=\"square\" d=\"M1.5 8.5v34h45v-28m-3-3h-10v-3m-3-3h-10m15 6h-18v-3m-3-3h-10\"/><path stroke=\"#000000\" stroke-width=\"2\" stroke-linecap=\"square\" d=\"M12 21h0m0 4h0m4 0h0m0-4h0m-2 2h0m20-2h0m0 4h0m4 0h0m0-4h0m-2 2h0\"/><path stroke=\"#000000\" stroke-width=\"2\" stroke-linecap=\"square\" d=\"M20 30h0 m2 2h0 m2 2h0 m2 "
    + "2h0 m2 -2h0 m2 -2h0 m2 -2h0\"/></svg>+ This device is incompatible with Eaglercraft&ensp;:(</h2><div style=\"margin-left:40px;\"><p style=\"font-size:1.2em;\"><b style=\"font-size:1.1em;\">Issue:</b> <span style=\"color:#BB0000;\" id=\"_eaglercraftX_crashReason\"></span><br /></p><p style=\"margin-left:10px;font:0.9em monospace;\" id=\"_eaglercraftX_crashUserAgent\"></p><p style=\"margin-left:10px;font:0.9em monospace;\" id=\"_eaglercraftX_crashWebGL\"></p><p style=\"margin-left:10px;font:0.9em monospace;\">Current Date: ",
    "</p><p><br /><span style=\"font-size:1.1em;border-bottom:1px dashed #AAAAAA;padding-bottom:5px;\">Things you can try:</span></p><ol><li><span style=\"font-weight:bold;\">Just try using Eaglercraft on a different device</span>, it isn\'t a bug it\'s common sense</li><li style=\"margin-top:7px;\">If this screen just appeared randomly, try restarting your browser or device</li><li style=\"margin-top:7px;\">If you are not using Chrome/Edge, try installing the latest Google Chrome</li><li style=\"margin-top:7px;\">If your b"
    + "rowser is out of date, please update it to the latest version</li></ol></div>", "No GL_RENDERER string could be queried", "window.", " = ", "window.navigator.", "window.navigator.plugins = ", "window.screen.", "window.location.", "Creating main game canvas", "Root element \"", "ES6 Shim Status: {}", "\" was not found in this document!", "body", "100vw", "100vh", ",", "Note: Retroactively patching style attributes on <body>", "Could not find <html> tag!", "Note: Detected game is embedded in body, some screens may be resized to window.visualViewport instead for a better mobile experience",
    "Big endian CPU detected! (somehow)", "Endianness: this CPU is little endian", "width=device-width", "Exception while registering window message event handlers", "initial-scale=1.0", "minimum-scale=1.0", "maximum-scale=1.0", "Note: Retroactively patching viewport <meta> tag", "width=", "initial-scale=", "minimum-scale=", "maximum-scale=", "content", "Exception while registering window event handlers", "Note: Fetch has been disabled via eaglercraftXOpts, using XHR instead", "Detected fetch as unsupported, using XHR instead!",
    "Creating WebGL context", "Detected loading a data URL via fetch/XHR as unsupported!", "Note: Forcing WebGL 2.0 context", "webgl2", "Note: Forcing WebGL 1.0 context", "WebGL 2.0 is not supported on this device!", "webgl", "WebGL is not supported on this device!", "experimental-webgl", "OpenGL Version: {}", "OpenGL Renderer: {}", "Unlocked the following OpenGL ES extensions: (NONE)", "Unlocked the following OpenGL ES extensions:", " - {}", "Loaded {} resources from EPKs", "/assets/eagler/eagtek.png", "Initializing filesystem...",
    "Initializing sound engine...", "Platform initialization complete", "(Enabled {} shims: {})", "no-store", "force-cache", "data:", "Main thread is already waiting for an immediate continue callback!", "Caught error posting immediate continue, using setTimeout instead", "MessageChannel fast immediate continue hack is incompatible with this browser due to actually continuing immediately!", "MessageChannel fast immediate continue hack is incompatible with this browser due to startup check failing!", "Note: Using legacy fast immediate continue based on window.postMessage instead",
    "MessageChannel fast immediate continue hack is incompatible with this browser due to exceptions!", "Legacy fast immediate continue hack will be disable due actually continuing immediately!", "Legacy fast immediate continue hack failed for target \"{}\", attempting to use target \"*\" instead", "*", "Legacy fast immediate continue hack will be disable due to startup check failing!", "Legacy fast immediate continue hack will be disable due to exceptions!", "BrowserRuntime", "main", "en_US", "worlds", "resourcePacks",
    "_eaglercraftX", "#000000", "#DD0000", "ClientMain: [ERROR] recieved error event, but the error is null, ignoring", "Native Browser Exception\n", "----------------------------------\n", "  Line: ", "unknown", "  Type: ", "  Desc: ", "No stack trace is available", "Failed to deobfuscate stack trace!", "\n", "g", "p", "object", "function", "string", "number", "Version: {}", "EagRuntimeX 1.0", " edg/", " opr/", " chrome/", " firefox/", " safari/", " trident/", " msie", " webkit/", " gecko/", " desktop/", " cros",
    " linux", " windows", " win32", " win64", " macos", " osx", "direct3d11", "d3d11", "opengl es", "opengl", "metal", "vulkan", "Could not load required resource from EPK: ", "[no stack trace]", "[ error: ", " ]", "at ", "[null]", "\nCaused by: ", "EagRuntime", "Exception", "screenChanged", "minecraft", "saves", "texturepacks", "/font/default.png", "Pre startup", "Startup", "Post startup", "-", "/title/mojang.png", "GL_INVALID_ENUM", "GL_INVALID_VALUE", "GL_INVALID_OPERATION", "GL_OUT_OF_MEMORY", "GL_INVALID_FRAMEBUFFER_OPERATION",
    "Unknown Error", "CONTEXT_LOST_WEBGL", "########## GL ERROR ##########", "@ ", "Stopping!", "Game is attempting to exit!", "Pre render", "Failed to start game", "Unexpected error", "Post render", " fps, ", " chunk updates", "/terrain.png", "FORCING RELOAD!", "Loading level", "Generating level", "Leaving the Nether", "Entering the Nether", "Building terrain", "Simulating world for a bit", "C: ", ". F: ", ", O: ", ", E: ", "E: ", ". B: ", ", I: ", "P: ", ". T: ", "tile.bed.notValid", "Respawning", "Index out of bounds",
    "End of stream reached", "Malformed UTF-8 sequence", "Empty string not allowed", " entries", "dirW must be 0.0!", "GL_PROJECTION matrix stack overflow! Exceeded ", "GL_TEXTURE #", "GL_MODELVIEW matrix stack overflow! Exceeded ", " calls to GlStateManager.pushMatrix", " matrix stack overflow! Exceeded ", "GlStateManager", "A display list is already being compiled you eagler!", "Only GL_COMPILE is supported by glNewList", "Unknown display list: ", "No list is currently being compiled!", "No extension pipeline is available!",
    "Tried to call a display list that does not exist: ", "Tried to flush a display list that does not exist: ", "Skipping enable attrib with emulated VAO because no known VAO is bound!", "Skipping disable attrib with emulated VAO because no known VAO is bound!", "Skipping vertexAttribPointer with emulated VAO because no known VAO is bound!", "Skipping vertexAttribPointer with emulated VAO because no VAO array buffer is bound!", "Skipping draw call with emulated VAO because no known VAO is bound!", "Skipping set element array buffer with emulated VAO because no known VAO is bound!",
    "NPOT texture support detected as false, texture wrapping must be set to GL_CLAMP_TO_EDGE if the texture\'s width or height is not a power of 2", "16-bit HDR render target support: false", "16-bit HDR render target support: true", "16-bit HDR linear filter support: false", "16-bit HDR linear filter support: true", "32-bit HDR render target support: false", "32-bit HDR render target support: true", "32-bit HDR linear filter support: false", "32-bit HDR linear filter support: true", "No HDR render target support was detected! Shaders will be disabled.",
    "Note: Could not unlock VAOs via OpenGL extensions, emulating them instead", "Note: Could not unlock instancing via OpenGL extensions, using slow vanilla font and particle rendering", "EaglercraftGPU", "/gui/background.png", "/misc/water.png", "/gui/particles.png", "Only GL_FOG_COLOR is configurable!", "/achievement/bg.png", "hal1.ogg", "hal2.ogg", "hal3.ogg", "hal4.ogg", "nuance1.ogg", "nuance2.ogg", "piano1.ogg", "piano2.ogg", "piano3.ogg", "/music/", ".", "/sound/", ".ogg", "/gui/items.png", "Can\'t compare ",
    " to ", "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "FINER", "SEVERE", "FINE", "OFF", "DISABLED", "localStorageSaved", "Invalid Base64 recieved from local storage hook!", "localStorageLoaded", "Note: using legacy FileReader implementation because File.prototype.arrayBuffer() is not supported", "yyyy-MM-dd_HH.mm.ss", "END", "    at ", "(this Collection)", "Exception Thrown", "][main/", "][", "]: ", "{}", "{}: {}", "Caused By", "hh:mm:ss+SSS", "Ignoring unknown shim id: {}", "ES6ShimStatus", "Note: Blob urls have been disabled, client will use data: urls instead",
    "Warning: Same-origin fetch support detected as false, client will use data: urls instead of blob: urls", "TeaVMBlobURLManager", "STATUS_NOT_PRESENT", "Not present", "STATUS_ERROR", "Error, Not initialized", "STATUS_DISABLED", "Disabled", "STATUS_ENABLED", "Enabled", "STATUS_DISABLED_ERRORS", "Errors; Disabled", "STATUS_ENABLED_ERRORS", "Errors; Enabled", "data:application/octet-stream;base64,", ";base64", "[WebGL Error]: {}", "ANGLE_instanced_arrays", "EXT_color_buffer_float", "EXT_color_buffer_half_float",
    "EXT_shader_texture_lod", "OES_fbo_render_mipmap", "OES_vertex_array_object", "OES_texture_float", "OES_texture_float_linear", "OES_texture_half_float", "OES_texture_half_float_linear", "EXT_texture_filter_anisotropic", "WEBGL_debug_renderer_info", "PlatformOpenGL", "#version 100\nprecision mediump float; attribute vec2 a_pos2f; varying vec2 v_tex2f; void main() { v_tex2f = a_pos2f; gl_Position = vec4(a_pos2f * 2.0 - 1.0, 0.0, 1.0); }", "#version 100\nprecision mediump float; precision mediump sampler2D; varying vec2 v_tex2f; uniform sampler2D u_samplerTex; void main() { gl_FragColor = vec4(texture2D(u_samplerTex, v_tex2f).rgb, 1.0); }",
    "#version 100\n#extension GL_EXT_shader_texture_lod : enable\nprecision mediump float; precision mediump sampler2D; varying vec2 v_tex2f; uniform sampler2D u_samplerTex; void main() { gl_FragColor = vec4(texture2DLodEXT(u_samplerTex, v_tex2f, 0.0).rgb, 1.0); }", "a_pos2f", "u_samplerTex", "glGetInteger only accepts GL_VIEWPORT as a parameter", "Loading keyboard layout data", "Caught exception querying keyboard layout from browser, using the default layout instead", "Pointer lock is not supported on this browser",
    "pointerlockchange", "mozpointerlockchange", "pointerlockerror", "mozpointerlockerror", "Using moz- vendor prefix for pointer lock", "Fullscreen is not supported on this browser", "Using webkit- vendor prefix for fullscreen", "VSync is not supported on this browser!", "Using moz- vendor prefix for fullscreen", "KeyboardLayoutMap remapped {} keys from their default codes", "mobi", "tablet", "Already waiting for vsync!", "Failed to request pointer lock, it is not supported!", "Failed to exit pointer lock, it is not supported!",
    "iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAYAAABS3GwHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAHx0lEQVR42u3da27jIBRAYbfqFp1FuovM/GLEMIDBhsRJviNVapsYY8y5vPz4ut/v9wX4UL4VAQgAEAAgAEAAgAAAAQACAAQACAAQACAAQACAAAABAAIABAAIABAAIABAAIAAAAEAAgAEAAgAEAAgAEAAgAAAAQACAAQACAAQACAAQACAAAABAAIABAAIABAAIABAAIAAAAEAAgAEAAgAEAAgAAgAEAAgAEAAgAAAAQACAAQACAAQACAAQACAAMBr86MI3ovf39/i/9Z1XdZ1VUgEeN/Kf7vdqt8hgC7QW6OCE+CjK/+2bcv9fieCLtDjux9x/1t/u1xOveWSlisBXmQASoB/+fr6+vv7/X7vHteE8hxZrrpAkyo/2mU42soSgAAfN8YZ3aoSQOV/GNu2ZX9vGdjPEuBnVmXIVYqePly8famCne0T"
    + "tuS1tt/a9kfSbWnqZw2u9yQesc91XZv7/iO2a+I+iG3b7uu63pdl2f1Z17WaTksaaXrbtk3JaynvR/O5l6/WtPaON3d8tf3v7e9d+RkVPeIVyDRKpREtfL+nGdxL7/f3d9m2bTdS5VZL4/Rz0fcRszm32604jZrLUyi/UXlb1/WlunKhTE63iCMif0tkao1IaXqlqFWKlr2RsTUPpXRLrUnYpqVlircfdby9LUCpbHpa1lyeW8tgL51SmZ9N+2dE5GqJlrkI0xJxaumV0ixt0xrd07TDdrl+aDoeGNnfbzne0RE1HqSOaF3SljptyXP7qF3QN3zi4Yw9LdF0r5+Zs7u175mLirU85KJiLbK3pt2bj1qZ1CJaz356WoD0u2ejaq11XNf1708uf73jqqeOAXotbIlgZ/t0tfSPRulZ050j0jubRjz2CGU/clyRRvvwv1LPIR4X5r6TtlJPmwY9W5la54vfea5+Zhm2dnniyj+j3GtdxCsMzL+vWAmuyujK"
    + "2dLXnVGGYSZsduXPlV0625Vbk0nlnFlXhrYAezdjPFOa2sD4GRetlY5hdhnmpoHjKcXZlb927Llp4JCvWYHy8leDxpHgbCH0zBo9s3vyiLK8QiBIxwiPaHWnjwFGZbjl9r5RAtxut92Fp5GLTqPHP735qpXDrK5QbjFz27b/Wp802IXu2Yz6cGoadDmwCHV0enVJFpbCfkqLQ6Mvg9g7riPToEfyfrYMl4ZLOUadw1rZh33H/ytNjcbnunfavakeX02As3P1rZVoT4KeVdBXESDN05HV4pFXDaQrxqkE6TnISfC0dYAZA5PSSu3orkeYiSil/Sl3cm3b9t+NKbMHxHtTpenvcT7C33Gez+b1e3QFvvrUY2nhZ/Qi0KtMC+f6/KWpytnnsjWoXuKWyNaZkyud/HTh55mVvTYt++h8zDiXlTFnkwS1wfhlBZgxj917acNe9H9mZWuJvjPuez0azJ5RPj1T3kMe/zJyUNMzkMpdJts6MNybyckNXo/cwLI0"
    + "XtZ8ZkaldBwt2x65RHvGMRwZoO9dWLh3CfqofC0zZhtKU5fpiWkVIE4n3b423Zemf0SA5cQdVenxt9x70FJ+8TEfkbxUuXqDytnp0L2p0kewzJjeOnMSWtKKt92rQCNageXEDTot05xH1iZy5Xf2lsra9iMrZDjW2dG9ha/7wLuNS5ctpDevt9y2WBu0ptvnxh2l75YutOrtu+/1m+N8tw66022PlGHrcfVuP+NCwNrg+2ETFPcPI45yLSu8s1Yg8UY3xb8K6WP2WualrzJjhDl8f2Ll721iPeiWAG8hwMw+LQhw6co/cpWaPO/DR4wBchU23APQMiMy43EhuAZDp0FfaQxwRCJjAQK8xTigp0uk4hPgowbH+vkEAD4GL8gAAQACAAQACAAQACAAQACAAAABAAIABAAIABAAIABAAIAAAAEAAgAEAK7NJR6M9S6PLQzPHZr1sulSuXmCxQu3APHz+sNP6wOspr09/CL76ym3Tzr2t2sBHhk13+UYwgsm"
    + "nvFeXwI8qUtRinZxZNq27e/3tm3Lvg8gjWRpxc09Rj3eb2l/ufTiZ5CG78Sfn305eO7durX8tH4W8pB+Pz32vTQJcGAcED+0Nv5//Pbw9GTl+sKh8sVRMo2WoWkPJy0WpiRB6XVFpa5IvF28v3RfvX36mpylBwKXPktbkjiI1I69liYBTg6E4wqTkyOWolRB4nTSE5XuszaI3dvfngRppM1F+9auTG4fuW1raeXendYiWk+aBBjQf44jZW/TWoriV3gRddwi9L57IPfY9lA5Q3nF6YZyq33WIkLt/NTSJMCAcUD4/Wzhxt2o3Hjg0a3emSdPt7Q2t9vtn3KrfXY0L7U091rWo599xBggjSgh0pSa79aTl4ugaR8913qU9ld6vWlvd6bn+7mB+96MUHpcLULtHftemlqAAwKEwVd6MtNBbK4C7kWLuMkuDT5zA+za/nKzMC0VOu0CtXQhal2UeKCfG2PUPsvNZrUcey3NV8Dj0Z/cvctNQ77DmogWAM0S"
    + "7M0gQQvwluS6HFZ0CQA8DJdDgwAAAQACAAQACAAQACAAQACAAAABAAIABAAIABAAIABAAIAAAAEAAgAEAAgAEAAgAEAAgAAAAQACAAQACAAQACAAQACAAAABAAIABAAIABAAIABAAIAAAAEAAgAEAAgAEAAgAEAAgAAAAYBlWf4A1W4Hx65cJAoAAAAASUVORK5CYII=", "iVBORw0KGgoAAAANSUhEUgAAAYAAAAAQCAYAAAAf1qhIAAAAxHpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjabVBbDsMgDPvnFDtCXoVwHLp20m6w489AkNZtlnDcJDUh6Xw9H+nWIWzJtuK55kyAVavSIJwm2mAmGzzgS/E1nyISCVKKqPFDnpFXfjVG5Aa1fRj5PQr7tVAt/P3LKC7SPpFAHGFUw0hlFjgM2nwW5erl8wn7SVf4PKnTHq5jIvr9toLtHRvuUZFTWQmsmucA2o8lbRAFjERvREPP+GCOSbCQf3taSG9BflnMtBtpAwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAilJREFUeNrtXFsSgyAMrI735GyetP1yhnEoCWQDUXb/HApsXiQg9vMhCIIglsSWUvqWGs7z3J4gQIl/zv2ffNfv7u0WuVNK38h6i85vBf6z4mvE3D32GamT2f4T0X/3nNB5ntv1XFs4I+HOv+ZUuXy1/qhEFD1R"
    + "PnXxfCpmBv+IxTWyTmb7j2b+lNJ3NM/9bVsaTQJ7chVJEASBwrGq4EwCBEGsviaJCeCqpO/n5dI5O7IdvRVDjn3nnusLJV+tv2QfKz+N/S38tfP/49/yjOJf4i6Nb9nae8ePp3165UStHwh+3vFXkx0Rn7X+GyqopKDobW8xkMRXUjDiHYBm7Jb5NP2lZys/zfi9/LVctfx75LHa2RovI/TXolekfazxO5ufd/xZ7WPV36HNQsjqXOrvVf2Xbv0Q47eqKx2/IYqLaPrj8el74vdAGbZ2nbT0dvuaS2qn89qPEGaOr7Vv5MQ8k9so/bEweu9iX/OfAzmRtu0ilCeBWjvhn7g8x9fYN6qtpePEGbb30B9jbZ21I/effVWlSIHMioggiLfDJQHkWw7p4wb0xw8tL1u8Fn/vDzqs44+0Sc9Yo30meqGC1p+3/qPbZza/kfNLc22tZ4ulhXXmNVD0X0FYtsW919hQMkq3XHr4Id7NoOyv4V+6+YDUf2187S20"
    + "ET7eEsfe9vGWLzo/zfwI+7T4H4/8iGWw0o6BoH9NPwIiCIIg4oPbAOL11Rm3vgT9q4wf9EvmXAdD8AMAAAAASUVORK5CYII=", "#version 100\nprecision mediump float; attribute vec2 a_pos; varying vec2 v_pos; void main() { gl_Position = vec4(((v_pos = a_pos) - 0.5) * vec2(2.0, -2.0), 0.0, 1.0); }", "#version 300 es\nprecision mediump float; layout(location = 0) in vec2 a_pos; out vec2 v_pos; void main() { gl_Position = vec4(((v_pos = a_pos) - 0.5) * vec2(2.0, -2.0), 0.0, 1.0); }", "#version 100\nprecision mediump float; precision mediump sampler2D; varying vec2 v_pos; uniform sampler2D tex; uniform vec2 aspect; void main() { gl_FragColor = vec4(texture2D(tex, clamp(v_pos * aspect - ((aspect - 1.0) * 0.5), 0.02, 0.98)).rgb, 1.0); }",
    "#version 300 es\nprecision mediump float; precision mediump sampler2D; in vec2 v_pos; layout(location = 0) out vec4 fragColor; uniform sampler2D tex; uniform vec2 aspect; void main() { fragColor = vec4(textureLod(tex, clamp(v_pos * aspect - ((aspect - 1.0) * 0.5), 0.02, 0.98), 0.0).rgb, 1.0); }", "a_pos", "tex", "aspect", "iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAC4jAAAuIwF4pT92AAAEAklEQVR42u2dvXbjIBBG7T0+xw+gTp06v//LmE6dO/VR5a3wGZNh+BGSFeveJgkIBrDy8TGKds8/Pz/PExyW8/P55AY4MP9YgmNzmeeZVUABAA8AKADgAQAFADwAoACABwAUAPAAgAIAHgBQAMADAAoAeABAAY7LOI7fpQDX65VPtZCt18w5d7rdbigAbOgBxnE8DcPwJnnDMCTrNJlsUVcizTnj9HWxeVvINfN9y361OdTEk30551ZZt3PsvYDYxOSChoPQ6sJ21mRLBm61jY0lpy61gDKWNdfcNcv5wErWLbfPF88I9/s9WtayzopXS85YtPqcMeT23SqedV1pucal1V4iTUooV/IaWSfbWHU5JmkvpmzrsayaB9DqfJnVTpMff72sc869/WzVlcjjOI7mOOVYfBzfT05exLfT5pqae008a71L"
    + "y6tPASV79CfPylvFjpm+teLH+tXiF5nA2LOAUMpCibckWpPBUOJT20btFuDjyK8p+S45Z4fX+ti+LDb3pef62PosWbfkDbBW8mFPhB/gt8Vr7gG+kZK9+C/GM2+ArffnnKRHbT5gSdJoK0+ydrziGyCW115LolLxnHOr59q3lt89b6U8Czg4pgdI5bUtKY3VzfOclGBtTLVSmmqn1cdyC7Iud+5791KX1MLJDz3Mg2s59pK6sM/asdTmLrRx5pzjS+e+awWw9lstVeuv1/a10rqwT8sn5LQr8RzaMVfmKrR2qfnFjs57/puLS0nyoTZp0fL8XGq+ap8v4AES+3Msx74kN2/tmblewWoXPl9o+RykZH5/5hTQYv+y+vj084XcPHpJbHmt1s7yGbV1q+UBnHO/gnoZje2RmuzK/Vr2F3sWEF6TGkvutqH5CG08qTmk5u77tLyK5Qtq62rgxRA8AO8FHBkygQeHLQAFADwAoACABwAUAPAAgAIAHgBQAMAD"
    + "AAoAeABAAQAPACgA4AEABQA8AKAAgAcAFAC+3gNM03Tqum7VQSyN4dtvMdZDKcBWC9oqhr8JoIEHeDwep77vf5VJfL0vl9fLa/u+f+vPfx9eszSGNXZo5AH6vlcXW36gsqykrzViwAIPYL3r3nXd63v5m6i9J2+VaT8viWGNHZQbYE97+KdjHPIGKH0XPSyL7eXSjPk2YZlsN03Tq21OjLAs598ZggIT2MpMbW3IMICFN0Dsv4xpfUbfAvIAK9wAcOAtAMgDwJHzAIACAB4AUADAAwAKAHgAQAEADwAoAOABAAUAPACgAIAHABQA8ACAAgAeAFAAwAMACgB4AEABAA8AKADgAQAFADwAoACABwAUAPAAgAIAHgBQAMADAAoAeABAAQAPACgA4AEABQA8AKAAgAcAFADwANCe/0of1jQ8XY5YAAAAAElFTkSuQmCC", "assets/minecraft/lang/", ".mcmeta", "image/png", "Eaglercraft Beta 1.4_01",
    "EaglercraftXClient:", "EaglercraftXClientOld:", "epkInvalidFlag", "Failed to download one or more correct/valid files, attempting to bypass the browser\'s cache...", "Failed to download one or more correct/valid files, attempting to bypass the server\'s cache...", "blob:", "://", "http:", "https:", "<data: ", "Downloading: {}", "EPKVersionIdentifier.txt", "Version identifier file is missing from the EPK, expecting \"{}\"", "Nothing we can do about this, ignoring the invalid EPK version and setting invalid flag to true",
    "EPK version identifier \"{}\" does not match the expected identifier \"{}\"", " chars>", "Decompressing: {}", "Could not download EPK file \"{}\"", "Could not download EPK file \"", "Could not extract EPK file \"{}\"", "Could not extract EPK file \"", "&", "#", "eaglerCacheFix=", "?eaglerCacheFix=", "Using RAMDisk filesystem for database \"{}\", data will not be saved to local storage!", "Could not open IndexedDB filesystem: {}", "PlatformFilesystem", "..", "The filesystem has not been initialized yet!",
    "Relative paths are not allowed: ", "unnamed", "\\", "Could not initialize audio context!", "/assets/eagler/audioctx_test_ogg.dat", "Note: Using embedded JOrbis OGG decoder", "OGG file support detected as false! Using embedded JOrbis OGG decoder", "Missing AudioContext buffer from Float32Array support, attempting to use WAV files as a container to load raw PCM data", "/assets/eagler/audioctx_test_wav32f.dat", "Could not load a 32-bit floating point WAV file, trying to use 16-bit integers", "Audio context is missing some required features!",
    "/assets/eagler/audioctx_test_wav16.dat", "Could not load a 16-bit integer WAV file, this browser is not supported", "BrowserAudio", "DESKTOP", "LWJGL3", "CHROME", "Chrome", "EDGE", "Edge", "IE", "FIREFOX", "Firefox", "SAFARI", "Safari", "OPERA", "Opera", "WEBKIT", "WebKit", "GECKO", "Gecko", "UNKNOWN", "Unknown", "WINDOWS", "Windows", "MACOS", "MacOS", "LINUX", "Linux", "CHROMEBOOK_LINUX", "ChromeOS", "OTHER", "DEFAULT", "default", "Default", "D3D11", "Direct3D11", "OPENGL", "OpenGL", "OPENGLES", "opengles",
    "OpenGL ES", "METAL", "Metal", "VULKAN", "Vulkan", "/assets/eagler/glsl/gles2_compat.glsl", "#version 310 es", "Unsupported OpenGL ES version: ", "#version 300 es", "\n#define EAGLER_IS_GLES_300", "\n#define EAGLER_HAS_GLES_300", "\n#define EAGLER_HAS_GLES_200", "\n#extension GL_OES_gpu_shader5 : enable", "\n#extension GL_EXT_gpu_shader5 : enable", "\n#define EAGLER_IS_GLES_310", "\n#define EAGLER_HAS_GLES_310", "\n#define EAGLER_HAS_GLES_310_SHADER_5", "#version 100", "\n#extension GL_EXT_shader_texture_lod : enable",
    "\n#define EAGLER_IS_GLES_200", "\n#define EAGLER_HAS_GLES_200_SHADER_TEXTURE_LOD", "#define EAGLER_IS_VERTEX_SHADER\n", "#define EAGLER_IS_FRAGMENT_SHADER\n", "/assets/eagler/glsl/local.vsh", "precision highp float;\n", "Failed to compile GL_VERTEX_SHADER \"/assets/eagler/glsl/local.vsh\"!", "Vertex shader \"/assets/eagler/glsl/local.vsh\" could not be compiled!", "(\\r\\n|\\r|\\n)", "[VERT] {}", "/assets/eagler/glsl/accel_font.vsh", "/assets/eagler/glsl/accel_font.fsh", "precision lowp int;\nprecision highp float;\nprecision mediump sampler2D;\n",
    "Failed to compile GL_VERTEX_SHADER \"/assets/eagler/glsl/accel_font.vsh\" for InstancedFontRenderer!", "Failed to compile GL_FRAGMENT_SHADER \"/assets/eagler/glsl/accel_font.fsh\" for InstancedFontRenderer!", "Vertex shader \"/assets/eagler/glsl/accel_font.vsh\" could not be compiled!", "Fragment shader \"/assets/eagler/glsl/accel_font.fsh\" could not be compiled!", "Failed to link shader program for InstancedFontRenderer!", "[FRAG] {}", "u_matrixTransform", "u_charSize2f", "u_charCoordSize2f", "u_color4f",
    "u_colorBias4f", "u_inputTexture", "Shader program for InstancedFontRenderer could not be linked!", "[LINK] {}", "InstancedFontRenderer", "en", "CA", "fr", "zh", "CN", "FR", "de", "DE", "it", "IT", "ja", "JP", "ko", "KR", "TW", "GB", "US", "Slot ", " is already occupied by ", " when adding ", "tile.", ".name", "stone", "wood", "gravel", "grass", "cloth", "sand", "dirt", "stonebrick", "sapling", "bedrock", "water", "lava", "oreGold", "oreIron", "oreCoal", "log", "leaves", "sponge", "glass", "oreLapis", "blockLapis",
    "dispenser", "sandStone", "musicBlock", "bed", "flower", "rose", "mushroom", "blockGold", "blockIron", "stoneSlab", "brick", "tnt", "bookshelf", "stoneMoss", "obsidian", "torch", "fire", "mobSpawner", "stairsWood", "chest", "redstoneDust", "oreDiamond", "blockDiamond", "workbench", "crops", "farmland", "furnace", "sign", "doorWood", "ladder", "rail", "stairsStone", "lever", "pressurePlate", "doorIron", "oreRedstone", "notGate", "button", "snow", "ice", "cactus", "clay", "reeds", "jukebox", "fence", "pumpkin",
    "hellrock", "hellsand", "lightgem", "portal", "litpumpkin", "cake", "diode", "lockedchest", "charsetName is null", "Should never been thrown", "UTF-8", "crashReportShow", "TeaVMClientConfigAdapterHooks", " bytes]", "TAG_Byte", "TAG_Short", "TAG_Int", "TAG_Long", "TAG_Float", "TAG_Double", "TAG_Byte_Array", "TAG_String", "TAG_List", "TAG_Compound", "TAG_End", " entries of type ", "SHIM_CLASS_MAP", "Map", "SHIM_CLASS_WEAKMAP", "WeakMap", "SHIM_CLASS_SET", "Set", "SHIM_CLASS_WEAKSET", "WeakSet", "SHIM_CLASS_PROMISE",
    "Promise", "SHIM_STRING_FROM_CODE_POINT", "String.fromCodePoint", "SHIM_STRING_PROTO_CODE_POINT_AT", "String.prototype.codePointAt", "SHIM_STRING_PROTO_STARTS_WITH", "String.prototype.startsWith", "SHIM_STRING_PROTO_ENDS_WITH", "String.prototype.endsWith", "SHIM_STRING_PROTO_INCLUDES", "String.prototype.includes", "SHIM_STRING_PROTO_REPEAT", "String.prototype.repeat", "SHIM_ARRAY_PROTO_FILL", "Array.prototype.fill", "SHIM_OBJECT_IS", "Object.is", "SHIM_OBJECT_SET_PROTOTYPE_OF", "Object.setPrototypeOf", "SHIM_FUNCTION_NAME",
    "Function.prototype.name", "SHIM_MATH_SIGN", "Math.sign", "SHIM_FAKE_SYMBOL", "Symbol (sham)", "Tried to pass a ", " which is not a native eagler buffer", "Index out of range: ", "Unable to allocate array size: ", "Input array too big, the output array would be bigger (", ") than the specified maximum size of ", "lineSeparator must not contain base64 characters: [", "Impossible modulus ", "Strict decoding: Last encoded character (before the paddings if any) is a valid base 64 alphabet but not a possible encoding. Decoding requires at least two trailing 6-bit characters to create bytes.",
    "Strict decoding: Last encoded character (before the paddings if any) is a valid base 64 alphabet but not a possible encoding. Expected the discarded bits from the character to be zero.", "Width of the copied region must match thewidth of the pasted region", "Height of the copied region must match theheight of the pasted region", "(\\r\\n|\\n|\\r)", "UTF-16", "UTF-16BE", "UTF-16LE", "EPK file is incomplete", "EAGPKG$$", "Invalid EPK file type \'", "EPK file is missing EOF code (:::YEE:>)", "ver2.", "Unknown or invalid EPK version: ",
    "Invalid or unsupported EPK compression: ", "EPK missing END$ object", "Unexpected END when there are still ", "File \'", " files remaining", "\' did not have a file-type block as the first entry in the file", "file-type", "EPK is not of file-type \'epk/resources\'!", "epk/resources", "Object \'", "\' is incomplete", "\' has an invalid checksum", "Digit0", "Digit1", "Digit2", "Digit3", "Digit4", "Digit5", "Digit6", "Digit7", "Digit8", "Digit9", "KeyA", "KeyB", "KeyC", "KeyD", "KeyE", "KeyF", "KeyG", "KeyH",
    "KeyI", "KeyJ", "KeyK", "KeyL", "KeyM", "KeyN", "KeyO", "KeyP", "KeyQ", "KeyR", "KeyS", "KeyT", "KeyU", "KeyV", "KeyW", "KeyX", "KeyY", "KeyZ", "Comma", "Period", "Semicolon", "Quote", "BracketLeft", "BracketRight", "Backquote", "Backslash", "IntlBackslash", "Minus", "Equal", "Slash", "IntlRo", "IntlYen", "AltLeft", "AltRight", "CapsLock", "ControlLeft", "ControlRight", "MetaLeft", "MetaRight", "ShiftLeft", "ShiftRight", "ContextMenu", "Enter", "Space", "Backspace", "Tab", "Delete", "End", "Help", "Home",
    "Insert", "PageDown", "PageUp", "ArrowDown", "ArrowLeft", "ArrowRight", "ArrowUp", "Escape", "PrintScreen", "ScrollLock", "Pause", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", "F13", "F14", "F15", "F16", "F17", "F18", "F19", "F20", "F21", "F22", "F23", "F24", "NumLock", "Numpad0", "Numpad1", "Numpad2", "Numpad3", "Numpad4", "Numpad5", "Numpad6", "Numpad7", "Numpad8", "Numpad9", "NumpadAdd", "NumpadComma", "NumpadDecimal", "NumpadDivide", "NumpadEnter", "NumpadEqual", "NumpadMultiply",
    "NumpadSubtract", "Unidentified", "Failed to request fullscreen, it is not supported!", "Failed to exit fullscreen, it is not supported!", "Numpad", "VSync lockup detected! Attempting to recover...", "Async callback is null!", "Not enough memory to allocate buffers for rehashing: %,d -> %,d", "EAGLER_VSH_LAYOUT_BEGIN()", "Could not find \"EAGLER_VSH_LAYOUT_BEGIN()\" delimiter!", "EAGLER_VSH_LAYOUT_END()", "Could not find \"EAGLER_VSH_LAYOUT_END()\" delimiter!", "EAGLER_IN(", ")", "Loading deobfuscation data, please wait...",
    "Indexed {} class names and {} function names after {}ms", "Failed to initialize the tables!", "<unknown>", "()", "TeaVMRuntimeDeobfuscator", "offset ", " and length ", " are out of bounds for a ", " long arraybuffer", " array", "buffer size must be greater than 0", "Stream closed", "negative skip length", "footer is not found", "Unexpected end of ZLIB input stream", "_net_PeytonPlayz585_eaglercraft_internal_PlatformFilesystem_Beta_1.1_02_", "IDBDatabase is null!", "Failed to write ", " byte file to indexeddb table: ",
    "linux", "solaris", "windows", "macos", "step.", "random.glass", "step.gravel", "liquid.water", "random.fizz", "largesmoke", "random.click", "random.bow", "smoke", "harp", "bd", "snare", "hat", "bassattack", "note.", "note", "tile.bed.occupied", "tile.bed.noSleep", "cobble", "random.fuse", "flame", "fire.fire", "Large chest", "reddust", "Duplicate id: ", "x", "y", "z", "id", " is missing a mapping! This is a bug!", "Furnace", "Chest", "Trap", "Sign", "MobSpawner", "Music", "Text1", "Text2", "Text3", "Text4",
    "Text", "random.door_close", "random.door_open", "everything", "mobs", "players", "portal.portal", "CONFLICT @ ", "item.", "Max stack size must be 1 for items with crafting results", "shovelIron", "pickaxeIron", "hatchetIron", "flintAndSteel", "apple", "bow", "arrow", "coal", "emerald", "ingotIron", "ingotGold", "swordIron", "swordWood", "shovelWood", "pickaxeWood", "hatchetWood", "swordStone", "shovelStone", "pickaxeStone", "hatchetStone", "swordDiamond", "shovelDiamond", "pickaxeDiamond", "hatchetDiamond",
    "stick", "bowl", "mushroomStew", "swordGold", "shovelGold", "pickaxeGold", "hatchetGold", "feather", "sulphur", "hoeWood", "hoeStone", "hoeIron", "hoeDiamond", "hoeGold", "seeds", "wheat", "bread", "helmetCloth", "chestplateCloth", "leggingsCloth", "bootsCloth", "helmetChain", "chestplateChain", "leggingsChain", "bootsChain", "helmetIron", "chestplateIron", "leggingsIron", "bootsIron", "helmetDiamond", "chestplateDiamond", "leggingsDiamond", "bootsDiamond", "helmetGold", "chestplateGold", "leggingsGold",
    "bootsGold", "flint", "porkchopRaw", "porkchopCooked", "painting", "appleGold", "bucket", "bucketWater", "bucketLava", "minecart", "saddle", "redstone", "snowball", "boat", "leather", "milk", "paper", "book", "slimeball", "minecartChest", "minecartFurnace", "egg", "compass", "fishingRod", "clock", "yellowDust", "fishRaw", "fishCooked", "dyePowder", "bone", "sugar", "cookie", "13", "record", "cat", "Stats: ", "stat.useItem", "stat.breakItem", "stat.craftItem", "stat.startGame", "stat.createWorld", "stat.loadWorld",
    "stat.joinMultiplayer", "stat.leaveGame", "stat.playOneMinute", "stat.walkOneCm", "stat.swimOneCm", "stat.fallOneCm", "stat.climbOneCm", "stat.flyOneCm", "stat.diveOneCm", "stat.jump", "stat.drop", "stat.damageDealt", "stat.damageTaken", "stat.deaths", "stat.mobKills", "stat.playerKills", "stat.fishCaught", "stat.mineBlock", "Patter is null", "US-ASCII", "ISO-8859-1", "window.indexedDB was null or undefined", "database open request was null or undefined", "readonly", "readwrite", "ERA=", "YEAR=", "MONTH=",
    "WEEK_OF_YEAR=", "WEEK_OF_MONTH=", "DAY_OF_MONTH=", "DAY_OF_YEAR=", "DAY_OF_WEEK=", "DAY_OF_WEEK_IN_MONTH=", "AM_PM=", "HOUR=", "HOUR_OF_DAY", "MINUTE=", "SECOND=", "MILLISECOND=", "ZONE_OFFSET=", "DST_OFFSET=", "Caught an error decoding data URL via XHR, doing it the slow way instead...", "Failed to manually decode data URL!", "Caught an error decoding data URL via fetch, doing it the slow way instead...", "New position ", " is outside of range [0;", "Capacity is negative: ", "The last byte in dst ", "Length ",
    "Offset ", " is outside of array of size ", " must be non-negative", "The last byte in src ", "Could not load audio: {}", "Number of elements must be >= 0: ", "Maximum array size exceeded for this load factor (elements: %d, load factor: %f)", "The load factor should be in range [%.2f, %.2f]: %f", "001", "WOOD", "STONE", "IRON", "EMERALD", "GOLD", "fire.ignite", "item.coal", "item.charcoal", "black", "red", "green", "brown", "blue", "purple", "cyan", "silver", "gray", "pink", "lime", "yellow", "lightBlue",
    "magenta", "orange", "white", "Duplicate stat id: ", " and ", " at id ", "########0.00", "###", "#X#", "XXX", "##", "X#X", "# #", " X ", "AAA", "BEB", "CCC", "X", " # ", "X X", "A", "B", "A ", " B", "#  ", "## ", "  #", " #X", "# X", "III", "#R#", " recipes", "Invalid shapeless recipy!", "Count", "Damage", ";base64,", "The last char in dst ", "Start ", "The last char in src ", " is outside of string of size ", " must be before end ", "database locked", "open error", "path", "STRICT", "LENIANT", "fSet", "Is",
    "In", "GMT", "/lang/en_US.lang", "/lang/stats_US.lang", "This exception should not been thrown", "Currency not found: ", "Positive number pattern not found in ", "Expected \';\' at ", " in ", "NonCapFSet", "AheadFSet", "BehindFSet", "AtomicFSet", "FinalSet", "<Empty set>", "JointSet", "NonCapJointSet", "PosLookaheadJointSet", "NegLookaheadJointSet", "PosBehindJointSet", "NegBehindJointSet", "BIG_ENDIAN", "LITTLE_ENDIAN", "XX", "X#", " #", "Y", "<Quant>", "<GroupQuant>", "Id must not be null", "Unknown zone type: ",
    "posFSet", " ", "^ ", "range:", "CompositeRangeSet:  <nonsurrogate> ", " <surrogate> ", "UCI range:", "decomposed Hangul syllable:", "UCI ", "CI ", "decomposed char:", "<DotAllQuant>", "<DotQuant>", "<SOL>", "WordBoundary", "PreviousMatch", "<EOL>", "EOI", "^", "DotAll", "<Unix MultiLine $>", "<MultiLine $>", "CI back reference: ", "back reference: ", "UCI back reference: ", "sequence: ", "UCI sequence: ", "CI sequence: ", "Invalid Unicode sequence: expected format \\uxxxx", "Invalid Unicode sequence: illegal character",
    "UP", "DOWN", "CEILING", "FLOOR", "HALF_UP", "HALF_DOWN", "HALF_EVEN", "UNNECESSARY", "Lower", "Upper", "ASCII", "Alpha", "Digit", "Alnum", "Punct", "Graph", "Print", "Blank", "Cntrl", "XDigit", "javaLowerCase", "javaUpperCase", "javaWhitespace", "javaMirrored", "javaDefined", "javaDigit", "javaIdentifierIgnorable", "javaISOControl", "javaJavaIdentifierPart", "javaJavaIdentifierStart", "javaLetter", "javaLetterOrDigit", "javaSpaceChar", "javaTitleCase", "javaUnicodeIdentifierPart", "javaUnicodeIdentifierStart",
    "w", "W", "s", "S", "d", "D", "BasicLatin", "Latin-1Supplement", "LatinExtended-A", "LatinExtended-B", "IPAExtensions", "SpacingModifierLetters", "CombiningDiacriticalMarks", "Greek", "Cyrillic", "CyrillicSupplement", "Armenian", "Hebrew", "Arabic", "Syriac", "ArabicSupplement", "Thaana", "Devanagari", "Bengali", "Gurmukhi", "Gujarati", "Oriya", "Tamil", "Telugu", "Kannada", "Malayalam", "Sinhala", "Thai", "Lao", "Tibetan", "Myanmar", "Georgian", "HangulJamo", "Ethiopic", "EthiopicSupplement", "Cherokee",
    "UnifiedCanadianAboriginalSyllabics", "Ogham", "Runic", "Tagalog", "Hanunoo", "Buhid", "Tagbanwa", "Khmer", "Mongolian", "Limbu", "TaiLe", "NewTaiLue", "KhmerSymbols", "Buginese", "PhoneticExtensions", "PhoneticExtensionsSupplement", "CombiningDiacriticalMarksSupplement", "LatinExtendedAdditional", "GreekExtended", "GeneralPunctuation", "SuperscriptsandSubscripts", "CurrencySymbols", "CombiningMarksforSymbols", "LetterlikeSymbols", "NumberForms", "Arrows", "MathematicalOperators", "MiscellaneousTechnical",
    "ControlPictures", "OpticalCharacterRecognition", "EnclosedAlphanumerics", "BoxDrawing", "BlockElements", "GeometricShapes", "MiscellaneousSymbols", "Dingbats", "MiscellaneousMathematicalSymbols-A", "SupplementalArrows-A", "BraillePatterns", "SupplementalArrows-B", "MiscellaneousMathematicalSymbols-B", "SupplementalMathematicalOperators", "MiscellaneousSymbolsandArrows", "Glagolitic", "Coptic", "GeorgianSupplement", "Tifinagh", "EthiopicExtended", "SupplementalPunctuation", "CJKRadicalsSupplement", "KangxiRadicals",
    "IdeographicDescriptionCharacters", "CJKSymbolsandPunctuation", "Hiragana", "Katakana", "Bopomofo", "HangulCompatibilityJamo", "Kanbun", "BopomofoExtended", "CJKStrokes", "KatakanaPhoneticExtensions", "EnclosedCJKLettersandMonths", "CJKCompatibility", "CJKUnifiedIdeographsExtensionA", "YijingHexagramSymbols", "CJKUnifiedIdeographs", "YiSyllables", "YiRadicals", "ModifierToneLetters", "SylotiNagri", "HangulSyllables", "HighSurrogates", "HighPrivateUseSurrogates", "LowSurrogates", "PrivateUseArea", "CJKCompatibilityIdeographs",
    "AlphabeticPresentationForms", "ArabicPresentationForms-A", "VariationSelectors", "VerticalForms", "CombiningHalfMarks", "CJKCompatibilityForms", "SmallFormVariants", "ArabicPresentationForms-B", "HalfwidthandFullwidthForms", "all", "Specials", "Cn", "IsL", "Lu", "Ll", "Lt", "Lm", "Lo", "IsM", "Mn", "Me", "Mc", "N", "Nd", "Nl", "No", "IsZ", "Zs", "Zl", "Zp", "IsC", "Cc", "Cf", "Co", "Cs", "IsP", "Pd", "Ps", "Pe", "Pc", "Po", "IsS", "Sm", "Sc", "Sk", "So", "Pi", "Pf", "GMT+00:00", ":", "00", "Unknown mode: ",
    "IGNORE", "REPLACE", "REPORT", "box[", " -> ", "Only GL_GREATER alphaFunc is supported", "Only 2D texture types are supported!", "GL_PROJECTION matrix stack underflow! Called GlStateManager.popMatrix on an empty matrix stack", "GL_MODELVIEW matrix stack underflow! Called GlStateManager.popMatrix on an empty matrix stack", " matrix stack underflow!  Called GlStateManager.popMatrix on an empty matrix stack", "glGetFloat can only be used to retrieve matricies!", "/lvl", "Failed to load world data for \'", "/lvl\'",
    "Saving chunks", "C418 - ", "Now playing: ", "All: ", "More than ", " updates, aborting lighting updates", "ambient.cave.cave", "TickNextTick list out of synch", "key.forward", "key.left", "key.back", "key.right", "key.jump", "key.inventory", "key.drop", "key.chat", "key.fog", "key.sneak", "options.txt", "options.off", "options.sensitivity.min", "options.sensitivity.max", "options.graphics.fast", "options.graphics.fancy", "options.on", "Failed to load options", "music", "sound", "mouseSensitivity", "invertYMouse",
    "viewDistance", "guiScale", "bobView", "anaglyph3d", "limitFramerate", "difficulty", "fancyGraphics", "ao", "skin", "lastServer", "key_", "Failed to save options", "music:", "sound:", "invertYMouse:", "mouseSensitivity:", "viewDistance:", "guiScale:", "bobView:", "anaglyph3d:", "limitFramerate:", "difficulty:", "fancyGraphics:", "ao:", "skin:", "lastServer:", "options.renderDistance.far", "options.renderDistance.normal", "options.renderDistance.short", "options.renderDistance.tiny", "options.difficulty.peaceful",
    "options.difficulty.easy", "options.difficulty.normal", "options.difficulty.hard", "options.guiScale.auto", "options.guiScale.small", "options.guiScale.normal", "options.guiScale.large", "Duplicate keyboardEaglerToGLFW entry: ", "Duplicate keyboardGLFWToEagler entry: ", "Duplicate keyboardEaglerToBrowser entry: ", "Duplicate keyboardBrowserToEagler entry: ", "Duplicate keyboardNames entry: ", "Duplicate keyboardChars entry: ", "(0)", ") -> ", "(0) -> ", "Duplicate (alt) keyboardBrowserToEagler entry: ",
    "1", "2", "3", "4", "5", "6", "7", "8", "9", "Equals", "C", "E", "F", "G", "H", "I", "J", "K", "L", "M", "O", "P", "Q", "R", "T", "U", "V", "Z", "L. Bracket", "R. Bracket", "Backtick", "Right", "Left", "Down", "Up", "Page Up", "Page Down", "Caps Lock", "Scroll Lock", "Num Lock", "Keypad 0", "Keypad 1", "Keypad 2", "Keypad 3", "Keypad 4", "Keypad 5", "Keypad 6", "Keypad 7", "Keypad 8", "Keypad 9", "Decimal", "Divide", "Multiply", "Subtract", "Add", "L. Shift", "L. Control", "L. Alt", "R. Shift", "R. Control",
    "R. Alt", "Back to title screen", "Level save conflict", "Minecraft detected a conflict in the level save data.", "This could be caused by two copies of the game", "accessing the same level.", "To prevent level corruption, the current game has quit.", "need dictionary", "unknown compression method", "unknown header flags set", "incorrect data check", "incorrect length check", "incorrect header check", "invalid window size", "bad extra field length", "header crc mismatch", "Prefix contains special character at ",
    "Quote opened at ", " was not closed in ", "Group separator found at fractional part at ", "Unexpected second decimal separator at ", "Unexpected \'0\' at optional digit part at ", "Unexpected char at exponent at ", "Pattern does not specify exponent digits at ", "Unexpected \'#\' at non-optional digit part at ", "Two group separators at ", "Pattern does not specify integer digits at ", "Group separator at the end of number at ", "Stream is closed", "newAction must be non-null", "WorldRenderer already building you eagler!",
    "Wrong number of repetitions of X pattern at ", " [ILLEGAL FORMAT, ARGS SUPPRESSED]", "/achievement/map.txt", "achievement.openInventory", "achievement.mineWood", "achievement.buildWorkBench", "Action must be non-null", "Needed to grow WorldRenderer buffer: Old size ", " bytes, new size ", " bytes.", "Not building!", "WorldRenderer", "Inconsistent vertex format in display list (only one is allowed)", "Inconsistent draw mode in display list (only one is allowed)", "�", "averageCharsPerByte must be positive. Actual value is ",
    "maxCharsPerByte must be positive. Actual value is ", "random.splash", "bubble", "splash", "Pos", "Motion", "Rotation", "FallDistance", "Fire", "Air", "OnGround", "/mob/char.png", "explode", "random.hurt", "Health", "HurtTime", "DeathTime", "AttackTime", "Desktop", "JAVASCRIPT", "HTML5", "WASM_GC", "WASM-GC", "file \'", "It will be kept for future recovery", "/lvl\' does not contain an NBTTagCompound", "LevelName", "!!", "%clamp%", "%blur%", "0123456789abcdefklmnor", "/sprite_sheet/compass.png", "/sprite_sheet/clock.png",
    "/terrain/sun.png", "/terrain/moon.png", "/environment/clouds.png", "snowballpoof", "slime", "heart", "/particles.png", "adding skin ", "ps", "cs", "name", "skins", "Yeeish", "Yee", "Yeer", "Yeeler", "Eagler", "Eagl", "Darver", "Darvler", "Vool", "Vigg", "Deev", "Yigg", "Yeeg", "/skins/01.default_steve.png", "/skins/02.tennis_steve.png", "/skins/03.tuxedo_steve.png", "/skins/04.athlete_steve.png", "/skins/05.cyclist_steve.png", "/skins/06.boxer_steve.png", "/skins/07.prisoner_steve.png", "/skins/08.scottish_steve.png",
    "/skins/09.dev_steve.png", "/skins/10.herobrine.png", "/skins/11.slime.png", "/skins/12.trump.png", "/skins/13.notch.png", "/skins/14.creeper.png", "/skins/15.zombie.png", "/skins/16.pig.png", "/skins/17.squid.png", "/skins/18.mooshroom.png", "/gui/gui.png", "/gui/icons.png", "Minecraft Beta 1.4_01", "Minecraft Beta 1.4_01 (", "Used memory: ", "% (", "MB) of ", "MB", "Allocated memory: ", "MB)", "x: ", "y: ", "z: ", "%blur%/misc/pumpkinblur.png", "%blur%/misc/vignette.png", "Edit Profile", "profile.title",
    "gui.done", "profile.addSkin", "profile.clearSkin", "profile.screenname", "profile.playerSkin", "png", ".png", ".jpg", ".jpeg", ".gif", "image/gif", ".bmp", "image/bmp", "image/jpeg", "what the fuck??", "Default Steve", "Tennis Steve", "Tuxedo Steve", "Athlete Steve", "Cyclist Steve", "Boxer Steve", "Prisoner Steve", "Scottish Steve", "Developer Steve", "Herobrine", "Slime", "Trump", "Notch", "Creeper", "Zombie", "Pig", "Squid", "Mooshroom", "missingno", "Darviglet!", "eaglerenophile!", "You Eagler!", "Yeeeeeee!",
    "yeee", "EEEEEEEEE!", "You Darvig!", "You Vigg!", ":>", "|>", "You Yumpster!", "Poincare", "Socket", "MiG Mad Marine", "Wild Weasel", "YGBSM", "Union Aerospace Corporation", "Merry X-mas!", "menu.singleplayer", "menu.multiplayer", "menu.mods", "menu.options", "Happy new year!", "Select world", "/title/mclogo.png", "Eaglercraft 25w21b", "site resources are", "copyright 2010 Mojang AB", "ws://", "wss://", "websocket state ", "fuck", "connect.failed", "disconnect.genericReason", "Connection timed out", "Could not open WebSocket to \"{}\"!",
    "opened socket on ", "Connection Refused!", "Could not open websocket to\"", "\"!", "gui.cancel", "disconnect.closed", "connect.authorizing", "connect.connecting", "ChunkCache: ", "humanoid", "Inventory", "Slot", "Dimension", "Sleeping", "SleepTimer", "SpawnX", "SpawnY", "SpawnZ", "SPSkin", "portal.trigger", "portal.travel", "Score", "Edit sign message:", "MUSIC", "options.music", "SOUND", "options.sound", "INVERT_MOUSE", "options.invertMouse", "SENSITIVITY", "options.sensitivity", "RENDER_DISTANCE", "options.renderDistance",
    "VIEW_BOBBING", "options.viewBobbing", "ANAGLYPH", "options.anaglyph", "LIMIT_FRAMERATE", "options.limitFramerate", "DIFFICULTY", "options.difficulty", "GRAPHICS", "options.graphics", "AMBIENT_OCCLUSION", "options.ao", "GUI_SCALE", "options.guiScale", "Crafting", "/gui/inventory.png", "_", "> ", "multiplayer.stopSleeping", "Respawn", "Title menu", "Game over!", "Score: &e", "invalid stored block lengths", "invalid block type", "too many length or distance symbols", "invalid bit length repeat", "Replacement preconditions do not hold",
    "Caught exception while invoking eaglercraftXOpts \"{}\" hook!", "The default look of Minecraft", "/pack.png", "disconnect.timeout", "disconnect.endOfStream", "disconnect.lost", "TILE", "ENTITY", "oversubscribed dynamic bit lengths tree", "incomplete dynamic bit lengths tree", "oversubscribed distance tree", "incomplete distance tree", "empty distance tree with lengths", "oversubscribed literal/length tree", "incomplete literal/length tree", "invalid distance code", "invalid literal/length code", "/assets/eagler/glsl/core.vsh",
    "/assets/eagler/glsl/core.fsh", "#define COMPILE_TEXTURE_ATTRIB\n", "#define COMPILE_COLOR_ATTRIB\n", "#define COMPILE_NORMAL_ATTRIB\n", "#define COMPILE_LIGHTMAP_ATTRIB\n", "#define COMPILE_ENABLE_TEXTURE2D\n", "#define COMPILE_ENABLE_LIGHTMAP\n", "#define COMPILE_ENABLE_ALPHA_TEST\n", "#define COMPILE_ENABLE_MC_LIGHTING\n", "#define COMPILE_ENABLE_TEX_GEN\n", "#define COMPILE_ENABLE_ANISOTROPIC_FIX\n", "#define COMPILE_ENABLE_FOG\n", "#define COMPILE_BLEND_ADD\n", "precision lowp int;\n", "precision mediump sampler2D;\n\n",
    "Failed to compile GL_VERTEX_SHADER for state {} !", "Failed to compile GL_FRAGMENT_SHADER for state {} !", " ext ", "Vertex shader could not be compiled!", "Fragment shader could not be compiled!", "a_position3f", "a_color4f", "a_texture2f", "a_normal4f", "a_lightmap2f", "Program could not be linked for state {} !", "Program could not be linked!", "u_alphaTestRef1f", "u_lightsEnabled1i", "u_lightsDirections4fv[", "u_lightsAmbient3f", "u_uniformNormal3f", "u_fogParameters4f", "u_fogColor4f", "u_texGenPlane4i",
    "u_texGenS4f", "u_texGenT4f", "u_texGenR4f", "u_texGenQ4f", "u_modelviewMat4f", "u_projectionMat4f", "u_modelviewProjMat4f", "u_textureMat4f02", "u_textureCoords01", "u_textureCoords02", "u_textureAnisotropicFix", "u_colorBlendSrc4f", "u_colorBlendAdd4f", "u_textureMat4f01", "u_samplerTexture", "u_samplerLightmap", "FixedFunctionPipeline", "%clamp%/misc/shadow.png", "Connection closed", "Internal exception: ", "/font.txt", "/mob/spider.png", "mob.spider", "mob.spiderdeath", "deadmau5", "/mob/spider_eyes.png",
    "/mob/pig.png", "Saddle", "mob.pig", "mob.pigdeath", "/mob/saddle.png", "/mob/sheep.png", "Sheared", "Color", "mob.sheep", "/mob/sheep_fur.png", "/mob/cow.png", "mob.cow", "mob.cowhurt", "/mob/wolf.png", "/mob/wolf_tame.png", "/mob/wolf_angry.png", "Angry", "Sitting", "Owner", "mob.wolf.growl", "mob.wolf.bark", "mob.wolf.whine", "mob.wolf.panting", "mob.wolf.hurt", "mob.wolf.death", "mob.wolf.shake", "/mob/chicken.png", "mob.chickenplop", "mob.chicken", "mob.chickenhurt", "/mob/creeper.png", "mob.creeper",
    "mob.creeperdeath", "/mob/skeleton.png", "mob.skeleton", "mob.skeletonhurt", "/mob/zombie.png", "mob.zombie", "mob.zombiehurt", "mob.zombiedeath", "/mob/slime.png", "Size", "mob.slime", "mob.slimeattack", "/armor/", "MPSkin", "chain", "iron", "diamond", "gold", "/mob/ghast.png", "/mob/ghast_fire.png", "mob.ghast.charge", "mob.ghast.fireball", "mob.ghast.moan", "mob.ghast.scream", "mob.ghast.death", "/mob/squid.png", "Dir", "Motive", "TileX", "TileY", "TileZ", "/art/kz.png", "random.drr", "xTile", "yTile",
    "zTile", "inTile", "shake", "inGround", "random.pop", "/item/arrows.png", "Age", "Item", "Fuse", "Tile", "Animating hurt", "Type", "PushX", "Items", "PushZ", "Fuel", "Minecart", "/item/cart.png", "/item/boat.png", "Negative initial size: ", "Color parameter outside of expected range:", " Red", " Green", " Blue", "Save and quit to title", "Disconnect", "Back to game", "Options...", "Game menu", "Saving level..", "Can\'t convert code point ", " to char", "0x", "+ ", "0-", "Missing format with for specifier ",
    "--#+ 0,(<", "Illegal format flags ", " for conversion ", "Duplicate format flags: ", "Please enter the text to paste:", "Exception getting clipboard data", "UTF Error", "Data value id is too big with ", "Unknown data type: ", "Duplicate id value for ", "! (Max is 31)", "Could not write stream contents to file!", "Writer already closed", "Duplicate packet id:", "Duplicate packet class:", "Skipping packet with id ", "Reached end of stream", "Bad packet id ", "Unknown format conversion: ", "Illegal precision: ",
    "Can\'t format argument of ", " using ", " conversion", "/item/sign.png", " <", "EntityId", "Delay", "Illegal format flags: ", "MpServer", "Password", "http://s3.amazonaws.com/MinecraftSkins/", "Skipping Entity with id ", "Bad compressed data format", "disconnect.kicked", "disconnect.disconnected", "Options", "options.title", "options.video", "options.controls", "Video Settings", "Controls", "selectWorld.title", "selectWorld.world", "selectWorld.conversion", "selectWorld.select", "selectWorld.rename", "selectWorld.delete",
    "selectWorld.create", "lvl", "selectWorld.deleteQuestion", "selectWorld.deleteWarning", "\' ", "selectWorld.deleteButton", "World", "multiplayer.connect", "connecting to server ", "multiplayer.title", "multiplayer.info1", "multiplayer.info2", "multiplayer.ipinfo", "texturePack.openFolder", "texturePack.title", "texturePack.folderInfo", "Wrong location! ", "Attempted to place a tile entity where there was no entity tile!", "/misc/grasscolor.png", "/misc/foliagecolor.png", "[{}]: Invalid header detected",
    "[{}]: Number of channels in header does not match the stream", "[{}]: Invalid length for WAV calculated", "[{}]: Empty file", ".wav", "[{}]: Problem with first Ogg header page in method \'readHeader\'.", "[{}]: Ogg header not recognized in method \'readHeader\'.", "[{}]: Problem with first Ogg header packet in method \'readHeader\'.", "[{}]: File does not contain Vorbis header in method \'readHeader\'.", "[{}]: End of file reached before finished reading Ogg header in method \'readHeader\'", "[{}]: Secondary Ogg header corrupt in method \'readHeader\'.",
    "JOrbisAudioBufferDecoder", "BurnTime", "CookTime", "vorbis", "Buffer was the wrong size! ", " remaining", "Xiphophorus libVorbis I 20000508", "Malformed input of length ", "Unmappable characters of length ", "CLOSED", "CONNECTING", "CONNECTED", "FAILED", "PlatformNetworking", "gui.toMenu", "options.videoTitle", "controls.title", "selectWorld.newWorld", "selectWorld.enterName", "selectWorld.resultFolder", "selectWorld.enterSeed", "selectWorld.seedInfo", "selectWorld.renameButton", "selectWorld.renameTitle",
    " (", " MB)", "/gui/unknown_pack.png", "RandomSeed", "Time", "LastPlayed", "SizeOnDisk", "version", "Player", "Kebab", "Aztec", "Alban", "Aztec2", "Bomb", "Plant", "Wasteland", "Pool", "Courbet", "Sea", "Sunset", "Creebet", "Wanderer", "Graham", "Match", "Bust", "Stage", "Void", "SkullAndRoses", "Fighters", "Pointer", "Pigscene", "BurningSkull", "Skeleton", "DonkeyKong", "OK", "NOT_POSSIBLE_HERE", "NOT_POSSIBLE_NOW", "TOO_FAR_AWAY", "OTHER_PROBLEM", "/c0", "/c1", "Failed to serialize world data for \'",
    "Light too large, skipping!", "PRESET", "CUSTOM_LEGACY", "Quitting", "Rainforest", "Swampland", "Seasonal Forest", "Forest", "Savanna", "Shrubland", "Taiga", "Desert", "Plains", "Ice Desert", "Tundra", "Hell", "monster", "creature", "waterCreature", "OW KNOWS!", "Corrupt chunk \'", "xPos", "zPos", "The chunk file \'", "\' was found at: [", "The file will be deleted", "\' was supposed to be at [", "], but the file contained a chunk from [", "]. It\'s data will be moved to file \'", "\', and a new empty chunk will be created for file \'",
    "\' for [", "LastUpdate", "Blocks", "Data", "SkyLight", "BlockLight", "HeightMap", "TerrainPopulated", "Entities", "TileEntities", "Failed to serialize chunk at [", "] to byte array", "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", "Skipping TileEntity with id ", "Error occurred: ", "Dispenser", "/gui/trap.png", "/gui/container.png", "/gui/crafting.png", "/gui/furnace.png", "Arrow", "Snowball", "Painting", "Monster", "Spider", "Giant", "Ghast", "PigZombie", "Sheep", "Cow", "Chicken", "Wolf", "PrimedTnt", "FallingSand",
    "Boat", "Sky", "Block", "added a chest!!", "/mob/pigzombie.png", "mob.zombiepig.zpigangry", "Anger", "mob.zombiepig.zpig", "mob.zombiepig.zpighurt", "mob.zombiepig.zpigdeath", "random.explode", "multiplayer.downloadingTerrain", "Teleporting to ", "MultiplayerChunkCache: ", "iterator loop break request", "Done"]);
    jl_String.prototype.toString = function() {
        return $rt_ustr(this);
    };
    jl_String.prototype.valueOf = jl_String.prototype.toString;
    jl_Object.prototype.toString = function() {
        return $rt_ustr(jl_Object_toString(this));
    };
    jl_Object.prototype.__teavm_class__ = function() {
        return $dbg_class(this);
    };
    var Long_eq;
    var Long_ne;
    var Long_gt;
    var Long_ge;
    var Long_lt;
    var Long_le;
    var Long_compare;
    var Long_ucompare;
    var Long_add;
    var Long_sub;
    var Long_inc;
    var Long_dec;
    var Long_mul;
    var Long_div;
    var Long_rem;
    var Long_udiv;
    var Long_urem;
    var Long_neg;
    var Long_and;
    var Long_or;
    var Long_xor;
    var Long_shl;
    var Long_shr;
    var Long_shru;
    var Long_not;
    if (typeof $rt_globals.BigInt !== 'function') {
        Long_eq = function(a, b) {
            return a.hi === b.hi && a.lo === b.lo;
        };
        Long_ne = function(a, b) {
            return a.hi !== b.hi || a.lo !== b.lo;
        };
        Long_gt = function(a, b) {
            if (a.hi < b.hi) {
                return false;
            }
            if (a.hi > b.hi) {
                return true;
            }
            var x = a.lo >>> 1;
            var y = b.lo >>> 1;
            if (x !== y) {
                return x > y;
            }
            return (a.lo & 1) > (b.lo & 1);
        };
        Long_ge = function(a, b) {
            if (a.hi < b.hi) {
                return false;
            }
            if (a.hi > b.hi) {
                return true;
            }
            var x = a.lo >>> 1;
            var y = b.lo >>> 1;
            if (x !== y) {
                return x >= y;
            }
            return (a.lo & 1) >= (b.lo & 1);
        };
        Long_lt = function(a, b) {
            if (a.hi > b.hi) {
                return false;
            }
            if (a.hi < b.hi) {
                return true;
            }
            var x = a.lo >>> 1;
            var y = b.lo >>> 1;
            if (x !== y) {
                return x < y;
            }
            return (a.lo & 1) < (b.lo & 1);
        };
        Long_le = function(a, b) {
            if (a.hi > b.hi) {
                return false;
            }
            if (a.hi < b.hi) {
                return true;
            }
            var x = a.lo >>> 1;
            var y = b.lo >>> 1;
            if (x !== y) {
                return x <= y;
            }
            return (a.lo & 1) <= (b.lo & 1);
        };
        Long_add = function(a, b) {
            if (a.hi === a.lo >> 31 && b.hi === b.lo >> 31) {
                return Long_fromNumber(a.lo + b.lo);
            } else if ($rt_globals.Math.abs(a.hi) < Long_MAX_NORMAL && $rt_globals.Math.abs(b.hi) < Long_MAX_NORMAL) {
                return Long_fromNumber(Long_toNumber(a) + Long_toNumber(b));
            }
            var a_lolo = a.lo & 0xFFFF;
            var a_lohi = a.lo >>> 16;
            var a_hilo = a.hi & 0xFFFF;
            var a_hihi = a.hi >>> 16;
            var b_lolo = b.lo & 0xFFFF;
            var b_lohi = b.lo >>> 16;
            var b_hilo = b.hi & 0xFFFF;
            var b_hihi = b.hi >>> 16;
            var lolo = a_lolo + b_lolo | 0;
            var lohi = a_lohi + b_lohi + (lolo >> 16) | 0;
            var hilo = a_hilo + b_hilo + (lohi >> 16) | 0;
            var hihi = a_hihi + b_hihi + (hilo >> 16) | 0;
            return new Long(lolo & 0xFFFF | (lohi & 0xFFFF) << 16, hilo & 0xFFFF | (hihi & 0xFFFF) << 16);
        };
        Long_inc = function(a) {
            var lo = a.lo + 1 | 0;
            var hi = a.hi;
            if (lo === 0) {
                hi = hi + 1 | 0;
            }
            return new Long(lo, hi);
        };
        Long_dec = function(a) {
            var lo = a.lo - 1 | 0;
            var hi = a.hi;
            if (lo ===  -1) {
                hi = hi - 1 | 0;
            }
            return new Long(lo, hi);
        };
        Long_neg = function(a) {
            return Long_inc(new Long(a.lo ^ 0xFFFFFFFF, a.hi ^ 0xFFFFFFFF));
        };
        Long_sub = function(a, b) {
            if (a.hi === a.lo >> 31 && b.hi === b.lo >> 31) {
                return Long_fromNumber(a.lo - b.lo);
            }
            var a_lolo = a.lo & 0xFFFF;
            var a_lohi = a.lo >>> 16;
            var a_hilo = a.hi & 0xFFFF;
            var a_hihi = a.hi >>> 16;
            var b_lolo = b.lo & 0xFFFF;
            var b_lohi = b.lo >>> 16;
            var b_hilo = b.hi & 0xFFFF;
            var b_hihi = b.hi >>> 16;
            var lolo = a_lolo - b_lolo | 0;
            var lohi = a_lohi - b_lohi + (lolo >> 16) | 0;
            var hilo = a_hilo - b_hilo + (lohi >> 16) | 0;
            var hihi = a_hihi - b_hihi + (hilo >> 16) | 0;
            return new Long(lolo & 0xFFFF | (lohi & 0xFFFF) << 16, hilo & 0xFFFF | (hihi & 0xFFFF) << 16);
        };
        Long_compare = function(a, b) {
            var r = a.hi - b.hi;
            if (r !== 0) {
                return r;
            }
            r = (a.lo >>> 1) - (b.lo >>> 1);
            if (r !== 0) {
                return r;
            }
            return (a.lo & 1) - (b.lo & 1);
        };
        Long_ucompare = function(a, b) {
            var r = $rt_ucmp(a.hi, b.hi);
            if (r !== 0) {
                return r;
            }
            r = (a.lo >>> 1) - (b.lo >>> 1);
            if (r !== 0) {
                return r;
            }
            return (a.lo & 1) - (b.lo & 1);
        };
        Long_mul = function(a, b) {
            var positive = Long_isNegative(a) === Long_isNegative(b);
            if (Long_isNegative(a)) {
                a = Long_neg(a);
            }
            if (Long_isNegative(b)) {
                b = Long_neg(b);
            }
            var a_lolo = a.lo & 0xFFFF;
            var a_lohi = a.lo >>> 16;
            var a_hilo = a.hi & 0xFFFF;
            var a_hihi = a.hi >>> 16;
            var b_lolo = b.lo & 0xFFFF;
            var b_lohi = b.lo >>> 16;
            var b_hilo = b.hi & 0xFFFF;
            var b_hihi = b.hi >>> 16;
            var lolo = 0;
            var lohi = 0;
            var hilo = 0;
            var hihi = 0;
            lolo = a_lolo * b_lolo | 0;
            lohi = lolo >>> 16;
            lohi = (lohi & 0xFFFF) + a_lohi * b_lolo | 0;
            hilo = hilo + (lohi >>> 16) | 0;
            lohi = (lohi & 0xFFFF) + a_lolo * b_lohi | 0;
            hilo = hilo + (lohi >>> 16) | 0;
            hihi = hilo >>> 16;
            hilo = (hilo & 0xFFFF) + a_hilo * b_lolo | 0;
            hihi = hihi + (hilo >>> 16) | 0;
            hilo = (hilo & 0xFFFF) + a_lohi * b_lohi | 0;
            hihi = hihi + (hilo >>> 16) | 0;
            hilo = (hilo & 0xFFFF) + a_lolo * b_hilo | 0;
            hihi = hihi + (hilo >>> 16) | 0;
            hihi = hihi + a_hihi * b_lolo + a_hilo * b_lohi + a_lohi * b_hilo + a_lolo * b_hihi | 0;
            var result = new Long(lolo & 0xFFFF | lohi << 16, hilo & 0xFFFF | hihi << 16);
            return positive ? result : Long_neg(result);
        };
        Long_div = function(a, b) {
            if ($rt_globals.Math.abs(a.hi) < Long_MAX_NORMAL && $rt_globals.Math.abs(b.hi) < Long_MAX_NORMAL) {
                return Long_fromNumber(Long_toNumber(a) / Long_toNumber(b));
            }
            return (Long_divRem(a, b))[0];
        };
        Long_udiv = function(a, b) {
            if (a.hi >= 0 && a.hi < Long_MAX_NORMAL && b.hi >= 0 && b.hi < Long_MAX_NORMAL) {
                return Long_fromNumber(Long_toNumber(a) / Long_toNumber(b));
            }
            return (Long_udivRem(a, b))[0];
        };
        Long_rem = function(a, b) {
            if ($rt_globals.Math.abs(a.hi) < Long_MAX_NORMAL && $rt_globals.Math.abs(b.hi) < Long_MAX_NORMAL) {
                return Long_fromNumber(Long_toNumber(a) % Long_toNumber(b));
            }
            return (Long_divRem(a, b))[1];
        };
        Long_urem = function(a, b) {
            if (a.hi >= 0 && a.hi < Long_MAX_NORMAL && b.hi >= 0 && b.hi < Long_MAX_NORMAL) {
                return Long_fromNumber(Long_toNumber(a) / Long_toNumber(b));
            }
            return (Long_udivRem(a, b))[1];
        };
        function Long_divRem(a, b) {
            if (b.lo === 0 && b.hi === 0) {
                throw new $rt_globals.Error("Division by zero");
            }
            var positive = Long_isNegative(a) === Long_isNegative(b);
            if (Long_isNegative(a)) {
                a = Long_neg(a);
            }
            if (Long_isNegative(b)) {
                b = Long_neg(b);
            }
            a = new LongInt(a.lo, a.hi, 0);
            b = new LongInt(b.lo, b.hi, 0);
            var q = LongInt_div(a, b);
            a = new Long(a.lo, a.hi);
            q = new Long(q.lo, q.hi);
            return positive ? [q, a] : [Long_neg(q), Long_neg(a)];
        }
        function Long_udivRem(a, b) {
            if (b.lo === 0 && b.hi === 0) {
                throw new $rt_globals.Error("Division by zero");
            }
            a = new LongInt(a.lo, a.hi, 0);
            b = new LongInt(b.lo, b.hi, 0);
            var q = LongInt_div(a, b);
            a = new Long(a.lo, a.hi);
            q = new Long(q.lo, q.hi);
            return [q, a];
        }
        function Long_shiftLeft16(a) {
            return new Long(a.lo << 16, a.lo >>> 16 | a.hi << 16);
        }
        function Long_shiftRight16(a) {
            return new Long(a.lo >>> 16 | a.hi << 16, a.hi >>> 16);
        }
        Long_and = function(a, b) {
            return new Long(a.lo & b.lo, a.hi & b.hi);
        };
        Long_or = function(a, b) {
            return new Long(a.lo | b.lo, a.hi | b.hi);
        };
        Long_xor = function(a, b) {
            return new Long(a.lo ^ b.lo, a.hi ^ b.hi);
        };
        Long_shl = function(a, b) {
            b &= 63;
            if (b === 0) {
                return a;
            } else if (b < 32) {
                return new Long(a.lo << b, a.lo >>> 32 - b | a.hi << b);
            } else if (b === 32) {
                return new Long(0, a.lo);
            } else {
                return new Long(0, a.lo << b - 32);
            }
        };
        Long_shr = function(a, b) {
            b &= 63;
            if (b === 0) {
                return a;
            } else if (b < 32) {
                return new Long(a.lo >>> b | a.hi << 32 - b, a.hi >> b);
            } else if (b === 32) {
                return new Long(a.hi, a.hi >> 31);
            } else {
                return new Long(a.hi >> b - 32, a.hi >> 31);
            }
        };
        Long_shru = function(a, b) {
            b &= 63;
            if (b === 0) {
                return a;
            } else if (b < 32) {
                return new Long(a.lo >>> b | a.hi << 32 - b, a.hi >>> b);
            } else if (b === 32) {
                return new Long(a.hi, 0);
            } else {
                return new Long(a.hi >>> b - 32, 0);
            }
        };
        Long_not = function(a) {
            return new Long(~a.hi, ~a.lo);
        };
        function LongInt(lo, hi, sup) {
            this.lo = lo;
            this.hi = hi;
            this.sup = sup;
        }
        function LongInt_mul(a, b) {
            var a_lolo = (a.lo & 0xFFFF) * b | 0;
            var a_lohi = (a.lo >>> 16) * b | 0;
            var a_hilo = (a.hi & 0xFFFF) * b | 0;
            var a_hihi = (a.hi >>> 16) * b | 0;
            var sup = a.sup * b | 0;
            a_lohi = a_lohi + (a_lolo >>> 16) | 0;
            a_hilo = a_hilo + (a_lohi >>> 16) | 0;
            a_hihi = a_hihi + (a_hilo >>> 16) | 0;
            sup = sup + (a_hihi >>> 16) | 0;
            a.lo = a_lolo & 0xFFFF | a_lohi << 16;
            a.hi = a_hilo & 0xFFFF | a_hihi << 16;
            a.sup = sup & 0xFFFF;
        }
        function LongInt_sub(a, b) {
            var a_lolo = a.lo & 0xFFFF;
            var a_lohi = a.lo >>> 16;
            var a_hilo = a.hi & 0xFFFF;
            var a_hihi = a.hi >>> 16;
            var b_lolo = b.lo & 0xFFFF;
            var b_lohi = b.lo >>> 16;
            var b_hilo = b.hi & 0xFFFF;
            var b_hihi = b.hi >>> 16;
            a_lolo = a_lolo - b_lolo | 0;
            a_lohi = a_lohi - b_lohi + (a_lolo >> 16) | 0;
            a_hilo = a_hilo - b_hilo + (a_lohi >> 16) | 0;
            a_hihi = a_hihi - b_hihi + (a_hilo >> 16) | 0;
            var sup = a.sup - b.sup + (a_hihi >> 16) | 0;
            a.lo = a_lolo & 0xFFFF | a_lohi << 16;
            a.hi = a_hilo & 0xFFFF | a_hihi << 16;
            a.sup = sup;
        }
        function LongInt_add(a, b) {
            var a_lolo = a.lo & 0xFFFF;
            var a_lohi = a.lo >>> 16;
            var a_hilo = a.hi & 0xFFFF;
            var a_hihi = a.hi >>> 16;
            var b_lolo = b.lo & 0xFFFF;
            var b_lohi = b.lo >>> 16;
            var b_hilo = b.hi & 0xFFFF;
            var b_hihi = b.hi >>> 16;
            a_lolo = a_lolo + b_lolo | 0;
            a_lohi = a_lohi + b_lohi + (a_lolo >> 16) | 0;
            a_hilo = a_hilo + b_hilo + (a_lohi >> 16) | 0;
            a_hihi = a_hihi + b_hihi + (a_hilo >> 16) | 0;
            var sup = a.sup + b.sup + (a_hihi >> 16) | 0;
            a.lo = a_lolo & 0xFFFF | a_lohi << 16;
            a.hi = a_hilo & 0xFFFF | a_hihi << 16;
            a.sup = sup;
        }
        function LongInt_inc(a) {
            a.lo = a.lo + 1 | 0;
            if (a.lo === 0) {
                a.hi = a.hi + 1 | 0;
                if (a.hi === 0) {
                    a.sup = a.sup + 1 & 0xFFFF;
                }
            }
        }
        function LongInt_dec(a) {
            a.lo = a.lo - 1 | 0;
            if (a.lo ===  -1) {
                a.hi = a.hi - 1 | 0;
                if (a.hi ===  -1) {
                    a.sup = a.sup - 1 & 0xFFFF;
                }
            }
        }
        function LongInt_ucompare(a, b) {
            var r = a.sup - b.sup;
            if (r !== 0) {
                return r;
            }
            r = (a.hi >>> 1) - (b.hi >>> 1);
            if (r !== 0) {
                return r;
            }
            r = (a.hi & 1) - (b.hi & 1);
            if (r !== 0) {
                return r;
            }
            r = (a.lo >>> 1) - (b.lo >>> 1);
            if (r !== 0) {
                return r;
            }
            return (a.lo & 1) - (b.lo & 1);
        }
        function LongInt_numOfLeadingZeroBits(a) {
            var n = 0;
            var d = 16;
            while (d > 0) {
                if (a >>> d !== 0) {
                    a >>>= d;
                    n = n + d | 0;
                }
                d = d / 2 | 0;
            }
            return 31 - n;
        }
        function LongInt_shl(a, b) {
            if (b === 0) {
                return;
            }
            if (b < 32) {
                a.sup = (a.hi >>> 32 - b | a.sup << b) & 0xFFFF;
                a.hi = a.lo >>> 32 - b | a.hi << b;
                a.lo <<= b;
            } else if (b === 32) {
                a.sup = a.hi & 0xFFFF;
                a.hi = a.lo;
                a.lo = 0;
            } else if (b < 64) {
                a.sup = (a.lo >>> 64 - b | a.hi << b - 32) & 0xFFFF;
                a.hi = a.lo << b;
                a.lo = 0;
            } else if (b === 64) {
                a.sup = a.lo & 0xFFFF;
                a.hi = 0;
                a.lo = 0;
            } else {
                a.sup = a.lo << b - 64 & 0xFFFF;
                a.hi = 0;
                a.lo = 0;
            }
        }
        function LongInt_shr(a, b) {
            if (b === 0) {
                return;
            }
            if (b === 32) {
                a.lo = a.hi;
                a.hi = a.sup;
                a.sup = 0;
            } else if (b < 32) {
                a.lo = a.lo >>> b | a.hi << 32 - b;
                a.hi = a.hi >>> b | a.sup << 32 - b;
                a.sup >>>= b;
            } else if (b === 64) {
                a.lo = a.sup;
                a.hi = 0;
                a.sup = 0;
            } else if (b < 64) {
                a.lo = a.hi >>> b - 32 | a.sup << 64 - b;
                a.hi = a.sup >>> b - 32;
                a.sup = 0;
            } else {
                a.lo = a.sup >>> b - 64;
                a.hi = 0;
                a.sup = 0;
            }
        }
        function LongInt_copy(a) {
            return new LongInt(a.lo, a.hi, a.sup);
        }
        function LongInt_div(a, b) {
            var bits = b.hi !== 0 ? LongInt_numOfLeadingZeroBits(b.hi) : LongInt_numOfLeadingZeroBits(b.lo) + 32;
            var sz = 1 + (bits / 16 | 0);
            var dividentBits = bits % 16;
            LongInt_shl(b, bits);
            LongInt_shl(a, dividentBits);
            var q = new LongInt(0, 0, 0);
            while (sz-- > 0) {
                LongInt_shl(q, 16);
                var digitA = (a.hi >>> 16) + 0x10000 * a.sup;
                var digitB = b.hi >>> 16;
                var digit = digitA / digitB | 0;
                var t = LongInt_copy(b);
                LongInt_mul(t, digit);
                if (LongInt_ucompare(t, a) >= 0) {
                    while (LongInt_ucompare(t, a) > 0) {
                        LongInt_sub(t, b);
                         --digit;
                    }
                } else {
                    while (true) {
                        var nextT = LongInt_copy(t);
                        LongInt_add(nextT, b);
                        if (LongInt_ucompare(nextT, a) > 0) {
                            break;
                        }
                        t = nextT;
                        ++digit;
                    }
                }
                LongInt_sub(a, t);
                q.lo |= digit;
                LongInt_shl(a, 16);
            }
            LongInt_shr(a, bits + 16);
            return q;
        }
    } else {
        Long_eq = function(a, b) {
            return a === b;
        };
        Long_ne = function(a, b) {
            return a !== b;
        };
        Long_gt = function(a, b) {
            return a > b;
        };
        Long_ge = function(a, b) {
            return a >= b;
        };
        Long_lt = function(a, b) {
            return a < b;
        };
        Long_le = function(a, b) {
            return a <= b;
        };
        Long_add = function(a, b) {
            return $rt_globals.BigInt.asIntN(64, a + b);
        };
        Long_inc = function(a) {
            return $rt_globals.BigInt.asIntN(64, a + 1);
        };
        Long_dec = function(a) {
            return $rt_globals.BigInt.asIntN(64, a - 1);
        };
        Long_neg = function(a) {
            return $rt_globals.BigInt.asIntN(64,  -a);
        };
        Long_sub = function(a, b) {
            return $rt_globals.BigInt.asIntN(64, a - b);
        };
        Long_compare = function(a, b) {
            return a < b ?  -1 : a > b ? 1 : 0;
        };
        Long_ucompare = function(a, b) {
            a = $rt_globals.BigInt.asUintN(64, a);
            b = $rt_globals.BigInt.asUintN(64, b);
            return a < b ?  -1 : a > b ? 1 : 0;
        };
        Long_mul = function(a, b) {
            return $rt_globals.BigInt.asIntN(64, a * b);
        };
        Long_div = function(a, b) {
            return $rt_globals.BigInt.asIntN(64, a / b);
        };
        Long_udiv = function(a, b) {
            return $rt_globals.BigInt.asIntN(64, $rt_globals.BigInt.asUintN(64, a) / $rt_globals.BigInt.asUintN(64, b));
        };
        Long_rem = function(a, b) {
            return $rt_globals.BigInt.asIntN(64, a % b);
        };
        Long_urem = function(a, b) {
            return $rt_globals.BigInt.asIntN(64, $rt_globals.BigInt.asUintN(64, a) % $rt_globals.BigInt.asUintN(64, b));
        };
        Long_and = function(a, b) {
            return $rt_globals.BigInt.asIntN(64, a & b);
        };
        Long_or = function(a, b) {
            return $rt_globals.BigInt.asIntN(64, a | b);
        };
        Long_xor = function(a, b) {
            return $rt_globals.BigInt.asIntN(64, a ^ b);
        };
        Long_shl = function(a, b) {
            return $rt_globals.BigInt.asIntN(64, a << $rt_globals.BigInt(b & 63));
        };
        Long_shr = function(a, b) {
            return $rt_globals.BigInt.asIntN(64, a >> $rt_globals.BigInt(b & 63));
        };
        Long_shru = function(a, b) {
            return $rt_globals.BigInt.asIntN(64, $rt_globals.BigInt.asUintN(64, a) >> $rt_globals.BigInt(b & 63));
        };
        Long_not = function(a) {
            return $rt_globals.BigInt.asIntN(64, ~a);
        };
    }
    var Long_add = Long_add;

    var Long_sub = Long_sub;

    var Long_mul = Long_mul;

    var Long_div = Long_div;

    var Long_rem = Long_rem;

    var Long_or = Long_or;

    var Long_and = Long_and;

    var Long_xor = Long_xor;

    var Long_shl = Long_shl;

    var Long_shr = Long_shr;

    var Long_shru = Long_shru;

    var Long_compare = Long_compare;

    var Long_eq = Long_eq;

    var Long_ne = Long_ne;

    var Long_lt = Long_lt;

    var Long_le = Long_le;

    var Long_gt = Long_gt;

    var Long_ge = Long_ge;

    var Long_not = Long_not;

    var Long_neg = Long_neg;

    function TeaVMThread(runner) {
        this.status = 3;
        this.stack = [];
        this.suspendCallback = null;
        this.runner = runner;
        this.attribute = null;
        this.completeCallback = null;
    }
    TeaVMThread.prototype.push = function() {
        for (var i = 0;i < arguments.length;++i) {
            this.stack.push(arguments[i]);
        }
        return this;
    };
    TeaVMThread.prototype.s = TeaVMThread.prototype.push;
    TeaVMThread.prototype.pop = function() {
        return this.stack.pop();
    };
    TeaVMThread.prototype.l = TeaVMThread.prototype.pop;
    TeaVMThread.prototype.isResuming = function() {
        return this.status === 2;
    };
    TeaVMThread.prototype.isSuspending = function() {
        return this.status === 1;
    };
    TeaVMThread.prototype.suspend = function(callback) {
        this.suspendCallback = callback;
        this.status = 1;
    };
    TeaVMThread.prototype.start = function(callback) {
        if (this.status !== 3) {
            throw new $rt_globals.Error("Thread already started");
        }
        if ($rt_currentNativeThread !== null) {
            throw new $rt_globals.Error("Another thread is running");
        }
        this.status = 0;
        this.completeCallback = callback ? callback : function(result) {
            if (result instanceof $rt_globals.Error) {
                throw result;
            }
        };
        this.run();
    };
    TeaVMThread.prototype.resume = function() {
        if ($rt_currentNativeThread !== null) {
            throw new $rt_globals.Error("Another thread is running");
        }
        this.status = 2;
        this.run();
    };
    TeaVMThread.prototype.run = function() {
        $rt_currentNativeThread = this;
        var result;
        try {
            result = this.runner();
        } catch (e){
            result = e;
        } finally {
            $rt_currentNativeThread = null;
        }
        if (this.suspendCallback !== null) {
            var self = this;
            var callback = this.suspendCallback;
            this.suspendCallback = null;
            callback(function() {
                self.resume();
            });
        } else if (this.status === 0) {
            this.completeCallback(result);
        }
    };
    function $rt_suspending() {
        var thread = $rt_nativeThread();
        return thread != null && thread.isSuspending();
    }
    function $rt_resuming() {
        var thread = $rt_nativeThread();
        return thread != null && thread.isResuming();
    }
    function $rt_suspend(callback) {
        var nativeThread = $rt_nativeThread();
        if (nativeThread === null) {
            throw new $rt_globals.Error("Suspension point reached from non-threading context (perhaps, from native JS method).");
        }
        return nativeThread.suspend(callback);
    }
    function $rt_startThread(runner, callback) {
        (new TeaVMThread(runner)).start(callback);
    }
    var $rt_currentNativeThread = null;
    function $rt_nativeThread() {
        return $rt_currentNativeThread;
    }
    function $rt_invalidPointer() {
        throw new $rt_globals.Error("Invalid recorded state");
    }
    $rt_exports.main = $rt_mainStarter(nleit_MainClass_main);
    $rt_exports.main.javaException = $rt_javaException;
    let $rt_jso_marker = $rt_globals.Symbol('jsoClass');
    (function() {
        var c;
        c = otjb_Window.prototype;
        c.removeEventListener = c.$removeEventListener$exported$3;
        c.dispatchEvent = c.$dispatchEvent$exported$4;
        c.get = c.$get$exported$0;
        c.addEventListener = c.$addEventListener$exported$6;
        Object.defineProperty(c, "length", {
            get: c.$getLength$exported$5
        });
        c = nleit_ClientMain$1.prototype;
        c[$rt_jso_marker] = true;
        c.call = c.$call$exported$0;
        c = otji_JSWrapper$_clinit_$lambda$_30_0.prototype;
        c[$rt_jso_marker] = true;
        c.accept = c.$accept$exported$0;
        c = otji_JSWrapper$_clinit_$lambda$_30_1.prototype;
        c[$rt_jso_marker] = true;
        c.accept = c.$accept$exported$0;
        c = nlei_PlatformRuntime$2.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformRuntime$1.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformInput$1.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformInput$2.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformInput$3.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformInput$4.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformInput$5.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformInput$6.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformInput$7.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformInput$8.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformInput$9.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformInput$10.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformInput$11.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformInput$initHooks$lambda$_3_0.prototype;
        c[$rt_jso_marker] = true;
        c.call = c.$call$exported$00;
        c = nlei_PlatformInput$12.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformInput$13.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformInput$14.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformInput$initHooks$lambda$_3_1.prototype;
        c[$rt_jso_marker] = true;
        c.call = c.$call$exported$01;
        c = nlei_PlatformInput$initHooks$lambda$_3_2.prototype;
        c[$rt_jso_marker] = true;
        c.onTimer = c.$onTimer$exported$0;
        c = otjb_Performance.prototype;
        c[$rt_jso_marker] = true;
        c = nlei_PlatformInput$16.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformRuntime$6.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nleit_TeaVMBlobURLManager$checkSameOriginSupport$lambda$_3_0.prototype;
        c[$rt_jso_marker] = true;
        c.call = c.$call$exported$02;
        c = nleit_TeaVMDataURLManager$checkDataURLSupport0$lambda$_1_0.prototype;
        c[$rt_jso_marker] = true;
        c.onFetch = c.$onFetch$exported$0;
        c = otjc_JSArray.prototype;
        c.get = c.$get$exported$0;
        Object.defineProperty(c, "length", {
            get: c.$getLength$exported$1
        });
        c = nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_0.prototype;
        c[$rt_jso_marker] = true;
        c.onAnimationFrame = c.$onAnimationFrame$exported$0;
        c = nlei_PlatformInput$asyncRequestAnimationFrame$lambda$_33_1.prototype;
        c[$rt_jso_marker] = true;
        c.onTimer = c.$onTimer$exported$0;
        c = nlei_PlatformInput$iterateKeyboardLayout$lambda$_6_0.prototype;
        c[$rt_jso_marker] = true;
        c.call = c.$call$exported$01;
        c = nlei_PlatformAssets$1.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformAssets$2.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_0.prototype;
        c[$rt_jso_marker] = true;
        c.onFetch = c.$onFetch$exported$0;
        c = nlei_PlatformRuntime$downloadRemoteURIXHR$lambda$_35_1.prototype;
        c[$rt_jso_marker] = true;
        c.onFetch = c.$onFetch$exported$0;
        c = nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_0.prototype;
        c[$rt_jso_marker] = true;
        c.onFetch = c.$onFetch$exported$0;
        c = nlei_PlatformRuntime$downloadRemoteURIFetch$lambda$_37_1.prototype;
        c[$rt_jso_marker] = true;
        c.onFetch = c.$onFetch$exported$0;
        c = nlei_PlatformAudio$1.prototype;
        c[$rt_jso_marker] = true;
        c.onSuccess = c.$onSuccess$exported$0;
        c = nlei_PlatformAudio$2.prototype;
        c[$rt_jso_marker] = true;
        c.onError = c.$onError$exported$0;
        c = nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_1.prototype;
        c[$rt_jso_marker] = true;
        c.onTimer = c.$onTimer$exported$0;
        c = nlei_PlatformRuntime$immediateContinueTeaVM0$lambda$_49_2.prototype;
        c[$rt_jso_marker] = true;
        c.onTimer = c.$onTimer$exported$0;
        c = nleit_IndexedDBFilesystem$AsyncHandlers$openDB$lambda$_2_0.prototype;
        c[$rt_jso_marker] = true;
        c.call = c.$call$exported$02;
        c = nleit_IndexedDBFilesystem$AsyncHandlers$1.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$00;
        c = nleit_IndexedDBFilesystem$AsyncHandlers$2.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$00;
        c = nleit_IndexedDBFilesystem$AsyncHandlers$3.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$00;
        c = nleit_IndexedDBFilesystem$AsyncHandlers$4.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformInput$12$1.prototype;
        c[$rt_jso_marker] = true;
        c.onTimer = c.$onTimer$exported$0;
        c = nleit_TeaVMClientConfigAdapterHooks$callHookSafe$lambda$_5_0.prototype;
        c[$rt_jso_marker] = true;
        c.onTimer = c.$onTimer$exported$0;
        c = nleit_TeaVMClientConfigAdapterHooks$callHookSafeSync$lambda$_7_0.prototype;
        c[$rt_jso_marker] = true;
        c.onTimer = c.$onTimer$exported$0;
        c = nleit_TeaVMClientConfigAdapterHooks$callHookSafeWithReturn$lambda$_9_0.prototype;
        c[$rt_jso_marker] = true;
        c.onTimer = c.$onTimer$exported$0;
        c = nlei_PlatformInput$15.prototype;
        c[$rt_jso_marker] = true;
        c.onTimer = c.$onTimer$exported$0;
        c = nleit_TeaVMClientConfigAdapterHooks$lambda$callCrashReportHook$4$lambda$_14_0.prototype;
        c[$rt_jso_marker] = true;
        c.call = c.$call$exported$02;
        c = nlei_PlatformAudio$BrowserAudioHandle.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformApplication$3.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformApplication$4.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformApplication$5.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nlei_PlatformApplication$6.prototype;
        c[$rt_jso_marker] = true;
        c.onTimer = c.$onTimer$exported$0;
        c = nlei_PlatformApplication$1.prototype;
        c[$rt_jso_marker] = true;
        c.resolveStr = c.$resolveStr$exported$0;
        c = nlei_PlatformApplication$FileChooserCallbackImpl.prototype;
        c[$rt_jso_marker] = true;
        c.accept = c.$accept$exported$00;
        c = nleit_IndexedDBFilesystem$AsyncHandlers$11.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$00;
        c = nleit_IndexedDBFilesystem$AsyncHandlers$12.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$00;
        c = nleit_TeaVMWebSocketClient$1.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nleit_TeaVMWebSocketClient$2.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nleit_TeaVMWebSocketClient$3.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nleit_TeaVMWebSocketClient$4.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$0;
        c = nleit_IndexedDBFilesystem$AsyncHandlers$7.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$00;
        c = nleit_IndexedDBFilesystem$AsyncHandlers$8.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$00;
        c = nleit_IndexedDBFilesystem$AsyncHandlers$13.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$00;
        c = nleit_IndexedDBFilesystem$AsyncHandlers$14.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$00;
        c = nleit_IndexedDBFilesystem$AsyncHandlers$9.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$00;
        c = nleit_IndexedDBFilesystem$AsyncHandlers$10.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$00;
        c = nleit_IndexedDBFilesystem$AsyncHandlers$5.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$00;
        c = nleit_IndexedDBFilesystem$AsyncHandlers$6.prototype;
        c[$rt_jso_marker] = true;
        c.handleEvent = c.$handleEvent$exported$00;
    })();
}));

//# sourceMappingURL=../classes.js.map